KEMBAR78
CNC-D00 - Programming Manual (NC) (1) - Unlocked | PDF | Screw | Mechanical Engineering
0% found this document useful (0 votes)
25 views474 pages

CNC-D00 - Programming Manual (NC) (1) - Unlocked

Uploaded by

Miguel Perez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views474 pages

CNC-D00 - Programming Manual (NC) (1) - Unlocked

Uploaded by

Miguel Perez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 474

W1000Xd1 Series / S300Xd1 Series / S500Xd1 Series

S700Xd1 Series / R450Xd1 Series / R650Xd1 Series


U500Xd1 Series / M200Xd1 Series / M300Xd1 Series
H550Xd1 Series / W1000Xd2 Series
COMPACT MACHINING CENTER SPEEDIO

CNC-D00
PROGRAMMING MANUAL
(NC)
(For Installers & Machine Setup Specialists)

Please read this manual carefully before operating the machine.


Be careful not to lose the manuals, and keep them handy at all times.

69A799001(9)
PROGRAMMING MANUAL
(NC)

Read this manual before performing work.

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.

This manual gives a description of NC programming.


This machine can be used to carry out drilling, tapping and facing.
Brother is not responsible or liable for accidents that occur during special machine use or
handling that does not follow the general safety usage guidelines.

This machine manual is divided into the following sections.


• Operation Manual
This manual describes the operation procedure for the machine.
• Installation Manual
This manual describes the machine’s installation procedure and inspections.
• Programming Manual
This manual provides a program description.

Keep this manual for future reference.


Attach this manual to the machine if it is resold.
Contact the nearest Brother sales office or Brother approved service dealer if this manual or
the safety labels are damaged, lost or missing. (Charges apply)

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.

(2) Warning (3) Operation procedure (1) Overview

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

(5) Illustration (4) Screenshot

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

CHAPTER 1 PROGRAM STRUCTURE -------------------------------- 1-1


1.1 Program Types and Structure---------------------------------------------------- 1-2
1.2 Block Structure ----------------------------------------------------------------------- 1-2
1.3 Word Structure ------------------------------------------------------------------------ 1-2
1.4 Number Commands ----------------------------------------------------------------- 1-3
1.5 Sequence Numbers ----------------------------------------------------------------- 1-5
1.6 Optional Block Skip ----------------------------------------------------------------- 1-5
1.7 Control Out-In Function ------------------------------------------------------------ 1-5

CHAPTER 2 COORDINATE COMMANDS----------------------------- 2-1


2.1 Coordinate System and Coordinate Commands -------------------------- 2-2
2.2 Machine Zero Point and Machine Coordinates ----------------------------- 2-2
2.3 Workpiece Coordinates ------------------------------------------------------------ 2-3
2.4 Table Coordinate System ---------------------------------------------------------- 2-3

CHAPTER 3 PREPARATION FUNCTION------------------------------ 3-1


3.1 Outline of G Code -------------------------------------------------------------------- 3-2
3.2 Positioning (G00, G60) ------------------------------------------------------------- 3-5
3.2.1 Positioning (G00) ---------------------------------------------------------------------------------------- 3-5
3.2.2 Single Direction Positioning Function (G60) -------------------------------------------------------- 3-6
3.2.3 Precautions for Programming Involving Use of Rotation Axis (Index Table) ------------------- 3-7
3.3 Cutting (G01 to 03, G12/13, G102/103, G202/203) -------------------------- 3-8
3.3.1 Linear Interpolation (G01) ------------------------------------------------------------------------------ 3-8
3.3.1.1 Speed command for standard circle on rotation axis ----------------------------------------- 3-9
3.3.1.2 Chamfering to Desired Angle and Cornering R --------------------------------------------- 3-12
3.3.2 Circular Interpolation / Helical Thread Cutting Interpolation ------------------------------------ 3-15
3.3.2.1 Circular Interpolation (G02, G03) ------------------------------------------------------------ 3-15
3.3.2.2 XZ Circular Interpolation (G102, G103) ----------------------------------------------------- 3-16
3.3.2.3 YZ Circular Interpolation (G202, G203) ----------------------------------------------------- 3-16
3.3.2.4 Precautions for Circular Interpolation -------------------------------------------------------- 3-17
3.3.2.5 Helical Thread Cutting Interpolation --------------------------------------------------------- 3-20
3.3.2.6 Spiral Interpolation------------------------------------------------------------------------------ 3-21
3.3.2.7 Conical interpolation---------------------------------------------------------------------------- 3-23
3.3.2.8 Cutter Compensation for Spiral and Conical Interpolation -------------------------------- 3-26
3.3.2.9 Involute interpolation --------------------------------------------------------------------------- 3-27
3.3.3 Circle Cutting (G12, G13) ---------------------------------------------------------------------------- 3-28
3.4 Dwell (G04) ---------------------------------------------------------------------------- 3-30
3.5 Exact Stop Check (G09, G61, G64) -------------------------------------------- 3-31
3.6 Programmable Data Input (G10)------------------------------------------------ 3-33
3.6.1 Entering Workpiece Coordinate Zero --------------------------------------------------------------- 3-33
3.6.2 Entering Tool Length / Cutter Compensation Data ------------------------------------------------ 3-33
3.6.3 Tool Wear Compensation ----------------------------------------------------------------------------- 3-34
3.6.4 Tool Offset Data Input--------------------------------------------------------------------------------- 3-34
3.6.5 Tool Offset Wear Data Input -------------------------------------------------------------------------- 3-35
3.6.6 Data Input of Extended Workpiece Coordinate ---------------------------------------------------- 3-35
3.6.7 Workpiece Coordinate System Using the Results of Measurements ---------------------------- 3-36
3.6.8 Data Input of Extended Workpiece Coordinate Zero Based on Measurement Results -------- 3-36
3.6.9 Data Input for Reference Rotary Fixture Offset---------------------------------------------------- 3-37
3.6.10 Tool Information Input ------------------------------------------------------------------------------ 3-37
3.7 Programmable Parameter Input (G10) --------------------------------------- 3-38
3.7.1 Usage ---------------------------------------------------------------------------------------------------- 3-38
3.7.2 Usage Conditions -------------------------------------------------------------------------------------- 3-39
3.7.3 Parameter Setting -------------------------------------------------------------------------------------- 3-39
3.7.3.1 User parameters --------------------------------------------------------------------------------- 3-39
3.7.4 Usage Examples ---------------------------------------------------------------------------------------- 3-39
3.8 Coordinate System (G17 to 19, G52 to 59, G54.1, G92, G68.2) ------- 3-40
3.8.1 Plane Selection (G17, G18, G19) -------------------------------------------------------------------- 3-40

2023/11/14 1 eCOM4NCPRCO
Contents

3.8.2 Machine Coordinate System Selection (G53) ------------------------------------------------------ 3-40


3.8.3 Workpiece Coordinate System Selection (G54 to G59) ------------------------------------------- 3-41
3.8.4 Extended Workpiece Coordinate System Selection (G54.1) ------------------------------------- 3-41
3.8.5 Workpiece Coordinate System Setting (G92) ------------------------------------------------------ 3-42
3.8.6 Local Coordinate System Function (G52) ---------------------------------------------------------- 3-45
3.8.7 Rotary Fixture Offset Function (G54.2)------------------------------------------------------------- 3-45
3.8.7.1 Overview ----------------------------------------------------------------------------------------- 3-45
3.8.7.2 Command Format ------------------------------------------------------------------------------- 3-46
3.8.8 Feature Coordinate System (G68.2) ----------------------------------------------------------------- 3-47
3.8.8.1 Overview ----------------------------------------------------------------------------------------- 3-47
3.8.8.2 Command format -------------------------------------------------------------------------------- 3-49
3.8.8.3 Restrictions--------------------------------------------------------------------------------------- 3-53
3.8.9 Involute Interpolation Function ---------------------------------------------------------------------- 3-54
3.8.9.1 Overview ----------------------------------------------------------------------------------------- 3-54
3.8.9.2 Command Format ------------------------------------------------------------------------------- 3-54
3.8.9.3 Margin of Error for End Point on Involute Curve ------------------------------------------- 3-57
3.8.9.4 Involute Interpolation Command During Cutter Compensation -------------------------- 3-58
3.8.9.5 Involute Interpolation Command in High Accuracy Mode -------------------------------- 3-59
3.8.9.6 Restrictions--------------------------------------------------------------------------------------- 3-59
3.9 Soft Limit------------------------------------------------------------------------------- 3-60
3.9.1 Stroke ---------------------------------------------------------------------------------------------------- 3-60
3.9.2 Stroke Limit -------------------------------------------------------------------------------------------- 3-60
3.9.3 Programmable Stroke Limit (G22) ------------------------------------------------------------------ 3-61
3.10 Reference Position (G28 to G30) --------------------------------------------- 3-62
3.10.1 Return to the Reference Point (G28) --------------------------------------------------------------- 3-62
3.10.2 Return from the Reference Point (G29) ----------------------------------------------------------- 3-63
3.10.3 Return to the 2nd to 6th Reference Point (G30) -------------------------------------------------- 3-63
3.11 Skip Function (G31, G131/G132) ---------------------------------------------- 3-64
3.11.1 Before using the skip function ---------------------------------------------------------------------- 3-64
3.11.2 Skip Function (G31, G131/G132) ------------------------------------------------------------------ 3-64
3.11.3 Multiple Skip Function (G31, G131/132) --------------------------------------------------------- 3-65
3.11.4 Continuous Skip Function (G31) ------------------------------------------------------------------- 3-66
3.12 Scaling (G50/G51) ----------------------------------------------------------------- 3-67
3.13 Programmable Mirror Image (G50.1/51.1) --------------------------------- 3-71
3.14 Rotational Transformation Function (G68/69, 168) --------------------- 3-73
3.14.1 Coordinate Rotation (G68/69) ---------------------------------------------------------------------- 3-73
3.14.2 Coordinate Rotation Using Measured Results (G168) ------------------------------------------ 3-75
3.15 Absolute Command and Incremental Command (G90/91) ----------- 3-76
3.16 Change of Tap Twisting Direction (G133/134) ---------------------------- 3-78
3.17 G code Priority --------------------------------------------------------------------- 3-79
3.18 Programmable Data Input (Temporary Change) (G210) --------------- 3-86
3.18.1 High Accuracy Mode A Parameter Changes ------------------------------------------------------ 3-86
3.18.2 High Accuracy Mode B Parameter Changes ------------------------------------------------------ 3-87
3.18.3 Temporary Parameter Change with TCP Control ------------------------------------------------ 3-88
3.18.4 Parameter Change for Spindle Related Functions------------------------------------------------ 3-88
3.19 Thread Cutting ---------------------------------------------------------------------- 3-89
3.19.1 Single Start Lead Thread Cutting (G33)----------------------------------------------------------- 3-89
3.19.2 Thread Cutting Cycle (G392) ----------------------------------------------------------------------- 3-91
3.19.2.1 Thread Cutting Cycle for Straight Screws-------------------------------------------------- 3-91
3.19.2.2 Thread Cutting Cycle for Taper Screws ---------------------------------------------------- 3-93
3.19.3 Thread Cutting in Complex Thread Cutting Cycle (G376) ------------------------------------- 3-95
3.19.3.1 Infeed ------------------------------------------------------------------------------------------- 3-96
3.19.3.2 Detailed Description of Operation----------------------------------------------------------- 3-97
3.19.4 Thread Runout --------------------------------------------------------------------------------------- 3-100
3.19.5 Program Example ----------------------------------------------------------------------------------- 3-101
3.19.5.1 Machining and Thread Cutting Straight Screws ------------------------------------------ 3-101
3.19.5.2 Machining and Thread Cutting Taper Screws--------------------------------------------- 3-102
3.20 Lathe Machining Infeed Direction ------------------------------------------ 3-103

2023/11/14 2 eCOM4NCPRCO
Contents

CHAPTER 4 PREPARATION FUNCTION


(COMPENSATION FUNCTION) ------------------------- 4-1
4.1 Cutter Compensation (G40, G41 and G42)----------------------------------- 4-2
4.1.1 Cutter Compensation Function ------------------------------------------------------------------------- 4-2
4.1.1.1 Cutter Wear Offset -------------------------------------------------------------------------------- 4-3
4.1.2 Cancel Mode---------------------------------------------------------------------------------------------- 4-3
4.1.3 Startup ----------------------------------------------------------------------------------------------------- 4-4
4.1.3.1 Inner Side Cutting (180° ≤ θ) -------------------------------------------------------------------- 4-4
4.1.3.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°) ----------------------------------------- 4-5
4.1.3.3 Outer Side (Acute Angle Cutting) (θ < 90°) --------------------------------------------------- 4-6
4.1.4 Offset Mode ---------------------------------------------------------------------------------------------- 4-7
4.1.4.1 Inner Side Cutting (180° ≤ θ) -------------------------------------------------------------------- 4-7
4.1.4.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°) ----------------------------------------- 4-9
4.1.4.3 Outer Side (Acute Angle Cutting) (θ < 90°) ------------------------------------------------- 4-10
4.1.4.4 Exceptional Cases ------------------------------------------------------------------------------- 4-11
4.1.5 Offset Cancel ------------------------------------------------------------------------------------------- 4-12
4.1.5.1 Inner Side Cutting (180° ≤ θ) ------------------------------------------------------------------ 4-12
4.1.5.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°) --------------------------------------- 4-13
4.1.5.3 Outer Side (Acute Angle Cutting) (θ < 90°) ------------------------------------------------- 4-14
4.1.6 G40 Individual Command ---------------------------------------------------------------------------- 4-15
4.1.7 Compensation Direction Change in Offset Mode-------------------------------------------------- 4-16
4.1.8 Offset Direction Change in Offset Mode ----------------------------------------------------------- 4-17
4.1.8.1 When There is an Intersection ----------------------------------------------------------------- 4-17
4.1.8.2 When There is No Intersection ---------------------------------------------------------------- 4-18
4.1.8.3 When an Arc Laps Around in a Circle -------------------------------------------------------- 4-19
4.1.8.4 Arc angle check when offset direction changes --------------------------------------------- 4-20
4.1.9 G Code Command for Cutter Compensation in Offset Mode ------------------------------------ 4-21
4.1.10 Special Notes for Cutter Compensation ----------------------------------------------------------- 4-22
4.1.11 Override Function Related to Cutter Compensation --------------------------------------------- 4-28
4.1.11.1 Automatic Corner Override ------------------------------------------------------------------ 4-28
4.1.11.2 Inner Arc Override ---------------------------------------------------------------------------- 4-29
4.1.12 Arc Angle Check During Inner Side Cutting ----------------------------------------------------- 4-30
4.1.13 Interference Check for Cutter Compensation / Nose R Compensation ------------------------ 4-31
4.1.13.1 Interference detection method --------------------------------------------------------------- 4-31
4.1.13.2 Operation when interference is detected ---------------------------------------------------- 4-33
4.1.13.3 Restrictions and special notes ---------------------------------------------------------------- 4-33
4.2 Tool Length Offset (G43, G44 and G49) -------------------------------------- 4-34
4.2.1 Tool Length Offset Function ------------------------------------------------------------------------- 4-34
4.2.2 Tool Length Wear Offset ------------------------------------------------------------------------------ 4-35
4.2.3 Z-axis Travel with Tool Length Offset Command ------------------------------------------------- 4-35
4.3 Nose R Compensation (G141 and G142 - Option) ------------------------ 4-37
4.3.1 Command Format -------------------------------------------------------------------------------------- 4-38
4.3.1.1 Nose R Wear Offset ----------------------------------------------------------------------------- 4-39
4.3.2 Virtual Teeth -------------------------------------------------------------------------------------------- 4-40
4.3.3 Cancel Mode-------------------------------------------------------------------------------------------- 4-40
4.3.4 Startup --------------------------------------------------------------------------------------------------- 4-41
4.3.4.1 Inner Side Cutting (180° ≤ θ) ------------------------------------------------------------------ 4-43
4.3.4.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°) --------------------------------------- 4-44
4.3.4.3 Outer Side (Acute Angle Cutting) (θ < 90°) ------------------------------------------------- 4-45
4.3.5 Offset Mode -------------------------------------------------------------------------------------------- 4-46
4.3.5.1 Inner Side Cutting (180° ≤ θ) ------------------------------------------------------------------ 4-46
4.3.5.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°) --------------------------------------- 4-48
4.3.5.3 Outer Side (Acute Angle Cutting) (θ < 90°) ------------------------------------------------- 4-49
4.3.5.4 Exceptional Cases ------------------------------------------------------------------------------- 4-50
4.3.6 Offset Cancel ------------------------------------------------------------------------------------------- 4-51
4.3.6.1 Inner Side Cutting (180° ≤ θ) ------------------------------------------------------------------ 4-51
4.3.6.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°) --------------------------------------- 4-52
4.3.6.3 Outer Side (Acute Angle Cutting) (θ < 90°) ------------------------------------------------- 4-53
4.3.7 G40 Individual Command ---------------------------------------------------------------------------- 4-54
4.3.8 Compensation Direction Change in Offset Mode-------------------------------------------------- 4-55
4.3.9 Offset Direction Change in Offset Mode ----------------------------------------------------------- 4-55

2023/11/14 3 eCOM4NCPRCO
Contents

4.3.9.1 When There is an Intersection ----------------------------------------------------------------- 4-55


4.3.9.2 When There is No Intersection ---------------------------------------------------------------- 4-56
4.3.10 G Code Command for Nose R Compensation in Offset Mode --------------------------------- 4-58
4.3.11 Special Notes for Nose R Compensation ---------------------------------------------------------- 4-59
4.3.12 Override Function Related to Nose R Compensation-------------------------------------------- 4-64
4.3.12.1 Automatic Corner Override ------------------------------------------------------------------ 4-64
4.3.12.2 Inner Arc Override ---------------------------------------------------------------------------- 4-65
4.3.13 Arc Angle Check During Inner Side Cutting ----------------------------------------------------- 4-66
4.4 Tool Position Compensation (G143, G144 and G49 - Option) -------- 4-67
4.4.1 Tool Position Compensation Function -------------------------------------------------------------- 4-67
4.4.2 Axis Travel with Tool Position Compensation ----------------------------------------------------- 4-68

CHAPTER 5 PREPARATION FUNCTION (CANNED CYCLE) --- 5-1


5.1 Outline ----------------------------------------------------------------------------------- 5-2
5.2 List of Canned Cycle function --------------------------------------------------- 5-2
5.3 Basic Operation of Canned Cycle ---------------------------------------------- 5-3
5.4 General Rules of Canned Cycle ------------------------------------------------- 5-4
5.4.1 Canned Cycle Operation Commands ------------------------------------------------------------------ 5-4
5.4.2 Data in Absolute and Incremental Mode -------------------------------------------------------------- 5-4
5.4.3 Types of Return Points (G98, G99) -------------------------------------------------------------------- 5-5
5.4.4 Canned Cycle Operating Conditions ------------------------------------------------------------------ 5-5
5.4.5 Canned Cycle Machining Data ------------------------------------------------------------------------- 5-6
5.4.6 Canned Cycle Repetition Count------------------------------------------------------------------------ 5-7
5.5 Details of Canned Cycle ----------------------------------------------------------- 5-8
5.5.1 High Speed Peck Drilling Cycle (G73) --------------------------------------------------------------- 5-8
5.5.2 Reverse Tapping Cycle (G74) -------------------------------------------------------------------------- 5-9
5.5.3 Fine Boring Cycle (G76) ------------------------------------------------------------------------------ 5-10
5.5.4 Tapping Cycle (Synchro Mode) (G77) -------------------------------------------------------------- 5-11
5.5.5 Reverse Tapping Cycle (Synchro Mode) (G78) ---------------------------------------------------- 5-13
5.5.6 Drilling Cycle (G81, G82) ---------------------------------------------------------------------------- 5-15
5.5.7 Peck Drilling Cycle (G83) ---------------------------------------------------------------------------- 5-16
5.5.8 Tapping Cycle (G84) ---------------------------------------------------------------------------------- 5-17
5.5.9 Boring Cycle (G85, G89) ----------------------------------------------------------------------------- 5-18
5.5.10 Boring Cycle (G86) ---------------------------------------------------------------------------------- 5-19
5.5.11 Back Boring Cycle (G87) --------------------------------------------------------------------------- 5-20
5.5.12 End Milling/Tapping Cycle (G177) ---------------------------------------------------------------- 5-21
5.5.13 End Milling/Tapping Cycle (G178) ---------------------------------------------------------------- 5-22
5.5.14 Double Drilling Cycle (G181, G182) -------------------------------------------------------------- 5-23
5.5.15 Double Boring Cycle (G185, G189) --------------------------------------------------------------- 5-24
5.5.16 Double Boring Cycle (G186) ----------------------------------------------------------------------- 5-25
5.5.17 Deep Hole Tapping Cycle (Synchro Mode) (G277) --------------------------------------------- 5-26
5.5.18 Reverse Deep Hole Tapping Cycle (Synchro Mode) (G278) ----------------------------------- 5-27
5.5.19 Reducing Step of Canned Cycle -------------------------------------------------------------------- 5-29
5.5.19.1 High speed peck drilling cycle (G73) (reducing step) ------------------------------------ 5-29
5.5.19.2 Peck drilling cycle (G83) (reducing step) -------------------------------------------------- 5-30
5.5.19.3 Tapping cycle (synchro mode) (G77) (reducing step) ------------------------------------ 5-31
5.5.19.4 Reverse tapping cycle (synchro mode) (G78) (reducing step) --------------------------- 5-32
5.5.19.5 Deep hole tapping cycle (synchro mode) (G277) (reducing step) ----------------------- 5-34
5.5.19.6 Reverse deep hole tapping cycle (synchro mode) (G278) (reducing step) ------------- 5-36
5.5.19.7 2nd and after cutting depth in G73, G83, G173, and G183 ------------------------------ 5-37
5.5.19.8 2nd and after cutting depth in G77, G78, G273, and G283 ------------------------------ 5-37
5.5.20 Canned Cycle Cancel (G80) ------------------------------------------------------------------------ 5-38
5.5.21 General Precautions for Canned Cycle ------------------------------------------------------------ 5-38
5.6 One-shot Canned Cycle ----------------------------------------------------------- 5-39
5.6.1 High Speed Peck Drilling Cycle (G173) ------------------------------------------------------------ 5-39
5.6.1.1 High Speed Peck Drilling Cycle (G173) (Reducing Step) --------------------------------- 5-40
5.6.2 Peck Drilling Cycle (G183)--------------------------------------------------------------------------- 5-41
5.6.2.1 Peck Drilling Cycle (G183) (Reducing Step) ------------------------------------------------ 5-42
5.7 Canned Cycle for Tool Change (Non-stop ATC) (G100) ---------------- 5-43
5.7.1 W1000Xd1/S300Xd1/S500Xd1/S700Xd1/U500Xd1/ R450Xd1/R650Xd1/W1000Xd2 ----- 5-43

2023/11/14 4 eCOM4NCPRCO
Contents

5.7.2 M200Xd1/M300Xd1 ---------------------------------------------------------------------------------- 5-45


5.7.2.1 Operation when spindle is selected (M141 modal) ----------------------------------------- 5-45
5.7.2.2 Operation when lathe spindle is selected (M142 modal) ----------------------------------- 5-45
5.7.2.3 Notes ---------------------------------------------------------------------------------------------- 5-46
5.7.3 R650Xd1 40MG --------------------------------------------------------------------------------------- 5-47
5.7.3.1 Tool change operation -------------------------------------------------------------------------- 5-49
5.7.3.2 Next tool preparation operation --------------------------------------------------------------- 5-50
5.7.4 H550Xd1 ------------------------------------------------------------------------------------------------ 5-50
5.7.5 Simultaneously Commandable M Codes ----------------------------------------------------------- 5-54
5.7.6 Automatic Command of Tool Data in Tool Change ----------------------------------------------- 5-57
5.8 Coordinate Calculation Function ---------------------------------------------- 5-58
5.8.1 Outline--------------------------------------------------------------------------------------------------- 5-58
5.8.2 Coordinate calculation--------------------------------------------------------------------------------- 5-58
5.8.3 Coordinates Calculation Parameters ----------------------------------------------------------------- 5-58
5.8.4 Description of Coordinate Calculation Function --------------------------------------------------- 5-59
5.8.4.1 Bolt Hole Circle (G36) ------------------------------------------------------------------------- 5-59
5.8.4.2 Line (Angle) (G37) ----------------------------------------------------------------------------- 5-60
5.8.4.3 Line (X, Y) (G38) ------------------------------------------------------------------------------- 5-61
5.8.4.4 Grid (G39) --------------------------------------------------------------------------------------- 5-62
5.8.5 Examples of Application ------------------------------------------------------------------------------ 5-63

CHAPTER 6 MACRO -------------------------------------------------------- 6-1


6.1 What is Macro? ----------------------------------------------------------------------- 6-2
6.2 Variables Function ------------------------------------------------------------------- 6-4
6.2.1 Outline----------------------------------------------------------------------------------------------------- 6-4
6.2.2 Expression of Variables --------------------------------------------------------------------------------- 6-4
6.2.3 Undefined Variables ------------------------------------------------------------------------------------- 6-4
6.2.4 Types of Variables --------------------------------------------------------------------------------------- 6-5
6.2.5 Display and Setting of Variables ----------------------------------------------------------------------- 6-6
6.2.6 System Variables ----------------------------------------------------------------------------------------- 6-6
6.2.6.1 Interface I/O Signals ------------------------------------------------------------------------------ 6-6
6.2.6.2 Workpiece Coordinate Zero Point--------------------------------------------------------------- 6-7
6.2.6.3 Tool Data ------------------------------------------------------------------------------------------- 6-7
6.2.6.4 Alarm Display ------------------------------------------------------------------------------------- 6-8
6.2.6.5 Message Display and Stop ----------------------------------------------------------------------- 6-8
6.2.6.6 Time------------------------------------------------------------------------------------------------- 6-8
6.2.6.7 Operation Control --------------------------------------------------------------------------------- 6-9
6.2.6.8 Mirror Image --------------------------------------------------------------------------------------- 6-9
6.2.6.9 Program restart ------------------------------------------------------------------------------------ 6-9
6.2.6.10 Modal Info -------------------------------------------------------------------------------------- 6-10
6.2.6.11 Current Position ------------------------------------------------------------------------------- 6-11
6.2.6.12 ATC Tool --------------------------------------------------------------------------------------- 6-13
6.2.6.13 Workpiece Counter ---------------------------------------------------------------------------- 6-14
6.2.6.14 Result of Auto Workpiece Measurement --------------------------------------------------- 6-14
6.2.6.15 Rotary Fixture Offset-------------------------------------------------------------------------- 6-14
6.2.6.16 Machining load monitor ---------------------------------------------------------------------- 6-15
6.2.6.17 Rotation axis / Tilt axis ----------------------------------------------------------------------- 6-15
6.2.6.18 Stuck chips detection -------------------------------------------------------------------------- 6-16
6.2.6.19 Automatic thermal distortion compensation ----------------------------------------------- 6-18
6.3 Calculation Function --------------------------------------------------------------- 6-19
6.3.1 Types of Calculation ----------------------------------------------------------------------------------- 6-19
6.3.2 Precedence of Calculation ---------------------------------------------------------------------------- 6-19
6.3.3 Precautions for Calculation --------------------------------------------------------------------------- 6-20
6.4 Control Function -------------------------------------------------------------------- 6-21
6.4.1 GOTO Instruction (Unconditional Branching) ----------------------------------------------------- 6-21
6.4.2 IF Instruction (Conditional Branching) ------------------------------------------------------------- 6-22
6.4.3 WHILE Instruction (Repetition) --------------------------------------------------------------------- 6-23
6.4.4 Precautions for control function---------------------------------------------------------------------- 6-24
6.5 Call Function ------------------------------------------------------------------------- 6-27
6.5.1 Simple Call Function ---------------------------------------------------------------------------------- 6-27
6.5.2 Modal Call Function ----------------------------------------------------------------------------------- 6-28

2023/11/14 5 eCOM4NCPRCO
Contents

6.5.3 G Code Macro Call ------------------------------------------------------------------------------------ 6-29


6.5.4 M Code Macro Call ------------------------------------------------------------------------------------ 6-30
6.5.5 Macro Call Arguments -------------------------------------------------------------------------------- 6-32
6.5.5.1 Argument for simple/modal call function ---------------------------------------------------- 6-32
6.5.5.2 Argument for G code macro call -------------------------------------------------------------- 6-33
6.5.5.3 Argument for M code macro call-------------------------------------------------------------- 6-34
6.5.5.4 Special notes on macro call arguments ------------------------------------------------------- 6-35
6.5.6 Difference Between G65 and M98/M198----------------------------------------------------------- 6-35
6.5.7 Multiple Call-------------------------------------------------------------------------------------------- 6-36
6.6 External Output Function -------------------------------------------------------- 6-37
6.6.1 POPEN -------------------------------------------------------------------------------------------------- 6-37
6.6.2 BPRNT -------------------------------------------------------------------------------------------------- 6-38
6.6.3 DPRNT -------------------------------------------------------------------------------------------------- 6-39
6.6.4 PCLOS -------------------------------------------------------------------------------------------------- 6-40
6.6.5 External Output to Memory Card -------------------------------------------------------------------- 6-40
6.6.6 External Output to FTP(S) Server ------------------------------------------------------------------- 6-41
6.6.7 Precautions for External Output Command -------------------------------------------------------- 6-42
6.7 Interrupt Macro (Option) ---------------------------------------------------------- 6-44
6.7.1 Interrupt Type------------------------------------------------------------------------------------------- 6-46
6.7.2 Call Type ------------------------------------------------------------------------------------------------ 6-48
6.7.3 Acceptance Type --------------------------------------------------------------------------------------- 6-48
6.7.4 Interrupt Macro and Modal Information ------------------------------------------------------------ 6-49
6.7.5 Interrupt Macro and Current Position --------------------------------------------------------------- 6-50
6.7.6 Macro Statement and NC Statement----------------------------------------------------------------- 6-50
6.7.7 Restrictions --------------------------------------------------------------------------------------------- 6-51
6.7.8 Reference Folder When Interrupt Type Macro is Executed -------------------------------------- 6-52

CHAPTER 7 AUTOMATIC WORKPIECE MEASUREMENT ------ 7-1


7.1 List of Automatic Workpiece Measurement Functions ------------------ 7-2
7.2 Before Automatic Workpiece Measurement--------------------------------- 7-4
7.3 Setting Data for Automatic Workpiece Measurement -------------------- 7-5
7.4 Command Procedure for Automatic Workpiece Measurement ------ 7-12
7.4.1 Corner --------------------------------------------------------------------------------------------------- 7-12
7.4.2 Parallel -------------------------------------------------------------------------------------------------- 7-16
7.4.3 Circle Center-------------------------------------------------------------------------------------------- 7-19
7.4.4 Workpiece Top Surface-------------------------------------------------------------------------------- 7-23
7.4.5 Positioning to Measurement Position --------------------------------------------------------------- 7-24
7.5 Measurement Results Processing--------------------------------------------- 7-25
7.5.1 Display Screen for Measurement Results ----------------------------------------------------------- 7-25
7.5.2 Apply Measurement Results to Workpiece Coordinates ------------------------------------------ 7-26
7.6 Lock Key Operations -------------------------------------------------------------- 7-27
7.7 Program Restart Operation ------------------------------------------------------ 7-27
7.8 <Signal OFF check method for instrument detection> ----------------- 7-27

CHAPTER 8 SUB PROGRAM FUNCTION ---------------------------- 8-1


8.1 Overview -------------------------------------------------------------------------------- 8-2
8.2 Create Sub Program ---------------------------------------------------------------- 8-3
8.3 Simple Call Function ---------------------------------------------------------------- 8-4
8.4 External Sub Program Call Function ------------------------------------------ 8-6
8.5 Specify Return Number from Sub Program Function -------------------- 8-7
8.6 Call Specifying Sequence No. --------------------------------------------------- 8-8

CHAPTER 9 FEED FUNCTION ------------------------------------------- 9-1


9.1 Feed Function ------------------------------------------------------------------------- 9-2
9.1.1 Feedrate per Minute (G94)------------------------------------------------------------------------------ 9-2
9.1.2 Feedrate per Rotation (G95) ---------------------------------------------------------------------------- 9-2
9.1.3 Inverse Time Feed (G93)-------------------------------------------------------------------------------- 9-2
9.1.4 Command Range ----------------------------------------------------------------------------------------- 9-3

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

CHAPTER 10 SPINDLE RELATED FUNCTIONS


(S FUNCTION) ---------------------------------------------- 10-1
10.1 S Function --------------------------------------------------------------------------- 10-2
10.1.1 Spindle Speed Command---------------------------------------------------------------------------- 10-2
10.1.2 Constant Peripheral Speed Control (G96, G97) (Option) --------------------------------------- 10-2
10.1.3 Spindle Speed Clamp (G92) (Option) ------------------------------------------------------------- 10-4
10.1.4 Automatic S Command at Tool Change ----------------------------------------------------------- 10-4
10.1.5 Register Maximum Speed --------------------------------------------------------------------------- 10-4
10.2 M Function (Spindle Control) -------------------------------------------------- 10-5
10.2.1 Spindle Normal Rotation (M03)-------------------------------------------------------------------- 10-5
10.2.2 Spindle Reverse Rotation (M04) ------------------------------------------------------------------- 10-5
10.2.3 Spindle Stop (M05) ---------------------------------------------------------------------------------- 10-5
10.2.4 Spindle Orientation (M19) -------------------------------------------------------------------------- 10-5
10.2.4.1 Spindle Orientation to a Given Angle ------------------------------------------------------- 10-5
10.2.5 Spindle Orientation (M111) ------------------------------------------------------------------------- 10-5
10.3 M Function (Lathe Spindle Control) ----------------------------------------- 10-6
10.3.1 Lathe Spindle Normal Rotation (M303)----------------------------------------------------------- 10-6
10.3.2 Lathe Spindle Reverse Rotation (M304) ---------------------------------------------------------- 10-6
10.3.3 Lathe Spindle Stop (M305) ------------------------------------------------------------------------- 10-6
10.4 M Function (Spindle Selection) ----------------------------------------------- 10-6
10.4.1 Spindle Selection (M141) --------------------------------------------------------------------------- 10-6
10.4.2 Lathe Spindle Selection (M142)-------------------------------------------------------------------- 10-6

CHAPTER 11 TOOL RELATED FUNCTIONS (T FUNCTION) ---- 11-1


11.1 T Function ---------------------------------------------------------------------------- 11-2
11.1.1 When Issuing a Command Using the Tool Number --------------------------------------------- 11-2
11.1.2 When Issuing a Command Using the Pot Number (Magazine Number) ---------------------- 11-2
11.1.3 When Issuing a Command Using the Group Number ------------------------------------------- 11-2
11.2 M Function (Tool Control) ------------------------------------------------------- 11-3
11.2.1 Tool Change (M06) ---------------------------------------------------------------------------------- 11-3
11.2.2 Tool Life Counter (M230 to M231) ---------------------------------------------------------------- 11-3
11.2.3 Changing ATC Arm Turn Speed (M420 to M423, M432) -------------------------------------- 11-3
11.2.4 Shutter and Cover Related M Codes (M434, M438, M439) ------------------------------------ 11-4
11.2.5 Specify Magazine Turn Speed (M435, M436, M437) ------------------------------------------- 11-4
11.2.6 Magazine Turns to the Tool Installation Position (M501 to M599) ---------------------------- 11-5
11.2.7 Machining Load Monitor Function (M340 to M343)-------------------------------------------- 11-5
11.2.8 Stuck Chips Detection (M318 and M319) -------------------------------------------------------- 11-5

CHAPTER 12 M FUNCTION ----------------------------------------------- 12-1


12.1 Outline of M Function ------------------------------------------------------------ 12-2
12.2 M Code List -------------------------------------------------------------------------- 12-2
12.2.1 Multiple M Code Commands in One Block ------------------------------------------------------ 12-5
12.3 M Function (Program Control) ------------------------------------------------ 12-8
12.3.1 Program Stop (M00) --------------------------------------------------------------------------------- 12-8
12.3.2 Optional Stop (M01) --------------------------------------------------------------------------------- 12-8
12.3.3 End of Program (M02, M30) ----------------------------------------------------------------------- 12-8
12.3.4 Workpiece Counter Specification (M211 to M214) ---------------------------------------------- 12-8
12.3.5 Workpiece Counter Cancel (M221 to M224) ----------------------------------------------------- 12-8
12.3.6 To Prohibit Reading Ahead (M159)---------------------------------------------------------------- 12-8
12.3.7 Time Measurement (M258 and M259) ------------------------------------------------------------ 12-9
12.3.8 Z-axis Perimeter Mode (M300 and M301)-------------------------------------------------------- 12-9
12.4 M Function (Signal Control) -------------------------------------------------- 12-11
12.4.1 2-digit BCD Signal Output ------------------------------------------------------------------------- 12-11
12.4.2 Tool Breakage Error Check (M120 and M121) ------------------------------------------------- 12-11
12.4.3 Checking Measurement Instrument Detection Signal ON (M320) --------------------------- 12-11
12.4.4 Checking Measurement Instrument Detection Signal OFF (M321, M324 to M327) ------- 12-11

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

CHAPTER 13 HIGH-ACCURACY MODE ------------------------------- 13-1


13.1 HIGH-ACCURACY MODE AIII ----------------------------------------------- 13-1-1
1 Outline -------------------------------------------------------------------------------------------------- 13-1-2
1.1 Outline of High-accuracy Mode AIII ----------------------------------------------------------- 13-1-2
1.2 Functions of High-accuracy Mode AIII -------------------------------------------------------- 13-1-2
2 How to Use --------------------------------------------------------------------------------------------- 13-1-4
2.1 To Select a Machining Level --------------------------------------------------------------------- 13-1-4
2.2 How to Use the Program ------------------------------------------------------------------------- 13-1-7
2.3 Usable Conditions --------------------------------------------------------------------------------- 13-1-7
2.4 Conditions to be Cancelled ----------------------------------------------------------------------- 13-1-7
3 Restrictions --------------------------------------------------------------------------------------------- 13-1-8
3.1 Commandable Functions ------------------------------------------------------------------------- 13-1-8
3.2 Additional Axis Movement Commands -------------------------------------------------------- 13-1-9
3.3 Imposition Checked by High-accuracy Mode A Command---------------------------------- 13-1-9
3.4 Feedrate When Commanding of High-accuracy Mode A ------------------------------------ 13-1-9
3.5 Notes in Motions by Smooth Path Offset Function ------------------------------------------- 13-1-9
4 Detailed Explanations and Adjustments of Parameters ----------------------------------------- 13-1-10
4.1 Detailed Explanations --------------------------------------------------------------------------- 13-1-10
4.2 Explanation About Parameters ----------------------------------------------------------------- 13-1-13
4.3 Relationship Between Parameters and Shape Errors---------------------------------------- 13-1-16
4.4 Adjusting Parameters --------------------------------------------------------------------------- 13-1-18
13.2 HIGH-ACCURACY MODE B -------------------------------------------------- 13-2-1
1 Outline -------------------------------------------------------------------------------------------------- 13-2-2
2 How to Use --------------------------------------------------------------------------------------------- 13-2-3
2.1 To Select a Machining Level --------------------------------------------------------------------- 13-2-3
2.2 How to Use Programs ----------------------------------------------------------------------------- 13-2-3
2.3 Usable Conditions --------------------------------------------------------------------------------- 13-2-3
2.4 Conditions to be Cancelled ----------------------------------------------------------------------- 13-2-3
3 Restrictions --------------------------------------------------------------------------------------------- 13-2-4
3.1 Commandable Functions ------------------------------------------------------------------------- 13-2-4
3.2 Temporary Stop of Operation -------------------------------------------------------------------- 13-2-5
3.3 Single Operation ----------------------------------------------------------------------------------- 13-2-5
3.4 Cutting Override ----------------------------------------------------------------------------------- 13-2-5
3.5 Dry Run --------------------------------------------------------------------------------------------- 13-2-5
3.6 Feedrates When Commanding the High-accuracy Mode B ---------------------------------- 13-2-5
3.7 Notes in Smooth Path Offset Function --------------------------------------------------------- 13-2-5
3.8 Additional Axis Travel Command--------------------------------------------------------------- 13-2-5
4 Explanations on Parameters -------------------------------------------------------------------------- 13-2-6
13.3 MACHINING MODE SETTINGS --------------------------------------------- 13-3-1
1 Overview ----------------------------------------------------------------------------------------------- 13-3-2
2 High accuracy (machining mode) function --------------------------------------------------------- 13-3-3
3 High accuracy (accuracy specification mode) function ----------------------------------------- 13-3-12
4 Description of function key ------------------------------------------------------------------------ 13-3-15
5 Mode selection using program command (NC language only) -------------------------------- 13-3-16

2023/11/14 8 eCOM4NCPRCO
Contents

6 Check Current Mode -------------------------------------------------------------------------------- 13-3-18

CHAPTER 14 5 AXES MACHINING FUNCTION --------------------- 14-1


14.1 Interpolation Using 5 Axes Simultaneously ------------------------------ 14-2
14.1.1 Overview ---------------------------------------------------------------------------------------------- 14-2
14.1.2 Linear Interpolation (G01) -------------------------------------------------------------------------- 14-2
14.1.3 Helical Thread Cutting Interpolation (G02) ------------------------------------------------------ 14-4
14.1.4 Positioning (G00) ------------------------------------------------------------------------------------ 14-5
14.1.5 TCP Control (G43.4/G43.5) ------------------------------------------------------------------------ 14-6
14.1.6 Restrictions -------------------------------------------------------------------------------------------- 14-6
14.2 TCP Control-------------------------------------------------------------------------- 14-7
14.2.1 Overview ---------------------------------------------------------------------------------------------- 14-7
14.2.1.1 Introduction ------------------------------------------------------------------------------------ 14-7
14.2.1.2 Prerequisites ------------------------------------------------------------------------------------ 14-7
14.2.1.3 Machine configuration ------------------------------------------------------------------------ 14-8
14.2.2 Program Commands --------------------------------------------------------------------------------- 14-8
14.2.2.1 TCP control ON command ------------------------------------------------------------------- 14-8
14.2.2.2 Cancel command (G49) --------------------------------------------------------------------- 14-11
14.2.2.3 Command conditions------------------------------------------------------------------------- 14-11
14.2.2.4 Command functions -------------------------------------------------------------------------- 14-12
14.2.2.5 Feedrate ---------------------------------------------------------------------------------------- 14-13
14.2.2.6 Positioning------------------------------------------------------------------------------------- 14-14
14.2.2.7 Interpolation method on additional axis --------------------------------------------------- 14-14
14.2.3 Coordinate System ---------------------------------------------------------------------------------- 14-15
14.2.3.1 Programming coordinate system ----------------------------------------------------------- 14-15
14.2.3.2 Fixed position in table coordinate system ------------------------------------------------- 14-15
14.2.3.3 Operation example (additional axis at ON command is 0 degrees) -------------------- 14-16
14.2.3.4 Operation example (additional axis at ON command is not 0 degrees) --------------- 14-17
14.2.4 Startup Operation------------------------------------------------------------------------------------ 14-18
14.2.4.1 No travel command -------------------------------------------------------------------------- 14-18
14.2.4.2 Travel command ------------------------------------------------------------------------------ 14-19
14.2.4.3 Simultaneous Commands with Tool Change---------------------------------------------- 14-20
14.2.5 Cancel operation------------------------------------------------------------------------------------- 14-22
14.2.5.1 No travel command -------------------------------------------------------------------------- 14-22
14.2.5.2 Travel command ------------------------------------------------------------------------------ 14-22
14.2.5.3 Cancelled by other commands -------------------------------------------------------------- 14-23
14.2.6 Machining Parameter ------------------------------------------------------------------------------- 14-23
14.2.6.1 Overview of acceleration/deceleration control ------------------------------------------- 14-23
14.2.6.2 Stop command -------------------------------------------------------------------------------- 14-24
14.2.6.3 Override functions ---------------------------------------------------------------------------- 14-24
14.2.6.4 Machining level change (M280 to M287) ------------------------------------------------- 14-25
14.2.6.5 Program usage -------------------------------------------------------------------------------- 14-26
14.2.6.6 Parameter adjustment screen ---------------------------------------------------------------- 14-28
14.2.6.7 Programmable data input (G210) ----------------------------------------------------------- 14-28
14.2.7 Other -------------------------------------------------------------------------------------------------- 14-28
14.2.7.1 Operation pause ------------------------------------------------------------------------------- 14-28
14.2.7.2 Emergency stop ------------------------------------------------------------------------------- 14-28
14.2.7.3 Single operation ------------------------------------------------------------------------------ 14-28
14.2.7.4 Cutting override ------------------------------------------------------------------------------ 14-29
14.2.7.5 Rapid traverse override ---------------------------------------------------------------------- 14-29
14.2.7.6 MDI operation -------------------------------------------------------------------------------- 14-29
14.2.7.7 Manual operation ----------------------------------------------------------------------------- 14-29
14.2.7.8 Dry run ----------------------------------------------------------------------------------------- 14-31
14.2.7.9 Software limit --------------------------------------------------------------------------------- 14-33
14.2.7.10 Skip function -------------------------------------------------------------------------------- 14-33
14.2.7.11 Graphic function ---------------------------------------------------------------------------- 14-33
14.2.7.12 Smooth path offset function --------------------------------------------------------------- 14-33

2023/11/14 9 eCOM4NCPRCO
Contents

(This page was intentionally left blank.)

2023/11/14 10 eCOM4NCPRCO
Index

CHAPTER 1 PROGRAM STRUCTURE 1

CHAPTER 2 COORDINATE COMMANDS 2

CHAPTER 3 PREPARATION FUNCTION 3


PREPARATION FUNCTION
CHAPTER 4 (COMPENSATION FUNCTION)
4
PREPARATION FUNCTION
CHAPTER 5 (CANNED CYCLE) 5

CHAPTER 6 MACRO 6

CHAPTER 7 AUTOMATIC WORKPIECE MEASUREMENT 7

CHAPTER 8 SUB PROGRAM FUNCTION 8

CHAPTER 9 FEED FUNCTION 9


SPINDLE RELATED FUNCTIONS
CHAPTER 10 (S FUNCTION) 10
TOOL RELATED FUNCTIONS
CHAPTER 11 (T FUNCTION) 11

CHAPTER 12 M FUNCTION 12

CHAPTER 13 HIGH-ACCURACY MODE 13

CHAPTER 14 5 AXES MACHINING FUNCTION 14

2023/11/14 1 eCOM4NCPRIN
Index

(This page was intentionally left blank.)

2023/11/14 2 eCOM4NCPRIN
Chapter 1 Program Structure

CHAPTER 1

PROGRAM STRUCTURE

1.1 Program Types and Structure


1.2 Block Structure
1.3 Word Structure
1.4 Number Commands
1.5 Sequence Numbers
1.6 Optional Block Skip
1.7 Control Out-In Function

2023/11/21 1- 1 eCOM4NCPR1
Chapter 1 Program Structure

1.1 Program Types and Structure


The programs are divided into two types: main programs and sub programs.

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;

1.2 Block Structure


The programs are made up of a number of commands. One command unit is referred to as a block.
A block is made up of one or multiple words.
One block is delimited by an end of block (EOB) code.
(The explanation in this manual uses a semicolon “;” for the end of block code.)

••• ; N0001G92X100 ; ••• ; M02 ;


← Block → ←Block→

(NOTE 1) The end of block code in ISO code is “LF” OA (hexadecimal).


In EIA code, it is “CR” 80 (hexadecimal).
(NOTE 2) The maximum number of characters in 1 block is 128.

1.3 Word Structure


A word is made up of an address followed by a number of multiple digits.
(There may be a positive (+) or negative (-) sign that is used before the number.)

X -1000

Address Number

Word

(NOTE 1) The address is one character that is a letter between A and Z.


(NOTE 2) The address “0” is only used for comments.

2023/11/21 1- 2 eCOM4NCPR1
Chapter 1 Program Structure

1.4 Number Commands


1. Decimal point command
There are two systems (Base/Minimum) when issuing a number command.

• Coordinate value and travel amount commands


Select the <Program unit> in user parameter (switch 1: programming) for the coordinate
values and travel amount.
In addition, the minimum unit setting (Type 1 (micron) and Type 2 (submicron)) can be
1
selected using the submicron command option.

<Program unit>: 0 (Base)


Specifying program Command axis Actual amount (meters) Actual amount (inches)
Feed axis 1 mm 1 inch
1
Rotation axis 1 deg 1 deg
Feed axis 1 mm 1 inch
1.
Rotation axis 1 deg 1 deg

<Program unit>: 1 (Minimum)


Specifying program Command axis Actual amount (meters) Actual amount (inches)
Feed axis 0.001 mm 0.0001 inch
1
Rotation axis 0.001 deg 0.001 deg
Feed axis 1 mm 1 inch
1.
Rotation axis 1 deg 1 deg

However, if Type 2 (submicron) and <Program unit>: 1 (Minimum) are used for the
minimum unit settings, the following applies.

<Program unit>: 1 (Minimum)


Specifying program Command axis Actual amount (meters) Actual amount (inches)
Feed axis 0.0001 mm 0.00001 inch
1
Rotation axis 0.0001 deg 0.0001 deg
Feed axis 1 mm 1 inch
1.
Rotation axis 1 deg 1 deg

• Feedrate command
Select the <Program feed rate unit> in user parameter (switch 1: programming) for the
feedrate.

<Program feed rate unit>: 0 (Base)


Specifying program Command axis Actual amount (meters) Actual amount (inches)
1 mm/min 1 inch/min
Feed axis 1 mm/rev 1 inch/rev
1(1/min) 1(1/min)
1
1 deg/min 1 deg/min
Rotation axis 1 deg/rev 1 deg/rev
1(1/min) 1(1/min)
1 mm/min 1 inch/min
Feed axis 1 mm/rev 1 inch/rev
1(1/min) 1(1/min)
1.
1 deg/min 1 deg/min
Rotation axis 1 deg/rev 1 deg/rev
1(1/min) 1(1/min)

2023/11/21 1- 3 eCOM4NCPR1
Chapter 1 Program Structure

<Program feed rate unit>: 1 (Minimum)


Specifying program Command axis Actual amount (meters) Actual amount (inches)
0.01 mm/min 0.001 inch/min
Feed axis 0.0001 mm/rev 0.00001 inch/rev
1(1/min) 1(1/min)
1
0.01 deg/min 0.001 deg/min
Rotation axis 0.0001 deg/rev 0.00001 deg/rev
1 1(1/min) 1(1/min)
1 mm/min 1 inch/min
Feed axis 1 mm/rev 1 inch/rev
1(1/min) 1(1/min)
1.
1 deg/min 1 deg/min
Rotation axis 1 deg/rev 1 deg/rev
1(1/min) 1(1/min)

However, if Type 2 (submicron) and <Program feed rate unit>: 1 (Minimum) are used for
the minimum unit settings, the following applies.

<Program feed rate unit>: 1 (Minimum)


Specifying program Command axis Actual amount (meters) Actual amount (inches)
0.001 mm/min 0.0001 inch/min
Feed axis 0.00001 mm/rev 0.000001 inch/rev
1(1/min) 1(1/min)
1
0.001 deg/min 0.0001 deg/min
Rotation axis 0.00001 deg/rev 0.000001 deg/rev
1(1/min) 1(1/min)
1 mm/min 1 inch/min
Feed axis 1 mm/rev 1 inch/rev
1(1/min) 1(1/min)
1.
1 deg/min 1 deg/min
Rotation axis 1 deg/rev 1 deg/rev
1(1/min) 1(1/min)

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

<Program unit>:1 (Minimum)


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 999999999 999999999
decimal points (Ex: “1”) Rotation axis 999999999 999999999
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 9999999999 9999999999
decimal points (Ex: “1”) Rotation axis 9999999999 9999999999

(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

1.5 Sequence Numbers


A sequence number (1 to 999999) can be attached to address N for each block unit.

Command format N******;

1. Specify a number between 0 and 9 after N.


2. A sequence number can be specified using a maximum of 6 digits. 1
(NOTE 1) Do not use “N0”.
(NOTE 2) Specify the header for the block.
N0100 G90X100;

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.

1.6 Optional Block Skip


This method ignores the block information specified during automatic operation. A slash (“/”) is
used at the header of the block.
Turn ON the [B.SKIP] key on the operation panel to ignore the block information during
automatic operation.
Turn OFF the [B.SKIP] key to enable the block information.
The block skip ignores the entire block.

······; /N0100G00X100··········; N0101······;


←This range is ignored→

(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.

1.7 Control Out-In Function


A comment can be inserted to make the program easier to read.
A comment must be enclosed with parentheses “( )” to distinguish it from the operation
information.

( ············ )
Control out code Comment Control in code

Ex: N1000 G00X200 (PRO-1);

(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

(This page was intentionally left blank.)

2023/11/21 1- 6 eCOM4NCPR1
Chapter 2 Coordinate Commands

2
CHAPTER 2

COORDINATE COMMANDS

2.1 Coordinate System and Coordinate Commands


2.2 Machine Zero Point and Machine Coordinates
2.3 Workpiece Coordinates
2.4 Table Coordinate System

2023/11/14 2- 1 eCOM4NCPR2
Chapter 2 Coordinate Commands

2.1 Coordinate System and Coordinate Commands


Coordinate commands in a coordinate system are required to move the tool to the target position.
There are two types of coordinate systems shown below.

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

2.2 Machine Zero Point and Machine Coordinates


1. Machine zero point
The machine zero point refers to the origin that acts as a reference point on the machine.
2. Machine coordinates
The machine coordinates refer to the coordinate system that uses the machine zero point as the
origin and is unique to each machine.

(For machine models besides H series)


When looking from the top of the machine
X-axis stroke
Machine zero point
(0, 0, 0)
-X
Y-axis stroke

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

When looking from the back of the machine


Machine zero point (X,Y)=(0,0)
X-axis stroke
-X
Y-axis stroke

Table
-Y

2.3 Workpiece Coordinates


The workpiece coordinates refer to the coordinate system that is used to specify machining on
each workpiece.
Select 1 set of coordinates that is preset in the data bank for machining.
Those coordinates are used to issue commands in the program thereafter.
However, each set of coordinates is configured following the amount that is offset between the
machine zero point and the workpiece zero point.

2.4 Table Coordinate System


The table coordinate system refers to a coordinate system that is fixed for the table, so that as the
table rotates, the zero position in the coordinate system and the direction of X, Y and Z change.
Refer to “14.2 TCP control” for further details.

2023/11/14 2- 3 eCOM4NCPR2
Chapter 2 Coordinate Commands

(This page was intentionally left blank.)

2023/11/14 2- 4 eCOM4NCPR2
Chapter 3 Preparation Function

CHAPTER 3
3

PREPARATION FUNCTION

3.1 Outline of G Code


3.2 Positioning (G00, G60)
3.3 Cutting (G01 to 03, G12/13, G102/103, G202/203)
3.4 Dwell (G04)
3.5 Exact Stop Check (G09, G61, G64)
3.6 Programmable Data Input (G10)
3.7 Programmable Parameter Input (G10)
3.8 Coordinate System
(G17 to 19, G52 to 59, G54.1, G92, G68.2)
3.9 Soft Limit
3.10 Reference Position (G28 to 30)
3.11 Skip Function (G31, G131/G132)
3.12 Scaling (G50/G51)
3.13 Programmable Mirror Image (G50.1/51.1)
3.14 Rotational Transformation Function (G68/69, G168)
3.15 Absolute Command and Incremental Command
(G90/91)
3.16 Change of Tap Twisting Direction (G133/134)
3.17 G code Priority
3.18 Programmable Data Input (Temporary Change)
(G210)
3.19 Thread Cutting
3.20 Lathe Machining Infeed Direction

2023/11/23 3-1 eCOM4NCPR3


Chapter 3 Preparation Function

3.1 Outline of G Code


Within 3-digit number following the address G determines the meaning of the command of the
block concerned.
The G codes are divided into the following two types.
Type Meaning
Modal The G code is effective until another G code in the same group is
commanded.
One-shot The G code is effective only at the block in which it is specified.

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

2023/11/23 3-2 eCOM4NCPR3


Chapter 3 Preparation Function

Group G code Description Modal/One-shot


G50.1* Mirror image cancel
Modal
G51.1 Mirror image
G52 Local coordinate system
G53 Machine coordinate system selection One-shot
G53.1 Feature coordinate index
G54* Working coordinate system selection 1
G55 Working coordinate system selection 2
G56 Working coordinate system selection 3
G57 Working coordinate system selection 4 Modal
G58 Working coordinate system selection 5
G59 Working coordinate system selection 6
G54.1 Extended working coordinate system selection
G54.2P0* Rotary fixture offset cancel
G54.2Pn Rotary fixture offset (n: 1 to 8)
Modal
3
G60 Single direction positioning One-shot
G61 Exact stop mode
Modal
G64* Cutting mode
G65 Macro call One-shot
G66 Macro modal call
Modal
G67* Cancel macro modal call
G68 Coordinate rotation function
Coordinate rotation function cancel
G69*
Feature coordinate manufacturing mode cancel Modal
G168 Coordinate rotation using measured results
G68.2 Feature coordinate setting
G73 Canned cycle (High-speed peck drilling cycle)
G74 Canned cycle (Reverse tapping cycle)
G76 Canned cycle fine boring cycle
G77 Canned cycle tapping cycle (synchro mode)
Canned cycle (Reverse tapping cycle) (synchro
G78
mode)
G80* Canned cycle (Cancel mode)
G81 Canned cycle (Drill, spot drilling cycle)
G82 Canned cycle (Drill, spot drilling cycle)
G83 Canned cycle (Peck drilling cycle)
G84 Canned cycle (Tapping cycle)
G85 Canned cycle (Boring cycle)
G86 Canned cycle (Boring cycle)
Modal
G87 Canned cycle (Back balling cycle)
G89 Canned cycle (Boring cycle)
G177 Canned cycle (End mill tapping cycle)
G178 Canned cycle (End mill tapping cycle)
G181 Canned cycle (Double drilling cycle)
G182 Canned cycle (Double drilling cycle)
G185 Canned cycle (Double boring cycle)
G186 Canned cycle (Double boring cycle)
G189 Canned cycle (Double boring cycle)
Canned cycle (Deep hole tapping cycle) (synchro
G277
mode)
Canned cycle (Counter deep hole tapping cycle)
G278
(synchro mode)
G173 Canned cycle (High-speed peck drilling cycle) One-shot
G183 Canned cycle (Peck drilling cycle) One-shot
G100 Non-stop automatic tool change One-shot
G90* Absolute command
Modal
G91 Incremental command
Workpiece coordinate system setting
G92 One-shot
Spindle speed clamp

2023/11/23 3-3 eCOM4NCPR3


Chapter 3 Preparation Function

Group G code Description Modal/One-shot


G93 Inverse time feed
G94* Feed rate per minute Modal
G95 Feed rate per revolution
G96 Constant peripheral speed control
Modal
G97* Constant peripheral speed control cancel
G98* Return to the initial point level
Modal
G99 Return to the R point level
G120 Positioning to the measuring point One-shot
G121 Automatic measurement Corner (Boss)
G122 Automatic measurement Parallel (Groove)
G123 Automatic measurement Parallel (Boss)
Automatic measurement Circle center (Hole, 3
G124
points)
3 G125
Automatic measurement circle center (Boss, 3
points) One-shot
Automatic measurement Circle center (Hole, 4
G126
points)
Automatic measurement Circle center (Boss, 4
G127
points)
G128 Automatic measurement workpiece top surface
G129 Automatic measurement Corner (Groove)
G131 Measurement feed
One-shot
G132 Measurement feed
G133 Changeover of tap twisting direction (CW)
One-shot
G134 Changeover of tap twisting direction (CW)
G210 Programmable data input (Temporary change) One-shot
G321 Lathe machining infeed direction on X-axis
G322 Lathe machining infeed direction on Y-axis Modal (NOTE)
G323 Lathe machining infeed direction on Z-axis
G376 Thread angle in complex thread cutting cycle One-shot

(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.

2023/11/23 3-4 eCOM4NCPR3


Chapter 3 Preparation Function

3.2 Positioning (G00, G60)


3.2.1 Positioning (G00)
Command format G00 X_ Y_ Z_ A_ B_ C_;

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>.

<0: Non-linear interpolation type positioning>


Positioning is carried out on each axis independently using rapid feedrate on each axis. The
tool path is not a straight line.
3
<1: Linear interpolation type - Positioning method 1>
Positioning is carried out so the tool path is a straight line and is completed in the shortest time
period at a speed that does not exceed the rapid feedrate on each axis. However, the alarm
<<Positioning command error for linear interpolation type>> is triggered when there are
simultaneous commands issued for 2 or more additional axes.
Be careful of collisions because if the margin of error on the path for positioning (including the
additional axis) is greater than the positioning only on the linear axis, then the positioning
changes depending on the feedrate and the load.

<2: Linear interpolation type - Positioning method 2>


Positioning is carried out so the tool path is a straight line and is completed in the shortest time
period at a speed that does not exceed the rapid feedrate on each axis. However, the positioning
operation on the additional axis is a non-linear interpolation type.

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.

Non-linear interpolation type

End point

Linear interpolation type

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.

2023/11/23 3-5 eCOM4NCPR3


Chapter 3 Preparation 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 (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.

3.2.2 Single Direction Positioning Function (G60)


Command format G60 X_ Y_ Z_ A_ B_ C_;

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

Will not single-stop

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.

2023/11/23 3-6 eCOM4NCPR3


Chapter 3 Preparation Function

3.2.3 Precautions for Programming Involving Use of


Rotation Axis (Index Table)
(NOTICE) If a door is opened when the door interlock mode is set to automatic mode (or when
the door interlock mode is set to setting mode and the [ENABLE] switch is OFF),
then the rotation axis servo turns OFF.As a result, the axis may shift out of place due
to the load from the workpiece, etc. Thereafter, if the shift amount when closing the
door is smaller than the machine parameter (system 2: QT-axis) <Return angle with
servo controller ON> (or if it is smaller than the machine parameter (system 2:
additional axis) <Return angle with servo controller ON> (5th to 8th-axes)), then it
returns to the position prior to turning OFF the servo. However, the alarm <<Return
distance too long>> is triggered when the shift amount is larger than the <Return
angle with servo controller ON>. In addition, the workpiece will not be machined at
the correct position if the machining is carried out during this alarm.

(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.

2023/11/23 3-7 eCOM4NCPR3


Chapter 3 Preparation Function

3.3 Cutting (G01 to 03, G12/13, G102/103,


G202/203)
3.3.1 Linear Interpolation (G01)
Linear interpolation moves a tool linearly from the current position to the target position at the
specified feed rate.

Command format G01 X_ Y_ Z_ A_ F_;


G01 X_ Y_ Z_ B_ F_;
G01 X_ Y_ Z_ C_ F_;

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 of each axis is calculated in the equation below.

When “G01 G91 Xα Yβ Zγ Ff;” is programmed:

α
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 )

Linear interpolation using a linear axis and rotation axis is as follows.


When the user parameter (switch 1: programming) <Rotation axis speed command type> is set to
<Type 2>, the speed of each axis changes depending on the user parameter (switch 1:
programming) <Standard circle radius> setting. Refer to section “3.3.1.1 Speed command for
standard circle on rotation axis” for further details.

2023/11/23 3-8 eCOM4NCPR3


Chapter 3 Preparation Function

When “G01 G91 Xα Yβ Zγ Bδ Ff ” is programmed

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 Y axis


β
Fy = ─── · f
3
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.

3.3.1.1 Speed command for standard circle on rotation axis


When the user parameter (switch 1: programming) <Rotation axis speed command type> is set to
<Type 2>, the command value for the rotation axis is the perimeter Fl speed based on the user
parameter (switch 1: programming) <Standard circle radius>. The circle is a standard circle and
the peripheral speed is referred to as the standard circle speed.

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)

Rotation axis speed Fr (deg/min)

Standard circle speed Fl (mm/min)


(inch/min)

<Standard circle
radius>: r

2023/11/23 3-9 eCOM4NCPR3


Chapter 3 Preparation Function

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.

Rotation axis command value θ (deg)

Standard arc distance R (θ)


π
R(θ)= r × θ × 180

<Standard circle radius>: r


3

Ex.1: Rotation axis only command


An example is given for each machine unit system. <Standard circle radius> is set to 20
mm or 0.7874 inches.

When machine unit system is metric:


Standard circle distance (mm) = R (30 deg) = 20 mm × 30 × π / 180 ≒ 10.47 mm
G94 G91 G1 A30. F2540

A-axis feedrate (deg/min)


= Standard circle speed (mm/min) × Command value (deg) ÷ L (mm/min)
= 2540 (mm/min) × 30 (deg) ÷ √(Standard circle distance (≒ 10.47 mm) 2)
≒ 7276 (deg/min)

When machine unit system is in inches:


G94 G91 G1 A30. F100

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)

Ex.2: Linear axis + Rotation axis command


When machine unit system is metric:
G91 G1 X40 A30. F1000

X-axis feedrate (mm/min) = 1000 × 40 ÷ (√402 + 10.472)) ≒ 967 (mm/min)


A-axis feedrate (deg/min) = 1000 × 30 ÷ (√(402 + 10.472)) ≒ 725 (deg/min)

When machine unit system is in inches:


G91 G1 X1.575 A30. F196.85
X-axis feedrate (inch/min) =196.85 × 1.575 ÷ (√(1.5752 + 0.4122)) ≒ 190 (inch/min)
A-axis feedrate (deg/min) = 196.85 × 30 ÷ (√(1.5752 + 0.4122)) ≒ 3628 (deg/min)

2023/11/23 3 - 10 eCOM4NCPR3
Chapter 3 Preparation Function

Ex.3: Relationship between <Standard circle radius> and feedrate


When the user parameter (switch 1: programming) <Standard circle radius> value is made
greater, the additional axis feedrate for the F command value becomes smaller. Similarly,
when the radius is made smaller, the additional axis feedrate becomes greater.
In addition, when the value is set to 57.295 (=180 ÷ π), regardless of the machine unit
system setting, a speed equivalent to <Type 1> applies.

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.

When machine unit system is metric:


G91 G1 X40 A30. F1000

<Standard circle radius>


<Type 1>
- 20 mm
<Type 2>
57.295 mm
3
X-axis speed (mm/min) 800 967 800
A-axis speed (deg/min) 600 725 600

When machine unit system is in inches:


G91 G1 X1.575 A30. F196.85

<Type 1> <Type 2>


<Standard circle radius> - 0.7874 inches 57.295 inches
X-axis speed (inch/min) 10 190 10
A-axis speed (deg/min) 197 3628 197

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)

When machine unit system is metric:


G91 G1 X40 A30. F1000

<Rotation axis speed <Rotation axis speed


command type> set to command type> set to
<Type 1> in metric <Type 2> in metric
<Standard circle radius> - 57.295mm
X-axis speed (inch/min) 800 800
A-axis speed (deg/min) 600 600

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

When <Rotation axis speed When <Rotation axis speed


command type> is set to command type> is set to
<Type 1> in metric and <Type 2> in metric and set to
changed to <Type 2> in inches <Type 2> in inches as well
<Standard circle radius> 2.2557 inches
2.2557 inches
(=57.295÷25.4)
X-axis speed (inch/min) 31.496 (Equivalent to 800 31.496 (Equivalent to 800
(mm/min)) (mm/min))
A-axis speed (deg/min) 600 600
(NOTE) This is not a guarantee that the user’s machining result will be exactly the same.

3 3.3.1.2 Chamfering to Desired Angle and Cornering R


Chamfering to the desired angle or rounding can be performed between interpolation commands.

Chamfering Command format G01 X_ Y_, C_;

C : Distance from virtual corner to the chamfer start point and end point. This can be
commanded only for the selected plane surface.

Chamfer end point


Imaginary corner
intersection
Chamfer start point
C

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

Ex.1: Linear cutting

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).

Ex.2: Circular cutting

(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

Cornering R Command format G01 X_ Y_, R_;

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.

Ex.1: Linear cutting

(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

3.3.2 Circular Interpolation / Helical Thread Cutting


Interpolation
3.3.2.1 Circular Interpolation (G02, G03)
Circular interpolation moves a tool along a circular arc from the current position to the end point at
the specified feed rate.
XY plane:
Command
G17 G02 X_ Y_ I_ J_ F_;
format
R_

G17 G03 X_ Y_ I_ J_ F_;


R_

ZX plane: 3
G18 G02 Z_ X_ K_ I_ F_;
R_

G18 G03 Z_ X_ K_ I_ F_;


R_

YZ plane:
G19 G02 Y_ Z_ J_K_ F_;
R_

G19 G03 Y_ Z_ J_K_ F_;


R_

The commands are given in the following format:


Rotation direction G02 Clockwise (CW).
G03 Counterclockwise (CCW).
End point G90 mode X,Y,Z End point in the working coordinate system.
G91 mode X Distance from the start point to the end point in the X
direction.
Y Distance from the start point to the end point in the Y
direction.
Z Distance from the start point to the end point in the Z
direction.
Distance between start point I Distance from the start point to the center of arc in
and arc center the X direction.
J Distance from the start point to the center of arc in
the Y direction.
K Distance from the start point to the center of arc in
the Z direction.
Arc radiusArc radius R Arc radiusArc radius
Feedrate F Feedrate in the tangential direction of circular arc.

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

3.3.2.2 XZ Circular Interpolation (G102, G103)


Circular interpolation moves a tool along a circular arc from the current position to the end point at
the specified feed rate.

G102 I_K_
Command X_Z_ F_;
format G103 R_

The commands are given in the following format:


Rotation direction G102 Clockwise (CW).
G103 Counterclockwise (CCW).
End point G90 mode X,Z End point in the working coordinate system.
G91 mode X Distance from the start point to the end point in the
3 X direction.
Z Distance from the start point to the end point in the
Z direction.
Distance between start point I Distance from the start point to the center of arc in
and arc center the X direction.
K Distance from the start point to the center of arc in
the Z direction.
Arc radiusArc radius R Arc radiusArc radius
Feedrate F Feedrate in the tangential direction of circular arc.
Clockwise and counterclockwise are the rotation direction viewed from the positive direction to
the negative direction on the Y axis of the X-Z plane.

(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).

3.3.2.3 YZ Circular Interpolation (G202, G203)


Circular interpolation moves a tool along a circular arc from the current position to the end point at
the specified feed rate.

G202 J_K_
Command Y_Z_ F_;
Format G203 R_

The commands are given in the following format:


Rotation direction G202 Clockwise (CW).
G203 Counterclockwise (CCW).
End G90 mode Y,Z End point in the working coordinate system.
point G91 mode Y Distance from the start point to the end point in the
Y direction.
Z Distance from the start point to the end point in the
Z direction.
Distance between start point J Distance from the start point to the center of arc in
and arc center the Y direction.
K Distance from the start point to the center of arc in
the Z direction.
Arc radiusArc radius R Arc radiusArc radius
Feedrate F Feedrate in the tangential direction of circular arc.

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).

3.3.2.4 Precautions for Circular Interpolation


End point of an arc is set by an absolute or incremental value by G90 and G91, respectively.
Incremental value is the distance from start to end point of the arc.
Center of the arc is specified by I, J, and K with respect to X, Y, and Z axis.
Vectors I, J, and K view the center of the arc from the start point. They are always specified by
incremental values irrespective of G90 and G91. 3
• Absolute positioning
G90 G03 Xx Yy Ii Jj Ff;

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;

-100 -50 (0, 0)


-X
Machine zero
End point (-60, -10)

3 Start point
(-30, -40)
-50

Center (-80, -60)

-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.

1. G02 X-70. Y-50. R25. F1000;


2. G02 X-70. Y-50. R-25. F1000;

-100 -50 (0, 0)


-X
Machine zero

Start point (-60,-20)

R>0
R<0

(1)
(2)

-50

End point (-70,-50)

-Y

• I, J and K are considered zero if not specified.


• You cannot command an arc of R=0.
• When you omit X, Y and Z, the end point is considered the same as start point and:
(1) If a command is issued with the center at I, J or K, then the arc is 360° (entire perimeter of
circle).
(2) The alarm <<Arc Command Error>> occurs when the center is defined by R.
• The R command cannot be issued at the same time as the I, J and K commands. If the
commands are issued at the same time, the alarm <<Arc calculation error>> is triggered.

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

3.3.2.5 Helical Thread Cutting Interpolation


Putting the other than selected plane axis command in the circular arc block permits a helical
thread cutting.

Command format XY plane:


G17 G02 X_ Y_ Z_ I_ J_ A_ F_;
G03 R_ B_
C_

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:

180*L F : Command speed (Selected plane axis)


Fz = × F
π*R*θ R : Radius
θ : Angle
Fz : Other than selected plane of feedrate speed.
L : Other than selected plane of feed distance.

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

3.3.2.6 Spiral Interpolation


An increment or decrement per rotation is specified for the circular interpolation command to
perform spiral interpolation.

Command format XY plane:


{ G17 } G02 X_ Y_ I_ J_ Q_ L_ F_;
{ G17 } G03 X_ Y_ I_ J_ Q_ L_ F_;

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

* Either L (number of rotations) or Q (increment/decrement in radius) can be omitted. If “L”


and “Q” are used together, “Q” is used.

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 = center) (End point = center)

Start point
End
End Start point point
point (center) (center)

Same travel direction

(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

3.3.2.7 Conical interpolation


The travel command of another axis in addition to the spiral interpolation command is added and
an increment and decrement is specified for that axis per spiral rotation to perform conical
interpolation.

Command format XY plane:


{G17} G02 X_ Y_ Z_ I_ J_ K_ Q_ L_ (A_ B_ C_) F_;
{G17} G03 X_ Y_ Z_ I_ J_ K_ Q_ L_ (A_ B_ C_) F_;

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.

G02 : Clockwise cutting direction


G03 : Counterclockwise cutting direction
XYZ : Coordinates of end point
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 : Two axes are vectors from start point to center. The remaining axis specifies per-
rotation spiral increment/decrement for conical interpolation. *
Vector from start point to Increment and decrement in
Plane to be set
center height per spiral rotation
G17 XY I, J K
G18 ZX K, I J
G19 YZ J, K I
F : Cutting speed (Selected plane axis)

* I, J, K, L and Q (Incremental height, rotation count, and incremental radius):


Specify one, and you may omit the other two.
If “L” and “Q” are contradictory to eath other, “Q” has priority.
If there is a discrepancy between “L” and the increment/decrement in height, the latter is used.
If there is a discrepancy between “Q” and the increment/decrement in height, the former is
used.
Priority Higher ← “Q” > Increment/decrement in height > “L” → Lower

2023/11/23 3 - 23 eCOM4NCPR3
Chapter 3 Preparation Function

+Z
25.0 25.0

(0, -37.5, 12.5)

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).

(Start point = center) (End point = center)


3
Start point
End
End
Start point point
point
(center) (center)

Same travel direction

(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

3.3.2.8 Cutter Compensation for Spiral and Conical


Interpolation
Virtual circles, with their centers set on the center of spiral interpolation, are created at the start
and end points of the program. Cutter compensation is performed relative to the virtual circles and
spiral interpolation is executed for the result of the compensation.

(1) (2)

Program path
A virtual circle is set at the start point

(3) (4) Intersection (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

Virtual circle for dia.


compensation

Dia. compensation
by program path

Dia. compensation
by virtual circle

Set dia. compensation for the virtual Diameter-compensated spiral


circle interpolation using intersections as start
and end points

2023/11/23 3 - 26 eCOM4NCPR3
Chapter 3 Preparation Function

3.3.2.9 Involute interpolation


The involute interpolation is carried out at the command feedrate and travels along an involute
curve from the current position to the end point.

Command format For X-Y plane:


{G17} G02.2 X_ Y_ Z_ I_ J_ R_ F_;
{G17} G03.2 X_ Y_ Z_ I_ J_ R_ F_;

For Z-X plane:


{G18} G02.2 Z_ X_ Y_ K_ I_ R_ F_;
{G18} G03.2 Z_ X_ Y_ K_ I_ R_ F_;

For Y-Z plane:


{G19} G02.2 Y_ Z_ X_ J_ K_ R_ F_;
{G19} G03.2 Y_ Z_ X_ J_ K_ R_ F_; 3
A description of the commands is shown below.
G02.2 Clockwise (CW)
Rotation direction
G03.2 Counterclockwise (CCW)
G90 mode X, Y, Z End position in workpiece coordinate system
End X Distance in X-axis direction between the start and end points
point G91 mode Y Distance in Y-axis direction between the start and end points
Z Distance in Z-axis direction between the start and end points
Distance in X-axis direction from the start point to the center
I
point of the base circle
Distance from start
Distance in Y-axis direction from the start point to the center
point to center point J
point of the base circle
of base circle
Distance in Z-axis direction from the start point to the center
K
point of the base circle
Base circle radius R Radius of base circle
Feedrate F Speed along tangent line of involute curve

Ex: Involute interpolation command (G02.2) for G17 (X-Y) plane


Y
F

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.

3.3.3 Circle Cutting (G12, G13)


The tool starts at the center of a circle, cuts the inside, and returns to the center.

Command format G12 I_ D_ F_;


G13 I_ D_ F_;

G12 : Clockwise cutting direction


G13 : Counterclockwise cutting direction
I : Radius of a circle. Signs + and - are ignored; always considered +.
D : Specify compensation amount.
Compensation amount is commanded by tool number.
3 For a positive value, the inside of the radius specified by I parameter is cut along the
circle. For a negative one, the outside of the radius specified by I parameter is cut.
F : Cutting speed

Operation (assuming an XY plane has been selected)


The tool starts from the center of the circle in the X-axis direction along a half-circle arc. Rotating
direction is as determined by G12 or G13.
From (1), the tool moves along the entire circle in the direction specified by G12 or G13.
From the end point of (2), the tool moves to the center of the circle following the half-circle arc.
Rotating direction is as determined by G12 or G13.
Y
(1)
Radius
Compensation

Tool path

(3)
(2)
G12; positive compensation

Y Tool path
(2)
Compensation
Radius
(3)

(1)

G13; negative compensation

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

3.4 Dwell (G04)


After the in-position check at the end of the previous block, the operation proceeds to the next
block either when the specified time has elapsed, or when the measuring instrument detection
signal (that is enabled) turns ON. The enabled measuring instrument detection signal is determined
by the value in the user parameter (switch 1: programming) <Measurement setting 1 (2/3/4)> that
corresponds to the Q address. However, the parameter <Measurement setting (Q omitted)> is used
when the Q address is omitted.

Command format G04 P_ Q_;

or G04 X_ Q_;

P, X : Dwell time (sec.)


3 Q : 1 to 4 (omission is possible)

The measurement settings used with the Q addresses are as follows.

Q address command Compatible set value


G04 Q1 <Measurement setting 1>
G04 Q2 <Measurement setting 2>
G04 Q3 <Measurement setting 3>
G04 Q4 <Measurement setting 4>
G04 (when Q is omitted) <Measurement setting (Q omitted)>

(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

3.5 Exact Stop Check (G09, G61, G64)


Each axis is accelerated / decelerated respectively. If, therefore, there is a large change in axis
speed (cutting feed rate) between two neighboring blocks, the tool will run along an inside path
relative to the program path. Exact stop check function is used to avoid this problem.

: Program path

: Tool path

1. Exact stop check (G09)

Command format G09;

In-position check is performed at the end of each block before the tool proceeds to the next block.

(NOTE 1) G09 is effective only in the commanded block.


(NOTE 2) Exact stop check is always performed in the positioning mode (G00) irrespective of
presence or absence of the G09 command.

2. Exact stop check (G61)

Command format G61;

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.

3. Cutting mode (G64)

Command format G64;

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

3.6 Programmable Data Input (G10)


3.6.1 Entering Workpiece Coordinate Zero
Command format G10 L2 Pn X_ Y_ Z_ A_ B_ C_;

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.

3.6.2 Entering Tool Length / Cutter Compensation Data


Command format

Tool length compensation data G10 L10 P_ R_;

Cutter compensation data G10 L12 P_ R_;

P : Compensation number (1 to 99, 201 to 299)


R : Compensation amount

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

3.6.3 Tool Wear Compensation


When a tool length/cutter compensation is commanded by the program, the wear compensation
data relevant to the specified tool compensation command is automatically retrieved and
considered in the cutting operation.

Command format

Tool length wear compensation G10 L11 P_ R_;

Cutter wear offset G10 L13 P_ R_;

P : Compensation number (1 to 99, 201 to 299)


R : Compensation amount

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.

3.6.4 Tool Offset Data Input


* Available when equipped with a lathe function

Tool length compensation data G10 L90 P_X_Y_Z_R_T_;

P : Tool number (1 to 99, 201 to 299)


X : Tool position offset (X)
Y : Tool position offset (Y)
Z : Tool length offset (Z)
R : Tool diameter / nose R compensation
T : Virtual teeth number (0 to 9)

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

3.6.5 Tool Offset Wear Data Input


* Available when equipped with a lathe function

Command format G10 L91 P_ X_ Y_ Z_ R_;

P : Tool number (1 to 99, 201 to 299)


X : Tool position wear offset data (X)
Y : Tool position wear offset data (Y)
Z : T length wear offset (Z)
R : Tool diameter / nose R wear offset

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.

3.6.6 Data Input of Extended Workpiece Coordinate


Command format G10 L20 Pn X_ Y_ Z_ A_ B_ C_;

Pn : Code specified in extended workpiece coordinate system


n : 1 to 300
X, Y, Z : Workpiece origin offset

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

3.6.7 Workpiece Coordinate System Using the Results of


Measurements
Command format G10 L99 Pn X_ Y_ Z_ Q_;

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.

3.6.8 Data Input of Extended Workpiece Coordinate Zero


Based on Measurement Results
Command format G10 L98 Pn X_ Y_ Z_ Q_;

n : Extended workpiece coordinate system (1 to 300)


Q : Measurement result number (1 to 4)

(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

3.6.9 Data Input for Reference Rotary Fixture Offset


Command format G10 L21 Pn X_ Y_ Z_ A_ B_ C_ Qm;

n : Reference rotary fixture offset number (1 to 8)


X, Y and Z : Reference offset
A, B and C : Reference angle
Q : Axis for calculation
m = 0 : A-axis
m = 1 : B-axis
m = 2 : C-axis
m = 3 : AB-axis
m = 4 : AC-axis
m = 5 : BC-axis
3
When G90 (absolute command) mode is enabled, the command values for X, Y, Z, A, B and C are
set by the reference fixture offset that is specified in P. When G91 (incremental command) mode
is enabled, the sum of the values specified for X, Y, Z, A, B and C is set by the current values set
in the reference fixture offset specified in P. Q (Axis for calculation) is not based on G90 / G91.

3.6.10 Tool Information Input


Command format G10 L97 P_ Q_ R_ W_ V_ F_ S_ U_ J_;

P : Tool number (1 to 99, 201 to 299)


Q : Life type
1. Not counted
2 Time (minutes)
3 Drilling (holes)
4 Program (cycles)
5 Time (sec.)
R : Tool life
W : Life warning
V : Initial life / end life (switched by the setting of <Tool Life Counting Method> of
<User Parameters>)
F : F command value (metric: 0.01 to 999999.99; inch: 0.001 to 99999.999 *)
S : S command value (1 to 99999)
U : Maximum speed (-1, 0, 1 to 99999)
J : Extended information
0 Tool cleaning enabled / CTS enabled
1 Tool cleaning disabled / CTS enabled
2 Tool cleaning enabled / CTS disabled
3 Tool cleaning disabled / CTS disabled

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

3.7 Programmable Parameter Input (G10)


3.7.1 Usage
Parameter values can be changed in a program.
Refer to “3.7.3 Parameter setting” for details on parameters that can be changed, those parameter
numbers and the ranges for the set values.

Command format
G10 L52; Parameter input mode start
P_ D_; Numerical value parameter setting
G11; Parameter input mode end

P_: Parameter number


3 D_: Parameter set value

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.

(NOTE 1) A parameter can be changed even when data protection is enabled.


(NOTE 2) It is prohibited to change the operation mode while a parameter input mode block
(G10 L52 to G11) is running.
(NOTE 3) While a parameter input mode block (G10 L52 to G11) is running, the operator
message <<Programmable parameter input in progress>> appears.
(NOTE 4) The value range of each parameter is checked on each block, and the consistency of
the values between parameters is checked with G11. If there is no problem with
either check, then the values are applied in G11.
(NOTE 5) When executing both data bank editing and parameter input mode (G10 L52 to G11)
at the same time, the values are reflected in the parameter after the execution
operation.
(NOTE 6) If operation ends without issuing the parameter input mode end (G11) command in
MDI operation, then the operator message <<Programmable parameter input was
interrupted.>> appears and the value trying to be set to the parameter will not be
applied.
(NOTE 7) If an attempt is made to overwrite a parameter while G68.2 modal (feature
coordinate setting) is in progress or while G43.4/G43.5 modal (TCP control) is in
progress, the alarm <<Programmable parameter setting error>> is triggered and the
value trying to be set to the parameter will not be applied.
(NOTE 8) When executing a program that uses parameter input mode during drawing before
operation or tool path simulation, the value trying to be set to the parameter will not
be applied.
(NOTE 9) After the parameter input mode start (G10 L52) command is issued, if another G
code command is issued thereafter that is not a parameter input mode end (G11)
command, then the alarm <<Specified G code cannot be used. >> is triggered.
(NOTE 10) When a parameter input mode end (G11) command is issued on another block that is
not the parameter input mode block (G10 L52 to G11), then the alarm <<Specified
G code cannot be used. >> is triggered.
(NOTE 11) When an M code command is issued on a parameter input mode block (G10 L52 to
G11), then the alarm <<Specified M code cannot be used. >> is triggered.

2023/11/23 3 - 38 eCOM4NCPR3
Chapter 3 Preparation Function

3.7.2 Usage Conditions


When executing programmable parameter input, the following modal status is required. This
modal status applies when the power is turned ON.
Code Function
M97 Interrupt type macro cancel

3.7.3 Parameter Setting


The parameter numbers for parameters that can be set and the ranges for the set values are noted.

3.7.3.1 User parameters


The following items are parameters that can be set.
Rotation axis/tilt axis setting
Parameter number Item
130009
130010
Rotation center X coordinate offset for tilt axis 1
Rotation center Y coordinate offset for tilt axis 1
3
130011 Rotation center Z coordinate offset for tilt axis 1
130012 Rotation center X coordinate offset for rotation axis 1
130013 Rotation center Y coordinate offset for rotation axis 1
130014 Rotation center Z coordinate offset for rotation axis 1
130015 Rotation center X coordinate offset for tilt axis 2
130016 Rotation center Y coordinate offset for tilt axis 2
130017 Rotation center Z coordinate offset for tilt axis 2
130018 Rotation center X coordinate offset for rotation axis 2
130019 Rotation center Y coordinate offset for rotation axis 2
130020 Rotation center Z coordinate offset for rotation axis 2

Refer to “1.5 User parameters” in the Data Bank & Alarm Manual for details about the setting
range.

3.7.4 Usage Examples


Ex: 0.5 mm is set to the user parameter (rotation axis/tilt axis setting) <Rotation center X
coordinate offset for tilt axis 1> (Parameter No.130009)
G10 L52; Parameter input mode start
P130009 D0.5; Numerical value parameter (w/decimal) setting
or
P130009 D500; Numerical value parameter (no decimal) setting (NOTE)
G11; Parameter input mode end

(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

3.8 Coordinate System (G17 to 19, G52 to 59,


G54.1, G92, G68.2)
3.8.1 Plane Selection (G17, G18, G19)
Plane selection specifies the plane where the following operations are performed: circular
interpolation, cutter compensation, nose R compensation, rotational transformation, corner CR,
circular cutting, spiral interpolation, conical interpolation and involute interpolation.

XY plane selection

Command format G17

ZX plane selection
3 Command format G18

YZ plane selection

Command format G19

Tool length compensation always applies to Z axis irrespective of 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.

3.8.2 Machine Coordinate System Selection (G53)


The below-mentioned command is used to specify coordinate values in a machine coordinate
system.

Command format G53;

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

3.8.3 Workpiece Coordinate System Selection (G54 to


G59)
Set 6 sets of workpiece-specific coordinate systems in the data, and you can call the required
workpiece coordinate system using the G54 to G59 commands.

Command format G54





G59

G54 : Workpiece Coordinate System 1


G55 : Workpiece Coordinate System 2
G56
G57
:
:
Workpiece Coordinate System 3
Workpiece Coordinate System 4 3
G58 : Workpiece Coordinate System 5
G59 : Workpiece Coordinate System 6

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.

3.8.4 Extended Workpiece Coordinate System Selection


(G54.1)
Command format G54.1 Pn;

Pn : Code specified in extended workpiece coordinate system


n : 1 to 300

The above command allows you to select 300 sets of workpiece coordinate systems.

The same function is available using G54 in place of G54.1.


When there is no P code on the same block after G54.1, the extended workpiece coordinate system
1 is selected.

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

3.8.5 Workpiece Coordinate System Setting (G92)


Change of workpiece zero position can be commanded as follows:

Command format G92 X_ Y_ Z_ A_ B_ C_;

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.

New G54 workpiece New G55 workpiece


coordinate zero coordinate zero

Old G54 workpiece Old G55 workpiece


coordinate zero coordinate zero

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.

Spindle end face

Tool tip

Programmed target value; this will be


the value commanded by G92

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.

G92 X80.456 Z100.123

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

3.8.6 Local Coordinate System Function (G52)


Command format G52 X_ Y_ Z_ A_ B_ C_;

X, Y, Z, A, B, C: Amount of shift from workpiece coordinate zero point


Operation will be the same regardless of G90 or G91.
Amount of shift is applied only to the specified axis.

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.

3.8.7 Rotary Fixture Offset Function (G54.2)


3.8.7.1 Overview
This function is available on machines with an index table.
* The option for rotary fixture offset function is required.

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°)

X, Y and Z vector from rotation


center to workpiece zero point
45° (Reference offset)

2023/11/23 3 - 45 eCOM4NCPR3
Chapter 3 Preparation Function

3.8.7.2 Command Format


Rotary fixture offset command

Command format G54.2 Pn

n: Reference rotary fixture offset No. (1 to 8)

Cancel command for rotary fixture offset

Command format G54.2 P0

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.)

Program example (NC language)


N1 G90 G54 G00 X0 Y0 Z200. A0. C0.
N2 G54.2 P1
N3 G00 A-45.
N4 G01 X2. F1000
N5 G00 A-60. C270.
N6 G54.2 P0

2023/11/23 3 - 46 eCOM4NCPR3
Chapter 3 Preparation Function

3.8.8 Feature Coordinate System (G68.2)


3.8.8.1 Overview
When machining on a tilt plane, set a new coordinate system on this plane to issue position
commands in order to make the program simpler.
This new coordinate system is called the feature coordinate system and is set in the workpiece
coordinate system.

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

Machine Machine coordinates: Xm-Ym-Zm


coordinate system Workpiece coordinates: Xw-Yw-Zw
Feature coordinates: Xf-Yf-Zf

2023/11/23 3 - 47 eCOM4NCPR3
Chapter 3 Preparation Function

Feature coordinate index

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

3.8.8.2 Command format


When setting the feature coordinate system, the feature coordinate manufacturing mode is enabled.
The command coordinates are processed as coordinates in the feature coordinate system on the
block until the feature coordinate manufacturing mode is cancelled.

1. Feature coordinate setting command (G68.n)


The feature coordinate system is set.

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)

Command format G68.2 XxYyZzIαJβKγ;

x, y, z: Feature coordinate zero point 3


α, β, γ: Euler angles
Specify within the range: -360.000 to 360.000.

When one of the following is omitted: X, Y, Z, I, J or K, the command is processed as a


0 value. The alarm <<Feature coordinate command error>> is triggered when I, J and K
are all omitted.

The Euler angles refer to a set of angles (α, β and γ)


that rotates around each axis, in order to acquire the
feature coordinate system (Xf, Yf and Zf) from (Xw,
Yw and Zw) in the workpiece coordinate system.

1. Rotates (Xw, Yw and Zw) for the angle α around


the Zw-axis forming (X’,Y’ and Zw).

2. Rotates (X’, Y’ and Zw) for the angle β around the


X’-axis forming (X’,Y” and Z”).

3. Rotates (X’, Y” and Z”) for the angle γ around the


Z”-axis forming (Xf,Yf and Zf).

2023/11/23 3 - 49 eCOM4NCPR3
Chapter 3 Preparation Function

(2) Multiple absolute commands (G68.2)


By executing another feature coordinate setting command (G68.2) while in feature
coordinate manufacturing mode (and not cancelling feature coordinate manufacturing
mode), a new feature coordinate system can be set for the workpiece coordinate system.

(3) Special notes


(i) The original workpiece coordinate system cannot be changed while in feature
coordinate manufacturing mode. The alarm <<Feature coordinate manufacturing
mode engaged>> is triggered.
(ii) If the feature coordinate setting command is issued in one of the following
situations, then the alarm <<Rotation axis/Tilt axis parameter setting error>> is
triggered.
- When the <Tilt axis *> or <Rotation axis *> in the user parameter (rotation
axis/tilt axis setting) is set to an axis where the machine parameter (system 2:
3 additional axis) <Optional *-axis> was set to <No>.
- When the user parameter (rotation axis/tilt axis setting) <Forward direction for
the coordinate system on tilt axis 1(2)> is not set to <1:Z->Y>, when it is not set
to <3:X->Z>, or when <Forward direction for the coordinate system on rotation
axis 1 (2)> is not set to <5:Y->X>.
(iii) If a feature coordinate setting command is issued when there is a shift in the local
coordinate system (G52), the alarm <<Feature coordinate command error>> is
triggered.
(iv) The feature coordinate setting command can only be executed in memory
operation mode. <<Specified G code cannot be used>> is triggered when an
attempt to issue a command is made in MDI mode.
MDI intervention is not possible while in feature coordinate manufacturing mode.
The alarm <<Feature coordinate manufacturing mode engaged>> is triggered when
an attempt is made to change the mode.
(V) A feature coordinate setting command cannot be issued in an interrupt program.
The alarm <<Feature coordinate command error>> is triggered.
Interrupt type macro cannot be executed while in feature coordinate manufacturing
mode. The alarm <<Feature coordinate manufacturing mode engaged>> is
triggered.
(ⅵ) A command or operation that requires additional axis travel cannot be executed
while in feature coordinate manufacturing mode. The alarm <<Feature coordinate
manufacturing mode engaged>> is triggered.
(ⅶ) A feature coordinate setting command can only be executed when XY plane is
selected (G17 modal). When a command is issued in another plane besides the XY
plane (G18 and G19), the alarm <<Selected plane error>> is triggered.
While in feature coordinate manufacturing mode, the alarm <<Feature coordinate
manufacturing mode engaged>> is triggered when an attempt is made to issue a
plane selection command to change to another plane besides the XY plane (G18
and G19 modal).
(ⅷ) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.

2. Feature coordinate manufacturing mode cancel command (G69)


Feature coordinate manufacturing mode is cancelled.

Command format G69;

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.

The feature coordinate manufacturing mode is cancelled by resetting operation with


M02/M30.

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.

3. Feature coordinate index command (G53.1)


The additional axis rotates to index the tilt plane so that the Z-axis + direction in the feature
coordinate system, set by the feature coordinate setting command, is in line with the tool axis
direction.

Command format G53.1;

Use this command individually.


When another G/M code command is issued on the same block, the alarm <<Simultaneous
specified code cannot be used.>> is triggered.
However, this excludes when issuing a simultaneous command with G100/M6, which will be
3
described later.

The additional axis may rotate too much.


Issue a command beforehand to ensure the tool is in a safe position so that the tool and the
workpiece do not collide.

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.

(2) How the travel angle on the additional axis is established


There are normally 2 sets of angles within the 0° to 360° range for the combination of the
tilt axis and rotation axis angles when moving the additional axis during the feature
coordinate index. When there are two or more sets of angle combinations, which also
include angles of integral multiples of 360°, the angle to move the axis is determined by
the following methods.
(ⅰ) Travel amount of tilt axis is a small angle.
(ⅱ) Travel amount of rotation axis is a small angle when the travel amount in the positive
and negative directions is the same for (i).
(ⅲ) Angle of the tilt axis’ travel destination is an angle close to a multiple of 360° when
the set of angles is not decided by (i) or (ii).
(iv) Angle of the rotation axis’ travel destination is an angle close to a multiple of 360°
when the set of angles is not decided by (i), (ii) or (iii).
(ⅴ) Angle where the tilt axis travels in a positive direction when the set of angles is not
decided by (i), (ii), (iii) or (iv).

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.

Refer to “3.17 G Code Priority” for further details.

2. When lathe spindle is selected


The feature coordinate setting command cannot be issued when the lathe spindle is (M142
modal in progress) selected.
The alarm <<A command unable to select the lathe spindle>> is triggered.
In addition, if the detection signal is ON when travel starts, it does not operate.
After changing from the lathe spindle (M142) to the spindle (M141), the feature coordinate
setting command cannot be issued even when the following commands are issued to the
additional axis that is assigned as the lathe spindle. The alarm << Feature coordinate command
error >> is triggered.
- Axis travel command for G90 modal
- Reference position return command (G28, G30) when there is no travel to the middle
position
The alarm <<Feature coordinate manufacturing mode engaged>> is triggered when the lathe
spindle (M142) is selected after the feature coordinate setting.

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

3.8.9 Involute Interpolation Function


3.8.9.1 Overview
Introduction
This function enables the user to machine along an involute curve.
By using the involute interpolation, the user does not need to approximate minute or fine straight
lines and arcs for an involute curve but can machine the curve with good accuracy.

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_;

A description of the commands is shown below.


G02.2 Clockwise (CW)
Rotation direction
G03.2 Counterclockwise (CCW)
G90 mode X, Y, Z End position in workpiece coordinate system
X Distance in X-axis direction between the start and end points
End point
G91 mode Y Distance in Y-axis direction between the start and end points
Z Distance in Z-axis direction between the start and end points
Distance in X-axis direction between the start and center
I
points
Distance from start Distance in Y-axis direction between the start and center
J
point to center point points
Distance in Z-axis direction between the start and center
K
points
Base circle radius R Radius of base circle
Feedrate F Speed along tangent line of involute curve

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

Ex: Involute interpolation command (G02.2) for G17 (X-Y) plane


Y
F
Start
point

End point
(X,Y) 3
R
Base circle

Start Point and End Point


The start point on an involute curve is the current position.
The end point on an involute curve follows the command that is based on the address X, Y and Z.
When an end point command is not carried out, or when an axis that is not on the selected plane is
used in the command, then the alarm <<Involute interpolation command error>> is triggered.

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.

When using G02.2 When using G03.2


Y Y

Start End point End


point point 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.

When using G02.2 When using G03.2


Y Y
End point
Start Start
point point
End
point

3 Base circle Base circle


X X
When the start point and end point are equidistant from the center of the base circle, the alarm
<<Involute interpolation command error>> is triggered because it cannot decide on a direction for
the involute curve.

Base Circle Center Coordinate


I, J and K are used to issue a command for the center coordinate of the base circle. The command
value is always an increment from the start point regardless of G90/G91. The alarm <<Involute
interpolation command error>> is triggered in the following situations.
- When there is no I, J or K command
- When the command values for I, J and K are all zero (0)
- When a command was issued for an axis that is not inside the selected plane

Base Circle Radius


The radius of the base circle uses a positive value in the R address to issue a command. The alarm
<<Involute interpolation command error>> is triggered when the command value is less than zero
(0).

2023/11/23 3 - 56 eCOM4NCPR3
Chapter 3 Preparation Function

3.8.9.3 Margin of Error for End Point on Involute Curve


When there is no end point for a command on the involute curve that passes through the start
point, the following operations apply.

- 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

3.8.9.4 Involute Interpolation Command During Cutter


Compensation
An involute interpolation command can be issued during offset mode for cutter compensation
(G41/G42) and nose R compensation (G141/G142). The involute interpolation during cutter
compensation uses an imaginary circle for the start point and end point and carries out cutter
compensation for that imaginary circle. Then, this function interpolates on the involute
compensation curve relative to the results of the cutter compensation.

(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

Tool center path r

Command path for program

Cutter compensation Override value Actual feedrate


Inside workpiece R / (R + r) Command speed × Override value
Outside of workpiece R / (R - r)

(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.

<Involute interpolation override limit>


Actual feedrate = Command speed ×
100

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 Soft Limit


Tool operation range is set by software.
Tool operation range is specified by one of the three methods below.

1. Set strokes by machine parameters.


2. Set stroke limit by user parameters.
3. Set programmable stroke limit by G22 code

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

Y axis stroke Position


Z軸原点of Z axis
Y軸ストローク
origin
寸法位置 dimension

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).

3.9.2 Stroke Limit


The operation range for X-, Y- and Z-axes is set in the user parameter (switch 2: stroke) <Stroke
limit 1 (+/-)> (X/Y/Z-axes).

2023/11/23 3 - 60 eCOM4NCPR3
Chapter 3 Preparation Function

3.9.3 Programmable Stroke Limit (G22)


Tool operation range is commanded by program.

Command format G22 X_ Y_ Z_ I_ J_ K_;

X : Programmable stroke limit for X axis in + direction


Y : Programmable stroke limit for Y axis in + direction
Z : Programmable stroke limit for Z axis in + direction
I : Programmable stroke limit for X axis in - direction
J : Programmable stroke limit for Y axis in - direction
K : Programmable stroke limit for Z axis in - direction

These are commanded by coordinate values of the machine coordinate system.


Absolute values are used irrespective of G90 and G91. 3
(X, Y, Z)
+Z

Tool operation range


-X

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.10 Reference Position (G28 to G30)


3.10.1 Return to the Reference Point (G28)
Command format G28 X_ Y_ Z_ A_ B_ C_;

The axis returns to the reference point via an intermediate point.


X_Y_Z_A_B_C is a travel command to intermediate points, given in absolute (G90) or
incremental (G91) values.
Coordinates of the intermiciate point for the axis commaned in this block are momorized.
The axis goes to the intermediate point by rapid feed, and then moves to the reference point also
by rapid feed.

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

3.10.2 Return from the Reference Point (G29)


Command format G29 X_ Y_ Z_ A_ B_ C_;

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.

(NOTE 1) Travel to intermediate and reference point is a positioning operation. No


interpolation is performed.
(NOTE 2) Axes pass the intermediate point commanded by G28 or G30 whichever is the later.
(NOTE 3) The tool stops at the intermediate point in a single block operation.
(NOTE 4) For the axes which intermediate point is not memorized by G28 or G30, the current
position is used as the intermediate point. 3
(NOTE 5) An alarm occurs when an additional axis is commanded in the absence of the
optional additional axis.
(NOTE 6) 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 7) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.

3.10.3 Return to the 2nd to 6th Reference Point (G30)


Command format G30 P_ X_ Y_ Z_ A_ B_ C_;

P2 : Return to the 2nd reference point


P3 : Return to the 3rd reference point
P4 : Return to the 4th reference point
P5 : Return to the 5th reference point
P6 : Return to the 6th reference point

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

3.11 Skip Function (G31, G131/G132)


3.11.1 Before using the skip function
The user parameters (switch 1: programming) <Measurement setting 1 (2/3/4)> and <Measurement
setting 90> are used with the skip function, the multiple skip function and the continuous skip
function. The detector or detecting instrument that is enabled for each function is set in the user
parameter.

The user parameters that correspond to each function are as follows.

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>

3.11.2 Skip Function (G31, G131/G132)


Linear travel is carried out using the command feedrate until the end point of the current position
or until the measuring instrument detection signal (that is enabled) turns ON. The enabled
measuring instrument detection signal uses the set value in the user parameter (switch 1:
programming) <Measurement setting 1>.

Command format G31 X_ Y_ Z_ A_ B_ C_ F_;


G131 X_ Y_ Z_ A_ B_ C_ F_;
G132 X_ Y_ Z_ A_ B_ C_ F_;

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.

(NOTE 1) The alarm <<Compensating diameter>> is triggered when cutter compensation


mode is enabled.
(NOTE 2) The tool does not move during a dry run state.
(NOTE 3) The tool moves to the target position during a machine lock state.
(NOTE 4) When the measuring instrument detection signal is already ON, the motion is not
carried out.

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.

3.11.3 Multiple Skip Function (G31, G131/132)


Linear travel is carried out using the command feedrate until the end point of the current position
or until the measuring instrument detection signal (that is enabled) turns ON. The enabled
measuring instrument detection signal uses the set value in the user parameter (switch 1:
programming) <Measurement setting 1 (2/3/4)> that corresponds to the P address. 3
Command format G31 P_X_ Y_ Z_ A_ B_ C_ F_;
G131 P_X_ Y_ Z_ A_ B_ C_ F_;
G132 P_X_ Y_ Z_ A_ B_ C_ F_;

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.

(NOTE 1) The alarm <<Compensating diameter>> is triggered when cutter compensation


mode is enabled.
(NOTE 2) The axes do not travel during a dry run.
(NOTE 3) The axes travel up to the end point when the machine lock is engaged.
(NOTE 4) When the measuring instrument detection signal is already ON, the motion is not
carried out.
(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.

2023/11/23 3 - 65 eCOM4NCPR3
Chapter 3 Preparation Function

3.11.4 Continuous Skip Function (G31)


The tool moves linearly (linear interpolation) at the specified feedrate from the current position to
the target position. During this time, when the enabled measuring instrument detection signal is
turned on, the coordinate at that time is saved as a macro system variable (#5061 to #5068, and
#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.
The enabled measuring instrument detection signal uses the set value in the user parameter (switch
1: programming) <Measurement setting 90>.

Command format G31 P90 X_ F_;


G31 P90 Y_ F_;
G31 P90 Z_ F_;

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.

(NOTE 1) The alarm <<Compensating diameter>> is triggered when cutter compensation


mode is enabled.
(NOTE 2) The tool does not move during a dry run state.
(NOTE 3) While in the inverse time feed (G93) modal, the alarm <<Command not possible
during inverse time feed>> is triggered.

2023/11/23 3 - 66 eCOM4NCPR3
Chapter 3 Preparation Function

3.12 Scaling (G50/G51)


The programmed shape can be enlarged or reduced by the desired scaling factor. Scaling is
possible using the same ratio for all axes or a different ratio for each axis.

Scaling using the same ratio for all axes:

Command format G51 X_ Y_ Z_ P_;

X, Y, Z : Scaling center coordinate axes (workpiece coordinates)


P : Scaling factor

Y
P4 P3
3
Same factor scaling
P4’ P3’
P0: Scaling center
P1P2P3P4 → P1’P2’P3’P4’

P0

P1’ P2’

P1 P2
X

Scaling using a different ratio for each axis

Command format G51 X_ Y_ Z_ I_ J_ K_;

X, Y, Z : Scaling center coordinate axes (workpiece coordinates)


I, J, K : Scaling factors for X, Y, Z axes

Y axis

Individual scaling of axes


Machining
a/b: Scaling factor for X axis
program
c/d: Scaling factor for Y axis
shape
O: Scaling center
d

Shape after
c scaling
O
X axis

Scaling cancel:

Command format G50;

2023/11/23 3 - 67 eCOM4NCPR3
Chapter 3 Preparation Function

The following user parameters are used in scaling:


1. Scaling factor (same or individual scaling of axes) is specified by <Scaling>.
2. Set value of <Scaling Factor> is used when the scaling factor command (P or IJK) is omitted.
3. Scaling factor is set in the unit of 0.001 or 0.00001 according to the Unit of Scaling Factor.
The range of scaling factor command (P or IJK) or scaling factor parameters is ±1 to ±999999.
Accordingly, the valid scaling range is ±0.001 to ±999.999 or ±0.00001 to ±9.99999.

Precautions for use of scaling function:


(NOTE 1) Issue a scaling command independently on the G51 block. If another G/M code is
issued at the same time, the alarm <<Simultaneous specified code cannot be used.>>
is triggered.
(NOTE 2) When scaling center coordinates (XYZ) is omitted, tool position at G51 command is
used as the center coordinates.
(NOTE 3) Scaling ON (G51) and Scaling OFF (G50) do not entail axis motion.
3 (NOTE 4) Setting a different scaling ratio for each axis in circular interpolation mode does not
result in elliptical interpolation.
(NOTE 5) When a different scaling ratio is set for each axis and radius R of the arc is specified
in circular interpolation, the diameter will be related to the axis of the greater scaling
factor on the plane where the arc lies.
Ex) Arc using command “R”: The left and right command formats are equivalent.
G90 G00 X0.Y100.; G90 G00 X0.Y100.;
G51 X0.Y0.Z0.I2000J1000; =
G02 X100.Y0.R100.F500; G02 X200.Y0.R200.F500;
(NOTE 6) When a different scaling ratio is set for each axis and the center (I, J) of the arc is
specified in circular interpolation mode, the distance from the start point to the
center (I, J) is not subject to scaling.
Ex) Arc using commands “I” “J”: The left and right command formats are
equivalent.
G90 G00 X0.Y100.; G90 G00 X0.Y100.;
G51 X0.Y0.I2000J1000; =
G02 100.Y0.I0.J-100.F500; G02 X200.Y0.I0.J-100.F500;
(NOTE 7) When scaling is invalid
The scaling command does not affect the following items:
1. Cutter compensation during the scaling setting operation, tool length offset,
nose R compensation and tool offset for the tool position compensation
2. Additional axis
3. Travel amounts in manual intervention
4. The following motion in canned cycle:
• infeed amount “Q” and relief amount “d” of deep hole cycle (G83, G73,
G173, G183)
• XY-axes shift “Q” of fine balling (G76) and back balling (G87).
The alarm <<Scaling>> occurs when a canned cycle is executed with Z axis
specified for scaling.
(NOTE 8) Traveling axes when performing scaling or programmable mirror image:
Irrelevant axes may move during scaling and programmable mirror imaging
depending on which axes and/or coordinates are commanded. If this occurs,
operation may stop due to lock signal check of non-specified axes or Z axis may
move due to automatic triggering of dry run offset. An alarm can also occur due to
restriction of commandable axis.

2023/11/23 3 - 68 eCOM4NCPR3
Chapter 3 Preparation Function

(NOTE 9) Cases when an alarm will occur:


1. The alarm <<Scaling>> occurs when the following instructions are given during
scaling setting:
• Reference-related commands (G28 to G30) are specified
• When a coordinate change command (G10L2/20/98/99, G22 to G23, G52 to
G59, G92 and external workpiece coordinate system shift) is specified
• Single direction positioning (G60) is specified
• Auto workpiece measurement commands (G120 to G129) are specified
• When a tool change, XZ or YZ arc (G102/103, 202/203), spiral
interpolation, conical interpolation or involute interpolation (G02.2/G03.2)
command is carried out
• Corner C, R is specified
• Circle cutting (G12, 13) is specified
• A canned cycle is specified during setting of Z axis scaling
• When a thread cutting (G33, G392 and G376) command is issued
• When a feature coordinate setting command (G68.2) is issued
3
• TCP control (G43.4/G43.5)
2. If a scaling command is issued on an axis where the user parameter (switch 1:
programming) <X/Y/Z-axis scaling> is set to <0:Invalid>, then the alarm
<<Scaling address error>> is triggered.
3. The alarm <<Feed Rate Error>> occurs when a dry run is specified immediately
before activation of circular interpolation command where X-Y axes travel
amount becomes zero in the G17 modal mode due to scaling.
4. The alarm <<Feature coordinate manufacturing mode engaged>> is triggered
when a scaling command is issued while in feature coordinate manufacturing
mode (G68.2 modal in progress).
5. When scaling (G51) is specified in MDI operation, the alarm <<Specified G
code cannot be used>> is triggered. The scaling cancel command (G50) can be
issued in MDI operation, but when the command is issued during an MDI
intervention in memory operation, the alarm <<Specified G code cannot be
used>> is triggered.
6. When a scaling command is issued during TCP control (G43.4/G43.5), the
alarm <<TCP under control>> is triggered.
(NOTE 10) Scaling is cancelled when M02 or M30 is used or operation is reset.
(NOTE 11) Scaling is executed in the order of mirror, scaling, and coordinate rotation.
Therefore, specify them in the order to designate them in a program. To cancel
scaling, specify them in the reverse order. If the order is incorrect, the alarm
<<scaling>> or <<During coordinate rotation>> occurs.
(NOTE 12) When scaling while in the inverse time feed (G93) modal, the feedrate is calculated
based on the travel distance before scaling.

2023/11/23 3 - 69 eCOM4NCPR3
Chapter 3 Preparation Function

Program example of mirror image using scaling function:


When a negative number is specified for the scaling factor, programmable mirror image is applied.
When a negative value is specified for the scaling factor and there is only one scaling axis, CW
and CCW of circular travel will be reversed.

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

3.13 Programmable Mirror Image (G50.1/51.1)


Mirror image is applied to the program commands for the axes specified in the program.

Mirror image

Command format G51.1 X_ Y_ Z_;

Mirror image cancel

Command format G50.1 X_ Y_ Z_;

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.

An example of programmable mirror imaging

Axis of symmetry (X=50)


Y
(2)
100
(1)

60
50
Axis of symmetry
40 (Y=50)
(3) (4)

X
0 40 50 60 100

(1) Original program command


(2) Mirror axis is set for position X50.
(3) Mirror axis is set for position X50. Y50.
(4) Mirror axis is set for position Y50.

Precautions for use of programmable mirror image


(NOTE 1) When programmable mirror image is invalid:
1. The tool length offset and the tool position compensation do not apply to the
mirror setting compensation.
2. The spindle rotation direction does not change during mirror image setting.
3. The thread cutting direction does not change during mirror image setting.
4. Manual intervention allows the axis travel while ignoring the mirror image
setting. Note that, however, axis travel by manual intervention during mirror
imaging is applicable to mirror image-processed tool path.

2023/11/23 3 - 71 eCOM4NCPR3
Chapter 3 Preparation Function

(NOTE 2) Traveling axes when performing scaling or programmable mirror image:


Irrelevant axes may move during scaling and programmable mirror imaging
depending on which axes and/or coordinates are commanded. If this occurs,
operation may stop due to lock signal check of non-specified axes or Z axis may
move due to automatic triggering of dry run offset. An alarm can also occur due to
restriction of commandable axes depending on specifications.
(NOTE 3) Cases when an alarm will occur:
1. The alarm <<Mirror image mode>> occurs when the following instructions are
given during mirror setting:
• Reference-related commands (G28 to G30) are specified
• When a coordinate change command (G10L2/20/98/99, G22 to G23, G52 to
G59, G92 and external workpiece coordinate system shift) is specified
• Single direction positioning (G60) is specified
• Auto workpiece measurement (G120 to G129, etc.) is specified
3 • Skip function (G31, G131, G132) is specified.
• When a tool change, XY or YZ arc (G102/103, G202/203), circular cutting
spiral interpolation, conical interpolation, involute interpolation
(G02.2/G03.2), circular cutting or coordinate calculation command (G36 to
G39) is carried out
• A canned cycle is specified during setting of Z axis mirror imaging
• When a thread cutting (G33, G392 and G376) command is issued
• When a feature coordinate setting command (G68.2) is issued
• TCP control (G43.4/G43.5)
2. The alarm <<Scaling>> or Rotational Transformation Going On occurs when
mirror image commands (G50.1, G51.1) are specified during scaling or
coordinate rotation.
3. The alarm <<Feature coordinate manufacturing mode engaged>> is triggered
when a mirror command (G50.1, G51.1) is issued while in feature coordinate
manufacturing mode (G68.2 modal in progress).
4. When a mirror command (G51.1) is issued in MDI operation, the alarm
<<Specified G code cannot be used>> is triggered. The mirror cancel command
(G50.1) can be issued in MDI operation, but when the command is issued
during an MDI intervention in memory operation, the alarm <<Specified G code
cannot be used>> is triggered.
5. When a mirror command is issued during TCP control (G43.4/G43.5), the alarm
<<TCP under control>> is triggered.
(NOTE 4) Mirror image is cancelled when M02 or M30 is used or operation is reset.
(NOTE 5) Do not use a circular interpolation, an involute interpolation (G02.2/G03.2), or a
helical thread cutting interpolation (G02, G03) command for the first travel
command after a mirror image command. Positioning error will occur among start
point, end point, and center, resulting in distortion of the arc.

Transformation of Programmable Mirror Image:


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. The alarm <<Scaling>> or Rotational Transformation Going On
occurs if this order is not observed.
When mirror image is set for only one axis on the selected plane, change the following commands:
Circular interpolation : Rotation direction
Tool dia. Offset : Compensation direction
Nose R compensation : Compensation direction
Coordinate rotation function : Rotation direction
Circle cutting : Rotation direction
While the mirror image function is enabled, the stroke limit is checked using the coordinates after
the mirror image is created.
The axis does not travel while setting or canceling a mirror image.

2023/11/23 3 - 72 eCOM4NCPR3
Chapter 3 Preparation Function

3.14 Rotational Transformation Function


(G68/69, 168)
3.14.1 Coordinate Rotation (G68/69)
The shape specified in the program is rotated.

Coordinate rotation function

G17
Command format G18 G68 α_β_R_;
G19

Coordinate rotation function cancel

Command format G69;


3

α, β : Rotation center coordinates


Recognize coordinates consistently that commanded absolute value.
When omit it, position G69 to G68 is a center.
R : Rotation angle (based on CCW))
Selectable between -360.000 and 360.0000.
Command “R” cannot be omitted. When omitted, the alarm <<Command address
error>> is triggered.

Y
After rotation

Angle of rotation

Center of rotation Before rotation


X

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.

Precautions for using coordinate rotation:


(NOTE 1) When the center coordinates are omitted for rotational transformation, the
coordinates of the spindle’s current position are regarded as the rotation center
coordinates.
(NOTE 2) The rotation angle of the rotational transformation is not subject to scaling.
(NOTE 3) When the rotational transformation command is used while the mirror image and
scaling functions are valid, calculation is performed according to the following
sequence:
1. Change of rotational transformation center coordinates due to mirror image
function
2. Change of rotation angle direction for rotational transformation when there is
only one mirror axis
3. Rewrite of center coordinates of coordinate rotation by scaling

2023/11/23 3 - 73 eCOM4NCPR3
Chapter 3 Preparation Function

(NOTE 4) Cases when an alarm will occur


1. The alarm <<During Rotational Transformation>> occurs when the following is
performed during coordinate rotation:
• Reference point return-related commands (G28 to G30) are specified
• Local coordinate setting (G52) or workpiece coordinate system setting
(G92) is specified
• Auto workpiece measurement commands (G131, G132, G120 to G129) are
specified
• Plane selection commands (G17, G18, G19) are specified
• Compensation commands for linear axes (X, Y, Z axes) and rotation axes
(A, B, C axes) are specified simultaneously
• When a thread cutting (G33, G392 and G376) command is issued
• When a feature coordinate setting command (G68.2) is issued
• When a XZ circular interpolation (G102 and G103) command is issued
3 • When a YZ circular interpolation (G202 and G203) command is issued
• TCP control (G43.4/G43.5)
2. If the axis specified for the rotational transformation center and plane selection
do not match, the alarm <<Plane selection error>> is triggered.
3. The alarm <<Feature coordinate manufacturing mode engaged>> is triggered
when a rotational transformation command is issued while in feature coordinate
manufacturing mode (G68.2 modal in progress).
4. If a rotational transformation command (G68) is carried out during MDI
operation, the alarm <<Specified G code cannot be used>> is triggered. The
rotational transformation cancel command (G69) can be issued in MDI
operation, but when the command is issued during an MDI intervention in
memory operation, the alarm <<Specified G code cannot be used>> is triggered.
5. When a rotational transformation is carried out during TCP control
(G43.4/G43.5), the alarm <<TCP under control>> is triggered.
(NOTE 5) Rotational transformation is cancelled when M02/M03 is used or operation is reset.
(NOTE 6) Coordinates are calculated according to the following sequence: mirror, scaling, and
then rotational transformation. Set these in this order to write a program. To cancel
the previous setting, set these in reverse order. The alarm <<Scaling>> or Rotational
Transformation Going On occurs if this order is not observed.

2023/11/23 3 - 74 eCOM4NCPR3
Chapter 3 Preparation Function

3.14.2 Coordinate Rotation Using Measured Results


(G168)
Command format G168 X_ Y_ Q_;

X, Y : Rotation center coordinate value


Q : Selects the desired measured result by setting “1” to “4”.
When the selection is omitted, the setting is considered to be “1”.

Recognize coordinates consistently that commanded absolute value.


When this setting is omitted, the position in which the block has shifted from G69 to G168 (or
G68) is considered the center.

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.

The rotation <angle> of the rotational transformation is not subject to scaling.

Rotational transformation is cancelled when M02 or M30 is used or operation is reset.

When the center coordinates are omitted for rotational transformation, the coordinates of the
spindle’s current position are regarded as the rotation center coordinates.

Rotational transformation may be commanded during a rotational transformation.

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.15 Absolute Command and Incremental


Command (G90/91)
The axis movement amount can be specified by either the absolute command or the incremental
command.

1. Absolute command (G90)


G90 code specifies the end point of a block using coordinate values of the workpiece
coordinate system.

2. Incremental command (G91)


The axis movement amount can be specified by either the absolute command or the
incremental command.

3 • Absolute command
G90 X90 Y70;

• Incremental command
G91 X60 Y40;

End point
70

40

Start 60
point

X
( 0. 0) 30 90

3. Additional axis command


(1) Absolute command (Ex: 5th-axis)
• The machine rotates to the specified angle when the user parameter (switch 2: stroke)
<5th-axis stroke control> is set to <1:Yes>.
• The machine uses the shortest route to rotate to the specified angle when the user
parameter (switch 2: stroke) <5th-axis stroke control> is set to <0:No>.
When the turning angle is the same in either positive or negative direction (e.g.,
180°), the axis rotates toward positive.
• When the user parameter (switch 2: stroke) <5th-axis stroke control> is set to
<0:No>, the command value is rounded to less than 360° if the command angle is
greater than 360°.

2023/11/23 3 - 76 eCOM4NCPR3
Chapter 3 Preparation Function

When not using the 5th-axis stroke control:

When the machine parameter (system 2: additional axis) <Address> (5th-axis) is set to <1:B>:

B axis machine coordinates


270° 0° 90° 180° 270° 0° 90° 180° 270° 0° 90° 180°

B(-) B(+)

B axis absolute coordinates


180° 270° 0° 90° 180° 270° 0° 90° 180° 270° 0° 90°

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.

B axis machine origin

B axis machining origin (set to 90 deg in this example)

B axis current position (angle) before travel

(2) Incremental command (Ex: 5th-axis)


The machine rotates only to the specified angle regardless if the user parameter (switch 2:
stroke) <5th-axis stroke control> is set to <0:No> or to <1:Yes>.
However, when the user parameter (switch 2: stroke) <5th-axis stroke control> is set to
<1:Yes>, the alarm “stroke exceeded” or “limit exceeded” may trigger due to the
restrictions of the stroke or stroke limit.

2023/11/23 3 - 77 eCOM4NCPR3
Chapter 3 Preparation Function

3.16 Change of Tap Twisting Direction (G133/134)


G133 I_
Command format Z_ S_;
G134 J_

Commanding G133 and G134 rotates the spindle clockwise and counterclockwise, respectively.

Z : Z axis target position


As specified by G90/G91.
I : Thread pitch
J : Number of threads
3 S : Spindle speed

The Z axis is moved synchronously with the spindle.

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

3.17 G code Priority


1 Executed correctly
2 Error
3 The last G command is effective
4 One-shot is executed and the modal is updated
5 G00 group is only modal updated
6 G00 group is executed and canned cycle is cancelled
7 G100 is executed and canned cycle is cancelled
8 An error occurs when the XY plane (G17) is not selected
9 An error occurs during coordinate rotation (G68, G168 modal)
10 An error occurs when Z-axis is mirror mod
11 An error occurs when the coordinate system used is changed
12 An error occurs during tool diameter offset (G41, G42 modal)
13 An error occurs during tool diameter offset (G41, G42 modal) and the selected plane is
different 3
14 An error occurs other than during tool diameter offset (G41, G42 modal)
15 An error is triggered when switching between cutter compensation and nose R compensation,
except when the tool change command is issued on the same block.
16 An error is triggered when switching between cutter compensation and tool position
compensation, except when the tool change command is issued on the same block.
17 An error is triggered if the travel of X, Y or Z axis when tool length/tool position offset is
changed is set to “1: Type2”.
18 An error is triggered during tool position compensation (G143 and G144 modal).
19 Error when not using feed rate per rotation (G95)
20 Error when a G100 simultaneous command is not possible (due to priority position of G100)

(NOTE 1) G10L52/G11 are noted in the one shot field.


(NOTE 2) Refer to “14.2.2.2 Cancel command (G49)” for further details on the commands that
result in an error when issued on the same block as the TCP control cancel
command G49.

2023/11/23 3 - 79 eCOM4NCPR3
Chapter 3 Preparation Function

■ When a command is given to the same block (modal - modal)


G102 G41
G321
Back G0 G2 G2.2 G103 G33 G18 G42 G43 G143 G43. G43. G54.1 G73 G94 G98
G17 G22 G23 G40 G49 G50 G51 G50.1 G51.1 G54 G54.2 G61 G66 G67 G68 G168 G69 G68.2 G80 G90 G93 G96 G97 G322
Front G1 G3 G3.2 G202 G392 G19 G141 G44 G144 4 5 P G83 G95 G99
G323
G203 G142
G0, G1 3 3 3 3 3 1 1 5 1 1 1 1 1 1 1 1 2 2 5 5 1 1 1 1 2 2 5 5 1 5 5 1 1 1 1 1 1 1 1
G2, G3 3 3 3 3 3 1 1 5 1 12 14 2 2 2 2 2 2 2 5 5 1 1 1 1 2 2 5 5 1 5 5 1 1 1 1 1 1 1 1
G2.2, G3.2 3 3 3 3 3 1 1 5 1 12 14 2 2 2 2 2 2 2 5 2 1 1 1 1 2 2 2 2 1 2 5 1 1 2 1 1 1 1 1
G102, G103
3 3 3 3 3 1 2 5 1 12 2 2 2 2 2 2 2 2 5 2 1 1 1 1 2 2 2 2 1 2 5 1 1 1 1 1 1 1 1
G202, G203
G33, G392 3 3 3 3 3 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 1 2 19 1 1 1 1
G17 1 1 1 1 1 3 3 2 1 13 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 9 9 1 1 1 1 1 1 1 1 1 1 1
G18, G19 1 1 1 2 1 3 3 2 1 13 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 9 2 1 2 2 1 1 1 1 1 1 1 1
G22 5 5 5 5 2 2 2 3 3 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1
G23 1 1 1 1 1 1 1 3 3 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1
G40 1 12 12 12 2 13 13 2 2 3 3 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1
G41, G42
1 14 14 2 2 2 2 2 2 3 3 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1
G141,G142
G43, G44 1 2 2 2 2 1 1 2 2 1 1 3 3 3 3 3 2 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1
G143, G144 1 2 2 2 2 1 1 2 2 1 1 3 3 3 3 3 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1
G49 1 2 2 2 2 1 1 2 2 1 1 3 3 3 3 3 2 2 2 2 1 1 1 1 2 2 2 2 1 2 18 1 1 1 1 1 1 1 1
G43.4 1 2 2 2 2 1 1 2 1 2 2 3 3 3 3 3 3 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1/2 2 2 1 2
G43.5 1 2 2 2 2 1 1 2 1 2 2 3 3 3 3 3 3 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1/2 2 2 1 2
G50 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G51 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G50.1 5 5 5 5 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1
G51.1 5 5 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1
G54 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3 3 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1
G54.1P 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 2 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1
G54.2P 1 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 1 2 2 2 2 1 2 2 1 1 1 1 2 1 1 1
G61 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1
G66 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G67 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2
G68 5 5 2 2 2 9 9 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 3 3 3 2 2 1 1 1 1 1 1 1 1
G168 5 5 2 2 2 9 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 3 3 3 2 2 1 1 1 1 1 1 1 1
G69 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 3 3 3 3 1 1 1 1 1 1 1 1 1
G68.2 5 5 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 3 3 2 1 1 1 1 2 1 1 2
G73, G83 6 6 6 6 2 1 2 2 2 2 2 1 2 18 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 3 3 1 2 1 2 2 1 1
G80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 1 1 1 1 3 3 1 1 1 1 1 1 1
G90 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 3 1 1 1 1 1 1
G94, G95 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 3 3 2 1 1 1
G93 1 1 1 1 19 1 1 1 1 1 1 1 1 1 1/2 1/2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 3 3 1 1 1 1
G96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 3 3 1 1
G97 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 3 3 1 1
G98, G99 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 3 1
G321,
1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 3
G322, G323

2023/11/23 3 - 80 eCOM4NCPR3
Chapter 3 Preparation Function

■ When a command is given to the same block (modal - one-shot)


Back G10
G4 G9 G10 G11 G12 G28 G30 G31 G36 G52 G53 G53.1 G60 G65 G92 G100 G120 G121 G131 G133 G173 G210 G376
Front L52
G0, G1 4 1 4 2 2 4 4 4 4 4 4 1 20 4 2 4 4 4 4 4 4 5 2 5
G2, G3 4 1 4 2 2 4 4 4 4 2 4 1 2 4 2 4 4 4 2 4 4 5 2 5
G2.2, G3.2 4 1 4 2 2 2 4 4 4 2 4 1 2 4 2 4 4 4 2 4 4 5 2 5
G102, G103,
4 1 4 2 2 4 4 4 4 2 4 1 2 4 2 4 4 4 2 4 4 5 2 5
G202, G203
G33, G392 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G17 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 1 2 1
G18, G19 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1
G22 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G23 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G40 2 1 2 2 2 2 2 2 2 2 2 1 20 2 2 2 1 2 2 2 2 2 2 2
G41, G42
2 1 2 2 2 2 2 2 2 2 2 1 20 2 2 2 8 2 2 2 2 2 2 2
G141,G142
G43, G44 2 1 2 2 2 2 1 1 1 1 2 17 20 1 2 2 1 1 1 1 2 1 2 2
G143, G144 2 1 2 2 2 2 1 1 1 2 2 17 20 1 2 2 1 1 2 1 2 2 2 2
G49 2 1 2 2 2 2 1 1 1 1 2 1 20 1 2 2 1 1 18 1 2 18 2 2
G43.4 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2
G43.5 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2
G50 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G51 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G50.1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G51.1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G54 1 1 1 2 2 1 1 1 1 2 1 4 2 1 2 1 1 1 1 1 1 1 2 1
G54.1P 2 1 2 2 2 1 2 2 2 2 1 4 2 1 2 1 1 1 1 1 1 2 2 2
G54.2P 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2
G61 1 1 1 2 2 1 1 1 1 1 1 1 20 1 2 1 1 1 1 1 1 1 2 1
G66 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G67 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G68 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G168 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G69 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1
G68.2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G73 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 3 2 2
G80 1 1 1 2 2 1 4 4 4 4 4 1 20 4 2 4 4 4 4 4 4 3 2 1
G90 1 1 1 2 2 1 1 1 1 1 1 1 20 1 2 1 1 1 1 1 1 1 2 1
G93 1 1 1 2 2 2 1 1 2 2 1 1 20 1 2 1 1 1 2 2 2 2 2 2
G94,G95 1 1 1 2 2 1 1 1 1 1 1 1 20 1 1 2 2 1 1 1 1 1 1 19
G96 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 1 2 2 2 2 2 2
G97 1 1 2 2 2 2 1 1 1 2 1 1 20 1 2 2 1 1 2 1 2 2 2 2
G98, G99 1 1 1 2 2 1 1 1 1 1 1 1 20 1 2 1 1 1 1 1 1 1 2 1
G321, G322, G323 1 1 1 2 2 1 1 1 1 1 1 1 20 1 2 1 1 1 1 1 1 1 2 1

2023/11/23 3 - 81 eCOM4NCPR3
Chapter 3 Preparation Function

■ When a command is given to the same block (one-shot - modal)


Back G102 G41
G321
G0 G2 G2.2 G103 G33 G18 G42 G43 G143 G43. G43. G94 G98
G17 G22 G23 G40 G49 G50 G51 G50.1 G51.1 G54 G54.1 G54.2 G61 G66 G67 G68 G168 G69 G68.2 G73 G80 G90 G93 G96 G97 G322
G1 G3 G3.2 G202 G392 G19 G141 G44 G144 4 5 G95 G99
G323
Front G203 G142
G4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 1 1 1
G9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1
G10 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 1
G10L5
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2
G11 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G12 4 4 2 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 2 2 1 1
G28 4 4 4 4 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 4 1 1 1 1 1 1 1
G30 4 4 4 4 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 4 1 1 1 2 1 1 1
G31 4 4 4 4 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 4 1 2 1 2 1 1 1
G36 4 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 4 1 2 1 2 2 1 1
G52 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 4 1 1 1 1 1 1 1
G53 1 1 1 1 1 1 1 1 1 1 1 17 17 1 2 2 2 2 2 2 4 4 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1
G53.1 20 2 2 2 2 2 2 2 2 20 2 20 20 20 2 2 2 2 2 2 20 2 2 20 2 2 2 2 2 2 2 20 20 20 20 2 20 20 20
G60 4 4 4 4 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 4 1 1 1 1 1 1 1
G65 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G92 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 4 1 1 1 2 2 1 1
G100 4 4 4 4 2 2 2 2 2 1 8 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 4 1 1 1 1 1 1 1
G120 4 4 4 4 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 4 1 1 1 1 1 1 1
G121 4 2 2 2 2 1 2 2 2 2 2 1 2 18 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 4 1 2 1 2 2 1 1
G131 4 4 4 4 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 4 1 2 1 2 1 1 1
G133 4 4 4 4 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 4 1 2 1 2 2 1 1
G173 6 6 6 6 2 1 2 2 2 2 2 1 2 18 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 3 3 1 2 1 2 2 1 1
G210 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G376 6 6 6 6 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 19 2 2 1 1

2023/11/23 3 - 82 eCOM4NCPR3
Chapter 3 Preparation Function

■ When a command is given to the same block (one-shot - one-shot)


G10
G4 G9 G10 G11 G12 G28 G30 G31 G36 G52 G53 G53.1 G60 G65 G92 G100 G120 G121 G131 G133 G173 G210 G376
L52
G4 3 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G9 1 3 1 2 2 1 1 1 1 1 1 1 20 1 2 1 1 1 1 1 1 1 2 1
G10 2 1 3 3 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G10L52 2 2 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G11 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G12 2 1 2 2 2 3 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G28 2 1 2 2 2 2 3 3 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G30 2 1 2 2 2 2 3 3 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2
G31 2 1 2 2 2 2 2 2 3 2 2 1 2 2 2 2 2 2 2 3 2 2 2 2
G36 2 1 2 2 2 2 2 2 2 3 2 1 2 1 2 2 2 2 2 2 2 2 2 2
G52 2 1 2 2 2 2 2 2 2 2 3 1 2 2 2 2 2 2 2 2 2 2 2 2
G53 1 1 1 2 2 1 1 1 1 1 1 3 2 1 2 1 1 1 1 1 1 1 2 1
G53.1 2 20 2 2 2 2 2 2 2 2 2 2 3 2 2 2 1 2 2 2 2 2 2 2
G60 2 1 2 2 2 2 2 2 2 1 2 1 2 3 2 2 2 2 2 2 2 1 2 2
G65 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
G92 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 3 2 2 2 2 2 2 2 2
G100 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 3 2 2 2 2 2 2 2
G120 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 3 2 2 2 2 2 2
G121 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 3 2 2 2 2 2
G131 2 1 2 2 2 2 2 2 3 2 2 1 2 2 2 2 2 2 2 3 2 2 2 2
G133 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 3 2 2 2
G173 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 3 2 2
G210 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2
G376 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 3

2023/11/23 3 - 83 eCOM4NCPR3
Chapter 3 Preparation Function

■ When a command is given during modal call


Modal G102 G68. G68.
G103 G41
2 2 G321
G0 G2 G2.2 G202 G33 G18 G42 G43 G143 G43. G43. G50. G51. G54. G54. G54. G68 G73 G74 G94 G98
G17 G22 G23 G40 G49 G50 G51 G54 G61 G66 G67 G69 Befor After G80 G90 G93 G96 G97 G322
G1 G3 G3.2 G203 G392 G19 G141 G44 G144 4 5 1 1 1 2P0 2P1 G168 G83 G84 G95 G99
e G53. G323
G142
Command G53 1
G0
3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 6 1 1 1 1 1 1 1 1
G1
G2
3 3 3 3 3 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 6 6 1 1 1 1 1 1 1 1
G3
G2.2
3 3 3 3 3 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 6 6 1 1 2 1 1 1 1 1
G3.2
G102
G103
3 3 3 3 3 1 2 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 6 6 1 1 1 1 1 1 1 1
G202
G203
G33
3 3 3 3 3 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 6 6 1 1 2 19 1 1 1 1
G392
G17 1 1 1 1 1 3 3 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1
G18
1 1 1 1 1 3 3 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 1 1 1 1
G19
G22 1 1 1 1 1 1 1 3 3 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G23 1 1 1 1 1 1 1 3 3 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G40 1 1 1 1 2 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G41
G42
1 1 1 1 2 1 1 1 1 3 15 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1
G141
G142
G43
1 20 20 20 2 1 1 1 1 1 1 16 16 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G44
G143
1 20 20 20 2 1 1 1 1 1 1 16 16 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1
G144
G49 1 1 1 1 2 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G43.4 1 2 2 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 1 1 1
G43.5 1 2 2 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 1 1 1
G50 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 3 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G51 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 3 3 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G50.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 3 3 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G51.1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 3 3 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G54 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 3 3 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1
G54.1P 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 3 3 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1
G54.2P0 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 3 3 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1
G54.2P1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 3 3 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G61 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G66 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G67 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G68 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 3 3 2 2 1 1 1 1 1 1 1 1 1 1
G168 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 3 3 2 2 1 1 1 1 1 1 1 1 1 1
G69 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1
G68.2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1

2023/11/23 3 - 84 eCOM4NCPR3
Chapter 3 Preparation Function

Modal G102 G68. G68.


G103 G41
2 2 G321
G0 G2 G2.2 G202 G33 G18 G42 G43 G143 G43. G43. G50. G51. G54. G54. G54. G68 G73 G74 G94 G98
G17 G22 G23 G40 G49 G50 G51 G54 G61 G66 G67 G69 Befor After G80 G90 G93 G96 G97 G322
G1 G3 G3.2 G203 G392 G19 G141 G44 G144 4 5 1 1 1 2P0 2P1 G168 G83 G84 G95 G99
e G53. G323
G142
Command G53 1
G73
1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 1 1 1 10 1 1 1 1 1 1 1 1 1 2 1 3 3 3 1 2 1 1 1 1 1
G83
G74
1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 1 1 1 10 1 1 1 1 1 1 1 1 1 2 1 3 3 3 1 2 1 2 1 1 1
G84
G80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 1 1 1
G90 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1
G93 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 1 1 1
G94
1 1 1 1 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1
G95
G96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 3 3 1 1
G97 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1
G98 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1
G321,
G322, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
G323
G4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G10L52 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1
G28 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1
G30 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1
G31 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1
G36 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1
G52 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G53 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G53.1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
G60 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G65 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G92 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 7 7 1 1 1 1 1 1 1 1
G120 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1
G121 1 2 1 2 2 1 2 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1
G131 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1
G133 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 1 1 1 10 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1
G173 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1
G210 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G376 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 19 1 1 1 1

2023/11/23 3 - 85 eCOM4NCPR3
Chapter 3 Preparation Function

3.18 Programmable Data Input (Temporary


Change) (G210)
3.18.1 High Accuracy Mode A Parameter Changes
Command format G210 L31 Pn I_ J_ K_ W_ Q_ X_ R_ B_;

n=1 : High accuracy mode A (Level 1) (M260)


n=2 : High accuracy mode A (Level 2) (M261)
n=3 : High accuracy mode A (Level 3) (M262)
n=4 : High accuracy mode A (Level 4) (M263)
n=5 : High accuracy mode A (Level 5) (M264)
3 n=6
n=7
:
:
High accuracy mode A (Level 6) (M265)
High accuracy mode A (Level 7) (M266)
n=8 : High accuracy mode A (Level 8) (M267)

I : Corner deceleration override (%)


J : Arc deceleration override (%)
K : Curve approximation deceleration override (%)
W : Smooth path offset level
Q : Smooth override (%)
X : Cutting feed time constant selection
R : Minute block deletion distance (mm) (inch)
B : Accuracy level (mm) (inch)

(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

3.18.2 High Accuracy Mode B Parameter Changes


Command format G210 L32 Pn I_ J_ K_ W_ Q_ R_ Y_;

n=1 : High accuracy mode B (Level 1) (M280)


n=2 : High accuracy mode B (Level 2) (M281)
n=3 : High accuracy mode B (Level 3) (M282)
n=4 : High accuracy mode B (Level 4) (M283)
n=5 : High accuracy mode B (Level 5) (M284)
n=6 : High accuracy mode B (Level 6) (M285)
n=7 : High accuracy mode B (Level 7) (M286)
n=8 : High accuracy mode B (Level 8) (M287)

I : Corner deceleration override (%) 3


J : Arc deceleration override (%)
K : Curve approximation deceleration override (%)
W : Smooth path offset level
Q : Smooth override (%)
R : Minute block deletion distance (mm) (inch)
Y : Smooth override type

(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

3.18.3 Temporary Parameter Change with TCP Control


Command format G210 L35 Pn I_ U_ V_ Z_ B_ C_ Q_ E_;

n=1 : TCP control (M280)


n=2 : TCP control (M281)
n=3 : TCP control (M282)
n=4 : TCP control (M283)
n=5 : TCP control (M284)
n=6 : TCP control (M285)
n=7 : TCP control (M286)
n=8 : TCP control (M287)

3 I : Corner deceleration override (X-, Y- and Z-axes) (%)


U : Corner deceleration override (tilt axis) (%)
V : Corner deceleration override (rotation axis) (%)
Z : Acceleration override (X-, Y- and Z-axes) (%)
B : Acceleration override (tilt axis) (%)
C : Acceleration override (rotation axis) (%)
Q : Smooth override (all common axes) (%)
E : Maximum rotation speed override (%)

(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.

3.18.4 Parameter Change for Spindle Related Functions


Command format G210 L101 I_;

I : Spindle orientation speed (min-1)

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

3.19 Thread Cutting


The thread cutting function is available when equipped with the lathe function.
A thread cutting command can be issued when using the feed rate per rotation (G95) modal. If
issuing a command using the feed rate per minute (G94) modal, the alarm <<Thread cutting
command not possible in feed rate per minute>> is triggered. In addition, if a command is issued
while in the inverse time feed (G93) modal, the alarm <<Command not possible during inverse
time feed>> is triggered.

(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.

3.19.1 Single Start Lead Thread Cutting (G33) 3


Cutting the lead for the thread on a single start screw and taper screw is possible.

Lead Lead

Lead Lead

Straight screw Taper screw

Command format When cutting a straight screw


X_
G33 Y_ F_ Q_
Z_

When cutting a taper screw


X_Y_
G33 X_Z_ F_ Q_
Y_Z_

X, Y, Z : Screw end point (mm) (inch)


F : Screw lead (mm) (inch)
The command range depends on the user parameter (switch 1) <Machine unit
system>.
Metric: 0.0001 to 999.9999 (mm)
Inch: 0.00001 to 99.99999 (inch)
Q : Start angle for thread cutting (0.000° to 360.000°)
If this is omitted, the default is 0 degrees.
The lathe spindle machine zero point is the start angle for thread cutting: 0
degrees.

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.

Z-axis Start point

Taper screw section


a

End point
3 Y-axis

When a < 45º → The lead is direction of the Z-axis.


When a > 45º → The lead is direction of the Y-axis.
When a = 45º → The lead can either be the direction of the Y- or Z-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

3.19.2 Thread Cutting Cycle (G392)


The thread cutting cycle is a canned cycle that performs thread cutting for straight and taper
screws.

3.19.2.1 Thread Cutting Cycle for Straight Screws


Command format X_ Y_
G392 X_ Z_ F_ Q_
Y_ Z_

X, Y, Z : Screw end point (mm) (inch)


F : Screw lead (mm) (inch)
Q : Start angle for thread cutting (0.000° to 360.000°)
If this is omitted, the default is 0 degrees. 3
The lathe spindle machine zero point is the start angle for thread cutting: 0
degrees.

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

The thread cutting cycle for straight screws performs 4 operations.


(1) It travels using rapid feed from start point A to start point B for thread cutting.
The travel direction is set by the command axis address and lathe machining infeed direction.
Refer to “3.20 Lathe machining infeed direction” for further details.
(2) It travels using the cutting feed from start point B for thread cutting until the end point for
thread cutting. While the M323 modal is in progress, it starts the finishing operation on the
screw according to the value set in the user parameter (switch 1) <Finishing amount in thread
cutting cycle>, the amount from point S to point C. The finishing angle is the value that is set
in the user parameter (switch 1) <Finishing angle in thread cutting cycle>.
The speed for the infeed direction during finishing is calculated as shown below. When the
speed of the infeed direction exceeds the machine parameter (system 1) <Max. cutting
feedrate>, the speed of the infeed is controlled or limited by the maximum cutting feedrate.
However, the finishing angle is the same angle as specified in the parameter.
V = F × S × tan(a)
V: Infeed direction speed (mm/min)
F: Screw lead (mm)
S: Spindle speed (min-1)
a: User parameter (switch 1) <Cutting angle in thread cutting cycle>
(3) It travels using rapid feed from point C (M323 modal in progress at point T) until point D.
(4) It travels using rapid feed from point D until start point A.

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

3.19.2.2 Thread Cutting Cycle for Taper Screws


Command format X_ Y_
G392 X_ Z_ R_ F_ Q_
Y_ Z_

X, Y, Z : Screw end point (mm) (inch)


R : Taper amount (mm) (inch)
F : Screw lead (mm) (inch)
Q : Start angle for thread cutting (0.000° to 360.000°)
If this is omitted, the default is 0 degrees.
The lathe spindle machine zero point is the start angle for thread cutting: 0
degrees.
3
Z-axis A
B (1)

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 thread cutting cycle for taper screws performs 4 operations.


(1) It travels using rapid feed from start point A to start point B for thread cutting.
The travel direction is set by the command axis address and lathe machining infeed direction.
Refer to “3.20 Lathe machining infeed direction” for further details.
(2) It travels using the cutting feed from start point B for thread cutting until the end point of the
thread. At this time, thread cutting is performed where the lead for the cutting direction (Z-
axis in the figure above) is the command value issued at F. The finishing is the same as the
thread cutting cycle for straight screws. However, the finishing angle is the angle for the
cutting direction (See figure above).
When the travel distance for the cutting direction is 0, the alarm <<Thread cutting command
error>> is triggered before starting operation (1).
When the distance between C and D is greater than the distance between T and D, the alarm
<<Cutting angle error in thread cutting cycle>> is triggered, and it stops before starting
operation (1).
Operations (3) to (4) are the same as the thread cutting cycle for straight screws.

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)

- (2) (4) (2) (4)

(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

3.19.3 Thread Cutting in Complex Thread Cutting Cycle


(G376)
The complex thread cutting cycle is a cycle that performs thread cutting slowly in steps, breaking
up the threads into multiple cuts.

Command format X_ Y_
G376 X_ Z_ R_ P_ Q_ F_ D_ E_ I_ J_ K_ L_
Y_ Z_

X, Y, Z : Screw end point (mm) (inch)


R : Taper amount (mm) (inch)
P : Height of screw thread (mm) (inch)
Specifies the distance from the end point of the infeed direction for the screw, 3
regardless of the absolute mode (G90) and incremental mode (G91).
When there is an omission, the alarm <<Thread cutting command address
error>> is triggered.
Q : Initial infeed amount (mm) (inch)
Specifies the distance from the height of the screw thread, regardless of the
absolute mode (G90) and incremental mode (G91).
When there is an omission, the alarm <<Thread cutting command address
error>> is triggered.
F : Screw lead (mm) (inch)
D : Angle of screw thread (0.000° to 120.000°)
E : Finishing amount (0.0 to 99.9)
The finishing amount is the product when the thread lead F (mm) (inch) is
multiplied by the command value.
I : Finishing count (1 to 99.9)
J : Minimum infeed amount (mm) (inch)
The sign is ignored even when a negative value command is issued.
K : Finishing allowance (mm) (inch)
Specifies the distance from the end point of the infeed direction for the screw,
regardless of the absolute mode (G90) and incremental mode (G91). In addition,
the sign is ignored even when a negative value command is issued.
L : Start angle for thread cutting (0.000° to 360.000°)
If this is omitted, the default is 0 degrees.
The lathe spindle machine zero point is the start angle for thread cutting: 0
degrees.
A user parameter with the same definition exists for D, E, I, J and K.
When a command is omitted, the operation is carried out according to the value set in the user
parameter.
D: User parameter (switch 1) <Thread angle in complex thread cutting cycle>
E: User parameter (switch 1) <Cutting amount in thread cutting cycle>
I: User parameter (switch 1) <Cutting count in complex thread cutting cycle>
J: User parameter (switch 1) <Minimum infeed amount in complex thread cutting cycle>
K: User parameter (switch 1) <Finishing allowance in complex thread cutting cycle>

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:

Qn = n × Q Q: Initial infeed amount (mm)(inch)

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

3.19.3.2 Detailed Description of Operation


In a complex thread cutting cycle, the rough cutting operation all the way to the finishing
operation are carried out all at once as follows.

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.19.4 Thread Runout


A thread runout for the lead can be made on the cutting start and cutting end sections because the
motor accelerates and decelerates when the thread cutting starts and ends. This is called a thread
runout.
For example, when thread cutting from point A to point B as shown in the diagram below, it
accelerates at point A (cutting start) and decelerates at point B (cutting end) in order to make a
thread runout for length L.
To make a thread runout Lc, the thread cutting length for (2L + Lc) is required. Be aware of this
when making a program.

3 L
Cutting start L

Lc

Complete thread Lc
L

Cutting end L

Calculating the thread runout


The thread runout is calculated using the following formula.

L = K × ( N / 60 ) × P

L : Thread runout (mm)


K : Constant
N : Spindle speed (min-1)
P : Lead (mm)

Model K
M200Xd1 0.047

2023/11/23 3 - 100 eCOM4NCPR3


Chapter 3 Preparation Function

3.19.5 Program Example


This is an example of a program when thread cutting on a machine model equipped with the lathe
function.

3.19.5.1 Machining and Thread Cutting Straight Screws


Screw type Right screw
Screw diameter 50 mm
Lead 2 mm
Spindle speed 1000 min-1

Thread runout 0.047 × (1000 / 60) × 2 = 1.566 (mm)


Thread runout L is set to a size that is greater than the calculation above. The diagram below
shows an example when the thread runout is 2 mm.
3
Z-axis
(4)
Z=45.0
(1) (3)
(2)
Z=25.0

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.

2023/11/23 3 - 101 eCOM4NCPR3


Chapter 3 Preparation Function

3.19.5.2 Machining and Thread Cutting Taper Screws


Screw type Right screw
Screw diameter 60 mm
Lead 2 mm
Spindle speed 500 min-1

Thread runout 0.047 × (500 / 60) × 2 = 0.783(mm)


Thread runout L is set to a size that is greater than the calculation above. The diagram below
shows an example when the thread runout is 1 mm.

60mm
(1) Z-axis
3 Z=80.0
L

50mm (2) (4)

Z=28.0 L
(3)

Y-axis

Y=-150.0 Y=-135.0 Y=-120.0

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.

2023/11/23 3 - 102 eCOM4NCPR3


Chapter 3 Preparation Function

3.20 Lathe Machining Infeed Direction


It specifies the infeed direction during lathe machining.

Infeed direction on X-axis

Command format G321

Infeed direction on Y-axis

Command format G322

Infeed direction on Z-axis


3
Command format G323

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>.

2023/11/23 3 - 103 eCOM4NCPR3


Chapter 3 Preparation Function

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

2023/11/23 3 - 104 eCOM4NCPR3


Chapter 4 Preparation Function (Compensation Function)

CHAPTER 4

PREPARATION FUNCTION 4
(COMPENSATION FUNCTION)

4.1 Cutter Compensation (G40, G41 and G42)


4.2 Tool Length Offset (G43, G44 and G49)
4.3 Nose R Compensation (G141 and G142 - Option)
4.4 Tool Position Compensation
(G143, G144 and G49 - Option)

2023/11/21 4- 1 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1 Cutter Compensation (G40, G41 and G42)


4.1.1 Cutter Compensation Function
The shape of the workpiece is programmed ahead of time and then the cutter compensation
function is used when actually machining the workpiece. This function takes into account the
radius of the tool used and creates a tool center path that is offset according to the shape of the
workpiece.

Command format G41 Dn;


G42

G code and D code used for cutter compensation


G40: Cutter compensation cancels (This mode is used when the power is turned ON.)
G41: Left side compensation (Offsets to left side for direction of tool travel)
G42: Right side compensation (Offsets to right side for direction of tool travel)

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

Tool G41 G42 Tool

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)

4.1.1.1 Cutter Wear Offset


When G41 or G42 command is issued in the program, the cutter wear offset is added to the cutter
compensation on the tool number for the command. The cutter wear offset can be set on the tool
list screen.

Cutter offset = Cutter compensation + Cutter wear offset

(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.

4.1.2 Cancel Mode


This mode refers to when the cutter compensation is disabled such as when the power is turned
ON or when the [RST] key is pressed.
Normally, the tool path that is programmed matches the center path of the actual tool.

<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)

2. Explanation of symbols in diagram


: Program path
: Tool center path
: Auxiliary line
L : Straight line
C : Arc
D : Cutter compensation
θ : Angle on workpiece side
T : Arc tangent line
CP : Intersection
S : Single block stop point

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.

1. G41 or G42 command is issued.


2. G0 or G1 travel command is issued, and the travel amount ≠ 0.
4
(NOTE 1) The alarm <<Cutter compensation error>> is triggered when an arc command or an
involute interpolation is issued.
(NOTE 2) Execute one of the following travel commands (G0, G1, G2, G3, G02.2 or G03.2)
first before issuing a G41 or G42 command.
(NOTE 3) There are two setting types for the startup and cancel operations: <0: Type 1
(shortcut)> and <1: Type 2 (detour)>. Use the user parameter (switch 1:
compensation function) <Start up/cancel> to set one of the types.

4.1.3.1 Inner Side Cutting (180° ≤ θ)


Straight line to straight line

D
G42
S L
L

Straight line to arc

θ
T

D
G42

S C
L

2023/11/21 4- 4 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1.3.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°)


1. Type 1: Straight line to straight line

S L

L D

θ
G41

Type 1: Straight line to arc

S
C 4
D

L θ

G41

2. Type 2: Straight line to straight line

S
CP L
L
D
D
L
θ
G41

Type 2: Straight line to arc

S
L CP
L
D
L
G41 C
θ
T
T

2023/11/21 4- 5 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1.3.3 Outer Side (Acute Angle Cutting) (θ < 90°)


1. Type 1: Straight line to straight line

G41

L D

L S

Type 1: Straight line to arc

G41
4
θ

L D

S
C

2. Type 2: Straight line to straight line

L
D
L D
L
G41 θ D D
S

Type 2: Straight line to arc

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)

4.1.4 Offset Mode


The travel commands in offset mode include: positioning, linear interpolation, circular
interpolation, helical interpolation and involute interpolation.

4.1.4.1 Inner Side Cutting (180° ≤ θ)


Straight line to straight line

D
S

CP L
G42 D

4
Arc to straight line

CP
D D
S

G42 C L

Straight line to arc

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.

Straight line to straight line

S L
α
D
L Offset vector
D
G41
L

Straight line to arc

L L

D L
α
T
G41
D

(NOTE 2) When turning on the inner side of an angle that is almost parallel (180° ≤ θ < 181°).

Straight line to straight line

θ
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)

4.1.4.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°)


Straight line to straight line

CP L
S
D

L D θ

G41

Straight line to arc


T

4
T
θ
G42
D
D
CP L
L S

Arc to straight line

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°).

Straight line to straight line

L S
L
D

G41
θ

The processing is the same for: arc → straight line, straight line → arc and arc → arc.

4 4.1.4.3 Outer Side (Acute Angle Cutting) (θ < 90°)


Straight line to straight line
L
L
S
D
D D L
D

L
θ

G41

Arc to straight line

G42
T
θ
C
L
D D

L D D

L S

2023/11/21 4 - 10 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

Straight line to arc

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

4.1.4.4 Exceptional Cases


When the intersection is not determined on the inner side cutting.

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)

4.1.5 Offset Cancel


Cancel mode is enabled for the control when a command that meets all the conditions below is
executed for offset mode. Offset cancel refers to the travel operation in this situation.

1. G40 command is issued.

Command format G40;

2. A travel command is issued excluding circular interpolation, helical interpolation, involute


interpolation and thread cutting commands.

(NOTE 1) When a circular interpolation, helical interpolation, involute interpolation or thread


cutting command is issued, an alarm is triggered.
(NOTE 2) There are two setting types for the startup and cancel operations: <0: Type 1
(shortcut)> and <1: Type 2 (detour)>. Use the user parameter (switch 1:
compensation function) <Start up/cancel> to set one of the types.

4 4.1.5.1 Inner Side Cutting (180° ≤ θ)


Straight line to straight line

θ
G42

G40

L L

Arc to straight line

T
G40
D

S L

G42 C

2023/11/21 4 - 12 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1.5.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°)


1. Type 1: Straight line to straight line

L S

D
L
G41
θ G40

Type 1: Arc to straight line

G41
C
S 4
D
L

θ
G40

2. Type 2: Straight line to straight line

S
L CP
L L
D
D

G41
θ L

G40

Type 2: Arc to straight line

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)

4.1.5.3 Outer Side (Acute Angle Cutting) (θ < 90°)


1. Type 1: Straight line to straight line

L S
D
G41
L θ

G40

Type 1: Arc to straight line

C S

4 D
G41

G40

2. Type 2: Straight line to straight line

D
G41 L

G40 D
S
L L

Type 2: Arc to straight line


L
L S
D
D L
C D
D

G41
L

G40

2023/11/21 4 - 14 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1.6 G40 Individual Command


When G40 is issued as an individual command, the machine travels to a position for the cutter
compensation that is offset perpendicularly from the command value for the previous block.

Straight line to straight line

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)

4.1.7 Compensation Direction Change in Offset Mode


The compensation direction can be changed even while offset mode is enabled, by issuing a G41
or G42 command, or reversing the positive/negative sign for the compensation.
However, when compensation is set to 0, the compensation is processed as a positive amount.
Note, the block following the startup block cannot be changed.
In addition, the compensation direction also cannot be changed even when changed using the
mirror (single axis specification) or D address value, etc.

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)

4.1.8 Offset Direction Change in Offset Mode


4.1.8.1 When There is an Intersection
Straight line to straight line

G42

D
L G41 S

D L

Straight line to arc

L S 4
D

G41

G42
D
C

Arc to straight line


G42

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)

4.1.8.2 When There is No Intersection


Straight line to straight line

L S
L
G41 G42 G42
G41
G41
L D
S L
L S

Straight line to arc

G42
4
S
C
G42 D
L
L
D

S
T

Arc to straight line


G42

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

4.1.8.3 When an Arc Laps Around in a Circle


If the direction of the compensation is changed and the arc laps around in a circle, a short arc is
executed as shown below. In this situation, use commands to divide the arc up.

D
G42

L D L
D C

G41 G41

2023/11/21 4 - 19 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1.8.4 Arc angle check when offset direction changes


When a G42 command is issued for a G41 modal (same for G41 command for a G42 modal) and
the offset direction changes on the next block for an arc command (due to a change in cutter
compensation during operation), this function stops operation before the arc operation if the arc
angle for the program path is significantly different from the offset arc angle for the tool center
path.

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)

4.1.9 G Code Command for Cutter Compensation in


Offset Mode
Straight line to straight line

G42
G42

L
L S

Straight line to arc

G42
4
G42

C
D

L S

Arc to straight line

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)

4.1.10 Special Notes for Cutter Compensation


1. Tool diameter offset commands
The offset amount is specified in the number for the D command. The command is issued for
the same block when issuing a G41 or G42 command, but if that command is omitted, then the
number is used for the D command that is issued previously.

2. Tool diameter offset change


When the offset is changed while in offset mode, the new offset applies after the end point of
that block.

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)

3. Current position display


The current position display shows the tool center position.

4. When cutting the inner side of an arc with a radius that is smaller than the tool radius.

Alarm and stoppage triggered

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

Breakdown of travel in the above diagram:

P0-P1-P2 Travel in a straight line

P2-P3 Travel in a straight line

Thereafter, it travels in a circular arc with P3 as the target position.

In this situation, if extremely small travel operations are processed, the travel from P2 to P3 is
ignored.

P0-P1-P2 Travel in a straight line

P2-P3 Travel in an arc (extremely small)

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)

7. Blocks without travel operations


While in cutter compensation mode, if a command is issued for which the 2 axes on the
selected planes do not travel for more than 3 blocks, the infeed will be too much or too little,
as shown in the diagram below. Therefore, please avoid issuing those types of commands.

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)

8. Tool movement when the offset for cutter compensation is 0


(1) Startup
The offset mode is enabled when the G41 and G42 commands are issued while in cancel
mode, but the startup operation is not performed because offset = 0.

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 G41 X_Y_D1; (D1=0)


N2 X_;
N3 Y_D2; (D2≠0)
N4 X_Y_;

N2
D2
N3
N1
4 G41
N4

(2) Offset mode enabled


Cancel mode is not enabled even if changed to an offset number where the offset amount
= 0 while in offset mode.
The operation is the same as described in section 2. “Tool diameter offset change”.

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)

(2) Command that forces the cutter compensation to cancel


M06 : Tool change
G100 : Nonstop ATC

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.

(3) Command that triggers the alarm <<Compensating diameter>>


G17~G19 : Plane selection
G28 : Reference position return
G29 : Return from reference position
G30 : No. 2 to 6 reference position return
G33, G376, G392 : Thread cutting
G36~G39 : Coordinate calculation
G60 : Single direction positioning
G66 : Macro program modal call
G68.2 : Feature coordinate setting
G73~G89, G173~G189, 4
G277~G278 : Canned cycle
G120 : Positioning to measurement position
G121~G129 : Automatic measurement
G31, G131, G132 : Skip feed
G133, G134 : Change tap twist direction
M410, M411 : Pallet index
G2, G3 : Arc with 0 start point or 0 end point radius
G102, G103 : XZ circular interpolation
G202, G203 : YZ circular interpolation

10. Input command from MDI operation


The alarm <<Specified G code cannot be used>> is triggered when cutter compensation (G41
or G42) is input in MDI operation mode. The cutter compensation cancel command (G40) can
be issued in MDI operation, but when the command is issued during an MDI intervention in
memory operation, the alarm <<Specified G code cannot be used>> is triggered.

11. Manual operation intervention


The correct offset path is enabled on block 2 when the tool is moved using manual operation
while in offset mode and memory operation is started again.
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.

P2 P3

P1 P4

P2'

12. Command after cancelling cutter compensation


If a G17 to G19 (plane selection) command is issued when the G40 command is issued
individually and there is a remaining offset amount, the alarm <<Cutter compensation error>>
is triggered. When a travel command is issued for the same block as G40 or after the G40
command, issue a command after cancelling the offset amount.

2023/11/21 4 - 27 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1.11 Override Function Related to Cutter Compensation


4.1.11.1 Automatic Corner Override
When both the block before and after the corner of the inner side meet the following conditions
while in offset mode, the override function is automatically enabled in order to reduce the load on
the tool.

1. G01, G02 or G03 travel operation.


2. Offset ≠ 0 when offset mode is enabled.
3. The corner’s inner side angle is less than the user parameter (switch 1: compensation function)
<Automatic corner override (angle)>.
4. The block does not include the following commands: G41, G42 and G40.
5. The compensation direction does not change.

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

The override applies to the section from point a to point b.

Deceleration ratio
Actual feedrate = Command speed ×
100

2023/11/21 4 - 28 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.1.11.2 Inner Arc Override


When performing arc cutting that is offset on the inner side during offset mode, the actual feedrate
Rc
is the product of for the feedrate command that is issued.
Rp
Rc
Actual feedrate = Command speed ×
Rp
Rp: Program radius
Rc: Tool center path radius

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

Inner arc override limit


Actual feedrate = Command speed ×
100

(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)

4.1.12 Arc Angle Check During Inner Side Cutting


During inner side cutting, if the arc angle in the program path for the arc command and the arc
angle in tool center path after being offset are significantly different, this function stops the
operation before the arc motion.

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)

4.1.13 Interference Check for Cutter Compensation /


Nose R Compensation
When a tool cuts into the workpiece too much, that is called interference. The function that detects
that interference beforehand and prevents it from cutting into too much is called the interference
check.
This function cannot always detect the interference, and it also may detect interference when the
tool has not actually cut in too much.

4.1.13.1 Interference detection method


This detection method uses two types of check: a direction check and an arc angle check.
The user parameter (switch 1) <Cutter compensation interference check> is used to set which
method is used for the detection.

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.

Example when interference is detected

S
G41 S

D L

S
L D

There is a difference of 180°

2023/11/21 4 - 31 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

Example when interference is detected but there is actually no interference


(Tool does not cut in too much even when it follows the offset path)
Difference is between
90° and 270°

G41

Example when interference is not detected but there is actually interference


(Interference is not detected in the middle of the offset path)

Difference is not
between 90° and 270°

Cuts in too much

2023/11/21 4 - 32 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

2. Arc angle check

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

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

4.1.13.2 Operation when interference is detected


When interference is detected, the alarm <<Cutter compensation interference check error>> is
triggered and machine operation is stopped.

4.1.13.3 Restrictions and special notes


(1) When the user parameter (switch 1) <Number of blocks to check cutter compensation
interference> is set to a value that is larger than the machine parameter (system 1) <Maximum
blocks to check cutter compensation interference>, the alarm <<User param. setting error
(switch 1)>> is triggered.
(2) Interference is not detected when it falls outside of the range set in the user parameter (switch
1) <Number of blocks to check cutter compensation interference>.
(3) The interference check range covers from where the cutter compensation offset mode is
enabled until where that mode is cancelled. When the cutter compensation is temporarily
cancelled, the interference check range ends. The interference check range starts again when
the check is restored.
(4) Detection is not possible when the tool cuts in too much in the middle of the travel path,
because the interference check uses the offset vectors that form at the end point of the block.
(5) When there are multiple travel commands that form from 1 block in the NC program, each
command is counted as 1 block in the interference check range.
(6) Cutting in too much can be prevented for all the commands that fall in the range set by the
number of blocks in the user parameter (switch 1) <Number of blocks to check cutter
compensation interference>.

2023/11/21 4 - 33 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.2 Tool Length Offset (G43, G44 and G49)


4.2.1 Tool Length Offset Function
This function offsets the tool position so that the end of the tool moves into the position that is
programmed. Even in an absolute command or an incremental command, the coordinates that are
offset only for the offset amount specified in H code become the actual end point for the
coordinates of the Z-axis travel command end point that is programmed.

1. Tool length offset (+)

Command format G43 Hn;

Hn : Tool number (n = 0 to 99, 201 to 299), or group number (n = 901 to 930)

(NOTE) The amount that is offset for H0 is always 0.


The offset can be set on the tool list setting screen.
The tool length offset is performed for Z-axis.

4 2. Tool length offset (-)

Command format G44 Hn;

Hn : Tool number (n = 0 to 99, 201 to 299), or group number (n = 901 to 930)

3. Tool length offset cancel

Command format G49;

(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)

4.2.2 Tool Length Wear Offset


When a G43 or G44 command is issued in the program, the tool length wear offset is added to the
tool length on the tool number for the command.

Tool length offset = Tool length offset + Tool length compensation

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.

4.2.3 Z-axis Travel with Tool Length Offset Command


1. Z-axis travel with tool length offset command
When there is a Z-axis travel command for the command block G43 / G44 / G49, such as G43
H_Z_, G44 H_Z_ and G49Z_, the Z-axis in that block travels to the canceled (G49) position
that takes into account the compensation (G43/G44) specified in H code.
When there is no Z-axis travel command for G43 / G44 / G49 / H0 command block, such as
G43H_, G44H_ or tool length offset G49 and H0, the operation follows the user parameter
4
noted below.
User parameter (switch 1:
compensation function) <X/Y/Z-
0: Type 1 1: Type 2
axis travel at tool length/tool pos.
offset change>
User parameter (switch 1:
compensation function) <Error
0: Check 1: No check -
check when traveling during tool
length/tool position offset cancel>
G43/G44 command block without Compensation specified in H code and Z- Axis does not travel
Z-axis command axis travel (Travels to offset
Ex.1) G43H1; position specified in H
Ex.2) G43; code for the next Z-
Ex.3) H1; (Tool length offset axis travel command)
enabled)
G49/H0 command block without When the current Current tool length Axis does not travel
Z-axis command (Tool length compensation is offset and Z-axis (Travels to position
offset enabled) another value other travel where the current tool
Ex.1) G49; than 0, the alarm (NOTE 2) length offset is
Ex.2) H0; <<Tool length offset cancelled for the next
cancel error>> is Z-axis travel
triggered (NOTE 2, 3 command)
and 4).

Z-axis motion example


(Workpiece coordinate zero → X: -200.000, Y: -200.000, Z: 50.000, H1 offset: 120.000)
User parameter (switch 1:
compensation function) <X/Y/Z-
0: Type 1 1: Type 2
axis travel at tool length/tool pos.
offset change>
User parameter (switch 1:
compensation function) <Error
0: Check 1: No check -
check when traveling during tool
length/tool position offset cancel>
Machine coordinate Machine coordinate Machine coordinate
G90G0Z100.; 150.000 150.000 150.000
G43H1; 270.000 270.000 150.000
G0Z80.; 250.000 250.000 250.000
G49; The alarm <<Tool
length offset cancel 130.000 250.000
error>> is triggered.

2023/11/21 4 - 35 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

(NOTE 1) When a circular interpolation command, an involute interpolation command or a


thread cutting command is issued during travel, an alarm is triggered.
(NOTE 2) When the tool length offset is temporarily canceled as per G28 or G53, cancel travel
for the compensation does not occur even for a G49/H0 command block without a
Z-axis command. As a result, the alarm <<Tool length offset cancel error>> is not
triggered even when the parameter <Travel of X, Y or Z axis when tool length/tool
position offset is changed> is set to <0: Type 1> and the parameter <<Error check
when traveling during tool length/tool position offset cancel>> is set to <0: No
check>.
G90
G43 H1 Z100.
G91 G28 Z0
G49 ← No Z-axis travel
(NOTE 3) An alarm is not triggered during scaling, mirror imaging and rotational
transformation because the axis travel command is on the same block as G49 and H0
and an axis other than the axis that was specified may operate.
(NOTE 4) When the parameter <X-, Y- and Z-axes travel during current rotary fixture offset
change> is set to <Type 2>, the alarm is not triggered if the Z-axis operates
4 following a change in the workpiece coordinates.
(NOTE 5) When the parameter <Travel of X, Y or Z axis when tool length/tool position offset
is changed> is set to <1: Type 2> and the G43 or G44 command is issued on the
same block as G53, an alarm is triggered.
(NOTE 6) When <Travel of X, Y or Z axis when tool length/tool position offset is changed> is
set to <0: Type 1> and the X-, Y- and Z-axes travel in another modal besides G0, the
alarm <<Feedrate not specified>> is triggered if there is no F command during G93
(inverse time feed).

2. Tool length offset resumed


The tool length offset can be temporarily canceled due to one of the following Z-axis
commands: reference position return (G28/G30), machine coordinate selection (G53),
positioning to the measurement position (G120) or external indexing on the pallet
(M410/M411). The compensation or offset is resumed during the next Z-axis travel command,
H command or G43/G44 command.

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)

4.3 Nose R Compensation (G141 and G142 -


Option)
* Available when equipped with a lathe 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).

Machining shape without nose


R compensation

Tool teeth
4

Insufficient infeed

Tool teeth path after tool position


compensation

Tool teeth

Machining shape with nose R compensation


(Travels with nose R touching workpiece)

2023/11/21 4 - 37 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.1 Command Format

Command format G141 Dn;


G142

G code and D code used for nose R compensation


• G40 : Nose R compensation cancels (This mode is used when the power is turned ON.)
• G141 : Left side compensation (Offsets to left side for direction of tool travel)
• G142 : Right side compensation (Offsets to right side for direction of tool travel)

Dn : Tool number (n = 0 to 99, 201 to 299), or group number (n = 901 to 930)


The nose R compensation for D0 is always 0.
The nose R compensation can be set on the tool list screen, or by inputting
(G10) the tool data.

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

G142 Workpiece G141

+X

+Z

G19 modal

G142 Workpiece G141

+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

G141 Workpiece G142

+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).

4.3.1.1 Nose R Wear Offset


When a G141 or G142 command is issued in the program, the nose R wear offset is added to the
nose R compensation on the tool number for the command. The nose R wear offset can be set on
the tool list screen.

Nose R offset = Nose R compensation + Nose R wear offset

(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)

4.3.2 Virtual Teeth


The virtual teeth are the tool teeth after the tool position compensation operation. Set the virtual
teeth direction (0 to 9) on the tool list screen when looking at it from the nose R center, in order to
compensate for the nose R part.

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

4.3.3 Cancel Mode


This mode refers to when the nose R compensation is disabled such as when the power is turned
ON or when the [RST] key is pressed.
Normally, the tool path that is programmed matches the path of the virtual teeth.

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.

a) G141 or G142 command is issued.


b) G0 or G1 travel command is issued, and the travel amount ≠ 0.

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.

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

θ
G142
Workpiece side
4
Block 2
180° ≤ θ
Inner side

G141

θ
Block 1
Workpiece side

0° ≤ θ < 180° Block 2


Outer side

θ T
G142
D C
D CP
L

2. Explanation of symbols in diagram

: 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)

4.3.4.1 Inner Side Cutting (180° ≤ θ)


Straight line to straight line

D
G142
S L
L

Straight line to arc

θ
T 4
D
G142

S C
L

2023/11/21 4 - 43 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.4.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°)


1. Type 1: Straight line to straight line

S L

L D

G141 θ

Type 1: Straight line to arc

S
4 C
D

L θ

G141

2. Type 2: Straight line to straight line

S
L
L CP
D D
L
θ
G141

Type 2: Straight line to arc

S
L CP
L
D
L
G141 C
θ
T
T

2023/11/21 4 - 44 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.4.3 Outer Side (Acute Angle Cutting) (θ < 90°)


1. Type 1: Straight line to straight line

G141

L D

L S

Type 1: Straight line to arc

G141
4
θ

L D

S
C

2. Type 2: Straight line to straight line

L
D
L D
L
G141 θ DD
S

Type 2: Straight line to arc

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)

4.3.5 Offset Mode


The travel commands in offset mode include: positioning, linear interpolation, circular
interpolation and helical interpolation.

4.3.5.1 Inner Side Cutting (180° ≤ θ)


Straight line to straight line

D
S

D CP L
G142
L

4
Arc to straight line

CP
D D
S

G142 C L

Straight line to arc

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.

Straight line to straight line

S L
α
D
L Offset vector

D
G141
L

Straight line to arc

L L

D L
α
T
G141
D

(NOTE 2) When turning on the inner side of an angle that is almost parallel (180° ≤ θ < 181°).

Straight line to straight line

θ
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)

4.3.5.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°)


Straight line to straight line

CP L
S
D

L D θ

G141

Straight line to arc


T

4 T
θ
G142
D
D
CP L
L S

Arc to straight line

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°).

Straight line to straight line

L S
L
D

G141
θ

The processing is the same for: arc → straight line, straight line → arc and arc → arc.

4.3.5.3 Outer Side (Acute Angle Cutting) (θ < 90°) 4


Straight line to straight line

L
L
S
D
D D L
D

L
θ

G141

Arc to straight line

G142
T
θ
C
L
D D

L D D

S
L

2023/11/21 4 - 49 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

Straight line to arc

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

4.3.5.4 Exceptional Cases


When the intersection is not determined on the inner side cutting.

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)

4.3.6 Offset Cancel


Cancel mode is enabled for the control when a command that meets all the conditions below is
executed for offset mode. Offset cancel refers to the travel operation in this situation.

a) G40 command is issued.

Command format G40;

b) A travel command is issued excluding circular interpolation, helical interpolation, involute


interpolation and thread cutting commands.

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)

(NOTE 1) When a circular interpolation, helical interpolation, involute interpolation or thread


cutting command is issued, an error is triggered.
(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.

4.3.6.1 Inner Side Cutting (180° ≤ θ)


Straight line to straight line

θ
G142

G40

L L

Arc to straight line


θ

T
G40
D

S L

G142 C

2023/11/21 4 - 51 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.6.2 Outer Side (Obtuse Angle Cutting) (90° ≤ θ < 180°)


1. Type 1: Straight line to straight line

L S

D
L
G141
θ G40

Type 1: Arc to straight line

G141
C
4 S

D
L

θ
G40

2. Type 2: Straight line to straight line

S
L CP
L L
D
D

G141
θ L

G40

Type 2: Arc to straight line

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)

4.3.6.3 Outer Side (Acute Angle Cutting) (θ < 90°)


1. Type 1: Straight line to straight line

L S
D
G141
L θ

G40

Type 1: Arc to straight line

C S
D 4
G141

G40

2. Type 2: Straight line to straight line

D
G141 L

G40 D
S
L L

Type 2: Arc to straight line


L
L S
D
D L
C D
D

G141
L

G40

2023/11/21 4 - 53 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.7 G40 Individual Command


When G40 is issued as an individual command, the nose R center comes to a position that is
perpendicular to the command value for the previous block.

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)

4.3.8 Compensation Direction Change in Offset Mode


The compensation direction can be changed even while offset mode is enabled, by issuing a G141
or G142 command, or reversing the positive/negative sign for the compensation.
Note, the block following the startup block cannot be changed.
In addition, the compensation direction also cannot be changed even when changed using the
mirror (single axis specification) or D address value, etc.

Compensation sign
+ -
G code

G141 Left side offset Right side offset

G142 Right side offset Left side offset

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.

4.3.9 Offset Direction Change in Offset Mode


4.3.9.1 When There is an Intersection
Straight line to straight line

G142

D
L G141 S

D L

Straight line to arc

L S

G141

G142
D
C

2023/11/21 4 - 55 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

Arc to straight line

G142

C
D

L
S

G141

Arc to arc
4
G142
C S

D D
G141 C

4.3.9.2 When There is No Intersection


Straight line to straight line

L S
L
G141 G142 G142
G141
G141
L D
S L
L S

Straight line to arc

G142

S
C
G142 D
L
L G141
D

S
T

2023/11/21 4 - 56 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

Arc to straight line

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)

4.3.10 G Code Command for Nose R Compensation in


Offset Mode
Straight line to straight line

G142
G142

L
L S

Straight line to arc

4 G142

G142

C
D

L S

Arc to straight line

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)

4.3.11 Special Notes for Nose R Compensation


1. Nose R compensation command
The nose R compensation command is specified by the number in the D command. The
command is issued for the same block as the G141 or G142 command, but if that command is
omitted, then the number for the D command that is issued previously is used.

2. Nose R compensation change


When the nose R compensation is changed while in offset mode, that compensation change
applies from the compensation for the end point of that block.

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)

3. Current position display


The current position display shows the virtual teeth position.

4. When cutting the inner side of an arc with a radius that is smaller than the nose R radius.

Alarm and stoppage triggered

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)

7. Blocks without travel operations


While in offset mode, if a command is issued for which the 2 axes on the selected planes do
not travel for more than 3 blocks, the infeed will be too much or too little, as shown in the
diagram below. Therefore, please avoid issuing those types of commands.

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)

8. Tool movement when the nose R compensation is 0


(1) Startup
The offset mode is enabled when the G141 and G142 commands are issued while in
cancel mode, but the startup operation is not performed because offset = 0.

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.

N1 G141 Y_Z_D1; (D1=0)


N2 Y_;
N3 Z_D2; (D2≠0)
N4 Y_Z_;

N2
D2
N3
4 N1
G141
N4

(2) Offset mode enabled


Cancel mode is not enabled even if changed to a D number where the nose R
compensation = 0 while in offset mode.
The operation is the same as described in section “2. Nose R compensation change”.

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)

(2) Command that forces the nose R compensation to cancel


M06 : Tool change
G100 : Nonstop ATC

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.

(3) Command that triggers the alarm <<Compensating diameter>>


G17~G19 : Plane selection
G28 : Reference position return
G29 : Return from reference position
G30 : No. 2 to 6 reference position return
G33,G376,G392 : Thread cutting
G36~G39 : Coordinate calculation
G60 : Single direction positioning
G66 : Macro program modal call
G68.2 : Feature coordinate setting
G73~G89, G173~G189, 4
G277~G278 : Canned cycle
G120 : Positioning to measurement position
G121~G129 : Automatic measurement
G31, G131,G132 : Skip feed
G133, G134 : Change tap twist direction
M410, M411 : Pallet index
G2, G3 : Arc with 0 start point or 0 end point radius
G102, G103 : XZ circular interpolation
G202, G203 : YZ circular interpolation
G43.4, G43.5 : TCP control

10. Input command from MDI operation


The alarm <<Specified G code cannot be used>> is triggered when nose R compensation
(G141 or G142) is input in MDI operation mode. The nose R compensation cancel command
(G40) can be issued in MDI operation, but when the command is issued during an MDI
intervention in memory operation, the alarm <<Specified G code cannot be used>> is
triggered.

11. Manual operation intervention


The correct offset path is enabled on block 2 when the tool is moved using manual operation
while in offset mode and memory operation is started again.

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.

12. Command after cancelling nose R compensation


If a G17 to G19 (plane selection) command is issued when the G40 command is issued
individually and there is a remaining offset amount, the alarm <<Cutter compensation error>>
is triggered. When a travel command is issued for the same block as G40 or after the G40
command, issue a command after cancelling the offset amount.

2023/11/21 4 - 63 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.12 Override Function Related to Nose R Compensation


4.3.12.1 Automatic Corner Override
When both the block before and after the corner of the inner side meet the following conditions
while in offset mode, the override function is automatically enabled in order to reduce the load on
the tool.

1. G01, G02 or G03 travel operation.


2. Offset ≠ 0 when offset mode is enabled.
3. The corner’s inner side angle is less than the user parameter <Automatic corner override
(angle)>.
4. The block does not include the following commands: G141, G142 and G40.
5. The compensation direction does not change.

The following items are configured in the user parameter 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
(3) Automatic corner override (ratio) : Deceleration ratio (%) Y
4 (4) Automatic corner override (angle) : Corner inner side determining angle θ

Ls

Le b
a

The override applies to the section from point a to point b

Deceleration ratio
Actual feedrate = Command speed ×
100

2023/11/21 4 - 64 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.12.2 Inner Arc Override


When performing arc cutting that is offset on the inner side during offset mode, the actual feedrate
Rc
is the product of for the feedrate command that is issued.
Rp

Rc
Actual feedrate = Command speed ×
Rp

Rp: Program radius


Rc: Tool center path radius

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

Inner arc override limit


Actual feedrate = Command speed ×
100

2023/11/21 4 - 65 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)

4.3.13 Arc Angle Check During Inner Side Cutting


During inner side cutting, if the arc angle in the program path for the arc command and the arc
angle in tool center path after being offset are significantly different, this function stops the
operation before the arc motion.

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)

4.4 Tool Position Compensation


(G143, G144 and G49 - Option)
4.4.1 Tool Position Compensation Function
* Available when equipped with a lathe 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.

The compensation can be set on the tool list setting screen.


X-axis compensation: Tool position offset (X) + Tool position wear offset (X)
Y-axis compensation: Tool position offset (Y) + Tool position wear offset (Y)
Z-axis compensation: Tool length offset (Z) + Tool length wear offset (Z)

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 (+)

Command format G143 Hn;

Hn : Tool number (n = 0 to 99, 201 to 299), or group number (n = 901 to 930)

2. Tool position compensation (-)

Command format G144 Hn;

Hn : Tool number (n = 0 to 99, 201 to 299), or group number (n = 901 to 930)

3. Tool position compensation cancel

Command format G49;

(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.

4.4.2 Axis Travel with Tool Position Compensation


1. X-, Y- and Z-axis travel for tool position compensation command
When there are X-, Y- and Z-axes travel commands for the command block G143 / G144 /
G49, such as G143 H_X_Y_Z_, G144 H_X_Y_Z_ and G49 X_Y_Z_, the X-, Y-, and Z- axes
in that block travel to the position that takes into account the compensation specified in H
code.
When there are no X-, Y- and Z-axis travel commands for G143 / G144 / G49 / H0 command
blocks, such as G143H_, G144H_ or tool position compensation G49 and H0, the operation
follows the user parameter noted below.
User parameter (switch 1:
compensation function) <X/Y/Z-axis
0: Type 1 1: Type 2
travel at tool length/tool pos. offset
change>
4 User parameter (switch 1:
compensation function) <Error
0: Check 1: No check -
check when traveling during tool
length/tool position offset cancel>
G143/G144 command block without Compensation specified in H code and X-, Y- and Axis does not travel
X-, Y- and Z-axes command Z-axes travel (Travels to compensated
Ex.1) G143H1; position specified in H
Ex:2) G143; code for the next X-, Y-
Ex.3) H1; (Tool position and Z-axes travel
compensation enabled) command)
G49/H0 command block without X-, When the current Current tool position Axis does not travel
Y- and Z-axes command (Tool compensation for X-, Y- compensation and (Travels to position
position compensation enabled) and Z-axes is another value X-, Y- and Z-axes where the current tool
Ex.1) G49; other than 0, the alarm travel position compensation is
Ex.2) H0; <<Tool position offset (NOTE 2) cancelled for the next X-,
cancel error>> is triggered. Y- and Z-axis travel
(NOTE 2, 3 and 4) command)

X-, Y- and Z-axes motion example


(Workpiece coordinate zero → X: -100.000, Y: -200.000, Z: 50.000, H1 offset → X: 5.000, Y:
0.000 and Z: 120.000)
<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> : <0: Yes>
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; The alarm <<Tool position offset cancel error>> 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>.

(NOTE 1) When a circular interpolation command, an involute interpolation command or a


thread cutting command is issued during travel, an alarm is triggered.
(NOTE 2) When the tool position compensation is temporarily canceled as per G28 or G53,
cancel travel for the compensation does not occur even for a G49/H0 command
block without a X-, Y- or Z-axis command. As a result, the alarm <<Tool position
offset cancel error>> is not triggered even when the parameter <Travel of X, Y or Z
axis when tool length/tool position offset is changed> is set to <0: Type 1> and the
parameter <<Error check when traveling during tool length/tool position offset
cancel>> is set to <0: No>.
G90
G143 H1 X0. Y0. Z100.
G91 G28 X0 Y0 Z0
G49 ←No X-, Y- and Z-axes travel
(NOTE 3) An alarm is not triggered during scaling, mirror imaging and rotational
transformation because the axis travel command is on the same block as G49 and H0
and an axis other than the axis that was specified may operate. 4
(NOTE 4) When the parameter <X-, Y- and Z-axes travel during current rotary fixture offset
change> is set to <Type 2>, the alarm is not triggered if the X-, Y- and Z-axes
operate following a change in the workpiece coordinates.
(NOTE 5) When the parameter <Travel of X, Y or Z axis when tool length/tool position offset
is changed> is set to <1: Type 2> and the G143 or G144 command is issued on the
same block as G53, an alarm is triggered.

2. Tool position compensation resumed


The tool position compensation can be temporarily canceled due to one of the following X-,
Y- and Z-axes commands: reference position return (G28/G30), machine coordinate selection
(G53), positioning to the measurement position (G120) or external indexing on the pallet
(M410/M411). The compensation or offset is resumed during the next X-, Y- or Z-axis travel
command, H command or G143/G144 command.

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)

(This page was intentionally left blank.)

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.

5.2 List of Canned Cycle function


Functions of canned cycle
Operations at Spindle rotation
G code Application Boring Retract
hole position at return point
G73 High speed peck Intermittent Dwell Rapid
drilling feed traverse
G74 Reverse tapping Cutting feed Dwell→Spind Cutting feed Stop
le CW
G76 Fine balling Cutting feed Dwell→ Rapid normal
Orientation traverse rotation
G77 Tapping Intermittent Spindle CCW Cutting feed Stop
(Synchro mode) feed
G78 Reverse tapping Intermittent Spindle CW Cutting feed Stop
(Synchro mode) feed
G80 Cancel - - - -
G81 Drilling Cutting feed Dwell Rapid
5 G82 Drilling Cutting feed Dwell
traverse
Rapid
traverse
G83 Peck drilling Intermittent Dwell Rapid
feed traverse
G84 Tapping Cutting feed Dwell→Spind Cutting feed Stop
le CCW
G85 Boring Cutting feed Dwell Cutting feed
G86 Boring Cutting feed Dwell→Spind Rapid normal
le stop traverse rotation
G87 Back balling Cutting feed Dwell→ Rapid normal
Orientation traverse rotation
G89 Boring Cutting feed Dwell Cutting feed
G177 End milling/tapping Cutting feed Spindle CCW Cutting feed Stop
G178 End milling/tapping Cutting feed Spindle CW Cutting feed Stop
G181 Double drilling Cutting feed Dwell Rapid
traverse
G182 Double drilling Cutting feed Dwell Rapid
traverse
G185 Double boring Cutting feed Dwell Cutting feed
Rapid
traverse
G186 Double boring Cutting feed Dwell→Spind Rapid normal
le stop traverse rotation
G189 Double boring Cutting feed Dwell Cutting feed
Rapid
traverse
G277 Deep hole tapping Intermittent Spindle CCW Cutting feed Stop
cycle (synchro mode) feed
G278 Deep hole reverse Intermittent Spindle CW Cutting feed Stop
tapping cycle feed
(synchro mode)

2023/11/21 5- 2 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.3 Basic Operation of Canned Cycle


A canned cycle generally consists of six motions:

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)

1. Temporary stop is available for motions 1, 2, and 6.


2. Temporary stop is not available for motions 3 to 5. When temporary stop-involving operations
are performed (pressing the [FEED HOLD] switch, selecting the manual mode, etc.), the
control stops at the end of motion 5. This also applies when you press the [RST] key in
motion 3, 4, or 5.

(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)

5.4 General Rules of Canned Cycle


5.4.1 Canned Cycle Operation Commands
(I) Data format G90 Absolute
G91 Incremental

(II)Return level G98 Return to initial point level


G99 Return to R point level

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

5.4.2 Data in Absolute and Incremental Mode


Absolute Incremental

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)

5.4.3 Types of Return Points (G98, G99)


Two available tool return levels on completing a canned cycle operation are Initial Point (G98)
and R Point (G99) level.

Return to initial point level (G98) Return to R point level (G99)

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.

5.4.4 Canned Cycle Operating Conditions


Canned cycle operations are performed under the following conditions:

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.

(NOTE 1) In a canned cycle operation, if any of X, Y, Z, R, A, B, or C is non-existent and


other hole machining data is commanded, nothing is performed except that the
relevant hole machining data is saved.
(NOTE 2) The canned cycle command cannot be issued when using the turning spindle in the
following situations. After switching modals, issue the command.
• M142 modal in progress
• G143/G144 modal in progress
(NOTE 3) A canned cycle command cannot be issued while the feature coordinate is being set
(after G68.2 command and before G53.1 command). A command is possible while
the feature coordinate is being indexed (after G53.1 command).
(NOTE 4) A canned cycle command cannot be issued while under TCP control (G43.4/G43.5).
Otherwise, the alarm <<TCP under control>> is triggered.

2023/11/21 5- 5 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.4.5 Canned Cycle Machining Data


Command
format Gxx X_ Y_ A_ B_ C_ Z_ R_ Q_ P_ F_ S_ K_;

Hole machining Hole position Hole machining data Repetition


mode data count

G codes : G73, G74, G76 to G78, G81 to G87, G89, G177, G178, G181 to G182,
G185, G186, G189, G277, and G278

All canned cycle G codes are modal.

X,Y,A,B,C : Drilling position


Rapid feed is used to go to the drilling position.
An alarm occurs when an additional axis is commanded when it is not
installed.
Z : Hole bottom position
If you are in the incremental mode, Z refers to the distance from R point to
the bottom of a hole.
R : R point position
5 If you are in the incremental mode, R refers to the distance from the point
before the control enters the canned cycle mode to R point.
Q : Cutting depth, shift value, and distance to feed rate switching point.
(I) G73, G83 – Cutting depth for each stroke
(II) G77, G78, G277, G278 – Cutting depth for each stroke
(III) G76, G87 – Shift value
(IV) G177, G178 – Distance to feed rate switching point
(V) G86, G186 – Orientation angle
P : Dwell time (unit of time is the same as G04 designation)
F : Cutting feed rate
S : Spindle speed
K : Canned cycle repetition count

(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)

5.4.6 Canned Cycle Repetition Count


You can specify the repetition count for canned cycle operation using address K when the same
cycle is to be repeated such as drilling multiple holes at regular intervals.

The range of K is 0 to 9999.


K is effective only for the block in which it is specified.
K is assumed to be 1 if a value is not specified.
When K0 is commanded, drilling will not occur; commanded hole machining data is saved; and X
/ Y axes will travel if the relevant commands exist.

X_Y_ designates the first drilling position in incremental values (G91).


If the position is given in absolute values (G90), drilling is repeated in the same position.

Ex)
Final drilling

5

○ First drilling

G81X_Y_Z_R_K5F_; (G91 mode)

2023/11/21 5- 7 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.5 Details of Canned Cycle


5.5.1 High Speed Peck Drilling Cycle (G73)
Command format G73 X_ Y_ Z_ R_ P_ Q_ F_;

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)

5.5.2 Reverse Tapping Cycle (G74)

Command format G74 X_ Y_ Z_ R_ P_ F_ S_;

Return point

Rapid feed

Cutting feed
R point Spindle stop
Spindle CW

Spindle CCW
5

Z point

Spindle stops at Z point; dwells for P sec; and rotates clockwise.

• 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)

5.5.3 Fine Boring Cycle (G76)

Command format G76 X_ Y_ Z_ R_ Q_ V_ P_ F_ S_;

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)

5.5.4 Tapping Cycle (Synchro Mode) (G77)

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%.

High speed tap return


Spindle speed at return of tapping cycle (synchro mode) (G77) is varied.

I_
Command format G77 X_ Y_ Z_ R_ Q_ S_ L_;
J_

5 • Address L commands the spindle speed at return.


• Spindle speed at infeed and return is identical when address L is omitted.
• Once commanded, address L behaves in a modal manner throughout the canned cycle mode.
• The alarm <<Spindle speed error>> is triggered when the command value for the L address is
larger than the machine parameter (system 1: common) <Max. tapping speed>.
• The tool moves according to the address S value when address L value is smaller than it.
• Even when the user parameter (switch 1: canned cycle) <Tapping cycle return speed> is set to
<1: Max. speed>, the L address is given priority.
• When the user parameter (switch 1: common) <Tap override> is set to another setting that is
not <0: Disable>, the operation uses the speed value that incorporates the feedrate override or
spindle override in the command value for the L address.

2023/11/21 5 - 12 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.5.5 Reverse Tapping Cycle (Synchro Mode) (G78)

I_
Command format G78 X_ Y_ Z_ R_ Q_ S_;
J_

Return point

R point Spindle stop

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%.

High speed tap return


Spindle speed at return of reverse tapping cycle (synchro mode) (G78) is varied.

I_
Command format G78 X_ Y_ Z_ R_ Q_ S_ L_;
J_

5 • Address L commands the spindle speed at return.


• Spindle speed is the same at infeed and return if you omit address L.
• Once commanded, address L behaves in a modal manner throughout the canned cycle mode.
• The alarm <<Spindle speed error>> is triggered when the command value for the L address is
larger than the machine parameter (system 1: common) <Max. tapping speed>.
• The tool moves according to the address S value when address L value is smaller than it.
• Even when the user parameter (switch 1: canned cycle) <Tapping cycle return speed> is set to
<1: Max. speed>, the L address is given priority.
• When the user parameter (switch 1: common) <Tap override> is set to another setting that is
not <0: Disable>, the operation uses the speed value that incorporates the feedrate override or
spindle override in the command value for the L address.

2023/11/21 5 - 14 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.5.6 Drilling Cycle (G81, G82)

G81
Command format X_ Y_ Z_ R_ P_ F_;
G82

Return point

R point
5

Rapid feed

Z point Cutting feed


Dwell (P sec)

High speed cycle


Feed rate at start and end of cutting in drilling cycle (G81 or G82) is varied.

G81
Command format X_ Y_ Z_ R_ P_ W_ V_ F_ E_ L_;
G82

W : Feed rate switching point


Distance from R point irrespective of absolute (G90) or incremental (G91) mode.
V : Feed rate switching point
Distance from Z point irrespective of absolute (G90) or incremental (G91) mode.
E : Feed rate for range W from R point
L : Feed rate for range V from Z point

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)

Command format G83 X_ Y_ Z_ R_ P_ Q_ F_;

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)

5.5.8 Tapping Cycle (G84)

Command format G84 X_ Y_ Z_ R_ P_ F_ S_;

Return point

R point Spindle stop


Rapid feed

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)

5.5.9 Boring Cycle (G85, G89)

G85
Command format X_ Y_ Z_ R_ P_ F_;
G89

Return point

R point

5
Rapid feed

Cutting feed

Z point

High speed cycle


Feed rate at return of boring cycle (G85 or G89) is varied.

G85
Command format X_ Y_ Z_ R_ P_ F_ E_;
G89

F : Feed rate from R to Z point


E : Feed rate from Z to R point

Return point

R point

Rapid feed

Z point Cutting feed


Dwell (P sec)

2023/11/21 5 - 18 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.5.10 Boring Cycle (G86)

Command format G86 X_ Y_ Z_ R_ P_ Q_ F_ S_;

Return point

R point

Rapid feed

Cutting feed

Z point
Dwell (P sec)
Spindle stop
(When Q is omitted)
Spindle CW
5

High speed cycle


Feed rate at start and end of cutting in boring cycle (G86) is varied.

Command format G86 X_ Y_ Z_ R_ P_ W_ V_ Q_ F_ E_ L_ S_;

W : Feed rate switching point


Distance from R point irrespective of absolute (G90) or incremental (G91) mode.
E : Feed rate for range W from R point
V : Feed rate switching point
Distance from Z point irrespective of absolute (G90) or incremental (G91) mode.
L : Feed rate for range V from Z point
Q : To stop the spindle at a specified rotatonal position at Z point, specify the desired
angle. If the entry is omitted, the spindle just stops.

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)

5.5.11 Back Boring Cycle (G87)


Command format G87 X_ Y_ Z_ R_ Q_ P_ V_ F_ S_;

Single block stop point

Spindle stops at V-specified


rotational position

Z point

Dwell (P sec)

5 Rapid feed

R point Cutting feed

Shift (rapid feed)

Single block stop point Spindle CW

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)

5.5.12 End Milling/Tapping Cycle (G177)

I_
Command format G177 X_ Y_ Z_ R_ S_ L_ Q_ E_;
J_

I : Screw pitch in the tapping section


J : Number of threads in the tapping section
S : Spindle speed
The spindle starts rotation simultaneously with the X/Y axes traveling
L : Spindle return speed from Z to R point
S-specified speed applies in the absence of the command
Q : Feed rate switching point
Distance from R point irrespective of absolute (G90) or incremental (G91) mode.
Tapping starts from this position
E : Feed rate in section Q

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)

5.5.13 End Milling/Tapping Cycle (G178)

I_
Command format G178 X_ Y_ Z_ R_ S_ L_ Q_ E_;
J_

I : Screw pitch in the tapping section


J : Number of threads in the tapping section
S : Spindle speed
The spindle starts rotation simultaneously with the X/Y axes traveling
L : Spindle return speed from Z to R point
S-specified speed applies in the absence of the command
Q : Feed rate switching point
Distance from R point irrespective of absolute (G90) or incremental (G91) mode
Tapping starts from this position
E : Feed rate in section Q

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)

5.5.14 Double Drilling Cycle (G181, G182)

G181
Command format X_ Y_ Z_ R_ I_ J_ P_ W_ V_ F_ E_ L_;
G182

I : Rapid feed start point (depends on G90/G91)


Distance from R point in the incremental mode
J : Cutting feed start point (depends on G90/G91)
Distance from I point in the incremental mode
W : Feed rate switching point
Incremental mode irrespective of G90 or G91
V : Feed rate switching point
Incremental mode irrespective of G90 or G91
E : Feed rate for range W
L : Feed rate for range V

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)

5.5.15 Double Boring Cycle (G185, G189)

G185
Command format X_ Y_ Z_ R_ I_ J_ P_ F_ E_;
G189

I : Rapid feed start point (depends on G90/G91)


Distance from R point in the incremental mode
J : Cutting feed start point (depends on G90/G91)
Distance from I point in the incremental mode
F : Cutting feed rate from R to Z point
E : Cutting feed rate from Z to R point

5
R point

Feed rate F Feed rate E

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)

5.5.16 Double Boring Cycle (G186)


Commad format G186 X_ Y_Z_ R_ I_ J_ P_ W_ V_ Q_ F_ E_ L_ S_;

I : Rapid feed start point (depends on G90/G91)


Distance from R point in the incremental mode
J : Cutting feed start point (depends on G90/G91)
Distance from I point in the incremental mode
W : Feed rate switching point
Incremental mode irrespective of G90 or G91
V : Feed rate switching point
Incremental mode irrespective of G90 or G91
Q : To stop the spindle at a specified rotatonal position at Z point, specify the desired
angle. If the entry is omitted, the spindle just stops.
E : Feed rate for range W
L : Feed rate for range V

Spindle turns CW on reaching R point

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)

5.5.17 Deep Hole Tapping Cycle (Synchro Mode) (G277)

I_
Commad format G277 X_ Y_ Z_ R_ Q_ S_;
J_

Return point

R point Spindle stop

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%.

5.5.18 Reverse Deep Hole Tapping Cycle (Synchro Mode)


(G278)
I_
Commad format G278 X_ Y_ Z_ R_ Q_ S_;
J_

Return point

R point Spindle stop

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%.

High speed tap return


Spindle speed at return of synchro tap (G277, G278) is varied.

G277 I_
Commad format X_ Y_ Z_ R_ Q_ S_ L_;
G278 J_

• Address L commands spindle speed at returnm.


• Spindle speed at infeed and return is identical when address L is omitted.
• Once commanded, address L behaves in a modal manner throughout the canned cycle mode.
• An alarm is triggered when the command value for the L address is larger than the machine
parameter (system 1: common) <Max. tapping speed>.
• The tool moves according to the address S value when address L value is smaller than it.
• Even when the user parameter (switch 1: canned cycle) <Tapping cycle return speed> is set to
<1: Max. speed>, the L address is given priority.
• When the user parameter (switch 1: common) <Tap override> is set to another setting that is
not <0: Disable>, the operation uses the speed value that incorporates the feedrate override or
spindle override in the command value for the L address.

2023/11/21 5 - 28 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.5.19 Reducing Step of Canned Cycle


Cutting depth is gradually reduced in canned cycles of G73, G77, G78, G83, G173, and G183.

5.5.19.1 High speed peck drilling cycle (G73) (reducing


step)

Command format G73 X_ Y_ Z_ R_ P_ W_ V_ F_;

W : 1st cutting feed


V : Minimum cutting feed

Return point

R point Spindle stop


5
W
d

2nd cutting depth


d

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)

5.5.19.2 Peck drilling cycle (G83) (reducing step)

Command format G83 X_ Y_ Z_ R_ P_ W_ V_ F_;

W : 1st cutting feed


V : Minimum cutting feed

Return point

R point

5 d

2nd cutting depth


d

3rd cutting depth


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)

5.5.19.3 Tapping cycle (synchro mode) (G77) (reducing


step)

I_
Command format G77 X_ Y_ Z_ R_ W_ V_ S_;
J_

W : 1st cutting feed


V : Minimum cutting feed

Return point

R point Spindle stop

W
5
d

2nd cutting depth


d
Rapid feed

3rd cutting depth Cutting feed


d Spindle CW
Spindle CCW
•••

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.

5.5.19.4 Reverse tapping cycle (synchro mode) (G78)


(reducing step)

I_
Command format G78 X_ Y_ Z_ R_ W_ V_ S_;
J_

W : 1st cutting feed


5 V : Minimum cutting feed

Return point

R point Spindle stop

2nd cutting depth


d
Rapid feed

3rd cutting depth Cutting feed


d Spindle CW
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 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)

• 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.
• 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.
5

2023/11/21 5 - 33 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.5.19.5 Deep hole tapping cycle (synchro mode) (G277)


(reducing step)

I_
Command format G277 X_ Y_ Z_ R_ W_ V_ S_;
J_

W : 1st cutting feed


V : Minimum cutting depth

Return point

R point Spindle stop


5
W
Rapid feed

Cutting feed

Spindle CW
2nd cutting depth
Spindle CCW

3rd cutting depth


•••

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)

5.5.19.6 Reverse deep hole tapping cycle (synchro mode)


(G278) (reducing step)

I_
Command format G278 X_ Y_ Z_ R_ W_ V_ S_;
J_

W : 1st cutting feed


V : Minimum cutting feed

Return point

R point Spindle stop


5
W
Rapid feed

Cutting feed

Spindle CW
2nd cutting depth

Spindle CCW

3rd cutting depth


•••

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.

5.5.19.7 2nd and after cutting depth in G73, G83, G173,


and G183
2nd and after cuttring depth in canned cycle G73, G83, G173, and G183 is shown below. 5
Cutting depth = Factor * 1st cutting depth (W)

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.

5.5.19.8 2nd and after cutting depth in G77, G78, G273,


and G283
2nd and after cuttring depth in canned cycle G77 and G78 is shown below.
Cutting depth = Factor * 1st cutting depth (W)

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)

5.5.20 Canned Cycle Cancel (G80)


Canned cycles (G73, G74, G76 to G78, G81 to G87, G89, G177, G178, G181 to G182, G185,
G186, G189, G277, and G278) are canceled and ordinary machining resumes. The hole machining
data is canceled except for point R and point Z.

Command format G80;

(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.

5.5.21 General Precautions for Canned Cycle


1. For a canned cycle without spindle rotation control (G73, G81 to G83, G85, G89, G181 to
5 G182, G185, and G189), the spindle must be rotated beforehand by M code.

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)

5.6 One-shot Canned Cycle


5.6.1 High Speed Peck Drilling Cycle (G173)

Command format G173 X_ Y_ Z_ R_ Q_ F_;

This is the cycle where return operation is removed from G73.

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)

5.6.1.1 High Speed Peck Drilling Cycle (G173) (Reducing


Step)
Reducing step is available which reduces the cutting depth gradually.
For the 2nd and after cutting depth, refer to 5.5.19 Reducing step of canned cycle.

Command format G173 X_ Y_ Z_ R_ W_ V_ F_;

W : 1st cutting feed


V : Minimum cutting feed

R point
5
W

2nd cutting depth


d

3rd cutting depth


d

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)

5.6.2 Peck Drilling Cycle (G183)

Command format G183 X_ Y_ Z_ R_ Q_ F_;

This is cycle where return operation is removed from G83.

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)

5.6.2.1 Peck Drilling Cycle (G183) (Reducing Step)


Reducing step is available which reduces the cutting feed depth gradually.
For the 2nd and after cutting depth, refer to 5.5.19 Reducing step of canned cycle.

Command format G183 X_ Y_ Z_ R_ W_ V_ F_;

W : 1st cutting feed


V : Minimum cutting feed

R point

5
W

2nd cutting depth

3rd cutting depth


d
•••

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)

5.7 Canned Cycle for Tool Change (Non-stop ATC)


(G100)
5.7.1 W1000Xd1/S300Xd1/S500Xd1/S700Xd1/U500Xd1/
R450Xd1/R650Xd1/W1000Xd2
Command format G100 T_ X_ Y_ Z_ R_ A_ B_ C_ L_;

(3)
Home of ATC

(2) (4)

Distance to Z-axis zero point

(1) (5) 5
Single block stop point

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.

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)

Distance to Z-axis zero point

(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.

5.7.2.1 Operation when spindle is selected (M141 modal)


1. Travels the distance to Z-axis zero position and performs the spindle orientation at the same
time.
(Performs the C-axis unclamp operation at the same time as well.)
2. Travels to the ATC zero point.
Travels along the corresponding axes at the same time when X-, Y-, A-, B- and C-axes are
specified.
3. The magazine turns and indexes the tool specified in T.
4. Travels to the Z-axis zero position.
5. Travels to the position that is specified when the Z-axis command is issued.
The operations are carried out at the same time when the spindle command (M03 group) is
issued.

5.7.2.2 Operation when lathe spindle is selected (M142


modal)
1. Travels the distance to Z-axis zero position and performs the spindle orientation at the same
time.
Performs the lathe spindle operation at the same time when the lathe spindle command (M303
to M305) is issued.
2. Travels to the ATC zero point.
Travels along the corresponding axes at the same time when X-, Y-, A- and B -axes are
specified.
3. The magazine turns and indexes the tool specified in T.
4. Travels to the Z-axis zero position.
5. Travels to the position that is specified when the Z-axis command is issued.

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)

5.7.3 R650Xd1 40MG


Command format G100 T_ X_ Y_ Z_ R_ A_ B_ C_ L_ ;

(4)
Home of ATC

(2) (5)

R-point

(1) (7) Single block stop point

X-/Y-axis ATC position 5


(2) (3)

(4)
(6) (5)

X-/Y-axis zero point


X- and Y-axis direction

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.

5.7.3.1 Tool change operation


• When changing from <Standard tool> to <Standard tool> or from <Large tool> to <Large
tool>
1. Magazine turn
2. Pot shutter open
3. Pot fall
4. Arm turn
5. Pot rise
6. Pot shutter close
When the operations above are carried out, the change is complete.
5
When the tool change is between one <Standard tool> and another one, the arm turns at a
speed that is set by the machine parameter (system 3) <Rapid feedrate AT-axis 1>.
When the tool change is between one <Large tool> and another one, the arm turns at a speed
that is set by the machine parameter (system 3: common) <Rapid feedrate AT-axis 2>.

• 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)

5.7.3.2 Next tool preparation operation


The next tool preparation is carried out after the arm turns for the tool change and then after the
pot rises. If there is no tool change, then only the next tool preparation operation is carried out.
When the next tool is already indexed, the next tool preparation operation is not carried out.

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)

When point R ≤ ATC position on Z-axis


Y+ (4) ATC zero point (6) ATC zero point
X+

Z+
(3) (7)

Stroke Stroke (8)

(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.

When point R > ATC position on Z-axis


Y+ (5) ATC zero point (7) ATC zero point
X+

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.

5.7.5 Simultaneously Commandable M Codes


5 The G100 (Canned cycle for tool change) can be commanded in the same block together with the
M codes listed below.
The alarm <<Simultaneous specified code cannot be used.>> is triggered if an M code command
not listed below is issued.

Simultaneously commandable M codes


M code Contents
M03 Spindle CW
M04 Spindle CCW
M05 Spindle stop
M06 Tool change
M19 Spindle Orientation
M111 Spindle orientation (180°)
M08 Coolant pump ON
M09 Coolant pump OFF
M141 To select a spindle
M142 To select a turning spindle
M230 Tool life counter set
M231 Tool life counter cancel
M258 Production monitor ‒ Time measurement start
M259 Production monitor ‒ Time measurement end
M290 Z-ax. minus speed 100% at tool change
M291 to M293 Z-ax. minus speed 1 to 3 at tool change
M300 Z-axis perimeter mode on
M301 Z-axis perimeter mode off
M303 turning spindle forward rotation
M304 turning spindle backward rotation
M305 turning spindle stop
M318 Stuck chips detection enabled
M319 Stuck chips detection disabled
M400 M400 signal ON (Chip shower ON)
M401 M400 signal OFF (Chip shower OFF)
M402 M402 signal ON
M403 M402 signal OFF
M404 M404 signal ON
M405 M404 signal OFF
M406 M406 signal ON
M407 M406 signal OFF
M408 M408 signal ON
M409 M408 signal OFF

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

If MFIN is not input once travel to


Then, waiting for MFIN point R is complete, it stops here
together with tool and MFIN input goes into standby.
change motion
R point
(Z-axis zero point when using a turret
type ATC (excluding H series))
M code is output
when this
motion is done.
Z-axis command value

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)

5.7.6 Automatic Command of Tool Data in Tool Change


You can set the following values <user parameters> registered in the tool data to automatically
output for tool changes.
User parameter(switch 1: canned cycle) Tool data
Automatic command (S) in tool change S command value
Automatic command (F) in tool change F command value

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)

5.8 Coordinate Calculation Function


5.8.1 Outline
Point cloud coordinates (linear, grid, and circular) are calculated in individual blocks.
Point cloud drilling can be performed by a single command when this command is used in
combination with the canned cycle function, etc.

5.8.2 Coordinate calculation


Coordinate calculation
G code Name Function
G36 Bolt hole circle Calculate coordinates of a point cloud on the circumference of a circle
G37 Line (angle) Calculate coordinates of a point cloud on a line by specifying angle
G38 Line (X,Y) Calculate coordinates of a point cloud on a line by specifying
coordinates
G39 Grid Calculate coordinates of a point cloud of a grid form

5.8.3 Coordinates Calculation Parameters

G36
Command format : X_ Y_ I_ J_ K_ P_ Q_;
5 G39

X, Y : Datum point coordinates


I, J, K, P, Q : Coordinates calculation parameters

1. Datum point coordinates value (X, Y)


• Workpiece coordinate system is used for specifying the datum point.
• Current position is used as the datum point when X/Y values are omitted.

2. Coordinate calculation parameters (I, J, K, P, Q)


• Specify the parameters together with G36 to G39 codes in the same block.
• The parameters are effective only in the current block. They are erased automatically on
completing calculation.
• Relationship between the functions and parameters are given in the list below.
Parameter
G code
I J K P Q
Bolt Hole Circle G36 ● ● ● ●
Line (angle) G37
● ● ○
Line (X, Y) G38
Grid G39 ● ● ● ● ●
● : May not be omitted. An alarm occurs when they are missing.
○ : May be omitted (assumed to be 1).
Space : Data may be entered but is not used.

(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)

5.8.4 Description of Coordinate Calculation Function


5.8.4.1 Bolt Hole Circle (G36)
The commanded coordinate value is the center of the arc and the partitioned coordinate values are
found for the discretionary points on the circumference as a starting point, etc.

Command format G36 X_ Y_ I_ J_ K_ P_;

X, Y : Coordinate value at arc center


I : Arc radius
J : Angle with X-axis of the starting point
K : Number of drilling holes (999 holes or less)
P : Number of splits (max. 999.999)

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.

5.8.4.2 Line (Angle) (G37)


The commanded coordinate value is assumed as the datum point, and the coordinate value is found
that lines up on the straight line in the angle (θ°) direction for the X axis.

Command format G37 X_ Y_ I_ J_ K_;

X,Y : Datum point coordinates value


I : Interval with the point just prior
J : Angle with the X-axis.
K : Number of drilling holes (999 holes or less)

Ex) G37 X0 Y0 I20 J30 K6;

20
20
20
20
20

30
X
(0, 0)

(NOTE 1) If omitted, K is considered 1.


(NOTE 2) The coordinates for the reference point are also output.

2023/11/21 5 - 60 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.8.4.3 Line (X, Y) (G38)


The commanded coordinate value is assumed to be a datum point, and the coordinate values are
found that have a plus for both the X direction and the Y direction respectively.

Command format G38 X_ Y_ I_ J_ K_;

X, Y : Datum point coordinates value


I : Intervals in the direction of X
J : Intervals in the direction of Y
K : Number of drilling holes (999 holes or less)

Ex) G38 X0 Y0 I20 J15 K4;

45
5
30

15

X
(0, 0) 20 40 60

(NOTE 1) If omitted, K is considered 1.


(NOTE 2) The coordinates for the reference point are also output.

2023/11/21 5 - 61 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)

5.8.4.4 Grid (G39)


The commanded coordinate value is assumed to be a datum point, and the coordinate values are
found for the grid that consists of the points that are lined up at equal intervals parallel, etc. to the
X-axis direction as well as the points that are lined up at equal intervals parallel, etc. to the vertical
axis. In addition, the whole can be inclined by specifying the angle to the X-axis.

Command format G39 X_ Y_ I_ J_ K_ P_ Q_;

X,Y : Datum point coordinates value


I : Interval in the direction of X axis
J : Interval in the direction of Y axis
K : Number in the X axis direction (max. 999)
P : Number in the Y axis direction (max. 999)
Q : Angle with the X axis.

Ex) G39 X0 Y0 I20 J25 K4 P3 Q30;

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)

5.8.5 Examples of Application


Y

X
0 50

Drilling 6 holes along the circumference of a circle of 50 radius. 5


:
N100 G81R2.Z-10.F1000K0;
N105 G36X0.Y0.I50.J0.K6P6.;
:

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)

(This page was intentionally left blank.)

2023/11/21 5 - 64 eCOM4NCPR5
Chapter 6 Macro

CHAPTER 6

MACRO

6.1 What is Macro?


6.2 Variables Function 6
6.3 Calculation Function
6.4 Control Function
6.5 Call Function
6.6 External Output Function
6.7 Interrupt Macro (Option)

2023/11/21 6- 1 eCOM4NCPR6
Chapter 6 Macro

6.1 What is Macro?


Macro allows you to create unique canned cycles and highly versatile programs by incorporating
identical motions repeatedly and using variables, calculations, and conditional branching.

Four major macro function groups are:

• 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.

Ex. 1) Check for tool damage once every 10 machining rounds

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;

Ex. 2) Arc machining by specifying the center, radius, and angle.

X: center X Y: center Y R: redius Z: Cutting position Z


W: Stop before workpc. U: Cutting start angle V: Cutting end angle F: Feed rate

• Main program

N01 G90G54G0Z30.;
N02 G65P0042X-100.Y-100.R50.Z-3.W2.U0.V30.F1000;

• Macro program O0042

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°

(-100, -100) (-50, -100)


50

2023/11/21 6- 3 eCOM4NCPR6
Chapter 6 Macro

6.2 Variables Function


6.2.1 Outline
Numbers are directly specified, such as G90 and X200, to command an operation in ordinary
programs. Using macro variables, you can use the values stored in them as the command for G, X,
etc.
The value of variables can be changed by program or MDI operation.

6.2.2 Expression of Variables


Each variable number is prefixed with the symbol “#.”
Ex. 1) #100
Ex. 2) You can use values stored in a variable and also equations using brackets ([ ]).
#100 = #[100+10]
The content of variable #110 is substitued in #100.
Ex. 3) For #1 = 9, #9 = 20, and #20 = 30,
assume #5 = #[#[#1]].
Then, this has the same meaning as #5 = 30.
Variables can be used in place of specifying values.
Ex. 4) #3 = #2 + 10;
G01X#3Y10;
The value of variable 2 plus 10 is specified as the X coordinate value.
(if #2 is 40, then X50 is meant.)
If a variable is used as data for an address such as in Example 4, the figure is rounded off
to agreed with the number of significant digits of the data.
Ex.) Assume a command G00X#1; for equipment of significant digits 1/1000. When
6 #1 is 12.345678, the command will be G00X12.346.
An alarm occurs when the maximum command value of the relevant address is
exceeeded.
Ex. 5) Address N cannot take a variable.
You cannot command N#20.
Ex. 6) G00X[#1+#2]; When an equation is used to specify the data for an address, the equation
must be put in brackets.

6.2.3 Undefined Variables


<empty> is used to indicate the status of an undefined variable.
#0 is always an empty variable. You can read the value but cannot substitute it.

Ex. 1) When #1 is empty:


G01X#1Y100. → G01Y100.
G01X[#1+10.]Y100 → G01X10.Y100.
Ex. 2) Calculation
#0 + #0 → 0
#0 * 5 → 0
Ex. 3) Conditional equation

For #1=<empty> For #1=0


#1 EQ #0 →satisfied #1 EQ #0 → dissatisfied
#1 NE 0 → satisfied #1 NE 0 → dissatisfied
#1 GE #0 → satisfied #1 GE #0 → satisfied
#1 GT 0 → dissatisfied #1 GT 0 → dissatisfied

<empty> is considered not equal to zero in EQ and NE.

2023/11/21 6- 4 eCOM4NCPR6
Chapter 6 Macro

6.2.4 Types of Variables


Two types of variables are:
1. Local variables (#1~#33), and
2. Common variables (#100 to #199 and #500 to #999)

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

6.2.5 Display and Setting of Variables


Variables are displayed and manually set on the Data Bank screen.

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.

(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).

The display turns <***********> if these ranges are exceeded.

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.

6 6.2.6 System Variables


6.2.6.1 Interface I/O Signals
Signal input #1000 to #1031 R
Signal input #1200 to #1231 R
Signal input #1232 to #1263 R
Signal input #1264 to #1295 R
Signal output #1100 to #1131 R/W
Signal output #1300 to #1331 R/W
Signal output #1332 to #1363 R/W
Signal output #1364 to #1395 R/W
Signal batch read #1032 R
(#1000 to #1031) (32-bit)
Signal batch read #1033 R
(#1200 to #1231) (32-bit)
Signal batch read #1034 R
(#1232 to #1263) (32-bit)
Signal batch read #1035 R
(#1264 to #1295) (32-bit)
Signal batch write #1132 R/W
(#1100 to #1131) (32-bit)
Signal batch write #1133 R/W
(#1300 to #1331) (32-bit)
Signal batch write #1134 R/W
(#1332 to #1363) (32-bit)
Signal batch write #1135 R/W
(#1364 to #1395) (32-bit)

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;

6.2.6.2 Workpiece Coordinate Zero Point


Workpiece coordinate zero point is read and written.
Workpiece coordinates (external) #5201 to #5206 R/W
(G54) #5221 to #5226 R/W
(G55) #5241 to #5246 R/W
• • •
• • •
(G59) #5321 to #5326 R/W
(G54.1P1) #7001 to #7006 R/W
(G54.1P2) #7021 to #7026 R/W
• • •
• • • 6
(G54.1P48) #7941 to #7946 R/W
(G54.1P1) #14001 to #14006 R/W
(G54.1P2) #14021 to #14026 R/W
• • R/W
• • R/W
(G54.1P300) #19981 to #19986 R/W

6.2.6.3 Tool Data


Tool compensation/life data are read and written.
Tool length offset #11001 to #11099(T01 to T99) R/W
#11201 to #11299(T201 to T299)
T length wear offset #10001 to #10099(T01 to T99) R/W
#10201 to #10299(T201 to T299)
Cutter compensation #13001 to #13099(T01 to T99) R/W
#13201 to #13299(T201 to T299)
Tool diameter wear #12001 to #12099(T01 to T99) R/W
offset #12201 to #12299(T201 to T299)
Tool position offset (X) #25001 to #25099(T01 to T99) R/W, Available when equipped
#25201 to #25299(T201 to T299) with a lathe function
Tool position wear #20001 to #20099(T01 to T99) R/W, Available when equipped
offset data (X) #20201 to #20299(T201 to T299) with a lathe function
Tool length offset (Z) #26001 to #26099(T01 to T99) R/W, Available when equipped
#26201 to #26299(T201 to T299) with a lathe function
T length wear offset (Z) #21001 to #21099(T01 to T99) R/W, Available when equipped
#21201 to #21299(T201 to T299) with a lathe function
Tool diameter / nose R #27001 to #27099(T01 to T99) R/W, Available when equipped
compensation #27201 to #27299(T201 to T299) with a lathe function
Tool diameter / nose R #22001 to #22099(T01 to T99) R/W, Available when equipped
wear offset #22201 to #22299(T201 to T299) with a lathe function
Tool position offset (Y) #29001 to #29099(T01 to T99) R/W, Available when equipped
#29201 to #29299(T201 to T299) with a lathe function
Tool position wear #24001 to #24099(T01 to T99) R/W, Available when equipped
offset data (Y) #24201 to #24299(T201 to T299) with a lathe function
Virtual teeth direction #23001 to #23099(T01 to T99) R/W, Available when equipped
#23201 to #23299(T201 to T299) with a lathe function

2023/11/21 6- 7 eCOM4NCPR6
Chapter 6 Macro

Tool life unit #5501 to #5599(T01 to T99) R/W


#31001 to #31099(T01 to T99) 1: Is not counted
#31201 to #31299(T201 to T299) 2: Time (min.)
3: Drilling (holes)
4: Program (times)
5: Time (sec.)
Initial tool life / End of #5601 to #5699(T01 to T99) R/W
tool life #32001 to #32099(T01 to T99)
#32201 to #32299(T201 to T299)
Life warning #5701 to #5799(T01 to T99) R/W
#33001 to #33099(T01 to T99)
#33201 to #33299(T201 to T299)
Tool life #5801 to #5899(T01 to T99) R/W
#38001 to #38099(T01 to T99)
#38201 to #38299(T201 to T299)

(NOTE) Some variables are not supported depending on models.

6.2.6.4 Alarm Display


#3000=n(ALARM MESSAGE)
Alarm number 9000+n(n:0~200) is generated and the alarm message in the parentheses is
displayed (up to 20 characters from top; release level 2).
The values in brackets record the alarm history in single-byte alphanumeric characters only.
(Typical applicatioin) When executing a block #3000=6(ABCD);, the alarm <<9006 *ABCD>>
occurs.
6
(NOTE 1) 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.
(NOTE 2) If characters other than single-byte alphabet and numbers are described, the
operation is not guaranteed.

6.2.6.5 Message Display and Stop


#3006=(MESSAGE)
A message of up to 20 characters in the parentheses is displayed after completing execution of the
preceding block.
Twenty characters from top is displayed when the messsage contains 21 characters or more.
Alarm number is 9300 fixed.
(Stop level 1, Reset level 1)

(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.

6.2.6.7 Operation Control


Operation control #3003 R/W MFIN
0: Wait
2: Does not wait
Operation control #3004 R/W Feed
Override
0: Valid
2: Invalid

#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%.

6.2.6.8 Mirror Image


Status of mirror image of axes

Binary numbers are converted into decimal numbers for handling.


Mirror image #3007 R 0: Invalid
bit0: X axis 1: Valid
bit1: Y axis
bit2: Z axis

6.2.6.9 Program restart


The program status can be scanned to check whether the program is restarting or not.

Program restarting #3008 R 0: Program not restarted


status 1: Program restarted

(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.;

6.2.6.10 Modal Info


You can specify and read modal information.

Modal information (current block)


Variable No. Contents
#4001 G00 to G03, G02.2, G03.2, G102, G103, G202, G203, G33, G392
#4002 G17, G18, G19
#4003 G90, G91
#4004 G22, G23
#4005 G93, G94, G95
#4006 Inch→20, Meter→21
#4007 G40, G41, G42, G141, G142
6 #4008 G43, G44, G43.4, G43.5, G143, G144, G49
#4009 G73, G74, G76 to G78, G80 to G87, G89, G173, G177, G178, G181 to 183,
G185, G186, G189, G277, G278
#4010 G98, G99
#4011 G50, G51
#4012 G66, G67
#4013 G96, G97
#4014 G54 to G59, G54.1
#4015 G61, G64
#4016 G68, G69, G168, G68.2
#4022 G50.1, G51.1
#4107 D code
#4109 F code
#4111 H code
#4113 M code
#4114 Sequence No.
#4115 Program number
#4119 S code
#4120 T code
#4130 P code (number in extended workpiece coordinate system currently selected)
(0 when extended workpiece coordinate system is not selected)
#34001 G321 to G323

#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.

Modal information (before commanding an interrupt type macro)


Variable No. Contents
#4401 G00 to G03, G02.2, G03.2, G102, G103, G202, G203
#4402 G17, G18, G19
#4403 G90, G91
#4404 G22, G23
#4405 G93, G94, G95
#4406 Inch→20, Meter→21
#4407 G40, G41, G42, G141, G142
#4408 G43, G44, G143, G144, G49
#4409 G73, G74, G76 to G78, G80 to G87, G89, G173, G177, G178, G181 to 183,
G185, G186, G189, G277, G278
#4410 G98, G99
#4411 G50, G51
#4412 G66, G67
#4413 G96, G97
#4414 G54 to G59, G54.1
#4415 G61, G64 6
#4416 G68, G69, G168
#4422 G50.1, G51.1
#4507 D code
#4509 F code
#4511 H code
#4513 M code
#4514 Sequence No.
#4515 Program No.
#4519 S code
#4520 T code
#4530 P code (number in extended workpiece coordinate system currently selected)
(0 when extended workpiece coordinate system is not selected)
#34401 G321 to G323

6.2.6.11 Current Position


Read while
Variable No. Contents Coordinate system Tool offset
traveling
#5001~#5008 End point Workpiece Not included Yes
coordinates coordinate system
or table coordinate
system
(NOTE 1)
#5021~#5028 Current position Machine coordinate Included No
#5031~#5034 system selection
#5041~#5048 Current position Workpiece Follows the user No
#5051~#5054 coordinate system parameter (switch 1:
or table coordinate common) <System
system variable format
(NOTE 1) (current position)>.
<Spindle end
position> → Included
<TCP> → Not
included
#5061~#5068 Skip coordinates Workpiece Follows the user Yes
#5071~#5074 coordinate system parameter (switch 1:

2023/11/21 6 - 11 eCOM4NCPR6
Chapter 6 Macro

or table coordinate common) <System


system variable format (skip
(NOTE 1) coordinate)>.
<Spindle end
position> → Included
<TCP> → Not
included
#5081~#5088 Tool length / No
Tool position
offset
#5101~#5108 Servo deviation No
#5111~#5114
#5161 ~ #5168 Skip coordinate Feature coordinate Follows the user Possible
#5171 ~ #5174 system parameter (switch 1:
common) <System
variable format (skip
coordinate)>.
<Spindle end
position> → Included
<TCP> → Not
included
#30000 Spindle feedback No
position
#30001 Machining pallet Possible
number
6 (NOTE) When the TCP control is OFF, the workpiece coordinate system is usually used.
When under TCP control (G43.4/G43.5 modal), it follows the set value in the user
parameter (5 axes machining: common) <Programming coordinate system> and
either the <Wrkpc. coord. sys.> or the <Table coordinate system> is used.

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>.

<0: Depends on minimum unit system>


When the minimum unit setting is set to Type 1, then the range is from 0
to 359.999 [deg.].
0.000 to 359.999 is stored in the variables.
When the minimum unit setting is set to Type 2, then the range is from 0
to 359.9990 [0.1 deg]. 0.000 to 3599.990 is stored in the variables.
<1: 0.001 deg.> The range is from 0 to 359.999 [deg.].
0.000 to 359.999 is stored in the variables.

(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.

6.2.6.12 ATC Tool


Tool number set on the ATC Tool screen is read.
#3700 Spindle R
#3701 Pot 1 R
#3702 Pot 2 R
• • R
• • R
#3750 Pot 50 R

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

6.2.6.13 Workpiece Counter


The set values on the workpiece counter screen is read and written.
#3801 Workpiece counter 1 count R/W
#3802 Workpiece counter 1 current R/W
#3803 Workpiece counter 1 completion R/W
#3804 Workpiece counter 1 ending R/W
#3811 Workpiece counter 2 count R/W
#3812 Workpiece counter 2 current R/W
#3813 Workpiece counter 2 completion R/W
#3814 Workpiece counter 2 ending R/W
#3821 Workpiece counter 3 count R/W
#3822 Workpiece counter 3 current R/W
#3823 Workpiece counter 3 completion R/W
#3824 Workpiece counter 3 ending R/W
#3831 Workpiece counter 4 count R/W
#3832 Workpiece counter 4 current R/W
#3833 Workpiece counter 4 completion R/W
#3834 Workpiece counter 4 ending R/W

6.2.6.14 Result of Auto Workpiece Measurement


Results of auto workpiece measurements are read.
#3601 to #3608 Result of measurement 1 latest
X, Y, Z (NOTE 1), rotation, date, time, G code 1 (NOTE 2), R
G code 2 (NOTE 3)
6 #3611 to #3618 Result of measurement 2 latest R
#3821 to #3628 Result of measurement 3 latest R
#3631 to #3638 Result of measurement 4 latest R

(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.

6.2.6.15 Rotary Fixture Offset


The reference rotary fixture offset and the current rotary fixture offset are read and written.
#35501 to #35503 Current rotary fixture offset R
#35520 Axis for calculation for reference rotary fixture offset 1 R/W
#35521 to #35523 Reference offset for reference rotary fixture offset 1 R/W
#35524 to #35526 Reference angle for reference rotary fixture offset 1 R/W
#35540 Axis for calculation for reference rotary fixture offset 2 R/W
#35541 to #35543 Reference offset for reference rotary fixture offset 2 R/W
#35544 to #35546 Reference angle for reference rotary fixture offset 2 R/W
• • •
• • •
#35660 Axis for calculation for reference rotary fixture offset 8 R/W
#35661 to #35663 Reference offset for reference rotary fixture offset 8 R/W
#35664 to #35666 Reference angle for reference rotary fixture offset 8 R/W

2023/11/21 6 - 14 eCOM4NCPR6
Chapter 6 Macro

6.2.6.16 Machining load monitor


The set value that is used in the machining load monitor function and the machining load value are
read and monitored.
#36000 Current machining load 1 R
#36001 Parameter number being used R
#36002 Machining load monitor method for parameter number being used R
#36003 Time constant for parameter number being used R
#36004 Stop level when maximum is reached for parameter number being R
used
#36005 Stop level when minimum is reached for parameter number being R
used
#36006 Maximum machining load for parameter number being used R
#36007 Minimum machining load for parameter number being used R
#36008~#36009 (Reserved)
#36010 Most recent machining load for parameter No.1 (peak value) R
#36011 Most recent machining load for parameter No.1 (average value) R
#36012~#36019 (Reserved)
• • •
• • •
#36990 Most recent machining load for parameter No.99 (peak value) R
#36991 Most recent machining load for parameter No.99 (average value) R
#36992~#36999 (Reserved)
#37000 Most recent machining load for parameter No.201 (peak value) R
#37001 Most recent machining load for parameter No.201 (average value) R
#37002~#37009 (Reserved)
• • •
6
• • •
#37980 Most recent machining load for parameter No.299 (peak value) R
#37981 Most recent machining load for parameter No.299 (average value) R
#37982~#37999 (Reserved)

6.2.6.17 Rotation axis / Tilt axis


The set values are read for the user parameters and machine parameters used in the feature
coordinate setting function and TCP control.

User parameter (rotation axis/tilt axis setting)


#39001 Tilt axis 1 R
#39002 Rotation axis 1 R
#39003 Tilt axis 2 R
#39004 Rotation axis 2 R
#39005 Forward direction for the coordinate system on tilt axis 1 R
#39006 Forward direction for the coordinate system on rotation R
axis 1
#39007 Forward direction for the coordinate system on tilt axis 2 R
#39008 Forward direction for the coordinate system on rotation R
axis 2
#39009 Rotation center X coordinate offset for tilt axis 1 R
#39010 Rotation center Y coordinate offset for tilt axis 1 R
#39011 Rotation center Z coordinate offset for tilt axis 1 R
#39012 Rotation center X coordinate offset for rotation axis 1 R
#39013 Rotation center Y coordinate offset for rotation axis 1 R
#39014 Rotation center Z coordinate offset for rotation axis 1 R
#39015 Rotation center X coordinate offset for tilt axis 2 R
#39016 Rotation center Y coordinate offset for tilt axis 2 R
#39017 Rotation center Z coordinate offset for tilt axis 2 R
#39018 Rotation center X coordinate offset for rotation axis 2 R
#39019 Rotation center Y coordinate offset for rotation axis 2 R
#39020 Rotation center Z coordinate offset for rotation axis 2 R
#39021~39028 (Reserved)

2023/11/21 6 - 15 eCOM4NCPR6
Chapter 6 Macro

Machine parameter (System 2: common)


#39029 Rotation center X coordinate for tilt axis 1 R
#39030 Rotation center Y coordinate for tilt axis 1 R
#39031 Rotation center Z coordinate for tilt axis 1 R
#39032 Rotation center X coordinate for rotation axis 1 R
#39033 Rotation center Y coordinate for rotation axis 1 R
#39034 Rotation center Z coordinate for rotation axis 1 R
#39035 Rotation center X coordinate for tilt axis 2 R
#39036 Rotation center Y coordinate for tilt axis 2 R
#39037 Rotation center Z coordinate for tilt axis 2 R
#39038 Rotation center X coordinate for rotation axis 2 R
#39039 Rotation center Y coordinate for rotation axis 2 R
#39040 Rotation center Z coordinate for rotation axis 2 R

6.2.6.18 Stuck chips detection


The stuck chips detection result and value used in the detection are read, and the detection
threshold is written.
#40000 Tool No. (updated value) R
#40001 Magazine No. (updated value) R
#40002 Stuck chips detection position (updated value) R
#40003 Stuck chips reference value (updated value) R
#40004 Stuck chips detection thermal compensation R
(updated value)
#40005 Stuck chips detection result (updated value) R
6 0: Not detected
1: Normal
2: Stuck chips
3: Error
#40006 Stuck chips detection value (updated value) R
#40007 Reserved
#40008 Stuck chips detection thermal compensation R
(current value)
#40009 Stuck chips detection threshold R/W
#40010 Tool No. (Stuck chips detection data No.01) R
#40011 Magazine No. (Stuck chips detection data No.01) R
#40012 Stuck chips detection position R
(Stuck chips detection data No.01)
#40013 Stuck chips reference value R
(Stuck chips detection data No.01)
#40014 Stuck chips detection thermal compensation R
(Stuck chips detection data No.01)
#40015 Stuck chips detection result R
(Stuck chips detection data No.01)

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

#40025 Stuck chips detection result R


(Stuck chips detection data No.02)

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

6.2.6.19 Automatic thermal distortion compensation


The updated displacement amount and the compensation amount are read and displayed on the
<Auto. thermal distortion comp.> screen.

#42000 Displacement 1 (X-axis) R


#42001 Displacement 2 (X-axis) R
#42002 Spindle displacement (X-axis) R
#42003 Lathe spindle displacement (X-axis) R
#42004 Compensation 1 (X-axis) R
#42005 Compensation 2 (X-axis) R
#42006~#42029 Reserved
#42030 Displacement 1 (Y-axis) R
#42031 Displacement 2 (Y-axis) R
#42032 Spindle displacement (Y-axis) R
#42033 Lathe spindle displacement (Y-axis) R
#42034 Compensation 1 (Y-axis) R
#42035 Compensation 2 (Y-axis) R
#42036~#42059 Reserved
#42060 Displacement 1 (Z-axis) R
#42061 Displacement 2 (Z-axis) R
#42062 Spindle displacement (Z-axis) R
#42063 Lathe spindle displacement (Z-axis) R
6 #42064
#42065
Compensation 1 (Z-axis)
Compensation 2 (Z-axis)
R
R
#42066~#42099 Reserved

(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

6.3 Calculation Function


6.3.1 Types of Calculation
The calculations mentioned below are implemented with variables and values.
Definition of variable #i = #j Definition and replacement
#i = #j + #k Addition
#i = #j - #k Subtraction
Addition-type calculation
#i = #j OR #k Logical sum
#i = #j XOR #k Exclusive OR
#i = #j * #k Multiplication
Multiplication-type
#i = #j / #k Division
calculation
#i = #j AND #k Logical multiplication
#i = SIN [#k] Sine
#i = COS [#k] Cosine
#i = TAN [#k] Tangent
#i = ATAN [#k] Arctangent
#i = SQRT [#k] Square root
Function #i = ABS [#k] Absolute value
#i = BIN [#k] BCD to BIN conversion
#i = BCD [#k] BIN to BCD conversion
#i = ROUND [#k] Rounding
#i = FIX [#k] Truncate decimal places
#i = FUP [#k] Round up to the next whole number

(NOTE) i, j, and k in the #i, #j, and #k are numerical values.


They indicate macro variables such as #10.
#j and #k on the right side of an equation may be a constant.
6
6.3.2 Precedence of Calculation
Precidence of calculation is:
1. Function
2. Multiplication-type calculation
3. Addition-type calculation.

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

6.3.3 Precautions for Calculation


(NOTE 1) Equations
Equations on the right side are constants, variables, or functions, or allow
associativity by operators.
Constants without a decimal point are regarded as having a decimal point at the end
of the figure.
Ex.) For #1 = 12;, #1 is 12.000.
(NOTE 2) Angle calculation
The unit of functions SIN, COS, TAN, and ATAN is degrees.
Ex.) 90 degrees and 30 minutes is commanded as 90.5 degrees.
(NOTE 3) Logical operation
Operations mentioned below are performed for the bits of the integer portion of a
logical sum, logical multiplication, and exclusive OR. The fractional portion is 0.
Target of operation AND result OR result XOR result
0 and 0 0 0 0
0 and 1 0 1 1
1 and 0 0 1 1
1 and 1 1 1 0

(NOTE 4) BCD-BIN conversion


BIN means binary number. BCD means binary-coded decimal.
Each digit of a decimal number is expressed by a binary number of 4 bits.
Ex.) 12 = 0001(4 bits)0010(4 bits)
00010010 (a binary number) is equal to 18. When we BIN-to-BCD convert 12,
we obtain 18.
6 BCD-to-BIN conversion is the reversal of the above operation.
Fractional portion of the source figure is always treated as 0.
(NOTE 5) Range of a constant
The range of a constant used in equations is:
-999999999999 to -0.00000000001,
0, and
+0.00000000001 to +999999999999
Maximum number of digits available for a constant is 12 digits by decimal number.
(NOTE 6) Accuracy of operation
Certain numerical errors occur and increase with each operation of macro
statements. However, the data is retained internally using the floating decimal point
system to ensure about 15 signigicant digits (by decimal number) for a value to
warrant accuracy.

2023/11/21 6 - 20 eCOM4NCPR6
Chapter 6 Macro

6.4 Control Function


The flow of a program is changed under certain conditions using the control function. Three types
of control functions are:.

1. GOTO instrruction (unconditional branching)


2. IF instruction (conditional branching)
3. WHILE instruction (repetition)
Use and control availability of these functions are described below.

6.4.1 GOTO Instruction (Unconditional Branching)


The program branches to sequence No. n (n: 1 to 99999) unconditionally.

Command format GOTO n;

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 ;

N2 (sequence No. 2) is skipped unconditionally.


6
If N2 is executed, the control skips to the sequence number of the value of #10.

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.

(NOTE 1) If a command is issued in extended memory operation, tape operation or MDI


operation, only searching within a range for approximately 60 KB is possible.
(NOTE 2) If a GOTO command is issued on the same block as the block with the sequence
number that was skipped using M98H/M99P while in extended memory operation,
tape operation or MDI operation, then the alarm <<Macro command error>> is
triggered. In addition, when a macro statement is issued on the same block as the
sequence number block and only a macro statement is issued on the next block until
a GOTO command, then the same alarm is also triggered.
(NOTE 3) If there is no sequence number specified from GOTO until the end of the program,
or from GOTO until the end of a 60 KB range while in extended memory operation,
tape operation or MDI operation, then the alarm <<No applicable sequence>> is
triggered. (Any sequence number from the beginning of the program until the
GOTO is not targeted in this search.)

2023/11/21 6 - 21 eCOM4NCPR6
Chapter 6 Macro

6.4.2 IF Instruction (Conditional Branching)


A conditional equation is specified after IF.

Command format IF [Conditional equation] GOTO n;

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.

Types of conditional equations


#i EQ #j #i is equal to #j
#i NE #j #i is not equal to #j
#i GT #j #i is greater than #j
#i LT #j #i is less than #j
#i GE #j #i is equal to or greater than #j
#i LE #j #i is less than #j

(NOTE 1) Conditional equation is placed within the brackets [ , ].


(NOTE 2) The range of values used in a conditional equation is given below.
Metric: -9223372036854775.808 to 9223372036854775.807
Inch: -922337203685477.5808 to 922337203685477.5807
If an out of range numerical value is used, the alarm <<Macro variable error>> is
triggered.
6
Ex)
:
:
(1) IF[#100 EQ 50] GOTO 123;
:
:
(2) IF[#101 GT 102] GOTO 123;
:
:
(3) GOTO 124;
:
:
(4) N123;
:
:
(5) N124;
:
:

In the above example,


At (1), if the variable of #100 is 50, the control skips to (4) or seq. No. 123.
If the variable of #100 is not 50, the control goes to the next block (2).
At (2), if #101 is greater than 102 (#101>102), the control goes to (4) or seq. No. 123.
If #101 is equal to or less than 102 (#101≦102), the control goes to the next block (3).
At (3), the control skips to (5) unconditionally according to the GOTO instruction.

(NOTE) If a command is issued in extended memory operation, tape operation or MDI


operation, only searching within a range for approximately 60 KB is possible.

2023/11/21 6 - 22 eCOM4NCPR6
Chapter 6 Macro

6.4.3 WHILE Instruction (Repetition)


Command format WHILE [Conditional equation] DOm~ENDm;

m = 1~4

A conditional equation is inserted after WHILE.


Programs between DO and END are executed as long as the conditional equation is met.
The control goes to the block next to END when the conditional equation is no longer satisfied.
When WHILE[Conditional equation] is omited, programs between Dom and ENDm is repeated
infinitely.
Conditional equation is included in the brakets [ , ].

Ex) WHILE instruction


WHILE [Conditional equation] DO m; (m=1~4)

Condition met
Processing Condition not met

END m;

(NOTE 1) The range of values used in a conditional equation is given below. 6


Metric: -9223372036854775.808 to 9223372036854775.807
Inch: -922337203685477.5808 to 922337203685477.5807
If an out of range numerical value is used, the alarm <<Macro variable error>> is
triggered.
(NOTE 2) If a command is issued in extended memory operation, tape operation or MDI
operation, the command is only possible within a range of approximately 60 KB
between DOm and ENDm with the same identifier. When a sub program is called
between DOm and ENDm, the size of that sub program is not included in the 60 KB.
(NOTE 3) If a WHILE command is issued on the same block as the block with the sequence
number that was skipped using M98H/M99P while in extended memory operation,
tape operation or MDI operation, then the alarm <<Macro command error>> is
triggered. In addition, when a macro statement is issued on the same block as the
sequence number block and only a macro statement is issued on the next block until
a WHILE command, then the same alarm is also triggered.

2023/11/21 6 - 23 eCOM4NCPR6
Chapter 6 Macro

6.4.4 Precautions for control function


(NOTE 1) DOm and ENDm must have a one-to-one relationship in WHILE instructions.
The alarm <<Macro Command Error>> occurs.
:
WHILE [#100 LT 10] DO 1;
:
:
WHILE [#101 EQ 50] DO 1;
:
:
END 1;
:

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

(NOTE 3) Multiplicity of DOs in WHILE instructions is up to 4-fold.


When the nesting has exceeded 4, the alarm <<Macro execution error>> is
triggered.
:
WHILE [#100 LT 10] DO 1; Single

:
:
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;
:
:

(NOTE 4) IF and WHILE instructions


An IF-GOTO instruction cannot branch into WHILE-END. The alarm <<Macro
Command Error>> occurs.
IF[#100 LT 10] GOTO 123;
:
:
WHILE [#101 EQ 0] DO 1;
:
:
N123;
:
:
END 1;

2023/11/21 6 - 25 eCOM4NCPR6
Chapter 6 Macro

(NOTE 5) IF and WHILE instructions


It is possible to branch off the WHILE-END to other part using IF-GOTO present in
WHILE-END.
WHILE [#101 EQ 0] DO 1;
:
:
IF[#101 LT 10] GOTO 123;
:
:
END 1;
:
:
N123;

2023/11/21 6 - 26 eCOM4NCPR6
Chapter 6 Macro

6.5 Call Function


This function uses G65 or G66 and G code or M code that is registered in the data bank <G/M
code macro> to call and execute a separate program. More specifically it could be called a macro
calling function or a macro program, which is a program that is called.

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.)

Difference between M99 and M02

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.

6.5.1 Simple Call Function


There are two methods to call a program: using a program number and using a program name.

Command format G65 P_ L_ (argument); … Program number call


G65 <****> L_ (argument); … Program name call

P : Call macro program number, or


<****> : Call macro program name (**** refers to the program name)
L : Number of repeats of call (up to 9999)
A single call is determined if it is omitted
A command cannot be issued when carrying out tape operation (general
communications device).
(Argument) : Data to be sent to the macro; may be omitted.

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

6.5.2 Modal Call Function


Once call is registered, the designated macro program is called automatically each time an axis
travel command is executed.

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.

Command format G66 P_ L_ (argument); … Program number call


G65 <****> L_ (argument); … Program name call

P : Call macro program number, or


<****> : Call macro program name (**** refers to the program name)
L : Number of repeats of call (up to 9999)
A single call is determined if it is omitted (see description of G65)
A command cannot be issued when carrying out tape operation (general
communications device).
(Argument) : Data to be sent to the macro; may be omitted.

Cancel is commanded as follows:

Command format G67;

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).

(NOTE 1) G67 must be commanded outside the called program.


G66 mode can also be canceled by M30.
(NOTE 2) G66 may not be commanded during the G66 mode.
(NOTE 3) G66 command registers a macro program, ready for being called. It does not
actually call and execute a macro.
(NOTE 4) Macro variables may be used for specifying a macro program. It is necessary, in this
case, to register all programs possibly called by macro variables by inserting M98P?
(? = program number) after M30 (M02), such as M98P1 (calling program No. 1).
This also applies when using G66 (G67) in place of M98.
Ex) Assume #100 can take values of 1, 5, and 100
G66 P#100; ← a macro variable is used in macro program call
G0 X10.Y10.;
G100 T1R150.Z100.;
G67;
M30;
M98P1; All possible M98P** commands are inserted
M98P5; after M30 command.
M98P100;
(NOTE 5) G/M code macro command 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 a command is issued for P_ and <****> simultaneously, the data is
overwritten after the command.

2023/11/21 6 - 28 eCOM4NCPR6
Chapter 6 Macro

6.5.3 G Code Macro Call


A macro program can be called using a registered G code simply by registering the G code number
and the corresponding program, used for macro calling, ahead of time in the parameters.
(O0001) (O0002)
G0X#24Y#25;
G28Z#26;
G0Z[#26+10.0];
G200X-100.Y-100.Z300.S3000; G1Z#26M3S#19F1000;

M30; M99;

Command format GxxxL_ (argument);

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>

<G/M code macro (G code macro)>


• <G code number>
• <Program>
• <Call method>

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”.

6.5.4 M Code Macro Call


A macro program can be called using a registered M code simply by registering the M code
number and the corresponding program, used for macro calling, ahead of time in the parameters.
(O0001) (O0002)
G0X#24Y#25;
G28Z#26;
G0Z[#26+10.0];
G1Z#26M3S#19F1000;
M200 X-100. Y-100.Z300.S3000;

M99;
M30;

Command format Mxxx L_ (argument);

xxx : M code (discussed later) registered in the parameter


However, 0, 1, 2, 30 and 98 to 99 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.

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>

<G/M code macro (M code macro)>


• <M code number>
• <Program>

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

6.5.5 Macro Call Arguments


Arguments must be specified if it is necessary to send local variables to macro programs.
There are 2 methods for specifying arguments.

6.5.5.1 Argument for simple/modal call function


Method 1:
Arguments are specified with all addresses except G and O.
Address for specifying arguments Variables in macro
A #1
B #2
C #3
D #7
E #8
F #9
G -
H #11
I #4
J #5
K #6
L -/#12(NOTE 1)
M #13
N #14(NOTE 2)
O -
P #16
6 Q #17
R #18
S #19
T #20
U #21
V #22
W #23
X #24
Y #25
Z #26

(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

6.5.5.2 Argument for G code macro call


The same content as in “6.5.5.1 Argument for simple/modal call function” applies.

2023/11/21 6 - 33 eCOM4NCPR6
Chapter 6 Macro

6.5.5.3 Argument for M code macro call


Method 1:
An argument can be specified in all addresses except O
Address for specifying arguments Variables in macro
A #1
B #2
C #3
D #7
E #8
F #9
G #28 to #32(NOTE 1)
H #11
I #4
J #5
K #6
L -/#12(NOTE 2)
M #13, #27(NOTE 3)
N #14(NOTE 4)
O -
P #16
Q #17
R #18
S #19
T #20
6 U
V
#21
#22
W #23
X #24
Y #25
Z #26

(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.

6.5.5.4 Special notes on macro call arguments


1. An address that is not required does not need to be specified.
2. The value is left blank for any local variable that corresponds to an unspecified address.
3. The method changes back and forth between method 1 and 2 depending on the address being
used. When both methods are being used, the value specified afterward becomes valid.

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)

6.5.6 Difference Between G65 and M98/M198


1. G65 can specify arguments but M98/M198 cannot. 6
2. G65 can have local variables for respective levels of its multiplicity but M98/M198 cannot.
3. Multiplicity of call of G65 is up to 8-fold including call by M98/M198, and up to 4-fold by
itself.

2023/11/21 6 - 35 eCOM4NCPR6
Chapter 6 Macro

6.5.7 Multiple Call


Up to 4-level deep macro call is possible. Local variables (#1 to #33) are prepared for each level.
When a macro is called by G65, etc., the current local variables are saved and those for the level of
the called macro program are newly set for use. The saved local variables return when M99 is
executed.
Common variables are read and written across all levels.

Level 0 Level 1 Level 2 Level 3 Level 4


Program Program Program Program
Main program
8010 8020 8030 8040

G65P8010 G65P8020 G65P8030 G65P8040


I3.J4.; I5.J6.; I7.J8.; I9.J10.;

M30; M99; M99; M99; M99;

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

Common variables: Read and written from all levels


#100~#199
#500~#999

2023/11/21 6 - 36 eCOM4NCPR6
Chapter 6 Macro

6.6 External Output Function


When executing an external output command shown below during memory operation, the macro
variable values or characters can be output to external devices through RS-232C or can be output
as a file to a memory card/FTP(S) server.

1. POPEN … Instruction that executes a preparatory processing of data output


2. BPRNT … Instruction that executes an output of characters and a binary output of macro
variable values
3. DPRNT ... Instruction that executes an output of characters and a character string output
of macro variable values
4. PCLOS … Instruction that executes a terminating processing of data output

Figure 1 - NC program including external output command


G90;
:
POPEN;
BPRNT[#100[3]];
DPRNT[#2[63]];
PCLOS;
:
M30;

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;

When connecting to a <General COMM device>


The control code of “DC2” is output if the <Communication mode> of the <Communication
parameter> is <1: Code 1> or <2: Code 2>.Nothing is output if <0: Line> is set.

When connecting to a <Memory card>


It opens the memory card file.

When connected to an <FTP(S) server>


This connects to the FTP(S) server.

(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.

Command format BPRNT[ xx #xx [x] … ];

Valid digits after decimal (0 to 9)


Macro variable
Character

(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 “(” “)” “=” “/” “.” “+” “,” “-” “?” “:”

A space is not output. Instead, “###” is output with a space code.

(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.

2. Output of macro variables


Specify the number of significant digits after decimal point in square brackets following the
variable command. Macro variable value is treated as 4-byte (32-bit) data, and it is output as
binary data, starting from the high-order byte.

(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:

BPRNT[DATA*X*#100[2] Y*#101[2] Z*#102[0]];

Variable values are


#100=123.456
#101=-123.456
#102=0.056
When output character code is set to ISO, and the end code of the block to CR, LF

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

* SP: space code

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.

Command format DPRNT [ xx #xx [x x] … ];


Significant digits after decimal point
(0 to 9)
Significant digits before decimal point
(0 to 9)
Macro variable
Character

(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:

DPRNT[X*#100[44] Y*#101[22] Z*#102[20] *#100[2]];

Variable values are


#100=-123.456
#101=123.456
#102=0.056
When output character code is set to ISO, and the end code of the block to CR, LF

(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

* SP: space code

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.

Command format PCLOS;

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.

When connecting to a <General COMM device>


The control code of “DC4” is output if the <Communication mode> of the <Communication
parameter> is <1: Code 1> or <2: Code 2>. Nothing is output if <0: Line> is set.

When connecting to a <Memory card>


It closes the memory card file.

When connected to an <FTP(S) server>


The connection to the FTP(S) server is severed.

(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.6.5 External Output to Memory Card


The external output data is saved in the root folder under the file name: date + sequence number.

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.

6.6.6 External Output to FTP(S) Server


The data that is output externally is saved under the file name (character string + date + sequence
number) specified in the communication parameter <External output - FTP output name> and is
saved to the folder specified in the communication parameter <External output - FTP output
destination>. The method for saving output data varies depending on the setting in the
communication parameter <External output - File format>.
Output folder: Folder specified in the communication parameter <External output –
FTP output destination>
Output folder name: SSSSSyyyymmdd_****.log
SSSSS: Character string specified in the communication parameter
<External output – FTP output name>
yyyy: Year
mm: Month
dd: Day
****: Sequence number (0000 to 9999)

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.

6.6.7 Precautions for External Output Command


1. The external output command can be used during memory operation (including extended
memory operation) in NC language mode and during MDI operation. The alarm <<Macro
execution error>> is triggered when an external output command is made during an MDI
intervention in memory operation mode.
2. Data is output also in dry run and machine lock.
3. The mode cannot be changed when executing an external output command.
4. At program restart, external output commands specified before the restart position are also
executed.
5. Variables that are empty are regarded as 0.
6. Up to 10 macro variables may be specified in the output data of one block.
7. It is not possible to specify macro variables and the number of significant digits using a macro
variable.

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)

When connecting to a <Memory card>


• [RST] key is pressed
• Operation reset
• Running program is stopped due to alarm (stop level 3 or higher)
• Running program is stopped when alarm (stop level 2 or higher) is triggered

When connected to an <FTP(S) server>


• [RST] key is pressed
• Operation reset
• Running program is stopped due to alarm (stop level 3 or higher)
• Running program is stopped when alarm (stop level 2 or higher) is triggered

9. When connected to a <General COMM device>, if the <Communication parameter> <Check


DR signal> is set to <1: Yes>, the DR signal is checked between the POPEN command until
the PCLOS command. The alarm <<DR signal off>> occurs when DR signals are turned off
during this period.
10. When connected to a <General COMM device>, a <Memory card> or an <FTP(S) server> and
another setting is configured, the alarm <<Connected to wrong device>> is triggered when the
POPEN command is executed.
6

2023/11/21 6 - 43 eCOM4NCPR6
Chapter 6 Macro

6.7 Interrupt Macro (Option)


Interrupt macro is a function to suspend the program currently being executed on detecting an
interrupt signal (external input signal: UINT) and execute the commanded program.
A program that is executed by interruption is called interrupt program.
There are two methods to call a program: using a program number and using a program name.

Command format M96 P_; … Program number call


M96 <****>; … Program name call

P : Interrupt program number, or


<****> : Interrupt program name (**** refers to the program name)

Use the command below to cancel an interruption.

Command format M97;

The following conditions are required to use interrupt macros:


• Memory operation
• The system is in automatic operation (external output: STL signals ON)
• Not executing an interrupt macro
Any interrupt signal that is received under conditions other than the above is ignored.

Subprograms and macros can be called from interrupt programs.


6 Insert M99 command to return from an interrupt macro to the main program. The sequence
number in the main program to return to can be specifed using P address.

In addition to use of M97, the following operations cancel interruption:


• Operation reset
• Commanding M02 (M30)
M97 is effectively commanded in an interrupt program or in a program called from an interrupt
program.

Main program Interrupt program

(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;

M30; M99; M99;

(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;

M30; M99; M99;

(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;

M30; M99; M99;

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.

6.7.1 Interrupt Type


When an interrupt signal is detected, the user parameter (switch 1: programming) <Interrupt macro
interrupt type> can be used to set how to interrupt the currently executing block.

1. Type 1: Interrupt by suspending the execution


The currently being executed block is suspended on detecting an interrupt signal, and the
interrupt program starts immediately.

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.

Interrupt signal ON Suspended due


to interrupt

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.

Interrupt signal ON Suspended due


to interrupt

Ordinary program
Remainder executed

Interrupt program No NC statement

Refer to “6.7.6 Macro Statement and NC Statement” for the detailed description of NC
statement.

2. Type 2: Interrupt without suspending the execution


The interrupt program is executed on detecting an interrupt signal without suspending the
currently executed block.

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

• Currently executed block is a single operation command:


Macro statement is executed immediately.

Interrupt sig. ON
N2 Ex.: G1X-100.;

Ordinary program

Interrupt program
Execute macro Execute NC statement
statement only

• Currently executed block is a multiple operation command:


Macro statement is executed simultaneously with the last travel command of the cycle
operation.

Interrupt signal ON Start of last travel command of G28.


(Travel command to reference point)
N2 Ex.:G91 G28 X0.;

6
Ordinary program

Interrupt program Execute macro Execute NC


statement only statement

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.

(NOTE) Operation of “Type 2: Interrupt without suspending the execution” applies,


irrespective of the value of <Interrupt type macro interrupt system>, when the
following operations are currently executed:
• Reference point return (G28/G29/G30)
• Canned cycle (G73 to G89, G177 to G189, G277/G278)
• Tool replacement canned cycle (G100/M06)
• Pallet turn
• Coordinate calculation function (G36 to G39)
• Automatic workpiece measurement (G120 to G129)
• Tap torsion direction change (G133/G134)
• Brake load test

2023/11/21 6 - 47 eCOM4NCPR6
Chapter 6 Macro

6.7.2 Call Type


There are two ways to call an interrupt program in an interrupt type macro. The user parameter
(switch 1: programming) <Interrupt macro call type> is used to set the type or method for calling
said interrupt program.

1. Subprogram type interruption


Interrupt programs are called as subprogram. The level of local variables will not change
before and after interruption.

2. Macro type interruption


Interrupt programs are called as macro program. The level of local variables will change
before and after interruption. It is not possible, however, to deliver arguments from the
program currently being executed. All local variables immediately after interruption are
cleared to <empty.>

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.

6.7.3 Acceptance Type


There are two ways to receive and accept an interrupt signal. The user parameter (switch 1:
programming) <Interrupt macro acceptance type> is used to set the type or method for receiving
said signal.

1. Type 1: Status trigger system


Signals are accepted when interrupt signal is ON.
6 An interrupt program is executed when the interrupt signal is ON at the time when the
interrupt macro becomes valid with M96.
An interrupt program can be repeatedly executed if you keep the interrupt signal ON steadily.

2. Type 2: Edge trigger system


Signals are accepted only at the timing of interrupt signal rising from OFF to ON. Interrupt
program is not executed even when the interrupt signal is ON at the time when an interrupt
macro becomes valid with M96.

Interrupt signal
ON

OFF

Status trigger system

Edge trigger system Execute interrupt macro

2023/11/21 6 - 48 eCOM4NCPR6
Chapter 6 Macro

6.7.4 Interrupt Macro and Modal Information


The modal information, changed in the interrupt program, is differnetly transferred to the source
program depending on how the control leaves the interrupt program.

1. Returning with M99 (sequence number not specified)


Modal information except M code (G/T/H/D/S/F codes) before interruption is valid. Modal
information modified in the interrupt program turns invalid.

M code modal information, modified in the interrupt program, continues to be valid as it is


modified.

Main program Interrupt program


(O0001) (O1000)
M96 P1000; G91
Interrupt G90 M05;
signal M03 S1000
Without P
command

Modal before interrupt


restores except M
code modal

M99;
6

2. Returning with M99PXXXX (with a sequence number specified)


Modal information, modified in the interrupt program, is valid as it is modified.
You can reference the modal information used before interruption using system variables
#4401 to #4530.
Main program Interrupt program
Interrupt (O0001) (O1000)
signal M96 P1000;

With P
command

N0200;

Modal as modified in
interrupt program is valid

M99 P0200;

2023/11/21 6 - 49 eCOM4NCPR6
Chapter 6 Macro

6.7.5 Interrupt Macro and Current Position


The values of macro variables indicating the current position at execution of an interrupt program
are shown below.

Interrupt occurs B0
Tool center path B1

A0

Program path

Variable No. Contents Conditions of reference Coordinate values


#5001 to End point coordinates From interruption to the It is undefined. Do not
#5008 first NC statement use it.
After start of NC statement Coordinates of B1
that does not include travel position
commands
After start of NC statement Coordinates of end point
that include travel of travel command
commands
#5021 to Current position Machine coordinates of
6 #5034 (Machine coordinate B1 position
system)
#5041 to Current position Workpiece coordinates
#5054 (Workpiece coordinate of B1 position
system)

Refer to the “6.7.6 Macro Statement and NC Statement” for the detailed description of NC
statement.

6.7.6 Macro Statement and NC Statement


Blocks satisfying the conditions below are macro statement. Those that do not satisfy them are NC
statement.

• Includes calculation command (Refer to “6.3 Calculation function”) (*)


• Includes control command (Refer to “6.4 Control function”) (*)
• Includes external output command (Refer to “6.6 External output function”) (*)
• Includes macro simple call command (G65)
• Blocks including sub program call commands (M98) and external sub program call commands
(M198)
• Includes a return command (M99) from macro program / subprogram

* 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.

6.7.8 Reference Folder When Interrupt Type Macro is


Executed
The folder that is referenced when executing an interrupt type macro is as follows depending on
6 the operation type.

(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

7.1 List of Automatic Workpiece Measurement


Functions
7.2 Before Automatic Workpiece Measurement 7
7.3 Setting Data for Automatic Workpiece Measurement
7.4 Command Procedure for Automatic Workpiece
Measurement
7.5 Measurement Results Processing
7.6 Lock Key Operations
7.7 Program Restart Operation
7.8 <Signal OFF check method for instrument
detection>

2023/11/14 7- 1 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

7.1 List of Automatic Workpiece Measurement


Functions
1. G121…X and Y coordinates for corner

+Z

+Y

+X

2. G129…X and Y coordinates for groove

+Z

+Y

+X

7
3. G122…X and Y coordinates for center of parallel groove

+Z

+Y

+X

4. G123…X and Y coordinates for center of parallel boss

+Z

+Y

+X

2023/11/14 7- 2 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

5. G124 and G126…X and Y coordinates for center of hole

+Z

+Y

+X

6. G125 and G127…X and Y coordinates for center of circular boss

+Z

+Y

+X

7. G128…Z-axis coordinate on top surface of workpiece

+Z 7
+Y

+X

2023/11/14 7- 3 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

7.2 Before Automatic Workpiece Measurement


The user parameter (switch 1: programming) <Measurement setting 1> is used in the automatic
workpiece measurement function. Make sure that only the devices or instruments used for the
measurement are enabled.
In addition, set the necessary user parameters (automatic workpiece measurement/automatic
centering).
If the parameters are not correctly set, the probe can become damaged.

(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.3 Setting Data for Automatic Workpiece


Measurement
Description of the user parameters (automatic workpiece measurement/automatic centering)
Item Description
<Automatic workpiece Set the difference between the center of the stylus tip ball and the center of the
measurement spindle when the detection signal turns ON with the touch probe attached to the
compensation X (corner)> spindle. The X value of the difference corresponds to the <Automatic workpiece
<Automatic workpiece measurement compensation X (corner)> and the Y value of the difference
measurement corresponds to the <Automatic workpiece measurement compensation Y
compensation Y (corner)> (corner)>.
We recommend performing the automatic setting on the automatic centering -
<Automatic workpiece measurement compensation (corner)> screen in MDI
mode.

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

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- 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

Stop point before automatic workpiece 7


measurement
<1: Type 2>
1. Detection signal OFF check
2. Travels at automatic workpiece measurement speed 1 in specified axis
direction
3. Axis travel stops when detection signal turns ON
4. Returns to front traveling the return distance
5. Detection signal OFF check

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

F1 < (120000L ÷ (8+t+2×tp)) ÷ 1.2



Safety factor

(Reference) Relational expression between each signal


L ≧ ((F1 × td) ÷ (60 × 1000))
↑ Overtravel amount due to delay in control system
* Control system delay = td (msec) = 4 (msec)
+ ((F1 × t/2) ÷ (60 × 1000))
↑ Overtravel amount due to acceleration/deceleration
+ ((F1×tp )÷(60×1000))
↑ Overtravel amount due to probe delay

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.

Setting range 1 to 5000 mm/min


0.1 to 196.8 inch/min
(When using Type 1 for the minimum unit setting)
<Automatic workpiece Set the second measurement speed for the automatic workpiece measurement
measurement speed 2> motion (Type 1) and the measurement speed for the measurement motion (Type
2).
When this value is increased, there will be greater variance in the measurement
results. Therefore, set a value that corresponds to the targeted accuracy.
The variance over repeated measurements is the probe’s repeatability plus the
variance (approx. 1.0 (um) for F2000) on the control side.

(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.

Setting range 1 to 5000 mm/min


0.1 to 196.8 inch/min
(When using Type 1 for the minimum unit setting)

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)

Stop point before


automatic
workpiece
measurement Travel limit distance in
automatic workpiece
measurement
Tool radius

<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

Setting range 0.000 to 99.999 mm


0.0000 to 9.9999 inch
(When using Type 1 for the minimum unit setting)

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

(Reference) Significance of (a) and (b)


Set a minimum return stroke of 1.0 (mm) because there may be
interference between the probe and workpiece (due to any variance
in the workpiece configuration) when the Z-axis returns during the
measurement motion.
It is preferable to have the probe and workpiece come into contact
during measurement while at a constant speed (not during
acceleration). Therefore, set the return stroke so it is greater than the
travel amount needed to reach the constant speed.

7 Setting range 0.000 to 99.999 mm


0.0000 to 9.9999 inch
(When using Type 1 for the minimum unit setting)
<Signal OFF check Set the method for checking the measurement detection signal OFF before axis
method for instrument travel. When set to <Method 2>, the time it takes to measure can be shortened.
detection> <Method 1>
Checks before each operation.
<Method 2>
Streamlines checking the measurement detection signal OFF before the operation
except for measurement operations.

(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

7.4 Command Procedure for Automatic Workpiece


Measurement
7.4.1 Corner
Command format
Boss G121 X_ Y_ I_ J_ K_ L_ D_ Z_ R_ Q_;
Groove G129 X_ Y_ I_ J_ K_ L_ D_ Z_ R_ Q_;

(X, Y)
+Z J
L
I
+Y
K

+X

(X, Y)

I
+Z J
K
+Y L

+X

X and Y : Predicted value for corner


I and K : X-axis coordinate position when measuring in Y direction. Offset from (X, Y)
J and L : Y-axis coordinate position when measuring in X direction. Offset from (X, Y)
D : Cutter compensation No.
Z : Z coordinate when measuring
R : When traveling from measurement position to the measurement position, and
return position after travel ends
Q : Measurement number (1 to 4 and 1 is used when omitted)

2023/11/14 7 - 12 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

(NOTE 1) An alarm is triggered when a J command is not issued or when I = 0 or J = 0.


(NOTE 2) If a workpiece is tilted and a K or L command is issued, the angle of the tilted
workpiece (angle used in the rotational transformation) is also calculated.
The alarm <<Auto workpc. meas. address error>> is triggered when both K and L
are specified or when a 0 command is issued.
(NOTE 3) Before carrying out (G121/G129), perform <Automatic workpiece measurement
compensation (corner)> for the automatic centering, and set the compensation in the
user parameters (automatic workpiece measurement / automatic centering)
<Automatic workpiece measurement compensation X (corner)> and <Automatic
workpiece measurement compensation Y (corner)>.
(NOTE 4) The D modal does not change with the D command.

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.

I and J signs, spindle orientation, and measurement skip travel direction

(1) I > 0 and J > 0

+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

(2) I > 0 and J < 0

2nd +Y

I
+X

1st

1st +X direction, spindle 0°


2nd -Y direction, spindle 180°

(3) I < 0 and J > 0

+Y

1st
+X
J

7 I

2 nd

1st -X direction, spindle 180°


2nd +Y direction, spindle 0°

(4) I < 0 and J < 0

2nd +Y

I
J +X

1st

1st -X direction, spindle 180°


2nd -Y direction, spindle 180°

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.

(1) I > 0 and J > 0

+Y
1st

J +X
2nd
I

1st -X direction, spindle 180°


2nd -Y direction, spindle 180°

(2) I > 0 and J < 0

+Y 7
I
2nd +X
J
1st

1st -X direction, spindle 180°


2nd +Y direction, spindle 0°

(3) I < 0 and J > 0

1st +Y
2nd
J
+X
I

1st +X direction, spindle 0°


2nd -Y direction, spindle 180°

2023/11/14 7 - 15 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

(4) I < 0 and J < 0

+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

X and Y : Predicted value for groove (boss) center


I and J : Groove width
I : Width in X-axis direction
J : Width in Y-axis direction
Simultaneous commands for I and J cannot be issued
D : Cutter compensation No.
Z : Z coordinate when measuring
R : Z coordinate for return height position
Q : Measurement number (1 to 4 and 1 is used when omitted)

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.

(1) When command is issued

+Y

+X
2nd 1st

(2) When J command is issued

+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.

(3) When I command is issued

I
+Y

+X
2nd 1st

(4) When J command is issued


7 +Y

1st

+X

2nd

2023/11/14 7 - 18 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

7.4.3 Circle Center


Command format
3 points are measured to calculate the center of the circle.

Hole G124 X_ Y_ I_ D_ Z_ R_ Q_;


Boss G125 X_ Y_ I_ D_ Z_ R_ Q_;

4 points are measured to calculate the center of the circle.

Hole G126 X_ Y_ I_ D_ Z_ R_ Q_;


Boss G127 X_ Y_ I_ D_ Z_ R_ Q_;

X and Y : Predicted value for hole (boss) center


I : Diameter of circle being measured
D : Cutter compensation No.
Z : Z coordinate when measuring
R : Z coordinate for return height position
Q : Measurement number (1 to 4 and 1 is used when omitted)

+Z

+Y

I +X

+Z

I
+Y

+X

(NOTE) Before carrying out (G124/G125), perform <Automatic workpiece measurement


compensation (3-point circle)> for the automatic centering, and set the
compensation in the user parameters (automatic workpiece measurement / automatic
centering) <Automatic workpiece measurement compensation X (3-point circle)>
and <Automatic workpiece measurement compensation Y (3-point circle)>.

2023/11/14 7 - 19 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

Hole and 3-point measurement


(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. (Y-axis plus direction)
4. Spindle orientation 0°. Travels to the second measurement start position for the X- and Y-
axes.
5. Second measurement. (Direction that forms the 120° angle with the first)
6. Spindle orientation 0°. Travels to the third measurement start position for the X- and Y-axes.
7. Third measurement. (Direction that forms the 240° angle with the first)
8. Travels to the return height point on the Z-axis.

+Y
1st

+X
3rd

2nd

Boss and 3-point measurement


(Motion)
7 1. Spindle orientation 180°. Travels to the first measurement start value for the X- and Y-axes.
2. Travels to the measurement position on the Z-axis..
3. First measurement. (Y-axis minus direction)
4. Returns to the return height point on the Z-axis.
5. Spindle orientation 180°. 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. (Direction that forms the 120° angle with the first)
8. Returns to the return height point on the Z-axis.
9. Spindle orientation 180°. Travels to the third measurement start position for the X- and Y-
axes.
10. Travels to the measurement position on the Z-axis..
11. Third measurement. (Direction that forms the 240° angle with the first)
12. Returns to the return height point on the Z-axis.

1st +Y

+X

2nd 3rd

2023/11/14 7 - 20 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

Hole and 4-point measurement


(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. (X-axis plus direction)
4. Spindle orientation 180°. Travels to the second measurement start position for the X- and Y-
axes.
5. Second measurement. (X-axis minus direction)
6. Spindle orientation 0°. Travels to the third measurement start position for the X- and Y-axes.
7. Third measurement. (Y-axis plus direction)
8. Spindle orientation 180°. Travels to the fourth measurement start position for the X- and Y-
axes.
9. Fourth measurement. (Y-axis minus direction)
10. Travels to the return height point on the Z-axis.

+Y

3rd
+X

2nd

1st

4th
7

2023/11/14 7 - 21 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

Boss and 4-point measurement


(Motion)
1. Spindle orientation 180°. Travels to the first measurement start value for the X- and Y-axes.
2. Travels to the measurement position on the Z-axis..
3. First measurement. (X-axis minus direction)
4. Returns 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. (X-axis plus direction)
8. Returns to the return height point on the Z-axis.
9. Spindle orientation 180°. Travels to the third measurement start position for the X- and Y-
axes.
10. Travels to the measurement position on the Z-axis..
11. Third measurement. (Y-axis minus direction)
12. Returns to the return height point on the Z-axis.
13. Spindle orientation 0°. Travels to the fourth measurement start position for the X- and Y-axes.
14. Travels to the measurement position on the Z-axis..
15. Fourth measurement. (Y-axis plus direction)
16. Returns to the return height point on the Z-axis.

3rd +Y

+X

7
2nd 1st

4th

2023/11/14 7 - 22 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

7.4.4 Workpiece Top Surface


Command format G128 X_ Y_ Z_ Q_;

X and Y : X and Y coordinates at measurement point


Z : Estimate for the top surface of the workpiece
Q : Measurement number (1 to 4 and 1 is used when omitted)

+Z

+Y

+X

(NOTE) Before carrying out (G128), perform <Automatic workpiece measurement


compensation (workpiece top surface)> for the automatic centering, and set the
compensation in the user parameter (automatic workpiece measurement / automatic
centering) <Automatic workpiece measurement compensation Z (workpiece top
7
surface)>.

(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

7.4.5 Positioning to Measurement Position


Command format G120 X_ Y_ Z_ Q_;

X, Y and Z : Incremental amount from measurement position


Q : Measurement result number (1 to 4 and 1 is used when omitted)

+Z
c
+Y

+X

Measurement point a

G120 Xa Yb Zc

7 When the above command is issued, it travels to P in the figure.


The alarm <<No measurement data>> is triggered if no measurement data exists.

2023/11/14 7 - 24 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

7.5 Measurement Results Processing


7.5.1 Display Screen for Measurement Results
Press [4] or move the cursor to <4. Measurement results> on the production monitor menu, and
press the [ENT] key to change to the following screen.

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

7.5.2 Apply Measurement Results to Workpiece


Coordinates
Command format G10 L99 Pn X_ Y_ Z_ Q_;

Pn : n = 1 G54
2 G55
3 G56
4 G57
5 G58
6 G59

G10 L98 Pn X_ Y_ Z_ Q_;

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.

G10 L99 P2 X-40. Y-40. Q2;


7
-120 +Y Machine coordinates
-X

-40
-40
G55

-40
-80

-Y

The workpiece coordinate data G55 is rewritten as:


X -80.000
Y -40.000

(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.6 Lock Key Operations


[Dry run] The axis travels to the start point for each measurement, but the measurement
motion is not carried out. The measurement data is also not captured.
If an attempt is made to turn the dry run ON or OFF while the automatic
workpiece measurement command is executing, the alarm <<During
measurement>> is triggered and the change is not carried out.
[Machine lock] Axis travel is not carried out. The coordinates on the position screen do not
change.

7.7 Program Restart Operation


If a command between G121 and G129 exists during program restart, an alarm may be triggered.

7.8 <Signal OFF check method for instrument


detection>
In the automatic workpiece measurement, the detection signal is checked before axis travel to
confirm that the signal is ON. If it is ON, the alarm <<Detection signal on>> triggers and
operation is stopped. The user can change how to check whether the detection signal is ON with
the user parameter (automatic workpiece measurement/automatic centering) <Signal OFF check
method for instrument detection>.
(Ex: When using the parallel boss G123)

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)>.

Positioning apart from measurement motion


Measurement motion

2023/11/14 7 - 27 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement

(This page was intentionally left blank.)

2023/11/14 7 - 28 eCOM4NCPR7
Chapter 8 Sub Program Function

CHAPTER 8

SUB PROGRAM FUNCTION

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.

Main program Sub program A Sub program B

Call sub program A Call sub program B

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

8.2 Create Sub Program


A standard sub program is created using a format like the following.

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.

Special use of M99


When the M99 command is issued in the main program, excluding tape operation (general
communications device), it returns to the beginning of the program and operation starts from the
beginning of the program again.

When optional
block skip is OFF

/N0100 M99;

N0200 M30; When optional


block skip is ON

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

8.3 Simple Call Function


The sub program executes a call from the main program or from another sub program.
A call can be made from memory operation/extended memory operation as well as from MDI
operation and tape operation (with a memory card or general communications device).
There are two methods to call a program: using a program number and using a program name.

Command format M98 P_H_L_;… Program number call


M98 <****>H_L -;… Program name call

P : Call sub program number (current program when omitted), or


<****> : Call sub program name (**** refers to the program name)
H : Sequence No. for sub program called (beginning block when omitted)
L : Number of repeated calls (9999 times or less) (1 when omitted)

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

Ex 1: Case where a macro variable is used in a sub program number


When the alternative value for #100 is “1”, “5” and “100”:
M98P#100; ← Sub program call command using a macro variable
G100T1R150.Z100.;
M30;
M98P1; After M30, all alternative “M98P**” commands
M98P5; are entered as shown on the left
M98P100;
Ex 2: Case where a macro variable is used in G/M code
When the alternative value for #100 is “400”, “500” and “600”:
G#100; ← G/M code macro call command using a macro variable
G100T1R150.Z100.;
M30;
G400; After M30, all alternative G code macros are
G500; entered as shown on the left
G600;

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

8.4 External Sub Program Call Function


Any sub program (hereafter, “external sub program”) registered in the root folder of an external
device (memory card) is called and executed from the main program or the master’s sub program.
When using the external sub program call function in memory operation, it runs in extended
memory operation mode.
There are two methods to call a program: using a program number and using a program name.

Command format M198 P_ L_; … Program number call


M198 <****>L_; … Program name call

P : Call sub program number, or


<****> : Call external sub program name (**** refers to the program name)
L : Number of repeated calls (9999 times or less) (1 when omitted)

(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

M30 M99 M99

(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)

M198P2 M98P3 M198P4

M30 M99 M99 M99

2023/11/14 8- 6 eCOM4NCPR8
Chapter 8 Sub Program Function

8.5 Specify Return Number from Sub Program


Function
Command format M99 P_;

P : Sequence No.

1. Command in sub program


After a command is executed, it returns to the sequence number for the command that was
issued in another program. It searches for the sequence number starting from the beginning of
the program and returning to the first block that was found. If there is no sequence number for
the command, the alarm <<No applicable sequence>> is triggered.

(Program execution order)

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).

2. Main program command


8
After a command is executed, it jumps to the sequence number for the command that was
issued in the main program. It searches for the sequence number starting from the beginning
of the program and jumping to the first block that was found. If there is no sequence number
for the command, the alarm <<No applicable sequence>> is triggered.

(Program execution order)

N0001;

M99 P0001;

(NOTE) A command cannot be issued in tape operation (general communications device).


Otherwise, the alarm <<Subprogram return error>> is triggered.

2023/11/14 8- 7 eCOM4NCPR8
Chapter 8 Sub Program Function

8.6 Call Specifying Sequence No.


When issuing a command with M98P_H_ or M98<****>H_, it can be called and executed from
the sequence number specified in the sub program.

Special notes are provided below when programming and using an H address.

Ex: Program execution order

(O0001) (O0002) (O0003) (O0003) (O0010)

N10 N10

M98P2 M98P3H10 M98H20 M98H20

N30

M30 M99 M99

M99 M99
N20 N20

M98P4 M98P4

M99P30 M99P30

(1st sub (2nd sub (3rd sub ••• (8th sub


program) program) program) program)
8
As noted above, up to 8 sub programs can be called.

(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)

N10 The alarm <<Subprogram call error>> is


triggered when the “M98H10” block is executed
M98H10 the second time in a program as shown on the
left.
M99

M30

Ex 2:

(O0001) (O0001) When creating a program as shown on


the left, the operation continues because
M98H10 M98H10 it will not reach M30.
When creating a sub program in one
N10 N10 program, create it after M30 (M02).

M99 M99

M30 M30

Ex 3:

(O0001)

N10 The sequence number search for the H address starts


from the beginning of the program. As shown on the left, it
M98H10 jumps close to the block closer to beginning of the program
when there are two blocks for “N10”. 8
M30 (The alarm <<Subprogram call error>> is triggered when
the “M98H10” block is executed the second time.)
N10

M99

Ex 4:

(O0001) (O0001) (O0001)

N20 N20 N20 When creating a program as


shown on the left, the alarm
M98H10 M98H10 M98H10 <<Subprogram call error>> is
triggered when the “M98H10”
M30 M30 M30 block is executed the second
time.
N10 N10 N10

M98H20 M98H20 M98H20

M99 M99 M99

2023/11/14 8- 9 eCOM4NCPR8
Chapter 8 Sub Program Function

Ex 5:

(O0001) (O0001)

M98H10 M98H10 When creating a program as shown on the


left, the program ends with M30.
N10 N10

M30 M30

M99 M99

Ex 6:

(O0001) (O0001) (O0002)

N20 N20 N20


When creating a program as
M98H10 M98H10 M99P20 shown on the left, the alarm
<<Subprogram call error>> is
M30 M30 triggered when the “M98H10”
block is executed the second
N10 N10 time.

M98P2H20 M98P2H20

M99 M99

Ex 7:

(O0001) (O0001) (O0002)


8
N10 N10 N20
When creating a program as
M98H20 M98H20 M99P30 shown on the left and the H20 is
executed for the second time in
M30 M30 the “M98P2H20” block, an error
does not trigger because a
N20 N20 different program number is
called. This program ends
M98P2H20 M98P2H20 normally with M30.
M99 M99

N30 N30

M99 M99

2023/11/14 8 - 10 eCOM4NCPR8
Chapter 8 Sub Program Function

Ex 8:

(O0001) (O0002) (O0002)


When creating a program as
M98P2H10 N10 N10 shown on the left, “N20” is
called in the “M98H20” block
N20 M98H20 M98H20 and it is called again in the
“M99P20” block, but an error
M30 M99 M99 does not trigger. This program
ends normally with M30.
N20 N20

M99P20 M99P20

Ex 9:

(O0001) (O0002)

N20 N10 When creating a program as shown on the


left, the alarm <<Subprogram call error>> is
M98P2H10 M98P1H40 triggered when program 1 is called from
program 2.
M30 M99

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

M99 M99 M99

N10 N10 N10

M99 M99 M99

2023/11/14 8 - 11 eCOM4NCPR8
Chapter 8 Sub Program Function

(This page was intentionally left blank.)

2023/11/14 8 - 12 eCOM4NCPR8
Chapter 9 Feed Function

CHAPTER 9

FEED FUNCTION

9.1 Feed Function


9.2 Automatic F Command at Tool Change

2023/11/14 9- 1 eCOM4NCPR9
Chapter 9 Feed Function

9.1 Feed Function


This function issues a command using the numerical values that come after “F” to specify the tool
feedrate.
The feedrate per minute (G94), the feedrate per rotation (G95) and the inverse time feed (G93) are
available when specifying this command.

9.1.1 Feedrate per Minute (G94)


This command uses the numerical values that come after “F” to specify how fast to feed the tool
per minute.
Ex: G94;
G01 Z -100. F1000; (1000.00 mm/min)

9.1.2 Feedrate per Rotation (G95)


This command uses the numerical values that come after “F” to specify how fast to feed the tool
per spindle rotation.
Ex: M03 S2000;
G95;
G01 Z -100. F0.05; (0.0500 mm/rev)

(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.1.3 Inverse Time Feed (G93)


The inverse time is the inverse number of the machining time and is indicated by the number
following “F” in a command.

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.

Example when using linear interpolation


N01 G93;
N02 G91 G01 X -100. F1; (1.00 1/min)
N03 G01 Y -100. F1; (1.00 1/min) Inverse time feed enabled
N04 G01 Z -100. F1; (1.00 1/min)
N05 G94 G01 X -50. F1500; Inverse time feed disabled

Example when using circular interpolation


N01 G93;
N02 G91 G02 X100. Y-50. I0. J-50 F10; (10.00 1/min) Inverse time feed enabled
N03 G94 G02 X-50. Y-100. I-50. J-50 F1500; Inverse time feed disabled

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

Example of inverse time calculation


Ex 1: When ending 1 block, the following command calculation is used.
Inverse time [1/min] = 1 ÷1 block end time [sec] ÷ 60[min]
= (1÷60)÷(1÷60)
=1 (command is issued with F1)
Ex 2: Travel time when issuing a F0.25 command is as follows.
Travel time [min] = 1÷ Inverse time [1/min]
= 1÷0.25
= 4.0(travel time is 4 minutes)

Metric (mm) Inch (inch)

Linear 1 Feedrate (mm/min) 1 Feedrate (inch/min)


interpolation F= Time (min) = Length of segment F= Time (min) = Length of segment
(G1) (mm) (inch)
Circular
interpolation 1 Feedrate (mm/min) 1 Feedrate (inch/min)
(G2/G3/ F= Time (min) = Radius of arc for start F= Time (min) = Radius of arc for start
G102/G103/ point (mm) point (inch)
G202/G203)

(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

9.1.4 Command Range


Minimum Command range
Command
unit setting
Feedrate per
Meters
0.01 ~ 999999.99 mm/min
Inches
0.001 ~ 99999.999 inch/min 9
minute (G94) 0.01 ~ 999999.99 deg/min 0.001 ~ 99999.999 deg/min
Type 1 Feedrate per 0.0001 ~ 999999.9999 mm/rev 0.00001 ~ 99999.99999 inch/rev
(Micron) rotation (G95) 0.0001 ~ 999999.9999 deg/rev 0.00001 ~ 99999.99999 deg/rev
Inverse time
0.001 ~ 999999.999 1/min
feed (G93)
Feedrate per 0.001 ~ 999999.999 mm/min 0.0001 ~ 99999.9999 inch/min
minute (G94) 0.001 ~ 999999.999 deg/min 0.0001 ~ 99999.9999 deg/min
Type 2
Feedrate per 0.00001 ~ 999999.99999 mm/rev 0.000001 ~ 99999.999999 inch/rev
(Submic rotation (G95)
0.00001 ~ 999999.99999 deg/rev 0.000001 ~ 99999.999999 deg/rev
ron)
Inverse time
0.001 ~ 999999.999 1/min
feed (G93)

Feedrate per minute (G94) and feedrate per rotation (G95):


The alarm <<Max. speed exceeded>> or <<Feedrate error>> is triggered for a feedrate when
an attempt is made to move the axis and the speed exceeds the user parameter (switch 1)
setting <Max. actual cutting travel speed (linear axis / rotation axis)>, the machine parameter
(system 1: X-, Y- and Z-axes) setting <X-(to Z-)axis max. cutting feedrate> or the machine
parameter (system 2: additional axis) setting <5th-(to 8th-)axis max. cutting rotation speed>.
However, when the Z-axis alone is operating (excluding thread cutting and skipping) and an
exact stop check is performed before and after axis travel, it decides based on the machine
parameter (system 1: X-, Y- and Z-axes) <Single axis max cutting travel speed> (Z-axis)
instead of the <Maximum cutting travel speed> (Z-axis).

2023/11/14 9- 3 eCOM4NCPR9
Chapter 9 Feed Function

Inverse time feed (G93):


When the calculated feedrate has been exceeded, the operation follows the user parameter
setting (switch 1: programming) <Cutting speed exceeded for inverse time feed>.

When the feedrate calculated from the inverse time is less than the following limit values, the
alarm <<Command data range error>> is triggered.

Minimum limit values for inverse time feed (G93)


Minimum unit setting: Type 1 Minimum unit setting: Type 2
Machine unit setting 0.01 mm/min 0.001 mm/min
0: Meter 0.01 deg /min 0.001 deg/min
Machine unit setting 0.001 inch/min 0.0001 mm/min
1: Inch 0.001 deg /min 0.0001 deg /min

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.

9.1.5 Switching Between Feedrate per Minute / Feedrate


per Rotation / Inverse Time Feed
(1) When one of the following commands applies, the F code modal turns into a state when the
power is ON (not set).
- When executing a feedrate per rotation command (G95) or an inverse time feed command
(G93) during the feedrate per minute (G94).
- When executing a feedrate per minute command (G94) or an inverse time feed command
(G93) during the feedrate per rotation (G95).
(2) When switching to a feedrate per minute command (G94) or a feedrate per rotation command
9 (G95) during the inverse feed (G93), an F command is required. If there is no F command, the
alarm <<Feedrate not specified>> is triggered.

9.2 Automatic F Command at Tool Change


When the user parameter (switch 1: canned cycle) <Automatically use F command when changing
tool> is set to <1: Yes>, the F command is automatically issued for the <F command value> in the
tool data, which automatically corresponds to the tool that is loaded onto the spindle at the tool
change (M6 or G100).
Refer to “5.7 Canned cycle for tool change (nonstop ATC) (G100)” for further details.

2023/11/14 9- 4 eCOM4NCPR9
Chapter 10 Spindle Related Functions (S Function)

CHAPTER 10

SPINDLE RELATED FUNCTIONS


(S FUNCTION)

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.

10.1.2 Constant Peripheral Speed Control (G96, G97)


(Option)
* Available when equipped with a lathe function

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.

Constant peripheral speed control command

Command format G96 S__P__;

S : Peripheral speed (m/min, or feet/min)


P : Constant peripheral speed control axis (No omissions. If there is an omission, the
alarm <<There is no P address.>> is triggered.)
P1 : X-axis, P2: Y-axis, P3: Z-axis

Constant peripheral speed control cancel command

Command format G97 S__;

S : Spindle speed (min-1)

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)

Spindle speed when switching between G96 and G97 modals


G96 G97

Peripheral speed X (m/min,


feet/min) command

G97 command

Save peripheral speed X


(m/min, feet/min)

Spindle speed Yes


command
No
Spindle speed (min-1)
issued by S
command

S command issues a value that


converts the peripheral speed X to
spindle speed (min-1)

G96 command

Yes
Spindle speed command
10
No
Spindle speed (min-1)
issued by S command

S command is the saved peripheral speed


X*. If the peripheral speed is not saved,
it will not be set.

* 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)

10.1.3 Spindle Speed Clamp (G92) (Option)


* Available when equipped with a lathe 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.

Command format G92 S__Q__;

S : Maximum spindle speed (min-1)


Q : Minimum spindle speed (min-1)

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.

10.1.4 Automatic S Command at Tool Change


When the user parameter (switch 1: canned cycle) <Automatically use S command when changing
tool> is set to <1: Yes>, the S command is automatically issued for the value set in the tool data,
which corresponds to the tool that is loaded onto the spindle at the tool change.
Refer to “5.7 Canned Cycle for Tool Change (Nonstop ATC) (G100)” for further details.

10.1.5 Register Maximum Speed


The maximum speed for a tool mounted onto the spindle can be registered in the tool data.

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)

10.2 M Function (Spindle Control)


10.2.1 Spindle Normal Rotation (M03)
The spindle rotates in a clockwise direction. When there is an axis travel command on the same
block, the axis travel is carried out at the same time.

10.2.2 Spindle Reverse Rotation (M04)


The spindle rotates in a counterclockwise direction. When there is an axis travel command on the
same block, the axis travel is carried out at the same time.

10.2.3 Spindle Stop (M05)


The spindle rotation is stopped. When there is an axis travel command on the same block, the axis
travel is carried out at the same time.

10.2.4 Spindle Orientation (M19)


The spindle is oriented to a 0° position. When there is an axis travel command on the same block,
the axis travel is carried out at the same time.

(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).

10.2.4.1 Spindle Orientation to a Given Angle


Command format M19 R_;

R : Spindle angle (-360 to 360°)

The spindle is oriented to the angle that is specified by command R.


When the command angle is a positive value, it turns in a clockwise direction. When the command
angle is a negative value, it turns in a counterclockwise direction.
After this operation, the servo stays ON for the spindle.
10
10.2.5 Spindle Orientation (M111)
The spindle is oriented to a 180° position. When there is an axis travel command on the same
block, the axis travel is carried out at the same time.

2023/11/14 10 - 5 eCOM4NCPR10
Chapter 10 Spindle Related Functions (S Function)

10.3 M Function (Lathe Spindle Control)


10.3.1 Lathe Spindle Normal Rotation (M303)
The lathe spindle rotates in a clockwise direction when the lathe spindle is selected (M142 modal).
The alarm <<Selection of a spindle is abnormal.>> is triggered if a command is issued when the
lathe spindle is not selected. When there is an axis travel command on the same block, the axis
travel is carried out at the same time.

10.3.2 Lathe Spindle Reverse Rotation (M304)


The lathe spindle rotates in a counterclockwise direction when the lathe spindle is selected (M142
modal).
The alarm <<Selection of a spindle is abnormal.>> is triggered if a command is issued when the
lathe spindle is not selected. When there is an axis travel command on the same block, the axis
travel is carried out at the same time.

10.3.3 Lathe Spindle Stop (M305)


The lathe spindle rotation is stopped when the lathe spindle is selected (M142 modal).
The alarm <<Selection of a spindle is abnormal.>> is triggered if a command is issued when the
lathe spindle is not selected. When there is an axis travel command on the same block, the axis
travel is carried out at the same time.

(NOTE) When there is no lathe spindle, the M303, M304 and M305 commands cannot be
issued.

10.4 M Function (Spindle Selection)


10.4.1 Spindle Selection (M141)
The spindle is selected. When the M141 command is issued while the lathe spindle is rotating, the
lathe spindle stops.

10.4.2 Lathe Spindle Selection (M142)


The lathe spindle is selected. When the M142 command is issued while the spindle is rotating, the
spindle stops.

(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

TOOL RELATED FUNCTIONS


(T FUNCTION)

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_ _ _;

11.1.1 When Issuing a Command Using the Tool Number


A tool number command is issued using the number that comes after the “T”. (T1 to T99, T201 to
T299)
The pot with the corresponding tool is indexed. (Arm type ATC mechanism)
When issuing a command in MDI mode, if the corresponding tool is not mounted, only the modal
is updated.

11.1.2 When Issuing a Command Using the Pot Number


(Magazine Number)
A pot number (magazine number) command is issued using the numerical values (2 digits) that
come after the “T1”.
(T101 to T1nn:nn is the maximum value for pot that is mounted)
The pot with the corresponding tool is indexed. (Arm type ATC mechanism)

11.1.3 When Issuing a Command Using the Group


Number
A tool group number command is issued using the numerical values (2 digits) that come after the
“T9”.
(T901 to T930)
The pot with the corresponding tool is indexed. (Arm type ATC mechanism)
The tools are registered to the magazines, and when a command is issued using the group number,
the tools are used following the order they is registered in the specified group.

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)

11.2 M Function (Tool Control)


11.2.1 Tool Change (M06)
It is the same as G100.
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 simultaneously for G100. However, the limit is up to 3
commands including M06 when issuing an M06 command.
Refer to “5.7 Canned Cycle for Tool Change (Nonstop ATC) (G100)” for details about M codes
that can be issued simultaneously and the operation timing.

11.2.2 Tool Life Counter (M230 to M231)


After issuing an M231 command, the tool life count for the spindle tool is stopped during
operation.
When issuing an M230 command, the count is restarted.

11.2.3 Changing ATC Arm Turn Speed (M420 to M423,


M432)
When using an arm type ATC mechanism, the ATC arm turn speed can be changed after the M
code is executed for the next tool change command. (NOTE 1)

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)

11.2.4 Shutter and Cover Related M Codes (M434, M438,


M439)
When using an arm type ATC mechanism, the shutter can be operated after the M code is
executed. (Note 1)
However, it does not operate when there is no shutter mechanism.
M434: Waits for the shutter to close. (NOTE 3)
M438: Opens the pot shutter. (NOTE 2)
M439: Closes the pot shutter. (NOTE 2)
(NOTE 1) This function is disabled on a turret type ATC mechanism (excluding H series).
When a command is issued, it follows 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)
<ATC/Pot shutter timeout period>.

When using a turret type ATC mechanism (H series), the shutter can be operated after the M code
is executed.( NOTE 1)

M438: Opens the ATC shutter. (NOTE 2) (NOTE 3)


M439: Closes the ATC shutter. (NOTE 2) (NOTE 3)

(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>.

11.2.5 Specify Magazine Turn Speed (M435, M436, M437)


On arm type ATC mechanisms, the magazine turn speed can be changed from the program.
(NOTE 1) (NOTE 2)
M435: Maximum magazine turn speed
M436: Magazine turn speed 1
M437: Magazine turn speed 2

Use the following operations to change back to the M435 modal.


• M435 execution
• Program end
• Reset (Machine lock)
• Operation reset
• Tool change(G100/M06)
11
The turn speed for M436 and M437 is specified in the user parameter (switch 1: ATC/Magazine)
<Magazine turn speed ratio 1(M436)> and <Magazine turn speed ratio 2(M437)>.
(NOTE 1) This function is disabled on a turret type ATC mechanism. When a command is
issued, it follows the user parameter (switch 1: programming) <Unregistered M-
code>.
(NOTE 2) When the M435, M436, M437 commands are issued on the same block as a T
command, the alarm <<Invalid command code and invalid command address>> is
triggered.

2023/11/14 11 - 4 eCOM4NCPR11
Chapter 11 Tool Related Functions (T Function)

11.2.6 Magazine Turns to the Tool Installation Position


(M501 to M599)
On the arm type ATC mechanism, the magazine can be turned so that the pot with the tool (tool
number specified by ** for M5**) is in the tool installation position.
(NOTE 1) The tool numbers 1 to 99 can be specified. The tool numbers 201 to 299 cannot be
specified.
(NOTE 2) This function is disabled on a turret type ATC mechanism. When a command is
issued, it follows user parameter (switch 1: programming) <Unregistered M-code>.
(NOTE 3) When an M5xx command is issued on the same block as a T command, the alarm
<<Invalid command>> is triggered.

11.2.7 Machining Load Monitor Function (M340 to M343)


This function measures the machining load, monitors it and assesses whether the machining is
normal. Refer to “Chapter 3 Machining load monitor function” in the Data Bank & Alarm Manual
for further details.
M340: Machining load monitor OFF
M341: Machining load monitor ON
M342: Machining load monitor ON (Max. only)
M343: Machining load monitor ON (Min. only)

11.2.8 Stuck Chips Detection (M318 and M319)


This function detects foreign objects like chips or shavings that are stuck or sandwiched, by
measuring the type of load on the Z-axis during a tool change and comparing that to previous load
types (that were recorded). Refer to “Chapter 4 Stuck chips detection function” in the Data Bank
& Alarm Manual for further details.
M318: Stuck chips detection enabled
M319: Stuck chips detection disabled

11

2023/11/14 11 - 5 eCOM4NCPR11
Chapter 11 Tool Related Functions (T Function)

(This page was intentionally left blank.)

11

2023/11/14 11 - 6 eCOM4NCPR11
Chapter 12 M Function

CHAPTER 12

M FUNCTION

12.1 Outline of M Function


12.2 M Code List
12.3 M Function (Program Control)
12.4 M Function (Signal Control)
12.5 M Function (Additional Axis Control)
12.6 M Function (In-position Check Distance)
12.7 M Function (Time Constant Switch)
12.8 M Function (Brake Load Test)

12

2023/11/14 12 - 1 eCOM4NCPR12
Chapter 12 M Function

12.1 Outline of M Function


• The M codes are used for commanding ON/OFF of various solenoids of the machine.
• Command by address M and a following within 3-digit number.
• When the M command is in the same block as that of the axis movement, the motion is
divided into following three types.
The M command becomes effective before the axis movement starts.
The M command becomes effective at the same time the axis movement starts.
The M command becomes effective after the axis movement is finished.

(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.

12.2 M Code List


The code with * is already set when the power is turned on. (Modal status)

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

12 M203 Tool breakage detection - One-shot Impossible


M211 Workpiece counter 1 set
Simultaneous Modal Possible
M221* Workpiece counter 1 cancel
M212 Workpiece counter 2 set
Simultaneous Modal Possible
M222* Workpiece counter 2 cancel
M213 Workpiece counter 3 set
Simultaneous Modal Possible
M223* Workpiece counter 3 cancel
M214 Workpiece counter 4 set
Simultaneous Modal Possible
M224* Workpiece counter 4 cancel
M230* Tool life counter set
Simultaneous Modal Possible
M231 Tool life counter cancel
M238 To start waveform display measurement Modal
- (NOTE 4) Impossible
M239 To finish waveform display measurement
(NOTE 5)

2023/11/14 12 - 2 eCOM4NCPR12
Chapter 12 M Function

Timing of Modal / Multiple


Group M code Contents
axis motions One-shot commands
M241 to M249 Tap time constant 10 ~ 90%
M250
Tap time constant selection Modal
M251 Simultaneous Possible
(NOTE 1)
Tap acceleration kept constant selection
M252 to M254
High speed / Medium speed / Low speed
M258 Production monitor - Time measurement start Modal
Simultaneous (NOTE 4) Possible
M259 Production monitor - Time measurement end
(NOTE 5)
M260 to M267 High precision mode A On (levels 1 ~ 8) Simultaneous
M280 to M287 High precision mode B On (levels 1 ~ 8) Before
Modal Possible
M269*
High precision mode OFF Simultaneous
M289
M270 Cancel in-position check distance change Modal
Before Possible
M271 to M279 Change in-position check distance (NOTE 2)
M290* Z-ax. minus speed 100% at tool change
Before Modal Possible
M291 to M293 Z-ax. minus speed 1 to 3 at tool change
M295 Diagnosis of tool wash liquid surface sensor failure - One-shot Impossible
M298 Machining mode specification
- Modal Impossible
M299* Cancel machining mode specification
M300 Z-axis perimeter mode on Modal
Before Possible
M301 Z-axis perimeter mode off (NOTE 3)
M303 Forward rotation of turning spindle
M304 Backward rotation of turning spindle Simultaneous Modal Possible
M305* To stop turning spindle
M318 Stuck chips detection enabled
Before Modal Possible
M319* Stuck chips detection disabled
M320 Measurement device sensor ON confirmation
Signal OFF check 1 for measuring instrument
M321
detection
Signal OFF check 2 for measuring instrument
M324
detection
Signal OFF check 3 for measuring instrument Before One-shot Possible
M325
detection
Signal OFF check 4 for measuring instrument
M326
detection
Signal OFF check 90 for measuring instrument
M327
detection
M322* Finishing OFF
Before Modal Possible
M323 Finishing ON
M340* Machining load monitor OFF
M341 Machining load monitor ON
- Modal ×
M342 Machining load monitor ON(Max. only)
M343 Machining load monitor ON(Min. only)
M350 Thermal displacement compensation (X)
M351 Thermal displacement compensation (Y)
M352 Thermal displacement compensation (Z) - One-shot Impossible
M353 Thermal displacement compensation (XYZ)
M355 Thermal displacement compensation cancel
M360 Thermal distortion compensation (X-axis ball screw)
M361 Thermal distortion compensation (X-axis spindle) 12
M362 Thermal distortion compensation (Y-axis ball screw)
M363 Thermal distortion compensation (Y-axis spindle)
M364 Thermal distortion compensation (Z-axis ball screw)
M365 Thermal distortion compensation (Z-axis spindle)
- One-shot Impossible
Thermal distortion compensation (X-, Y- and Z-axes
M366
ball screw)
Thermal distortion compensation (X-, Y- and Z-axes
M367
spindle)
M368 Cancel thermal distortion compensation (Ball screw)
M369 Cancel thermal distortion compensation (Spindle)
M400 M400ON (chip shower ON)
Simultaneous Modal Possible
M401* M400OFF (chip shower OFF)
M402 M402ON
Simultaneous Modal Possible
M403* M402OFF

2023/11/14 12 - 3 eCOM4NCPR12
Chapter 12 M Function

Timing of Modal / Multiple


Group M code Contents
axis motions One-shot commands
M404 M404ON
Simultaneous Modal Possible
M405* M404OFF
M406 M406ON
Simultaneous Modal Possible
M407* M406OFF
M408 M408ON
Simultaneous Modal Possible
M409* M408OFF
M410 Index of the pallet 2 to the outside
- One-shot Possible
M411 Index of the pallet 1 to the outside
M418 Jig shower ON
Simultaneous Modal Possible
M419* Jig shower OFF
M420* ATC arm turn speed (maximum speed)
M421
ATC arm turn speed (large tool speed)
M432 Before Modal Possible
M422 ATC arm turn speed 1
M423 ATC arm turn speed 2
M430 QT-axis (C-axis) unclamp
- Modal Possible
M431* QT-axis (C-axis) clamp
M434 Waiting for Pot + ATC arm shutter close - One-shot Impossible
M435* Magazine rotation maximum speed
M436 Magazine rotation speed 1 - Modal Possible
M437 Magazine rotation speed 2
M438 ATC/Pot shutter open
- One-shot Impossible
M439 ATC/Pot shutter close
M440 Unclamp B axis
Simultaneous Modal Possible
M441* Clamp B axis
M442 Unclamp A axis
Simultaneous Modal Possible
M443* Clamp A axis
M444 Unclamp C axis
Simultaneous Modal Possible
M445* Clamp C axis
M450 To output one-shot (Proceeds to the next block after
M451 the signal has turn off)
Simultaneous One-shot Possible
M455 To output one-shot (Proceeds to the next block
M456 without waiting until the signal has turn off)
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
Simultaneous One-shot Possible
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
M470 Forced execution of brake load test
- One-shot Impossible
M471 Brake load test
M474* Coil conveyor automatic mode: Enable
Before Modal Possible
M475 Coil conveyor automatic mode: Disable
Tool cleaning blowoff valve ON (MDI operation
M476
only)
12 M477
Tool cleaning blowoff valve OFF (MDI operation
- One-shot Impossible
only)
M478 Automatic oiling / greasing cycle ON - One-shot Impossible
M479 Liquid removal cycle ON Simultaneous One-shot Impossible
M480 M480 signal ON
Simultaneous Modal Possible
M481* M480 signal OFF
M482 M482 signal ON
Simultaneous Modal Possible
M483* M482 signal OFF
M484 M484 signal ON
Simultaneous Modal Possible
M485* M484 signal OFF
M486 M486 signal ON
Simultaneous
M487* M486 signal OFF
Modal Possible
M494 Coolant through center ON Before
M495* Coolant through center OFF After
M489 Back washing cycle ON (Waiting for completion) - One-shot Impossible

2023/11/14 12 - 4 eCOM4NCPR12
Chapter 12 M Function

Timing of Modal / Multiple


Group M code Contents
axis motions One-shot commands
M496 Back washing cycle ON Before One-shot Possible
M497 Tool replacement tool washing OFF Before One-shot Possible
M498 Spindle air blow/tool washing ON
Simultaneous One-shot Impossible
M499 Spindle air blow/tool washing OFF
M501 to M599 Magazine rotation for tool setting position - One-shot Impossible
M800 to M899 Signal output for PLC Simultaneous One-shot Possible
M900 to M999 Extend signal output Simultaneous One-shot Possible
2-digit BCD
BCD signal output Simultaneous One-shot Possible
signal

(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.

12.2.1 Multiple M Code Commands in One Block


If the user parameter (switch 1: programming) <Multiple M codes in one block> is set to <1:
Yes>, M codes with the mark “Possible” refer to “multiple commands” in the “12.2 M code list”
that can be used to issue up to three M code commands on one block at the same time.

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

The following M codes are independently commanded only in MDIoperation.


M200 M201

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)

3. Pallet-related M codes (M410, M411, M430, M431)


The pallet-related M codes (M410, M411, M430, M431) can be commanded in one block.
(*5)

4. One-shot output (M45x)


One-shot output M codes (M450, M451, M455, M456) can be simultaneously commanded if
they are different although they are one-shot output M codes. (*2)
Ex)
M450, M451, M455: Commandable because they are all different
M450, M455, M450: Uncommandable because M450 is duplicated

5. To wait forspecific signal ON/OFF(M46x)


The M codes (M460 to M469) that wait for a specific signal to go ON/OFF are simultaneously
commandable if they are commanded for a same signal. (*3)
Ex)
M460, M462, M464: Commandable because they wait for all othersignals
M460, M461, M462; Uncommandable because they are duplicated for M460signal

6. Signal output to PLC (M8xx)


Only one of the M codes (M800 to M899) that command to output a signal to PLC can be
commanded in one block. In addition, they cannot be simultaneously commanded together
with a 2-digit BCDsignal output or an expansion signal output (M900 to M999).

12 7. Expansion signal output (M9xx)


Only one of the M codes (M900 to M999) that outputs an expansion signal can be commanded
in one block. In addition, they cannot be simultaneously commanded together with a 2-digit
BCDsignal output or a signal output (M800 to M899) to PLC.

8. 2-digit BCDsignal output


Only one of 2-digit BCDsignal outputs can be commanded in one block. In addition, they
cannot be simultaneously commanded together with a signal output (M800 to M899) to PLC
or an expansion signal output (M900 to M999).

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)

M codes that can be a pair are as follows:


M03, M04, M05, M19, M111
M303, M304, M305
M08, M09
M120, M121
M141, M142
M200, M201
M211, M221
M212, M222
M213, M223
M214, M224
M230, M231
M241 to M249, M250, M251, M252 to M254
M258, M259
M260 to M267, M269
M280 to M287, M289
M270, M271 to M279
M290, M291 to M293
M300, M301
M320, M321, M324 to M327
M322, M323
M340 to M343
M400, M401
M402, M403
M404, M405
M406, M407
M408, M409
M418, M419
M420, M421, M422, M423, M432
M435, M436, M437
M440, M441
M442, M443
M444, M445
M430, M431 (QT not equipped)
M480, M481
M482, M483
M484, M485
M486, M487
M494, M495, M496

12

2023/11/14 12 - 7 eCOM4NCPR12
Chapter 12 M Function

12.3 M Function (Program Control)


12.3.1 Program Stop (M00)
The spindle stops after the commanded motions in a block are all finished.
The coolant pump is turned OFF at this time.
Next sequence is started by pressing the START switch.

(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>

12.3.2 Optional Stop (M01)


When the [OPT STOP] key is set ON, similar to the M00, the automatic operation is stopped after
a block which contains M01 is executed.

12.3.3 End of Program (M02, M30)


This code shows the end of program. Executing this command takes the control return to the head
of the program. The NC enters the reset status at this time.

(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.

12.3.4 Workpiece Counter Specification (M211 to M214)


If a code (M211 to M214) is specified to a workpiececounter (1 to 4) and commanded in memory
operation, the commanded counter is counted up per counted amount when M02 or M30 is
executed.
The counter is cancelled when power is starated, [RST] key is pushed, M02 or M30 is executed,
operation is reset, or workpiece counter cancellation (M221-M224) is executed.

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.

(NOTE) M211 to M214 can be commanded in MDI operation.

12.3.5 Workpiece Counter Cancel (M221 to M224)


To canel a workpiece counter (1-4), command an M code (M221-M224). Then, the commanded
counter cancels counting when the M code (M221-M224) is executed in memory operation or
MDIoperation.

12.3.6 To Prohibit Reading Ahead (M159)


12 To prohibit reading a program ahead, command M159. Then, the next block is not read ahead until
the operation completes.

2023/11/14 12 - 8 eCOM4NCPR12
Chapter 12 M Function

12.3.7 Time Measurement (M258 and M259)


The time measurement starts when M258 is executed. If an M258 command is specified during the
time measurement, the measurement time up until then is recorded and a new measurement starts.
The time measurement ends when M259 is executed. In addition, if the power is turned OFF
during the measurement, or if the operation is reset by pressing the [RST] key or by executing
M02 or M30, the time measurement ends.
The M258 and M259 commands can be issued even during MDI operation.
The measurement is shown in intervals of 100 ms and can be checked on the production monitor
screen.

(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;

12.3.8 Z-axis Perimeter Mode (M300 and M301)


When an M300 command is issued, the Z-axis perimeter mode is turned ON. The user can shorten
the rapid feed operation between blocks when the Z-axis rapid feed operation (moving in a plus
direction) and the X-/Y-axis rapid feed operation are continuous. In this situation, the perimeter
motion is carried out to the plus side only for the distance (NOTE 1) the Z-axis coasts to the
command position. By starting the rapid feed on the X- and Y-axes while the Z-axis is coasting,
the user can shorten the waiting time while the Z-axis decelerates and thereby shorten the cycle
time.
Make sure that the tool, workpiece and jig do not interfere with each other during the perimeter
motion. In addition, the total travel distance on the Z-axis increases compared to when the Z-axis
perimeter motion mode is OFF.
After an M301 command is issued, the Z-axis perimeter mode is turned OFF. During the M301
modal, the perimeter motion will not be carried out.

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

Single block stop point (NOTE 3)

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

12.4 M Function (Signal Control)


12.4.1 2-digit BCD Signal Output
Specify any of the signal outputs 00 to 99 to output a 2-digit value to an external device by a BCD
code.
However, the code (M00, M01, M02, M03, M04, M05, M06, M08, M09, M19, M30, M96, M97,
M98, M99) are internal use codes, so they are not output outside.

(NOTE) To customers who use a machine model with CNC-A00/B00


After the control device CNC-D00, M96-M97 became internal use codes. If they ar
used, change the BCDoutput codes.

12.4.2 Tool Breakage Error Check (M120 and M121)


Before using the M120/M121 command, go to the user parameter (tool breakage detection)
<Check location measurement setting for tool breakage detection> and use a signal setting from
one of the user parameters (switch 1: programming): <Measurement setting 1> to <Measurement
setting 4>.
When the M120 command is issued, the processing checks whether the measuring instrument
detection is enabled. If the signal is turned ON, the operation ends. If it is OFF during the user
parameter (switch 1: programming) <Meas. instrument detect signal check time(setting*)>, then
the alarm <<Tool breakage error>> is triggered and the TOOL (tool error) signal is output.
For M121, if the signal is OFF during the user parameter (switch 1: programming) <Meas.
instrument detect signal check time(setting*)>, then the operation ends. When the signal turns ON,
the alarm <<Tool breakage error>> is triggered.

12.4.3 Checking Measurement Instrument Detection


Signal ON (M320)
When the M320 command is issued, if the measuring instrument detection signal is ON while a
skip command (G31/131/132 issued right before) is being executed, the operation ends. If the
signal is not ON, the alarm <<Detection signal off>> is triggered.

(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.

12.4.4 Checking Measurement Instrument Detection


Signal OFF (M321, M324 to M327)
When the commands M321, M324, M325, M326 and M327 are issued, the processing first checks
the following user parameters (switch 1: programming) that correspond to the aforementioned M
codes to confirm where the measuring instrument detection signal is enabled: <Measurement
setting 1>, <Measurement setting 2>, <Measurement setting 3>, <Measurement setting 4> and
<Measurement setting 90>. If the signal is OFF for all settings during the user parameter (switch
1: programming) <Meas. instrument detect signal check time(setting*)>, then the operation ends.
If one of the signal settings is ON, then the alarm <<Detection signal on>> is triggered.
12
M code Corresponding parameter
M321 <Measurement setting 1>
M324 <Measurement setting 2>
M325 <Measurement setting 3>
M326 <Measurement setting 4>
M327 <Measurement setting 90>

2023/11/14 12 - 11 eCOM4NCPR12
Chapter 12 M Function

12.4.5 M Signal Level Outputs


(M400 to M409, M480 to M487)
External output terminal name ON OFF
M400 M400 M401
M402 M402 M403
M404 M404 M405
M406 M406 M407
M408 M408 M409
M480 M480 M481
M482 M482 M483
M484 M484 M485
M486 M486 M487

• 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>)

12.4.6 One-shot Output (M450, M451, M455, M456)


M450 and M451 commands proceed to the next block after output time has passed and the signal
has turned off.
M455 and M456 commands proceed to the next block without waiting until the signal turns off.
The signal output time is set in the user parameter (switch 1: programming) <One shot signal
M450/451/455/456 output time>.

12.4.7 Waiting Until Response is Given (M460 to M469)


M460, M462, M464, M466, or M468 commande waits until M460, M462, M464, M466, or M468
signal turns ON.
M461, M463, M465, M467, or M469 command waits until M460, M462, M464, M466, or M468
signal turns OFF.
The maximum wait time is set in the user parameter (switch 1: programming) <External signal
reading time limit>.
After this time, the <<Signal output timeout>> alarm appears.

12.4.8 Signal Output to PLC (M801 to M899)


Output a BCD code in the lowest two digits to PLC.
Please refer to “PLC System Manual Chapter 4 OM” for details.

12.4.9 Expansion Signal Output (M900 to M999)


Output the M900 signal and a BCD code in the lowest two digits.
12

2023/11/14 12 - 12 eCOM4NCPR12
Chapter 12 M Function

12.5 M Function (Additional Axis Control)


12.5.1 Pallet-related M Codes (M410, M411, M430, M431)
This function is available for QT mounted machine.
When M410 is commanded, the Z-axis is returned to its origin and then the QT-axis is indexed to -
180° (pallet 2 is positioned outside).
When M411 is commanded, the Z-axis is returned to its origin and then the QT-axis is indexed to
0° (pallet 1 is positioned outside).
When M430 is commanded, the QT axis is unclamped by force.
When M431 is commanded, the QT axis is clamped by force.

12.5.2 C-axis Unclamp/Clamp


(M444/M430 and M445/M431)
When the M444 command is issued, the C-axis is unclamped, and thereafter, the C-axis
unclamp/clamp is not 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. 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>.

12.5.3 B-axis Unclamp/Clamp (M440 and M441)


When the M440 command is issued, the B-axis is unclamped, and thereafter, the B-axis
unclamp/clamp is not 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 <<Simultaneous specified code cannot be used.>> is
triggered.

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

12.5.4 A-axis Unclamp/Clamp (M442 and M443)


When the M442 command is issued, the A-axis is unclamped, and thereafter, the A-axis
unclamp/clamp is not 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. 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

12.6 M Function (In-position Check Distance)


12.6.1 Change In-position Check Distance (M270 to M279)
M270: The values from the machine parameters (system 1: X-, Y- and Z-axes) <Positioning end
check distance> and (system 2: additional axis) <Positioning end check angle> are used
for the in-position width in the positioning operation.
The value from the machine parameter (system 1: X, Y and Z-axes/system 2: additional
axis) <In-position width> is used for the in-position width between the positioning
operation and cutting operation.
M271: The values from the user parameters (switch 3: in-position check distance) <M271
positioning end check distance> and <M271 positioning end check angle> are used for the
in-position width in the positioning operation.
The X-, Y- and Z-axes use the <M271 positioning end check distance> value in the same
way. The A-, B- and C-axes use the <M271 positioning end check angle> value in the
same way.
The values from the user parameters (switch 3: in-position check distance) <M271 in-
position width (X-, Y- and Z-axes)> is used for the in-position width between the
positioning operation and cutting operation.
M272 to M279: These work as same as M271.

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

12.7 M Function (Time Constant Switch)


12.7.1 Tap Time Constant Selection
(M241 to M249, M250, M251, M252 to M254)
If M250/M251 is commanded, the Z axis acceleration/deceleration in tapping is carried out in time
constant.
If any of M241 to M249 is commanded, the Z axis acceleration/deceleration in tapping is carried
out in 10 to 90% of time constant.
However, if the <<Tap time constant too short>> alarm appears, operation works in time constant.
When a command between M252 and M254 is issued, the acceleration and deceleration of the Z-
axis during a tapping operation is carried out at a constant acceleration (high, medium and slow
speeds).

(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.

12.8 M Function (Brake Load Test)


12.8.1 Execute Brake Load Test (M470 and M471)
M470 : Forces the execution of the brake load test. This executes the test even on axes that have
already been tested.
M471 : Executes the brake load test on axes that have not been tested.

(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

(This page was intentionally left blank.)

12

2023/11/14 12 - 18 eCOM4NCPR12
Chapter 13 High-accuracy Mode

CHAPTER 13 (1)

HIGH-ACCURACY MODE AIII

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.

1.2 Functions of High-accuracy Mode AIII


The shape accuracy improving function and the face dignity improving function of the high-
accuracy mode AIII are as follows:

1. Improving shape accuracy


The following 4 deceleration functions are available for improving the shape accuracy.
These functions control the margin of error within a certain value regardless of the shape.
(1) Automatic corner deceleration function
(2) Automatic arc deceleration function
(3) Automatic curve approximation deceleration function
(4) Fully automatic deceleration function

(1) Automatic corner decelerating function


This function restricts errors of a command path and tool path at a corner part to improve
shape accuracy of the corner part. Corner deceleration override can adjust the shape error.
Shape error

Commanded path

Tool path

(2) Automatic arc decelerating function


This function restricts the radius from becoming small in arc machining to improve arc
shape accuracy. Arc deceleration override can adjust the radius reduction amount.

Shape error
(Decrement in radius)
13 Programmed route

Tool path

2023/11/14 13 - 1 - 2 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode

(3) Automatic curve approximation decelerating function


This function can restrict errors of a curve command path and tool path commanded by a
minute linear block to improve shape accuracy of a curved shape and 3-dimentional
shape. Curve approximate deceleration override can adjust the shape error.

Commanded path Shape error


(Fine linear block)

Tool path

(4) Fully automatic deceleration function


This function limits all errors in the command paths and tool paths in order to improve the
shape accuracy. The user parameter (high accuracy: high accuracy A) <Accuracy level>
can adjust the margin of error on the shape.

2. To improve face dignity


The function to improve face dignity is a smooth function.
The command path created for machining a curved shape or 3-dimentional shape by CAM or
the like is commanded linearly, so it becomes polygonal to generate stripes (parallel grooves)
or the like and drops face dignity. The following functions can smoothen the machining face
more than before to improve face dignity:

Commanded path
(Fine linear block)

Tool path

The functions are two as follows:


(1) Smooth path offset function
This function changes a program command path to an approximate curve.
In addition, it switches the function to valid or invalid by a travel distance per block or an
angle difference between blocks.
(2) Smooth override (to adjust cutting time constant)
This function adjusts the smoothness by adjusting the cutting time constant. In addition,
this change of cutting time constant can adjust the top speed of cutting used in the high-
accuracy AIII.

In addition, the “High-accuracy mode AIII” is represented as “High-accuracy mode A” in the


chapters or NC screens after this.

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”.

Machining level default setting


Machining Purpose
Contents M code
level (Emphasis)
The shape accuracy is emphasized.
(First recommended for emphasizing shape accuracy)

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.

The shape accuracy is a little higher than when high


6 High speed accuracy mode is not used. The face dignity is in the M265
same level. If you are not sure of this shape accuracy
13 emphasis or the face dignity emphasis, it is
recommended to use this machining level.
If it is necessary to set other than the above six, set a M266
7/8 User definition value of the user parameter referring to the parameter to
values of other levels. M267

2023/11/14 13 - 1 - 4 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode

Shape Level 2: Shape


accuracy accuracy (high) Level 1: Shape
accuracy
High Level 3: Shape accuracy
M261 + Face accuracy
M262
M260
Level 6: High
Level 4: Face accuracy
speed

M263 Level 5: Face accuracy


M265
(high)

Low M264

Face dignity
Low High
Image of machining levels

Points for selection of machining level


1. Select the shape accuracy emphasis or the face dignity emphasis
Decide which of the shape accuracy or the face dignity is to be emphasized. If the shape
accuracy is emphasized, the tool path is faithfully controlled by the command path. If the face
dignity is emphasized, it is controlled to improve smoothness of the machining face.

• Shape accuracy emphasis


→ Select the machining level 1(shape accuracy, M260).
• Face dignity emphasis
→ Select the machining level 4 (face dignity, M263).
• If you are not sure which should be emphasized
→ Select the machining level 1 (shape accuracy, M260) or machining level 6 (high-speed,
M265).

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.

Stripes (parallel grooves) parallel


to the tool path 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.

Recommend machining level


Machining level 1 (shape accuracy, M260)

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

Stripes (parallel grooves)


perpendicular to the tool path
appear.

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.

Recommend machining level


Machining level 4 (face dignity, M263)

(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

2.2 How to Use the Program


To use the high-accuracy mode A, use the following M codes:
M260-M267: High accuracy mode A ON
M269: High accuracy mode OFF

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;

2.3 Usable Conditions


In order to use the high-accuracy mode A, it is necessary for the modal status to be as follows:
In addition, the power is supplied under this condition.

M97: To cancel interruptive macro program


M299: Cancel machining mode specification
G43/G44/G143/G144/G49: TCP control (G43.4/G43.5) OFF

2.4 Conditions to be Cancelled


The high-accuracy mode A is set off if the following operations are done whilt the high-accuracy
mode A is in action:
• Power is supplied.
• The [RST] key is pressed.
• Memory operation is reset by pressing the [Z.RTN] key or the like in the manual operation
mode.
• End of program (M02, M30) is performed.

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

3.2 Additional Axis Movement Commands


If an additional axis movement is commanded while the high-accuracy mode A is in action, the
high-accuracy mode A is temporarily cancelled only while the command is in action. In addition,
the commands that move the feed axes and additional axis simultaneously by the cutting feed
(G01, G02, G03) are invalid.

3.3 Imposition Checked by High-accuracy Mode A


Command
If any of the following conditions is satisfied, an imposition is checked by an M code command in
the high-accuracy mode A:
• M code commands (M260-M269) alone in the high-accuracy mode A
• Commands changed to the high-accuracy mode A (M260-M267) from a modal state other
than the high-accuracy mode A
• When a value of the <Cutting feed time constant selection> or <Smooth override> changes
Ex.) M260G1X-10.Y-10.
G1X-20.Y-20.
M261G1X-30.Y-30...(1)
G1X-40Y-40
When using a program similar to the one above, if the setting in the user parameter (high accuracy:
high accuracy A) <Cutting feed time constant selection> for M260 and M261 is different, or if the
setting for <Smooth override> is different, then the in-position check is performed before the
program (1) runs.

3.4 Feedrate When Commanding of High-accuracy


Mode A
The feedrate for a high accuracy mode A command is restricted by the machine parameter (high
accuracy: X-, Y- and Z-axes) <Reference feedrate A>.
However, the user can adjust the restricting speed in the user parameter (high accuracy: high
accuracy A) setting for <Smooth override>. (Refer to “4.1 Detailed description of functions” for
further details.)
However, when a speed command is issued that is greater than the machine parameter (high
accuracy: X-, Y- and Z-axes) <Maximum feedrate A>, the alarm <<Feedrate error>> is triggered.
The machine parameters (system: X-, Y- and Z-axes) <Maximum cutting travel speed> and
<Single axis max cutting travel speed> and the user parameter (switch 1: programming) <Max.
actual cutting travel speed (linear axis / rotation axis)> cannot be used in high accuracy mode A.

3.5 Notes in Motions by Smooth Path Offset


Function
• Operates only when the user parameter (high accuracy: common) <Smooth path offset
function> is set to <1: Valid>.
• The block stop position in a single operation differs from the program command position.
• Mode change is unavailable.
• Dry run is unchangable. If changed, the operator message <<The spline function is valid.>>
appears.
• 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. 13
• If the user parameter (high accuracy: common) <Smooth path offset cancel angle> is set too
large, the alarm <<Curve speed error>> may be triggered.

2023/11/14 13 - 1 - 9 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode

4 Detailed Explanations and


Adjustments of Parameters
4.1 Detailed Explanations
We are gpoing to explain the following functions provided in the high-accuracy mode A:
(1) Automatic corner decelerating function
(2) Automatic arc decelerating function
(3) Automatic curve approximation decelerating function
(4) Fully automatic deceleration function
(5) Smooth override (Cutting time constant adjusting method)
(6) Smooth path offset function

(1) Automatic corner decelerating function


Function
If a tool approaches a corner in corner machining, the actual tool path moves away from the
command path a little by little. It is an error. In addition, the faster the feedrate is at a corner,
the larger the error becomes.
This function automatically decelerates only the feedrate near the corner according to the
setting value of <Corner deceleration override> so that the shape accuracy is kept constant
with respect to any corner specified in the NC program.

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.

Guide amount of shape error


The shape error at a corner becomes a value in proportion to the<Corner deceleration
override>. For example, if the error amount when the <Corner deceleration override> is set at
100% is 100, it becomes 200 when set at 200%, and it becomes 50 when at 50%.

(2) Automatic arc decelerating function


Function
For machining of arc interpolation, the actual tool path has an error in the command in the
radius direction to minimize the arc radius. In addition, the faster the feedrate is, the bigger the
error tends to become.
This function automatically decelerates the feedrate of circular cutting according to the setting
values of <Arc deceleration override> so that the shape accuracy in the radial direction is kept
constant with respect to any arc specified in the NC program.

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.

Guide amount of shape error


The shape error at an arc becomes a value in proportion to the <Arc deceleration override>.
13 For example, if the error amount when the <Arc deceleration override> 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 - 10 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode

(3) Automatic curve approximation decelerating function


Function
This function automatically decelerates the feedrate at the curve approximate block part
according to the setting value of the <Curve approximate deceleration override> so that the
shape accuracy is kept fixed for any curve approximate block (where the curve is represented
by the group of the minute linear blocks) commanded by an NC program.

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.

Guide amount of shape error


The shape error at a curve becomes a value in proportion to the <Curve approximate
deceleration override>. For example, if the error amount when the <Curve approximate
deceleration override> is set at 100% is 100, it becomes 200 when set at 200%, and it becomes
50 when set at 50%.

(4) Fully automatic deceleration function


Function
This function automatically decelerates the feedrate in order to limit the margin of error from
the command path within the value set in the <Accuracy level> on corner, arc and curve
approximation blocks that are specified in the NC program.

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.

Approximation for margin of error on shape


The set value for the <Accuracy level> is an approximation for the margin of error.

(5) Smooth override function (To adjust a cutting time constant)


Function
This function is to improve the face dignity. The command path created by CAM or the like in
machining a curved shape or 3-dimentional shape becomes a linearly commanded continual
polygon to have stripes (parallel grooves) or drops the face dignity. This function makes the
machining face smoother than before and improves the face dignity.
The <Smooth override>can adjust the face dignity.

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

To adjust the limit value of cutting feedrate


The cutting feedrate that can be commanded in a program is limited as follows:
• When the user parameter (high accuracy: high accuracy A) <Smooth override> is 100% or
more, the limit value is equal to the product from the following equation: the machine
parameter (high accuracy: X-, Y- and Z-axes) “Reference feedrate A” × “√(Smooth
override / 100)”. (Decimal point is rounded off)
• When the <Smooth override> is less than 100%, the limit value is equal to the product
from the following equation: the machine parameter (high accuracy: X-, Y- and Z-axes)
“Reference feedrate A” × “√(Smooth override / 100)”. (Decimal point is rounded off)

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

Smooth override: 100% : 10000 mm/min


400% : 20000 mm/min
50% : 5000 mm/min

(6) Smooth path offset function


Function
This function improves the face dignity as same as the smooth override function.
It makes a program, which creates a curved shape from minute blocks, create a curve line
from multiple program command points, approximate the path, and perform curve
interpolation.
This function changes the program command to a curve line, so the automatic deceleration is
minimized compared with the smooth override.
The <Smooth path offset level> can adjust the face dignity.

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

4.2 Explanation About Parameters


Each level is controlled by referring to the setting values of the user parameter (high-accuracy).

(High accuracy A)

(High-accuracy common)

13

2023/11/14 13 - 1 - 13 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode

User parameter (high accuracy: high accuracy A)


Parameter name Contents Setting range
Corner This is used together with the automatic corner deceleration function. 0, 10~9999
deceleration When “100" is set, automatic corner deceleration is performed based on the (%)
override 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. When “0" is set, automatic corner deceleration is
not performed.
When the <Accuracy level> is set to another value besides “0", this
parameter is disabled.
Arc deceleration This is used together with the automatic arc deceleration function. 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. When “0" is set, automatic arc deceleration is not
performed.
When the <Accuracy level> is set to another value besides “0", this
parameter is disabled.
Curve This is used together with the automatic curve approximate deceleration 0, 10~9999
approximation function. (%)
deceleration When “100" is set, automatic curve approximation deceleration is performed
override 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. When "0" is set, automatic curve
approximation deceleration is not performed.
When the <Accuracy level> is set to another value besides 0, this parameter
is disabled.
Smooth path This is used when the <Smooth path offset function> (explained later) is set 1~5
offset level <Valid>. The larger it is set, the smoother it becomes.
Making the set value larger may cause a significant deviation from the
program path. Be extra careful when changing the value.
Smooth override When "100" is set, the cutting feed time constant selected by the <Cutting 10~9999
feed time constant selection> is used. (%)
When a value larger than "100" is set, a smoother surface is attained, or
when a value smaller than "100" is set, the accuracy becomes higher.
Cutting feed time The cutting feed time constant of the high-accuracy mode A is selected. 0~2
constant <0: Group 1>
selection Uses <High accuracy A cutting feed time const. 1-3 (Group 1)> in the
machine parameter (high accuracy: X-, Y- and Z-axes).
<1: Group 2>
Uses <High accuracy A cutting feed time const. 1-3 (Group 2)> in the
machine parameter (high accuracy: X-, Y- and Z-axes).
<2: Group 3>
Uses <High accuracy A cutting feed time const. 1-3 (Group 3)> in the
machine parameter (high accuracy: X-, Y- and Z-axes).
Minute block If the travel distance of a block is less than the parameter value, the block is 0~2.000
deletion distance deleted. (mm)
If the <Smooth path offset function> is <Valid>, it is performed at a
13 Accuracy level
command point after path approximation.
Used with the fully automatic deceleration function. 0~5.000
When a value other than 0 is set, automatic deceleration is carried out so that (mm)
the margin of error from the command path is less than the set value. In this
situation, the following are disabled: <Corner deceleration override>, <Arc
deceleration override> and <Curve approximation deceleration override>.
When set to 0, the fully automatic deceleration function is disabled and the
following are enabled: <Corner deceleration override>, <Arc deceleration
override> and <Curve approximation deceleration override>.

2023/11/14 13 - 1 - 14 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode

User parameter (high accuracy: common)


Parameter name Contents Setting range
Smooth path offset The <Valid/invalid> of the <Smooth path offset function> is set. 0~1
function
Smooth path offset This is used when the <Smooth path offset function> is set <Valid>. 0~99.999
cancel distance If the travel distance of one block is longer than the set value, the (mm)
smooth path offset is cancelled.
If the set value is too large, it may deviate significantly from the
program path. Be careful when changing the value.
Smooth path offset This is used when the <Smooth path offset function> is set <Valid>. 0~120.000
cancel angle If the angle difference between blocks is larger than the set value, the (°)
smooth path offset is cancelled.
If the set value is too large, it may deviate significantly from the
program path. Be careful when changing the value.
Smooth path offset This is used when the <Smooth path offset function> is set <Valid>. 0~9.999
angle determination The smooth path offset is not cancelled even if the block where the (mm)
invalid distance smooth path offset is cancelled for decision of the <Smooth path offset
cancel angle> is less than the value set for a travel distance of one
block.
Smooth path offset Used when <Smooth path offset function> is set to <Valid>. 0~9.999
reference length If the travel distance of one block is longer than the set value, the path (mm)
is offset using the set value.
Minute block deletion Used when the <Smooth path offset function> is set to <Valid>. 0~1
when smooth path When this parameter is set to <1: Enabled>, depending on the settings
offset is cancelled for <Smooth path offset cancel distance> and the <Smooth path offset
cancel angle>, the <Minute block deletion distance> applies the
deletion even if the smooth path offset is cancelled for the block.
Accuracy level method Set the deceleration method when the accuracy level is specified in 0~1
high accuracy mode A.

13

2023/11/14 13 - 1 - 15 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode

4.3 Relationship Between Parameters and Shape


Errors
1. Corner shape error
The relationship between a shape error and an override when the shape error is 1.0 where the
deceleration override is 100% and the smooth override is 100% is as follows:

Relationship between corner shape error and deceleration override


9.0
8.0
Corner shape error

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

Relationship between corner shape error and smooth override


3.5

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

2. Arc/curved shape error


The relationship between a shape error and an override when the shape error is 1.0 where the
deceleration override is 100% and the smooth override is 100% is as follows:
Relationship between shape error and deceleration override of an arc or curve
7.0

6.0
Arc/curve shape error
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

Relationship between Arc/curve shape error and smooth override


8.0

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

4.4 Adjusting Parameters


The M code can be changed to set up the appropriate machining depending on the machining
conditions. However, the parameters can also be adjusted to further optimize the machining.
There are 2 types of parameters that can be adjusted: the parameter for adjusting shape accuracy
and the smooth override. There are 4 parameters that can adjust the shape accuracy: Corner
deceleration override, arc deceleration override, curve approximation deceleration override and
accuracy level. A description of each parameter function is noted below.
Parameter for adjusting shape accuracy Smooth override
Parameter for improving shape accuracy. Override for improving the surface
It reduces the speed depending on the quality.
shape in order to improve the shape It reduces the unevenness in the
Description accuracy. command path in order to improve the
It impacts the shape accuracy and the surface quality.
machining time. It impacts the surface quality and the
shape accuracy.
Setting Deceleration override: 0, 10 to 9999 (%)
10 to 9999 (%)
range Accuracy level: 0 to 5.000 (mm)
Deceleration override: The surface quality is the same as when
When the <Accuracy level> is set to setting 100 as the normal mode. When it
another value besides 0, this parameter is set to a small value, the shape
is disabled. accuracy improves but the surface
When it is set to 0, deceleration override quality deteriorates. In addition, the
is disabled. maximum speed for the cutting feed is
When it is set to a small value, the shape limited.
accuracy improves but the machining When it is set to a large value, the
time becomes longer. surface quality improves but the shape
When it is set to a large value, the accuracy deteriorates.
machining time becomes shorter but the
shape accuracy deteriorates.
Description Accuracy level:
When it is set to 0, the fully automatic
deceleration override is disabled and the
deceleration override is enabled.
When it is set to a small value, the shape
accuracy improves but the machining
time becomes longer.
When it is set to a large value, the
machining time becomes shorter but the
shape accuracy deteriorates.
How much the machining time increases
or decreases varies depending on the
model.

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”.

2.2 How to Use Programs


The following M codes are used for the high-accuracy mode B:

M280-M287 : To activate the high-accuracy mode B


M289 : To diactivate the high-accuracy mode A/B

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;

2.3 Usable Conditions


To use the high-accuracy mode B, the modal status must be as follows:
M97: To cancel interruptive macro program
M299: Cancel machining mode specification
In addition, this condition is applied when power is supplied.

(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.

2.4 Conditions to be Cancelled


The high-accuracy mode B goes off if the following operations are done in the high-accuracy
mode B:
• Power is supplied.
• The [RST] key is pressed.
• Memory operation is reset by pressing the [Z.RTN] key in the manual operation mode.
• End of program (M02, M30) 13

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 1) If an uncommandable function is commanded, the alarm <<High-accuracy B unable


command>> appears.

(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

3.2 Temporary Stop of Operation


If an operation is tried to be stopped by the [FEED HOLD] switch in the high-accuracy mode B,
it may not stop in the commanded block because it decelerates smoothly in the allowable
acceleration.

3.3 Single Operation


As reasoned in “3.2 Temporarily stop of operation”, even if you try to perform a single operation
in the high-accuracy mode B and press the [SINGL] key, it may not stop in the commanded block.

3.4 Cutting Override


The cutting override in the high-accuracy mode B is valid. However, when an override value that
exceeds 100% is set, the override is not executed on the corner where there is a consecutive cutting
feed and the 100% value is used.

3.5 Dry Run


It is unable to switch ON/OFF a dry run in the high-accuracy mode B. If the [DRY] key is pressed,
the operator message “During high-accuracy B” appears.

3.6 Feedrates When Commanding the High-


accuracy Mode B
When a speed command is issued that is greater than the machine parameter (high accuracy: X-,
Y- and Z-axes) <Maximum feedrate B> and the machine parameter (high accuracy: additional
axis) <Maximum feedrate B>, the alarm <<Feedrate error>> is triggered.
The machine parameters (system: X-, Y- and Z-axes) <Maximum cutting travel speed> and
<Single axis max cutting travel speed> and the user parameter (switch 1: programming) <Max.
actual cutting travel speed (linear axis / rotation axis)> cannot be used in high accuracy mode B.

3.7 Notes in Smooth Path Offset Function


• Operates only when the user parameter (high accuracy: common) <Smooth path offset
function> is set to “Valid”.
• The block stop position in single operation differs from the program command position.
• Mode change is unavailable.
• Dry run change is unavailable.
• No block during cutting by the smooth path offset function can be specified in a program
restart block. If specified, the message <<Program restart error>> appears.
• If the user parameter (high accuracy: common) <Smooth path offset cancel angle> is set too
large, the alarm <<Curve speed error>> may be triggered.

3.8 Additional Axis Travel Command


When a travel command is issued on the additional axis in high accuracy mode B, make sure to
check the setting beforehand for <High accuracy B additional axes> in the machine parameter
(high accuracy: common).

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

User parameter (high accuracy: common)


Parameter name Contents Setting range
Smooth path offset The <Valid/invalid> of the <Smooth path offset function> is set. 0-1
function
Smooth path offset This is used when the <Smooth path offset function> is set <Valid>. 0-99.999
cancel distance If the travel distance of one block is longer than the set value, the (mm)
smooth path offset is cancelled.
If the set value is too large, it may deviate significantly from the
program path. Be careful when changing the value.
Smooth path offset This is used when the <Smooth path offset function> is set <Valid>. 0-120.000
cancel angle If the angle difference between blocks is larger than the set value, the (°)
smooth path offset is cancelled.
If the set value is too large, it may deviate significantly from the
program path. Be careful when changing the value.
Smooth path offset This is used when the <Smooth path offset function> is set <Valid>. 0-9.999
angle determination The smooth path offset is not cancelled even if the block where the (mm)
invalid distance smooth path offset is cancelled for decision of the <Smooth path offset
cancel angle> is less than the value set for a travel distance of one
block.
Smooth path offset Use when <Smooth path offset function> is set to <Valid>. 0-9.999
reference length If the travel distance of one block is longer than the set value, the path (mm)
is offset using the set value.
Minute block deletion Used when the <Smooth path offset function> is set to <Valid>. 0~1
when smooth path When this parameter is set to <1: Enabled>, depending on the settings
offset is cancelled for <Smooth path offset cancel distance> and the <Smooth path offset
cancel angle>, the <Minute block deletion distance> applies the
deletion even if the smooth path offset is cancelled for the block.
Accuracy level method Set the deceleration method when the accuracy level is specified in 0~1
high accuracy mode A.

13

2023/11/14 13 - 2 - 7 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode

(This page was intentionally left blank.)

13

2023/11/14 13 - 2 - 8 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode

CHAPTER 13 (3)

MACHINING MODE SETTINGS

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

2 High accuracy (machining mode)


function
The user can use the high accuracy (machining mode) function to browse from 6 available
machining modes and select the one that best fits the machining content, for example, the user can
select an option that focuses on machining accuracy or on the smoothness of the machining
surface.
Machining mode Description
Standard Standard setting that balances accuracy and smoothness
Rough Setting with shorter machining time
Medium rough Setting between rough and finishing
Medium rough S Setting focused on machining surface quality
Finishing Setting focused on true accuracy for program command
Finishing S Setting focused on machining surface quality and true accuracy of
program commands, machining time is longer

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

Margin of Program path


Margin of error on
error on inner inner turning Actual path
turning

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

Description of screen display


Position Name Description
1 Graph Displays the performance in each machining mode in a graph.
Tap on a machining mode on the graph to select it for the
<Machining mode>.
2 Machining mode Selects the desired machining mode from the displayed list.
3 Procedure guide Displays a procedure guide for the machining mode setting.

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.

e.g.) When <L1. Std> is set for the <Machining mode>

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

Machining mode adjustment


After setting <L7. Adjust. A>, <L8. Adjust. B> and <L9. Adjust. C> for the machining mode, the
user can add the customized machining modes, which are based on the 6 basic modes already
available, i.e. <L1. Std.> and <L2: Rough>.

The following procedure is a description when adding <L7. Adjust. A>.


The procedures for adding <L8. Adjust. B> and <L9. Adjust. C> are the same.

1. Open the <Machining parameter adjustment (L7 adjustment A)> screen.

2
3
4

Description of screen display


Position Name Description
1 Graph Displays the performance in adjustment A mode in the
graph.
2 Standard mode Selects the standard machining mode in adjustment A mode.
3 Accuracy adjustment Adjusts the accuracy for adjustment A mode.
4 Smoothness Adjusts the smoothness for adjustment A mode.
adjustment
5 Reference graph Displays the performance of each standard machining mode
in the graph.
6 Procedure guide Displays a procedure guide for the machining mode
adjustment.

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

3 High accuracy (accuracy


specification mode) function
When using the <Accuracy spec. mode>, the machining automatically decelerates so that if a
margin of error on inner turning, between the actual path and the programmed path, occurs when
performing linear or circular interpolation, the difference is less than the value specified in the
<Accuracy level> as shown in the diagram below.

■Linear interpolation ■Circular interpolation

Margin of Program path


error on inner
Margin of turning Actual path
error on
inner turning

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.

Accuracy specification mode Description


Accuracy spec. A Rough
Accuracy spec. B Medium rough
Accuracy spec. C Finishing

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.

1. Open the <Machining parameter adjustment (accuracy specification)> screen.

2
3

13

2023/11/16 13 - 3 - 12 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode

Description of screen display


Position Name Description
1 Accuracy Selects the desired accuracy specification mode from the
specification mode displayed list.
2 Accuracy level Enter the target accuracy in mm (setting units depends on
the user parameter (switch 1: system) <Machine unit
system>).
3 Smoothness Sets the smoothness level. The higher the value is, the
smoother the machining surface becomes.
4 Procedure guide Displays a procedure guide for the machining mode setting.

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

4 Description of function key


Position Label Description
(1) <Completion mode> Refer below.
(2) <Machining mode> Changes to the <Machining parameter adjustment
(Machining mode)> screen.
(3) <L7 adjustment A> Changes to the <Machining parameter adjustment (L7
adjustment A)> screen.
(4) <L8 adjustment B> Changes to the <Machining parameter adjustment (L8
adjustment B)> screen.
(5) <L9 adjustment C> Changes to the <Machining parameter adjustment (L9
adjustment C)> screen.
(6) <Accuracy Changes to the <Machining parameter adjustment (accuracy
specification> specification> screen.
(7)
(8)

Description of keys in completion mode


Position Label Description
(1) <Save and end> Saves the edited content and closes the machining mode
settings.
(2)
(3)
(4) <Cancel w/o saving Discards the edited content and closes the machining mode
changes> settings.
(5)
(6)
(7) <Overwrite save> Saves the edited content and returns to editing.
(8) <Cancel> Returns to editing.

13

2023/11/16 13 - 3 - 15 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode

5 Mode selection using program


command (NC language only)
Issue an M298 command in memory operation to set the machining mode or the accuracy
specification mode.

Command format M298 L

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.

Command format M299

The M298 command is canceled regardless of the following operations.


• 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

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

6 Check Current Mode


The current status of the high accuracy mode (1 in figure) can be checked on the <Modal info 2>
screen.

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

User parameter (high accuracy: common)


Parameter name Description Setting range
Smooth path Enable or disable the <Smooth path offset function>. 0 to 1
offset function
Smooth path Use when <Smooth path offset function> is set to 0 to 99.999
offset cancel <Valid>. (mm)
distance Smooth path offset is canceled when the travel distance of
one block is longer than the set value.
Making the set value larger may cause a significant
deviation from the program path. Be extra careful when
changing the value.
Smooth path Use when <Smooth path offset function> is set to 0 to 120.000
offset cancel angle <Valid>. (deg.)
Smooth path offset is canceled when the difference in the
angles between blocks is greater than the set value.
Making the set value larger may cause a significant
deviation from the program path. Be extra careful when
changing the value.
Smooth path Use when <Smooth path offset function> is set to 0 to 9.999
offset angle <Valid>. (mm)
determination Even when the smooth offset is cancelled on a block by
invalid distance the <Smooth path offset cancel angle>, if the travel
distance of one block is equal to or less than the set value,
the smooth path offset is not cancelled.
Smooth path Use when <Smooth path offset function> is set to 0 to 9.999
offset reference <Valid>. (mm)
length If the travel distance of one block is longer than the set
value, then the path is offset using the set value.
Minute block Use when <Smooth path offset function> is set to 0 to 1
deletion when <Valid>.
smooth path offset When this parameter is set to <1:Yes>, depending on the
is cancelled settings for <Smooth path offset cancel distance> and the
<Smooth path offset cancel angle>, the <Minute block
deletion distance> applies the deletion even if the smooth
path offset is cancelled for the block.
Accuracy level Set the deceleration method when the accuracy level is 0 to 1
method specified in high accuracy mode A.

13

2023/11/16 13 - 3 - 19 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode

(This page was intentionally left blank.)

13

2023/11/16 13 - 3 - 20 eCOM4NCPR13-3
Chapter 14 5 axes machining function

CHAPTER 14

5 AXES MACHINING FUNCTION

14.1 Interpolation Using 5 Axes Simultaneously


14.2 TCP Control

* The 5 axes machining function is available on the


following machine models.
• S300Xd1-5AX/S500Xd1-5AX/S700Xd1-5AX
• M200Xd1-5AX/M300Xd1-5AX
• U500Xd1-5AX

14

2023/11/21 14 - 1 eCOM4NCPR14
Chapter 14 5 axes machining function

14.1 Interpolation Using 5 Axes Simultaneously


14.1.1 Overview
This chapter provides the specific programming specifications for interpolation using 5 axes
simultaneously. When the interpolation function using 5 axes simultaneously is enabled, the G
codes shown below are used for those specific motions.
• G01: Linear interpolation
• G02: Helical thread cutting interpolation
• G00: Positioning (NOTE)
• G43.4/G43.5: TCP control

(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.

14.1.2 Linear Interpolation (G01)


Linear travel is carried out at the command feedrate from the current position to the end point.

Command format G01 X_Y_Z_A_B_C_F_;

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

The feedrate in the direction of each axis is as follows.

When using G01 G91 Xα Yβ Zγ Ff;


α
Feedrate in X-axis direction: Fx = ·f
L
β
Feedrate in Y-axis direction: Fy = ·f
L
14 Feedrate in Z-axis direction: Fz =
γ
·f
L
(L= α2 + β2 + γ2 )

2023/11/21 14 - 2 eCOM4NCPR14
Chapter 14 5 axes machining function

Linear interpolation using a linear axis and rotation axis is as follows.


When the user parameter (switch 1: programming) <Rotation axis speed command type> is set to
<Type 2>, the speed of each axis changes depending on the user parameter (switch 1:
programming) <Standard circle radius> setting. Refer to “3.3.1.1 Speed command for standard
circle on rotation axis” for further details.

When using G01 G91 Xα Yβ Zγ Bδ Cε Ff;


L
Time required for distributing between B-axis and C-axis: T =
f
δ
Feedrate in B-axis direction: Fb =
T
ε
Feedrate in C-axis direction: Fc =
T
α
Feedrate in X-axis direction: Fx = ·f
L
β
Feedrate in Y-axis direction: Fy = ·f
L
γ
Feedrate in Z-axis direction: 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+ε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

14.1.3 Helical Thread Cutting Interpolation (G02)


When an axis command is inserted outside of the selected plane in an arc command block, helical
thread cutting is carried out.

Command format For X-Y plane:


G17 G02 X_Y_Z_ I_J_ (A_B_C_) F_;
R_

G17 G03 X_Y_Z_ I_J_ (A_B_C_) F_;


R_

For Z-X plane:


G18 G02 Z_X_Y_ K_I_ (A_B_C_) F_;
R_

G18 G03 Z_X_Y_ K_I_ (A_B_C_) F_;


R_

For Y-Z plane:


G19 G02 Y_Z_X_ J_K_ (A_B_C_) F_;
R_

G19 G03 Y_Z_X_ J_K_ (A_B_C_) F_;


R_

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*θ

F : Command speed (Selected plane axis)


R : Radius
θ : Angle
Fz : Axis feedrate outside of selected plane
L : Axis travel distance outside of selected plane

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.

14.1.4 Positioning (G00)


Command format G00 X_Y_Z_A_B_C_;

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>.

<0: Non-linear interpolation type positioning>


Positioning is carried out on each axis independently using rapid feedrate on each axis. The tool
path is not a straight line.

<1: Linear interpolation type - Positioning method 1>


Positioning is carried out so the tool path is a straight line and is completed in the shortest time
period at a speed that does not exceed the rapid feedrate on each axis.

<2: Linear interpolation type - Positioning method 2>


Positioning is carried out so the tool path is a straight line and is completed in the shortest time
period at a speed that does not exceed the rapid feedrate on each axis. However, the positioning
operation on the additional axis is a non-linear interpolation type.

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.

Non-linear interpolation type

End point

Linear interpolation type

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.5 TCP Control (G43.4/G43.5)


Refer to “14.2 TCP control” for further details.

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

14.2 TCP Control


14.2.1 Overview
14.2.1.1 Introduction
When using tool center point (TCP) control, the end point of the tool is controlled so that it always
follows the program command path.
As shown in the images below, when there is an additional axis travel command on a block with
linear interpolation, the TCP control keeps the path linear for the tool center point (when looking
from the table).
When TCP control is not used, it maintains the linear path of the control point in the machine
coordinate system. This prevents the TCP path from being linear, and it may cut in or leave
something uncut in the middle of the block.

■ When using TCP control

Block start point Middle of block Block end point

TCP (Tool
center point)

A0 A22.5 A45

■ When not using TCP control

Block start point Middle of block Block end point

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

14.2.1.3 Machine configuration


This function can be used on the following machine configurations.
• Configuration with two axes (rotation axis and tilt axis) for the table
(When user parameters (rotation axis/tilt axis settings) <Tilt axis 1> and <Rotation axis 1> are
not set to <0: Not specified>)
• Configuration with one axis (rotation axis or tilt axis) for the table
(When user parameter (rotation axis/tilt axis settings) <Tilt axis 1> or <Rotation axis 1> is not
set to <0: Not specified>)

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.

14.2.2 Program Commands


14.2.2.1 TCP control ON command
ABC command format (G43.4)
The command is issued at the address for A, B or C for the coordinates of the tilt axis and rotation
axis at the end point of each block (or the travel amount).

G43.4 X_ Y_ Z_ α_ β_ Hn ;
Command format X_ Y_ Z_ α_ β_ ;

Hn : Tool number (n = 0 to 99 and 201 to 299), or group number (n = 901 to 930)


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) 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

IJK command format (G43.5)


A command for the orientation of the tool in the table coordinate system at the end point of each
block is issued in a vector format by the IJK address. (This is called the “Tool posture vector”)
To use this command format, set the user parameter (5 axes machining: common) <Programming
coordinate system> to <0: Table coordinate system>.
Tool attitude vector

K
Z
Y
Table coordinate X
system I J

G43.5 X_ Y_ Z_ α_ β_ Hn ;
Command format X_ Y_ Z_ I_ J_ K_ ;

Hn : Tool number (n = 0 to 99 and 201 to 299), or group number (n = 901 to 930)


X_Y_Z_ : End point coordinate (for G90 modal) or travel amount (for G91 modal)
I_J_K_ : Tool posture vector (tool orientation at the end point of the block in the table
coordinate system)

(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

IJK address range/valid digits


Command range and valid digits for IJK address in IJK command format (G43.5) are as follows.

• 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>>

• Up to 6 digits for integer digits can be used for commands


Ex: K-123456.123456 (6 integer digits + 6 decimal digits = 12 total digits) → All digits valid
K-1234567.12345 (7 integer digits + 5 decimal digits = 12 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

How angle is determined for IJK command


There are normally 2 sets of angles in the range between 0° and 360° for the combination of the tilt
axis and rotation axis angles, which is calculated from the tool posture vector in IJK command
format (G43.5). When there are two or more sets of angle combinations, which also include angles
of integral multiples of 360°, the angle to move the axis is determined by the following methods.

(1) Travel amount of tilt axis is the small angle


(2) Travel amount of rotation axis is the small angle when the travel amount in the positive and
negative directions is the same for (1).
(3) Angle of the tilt axis’ travel destination is an angle close to a multiple of 360° when the set of
angles is not decided by (1) or (2).
(4) Angle of the rotation axis’ travel destination is an angle close to a multiple of 360° when the
set of angles is not decided by (1), (2) or (3).
(5) Angle where the tilt axis travels in a positive direction when the set of angles is not decided by
(1), (2), (3) or (4).

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

14.2.2.2 Cancel command (G49)


The G49 command cancels the TCP control.

Command format G49 X_ Y_ Z_ α_ β_ ;

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).

14.2.2.3 Command conditions


Issue a TCP control ON command in the following situations.
If a TCP control ON command is carried out when one of the following does not apply, the alarm
<<TCP control command not possible>> is triggered.

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.

14.2.2.4 Command functions


The functions available while using TCP control are as follows.
If a function command is issued that is unavailable, the alarm <<TCP under control>> is triggered.

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.

Unavailable command functions


- Arc (G02/G03), helical/spiral (G02/G03) and involute interpolation (G02.2/G03.2)
- Circular cutting (G12/G13)
- Programmable stroke limit ON/cancel (G22/G23)
- Reference position return (G28/G29/G30)
- Thread cutting (G33/G392)
- Coordinate calculation (G36 to G39)
- Cutter / nose R compensation (G41/G141)
- TCP control (G43.4/G43.5) →(NOTE 1)
- Scaling (G51) and mirror image (G51.1)
- Local coordinate system (G52)
- Machine coordinate command (G53)
- Feature coordinate index command (G53.1)
14 - Workpiece coordinate system selection (G54 to G59/G54.1) and rotary fixture offset (G54.2)
- Single direction positioning (G60)
- Rotational transformation (G68) and feature coordinate setting (G68.2)
- General canned cycle (G77, G81, etc.)
- Workpiece coordinate system setting (G92)
- Inverse time feed (G93) and feedrate per rotation (G95)
- M96 (interrupt type macro)

2023/11/21 14 - 12 eCOM4NCPR14
Chapter 14 5 axes machining function

- M142 (lathe spindle selection)


- M203 (tool breakage detection)
- M260 to M267 (high accuracy mode A)
- M298 (high accuracy machining mode specification)
- M300 (Z-axis perimeter mode on) →(NOTE 2)
- M303/M304 (lathe spindle clockwise/counterclockwise)
- Execute brake load test (M470 and M471)
- H code command

(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.

Only typical functions are noted in this section.


Refer to “3.17 G code priority” for further details.

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.

When additional axis only travels


As shown below, when there is a command in which the TCP does not move in the table
coordinate system, the user can select how to handle the feedrate for the additional axis. In the user
parameter (5 axes machining: common) <Feedrate selection (when only rotation axis moves)>,
select from <F command value> or <Maximum speed>.

• <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).

Example 1: Additional axis only command


(G43.4 modal)
G91 G01 A10. C10. F10000

Example 2: Command with no travel on X-, Y- and Z-axes


(G43.4 modal, G90)
G90 G01 X10. Y10. A10. C10. F10000
X10. Y10. A20. C20. 14
(NOTE) The speed when using the cutting feedrate override is as follows.
- The override (0 to 200%) for the F command value (deg/min) applies when
<Feedrate selection (when only rotation axis moves)> is set to <F command
value>.

2023/11/21 14 - 13 eCOM4NCPR14
Chapter 14 5 axes machining function

- When <Feedrate selection (when only rotation axis moves)> is set to


<Maximum speed>, the maximum speed for the rotation axis/tilt axis (machine
parameter (5 axes machining: additional axis) <Maximum speed (cutting feed)>
(5th- to 8th-axis)) is processed as an F command value (deg/min). And, the
override (0 to 100%) for this applies.

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.

Speed on each axis


• Machine parameter (5 axes machining: X-, Y- and Z-axes) <Maximum speed (Rapid feed)>
(X-axis) (mm/min)
• Machine parameter (5 axes machining: X-, Y- and Z-axes) <Maximum speed (Rapid feed)>
(Y-axis) (mm/min)
• Machine parameter (5 axes machining: X-, Y- and Z-axes) <Maximum speed (Rapid feed)>
(Z-axis) (mm/min)
• Machine parameter (5 axes machining: additional axis) <Maximum speed (Rapid feed)> (α-
axis) ×360 (deg/min)
(α refers to the axis set in the user parameter (rotation axis/tilt axis settings) <Tilt axis 1>.)
• Machine parameter (5 axes machining: additional axis) <Maximum speed (Rapid feed)> (β-
axis) ×360 (deg/min)
(β refers to the axis set in the user parameter (rotation axis/tilt axis settings) <Tilt axis 1>.

(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.

14.2.2.7 Interpolation method on additional axis


The respective angle speed for the tilt axis and rotation axis interpolates so that the speed remains
constant throughout the block.
Tool posture at the start and end points in the block (orientation of the tool relative to the
workpiece) follows the orientation according to the start and end points in the program, but
orientation of the tool in the middle of the block is not controlled.

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.

Plane defined by tool posture at


start and end points
Tool posture (end point)
Tool posture
(start point)
Block end point
Block start point

Workpiece

14

2023/11/21 14 - 14 eCOM4NCPR14
Chapter 14 5 axes machining function

14.2.3 Coordinate System


14.2.3.1 Programming coordinate system
A coordinate system used in the program (referred to as “programming coordinate system”) can be
selected for TCP control. In the user parameter (5 axes machining: common) <Programming
coordinate system>, select from <Table coordinate system> or <Wrkpc. coord. sys.>.

Table coordinate system


This coordinate system is fixed to the table.
The zero position in the coordinate system and the XYZ directions change according to the
rotation of the table.
The workpiece coordinate system is fixed to the table and defines the table coordinate system.
Refer to the next section for details about fixed position in the table coordinate system.
Table coordinate system Table coordinate system
Z

Table
coordinate
A-45 A45 system
A0

Workpiece coordinate system


This coordinate system is not fixed to the table.
The zero position in the coordinate system and the XYZ directions do not change even if the table
rotates.
Workpiece coordinate Workpiece coordinate Workpiece coordinate
system system system
Z Z Z
Y
Y Y

A-45 A0 A45

14.2.3.2 Fixed position in table coordinate system


When the workpiece coordinate system is fixed to the table, the coordinates for the rotation axis
and tilt axis can be selected.
In the user parameter (5 axes machining: common) <Fixed position in table coordinate system>,
select from <Zero position in workpiece coordinates> or <Additional axis position at start>.

Zero position in workpiece coordinates


The workpiece coordinate system is fixed to the table for the zero position of the rotation axis/tilt
axis that is set in the workpiece coordinate system.

Additional axis position at start


The workpiece coordinate system is fixed to the table for the coordinate position of the rotation
axis/tilt axis when TCP control is ON.
If a travel command is issued for the rotation axis/tilt axis on the same block as the TCP control
ON command, then the workpiece coordinate system is fixed to the table for the end position after
rotation travel.
14

2023/11/21 14 - 15 eCOM4NCPR14
Chapter 14 5 axes machining function

14.2.3.3 Operation example (additional axis at ON


command is 0 degrees)
The operation example below is when the additional axis position is 0 degrees when TCP control
is ON.

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

A-axis zero: Machine coord. 0 deg. Table coordinate


A0 A45 system

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

A-axis zero: Machine coord. 20


deg. A0 A45

14

2023/11/21 14 - 16 eCOM4NCPR14
Chapter 14 5 axes machining function

14.2.3.4 Operation example (additional axis at ON


command is not 0 degrees)
The operation example below is when the additional axis position is not 0 degrees when TCP
control is ON.

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

A-axis zero: Machine A90 A45


coord. 0 deg.

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

14.2.4 Startup Operation


The tool length offset is applied from the TCP control ON command.
The startup operation refers to the travel in this situation.

14.2.4.1 No travel command


As shown below, if there is no axis travel command on the same block as the TCP control ON
command, then the Z-axis just travels the tool length offset at the startup operation.

ABC command format G43.4Hn ;

IJK command format G43.5Hn ;

(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>.

The following is a program example.

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

14.2.4.2 Travel command


As shown below, an axis travel command on the same block as the TCP control ON command can
be carried out.
The startup operation includes travel to the position that is offset by the tool length relative to the
end position.

ABC command format G43.4 X_ Y_ Z_ α_ β_ Hn ;

IJK command format G43.5 X_ Y_ Z_ Hn ;

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.

The following is a program example.

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

14.2.4.3 Simultaneous Commands with Tool Change


As shown below, it is possible to issue commands on the same block as the tool change command
and the TCP control ON command.

ABC command format G100 T_ G43.4 X_ Y_ Z_ α_ β_ Hn ;

IJK command format G100 T_ G43.5 X_ Y_ Z_ Hn ;

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

Tool change operation at N2


(1) The Z-axis travels from the N1 end position (workpiece coordinate system: Z = 40) to the zero
position (distance to zero point).
At the same time, the spindle orientation is carried out.
(2) The Z-axis travels from the zero position (distance to zero point) to the ATC zero point.
At the same time, the X- and Y-axes travel to the end position (table coordinate system: X = 0,
Y = 30) as specified in N2.
In addition, the A- and C-axes travel to the end position (A = 45, C = 30) as specified in N2.
(3) The magazine rotates and indexes the T2 tool.
(4) The Z-axis travels from the ATC zero point to the zero position.
(5) The Z-axis travels from the zero position to the end position (table coordinate system: Z = 10)
as specified in N2.
At the same time, rotation starts for the spindle command (M03).

(3) Magazine turns


(2) X- and Y-axes travel
ATC zero point
(2) Z-axis travels (4) Z-axis travels
Zero position
(1) Z-axis travels (5) Z-axis travels

N1 end point (2) A-axis rotates


Workpiece coordinates Z
(Y, Z) = (-40, 40) Y N2 end point
Table coordinates
Workpiece coordinate system (G54) (Y, Z) = (-30, 10)

Table coordinate system

(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

14.2.5 Cancel operation


The tool length offset is cancelled from the TCP control OFF command.
Travel at this time is referred to as a “cancel operation”.

14.2.5.1 No travel command


As shown below, if only the TCP control OFF command is carried out, then the Z-axis just travels
the tool length offset amount because of the cancel operation.

Command format G49 ;

(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.

14.2.5.2 Travel command


As shown below, an axis travel command on the same block as the TCP control OFF command
can be carried out.
The cancel operation includes travel to the position where the tool length offset (relative to the end
position) is cancelled.

Command format G49 X_ Y_ Z_ α_ β_ ;

(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

14.2.5.3 Cancelled by other commands


When one of the following commands that is not the cancel command (G49) is carried out during
TCP control, then the TCP control is cancelled.

Tool length offset

Command format G43/G44 X_ Y_ Z_ α_ β_ ;

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.

Tool change command

Command format G100 Tn X_ Y_ Z_ α_ β_ ;

TCP control is cancelled and a tool change is carried out.


After the tool change, the TCP control stays cancelled.

14.2.6 Machining Parameter


14.2.6.1 Overview of acceleration/deceleration control
When under TCP control, it executes the program look ahead operation and carries out
acceleration/deceleration before interpolation.
When there is a continuous cutting operation (G01) as per the program look ahead,
acceleration/deceleration can be carried out smoothly without stopping at each block.

(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

14.2.6.2 Stop command


If one of the following commands is carried out, it stops first at the end point of the previous block
before it is executed.

- Rapid feed (G00)


- Skip (G31/G131/G132)
- Dwell (G04)
- Programmable data input (G10)
- Programmable data input (high accuracy) (G210)
- S code command
- T code command
- M code command
- Additional axis travel command under unclamp/clamp automatic control (NOTE 1)
- G code command without travel (G91 single command, etc.)

(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)

14.2.6.3 Override functions


There are three override functions to adjust the machining parameters.
• Corner deceleration override
• Acceleration override
• Smooth override

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.

Corner deceleration override


This function limits any differences between the corner command path and the tool path in order to
improve the shape accuracy on the corner.
The X-, Y-, Z-, tilt and rotation axes can be adjusted with the <Corner deceleration
override(*axis)>. The setting range can be set to “0%” or between “10% and 999%”.
The smaller the set value, the more the deceleration function is applied, making the difference
between the paths smaller and improving the shape accuracy.
However, the machining time takes longer as a result.

Margin of error (difference) in shape

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.

Smooth override (cutting time constant adjustment)


The cutting time constant can be adjusted.
The common value on all axes can be set using <Smooth override>. The setting range can be set
between “10% and 999%”.
When there is a sudden speed change on a corner or curve section that adversely affects the surface
quality, the user can increase the smooth override to improve the surface quality.
However, the difference between the command path and tool path becomes larger.

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.

14.2.6.4 Machining level change (M280 to M287)


The machining level can be changed using the M code. Refer to the table below for details on the
machining levels.
The factory default setting (M289 modal) places emphasis on high speed.
To change the setting and place more emphasis on shape accuracy or surface quality, for example,
then insert an M code (M280 to M283) to change the machining level. Refer to the next chapter
for details on how to use the codes in the program.
In addition, the user can make adjustments and optimize the settings by applying a user defined M
code (M284 to M287).

Machining level factory default settings


Machining Purpose Correspondin
Description
level (emphasis) g M code
Places emphasis on high speed.
Factory All override functions are set to 100%.
M289
default High speed This setting is to minimize deceleration as much as
status (M269)
possible. As a result, the machining time can be made
shorter.
Surface Improves the surface quality. Compared to the default
1 quality setting, the acceleration and deceleration are more gradual M280
(medium) and the machining time becomes a little longer.
Improves the surface quality. Compared to the default
Surface
setting, the acceleration and deceleration are more gradual
quality
and the machining time becomes a little longer.
2 (medium) M281
This level improves the shape accuracy more. It is easier
+ Shape
to decelerate around corners and the machining time is
accuracy
longer than level 1.
Improves the surface quality. Compared to levels 1 and 2,
Surface
the acceleration and deceleration are more gradual. As a
3 quality M282
result, the surface quality is better than levels 1 and 2, but
(high)
the machining time is longer.
Improves the surface quality. Compared to levels 1 and 2,
Surface the acceleration and deceleration are more gradual. As a
quality result, the surface quality is better than levels 1 and 2, but 14
4 (high) the machining time is longer. M283
+ Shape This level improves the shape accuracy more. It is easier
accuracy to decelerate around corners and the machining time is
longer than level 3.

2023/11/21 14 - 25 eCOM4NCPR14
Chapter 14 5 axes machining function

Machining Purpose Correspondin


Description
level (emphasis) g M code
When another setting is needed apart from those above,
refer to the parameter values between M280 and M283,
M284~
5~8 User defined and set a value in the user parameter.
M287
Refer to “14.2.6.6 Parameter adjustment screen” for
details on the parameter adjustment screen.

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

Image of machining levels

14.2.6.5 Program usage


M codes are not needed when not changing the machining level.
When the TCP control ON (G43.4 or G43.5) command is issued, it operates using the factory
default value for the machining level.
(Program example 1)
G00 X_ Y_ Z_;
G01 X_ Y_ Z_;
X_ Y_ Z_; High accuracy mode OFF

G00 X_ Y_ Z_;
G43.4 H1; TCP control ON

G01 X_ Y_ Z_ A_ C_;
X_ Y_ Z_ A_ C_; TCP control ON (factory default value) executing

G0 X_ Y_ Z_ A_ C_;
G49; TCP control OFF
M30;

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.6.6 Parameter adjustment screen


The set value can be adjusted with an M code.
Select <5 axes machining> on the <User parameter menu> screen.
Set on the <5 axes machining (by M code)> screen below.

14.2.6.7 Programmable data input (G210)


The parameters can be temporarily changed in the program.
Refer to “3.18.3 Temporary parameter change with TCP control” for further details.

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.

14.2.7.2 Emergency stop


When the [EMERGENCY] 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
that was executing when the switch was pressed. The block may be different from
the block where operation was actually stopped.

14 14.2.7.3 Single operation


When starting single operation while under TCP control, it may not stop on the block where the
[SINGL] key is pressed for the same reason noted in “14.2.7.1 Operation pause”.

2023/11/21 14 - 28 eCOM4NCPR14
Chapter 14 5 axes machining function

14.2.7.4 Cutting override


When using the [FEEDRATE OVERRIDE] switch, the override (0-200%) is applied to the
feedrate (TCP speed relative to the workpiece) specified in “F”.

(NOTE) Refer to “14.2.2.5 Feedrate” for details on the additional axis only travel.

14.2.7.5 Rapid traverse override


When the [RAPID TRAVERSE OVERRIDE] switch is used to change between speeds 1 to 4,
the speed on each axis is restricted so that the X-, Y-, Z- and additional axes stay within the values
set in the user parameters (switch 2: override speed) <Rapid traverse override speed 1 - 4> and <*-
axis override rotation speed 1 - 4> (* refers to axis between 5th- and 8th-axis).

(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)>.

14.2.7.6 MDI operation


TCP control (G43.4/G43.5) command is not possible while in MDI operation mode. The alarm
<<Specified G code cannot be used.>> is triggered when an attempt is made to issue a command.
MDI intervention is not possible while under TCP control. The operator message <<TCP under
control>> appears when an attempt is made to change the mode.

14.2.7.7 Manual operation


When operation is stopped while under TCP control by a command or an operation below while in
memory operation mode, one of the following intervention operations can be carried out by
pressing the [MANU] key and changing to manual operation.
• When paused pressing the [FEED HOLD] switch.
• When the [SINGL] key is pressed to perform a block stop.
• When an M00/M01 command is used to perform a block stop.

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.

Available intervention operations


• Spindle clockwise/stop (key operations below)
- [SP.CW] and [SP.STOP]
• Jog and step operations (key operations below)
- [RPD], [JOG] or [STEP]
- [+] or [-]
- [+X], [-X], [+Y], [-Y], [+Z], [-Z]
• Axis travel using manual pulse generator (X-, Y- and Z-axes only)

(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

Coordinate system for intervention operation


All axis travel in an intervention operation are commands in the machine coordinate system.
Operation direction examples are shown below.
When the [+Y] key is used to carry out a jog or step operation, or when the <Y-axis> is selected
on the manual pulse generator and the handle is turned to the plus direction.

Machine
coordinate
system
Table
Z coordinate
system
Y A45

Axis travel speed of intervention operation


Refer to “Chapter 5 Manual operation” in Operation Manual I for details on the axis travel speed.

Axis travel after restoring from intervention operation


When an intervention operation is carried out during travel on the block, the travel amount of the
intervention is maintained in the machine coordinate system until the end point on the block prior
to the intervention.
Thereafter, it travels to the programmed position on the next block.

Intervention operation Intervention operation

TCP

Travel amount of
intervention is
maintained in
machine coordinate
system
A0 A22.5 A45
Block start point Middle of block Block end point

(NOTE) Acceleration/deceleration before interpolation is disabled for travel up to the end


point on the block prior to the intervention. Compared to when a manual
intervention has not been carried out, the difference in the paths is larger, because
acceleration/deceleration is carried out using only the interpolation time constant.

14

2023/11/21 14 - 30 eCOM4NCPR14
Chapter 14 5 axes machining function

14.2.7.8 Dry run


In the same way as when the TCP control is OFF, after pressing the [DRY] key, the offset is
applied in the Z-axis direction in the machine coordinates. Set the offset amount in the user
parameter (switch 1: operation) <Dry run offset amount>.

(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.

Z-axis zero position Path after dry run offset


(distance to zero point)

Dry run offset


TCP

A-45 A-22.5 A0
Block start point Middle of block Block end point

Dry run speed (positioning)


As shown in the table below, the TCP speed follows the ON/OFF of the PLC signal <Positioning
speed restriction>.
<Positioning speed
TCP speed (positioning)
restriction>
OFF The travelling 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) <Rapid feedrate>
(X-, Y- and Z-axes)
• Tilt axis/rotation axis
Machine parameter (system 2: additional axis) <Rapid feedrate>
(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
Positioning clamp speed 1 (BDY160/161)
• Tilt axis/rotation axis
Positioning clamp speed 2 (BDY162/163)

14

2023/11/21 14 - 31 eCOM4NCPR14
Chapter 14 5 axes machining function

Dry run speed (cutting)


• When the user parameter (switch 1: operation) <Axis travel speed method for dry run> is set
to <Method 1>
<Cutting speed
TCP speed (Cutting)
restriction>
OFF The operation uses the faster speed of the following.
- F command value
- Maximum TCP speed where travelling axes do not exceed the
following speeds
• X-, Y- and Z-axes
Machine parameter (system 1: X-, Y- and Z-axes) <Maximum
cutting travel speed> (X-, Y- and Z-axes) × <High travel
spd(XYZ/P)> on manual conditions screen (10/25/50/75/100%)
• Tilt axis/rotation axis
Machine parameter (system 2: additional axis) <Maximum cutting
rotation speed> (5th- to 8th-axes) × <High travel spd(XYZ/P)> on
manual conditions screen (10/25/50/75/100%)
ON The operation uses the faster speed of the following.
- F command value
- Maximum TCP speed where traveling axes do not exceed the
following speeds
• X-, Y- and Z-axes
Cutting clamp speed 1 (BDY164/165) × <High travel spd(XYZ/P)>
on manual conditions screen
• Tilt axis/rotation axis
Cutting clamp speed 2 (BDY166/167) × <High rotation spd(4/P)>
on manual conditions screen

• 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.2.7.9 Software limit


The following software limit checks are carried out.
In the same way as when the TCP control is OFF, the machine coordinates for the spindle end are
checked.
• Stroke setting in machine parameter
• Stroke limit setting in user parameter

Refer to “3.9 Software limit” for further details.

(NOTE 1) The TCP machine coordinates are not checked.


(NOTE 2) While under TCP control, operation may stop a little before the restricted travel
range.

TCP control OFF TCP control ON

Block start point Block start point


Stop point Stop point
Block start point Restricte Restricte
Block start point
d travel d travel
Y range Y range
X X
Machine coordinate system Machine coordinate system

14.2.7.10 Skip function


Skip (G31/G131/132) can be used while under TCP control.
However, it 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.

14.2.7.11 Graphic function


The graphic function (tool path simulation and operation graphs) can be used.
To draw a graph that includes the additional axis travel, set the parameter <Drawing method> to
<Method 2> or <Method 3>.
In addition, to draw a path of the tool center (end), set the following parameters to <Added>.
• Tool path simulation
- Parameter <Tool length/Tool position offset (Tool length offset)>
• Operation drawing
- When drawing before operation, parameter <Tool length/Tool position offset (Tool length
offset) (Drawing before operation)>
- When drawing during operation, parameter <Tool length/Tool position offset (Tool length
offset) (Drawing during operation)>

Refer to “2.2.7.1 Drawing parameter” in Operation Manual II for further details.

14.2.7.12 Smooth path offset function


The smooth path offset function is invalid while under TCP control.
The path offset is not carried out even if the user parameter (high accuracy: common) <Smooth
path offset function> is set to <Valid>.

14

2023/11/21 14 - 33 eCOM4NCPR14
Chapter 14 5 axes machining function

(This page was intentionally left blank.)

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

You might also like