Contents

Mitsubishi C80 Machining Center System Programming Manual PDF

1 of 1204
1 of 1204

Summary of Content for Mitsubishi C80 Machining Center System Programming Manual PDF

Introduction

This manual describes the information for programming on Mitsubishi Electric CNC. Improper handling can cause unexpected malfunctions. To use this device correctly, be sure to read this manual before use.

Supported models of this manual are as follows:

Abbreviations for model names used in this manual are as follows:

To safely use this CNC unit, thoroughly study the "Precautions for Safety" before use. Be sure to keep this manual on hand so that users can refer to it at any time. Also refer to the manuals on "Manual List" as necessary.

Notes on reading this manual

(1) The description concerning "signals" in this manual refers to information transmission between a machine and PLC or between CNC and PLC. The method on controlling the signals (ON/OFF) differs depending on the machine. Refer to the manual issued by the machine tool builder (MTB).

(2) Some parameters can be used by end-users and some parameters are set by the MTB according to the specifications. End-users may not be able to set or change some of the parameters described as "... can be set with the parameter #XXXX" in this manual. Confirm the specifications for your machine with the manual issued by the MTB.

Details described in this manual In this manual, the following abbreviations might be used.

L system: Lathe system M system: Machining center system MTB: Machine tool builder

Supported models Details

M800W Series M850W, M830W

M800S Series M850S, M830S

M80W Series M80W

M80 Series M80 TypeA, M80 TypeB

E80 Series E80 TypeA, E80 TypeB

C80 Series C80

Abbreviations Supported models

M800, M800 Series M800W Series/M800S Series

M80, M80 Series M80 Series/M80W Series

M800/M80, M800/M80 Series M800W Series/M800S Series/M80W Series/M80 Series

M8, M8 Series M800W Series/M800S Series/M80W Series/M80 Series/E80 Series

Manual List

Manuals related to M800/M80/E80/C80 Series are listed as follows.

These manuals are written on the assumption that all optional functions are added to the targeted model.

Some functions or screens may not be available depending on the machine or specifications set by MTB. (Confirm the

specifications before use.)

The manuals issued by MTB take precedence over these manuals.

Manual IB No. Purpose and Contents

M800/M80/E80 Series Instruction Manual

IB-1501274 Operation guide for NC

Explanation for screen operation, etc.

C80 Series Instruction Manual

IB-1501453 Operation guide for NC

Explanation for screen operation, etc.

M800/M80/E80/C80 Series Programming Manual (Lathe System) (1/2)

IB-1501275 G code programming for lathe system

Basic functions, etc.

M800/M80/E80/C80 Series Programming Manual (Lathe System) (2/2)

IB-1501276 G code programming for lathe system

Functions for multi-part system, high-accuracy function, etc.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

IB-1501277 G code programming for machining center system

Basic functions, etc.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

IB-1501278 G code programming for machining center system

Functions for multi-part system, high-accuracy function, etc.

M800/M80/E80 Series Alarm/Parameter Manual

IB-1501279 Alarms

Parameters

C80 Series Alarm/Parameter Manual

IB-1501560 Alarms

Parameters

Manuals for MTBs (NC)

Manuals for MTBs (drive section)

Manual IB No. Purpose and Contents

M800/M80/E80/C80 Series Specifications Manual (Function)

IB-1501505 Model selection

Outline of various functions

M800/M80/E80/C80 Series Specifications Manual (Hardware)

IB-1501506 Model selection

Specifications of hardware unit

M800W/M80W Series Connection and Setup Manual

IB-1501268 Detailed specifications of hardware unit

Installation, connection, wiring, setup (startup/adjustment)

M800S/M80/E80 Series Connection and Setup Manual

IB-1501269 Detailed specifications of hardware unit

Installation, connection, wiring, setup (startup/adjustment)

C80 Series Connection and Setup Manual

IB-1501452 Detailed specifications of hardware unit

Installation, connection, wiring, setup (startup/adjustment)

M800/M80/E80 Series PLC Development Manual

IB-1501270

Electrical design

I/O relation (assignment, setting, connection), field network

Development environment (PLC on-board, peripheral development environment), etc.

M800/M80/E80 Series PLC Programming Manual

IB-1501271

Electrical design

Sequence programming

PLC support functions, etc.

M800/M80/E80/C80 Series PLC Interface Manual

IB-1501272 Electrical design

Interface signals between NC and PLC

M800/M80/E80 Series Maintenance Manual

IB-1501273 Cleaning and replacement for each unit

Other items related to maintenance

C80 Series Maintenance Manual

IB-1501454 Cleaning and replacement for each unit

Other items related to maintenance

Manual IB No. Contents

MDS-E/EH Series Specifications Manual

IB-1501226 Specifications for power supply regeneration type

MDS-E/EH Series Instruction Manual

IB-1501229 Instruction for power supply regeneration type

MDS-EJ/EJH Series Specifications Manual

IB-1501232 Specifications for regenerative resistor type

MDS-EJ/EJH Series Instruction Manual

IB-1501235 Instruction for regenerative resistor type

MDS-EM/EMH Series Specifications Manual

IB-1501238 Specifications for multi-hybrid, power supply regeneration

type

MDS-EM/EMH Series Instruction Manual

IB-1501241 Instruction for multi-hybrid, power supply regeneration type

DATA BOOK IB-1501252 Specifications of servo drive unit, spindle drive unit, motor, etc.

Manuals for MTBs (Others)

For M800/M80/E80 Series

Manual No. Purpose and Contents

GOT2000 Series Users Manual (Hardware)

SH-081194ENG Outline of hardware such as part names, external dimensions,

installation, wiring, maintenance, etc. of GOTs

GOT2000 Series Users Manual (Utility)

SH-081195ENG Outline of utilities such as screen display setting, operation

method, etc. of GOTs

GOT2000 Series Users Manual (Monitor)

SH-081196ENG Outline of each monitor function of GOTs

GOT2000 Series Connection Manual (Mitsubishi Electric Products)

SH-081197ENG Outline of connection types and connection method between

GOT and Mitsubishi Electric connection devices

GT Designer3 (GOT2000) Screen Design Manual

SH-081220ENG Outline of screen design method using screen creation

software GT Designer3

Manual No. Purpose and Contents

GOT2000/GOT1000 Series CC-Link Communication Unit User's Manual

IB-0800351 Explanation for handling CC-Link communication unit (for

GOT2000 series/GOT1000 series)

GX Developer Version 8 Operating Manual (Startup)

SH-080372E Explanation for system configuration, installation, etc. of PLC

development tool GX Developer

GX Developer Version 8 Operating Manual

SH-080373E Explanation for operations using PLC development tool GX

Developer

GX Converter Version 1 Operating Manual

IB-0800004 Explanation for operations using data conversion tool GX

Converter

GX Works2 Installation Instructions BCN-P5999-0944 Explanation for the operating environment and installation

method of GX Works2

GX Works2 Version 1 Operating Manual (Common)

SH-080779ENG

Explanation for the system configuration of GX Works2 and the functions common to Simple project and Structured project such as parameter setting, operation method for the online function

GX Works2 Version 1 Operating Manual (Simple Project)

SH-080780ENG Explanation for methods for such as creating and monitoring

programs in Simple project of GX Works2

GX Works2 Version 1 Operating Manual (Simple Project, Function Block)

SH-080984ENG Explanation for methods for such as creating function blocks,

pasting function blocks to sequence programs, and operating FB library in Simple project of GX Works2

GX Works2 Version 1 Operating Manual (Structured Project)

SH-080781ENG Explanation for methods for such as creating and monitoring

programs in Structured project of GX Works2

GX Works3 Installation Instructions BCN-P5999-0391 Explanation for the operating environment and installation

method of GX Works3

MELSEC-Q CC-Link System Master/ Local Module Users Manual

SH-080394E Explanation for system configuration, installation, wiring, etc.

of master/local modules for CC-Link system

GOT2000 Series Connection Manual (Non-Mitsubishi Electric Products 1)

SH-081198ENG Explanation for connection types and connection method

between GOT and other company's devicesGOT2000 Series Connection Manual (Non-Mitsubishi Electric Products 2)

SH-081199ENG

GOT2000 Series Connection Manual (Microcomputers, MODBUS/ Fieldbus Products, Peripherals)

SH-081200ENG Explanation for connection types and connection method

between GOT and microcomputers, MODBUS/fieldbus products, peripherals

GT SoftGOT2000 Version1 Operating Manual

SH-081201ENG Explanation for system configuration, screen configuration

and operation method of monitoring software GT SoftGOT2000

For C80 Series

Reference Manual for MTBs

Manual No. Purpose and Contents

MELSEC iQ-R Module Configuration Manual

SH-081262 Outline of system configuration, specifications, installation,

wiring, maintenance, etc.

MELSEC iQ-R CPU Module Users Manual (Startup)

SH-081263 Outline of specifications, procedures before operation,

troubleshooting, etc. for CPU module

MELSEC iQ-R CPU Module Users Manual (Application)

SH-081264 Outline of memory, functions, devices, parameters, etc. for

CPU module

MELSEC iQ-R CC-Link IE Field Network User's Manual (Application)

SH-081259 Explanation for functions, parameter settings, programming,

troubleshooting, etc. of the CC-Link IE Field Network function

QCPU Users Manual (Hardware Design, Maintenance and Inspection)

SH-080483 Outline of specifications, necessary knowledge to configure

the system and maintenance-related descriptions for Q series CPU module, etc.

GX Works3 Operating Manual SH-081215 Outline of functions, programming, etc.

Manual No. Purpose and Contents

M800/M80 Series Smart safety observation Specification manual

BNP-C3072-022 Explanation for smart safety observation function

C80 Series Smart safety observation Specification manual

BNP-C3077-022

M800/M80 Series CC-Link (Master/ Local) Specification manual

BNP-C3072-089 Explanation for CC-Link

M800/M80 Series PROFIBUS-DP Specification manual

BNP-C3072-118 Explanation for PROFIBUS-DP communication function

M800/M80 Series Interactive cycle insertion (Customization) Specification manual

BNP-C3072-121- 0003

Explanation for interactive cycle insertion

M800/M80 Series EtherNet/IP Specifications manual

BNP-C3072-263 Explanation for EtherNet/IP

M800/M80 Series CC-Link IE Field (Master/local) Specifications manual

BNP-C3072-283 Explanation for CC-Link IE Field

M800/M80 Series GOT Connection Specifications manual

BNP-C3072-314 Explanation for GOT connection

M800/M80 Series CC-Link IE Field Basic Specifications manual

BNP-C3072-337 Explanation for CC-Link IE Field Basic

M800/M80 Series FL-net Specifications manual

BNP-C3072-368 Explanation for FL-net

M800/M80 Series Synchronous Control Specifications manual

BNP-C3072-074 Explanation for synchronous control

M800/M80 Series Multiple-Axis Synchronization Control Specifications manual

BNP-C3072-339 Explanation for multiple-axis synchronization control

Precautions for Safety

Always read the specifications issued by the machine tool builder, this manual, related manuals and attached documents be- fore installation, operation, programming, maintenance or inspection to ensure correct use. Understand this numerical controller, safety items and cautions before using the unit. This manual ranks the safety precautions into "DANGER", "WARNING" and "CAUTION".

Note that even items ranked as " CAUTION", may lead to major results depending on the situation. In any case, important in- formation that must always be observed is described. The following signs indicate prohibition and compulsory.

The meaning of each pictorial sign is as follows.

Mitsubishi Electric CNC is designed and manufactured solely for applications to machine tools to be used for industrial purpos- es. Do not use this product in any applications other than those specified above, especially those which are substantially influential on the public interest or which are expected to have significant influence on human lives or properties.

Not applicable in this manual.

DANGER When the user may be subject to imminent fatalities or major injuries if handling is mistaken.

WARNING When the user may be subject to fatalities or major injuries if handling is mistaken.

CAUTION When the user may be subject to injuries or when physical damage may occur if handling is mistaken.

This sign indicates prohibited behavior (must not do).

For example, indicates "Keep fire away".

This sign indicated a thing that is pompously (must do).

For example, indicates "it must be grounded".

CAUTION

CAUTION

rotated object CAUTION HOT

Danger

Electric shock risk

Danger

explosive

Prohibited

Disassembly is

prohibited

KEEP FIRE AWAY

General instruction

Earth ground

For Safe Use

DANGER

1. Items related to operation

If the operation start position is set in a block which is in the middle of the program and the program is started, the program before the set block is not executed. Please confirm that G and F modal and coordinate values are appropriate. If there are coordinate system shift commands or M, S, T and B commands before the block set as the start position, carry out the required commands using the MDI, etc. If the program is run from the set block without carrying out these operations, there is a danger of interference with the machine or of machine operation at an unexpected speed, which may result in breakage of tools or machine tool or may cause damage to the operators.

Under the constant surface speed control (during G96 modal), if the axis targeted for the constant surface speed control (normally X axis for a lathe) moves toward the spindle center, the spindle rotation speed will increase and may exceed the allowable speed of the workpiece or chuck, etc. In this case, the workpiece, etc. may jump out during machining, which may result in breakage of tools or machine tool or may cause damage to the operators.

1. Items related to product and manual

For items described as "Restrictions" or "Usable State" in this manual, the instruction manual issued by the machine tool builder takes precedence over this manual.

Items not described in this manual must be interpreted as "not possible".

This manual is written on the assumption that all the applicable functions are included. Some of them, however, may not be available for your NC system. Refer to the specifications issued by the machine tool builder before use.

Refer to the Instruction Manual issued by each machine tool builder for details on each machine tool.

Some screens and functions may differ depending on the NC system (or its version), and some functions may not be pos- sible. Please confirm the specifications before use.

To protect the availability, integrity and confidentiality of the NC system against cyber-attacks including unauthorized ac- cess, denial-of-service (Dos) (*1) attack, and computer virus from external sources via a network, take security measures such as firewall, VPN, and anti-virus software. (*1) Denial-of-service (Dos) refers to a type of cyber-attack that disrupts services by overloading the system or by exploiting

a vulnerability of the system.

Mitsubishi Electric assumes no responsibility for any problems caused to the NC system by any type of cyber-attacks in- cluding DoS attack, unauthorized access and computer virus.

2. Items related to operation

Before starting actual machining, always carry out graphic check, dry run operation and single block operation to check the machining program, tool offset amount, workpiece compensation amount and etc.

If the workpiece coordinate system offset amount is changed during single block stop, the new setting will be valid from the next block.

Turn the mirror image ON and OFF at the mirror image center.

If the tool offset amount is changed during automatic operation (including during single block stop), it will be validated from the next block or blocks onwards.

Do not make the synchronized spindle rotation command OFF with one workpiece chucked by the reference spindle and synchronized spindle during the spindle synchronization. Failure to observe this may cause the synchronized spindle stop, and hazardous situation.

WARNING

CAUTION

3. Items related to programming

The commands with "no value after G" will be handled as "G00".

";" "EOB" and "%" "EOR" are expressions used for explanation. The actual codes are: For ISO: "CR, LF", or "LF" and "%". Programs created on the Edit screen are stored in the NC memory in a "CR, LF" format, but programs created with external devices such as the FLD or RS-232C may be stored in an "LF" format. The actual codes for EIA are: "EOB (End of Block)" and "EOR (End of Record)".

When creating the machining program, select the appropriate machining conditions, and make sure that the performance, capacity and limits of the machine and NC are not exceeded. The examples do not consider the machining conditions.

Do not change fixed cycle programs without the prior approval of the machine tool builder.

When programming the multi-part system, take special care to the movements of the programs for other part systems.

The program including a character of any language other than the display language is not correctly displayed. Do not edit such a program. Any part of the program other than the comment part may also be changed if edited.

CAUTION

Disposal

(Note) This symbol mark is for EU countries only.

This symbol mark is according to the directive 2006/66/EC Article 20 Information for end-users and

Annex II.

Your MITSUBISHI ELECTRIC product is designed and manufactured with high quality materials and components which can

be recycled and/or reused.

This symbol means that batteries and accumulators, at their end-of-life, should be disposed of separately from your

household waste.

If a chemical symbol is printed beneath the symbol shown above, this chemical symbol means that the battery or accumulator

contains a heavy metal at a certain concentration. This will be indicated as follows:

Hg: mercury (0,0005%), Cd: cadmium (0,002%), Pb: lead (0,004%)

In the European Union there are separate collection systems for used batteries and accumulators.

Please, dispose of batteries and accumulators correctly at your local community waste collection/recycling centre.

Please, help us to conserve the environment we live in!

Trademarks

MELDAS, MELSEC, EZSocket, EZMotion, iQ Platform, MELSEC iQ-R, MELSOFT, GOT, CC-Link, CC-Link/LT, CC-Link IE,

CC-Link IE/field, EcoMonitorLight and SLMP are either trademarks or registered trademarks of Mitsubishi Electric Corporation

in Japan and/or other countries.

Ethernet is a registered trademark of Xerox Corporation in the United States and/or other countries.

Microsoft, Windows, SQL Server and Access are either trademarks or registered trademarks of Microsoft Corporation

in the United States and/or other countries.

SD logo and SDHC logo are either registered trademarks or trademarks of LLC.

UNIX is a registered trademark of The Open Group in the United States and/or other countries.

Intel and Pentium are either trademarks or registered trademarks of Intel Corporation in the United States and/or other

countries.

MODBUS is either a trademark or a registered trademark of Schneider Electric USA, Inc. or the affiliated companies in

Japan and/or other countries.

EtherNet/IP is a trademark of Open DeviceNet Vendor Association,Inc.

PROFIBUS-DP and PROFINET are either trademarks or registered trademarks of PROFIBUS User Organization.

Oracle is a registered trademark of Oracle Corporation, the subsidiaries, or the affiliated companies in the United States and

/or other countries.

VNC is a registered trademark of RealVNC Ltd. in the United States and other countries.

Punchtap is licensed by EMUGE.

BiSS is a registered trademark of iC-Haus GmbH.

Other company and product names that appear in this manual are trademarks or registered trademarks of the respective

companies.

( /Japanese)

( A)

Handling of our product

(English)

This is a class A product. In a domestic environment this product may cause radio interference in which case the user may be

required to take adequate measures.

( /Korean)

(A )

.

Contents

Chapter 1 - 14 : Refer to Programming Manual (Machining Center System) (1/2)

Chapter 15 and later : Refer to Programming Manual (Machining Center System) (2/2)

1 Control Axes................................................................................................................................................. 1 1.1 Coordinate Words and Control Axes ........................................................................................................................ 2 1.2 Coordinate Systems and Coordinate Zero Point Symbols ....................................................................................... 3

2 Minimum Command Unit............................................................................................................................. 5 2.1 Input Setting Unit and Program Command Unit ....................................................................................................... 6 2.2 Input Command Increment Tenfold .......................................................................................................................... 7 2.3 Indexing Increment ................................................................................................................................................... 8

3 Program Formats ......................................................................................................................................... 9 3.1 Program Format...................................................................................................................................................... 10 3.2 File Format.............................................................................................................................................................. 14 3.3 Optional Block Skip................................................................................................................................................. 17

3.3.1 Optional Block Skip; / ..................................................................................................................................... 17 3.3.2 Optional Block Skip Addition ; /n .................................................................................................................... 19

3.4 G Code ................................................................................................................................................................... 21 3.4.1 Modal, Unmodal ............................................................................................................................................. 21 3.4.2 G Code Lists .................................................................................................................................................. 21

3.5 Precautions before Starting Machining................................................................................................................... 26

4 Pre-read Buffer ........................................................................................................................................... 27 4.1 Pre-read Buffer ....................................................................................................................................................... 28

5 Position Commands .................................................................................................................................. 29 5.1 Position Command Methods ; G90,G91 ................................................................................................................. 30 5.2 Diameter Designation and Radius Designation ...................................................................................................... 32

5.2.1 Diameter/Radius Designation Switch; G10.9 ................................................................................................. 32 5.3 Inch/Metric Conversion; G20, G21 ......................................................................................................................... 35 5.4 Decimal Point Input................................................................................................................................................. 37

6 Interpolation Functions ............................................................................................................................. 45 6.1 Positioning (Rapid Traverse); G00 ......................................................................................................................... 46 6.2 Linear Interpolation; G01 ........................................................................................................................................ 49 6.3 Circular Interpolation; G02, G03 ............................................................................................................................. 51 6.4 R Specification Circular Interpolation; G02, G03 .................................................................................................... 57 6.5 Plane Selection; G17, G18, G19 ............................................................................................................................ 60 6.6 Thread Cutting ........................................................................................................................................................ 62

6.6.1 Constant Lead Thread Cutting; G33 .............................................................................................................. 62 6.6.2 Inch Thread Cutting; G33............................................................................................................................... 66

6.7 Helical Interpolation; G02, G03............................................................................................................................... 68 6.8 Unidirectional Positioning ....................................................................................................................................... 73

6.8.1 Unidirectional Positioning; G60 ...................................................................................................................... 73 6.8.2 Axis-based Unidirectional Positioning ............................................................................................................ 75

6.9 Cylindrical Interpolation; G07.1............................................................................................................................... 76 6.10 Circular Cutting; G12,G13 .................................................................................................................................... 84 6.11 Polar Coordinate Interpolation; G12.1, G13.1/G112, G113.................................................................................. 86 6.12 Exponential Interpolation; G02.3, G03.3............................................................................................................... 94 6.13 Polar Coordinate Command; G16 ...................................................................................................................... 101 6.14 Spiral/Conical Interpolation; G02.1/G03.1 (Type 1), G02/G03 (Type 2)............................................................. 108 6.15 3-dimensional Circular Interpolation; G02.4, G03.4............................................................................................ 112 6.16 NURBS Interpolation; G06.2............................................................................................................................... 118 6.17 Hypothetical Axis Interpolation; G07................................................................................................................... 124 6.18 Involute Interpolation; G02.2/G03.2.................................................................................................................... 126

7 Feed Functions......................................................................................................................................... 139 7.1 Rapid Traverse Rate............................................................................................................................................. 140

7.1.1 Rapid Traverse Rate .................................................................................................................................... 140 7.1.2 G00 Feedrate Command (,F Command) ..................................................................................................... 141

7.2 Cutting Feedrate ................................................................................................................................................... 145 7.3 F1-digit Feed......................................................................................................................................................... 146 7.4 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/Synchronous Feed); G94,G95 .............................. 148 7.5 Inverse Time Feed; G93 ....................................................................................................................................... 150 7.6 Feedrate Designation and Effects on Control Axes.............................................................................................. 155 7.7 Selection of Axis (Axes) for Feedrate Command; G130....................................................................................... 160 7.8 Rapid Traverse Constant-gradient Acceleration/Deceleration.............................................................................. 164 7.9 Rapid Traverse Constant-gradient Multi-step Acceleration/Deceleration ............................................................. 170 7.10 Cutting Feed Constant-gradient Acceleration/Deceleration................................................................................ 178 7.11 Exact Stop Check; G09 ...................................................................................................................................... 186 7.12 Exact Stop Check Mode; G61 ............................................................................................................................ 190 7.13 Deceleration Check ............................................................................................................................................ 191

7.13.1 Deceleration Check.................................................................................................................................... 191 7.13.2 Deceleration Check When Movement in the Opposite Direction Is Reversed ........................................... 199

7.14 Rapid Traverse Block Overlap; G0.5 P1............................................................................................................. 202 7.14.1 Rapid Traverse Block Overlap for G00; G0.5 ............................................................................................ 204 7.14.2 Rapid Traverse Block Overlap for G28 ...................................................................................................... 214

7.15 Automatic Corner Override ................................................................................................................................. 216 7.15.1 Automatic Corner Override ; G62............................................................................................................... 223 7.15.2 Inner Arc Override...................................................................................................................................... 224

7.16 Tapping Mode; G63 ............................................................................................................................................ 225 7.17 Cutting Mode; G64.............................................................................................................................................. 226

8 Dwell.......................................................................................................................................................... 227 8.1 Dwell (Time-based Designation); G04.................................................................................................................. 228

9 Miscellaneous Functions ........................................................................................................................ 231 9.1 Miscellaneous Functions (M8-Digits) .................................................................................................................... 232 9.2 2nd Miscellaneous Functions (A8-digits, B8-digits or C8-digits)........................................................................... 236 9.3 Index Table Indexing ............................................................................................................................................ 237

10 Spindle Functions .................................................................................................................................. 243 10.1 Spindle Functions ............................................................................................................................................... 244 10.2 Constant Surface Speed Control; G96, G97 ...................................................................................................... 245 10.3 Spindle Clamp Speed Setting; G92 .................................................................................................................... 252 10.4 Spindle Position Control (Spindle/C Axis Control) .............................................................................................. 254 10.5 Spindle Speed Fluctuation Detection; G162/G163 ............................................................................................. 263

11 Tool Functions (T command)................................................................................................................ 271 11.1 Tool Functions (T8-digit BCD) ............................................................................................................................ 272

12 Tool Compensation Functions ............................................................................................................. 273 12.1 Tool Compensation............................................................................................................................................. 274

12.1.1 Tool Compensation .................................................................................................................................... 274 12.1.2 Number of Tool Offset Sets Allocation to Part Systems............................................................................. 278

12.2 Tool Length Compensation/Cancel; G43, G44 / G49 ......................................................................................... 280 12.3 Tool Radius Compensation; G38,G39/G40/G41,G42 ........................................................................................ 287

12.3.1 Tool Radius Compensation Operation ....................................................................................................... 288 12.3.2 Other Commands and Operations during Tool Radius Compensation...................................................... 297 12.3.3 G41/G42 Commands and I, J, K Designation ............................................................................................ 307 12.3.4 Interrupts during Tool Radius Compensation............................................................................................. 313 12.3.5 General Precautions for Tool Radius Compensation................................................................................. 315 12.3.6 Changing of Compensation No. during Compensation Mode.................................................................... 316 12.3.7 Start of Tool Radius Compensation and Z Axis Cut in Operation .............................................................. 319 12.3.8 Interference Check..................................................................................................................................... 321 12.3.9 Diameter Designation of Compensation Amount ....................................................................................... 331 12.3.10 Workpiece Coordinate Changing during Radius Compensation.............................................................. 333

12.4 Tool Nose Radius Compensation (for Machining Center System) ..................................................................... 335 12.5 3-dimensional Tool Radius Compensation; G40/G41, G42................................................................................ 338 12.6 Tool Position Offset; G45 to G48........................................................................................................................ 350

13 Fixed Cycle ............................................................................................................................................. 359 13.1 Fixed Cycles ....................................................................................................................................................... 360

13.1.1 Drilling, Spot Drilling; G81 .......................................................................................................................... 364 13.1.2 Drilling, Counter Boring; G82 ..................................................................................................................... 365 13.1.3 Deep Hole Drilling Cycle; G83 ................................................................................................................... 366

13.1.3.1 Deep Hole Drilling Cycle ................................................................................................................... 366 13.1.3.2 Small Diameter Deep Hole Drilling Cycle.......................................................................................... 368

13.1.4 Tapping Cycle; G84 ................................................................................................................................... 371 13.1.5 Boring; G85................................................................................................................................................ 386 13.1.6 Boring; G86................................................................................................................................................ 387 13.1.7 Back Boring; G87....................................................................................................................................... 388 13.1.8 Boring; G88................................................................................................................................................ 392 13.1.9 Boring; G89................................................................................................................................................ 393 13.1.10 Stepping Cycle; G73 ................................................................................................................................ 394 13.1.11 Reverse Tapping Cycle; G74................................................................................................................... 396 13.1.12 Circular Cutting; G75................................................................................................................................ 398 13.1.13 Fine Boring; G76...................................................................................................................................... 400 13.1.14 Thread Milling Cycle; G187...................................................................................................................... 402 13.1.15 Punchtap Cycle ........................................................................................................................................ 406 13.1.16 Precautions for Using a Fixed Cycle ........................................................................................................ 419 13.1.17 Initial Point and R Point Level Return; G98, G99..................................................................................... 421 13.1.18 Setting of Workpiece Coordinates in Fixed Cycle Mode.......................................................................... 422 13.1.19 Drilling Cycle High-Speed Retract............................................................................................................ 423 13.1.20 Acceleration/Deceleration Mode Change in The Fixed Cycle for Drilling................................................. 427

13.2 Special Fixed Cycle ............................................................................................................................................ 429 13.2.1 Bolt Hole Cycle; G34.................................................................................................................................. 430 13.2.2 Line at Angle; G35 ..................................................................................................................................... 431 13.2.3 Arc; G36..................................................................................................................................................... 432 13.2.4 Grid; G37.1................................................................................................................................................. 433

13.3 Fixed Cycle for Turning Machining ..................................................................................................................... 435 13.3.1 Longitudinal Cutting Cycle; G174............................................................................................................... 436 13.3.2 Thread Cutting Cycle; G175....................................................................................................................... 439 13.3.3 Face Cutting Cycle; G176.......................................................................................................................... 443

14 Macro Functions .................................................................................................................................... 447 14.1 Subprogram Control; M98, M99, M198 .............................................................................................................. 448

14.1.1 Subprogram Call; M98, M99 ...................................................................................................................... 448 14.1.2 Subprogram Call; M198 ............................................................................................................................. 454 14.1.3 Figure Rotation; M98 I_J_K_ ..................................................................................................................... 455

14.2 Variable Commands ........................................................................................................................................... 458 14.3 User Macro ......................................................................................................................................................... 463 14.4 Macro Call Instructions ....................................................................................................................................... 464

14.4.1 Simple Macro Calls; G65 ........................................................................................................................... 464 14.4.2 Modal Call A (Movement Command Call) ; G66 ....................................................................................... 468 14.4.3 Modal Call B (for Each Block); G66.1 ........................................................................................................ 470 14.4.4 G Code Macro Call..................................................................................................................................... 472 14.4.5 Miscellaneous Command Macro Call (for M, S, T, B Code Macro Call) .................................................... 474 14.4.6 Detailed Description for Macro Call Instruction .......................................................................................... 476 14.4.7 Handling the Macro Call Command [C80].................................................................................................. 478 14.4.8 ASCII Code Macro ..................................................................................................................................... 482

14.5 Variables Used in User Macros .......................................................................................................................... 486 14.5.1 Common Variables..................................................................................................................................... 488 14.5.2 Local Variables (#1 to #33) ........................................................................................................................ 489 14.5.3 System Variables ....................................................................................................................................... 492

14.6 User Macro Commands...................................................................................................................................... 493 14.6.1 Operation Commands ................................................................................................................................ 493 14.6.2 Control Commands .................................................................................................................................... 498 14.6.3 External Output Commands; POPEN, PCLOS, DPRNT............................................................................ 504 14.6.4 Precautions ................................................................................................................................................ 508 14.6.5 Actual Examples of Using User Macros..................................................................................................... 510

14.7 Macro Interruption; M96, M97............................................................................................................................. 514

15 Program Support Functions ................................................................................................................. 525 15.1 Corner Chamfering I/Corner Rounding I ............................................................................................................. 526

15.1.1 Corner Chamfering I ; G01 X_ Y_ ,C ......................................................................................................... 526 15.1.2 Corner Rounding I ; G01 X_ Y_ ,R_........................................................................................................... 528 15.1.3 Corner Chamfering Expansion/Corner Rounding Expansion..................................................................... 530 15.1.4 Interrupt during Corner Chamfering/Interrupt during Corner Rounding ..................................................... 532

15.2 Corner Chamfering II/Corner Rounding II ........................................................................................................... 533 15.2.1 Corner Chamfering II ; G01/G02/G03 X_ Y_ ,C_....................................................................................... 533 15.2.2 Corner Rounding II ; G01/G02/G03 X_ Y_ ,R_ .......................................................................................... 535 15.2.3 Corner Chamfering Expansion/Corner Rounding Expansion..................................................................... 536 15.2.4 Interrupt during Corner Chamfering/Interrupt during Corner Rounding ..................................................... 536

15.3 Linear Angle Command; G01 X_/Y_ A_/,A_....................................................................................................... 537 15.4 Geometric I; G01 A_ ........................................................................................................................................... 538 15.5 Geometric IB....................................................................................................................................................... 540

15.5.1 Geometric IB (Automatic Calculation of Contact Point of Two Circular Arcs); G02/G03 P_Q_ /R_........... 541 15.5.2 Geometric IB (Automatic Calculation of Intersection Point between Line And Circular Arc) ;

G01 A_ , G02/G03 P_Q_H_ ...................................................................................................................... 543 15.5.3 Geometric IB (Automatic Calculation of Contact Point between Line And Circular Arc) ;

G01 A_ , G02/G03 R_H_........................................................................................................................... 546 15.6 Mirror Image by G code ; G50.1,G51.1 .............................................................................................................. 548 15.7 Normal Line Control; G40.1/G41.1/G42.1 (G150/G151/G152)........................................................................... 552 15.8 Manual Arbitrary Reverse Run Prohibition ; G127.............................................................................................. 572 15.9 Data Input by Program........................................................................................................................................ 578

15.9.1 Parameter Input by Program; G10 L70, G11 ............................................................................................. 578 15.9.2 Compensation Data Input by Program (Tool Compensation Amount) ; G10 L10/L11/L12/L13, G11 ........ 580 15.9.3 Compensation Data Input by Program (Workpiece Offset Amount) ; G10 L2/L20, G11............................ 583 15.9.4 Compensation Data Input by Program (Turning Tool) ; G10 L12/L13, G11............................................... 587 15.9.5 Tool Shape Input by Program; G10 L100, G11.......................................................................................... 589 15.9.6 R-Navi Data Input by Program; G10 L110/L111, G11, G68.2, G69........................................................... 592

15.10 Tool Life Management ...................................................................................................................................... 596 15.10.1 Inputting the Tool Life Management Data by G10 L3 Command; G10 L3, G11 ...................................... 596 15.10.2 Inputting the Tool Life Management Data by G10 L30 Command; G10 L30, G11 .................................. 599 15.10.3 Precautions for Inputting the Tool Life Management Data....................................................................... 602 15.10.4 Allocation of the Number of Tool Life Management Sets to Part Systems .............................................. 603

15.11 Interactive Cycle Insertion; G180...................................................................................................................... 605 15.11.1 Interactive Cycle Insertion........................................................................................................................ 605 15.11.2 Interactive Macro...................................................................................................................................... 608

15.12 Axis Name Extension........................................................................................................................................ 609 15.13 Machining Interruption [C80]; G26.................................................................................................................... 615

16 Multi-part System Control ..................................................................................................................... 631 16.1 Timing Synchronization Operation...................................................................................................................... 632

16.1.1 Timing Synchronization Operation (! code) !n (!m ...) L ............................................................................. 632 16.1.2 Timing Synchronization Operation with Start Point Designated (Type 1) ; G115 ...................................... 635 16.1.3 Timing Synchronization Operation with Start Point Designated (Type 2) ; G116 ...................................... 638 16.1.4 Timing Synchronization Operation Function Using M codes ; M*** ........................................................... 641 16.1.5 Timing Synchronization When Timing Synchronization Ignore Is Set........................................................ 645

16.2 Mixed Control...................................................................................................................................................... 648 16.2.1 Arbitrary Axis Exchange ; G140, G141, G142 ........................................................................................... 648

16.3 Sub Part System Control .................................................................................................................................... 651 16.3.1 Sub Part System Control I; G122.............................................................................................................. 651

16.4 Loader Control Part System ............................................................................................................................... 667

17 High-speed High-accuracy Control ...................................................................................................... 671 17.1 High-speed Machining Mode .............................................................................................................................. 672

17.1.1 High-speed Machining Mode I, II; G05 P1, G05 P2................................................................................... 672 17.2 High-accuracy Control ........................................................................................................................................ 681

17.2.1 High-accuracy Control ; G61.1, G08 .......................................................................................................... 681 17.2.2 SSS Control ............................................................................................................................................... 702 17.2.3 Tolerance Control....................................................................................................................................... 706 17.2.4 Variable-acceleration Pre-interpolation Acceleration/Deceleration ............................................................ 710 17.2.5 Initial High-accuracy Control ...................................................................................................................... 713 17.2.6 Multi-part System Simultaneous High-accuracy ........................................................................................ 714

17.3 High-speed High-accuracy Control ..................................................................................................................... 716 17.3.1 High-speed High-accuracy Control I, II, III ; G05.1 Q1/Q0, G05 P10000/P0, G05 P20000/P0.................. 716 17.3.2 Fairing ........................................................................................................................................................ 733 17.3.3 Smooth Fairing........................................................................................................................................... 734 17.3.4 Cutting Speed Clamp with Acceleration Rate Judgment ........................................................................... 743 17.3.5 High-speed Mode Corner Deceleration...................................................................................................... 744 17.3.6 Precautions on High-speed High-accuracy Control ................................................................................... 745

17.4 Spline Interpolation ; G05.1 Q2/Q0..................................................................................................................... 748 17.5 Spline Interpolation 2; G61.4 .............................................................................................................................. 756 17.6 High-accuracy Spline Interpolation ; G61.2 ........................................................................................................ 765 17.7 Machining Condition Selection I ; G120.1, G121................................................................................................ 767

18 Advanced Multi-Spindle Control Function .......................................................................................... 771 18.1 Spindle Synchronization ..................................................................................................................................... 772

18.1.1 Spindle Synchronization I; G114.1............................................................................................................. 773 18.1.2 Spindle Position Control (Spindle/C Axis Control) under Spindle Synchronization Control ....................... 785

18.2 Tool Spindle Synchronization I ........................................................................................................................... 790 18.2.1 Tool Spindle Synchronization IA (Spindle-Spindle, Polygon) ; G114.2, G113.1 ........................................ 790 18.2.2 Tool Spindle Synchronization IB (Spindle-Spindle, Polygon) ; G51.2/G50.2 or G251/G250 ..................... 796 18.2.3 Tool Spindle Synchronization IC (Spindle-NC Axis, Polygon) ; G51.2/G50.2 or G251/G250 .................... 801

18.3 Tool Spindle Synchronization II .......................................................................................................................... 805 18.3.1 Tool Spindle Synchronization II (Hobbing) ; G114.3/G113 ........................................................................ 805

18.4 Multiple Spindle Synchronization Set Control [C80] ........................................................................................... 818

19 Advanced Machining Control ............................................................................................................... 823 19.1 Tool Position Compensation; G43.7/G49 ........................................................................................................... 824 19.2 Tool Length Compensation Along the Tool Axis; G43.1/G49 ............................................................................. 831 19.3 Tool Center Point Control; G43.4, G43.5/G49.................................................................................................... 838

19.3.1 Circular Command in Tool Center Point Control (G43.4/G43.5)................................................................ 870 19.4 Inclined Surface Machining; G68.2, G68.3/G69 ................................................................................................. 874

19.4.1 How to Define Feature Coordinate System Using Euler Angles ................................................................ 876 19.4.2 How to Define Feature Coordinate System Using Roll-Pitch-Yaw Angles................................................. 878 19.4.3 How to Define Feature Coordinate System Using Three Points in a Plane ............................................... 880 19.4.4 How to Define Feature Coordinate System Using Two Vectors ................................................................ 882 19.4.5 How to Define Feature Coordinate System Using Projection Angles ........................................................ 884 19.4.6 Define by Selecting the Registered Machining Surface ............................................................................. 886 19.4.7 How to Define Feature Coordinate System Using Tool Axis Direction ...................................................... 887 19.4.8 Tool Axis Direction Control; G53.1/G53.6 .................................................................................................. 889 19.4.9 Details of Inclined Surface Machining Operation ....................................................................................... 897 19.4.10 Rotary Axis Basic Position Selection ....................................................................................................... 902 19.4.11 Relationship between Inclined Surface Machining and Other Functions ................................................. 908 19.4.12 Precautions for Inclined Surface Machining............................................................................................. 913

19.5 3-dimensional Tool Radius Compensation (Tool's Vertical-direction Compensation); G40/G41.2, G42.2......... 916 19.6 Workpiece Installation Error Compensation; G54.4............................................................................................ 927 19.7 Rotation Center Error Compensation (Precautions for Creating a Machining Program) .................................... 940 19.8 Applicable Machines........................................................................................................................................... 944

20 Coordinate System Setting Functions ................................................................................................. 947 20.1 Coordinate Words and Control Axes .................................................................................................................. 948 20.2 Types of Coordinate Systems............................................................................................................................. 949

20.2.1 Basic Machine, Workpiece and Local Coordinate Systems....................................................................... 949 20.2.2 Machine Zero Point and 2nd, 3rd, 4th Reference Position (Zero Point) .................................................... 950 20.2.3 Automatic Coordinate System Setting ....................................................................................................... 951 20.2.4 Coordinate System for Rotary Axis ............................................................................................................ 952

20.3 Basic Machine Coordinate System Selection; G53 ............................................................................................ 955 20.4 Coordinate System Setting; G92 ........................................................................................................................ 958 20.5 Local Coordinate System Setting; G52............................................................................................................... 960 20.6 Workpiece Coordinate System Selection and Extended Workpiece Coordinate System Selection;

G54 to G59, G54.1 ............................................................................................................................................. 964 20.7 Workpiece Coordinate System Preset; G92.1 .................................................................................................... 972 20.8 Workpiece Position Offset for Rotary Axis ; G54.2 ............................................................................................. 977 20.9 3-dimensional Coordinate Conversion; G68/G69 ............................................................................................... 989 20.10 Coordinate Rotation by Program; G68/G69.................................................................................................... 1007 20.11 Coordinate Rotation Input by Parameter; G10 I_ J_/K_ ................................................................................. 1016 20.12 Scaling; G50/G51 ........................................................................................................................................... 1033 20.13 Reference Position (Zero Point) Return; G28, G29 ........................................................................................ 1037

20.14 2nd, 3rd, and 4th Reference Position (Zero Point) Return ; G30.................................................................... 1041 20.15 Tool Change Position Return; G30.1 - G30.6................................................................................................. 1044 20.16 Reference Position Check; G27 ..................................................................................................................... 1047

21 Protection Function ............................................................................................................................. 1049 21.1 Stroke Check before Travel; G22/G23 ............................................................................................................. 1050

21.1.1 Stroke Check before Travel in Stored Stroke Limit Area ......................................................................... 1052 21.2 Enable Interfering Object Selection Data; G186............................................................................................... 1055

22 Measurement Support Functions ....................................................................................................... 1059 22.1 Automatic Tool Length Measurement; G37 ...................................................................................................... 1060 22.2 Skip Function; G31 ........................................................................................................................................... 1064 22.3 Multi-step Skip Function 1; G31.n, G04............................................................................................................ 1070 22.4 Multi-step Skip Function 2; G31 P .................................................................................................................... 1072 22.5 Speed Change Skip; G31 Fn............................................................................................................................ 1074 22.6 Torque Limitation Skip; G160 ........................................................................................................................... 1078 22.7 Programmable Current Limitation; G10 L14 ..................................................................................................... 1082

23 System Variables ................................................................................................................................. 1083 23.1 System Variables List ....................................................................................................................................... 1084 23.2 System Variables (G Command Modal) ........................................................................................................... 1086 23.3 System Variables (Non-G Command Modal) ................................................................................................... 1087 23.4 System Variables (Modal Information at Macro Interruption) ........................................................................... 1088 23.5 System Variables (Tool Information) ................................................................................................................ 1090 23.6 System Variables (Tool Compensation) ........................................................................................................... 1098 23.7 System Variables (Tool Life Management)....................................................................................................... 1099 23.8 System Variables (Workpiece Coordinate Offset) ............................................................................................ 1104 23.9 System Variables (Workpiece Position Offset Amount for Rotary Axis) ........................................................... 1105 23.10 System Variables (Extended Workpiece Coordinate Offset) .......................................................................... 1106 23.11 System Variables (External Workpiece Coordinate Offset) ............................................................................ 1107 23.12 System Variables (Position Information)......................................................................................................... 1108 23.13 System Variables (Alarm) ............................................................................................................................... 1112 23.14 System Variables (Message Display and Stop).............................................................................................. 1113 23.15 System Variables (Cumulative Time) ............................................................................................................. 1114 23.16 System Variables (Time Read Variables)....................................................................................................... 1115 23.17 System Variables (Machining Information) ..................................................................................................... 1117 23.18 System Variables (Reverse Run Information) ................................................................................................ 1118 23.19 System Variables (Number of Workpiece Machining Times) ......................................................................... 1118 23.20 System Variables (Mirror Image) .................................................................................................................... 1118 23.21 System Variables (Coordinate Rotation Parameter)....................................................................................... 1119 23.22 System Variables (Rotary Axis Configuration Parameter).............................................................................. 1120 23.23 System Variables (Normal Line Control Parameter)....................................................................................... 1121 23.24 System Variables (Parameter Reading) ......................................................................................................... 1122 23.25 System Variables (Workpiece Installation Error Compensation Amount)....................................................... 1126 23.26 System Variables (Macro Interface Input (PLC -> NC)).................................................................................. 1127 23.27 System Variables (Macro Interface Output (NC -> PLC))............................................................................... 1133 23.28 System Variables (R Device Access Variables) ............................................................................................. 1139 23.29 System Variables (PLC Data Reading) .......................................................................................................... 1145 23.30 System Variables (Interfering Object Selection) ............................................................................................. 1149 23.31 System Variables (ZR Device Access Variables) [C80] ................................................................................. 1152 23.32 System Variables (NC Data Reading/Writing with API Section and Sub-section Nos. Input/Output by Program) [M8] ... 1154

24 Appx.1: Fixed Cycles ........................................................................................................................... 1157

25 Appx.2: Command Value Range Lists ............................................................................................... 1163

1

1 IB-1501277-Q

Control Axes

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

1 Control Axes

2IB-1501277-Q

1Control Axes 1.1 Coordinate Words and Control Axes

The number of control axes is set to "3" in the standard specifications; however, up to eight axes can be controlled

if an additional axis is added. To specify each machining direction, use alphabetical coordinate words that are pre-

defined appropriately.

Function and purpose

X-Y table

X-Y and rotating table

+Z

+Z

+Y

+Y

+X

+X

Program coordinates

Direction of table movement

Workpiece

Table

Bed

+Z +Y

+Y

+C

+C

+X +X Program coordinates

Direction of table movement Direction of table

revolution

Workpiece

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

1 Control Axes

3 IB-1501277-Q

1.2 Coordinate Systems and Coordinate Zero Point Symbols

The basic machine coordinate system is the coordinate system that expresses the position (tool change position,

stroke end position, etc.) that is specific to the machine.

Workpiece coordinate systems are used for workpiece machining.

Upon completion of the dog-type reference position return, the parameters are referred and the basic machine co-

ordinate system and workpiece coordinate systems (G54 to G59) are automatically set.

The offset of the basic machine coordinate zero point and reference position is set by a parameter. (Normally, set

by MTB)

Workpiece coordinate systems can be set with coordinate systems setting functions, workpiece coordinate offset

measurement (additional specification), and etc.

Reference position: A specific position to establish coordinate systems and change tools

Basic machine coordinate zero point: A position specific to machine

Workpiece coordinate zero points (G54 to G59) A coordinate zero point used for workpiece machining

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

1 Control Axes

4IB-1501277-Q

The local coordinate systems (G52) are valid on the coordinate systems designated by workpiece coordinate sys-

tems 1 to 6.

Using the G92 command, the basic machine coordinate system can be shifted and made into a hypothetical ma-

chine coordinate system. At the same time, workpiece coordinate systems 1 to 6 are also shifted.

Reference position

Basic machine coordinate zero point

Workpiece coordinate zero points

Local coordinate zero point

Offset set by a parameter

Offset set by a program ("0" is set when turning the power ON)

G52 Local coordinate system offset (*1)

G54 Workpiece coordinate (G54) system offset (*1)

G55 Workpiece coordinate (G55) system offset

G92 G92 Coordinate system shift

EXT External workpiece coordinate offset

(*1) G52 offset is independently possessed by G54 to G59 respectively.

G52

G92

G55G54

EXT

G52

2

5 IB-1501277-Q

Minimum Command Unit

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

2 Minimum Command Unit

6IB-1501277-Q

2Minimum Command Unit 2.1 Input Setting Unit and Program Command Unit

The input setting units are the units of setting data including tool compensation amounts and workpiece coordinates

compensation.

The program command units are the units of movement amounts in programs.

These are expressed with mm, inch or degree ().

Program command units for each axis and input setting units, common for all axes, are determined by the setting of

parameters as follows. (This depends on the MTB specifications.)

(1) Inch/metric changeover can be handled by either a parameter screen (#1041 I_inch: valid only when the power is turned ON) or G commands (G20 or G21). However, the changeover by a G command applies only to the program command units, and not to the input setting units. Consequently, the tool offset amounts and other compensation amounts as well as the variable data should be preset in order to correspond to input setting units.

(2) The millimeter and inch systems cannot be used together.

(3) When performing a circular interpolation between the axes whose program command units are different, the cen- ter command (I, J, K) and the radius command (R) are designated by the input setting units. (Use a decimal point to avoid confusion.)

Function and purpose

Detailed description

Parameter Linear axis Rotary axis ()

Metric Inch

Input setting unit #1003 iunit = B 0.001 0.0001 0.001

= C 0.0001 0.00001 0.0001

= D 0.00001 0.000001 0.00001

= E 0.000001 0.0000001 0.000001

Program command unit (Input command unit)

#1015 cunit = 0 Follow #1003 iunit

= 1 0.0001 0.00001 0.0001

= 10 0.001 0.0001 0.001

= 100 0.01 0.001 0.01

= 1000 0.1 0.01 0.1

= 10000 1.0 0.1 1.0

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

2 Minimum Command Unit

7 IB-1501277-Q

2.2 Input Command Increment Tenfold

The program's command increment can be multiplied by an arbitrary scale with the parameter designation.

This function is valid when a decimal point is not used for the command increment.

The scale is set with the parameter "#8044 UNIT*10".

(1) When running a machining program already created with a 10m input command increment with a CNC unit for

which the command increment is set to 1m and this function's parameter value is set to "10", this function en-

ables the same machining as the original program.

(2) When running a machining program already created with a 1m input command increment with a CNC unit for

which the command increment is set to 0.1m and this function's parameter value is set to "10", this function

enables the same machining as the original program.

(3) This function cannot be used for the dwell function G04_X_(P_);.

(4) This function cannot be used for the compensation amount of the tool compensation input.

(5) This function can be used when decimal point type I is valid, but cannot be used when decimal point type II is

valid.

(6) This function cannot be used for a tool shape setting command (in G10L100 format).

Function and purpose

Detailed description

Program example (Machining program : programmed with 1=10m)

(CNC unit is 1=1m system)

"UNIT*10" parameter

10 1

X Y X Y

N1 G90 G00 X0 Y0; 0 0 0 0

N2 G91 X-10000 Y-15000; -100.000 -150.000 -10.000 -15.000

N3 G01 X-10000 Y-5000 F500; -200.000 -200.000 -20.000 -20.000

N4 G03 X-10000 Y-10000 J-10000; -300.000 -300.000 -30.000 -30.000

N5 X10000 Y-10000 R10000; -200.000 -400.000 -20.000 -40.000

N6 G01 X20.000 Y20.000 -180.000 -380.000 0.000 -20.000

UNIT*10 ON UNIT*10 OFF

N1

N2

N3

N4

N5

R

-400

-300

-200

-100

W

-100-200-300

N6

N1

N2

N3

N4

N5

R

-40

-30

-20

-10

W

-10-20-30

N6

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

2 Minimum Command Unit

8IB-1501277-Q

2.3 Indexing Increment

This function limits the command value for the rotary axis.

This can be used for indexing the rotary table, etc. It is possible to cause a program error with a program command

other than an indexing increment (parameter setting value).

When the indexing increment (parameter) which limits the command value is set, the rotary axis can only be posi-

tioned with that indexing increment. If a program other than the indexing increment setting value is commanded, a

program error (P20) will occur.

The indexing position will not be checked when the parameter is set to 0.

(Example) When the indexing increment setting value is 2 degrees, the machine coordinate position at the end point

can only be commanded with the 2-degree increment.

The following axis specification parameter is used. (This depends on the MTB specifications.)

(1) When the indexing increment is set, positioning will be conducted in degree unit.

(2) The indexing position is checked with the rotary axis, and is not checked with other axes.

(3) When the indexing increment is set to 2 degrees, the rotary axis is set to the B axis, and the B axis is moved with

JOG to the 1.234 position, an indexing error will occur if "G90B5." or "G91B2." is commanded.

Function and purpose

Detailed description

G90 G01 C102.000 ; Moves to the 102 degree angle.

G90 G01 C101.000 ; Program error

G90 G01 C102 ; Moves to the 102 degree angle. (Decimal point type II)

# Item Details Setting range (unit)

2106 Index unit Indexing incre- ment

Set the indexing increment with which the rotary axis can be positioned.

0 to 360()

Precautions

3

9 IB-1501277-Q

Program Formats

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

10IB-1501277-Q

3Program Formats 3.1 Program Format

A collection of commands assigned to an NC to move a machine is called "program".

A program is a collection of units called "block" which specifies a sequence of machine tool operations.

Blocks are written in the order of the actual movement of a tool.

A block is a collection of units called "word" which constitutes a command to an operation.

A word is a collection of characters (alphabets, numerals, signs) arranged in a specific sequence.

% Block Block Block Block Block Block Block Block Block

%

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

11 IB-1501277-Q

A program format looks as follows.

(1) Program start

Input an End Of Record (EOR, %) at the head of a program. It is automatically added when writing a program on an NC. When using an external device, do not forget to input it at the head of a program. For details, refer to the description of the file format.

(2) Program No.

Program Nos. are used to classify programs by main program unit or subprogram unit. They are designated by the address "O" followed by numbers of up to 8 digits. Program Nos. must be written at the head of programs. A setting is available to prohibit O8000s and O9000s from editing (edit lock). Refer to the instruction manual for the edit lock.

(3) Comment

Data between control out "(" and control in ")" is ignored. Information including program names and comments can be written in.

(4) Program section

A program is a collection of several blocks.

(5) Program end

Input an end of record (EOR, %) at the end of a program. It is automatically added when writing a program on an NC.

Detailed description

Program

% O (COMMENT) Block Block Block Block Block Block Block Block

%

(1)

(5)

(2)

(4)

(3)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

12IB-1501277-Q

[Block]

A block is a least command increment, consisting of words.

It contains the information which is required for a machine tool to execute a specific operation. One block unit con-

stitutes a complete command.

The end of each block is marked with an End of Block (EOB, expressed as ";" for the sake of convenience).

[Word]

A word consists of a set of an alphabet, which is called an address, and numerals (numerical information).

Meanings of the numerical information and the number of significant digits of words differ according to an address.

(1) Leading zeros can be omitted from numerals.

The major contents of a word are described below.

(1) Sequence No.

"Sequence No." consists of the address "N" followed by numbers up to 8 digits for M8 Series and 6 digits for C80 Series. It is used as an index when searching a necessary block in a program (as branch destination and etc.). It does not affect the operation of a tool machine.

(2) Preparatory function (G code, G function)

"Preparatory function (G code, G function)" consists of the address G followed by numbers of 2 or 3 digits (it may include 1 digit after the decimal point). G codes are mainly used to designate functions, such as axis movements and setting of coordinate systems. For example, G00 executes a positioning and G01 executes a linear interpo- lation.

(3) Coordinate words

"Coordinate words" specify the coordinate positions and movement amounts of machine tool axes. They consist of an address which indicates each axis of a tool machine followed by numerical information ("+" or "-" signs and numerals). X, Y, Z, U, V, W, A, B and C are used as address. Coordinate positions and movement amounts are specified by either "incremental commands" or "absolute commands". The axis name can be expanded to two letters depending on the MTB specifications. For details, refer to "15.12 Axis Name Extension".

(4) Feed functions (F functions)

"Feed Functions (F functions)" designate the speed of a tool relative to a workpiece. They consist of the address F followed by numbers.

Block and word

(a) Alphabet (address) (n) Number

EOB

Word Word Word... ;Word

(a) (n)

Note

N___ G__ X__ Z__ F__ ;

( 1) ( 2) ( 3) ( 4) EOB

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

13 IB-1501277-Q

Fixed sequences or repeatedly used parameters can be stored in the memory as subprograms which can then be

called from the main program when required.

If a command is issued to call a subprogram while a main program is being executed, the subprogram will be exe-

cuted. And when the subprogram is completed, the main program will be resumed.

Refer to "14.1 Subprogram Control; M98, M99, M198" for details of subprogram execution.

Main program and subprograms

O0010;

M98P1000;

M98P2000;

M02;

O1000;

M99;

O2000;

M99;

Main program Subprogram 1

Subprogram 2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

14IB-1501277-Q

3.2 File Format

Program file can be created using NC edit screen and PC.

It can be input/output between NC memory and an external I/O device. Hard discs stored in NC unit are regarded

as an external I/O device. For the details of input/output method, refer to the instruction manual.

Program file format differs depending on the device which creates the program.

Devices which can input/output program files are as follows.

(*1) GOT back-side SD card

(*2) GOT front-side USB memory

(*3) This function is valid only for M80 Series. The availability of the function depends on the MTB specifications.

(parameter "#1760 cfgPR10/bit2" (Enable HD mode on IPC))

The file format for each external I/O device is as follows:

(1) NC memory (Creates program on NC)

Function and purpose

Detailed description

Devices available for input/output

External data input/output interface M800W/ M80W M800S/M80 C80 E80

NC memory

Serial -

SD card in control unit (HD) - - -

Front-side SD card (*1)

Ethernet

Display unit-side data server (DS) -

Front-side USB memory (*2)

IPC (Industrial PC) - (*3) - -

Program file format

End of record (EOR, %) The end of record (EOR, %) is automatically added. It does not need to be input purposely.

Program No. (O No.) Not necessary.

File transfer When multiple programs within the NC memory are transferred to an external device as serial, they will be integrated into one file in the external device. When a file containing multiple programs in an external device is transferred to NC memory as serial, it will be divided into one file per one program.

(COMMENT) ; G28XYZ ;

M02 ; %

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

15 IB-1501277-Q

(2) External device (except for serials such as SD card and USB memory)

(3) External device (serial)

[Single program] [Multiple programs]

End of record (EOR, %) The first line (from % to LF, or CR LF) will be skipped. Also, the content after the second % will not be transferred. "%" must be included in the first line because if not, the necessary information when transferring a file to an NC memory cannot be transferred.

Program No. (O No.) O No. before (COMMENT) will be ignored and the file name will be given the priority.

File transfer Multiple programs cannot be transfered or collated between the serial-con- nected device and the external devices except for the serial connection. When a file containing multiple programs in an external device is transferred to NC memory as serial, it will be divided into one file per one program. When transferring divided programs one by one from an external device, which is not serial, (multiple programs) to an NC memory, the head program name can be omitted like "(COMMENT)" only when the transferring destina- tion file name is designated to the file name field of device B.

Program name Program name should be designated with up to 32 alphanumeric characters (29 characters for a multi-part system program).

End of block (EOB, ;) When the I/O parameter "CR output" is set to "1", EOB becomes CRLF.

End of record (EOR, %) The first line (from % to LF, or CR LF) will be skipped. Also, the content after the second % will not be transferred. "%" must be included in the first line because if not, the necessary information when transferring a file to an NC memory cannot be transferred.

File transfer Multiple programs cannot be transfered or collated between the serial-con- nected device and the external devices except for the serial connection. When transferring a file as serial, the head program name can be omitted like "(COMMENT)" only when the transferring destination file name is designated to the file name field of device B.

Program name Program name should be designated with up to 32 alphanumeric characters (29 characters for a multi-part system program).

End of block (EOB, ;) When the I/O parameter "CR output" is set to "1", EOB becomes CRLF.

CRLF

(COMMENT) CRLF

G28 XYZ CRLF

: : M02 CRLF

% ^Z

CRLF

CRLF

G28 XYZ CRLF

: : M02 CRLF

O101(COMMENT1) CRLF

: M02 CRLF

% ^Z

O100(COMMENT)

LF

O100(COMMENT) LF

G28 XYZ LF

: : M02 LF

%

%

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

16IB-1501277-Q

Chinese characters or the characters with umlaut symbol such as "" can be used in the messages of system vari-

ables #3000 and #3006. Since it cannot be input on the NC edit screen, create it with a general text editor.

Use the character code corresponding to the display language (parameter "#1043 lang").

Messages with character codes which do not correspond to the display language cause character corruption.

Character code of machining program

#1043 lang Character code

0 English Windows-1252

1 Japanese Shift-JIS

11 German Windows-1252

12 French Windows-1252

13 Italian Windows-1252

14 Spanish Windows-1252

15 Chinese (traditional) Big5

16 Korean (Hangeul) KS C 5601-1987

17 Portugese Windows-1252

18 Dutch Windows-1252

19 Swedish Windows-1252

20 Hungarian Windows-1250

21 Polish Windows-1250

22 Chinese (simplified) GB2312

23 Russian Windows-1251

24 Turkish CP1254

25 Czech Windows-1250

31 Indonesian Windows-1252

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

17 IB-1501277-Q

3.3 Optional Block Skip

3.3.1 Optional Block Skip; /

This function selectively ignores a section of a machining program from a "/" (slash code) to the end of the block.

Provided that the optional block skip switch is ON, a section of a machining program from a "/" to the end of the block

are ignored. They are executed if the switch is OFF.

Parity check is valid regardless of whether the optional block skip switch is ON or OFF.

When, for instance, all blocks are to be executed for one workpiece but specific blocks are not to be executed for

another workpiece, one machining program can be used to machine different parts by inserting the "/" into those

specific blocks.

(1) When the parameter "#1274 ext10/bit4" is set to "0" and the parameter "#1226 aux10/bit1" is set to "0":

A "/" placed in the middle of a block is always interpreted as a division instruction regardless of whether or not

the optional block skip signal state is ON or OFF.

(2) When the parameter "#1274 ext10/bit4" is set to "0" and the parameter "#1226 aux10/bit1" is set to "1":

A "/" placed in a bracketed ("[ ]") expression is interpreted as a division instruction.

As for a "/" that appears in any other contexts, the section of the block following the "/" will be skipped if the op-

tional skip signal is ON, and the "/" itself will be ignored if the optional skip signal is OFF.

Function and purpose

Detailed description

Program example

G00 X0. Z0.;

#101 = [ 100. / 4 ] ; Sets "25." to #101. (As the result of execution of a division instruction)

G00 Z[ 100. / 4 ] ; Moves Z axis to "25.". (As the result of execution of a division instruction)

#102 = 100. / #101 ; Sets "4." to #102. (As the result of execution of a division instruction)

M30 ;

G00 X0. Z0.;

#101 = [ 100. / 4 ] ; Sets "25." to #101. (As the result of execution of a division instruction)

G00 X100. / Z200. ; Moves X axis to "100. No Z axis movements made. (As the result of skipping the section of the block after "/")

G00 Z[ 100. / 4 ] ; Moves Z axis to "25.". (As the result of execution of a division instruction)

#102 = 100. / #101 ; Sets "100." to #102. (As the result of skipping the section of the block after "/")

M30 ;

G00 X0. Z0.;

#101 = [ 100. / 4 ] ; Sets "25." to #101. (As the result of execution of a division instruction)

G00 X100. / Z200. ; Moves X axis to "100." and Z axis to "200.". (As the result of ignoring "/")

G00 Z[ 100. / 4 ] ; Moves Z axis to "25.". (As the result of execution of a division instruction)

#102 = 100. / #101 ; Program error (P242) occurs. (As the result of ignoring "/")

M30 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

18IB-1501277-Q

(3) When the parameter "#1274 ext10/bit4" is set to "1" :

When a "/" is placed in a bracketed expression or when an expression that includes a "/" is on the right side of

an equation, the "/" is interpreted as a division instruction.

As for a "/" that appears in any other contexts, the section of the block following the "/" will be skipped if the op-

tional skip signal is ON, and the "/" itself will be ignored if the optional skip signal is OFF.

(1) When the parameter "#1274 ext10/bit4" is set to "0" and parameter "#1226 aux10/bit1" is set to "0", put the "/" code for optional block skip at the beginning of a block. If it is placed inside the block, it is assumed as a user macro, a division instruction.

(Example)

N20 G01 X25. /Z25. ; NG (User macro, a division instruction; a program error results.)

/N20 G01 X25. Z25. ; OK

When parameter "#1274 ext10/bit4" = "0" and parameter "#1226 aux10/bit1" = "1", a "/" placed in the middle of a block functions as a starting point of the optional skip. To use a "/" as a division instruction, bracket (enclose in square brackets) the formula containing a slash code.

(2) A space immediately followed by a "/" at the very beginning of a block is always regarded as equal to a "/" at the head of a block regardless of the value set in parameter "#1226 aux10/bit1".

(3) The optional block skip is processed immediately before the pre-read buffer. Consequently, it is not possible to skip up to the block which has been read into the pre-read buffer.

(4) This function is valid even during a sequence number search.

(5) All blocks with the "/" code are also input and output during tape storage and tape output, regardless of the po- sition of the optional block skip switch.

G00 X0. Z0.;

#101 = [ 100. / 4 ] ; Sets "25." to #101. (As the result of execution of a division instruction)

G00 X100. / Z200. ; Moves X axis to "100. No Z axis movements made. (As the result of skipping the section of the block after "/")

G00 Z[ 100. / 4 ] ; Moves Z axis to "25.". (As the result of execution of a division instruction)

#102 = 100. / #101 ; Sets "4." to #102. (As the result of execution of a division instruction)

M30 ;

G00 X0. Z0.;

#101 = [ 100. / 4 ] ; Sets "25." to #101. (As the result of execution of a division instruction)

G00 X100. / Z200. ; Moves X axis to "100." and Z axis to "200.". (As the result of ignoring "/")

G00 Z[ 100. / 4 ] ; Moves Z axis to "25.". (As the result of execution of a division instruction)

#102 = 100. / #101 ; Sets "4." to #102. (As the result of execution of a division instruction)

M30 ;

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

19 IB-1501277-Q

3.3.2 Optional Block Skip Addition ; /n

Whether the block with "/n (n:1 to 9)" (slash) is executed during automatic operation and searching is selected.

By using the machining program with "/n" code, different parts can be machined by the same program.

The block with "/n" (slash) code is skipped when the "/n" is programmed to the head of the block and the optional

block skip n signal is turned ON. For a block with the "/n" code inside the block (not at the head of the block), the

program is operated according to the value of the parameter "#1226 aux10/bit1" setting.

When the optional block skip n signal is OFF, the block with "/n" is executed.

(1) When the 2 parts like the figure below are machined, the following program is used. When the optional block skip 5 signal is ON, the part 1 is created. When the optional block skip 5 signal is OFF, the part 2 is created.

Function and purpose

Detailed description

Program example

N1 G54 ;

N2 G90 G81 X50. Z-20. R3. F100 ;

/5 N3 X30. ;

N4 X10. ;

N5 G80 ;

M02 ;

Part 1 Optional block skip 5 signal ON

Part 2 Optional block skip 5 signal OFF

N4 N2 N2N3N4

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

20IB-1501277-Q

(2) When two or more "/n" codes are commanded at the head of the same block, the block will be ignored if either of the optional block skip n signals corresponding to the command is ON.

(3) When the parameter "#1226 aux10/bit1" is "1"and two or more "/n" are commanded inside the same block, the commands following "/n" in the block are ignored if either of the optional block skip n signals corresponding to the command is ON.

N01 G90 Z3. M03 S1000 ; (a) Optional block skip 1 signal ON (Optional block skip 2.3 signal OFF) N01 -> N08 -> N09 -> N10 -> N11 -> N12

/1/2 N02 G00 X50. ;

/1/2 N03 G01 Z-20. F100 ;

/1/2 N04 G00 Z3. ;

/1 /3 N05 G00 X30. ; (b) Optional block skip 2 signal ON (Optional block skip 1.3 signal OFF) N01 -> N05 -> N06 -> N07 -> N11 -> N12

/1 /3 N06 G01 Z-20. F100 ;

/1 /3 N07 G00 Z3. ;

/2/3 N08 G00 X10. ; (c) Optional block skip 3 signal ON (Optional block skip 1.2 signal OFF) N01 -> N02 -> N03 -> N04 -> N11 -> N12

/2/3 N09 G01 Z-20. F100 ;

/2/3 N10 G00 Z3. ;

N11 G28 X0 M05 ;

N12 M02 ;

N01 G91 G28 X0.Y0.Z0.; N03 block will operate as follows. (a) Optional block skip 1 signal ON Optional block skip 2 signal OFF "Y1. Z1." is ignored. (b) Optional block skip 1 signal OFF Optional block skip 2 signal ON "Z1." is ignored.

N02 G01 F1000;

N03 X1. /1 Y1. /2 Z1.;

N04 M30;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

21 IB-1501277-Q

3.4 G Code 3.4.1 Modal, Unmodal

G codes define the operation modes of each block in programs.

G codes can be modal or unmodal command.

Modal commands always designate one of the G codes in the group as the NC operation mode. The operation mode

is maintained until a cancel command is issued or other G code among the same group is commanded.

An unmodal command designates the NC operation mode only when it is issued. It is invalid for the next block.

3.4.2 G Code Lists

G code Group Function Section

00 01 Positioning 6.1

0.5 28 Rapid traverse block overlap 7.14.1

01 01 Linear interpolation 6.2

02 01 Circular interpolation CW 6.3

R-specified circular interpolation CW 6.4

Helical interpolation CW 6.7

Spiral/Conical interpolation CW (type2) 6.14

03 01 Circular interpolation CCW 6.3

R-specified circular interpolation CCW 6.4

Helical interpolation CCW 6.7

Spiral/Conical interpolation CCW (type2) 6.14

02.1 01 Spiral/Conical interpolation CW (type1) 6.14

03.1 01 Spiral/Conical interpolation CCW (type1) 6.14

02.2 01 Involute interpolation/Helical involute interpolation CW 6.18

03.2 01 Involute interpolation/Helical involute interpolation CCW 6.18

02.3 01 Exponential function interpolation positive rotation 6.12

03.3 01 Exponential function interpolation negative rotation 6.12

02.4 01 3-dimensional circular interpolation CW 6.15

03.4 01 3-dimensional circular interpolation CCW 6.15

04 00 Dwell (Time-based designation) 8.1

05 00 High-speed machining mode 17.1

High-speed high-accuracy control II/III 17.3

05.1 00 High-speed high-accuracy control I 17.3

Spline interpolation 17.4

06.2 01 NURBS interpolation 6.16

07 00 Hypothetical axis interpolation 6.17

07.1 107

19 Cylindrical interpolation 6.9

08 00 High-accuracy control 17.2

09 00 Exact stop check 7.11

10 00 Data input by program (Parameter input, Compensation input, Tool shape input, R-Navi data in- put)

15.9

Tool life management data input 15.10

Coordinate rotation input by parameter 20.11

11 00 Data input by program cancel (Parameter input, Compensation input, Tool shape input, R-Navi data in- put)

15.9

Tool life management data input 15.10

10.9 00 Diameter/Radius designation switch 5.2.1

12 00 Circular cutting CW 6.10

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

22IB-1501277-Q

13 00 Circular cutting CCW 6.10

12.1 112

21 Polar coordinate interpolation ON 6.11

* 13.1 113

21 Polar coordinate interpolation cancel 6.11

14

* 15 18 Polar coordinate command OFF 6.13

16 18 Polar coordinate command ON 6.13

17 02 X-Y plane selection 6.5

18 02 Z-X plane selection 6.5

19 02 Y-Z plane selection 6.5

20 06 Inch command 5.3

21 06 Metric command 5.3

22 04 Stroke check before travel ON 21.1

23 04 Stroke check before travel cancel 21.1

24

25

26 00 Return to the selected point/Tapping retract 15.13

27 00 Reference position check 20.16

28 00 Reference position return 20.13

29 00 Start position return 20.13

30 00 2nd to 4th reference position return 20.14

30.1 00 Tool change position return 1 20.15

30.2 00 Tool change position return 2 20.15

30.3 00 Tool change position return 3 20.15

30.4 00 Tool change position return 4 20.15

30.5 00 Tool change position return 5 20.15

30.6 00 Tool change position return 6 20.15

31 00 Skip/Speed change skip 22.2

Multi-step skip 2 22.4

31.1 00 Multi-step skip 1-1 22.3

31.2 00 Multi-step skip 1-2 22.3

31.3 00 Multi-step skip 1-3 22.3

32

33 01 Thread cutting 6.6

34 00 Special fixed cycle (bolt hole circle) 13.2.1

35 00 Special fixed cycle (line at angle) 13.2.2

36 00 Special fixed cycle (arc) 13.2.3

37 00 Automatic tool length measurement 22.1

37.1 00 Special fixed cycle (grid) 13.2.4

38 00 Tool radius compensation vector designation 12.3

39 00 Tool radius compensation corner arc 12.3

* 40 07 Tool radius compensation (tool nose radius compensation) cancel 12.3

3-dimensional tool radius compensation cancel 12.5

3-dimensional tool radius compensation (Tool's vertical-direction com- pensation) cancel

19.5

41 07 Tool radius compensation (tool nose radius compensation) left 12.3

3-dimensional tool radius compensation left 12.5

42 07 Tool radius compensation (tool nose radius compensation) right 12.3

3-dimensional tool radius compensation right 12.5

G code Group Function Section

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

23 IB-1501277-Q

* 40.1 150

15 Normal line control cancel 15.7

41.1 151

15 Normal line control left ON 15.7

42.1 152

15 Normal line control right ON 15.7

41.2 07 3-dimensional tool radius compensation (Tool's vertical-direction com- pensation) (left)

19.5

42.2 07 3-dimensional tool radius compensation (Tool's vertical-direction com- pensation) (right)

19.5

43 08 Tool length compensation (+) 12.2

44 08 Tool length compensation (-) 12.2

43.1 08 Tool length compensation along the tool axis ON 19.2

43.4 08 Tool center point control type1 ON 19.3

43.5 08 Tool center point control type2 ON 19.3

43.7 08 Tool position compensation start 19.1

45 00 Tool position offset (extension) 12.6

46 00 Tool position offset (reduction) 12.6

47 00 Tool position offset (double elongation) 12.6

48 00 Tool position offset (double contraction) 12.6

* 49 08 Tool length compensation cancel 12.2

Tool length compensation along the tool axis cancel 19.2

Tool center point control cancel 19.3

Tool position compensation cancel 19.1

* 50 11 Scaling cancel 20.12

51 11 Scaling ON 20.12

* 50.1 19 Mirror image by G code cancel 15.6

51.1 19 Mirror image by G code ON 15.6

50.2 250

00 Tool spindle synchronization IB/IC cancel 18.2.2

18.2.3

51.2 251

00 Tool spindle synchronization IB/IC 18.2.2

18.2.3

52 00 Local coordinate system setting 20.5

53 00 Basic machine coordinate system selection 20.3

53.1 00 Tool axis direction control (type 1) 19.4.8

53.6 00 Tool axis direction control (type 2) 19.4.8

* 54 12 Workpiece coordinate system 1 selection 20.6

55 12 Workpiece coordinate system 2 selection 20.6

56 12 Workpiece coordinate system 3 selection 20.6

57 12 Workpiece coordinate system 4 selection 20.6

58 12 Workpiece coordinate system 5 selection 20.6

59 12 Workpiece coordinate system 6 selection 20.6

54.1 12 Extended workpiece coordinate system selection 20.6

54.2 23 Workpiece position offset for rotary axis 20.8

54.4 27 Workpiece installation error compensation -

60 00(01) Unidirectional positioning 6.8.1

61 13 Exact stop check mode 7.12

61.1 13 High-accuracy control ON 17.2

61.2 13 High-accuracy spline 17.6

61.4 13 Spline interpolation 2 17.5

62 13 Automatic corner override 7.15.1

G code Group Function Section

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

24IB-1501277-Q

63 13 Tapping mode 7.16

* 64 13 Cutting mode 7.17

65 00 User macro simple call 14.4.1

66 14 User macro modal call A 14.4.2

66.1 14 User macro modal call B 14.4.3

* 67 14 User macro modal call cancel 14.3

68 16 Coordinate rotation by program ON 20.10

3-dimensional coordinate conversion mode ON 20.9

68.2 16 Inclined surface machining command 19.4

R-Navi data input (Selecting the registered machining surface) 15.9.6

68.3 16 Inclined surface machining command (Based on tool axis direction) 19.4

* 69 16 Coordinate rotation by program cancel 20.10

3-dimensional coordinate conversion mode OFF 20.9

Inclined surface machining cancel 19.4

R-Navi data input (Canceling the selected machining surface) 15.9.6

70 09 User fixed cycle

71 09 User fixed cycle

72 09 User fixed cycle

73 09 Fixed cycle (step) 13.1.10

74 09 Fixed cycle (reverse tap) 13.1.11

75 09 Fixed cycle (circle cutting cycle) 13.1.12

76 09 Fixed cycle (Fine boring) 13.1.13

77 09 User fixed cycle

78 09 User fixed cycle

79 09 User fixed cycle

* 80 09 Fixed cycle cancel 13.1

81 09 Fixed cycle (drill/spot drill) 13.1.1

82 09 Fixed cycle (drill/counter boring) 13.1.2

83 09 Fixed cycle (deep drilling/small-diameter deep-hole drilling) 13.1.3

84 09 Fixed cycle (tapping) 13.1.4

85 09 Fixed cycle (boring) 13.1.5

86 09 Fixed cycle (boring) 13.1.6

87 09 Fixed cycle (back boring) 13.1.7

88 09 Fixed cycle (boring) 13.1.8

89 09 Fixed cycle (boring) 13.1.9

90 03 Absolute command 5.1

91 03 Incremental command 5.1

92 00 Coordinate system setting 20.4

Spindle clamp speed setting 10.3

92.1 00 Workpiece coordinate system preset 20.7

93 05 Inverse time feed 7.5

94 05 Feed per minute (asynchronous feed) 7.4

95 05 Feed per revolution (synchronous feed) 7.4

96 17 Constant surface speed control ON 10.2

97 17 Constant surface speed control OFF 10.2

* 98 10 Fixed cycle Initial level return 13.1.17

99 10 Fixed cycle (R point level return) 13.1.17

100-225 00 User macro (G code call) Max. 10 14.4.4

113.1 00 Spindle synchronization I/Tool spindle synchronization (IA/IB/II) cancel 18.1.1

114.1 00 Spindle synchronization I 18.1.1

G code Group Function Section

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

25 IB-1501277-Q

(1) Codes marked with * are codes that must be or are selected in the initial state. The codes marked with are codes that should be or are selected in the initial state by the parameters.

(2) If two or more G codes from the same code are commanded, the latter G code will be valid.

(3) This G code list is a list of conventional G codes. Depending on the machine, movements that differ from the conventional G commands may be included when called by the G code macro. Refer to the Instruction Manual issued by the MTB.

(4) Whether the modal is initialized or not depends on each reset input.

"Reset 1"

The modal is initialized when the reset initialization parameter (#1151 rstinit) is ON. (This depends on the MTB

specifications.)

"Reset 2" and "Reset & rewind"

The modal is initialized when the signal is input.

Reset at emergency stop release

Conforms to "Reset 1".

When modal is automatically reset at the start of individual functions such as reference position return Conforms to "Reset & rewind".

114.2 00 Tool spindle synchronization IA 18.2.1

114.3 00 Tool spindle synchronization II 18.2.1

120.1 00 Machining condition selection I 17.7

121 00 Machining condition selection I cancel 17.7

122 00 Activate sub part system I 16.3.1

127 00 Prohibits the arbitrary reverse run in all part systems 15.8

130 00 Selection of axis (axes) for feedrate command 7.7

140 00 Arbitrary axis exchange command 16.2.1

141 00 Arbitrary axis exchange return command 16.2.1

142 00 Arbitrary axis exchange/reference axis arrange return command 16.2.1

145 00 Cancel sub part systems 16.3

160 00 Torque limitation skip 22.6

162 00 Spindle speed fluctuation detection 10.5

163 00 Spindle speed fluctuation detection cancel 10.5

180 00 Interactive cycle insertion program 15.11

186 00 Interference check III interfering object data enable command 21.2

187 09 Thread milling cycle 13.1.14

Precautions

CAUTION

The commands with "no value after G" will be handled as "G00".

G code Group Function Section

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

3 Program Formats

26IB-1501277-Q

3.5 Precautions before Starting Machining

CAUTION

When creating the machining program, select the appropriate machining conditions, and make sure that the

performance, capacity and limits of the machine and NC are not exceeded. The examples do not take into ac-

count the machining conditions.

Before starting actual machining, always carry out a graphic check, a dry run operation, and a single block op-

eration to check the machining program, tool offset amount, workpiece offset amount, etc.

4

27 IB-1501277-Q

Pre-read Buffer

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

4 Pre-read Buffer

28IB-1501277-Q

4Pre-read Buffer 4.1 Pre-read Buffer

During automatic processing, the contents of one block ahead are normally pre-read so that program analysis pro-

cessing is conducted smoothly. However, during tool radius compensation, a maximum of 5 blocks are pre-read for

the intersection point calculation including interference check.

The specifications of pre-read buffers in 1 block are as follows:

(1) The data of 1 block is stored in this buffer.

(2) When comments and the optional block skip function is ON, the data extending from the "/" (slash) code up to the EOB code are not read into the pre-read buffer.

(3) The pre-read buffer contents are cleared with resetting.

(4) When the single block function is ON during continuous operation, the pre-read buffer stores the next block's data and then stops operation.

(5) The way to prohibit the M command which operates the external controls from pre-reading, and to make it to recalculate, is as follows: Identify the M command which operates the external controls by a PLC, and turn on the "recalculation request" on PLC output signal. (When the "recalculation request" is turned ON, the program that has been pre-read is recalculated.) These operations depend on the MTB specifications.

(1) Depending on whether the program is executed continuously or by single blocks, the timing of the validation/ invalidation of the PLC signals, including optional block skip, will differ.

(2) If the PLC signal such as optional block skip is turned ON/OFF with the M command, the PLC control operation will not be effective for the program pre-read with the buffer register.

Function and purpose

Detailed description

Precautions

5

29 IB-1501277-Q

Position Commands

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

30IB-1501277-Q

5Position Commands 5.1 Position Command Methods ; G90,G91

By using the G90 and G91 commands, it is possible to execute the next coordinate commands using absolute com-

mands or incremental commands.

The R-designated circle radius and the center of the circle determined by I, J, K are always incremental commands.

Function and purpose

Command format

G90/G91 X__ Y__ Z__ __ ;

G90 Absolute command

G91 Incremental command

X,Y,Z, Coordinate values ( is the additional axis.)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

31 IB-1501277-Q

(1) Regardless of the current position, in the absolute mode, it is possible to move to the position of the workpiece coordinate system that was designated in the program.

(2) For the next block, the last G90/G91 command that was given becomes the modal.

(3) Since multiple commands can be issued in the same block, it is possible to command specific addresses as ei- ther absolute positions or incremental positions.

(4) When the power is turned ON, it is possible to select whether you want absolute commands or incremental com- mands with the #1073 I_Absm parameter.

(5) Even when commanding with the manual data input (MDI), it will be treated as a modal from that block.

Detailed description

N1 G90 G00 X0 Y0 ;

In the incremental mode, the current position is the start point (0), and the movement is made only the value determined by the program, and is expressed as an incremental position.

N2 G90 G01 X200. Y50. F100 ; N2 G91 G01 X200. Y50. F100 ;

Using the command from the 0 point in the workpiece coordi- nate system, it becomes the same coordinate command value in either the absolute mode or the incremental mode.

Tool

(G90) N3 X100. Y100. ;

The axis moves to the workpiece coordinate system X = 100.mm and Y = 100.mm position.

(G91) N3 X-100. Y50. ;

The X axis moves to -100.mm and the Y axis to +50.0mm as an incremental position, and as a result X moves to 100.mm and Y to 100.mm.

N4 G90 X300. G91 Y100. ;

The X axis is treated in the absolute mode, and with G90 is moved to the workpiece coordinate system 300.mm position. The Y axis is moved +100.mm with G91. As a result, Y moves to the 200.mm position. In terms of the next block, G91 remains as the modal and becomes the incremental mode.

300.200.

200.

100 N1

100. N2

W X

Y

300.200.

200.

100.

N3

W

X

Y

100.

300.200.100.

N4

W

X

Y

100.

200.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

32IB-1501277-Q

5.2 Diameter Designation and Radius Designation 5.2.1 Diameter/Radius Designation Switch; G10.9

The method of commanding a travel distance (command with a diameter dimension/command with a radius dimen-

sion (as-is distance)) in a program is defined individually for each axis depending on MTB specifications (parameter

"#1019 dia").

Diameter/Radius designation switch function, however, enables you to switch the diameter/radius designation of

each axis using a G code at your desired timing. When you use the function to switch diameter/radius designation,

it helps you create a program more flexibly according to each machining situation.

Diameter/Radius designation switch enables you to select any desired NC axis, excluding rotary axes, and switch

the diameter/radius designation of the axis.

Function and purpose

Term

Diameter/Radius being switched

This refers to a condition where the diameter/radius selection of an axis is different from the power-ON state.

Command format

Diameter/Radius designation switch

G10.9 Axis name 1__ Axis name 2__ ... Axis name n__ ;

Axis name n Axis name for which diameter/radius designation is switched. Select radius or diameter designation with a value that follows the axis name. 0: Radius designation 1: Diameter designation If you do not command any axis name, the diameter/radius designation statuses of all the axes of the part system are returned to the initial power-ON state.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

33 IB-1501277-Q

(1) G10.9 is a non-modal command that belongs to Group 0.

(2) G10.9 is effective for all the G code lists.

(3) If G10.9 is commanded together with any other G code in a block, the program error (P33) occurs.

(4) For the axis name, specify the axis name that is set in "#1013 axname" or "#1014 incax" (*1). If the specified axis name is not found, a program error (P33) will occur.

(*1) The axis name set in "#1014 incax" can be specified only when the setting value of "#1076 AbsInc" is "1".

These settings depend on the MTB specifications.

(5) If a rotary axis is specified with "Axis name", a program error (P32) occurs.

(6) If a number with a decimal point is specified with "Axis name", the fraction is ignored. If any value other than "0" or "1" is specified, the program error (P35) occurs. If specified with a variable, the fraction is rounded to the clos- est whole number.

(7) G10.9 switches the diameter/radius designation for programmed coordinates command and coordinates of counter in Monitor screen. However, diameter/radius designation is not switched for data including parameters, workpiece offsets, tool data and tool offsets.

(8) The axis specified for diameter/radius designation switch by G10.9 is effective until G10.9 is given again for switching or until Reset or Emergency stop is input. After the Reset or Emergency stop, the diameter/radius des- ignation before G10.9 is restored. However, when "#1255 set27/bit3" is set to "1", the diameter/radius designation status is held even if resetting is performed. (This parameter setting depends on the MTB specifications.)

(9) If diameter/radius designation switch is not performed for an axis in the part system of G10.9 command, the axis behaves as follows: The axis behaves according to the setting of "#1019 dia" for L system. This setting depends on the MTB

specifications. The axis acts as radius-designation axis in the M system.

(10) Irrespective of the "#1019 dia" and "#1077 radius" settings, the designation selected by G10.9 has priority.

(11) If you use G10.9 to switch diameter/radius designation for two axes (X axis and Z axis) at a time, program the command as follows: G10.9 X1 Z0; In the example above, X axis is switched to diameter designation, and Z axis to radius designation.

(1) Restart search If you perform restart search after a G10.9 block, the diameter/radius designation switched by G10.9 is applied.

(2) Arbitrary reverse run If you perform reverse run for a G10.9 block, the reverse run stops at the G10.9 block, and is disabled for the prior blocks before the G10.9 block.

(3) Manual arbitrary reverse run If you perform forward run for G10.9 block, the diameter/radius designation switched by G10.9 is applied. If you perform reverse run for a G10.9 block, the reverse run stops at the G10.9 block, and is disabled for the prior blocks before the G10.9 block.

(4) Chopping G10.9 is unable to switch diameter/radius designation of a chopping axis. If G10.9 is given to an axis that is in chopping mode, or if you enable chopping mode for an axis for which diameter/radius designation is being switched by G10.9, the operation error (M01 0095) occurs. If the alarm above has been caused by giving G10.9 to an axis that is in chopping mode, the chopping axis keeps moving. Use the corresponding PLC signal or NC reset to stop the axis.

(5) Synchronous control For a master or slave axis that is in synchronous operation, you can switch diameter/radius designation using G10.9. Even when the diameter/radius designation status is different between master and slave axes, their synchroni- zation will not fail. The coordinates displayed on Monitor screen are dependent on the diameter/radius designa- tion of each axis.

Detailed description

Relationship with other functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

34IB-1501277-Q

(6) Arbitrary axis exchange control The diameter/radius command switching for an axis in arbitrary axis exchange control mode depends on the MTB specifications(*1).

(*1) Parameters of the command address: "#12071 adr_abs[1]" - "#12078 adr_abs[8]", "#12079 adr_inc[1]" -

"#12086 adr_inc[8]"

If an arbitrary axis exchange-related command (G140/G141/G142) has given in a part system, all the axes of

the part system are returned to the initial status under the exchanged axis configuration after the axis exchange.

(7) Program format switch In M system, the setting of "#1019 dia" is disabled, thus all the axes are treated as radius-designation axis. How- ever, G10.9 enables a diameter-value command. When you switch the program format, the diameter/radius designation is returned to the default state for all the axes of the part system.

(8) Axis name extension Diameter/Radius designation switch with G10.9 is disabled for a name-extended axis.

(9) Manual arbitrary feed If a position command in manual arbitrary feed is given, the diameter/radius axis setting of each axis at power ON is applied. Therefore, even if a manual arbitrary feed command is given to an axis in diameter/radius desig- nation switch mode using the G10.9 command, the diameter/radius switch status is ignored.

(10) Cylindrical interpolation/Polar coordinate interpolation The diameter/radius designation of each axis at which these functions are being executed follows the setting of "#8111 Milling Radius" without being affected by the G10.9 command. When these functions are canceled, the setting returns to the diameter/radius axis designation that was valid before the functions are executed. If G10.9 is commanded while these functions are being executed, a program error (P481) will occur.

(11) Tool center point control If tool center point control is given to an axis for which diameter/radius designation is being switched by G10.9, a program error (P941) occurs. If G10.9 is given to an axis that is in tool center point control, the program error (P705) occurs.

(12) Graphic check (2D/3D), Graphic trace During graphic check or graphic trace, even if the diameter and radius are switched with G10.9, neither the draw- ing image nor coordinate value view is not switched.

(1) If diameter/radius designation is switched, the travel distance changes even though the command value is un- changed. Thus special care must be taken when creating or executing a machining program.

(2) Command the feedrate with the radius value regardless of whether the diameter designation or radius designa- tion is selected. (This is applied to both the movement amount per rotation and that per minute.)

(3) Diameter/Radius designation is not switched for a value that is read or written using PLC window or system vari- ables. For M system, it is treated as a radius value. For L system, the value follows the setting of "#1019 dia".

(4) When manual handle feed or incremental feed is performed at manual interruption, the switched diameter/radius designation is applied.

(5) In a G10.9 command block, the control confirms that all the axes of the part system are decelerated to a stop before switching the diameter/radius designation. If G10.9 is given between cutting blocks, it causes acceleration and deceleration, which may damage the workpiece. Thus make sure that the tool is away from the workpiece before giving G10.9.

(6) If a G10.9 command which has the same diameter/radius designation as the existing operation is given, the G10.9 command fails to be enabled. Thus if a G code that causes an error when combined with G10.9 is given together, no error occurs.

(7) Do not give "Start point designation timing synchronization" or "M code output during axis traveling" command to an axis for which diameter/radius designation is being switched. If commanded, it cannot be assured that the timing synchronization or the M code output is performed in the correct position.

(8) Do not perform manual tool length measurement I for an axis for which the diameter/radius designation is switched. The correct tool length cannot be measured for an axis for which the diameter/radius designation is switched.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

35 IB-1501277-Q

5.3 Inch/Metric Conversion; G20, G21

The commands can be changed between inch and metric with the G20/G21 command.

The G20 and G21 commands merely select the command units. They do not select the Input units.

G20 and G21 selection is meaningful only for linear axes. It is invalid for rotation axes.

The counter, parameter setting and display unit are determined by parameter "#1041 I_inch". The movement/speed

command will be displayed as metric units when "#1041 I_inch" is ON during the G21 command mode. The internal

unit metric data of the movement/speed command will be converted into an inch unit and displayed when "#1041

I_inch" is OFF during the G20 command mode. The command unit for when the power is turned ON and reset is

decided by combining the parameters "#1041 I_inch", "#1151 rstint" and "#1210 RstGmd/bit5".

These parameter settings depend on the MTB specifications.

NC axis

PLC axis

Function and purpose

Command format

Inch command

G20;

Metric command

G21;

Detailed description

Output unit, command unit and setting unit

Item Initial inch OFF Initial inch ON

(metric internal unit) (inch internal unit)

#1041 I_inch=0 #1041 I_inch=1

G21 G20 G21 G20

Movement/speed command Metric Inch Metric Inch

Counter display Metric Metric Inch Inch

Speed display Metric Metric Inch Inch

User parameter setting/display Metric Metric Inch Inch

Workpiece/tool offset setting/display Metric Metric Inch Inch

Handle feed command Metric Metric Inch Inch

Item #1042 pcinch=0 (metric) #1042 pcinch=1 (inch)

Movement/speed command Metric Inch

Counter display Metric Inch

User parameter setting/display Metric Inch

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

36IB-1501277-Q

(1) The parameter and tool data will be input/output with the unit set by "#1041 I_inch". If "#1041 I_inch" is not found in the parameter input data, the unit will follow the unit currently set to NC.

(2) The unit of read/write used in PLC window is fixed to metric unit regardless of a parameter and G20/G21 com- mand modal.

(3) A program error (P33) will occur if G20/G21 command is issued in the same block as following G codes. Com- mand in a separate block. G05 (High-speed machining mode) G7.1 (Cylindrical Interpolation) G12.1 (Polar coordinate interpolation)

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

37 IB-1501277-Q

5.4 Decimal Point Input

This function enables to input decimal points. It assigns the decimal point in millimeter or inch units for the machining

program input information that defines the tool paths, distances and speeds.

Whether to apply minimum input command increment (type I) or zero point (type II) to the least significant digit of

data without a decimal point depends on the MTB specifications (parameter "#1078 Decpt2").

(1) The decimal point command is valid for the distances, angles, times, speeds and scaling rate, in machining pro- grams. (Note, only after G51)

(2) In decimal point input type I and type II, the values of the data commands without the decimal points are shown in the table below.

(3) The valid addresses for the decimal points are X, Y, Z, U, V, W, A, B, C, I, J, K, E, F, P, Q, and R. However, P is valid only during scaling. For details, refer to the list.

(4) In decimal point command, the valid range of command value is as shown below. (When "#1015 cunit" (program input command) is "10".)

(5) The decimal point command is valid even for commands defining the variable data used in subprograms.

(6) While the smallest decimal point command is validated, the smallest unit for a command without a decimal point designation is the smallest command input unit set in the specifications (1 m, 10 m, etc.) or mm can be se- lected. This selection can be made with parameter "#1078 Decpt2".

(7) Decimal point commands for decimal point invalid addresses are processed as integer data only and everything after the decimal point is ignored. Decimal point invalid addresses include the followings; D,H,L,M,N,O,P,S,T. All variable commands, however, are treated as data with decimal points.

(8) "Input command increment tenfold" is applied in the decimal point type I mode, but not in the decimal point type II mode.

Function and purpose

Detailed description

Command Command unit Type I Type II

X1; #1015 = 10000 1000

(m, 10-4inch, 10-3)

1 (mm, inch, )

#1015 = 1000 100 1

#1015 = 100 10 1

#1015 = 10 1 1

Movement com- mand (linear)

Movement com- mand (rotary)

Feedrate Dwell

Input unit [mm] -99999.999 to 99999.999

-99999.999 to 99999.999

0.001 to 10000000.000

0 to 99999.999

Input unit [inch] -9999.9999 to 9999.9999

0.0001 to 1000000.0000

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

38IB-1501277-Q

Decimal point input I and II will result as follows when decimal points are not used in an address which a decimal

point command is valid.

Both decimal point input I and II will produce the same result when a command uses a decimal point.

(1) Decimal point input I

The least significant digit of command data matches the command unit.

(Example) When "X1" is commanded in 1 m system, the same result occurs as for an "X0.001" command.

(2) Decimal point input II

The least significant digit of command data matches the command unit.

(Example) When "X1" is commanded in 1 m system, the same result occurs as for an "X1." command.

[Addresses used and validity of decimal point commands]

Decimal point input I, II and decimal point command validity

Address Decimal point command

Usage Remarks

A Valid Coordinate position data

Invalid Revolving table

Invalid Miscellaneous function codes

Valid Angle data

Invalid Data settings, axis numbers (G10)

Valid Spindle synchronization: Acceleration/deceleration time constant

Invalid Program No.

Invalid R-Navi data input by program: Coordinate axis selection

Invalid Interactive cycle insertion: Cycle ID

B Valid Coordinate position data

Invalid Revolving table

Invalid Miscellaneous function codes

Invalid Sub part system I: Identification No.

Invalid R-Navi data input by program: Coordinate axis direction setting

C Valid Coordinate position data

Invalid Revolving table

Invalid Miscellaneous function codes

Valid Corner chamfering amount ,C

Invalid Target C axis in C axis mode for spindle position control (spindle/C axis control)

Invalid Tool shape input by program: Tool color

Invalid R-Navi data input by program: Basic coordinate system

Invalid R-Navi data input by program: Coordinate axis direction setting

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

39 IB-1501277-Q

D Invalid Compensation numbers (tool position, tool radius)

Valid Automatic tool length measurement: Deceleration distance d

Invalid Parameter input by program: Byte type data

Invalid Spindle synchronization: Designation of synchronized spindle

Invalid Subprogram storing device number ,D

Invalid Sub part system I: Synchronous control designation

Valid Droop skip value

Valid Tool shape input by program: Shape data 1

Invalid R-Navi data input by program: Machining registration No.

Invalid Rotation direction

Invalid Subprogram device No. ,D

Invalid Tool spindle synchronization IA: Workpiece axis selection (Synchro- nized spindle)

Invalid Tool spindle synchronization IB: Rotary tool axis selection (Synchro- nized spindle)

Invalid Tool spindle synchronization II: Hob axis selection

E Valid Inch thread: number of ridges, precision thread: lead

Invalid R-Navi data input by program: Coordinate axis direction setting

Valid Synchronous tap: Cutting feedrate (Number of screw threads)

Invalid Tool spindle synchronization IA: Rotary tool axis rotation ratio designa- tion

Invalid Tool spindle synchronization II: Rotation ratio designation (Hob axis)

F Valid Cutting feedrate, automatic tool length measurement speed

Valid Thread lead

Valid Number of Z axis pitch in synchronous tap

Valid Rapid traverse rate ,F

Invalid R-Navi data input by program: Workpiece shape

Invalid R-Navi data input by program: Coordinate axis direction setting

Valid Involute interpolation: Feedrate (in involute curve tangent direction)

G Valid Preparatory function code

H Invalid Tool length compensation No.

Invalid Sequence Nos. in subprograms

Invalid Parameter input by program: Bit type data

Invalid Tool spindle synchronization IA: Rotary tool axis selection (Reference spindle)

Invalid Tool spindle synchronization IB: Workpiece axis selection (Reference spindle)

Invalid Tool spindle synchronization II: Hob axis selection

Invalid Sub part system I: Reset type

Valid Tool shape input by program: Shape data 2

Invalid R-Navi data input by program: Coordinate axis direction setting

Invalid Tool position compensation: Compensation No.

Address Decimal point command

Usage Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

40IB-1501277-Q

I Valid Coordinates for arc center and center of figure rotation

Valid Tool radius compensation vector components

Valid Hole pitch in the special fixed cycle

Valid Circle radius of cut circle (increase amount)

Valid G0/G1 in-position width, Hole drilling cycle: G0 in-position width ,I

Valid Stroke check before travel: Lower limit coordinates

Valid Tool shape input by program: Shape data 3

Valid R-Navi data input by program: Workpiece shift

Invalid R-Navi data input by program: Coordinate axis direction setting

Valid Arc radius and approach direction

Invalid Allowable fluctuation range of spindle speed

Valid Involute interpolation: Distance to the center of base circle

Valid Inclined surface machining: Rotation angle about the X axis (roll angle)

J Invalid Coordinates for arc center and center of figure rotation

Valid Tool radius compensation vector components

Valid Special fixed cycle's hole pitch or angle

Valid G0/G1 in-position width, Hole drilling cycle: G1 in-position width ,J

Valid Stroke check before travel: Lower limit coordinates

Valid Tool shape input by program: Shape data 4

Valid R-Navi data input by program: Workpiece shift

Valid Arc radius and approach direction

Valid Involute interpolation: Distance to the center of base circle

Valid Inclined surface machining: Rotation angle about the Y axis (pitch angle)

K Valid Coordinates for arc center and center of figure rotation

Valid Tool radius compensation vector components

Invalid Number of holes of the special fixed cycle

Invalid Hole drilling cycle, sub part system I: Number of repetitions

Valid Stroke check before travel: Lower limit coordinates

Valid Spline interpolation 2: Tolerance (Linear axis) ,K

Invalid Tool shape input by program: Tool type

Valid R-Navi data input by program: Workpiece shift

Valid Involute interpolation: Distance to the center of base circle

Valid Inclined surface machining: Rotation angle about the Z axis (yaw angle)

L Invalid Number of fixed cycle and subprogram repetitions

Invalid Tool compensation data input by program/workpiece offset input: type selection

L2, L20, L10, L11, L12, L13

Invalid Parameter input by program: data setting selection L70

Invalid Parameter input by program: 2-word type data 4 bytes

Invalid R-Navi data input by program: Start setting workpiece data L110

Invalid R-Navi data input by program: Start setting machining surface data L111

Invalid Timing synchronization number

Invalid Tool life data

Invalid Tool spindle synchronization IA: Rotation ratio designation (Workpiece axis)

Invalid Tool spindle synchronization II: Rotation ratio designation (Workpiece axis)

M Invalid Miscellaneous function codes

Invalid R-Navi data input by program: Coordinate axis direction designation method

Address Decimal point command

Usage Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

41 IB-1501277-Q

N Invalid Sequence No.

Invalid Parameter input by program: data numbers

O Invalid Program No.

P Invalid/Valid Dwell time Parameters

Invalid Subprogram program call: program No.

Invalid/Valid Dwell at tap cycle hole base Parameters

Invalid Number of holes of the special fixed cycle

Invalid Amount of helical pitch

Valid Thread milling cycle: Pitch amount

Invalid Offset number (G10)

Invalid Constant surface speed control axis number

Invalid Parameter input by program: Broad classification number

Invalid Tool compensation data input by program/workpiece offset input: Com- pensation No.

Invalid Tool shape input by program: Data numbers

Invalid Multi-step skip function 2 signal command

Invalid Subprogram return destination sequence No.

Invalid 2nd, 3rd, 4th reference position return number

Valid Scaling factor

Invalid High-speed mode type

Invalid High-accuracy control mode: Start/End

Invalid Extended workpiece coordinate system No, external workpiece coordi- nate system offset compensation No.

Invalid Tool life data: Group No.

Invalid Machining purpose

Invalid Sub part system I: Start sequence No.

Invalid R-Navi data input by program: Machining surface registration

Invalid R-Navi data input by program: Coordinate axis direction axis designation

Valid Spindle speed fluctuation detection: Start delay time

Invalid Interactive cycle insertion: Cycle information identification number

Invalid Tool center point control: G00 temporary cancel designation

Invalid Tool spindle synchronization IB: Rotation ratio designation (Workpiece axis)

Invalid Tool spindle synchronization IC: Rotation ratio designation (Spindle)

Valid Tool spindle synchronization II: Gear torsion angle designation

Address Decimal point command

Usage Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

42IB-1501277-Q

Q Valid Cut amount of deep hole drill cycle

Valid Shift amount of back boring

Valid Shift amount of fine boring

Invalid Minimum spindle clamp speed

Valid Thread cutting start shift angle

Invalid Tool life data management method

Invalid Machining condition

Invalid Sub part system I: End sequence No.

Invalid Droop skip value

Invalid R-Navi data input by program: Workpiece registration No.

Valid Spindle up-to-speed detection width

Valid Thread milling cycle: Dwell time

Invalid Inclined surface machining: Rotation order

Invalid Machining interruption: Sequence No. [C80] ,Q

Invalid Tool spindle synchronization IB/IC: Rotation ratio designation (Rotary tool axis)

Valid Tool spindle synchronization II: Module or diametral pitch designation

R Valid R-point in the fixed cycle

Valid R-specified arc radius

Valid Corner R arc radius ,R

Valid Offset amount (G10)

Invalid Synchronous tap/asynchronous tap changeover ,R

Valid Synchronous tap: Designation of R point position (absolute or incremen- tal position)

Valid Phase shift amount of synchronized spindle

Valid Tool spindle synchronization II: Phase shift amount (Workpiece axis)

Valid Automatic tool length measurement: Deceleration distance "r"

Valid Rotation angle

Invalid Skip acceleration/deceleration time constant

Valid Spline interpolation 2: Tolerance (Rotary axis) ,R

Valid Tool compensation data input by program/workpiece offset input: Com- pensation amount

Invalid R-Navi data input by program: Marked point No.

Valid Involute interpolation: Radius of base circle

Invalid Allowable fluctuation rate of spindle speed

S Invalid Spindle function codes

Invalid Maximum spindle clamp speed

Invalid Constant surface speed control or constant surface speed cancel: Sur- face speed

Invalid Parameter input by program: word type data 2 bytes

Valid Synchronous tap: Designation of spindle rotation speed at the return

Invalid Spindle designation

T Invalid Tool function codes

U Valid Coordinate position data

V Valid Coordinate position data

W Valid Coordinate position data

Address Decimal point command

Usage Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

43 IB-1501277-Q

(1) Decimal points are all valid in user macro arguments.

(1) Program example of decimal point valid address

(1) If an arithmetic operator is inserted, the data will be handled as data with a decimal point.

(Example 1) G00 X123+0 ;

This is the X axis 123mm command. It will not be 123 m.

X Valid Coordinate position data

Valid Dwell time

Valid R-Navi data input by program: Workpiece size

Valid R-Navi data input by program/Inclined surface machining: Feature coor- dinate zero point

Y Valid Coordinate position data

Valid R-Navi data input by program: Workpiece size

Valid R-Navi data input by program/Inclined surface machining: Feature coor- dinate zero point

Z Valid Coordinate position data

Valid R-Navi data input by program: Workpiece size

Valid R-Navi data input by program/Inclined surface machining: Feature coor- dinate zero point

Program example

Program example Decimal point command 1 Decimal point command 2

When 1 = 1 m When 1 = 10 m 1 = 1 mm

G00 X123.45 (decimal points are all mm points)

X123.450 mm X123.450 mm X123.450 mm

G00 X12345 X12.345 mm (last digit is 1 m unit)

X123.450 mm X12345.000 mm

#111=123 #112=5.55 X#111 Y#112

X123.000 mm Y5.550 mm

X123.000 mm Y5.550 mm

X123.000 mm Y5.550 mm

#113=#111+#112 (addition)

#113=128.550 #113=128.550 #113=128.550

#114=#111-#112 (subtraction)

#114=117.450 #114=117.450 #114=117.450

#115=#111*#112 (multiplication)

#115=682.650 #115=682.650 #115=682.650

#116=#111/#112 #117=#112/#111 (division)

#116=22.162 #117=0.045

#116=22.162 #117=0.045

#116=22.162 #117=0.045

Precautions

Address Decimal point command

Usage Remarks

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

5 Position Commands

44IB-1501277-Q

6

45 IB-1501277-Q

Interpolation Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

46IB-1501277-Q

6Interpolation Functions 6.1 Positioning (Rapid Traverse); G00

This command is accompanied by coordinate words and performs high-speed positioning of a tool, from the present

point (start point) to the end point specified by the coordinate words.

The command addresses are valid for all additional axes.

(1) The rapid traverse speed varies depending on the MTB specifications (parameter "#2001 rapid"). When the "G00 feedrate designation (,F command)" function is enabled and an ",F" command is included in the same block as for the G00 command, positioning is carried out at the feedrate specified by the ",F" command. If this function is invalid or an ",F" command is not designated, positioning is carried out at the feedrate specified in parameter "#2001 rapid".

(2) G00 command belongs to the 01 group and is modal. When G00 command is successively issued, the following blocks can be specified only by the coordinate words.

(3) In the G00 mode, acceleration and deceleration are always carried out at the start point and end point of the block. Before advancing to the next block, a commanded deceleration or an in-position check is conducted at the end point to confirm that the movement is completed for all the moving axes in each part system.

(4) G functions (G72 to G89) in the 09 group are canceled (G80) by the G00 command.

Function and purpose

Command format

Positioning (Rapid Traverse)

G00 X__ Y__ Z____ ,I__ ,F__;

X, Y, Z, Coordinate values. ( is the additional axis.) An absolute position or incremental position is indicated based on the state of G90/ G91 at that time.

,I In-position width. (1 to 999999 ) This address is valid only in the commanded block. A block that does not contain this address will follow the parameter "#1193 inpos" settings. For details, refer to "7.13 Deceleration Check".

,F Specifies the rapid traverse rate of the movement initiated by a G00 command, the movement in the G00 mode, and the movement during the fixed cycle for drilling. The range is equal to the range of the feed per minute F command (mm/min, inch/ min) in the G01 mode. Switching inch/mm is invalid for rotary axes. For details, refer to "7.1.2 G00 Feedrate Command (,F Command)".

Detailed description

CAUTION

The commands with "no value after G" will be handled as "G00".

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

47 IB-1501277-Q

Whether the tool moves along a linear or non-linear path varies depending on the MTB specifications (parameter

"#1086 G0Intp").

The positioning time does not change according to the path.

(1) Linear path (When parameter "#1086 G0Intp" is set to "0") In the positioning process, a tool follows the shortest path that connects the start point and the end point. The positioning speed is automatically calculated so that the shortest distribution time is obtained in order that the commanded speeds for each axis do not exceed the rapid traverse rate. When, for instance, the X axis and Y axis rapid traverse rates are both 9600 mm/min and when programmed as follows, the tool will follow the path shown in the figure below. G91 G00 X-300000 Y200000; (With an input setting unit of 0.001 mm)

(2) Non-linear path (When parameter "#1086 G0Intp" is set to "1") In positioning, the tool will move along the path from the start point to the end point at the rapid traverse rate of each axis. When, for instance, the X axis and Y axis rapid traverse rates are both 9600 mm/min and when programmed as follows, the tool will follow the path shown in the figure below. G91 G00 X-300000 Y200000; (With an input setting unit of 0.001 mm)

Tool path

(S) Start point (E) End point (fx) Actual X axis rate (fy) Actual Y axis rate

(S) Start point (E) End point (fx) Actual X axis rate (fy) Actual Y axis rate

300

(mm)

(E)

(S)

fy=6400mm/min

Y

X

20 0

fx=9600mm/min

300

(mm)

(E)

(S)

fy=9600mm/min

Y

X

20 0

fx=9600mm/min

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

48IB-1501277-Q

There are three methods of carrying out a deceleration check: the command deceleration check method, the

smoothing check method, and the in-position check method. The method used for rapid traverse or cutting feed var-

ies depends on the MTB specification (combination of parameters "#1306 InpsTyp", "#1389 G1SmthChk", "#1223

aux07/bit1", and "#1193 inpos").

A block with an in-position width command performs an in-position check with a temporarily changed in-position

width. (Programmable in-position width command)

A block without an in-position width command is processed using the deceleration check method based on the MTB

specifications (parameter "#1193 inpos").

During cutting feed and when the error detection is ON, the in-position check is forcibly carried out.

Refer to "7.13 Deceleration Check" for the deceleration check method.

Program example

(S) Start point (E) End point

G91 G00 X-270. Y300. Z150. ;

Precautions for deceleration check

Rapid traverse (G00)

#1193 inpos

0 1

,I com- mand

No Commanded deceleration method (Command- ed deceleration check that varies according to the type of acceleration/deceleration, set in "#2003 smgst" bit3-0)

In-position check method (In-position check by "#2077 G0inps", "#2224 SV024")

Yes In-position check method (In-position check by ",I", "#2077 G0inps", "#2224 SV024")

Cutting feedrate (G01)

#1193 inpos

0 1

,I com- mand

No Commanded deceleration method (Command- ed deceleration check that varies according to the type of acceleration/deceleration, set in "#2003 smgst" bit7-4)

In-position check method (In-position check by "#2078 G1inps", "#2224 SV024")

Yes In-position check method (In-position check by ",I", "#2078 G1inps", "#2224 SV024")

(-120,+200,+300) (E)

(S) (+150,-100,+150)

Y

Z

X

+150

+300

-100

+150

-120

+200

mm

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

49 IB-1501277-Q

6.2 Linear Interpolation; G01

This command is accompanied by coordinate words and a feedrate command. It makes the tool move (interpolate)

linearly from its current position to the end point specified by the coordinate words at the speed specified by address

F. In this case, the feedrate specified by address F always acts as a linear speed in the tool nose center advance

direction.

(1) G01 command is a modal command in the 01 group. When G01 command is successively issued, the following blocks can be specified only by the coordinate words. If there is no command, a program error (P62) will occur.

(2) The feedrate for a rotary axis is commanded by /min (decimal point position unit). (F300=300/min)

(3) The G functions (G72 to G89) in the 09 group are cancelled (G80) by the G01 command.

This command commands the in-position width for the linear interpolation command from the machining program.

The commanded in-position width is valid in the linear interpolation command only when carrying out deceleration

check.

When the error detection switch is ON. When G09 (exact stop check) is commanded in the same block. When G61 (exact stop check mode) is selected.

(1) Refer to section "6.1 Positioning (Rapid Traverse); G00" for details on the in-position check operation.

Function and purpose

Command format

Linear interpolation

G01 X__ Y__ Z__ __ F__ ,I__ ;

X,Y,Z, Coordinate values. ( is the additional axis.) An absolute position or incremental position is indicated based on the state of G90/ G91 at that time.

F Feedrate (mm/min or /min)

,I In-position width. (1 to 999999) This address is valid only in the commanded block. A block that does not contain this address will follow the parameter "#1193 inpos" settings.

Detailed description

Programmable in-position width command for linear interpolation

G01 X_ Y_ Z_ F_ ,I_ ;

X,Y,Z Linear interpolation coordinate value of each axis

F Feedrate

,I In-position width

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

50IB-1501277-Q

(Example) Cutting in the sequence of P1 -> P2 -> P3 -> P4 -> P1 at 300mm/min feedrate.

However, P0 -> P1 is for tool positioning.

Program example

G91 G00 X20. Y20. ; P0 -> P1

G01 X20. Y30. F300 ; P1 -> P2

X30. ; P2 -> P3

X-20. Y-30. ; P3 -> P4

X-30. ; P4 -> P1

P4 P1

P0

P3P2

20

30

20 20 30

Y

X

(mm)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

51 IB-1501277-Q

6.3 Circular Interpolation; G02, G03

These commands serve to move the tool along a circular.

Function and purpose

Command format

Circular interpolation : Clockwise (CW)

G02 X__ Y__ I__ J__ F__ ;

Circular interpolation : Counterclockwise (CCW)

G03 X__ Y__ I__ J__ F__ ;

X,Y Arc end point coordinates

I,J Arc center coordinates

F Feedrate

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

52IB-1501277-Q

(1) For the arc command, the arc end point coordinates are assigned with addresses X, Y (or Z, or parallel axis X, Y, Z), and the arc center coordinate value is assigned with addresses I, J (or K). Either an absolute position or incremental position can be used for the arc end point coordinate value command, but the arc center coordinate value must always be commanded with an incremental position from the start point. The arc center coordinate must be commanded in the input setting unit. Caution is required for the arc command of an axis for which the program command unit differs. Command with a decimal point to avoid confusion.

(2) G02 (G03) is a modal command of the 01 group. When G02 (G03) command is issued continuously, the next block and after can be commanded with only coordinate words. The circular rotation direction is distinguished by G02 and G03.

G02 CW (Clockwise) G03 CCW (Counterclockwise)

(3) Select the XY plane, ZX plane or YZ plane to draw an arc on it, using the plane selection G code.

(4) An arc which extends for more than one quadrant can be executed with a single block command.

(5) The following information is needed for circular interpolation.

(6) If an R specification and I, K specification are given at the same time in the same block, the circular command with the R specification takes precedence.

Detailed description

G17(X-Y) plane G18(Z-X) plane G19(Y-Z) plane

(a) Plane selection Is there an arc parallel to one of the XY, ZX or YZ planes?

(b) Rotation direction Clockwise (G02) or counterclockwise (G03)

(c) Arc end point coordi- nates

Set by addresses X, Y, Z.

(d) Arc center coordinates Set by addresses I, J, K. (incremental commands)

(e) Feedrate Set by address F

X

Z

Y G03

G03

G03

G02 G02

G02

Y

X

G02

G03

G02

G03

X

Z

G02

G03

Y

Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

53 IB-1501277-Q

Program error (P33) will occur in general use when the center and radius are not designated at circular command.

Depending on the MTB specifications, the linear interpolation can be carried out up to the end point coordinates only

in a block with no center coordinates or radius specified (parameter "#11029 Arc to G1 no Cent"). However, a modal

is the circular modal.

This function is not applied to a circular command by a geometric function.

(Example) #11029 = "1"

Change into linear interpolation command

G90 X0 Y0 ; N1 G02 X20. I10. F500 ; ... (a) N2 G00 X0 ; N3 G02 X20. F500 ; ... (b) M02 ;

(a) The circular interpolation (G02) is executed because there is a center command.

(b) The linear interpolation (G01) is executed because there is no center and radius command.

Y

X

N1

N3

200

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

54IB-1501277-Q

(Example 1)

(Example 2)

Program example

(S) Start point (E) End point (J) Circle center

G02 J50. F500; Circle command

(S) Start point (E) End point (J) Arc center

G91 G02 X50. Y50. J50. F500; 3/4 command

F = 500mm/min

+Y

+X

J = 50mm

Y

X

(S) / (E)

(J)

F = 500mm/min

+Y

+X

J = 50mm X50Y50mm

(J)

Y

X

(E)

(S)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

55 IB-1501277-Q

(1) The terms "clockwise" (G02) and "counterclockwise" (G03) used for circular operations are defined as a case where, in a right-hand coordinate system, the negative direction is viewed from the positive direction of the co- ordinate axis which is at right angles to the plane in question.

(2) If all the end point coordinates are omitted or the end point is at the same position as the start point, commanding the center using I, J and K is the same as commanding a 360arc (perfect circle).

(3) The following occurs when the start and end point radius do not match in a circular command :

(a) Program error (P70) results at the circular start point when error R is greater than parameter "#1084 Rad- Err".

(b) Spiral interpolation in the direction of the commanded end point will be conducted when error R is less than the parameter value.

Also, if "#1084 RadErr" is set to "0", "0.1" is assumed to set.

Precautions

#1084 RadErr parameter value 0.100 Start point radius=5.000 End point radius=4.899 Error R =0.101

(S) Start point

(CP) Center point

(E) End point

(SR) Start point radius

(ER) End point radius

(AL) Alarm stop

#1084 RadErr parameter value 0.100 Start point radius=5.000 End point radius=4.900 Error R =0.100

(S) Start point

(CP) Center point

(E) End point

(SR) Start point radius

(ER) End point radius

(SI) Spiral interpolation

(G91) G02 X9.899 I5. ;

R (S)

(AL)

(SR) (ER)

(CP) (E)

(G91) G02 X9.9 I5. ;

R

(SI)

(E)(CP) (S)

(SR) (ER)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

56IB-1501277-Q

(c) If the start point radius differs from the end point radius but if the start point angle does not differ from the end point angle, the linear interpolation or spiral interpolation is selected depending on the MTB specifications (pa- rameter "#1278 ext14/bit7").

#1278 ext14/bit7 = 0 Linear interpolation

#1278 ext14/bit7 = 1 Spiral interpolation

G90 G00 X10. Y0.; G02 X10.01 Y0. I-10.01;

G90 G00 X10. Y0.; G02 X10.01 Y0. I-10.01;

(CP) Center point (S) Start point (E) End point

(SR) Start point radius (ER) End point radius (LI) Linear interpolation (SI) Spiral interpolation

(CP) (E)(S)

(SR)

(ER)

(LI)

R

X

Y

(CP) (E)(S)

(SR)

(ER)

R

(SI)

X

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

57 IB-1501277-Q

6.4 R Specification Circular Interpolation; G02, G03

Along with the conventional circular interpolation commands based on the circular center coordinate (I, J, K) desig-

nation, these commands can also be issued by directly designating the circular radius R.

The arc radius must be commanded in the input setting unit. Caution is required for the arc command of an axis for

which the program command unit differs. Command with a decimal point to avoid confusion.

A maximum of 6 digits before decimal point can be specified for the radius.

The circular center is on the bisector line which is perpendicular to the line connecting the start and end points of

the circular. The point, where the circular with the specified radius whose start point is the center intersects the per-

pendicular bisector line, serves as the center coordinates of the circular command.

If the R sign of the commanded program is plus, the circular is smaller than a semicircular; if it is minus, the circular

is larger than a semicircular.

Function and purpose

Command format

R specification circular interpolation Clockwise (CW)

G02 X__ Y__ R__ F__ ;

R specification circular interpolation Counterclockwise (CCW)

G03 X__ Y__ R__ F__ ;

X X axis end point coordinate

Y Y axis end point coordinate

R Circular radius

F Feedrate

Detailed description

(S) Start point (E) End point (C1): Arc center if R<0 (C2): Arc center if R>0

R < 0

R > 0

(E)

(S)

L

r

(C1)

(C2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

58IB-1501277-Q

The following condition must be met with an R-specified arc interpolation command:

Where L is the line from the start point to the end point. If an R specification and I, J, (K) specification are given at

the same time in the same block, the circular command with the R specification takes precedence. In the case of a

full-circle command (where the start and end points coincide), an R specification circular command will be completed

immediately even if it is issued and no operation will be executed. An I, J, (K) specification circular command should

therefore be used in such a case.

The plane selection command is the same as the I, J, or K specification circular command.

When "the error margin between the segment connecting the start and end points" and "the commanded radius

2" is less than the setting value because the required semicircle is not obtained by calculation error in R specification

circular interpolation, "the midpoint of the segment connecting the start and end points" is compensated for as the

circular center.

The setting value depends on the MTB specifications (parameter "#11028 Tolerance Arc Cent" (Tolerable correction

value of arc center error)).

(Example) #11028 = "0.000 (mm)"

Calculation error margin compensation allowance value: 0.002 mm

Segment connecting the start and end points: 10.000

N3: Radius 2 = 10.002 "Error 0.002 -> Compensate"

N5: Radius 2 = 10.004 "Error 0.004 -> Do not compensate"

When (L/2 - r) > (parameter : #1084 RadErr), an alarm will occur.

Circular center coordinate compensation

Setting value Tolerance value

Setting value < 0 0 (Center error will not be interpolated)

Setting value = 0 2minimum setting increment

Setting value > 0 Setting value

G90 X0 Y0 ; N1 G02 X10. R5.000; N2 G00 X0; N3 G02 X10. R5.001; ...(a) N4 G00 X0; N5 G02 X10. R5.002; ...(b) N6 G00 X0; M02 ;

(a) Compensate the center coordinate: Same as N1 path

(b) Do not compensate the center coordinate: Inside path a little than N1

L 12 r

N1, N3

N5

100 X

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

59 IB-1501277-Q

(Example 1)

(Example 2)

(Example 3)

(Example 4)

(1) In the case of a full-circle command (where the start and end points coincide), an R specification circular com- mand will be completed immediately even if it is issued and no operation will be executed. An I, J, K specification circular command should therefore be used in such a case.

(2) If an R specification and I, K specification are given at the same time in the same block, the circular command with the R specification takes precedence.

Program example

G02 Xx1 Yy1 Rr1 Ff1 ; XY plane R-specified arc

G03 Zz1 Xx1 Rr1 Ff1 ; R specification circular on Z-X plane

G02 Xx1 Yy1 Ii1 Jj1 Rr1 Ff1 ; XY plane R-specified arc (When the R specification and I, J, (K) specification are contained in the same block, the circular command with the R specification takes precedence.)

G17 G02 Ii1 Jj1 Rr1 Ff1 ; XY plane This is an R-specified arc, but as this is a circle command, it will be completed immediately.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

60IB-1501277-Q

6.5 Plane Selection; G17, G18, G19

The plane to which the movement of the tool during the circle interpolation (including helical cutting) and tool radius

compensation command belongs is selected.

If the 3 basic axes and the parallel axes corresponding to these basic axes are entered as parameters, the com-

mands can select the plane composed of any 2 axes which are not parallel axes. If a rotary axis is entered as a

parallel axis, the commands can select the plane containing the rotary axis.

These commands are used to select following planes:

Plane that executes circular interpolation (including helical cutting) Plane that executes tool radius compensation Used to select a plane that executes fixed cycle positioning.

X, Y and Z indicate each coordinate axis or the parallel axis.

Table 1 Examples of plane selection parameter entry

As shown in the above example, the basic axis and its parallel axis can be registered.

The basic axis can be an axis other than X, Y and Z.

Axes that are not registered are irrelevant to the plane selection.

Function and purpose

Command format

G17 ; X-Y plane selection

G18 ; Z-X plane selection

G19 ; Y-Z plane selection

Detailed description

Parameter entry

#1026-1028 #1029-1031

Basic axis I, J, K Flat axis I, J, K

I X U

J Y

K Z V

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

61 IB-1501277-Q

In Table 1, characters I, J, K represent the following axes.

I: Horizontal axis for the G17 plane or the vertical axis for the G18 plane

J: Vertical axis for the G17 plane or horizontal axis for the G19 plane

K: Horizontal axis for the G18 plane or vertical axis for the G19 plane

Therefore, the G17, G18 and G19 commands select the following planes.

G17: I-J plane

G18: K-I plane

G19: J-K plane

(1) Axis addresses assigned in the same block as the plane selection (G17, G18, G19) command determine which of the basic axes or parallel axes are to be in the actual plane selected. For the parameter entry example in Table 1

(2) Plane selection is not performed with blocks in which the plane selection G code (G17, G18, G19) is not as- signed.

(3) If the axis address is omitted in the block where the plane selection G code (G17, G18, G19) is commanded, it is assumed that the axis addresses of the 3 basic axes have been omitted. For the parameter entry example in Table 1

(4) When the axis addresses are commanded to the same block as the plane selection G code (G17, G18, G19), the commanded axes will travel.

(5) The axis command that does not exist in the plane determined by the plane selection G code (G17, G18, G19) is irrelevant to the plane selection. For the parameter entry example in Table 1, if the command is issued as below, the U-Y plane will be selected and "Z" will move regardless of the plane.

(6) When the basic axes or their parallel axes are duplicated and assigned in the same block as the plane selection G code (G17, G18, G19), the plane is determined in the order of basic axes, and then parallel axes. For the parameter entry example in Table 1, if the command is issued as below, the U-Y plane will be selected and "W" will move regardless of the plane.

When the power is turned ON or when the system is reset, the plane set by the parameter "#1025 Initial plane selection" is selected.

Plane selection system

G17 X__ Y__ ; X-Y plane

G18 X__ V__ ; V-X plane

G18 U__ V__ ; V-U plane

G19 Y__ Z__ ; Y-Z plane

G19 Y__ V__ ; Y-V plane

G17 X__ Y__ ; X-Y plane

Y__ Z__ ; X-Y plane (No plane change)

G17 ; X-Y plane

G17 U__ ; U-Y plane

G18 U__ ; Z-U plane

G18 V__ ; V-X plane

G19 Y__ ; Y-Z plane

G19 V__ ; Y-V plane

G17 U__Z__ ;

G17 U__Y__W__ ;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

62IB-1501277-Q

6.6 Thread Cutting

6.6.1 Constant Lead Thread Cutting; G33

The G33 command exercises feed control over the tool which is synchronized with the spindle rotation and so this

makes it possible to conduct constant-lead straight thread-cutting, and tapered thread-cutting. Multiple thread

screws, etc., can also be machined by designating the thread cutting angle.

(1) The E command is also used for the number of ridges in inch thread cutting, and whether the number of ridges or precision lead is to be designated can be selected by parameter setting. (Parameter "#8156 Fine thread cut E" is set to "1" for precision lead designation.)

(2) The lead in the long axis direction is commanded for the taper thread lead.

Function and purpose

Command format

Normal lead thread cutting

G33 Z__(X__ Y__ __) F__ Q__ ;

Z (X Y ) End point of thread cutting

F Lead of long axis (axis which moves most) direction

Q Thread cutting start shift angle (0.001 - 360.000)

Precision lead thread cutting

G33 Z__(X__ Y__ __) E__ Q__ ;

Z (X Y ) End point of thread cutting

E Lead of long axis (axis which moves most) direction

Q Thread cutting start shift angle (0.001 - 360.000)

Detailed description

(t) Tapered thread section

When a < 45, lead is in LZ direction.

When a > 45, lead is in LX direction.

When a = 45, lead can be in either LZ or LX direc- tion.

LZ

Z

XLX

a

(t)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

63 IB-1501277-Q

Thread cutting metric input

Thread cutting inch input

It is not possible to assign a lead where the feedrate as converted into feed per minute exceeds the max- imum cutting feedrate.

(3) The constant surface speed control function should not be used for taper thread cutting commands or scrolled thread cutting commands.

(4) The spindle rotation speed should be kept constant throughout from the rough cutting until the finishing.

(5) If the feed hold function is employed during thread cutting to stop the feed, the thread ridges will lose their shape. For this reason, feed hold does not function during thread cutting. Note that this is valid from the time the thread cutting command is executed to the time the axis moves. If the feed hold switch is pressed during thread cutting, block stop will occur at the end point of the block following the block in which thread cutting is completed (no longer G33 mode).

Input Setting unit

B (0.001 mm) C (0.0001 mm)

Command address

F (mm/rev) E (mm/rev) E (ridges/inch) F (mm/rev) E (mm/rev) E (ridges/inch)

Minimum command unit

1 (=0.001) (1.=1.000)

1 (=0.0001) (1.=1.0000)

1 (=1.00) (1.=1.00)

1 (=0.0001) (1.=1.0000)

1 (=0.00001) (1.=1.00000)

1 (=1.000) (1.=1.000)

Range 0.001 - 999.999

0.0001 - 999.9999

0.03 - 999.99

0.0001 - 999.9999

0.00001 - 999.99999

0.026 - 222807.017

Input Setting unit

D (0.00001 mm) E (0.000001 mm)

Command address

F (mm/rev) E (mm/rev) E (ridges/inch) F (mm/rev) E (mm/rev) E (ridges/inch)

Minimum command unit

1 (=0.00001) (1.=1.00000)

1 (=0.000001) (1.=1.000000)

1 (=1.0000) (1.=1.0000)

1 (=0.000001) (1.=1.000000)

1 (=0.0000001) (1.=1.0000000)

1 (=1.00000) (1.=1.00000)

Range 0.00001 - 999.99999

0.000001 - 999.999999

0.0255 - 224580.0000

0.000001 - 999.999999

0.0000001 - 999.9999999

0.02541 - 224719.00000

Input Setting unit

B (0.0001 inch) C (0.00001 inch)

Command address

F (inch/rev) E (inch/rev) E (ridges/inch) F (inch/rev) E (inch/rev) E (ridges/inch)

Minimum command unit

1 (=0.0001) (1.=1.0000)

1 (=0.00001) (1.=1.00000)

1 (=1.000) (1.=1.000)

1 (=0.00001) (1.=1.00000)

1 (=0.000001) (1.=1.000000)

1 (=1.0000) (1.=1.0000)

Range 0.0001 - 39.3700

0.00001 - 39.37007

0.025 - 9999.999

0.00001 - 39.37007

0.000001 - 39.370078

0.0255 - 9999.9999

Input Setting unit

D (0.000001 inch) E (0.0000001 inch)

Command address

F (inch/rev) E (inch/rev) E (ridges/inch) F (inch/rev) E (inch/rev) E (ridges/inch)

Minimum command unit

1 (=0.000001) (1.=1.000000)

1 (=0.0000001) (1.=1.0000000)

1 (=1.00000) (1.=1.00000)

1 (=0.0000001) (1.=1.0000000)

1 (=0.00000001) (1.=1.00000000)

1 (=1.000000) (1.=1.000000)

Range 0.000001 - 39.370078

0.0000001 - 39.3700787

0.02541 - 9999.99999

0.0000001 - 39.3700787

0.00000001 - 39.37007873

0.025401 - 9999.999999

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

64IB-1501277-Q

(6) The converted cutting feedrate is compared with the cutting feed clamp rate when thread cutting starts, and if it is found to exceed the clamp rate, an operation error will occur.

(7) In order to protect the lead during thread cutting, a cutting feedrate which has been converted may sometimes exceed the cutting feed clamp rate.

(8) An illegal lead is normally produced at the start of the thread and at the end of the cutting because of servo sys- tem delay and other such factors. Therefore, it is necessary to command a thread length which is determined by adding the illegal lead lengths (1 and 2) to the required thread length.

(9) The spindle rotation speed is subject to the following restriction:

1 <= R <= Maximum feedrate/Thread lead Where R <= Tolerable speed of encoder (r/min) R: Spindle rotation speed (r/min) Thread lead = mm or inches Maximum feedrate= mm/min or inch/mim (this is subject to the restrictions imposed by the machine specifica- tions.)

(10) A program error (P93) may occur when the result of the expression (9) is R<1 because the thread lead is very large to the highest cutting feedrate.

(11) Whether dry run is valid or invalid for thread cutting depends on the MTB settings. (When the parameter "#1279 ext15/bit4" is "1", the dry run is invalid. However, when the "Spindle OFF mode" signal (YCD3) is ON, the dry run is valid regardless of the parameter setting, and depends on the "Dry run" signal (YC15).) When the dry run is valid, the feedrate based on the dry run is not synchronized with the spindle rotation. The "Dry run" signal is checked at the start of thread cutting and any switching during thread cutting is ignored.

(12) Synchronous feed applies for the thread cutting commands even with an asynchronous feed command (G94).

(13) Spindle override and cutting feed override are invalid and the speeds are fixed to 100% during thread cutting. However, when the thread cutting override is valid, only the spindle override can be changed.

(14) When a thread cutting is commanded during tool radius compensation, the compensation is temporarily can- celed and the thread cutting is executed.

(15) When the mode is switched to another automatic mode while G33 is executed, the following block which does not contain a thread cutting command is first executed and then the automatic operation stops.

(16) When the mode is switched to the manual mode while G33 is executed, the following block which does not con- tain a thread cutting command is first executed and then the automatic operation stops. In the case of a single block, the following block which does not contain a thread cutting command (G33 mode is canceled) is first ex- ecuted and then the automatic operation stops. Note that automatic operation is stopped until the G33 command axis starts moving.

(17) In the thread cutting command, the part systems wait for the single rotation synchronization signal of the rotary encoder before starting movement. When the thread cutting is commanded for one spindle from multiple part systems, each part system waits for the encoder single rotation synchronization signal before starting thread cutting; therefore, the timing synchroni- zation operation between part systems is not required.

(18) The thread cutting start shift angle is not modal. If there is no Q command with G33, this will be handled as "Q0".

(19) The automatic handle interrupt/interruption is valid during thread cutting.

(20) If a value exceeding 360.000 is command in G33 Q, a program error (P35) will occur.

(21) G33 cuts one row with one cycle. To cut two rows, change the Q value, and issue the same command.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

65 IB-1501277-Q

(1) For multiple spindle control II, do not change the encoder selection signal during the thread cutting. If it is changed, the thread ridges will lose their shape because the tool cannot be fed at the correct feedrate.

(2) When the thread cutting is commanded while the following parameters are set, the thread cutting start timing change is valid. (This depends on the MTB specifications.)

"#13227 SP227 bitF-C" is "4". (The proximity switch signal detection is valid.) "#3025 enc-on" is "2". (The spindle encoder is serially connected.) "#3127 SPECSP/bit4" is "1". (The thread cutting start timing change is "Start thread cutting after receiving an

external signal".)

(3) During the following functions, the thread cutting start timing change is invalid. During the following functions, the thread cutting command starts thread cutting after waiting for the Z phase signal from the encoder.

Multi-part system simultaneous thread cutting cycle I (G76.1) Two-part system simultaneous thread cutting cycle II (G76.2) Spindle synchronization control I (G114.1) Spindle synchronization control II Guide bushing spindle synchronization Spindle superimposition control (G164)

(4) When the thread cutting start timing change is valid, do not use the thread recutting function. Even if the thread recutting function is used while the thread cutting start timing change is valid, the lead cannot be guaranteed.

Precautions

Program example

N110 G90 G00 X-200. Y-200. S50 M3 ; The spindle center is positioned to the workpiece center, and the spin- dle rotates in the forward direction.N111 Z110 ;

N112 G33; Z40 F6.0; The first thread cutting is executed. Thread lead = 6.0mm

N113 M19 ; Spindle orientation is executed with the M19 command.

N114 G00 X-210.; The tool is evaded in the X axis direction.

N115 Z110. M0 ; The tool rises to the top of the workpiece, and the program stops with M00. Adjust the tool if required.

N116 X-200. ; M3 ;

Preparation for second thread cutting is done.

N117 G04 X5.0 ; Command dwell to stabilize the spindle rotation if necessary.

N118 G33 Z40.; The second thread cutting is executed.

Z

X Y

X

10

50

10

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

66IB-1501277-Q

6.6.2 Inch Thread Cutting; G33

If the number of ridges per inch in the long axis direction is assigned in the G33 command, the feed of the tool syn-

chronized with the spindle rotation will be controlled, which means that constant-lead straight thread-cutting and ta-

pered thread-cutting can be performed.

(1) The number of ridges in the long axis direction is assigned as the number of ridges per inch.

(2) The E code is also used to assign the precision lead length, and whether the number of ridges or precision lead length is to be designated can be selected by parameter setting. (The number of ridges is designated by setting the parameter "#8156 Fine thread cut E" to "0".)

(3) The E command value should be set within the lead value range when converted to lead.

(4) See Section "Constant lead thread cutting" for other details.

Function and purpose

Command format

Inch thread cutting

G33 Z__ (X_ Y_ _) E__ Q__ ;

Z (X Y ) End point of thread cutting

E Number of ridges per inch in direction of long axis (axis which moves most) (decimal point command can also be assigned)

Q Thread cutting start shift angle, 0.001 to 360.000

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

67 IB-1501277-Q

Thread lead: 3 threads/inch (= about 8.4666)

When programmed with 1= 10 mm, 2=10 mm using metric input

Program example

N210 G90 G00 X-200. Y-200. S50 M3 ;

N211 Z110. ;

N212 G91 G33 Z-70. E3.0 ; (First thread cutting)

N213 M19;

N214 G90 G00 X-210. ;

N215 Z110. M0 ;

N216 X-200. ; M3 ;

N217 G04 X2.0 ;

N218 G91 G33 Z-70. ; (Second thread cutting)

Z

XY

X

1 50.0mm

2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

68IB-1501277-Q

6.7 Helical Interpolation; G02, G03

When this interpolation is performed with 3 orthogonal axes, the tool will travel helically when circular interpolation

is executed for any 2 axes and, at the same time, when another 1 axis is synchronized with the rotation of the circular

and linear interpolation is executed synchronously with the rotation of the circular arc.

This command must be issued as the combination of the circular interpolation command with the height axis.

Function and purpose

Program command path XY plane projection path

(S) Start point

(E) End point

Program command path

Circular interpolation components

Linear interpolation components

Z

Y(S)

(E)

X

Y

X

(E)

(S)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

69 IB-1501277-Q

(1) In this manual, the following setting descriptions are used. I axis: X; J axis: Y; K axis: Z

(2) The arc center coordinates and arc radius value must be commanded in the input setting unit. Caution is required for the helical interpolation command of an axis for which the program command unit differs. Command with a decimal point to avoid confusion.

(3) Either an absolute command or incremental command can be used for the arc end point coordinate value com- mand and the linear axis end point coordinate value command, but the arc center coordinates must always be designated with an incremental position from the start point.

(4) If a pitch command is issued with the ",P" address, a program error (P33) occurs.

(5) If the number of pitches is "0", address P can be omitted.

(6) If the radius (R) is designated, the number of pitches is ignored even when it is commanded.

(7) Two or more axes can be designated for the linear interpolation axis.

Command format

Helical interpolation command (Specify arc center)

G17 G02/G03 X_ Y_ Z_ I_ J_ P_ F_ ;

G18 G02/G03 Z_ X_ Y_ K_ I_ P_ F_ ;

G19 G02/G03 Y_ Z_ X_ J_ K_ P_ F_ ;

Helical interpolation command (Specify radius (R))

G17 G02/G03 X_ Y_ Z_ R_ F_ ;

G18 G02/G03 Z_ X_ Y_ R_ F_ ;

G19 G02/G03 Y_ Z_ X_ R_ F_ ;

G17, G18, G19 Arc plane G17: XY plane G18: ZX plane G19: YZ plane

G02/G03 Arc rotation direction G02: Clockwise G03: Counterclockwise

X, Y, Z Arc end point coordinates: (X, Y) is set in G17, (Z, X) in G18, and (Y, Z) in G19.

Linear axis end point coordinates: Z is set in G17, Y in G18, and X in G19.

I, J, K Arc center coordinates: (I, J) is set in G17, (K, I) in G18, and (J, K) in G19.

P Number of pitches

R Circular arc radius

F Feedrate

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

70IB-1501277-Q

Speed designation "F" during the helical interpolation has the following types. The available type depends on the

MTB specifications.

Command the feedrate F as the resultant speed for each axis.

If speed designation by the arc plane component is selected, the F command will be handled as modal data in the

same manner as the normal F command. This will also apply to the following G01, G02 and G03 commands.

For example, the program will be as follows.

When the speed designation by the arc plane component is selected, only the helical interpolation speed command

is converted to the speed commanded with the arc plane component and operates. The other linear and arc com-

mands operate as normal speed commands.

(1) The actual feedrate display (Fc) indicates the tangent component of the helical interpolation.

(2) The modal value speed display (FA) indicates the command speed.

(3) This function is valid only when feed per minute (asynchronous feed: G94) is selected. If feed per revolution (syn- chronous feed: G95) is selected, the arc plane component speed will not be designated.

Detailed description

Speed designation during the helical interpolation

Parameter #1235/bit0 Tangent speed (command value of address "F")

0 Speed designation for normal helical interpolation

Commands the tangent speed (equivalent to "fb" in the lower-right figure) in- cluding interpolation component of the 3rd axis.

1 Speed designation by the arc plane component

Commands the tangent speed (equivalent to "fa" in the lower-left figure) in the arc plane. At this time, the NC automatically calculates the helical interpolation tangent speed "fb" so that the tangent speed on the arc plane is "fa".

(S) Start point

(E) End point

fa: Tangent speed in arc plane

fb: Helical interpolation tangent speed

Speed designation by the arc plane component

G17 G91 G02 X10. Y10. Z-4. I10. F100 ; Helical interpolation is performed with such speed that arc plane component is F100.

G01 X20. ; Linear interpolation is performed at the speed of F100.

G02 X10. Y-10. Z4. J-10. ; Helical interpolation is performed with such speed that arc plane component is F100.

G01 Y-40. F120 ; Linear interpolation is performed at the speed of F120.

G02 X-10. Y-10. Z-4. I-10. ; Helical interpolation is performed with such speed that arc plane component is F120.

G01 X-20. ; Linear interpolation is performed at the speed of F120.

fa

Y

X (S)

(E)

Y

Z

X

fb

(S)

(E)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

71 IB-1501277-Q

(1) Pitch "L" is obtained with the following expression.

xs, ys: Distance from the arc center to the start point (each of X and Y axes)

xe, ye: Distance from the arc center to the end point (each of X and Y axes)

(2) If pitch No. is "0", address "P" can be omitted.

The pitch No. "P" command range is 0 to 9999. The pitch No. designation ("P" command) cannot be made with the R-specified arc.

The helical interpolation arc plane selection is determined with the plane selection mode and axis address in the

same manner as the circular interpolation. For the helical interpolation command, the plane where circular interpo-

lation is executed is required to be commanded with the plane selection G code (G17, G18, G19), and two circular

interpolation axes and three linear interpolation axes (axes which perpendicular to the arc plane) are required to be

commanded.

X-Y plane circular, Z axis linear

Command the X, Y and Z axis addresses in the G02 (G03) and G17 (plane selection G code) mode.

Z-X plane circular, Y axis linear

Command the Z, X and Y axis addresses in the G02 (G03) and G18 (plane selection G code) mode.

Y-Z plane circular, X axis linear

Command the Y, Z and X axis addresses in the G02 (G03) and G19 (plane selection G code) mode.

The plane for an additional axis can be selected as with circular interpolation.

Number of pitches

(S) Start point (E) End point

Plane selection

Z

Y

X

L

P

Z

Y

X

(E)

(S)

e

s2

1

L =

= e - s = tan - 1 - tan - 1 ( )0 < 2 ysye

xsxe

P + /2 Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

72IB-1501277-Q

(1) When executing helical interpolation, issue the circular interpolation command and another linear axis command (several axes can be commanded) that does not contain the arc axis.

(2) The number of axes that can be commanded simultaneously is less than or equal to the number of simultaneous contouring control axes.

(3) With helical interpolation, the axes that configure the plane are the circular interpolation axes, and the other axis is the linear interpolation axis.

(4) The movement of the linear interpolation axis is stopped and only the circular interpolation axes operate during the corner chamfering or corner rounding commands.

(5) Refer to description of "6.3 Circular Interpolation; G02, G03" for other precautions.

Precautions and restrictions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

73 IB-1501277-Q

6.8 Unidirectional Positioning

The unidirectional positioning function positions the tool at a high degree of precision without backlash error by lo-

cating the final tool position from a constant direction.

There are two types of positioning methods: G command method (G60 use method) and axis-based unidirectional

positioning method (in which the axis specified by the MTB is always targeted for unidirectional positioning).

For the specifications of the machine you are using, see the specifications or Instruction Manual issued by the MTB.

6.8.1 Unidirectional Positioning; G60

The G60 command can position the tool at a high degree of precision without backlash error by locating the final

tool position from a constant direction.

(1) The creep distance for the final positioning as well as the final positioning direction is set by parameter.

(2) After the tool has moved at the rapid traverse rate to the position separated from the final position by an amount

equivalent to the creep distance, it moves to the final position in accordance with the rapid traverse setting where

its positioning is completed.

(3) The above positioning operation is performed even when Z axis commands have been assigned for Z axis cancel

and machine lock. (Display only)

(4) When the mirror image function is ON, the tool will move in the opposite direction as far as the intermediate po-

sition due to the mirror image function but the operation within the creep distance during its final advance will not

be affected by a mirror image.

(5) The tool moves to the end point at the dry run speed during dry run when the G00 dry run function is valid.

Function and purpose

Command format

G60 X__ Y__ Z__ __; ... Unidirectional positioning

Additional axis

Detailed description

- +

G60a

G60 - a

End point Start point

Start point

Final advance direction

G60 creep distance

Positioning position

Stop once

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

74IB-1501277-Q

(6) Feed during creep distance movement with final positioning can be stopped by resetting, emergency stop, inter-

lock, feed hold and rapid traverse override zero.

The tool moves over the creep distance at the rapid traverse setting. Rapid traverse override is valid.

(7) Unidirectional positioning is not performed for the drilling axis during fixed cycle for drilling.

(8) Unidirectional positioning is not performed for shift amount movements during the fine boring or back boring fixed

cycle.

(9) Normal positioning is performed for axes whose creep distance has not been set by parameter.

(10) Unidirectional positioning is always a non-interpolation type of positioning.

(11) When the same position (movement amount of zero) has been commanded, the tool moves back and forth over

the creep distance and is positioned at its original position from the final advance direction.

(12) Program error (P61) will occur when the G60 command is assigned with an NC system which has not been

provided with this particular specification.

(13) The G60 command is assigned to group 00 (unmodal) in the previous versions; however, it can be operated as

the modal G code of group 01 depending on the MTB specifications (parameter "#1271 ext07/bit3").

This omits a step to command G60 for each block.

This G60 command is the same as the previous unmodal G60 command, except it handles the G60 command

as a modal.

(14) If the G code of group 01 is commanded in the same block when the G60 command is handled as a modal, the

G code commanded next becomes valid.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

75 IB-1501277-Q

6.8.2 Axis-based Unidirectional Positioning

This function carries out unidirectional positioning for each axis for G00 positioning.

The target axis is determined in the MTB specifications (parameter "#2084 G60_ax").

When the unidirectional positioning is commanded, set the last positioning direction and distance to parameter

"#8209 G60 shift amount" for each axis.

The example below shows a case in which axis B is set as the unidirectional positioning axis.

The axis-based unidirectional positioning is the same as for the G60 command. Refer to "6.8.1 Unidirectional Posi-

tioning; G60".

Function and purpose

G00 X100.; Normal positioning

G00 B100.; Unidirectional positioning

G00X200.B200.; Axis X: Normal positioning, Axis B: Unidirectional positioning

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

76IB-1501277-Q

6.9 Cylindrical Interpolation; G07.1

This function develops a shape on the side of a cylinder (shape in a cylindrical coordinate system) into a plane. When the developed shape is programmed as the plane coordinates, it will be converted into a linear axis movement and rotation axis (temporarily, "B axis") movement in the original cylindrical coordinates to conduct contour control when machining.

As programming can be carried out to the developed shape of the side of the cylinder, this is effective for machining cylindrical cams, etc. When programmed with the rotary axis and its orthogonal axis, grooves and other shapes can be machined on the side of the cylinder.

Function and purpose

Command format

Cylindrical interpolation mode start

G07.1 Rotary axis name, rotation radius value;

G107 Rotary axis name, rotation radius value;

Rotary axis name Axis name assigned to rotary axis

Rotation radius value Command a value other than "0". When a value other than "0" is commanded, the cylindrical interpolation mode starts.

Cylindrical interpolation mode cancel

G07.1 Rotary axis name 0;

G107 Rotary axis name 0;

r

B

Z

X

Y

0

360

2 r

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

77 IB-1501277-Q

(1) The cylindrical interpolation is carried out between the rotary axis designated in the G07.1 block and another linear axis. (The following example shows a case in which the rotary axis name is set to "C".)

(2) G107 can be used instead of G07.1.

(3) Command G07.1 alone in a block. If it is commanded in the same block with other G code, a program error (P33) will occur.

(4) The cylindrical interpolation mode is canceled when the power is turned ON or at resetting.

(5) Linear interpolation or circular interpolation can be commanded during the cylindrical interpolation mode. Note that the plane selection command must be issued just before or after the G07.1 block.

(6) The coordinate commands can be both an absolute command or incremental command.

(7) Tool radius compensation can be applied on the program command. Cylindrical interpolation will be executed to the path after it has gone through a tool radius compensation.

(8) Command the tangent speed on the developed cylinder by F. F is in mm/min or inch/min unit.

(9) A program error (P484) will occur if any axis commanded during cylindrical interpolation has not completed the reference position return.

(10) The deceleration check is made for the cylindrical interpolation start command block.

In the cylindrical interpolation mode, the movement amount of the rotary axis commanded with an angle is converted

into distance on a circle periphery, and after calculating the linear and circular interpolation between the other axes,

the amount is converted into an angle again.

Thus, the actual movement amount may differ from the commanded value such as when the cylinder radius is small.

Note that the gap generated by this will not be cumulated.

(1) To cancel the cylindrical interpolation mode, the following condition must be satisfied.

Tool radius compensation is canceled.

(2) When the cylindrical interpolation mode is canceled, the plane selected before the cylindrical interpolation will be restored.

(3) The deceleration check is made for the cylindrical interpolation cancel command block.

Detailed description

G19 ; Plane selection

G07.1 C20. ; Cylindrical interpolation mode start (Cylindrical interpolation will start.)

: (The coordinate commands in this interval will be the cylindrical coordinate system)

G07.1 C0 ; Cylindrical interpolation mode cancel (Cylindrical interpolation will be canceled.)

Cylindrical interpolation accuracy

Cylindrical interpolation mode cancel

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

78IB-1501277-Q

The axis used for cylindrical interpolation must be set with the plane selection command.

Use parameters (#1029, #1030 and #1031) to set which parallel axis corresponds to the rotary axis.

The circular interpolation and tool radius compensation, etc., can be designated on that plane.

The plane selection command is set immediately before or after the G07.1 command. If a movement command is

issued without this command, a program error (P485) will occur.

(Example)

Plane selection

G19 Z0. C0. ; Plane selection command for cylindrical interpolation, and 2-axis com- mand of Z axis and C axis for interpolation

G07.1 C100. ; Cylindrical interpolation start

:

G07.1 C0 ; Cylindrical interpolation cancel

Basic coordinate system X, Y, Z

Cylindrical coordinate system C, Y, Z (Rotary axis is X axis' par- allel axis) #1029

Cylindrical coordinate system X, C, Z (Rotary axis is Y axis' par- allel axis) #1030

Cylindrical coordinate system X, Y, C (Rotary axis is Z axis' par- allel axis) #1031

G17

Y

X

G18

Z

X

G19

Y

Z

G18

Z

C

G17

C

Y

G19

C

Z

G17

X

C

G18

C

X

G19

Y

C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

79 IB-1501277-Q

Program example

N01 G28 XZC ; N02 T0202 F500 ; N03 G97 S100 M23 ; N04 G00 X50. Z0. ; N05 G94 G01 X40. F100. ;

N06 G19 C0 Z0 ; Plane selection command for cylindrical interpolation and two axes command for interpolation

N07 G07.1 C20. ; Cylindrical interpolation start

N08 G41 ; N09 G01 Z-10. C80. F150 ; N10 Z-25. C90. ; N11 Z-80. C225. ; N12 G03 Z-75.C270. R55. ; N13 G01 Z-25. ; N14 G02 Z-20.C280. R80. ; N15 G01 C360. ; N16 G40 ;

N17 G07.1 C0 ; Cylindrical interpolation cancel

N18 G01 X50. ; N19 G00 X100. Z100. ; N20 M25 ; N21 M30 ;

#1029 aux_I

#1030 aux_J C

#1031 aux_K

50

100

150

200

250

300

350

-20-40-60-80

C

Z

N09N10

N11

N12 N13

N14

N15

(mm)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

80IB-1501277-Q

(1) Circular interpolation between the rotary axis and linear axis is possible during the cylindrical interpolation mode.

(2) Only the R specification command (mm/inch) is available for circular interpolation. (I, J and K cannot be desig- nated.)

(3) An arc is drawn on the developed surface of the cylinder in the circular interpolation, thus the calculation is per- formed with the C axis unit in millimeters (mm).

The tool radius can be compensated during the cylindrical interpolation mode.

(1) Command the plane selection in the same manner as circular interpolation. When using tool radius compensation, start up/cancel the compensation in the cylindrical interpolation mode.

(2) A program error (P485) will occur if G07.1 is commanded during tool radius compensation.

(3) If the G07.1 command is issued with no movement command after the tool radius compensation has been can- celed by commanding G40 alone, the position of the axis in the G07.1 command block is interpreted as the po- sition applied after the tool radius compensation has been canceled and the following operations are performed.

(1) The miscellaneous functions (M) and 2nd miscellaneous functions (B) can be issued in the cylindrical interpola- tion mode.

(2) The S command in the cylindrical interpolation mode specifies the rotary tool's rotation speed instead of the spin- dle rotation speed.

Relationship with other functions

Circular interpolation

N1 G18 Z-5.C0.; Perform positioning at Z-5 mm, C0 degrees. (The parameter "#1029 aux_I" is "C".)

N2 G07.1 C100.; Start cylindrical interpolation mode of radius 100 mm.

N3 G02 Z-15. R5.; Perform circular interpolation of radius 5 mm to Z-15 mm.

[mm]

N3 block (circular interpolation of radius 5 mm)

Tool radius compensation/tool nose radius compensation

Miscellaneous functions

-(2 100)

-5

-5 0 Z

Z

C -15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

81 IB-1501277-Q

(1) Program error (P481) will occur if tool length compensation is performed in the cylindrical interpolation mode.

(2) Complete the tool compensation operation (movement of tool length and wear compensation amount) before executing the cylindrical interpolation. If the tool compensation operation is not completed when the cylindrical interpolation start command is issued, the followings will occur:

The workpiece coordinate system shifts so that the relationship between the machine coordinate position and

workpiece coordinate position matches the "positional relationship after the tool compensation has been com-

pleted" without actually moving the axis.

The workpiece coordinate system shifted here is not reset even if the cylindrical interpolation is canceled. The

subsequent operations are performed, assuming that the tool compensation operation has been completed.

Tool length compensation

:

G43 H12 ; G00 X100. Z0. ; G19 Z C ; G07.1 C100. ;

Tool length compensation before cylindrical interpolation -> Valid

:

G43 H11 ; Tool length compensation in cylindrical interpolation mode -> Program error

:

G07.1 C0 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

82IB-1501277-Q

The operation varies depending on whether the synchronous feed is valid or invalid during cylindrical interpolation.

Whether the synchronous feed is valid or invalid depends on the MTB specifications (parameter "#1293 ext29"/bit0).

(1) When the synchronous feed is invalid (#1293 ext29/bit0 = 0):

Only the asynchronous feed is valid during the cylindrical interpolation mode.

If the synchronous feed command (G95) is issued during the cylindrical interpolation mode, a program error

(P481) will occur.

The operation to be performed when the cylindrical interpolation mode is started or canceled varies depending

on the feed mode that is specified before the cylindrical interpolation mode is started.

(2) When the synchronous feed is valid (#1293 ext29/bit0 = 1):

Both the synchronous feed and asynchronous feed are valid during the cylindrical interpolation mode.

The feed mode and feedrate remain unchanged and take over the previous state when the cylindrical interpola-

tion mode is started or canceled.

In the cylindrical coordinate system of the rotary axis for cylindrical interpolation, the coordinate positions depend

on the MTB specifications (#1270 ext06/bit7).

Feed mode and F command before and after cylindrical interpolation mode

Feed mode before start

Operation in cylindrical interpolation mode (At start/cancel)

Asynchronous feed (G94)

The previous feed mode (asynchronous feed) and the feedrate designated with the F command are inherited when the cylindrical interpolation mode is started or canceled.

Synchronous feed (G95)

When the cylindrical interpolation mode is started, the asynchronous mode is enabled forcibly, and the feedrate is canceled. After the cylindrical interpolation mode has been started, designate the feedrate using the F command. A program error (P62) will occur if the F command is not designated. When the cylindrical interpolation mode is canceled, the setting returns to the feed mode (synchronous feed) and feedrate before the cylindrical interpolation mode starts.

Synchronous feed function valid/invalid (#1293 bit0)

Change of feed mode and feedrate

Before the cylindrical in- terpolation mode starts

When the cylindrical inter- polation mode starts

When the cylindrical interpo- lation mode is canceled

Invalid Asynchronous feed Asynchronous feed Asynchronous feed

Feedrate just before start Feedrate just before cancel

Synchronous feed Asynchronous feed Synchronous feed

Feedrate = 0 (Cancel) Feedrate before cylindrical in- terpolation starts

Valid Asynchronous feed Asynchronous feed Feed mode just before the mode is canceled

Feedrate just before start Feedrate just before cancel

Synchronous feed Synchronous feed

Feedrate just before start

Cylindrical interpolation coordinate system

Parameter set- ting

(#1270 bit7)

Coordinate position of rotary axis in cylindrical coordinate system

0 In this coordinate system, the rotary axis position is set to "0" when the cylindrical interpo- lation start command is issued.

1 The workpiece coordinate positions just before the cylindrical interpolation starts are also continued to be used during cylindrical interpolation.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

83 IB-1501277-Q

The following G code commands can be used during the cylindrical interpolation mode.

A program error will occur if a G code other than those listed above is commanded during cylindrical interpolation.

[Combination of cylindrical interpolation and high-accuracy control function]

To enable the G08P1 or G61.1 (high-accuracy control) mode during the G07.1 (cylindrical interpolation) or G12.1

(polar coordinate interpolation) mode or to enable the G07.1 (cylindrical interpolation) or G12.1 (polar coordinate

interpolation) mode during the G08P1 or G61.1 (high-accuracy control) mode, you need to enable the axis-spe-

cific acceleration tolerance control (optimum acceleration control) or variable-acceleration pre-interpolation ac-

celeration/deceleration. (The validity of these functions depends on the MTB specifications.)

If the cylindrical interpolation or polar coordinate interpolation command is issued during the high-accuracy con-

trol mode while the functions above are invalid, a program error (P126) will occur.

Also, if the high-accuracy control command is issued during the cylindrical interpolation or polar coordinate in-

terpolation mode, a program error (P481) will occur.

(1) The cylindrical interpolation mode is canceled when the power is turned ON or reset.

(2) Program cannot be restarted (program restart) when the block is in the cylindrical interpolation.

(3) The cylindrical interpolation command cannot be issued in mirror image (parameter/external input ON). If the command is issued, a program error (P486) will occur.

(4) A program error (P481) will occur if the cylindrical interpolation command (G07.1), the polar coordinate interpo- lation command (G12.1), or the milling interpolation command (G12.1) is issued again during the cylindrical in- terpolation mode.

Cylindrical interpolation function: Combinations of G code commands

G code Description

G00 Positioning

G01 Linear interpolation

G02 Circular interpolation (CW)

G03 Circular interpolation (CCW)

G04 Dwell

G09 Exact stop check

G40 - G42 Tool radius compensation

G61 Exact stop mode

G64 Cutting mode

G65 Macro call (simple call)

G66 Macro modal call (modal call)

G66.1 Macro modal call (block call per macro)

G67 Macro modal call cancel (modal call cancel)

G80 - G89 Fixed cycle for drilling

G90/G91 Absolute/incremental command

G94 Asynchronous feed

G98 Hole drilling cycle initial return

G99 Hole drilling cycle R point return

Restrictions and precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

84IB-1501277-Q

6.10 Circular Cutting; G12,G13

Circular cutting starts the tool from the center of the circle, and cuts the inner circumference of the circle. The tool

continues cutting while drawing a circle and returns to the center position.

(1) The sign + for the offset amount indicates reduction, and - indicates enlargement.

(2) The circle cutting is executed on the plane G17, G18 or G19 currently selected.

For G12 (tool center path) 0->1->2->3->4->5->6->7->0

For G13 (tool center path) 0->7->6->5->4->3->2->1->0

Function and purpose

Command format

Circular cutting Clockwise (CW)

G12 I__ D__ F__ ;

Circular cutting Counterclockwise (CCW)

G13 I__ D__ F__ ;

I Radius of circle (incremental position), the sign is ignored

D Offset No. (The offset No. and offset data are not displayed on the setting and display unit.)

F Feedrate

Detailed description

Compensation amount sign + Compensation amount sign -

(a) Circle radius (b) d1 offset amount +

(c) d1 offset amount -

0

1 2

3

4

5

6 7

(a)

i 1

(b)

(c) X

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

85 IB-1501277-Q

(Example 1) G12 I50.000 D01 F100 ; When compensation amount is +10.000mm

(1) If the offset No. "D" is not issued or if the offset No. is illegal, the program error (P170) will occur.

(2) If [Radius (I) - offset amount] is 0 or negative, the program error (P223) will occur.

(3) If G12 or G13 is commanded during radius compensation (G41, G42), the radius compensation will be validated on the path after compensated with the D, commanded with G12 or G13.

(4) If an address not included in the format is commanded in the same block as G12 and G13, the program error (P32) will occur. But when the parameter "#11034 Circular cutting command address check type" is set to "1", it operates as fol- lows;

(a) Program error will not occur except for an "H" command.

(b) Only "D","F","I" and "M","S","T","B" will be valid.

Program example

Tool

Compensation amount

Radius

Precautions

50.000

10.000

X

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

86IB-1501277-Q

6.11 Polar Coordinate Interpolation; G12.1, G13.1/G112, G113

This function converts the commands programmed with the orthogonal coordinate axis into linear axis movement

(tool movement) and rotary axis movement (workpiece rotation), and controls the contour.

The plane that uses the linear axis as the plane's 1st orthogonal axis, and the intersecting hypothetical axis as the

plane's 2nd axis (hereafter "polar coordinate interpolation plane") is selected. Polar coordinate interpolation is car-

ried out on this plane. The workpiece coordinate system zero point is used as the coordinate system zero point

during polar coordinate interpolation.

This is effective for cutting a notch in a linear line to the external diameter of the workpiece, for cutting cam shafts,

etc.

Function and purpose

Linear axis

Rotary axis (Hypothetical axis)

Polar coordinate interpo- lation plane (G17 plane)

Command format

Polar coordinate interpolation mode start

G12.1 ;

Polar coordinate interpolation mode cancel

G13.1 ;

X

Z

C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

87 IB-1501277-Q

(1) The coordinate commands in the interval from the start to cancellation of the polar coordinate interpolation mode will be polar coordinate interpolation.

(2) G112 and G113 can be used instead of G12.1 and G13.1.

(3) G12.1 must be commanded alone in a block, which also applies to G13.1. If it is commanded in the same block with other G code, a program error (P33) will occur.

(4) Linear interpolation or circular interpolation can be commanded during the polar coordinate interpolation mode.

(5) The coordinate commands can be both an absolute command or incremental command.

(6) Tool radius compensation can be applied on the program command. Polar coordinate interpolation will be exe- cuted to the path after it has gone through a tool radius compensation.

(7) Command the tangent speed in the polar coordinate interpolation plane (orthogonal coordinate system) by F. F is in mm/min or inch/min unit.

(8) When the G12.1/G13.1 command is issued, the deceleration check is executed.

The linear axis and rotary axis used for polar coordinate interpolation depend on the MTB specifications (parameter

#1533).

(1) Determine the deemed plane for carrying out polar coordinate interpolation with the parameter (#1533) of the linear axis used for polar coordinate interpolation.

(2) A program error (P485) will occur if the plane selection command (G17 to G19) is issued during the polar coor- dinate interpolation mode.

Depending on the model or version, parameter (#1533) may not be provided. In this case, the operation will be the same as when the parameter (#1533) is blank (no setting).

#1516 mill_ax (Milling axis name)

#1517 mill_c (Milling interpolation hypothetical axis name)

#8111 Milling Radius

#1533 mill_Pax (Polar coordinate linear axis name)

Detailed description

G12.1 ; Polar coordinate interpolation mode start (Polar coordinate interpolation will start.) (The coordinate commands in this interval will be the polar coordinate interpolation.)

:

G13.1 ; Polar coordinate interpolation mode cancel (Polar coordinate interpolation is canceled.)

Plane selection

Setting for #1533 Deemed plane

X G17 (XY plane)

Y G19 (YZ plane)

Z G18 (ZX plane)

Blank (no setting) G17 (XY plane)

Related parameter

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

88IB-1501277-Q

Program example

Hypothetical C axis

Hypothetical C axis

Tool

Path after tool radius compensation

Programmed path

:

N01 G17 G90 G00 X40.0 C0 Z0; Setting of start position

N02 G12.1 ; Polar coordinate interpolation mode: Start

N03 G01 G42 X20.0 F2000; Actual machining start

N04 C10.0; N05 G03 X10.0 C20.0 R10.0;

N06 G01 X-20.0; Shape program

N07 C-10.0;

N08 G03 X-10.0 C-20.0 I10.0 J0; (Follows orthogonal coordinate positions on X-C hypothetical axis plane.)

N09 G01 X20.0; N10 C00; N11 G40 X40.0;

N12 G13.1 ; Polar coordinate interpolation mode: Cancel

: M30 ;

X C

Z

C

X

N06 N05

N04 N03

N10

N09N08

N07 N11

N01 N02

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

89 IB-1501277-Q

(1) The program commands in the polar coordinate interpolation mode are issued by the orthogonal coordinate val- ue of the linear axis and rotary axis (hypothetical axis) on the polar coordinate interpolation plane. The axis address of the rotary axis (C) is specified as the axis address for the plane's 2nd axis (hypothetical axis) command. The command unit is not deg (degree). The same unit (mm or inch) as used for the command by the axis address of the plane's 1st axis (linear axis) will be used.

(2) The hypothetical axis coordinate value will be set to "0" when G12.1 is commanded. In other words, the position where G12.1 is commanded will be interpreted as angle = 0, and the polar coordinate interpolation will start.

The arc radius address for carrying out circular interpolation during the polar coordinate interpolation mode is deter-

mined with the linear axis parameter (#1533).

The arc radius can also be designated with the R command.

(1) Depending on the model or version, parameter (#1533) may not be provided. In this case, the operation will be the same as when the parameter (#1533) is blank (no setting).

The tool radius can be compensated during the cylindrical interpolation mode.

(1) Command the plane selection in the same manner as polar coordinate interpolation. When conducting tool radius compensation, it must be started up and canceled during the polar coordinate in- terpolation mode.

(2) A program error (P485) will occur if polar coordinate interpolation is executed during tool radius compensation.

(3) If the G12.1 and G13.1 commands are issued with no movement command after the tool radius compensation is canceled, the position of the axis in the G12.1 and G13.1 commands block is interpreted as the position ap- plied after the tool radius compensation is canceled and the following operations are performed.

(1) The asynchronous mode is forcibly set when the polar coordinate interpolation mode is started.

(2) When the polar coordinate interpolation mode is canceled, the synchronous mode will return to the state before the polar coordinate interpolation mode was started.

(3) A program error (P485) will occur if G12.1 is commanded in the constant surface speed control mode (G96).

(1) The miscellaneous function (M) and 2nd miscellaneous function can be issued in the polar coordinate interpola- tion mode.

(2) The S command in the polar coordinate interpolation mode specifies the rotary tool's rotation speed instead of the spindle rotation speed.

Relationship with Other Functions

Program commands during polar coordinate interpolation

Circular interpolation on polar coordinate plane

Setting for #1533 Center designation command

X I, J (polar coordinate plane is interpreted as XY plane)

Y J, K (polar coordinate plane is interpreted as YZ plane)

Z K, I (polar coordinate plane is interpreted as ZX plane)

Blank (no setting) I, J (polar coordinate plane is interpreted as XY plane)

Tool radius compensation

Cutting asynchronous feed

Miscellaneous function

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

90IB-1501277-Q

(1) Program error (P481) will occur if tool length compensation is performed in the polar coordinate interpolation mode.

(2) Complete the tool compensation operation (movement of tool length and wear compensation amount) before executing the polar coordinate interpolation. If the tool compensation operation is not completed when the polar coordinate interpolation start command has been issued, the followings will occur:

Machine coordinate will not change even if G12.1 is executed. When G12.1 is executed, the workpiece coordinate will change to that of the post tool length compensation.

(Even if polar coordinate interpolation is canceled, this workpiece coordinate will not be canceled.)

Operations vary depending on whether the synchronous feed during polar coordinate interpolation is valid or invalid.

Whether the synchronous feed is valid or invalid depends on the MTB specifications (parameter "#1293 ext29/bit0").

(1) When the synchronous feed is invalid ("#1293 ext29/bit0" is set to "0"):

Only the asynchronous feed is valid during the polar coordinate interpolation mode. If synchronous feed (G95) is commanded during polar coordinate interpolation, the program error (P481) occurs. The operation when the polar coordinate interpolation mode is started or canceled varies depending on the feed mode that is active before the polar coordinate interpolation mode is started.

(a) If the feed mode before start is the asynchronous feed (G94)

The previous feed mode (asynchronous feed) and F command feedrate are used when the polar coordinate

interpolation mode is started or canceled.

(b) If the feed mode before start is the synchronous feed (G95)

The asynchronous feed is forcibly set and the feedrate is canceled when the polar coordinate interpolation

mode is started.

Set the feedrate with an F command after the polar coordinate interpolation mode is started. The program

error (P62) occurs if the F command is not designated.

When the polar coordinate interpolation mode is canceled, the feed mode (synchronous feed) and feedrate

before polar coordinate interpolation start are restored.

(2) When the synchronous feed is valid ("#1293 ext29/bit0" is set to "1"):

Both the synchronous and asynchronous feed are valid during the polar coordinate interpolation mode. The feed mode and feedrate remain unchanged and take over the previous state when the polar coordinate in- terpolation mode is started or canceled.

Changes in the feed mode before and after polar coordinate interpolation mode

Tool length compensation

:

G43 H12 ; Tool length compensation before polar coordinate interpolation -> Valid

G00 X100. Z0. ; G12.1 ; :

G43 H11 ; Tool length compensation in polar coordinate interpolation mode -> Program error

: G13.1 ;

Feed mode and F command before and after polar coordinate interpolation mode

#1293 ext29/bit0

Changes in feed mode and feedrate

Before start At start At cancel

0 Asynchronous feed Asynchronous feed Feedrate just before start

Asynchronous feed Feedrate just before cancel

Synchronous feed Asynchronous feed Feedrate is "0" (cancel)

Synchronous feed Feedrate before the polar coordi- nate interpolation is started

1 Asynchronous feed Asynchronous feed Feedrate just before start

Feed mode just before cancel Feedrate just before cancel

Synchronous feed Synchronous feed Feedrate just before start

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

91 IB-1501277-Q

Hole drilling axis in the fixed cycle for drilling command during the polar coordinate interpolation is determined with

the linear axis parameter (# 1533).

Shift amount in the G76 (fine boring) or G87 (back boring) command during the polar coordinate interpolation is de-

termined with the linear axis parameter (#1533).

In circular interpolation that passes through the center of the workpiece, a large movement occurs on the C axis

when the axis passes through the center of the workpiece. By using the parameter "#19104 G12.1 no reversal", you

can switch whether the rotation direction of the C axis at that time to be a short rotation or the previous rotation di-

rection to be maintained. Set "0" to make a short turn, and set "1" to maintain the rotation direction up to that point.

The parameter "#19104 G12.1 no reversal" can be switched only for the movement of the timing when the axis pass-

es through the center of the workpiece. Specify the range to be judged as the center of the workpiece using the

parameter "#19105 G12.1 zero range".

If one axis on the polar coordinate plane crosses the quadrant and the other axis is within the range of the parameter

"#19105 G12.1 zero range", it is assumed that the axis have passed through the center of the workpiece.

The rotation direction of the C axis that is used immediately before the position of the axis on the polar coordinate

plane enters the range specified with the parameter "#19105 G12.1 zero range" is set as the rotation direction of the

C axis used when the quadrant is switched.

Hole drilling axis in the fixed cycle for drilling command

Setting for #1533 Hole drilling axis

X Z (polar coordinate plane is interpreted as XY plane)

Y X (polar coordinate plane is interpreted as YZ plane)

Z Y (polar coordinate plane is interpreted as ZX plane)

Blank (no setting) Z (polar coordinate plane is interpreted as XY plane)

Shift amount in the G76 (fine boring) or G87 (back boring) command

Setting for #1533 Center designation command

X I, J (polar coordinate plane is interpreted as XY plane)

Y J, K (polar coordinate plane is interpreted as YZ plane)

Z K, I (polar coordinate plane is interpreted as ZX plane)

Blank (no setting) I, J (polar coordinate plane is interpreted as XY plane)

Operation switching for circular interpolation in the center of a workpiece

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

92IB-1501277-Q

[Timing to acquire the rotation direction of the C axis used when the quadrant is switched]

When the parameter #19104 is set to "1", adjust the setting value of the parameter #19105.

The movement of the C axis becomes unstable near the center of the workpiece; therefore, set the parameter

#19105 to a value larger than "0.0". Execute the machining program including the target circular interpolation and

check the rotation direction of the C axis at the center of the workpiece. If there is no problem, the setting is com-

pleted.

If the rotation direction of the C axis that passes through the center of the workpiece is not improved, change the

setting value of the parameter #19105 to a larger value.

(1) If the arc does not pass through the center of the workpiece, the direction does not change suddenly when the quadrant is switched, so set the parameter #19104 to "0".

(2) In the case of an arc of which the start point is near the center of rotation (the start point is within the range spec- ified with the parameter #19105), the rotation direction of the C axis used at the time of quadrant switching is shortcut regardless of the setting of the parameter #19104. Therefore, set the start point of the arc away from the center of the workpiece (outside the range specified with the parameter #19105).

(1) Circular command direction

(2) Timing to acquire the movement direction of the C axis

(3) Range specified with the parameter #19105

(4) Timing at which the C axis rotates in the same direction as (2) (When the parameter #19104 is set to "1")

Y

X

(3)

(4)

(1)

(2)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

93 IB-1501277-Q

(1) The following G code commands can be used during the polar coordinate interpolation mode.

A program error (P481) may occur if a G code other than those listed above is commanded during polar coordi-

nate interpolation.

(2) Program cannot be restarted (program restart) when the block is in the polar coordinate interpolation.

(3) Before commanding polar coordinate interpolation, set the workpiece coordinate system so that the center of the rotary axis is at the coordinate system zero point. Do not change the coordinate system during the polar coordi- nate interpolation mode. (G50, G52, G53, relative coordinate reset, G54 to G59, etc.)

(4) The feedrate during polar coordinate interpolation will be the interpolation speed on the polar coordinate inter- polation plane (orthogonal coordinate system). (The relative speed with the tool will vary according to the polar coordinate conversion.) When passing near the center of the rotary axis on the polar coordinate interpolation plane (orthogonal coordi- nate system), the rotary axis side feedrate after polar coordinate interpolation will be very high.

(5) The axis movement command outside of the plane during polar coordinate interpolation will move unrelated to the polar coordinate interpolation.

(6) The current position displays during polar coordinate interpolation will all indicate the actual coordinate value. However, the "remaining movement amount" indicates the movement amount on the polar coordinate input plane.

(7) The polar coordinate interpolation mode is canceled when the power is turned ON or reset.

(8) A program error (P484) will occur if any axis commanded during polar coordinate interpolation has not completed the reference position return.

(9) Tool radius compensation must be canceled before canceling the polar coordinate interpolation mode.

(10) When the polar coordinate interpolation mode is canceled and switched to the cutting mode, the plane selected before the polar coordinate interpolation will be restored.

(11) A program error (P486) will occur if the polar coordinate interpolation command is issued during the mirror im- age.

(12) A program error (P481) will occur if the cylindrical interpolation or the polar coordinate interpolation is command- ed during the polar coordinate interpolation mode.

(13) During polar coordinate interpolation, if X axis moveable range is controlled in the plus side, X axis has to be moved to the plus area that includes "0" and above before issuing the polar coordinate interpolation command. If X axis moveable range is controlled in the minus side, X axis has to be moved to the minus area that does not include "0" before issuing the polar coordinate interpolation command.

Restrictions and precautions

G code Details

G00 Positioning

G01 Linear interpolation

G02 Circular interpolation (CW)

G03 Circular interpolation (CCW)

G04 Dwell

G09 Exact stop check

G40 - G42 Tool radius compensation

G61 Exact stop mode

G64 Cutting mode

G65 Macro call (simple call)

G66 Macro modal call (modal call)

G66.1 Macro modal call (block call per macro)

G67 Macro modal call cancel (modal call cancel)

G80 - G89 Fixed cycle for drilling

G90/G91 Absolute/incremental command

G94 Asynchronous feed

G98 Hole drilling cycle initial return

G99 Hole drilling cycle R point return

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

94IB-1501277-Q

6.12 Exponential Interpolation; G02.3, G03.3

Exponential function interpolation changes the rotary axis into an exponential function shape in respect to the linear

axis movement.

At this time, the other axes carry out linear interpolation between the linear axis.

This allows a machining of a taper groove with constant torsion angle (helix angle) (uniform helix machining of taper

shape).

This function can be used for slotting or grinding a tool for use in an end mill, etc.

Uniform helix machining of taper shape

Relation of linear axis and rotary axis

Function and purpose

A: A axis (rotation ax- is) X: X axis (linear axis)

Torsion angle: J1 = J2 = J3

A: A axis (rotation axis) X: X axis (linear axis) * : {B, C... constant}

(G02.3/G03.3)(G01)

Z

A J1 J2 J3

X

(G01)

(G00)

X=B(eCA-1)

A

X *

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

95 IB-1501277-Q

(*1) Designate the end point of the linear axis specified by parameter "#1514 expLinax" and the axis that carries out

linear interpolation between that axis.

If the end point on of the rotary axis designated with parameter "#1515 expRotax" is specified, linear interpola-

tion without exponential function interpolation will take place. These parameter settings depend on the MTB

specifications.

(*2) The command unit is as follows.

The command range is -89 to +89.

A program error (P33) will occur if there is no address I or J command.

A program error (P35) will occur if the address I or J command value is 0.

(*3) The command unit is as follows.

The command range is a positive value that does not include 0.

A program error (P33) will occur if there is no address R command.

A program error (P35) will occur if the address R command value is 0.

(*4) The command unit and command range is the same as the normal F code. (Command as per minute feed.)

Command the composite feedrate that includes the rotary axis.

The normal F modal value will not change by the address F command.

A program error (P33) will occur if there is no address F command.

A program error (P35) will occur if the address F command value is 0.

Command format

Forward rotation interpolation (Modal)

G02.3 Xx1 Yy1 Zz1 Ii1 Jj1 Rr1 Ff1 Qq1 Kk1 ;

Backward rotation interpolation (Modal)

G03.3 Xx1 Yy1 Zz1 Ii1 Jj1 Rr1 Ff1 Qq1 Kk1 ;

X X axis end point (*1)

Y Y axis end point (*1)

Z Z axis end point (*1)

I Angle i1 (*2)

J Angle j1 (*2)

R Constant value r1 (*3)

F Initial feedrate (*4)

Q Feedrate at end point (*5)

K Command will be ignored.

Setting unit #1003=B #1003=C #1003=D #1003=E

(Unit = ) 0.001 0.0001 0.00001 0.000001

Setting unit #1003=B #1003=C #1003=D #1003=E Unit

Millimeter system 0.001 0.0001 0.00001 0.000001 mm

Inch system 0.0001 0.00001 0.000001 0.0000001 inch

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

96IB-1501277-Q

(*5) The command unit is as follows.

The command unit and command range is the same as the normal F code.

Command the composite feedrate that includes the rotary axis.

The normal F modal value will not change by the address Q command.

The axis will interpolate between the initial speed (F) and end speed (Q) in the CNC according to the linear axis.

If there is no address Q command, interpolation will take place with the same value as the initial feedrate (ad-

dress F command). (The start point and end point feedrates will be the same.)

A program error (P35) will occur if the address Q command value is 0.

[Example of uniform helix machining of taper shape]

The exponential function relational expression of the linear axis (X) and rotary axis (A) in the G02.3/G03.3 command

is defined in the following manner.

where, "D" is as follows.

D = tan(j1) / tan(i1)

During forward rotation (G02.3): = 0

During backward rotation (G03.3): = 1

is the rotation angle (radian) from the rotary axis' start point. The rotary axis' rotation angle () is as follows ac-

cording to expression (1).

= D * 1n{(X * tan(i1) / r1) + 1}

Setting unit #1003 = B #1003=C #1003=D #1003=E Unit

Millimeter system 0.001 0.0001 0.00001 0.000001 mm

Inch system 0.0001 0.00001 0.000001 0.0000001 inch

X : X axis (linear axis) A : A axis (rotation axis) x0 : linear axis (X axis) start point

Detailed description

Relational expression of exponential function

X() = r1 * (e/D - 1) / tan(i1) Linear axis (X) movement (1)

A() = (-1) * 360 * / (2) Rotary axis (A) movement

i1

j1 x1x0

r1

ZZ

A X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

97 IB-1501277-Q

[Uniform helix machining of taper shape]

where, "D" is as follows.

D = tan(j1) / tan(i1)

Machining example

Z() = r1 *(e/D-1)* tan(p1) / tan(i1) + z0 (1)

X() = r1 *(e/D-1)/ tan(i1) (2)

A() = (-1) * 360 * / (2)

Z() Absolute position from zero point of Z axis (axis that linearly interpolates with linear axis (X axis))

X() Absolute position from X axis (linear axis) start point

A() Absolute position from A axis (rotary axis) start point

r1 Exponential function interpolation constant value (address R command)

r2 Workpiece left edge radius

x2 X axis (linear axis) position at the left edge of the workpiece

x1 X axis (linear axis) end point (address X command)

x0 X axis (linear axis) start point (Set as "x0 x1" so that workpiece does not interfere with the tool)

z1 End point of Z axis (axis that linearly interpolates between interval with linear axis (X axis)) (address Z command)

z0 Start point of Z axis (axis that linearly interpolates between interval with linear axis (X axis))

i1 Taper gradient angle (address I command)

p1 Slot base gradient angle

j1 Torsion angle (helix angle) (address J command)

Torsion direction (0: Forward rotation, 1: reverse direction)

Workpiece rotation angle (radian)

f1 Initial feedrate (address F command)

q1 Feedrate at end point (address Q command)

k1 Insignificant data (address K command)

i1

j1 x1x0 x2

p1

r1r2

z1

z2 z0 A

X

Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

98IB-1501277-Q

According to expressions (1) and (2), expression (3) is obtained.

Z() = X() * tan(p1) + z0 ...(3)

According to expression (3), the slot base gradient angle (p1) is set from the X axis and Z axis end point positions

(x1, z1).

The Z axis movement amount is determined by the slot base gradient angle (p1) and X axis position.

In the above diagram, the exponential function interpolation's constant value (r1) is determined with the following

expression using the workpiece left edge radius (r2), X axis start point (x0), X axis position at workpiece left edge

(x2) and taper gradient angle (i1).

r1 = r2 -{(x2 - x0) * tan(i1)}

The taper gradient angle (i1) and torsion angle (j1) are set by the command address I and J, respectively.

Note that if the shape is a reverse taper shape, the taper gradient angle (i1) is issued as a negative value.

The torsion direction () is changed by the G code. (Forward rotation when G02.3 is commanded, negative rotation

when G03.3 is commanded)

The above settings allow uniform helix machining of a taper shape (or reverse taper shape).

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

99 IB-1501277-Q

(1) G2.3 (equivalent to G3.3 if j1 < 0) In the conditional figure below, the upper side shows a command, and the lower side shows an operation.

(S) Start point, (E) End point

(2) G3.3 (equivalent to G2.3 if j1 < 0) In the conditional figure below, the upper side shows a command, and the lower side shows an operation.

(S) Start point, (E) End point

Command and operation

X movement direction > 0 X movement direction < 0

i1 > 0 i1 < 0 i1 > 0 i1 < 0

N10 G28XYZC; N20 G91G0 X100. Z100.; N30 G2.3 X100. Z100. I50. J80. R105. F500.; N40 M30;

N10 G28XYZC; N20 G91G0 X100. Z200.; N30 G2.3 X100. Z-100. I- 50. J80. R105. F500.; N40 M30;

N10 G28XYZC; N20 G91G0 X-100. Z100.; N30 G2.3 X-100. Z100. I50. J80. R105. F500.; N40 M30;

N10 G28XYZC; N20 G91G0 X-100. Z200.; N30 G2.3 X-100. Z-100. I-50. J80. R105. F500.; N40 M30;

X movement direction > 0 X movement direction < 0

i1 > 0 i1 < 0 i1 > 0 i1 < 0

N10 G28XYZC; N20 G91G0 X100. Z100.; N30 G3.3 X100. Z100. I50. J80. R105. F500.; N40 M30;

N10 G28XYZC; N20 G91G0 X100. Z200.; N30 G3.3 X100. Z-100. I- 50. J80. R105. F500.; N40 M30;

N10 G28XYZC; N20 G91G0 X-100. Z100.; N30 G3.3 X-100. Z100. I50. J80. R105. F500.; N40 M30;

N10 G28XYZC; N20 G91G0 X-100. Z200.; N30 G3.3 X-100. Z-100. I-50. J80. R105. F500.; N40 M30;

(S)

r1

Z

j1

i1 (E)

X

Z

(S)

j1

i1

(E)

Xr1

Z

(S)

Xr1

j1

i1(E) (S)

X

Z i1

j1 (E)

r1

A

X

A

X

A

X

A

X

Z

(S)

r1 X

j1

(E)i1 Z

(S)

j1

i1

(E)

Xr1

Z

(S)

Xr1

j1

i1(E) (S)

X

Z i1

j1 (E)

r1

A

X

A

X

A

X

A

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

100IB-1501277-Q

(1) When G02.3/G03.3 is commanded, interpolation takes place with the exponential function relational expression using the start position of the linear axis and rotary axis as 0.

(2) Linear interpolation will take place in the following cases, even if in the G02.3/G03.3 mode. The feedrate for linear interpolation will be the F command in that block. (Note that the normal F modal is not updated.) The linear axis designated with the parameter (#1514 expLinax) is not commanded, or the movement

amount for that axis is 0. The rotary axis designated with the parameter (#1515 expRotax) is commanded.

(3) A program error will occur if the following commands are issued during the G02.3/G03.3 mode. A program error will also occur if G02.3 or G03.3 command is issued in the following modes. Tool length compensation (A program error will occur only when the compensation starts at the same time

as the movement by exponential function interpolation. The tool length compensation will operate normally if it has started before the G02.3/G03.3 mode starts.) Tool radius compensation High-speed High-accuracy Control High-speed machining Scaling Tool length compensation along the tool axis Figure rotation Coordinate rotation by program Coordinate rotation by parameter 3-dimensional coordinate conversion

(4) A program error (P481) will occur if commands are issued during the pole coordinate interpolation, cylindrical interpolation or milling interpolation modes.

(5) Program error (P612) will occur if commands are issued during the scaling or mirror image.

(6) Program error (P34) will occur if commands are issued during the high-speed high-accuracy control II.

(7) G02.3/G03.3 will function with asynchronous feed even during the synchronous feed mode, and the synchronous feed mode will be canceled.

(8) If the parameter "#1515 expRota" setting is the same axis name as the initial C axis, the axis selected with the C axis selection signal will interpolate as the rotary axis.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

101 IB-1501277-Q

6.13 Polar Coordinate Command; G16

With this function, the end point coordinate value is commanded with the polar coordinate of the radius and angle.

Function and purpose

Command format

Polar coordinate command mode ON

G16 ;

Polar coordinate command mode OFF

G15 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

102IB-1501277-Q

(1) The polar coordinate command is applied in the interval from turning ON to OFF of the polar coordinate command mode

(2) The plane selection during the polar coordinate command mode is carried out with G17, G18 and G19.

(3) The polar coordinate command is a modal. The polar coordinate command mode when the power is turned ON is off (G15). Whether to initialize the modal at reset or not can be selected with the parameter (#1210 RstGmd/ bit 11) setting.

(4) During polar coordinate command mode, command the radius with the 1st axis for the selected plane, and the angle with the 2nd axis. For example, when the X-Y plane is selected, command the radius with the address "X", and the angle with the address "Y".

(5) For the angle, the counterclockwise direction of the selected plane is positive and the clockwise direction is neg- ative.

(6) The radius and angle can be commanded with both the absolute command (G90) and incremental command (G91).

(7) When the radius is commanded with the absolute position, command the distance from the zero point in the work- piece coordinate system (note that when the local coordinate system is set, command the distance in the local coordinate system).

(8) When the radius is commanded with the incremental command, considering the end point of the previous block as the polar coordinate center, command the incremental position from that end point. The angle is commanded with the incremental position of the angle from the previous block.

(9) When the radius is commanded with the negative value, the same operation as the command that the radius command value is changed to the absolute position and 180 is added to the angle command value.

Detailed description

G1x ; Plane selection for polar coordinate command (G17/G18/G19)

G16 ; Polar coordinate command mode ON

G9x G01 Xx1 Yy1 F2000 ; :

Polar coordinate command G9x: Center selection for polar coordinate command (G90/G91) G90: The workpiece coordinate system zero point is the polar coordinate center. G91: The current position is the polar coordinate center. x1: 1st axis for the plane: The radius of the polar coordinate commanded y1: 2nd axis for the plane: The angle of the polar coordinate commanded

G15 ; Polar coordinate command mode OFF

(CP) Current position (IP) Commanded position

For G90/G17 (X-Y plane)

y1

x1

X

Y

(IP)

(CP)

+

-

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

103 IB-1501277-Q

(1) When the zero point in the workpiece coordinate system is applied to the polar coordinate center

The zero point in the workpiece coordinate system is applied to the polar coordinate center by commanding the

radius value with the absolute position.

Note that the zero point in the local coordinate system is applied to the polar coordinate center if the local coor-

dinate system (G52) is used.

(2) When the present position is applied to the polar coordinate center

The present position is applied to the polar coordinate center by commanding the radius value with the incre-

mental position.

Commanded position

When the angle is the absolute command When the angle is the incremental command

When the angle is the absolute command When the angle is the incremental command

(CP) Current position (IP) Command position (a) Angle (r) Radius

(IP)

(CP)

(r)

(a)

(IP)

(CP)

(r)

(a)

(IP)

(CP)

(r)

(a)

(IP)

(CP)

(r) (a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

104IB-1501277-Q

(3) When the radius value command is omitted

When the radius value command is omitted, the zero point in the workpiece coordinate system is applied to the

polar coordinate center, and the distance between the polar coordinate center and current position is regarded

as the radius. Note that the zero point in the local coordinate system is applied to the polar coordinate center if

the local coordinate system (G52) is used.

(4) When the angle command is omitted

When the angle command is omitted, the angle of the present position in the workpiece coordinate system is

applied to the angle command.

The zero point in the workpiece coordinate system is applied to the polar coordinate center by commanding the

radius value with the absolute position. Note that the zero point in the local coordinate system is applied to the

polar coordinate center if the local coordinate system (G52) is used.

If the radius value is commanded with the incremental position, the current position is applied to the polar coor-

dinate center.

When the angle is the absolute command When the angle is the incremental command

When the angle is the absolute command When the angle is the incremental command

(CP) Current position (IP) Command position (a) Angle (r) Radius

(IP)

(CP)

(r)

(a)

(IP)

(CP)

(r) (a)

(IP)

(CP)

(r)

(a)

(IP)

(CP)

(r)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

105 IB-1501277-Q

The axis command with the following command is not interpreted as the polar coordinate command during the polar

coordinate command mode. The movement command that has no axes commands for the 1st axis and 2nd axis in

the selected plane mode is also not interpreted as polar coordinate command during the polar coordinate command

mode.

Axis command not interpreted as polar coordinate command

Function G code

Dwell G04

Parameter input by program/Compensation data input G10

Local coordinate system setting G52

Machine coordinate system setting G92

Machine coordinate system selection G53

Coordinate rotation by program G68

Scaling G51

G command mirror image G51.1

Reference position check G27

Reference position return G28

Start position return G29

2nd, 3rd, 4th reference position return G30

Tool change position return 1 G30.1

Tool change position return 2 G30.2

Tool change position return 3 G30.3

Tool change position return 4 G30.4

Tool change position return 5 G30.5

Tool change position return 6 G30.6

Automatic tool length measurement G37

Skip G31

Multi-step skip 1-1 G31.1

Multi-step skip 1-2 G31.2

Multi-step skip 1-3 G31.3

Linear angle command G01 Aa1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

106IB-1501277-Q

When the zero point in the workpiece coordinate system is the polar coordinate zero point

The polar coordinate zero point is the zero point in the workpiece coordinate system. The plane is the X-Y plane.

(1) When the radius and angle are the absolute command

(2) When the radius is the absolute command and the angle is the incremental command

Program example

N1 G17 G90 G16 ; Polar coordinate command, X-Y plane selection The polar coordinate zero point is the zero point in the work- piece coordinate system.

N2 G85 X200. Y30. Z-20. F200. Radius 200mm, angle 30

N3 Y120. Radius 200mm, angle 120

N4 Y270. Radius 200mm, angle 270

N5 G15 G80 ; Polar coordinate command cancel

N1 G17 G90 G16 ; Polar coordinate command, X-Y plane selection The polar coordinate zero point is the zero point in the work- piece coordinate system.

N2 G85 X200. Y30. Z-20. F200. Radius 200mm, angle 30

N3 G91 Y90. Radius 200mm, angle +90

N4 Y150. Radius 200mm, angle +150

N5 G15 G80 ; Polar coordinate command cancel

200mm

X

Y

30

120

270

N4

N2

N3

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

107 IB-1501277-Q

(1) If the high-accuracy commands are carried out during the polar coordinate command mode, or if the polar coor- dinate commands are carried out during the high-accuracy command mode, operations are performed depend- ing on your machine's specifications. Refer to "High-accuracy Control" and "High-speed High-accuracy Control" for details.

(2) When the mirror image (G code/parameter/PLC signal) is canceled anywhere except at the mirror image center during the polar coordinate command mode, the absolute position and machine position will deviate. The mirror center is set with an absolute position, so if the mirror center is commanded again in this state, the center may be set to an unpredictable position. Cancel the mirror image above the mirror center or, after cancellation, assign a positioning command using absolute command that the radius and angle of the polar coordinate command are designated.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

108IB-1501277-Q

6.14 Spiral/Conical Interpolation; G02.1/G03.1 (Type 1), G02/G03 (Type 2)

This function carries out interpolation that smoothly joins the start and end points in a spiral. This interpolation is

carried out for arc commands in which the start point and end point are not on the same circumference. Conical

interpolation is carried out by designating the end point in the height direction.

There are two types of command formats, and they can be switched with the parameter.

Circular interpolation operations are carried out at the f1 speed by the commands above.

The path is toward the end point, following a spiral arc path centered at the position designated by distance i (X axis

direction) and distance j (Y axis direction) in respect to the start point.

(1) The arc plane is designated by G17, G18 and G19. (Common for type 1 and 2)

(2) The arc rotation direction is designated by G02.1 (G02) or G03.1 (G03). (Common for type 1 and 2)

Function and purpose

Command format

Spiral/conical interpolation (Type 1: #1272 ext08/bit2=0)

G17 G02.1/G03.1 X__ Y__ I__ J__ P__ F__;

Spiral/conical interpolation (Type 2: #1272 ext08/bit2=1)

G17 G02/G03 X__ Y__ I__ J__ Q__/L__/K__ F__;

Description of each address

G17 Arc plane

G02.1/G03.1 (Type 1) Arc rotation direction (Type 1)

G02/G03 (Type 2) Arc rotation direction (Type 2)

X Y End point coordinates (Conical Interpolation when the axis other than arc plane axes is included.)

I J Arc center

P (Type 1) Number of pitches (number of spirals) (Type 1)

Q (Type 2) Incremental/decremental amount of radius (Type 2)

L (Type 2) Number of pitches (Number of spirals) (Type 2)

K (Type 2) Increment/decrement amount of height (Type 2)

F Feedrate (tool path direction speed)

G17 XY plane

G18 ZX plane

G19 YZ plane

G02.1/G02 Clockwise (CW)

G03.1/G03 Counterclockwise (CCW)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

109 IB-1501277-Q

(3) The end point coordinates are designated with XYZ. (Common for type 1 and 2) (Decimal point command is possible. Use mm (or inch) as the unit.) When designation of arc plane axes is omitted, the coordinates of the start point are inherited. If the axis other than arc plane axes is designated, conical interpolation is applied.

(4) The arc center is designated with IJK. (Common for type 1 and 2) (Decimal point command is possible. Use mm (or inch) as the unit.) I: Incremental designation in the X axis direction from the start point J: Incremental designation in the Y axis direction from the start point K: Incremental designation in the Z axis direction from the start point When either 1 axis of arc plane is omitted, the coordinates of the start point are inherited.

(5) P designates the number of pitches (number of spirals). (Type 1) The number of pitches and rotations are as shown below.

(6) Q designates the increment/decrement amount of radius per spiral rotation. (Type 2) The number of spiral rotations when the increment or decrement amount of radius is specified can be calculated with the following expression.

Number of rotations= | (arc end point radius - arc start point radius) | / | increment or decrement amount of radius |

(7) L designates the number of pitches (number of spirals). (Type 2) (range: 0 to 99) When omitted, L1 is designated. The number of pitches and rotations are as shown below.

Q takes precedence over L if both Q and L have been designated at the same time.

(8) K designates the increment or decrement amount of height per spiral rotation in conical interpolation. (Type 2) The increment or decrement amount of height is designated with I/J/K for the axis other than arc plane. The relation between increment or decrement amount of height and the rotation plane is as shown below.

The number of rotations when the increment or decrement amount of height is specified can be calculated with

the following expression.

Number of rotations = Height / | Increment/decrement amount of height |

If Q, K and L have been designated at the same time, the order of precedence is Q>K>L.

Decimal point command is possible in the range of the increment or decrement amount of radius and height. Use

mm (or inch) as the unit.

Number of pitches (0 to 99) Number of rotations

P0 Less than 1 rotation (Can be omitted.)

P1 1 or more rotation and less than 2 rotations

Pn n or more rotation and less than (n+1) rotations

Number of pitches (0 to 99) Number of rotations

L1 Less than 1 rotation

L2 1 or more rotation and less than 2 rotations

Ln (n-1) or more rotations and less than n rotations

Rotation plane Increment or decrement amount of height

G18 J command

G19 I command

Other than G18/G19 K command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

110IB-1501277-Q

(1) The arc rotation direction G02.1 is the same as G02, and G03.1 is the same as G03.

(2) Normally the spiral interpolation is automatically enabled with the arc commands (G02, G03) when the difference between the start point radius and the end point radius is less than the parameter setting value.

(3) The axis combination that can be simultaneously commanded depends on the specifications. The combination within that range is arbitrary.

(4) The feedrate is the constant tangent speed.

(5) The arc plane always follows G17, G18 and G19. The plane arc control is carried out by G17, G18 and G19, even if designated by two addresses that do not match the plane.

(6) Conical interpolation When an axis designation other than the spiral interpolation plane is simultaneously designated, other axes are also interpolated in synchronization with the spiral interpolation.

(7) In the following cases, a program error will occur.

(a) Items common for type 1 and 2

(b) Items for type 2 only

Detailed description

Setting Items Command range (unit)

Error

End point coor- dinates

Range of coordinate command (mm/inch) (Decimal point com- mand is possible.)

If a value exceeding the command range is issued, a program error (P35) will occur. If an axis other than one which can be controlled with the command

system is commanded, a program error (P33) will occur.

Arc center Range of coordinate command (mm/inch) (Decimal point com- mand is possible.)

If a value exceeding the command range is issued, a program error (P35) will occur. If an axis other than one which can be controlled with the command

system is commanded, a program error (P33) will occur. If rotation plane axis is not designated completely, a program error

(P33) will occur.

Number of pitches

0 to 99 If a value exceeding the command range is issued, a program error (P35) will occur.

Feedrate Range of speed com- mand (mm/min, inch/min) (Decimal point com- mand is possible.)

If a value exceeding the command range is issued, a program error (P35) will occur.

Setting Items Command range (unit)

Error

Increment or decrement amount of radi- us

Range of coordinate command (mm/inch) (Decimal point com- mand is possible.)

If the sign of designated increment or decrement amount is opposite from that of the difference between the start point radius and the end point radius, a program error (P33) will occur. If the end point position obtained from the speed and increment or

decrement amount is larger than "SpiralEndErr (#8075)", a program error (P70) will occur.

Increment or decrement amount of height

Range of coordinate command (mm/inch) (Decimal point com- mand is possible.)

If the sign of designated increment or decrement amount is opposite from that of the movement direction of height, a program error (P33) will occur. If the end point position obtained from the speed and increment or

decrement amount is larger than "SpiralEndErr (#8075)", a program error (P70) will occur.

G02.1/0G3.1 Program error (P34) will occur if G02.1/G03.1 are used during type 2.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

111 IB-1501277-Q

(Example 1)

(Example 2)

(Example 3) In this example, the interpolation is truncated cone interpolation.

(1) Items common for type 1 and 2

Interpolation vector in the middle of a tool path is not assured. As the start point and end point are not on the same arc, a normal line control will not be applied correctly. If there is no center command when geometric is valid, a program error (P33) will occur. It cannot be issued as an arc command for geometric IB. If the spiral/conical interpolation is commanded to the second geometric block, the program error (P33) oc-

curs. A command cannot be issued to the geometric IB blocks even when the command format type 2 (G02/G03)

is being designated.

(2) Items for type 2 only

If the spiral interpolation command is issued during the mirror image, a program error (P34) will occur. If the spiral interpolation command is issued during the scaling, a program error (P34) will occur. If the spiral interpolation command is issued during the corner chamfering/corner rounding command, a pro-

gram error (P33) will occur.

Program example

G91 G17 G01 X60. F500 ; Y140. ; G2.1 X60. Y0 I100. P1 F300 ; G01 X-120. ; G90 G17 G01 X60. F500 ; Y140. ; G2.1 X120. Y140. I100. P1 F300 ; G01 X0 ;

(S) Start point (E) End point (C) Center

G91 G17 G01 X60. F500 ;

Y140. ;

G02.1X60.0 Z100.0 I100. P1 F300 ; -> Because this is the G17 plane, arc control is not carried out by X-Z.

G01X-120 ; Arc control is carried out by X-Y.

G17 G91 G02.1 X100.Z150. I150.P3 F500;

XY plane

XZ plane

Relationship with other functions

140. (S)

(E) (C)

Y

W X60.

X60.

120. 140.

110.

Y

ZZ

W

W

X

XX

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

112IB-1501277-Q

6.15 3-dimensional Circular Interpolation; G02.4, G03.4

To issue a circular command on a 3-dimensional space, an arbitrary point (intermediate point) must be designated

on the arc in addition to the start point (current position) and end point. By using the 3-dimensional circular interpo-

lation command, an arc shape which is uniquely determined by the three points (start point, intermediate point, end

point) designated on the 3-dimensional space can be machined.

The validity of this function depends on the MTB specifications. If this specification is invalid and the 3-dimensional

circular interpolation command is issued, the program error (P39) occurs.

The speed command during 3-dimensional circular interpolation is the tangent speed on the arc.

(1) The G02.4 and G03.4 operations are the same. (The rotation direction cannot be specified.)

(2) The axes used as the reference in 3-dimensional circular interpolation are the three basic axes set with the pa- rameters.

(3) The X, Y, Z addresses in the block can be omitted. The intermediate point coordinates omitted in the 1st block become the start point coordinates, and the end point coordinates omitted in the 2nd block become the interme- diate point coordinates.

Function and purpose

(S) Start point (Current position)

(E) End point

(C) Intermediate point

Command format

G02.4 (G03.4) Xx1 Yy1 Zz1 1 ; Intermediate point designation (1st block)

Xx2 Yy2 Zz2 2 ; End point designation (2nd block)

G02.4 (G03.4) 3-dimensional circular interpolation command (The rotation direction cannot be specified.)

x1, y1, z1 Intermediate point coordinates

x2, y2, z2 End point coordinates

Arbitrary axis other than axis used as the reference (X,Y,Z) in 3-dimensional circular interpolation (Can be omitted.)

Z

X

Y

(S)

(C)

(E)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

113 IB-1501277-Q

(4) When the 3-dimensional circular interpolation is commanded, an arbitrary axis can be commanded in addition to the orthogonal coordinate system (X, Y, Z) used as the reference. The arbitrary axis designated in the interme- diate point designating block (1st block) interpolates to the command point when the axis moves from the start point to intermediate point. The arbitrary axis designated in the end point command block (2nd block) interpo- lates to the command point when the axis moves from the intermediate point to the end point. The number of arbitrary axes that can be commanded differs according to the number of simultaneous contour control axes. The total of the basic three axes used as the reference of the 3-dimensional circular interpolation and the arbi- trary axes commanded simultaneously must be less than or equal to the number of simultaneous contour control axes.

(5) When the 3-dimensional circular interpolation is commanded while the incremental command is valid, designate the relative position of the intermediate point with respect to the start point in the intermediate point designation block. In the end point designation block, designate the relative position of the end point with respect to the in- termediate point.

When the 3-dimensional circular interpolation is commanded, an arc that exists over the 3-dimensional space can

be uniquely determined by designating the intermediate point and the end point in addition to the current position

which is the start point. (refer to following figure). Therefore, according to the command format, it is necessary to

designate the intermediate point in the 1st block and the end point in the 2nd block. If only one block is commanded,

the program error (P74) occurs.

Linear interpolation is applied when the end point match the start point in the 3-dimensional circular interpolation

command (refer to "When linear interpolation is applied"). Thus, a true circle (360-degree rotation) cannot be des-

ignated in the 3-dimensional circular interpolation.

In addition, designate the intermediate point in the middle of the start point and the end point. If the intermediate

point is near the start point or the end point, arc accuracy may fall.

[Designation of arc in 3-dimensional space]

As shown in the above figure, when three points (start point, intermediate point, end point) are specified on 3-dimen-

sional space, arc center coordinates can be obtained. An arc center cannot be obtained if only two points are spec-

ified, and a linear interpolation is applied.

If the intermediate point is near the start point or the end point, an error may occur when the center coordinate of

the arc is calculated.

Detailed description

Designating intermediate point and end point

(P) Plane including start point, intermedi- ate point and end point

(S) Start point (Current position)

(E) End point

(CP) Intermediate point

(C) Center

(E)

(CP)

(S) (C)

(P)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

114IB-1501277-Q

In the following cases, linear interpolation is applied without executing 3-dimensional circular interpolation.

(1) When the start point, intermediate point, and end point are on the same line (refer to the following figure)

(If the end point exists between the start point and the intermediate point, axes move in the order of the start

point, intermediate point, and end point.)

(2) When two of the start point, intermediate point and end point match

(Linear interpolation is applied even if the end point matches the start point to command true circle. When the

start point matches the end point, axes move in the order of the start point, intermediate point, and end point.)

[When linear interpolation is applied]

The 3-dimensional circular interpolation command G02.4 (G03.4) is a modal command belonging to the 01 group.

Therefore, the command remains valid until another G command in the 01 group is issued. When the 3-dimensional

circular interpolation commands are carried out continuously, the end point of the previous command is the start

point of the next command.

When linear interpolation is applied

Start point (Current position)

Intermediate point (Block1)

End point (Block2)

When the three points are on the same line, linear interpolation is applied.

Start point (Current position)

End point (Block2)

Intermediate point (Block1)

Even if the end point exists between the start point and intermediate point, axes move in the order of the start point, intermediate point, and end point.

Modal command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

115 IB-1501277-Q

G code command which leads to a program error during 3-dimensional circular interpolation modal

G code command which leads to a program error when 3-dimensional circular interpolation is commanded

Commands other than G code that causes a program error when commanded simultaneously with 3-dimensional

circular interpolation

Relationship with other functions

Commands that cannot be used

G Code Function name Program error

G07.1 Cylindrical interpolation P485

G12/G13 Circular cutting CW/CCW P75

G12.1 Polar coordinate interpolation P485

G16 Polar coordinate command P75

G41/G42 Tool radius compensation P75

G41/G42 3-dimensional tool radius compensation P75

G41.1/G42.1 Normal line control P75

G43/G44 Tool length compensation P75

G43.1 Tool length compensation along the tool axis P75

G43.4/G43.5 Tool center point control P941

G43.7 Tool position compensation P75

G51 Scaling P75

G51.1 Mirror image P75

G66/G66.1 User macro P75

G67 User macro P276

G68 Coordinate rotation by program P75

G68 3-dimensional coordinate conversion P921

G73/G74/G76/G81/G82 G83/G84/G85/G86/G87 G88/G89

Fixed cycles P75

G code modal Function name Program error

G07.1 Cylindrical interpolation P481

G12.1 Polar coordinate interpolation P481

G16 Polar coordinate command P75

G41/G42 Tool radius compensation P75

G41/G42 3-dimensional tool radius compensation P75

G41.1/G42.1 Normal line control P75

G43.1 Tool length compensation along the tool axis P75

G43.4/G43.5 Tool center point control P942

G43.7 Tool position compensation P75

G51 Scaling P75

G51.1 Mirror image P75

G66/G66.1 User macro P75

G68 Coordinate rotation by program P75

G68 3-dimensional coordinate conversion P922

Command code Function name Program error

,C / ,R Corner chamfering/Corner R P75

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

116IB-1501277-Q

If any of the following functions is used in 3-dimensional circular interpolation, an alarm occurs.

Chopping Macro interruption Mirror image by parameter setting Mirror image by external input Corner chamfering/corner rounding

The path of 3-dimensional circular interpolation during the graphic check is drawn as linear in each range from the

start point to the intermediate point and from the intermediate point to the end point.

Restart search cannot be performed on blocks in which 3-dimensional circular interpolation is performed. Doing so

may cause the program error (P49).

To use 3-dimensional circular interpolation in combination with the tool length offset function, complete the tool com-

pensation operation (movement of tool length and wear compensation amount) before starting 3-dimensional circu-

lar interpolation.

If 3-dimensional circular interpolation is commanded while the tool compensation operation is not completed, the

arc path (refer to the following figure) is such that the start point coordinates of the arc are uncompensated and the

intermediate point and end point coordinates are located at the compensated positions.

To cancel the tool length offset during the 3-dimensional circular interpolation modal, use the G49 (cancel) com-

mand. If "G43 H0" is commanded, the program error (P75) occurs, and the tool length offset cannot be canceled.

Functions that cannot be used

Graphic check

Program restart

Tool length offset

(S) Start point (uncompensated)

(E1) End point (before compensation)

(E2) End point (after compensation)

(CP1) Intermediate point (before compensa- tion)

(CP2) Intermediate point (after compensa- tion)

Arc path

Arc path without compensation

Tool compensation amount

Z

X

Y (E2)

(S)

(CP2)

(CP1)

(E1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

117 IB-1501277-Q

The high-speed machining mode II is temporarily canceled while 3-dimensional circular interpolation is being exe-

cuted. Both of the high-speed high-accuracy control II and III function as the high-accuracy control mode.

The SSS control is temporarily canceled while 3-dimensional circular interpolation is being executed.

Restrictions may be added for other functions as well. Refer to the explanation of each function.

(1) If this command is executed with a single block enabled, a block stop is carried out at the intermediate point.

High-speed machining mode II, High-accuracy control, High-speed high-accuracy control II/III

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

118IB-1501277-Q

6.16 NURBS Interpolation; G06.2

This function realizes NURBS (Non-Uniform Rational B-Spline) curve machining by simply commanding NURBS

curve parameters (stage, weight, knot, control point), which is used for the curved surface/line machining, without

replacing the path with minute fine segments.

This function operates only in the high-speed high-accuracy control II/III mode, therefore, the high-speed high-ac-

curacy control II/III function is also required as the specification.

(1) High-speed high-accuracy control III functions as high-speed high-accuracy control II while NURBS interpolation is ON.

However, if the curvature is large, the speed is clamped so that the machine's tolerable acceleration rate is not ex-

ceeded.

Function and purpose

Command format

NURBS interpolation start

G06.2 Pp Kk1 X1 Yy1 Zz1 Rr1 Ff;

Kk2 Xx2 Yy2 Zz2 Rr2;

Kk3 Xx3 Yy3 Zz3 Rr3;

Kk4 Xx4 Yy4 Zz4 Rr4;

:

Kkn Xxn Yyn Zzn Rrn;

Kkn+1;

Kkn+2;

Kkn+3;

Kkn+4;

Pp Set the stage of the NURBS curve. Designate in the same block as G06.2 command. The NURBS curve of the stage p will be (p-1)th curve. When omitted, Pp means the same as P4. (Example) P2: Primary curve (linear)

Kkn Knot Set the knot for each NURBS interpolation block. Set the same value for the knot in the 1st block to the stage p block. NURBS interpo- lation is terminated if there is a block exclusively with knot.

Xxn Yyn Zzn Control point coordinate value. Designate the same coordinate value for the 1st block control point as that designated right before NURBS interpolation.

Rrn Control point weight. Set the weight of each NURBS interpolation control point.

Ff Interpolation speed (Can be omitted)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

119 IB-1501277-Q

(1) Designate the stage P for the 1st block of NURBS interpolation.

(2) Designate the same coordinate value for the 1st block control point of NURBS interpolation as that designated right before NURBS interpolation.

(3) Designate all axes to be used in the subsequent NURBS interpolation blocks for 1st block of NURBS interpola- tion.

(4) Set the same value for knot K from the 1st block of NURBS interpolation to setting value block of the stage P.

(5) Command knot K exclusive block of the same number as the setting value of the stage P for terminating NURBS interpolation. At this time, set the same value for knot K setting.

(1) If an exclusive knot is commanded immediately after NURBS interpolation, NURBS interpolation mode is active again. An exclusive knot that is commanded immediately after NURBS interpolation is the same meaning as following command.

G06.2 Pp Km Xxn Yyn Zzn R1.0

Detailed description

Passes through control point

NURBS interpolation curve

(xn,yn,zn)

(x4,y4,z4) (x3,y3,z3)

(x2,y2,z2)

(x1,y1,z1)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

120IB-1501277-Q

The example of program that has 4 stages (cubic curve) and 11 control points is shown below.

Program example

Control point

P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10

Knot 0.0 0.0 0.0 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 8.0 8.0 8.0

:

:

G05 P10000; High-speed high-accuracy control II mode ON

G90 G01 X0. Y0. Z0. F300 ;

G06.2 P4 X0. Y0. R1. K0 ; P0 NURBS interpolation ON

X1.0 Y2.0 R1. K0 ; P1

X2.5 Y3.5 R1. K0 ; P2

X4.4 Y4.0 R1. K0 ; P3

X6.0 Y0.5 R1. K1 ; P4

X8.0 Y0.0 R1. K2 ; P5

X9.5 Y0.5 R1. K3 ; P6

X11.0 Y2.0 R1. K4 ; P7

X10.5 Y4.5 R1. K5 ; P8

X8.0 Y6.5 R1. K6 ; P9

X9.5 Y8.0 R1. K7 ; P10

K8;

K8;

K8;

K8; NURBS interpolation OFF

G05 P0; High-speed high-accuracy control II mode OFF

:

:

Passes through control point

NURBS interpolation curve

P10(9.5,8.0)

P8(10.5,4.5)

P9(8.0,6.5)

P3(4.4,4.0)

P7(11.0,2.0)

P6(9.5,0.5)

P2(2.5,3.5)

P1(1.0,2.0)

P4(6.0,0.5) P0(0.0,0.0) P5(8.0,0.0)

10 1286420

0

1

2

3

4

5

6

7

8

9 Y

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

121 IB-1501277-Q

All the G code, feedrate and MSTB code cannot be set during NURBS interpolation.

However, when the fixed cycle G code is commanded in the same block where G06.2 is commanded, the fixed cycle

G code is ignored.

If a command other than the axis address designated in the 1st block of NURBS interpolation, R and K is command-

ed, a program error will occur.

(1) Optional block skip "/" Cannot be set in the NURBS interpolation 2nd block or after.

(2) Control IN ")" and Control OUT "(" Cannot be set in the NURBS interpolation 2nd block or after.

(3) Local variables and common variables Can be referred but cannot be set in the NURBS interpolation. Setting the variables causes a program error (P29).

(4) System variable Cannot be referred nor set in the NURBS interpolation; a program error (P29) will occur.

The validity of program interruption/restart is shown below.

(*1) A single block stop is carried out at the last control points only.

The single block stop is not applied during NURBS interpolation.

(*2) NURBS interpolation mode is canceled with Reset (Reset1/Reset2/Reset&Rewind).

(*3) The operation differs according to the manual absolute signal status.

When the manual absolute signal OFF, NURBS interpolation is carried out in the state where axis-coordinate system is shifted by the manual ab- solute movement amount. When the manual absolute signal ON

Upon automatic start after manual interruption, a program error (P554) will occur after moving by the re- maining distance. Note that the operation can run continually by returning the axis to the original position after manual inter- ruption.

(*4) "Macro interrupt" signal (UIT) is ignored.

(*5) "PLC interrupt" signal (PIT) is ignored.

Relationship with other functions

G code/Feed/Miscellaneous functions

Data format

Interruption/restart

Type During NURBS interpolation

Single block Valid (*1)

Feed hold Enabled

Resetting Valid (*2)

Program stop Disabled

Optional stop Disabled

Manual interruption Invalid (*3)

MDI interruption Disabled

Restart search Disabled

Macro interruption Invalid (*4)

PLC interruption Invalid (*5)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

122IB-1501277-Q

NURBS interpolation cannot be applied during graphic check (continuous/step check).

Linear interpolation that connects the control points is applied during graphic check.

With the high-accuracy control in 2 part systems specification, NURBS interpolation can be commanded by 1st and

2nd part systems.

(1) Target axes for NURBS interpolation are 3 basic axes.

(2) Command the control point for all the axes for which NURBS interpolation is carried out in the 1st block (G06.2 block). A program error (P32) will occur if an axis which was not commanded in the 1st block is commanded in the 2nd block or after.

(3) The first control point (G06.2 block coordinate value) should be commanded as the start point of the NURBS curve. Thus, the start point of the NURBS curve should be commanded to match the end point of the previous block. A program error will occur if the points do not match. (P552)

(4) The command range of the weight is 0.0001 to 99.9999. If "1" is commanded, the resulting command will be equal to "1.0". If more than 5 digits are commanded after the decimal point, a program error (P33) will occur.

(5) The knot command cannot be omitted, and must be commanded in each block. A program error (P33) will occur if omitted.

(6) As with knot, in the same manner as weight, up to 4 digits can be commanded after the decimal point. Even if the decimal point is omitted, the value will be handled as the one with a decimal point. If "1" is commanded, the result will be the same as "1.0". If more than 5 digits are commanded after the decimal point, a program error (P33) will occur.

(7) As with knot, command the same or greater value than the previous block. If a smaller value than previous block is set, a program error (P551) will occur.

(8) NURBS interpolation cannot be applied during graphic check (continuous/step check). Linear interpolation that connects the control points is applied during graphic check.

(9) NURBS interpolation mode is canceled with Reset (Reset1/Reset2/Reset&Rewind).

Graphic check

High-accuracy Control in 2 part Systems

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

123 IB-1501277-Q

(10) NURBS interpolation can be commanded in only the following modes. If NURBS interpolation is commanded in other than the following modes, the program error (P29) will occur.

Type Mode in which NURBS interpolation can be commanded

G group 0 High-speed high-accuracy control II (G05 P10000) High-speed high-accuracy control III (G05 P20000)

G group 5 Asynchronous feed (G94)

G group 7 Tool radius compensation cancel (G40)

G group 8 Tool length offset +/-(G43/G44)

Tool length offset cancel (G49)

G group 9 Fixed cycle cancel (G80)

G group 11 Scaling cancel (G50)

G group 13 High-accuracy control ON (G61.1) Cutting mode (G64)

G group 14 User macro modal call cancel (G67)

G group 15 Normal line control cancel (G40.1)

G group 16 Programmable coordinate rotation mode OFF /3-dimensional coordinate conversion mode OFF (G69)

G group 17 Constant surface speed control OFF (G97)

G group 18 Polar coordinate command OFF (G15)

G group 19 G command mirror image cancel (G50.1)

G group 21 Polar coordinate interpolation cancel (G13.1)

- Not during the coordinate rotation by parameter

- Not during the mirror image by parameter setting

- Not during the mirror image by external input

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

124IB-1501277-Q

6.17 Hypothetical Axis Interpolation; G07

Take one of the axes of the helical interpolation or spiral interpolation, including a linear axis, as a hypothetical axis

(axis with no actual movement) and perform pulse distribution. With this procedure, an interpolation equivalent to

the helical interpolation or spiral interpolation looked from the side (hypothetical axis), or SIN or COS interpolation,

will be possible.

Normal helical interpolation

Helical interpolation in the hypothetical axis interpolation mode

To perform the SIN interpolation on Z-X plane, execute the helical interpolation (Y-X plane: G17 G02) with Y axis,

which is designated as the hypothetical axis. The hypothetical axis does not make any actual movement.

Function and purpose

Command format

G07 0 ; ... Hypothetical axis interpolation mode ON

G07 1 ; ... Hypothetical axis interpolation mode cancel

Axis name for which hypothetical axis interpolation is performed.

0.

5.

10.

-5.

-10.

20. 40. -10.0.

X X

YZ

0.

5.

10.

-5.

-10.

20. 40. -10.0.

X X

YZ

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

125 IB-1501277-Q

(1) During G07 0 ; to G07 1 ;, axis will be the hypothetical axis.

(2) Any axis among the NC axes can be designated as the hypothetical axis.

(3) Multiple axes can be designated as the hypothetical axis.

(4) The number other than 0 (hypothetical axis interpolation mode ON) or 1 (cancel) is commanded, it will be han-

dled as 1 (cancel). However, when only the axis name is designated without a number, it will be handled as 0

(mode ON).

(1) Interpolation functions that are used for hypothetical axis interpolation are helical interpolation and spiral inter-

polation.

(2) Cancel the hypothetical axis interpolation before the high-speed high-accuracy control II (G05P10000) is com-

manded.

(3) The hypothetical axis interpolation is valid only in the automatic operation. It is invalid in the manual operation

mode. Handle interruption is valid even for the hypothetical axis, that is, axis will move by the interrupted amount.

(4) Movement command for the hypothetical axis will be ignored. The feedrate will be distributed in the same manner

as actual axis.

(5) The protection functions such as interlock or stored stroke limit are valid for the hypothetical axis.

(6) Even when the hypothetical axis is applied for the hypothetical axis again, no error will occur and the hypothetical

mode will be continued.

(7) When the hypothetical axis cancel is commanded to the actual axis, no error will occur and the axis remains as

the actual axis.

(8) The hypothetical axis will be canceled by carrying out the reset 2 or reset & rewind.

Detailed description

Program example

N01 G07 Y0 ; Y axis is handled as hypothetical axis.

N02 G17 G02 X0. Y0. Z40. I0. J-10. P2 F50; SIN interpolation is executed on X-Z plane.

N03 G07 Y1 ; Y axis is returned to the actual axis.

Precautions

0.

5.

10.

-5.

-10.

20. 40.

X

Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

126IB-1501277-Q

6.18 Involute Interpolation; G02.2/G03.2

Involute interpolation moves a tool along an involute curve. Also, a tool can helically travel while moving along an

involute curve. This can be used for scroll machining of involute gears or compressors, and smooth accurate ma-

chining can be performed without stepping of path from the command by fine segment or without acceleration/de-

celeration by segment length.

More accurate machining can be performed by using the automatic speed control function for the speed such as

"involute interpolation override" and "acceleration rate clamping during involute interpolation".

Unless otherwise stated, the operation on the designated plane in the helical involute interpolation is the same as

the normal involute interpolation.

Function and purpose

Involute Interpolation Helical Involute Interpolation

(S) Start point

(E) End point

Program command path

XY plane projection path in command program

Involute curve is obtained with the following expression:

X() = R{cos (+0) + *sin (+0)} + X0

Y() = R{sin (+0) - *cos (+0)} + Y0

Circle in the right figure is the base circle.

R I

J

Y

(S)

(E)

X

X

(E)

(S)

Y

Z

(X,Y)

Y0 R

0

X

X0

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

127 IB-1501277-Q

The range of command value follows the input range of coordinate position data.

The range of command value follows the input range of coordinate position data.

Command format

Involute Interpolation

G02.2 (G03.2) X__ Y__ I__ J__ R__ F__; G17 plane

G02.2 (G03.2) Z__ X__ K__ I__ R__ F__; G18 plane

G02.2 (G03.2) Y__ Z__ J__ K__ R__ F__; G19 plane

G02.2/G03.2 Involute curve rotation direction (G02.2: clockwise; G03.2: counterclockwise)

X End point of involute interpolation (X axis)

Y End point of involute interpolation (Y axis)

Z End point of involute interpolation (Z axis)

I Incremental position from start point to center of base circle (X axis)

J Incremental position from start point to center of base circle (Y axis)

K Incremental position from start point to center of base circle (Z axis)

R Base circle radius

F Feedrate (in involute curve tangent direction)

Helical Involute Interpolation

G02.2 (G03.2) X__ Y__ __ I__ J__ R__ F__; G17 plane

G02.2 (G03.2) Z__ X__ __ K__ I__ R__ F__; G18 plane

G02.2 (G03.2) Y__ Z__ __ J__ K__ R__ F__; G19 plane

G02.2/G03.2 Involute curve rotation direction (G02.2: clockwise; G03.2: counterclockwise)

X End point of involute interpolation (X axis)

Y End point of involute interpolation (Y axis)

Z End point of involute interpolation (Z axis)

Linear axis end point

For , command the linear axis name. If it is used for a rotary axis, the program error (P33) occurs. Multiple linear axes can be commanded.

I Incremental position between start point and center of base circle (X axis)

J Incremental position between start point and center of base circle (Y axis)

K Incremental position between start point and center of base circle (Z axis)

R Base circle radius

F Feedrate (in involute curve tangent direction)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

128IB-1501277-Q

The following information is required to perform the involute interpolation:

(1) Rotation direction

(2) Start point of involute interpolation and end point coordinate

(3) Base circle radius and center coordinate

(4) Feedrate

The involute interpolation is performed on the selected plane. Plane selection is same as the circular command.

Operation example (G17 plane)

Detailed description

Details of operation (Involute interpolation)

G02.2 (When moving away from the base circle) G02.2 (When moving toward the base circle)

G03.2 (When moving toward the base circle) G03.2 (When moving away from the base circle)

(S) Start point

(E) End point

(B) Base circle

Y

(S)

(B)

(E) (Xx,Yy)

F

R

J

I (S)

(B)

(E) (Xx,Yy)

Y

F

J

R

I

(S)

(B)

(E) (Xx,Yy)

Y

F

J

I

R

(S)

(B)

(E) (Xx,Yy)

Y

F

J

I

R

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

129 IB-1501277-Q

The program helically interpolates the involute curve while performing involute interpolation on the selected plane.

Plane selection is same as the circular command.

Operation example (When the Z axis is commanded in the negative direction on the G17 plane)

Details of operation (Helical involute interpolation)

G02.2 (When moving away from the base circle) G02.2 (When moving toward the base circle)

G03.2 (When moving toward the base circle) G03.2 (When moving away from the base circle)

(S) Start point

(E) End point

(B) Base circle

Z

Y

(S)

(S)

(B) X

X (E) (X_,Z_)

(E) (X_,Y_)

J

I

R

Y

(S)

(S)

(B)

(E) (X_,Z_)

(E) (X_,Y_)

Z

J

I

R

X

X

(S)

(S)

(B)

(E) (X_,Z_)

(E) (Xx,Yy)

Z

X

X

J

I

Y

R

(S)

(S)

(B)

(E) (X_,Z_)

(E) (Xx,Yy)

Z

X

J

I

X

Y

R

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

130IB-1501277-Q

Command the rotation direction with G02.2 (CW) or G03.2 (CCW). Plane selection (G17/G18/G19) and rotation di-

rection (clockwise/counterclockwise) are the same as circular interpolation (G02/G03).

The start point of the involute interpolation is the current position.

The end point coordinates are commanded by X and Y (or Z). The command value is either absolute or incremental

based on G90/G91.

There are two involute curves passing the start point, and one of them is selected as follows:

When the end point is closer to the center of base circle than the start point, the involute curve moves toward the base circle.

When the end point is further from the center of base circle than the start point, the involute curve moves away from the base circle.

When the start point and the end point are at an even distance from the center of base circle, the program error (P71) occurs because the direction of involute curve cannot be decided.

When the end point is not commanded, the program error (P33) occurs. When either the start point or the end point is inside the base circle, the program error occurs (P71) because

the involute curve cannot be created.

The following figure shows the positional relationship between the start point and the end point:

Command the base circle radius with R. The command value is always issued with a positive value. When the com-

mand value is "0" or negative, the program error (P33) occurs. Command the center coordinate of base circle by I

and J (or K). The command value is always issued with the incremental position from the start point regardless of

G90/G91.

Command I and J (or K) with a sign depending on the direction of base circle center as seen from the start point.

When I and J (or K) is not commanded or the both are "0" (equal to the start point), the program error (P33) occurs.

Command the feedrate with "F". Command the feedrate with "F". The speed is in the involute curve tangent direc-

tion.

Rotation direction

Start point and end point of involute interpolation

Base circle's radius and center coordinate

Feedrate

Y

X

When the end point is further than the start point

When the end point is closer than the start point

Start point

Base circle

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

131 IB-1501277-Q

Tool radius compensation can be commanded even during the involute interpolation.

Command the compensation with G40/G41/G42 in the same way as in circular interpolation.

G40: Cancel tool radius compensation. G41: Compensate the left side facing forward. G42: Compensate the right side facing forward.

For tool radius compensation of involute interpolation, the intersection points obtained using the approximated cir-

cular command are regarded as the start and end points, and the interpolation is performed on the involute curve

that connects the obtained intersection points.

Command the feedrate with "F". Command the feedrate with "F". The speed is in the involute curve tangent direc-

tion.

When the start point or the end point is inside the base circle as a result of compensation, the involute curve cannot

be created. Therefore, even when the start point and the end point are outside the base circle before compensation,

the program error (P71) occurs.

The speed at the cutting point varies depending on the curvature radius even when the feedrate of the tool center

path is constant because the curvature of involute curve is not constant. This tendency is more obvious near the

base circle, because the curvature radius is smaller there. The speed at the cutting point can be constant using the

involute interpolation override function described later.

When the tool radius compensation is started or canceled in the involute interpolation modal or helical involute in-

terpolation modal, the program error (P151) occurs.

During the involute interpolation or helical involute interpolation, interference avoidance cannot be performed. Even

when the parameter "#8102 COLL. ALM OFF" is "1", the program error (P153) occurs if an interference occurs.

Tool radius compensation

Y

X

N3

N2 N1

Approximate circle of end point

Approximate circle of start point

Tool center path

Programmed path

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

132IB-1501277-Q

The following two types of automatic speed control functions can be used during the involute interpolation, which

can improve machining accuracy.

[Involute interpolation override]

For the tool radius compensation, the feedrate is commanded as the speed on the tool center path. However, the

curvature of involute curve is inconstant, thus even when the feedrate on the tool center path is consistent, the

speedat the cutting point varies depending on the curvature radius. This tendency is more obvious near the base

circle, because the curvature radius is smaller there.

"Involute interpolation override" function applies override to the speed on the tool center path according to the cur-

vature radius so that the speed at the cutting point becomes the commanded speed.

Override value is calculated as follows:

(1) When the tool radius compensation is inside, the override may be considerably small near the base circle. The lower limit value of override can be set by "#1558 IvOMin" and the tool center speed is controlled so as not to be below the lower limit value of override. (This parameter setting depends on the MTB specifications.)

(2) When "0" is set in "#1558 IvOMin", the involute interpolation override function is invalid and the override during the tool radius compensation is always 100%.

(3) Note that when the tool radius compensation is outside, the actual travel speed becomes larger than the com- manded speed. Even in this case, the travel speed does not exceed the cutting feed clamp speed of each axis.

Automatic speed control

R: Curvature radius of tool center

r: Tool radius compensation amount

Programmed path

Tool center path

Tool radius compensation Override

Inside R / (R + r)

Outside R / (R - r)

Y

X

R

r

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

133 IB-1501277-Q

[Involute interpolation acceleration rate clamp (High-accuracy control mode only)]

In the involute interpolation, even when the tool moves at a constant speed in the tangential direction, the acceler-

ation rate increases because the curvature radius becomes smaller near the base circle. To prevent the excessive

load on the machine, the speed in the tangent direction can be clamped to be at the acceleration rate set by the

parameter or below according to the curvature radius in high-accuracy control mode.

The allowable acceleration rate is determined by the following expression:

The clamp speed in the tangent direction is obtained by the following expression:

(Example) In the case of the following conditions:

Maximum speed "#1206 G1bF": 30000 (mm/min)

Involute interpolation allowable acceleration rate "#1559 IvAMax": 600 (ms)

Involute interpolation minimum feedrate "#1560 IvFMin": 1000 (mm/min)

Allowable acceleration rate is as follows:

30000 (mm/min)/600 (ms) 833.333 (mm/s2)

The clamp speed at the position of curvature radius 2 mm is as follows:

2 (mm) 833.333 (mm/s2) 2449.489 (mm/min)

(1) When "0" is set in "#1560 IvFMin", the involute interpolation acceleration rate clamp function is invalid and the speed in the tangent direction is constant regardless of the curvature radius.

(2) The clamp speed may be extremely small (or "0") near the base circle. The lower limit value of clamp speed can be set by "#1560 IvFMin" and the speed in the tangent direction is controlled so as not to be below the lower limit value of clamp speed.

(3) Note that the speed is nearly "0" when "0" is set in "#1560 IvFMin" and the curvature radius is extremely small.

Whether the normal speed designation or the involute plane component speed designation is valid depends on the

MTB specifications.

Involute interpolation override is valid regardless of the setting of this parameter.

Involute interpolation acceleration rate clamp is performed for the speed component on the involute plane.

(Allowable acceleration rate) = (Maximum speed)/(Involute interpolation allowable acceleration rate)

(Clamp speed) = (Curvature radius) x (Allowable acceleration rate)

: G00 X-5.708 Y0.; N1 G61.1; N2 G02.2 X0. Y10. I15.708 J10. R10. F3000; N3 G02.2 X5.708 Y0. I-10. J0. R10.; G64; :

Helical involute interpolation speed designation

#1235 set07/bit0 Meaning

0 Resultant speed designation of all the commanded axes

1 Involute plane component speed designation

Y

X

10.

N3N2

-5.708 5.7080

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

134IB-1501277-Q

The program example of the absolute command on G17 plane is as below:

Program example

Involute Interpolation

G02.2 X223. Y34. I92. J-416. R100. F500;

Start point of involute interpolation (50, 550)

End point of involute interpolation (X, Y) 223, 34

Distance to the center of base circle (I, J) 92, -416

Base circle radius R 100

Feedrate (in curve tangent direction) 500

(S) Start point

(E) End point

(B) Base circle

Helical Involute Interpolation

G02.2 X223. Y34. Z-500. I92. J-416. R100. F500;

Start point of involute interpolation (50., 550.)

Linear axis (X axis) start point 0.

End point of involute interpolation (X, Y) 223., 34.

Linear axis end point (Z) -500.

Incremental position between start point and cen- ter of base circle (I, J)

92., -416.

Base circle radius (R) 100.

Feedrate (F) 500

(S) Start point

(E) End point

(B) Base circle

Y F

(S)

(B) (E)

I

J

R

X

Y

(B) (E)

(E)

(S)

(S)

F I

J

X

Z

X

R

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

135 IB-1501277-Q

When the following commands are issued in involute interpolation or helical involute interpolation modal, the pro-

gram error occurs.

When the following functions are used in involute interpolation modal or helical involute interpolation modal, the pro-

gram error occurs.

Corner rounding Corner chamfering

(*1) G40 in the tool radius compensation mode causes the program error, but does not cause the error in the tool

radius compensation cancel mode.

(*2) G49 in the tool length offset mode causes the program error, but does not cause the error in the tool length offset

cancel mode.

Relationship with other functions

Commands that cannot be issued in involute interpolation modal or helical involute interpolation modal

G code command G group Function

G05.1 Q2 0 Fine spline

G31 0 Skip

G31.1, G31.2, G31.3 0 Multi-step skip 1 to 3

G34, G35, G36, G37.1 0 Special fixed cycle

G37 0 Automatic tool length measurement

G38 0 Tool radius compensation vector designation

G39 0 Tool radius compensation corner arc

G45, G46, G47, G48 0 Tool position offset

G53.1 0 Tool axis direction control

G60 0 Unidirectional positioning

G40 (*1) 7 Tool radius compensation cancel

G41, G42 7 Tool radius compensation/3-dimensional tool radius compensa- tion/nose radius compensation

G41.2, G42.2 7 3-dimensional tool radius compensation (Tool's vertical-direction compensation)

G43, G44 8 Tool length offset

G43.4, G43.5 8 Tool center point control

G43.7 8 Tool position compensation

G49 (*2) 8 Tool length offset cancel

G51 11 Scaling ON

G63 13 Tapping mode

G63.1, G63.2 13 Synchronous tap mode

G41.1, G42.1 G151, G152

15 Normal line control

G68 16 Coordinate rotation ON

3-dimensional coordinate conversion ON

G68.2, G68.3 16 Inclined surface machining command

G69 16 Coordinate rotation cancel

3-dimensional coordinate conversion cancel

G96 17 Constant surface speed control ON

G16 18 Polar coordinate command ON

G51.1 19 Mirror image by G code ON

G7.1, G107 21 Cylindrical interpolation

G12.1, G112 21 Polar coordinate command ON

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

136IB-1501277-Q

When the involute interpolation (G02.2, G03.2) is commanded in the following modes, the program error occurs.

When the involute interpolation or helical involute interpolation (G02.2, G03.2) is commanded while the following are

used, a program error occurs.

Mirror image by parameter setting Mirror image by external input

Mode in which involute interpolation cannot be commanded

G code command G group Function

G05.1 Q2 0 Fine spline

G10 0 Parameter input by program/Compensation data input

G41, G42 7 Nose R compensation

G41.2, G42.2 7 3-dimensional tool radius compensation (Tool's vertical-direction compensation)

G43.4 G43.5

8 Tool center point control

G43.7 8 Tool position compensation

G51 11 Scaling

G63 13 Tapping mode

G63.1, G63.2 13 Synchronous tap mode

G41.1, G42.1 G151, G152

15 Normal line control

G68 16 3-dimensional coordinate conversion

G96 17 Constant surface speed control

G16 18 Polar coordinate command

G51.1 19 Mirror image by G code ON

G7.1, G107 21 Cylindrical interpolation

G12.1, G112 21 Polar coordinate interpolation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

137 IB-1501277-Q

(1) This function does not support SSS control. Even when "#8090 SSS ON" is "1" (ON), the involute block operates with SSS control OFF. It decelerates once before and after the involute block.

(2) Even when "#1572 cirorp" is "1" (ON), the overlap is not performed between a linear or arc block and involute block.

(3) Involute interpolation can be commanded in high-speed machining mode or high-speed high-accuracy mode, but does not support these modes. The fine segment processing capability is the same as the speed in the nor- mal mode.

(4) This function does not support graphic check. The start point and end point are traced linearly in the involute block.

(5) G68 is a G code that is common to the coordinate rotation by program and the 3-dimensional coordinate conver- sion. The involute interpolation can be commanded during the execution of the coordinate rotation by program; however, when it is commanded in 3-dimensional coordinate conversion, a program error occurs.

(6) When this function is carried out by selecting a plane other than the one designated with "#8621 Coord rot plane (H)" and "#8622 Coord rot plane (V)" during the execution of the coordinate rotation by program, a program error occurs.

(7) When you carried out the coordinate rotation by program or the 3-dimensional coordinate conversion, command the involute interpolation after performing positioning or linear interpolation with the absolute position for the two axes within the planes to which coordinate rotation was performed. If the involute interpolation is commanded without performing positioning or linear interpolation, a program error may occur.

(8) The involute interpolation does not support reverse run. If the reverse run is performed to this function, a program error occurs.

Note that if the end point is not on the involute curve that passes through the start point, the following operation re-

sults:

When the error L is greater than "#8077 Invlute error", the program error (P70) occurs at the start point of the involute interpolation. When the error L is the same or smaller than "#8077 Invlute error", the curve is in the direction toward the

commanded end point.

When the end point error is large, the actual speed may be different from the commanded feedrate.

When the involute error is not set (setting value: 0.000), the allowable error is 0.1 (mm) as a default value.

Precautions and restrictions

End point error

L

Y

X

The involute curve through the end point

The involute curve through the start point

End pointStart point

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

6 Interpolation Functions

138IB-1501277-Q

Set the number of revolutions within 100 from the start point of the curve at start/end point of involute interpolation.

The times of rotations is obtained by the angle indicated with in the calculation formula of the involute curve in the

"Function and purpose" section. ( 360 100)

X() = R{cos (+0) + *sin (+0)} + X0

Y() = R{sin (+0) - *cos (+0)} + Y0

When the number of revolutions exceeds 100 times, the program error (P35) occurs.

When involute interpolation override is combined with cutting override, it is performed before cutting override.

Number of revolutions

Cutting override

7

139 IB-1501277-Q

Feed Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

140IB-1501277-Q

7Feed Functions 7.1 Rapid Traverse Rate 7.1.1 Rapid Traverse Rate

The rapid traverse rate can be set with parameters independently for each axis. The available speed ranges are

from 1 mm/min to 10000000 mm/min. The upper limit is subject to the restrictions limited by the machine specifica-

tions.

Refer to the specifications manual of the machine for the rapid traverse rate settings.

The feedrate is valid for the G00, G27, G28, G29, G30 and G60 commands.

Two paths are available for positioning: the interpolation type where the area from the start point to the end point is

linearly interpolated or the non-interpolation type where movement proceeds at the maximum speed of each axis.

The type is selected with parameter "#1086 G0Intp". The positioning time is the same for each type.

If the high-accuracy control mode's rapid traverse rate is set, the axis will move at that feedrate during high-accuracy

control, high-speed high-accuracy control I/II/III, high-accuracy spline control or SSS control.

If the value set for the high-accuracy control mode rapid traverse rate is 0, the axis will move at the rapid tra- verse rate. The high-accuracy control mode rapid traverse rate can be set independently for each axis. The high-accuracy control mode rapid traverse rate is effective for the following G commands: G00, G27, G28,

G29, G30 and G60. Override can be applied on the high-accuracy control mode rapid traverse rate using the PLC signal supplied.

(The operation of the PLC signal depends on the MTB specifications.)

(1) Rapid traverse override Override can be applied by a PLC input signal for both manual and automatic rapid traverse. There are 2 types which are determined by the PLC specifications. Type1 : Override in 4 steps (1%, 25%, 50% and 100%). Type2 : Override in 1% steps from 0% to 100%.

Function and purpose

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

141 IB-1501277-Q

7.1.2 G00 Feedrate Command (,F Command)

Use this function to specify G00 (positioning command) and an axis feedrate in G00 mode.

The speed of tool exchange, axis movement of gantry, etc. can be specified with the machining program so that the

mechanical vibration can be suppressed.

Operations other than the feedrate follows the G00 specification.

(1) ",F" command is in effect only in the block in which it is commanded.

(2) If ",F" is commanded in G00, G27 to G30, G60, G00 mode, a block other than the one that specifies the move- ment to the initial point of the hole position for the drilling cycle or a block that does not contain a movement command (axis address command), ",F" is ignored.

(3) ",F" command in the feed per revolution (G95) mode will also be considered a feed per minute feedrate.

(4) The motion of the ",F" command varies depending on the status of parameter "#1086 G0Intp".

Feedrates when commanding G00 X200. Z300. ,F1000

fx: Actual X axis rate

fz: Actual Z axis rate

(5) When the ",F" command has not been issued, the rapid traverse rate set by the axis specification parameter will be valid. (*1)

Function and purpose

Command format

Rapid traverse at a feedrate specified with the ",F" command

G00 X_ Z_ (Y_) ,F1000;

,F Specifies the rapid traverse rates for G00, movement in G00 mode and the move- ment during the fixed cycle for drilling. The range is equal to the range of the feed per minute F command (mm/min, inch/ min) in the G01 mode. Switching inch/mm is invalid for rotary axes.

Detailed description

"#1086 G0Intp" Handling of ",F"command

OFF (see figure shown at below left) Handled as an interpolation speed.

ON (see figure shown at below right) Handled as a commanded speed for each axis.

When "G0 non-interpolation" is OFF When "G0 non-interpolation" is ON

E

Z

X X

Z S S

E

300 fz = 832.05(mm/min) fz = 1000(mm/min)

1000(mm/min)

fz =

1 00

0( m

m /m

in )

fx =

5 54

.7 0(

m m

/m in

)

300

20 0

20 0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

142IB-1501277-Q

(6) The ",F" command is clamped by the rapid traverse rate set by the axis specification parameter. (*1)

Feedrate clamping depends on the setting of parameter "#1086 G0Intp".

(*1) The rapid traverse rate parameter depends on the MTB specifications.

Typically, parameter "#2001 rapid" is selected.

(1) Feedrate command in G00 block and G00 mode (for G00 interpolation)

(2) Speed command for the movement to the initial point of the hole position for the drilling cycle (for the tapping cycle of machining center system)

"#1086 G0Intp" Speed clamp

OFF If it is found that, after converting ",F" command value (interpolation speed) into a speed for each axis, there is an axis for which the programmed feedrate exceeds the rapid traverse rate parameter, the interpolation speed is calculated so that it does not exceed the rapid traverse rate. (*1)

ON An axis whose ",F" command value (per axis speed) exceeds the rapid traverse rate parameter is clamped to a speed specified by the parameter. (*1)

For an axis that does not exceed the rapid traverse rate parameter, the command- ed speed is applied.

Program example

:

G00 X100. Z100. ,F1000 ; The tool moves at the combined feedrate, 1000 (mm/min), of XZ.

X200. Z200. ; The X and Z axes interpolate at the fastest feedrate that does not exceed the rapid traverse rate parameter for each of these axes.

X300.Z300. ,F2500 ; The tool moves at the combined feedrate, 2500 (mm/min), of XZ.

:

:

G88 X-20. Z30 R5. F1.D3 S500 ,R1 ,F2000 ;

The tool moves to the initial point (Z30.) of the hole position at 2000 (mm/min). Positioning (G00) during the drilling cycle moves at 2000 (mm/min).

X-20. Z35. R5. ; The tool moves to the initial point (Z35.) of the hole position at the X axis rapid traverse rate (parameter setting value).

X-20. Z40. R5.,F3000 ; The tool moves to the initial point (Z40.) of the hole position at 3000 (mm/min). Positioning (G00) during the drilling cycle moves at 2000 (mm/min).

G80 ;

:

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

143 IB-1501277-Q

When ",F" is specified, constant-gradient acceleration/deceleration control is applied to the feedrate specified by

",F".

The feedrate (vertical axis in the figure below) varies depending on whether or not the ",F" command has been is-

sued. When the ",F" command has not been issued, the parameter "#2001 rapid" (Rapid traverse rate) setting is

applied to the feedrate. When the ",F" command has been issued, the ",F" command is applied to the feedrate.

The rapid traverse is performed at the feedrate specified with ",F" address.

The feedrate is accelerated or decelerated in accordance with the pattern of acceleration rate calculated from the

following parameters:

"#2001 rapid" (Rapid traverse rate) "#2151 rated_spd" (Rated speed) "#2153 G0t_rated" (G0 time constant up to rated speed) "#2152 acc_rate" (Acceleration rate in proportion to the maximum acceleration rate)

An override for ",F" command

The override cancel for the rapid traverse override is also invalid when ",F" is specified.

Relationship with Other Functions

Rapid traverse constant-gradient acceleration/deceleration

When the travel distance is short (a) Rapid traverse rate by #2001 or ",F" command speed

When the travel distance is long (Ts) Time constant

Rapid traverse constant-gradient multi-step acceleration/deceleration

Rated speed

Rapid Traverse Rate

Feedrate specified by ",F"

Time

Rapid traverse override

Override cancel

(Ts)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

144IB-1501277-Q

Dry run is valid when the parameter "#1085 G00Drn" is ON and the rapid traverse is OFF. The axis will move at the

manual feedrate that is set. If the manual override valid is turned ON, the cutting feed override also becomes valid.

It is also valid when ",F" is specified.

It is also valid when ",F" is specified.

",F" command is ineffective in tool center point control.

When an ",F" command is specified in the fixed cycle for drilling, the movement between hole positions is carried

out at the speed commanded with ",F".

",F" commands in the same block as for the special fixed cycle are ignored.

When an ",F" command is specified in the same block as G60 (unidirectional positioning), the feedrate specified by

",F" is assumed.

When an ",F" command is specified in the same block as G27 (reference position check), G29 (start point return),

and/or G30.n (tool change position return), the feedrate specified by ",F" is assumed.

When an ",F" command is specified in the same block as G28 (reference position return) and G30 (2nd to 4th ref-

erence position return), the feedrate specified by ",F" is assumed.

Axes not subject to high-speed reference position return are returned by the dog-type of in the same way as with

the manual type. The feedrate depends on the MTB specifications (parameter "#2025 G28rap").

(1) If an ",F" command is specified when there is no specifications for the feedrate specified for G00, a program error (P39) will occur.

(2) ",F" and "F" commands may be specified in the same block. The "F" command is assumed to the feedrate for cutting feed.

(3) Depending on the MTB specifications (parameter "#1100 Tmove"), compensation may be performed on a block that does not contain a move command. If an ",F" is specified in a tool compensation command (T command) block in which no move command is spec- ified, compensation move is made at the feedrate specified by ",F" only in G00 mode.

(4) If an ",F" is specified in a tool radius compensation cancel command (G40) block in which no move command is specified, tool radius compensation is canceled at the specified feedrate only in G00 mode. This is the same as when using the tool nose radius compensation instead of tool radius compensation.

Dry run

External deceleration

Programmable in-position check

Tool center point control

Special fixed cycle

Unidirectional positioning

Reference position check, Start point return, Tool change position return

Reference position return, 2nd to 4th reference position return

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

145 IB-1501277-Q

7.2 Cutting Feedrate

The cutting feedrate is assigned with address F and numerals.

The cutting feedrate is valid for the G01, G02, G03, G02.1 and G03.1 commands.

If the cutting clamp feedrate for the high-accuracy control mode is set, the axis will move at that feedrate during high-

accuracy control, high-speed high-accuracy control I/II/III, high-accuracy spline control or SSS control.

If the value set for the high-accuracy control mode cutting clamp speed is "0", the axis will be clamped at the cutting feed clamp speed.

The cutting feedrate is clamped with high-accuracy control mode cutting clamp speed in the parameter.

Examples Feed per minute (asynchronous feed)

Speed range that can be commanded (when input setting unit is 1m)

(1) A program error (P62) will occur when there is no F command in the first cutting command (G01, G02, G03) after the power has been turned ON.

Function and purpose

Feedrate

G01 X100. Y100. F200 ; 200.0mm/min F200 or F200.000 gives the same rate.

G01 X100. Y100. F123.4 ; 123.4mm/min

G01 X100. Y100. F56.789 ; 56.789mm/min

Command Mode Feedrate command range

Remarks

mm/min 0.001 to 10000000

inch/min 0.0001 to 1000000

/min 0.001 to 10000000

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

146IB-1501277-Q

7.3 F1-digit Feed

By setting the F1-digit feed parameter, the feedrate which has been set to correspond to the 1-digit number following

the F address serves as the command value.

When F0 is assigned, the rapid traverse rate is established and the speed is the same as for G00. (G modal does

not change, but the acceleration/deceleration method follows the rapid traverse setting.)

When F1 to F5 is assigned, the feedrate set to correspond to the command serves as the command value.

If F1-digit feedrate changing valid signal is turned ON when F1-digit feed is commanded, the feedrate specified by

the parameter can be increased or decreased by operation of manual handle. For the changing of F1-digit feedrate

with the handle feed, refer to the instruction manual.

(1) To validate the F1-digit feed, the parameter "#8145 Validate F1 digit" or "#1079 f1digt" must be ON.

(2) The feedrates that correspond to F1 to F5 depend on the MTB specifications (parameters "#1185 spd_F1" to "#1189 spd_F5"). The increase/reduction range is from "0" to the set value of the parameter "#1506 F1_FM". An operation error (M01 0104) will occur when the feedrate is "0". When F0 is commanded, the acceleration or deceleration method follows the rapid traverse setting. Note that the G modal is not changed.

(3) Use of both the F1-digit command and normal cutting feedrate command is possible when the F1-digit is valid. (Example 1) F0 Rapid traverse rate F1 to F5 F1 digit F6 or more Normal cutting feedrate command

(4) The F1-digit command is valid in a G01, G02, G03, G02.1 or G03.1 modal.

(5) The F1-digit command can also be used for fixed cycle.

(6) The F1-digit feedrate command can also be used during high-speed high-accuracy control II. However, a program error (P62) will occur when F0 command is issued.

(7) The F1-digit command is modal.

(8) The number of manual handle pulses is 1 pulse per scale unit regardless of the scaling factor.

(9) During a F1-digit command, the F1-digit number and F1-digit command signal are output as the PLC signals. (Based on the MTB specifications.)

Function and purpose

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

147 IB-1501277-Q

(1) F1 to F5 are invalid in the G00 mode and the rapid traverse rate is established instead.

(2) If F0 is used in the G02, G03, G02.1 or G03.1 mode, the program error (P121) will occur. The error will be elim- inated if the F0 command is rewritten.

(3) When F1. to F5. (with decimal point) are assigned, the 1mm/min to 5mm/min (direct numerical value command) are established instead of the F1-digit feed command.

(4) When the commands are used with inch units, one-tenth of the feedrate set correspond to F1 to F5 serves at the assigned speed inch/min.

(5) When the commands are used with the millimeter or degree units, the feedrate set to correspond to F1 to F5 serves as the assigned speed mm ()/min.

(6) Even if the F1-digit feed is commanded during feed per revolution (G95), it is executed as a normal F command (direct numerical value command).

(7) When both the F1-digit feed command and inverse time feed command are present, the inverse time feed com- mand will have priority. (The inverse time feed function is available only for a machining center system.)

(8) When both the F1-digit feedrate changing and the manual speed command are present, the manual speed com- mand will have the priority.

(9) In the synchronous tapping command, the speed cannot be changed with the handle.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

148IB-1501277-Q

7.4 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/

Synchronous Feed); G94,G95

By issuing the G94 command, the commands from that block are issued directly by the numerical value following F

as the feedrate per minute (mm/min, inch/min).

By issuing the G95 command, the commands from that block are issued directly by the numerical value following F

as the feedrate per spindle revolution (mm/rev, inch/rev).

When this command is used, the rotary encoder must be attached to the spindle.

G94/G95 commands are modal commands.

(Example) After the G95 command is assigned, the G95 command is valid until the G94 command or G93 command

(inverse time feed) is assigned next.

(1) The F code command range is as follows.

Metric input

Function and purpose

Feed per minute (asynchronous feed)

Feed per revolution (synchronous feed)

Command format

Feed per minute (mm/min) (asynchronous feed)

G94;

Feed per revolution (mm/rev) (synchronous feed)

G95;

Detailed description

Input Setting unit B (0.001 mm) C (0.0001 mm)

Command Mode Feed per minute Feed per revolution Feed per minute Feed per revolution

Command Address F (mm/min) F (mm/rev) F (mm/min) F (mm/rev)

Minimum command unit

1 (=1.000) (1.=1.000)

1 (=0.001) (1.=1.000)

1 (=1.0000) (1.=1.0000)

1 (=0.0001) (1.=1.0000)

Command range 0.001 - 1000000.000

0.001 - 999.999

0.0001 - 1000000.0000

0.0001 - 999.9999

Input Setting unit D (0.00001mm) E (0.000001mm)

Command Mode Feed per minute Feed per revolution Feed per minute Feed per revolution

Command Address F (mm/min) F (mm/rev) F (mm/min) F (mm/rev)

Minimum command unit

1 (=1.00000) (1.=1.00000)

1 (=0.00001) (1.=1.00000)

1 (=1.000000) (1.=1.000000)

1 (=0.000001) (1.=1.000000)

Command range 0.00001 - 1000000.00000

0.00001 - 999.99999

0.000001 - 1000000.000000

0.000001 - 999.999999

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

149 IB-1501277-Q

Inch input

(2) The effective rate (actual movement speed of machine) under per-revolution feed conditions is given in the fol- lowing formula (Formula 1). FC = F N OVR ...... (Formula 1) FC: Effective rate (mm/min, inch/min) F: Commanded feedrate (mm/rev, inch/rev) N: Spindle rotation speed (r/min) OVR: Cutting feed override

When multiple axes have been commanded at the same time, the effective rate FC in formula 1 applies in the

vector direction of the command.

(1) The effective rate (mm/min or inch/min), which is produced by converting the commanded speed, the spindle rotation speed and the cutting feed override into the per-minute speed, appears as the FC on the monitor 1. Screen of the setting and display unit.

(2) When the above effective rate exceeds the cutting feed clamp rate, it is clamped at that clamp rate.

(3) If the spindle rotation speed is zero when feed per revolution is executed, an operation error (M01 0105) occurs.

(4) Even in the machine lock status, the feedrate in feed per revolution follows the issued F command.

(5) Under dry run conditions, feed per minute applies and movement results at the manual feedrate (mm/min or inch/ min).

(6) The feed mode in the following cases follows the modal (G94/G95).

Tapping cycle (G84) Reverse tapping cycle (G74)

(7) Whether feed per minute (G94) or feed per revolution (G95) is to be established when the power is turned ON or when M02 or M30 depends on the MTB specifications (parameter "#1074 I_Sync").

Input Setting unit B (0.0001inch) C (0.00001inch)

Command Mode Feed per minute Feed per revolution Feed per minute Feed per revolution

Command Address F (inch/min) F (inch/rev) F (inch/min) F (inch/rev)

Minimum command unit

1 (=1.0000) (1.=1.0000)

1 (=0.0001) (1.=1.0000)

1 (=1.00000) (1.=1.00000)

1 (=0.00001) (1.=1.00000)

Command range 0.0001 - 100000.0000

0.0001 - 999.9999

0.00001 - 100000.00000

0.00001 - 999.99999

Input Setting unit D (0.000001inch) E (0.0000001inch)

Command Mode Feed per minute Feed per revolution Feed per minute Feed per revolution

Command Address F (inch/min) F (inch/rev) F (inch/min) F (inch/rev)

Minimum command unit

1 (=1.000000) (1.=1.000000)

1 (=0.000001) (1.=1.000000)

1 (=1.0000000) (1.=1.0000000)

1 (=0.0000001) (1.=1.0000000)

Command range 0.000001 - 100000.000000

0.000001 - 999.999999

0.0000001 - 100000.0000000

0.0000001 - 999.9999999

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

150IB-1501277-Q

7.5 Inverse Time Feed; G93

During inside cutting when machining curved shapes with radius compensation applied, the machining speed on the

cutting surface becomes faster than the tool center feedrate. Therefore, problems such as reduced accuracy may

occur.

This reduced accuracy can be prevented with inverse time feed. This function can, in place of normal feed com-

mands, issue one block of machining time (inverse) in F commands. The machining speed on the cutting surface is

constantly controlled, even if radius compensation is applied to the machining program that expresses the free curve

surface with fine segment lines.

Note that when the calculated machining time exceeds the cutting feed clamp speed, the F command value in the

inverse time feed follows the cutting feed clamp speed.

Function and purpose

Regular F command

Actual machining speed: High Actual machining speed: Low

The speed of tool center is commanded, thus the ac- tual speed at the cutting surface may become larger or smaller.

F command

Inverse time feed

The actual machining speed is constant.

The actual speed at the cutting surface is command- ed, thus, the speed will be constant and machining speed can be maintained as commanded regard- less of the tool radius.

F command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

151 IB-1501277-Q

Inverse time feed (G93) is a modal command. Once commanded, it will be valid until feed per minute or feed per

revolution is commanded.

In movement blocks, since processing time is commanded to a line segment, command the feedrate "F" each time.

(1) Inverse time feed (G93) is a modal command. Once commanded, it is valid until feed per minute (G94) or feed per revolution (G95) is commanded, or until a reset (M02, M30, etc.) is executed.

(2) Command method of F command values in inverse time feed

(3) The initial modal after a restart is G94 (feed per minute) or G95 (feed per revolution).

(4) The feedrate of the block inserted in tool radius compensation and corner R/C is the same speed as the feedrate of the block immediately before it.

(5) The feedrate of the block inserted in C axis normal line control (normal line control type II) is the same speed as the feedrate of the movement block after turning.

Command format

Inverse time feed

G93;

G00 Xx1 Yy1;

G93; -> Inverse time feed mode ON

G01 Xx2 Yy2 Ff2; -> In inverse time feed mode

G02 Xx3 Yy3 Ii3 Jj3 Ff3; :

G94 (G95); -> Inverse time feed mode OFF

Detailed description

Metric command (G21) Inch command (G20)

In linear mode (G01)

Cutting point feedrate (mm/min)

Line segment length (mm)

Cutting point feedrate (inch/min)

Line segment length (inch)

In arc mode (G02, G03)

(G02.1, G03.1)

Cutting point feedrate (mm/min)

Start point arc radius (mm)

Cutting point feedrate (inch/min)

Start point arc radius (inch)

Command range

B 0.001 to 999999.999 (1/min)

C 0.0001 to 999999.9999 (1/min)

D 0.00001 to 999999.99999 (1/min)

E 0.000001 to 999999.999999 (1/min)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

152IB-1501277-Q

When using inverse time feed during tool radius compensation

Comparison between feed per minute and inverse time feed (Assuming that tool radius is 10. [mm]) (Unit: mm/min)

Program example

Feed per minute

N01 G90 G00 X80. Y-80. ;

N02 G01 G41 X80. Y-80. D11 F500 ;

N03 X180. ;

N04 G02 Y-280. R100. ;

N05 G03 Y-480. R100. ;

N06 G02 Y-680. R100. ;

N07 G01 X80. F500 ;

N08 Y-80. ;

N09 G04 X80. Y-80. ;

N10 M02 ;

Inverse time feed

N01 G90 G00 X80. Y-80. ;

N02 G01 G41 X80. Y-80. D11 F500 ;

N03 X180. ;

N04 G93 G02 Y-280. R100. F5 ;

N05 G03 Y-480. R100. F5 ;

N06 G02 Y-680. R100. F5 ;

N07 G94 G01 X80. F500 ;

N08 Y-80. ;

N09 G04 X80. Y-80. ;

N10 M02 ;

Sequence No. Feed per minute Inverse time feed

Feedrate of tool cen- ter

Feedrate of cutting point

Feedrate of tool cen- ter

Feedrate of cutting point

N04 F500 F450 F550 F500

N05 F500 F550 F450 F500

N06 F500 F450 F550 F500

The block seam pro- trudes due to the cut- ting speed change at the block seam.

The feedrate follows the command regard- less of the tool radius.

N4

N5

N6

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

153 IB-1501277-Q

(1) Scaling (G51)

When using a scaling function, issue a F command for the shape after scaling. For example, if a doublesize scal-

ing is carried out, the machining distance will be twice.

Thus, if executing a cutting at the same speed as that of before scaling, command the value (F') calculated by

dividing F value by the multiples of scaling.

(2) High-speed machining mode II (G05P2)

With the inverse time feed (G93) modal, high-speed machining mode II (G05P2) is operated in the inverse time

feed mode, instead of high-speed machining mode. High-speed machining mode will be valid when the inverse

time feed mode is canceled.

(3) If the speed calculated in the G93 mode exceeds the speed range at the feed per minute, clamping is performed at the clamp speed set with parameters.

(4) The program error (P125) will occur when the commands below are issued in the inverse time feed (G93) mode.

(5) The program error (P125) will occur if inverse time feed (G93) is commanded in the following modes.

Relationship with other functions

F = Feedrate (mm/min) / Distance (mm)

Shape after scaling (Double size)

G code Function

G02.3, G03.3 Exponential interpolation

G06.2 NURBS interpolation

G12 Circular cutting CW

G13 Circular cutting CCW

G31 to G31.3 Skip

G33 Thread cutting

G34 to G36, G37.1 Special fixed cycle

G37 Automatic tool length measurement

G73 to G89 Fixed cycle

G96 Constant surface speed control ON

G code Function

G02.3, G03.3 Exponential interpolation

G33 Thread cutting

G73 to G89 Fixed cycle

G96 Constant surface speed control ON

F F' =

2

F

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

154IB-1501277-Q

(1) The initial modal after a restart is G94 (feed per minute) or G95 (feed per revolution).

(2) The F command in G93 modal is unmodal. Issue an F command for each block. The program error (P62) will occur in blocks with no F command.

(3) The program error (P62) will occur when F0 is commanded.

(4) An F command is necessary when changing from G93 to G94 or G95. The program error (P62) will occur if there is no F command.

(5) The feed function is clamped at the maximum cutting speed. Consequently, the feed may be slower than the commanded speed.

(6) If an extremely slow speed such as F0.001 is designated, an error will occur in the machining time.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

155 IB-1501277-Q

7.6 Feedrate Designation and Effects on Control Axes

It has already been mentioned that a machine has a number of control axes. These control axes can be divided into

linear axes which control linear movement and rotary axes which control rotary movement. The feedrate is designed

to assign the displacement speed of these axes, and the effect exerted on the tool movement speed which poses

problems during cutting differs according to when control is exercised over the linear axes or when it is exercised

over the rotary axes.

The displacement amount for each axis is assigned separately for each axis by a value corresponding to the respec-

tive axis. The feedrate is not assigned for each axis but assigned as a single value. Therefore, when two or more

axes are to be controlled simultaneously, it is necessary to understand how this will work for each of the axes in-

volved.

The assignment of the feedrate is described with the following related items.

Function and purpose

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

156IB-1501277-Q

Even when only one machine axis is to be controlled or there are two or more axes to be controlled simultaneously,

the feedrate which is assigned by the F code functions as a linear speed in the tool advance direction.

(Example) When the feedrate is designated as "f" and linear axes (X and Y) are to be controlled:

When only linear axes are to be controlled, it is sufficient to designate the cutting feed in the program.

The feedrate for each axis is such that the designated rate is broken down into the components corresponding to

the movement amounts.

(Example) When the feedrate is designated as "f" and the linear axes (X and Y) are to be controlled using the circular

interpolation function:

The rate in the tool advance direction, or in other words the tangential direction, will be the feedrate designated in

the program.

In this case, the feedrate of the X and Y axes will change along with the tool movement. However, the combined

speed will always be maintained at the constant value "f".

Detailed description

When controlling linear axes

... Feedrate for X axis

... Feedrate for Y axis

(S) Tool start point (E) Tool end point

(F) Speed in this direction is "f".

(S) Tool start point (E) Tool end point (F) Speed in this direction is "f".

Y

Xx

y = f

x

= f y

x2 + y2

x2 + y2 (E)

(F)

(S)

fx

fy

y

x

Y

Xi

(E)

(F)

(S)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

157 IB-1501277-Q

When rotary axes are to be controlled, the designated feedrate functions as the rotary speed of the rotary axes or,

in other words, as an angular speed.

Consequently, the cutting feed in the tool advance direction, or in other words the linear speed, varies according to

the distance between the center of rotation and the tool.

This distance must be borne in mind when designating the feedrate in the program.

(Example) When the feedrate is designated as "f" and rotary axis (C) is to be controlled ("f" units = /min)

In this case, the cutting feed (linear feed) in the tool advance direction "fc" is obtained as follows:

Therefore, the feedrate to be designated in the program must be as follows:

When controlling rotary axes

(S) Tool start point (E) Tool end point (CP) Center of rotation (F) Angular speed is "f".

(S) c

(E)

r (CP)

(F)

fc

fc = f r 180

f = fc 180 r

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

158IB-1501277-Q

The controller proceeds in exactly the same way whether linear or rotary axes are to be controlled.

When a rotary axis is to be controlled, the numerical value assigned by the coordinate word (A, B, C) is the angle

and the numerical values assigned by the feedrate (F) are all handled as linear speeds. In other words, 1 of the

rotary axis is treated as being equivalent to 1mm of the linear axis.

Consequently, when both linear and rotary axes are to be controlled simultaneously, in the components for each

axis of the numerical values assigned by F will be the same as previously described "When controlling linear axes".

However, although in this case both the size and direction of the speed components based on linear axis control do

not vary, the direction of the speed components based on rotary axis control will change along with the tool move-

ment (their size will not change). This means, as a result, that the combined tool advance direction feedrate will vary

along with the tool movement.

(Example) When the feedrate is designated as "f" and the linear axis (X) and the rotary axis (C) are to be controlled

simultaneously:

In the figure below, the X axis incremental command value is "x" and the C axis incremental command values

is "c":

X axis feedrate (linear speed) "fx" and C axis feedrate (angular speed) "" are expressed as:

Linear speed "fc" based on C axis control is expressed as:

If the speed in the tool advance direction at start point (S) is "ft" and the component speeds in the X axis and

Y axis directions are "ftx" and "fty", respectively, then these can be expressed as:

Where "r" is the distance (in millimeters) between center of rotation and tool and "" is the angle (in degrees)

between the (S) point and the X axis at the center of rotation.

When linear and rotary axes are to be controlled at the same time

(S) Tool start point

(E) Tool end point

(CP) Center of rotation

Size and direction are fixed for "fx".

Size is fixed for "fc" but direction varies.

Size and direction vary for "ft".

...... (1) ...... (2)

...... (3)

...... (4)

...... (5)

(S)

x

fc

c

fc ft

fx

fx

ft r

(E)

(CP)

fx = f x2 + c 2

x = f x2 + c 2

c

fc = 180

r

ftx = - rsin ( ) + fx 180

180

fty = - rcos ( )

180 180

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

159 IB-1501277-Q

The combined speed "ft" according to (1), (2), (3), (4) and (5) is as follows:

Consequently, feedrate "f" designated by the program must be as follows:

"ft" in formula (6) is the speed at the (S) point and the value of changes as the C axis rotates, which means

that the value of "ft" will also change. Consequently, in order to keep the cutting feed "ft" as constant as possible

the angle of rotation which is designated in one block must be reduced to as low as possible and the extent of

the change in the value must be minimized.

...... (6)

...... (7)

ftx 2 + fty 2 ft =

x2 - x c rsin ( ) + ( ) 2

x2 + c2 = f

90 r c

180

180

x2 - x c rsin( ) + ( ) 2

x2 + c2 f = ft

90 r c

180

180

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

160IB-1501277-Q

7.7 Selection of Axis (Axes) for Feedrate Command; G130

This function designates the feedrate of a selected axis (using the F command) to perform machining.

When the feedrate of a specific axis fluctuates wildly, it may not be possible to achieve the desired surface finish.

Fluctuation can be suppressed using this function, which can result in improved surface quality.

(*1) Speed differs in each block.

(*2) Speed is kept constant.

Function and purpose

When the function is invalid When the function is valid (with X axis being selected)

Resul- tant speed of all axes

Speed Speed

Time Time

Feedrate of each axis

Speed Speed

Time Time

X Y Z

(*1) X Y Z

(*2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

161 IB-1501277-Q

(1) G130 is a non-modal command of group 0.

(2) G130 must be commanded alone in a block. If it is commanded in the same block with other G codes, a program error (P45) occurs.

(3) Designate the axis name "n" using an axis address set in the parameter "#1013 axname". If the designated axis does not exist, the program error (P32) occurs.

(4) When an axis address enabled with the axis name extension function is specified for the axis name "n", the pro- gram error (P32) occurs.

(5) The selection of axis (axes) for feedrate command is canceled with Reset 1, Reset 2, Reset & rewind, or Emer- gency stop.

When using this function, designate the resultant speed for the target axis of the speed command using the F com-

mand.

For an axis that is not targeted for the speed command, adjust the speed so that no deviation occurs on the inter-

polation path.

[When not using the selection of axis (axes) for feedrate command]

[When using the selection of axis (axes) for feedrate command]

(1) When selecting only a single axis for the speed command:

Command format

Selection of axis (axes) for feedrate command

G130 Axis name 1 Axis name 2 ... Axis name n ;

Axis name n Axis address for which axis (axes) for feedrate command is performed

Selection of axis (axes) for feedrate command cancel

G130;

Operation example

: :

G01 X100. Y150. Z200. F1000; The F command is issued as the resultant speed of all axes. The travel speed is as follows: X axis: 371.391 (mm/min) Y axis: 557.086 (mm/min) Z axis: 742.781 (mm/min) All-axes resultant speed: 1000.000 (mm/min)

: :

: :

G130 X; Select the X axis for the speed command.

G01 X100. Y150. Z200. F1000; The F command is issued as the speed of the X axis. The travel speed is as follows: X axis: 1000.000 (mm/min) Y axis: 1500.000 (mm/min) Z axis: 2000.000 (mm/min) All-axes resultant speed: 2692.582 (mm/min)

: :

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

162IB-1501277-Q

(2) When selecting the linear axes for the speed command in the configuration of two linear axes and one rotary axis:

(3) When switching the rotary axis, which is currently selected for the speed command, to another axis:

The selection of axis (axes) for feedrate command is only available when G code group 1 is in the following modal.

If the selection of axis (axes) for feedrate command is applied during a modal other than the above, a program error

(P581) occurs.

: :

G130 XY; Select a linear axis for the speed command.

G01 X100. Y150. C200. F1000; The F command is issued as the resultant speed of the linear axes. The travel speed is as follows: X axis: 554.700 (mm/min) Y axis: 832.050 (mm/min) Linear-axis resultant speed: 1000.000 (mm/min) C axis: 1109.400 (mm/min) All-axes resultant speed: 1493.576 (mm/min)

: :

: :

G130 C; Select the C axis for the speed command.

G01 X100. Y150. C200. F1000; The rotation speed is as follows: C axis: 1000.000 (mm/min)

G130 XY; Select a linear axis for the speed command. (The previously selected C axis is canceled.)

G01 X200. Y300. C400. F800; The travel speed is as follows: Linear-axis resultant speed: 800.000 (mm/min)

G130; Cancel of axis (axes) for feedrate command

G01 X300. Y450. C600. F500; The travel speed is as follows: All-axes resultant speed: 500.000 (mm/min)

: :

Relationship with other functions

Relationship with G code group 1

G code Function name Operation in selection of axis (axes) for feedrate com- mand

G00 Positioning Operates at rapid traverse rate.

G01 Linear interpolation The F command is issued as the resultant speed of the axis for the speed command.

G02/G03 Circular interpolation Helical interpolation

The F command is issued as the resultant speed of all axes.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

163 IB-1501277-Q

The selection of axis (axes) for feedrate command cannot be combined with the functions shown in the table below.

Column A: Operation when the combination function is commanded while the selection of axis (axes) for feedrate

command is enabled

Column B: Operation when the selection of axis (axes) for feedrate command is commanded while the combi-

nation function is enabled

(1) When this function is used, the travel speed does not exceed the clamp speed of each axis.

(2) If all the movement axes are targeted for the speed command, the system performs the same operation as when this function is not used.

(3) When the movement axis is not targeted for the speed command, the F command is handled as the all-axes resultant speed.

(4) The selection of axis (axes) for feedrate command does not support the F 1-digit feed function. If the F 1-digit feed function is used, the speed commanded by F 1-digit command is handled as the resultant speed.

(5) The selection of axis (axes) for feedrate command does not support the dry run function. If the dry run function is used, the manual feedrate is handled as the resultant speed.

(6) The selection of axis (axes) for feedrate command does not support the variable-acceleration pre-interpolation acceleration/deceleration function. When the variable-acceleration pre-interpolation acceleration/deceleration is used, the F command is handled as the all-axes resultant speed.

Functions that cannot be combined with the selection of axis (axes) for feedrate command

G code Function name A B

G07 Hypothetical axis interpolation - P582

G12 Circular cutting

G31 Skip

G31.1-G31.3 Multi-step skip

G34-G36,G37.1 Special fixed cycle

G07.1 Cylindrical interpolation P581

G12.1/G112 Polar coordinate interpolation P581

G41.2/G41.3 3-dimensional tool radius compensation P162

G43.4/G43.5 Tool center point control P942

G54.4 Workpiece installation error compensation P545

G68 3-dimensional coordinate conversion Coordinate rotation by program

P581

G68.2 Inclined surface machining command P951

G70-G89 Fixed cycle P45

G93 Inverse time feed P581

M98 Figure rotation P581

- Coordinate rotation by parameter P581

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

164IB-1501277-Q

7.8 Rapid Traverse Constant-gradient Acceleration/Deceleration

This function performs acceleration and deceleration at a constant gradient during linear acceleration/deceleration

in the rapid traverse mode. The constant-gradient acceleration/deceleration method can be more beneficial in re-

ducing cycle time in comparison to the acceleration/deceleration with fixed time constant method.

(1) Rapid traverse constant-gradient acceleration/deceleration are valid only for a rapid traverse (G00) command. Also, this function is effective only when the rapid traverse command acceleration/deceleration mode is linear acceleration/deceleration or soft acceleration/deceleration.

(2) The acceleration/deceleration patterns in the case where rapid traverse constant-gradient acceleration/deceler- ation are performed are as follows.

[When the interpolation distance is long enough for the rapid traverse rate to be achieved]

Function and purpose

Detailed description

rapid : Rapid traverse rate

Ts : Acceleration/deceleration time constant

Td : Command deceleration check time

: Acceleration/deceleration gradient

T : Interpolation time

L : Interpolation distance

rapid

G00 Xx1 ;L

Ts Ts Td

T

T = L

rapid +Ts

Td = Ts + (0 - 14ms)

= tan-1 rapid

Ts ( )

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

165 IB-1501277-Q

[When the interpolation distance is so short that the rapid traverse rate is not achieved]

(a) Acceleration/deceleration with fixed time constant:

Even if the interpolation distance is short, interpolation takes twice as long as the time constant.

(b) Constant-gradient acceleration/deceleration:

The interpolation time is shorter than the acceleration/deceleration with fixed time constant.

rapid : Rapid traverse rate (Parameter "#2001 rapid")

Ts1 : Acceleration/deceleration time (Parameter "#2004 G0tL")

Ts2 : Acceleration/deceleration time to reach the maximum speed

Td : Command deceleration check time

: Acceleration/deceleration gradient

T1 : Interpolation time (Acceleration/deceleration with fixed time constant)

T2 : Interpolation time (Constant-gradient acceleration/deceleration)

L : Interpolation distance

Td

L

Ts1 Ts1

T1

Ts2

rapid

Time

Speed

Next block

2Ts1

0 - 14 ms)(2 T2Td +=

rapid LTs12T2 =

=

) Ts1

rapid(tan 1

=

T1

Td

L

Ts1

rapid

T2 Ts2

Next block

Time

Speed

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

166IB-1501277-Q

(3) The time required for the command deceleration check during rapid traverse constant-gradient acceleration/de- celeration is the longest one among the deceleration check times of the axes which are commanded simultane- ously. The deceleration check times of each axis is determined by the following items; rapid traverse rate (set by the parameter "#2001 rapid"); rapid traverse acceleration/deceleration time constant (set by the parameter "#2004 G0tL"); and interpolation distance (L). When multi-axis simultaneous interpolation (linear interpolations) is performed during rapid traverse constant- gradient acceleration/deceleration, the longest one among the acceleration/deceleration times of all axes is ap- plied to the other axes which were commanded simultaneously. The acceleration/deceleration time is determined for each axis by the following items; rapid traverse rate; rapid traverse acceleration/deceleration time constant; and the interpolation distance. Consequently, linear interpola- tion is performed even when the acceleration/deceleration time constant for each axis is different. However, the axis of which the acceleration/deceleration time constant is greater than the rapid traverse accel- eration/deceleration time constant ("#2004") is accelerated/decelerated with the rapid traverse acceleration/de- celeration time constant.

[2-axis simultaneous interpolation (When linear interpolation is used, Tsx < Tsz, Lx Lz)]

When the result is "Tsx < Tsz", the acceleration/deceleration time (Ts) of this block is set to Tsz (acceleration/

deceleration time of the Z axis).

Since "Tdx < Tdz" is obtained as the result, the command deceleration check time (Td) of this block is set to Tdz

(command deceleration check time of the Z axis).

Tsx : X axis acceleration/deceleration time

Tsz : Z axis acceleration/deceleration time

Tdx : X axis commanded deceleration check time

Tdz : Z axis commanded deceleration check time

Lx : X axis interpolation distance

Lz : Z axis interpolation distance

Tsx

Tsz Tsz Tdz

Tsx Tdx

Lx

Lz

rapid X

rapid Z

Speed

Next block

Time

Next block

Time

X axis

Z axis

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

167 IB-1501277-Q

(4) If a minimum time constant for constant-gradient acceleration/deceleration has been set by the parameter, ac- celeration/deceleration speed is adjusted to prevent the acceleration/deceleration time calculated by interpola- tion distance from going below the minimum time constant.

[When the interpolation distance is so short that the acceleration/deceleration time is shorter than the

minimum time constant for constant-gradient acceleration/deceleration]

(5) Use the "Rapid traverse time constant: Switchover request" signal to switch the rapid traverse time constant. The operations via PLC signals and the settings of related parameters depend on the MTB specifications. The time constant is switched in the block next to where the "Rapid traverse time constant: Switchover request" signal is turned ON/OFF.

When "#2598" is "0", use "#2004".# When "#2599" is "0", use "#2005". The time constant switched by the "Rapid traverse time constant: Switchover request" signal is only the

rapid traverse time constant or the rapid traverse time constant (primary delay)/2nd step time constant of soft acceleration/deceleration.

(6) The program format of G00 (rapid traverse command) when rapid traverse constant-gradient acceleration/decel- eration are executed is the same as when this function is invalid (acceleration/deceleration with fixed time con- stant).

rapid : Rapid traverse rate (Parameter "#2001 rapid")

Ts1 : Acceleration/deceleration time (Parameter "#2004 G0tL")

Ts2 : Acceleration/deceleration time to reach the maximum speed

Ts3 : Minimum time for constant-gradient acceleration/deceleration (Parameter "#2198 G0tMin")

Td : Command deceleration check time

T : Interpolation time

L : Interpolation distance

Basic rapid traverse time constant (signal OFF)

Rapid traverse time constant for switching (signal ON)

Rapid traverse time constant #2004 G0tL #2598 G0tL_2

Rapid traverse time constant (primary delay) / 2nd step time constant of soft acceleration/ deceleration

#2005 G0t1 #2599 G0t1_2

L

Ts2

Ts3

Ts1 Td

T

T = 2 Ts2

rapid

Speed

Next block

Time

Td = + (0 to 14 ms)T 2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

168IB-1501277-Q

(1) The constant-gradient acceleration/deceleration during dry run is disabled. When the constant-gradient acceleration/deceleration is valid and the speed is changed by dry run during axis traveling, dry run is disabled in the currently executed block, and the constant-gradient acceleration/deceleration is performed at the same speed as before. Dry run is enabled from the next block, and the manual feedrate is applied. However, the acceleration/deceleration time remains unchanged. When dry run is enabled and it canceled during axis traveling, dry run is immediately disabled, and the cutting feedrate is applied. After the speed was changed, the constant-gradient acceleration/deceleration is enabled. When the high-speed machining mode is valid (under G5P2, under G5P10000, etc.), dry run is disabled. How- ever, when the high-speed machining mode is canceled by the positioning command (G00 command) or single block stop command, dry run is enabled. To enable dry run during the constant-gradient acceleration/deceleration, use the high-accuracy control function (G61.1). Do not use this function.

[When constant-gradient acceleration/deceleration is enabled and the "Dry run" signal is turned ON

during axis traveling]

[When dry run is enabled and the "Dry run" signal is turned OFF during axis traveling]

Relationship with other functions

clamp : Maximum cutting feedrate (Parameter "#2002 clamp")

F : Cutting feedrate

mF : Manual feedrate

Ts1 : Acceleration/deceleration time (Parameter "#2007 G1tL")

Ts2 : Acceleration/deceleration time to reach the cutting feedrate

: Acceleration/deceleration gradient

ON : "Dry run" signal ON

OFF : "Dry run" signal OFF

clamp

ON

F

Ts2

mF

Ts2 Ts2

Ts1 Ts1

Ts2 Ts2Ts2

clamp

OFF

F

mF

Ts1 Ts1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

169 IB-1501277-Q

(2) The constant-gradient acceleration/deceleration is valid for the rapid traverse command in the fixed cycle. To switch the rapid traverse time constant in the fixed cycle, issue the "Rapid traverse time constant: Switchover request" during G80 mode. If the "Rapid traverse time constant: Switchover request" is issued in the fixed cycle, the time constant may not be switched.

(1) Rapid traverse constant-gradient acceleration/deceleration is performed only when the motion path of the rapid traverse command is the interpolation type (parameter "#1086 G0Intp" is set to "0").

(2) When "#2003 smgst" (acceleration/deceleration mode) is set to the soft acceleration/deceleration, and "#1219 aux03 bit7" (time constant setting changeover for soft acceleration/deceleration) is set to "1", the acceleration/ deceleration speed is adjusted to prevent the sum of the 1st step and 2nd step acceleration/deceleration times from going below the minimum time constant for constant-gradient acceleration/deceleration. In this case, the acceleration time will be "G0tL+G0t1" or "G1tL+G1t1".

(3) When "#2003 smgst" (acceleration/deceleration mode) is set to the soft acceleration/deceleration, if the acceler- ation/deceleration is shorter than G0tL (or G1tL), the 2nd step time constant will be reduced by the same rate as the 1st step time constant.

(4) If a commanded travel distance in a block is small, acceleration/deceleration time becomes quite short when the constant-gradient acceleration/deceleration method is enabled. Although this does contribute to reduce the cycle time, this can also be a cause of machine vibrations. In these cases, if the minimum time constant for constant- gradient acceleration/deceleration is set in parameter "#2198 G0tMin", it is possible to perform acceleration/de- celeration to prevent the acceleration/deceleration time from being below this setting value. This parameter de- pends on the MTB specifications.

(5) When the parameter "#1253 set25/bit2" (Acceleration/deceleration mode change in hole drilling cycle) is set to "1" (constant-gradient, acceleration/deceleration after interpolation), the rapid traverse in the fixed cycle modal is set to the constant-gradient acceleration/deceleration regardless of the setting of the parameter "#1200 G0_acc" (Validate acceleration and deceleration with inclination constant G0).

(6) If any one of the following commands is issued in the next block in which the "Rapid traverse time constant: Swi- tchover request" signal is turned ON, the time constant switching may be delayed.

G27 (Reference position check) G28 to G30 (Reference position return) G30.1 to G30.6 (Tool exchange position return) G60 (Unidirectional positioning)

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

170IB-1501277-Q

7.9 Rapid Traverse Constant-gradient Multi-step Acceleration/Deceleration

This function carries out the acceleration/deceleration according to the torque characteristic of the motor in the rapid

traverse mode during automatic operation. (This function is not available in manual operation.) The rapid traverse

constant-gradient multi-step acceleration/deceleration method makes for improved cycle time because the position-

ing time is shortened by using the motor ability to its maximum.

In general, the servomotor has the characteristic that the torque falls in the high-speed rotation range.

In the rapid traverse constant-gradient acceleration/deceleration method, the acceleration rate is treated as constant

because this torque characteristic is not considered. So, It is necessary to use a minimum acceleration rate within

the used speed range. Therefore, the margin of acceleration rate must be had in a low-speed range. Or if the accel-

eration rate is used to its maximum, the upper limit of the rotation speed must be slowed.

Then, to use the servomotor ability to its maximum, acceleration/deceleration to which the torque characteristic is

considered is carried out by the rapid traverse constant-gradient multi-step acceleration/deceleration method.

The acceleration/deceleration patterns in the case where rapid traverse constant-gradient multi-step acceleration/

deceleration are performed are as follows.

Function and purpose

[Rapid traverse constant-gradient multi- step acceleration/deceleration]

[Rapid traverse constant-gradient acceleration/ deceleration]

Number of steps is automatically adjusted by parameter setting.

It was necessary to slow down the acceleration rate for high speed rotation.

(f) Speed (t) Time (a) Acceleration rate

t bt a

(f)

(t)

(f)

(t)

(t)

(t)

(a) (a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

171 IB-1501277-Q

(1) The validity of this function depends on the MTB specifications. (Parameter "#1205 G0bdcc") However, note the following conditions.

(a) "2" cannot be set to parameter "#1205 G0bdcc" except the 1st part system. When "2" is set to other than 1st part system, an MCP alarm (Y51 0017) will occur.

(b) When there is no specification for the rapid traverse constant-gradient acceleration/deceleration, "2" cannot be set to parameter "#1205 G0bdcc". Even if the parameter is set to "2", this function is invalid. A normal time constant acceleration/deceleration (acceleration/deceleration after interpolation) is applied.

(c) Even if "2" is set to "#1205 G0bdcc" when G00 non-interpolation type ("#1086 G00Intp" = "1"), this function is invalid. In this case, a normal acceleration/deceleration with fixed time constant (acceleration/deceleration after interpolation) is applied.

(2) To use this function, the following parameters must be set for each axis.

Acceleration rate in proportion to the maximum acceleration rate = Acceleration rate at rapid traverse rate / max-

imum acceleration rate

(3) When either of the following conditions applies, this function is invalid and operates as "rapid traverse constant- gradient acceleration/deceleration". For the axis for which the rapid traverse constant-gradient multi-step accel- eration/deceleration is not necessary, set "0" to "#2151 rated_spd", "#2152 acc_rate" and "#2153 G0t_rated". However, these parameters depend on the MTB specifications.

(a) When "#2151 rated_spd" (rated speed) is "0" or larger than "#2001 rapid" (rapid traverse)

(b) When "#2152 acc_rate" (Acceleration rate in proportion to the maximum acceleration rate) is "0" or "100"

(c) Even if "2" is set to "#1205 G0bdcc" when G00 non-interpolation type ("#1086 G00Intp" = "1"), this function is invalid. In this case, a normal acceleration/deceleration with fixed time constant (acceleration/deceleration after interpolation) is applied.

Detailed description

Use conditions

#2001 rapid Rapid traverse [mm/min]

#2151 rated_spd Rated speed [mm/min]

#2153 G0t_rated Acceleration time to rated speed [ms]

#2152 acc_rate Acceleration rate at rapid traverse in ratio to the maximum acceleration rate [%]

Speed

rapid

rated_spd

Time

Acceleration rate

Maximum acceleration rate

Acceleration rate at rapid traverse rate

Time

(G0t_rated)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

172IB-1501277-Q

(4) The comparison of the acceleration/deceleration patterns by the parameter setting is in the table below.

Mode Rapid traverse constant- gradient multi-step accel-

eration/deceleration

#1086 G00Intp

#1205 G0bdcc

Operation

G00 command ON 0 0 Time constant acceleration/decelera- tion (interpolation type)

1 Constant-gradient acceleration/decel- eration (acceleration/deceleration be- fore interpolation)

2 Constant-gradient multi-step accelera- tion/deceleration

1 Arbitrary Acceleration/deceleration with fixed time constant (non-interpolation type)

OFF 0 0 Acceleration/deceleration with fixed time constant (interpolation type)

1 Constant-gradient acceleration/decel- eration (acceleration/deceleration be- fore interpolation)

2 Acceleration/deceleration with fixed time constant (interpolation type)

1 Arbitrary Acceleration/deceleration with fixed time constant (non-interpolation type)

Manual rapid traverse

Arbitrary Arbitrary Arbitrary Acceleration/deceleration with fixed time constant (non-interpolation type)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

173 IB-1501277-Q

For rapid traverse constant-gradient multi-step acceleration/deceleration, the number of steps is automatically ad-

justed by set parameter.

The acceleration rate per step is assumed to be a decrease by 10% of the maximum acceleration rate per step.

Therefore, the number of steps is decided as follows.

The acceleration/deceleration pattern when the parameter setting value is shown below.

Decision method of steps

"Step" = (100 - "#2152 acc_rate") / 10 + 1 (Discard fractions less than 1)

No. Item Setting value

2001 rapid Rapid traverse rate 36000 [mm/min]

2151 rated_spd Rated speed 16800 [mm/min]

2152 acc_rate Acceleration rate in proportion to the maxi- mum acceleration rate

58 [%]

Acceleration rate

f: Speed

rapid =36000

rated_spd =16800

amax

0.58amax

0.9amax

0.8amax

0.7amax

10

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

174IB-1501277-Q

When there are two or more rapid traverse axes with a different pattern of the acceleration rate, there are the fol-

lowing two operation methods.

Interpolation type (#1086 G0Intp = 0) : Moves from the start point to the end point by straight line

Non-interpolation type (#1086 G0Intp = 1) : Each axis moves separately at the speed of the parameter

Rapid traverse constant-gradient multi-step acceleration/deceleration are valid only for an interpolation type. For the

interpolation type, the pattern of the acceleration rate operates to the maximum acceleration rate within the range

where tolerable acceleration rate of each axis is not exceeded.

Pattern of acceleration rate at two or more axis interpolation

[Pattern of acceleration rate of Y axis] [Pattern of acceleration rate of X axis]

[Pattern of acceleration rate in the composite direction]

(a) Acceleration rate (f) Speed

(S) Start point (E) End point

(ac1) Pattern of acceleration rate when the axis moved to composite direction at Y axis rapid traverse rate

(ac2) Pattern of acceleration rate when the axis moved to composite direction at X axis rapid traverse rate

(ac3) Pattern of acceleration rate in the composite direction

Y

a y

v y (f)

(a)

4

3 5

(S)

(E)

X

a x

v x (f)

(a)

a x / 0.8

a y / 0.6

vy / 0.6 vx / 0.8

(ac2)

(a)

(f)

(ac3)

(ac1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

175 IB-1501277-Q

With S-pattern filter control, this enables the rapid traverse constant-gradient multi-step acceleration/deceleration

fluctuation to further smoothen.

This can be set in the range of 0 to 200 (ms) with the base specification parameter "#1569 SfiltG0" (G00 soft accel-

eration/deceleration filter). With "#1570 Sfilt2" (Soft acceleration/deceleration filter 2), this also enables the acceler-

ation/deceleration fluctuation to further smoothen.

S-pattern filter control

(f) Speed (t) Time

No S-pattern filter control S-pattern filter control

SfiltG0 + Sfilt2

(f)

(t)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

176IB-1501277-Q

During high-accuracy control, high-speed high-accuracy control I/II/III or high-accuracy spline control, the high-ac-

curacy control mode's rapid traverse rate ("#2109 Rapid (H-precision)") can be set besides rapid traverse rate

("#2001 rapid").

Operation when the value is set at the high-accuracy control mode's rapid traverse rate is as follows.

(1) When "The high-accuracy control mode rapid traverse rate" > "rapid traverse rate"

This function is invalid and operates as "rapid traverse constant-gradient acceleration/deceleration".

(2) When "The high-accuracy control mode rapid traverse rate" < "rapid traverse rate"

The rapid traverse is performed at the feedrate set in the parameter "#2109 Rapid (H-precision)".

The feedrate is accelerated or decelerated in accordance with the pattern of acceleration rate calculated from

the following parameters:

"#2001 rapid" (Rapid traverse rate) "#2151 rated_spd" (Rated speed) "#2153 G0t_rated" (G0 time constant up to rated speed) "#2152 acc_rate" (Acceleration rate in proportion to the maximum acceleration rate)

The high-accuracy control mode rapid traverse rate

(f) Speed (t) Time (r) Rapid traverse rate (ac) Acceleration rate

Larger than the rated speed Smaller than the rated speed

(f) Speed (f1) Rated speed (f2) The high-accuracy control mode rapid traverse rate (t) Time (t1) Acceleration time to rated speed (ac) Acceleration rate (ac1) Maximum acceleration rate (ac2) Acceleration rate at rapid traverse rate (r) Rapid traverse rate

#2004 G0tL

(f)

(ac)

(r)

(t)

(t)

(f) (r)

(t)

(f2) (f1)

(t)

(ac) (ac1)

(ac2)

(t1)

(f)

(ac)

(f2) (f1)

(r)

(t)

(t)

(ac1)

(ac2)

(t1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

177 IB-1501277-Q

(1) Rapid traverse constant-gradient multi-step acceleration/deceleration are valid only for a rapid traverse com- mand. Note that when the manual rapid traverse, rapid traverse constant-gradient multi-step acceleration/decel- eration cannot be used. In this case, an acceleration/deceleration with fixed time constant (acceleration/deceleration after interpolation) is applied. Therefore, acceleration/deceleration is decided by the following parameters.

#2001 rapid : Rapid traverse rate #2003 smgst : Acceleration/deceleration mode #2004 G0tL: G00 time constant (linear) #2005 G0t1: G00 time constant (primary delay)

The acceleration time (time constant) is different between the rapid traverse constant-gradient multi-step accel-

eration/deceleration and the manual rapid traverse as shown in figure.

(2) Rapid traverse constant-gradient multi-step acceleration/deceleration cannot be used in part system excluding 1st part system. However, even if two or more part systems are used, it is possible to use this function in case of the 1st part system.

(3) When there is no specification for the rapid traverse constant-gradient acceleration/deceleration, this function is invalid even if "2" is set to the parameter "#1205 G0bdcc". In this case, a normal acceleration/deceleration with fixed time constant (acceleration/deceleration after interpolation) is applied.

(4) When G00 non-interpolation type ("#1086 G0Intp" = "1"), rapid traverse constant-gradient multi-step accelera- tion/deceleration cannot be used. It is valid in interpolation mode only.

(5) When the rapid traverse constant-gradient multi-step acceleration/deceleration is applied, rapid traverse accel- eration/deceleration types ("#2003 smgst" bit0 to bit3) are ignored.

(6) When the rapid traverse constant-gradient multi-step acceleration/deceleration is valid, G0 constant-gradient ("#1200 G0_acc") cannot be used. Even if G0 constant-gradient is valid ("#1200 G0_acc" = "1"), the setting is ignored.

(7) When the rapid traverse constant-gradient multi-step acceleration/deceleration is valid, programmable in-posi- tion check cannot be used. The in-position width will be ignored even if commanded.

(8) This function cannot be used during the tool center point control.

Precautions

Rapid traverse constant-gradient multi-step acceleration/deceleration

(f) Speed (t) Time (ac) Acceleration rate

Rapid traverse constant-gradient multi-step acceleration/deceleration

Manual rapid traverse (linear)

S-pattern filter control

Soft acceleration/deceleration

(t)(f)

(f) (ac)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

178IB-1501277-Q

7.10 Cutting Feed Constant-gradient Acceleration/Deceleration

This function performs linear acceleration/deceleration at a constant inclination in the cutting feed mode. The con-

stant-gradient acceleration/deceleration method can be more beneficial in reducing cycle time in comparison to the

acceleration/deceleration with fixed time constant method.

(1) Cutting feed constant-gradient acceleration/deceleration function is effective only when the commanded cutting feed acceleration/deceleration mode is linear method or soft method in linear interpolation (G01) command.

(2) The program format of linear interpolation when cutting feed constant-gradient acceleration/deceleration is exe- cuted is the same as when this function is invalid (acceleration/deceleration with fixed time constant).

Function and purpose

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

179 IB-1501277-Q

(3) The acceleration/deceleration patterns in the case where cutting feed constant-gradient acceleration/decelera- tion is performed are as follows.

[When the interpolation distance is long enough for the cutting feedrate to be achieved]

(a) Acceleration/deceleration with fixed time constant:

(b) Constant-gradient acceleration/deceleration:

In the case of acceleration/deceleration with fixed time constant, the acceleration/deceleration gradient is deter-

mined by the cutting feedrate. In the case of constant-gradient acceleration/deceleration, it is determined by the

maximum cutting feedrate; therefore, the cycle time will be shorter than in the former case.

clamp : Maximum cutting feedrate (Parameter "#2002 clamp")

F : Cutting feedrate

Ts1 : Acceleration/deceleration time (Parameter "#2007 G1tL")

1 : Acceleration/deceleration gradient (Acceleration/deceleration with fixed time constant)

2 : Acceleration/deceleration gradient (Constant-gradient acceleration/deceleration)

T1 : Interpolation time (Acceleration/deceleration with fixed time constant)

T2 : Interpolation time (Constant-gradient acceleration/deceleration)

L : Interpolation distance

Ts1

L

Ts1

clamp

T1

F

1

21Ts F L

T1 +=

) Ts1 F

(tan-1=1

Ts1

L

Ts1

2

clamp

T2

F clamp FTs1

F L

T2

+=

) Ts1

clamp (tan2 -1=

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

180IB-1501277-Q

[When the interpolation distance is so short that the cutting feedrate is not achieved]

The acceleration/deceleration gradient is determined by the maximum cutting feedrate.

[When the interpolation distance is so short that the maximum cutting feedrate is not achieved and the

override for cutting feed constant-gradient acceleration/deceleration is activated]

clamp : Maximum cutting feedrate (Parameter "#2002 clamp")

F : Cutting feedrate

Ts1 : Acceleration/deceleration time (Parameter "#2007 G1tL")

Ts2 : Acceleration/deceleration time to reach the cutting feedrate

: Acceleration/deceleration gradient

T : Interpolation time

L : Interpolation distance

clamp : Maximum cutting feedrate (Parameter "#2002 clamp")

F : Cutting feedrate

OVR : Maximum override value for cutting feed constant-gradient acceleration/deceleration (Parameter "#1367 G1AccOVRMax")

Ts1 : Acceleration/deceleration time (Parameter "#2007 G1tL")

Ts2 : Acceleration/deceleration time to reach the cutting feedrate

: Acceleration/deceleration gradient

) Ts1

clamp (tan -1=

L

Ts1

clamp

T

F

Ts2

clamp LTs22T =

L

Ts1

clamp

T

F OVR

Ts2

) Ts1

clamp (tan -1=

2T = clamp

OVRLTs2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

181 IB-1501277-Q

[2-axis simultaneous interpolation (When Tsx < Tsz, Lx Lz)]

When multi-axis simultaneous interpolation is performed during linear interpolation constant-gradient accelera-

tion/deceleration, the longest one among the acceleration/deceleration times of all axes is applied to the other

axes which were commanded simultaneously.

The acceleration/deceleration time is determined for each axis by the following items; maximum cutting fee-

drates (parameter "#2002 clamp"); cutting feed acceleration/deceleration time constant (parameter "#2007

G1tL"); cutting feed rates (F); and the interpolation distance (L).

However, the axis of which the acceleration/deceleration time constant is greater than the cutting feed acceler-

ation/deceleration time constant (parameter "#2007 G1tL") is accelerated/decelerated with the cutting feed ac-

celeration/deceleration time constant.

When Tsx < Tsz, the acceleration/deceleration time (Ts) of this block is set to Tsz (acceleration/deceleration time

of the Z axis).

Tsx : X axis acceleration/deceleration time

Tsz : Z axis acceleration/deceleration time

Lx : X axis interpolation distance

Lz : Z axis interpolation distance

Fx : X axis feedrate

Fz : Z axis feedrate

clampX

clampZ

Tsx

Tsz Tsz

Tsx

Lx

Fx

Fz

X

Lz

Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

182IB-1501277-Q

[When the feedrate is so low that the acceleration/deceleration time is shorter than the minimum time

constant for constant-gradient acceleration/deceleration]

Acceleration/deceleration speed is adjusted to prevent the acceleration/deceleration time calculated by the cut-

ting feedrate from going below the minimum time constant.

[When the interpolation distance is so short that the acceleration/deceleration time is shorter than the

minimum time constant for constant-gradient acceleration/deceleration]

Acceleration/deceleration speed is adjusted to prevent the acceleration/deceleration time calculated by interpo-

lation distance from going below the minimum time constant.

clamp : Maximum cutting feedrate (Parameter "#2002 clamp")

F : Cutting feedrate

Ts1 : Acceleration/deceleration time (Parameter "#2007 G1tL")

Ts2 : Acceleration/deceleration time to reach the cutting feedrate

Ts3 : Minimum time for constant-gradient acceleration/deceleration (Parameter "#2199 G1tMin")

T : Interpolation time

L : Interpolation distance

clamp : Maximum cutting feedrate (Parameter "#2002 clamp")

F : Cutting feedrate

Ts1 : Acceleration/deceleration time (Parameter "#2007 G1tL")

Ts2 : Acceleration/deceleration time to reach the cutting feedrate

Ts3 : Minimum time for constant-gradient acceleration/ deceleration (Parameter "#2199 G1tMin")

T : Interpolation time

L : Interpolation distance

L

Ts1

clamp

T

Ts3

F

Ts2

Ts32 F

L T +=

L

Ts1

clamp

T

Ts3

F

Ts2

Ts32T =

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

183 IB-1501277-Q

(1) The constant-gradient acceleration/deceleration during dry run is disabled. When the constant-gradient acceleration/deceleration is valid and the speed is changed by dry run during axis traveling, dry run is disabled in the currently executed block, and the constant-gradient acceleration/deceleration is performed at the same speed as before. Dry run is enabled from the next block, and the manual feedrate is applied. However, the acceleration/deceleration time remains unchanged. When dry run is enabled and it canceled during axis traveling, dry run is immediately disabled, and the cutting feedrate is applied. After the speed was changed, the constant-gradient acceleration/deceleration is enabled. When the high-speed machining mode is valid (under G5P2, under G5P10000, etc.), dry run is disabled. How- ever, when the high-speed machining mode is canceled by the positioning command (G00 command) or single block stop command, dry run is enabled. To enable dry run during the constant-gradient acceleration/deceleration, use the high-accuracy control function (G61.1). Do not use this function.

[When constant-gradient acceleration/deceleration is enabled and the "Dry run" signal is turned ON

during axis traveling]

[When dry run is enabled and the "Dry run" signal is turned OFF during axis traveling]

Relationship with other functions

clamp : Maximum cutting feedrate (Parameter "#2002 clamp")

F : Cutting feedrate

mF : Manual feedrate

Ts1 : Acceleration/deceleration time (Parameter "#2007 G1tL")

Ts2 : Acceleration/deceleration time to reach the cutting feedrate

: Acceleration/deceleration gradient

ON : "Dry run" signal ON

OFF : "Dry run" signal OFF

clamp

ON

F

Ts2

mF

Ts2 Ts2

Ts1 Ts1

Ts2 Ts2Ts2

clamp

OFF

F

mF

Ts1 Ts1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

184IB-1501277-Q

(2) The constant-gradient acceleration/deceleration is valid for the linear interpolation command in the fixed cycle. However, the constant-gradient acceleration/deceleration for linear interpolation is invalid for the linear interpo- lation command in the synchronous tapping cycle. (The synchronous tapping acceleration/deceleration is enabled.)

(1) If a value greater than 100 (%) is designated for cutting feed override under cutting feed constant-gradient ac- celeration/deceleration control, the acceleration/deceleration gradient becomes steeper as the feedrate increas- es. To use the cutting feed override function at a rate higher than 100%, set the parameter "#1367 G1AccOVRMax" accordingly. (This parameter depends on the MTB specifications.) When the setting of this parameter is between 0 and 99 for "#1367 G1AccOVRMax", the override value is handled as 100% even if the specified cutting feed override is greater than 100%.

(2) If there are one or more NC control axes that are set to soft acceleration/deceleration for G1, the parameter "#1367 G1AccOVRMax" setting will be ignored and the cutting feed override value is handled as 100%.

(3) When "#2003 smgst"(acceleration/deceleration mode) is set to the soft acceleration/deceleration, and "#1219 aux03 bit7: Time constant setting changeover for soft acceleration/deceleration" is set to "1": Acceleration time is obtained by G0tL+G0t1 (G1tL+G1t1)", acceleration/deceleration speed is adjusted to prevent the sum of the 1st step and 2nd step acceleration/deceleration times from going below the minimum time constant for constant- gradient acceleration/deceleration.

(4) When "#2003 smgst" (acceleration/deceleration mode) is set to the soft acceleration/deceleration, if the acceler- ation/deceleration is shorter than G0tL (or G1tL), the 2nd step time constant will be reduced by the same rate as the 1st step time constant.

(5) If the commanded travel distance in the block is small or the commanded linear interpolation (G01) feedrate is low, acceleration/deceleration time becomes quite short when the constant-gradient acceleration/deceleration method is enabled. Although this does contribute to reduce the cycle time, this can also be a cause of machine vibrations. In these cases, if the minimum time constant for constant-gradient acceleration/deceleration is set in parameter "#2199 G1tMin", it is possible to perform acceleration/deceleration to prevent the acceleration/decel- eration time from being below this setting value. This parameter depends on the MTB specifications.

(6) If the linear interpolation command is continuously executed in two blocks for the same axis during constant- gradient acceleration/deceleration for linear interpolation, the gradient at deceleration becomes greater than the reference value. Therefore, the load of the servo system may increase. Consider so that the speed command (F command value) does not change suddenly.

Precautions

: Reference value of gradient

) Ts

clamp(tan1=

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

185 IB-1501277-Q

(1) When the linear interpolation command is continuously executed in two or more blocks for the same axis during constant-gradient acceleration/deceleration for linear interpolation, processing of the 3rd block is started after the deceleration processing of the 1st block was completed.

Restrictions

:

:

N10 G01 X100. ;

N20 G01 X20. ;

N30 G01 X70. ;

:

:

(1) Processing start of 2nd block

(2) Processing of the 3rd block is not started because deceleration processing of the 1st block is not com- pleted.

(3) Processing start of 3rd block

N10

(1) (2)(3)

N20

N30

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

186IB-1501277-Q

7.11 Exact Stop Check; G09

In order to prevent roundness during corner cutting and machine shock when the tool feedrate changes suddenly,

there are times when it is desirable to start the commands in the following block once the in-position state after the

machine has decelerated and stopped or the elapsing of the deceleration check time has been checked. The exact

stop check function is designed to accomplish this purpose.

A deceleration check is performed when the G09 (exact stop check) command has been designated in the same

block. The G09 command is unmodal.

Either the deceleration check time or in-position state is based on the parameter settings specified by the MTB. (Re-

fer to section "7.13 Deceleration Check".)

The in-position width is set in servo parameter "#2224 sv024", "#2077 G0inps" or "#2078 G1inps". This parameter

also depends on the MTB specifications.

The exact stop check command G09 has an effect only with the cutting command (G01 - G03) in its particular block.

Function and purpose

Command format

Exact stop check

G09 G01 (G02, G03);

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

187 IB-1501277-Q

[With continuous cutting feed]

[With cutting feed in-position check]

The in-position width, as shown in the figure above, is the remaining distance (shaded area in the above figure) of

the previous block when the next block is started is set in the servo parameter "#2224 sv024". (This depends on the

MTB specifications.)

The in-position width is designed to reduce the roundness at the workpiece corners to below the constant value.

To eliminate corner roundness, set the value as small as possible to servo parameter "#2224 sv024" and perform

an in-position check or assign the dwell command (G04) between blocks.

(The parameter setting depends on the MTB specifications.)

Detailed description

Ts : Cutting feed acceleration/deceleration time constant In-position width

Ts

G00 Xx2;G00 Xx1;

G00 Xx1; G00 Xx2;

Ts Ts

Lc

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

188IB-1501277-Q

(1) With linear acceleration/deceleration

(2) With exponential acceleration/deceleration

(3) With exponential acceleration/linear deceleration

The time required for the deceleration check during cutting feed is the longest among the cutting feed decelera-

tion check times of each axis determined by the cutting feed acceleration/deceleration time constants and by the

cutting feed acceleration/ deceleration mode of the axes commanded simultaneously.

To execute exact stop check in a fixed cycle cutting block, insert command G09 into the fixed cycle subpro- gram.

With deceleration check

Ts: Acceleration/deceleration time constant

Td: Deceleration check time Td = Ts + (0 to 10ms)

Ts: Acceleration/deceleration time constant

Td: Deceleration check time Td = 2 x Ts + (0 to 10ms)

Ts: Acceleration/deceleration time constant

Td: Deceleration check time Td = 2 x Ts + (0 to 10ms)

Ts

Td

G00 Xx1; G00 Xx2;

Ts

Td

G00 Xx1; G00 Xx2;

Td Ts

G00 Xx1; G00 Xx2;

2Ts

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

189 IB-1501277-Q

[Exact stop check result]

Program example

N001 G09 G01 X100.000 F150 ; The commands in the following block are started once the deceleration check time or in-position state has been checked after the machine has decelerated and stopped.

N002 Y100.000 ;

f: Commanded speed Tool

t: Time

Solid line indicates speed pattern with G09 command

Broken line indicates speed pattern without G09 command

N001X

Y

N001

N002

N002

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

190IB-1501277-Q

7.12 Exact Stop Check Mode; G61

Whereas the G09 exact stop check command checks the in-position status only for the block in which the command

has been assigned, the G61 command functions as a modal. This means that deceleration will apply at the end

points of each block to all the cutting commands (G01 to G03) subsequent to G61 and that the in-position status will

be checked.

The modal command is released by the following commands.

G61.1........ High-accuracy control mode

G62 .......... Automatic corner override

G63 .......... Tapping mode

G64 .......... Cutting mode

In-position check is executed when the G61 command has been selected, and thereafter, the in-position check is

executed at the end of the cutting command block until the check mode is canceled.

Function and purpose

Command format

G61 ; ... Exact stop check mode

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

191 IB-1501277-Q

7.13 Deceleration Check 7.13.1 Deceleration Check

The deceleration check reduces the machine shock that occurs when the control axis feedrate is suddenly changed

and prevents corners from becoming rounded. This is accomplished by decelerating the motor to a stop at axis

movement block joints before the next block is executed.

The conditions for executing a deceleration check are described below.

(1) Deceleration check in the rapid traverse mode

In the rapid traverse mode, the deceleration check is always performed when block movement is completed be- fore executing the next block.

(2) Deceleration check in the cutting feed mode

In the cutting feed mode, the deceleration check is performed and the program starts moving the next block when one of the following conditions is satisfied.

(a) When G61 (Exact stop check mode) is selected

(b) When the G09 (Exact stop check) command has been designated in the same block

(c) When the error detect switch (PLC signal) is ON

There are three methods for deceleration check: command deceleration check method, smoothing check method,

and in-position check method.

The method that is selected for rapid traverse or cutting feed depends on the MTB specifications (combination of

parameters "#1306 InpsTyp", "#1389 G1SmthChk", "#1223 aux07/bit1", and "#1193 inpos").

Depending on the MTB specifications, different deceleration check methods may be used for each feed command

during rapid traverse command and cutting feed command (parameter "#1306 InpsTyp").

Function and purpose

Without deceleration check With deceleration check

N010 G01 X100 ; N011 G01 Y-50 ;

Corner rounding occurs because the N011 block is started before the N010 command is completely finished.

N010 G09 G01 X100 ; N011 G01 Y-50 ;

A sharp edge is formed because the N011 block is started after the N010 command is decelerated and stopped.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

192IB-1501277-Q

(*1) Deceleration check time is automatically calculated from the acceleration/deceleration mode and time constant.

Detailed description

Behavior for each combination of movement commands

Next block Current block

G00 G01 G00/G01 without move- ment

G00 () (1)(2)

G01 () (1)(3)

Others () (1)

Deceleration check is performed

() (1) A deceleration check is performed when the error detection signal is ON or when G09 or G61 is en- abled.

(2) A command deceleration check is performed when G01 => G00 block is specified, "#1502 G0Ipfg" is ON, or the movement reverses to the opposite direction.

(3) A command deceleration check is performed when G01 => G01 block is specified, "#1503 G1Ipfg" is ON, or the movement reverses to the opposite direction.

For the deceleration check when movement in the opposite direction is reversed, refer to "7.13.2 Decel-

eration Check When Movement in the Opposite Direction Is Reversed".

A deceleration check is not performed if the above conditions are not satisfied.

Deceleration check is not performed.

Types of deceleration check

(1) Command deceleration check method

Deceleration is completed after the deceleration check time (*1) has passed after the interpola- tion.

(2) Smoothing check method

Deceleration is completed after the deceleration check time (*1) has passed after the interpola- tion and all axis smoothing has become zero.

(3) In-position check method

The deceleration is completed after the deceleration check time (*1) had passed after the interpolation, all axis smoothing has become zero, and all axes have become in-position.

NC command speed Deceleration check time

Block is completedInterpolation is completed

Speed

Block is completed

NC command speed Deceleration check time

Interpolation is completed

Speed

NC command speed

Actual motor rotation speed

Deceleration check time

Interpolation is completed

Speed

Block is completed

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

193 IB-1501277-Q

(1) When a rapid traverse command (G00/G53) block is to be executed

(2) When a cutting command (G01/G02/G03) block is to be executed

When parameter "#1306 InpsTyp" is "0", the following occurs (MTB specifications).

When parameter "#1306 InpsTyp" is "1", the same method as for rapid traverse in (1) is used regardless of the

value of parameter "#1389 G1SmthChk".

Selecting deceleration checks (MTB specifications)

Parameters Deceleration check method Conditions of deceleration check

#1193 inpos

0 Command deceleration check meth- od

Deceleration check time has elapsed.

1 In-position check method Deceleration check time has elapsed, all axis smoothing has become zero, and all axes have become in-position.

2 Smoothing check method Deceleration check time has elapsed, and smoothing zero for all axes.

Parameters Deceleration check method Conditions of deceleration check

#1389 G1SmthChk

#1223 aux07/bit1

0 0 Command deceleration check meth- od

Deceleration check time has elapsed.

1 In-position check method Deceleration check time has elapsed, all axis smoothing has become zero, and all axes have become in-position.

1 - Smoothing check method Deceleration check time has elapsed, and smoothing zero for all axes.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

194IB-1501277-Q

Execution of the next block starts after confirming that the deceleration of the command system is completed upon

completion of interpolation for one block.

The following explains an example of transition from the current block (rapid traverse) to the next block.

The time required for the deceleration check is the longest among the deceleration check times of each axis deter-

mined by the acceleration/deceleration mode and time constants of the axes commanded simultaneously.

(a) For linear acceleration/deceleration

(b) For exponential acceleration/deceleration

(c) For soft acceleration/deceleration

Command deceleration check method

(Ts) Linear acceleration/deceleration time constant

(Td) Deceleration check time: Td = Ts + (0 to 10 ms)

(Ts) Exponential acceleration/deceleration time constant

(Td) Deceleration check time: Td = 2 x Ts + (0 to 10 ms)

(Ts) Soft acceleration/deceleration time constant

(Td) Deceleration check time: Td = 2 x Ts + (0 to 10 ms)

Td

Ts

Execution block Next block

Td

Ts

Execution block Next block

command

Td

Ts

Execution block Next block

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

195 IB-1501277-Q

Execution of the next block starts after the command deceleration check is performed and after confirming that the

smoothing for all axes in the part system has reached zero.

For exponential acceleration/deceleration

Execution of the next block starts after the command deceleration check is performed and after confirming that the

remaining distances for all axes in the part system are below certain values.

The confirmation of the remaining distance should be done with the imposition width.

The bigger one of the servo parameter "#2224 SV024" or G0 in-position width "#2077 G0inps" (For G01, in-position

width "#2078 G1inps"), will be adapted as the in-position width.

(For a rotary axis, the setting value of spindle parameter "#13024 SP024" is assumed to be the in-position width.)

With linear acceleration/deceleration

As shown in the figure above, the in-position width is the remaining distance from the previous block at the start of

the next block. (Shaded area of the figure above).

Smoothing check method

(Ts) Exponential acceleration/deceleration time constant

(Td) Deceleration check time

(Tp) Waiting time for a block to complete

In-position check method

(Ts) Linear acceleration/deceleration time constant

(Td) Deceleration check time

(Tp) Waiting time for a block to complete

Td

Tp

Ts Smoothing zero for all axes

Execution block Next block

Command

Td

Tp

Ts

Execution block Next block

In-position width

Servo

Command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

196IB-1501277-Q

The purpose of the deceleration check is to minimize the positioning time. The bigger the setting value for the in-

position width, the shorter the time is, but the remaining distance of the previous block at the start of the next block

also becomes larger, and this could become an obstacle in the actual processing work.

The check for the remaining distance is done at set intervals. Accordingly, it may not be possible to get the effect of

time reduction for positioning as in-position width setting value.

(1) In-position check by the G0inps: When SV024 < G0inps (Stop is judged at A in the figure.)

(2) In-position check by the SV024: When G0inps < SV024 (Stop is judged at A in the figure.)

Command to motor

Outline of motor movement

: G0inps

: SV024

Command to motor

Outline of motor movement

: G0inps

: SV024

G0inps

SV024

A

SV024

G0inps

A

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

197 IB-1501277-Q

This command commands the in-position width for the positioning command from the machining program.

Execution of the next block starts after confirming that the position error amount in the block in which the decelera-

tion check is to be performed is less than the in-position width.

The in-position width specified by parameter (SV024, G0inps (G1inps for G01)) or the one specified in the program,

whichever is greater, will be adapted as the in-position width.

When there are several movement axes, the system confirms that the position error amount of each movement axis

in each part system is less than the in-position width issued in this command before executing the next block.

For ",I" command, also refer to "6.1 Positioning (Rapid Traverse); G00".

The differences between the in-position check with parameter and with programmable command are as follows:

(1) In-position check with parameter

After completing deceleration of the command system ("A" in the figure), the servo system's position error

amount and the parameter setting value (in-position width) are compared.

(2) In-position check with programmable command (",I" address command)

After starting deceleration of the command system ("A" in the figure), the position error amount and commanded

in-position width are compared.

Programmable in-position width command

G00 X_ Z_(Y_) ,I_ ;

X,Z(,Y_) Positioning coordinate value of each axis

,I In-position width (setting range: 1 to 999999)

The differences of In-position check

(Ts) Acceleration/deceleration time constant

(Td) Deceleration check time: Td = Ts + (0 to 10 ms)

Servo machine position

Command

In-position width (Servo system position error amount)

(Ts) Acceleration/deceleration time constant

(Td) Deceleration check time: Td = Ts + (0 to 10 ms)

Servo machine position

Command

In-position width (Servo system position error amount)

G00 Xx1;

Ts

Td

A

G00 Xx1;

Ts

Td

A

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

198IB-1501277-Q

The deceleration check acts on the compensated block when tool compensation is performed.

The automatic error detection is disabled in a block in which deceleration check is enabled.

When the axis movement reverses to the opposite direction in a G01 G01 successive block during the high-speed

machining mode other than high-speed machining mode I (G05 P1) the commanded deceleration will not take place

even if parameter "#1503 G1Ipfg" is set to 1.

Note that the G0Ipfg setting will be followed if the axis direction reverses to the opposite direction in a G01 G00

successive block.

A deceleration check is performed even when high-speed simple program check is running. During high-speed sim-

ple program checking, the deceleration check time is reduced according to the time reduce coefficient.

(1) When the in-position check is valid, the parameter for the in-position width "#2224 SV024" must be set. (Based on the MTB specifications.)

(2) This function is disabled for an axis to which automatic machine lock is applied.

(3) If MSTB is commanded in the block that follows a cutting command, the MSTB code is output before deceleration is completed in the cutting command. If an MSTB command must be executed after the completion of axis move- ment, check the PLC signals (DEN) before executing it. (The behavior depends on the MTB specifications.)

(4) If there is an axis in control axis synchronization/superimposition in the part system for which the in-position check method is specified, deceleration is considered to be completed when all axis smoothing has become ze- ro. (Equivalent to smoothing check method)

(5) If thread cutting commands are specified in succession, a deceleration check is not carried out at block joints.

(6) If the parameter "#1205 G0bdcc" is set to "1", the value set with the parameter "#2224 SV024" (in-position de- tection width) will be used as the in-position width. The setting of the parameter "#2077 G0inps" (G0 in-position width) and the programmable in-position check with ",I" address are disabled. These parameters depend on the MTB specifications.

Relationship with Other Functions

Tool compensation

Automatic error detection

High-speed machining mode

High-speed simple program check

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

199 IB-1501277-Q

7.13.2 Deceleration Check When Movement in the Opposite Direction Is Reversed

A deceleration check cannot be designated for G01 -> G00 or G01 -> G01, but it can be designated in the following

manner only when the movement reverses to the opposite direction in successive blocks.

A deceleration check can also be executed if even one axis is moving in the opposite direction while several axes

are interpolating.

For the relation with other functions and precautions, refer to "Deceleration Check".

If the axis movement reverses to the opposite direction in a G01 to G00 successive block, the deceleration check

for the movement in the opposite direction can be changed with the MTB specifications (parameter "#1502 G0Ipfg").

Function and purpose

Detailed description

Designating deceleration check for G01 -> G00 opposite direction movement reversal

Same direction Opposite direction

#1502 = 0

The acceleration rate is excessive due to the G01 and G00 composite speed.

Enlarged figure

(a) Commanded speed

(b) Resultant speed

G01 G00

G01 G00

G01

G00

(a) (b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

200IB-1501277-Q

Example of program: When there is a deceleration check in the movement of several axes

(1)

(2)

(3)

(4)

(5)

#1502 = 1

Command deceleration

Enlarged figure

(a) Commanded speed

(b) Resultant speed

(c) Command deceleration is completed.

G91 G01 X100. Y100. F4000 ; G00 X-100. Y120. ;

A deceleration check is carried out, because the X axis moves in the reverse direction in the program.

G91 G01 X100. Y-100. F4000 ; G00 X80. Y100. ;

A deceleration check is carried out, because the Y axis moves in the reverse direction in the program.

G90 G01 X100. Y100. F4000 ; G00 X80. Y120. ;

A deceleration check is carried out, because the X axis moves in the reverse direction in the program. (When the program start position is X0 Y0)

G91 G01 X100. Y100. F4000 ; G00 X100. Y100. ;

A deceleration check is not carried out, because both the X axis and the Y axis move in the same direction in the program.

G91 G01 X100. Y80. F4000 ; G00 X80. ;

A deceleration check is not carried out, because the X axis moves in the same direction, and there is no Y axis movement command in the program.

Same direction Opposite direction

G01 G00

G01 G00

G01

G00

(c)

(a) (b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

201 IB-1501277-Q

If the axis movement reverses to the opposite direction in a G01 to G01 successive block, the deceleration check

for the movement in the opposite direction can be changed with the MTB specifications (parameter "#1503 G1Ipfg").

Example of program: When there is a deceleration check in the movement of several axes

(1)

(2)

(3)

(4)

(5)

Designating deceleration check for G01 -> G01 opposite direction movement reversal

Same direction Opposite direction

#1503 = 0

The acceleration rate is excessive due to the G01 and G01 composite speed.

#1503 = 1

Command deceleration

G91 G01 X100. Y100. F4000 ; G01 X-100. Y120. ;

A deceleration check is carried out, because the X axis moves in the reverse direction in the program.

G91 G01 X100. Y-100. F4000 ; G01 X80. Y100. ;

A deceleration check is carried out, because the Y axis moves in the reverse direction in the program.

G90 G01 X100. Y100. F4000 ; G01 X80. Y120. ;

A deceleration check is carried out, because the X axis moves in the reverse direction in the program. (When the program start position is X0 Y0)

G91 G01 X100. Y100. F4000 ; G01 X100. Y100. ;

A deceleration check is not carried out, because both the X axis and the Y axis move in the same direction in the program.

G91 G01 X100. Y80. F4000 ; G01 X80. ;

A deceleration check is not carried out, because the X axis moves in the same direction, and there is no Y axis movement command in the program.

G01 G01

G01 G01

G01 G01

G01 G01

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

202IB-1501277-Q

7.14 Rapid Traverse Block Overlap; G0.5 P1

This function enables the next block to start (overlap) without waiting for positioning (G00) or reference position re-

turn (G28/G30).

Consequently, cycle time of machining including operation of positioning (G00) or reference position return (G28/

G30) can be reduced.

Adjust the overlap amount according to the command issued by the machining program or with the parameter, and

specify it as in-position width for rapid traverse block overlap.

Also, the operation does not decelerate between blocks if the movement command continues in same direction.

The overlap is also valid when G00 is followed by a G01 block, rather than G00 or G28/G30.

It is not invalid when G28 is followed by G00 or G28/G30.

The validity of this function depends on the MTB specifications.

Example of behavior and velocity waveform 1 (example of application of rapid traverse block overlap in tool

change motion)

Example of behavior and velocity waveform 2 (example of application of rapid traverse block overlap in con-

tinuous drilling motion)

Function and purpose

Intermediate point

Speed

In-position width

Time

Speed Cycle time is reduced.

Time

Program path Command path from NC

In-position width

Speed

Time

Speed Cycle time is reduced.

Time

Program path

Command path from NC

N2(G28)

N2(G28)

N1(G00)

N1

N1 N2 N3

N2

N3(G00) N4(G00)

N5(G01)

N2(G00)

N1(G01)

N1

N1 N2 N3 N4 N5

N2 N3 N4 N5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

203 IB-1501277-Q

For a deceleration check method that uses the in-position width for rapid traverse (G00) or reference position return

(G28/G30), a function with a higher priority that is enabled will be applied.

If none of the functions is enabled, the command deceleration is carried out.

For G00 overlap, refer to "7.14.1 Rapid Traverse Block Overlap for G00; G0.5". For G28/G30 overlap, refer to

"7.14.2 Rapid Traverse Block Overlap for G28".

Deceleration check method using in-position width

Function

Enabling conditions

Deceleration Check

Priority (Deceleration check

method) Enabled behav-

ior

Programmable in-posi- tion

Valid when the in-position width is designated with address ",I" in the same block as G00. (It is valid only for a block in which address ",I" is specified.) (For details, refer to "6.1 Positioning (Rapid Tra- verse); G00" and "7.13 Deceleration Check".)

G00 1

Rapid traverse block overlap (this function)

(1) For G00 Parameter "#1442 G0ol" must be "1" and G00 rapid traverse block overlap must be valid modal code (G0.5P1).

G00/G28/G30 2

(2) For G28/G30 Parameter "#1443 G28ol" must be "1".

In-position check by pa- rameter settings

Parameter "#1193 inpos" must be "1". (For details, refer to "7.13 Deceleration Check".)

G00 3

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

204IB-1501277-Q

7.14.1 Rapid Traverse Block Overlap for G00; G0.5

This function enables the next block to start (overlap) without waiting for the deceleration completion at the joint be-

tween blocks in the G00-G00 command, G00-G01 command and G01-G00 command (*1). This reduces the cycle

time of machining including the G00-G00 command, G00-G01 command and G01-G00 command. (*2)

This function has two modes. The modes can be selected with the parameter "#1711 cfg11/bit2". (This depends on

the MTB specifications. This is available in the M800/M80 Series S/W version F8 or later.)

(*1) In the G01-G00 command, overlap is performed only in the mode 2 and high-accuracy mode.

(The high-accuracy mode means all of high-speed high-accuracy control I/II/III and high-accuracy control (G05.1 and G61.1).)

(*2) Cycle time reduction may not be guaranteed in every case.

(*3) Pre-interpolation acceleration/deceleration is an acceleration/deceleration control method appropriate to high-

accuracy machining.

In the following cases, G00 is operated in pre-interpolation acceleration/deceleration.

The high-speed high-accuracy control mode is selected, and "#8090 SSS ON" is set to "1". "#1086 G00 interp OFF" is set to "0", and "#1205 G0bdcc" (Acceleration and deceleration before G0 interpola-

tion) is not "0".

For the rapid traverse block overlap function, also refer to "7.14 Rapid Traverse Block Overlap; G0.5 P1".

G28/G30 can be overlapped when the rapid traverse block overlap for G28 is enabled. For details, refer to "7.14.2

Rapid Traverse Block Overlap for G28".

(1) The program error (P33) occurs when this command is not issued alone in a block.

(2) This block can be specified simultaneously with an N code (sequence number).

(3) The in-position width at joints between two blocks containing G28/G30 cannot be changed with G0.5P1 com- mand.

(4) G0.5P1 and G0.5P0 are modal.

(5) Address J in G20 must be programmed in inches.

Function and purpose

#1711 cfg11/bit2 Details

0 (mode 1) The cycle time can be reduced in normal acceleration/deceleration control (*3).

1 (mode 2) It is also effective to reduce the cycle time in pre-interpolation acceleration/decel- eration control. It is recommended to normally use the mode 2.

Command format

Starting rapid traverse block overlap for G00

G0.5 P1 J_ K_;

P Starting or canceling the rapid traverse block overlap function (0: Cancel, 1: Start)

J Linear axis in-position width (0.000 to 1000.000 (mm))

K Rotary axis in-position width (0.000 to 1000.000 ())

Canceling rapid traverse block overlap for G00

G0.5 P0;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

205 IB-1501277-Q

(6) If an address is omitted, the width determined by the MTB specifications becomes valid. (Parameters "#2224 SV024" and "#13024 SP024") If a value less than the width determined by the MTB is specified, that width becomes valid.

(7) If address J or K is set to "0", the conventional deceleration check is performed.

The rapid traverse block overlap function for G00 becomes effective when all of the following conditions are satisfied.

(1) The rapid traverse block overlap for G00 is enabled. Refer to the MTB specifications (parameter "#1442 G0ol").

(2) G0.5P1 modal must be active. To make G0.5P1 modal active:

Specify a G code (G0.5P1) in which rapid traverse block overlap is enabled in the machining program. Set parameter "#12056 I_G0oL G00" to "1" (valid).

(1) Mode 1

When the rapid traverse block overlap for G00 is enabled, a G code (positioning (G00) or linear interpolation

(G01)) following positioning (G00) may not be subject to rapid traverse block overlap depending on the current

control mode or parameter settings that are specified by the MTB. (Parameters "#1086 G0intp" and "#1205

G0bdcc")

Refer to the table below for details.

: Subject to rapid traverse block overlap for G00

: Not subject to rapid traverse block overlap for G00

Detailed description

Enabling conditions

N1 G0.5 P1; Rapid traverse block overlap function: Enabled

N2 G91 G00 X10.;

N3 G00 X20.;

N4 G0.5 P0; Rapid traverse block overlap: Invalid

:

Motion subject to rapid traverse block overlap

Control mode Parameter G code following positioning (G00)

High-accuracy mode

#1086 #1205 G00 G01

OFF 0 0

1

2

1 0/1/2

ON 0 0

1

2

1 0/1/2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

206IB-1501277-Q

When executing a rapid traverse block overlap in G00 multi-step acceleration/deceleration, the next block (N2 in the following program) will be started after the deceleration at the last step in the execution block (N1) has started. The hatched area in the figure below is an area in which the in-position width can be specified.

(2) Mode 2 [M8]

Only in the mode 2 and high-accuracy mode, the positioning (G00) commanded following the linear interpolation

(G01) is subject to rapid traverse block overlap. It may not be subject to rapid traverse block overlap depending

on the current control mode or parameter settings specified by the MTB. Refer to the table below for details.

: Subject to rapid traverse block overlap for G00

: Not subject to rapid traverse block overlap for G00 (Operates with the conventional deceleration check func- tion.)

(3) Common to mode 1 and mode 2

This function is valid even in a fixed cycle, subprogram or macro program. (If the in-position width is specified in a fixed cycle command, that value is given priority.)

In addition, this function is valid if positioning (G00) is followed by the fixed cycle (G81, G83 only), subprogram call command or macro call command block when the rapid traverse block overlap for G00 is enabled.

N1 G91 G00 X10.; N2 X10.;

Speed Command to motor Start of deceleration at the last step

Time

Motor movement Deceleration stop

Control mode Parameter G code following posi-

tioning (G00) G code following linear

interpolation (G01)

High-accuracy mode

#8090 (SSS ON)

#1086 (G0intp)

#1205 (G0bdcc)

G00 G01 G00 G01

OFF 0/1 0 0

1

2

1 0/1/2

ON 0 0 0

1

2

1 0/1/2

1 0 0

1

2

1 0/1

2

N1 N2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

207 IB-1501277-Q

The start position of overlap when a rapid traverse block overlap for G00 is executed can be adjusted with the in-

position width. The next block is started when the remaining distances of all movement axes in the current move-

ment block are smaller than the in-position width. (Refer to following figure.)

When setting the in-position width with J and K commands, set a value for each linear and rotary axis. Setting the

in-position width for axes with parameter settings depend on the MTB specifications (parameter "#2631 G0olinps").

The start position of the next block based on the remaining distance and in-position width for each movement axis

is shown below.

This shows an example of when the X axis in-position width is set to 0.5 mm and the Y axis in-position width to 1 mm.

Adjustment of start position of overlap

(a) For X axis (b) For Y axis

Program example Program example

N1 G91 G00 X50.; N2 Y50.;

N1 G91 G00 Y50.; N2 X-50.;

Operation Operation

Start position of N2 block Y axis in-position width = 1 mm

X axis in-position width = 0.5 mm Start position of N2 block

(c) For X and Y axes

Program example

N1 G91 G00 X50. Y50.; N2 X-50. Y50.;

Operation

If the position error amount is smaller than the in-position width for both of the X and Y axes, the next block is started.

Y axis in-position width = 1 mm

If the Y axis position error amount is smaller than the in-position width, but the X axis position error amount is larg- er than that width, the next block is not started.

Start position of N2 block

X axis in-position width = 0.5 mm

N1

N2

N1

N2

N1

N2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

208IB-1501277-Q

The in-position width is determined by the G code address or parameter value.

(1) When specifying the in-position width with a G code, the one specified with address J/K becomes effective. Note that if address J or K is set to "0", the rapid traverse block overlap is disabled.

(2) If a command with address J/K is omitted, the in-position width determined for each of positioning and cutting feed by the MTB specifications becomes effective. (Parameters "#2631 G0olinps" and "#2632 G1olinps")

(a) Positioning (G00) - Positioning (G00): Parameter "#2631 G0olinps"

(b) Positioning (G00) - Cutting feed (G01) (high-accuracy mode is OFF): Parameter "#2632 G1olinps" (*1)

(*1) Positioning (G00) - Cutting feed (G01) may not be subject to rapid traverse block overlap depending on the cur-

rent control mode or parameter settings specified by the MTB. Refer to "Motion subject to rapid traverse block

overlap" for details.

(1) Upper limit for in-position width

When rapid traverse block overlap is enabled, the in-position check is performed after starting deceleration spec-

ified in the speed command ("A" in the figure). Thus, the distance from the servo machine position after starting

the command deceleration to the commanded position (hatched area in the figure below) is the upper limit for

the actual in-position width.

(2) Lower limit for in-position width

The lower limit for the in-position width depends on the MTB specifications (parameters "#2224 SV024" and

"#13024 SP024").

The value of this parameter is applied even if a value less than or equal to this parameter is specified as an in-

position width.

The conventional deceleration check (in-position check method) applies the same in-position width regardless of the

path (corner angle). Therefore, an extra speed change occurs and cycle time is increased even though path direction

stays almost the same. The rapid traverse block overlap automatically compensates for the in-position width based

on the path (corner angle).

However, the in-position width is not compensated for based on the path if a block without a movement command

is inserted between the movement commands to be overlapped.

(1) If the angle is greater than 90, the rapid traverse block overlap function is temporarily canceled.

(2) If the angle is less than 90, the in-position width is compensated for so that it matches the amount of droop at a corner when the corner angle is 90.

Upper and lower limits for in-position width

Speed

Time

Motor movement Command to motor Upper limit for in-position width

Compensation for in-position width based on the path

A

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

209 IB-1501277-Q

The following are examples of using G00 rapid traverse block overlap in combination with G00 (rapid traverse) and

G01 (cutting feed). (When the high-accuracy control mode is OFF)

Program example

When the in-position width is specified with address J (G0.5P1 J_)

Parameter setting X axis Z axis

#2631 (G0olinps) 2 mm 1.5 mm

#2632 (G1olinps) 1 mm 0.5 mm

N1 G0.5P1 J1.0; N2 G91 G01 Z25.; N3 G00 Z25.; N4 G00 Z50.; N5 G00 X125.; N6 G00 Z-75.; N7 G01 Z-25. F1000.;

Z axis in-position width is set to 1 mm with the J address command.

X axis in-position width is set to 1 mm with the J address command.

Program path

Command path from NC

Speed

Time

Speed

Time

Cycle time is re- duced.

N5 N6

N7 N2

N4

Z

X

N3

N2 N3 N4 N5 N6 N7

N3 N4 N5 N6 N7N2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

210IB-1501277-Q

When specifying G00 (positioning) -> G81 (drilling)

(*1) When G00 is operated in pre-interpolation acceleration/deceleration, blocks subject to this function differs de-

pending on the value of the parameter "#1253 set25/bit2".

[Relation between the blocks subject to rapid traverse block overlap during the drilling cycle and the parameter]

: Subject to rapid traverse block overlap for G00

: Not subject to rapid traverse block overalp for G00 (Motion by the conventional deceleration check)

Example behavior in fixed cycle

(Main program) (G81 program)

N10 G0.5 P1 J0.5; N31 G00 X50. Y0.;

N20 G91 G98 G64 G00 Z-25.; N32 G00 Z-25.;

N30 G81 X50. Y0. Z-25. R-25. F1000. L1.; N33 G01 Z-25. F1000.;

N40 X50. ; N34 G00 Z50.;

N50 X50. ;

N60 G00 X50. ;

Program path

Command path from NC

(a) Subject to rapid traverse block overlap (*1) (Start G81 command before positioning is completed. (G81, G83 only))

(b) Subject to rapid traverse block overlap

(c) Subject to rapid traverse block overlap (*1)(*2)

(d) Not subject to rapid traverse block overlap (Not targeted)

(e) Subject to rapid traverse block overlap (*1)(*3)

G00 acceleration/de- celeration type

#1253 set25/bit2

Blocks ("previous block" - "following block")

N20-N31 N31-N32 N34-N41 N41-N42 N44-N51 N51-N52 N54-N60

Acceleration/decelera- tion after interpolation

0/1

Pre-interpolation ac- celeration/deceleration

0

1

Z

X N20

N31

N32

N33 N43 N53N34 N44 N54

N51 N60

N42 N52

(d)

(e) (b)

(c)

(a) N41

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

211 IB-1501277-Q

(*2) When the ",I" address is commanded, the in-position width for fixed cycle is applied to the blocks from N31 to

N32, from N41 to N42 and from N51 to N52, and the blocks are not subject to the rapid traverse block overlap.

(*3) When the ",J" address is commanded, the in-position width for fixed cycle is applied to the blocks from N34 to

N41, from N44 to N51 and from N54 to N60, and the blocks are not subject to the rapid traverse block overlap.

If an ",I" address command is used to specify the in-position width from the program when the rapid traverse block

overlap is enabled, the in-position width of programmable in-position is given priority.

Because the programmable in-position is an unmodal command, the in-position width specified with the rapid tra-

verse block overlap enabled is assumed for commands following ",I" address.

This shows an example of when the X and Y axis in-position widths for G00 are set to 1 mm by parameters.

(*1) The in-position width is the parameter setting value because the programmable in-position is an unmodal com-

mand.

(1) The programmable in-position (",I" command) for G00 pre-interpolation acceleration/deceleration can only be used when the rapid traverse block overlap is enabled.

(2) When G00 is followed by a block without a movement command, a command of address ",I", if specified for G00, is handled as a command specifying a rapid traverse block overlap. Therefore, the overlap takes place only when overlapped movements are executed.

Relationship with other functions

Programmable in-position

N1 G0.5 P1; G0.5 command (for G00)

N2 G91 G00 X50.; Subject to rapid traverse block overlap for G00

N3 Y50. ,I1.5; ",I" address command is valid

N4 X50.; Subject to rapid traverse block overlap for G00

N5 Y50.;

:

In-position width: 1.5 mm (",I" address command is given priority.)

In-position width: 1 mm (Parameter setting value) (*1)

Program path

Command path from NC

In-position width: 1 mm (Parameter setting value) (*1)

N2

Y

X

N3

N4

N5

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

212IB-1501277-Q

When the rapid traverse block overlap is enabled, the conventional deceleration check is disabled for the behavior

subject to this function.

When the rapid traverse block overlap is disabled, the conventional deceleration check is enabled.

This shows an example of when the X and Y axis in-position widths for G00 are set to 1 mm by parameters.

Deceleration check

N1 G0.5 P1; G0.5 command (for G00)

N2 G91 G00 X50.; Subject to rapid traverse block overlap for G00

N3 Y50.; Deceleration check is valid.

N4 G0.5 P0;

N5 X50.; Deceleration check is valid.

N6 Y50.; Deceleration check is valid.

:

Deceleration check is valid. (Command deceleration method/in-position check method)

Program path

Command path from NC

In-position width: 1 mm (Parameter setting value)

N2

Y

X

N3

N6 N5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

213 IB-1501277-Q

In the block where the compensation amount of the tool compensation function below is changed, rapid traverse

block overlap is not performed at either of the start point or the end point.

Tool length offset Tool radius compensation 3-dimensional tool radius compensation Tool function (T command) Nose R compensation

The following example shows a case in which the Z axis length compensation amount of tool number 1 is 50 mm.

(1) When a block without a movement command is inserted between blocks (N1 and N2) that are subject to the rapid traverse block overlap, whether to perform the rapid traverse block overlap depends on the acceleration/decel- eration mode of the N1 block. When the acceleration/deceleration mode of the N1 block is acceleration/deceler- ation after interpolation, the rapid traverse block overlap is performed. When the acceleration/deceleration mode of the N1 block is pre-interpolation acceleration/deceleration, the rapid traverse block overlap is not performed. However, even if the acceleration/deceleration mode of the N1 block is acceleration/deceleration after interpo- lation, a block without movement that is inserted between a G00 command and G28/30 block is not overlapped when the rapid traverse block overlap for G00 is disabled ("#1442 G0ol" is "0") and rapid traverse block overlap for G28 is enabled ("#1443 G28ol" is "1").

(2) When a block without a movement command is inserted between blocks that are subject to the rapid traverse block overlap, the in-position width is not compensated for based on the path.

(3) When the high-accuracy control mode is selected or the parameter #1205 is set to "1" or "2", the next block will not be performed until the speed is reduced below the rapid speed (#2001) if the speed at the completion of in- position check is higher than the rapid speed (parameter #2001) of the next block.

(4) Even when the overlap process blocks continue, if one or more axes are moved in reversed direction, the overlap function is temporarily canceled.

(5) The rapid traverse block overlap is not performed during tool center point control or during inclined surface ma- chining.

(6) (Only for C80 Series) The rapid traverse block overlap function is temporarily canceled in the following cases: when the high-accuracy control mode is selected; when the parameter #1205 is set to "1" or "2" and the param- eters #1569 and #1570 are set to "0".

Tool compensation

N1 G0.5 P1; G00 rapid traverse block overlap valid command

N2 G91 G00 X50.;

N3 G43 H1; Tool length offset valid

N4 G00 X50.;

N5 G00 Z-50.;

N6 G00 X50.;

N7 G49 ; Tool length offset invalid

N8 G00 X50.;

N9 G0.5 P0;

(A) These are the start and end points of movement where the compensation amount is changed by G43/G49; therefore, the rapid traverse block overlap function is invalid.

Precautions

X

Z

N2

N3

N4 N5

N6

N7

N8(A)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

214IB-1501277-Q

7.14.2 Rapid Traverse Block Overlap for G28

This function enables the next block to start (overlap) without waiting for the deceleration completion at the joint be-

tween blocks in the G00-G28/G30 command or at the intermediate point of G28/G30. This reduces the cycle time

of machining including the G00 or G28/G30 operation. (*1)

(*1) Cycle time reduction may not be guaranteed in every case.

In the following cases, G00 is operated in pre-interpolation acceleration/deceleration.

The high-speed high-accuracy control mode is selected, and "#8090 SSS ON" is set to "1". "#1086 G00 interp OFF" is set to "0", and "#1205 G0bdcc" (Acceleration and deceleration before G0 interpola-

tion) is not "0".

For the rapid traverse block overlap function, also refer to "7.14 Rapid Traverse Block Overlap; G0.5 P1".

G00 can be overlapped when the rapid traverse block overlap for G00 is enabled. For details, refer to "7.14.1 Rapid

Traverse Block Overlap for G00; G0.5".

The rapid traverse block overlap function for G28 becomes effective when all of the following conditions are satisfied.

(1) The rapid traverse block overlap for G28 is enabled. (Refer to the MTB specifications. "#1443 G28ol")

(2) High-speed reference position return is active. (Dog-type is not subject to this.)

(3) When the rapid traverse block overlap for G00 is enabled, a G00 command is followed by G28 or G30 positioning command.

(1) For G28/G30, whether or not the appropriate block, if its movement is made via an intermediate point, is over- lapped depends on the MTB specifications (parameters "#1205 G0bdcc" and "#1086 G0intp").

(2) If G28/G30 command is followed by another G28/G30, blocks are not overlapped in rapid traverse. (Blocks are not overlapped.

The start position of overlap when a rapid traverse block overlap for G28 is executed can be adjusted with the in-

position width. The next block is started when the remaining distances of all movement axes in the current move-

ment block are smaller than the in-position width.

The in-position width depends on the MTB specifications (parameter "#2633 G28olinps").

Function and purpose

#1711 cfg11/bit2 Details

0 (mode 1) The cycle time can be reduced in normal acceleration/deceleration control.

1 (mode 2) It is also effective to reduce the cycle time in pre-interpolation acceleration/de- celeration control.

Detailed description

Enabling conditions

Intermediate point

Rapid traverse block overlap

Adjustment of start position of overlap

Note

N1:G00

N2:G02

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

215 IB-1501277-Q

The following are examples of using rapid traverse block overlap for G28 in combination with G28/G30 (reference

position return) and G00 (rapid traverse).

Initial position of axes: X axis = -50 mm; Z axis = -100 mm

Refer to "7.14 Rapid Traverse Block Overlap; G0.5 P1".

Refer to "7.14 Rapid Traverse Block Overlap; G0.5 P1".

Program example

Parameter setting X axis Z axis

#2633 G28olinps 0.5 mm 1 mm

Intermediate point

In-position width: 1 mm

N1 G91 G00 Z50.; N2 G91 G28 X0.Z50.;

Program path Command path from NC

Relationship with Other Functions

Precautions

N2(G28)

N2(G28)

N1(G00)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

216IB-1501277-Q

7.15 Automatic Corner Override

With tool radius compensation, this function reduces the load during inside cutting of automatic corner R, or during

inside corner cutting, by automatically applying override to the feedrate.

There are two types of automatic corner override: Automatic corner override (G62) and inner arc override.

Automatic corner override (G62) is valid until the tool radius compensation cancel (G40), exact stop check mode

(G61), high-accuracy control mode (G61.1), tapping mode (G63), or cutting mode (G64) command is issued.

The inner arc override is valid whenever the machine is in the tool radius compensation mode (G41/G42), regardless

of the automatic corner override (G62) mode.

When cutting an inside corner, as shown in the figure below, the machining allowance amount increases and a

greater load is applied to the tool. To remedy this, override is applied automatically within the corner set range, the

feedrate is reduced, the increase in the load is reduced and cutting is performed effectively.

However, this function is valid only when finished shapes are programmed.

[Operation]

(1) If there is no G62 command: When the tool moves in the order of P1 -> P2 -> P3 in the above figure, the machining allowance at P3 increase by an amount equivalent to the area of shaded section S compared to P2 and so that tool load increases.

(2) If there is G62 command: When the inside corner angle in the above figure is less than the angle set in the parameter, the override set into the parameter is automatically applied in the deceleration range Ci.

Function and purpose

Detailed description

Machining inside corners

Workpiece

Program path (Finished shape) Machining allowance

Workpiece surface shape

Tool center path

Deceleration range Ci (IN)

Tool

: Max. angle at inside corner

Ci

P1

P3 P2

S

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

217 IB-1501277-Q

[Parameter setting]

The following parameters are set into the machining parameters. Refer to the Instruction Manual for details on the

setting method.

(1) The override set in the parameter is automatically applied at the deceleration range Ci and corner R section for inside offset with automatic corner R. (There is no angle check.)

# Parameters Setting range

#8007 Override 0 to 100 (%)

#8008 MAX ANGLE 0 to 180 []

#8009 DSC.ZONE 0 to 99999.999 [mm] or 0 to 3937.000 [inches]

Automatic corner R

Program path Tool center path

Corner R center Corner R section

Deceleration range (Ci)

Workpiece surface shape

Machining allowance

Workpiece

Ci

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

218IB-1501277-Q

The lines in the figure denote:

(1) Linear - linear corner

The override set in the parameter (#8007) is applied in the deceleration range Ci.

(2) Linear - arc (outside offset) corner

The override set in the parameter (#8007) is applied in the deceleration range Ci.

(3) Arc (outside offset) - linear corner

The deceleration range Ci where the override is applied is the length of the arc with an arc command.

(4) Linear - arc (inside offset) corner

During cutting of arc (inside offset), an inner arc override is applied.

Application example

Programmed path Tool center Arc (inside offset)

(a) If there is a G62 command: (b) If there is no G62 command:

For straight lines, the override set in the parameter (#8007) is applied in the deceleration range Ci.

Ci

Ci

Ci

Ci

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

219 IB-1501277-Q

(5) Arc (inside offset) - linear corner

(*1) The deceleration range Ci where the override is applied is the length of the arc with an arc command.

During cutting of arc (inside offset), an inner arc override is applied.

Automatic corner override will not be applied to straight lines.

(6) Arc (inside offset) - arc (outside offset) corner

(*1) The deceleration range Ci where the override is applied is the length of the arc with an arc command.

During cutting of arc (inside offset), an inner arc override is applied.

Automatic corner override will not be applied to straight lines.

(a) If there is a G62 command: (b) If there is no G62 command:

In addition to the inner arc override, the override set in the parameter (#8007) is applied in the deceleration range Ci. (*1) F (speed command value) x (inner arc override) x (set- ting for #8007)

(a) If there is a G62 command: (b) If there is no G62 command:

In addition to the inner arc override, the override set in the parameter (#8007) is applied in the deceleration range Ci. (*1) F (speed command value) x (inner arc override) x (set- ting for #8007)

Ci

Ci

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

220IB-1501277-Q

Relationship with other functions

Function Operation of automatic corner over- ride (G62)

Operation of inner arc override

F1-digit Feed Automatic corner override is applied to the F1-digit speed.

Inner arc override is applied to the F1- digit speed.

Cutting feed override Cutting feed override is applied to auto- matic corner override.

Cutting feed override is applied to the feedrate to which inner arc override has been applied.

Override cancel Automatic corner override will not be can- celed by override cancel.

Inner arc override is not canceled by override cancel.

External deceleration External deceleration speed will be ap- plied after automatic corner override is applied to the cutting feedrate.

External deceleration is applied to the feedrate to which the inner arc override has been applied.

Speed clamp Clamp speed will be applied after auto- matic corner override is applied to the cutting feedrate.

Clamp speed is applied to the feedrate to which the inner arc override has been ap- plied.

Dry run Automatic corner override will not be ap- plied.

Inner arc override is not applied.

Synchronous feed Automatic corner override is applied to the synchronous feedrate.

Inner arc override is applied to the syn- chronous feedrate.

Thread cutting Automatic corner override will not be ap- plied.

Inner arc override is not applied.

G31 Skip Program error occurs with G31 command during tool radius compensation.

Same as on the left.

Machine lock Automatic corner override is applied even in the machine lock state.

Inner arc override is applied even in the machine lock state.

Positioning (G00)

Automatic corner override is not applied to the positioning command.

Inner arc override is not applied to the po- sitioning command.

Linear interpolation (G01)

Automatic corner override is applied to linear interpolation.

Inner arc override is not applied to linear interpolation.

Circular Interpolation (G02, G03)

Automatic corner override is applied to circular interpolation.

Inner arc override is applied to circular in- terpolation.

Spiral/conical interpolation (G02.1,G03.1)

Automatic corner override is applied to spiral/conical interpolation.

Inner arc override is applied to spiral/con- ical interpolation.

Involute Interpolation (G02.2, G03.2)

Automatic corner override is applied to in- volute interpolation.

Inner arc override is not applied to invo- lute interpolation (*1).

Tool radius compensation cancel (G40)

Automatic corner override will not be ap- plied while the tool radius compensation is being canceled.

Inner arc override is not applied while the tool radius compensation is canceled.

3-dimensional tool radius compensation (Compensation vector des- ignation type) (G41, G42)

Automatic corner override is not applied during 3-dimensional tool radius com- pensation (compensation vector desig- nation type).

Inner arc override is applied during 3-di- mensional tool radius compensation (compensation vector designation type).

3-dimensional tool radius compensation (Tool's vertical-direction compensation type) (G41.2, G42.2)

If G62 is commanded during 3-dimen- sional tool radius compensation (tool's vertical-direction compensation type), a program error will occur.

The 3-dimensional tool radius compen- sation (tool's vertical-direction compen- sation type) cannot be combined with circular interpolation or circular cutting; therefore, a program error will occur.

Nose radius compensation (G41, G42, G46)

Automatic corner override is applied during the nose radius compensation.

Inner arc override is not applied during the nose radius compensation.

Circular cut (G12, G13)

Automatic corner override will not be ap- plied during circular cutting.

The operation is switched by the param- eter "#19421 Arc inside min ovr type". For details, refer to "7.15.2 Inner Arc Over- ride".

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

221 IB-1501277-Q

(* 1) Involute interpolation provides involute interpolation override (equivalent to inner arc override) to adjust the

speed so that the tool center speed does not exceed the lower limit (#1558 IvOMin) of override when tool radius

compensation inside is set.

To designate the minimum override value for inner arc cutting in involute interpolation, set the parameter above.

(This parameter setting depends on the MTB specifications.)

Circular cutting cycle (G75)

Automatic corner override will not be ap- plied during the circular cutting cycle.

Inner arc override is not applied during the circular cutting cycle.

High-speed machining mode I/II (G05P1, G05P2)

Automatic corner override is applied during high-speed machining mode.

Inner arc override is applied during high- speed machining mode.

High-speed high-accuracy control I, II (G05.1Q1, G05P10000)

Automatic corner override is applied during high-speed high-accuracy control I/II.

Inner arc override is applied during high- speed high-accuracy control I or II.

High-accuracy control (G08P1)

A program error will occur if the G62 com- mand is issued during high-accuracy control (G08P1).

Inner arc override is not applied during high-accuracy control mode (G08P1).

High-accuracy control (G61.1)

Both high-accuracy control (G61.1) and automatic corner override are functions of G code group 13; therefore, they can- not be combined.

Inner arc override is applied during high- accuracy control mode (G61.1).

High-accuracy spline inter- polation 1,2 (G61.2, G61.3)

Both high-accuracy spline interpolation 1/ 2 and automatic corner override are func- tions of G code group 13; therefore, they cannot be combined.

High-accuracy spline interpolation 1/2 is enabled when G code group 01 is set to linear interpolation (G01); therefore, it cannot be combined with inner arc over- ride.

SSS Control Automatic corner override is applied to SSS control.

Inner arc override is applied to SSS con- trol.

Corner rounding Automatic corner override is applied to corner rounding.

Inner arc override is not applied to the corner R.

Feedrate override OFF (#3004 bit1 = ON)

Automatic corner override will not be ap- plied while the feedrate override is inval- id.

Inner arc override is applied while the feedrate override is invalid.

Function Operation of automatic corner over- ride (G62)

Operation of inner arc override

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

222IB-1501277-Q

(1) Automatic corner override (G62) is valid only in the G01, G02, and G03 modes; it is not effective in the G00 mode. When switching from the G00 mode to the G01 (or G02 or G03) mode at a corner (or vice versa), automatic corner override will not be applied at that corner in the G00 block.

(2) Even if the automatic corner override mode is entered, the automatic corner override will not be applied until the tool radius compensation mode is entered.

(3) Automatic corner override will not be applied on a corner where the tool radius compensation is started or can- celed.

(4) Automatic corner override will not be applied on a corner where the tool radius compensation I, K vector com- mand is issued.

(5) Automatic corner override will not be applied when intersection calculation cannot be executed. Intersection calculation cannot be executed in the following case. When the movement command block does not continue for four or more times.

(6) The deceleration range with an arc command is the length of the arc.

(7) The inside corner angle, as set by parameter, is the angle on the programmed path.

(8) When the parameters are set as shown below, the automatic corner override (G62) or inner arc override is dis- abled.

(a) Conditions that disable the automatic corner override (G62)

#8007 (override) is set to 0 or 100 #8008 (max. angle) is set to 0 or 180 #8009 (DSC.ZONE) is set to 0

(b) Condition that disables the inner arc override

#19418 (minimum OVR for inner arc) is set to 0 or 100

(9) The inclined surface machining command is not available during automatic corner override modal. To perform inclined surface machining, command G64 (cutting mode) in advance, then cancel the modal mode.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

223 IB-1501277-Q

7.15.1 Automatic Corner Override ; G62

Automatic corner override (G62) is valid until the nose R compensation cancel (G40), exact stop check mode (G61),

high-accuracy control mode (G61.1), tapping mode (G63), or cutting mode (G64) command is issued.

For detailed description, execution example, the relationship with other functions and precautions, refer to "7.15 Au-

tomatic Corner Override".

Command format

G62 ; ... Automatic Corner Override

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

224IB-1501277-Q

7.15.2 Inner Arc Override

When cutting an arc (inside offset), applying the override given by the following expression to the commanded fee-

drate (F) causes that feedrate to become the F value for which the feedrate of the programmed path is commanded.

The inner arc override is valid whenever the machine is in the tool radius compensation mode (G41/G42), regardless

of the automatic corner override (G62) mode.

Inner arc override will not be applied when the machine is in automatic corner R.

Inner arc override can be enabled by the parameter "#19420 Arc inside ovr ON" while the tool radius compensation

mode (G41/G42) and automatic corner override mode (G62) are ON.

(C) Arc center

R1: Radius of tool center path

R2: Radius of program path

If the radius (R1) of tool center path is very small compared to the radius (R2) of program path, R1/R2 is nearly equal

to 0, causing the tool feed to stop.

To prevent the tool feed from being stopped, set the parameter "#19418 Arc inside min ovr".

When the value of inner arc override is the same or smaller than the parameter setting (*1), the tool feed speed is

as follows:

F x Parameter setting value / 100

(*1) R1/R2 #19418

The operation of inner arc override during the circular cutting (G12/G13) can be switched by the parameter "#19421

Arc inside ovr typ".

When #19421 is type 1, the inner arc override during the circular cutting is invalid. When #19421 is type 2, the inner arc override during the circular cutting is valid.

Compensation by D address (compensation number) of the circular cutting is not added to the value of inner arc

override. The value of inner arc override is calculated using the path after the compensation by D address as the

program path and the path with tool radius compensation added to the path as the tool center path.

For detailed description, execution example, the relationship with other functions and precautions, refer to "7.15 Au-

tomatic Corner Override".

Detailed description

R1: Radius of tool center path R2: Radius of program path

Programmed path

Tool center path

F R1 R2

R1

R2

(C)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

225 IB-1501277-Q

7.16 Tapping Mode; G63

The G63 command allows the control mode best suited for tapping to be entered, as indicated below:

(1) Cutting override is fixed at 100%.

(2) Deceleration commands at joints between blocks are invalid.

(3) Feed hold is invalid.

(4) Single block is invalid.

(5) In-tapping mode signal is output.

G63 is released by the exact stop check mode (G61), high-accuracy control mode (G61.1), automatic corner over-

ride (G62), or cutting mode (G64) command.

The machine is in the cutting mode status when its power is turned ON.

Function and purpose

Command format

G63; ... Tapping mode

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

7 Feed Functions

226IB-1501277-Q

7.17 Cutting Mode; G64

The G64 command allows the cutting mode in which smooth cutting surfaces are obtained to be established. Unlike

the exact stop check mode (G61), the next block is executed continuously with the machine not decelerating and

stopping between cutting feed blocks in this mode.

G64 is released by the exact stop check mode (G61), high-accuracy control mode (G61.1), automatic corner over-

ride (G62), or tapping mode (G63).

The machine is in the cutting mode status when its power is turned ON.

Function and purpose

Command format

G64; ... Cutting mode

8

227 IB-1501277-Q

Dwell

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

8 Dwell

228IB-1501277-Q

8Dwell 8.1 Dwell (Time-based Designation); G04

The machine movement is temporarily stopped by the program command to make the waiting time state. Therefore,

the start of the next block can be delayed. The waiting time state can be canceled by inputting the skip signal.

When the asynchronous feed mode (G94) is being executed, there is no need to specify G94.

The setting unit of the dwell time depends on the address type and the parameter setting value. For details, refer to

"Detailed description".

(1) The decimal point command is enabled for the dwell time designation with X.

(2) When the parameter "#8112 DECIMAL PNT-P" is "1", the decimal point command is valid for the dwell time des- ignated with the address P. When #8112 is "0", the decimal point command is invalid, and the number below the decimal point of the P command value is ignored. When the decimal point command is valid and when it is invalid, the command range of the dwell time is respec- tively as follows.

(3) When the parameter "#1078 Decpt2" is "1", the dwell time setting unit applied when there is no decimal point in the command value of the dwell time can be set to seconds. This is effective only for the addresses X and the address P for which the parameter "#8112 DECIMAL PNT-P" is "1".

Function and purpose

Command format

Dwell (Time-based designation)

G94 G04 X__ ;

G94 G04 P__;

X/P Dwell time

Detailed description

The decimal point command is valid. (#8112 = 1)

The decimal point command is invalid. (#8112 = 0)

0 to 99999.999 (s) 0 to 99999999 (ms)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

8 Dwell

229 IB-1501277-Q

(4) If any of the following conditions is met, the dwell time unit commanded by "P" is "ms"; however, the setting unit can be changed with the parameter "#19014 G04 P factor". "#8112 DECIMAL PNT-P" is set to "0". "#8112 DECIMAL PNT-P" is set to "1", "#1078 Decept2" is set to "0" and the value of address "P" has no

decimal point.

The actual duration of dwell (time) can be obtained from the following formula.

P10n

P: command value of address "P" n: setting value of #19014 ("-3" to "3")

(5) When a cutting command is in the previous block, the dwell command starts counting the dwell time after the machine has decelerated and stopped. When the dwell command is issued in the same block as an M, S, T or B command, the count starts simultaneously.

(6) If a feed hold signal is input while dwelling is being performed, the count of the dwell time is interrupted. When the operation is restarted, the count of the dwell time is restarted.

(7) The dwell is valid during the interlock.

(8) The dwell is valid even for the machine lock.

(9) Depending on the MTB specifications, the dwell can be canceled by the skip signal (parameter "#1173 dwlskp"). If the set skip signal is input during the dwell time, the remaining time is discarded, and the following block will be executed.

Setting value of #19014 Command increment (ms) Maximum duration of dwell (ms)

-3 0.001 99999.999 (ms)

-2 0.01 999999.99 (ms)

-1 0.1 9999999.9 (ms)

0 1 99999999 (ms)

1 10 999999.99 (s)

2 100 9999999.9 (s)

3 1000 99999999 (s)

Previous block cutting command

Dwell command

Dwell section

Next block

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

8 Dwell

230IB-1501277-Q

Here is a program example which satisfies the following conditions.

#100 = 1000 ; The parameter "#19014 G04 P factor" is set to "0".

(*1) When the parameter "#19014 G04 P factor" is set to a value other than "0", refer to the description for the pa-

rameter #19104 in "Detailed description".

The G04 operation in the fixed cycle subprogram follows the asynchronous feed (G94) or synchronous feed (G95)

mode that is set when the fixed cycle is commanded. However, if the parameter "#8130 Dwell in rev." is "0" (invalid),

the dwell (time-based designation) is carried out.

When the parameter "#19019 fixpro G04P factor" is "1", the factor of the dwell command value in the fixed cycle

subprogram is changed according to the "#19014 G04 P factor" setting.

When the parameter #19019 is "0", the factor is "1" regardless of the "#19014 G04 P factor" value.

The G04 operation in the synchronous tapping cycle subprogram is set to the dwell (time-based designation) re-

gardless of whether the asynchronous (G94) or synchronous (G95) mode is set.

The larger value of the address P value and the setting value of "#1313 TapDwl" (Synchronous tap hole bottom wait

time) is the wait time at the hole bottom in the synchronous tapping cycle.

When the parameter "#19019 fixpro G04P factor" is "1", the value obtained by multiplying the wait time value by the

"#19014 G04 P factor" value is used as an actual wait time at the hole bottom.

(1) To use this function, the dwell time must be commanded after G04. When the dwell time is commanded before G04, the dwell time may differ from the estimated one.

Program example

Command Dwell time [s]

#1078 = 0 #1078 = 1

#8112 = 0 #8112 = 1 #8112 = 0 #8112 = 1

G04 X500 ; 0.5 500

G04 X5000 ; 5 5000

G04 X5 ; 5 5

G04 X#100 ; 1000 1000

G04 P5000 ; 5 (*1) 5 (*1) 5000

G04 P12.345 ; 0.012 (*1) 12.345 0.012 (*1) 12.345

G04 P#100 ; 1 (*1) 1000 1 (*1) 1000

Relationship with Other Functions

Fixed cycle command

Synchronous tapping cycle command

Precautions and restrictions

9

231 IB-1501277-Q

Miscellaneous Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

232IB-1501277-Q

9Miscellaneous Functions 9.1 Miscellaneous Functions (M8-Digits)

The miscellaneous functions are also known as M functions, and they command auxiliary functions, such as spindle

forward and reverse rotation, operation stop and coolant ON/OFF.

These functions are designated by an 8-digit number (0 to 99999999) following the address M, and multiple com-

mands can be issued in a single block. The number of M commands that can be issued within the same block de-

pends on the MTB specifications (parameter "#12005 Mfig").

(Example) G00 Xx Mm1 Mm2 Mm3 Mm4;

When the number of M commands in a single block is greater than the setting value of the parameter "#12005 Mfig",

the commands issued later are valid.

Whether to BCD output or binary output the miscellaneous function can be selected by a parameter.

The eight commands of M00, M01, M02, M30, M96, M97, M98 and M99 are used as auxiliary commands for specific

objectives and so they cannot be used as general auxiliary commands.

Reference should be made to the instructions issued by the MTB for the actual correspondence between the func-

tions and numerical values.

When the M00, M01, M02, and M30 functions are used, the next block is not read into the pre-read buffer due to

pre-read inhibiting.

If the M function is designated in the same block as a movement command, the commands may be executed in

either of the following two orders. The machine specifications determine which sequence applies.

(1) The M function is executed after the movement command.

(2) The M function is executed at the same time as the movement command.

Processing and completion sequences are required in each case for all M commands except M96, M97, M98 and

M99.

When the NC has read this function, it stops reading the next block. As far as the NC system's functions are con-

cerned, it only stops reading the next block. Whether machine functions such as the spindle rotation and coolant

supply are stopped or not differs according to the machine in question.

Re-start is enabled by pressing the automatic start button on the machine operation board.

Whether resetting can be initiated by M00 depends on the machine specifications.

Function and purpose

Detailed description

Program stop (M00)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

233 IB-1501277-Q

If the M01 command is read when the optional stop switch on the machine operation board is ON, it will stop reading

the next block and perform the same operation as the M00.

If the optional stop switch is OFF, the M01 command is ignored.

(Example)

This command is normally used in the final block for completing the machining, and so it is primarily used for cueing

up the machining program. Whether the program is actually cued up or not depends on the machine specifications.

Depending on the machine specifications, the system is reset by the M02 or M30 command upon completion of cue-

ing up the program and any other commands issued in the same block.

(Although the contents of the command position display counter are not cleared by this reset action, the modal com-

mands and compensation amounts are canceled.)

The next operation stops when the cueing up operation is completed (the in-automatic operation lamp goes off).

To restart the unit, the automatic start button must be pressed or similar steps must be taken.

When the program is restarted after M02 and M30 are completed, if the first movement command is designated only

with a coordinate word, the interpolation mode will function when the program ends. It is recommended that a G

function always be designated for the movement command designated first.

(1) Individual signals are also output respectively for the M00, M01, M02 and M30 commands and these outputs are each reset by pressing the reset key.

(2) M02 or M30 can be assigned by manual data input (MDI). At this time, commands can be issued simultaneously with other commands.

M96 and M97 are M codes for user macro interrupt control.

To use M96 and M97 as miscellaneous functions, change to another M code with the parameter ("#1109 subs_M",

"#1110 M96_M" and "#1111 M97_M").

Sequence processing is unnecessary for the M commands (No M code signal nor strove signal is output).

These commands are used as the return instructions from branch destination subprograms and branches to sub-

programs.

Sequence processing is unnecessary for the M commands (No M code signal nor strove signal is output).

Internal processing suspends pre-reading when the M00, M01, M02 or M30 command has been read. Other cueing

up operations and the initialization of modals by resetting differ according the machine specifications.

Optional stop (M01)

:

N10 G00 X1000 ; The state and operation of optional stop switch

N11 M01 ; Stops at N11 when the switch is ON

N12 G01 X2000 Z3000 F600 ; Next command (N12) is executed without stopping at N11 when the switch is OFF

:

Program end (M02 or M30)

Macro Interruption (M96, M97)

Subprogram call/completion : (M98, M99)

Internal processing with M00/M01/M02/M30 commands

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

234IB-1501277-Q

When G1 command is successively issued, the blocks are overlapped in order to smooth the joint between blocks.

Normally, in a block including a miscellaneous command, the overlap is temporarily canceled. In this case, this con-

trol aims to keep the speed constant until the end of the block; however, when the miscellaneous function strobe is

turned OFF by the completion signal, the overlap is enabled. The movement speed is slightly fluctuated by this be-

havior.

The behavior can be switched by the parameter setting so that the speed is kept constant without temporary can-

cellation of the overlap even when the miscellaneous command is issued in the same block. The switching is per-

formed with "#1701 cfg01/bit5" (Behavior of overlapping for G1 command blocks).

When S command, T command and 2nd miscellaneous command are issued, the behavior is switched in the same

way as the miscellaneous command.

[Overlap by G1 successive command]

[Overlap by G1 successive command (with miscellaneous command)]

Relationship with other functions

G1 successive command [C80]

Commanded speed

Speed

Time

Commanded speed

Speed

Time

M function strobe

M function finish 1

G01X20. F500 ; G01X40. ; G01X60. ;

G01X20. F500; G01X40.M28; G01X60. ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

235 IB-1501277-Q

Even when the miscellaneous command is issued, the overlap is enabled by enabling "#1701 cfg01/bit5" (Behavior

of overlapping for G1 command blocks). However, when the movement command is finished earlier than the mis-

cellaneous command, a wait for completion of miscellaneous command is made while the remaining movement

amount of the overlap with the next block is left. After the completion of the miscellaneous command, the remaining

distance is moved by overlapping with the next block.

[Overlap by G1 successive command (when a wait for completion of miscellaneous command is made)

Precautions

Commanded speed

Speed

Time

M function strobe

M function finish 1

(A) The remaining movement amount is left.

(B) A wait for completion of miscellaneous command is made.

G01X20. F500; G01X40.M70;

(A)

(B)

G01X60. ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

236IB-1501277-Q

9.2 2nd Miscellaneous Functions (A8-digits, B8-digits or C8-digits)

These serve to assign the indexing table positioning, etc. In this controller, they are assigned by an 8-digit number

from 0 to 99999999 following address A, B or C. The MTB determines which codes correspond to which positions.

The address that is used for the 2nd miscellaneous function (A, B, or C) depends on the MTB specifications (param-

eter "#1170 M2name"). (Except the address that is used for the axis name and the increment command axis name.)

The 2nd miscellaneous function can be issued for up to 4 sets in a block. The number of commands that can be

issued within the same block depends on the MTB specifications (parameter "#12011 Bfig").

Whether to BCD output or binary output the 2nd miscellaneous function can be selected by a parameter.

If the A, B or C function is designated in the same block as a movement command, the commands may be executed

in either of the following two orders. The machine specifications determine which sequence applies.

(1) The A, B or C function is executed after the movement command.

(2) The A, B or C function is executed simultaneously with the movement command.

Processing and completion sequences are required for all 2nd miscellaneous functions.

The table below gives address combinations. It is not possible to use an address that is the same for the axis name

of an additional axis and 2nd miscellaneous function.

(1) When A has been assigned as the 2nd miscellaneous function address, the following commands cannot be used. Linear angle commands (",A" can be used.) Geometric command

Function and purpose

Detailed description

Additional axis name

A B C

2nd miscellaneous function A -

B -

C -

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

237 IB-1501277-Q

9.3 Index Table Indexing

Index table indexing can be carried out by setting the index axis.

The indexing command only requires specifying the indexing angle to the axis set for indexing. It is not necessary

to command special M codes for table clamping and unclamping, thus simplifying the program.

There are the following two types for this function. Which type is valid and which axis is set as the indexing axis

depend on the MTB specifications (parameters "#1282 ext18/bit3" and "#2076 index_x").

Type A: When the unclamp command signal is turned OFF, the clamp operation is performed. Type B: When the clamp command signal is turned ON, the clamp operation is performed.

The PLC operation and each signal input/output depend on the MTB specifications.

(1) The movement command (either absolute or incremental) for the selected axis is executed with the program command.

(2) The unclamp command signal is now output prior to the axis movement.

(3) When the axes are unclamped, the unclamp completion signal is turned ON by the PLC. (Turn the signal ON after performing required process such as servo ON or the unclamp process.)

(4) After checking the unclamp completion signal, the designated axis starts moving.

(5) Upon completion of the movement, the unclamp command signal is turned OFF.

(6) Clamp the axes and turn the unclamp completion signal OFF with the PLC. (Turn the signal OFF after performing required process such as in-position check, servo OFF or the clamp pro- cess.)

(7) After checking that the unclamp completion signal is OFF, processing of the next block is initiated.

[Operation time chart]

Function and purpose

Command format

G00 B90 ;

B Index table indexing axis (designated with parameter "#2076 index_x")

Detailed description

Type A operations

Programmed command

Unclamp command (CNC -> PLC)

Unclamp completion (PLC -> CNC)

B axis movement

T10 FIN WAIT 0800 T10 FIN WAIT 0800

G00 B90.;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

238IB-1501277-Q

(1) The movement command (either absolute or incremental) for the selected axis is executed with the program command.

(2) The unclamp command signal is now output prior to the axis movement.

(3) When the axes are unclamped, the unclamp completion signal is turned ON by the PLC. (Turn the signal ON after performing required process such as servo ON or the unclamp process.)

(4) After checking the unclamp completion signal, turn the unclamp command signal OFF and the designated axis starts moving.

(5) Turn the unclamp completion signal OFF with the PLC.

(6) Upon completion of the movement, the clamp command signal is turned ON.

(7) Clamp the axes and turn the clamp completion signal ON with the PLC. (Turn the signal OFF after performing required process such as in-position check, servo OFF or the clamp pro- cess.)

(8) After checking that the clamp completion signal is ON, turn the clamp command signal OFF and processing of the next block is initiated.

(9) Turn the clamp completion signal OFF with the PLC.

When the cutting feed of index table indexing axes is prohibited, the cutting feed can be prohibited by issuing a pro-

gram error (P20) if all of the following conditions are satisfied during automatic operation.

The indexing axis movement command is issued. (*1) The modal of G code group 1 is other than "G00" or "G60".

(*1) If a cutting feed command without axis movement (such as "G01 B0;" during incremental command) is issued,

the program error does not occur. Also, the unclamp command is not output.

The cutting feed prohibit function is valid for both type A and type B, and the parameter settings depend on the MTB

specifications (Parameter "#2580 index_Gcmd").

Type B operations

Programmed command

Unclamp command (CNC -> PLC)

Unclamp command (PLC -> CNC )

Clamp command (CNC -> PLC)

Clamp completion (PLC -> CNC)

Axis movement

T10 FIN WAIT 0800 T10 FIN WAIT 0800

Cutting feed prohibit of index table indexing axes

G00 B90.;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

239 IB-1501277-Q

(*1) The unidirectional positioning function can be used in the machining center system only.

If parameter "#8209 G60 SHIFT" is not in the indexing unit, a program error (P20) will occur. When an axis command that cannot be divided in the command unit is issued, a program error (P20) will

occur. In a single block operation, the block stop is carried out for the indexing axis at the position specified by

parameter #8209, and the clamp or unclamp operation is carried out.

The clamp and unclamp operations are not executed when the movement commands of the index table indexing

axis are successively issued.

Note that the clamp and unclamp operations are executed even when the movement commands are continued

during single block operation.

A combination of G codes that executes clamp or unclamp operation with continuous blocks is listed below.

(The unclamp operation is executed before the axis movement of previous block is started, and the clamp operation

is executed after the axis movement of the next block.)

(1) Clamp and unclamp operations between continuous blocks

(*1) The clamp and unclamp operations are executed between blocks.

(*2) The clamp and unclamp operations are NOT executed between blocks.

(*3) The clamp and unclamp operations are executed during workpiece installation error compensation (G54.4)

or during inclined surface machining command (G68.2).

Relationship with other functions

Index table indexing and other functions

Function Details

Machine coordinate system selection (G53) Possible.

Unidirectional positioning (*1)

Servo ON/OFF signal control Perform the required process on the PLC.

Single block

Command Continuous block Condition and result

Reference position check (G27) G00 -> G27 (*1)

G27 -> G00 (*2)

Start position return (G29) G00 -> G29 (*1)

G29 -> G00 (*1)

Tool change position return 1 to 6 Lathe system: G30.1 to G30.5 Machining center system: G30.1 to G30.6

G00 -> G30.1 (*1)

Normal line control cancel (G40.1) (Machining center system only)

G40.1 -> G00 (*1)

Basic machine coordinate system selection (G53) G00 -> G53 (*3)

G53 -> G00

Unidirectional positioning (G60) (Machining center system only)

G00 -> G60 (*1)

G60 -> G00 (*2)

G60 -> G60

Program stop (M00) M00 (*1)

Optional stop (M01) M01 (*1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

240IB-1501277-Q

(2) Clamp and unclamp operations between continuous blocks (Reference position return)

The operation during reference position return depends on the ignoring of intermediate points during return, and

it depends on the MTB specifications (Parameter "#1091 Mpoint").

(*1) Performs the clamp operation at the end of G00 movement, and performs the unclamp operation before ref- erence position return.

(*2) The clamp/unclamp operation will not be performed until the reference position return is completed.

(*3) Performs the clamp operation after the reference position return, and performs the unclamp operation before G00 movement.

(*4) The clamp/unclamp operation will not be performed when movement to the intermediate point is completed. The clamp operation will be performed after the reference position return, and the unclamp operation will be performed before G00 movement.

Clamp/unclamp operations during macro interrupt are as follows.

(1) When the macro interrupt program, executed during indexing axis movement, contains a movement command.

The commands in the interrupted block are lost, and the interrupt program is executed. After completion of inter-

rupt program, when executing from the block next to the interrupt block, the clamp/unclamp operation is execut-

ed even if the interrupt program and main program specify the continuous movement.

(Example)

(a) Performs unclamp operation at the beginning of main program N130 block.

(b) Executes macro interrupt during main program N130 execution.

(c) Performs clamp operation after end of interrupt program O621 N100 block B1.

(d) Performs unclamp operation at the beginning of main program N132 block, and performs clamp operation after axis movement.

Command Continuous block Condition and result

#1091 = 1 #1091 = 0

1st reference position return (G28) G00 -> G28 (*1) (*2)

G28 -> G00 (*3) (*4)

2nd to 4th reference position return (G30) G00 -> G30 (*1) (*2)

G30 -> G00 (*3) (*4)

Macro interruption

Parameter Settings

#1112 S_TRG 0 Edge trigger mode

#1113 INT_2 0 Immediately start the interrupt program without waiting for the completion of currently executing block.

#8101 MACRO SINGLE 1

[Main program] [Interrupt program]

O620(MINT MAIN)

N100 G90G94;

N110 G28B0.X0.;

N120 M96P621;

N130 G01X10.B10.F150.;

N132 G01B15.;

N140 G04X3.;

N150 M97;

M02;

O621(MINT SUB)

N100 G01B1.F500.;

M99;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

241 IB-1501277-Q

(2) When the macro interrupt program, executed during indexing axis movement, does not contain a movement command

When executing the remaining blocks after completion of interrupt program, perform the unclamp operation at the restart of main program. Also, perform the clamp/unclamp operation even when the next block continues.

(Example)

(a) Performs unclamp operation at the beginning of main program N130 block.

(b) Executes macro interrupt during main program N130 execution.

(c) Interrupt program O623 execution is completed.

(d) Performs unclamp operation at the restart of main program N130 block, and performs clamp operation after completion of axis movement.

(e) Performs unclamp operation at the beginning of main program N132 block, and performs clamp operation after completion of axis movement.

(1) Several axes can be set as index table indexing axes.

(2) The movement speed of index table indexing axes follows the feedrate of the modal (G00/G01) at that time.

(3) The unclamp command for the indexing axes is also issued when the index table indexing axes are commanded in the same block as other axes. Thus, the movement of other axes commanded in the same block is not carried out until the unclamp operation completes. Note that the movement of other axes commanded in the same block is carried out during a non-interpolation commands.

(4) Index table indexing axes are used as normal rotation axes, but this function performs an unclamp operation even for linear axes.

(5) If some error that makes unclamp command OFF occurs during indexing axis movement in automatic operation, the unclamp state will remain, and the indexing axis will execute a deceleration stop. Other axes commanded in the same block will also execute a deceleration stop, except during non-interpolation commands.

(6) If the axis movement is interrupted by an interlock, etc., during indexing axis movement, the unclamp state will remain.

(7) The clamp and unclamp operations are not executed when the movement commands of the index table indexing axis are successively issued. Note that the clamp and unclamp operations are executed even when the movement commands are continued during single block operation. Refer to "Single block" of the "Relationship with other functions".

(8) Make sure that the command position is at a position where clamping is possible.

(9) Set the unidirectional positioning (G60) parameter "#8209 G60 SHIFT" in indexing increment. A program error (P20) will occur if it is not set in indexing increment. In a single block operation, the block stop is carried out at the "#8209 G60 SHIFT" position, and the clamp or unclamp operation is carried out.

[Main program] [Interrupt program]

Precautions

O622(MINT MAIN)

N100 G90G94;

N110 G28B0.X0.;

N120 M96P623;

N130 G01X10.B10.F150.;

N132 G01B15.;

N140 G04X3.;

N150 M97;

M02;

O623(MINT SUB)

N100 #100=#100+1;

M99;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

9 Miscellaneous Functions

242IB-1501277-Q

10

243 IB-1501277-Q

Spindle Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

244IB-1501277-Q

10Spindle Functions 10.1 Spindle Functions

(1) Spindle function (S 8-digit) This function allows you to designate an S command with an 8-digit number (0 to 99999999) following address S and include one pair of S commands in a single block. The output signal is a 32-bit binary data with sign and start signal. Processing and completion sequences are required for all S commands.

(2) Spindle function (S 6-digit analog) When the S 6-digit function is added, S commands can be designated in the range from S0 to S999999. This function outputs the appropriate gear signal or the voltage and start signals matching the spindle rotation speed (r/min) to be commanded using the 6-digit numerical command following the S code. Processing and completion sequences are required for all S commands. If the gear level is switched manually while an S command is not running, this function obtains the appropriate voltage from the rotation speed designated for the gear level and the previously commanded rotation speed, and outputs the result.

Function and purpose

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

245 IB-1501277-Q

10.2 Constant Surface Speed Control; G96, G97

This function adjusts the spindle rotation speed (constant surface speed control) in accordance with the movement

of the tool nose point so that the cutting point always remains at the constant speed (constant surface speed).

Using this function for processes such as a cutting-off process is effective in terms of machining time, tool life, etc.

Note that when the tool nose point is moving to the workpiece zero point, the rotation may be at the maximum rota-

tion speed defined in the machine specifications; this is dangerous. Be sure to specify the maximum clamp rotation

speed with the spindle clamp speed setting command (G92/G50).

Constant surface speed control at constant surface speed command G96 S314 m/min

To keep the surface speed constant, this function obtains and automatically adjusts the spindle rotation speed in

accordance with the movement of the tool nose point.

In the example above, to keep the surface speed (314 (m/min)) constant, the rotation speed is changed from 999

(r/min) to 1999 (r/min) with changes of the workpiece radius (50mm 25mm).

(1) When the surface speed constant control is commanded under Inch system, the error of the spindle rotation speed specification depends on the MTB specifications (parameter "#1255 set27/bit0").

Function and purpose

Workpiece diameter: 50 mm (Radius value)

Workpiece diameter: 25mm (Radius value)

Spindle rotation speed (r/min) = Surface speed (m/min) / Workpiece surface (m/r)

G96 command value Automatically calculated from the workpiece zero point and tool nose position

314(m/min)

999(r/min) 1999(r/min)

50. 25.314(m/min)

XX

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

246IB-1501277-Q

(1) The S command is handled as the absolute value (the sign is ignored).

(2) If the value of the S command exceeds the allowable range, a program error will occur (P35).

(3) If the value of the P command exceeds the allowable range, a program error will occur (P133).

(1) The S command is handled as the absolute value (the sign is ignored).

Command format

Constant surface speed ON

G96 S__ P__ ;

S Surface speed (-99999999 to 99999999 (m/min), -99999999 to 99999999 (feet/min))

P Constant surface speed control axis 0 to n (n: Number of axes that can be controlled in the part system with G96 commanded)

Constant surface speed cancel

G97 S__ ;

S Spindle rotation speed (-99999999 to 99999999 (r/min))

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

247 IB-1501277-Q

(1) When the P0 or P command is not specified, the operation depends on the MTB specifications (parameter "#1181 G96_ax"). However, if this parameter is set to "0", the first axis is used as the surface speed axis regardless of whether address P is specified or not. 0: Fixed at 1st axis (P command invalid) 1: 1st axis 2: 2nd axis :

(2) To change the constant surface speed control axis in the constant surface speed control mode, specify the com- mand in the G96 P_ format. (However, when the parameter above is set to "0", no change can be made.) If the S command is issued simultaneously, the surface speed can also be changed.

(3) The spindle to be controlled is determined in the MTB specifications (parameter "#1300 ext36/bit0"). For multiple-spindle control II (*1), the spindle is determined by the spindle selection signal from the PLC.

(*1) Multiple-spindle control with the PLC signal used. Whether the specification is provided and the details de-

pend on models and MTB specifications.

(4) Specify the spindle surface speed with the S command when constant surface speed control ON is commanded. In constant surface speed control mode, the surface speed can only be changed with the S command.

(5) The spindle clamp speed setting (G92 S__ Q__) is to be commanded when the spindle speed needs to be limited depending on the workpiece to be machined, the chuck to be mounted on the spindle and the tool specifications, etc. Whether the spindle clamp speed setting is made valid only in the constant surface speed control mode or also made valid for normal spindle rotation commands depends on the MTB specifications (parameter "#1227 aux11/ bit5"). Once the maximum clamp rotation speed and the minimum clamp rotation speed are set using the spindle clamp speed setting (G92 S__ Q __), the maximum speed clamp will not be canceled even if the command "G92 S0" is issued. Whether the commanded spindle clamp speed setting is kept when NC is reset during constant surface speed control depends on the MTB specifications (parameter "#1210 RstGmd/bit19").

Detailed description

Machining program

Control axis sequence in constant surface speed command part sys-

tem Details of Operation

1st axis 2nd axis 3rd axis

: G96 S200 P1; : :

X1

Z1

C1

The X1 axis is used as the constant surface speed control axis. (Controls the spindle rotation so that the surface speed is set to 200 (m/min) for the X1 axis.)

G96 P2; :

The Z1 axis is used as the constant surface speed control axis.

Machining program

Control axis sequence in constant surface speed command part sys-

tem Details of Operation

1st axis 2nd axis 3rd axis

: G96 S200 P1; : : :

Z1

C1

- - - - -

The Z1 axis is used as the constant surface speed control axis. (Controls the spindle rotation so that the surface speed is set to 200 (m/min) for the Z1 axis.)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

248IB-1501277-Q

(6) Whether the surface speed is always calculated or at the end of a block when the rapid traverse command is issued depends on the MTB specifications (parameter "#1087 G96_G0").

(7) The constant surface speed cancel command (G97) cancels constant surface speed control in the part system that has executed the constant surface speed ON command (G96). The constant surface speed control cannot be canceled from another part system. The spindle rotation speed is maintained at the speed specified when the constant surface speed cancel com- mand (G97) has been executed.

(8) If NC is reset during constant surface speed control, the spindle rotation speed is changed to "0" (r/min) after reset.

When the constant surface speed control is commanded, check whether the spindle speed clamp is valid.

If the constant surface speed control axis is near the zero point, it causes the spindle to rotate at the maximum ro-

tation speed.

Check the spindle speed clamp command to prevent the spindle from rotating at high speed.

(1) In multiple-spindle control II, if the speed clamp command is not valid for the selected spindle, it causes an op- eration error (M01 1043). When such an error occurs, reset to finish the program, and issue the spindle speed clamp command after selecting a spindle. When the operation error above occurs, execute the commands in the same block.

(2) When spindle speed clamp command check is valid, the spindle speed clamp command value is set to "0" if the G92/G50 S0 command is issued.

(3) In multiple-spindle control II, spindle speed clamp check is conducted for the spindle selected in the G96S com- mand. Specify the spindle speed clamp command for all the currently selected spindles.

(4) Whether to conduct spindle speed clamp command check depends on the MTB specifications (parameters "#1146 Sclamp" and "#1284 ext20/bit0".) If parameter "#1146 Sclamp" is set to "0", the spindle speed clamp command cannot be executed when constant surface speed control is turned off; therefore, the spindle speed clamp command cannot be issued before con- stant surface speed control.

Parameter "#1284 ext20/bit0" has the following setting:

0: Checks the spindle speed clamp.

1: Does not check the spindle speed clamp.

(5) The spindle speed clamp may be performed only in the constant surface speed mode depending on the MTB specifications (parameter "#1227 aux11/bit5"). If the program is then reset, the clamp may be rendered ineffec- tive. For information on whether the setting is configured to keep the clamp status, refer to the MTB specifications. (Parameter "#1210 RstGmd/bit10, bit19")

BIT10: Group 17, constant surface speed control command modal

BIT19: Spindle rotation clamp speed

(6) When operating the system in the initial constant surface speed mode or with the constant surface speed modal by holding the constant surface speed control command modal, the constant surface speed control mode is set by the S command (surface speed). When spindle speed clamp command check is valid, issue the spindle speed clamp command before the S command.

Relationship with Other Functions

Checking the maximum clamp rotation speed

(a) G96 S100 M03 com- mand:

When the spindle forward rotation signal is input from the user PLC by the M03 command, the spindle runs forward. (The spindle speed is set to the previously commanded rotation speed.)

(b) G96 S100 X30. com- mand:

If an error occurs, axis movement is performed until the program is reset.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

249 IB-1501277-Q

(1) If constant surface speed control axes are rearranged by the arbitrary axis exchange command, the spindle ro- tation speed is maintained at the value specified before rearrangement.

(2) If a new surface speed is specified by the S command while the spindle rotation speed is maintained, it becomes valid when the rearranged constant surface speed axes are returned to the original status.

(3) If the constant surface speed command is re-executed when constant surface speed axes are rearranged and the spindle rotation speed is maintained at the constant rotation speed, the kept spindle rotation speed is can- celed, and the reissued constant surface speed control command is executed.

(4) If constant surface speed axes are returned to the original status by rearrangement while constant surface speed control is temporarily canceled, the spindle rotation speed will be maintained. After this, the surface speed be- comes constant when it is specified with the S command.

(5) If the surface speed is specified by the S command with the rearrangement of the constant surface speed axes while the constant surface speed control is in the temporary cancel state, the spindle rotation speed kept at tem- porary cancellation is applied, and the surface speed becomes constant when the constant surface speed axes are returned to the original arrangement.

Arbitrary axis exchange control

Other functions

Function name Operation

Spindle Clamp Speed Setting (G92/G50) The spindle clamp speed setting is valid in the constant surface speed control mode. Whether the commanded spindle clamp speed setting is kept when NC is reset during constant surface speed control depends on the MTB specifications. (parameter "#1210 RstGmd BIT19")

Cylindrical Interpolation (G07.1) The constant surface speed control cannot be commanded during the cylindrical interpolation mode. Program error (P481) will occur. The cylindrical interpolation cannot be commanded during the con- stant surface speed control mode. Program error (P485) will occur.

Thread Cutting (Designation of lead or number of ridges) (G32)

When the constant surface speed command is issued in the same part system during execution of the thread cutting or thread cutting cycle command or when the thread cutting or thread cutting cycle command is issued in the same part system in the constant surface speed control mode, the spindle rotation speed for constant surface speed control remains unchanged. (The constant surface speed control is not performed.) This function keeps the spindle rotation speed specified at execution of the thread cutting or thread cutting cycle command. When the thread cutting or thread cutting cycle command is terminat- ed, the spindle rotation speed is changed to the value obtained from the position of the constant surface speed control axis and the sur- face speed. The constant surface speed command cannot be issued from other part systems to the spindle for which the thread cutting command is currently executed. Also, the thread cutting command cannot be is- sued from other part systems to the spindle in the constant surface speed control mode. An operation error (M01 1113) will occur.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

250IB-1501277-Q

Tapping cycle (G84/G88) Synchronous tapping cycle (G84/G88)

If the constant surface speed command is issued in the same part system during execution of the tapping cycle or synchronous tapping cycle command or the tapping cycle command is issued in the same part system in the constant surface speed control mode, the spindle rotation speed for constant surface speed control remains un- changed. (The constant surface speed control is not performed.) This function keeps the spindle rotation speed specified at execution of the tapping cycle command. When the tapping cycle or synchronous tapping cycle command is terminated, the spindle rotation speed is changed to the value ob- tained from the position of the constant surface speed control axis and the surface speed. The constant surface speed command cannot be issued from other part systems to the spindle for which the tapping cycle or synchro- nous tapping cycle command is currently executed. Also, the tapping cycle or synchronous tapping cycle command cannot be issued from other part systems to the spindle in the constant surface speed con- trol mode. An operation error (M01 1113) will occur. The synchronous tapping cycle command cannot be executed in the constant surface speed control mode. Program error (P182) will oc- cur. Also, the constant surface speed command cannot be executed during execution of the synchronous taping cycle command. Program error (P186) will occur.

Spindle-Mode Servo Motor Control The system also runs when a spindle-mode servo is specified for con- stant surface speed control

External Spindle Deceleration If the external spindle deceleration signal is set to OFF for the spindle under constant surface speed control, the spindle is clamped at the external spindle deceleration speed. The S analog maximum/mini- mum over signal (SOVE) is set on.

High-Speed Simple Program Check The surface speed is calculated, but the actual rotation speed of the spindle remains set to the value specified before the part system syn- chronization machine lock high-speed operation is selected.

NC reset (Reset 1/2, reset & rewind) When NC is reset during constant surface speed control, the spindle rotation speed is set to "0" (r/min).

Function name Operation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

251 IB-1501277-Q

(1) Under the constant surface speed control (during G96 modal), if the axis targeted for the constant surface speed control (normally X axis for a lathe) moves toward the spindle center, the spindle rotation speed will increase and may exceed the allowable speed of the workpiece or chuck, etc. In this case, the workpiece, etc. may jump out during machining, which may break tools or the machine or injure the operators. Therefore, make sure to use this control while the "spindle speed clamp" is enabled. When the constant surface speed control is commanded, keep enough distance from the program zero point.

Program example

(Example 1) When the parameter "#1146 Sclamp" is set to "0"

(Example 2) When the parameter "#1146 Sclamp" is set to "1"

For safety, issue the rotation command to the spindle after G92.

(2) When the G96 command is issued, do not omit the "S_" surface speed command. If omitted, the system will fol- low the previous "S_" command. The S command ("S_" command) for the spindle in the constant surface speed control mode specifies the sur- face speed.

(3) If the spindle speed clamp is not commanded when the constant surface speed control axis is near the zero point, it causes the spindle to rotate at the maximum rotation speed. We recommend that you command the spindle speed clamp before the constant surface speed command. In this case, the parameter "#1146 Sclamp" must be made valid, but this function depends on the MTB specifi- cations.

(4) If an axis number not registered in the command part system is commanded when the constant surface speed command is specified, it causes a program error (P133).

Precautions

G96 S200 ; The spindle rotation speed is controlled so that the surface speed is 200 m/min.

G92 S4000 Q200 ; The spindle rotation speed is clamped up to 4000 r/min and down to 200 r/min.

M3 ; The rotation command to the spindle

G92 S4000 Q200 ; The spindle rotation speed is clamped up to 4000 r/min and down to 200 r/min.

G96 S200 ; The spindle rotation speed is controlled so that the surface speed is 200 m/min.

M3 ; The rotation command to the spindle

WARNING

Under the constant surface speed control (during G96 modal), if the axis targeted for the constant surface speed

control (normally X axis for a lathe) moves toward the spindle center, the spindle rotation speed will increase

and may exceed the allowable speed of the workpiece or chuck, etc. In this case, the workpiece, etc. may jump

out during machining, which may break tools or the machine or injure the operators.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

252IB-1501277-Q

10.3 Spindle Clamp Speed Setting; G92

The maximum clamp rotation speed of the spindle can be assigned by address S following G92 and the minimum

clamp rotation speed by address Q.

Use this command when the spindle speed needs to be limited depending on the workpiece to be machined, the

chuck to be mounted on the spindle and the tool specifications, etc.

(1) Besides this command, parameters can be used to set the rotation speed range up to 4 stages in 1 r/min units to accommodate gear selection between the spindle and spindle motor. The lowest upper limit and highest lower limit are valid among the rotation speed ranges based on the parameters and based on "G92 S_ Q_;".

(2) Whether to carry out rotation speed clamp only in the constant surface speed mode or even when the constant surface speed is canceled depends on the MTB specifications (parameters "#1146 Sclamp" and "#1227 aux11/ bit5").

G92S command and rotation speed clamp operation

The address Q following the G92 command is handled as the spindle speed clamp command regardless of the constant surface mode.

(3) The command value of the spindle clamp rotation speed will be cleared by modal reset (reset 2 or reset & rewind). Note that the modal is retained if the parameter "#1210 RstGmd / bit19" is ON. It is set to "0" during power ON.

Function and purpose

Command format

Spindle clamp speed setting

G92 S__ Q__ ;

S Maximum clamp rotation speed

Q Minimum clamp rotation speed

Detailed description

Sclamp=0 Sclamp=1

aux11/bit5=0 aux11/bit5=1 aux11/bit5=0 aux11/bit5=1

Command In G96 Rotation speed clamp command Rotation speed clamp command

In G97 Spindle rotation speed command Rotation speed clamp command

Operation In G96 Rotation speed clamp execution Rotation speed clamp execution

In G97 No rotation speed clamp Rotation speed clamp command

No rotation speed clamp

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

253 IB-1501277-Q

(1) Once the maximum clamp speed and the minimum clamp speed are set using the spindle clamp speed setting (G92 S__ Q __), the maximum speed clamp will not be cancelled even if the command "G92 S0" is issued. During this time, the Q__ value is still valid and S0 < Q__ is established. The Q__ value is treated as the maxi- mum speed clamp, and S0 is treated as the minimum speed clamp.

(2) Note that if the spindle clamp speed setting (G92 S__ Q__) is not commanded, the speed may increase to the machine's maximum specified speed that is set by the parameter. Especially when the constant surface speed control (G96 S__) is commanded, command the spindle clamp speed setting as well as the spindle maximum rotation speed. As the tool moves closer to the spindle center, the spindle rotation speed will increase and may exceed the allowable speed of the workpiece or chuck, etc.

Precautions

WARNING

The spindle clamp speed setting command is a modal command, but make sure to confirm that the G and F

modal and coordinate values are appropriate if the operation is started from a block in the middle of the pro-

gram. If there are coordinate system shift commands or M, S, T and B commands before the block set as the

start position, carry out the required commands using the MDI, etc. If the program is run from the set block with-

out carrying out these operations, the machine interference may occur or the machine may operate at an unex-

pected speed.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

254IB-1501277-Q

10.4 Spindle Position Control (Spindle/C Axis Control)

This function controls a spindle as the rotary axis. After switching the spindle to the rotary axis, the positioning and

the interpolation between the spindle and other NC axes can be operated in the same way as the NC axis by exe-

cuting the position command (the movement command). Using this function, the NC axis for controlling the spindle

stock as the rotary axis or the machinery for switching the spindle and NC axis (such as a gear switching machinery)

had been necessary for controlling a spindle stock readily as the rotary axis, but they are not necessary with this

function.

For information on how to validate or invalidate this function, each setting to use this function, and the mechanism

of your machine, refer to the specifications or the instruction manual issued by the MTB.

There are two methods to switch the spindle and rotary axis: PLC signal method and program command method.

The available method depends on the MTB specifications (parameter "#3129 cax_spec/bit0"). For details, refer to

the specifications issued by the MTB.

This section describes the program command method.

In this manual, the state of controlling an axis as a spindle is referred to as "spindle mode", and the state of con-

trolling an axis as a rotary axis is referred to as "C axis mode".

The PLC signal processing and operation depends on the MTB specifications. Refer to the instruction manual issued

by the MTB for details.

For the encoder-based spindle position control (PLG and external encoder), set the Z phase position of the encoder

as the first reference point of the C axis. This first reference point is used as the coordinate zero point; however, the

spindle zero point position can be adjusted with the spindle/C axis zero point return shift amount parameter, which

is determined in the MTB specifications. This parameter is determined in the MTB specifications (parameter "#3113

cax_sft").

(1) In the machining program, the program switches to the C axis mode with G00 command, and to the spindle mode with S command. The C axis servo OFF signal (*SVFn) must be always kept ON while the program command method is selected. This depends on the MTB specifications. When the servo OFF signal is set to OFF, operations are performed as follows.

The mode cannot be switched from the spindle mode to the C axis mode. However, it can be switched from the C axis mode to the spindle mode. In the spindle mode, the axis does not run as a spindle even if the forward run command (SRN) or reverse run command (SRI) is executed. In the C axis mode, an operation error (M01 0005) occurs if the movement command is executed. In the servo OFF mode, operations follow the setting of the parameter "#1064 svof" (error correction) MTB speci- fications).

(2) It depends on the MTB specifications (the parameter "#3129 cax_spec/bit2") either the spindle mode or the C axis mode is set when the power is turned ON. If the power is turned ON in the C axis mode setting, the mode shifts to the C axis mode. Switching to the C axis mode is performed with the zero point return type or deceleration stop type. For Z phase detection, the spindle rotates in the C axis zero point return direction (*2) at the C axis zero point return speed (*1).

(*1) Depends on the MTB specifications (parameter "#3112 cax_spd").

(*2) Depends on the MTB specifications (parameter "#3106 zrn_typ/bit9, bitA").

(3) It depends on the MTB specifications (the parameter "#3129 cax_spec/bit3") either the spindle mode or the C axis mode is set when NC is reset.

Function and purpose

Coordinate zero point and zero point adjustment in C axis mode

Program command method

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

255 IB-1501277-Q

Command "G00 C_ " in the NC program during the spindle mode. The axis is positioned directly to the specified position. The non-interpolation positioning for each axis is performed by specifying "G00 X__ Z__ C__" regardless of the G00-interpolation OFF parameter ("#1086 G0Intp" in the MTB specifications) setting, and C axis is switched to the C axis mode. Only the G00 command is valid to switch the mode. If the mode is commanded with another G code, it causes

a program error (P430). Designate the axis for spindle position control with the absolute address or absolute command (G90). If the axis

is designated with the incremental address or incremental command (G91), it causes a program error (P32). The zero point return type (*1) is set at switching, and the direction to return from the rotation mode to the zero

point follows the rotation direction (*2). The direction for returning from the stop mode to the zero point and the interpolation mode depend on the MTB specifications (parameters "#3106 zrn_typ/bit9,bitA", "#3106 zrn_typ/ bitD,bitE" and "#1256 set28/bit1").

(*1) Type to necessarily return to the zero point when switching from the spindle mode to the C axis mode. This

depends on the MTB specifications (parameter "#3106 zrn_typ/bit8").

(*2) Depends on the MTB specifications (parameter "#3106 zrn_typ/bitB").

If the Z phase is not detected and if switching is commanded, the spindle is rotated in the zero point return di- rection (*4) at the zero point return speed (*3). Then, the zero point return operation is executed after the Z phase detection.

(*3) Depends on the MTB specifications (parameter "#3112 cax_spd").

(*4) Depends on the MTB specifications (parameter "#3106 zrn_typ/bitA-9").

[C axis mode switching conditions]

When switching is commanded, all the following conditions must be satisfied.

The C axis servo OFF signal (*SVFn) is ON.

The switching is performed with the spindle forward run signal (SRN) ON or the spindle reverse run signal (SRI) ON and the S command. The switching is performed with the startup of the spindle forward run signal (SRN) or the spindle reverse run

signal (SRI).

[Spindle mode switching condition]

When switching is commanded, all the following conditions must be satisfied.

The C axis servo OFF signal (*SVFn) is ON. The C axis selection signal (CMD) is OFF. The C axis is stopped.

Command format

Switching from spindle mode to C axis mode (C axis)

G00 C__ ;

C Target C axis in C axis mode

Switching C axis mode to spindle mode

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

256IB-1501277-Q

(1) Example in which the mode is switched to the spindle mode with the forward run command and the rotation com- mand (S command) M03 command -> Forward run command (SRN) ON and reverse run command (SRI) OFF M04 command -> Reverse run command (SRI) ON and forward run command (SRN) OFF

(2) Example in which the mode is switched to the spindle mode by a change from the forward run command to the reverse run command M03 command -> Forward run command (SRN) ON and reverse run command (SRI) OFF M04 command -> Reverse run command (SRI) ON and forward run command (SRN) OFF

Detailed description

Mode switching

Program example Mode Description

M03 S1000; Spindle mode The spindle rotates at forward run speed 1000 (r/min).

:

:

G00 C90.; C axis mode The axis is positioned at 90 degrees directly based on the rotation mode.

After positioning, the mode is switched from the spindle mode to the C axis mode.

G01 X10. C20. F100; In the C axis mode, the spindle can be commanded as the rotary axis.

: In the C axis mode, interpolation with another NC axis is possible.

M03 S1500; Spindle mode The mode is switched from the C axis mode to the spindle mode with the forward run command and rotation command (S command). :

: After being switched to the spindle mode, the spindle rotates at for- ward run speed 1500 (r/min).

G00 X20.C270.; C axis mode The axis is positioned at 270 degrees directly based on the rotation mode, and stops at the position. Simultaneously, the X axis is posi- tioned at 20mm with interpolation.

After positioning, the mode is switched from the spindle mode to the C axis mode.

Program example Mode Description

M03 S1000; Spindle mode The spindle rotates at forward run speed 1000 (r/min).

:

:

G00 C90.; C axis mode The axis is positioned at 90 degrees directly based on the rotation mode.

After positioning, the mode is switched from the spindle mode to the C axis mode.

G01 X10. C20. F100 ; In the C axis mode, the spindle can be commanded as the rotary axis.

: In the C axis mode, interpolation with another NC axis is possible.

M4; Spindle mode The mode is switched from the C axis mode to the spindle mode with the reverse run command.

: After being switched to the spindle mode, the spindle rotates at re- verse run speed 1000 (r/min).

:

G00 X20.C270.; C axis mode The axis is positioned at 270 degrees directly based on the rotation mode, and stops at the position. Simultaneously, the X axis is posi- tioned at 20 mm with interpolation.

After positioning, the mode is switched from the spindle mode to the C axis mode.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

257 IB-1501277-Q

(3) Example in which the mode is not switched from the C axis mode to the spindle mode M03 command -> Forward run command (SRN) ON and reverse run command (SRI) OFF

When the program command method is selected, switching operation is performed with the zero point return type.

Program example Mode Description

M03 S1000; Spindle mode The spindle rotates at forward run speed 1000 (r/min).

:

:

G00 C90.; C axis mode The axis is positioned at 90 degrees directly based on the rotation mode.

After positioning, the mode is switched from the spindle mode to the C axis mode.

G01 X10. C20. F100; In the C axis mode, the spindle can be commanded as the rotary axis.

: In the C axis mode, interpolation with another NC axis is possible.

M3; C axis mode The rotation command (S command) is omitted between the forward run commands, and the rising edge (change) of the forward run com- mand is not detected; therefore, the mode is not switched to the spin- dle mode. The forward run command must be changed from OFF to ON with the rotation command (S command) or M3 command.

:

:

Switching operation

Machining program

Spindle rotation speed (C axis speed)

Spindle

X axis speed

PLCNC

Servo OFF signal *SVFn

Forward run command SRN

NCPLC

Servo ready RDYn

C axis mode SVMD

M03 S1000 G00 X10.C45. M03 S1000G01 C180. F90

45.0(deg)

180.0(deg)

X axis positioning (non-interpolation)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

258IB-1501277-Q

To rotate the spindle/C axis as the C axis in the manual operation mode, change the "C axis selection" signal

(CMOD) from OFF to ON to switch to the C axis mode while the "Servo OFF" signal (*SVFn) is ON. When switching

to the spindle mode, change the C axis selection signal from ON to OFF. The switching operation is performed with

the zero point return type or deceleration stop type. (Refer to "Designating the zero point return type or deceleration

stop type".) In the C axis mode, the axis can be moved by selecting the manual mode (jog mode, handle mode,

incremental feed mode, manual arbitrary-feed mode, or reference position return mode).

[C axis switching in manual operation mode (zero point return type)]

If the C axis selection signal (CMOD) is changed while either the C axis mode or spindle mode is selected in the

program command method, the mode is set as follows. The mode is not switched to the C axis mode or spindle

mode in the program command method during automatic running when the C axis selection signal is turned ON.

Switching follows the state of the C axis selection signal (CMOD).

Manual operation with the program command method selected

PLCNC

Servo OFF signal *SVFn

Manual mode ON

C axis selection signal CMODn

C axis feed axis selection (+J/-J)

Forward run command SRN

NCPLC

Servo ready RDYn

C axis mode SVMD

C axis selec- tion signal (CMOD)

During automatic operation During reset

C axis mode by "G00 C_ com- mand"

Spindle mode by "S command"

C axis mode Spindle mode

OFF to ON C axis mode C axis mode C axis mode C axis mode

ON to OFF C axis mode Spindle mode Spindle mode Spindle mode

Remarks Whether the mode is switched to the C axis mode during reset depends on the MTB specifications. (#3129 cax_spec/bit2) (#3129 cax_spec/bit3)

Zero point return

C axis Spindle

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

259 IB-1501277-Q

The operation differs depending on the method to switch from the spindle mode to the C axis mode. (The method

depends on the MTB specifications.)

Designating the zero point return type or deceleration stop type

Method to switch Operation contents

G00 command The operation is performed with the zero point return type regard- less of the setting of the parameter "#3106 zrn_typ/bit8" (Zero point return specifications).

"C axis selection" signal (CMOD) The operation is performed as shown in the table below depending on combination of the parameters.The power is turned ON when control

mode at power ON is C axis mode ("#3129 cax_spec/bit2" is set to "1").

#1711 cfg11 bit3 #3106 zrn_typ bit8

#3129 cax_spec bit1

Operation contents

0 - - The zero point return to the Z phase position is per- formed.

1 0 - The zero point return to the Z phase position is per- formed.

1 0 The coordinate of the deceleration stop position is estab- lished by using the Z phase position as the coordinate zero point.

1 The deceleration stop position is used as the coordinate zero point.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

260IB-1501277-Q

The mode is switched to the C axis mode regardless of the state of the spindle forward-run start (SRN) or spindle reverse-run start (SRI) signal. In the C axis mode, spindle forward-run start and spindle reverse-run start are invalid. When [PLC signal method] is selected, the spindle rotates by carrying out the spindle forward-run start or spindle reverse-run start again (OFF to ON operation) after the C axis mode has been canceled. When [Program command method] is selected, the spindle rotates by carrying out the spindle forward-run start or spindle reverse-run start again (OFF to ON operation) in the C axis mode or by issuing the S command with the spindle forward-run start or spindle reverse-run start set ON.

[M8 Series]

The mode is switched to the C axis mode regardless of the state of the "Spindle orientation command" signal (ORC). However, in the C axis mode, the "Spindle orientation command" signal (ORC) is invalid.

[C80]

The "Spindle orientation command" signal (ORC) is invalid in the C axis mode. The spindle position control com-

mand (Spindle/C axis control) is also invalid under spindle orientation.

Gear switching cannot be performed in the C axis mode. After the mode has been changed from the C axis mode to the spindle mode, gear switching is performed. Also, the mode cannot be switched to the C axis mode during gear switching. After gear switching has been completed, the mode is switched to the C axis mode.

Coil switching is invalid in the C axis mode. Conduct coil switching before switching to the C axis mode. If switching to the C axis mode is commanded during coil switching, switching to the C axis mode is executed after coil switching has been completed.

(1) Spindle synchronization I

If the reference spindle or the synchronized spindle under the synchronization control is switched to the C axis mode, it causes an operation error (M01 1026). Also, if the reference spindle command or synchronized spindle command is issued to the spindle in the C axis mode, it causes an operation error (M01 1026). The alarm can be deactivated by canceling the synchronization command or the C axis mode.

When the specifications of the C axis control mode under spindle synchronization are valid, this function

enables the spindle position control by the reference spindle under spindle synchronization control.

The spindle override is invalid for the zero point return operation at switching to the C axis mode. In the C axis mode,

the spindle override is invalid. The cutting feed override or rapid traverse override of the NC axes is valid in the C

axis mode.

Relationship with other functions

Spindle forward-run start (SRN) and spindle reverse-run start (SRI)

Spindle orientation signal (ORC)

Spindle gear switching

Coil switching

Spindle synchronization I

Spindle override

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

261 IB-1501277-Q

The spindle position control is valid, excluding the following differences.

(1) Speed pattern of the zero point return operation

The zero point return from the stop mode is performed by the same operation as for the normal spindle. However, when the spindle returns from the rotation mode to the zero point, the rotation speed decelerates up to the C axis zero point return speed with the multi-step acceleration/deceleration pattern. After the C axis zero point return speed has been reached, the spindle inclines to the zero point, and stops while decelerating at the constant speed. The multi-step acceleration/deceleration pattern and C axis zero point return speed depend on the MTB specifications (parameters "#3054 sptc1" to "#3061 spdiv1" and "#3112 cax_spd").

The spindle position control is invalid.

The absolute position detection is invalid in the C axis mode.

When Program command method is selected, the mode is switched from the C axis mode to the spindle mode if the

surface speed command S (m/min) and the spindle forward-run start (SRN) or spindle reverse-run start (SRI) signal

is set to ON.

When the program command method is selected, "block switched from spindle mode to C axis mode (example: G00

C_) and "block switched from C axis mode to spindle mode (example: M03 S1000)" is handled as a reverse run

prohibited block. The reverse run cannot be carried out back through blocks with the mode switched.

The offset values of the coordinate system setting and local coordinate system setting configured in the C axis mode

are retained even in the spindle mode.

After this, whether these offset values designated in the previous C axis mode are to be retained when the spindle

mode is switched to the C axis mode depends on the MTB specifications (parameter "#3129 cax_spec/bit5").

Spindle-mode servo motor control

Stop mode Rotation mode

Multi-step acceleration/deceleration

Spindle zero point

Spindle zero point

Analog spindle, spindle control with pulse train output

Absolute position detection

Constant surface speed control

Manual arbitrary reverse run

Coordinate system setting (G92), Local coordinate system setting (G52)

#3115 sp2_t1

#3112 cax_spd

#3001 slimt1

#3115 sp2_t1

#3112 cax_spd

#3001 slimt1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

262IB-1501277-Q

(1) If the movement is commanded while the servo OFF signal (*SVFn) is set to OFF, it causes an operation error (M01 0005). Reset NC to cancel the error, and set the servo OFF signal on to restart machining. If the spindle command is issued, the spindle does not rotate.

(2) If the servo OFF signal (*SVFn) is set to OFF during C axis movement, it causes an operation error (M01 0005). Reset NC to cancel the error.

(3) To switch from the spindle mode to the C axis mode, issue the G00 command. If a command other than the G00 command is issued, it causes a program error (P430).

(4) The spindle position control axis must be commanded with the absolute address or absolute command (G90). If the incremental address or incremental command (G91) is used, it causes a program error (P32).

(5) When the spindle mode is switched to the C axis mode, in-position check is applied regardless of the deceleration check designation type (*1).

(*1) This designation depends on the MTB specifications (parameter "#1193 inpos").

Precautions and restrictions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

263 IB-1501277-Q

10.5 Spindle Speed Fluctuation Detection; G162/G163

When this function is valid and the spindle actual speed fluctuates relative to the programmed speed due to external

factors such as load fluctuation, the NC outputs the signal (Spindle speed out of setting range) to PLC and causes

the operation error (M01 1105) at the same time. PLC can take the necessary measure for the fluctuation of the

spindle speed using the output signal (spindle speed out of setting range) from the NC. The operation error (M01

1105) output from the NC does not stop the cycle operation or the spindle. Whether or not to output the operation

error during spindle speed fluctuation detection (G162) depends on the MTB specifications (parameter "#1242

set14/bit2").

The following descriptions are the meanings of the terms used in this manual.

Function and purpose

Term

Term Meaning

Spindle command speed

Spindle command speed is the command speed to which the spindle override and the spindle clamp speed have been added. This is the spindle last command speed sent to the spindle drive unit.

Spindle actual speed This is the speed fed back from the spindle, at which the spindle actually runs.

Allowable fluctua- tion range

This indicates the allowable deviation range from the command speed in spindle speed fluctuation detection. The calculation result for the command speed of "spindle speed fluc- tuation allowance rate" (R address or parameter) or "allowable spindle speed fluctuation range" (I address or parameter), whichever is greater, is used as the allowable fluctuation range. When the calculation result for the command speed of "detection range to achieve spindle speed", which is used to determine whether or not the spindle rotation speed achieves the command speed, is greater than the calculation result for the command speed of "allow- able fluctuation rate of spindle speed" or "allowable fluctuation range of spindle speed", the range of "detection range to achieve spindle speed" is used as allowable fluctuation range.

(r/min)

(S)

Spindle rotation speed

Spindle speed fluctuation detection in monitor

Allowable fluctuation speed range (Set by "R" or "I" address.)

In spindle speed fluctuation detection

Spindle speed fluctuation detection: Spindle speed out of setting range

Commanded speed

Actual speed

Time

G162 command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

264IB-1501277-Q

Command format

Starting the spindle speed fluctuation detection

G162 S__ P__ Q__ R__ I__ ;

S Spindle name of detection target

P Spindle speed fluctuation detection start delay time

Q Spindle up-to-speed detection width

R Allowable fluctuation rate of spindle speed

I Allowable fluctuation range of spindle speed

Spindle speed fluctuation detection cancel

G163 S__ ;

S Spindle name of detection target

Detailed description

Description of each address

Address Command range (unit) Remarks

S 1 to 9 This sets the name of the spindle which performs the spindle speed fluctu- ation detection. The spindle number is used for this command, but the val- ue set by the parameter (#3077) is used when the spindle name method is valid. When this address is omitted from the G162 command, the spindle selected

in the commanded part system is treated as the commanded spindle. When this address is omitted from the G163 command, the fluctuation de- tection for all spindles is canceled. When the set spindle is not mounted, the program error (P35) occurs.

P 0 to 99.999(s) This sets the delay time from the time when the spindle speed fluctuation detection (G162) is commanded to the time to start the fluctuation detec- tion. Also when the spindle command speed changes, the delay time is set. The change of the spindle command speed means the change of the spin- dle last command sent to the spindle drive unit. When this address is omitted, the value set in the parameter "#43071

sp_spd_flc_dtc_p" is used. When the command value exceeds the command range, the program error

(P35) occurs.

Q 1 to 100 (%) This sets the range for the spindle speed command, with which the control determines whether the spindle reaches the command speed in order to start fluctuation detection. When this address is omitted, the value set in the parameter "#3105 sut" is

used. When the command value exceeds the command range, the program error

(P35) occurs.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

265 IB-1501277-Q

(1) This function is valid when the spindle speed fluctuation detection (G162) is commanded during the cycle oper- ation.

(2) When G162 is commanded during the cycle operation, it is valid until G163 command (cancel command), cycle operation end, reset or emergency stop.

(3) If any function that is unusable with this function is enabled while this function is valid, this function is temporarily canceled. After that, when the said unusable function is disabled, this function is enabled.

(4) When G162 is commanded while any unusable function is valid, this function is temporarily canceled. After that, when the said unusable function is disabled, this function is enabled.

R 1 to 100 (%) This sets the allowable fluctuation speed range calculated for the spindle command speed. When the actual spindle speed exceeds the range, the signal is output to PLC and the operation error (M01 1105) occurs. This sets the ratio of the speed deviation to the command speed. When this address is omitted, the value set in the parameter "#43072

sp_spd_flc_dtc_r" is used. When the command value exceeds the command range, the program error

(P35) occurs. When the speed deviation for the command speed is smaller than 45 r/min,

the allowable range of the speed deviation is 45 r/min.

I 0 to 999999 (r/min) This sets the allowable fluctuation speed range calculated for the spindle command speed. When the actual spindle speed exceeds the range, the signal is output to PLC and the operation error (M01 1105) occurs. This sets the speed deviation from the command speed. When this address is omitted, the value set in the parameter "#43073

sp_spd_flc_dtc_i" is used. When the command value exceeds the command range, the program error

(P35) occurs.

Enabling conditions of the function

Address Command range (unit) Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

266IB-1501277-Q

When one of the following conditions is satisfied after G162 command, the spindle speed fluctuation detection starts:

Case in which the start delay time of the spindle speed fluctuation detection (set by "P") elapses (Refer to (1) figure.)

Case in which the spindle actual speed is within the detection range to achieve spindle speed (set by "Q") (Refer to (2) figure.)

(1) Case in which the start delay time of the spindle speed fluctuation detection (set by "P") elapses

Operation example

Start timing of spindle speed fluctuation detection

N1 G97 G98; N2 S__; N3 M3; N4 G162 S__ P__ Q__; :

0

N2 N3 N4

Commanded speed

Actual speed

Commanded speed

Spindle forward run start (SRN)

Spindle speed fluctuation detection state

Spindle rotation speed

Waiting for start In fluctuation detection

S command

Delay time elapses Achieved the range to achieve speed

Range to achieve speed (Q)Allowable fluctuation range

Delay time to start spindle speed fluctuation detection (P)

Time

Invalid

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

267 IB-1501277-Q

(2) Case in which the spindle actual speed is within the detection range to achieve spindle speed (set by "Q")

N1 G97 G98; N2 S__; N3 M3; N4 G162 S__ P__ Q__; :

0

Commanded speed

Actual speed

Commanded speed

Spindle forward run start

Spindle speed fluctuation detection state

Spindle rotation speed

Waiting for start In fluctuation detection

S command

Delay time elapses

Achieved the range to achieve speed

Range to achieve speed (Q)Allowable fluctuation range

Delay time to start spindle speed fluctuation detection (P)

Time

Invalid

N2 N3 N4

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

268IB-1501277-Q

When the spindle command speed is changed by S command or spindle override, the state is the same as the one

immediately after G162 command and the fluctuation detection is not performed until the condition of "Start timing

of spindle speed fluctuation detection" is satisfied. When this condition is satisfied, the fluctuation detection is start-

ed. Also, if the speed of synchronized spindle, which is driven based on the reference spindle speed under synchro-

nization etc., changes, the control interprets that the spindle command speed is changed. (Spindle synchronization

control/Polygon machining/Hobbing/Spindle superimposition control)

The spindle speed fluctuation detection function cannot be combined with the following functions. This is because

these functions cause the spindle speed to be changed frequently without ensuring the spindle rotation at a constant

speed.

Synchronous tapping (Synchronous tapping cycle/Pecking tapping cycle/Deep-hole tapping cycle/High-speed synchronous tapping)

Spindle orientation C axis mode of spindle position control (spindle/C axis control)

When any of the functions above is enabled while the spindle speed fluctuation detection is enabled, this function

is temporarily canceled. After that, when the said unusable function becomes invalid, this function is enabled.

When this function is commanded while an unusable function is running, this function is temporarily canceled. After

that, when the said unusable function becomes invalid, this function is enabled. When this function is enabled, the

state is the same as the one immediately after G162 command. Fluctuation detection is started if the condition of

"Start timing of spindle speed fluctuation detection" is satisfied.

Fluctuation detection start timing when the spindle command speed is changed

Temporary cancellation operation of spindle speed fluctuation detection

N1 G97 G98; N2 S__; N3 M3; N4 G162 S__ P__ Q__; : N5 S__; :

N5

Commanded speed

Actual speed

Commanded speed

Spindle forward run start (SRN)

Spindle speed fluctuation detection state

Spindle rotation speed

Waiting for startIn fluctuation detection In fluctuation detection

S command (N5)S command (N2)

Delay time elapses

Achieved the range to achieve speed

Delay time to start spindle speed fluctuation detection (P)

Range to achieve speed (Q)Allowable fluctuation range

Change of the spindle command speed

Time

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

269 IB-1501277-Q

When the command with the exact same settings is given to the axis where this function is enabled, the command

is ignored. On the other hand, when at least one of the settings other than S address (P, Q, I, or R) is different, the

setting is changed to the new one. After that, the state is the same as the one immediately after G162 command.

Fluctuation detection is started if the condition of "Start timing of spindle speed fluctuation detection" is satisfied.

Changing the S address means that the spindle speed fluctuation detection is commanded to a different spindle.

This function is temporarily canceled during synchronous tapping (synchronous tapping cycle/pecking tapping cycle/

deep-hole tapping cycle/high-speed synchronous tapping).

When G162 command is commanded omitting S address, the operation is performed to the spindle which is selected

by multiple-spindle control.

This function is temporarily canceled during spindle orientation.

This function is temporarily canceled in the C axis mode. The fluctuation detection can be performed in the spindle

mode.

Constant surface speed control can be combined with this function. However, the fluctuation detection is not per-

formed unless the fluctuation detection start condition is satisfied each time the spindle speed fluctuates; therefore,

the fluctuation detection may not be performed much.

Manual arbitrary reverse run cannot be performed to the command of this function.

(1) While the spindle is stopped, the spindle speed fluctuation detection is not performed.

(2) The spindle speed fluctuation detection is not performed to the speed which is the minimum rotation speed (pa- rameter #3032) or less.

(3) The spindle speed fluctuation detection is not performed during synchronous tapping, spindle orientation, C axis control mode of spindle or C axis.

(4) When any other command is issued at the same time, the program error (P45) occurs.

When the spindle speed fluctuation detection command (G162) is performed during the spindle speed fluc- tuation detection

Relationship with other functions

Synchronous tapping

Multiple-spindle control I/II

Spindle orientation

Spindle position control (Spindle/C axis)

Constant surface speed control

Manual arbitrary reverse run

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

10 Spindle Functions

270IB-1501277-Q

11

271 IB-1501277-Q

Tool Functions (T command)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

11 Tool Functions (T command)

272IB-1501277-Q

11Tool Functions (T command) 11.1 Tool Functions (T8-digit BCD)

The tool functions are also known as T functions and they assign the tool numbers. This control unit specifies a tool

number with an 8-digit (0 to 99999999) number following the address T, and up to four sets can be commanded into

one block. However, the number of sets that can be commanded within the same block depends on the MTB spec-

ifications (parameter "#12009 Tfig").

One of the following output signals is issued depending on the parameter setting (depends on the machine specifi-

cations).

- 8-digit BCD code and start signal

- Signed 32-bit binary data and start signal

- Unsigned 32-bit binary data and start signal

If the T function is designated in the same block as a movement command, the commands may be executed in either

of the following two orders. The machine specifications determine which sequence applies.

(1) The T function is executed after completion of the movement.

(2) The T function is executed simultaneously with the movement command.

Processing and completion sequences are required for all T commands.

Function and purpose

12

273 IB-1501277-Q

Tool Compensation Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

274IB-1501277-Q

12Tool Compensation Functions 12.1 Tool Compensation 12.1.1 Tool Compensation

The basic tool compensation function includes the tool length compensation and tool radius compensation. Each

compensation amount is designated with the tool compensation No. Each compensation amount is input from the

setting and display unit or the program.

Function and purpose

Tool length compensation

Basic point

Tool length

(Side view)

Tool radius compensation

(Plane view)

Right compensation

Left compensation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

275 IB-1501277-Q

There are two types of tool compensation memories, types I and II, used to set and select the tool compensation

amount. (The type used is determined by the MTB specifications.)

Each of types I and II can be changed to type III depending on the MTB settings (parameter "#1046 T-ofs disp type").

If the tool compensation memory is changed to type III, you can register the tool compensation amount of the base

axes I, J, and K and the tool tip point, enabling tool compensation for a turning tool.

The details of type III are also displayed on the screen.

If the tool compensation memory is reset to the original type, the turning tool compensation items are not displayed.

However, when it is changed to type III, the previously registered data is displayed.

The compensation amount settings are preset with the setting and display unit.

Type I is selected when parameter "#1037 cmdtyp" is set to "1", and type II is selected when set to "2".

(*1) Distinguished between tool length compensation and tool nose radius compensation.

Tool compensation memory

Type of tool compensation memo- ry

Classification of length compen- sation, radius compensation

Classification of shape compen- sation, wear compensation

Type I No No

Type II Yes Yes

Type III (*1) Yes

Basic point

Basic tool

Tool length com- pensation

Shape

Wear amount

Tool radius compensation Shape Wear amount

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

276IB-1501277-Q

Type I

One compensation amount corresponds to one compensation No. as shown below. Thus, these can be used

commonly regardless of the tool length compensation amount, tool radius compensation amount, shape com-

pensation amount and wear compensation amount.

(D1) = a1 , (H1) = a1

(D2) = a2 , (H2) = a2

: :

(Dn) = an , (Hn) = an

If the tool compensation type is changed from type I to type III, the tool compensation amount of type I is handled

as tool length Z of type III.

Type II

The shape compensation amount related to the tool length, wear compensation amount, shape compensation

related to the tool radius and the wear compensation amount can be set independently for one compensation

No. as shown below.

The tool length compensation amount is set with H, and the tool radius compensation amount with D.

(H1) = b1 + c1 , (D1) = d1 + e1

(H2) = b2 + c2 , (D2) = d2 + e2

: :

(Hn) = bn + cn , (Dn) = dn + en

If the tool compensation type is changed from type II to type III, data registered for type II is handled as the fol-

lowing data.

Compensation No. Compensation amount

1 a1

2 a2

3 a3

: :

: :

n an

Compensation No. Tool length (H) Tool radius (D)/(Position compensation)

Shape compensa- tion amount

Wear compensa- tion amount

Shape compensa- tion amount

Wear compensation amount

1 b1 c1 d1 e1

2 b2 c2 d2 e2

3 b3 c3 d3 e3

: : : : :

: : : : :

n bn cn dn en

Type II Type III

Length dimension Tool length Z

Length wear Z wear

Radius dimension Tool nose R

Radius wear R wear

CAUTION

If the tool compensation amount is changed during automatic operation (including during single block stop), it

will be validated from the next block or multiple blocks onwards.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

277 IB-1501277-Q

This address designates the tool compensation No.

(1) H is used for the tool length compensation, and D is used for the tool position compensation and tool radius com- pensation.

(2) The tool compensation No. that is designated once does not change until a new H or D is designated.

(3) The compensation No. can be commanded once in each block. (If two or more Nos. are commanded, the latter one will be valid.)

(4) For 40 sets: Designate with the H01 to H40 (D01 to D40) numbers.

(5) If a value larger than this is set, the program error (P170) will occur.

(6) The setting value ranges are as follows for each No. The compensation amount for each compensation No. is preset with the setting and display unit.

Tool compensation No. (H/D)

Setting Shape compensation amount Wear compensation amount

Metric system Inch system Metric system Inch system

#1003=B 999.999 (mm) 99.9999 (inch) 999.999 (mm) 99.9999 (inch)

#1003=C 999.9999 (mm) 99.99999 (inch) 999.9999 (mm) 99.99999 (inch)

#1003=D 999.99999 (mm) 99.999999 (inch) 999.99999 (mm) 99.999999 (inch)

#1003=E 999.999999 (mm) 99.9999999 (inch) 999.999999 (mm) 99.9999999 (inch)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

278IB-1501277-Q

12.1.2 Number of Tool Offset Sets Allocation to Part Systems

The number of tool offset sets can be set per part system.

This function is divided into the following methods and which one is used depends on the MTB specifications (pa-

rameters "#1438 Ofs-SysAssign", "#12054 Tol-Ofsnum").

Arbitrary allocation: Arbitrarily allocates to each part system. Fixed allocation: Automatically and evenly allocates to each part system.

The arbitrary allocation enables the efficient allocation because when a certain part system needs only a small num-

ber of offset sets, the rest can be allocated to another part system. If an auxiliary-axis part system does not need

the tool offset set at all, the number of tool offset sets can be set to "0" for the auxiliary-axis part system.

While this function is available if the specification allows allocation by tool compensation memory part system, this

parameter depends on the MTB specification parameter "#1051 MemTol"). Subsequent description is an example

in the case where the number of tool offset sets in the system is 999. Number of tool offset sets in system is the total

number of tool offset sets of all part systems.

(1) Arbitrary allocation (with #1438=1)

The number of tool offset sets allocated to each part system depends on the MTB specifications (parameter "#12054 Tol-ofsnum").

(a) When the number of tool offset sets is increased for the 1st part system of 4-part system

(b) When the number of offset sets is set to "0 sets" for the 3rd part system to use the 3rd part system as auxiliary- axis part system

(2) Fixed allocation (with #1438=0)

(*1) The maximum number of tool offset sets per part system is 999.

(*2) If there is any remainder, the remainder sets are allocated to the 1st part system.

Function and purpose

(Lathe system only) (Lathe system only)

250

250

250

250

200

200

200

400 $1

$2

$3

$4

$1

$2

$3

$4

334

333

333 500

0

500 $1

$2

$3

$1

$2

$3

500

333

333 500

334

999

250

250

250

250

$1

$2

$3

$1

$2

$1

$1

$2

$3

$4

(*2)

(*1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

279 IB-1501277-Q

(1) The maximum number of tool offset sets for 1-part system is 999.

(2) For 1-part system, up to the number of tool offset sets in the system is available regardless of the parameter setting.

(3) When the value of the parameter "#12054 Tol-Ofsnum" (the number of tool offset sets by arbitrary allocation) is equal to or below the number of tool offset sets in the system, the remainder is not allocated to any part system even if the specification allows arbitrary allocation.

(4) When the tool compensation memory is provided commonly for the part systems ("#1051 MemTol"=1), the num- ber of tool offset sets in the system are commonly used by all part systems regardless of the parameter setting. The setting of parameter #1051 depends on the MTB specifications, so check it in your machine specifications.

(5) Even if the specification allows arbitrary allocation, fixed allocation is applied if the parameter is "#12054 Tol- Ofsnum"= 0.

(6) When entering offset data, if the number of offset data exceeds that of current tool offset sets, the excess offset data cannot be entered.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

280IB-1501277-Q

12.2 Tool Length Compensation/Cancel; G43, G44 / G49

The end position of the movement command for each axis can be compensated for by the preset amount when this

command is issued. A continuity can be applied to the program by setting the actual deviation from the tool length

value decided during programming as the compensation amount using this function.

Function and purpose

Command format

Tool length compensation start

G43 Zz Hh ; (+ direction)

G44 Zz Hh ; (- direction)

Tool length compensation cancel

G49 Zz ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

281 IB-1501277-Q

The movement amount is calculated with the following expressions when the G43 or G44 tool length compensation

command or G49 tool length compensation cancel command is issued.

lh1; Compensation amount for compensation No. h1

Regardless of the absolute command or incremental command, the actual end point will be the point compensated

for by the compensation amount designated for the programmed movement command end point coordinate value.

The G49 (tool length compensation cancel) mode is entered when the power is turned ON or when M02 has been

executed.

Detailed description

Tool length compensation movement amount

Z axis movement amount Operation

G43 Zz Hh1; z + (lh1) Compensation in + direction by tool compensation amount

G44 Zz Hh1; z - (lh1) Compensation in - direction by tool compensation amount

G49 Zz; z - (+) (lh1) Compensation amount cancel

(Example 1) For absolute command H01 = -100.

N1 G91 G28 Z0 T01 M06 ; N2 G90 G92 Z0 ; N3 G43 Z5.000 H01 ; N4 G01 Z-50.000 F500 ;

(Example 2) For incremental command H01 = -100.

N1 G91 G28 Z0 T01 M06 ; N2 G91 G92 Z0 ; N3 G43 Z5.000 H01 ; N4 G01 Z-55.000 F500 ;

Tool length compensation H01=-100.

R

5.000

0 W

50.000

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

282IB-1501277-Q

(1) The compensation amount differs according to the compensation type. The following example shows a case in which "G43 Hh1;" is commanded.

(2) The valid range of the compensation No. will differ according to the specifications (No. of compensation sets).

(3) If the commanded compensation No. exceeds the specification range, the program error (P170) will occur.

(4) Tool length cancel will be applied when H0 is designated.

(5) The compensation No. commanded in the same block as G43 or G44 will be valid for the following modals.

(Example 3)

(6) If G43 is commanded in the G43 modal, a compensation of the difference between the compensation No. data will be executed.

(Example 4)

The same applies for the G44 command in the G44 modal.

Compensation No.

Type I

The compensation amount lh1 commanded with compensation No. h1 will be applied commonly regardless of the tool length compen- sation amount, tool radius compensation amount, shape compen- sation amount or wear compensation amount.

Type II

The compensation amount lh1 commanded with compensation No. h1 is as follows.

lh1: Shape compensation (b) + wear compensation amount (a)

Type III

The compensation amount lh1 commanded with compensation No. h1 is as follows. (Refer to the figure of type II.)

lh1: Tool length compensation amount in Z axis direction (b) + Wear compensation amount in Z axis direc- tion (a)

G43 Zz1 Hh1 ; Tool length compensation is executed with h1.

:

G49 Zz2 ; Tool length compensation is canceled.

:

G43 Zz2 ; Tool length compensation is re-executed with h1.

:

G43 Zz1 Hh1 ; The axis moves by "z1 + (lh1)".

:

G43 Zz2 Hh2 ; The axis moves by "z2 + (lh2 - lh1)".

:

l h1

R

l h1

R

(a)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

283 IB-1501277-Q

(1) When parameter "#1080 Dril_Z" is set to "1", the tool length compensation is always applied to the Z axis.

(2) When the parameter "#1080 Dril_Z" is set to "0", the compensation is applied to the axis that is commanded in the same block as G43. When multiple axis commands are issued in the same block, the compensation axis is determined in the order of the following parameters.

#1031 aux_K > #1030 aux_J > #1029 aux_I > #1028 base_K > #1027 base_J > #1026 base_I

(Example 5)

Parameter

#1026 = X

#1027 = Y

#1028 = Z

#1029 = U

The handling of the additional axis will follow the parameters "#1029 aux_I" to "1031 aux_K" settings.

If the tool length compensation is commanded for the rotary axis, set the rotary axis name for one of the parallel

axes.

(3) When there is no axis command in the same block as G43, the compensation is applied to the Z axis.

(Example 6)

(1) If reference position return is executed with G28 and manual operation, the tool length compensation will be can- celed when the reference position return is completed.

(Example 7)

(2) The movement is commanded to the G53 machine coordinate system, the axis will move to the machine position without tool compensation amount. When the G54 to G59 workpiece coordinate system is returned to, the position returned to will be the coordinates shifted by the tool compensation amount.

Axis valid for tool length compensation

G43 Xx1 Yy1 Zz1 Uu1 Hh1 ; Compensation to U axis

:

G49 ;

G43 Xx1 Yy1 Zz1 Hh2 ; Compensation to Z axis

:

G49 ;

G43 Hh1 ; Compensation to Z axis

:

G49 ; Tool length compensation cancel

:

Movement during other commands in tool length compensation modal

G43 Zz1 Hh1 ;

:

G28 Zz2 ; Canceled when reference position is reached. (Same as G49)

:

G43 Zz2Hh2 ;

:

G49 G28Zz2 ; The tool length compensation will be included when positioning the intermediate point. Canceled when reference position is reached.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

284IB-1501277-Q

When there is no movement command in the same block where the tool length compensation start (G43 or G44) or

the tool length compensation cancel (G49) is commanded (G43, G44 or G49 is commanded alone), the movement

by the compensation amount may not be carried out depending on the MTB specifications (parameter "#1247 set19/

bit0" (movement by tool length compensation command)).

(1) For the G49 command, command it at a safe position where the tool does not interfere with the machine in con- sideration of the compensation canceling operation. When the parameter "#1247 set19/bit0" is set to "0", the axis moves to the position where the compensation was canceled even though there is no axis command in the G49 command block.

Movement by tool length compensation command

G43/G44/G49 Not move when commanded alone (#1247/bit0 = 1)

Move when commanded alone (#1247/bit0 = 0)Without move-

ment commands

: G54 A0. C0. ; G68.2 ; G53.1 ; G00XxYyZz ; G43H1 ; :

G49 ;

When there is no axis command in the same block as G43/G44/G49, the axis does not move by the compensation amount and the compen- sation operation is performed in the next Z axis command. If tool position compensation is commanded alone in a block, the axis does not move, but the tool compensation amount is applied to the pro- gram position counter.

In the G43/G44/G49 blocks, the axis moves by the compensation amount regardless of whether there is an axis command in the same block. If tool position compensation is commanded alone in a block, the axis moves by the tool length compensation amount.

Mx

MyMz

G43 G49

Positioning

Machine coordinate system

Not move by the compensation amount

Mx

My Mz

G43 G49

Positioning

Machine coordinate system

Move by the compensation amount

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

285 IB-1501277-Q

Tool length compensation method for multiple axis synchronization control depends on the MTB specifications (pa-

rameter "#1255 set27/bit5").

When "#1255 set27/bit5" is set to "1 Tool length compensation for multiple axis synchronization control is enabled and different amount of tool length compensation for each axis can be applied to the target axis for multiple axis synchronization control. Even when the tool with different length for each head is mounted with multi head configuration machine, the different amount of tool length compensation can be applied to each head and the tool length error between heads can be compensated.

When "#1255 set27/bit5" is set to "0 Tool length compensation for multiple axis synchronization control is disabled and the same tool length com- pensation amount as the master axis is applied to the slave axis.

[Operation of tool length compensation]

(1) With tool length compensation for multiple axis synchronization control, the tool compensation amount of differ- ence tool compensation No. can be applied to each axis. Tool compensation amount of the tool compensation No. which the value of the "2675 tcmp_top" added to commanded No.is applied.

(2) Tool length compensation for multiple axis synchronization control is applicable only to axes which are actually in the synchronized state. Therefore, the axis where the bit of PLC signal Synchronization control operation method signal (R2589) is turned OFF is not the target for tool length compensation.

(3) Tool length compensation for multiple axis synchronization control is started with G43, G44 command in the same way as the normal tool length compensation. To cancel the tool length compensation, command G49 in the same way as the normal tool length compensation.

(4) With tool length compensation for multiple-axis synchronization control, the axis moves by the tool length com- pensation amount in G43, G44 or G49 commanded block. When the parameter "#1247 set19/bit0" (Movement by tool length compensation command) is "1", the axis moves by the amount of "tool length compensation amount + movement command" in the movement block following the G43, G44 or G49 commanded block (refer to "Movement by tool length compensation command" described above). In this case, the master axis and the slave axis move by the compensation amount of each axis; therefore, the synchronization is temporarily dis- abled. Issue the movement command to the target axis for compensation in the positioning (G00) because ma- chining is performed when the synchronization is enabled. When it is issued in other than G00, the program error (P46) occurs, causing the operation to be stopped.

(5) If H0 is commanded in G43, G44 commanded blocks, "0" is applied to the compensation amount value of the axis where "#2675 tcmp_top" is set to "0", and the tool compensation amount value of the tool compensation No. corresponding to the parameter setting value is applied to the axis where"#2675 tcmp_top" is set to other than "0".

(6) The movement command can be issued in the same block as the G43, G44 or G49 command. When the move- ment command is issued for the master axis in the same block as the G43, G44 or G49 command, compensation amount which is applied to the movement command of the slave axis is applied to the target axes for multiple- axis synchronization control. The G43, G44 or G49 command block functions as G00 non-interpolation.

The following shows the example conditions for the system with XYZUVW axis configuration.

Set the parameter so that Z axis is the master, U and Z axes are the slave axes. The machine position when the multiple axis synchronization control is started is the same on master and slave

axes. Mount the tools with different length.

Other settings are as below.

Setting values of the parameter "#2675 tcmp_top Z axis: 0 U axis: 20 V axis: 33

Setting values of tool compensation amount Compensation No. 5: 20.0 mm Compensation No. 25: 27.0 mm Compensation No. 38: 35.0 mm

Tool length compensation command G44 H5

Tool length compensation of multiple axis synchronization control function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

286IB-1501277-Q

(1) When "#1255 set27/bit5" is set to "0"

As the same tool length compensation amount as the master axis is applied to the slave axis.

(2) When "#1255 set27/bit5" is set to "1"

Independent tool length compensation amount is applied to master and slave axes.

[Parameter setting]

When "G43 Zz1 H05;" is commanded, the compensation amount in No. 5 is applied to the Z axis, and the com-

pensation amounts in No. 25 and No. 38 where "5", the compensation No., is added to the values of the param-

eter #2675 are applied respectively to the U axis and the V axis.

Tool compensation amount setting screen

#2675

Master axis (Z axis) 0

Slave axis (U axis) 20

Slave axis (V axis) 33

Z axis U axis V axis Z axis U axis V axis

Before tool length compensation After tool length compensation

35.0mm27.0mm20.0mm

35.0mm 27.0mm20.0mm

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

287 IB-1501277-Q

12.3 Tool Radius Compensation; G38,G39/G40/G41,G42

This function compensates the radius of the tool. The compensation can be done in the random vector direction by

the radius amount of the tool selected with the G command (G38 to G42) and the D command.

When using tool nose radius compensation, refer to "12.4 Tool Nose Radius Compensation (for Machining Center

System)".

The number of sets for the compensation differ according to machine specification. (The No. of sets is the total of

the tool length offset, tool position offset and tool radius compensation sets.)

The H command is ignored during the tool radius compensation, and only the D command is valid.

The compensation will be executed within the plane designated with the plane selection G code or axis address 2

axis, and axes other than those included in the designated plane and the axes parallel to the designated plane will

not be affected. Refer to the section on plane selection for details on selecting the plane with the G code.

Function and purpose

Command format

G40 X__Y__; Tool radius compensation cancel

G41 X__Y__ D__; Tool radius compensation (Left)

G42 X__Y__ D__; Tool radius compensation (Right)

G38 I__J__; Change or hold of compensation vector (Can be commanded only during the radius compensation mode.)

G39 X__Y__; Corner changeover (Can be commanded only during the radius compensa- tion mode.)

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

288IB-1501277-Q

12.3.1 Tool Radius Compensation Operation

The tool radius compensation cancel mode is established by any of the following conditions.

(1) After the power has been switched on

(2) After the reset button on the setting and display unit has been pressed

(3) After the M02 or M30 command with reset function has been executed

(4) After the compensation cancel command (G40) is issued

The compensation vectors are zero in the compensation cancel mode, and the tool nose point path coincides with

the programmed path.

Programs including tool radius compensation must be terminated in the compensation cancel mode.

Tool radius compensation starts when all the following conditions are met in the compensation cancel mode.

(1) The movement command is issued after G41 or G42.

(2) The tool radius compensation offset No. is 0 < D <= max. offset No.

(3) The movement command of positioning (G00) or linear interpolation (G01) is issued.

Whether in continuous or single block operation, compensation always starts after reading three blocks, or if the

three blocks do not contain any movement command, up to five continuous blocks will be pre-read.

In compensation mode, too, up to 5 blocks are pre-read and the compensation is arithmetically processed.

There are two ways of starting the compensation operation: type A and type B.

The type depends on the setting of the parameter "#8157 Radius comp type B".

This type is used in common with the compensation cancel type.

Detailed description

Tool radius compensation cancel mode

Tool radius compensation start (startup)

[Control state diagram]

Execution block Pre-read Buffer

After pre-reading G41, start pre-reading Max. 5 blocks

N16 G02_; N15 G01_; N14 G41_; N13 G00_; N12 S_; N11 T_;

N16 G02_; N15 G01_; N14 G41_; N13 G00_; N12 S_; N11 T_;

N16 G02_; N15 G01_;

N16 G02_; N15 G01_; N14 G41_; N13 G00_; N12 S_; N11 T_;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

289 IB-1501277-Q

(1) Machining an inside corner

(2) Machining an outside corner (obtuse angle) [90 <= < 180]

Start operation for tool radius compensation

Linear -> Linear Linear -> Circular

(S) Start point (CP) Center of circular

r : Compensation amount s: Stop point with single block

Program path Tool center path

Linear -> Linear (Type A) Linear -> Circular (Type A)

Linear -> Linear (Type B) Linear -> Circular (Type B)

(S) Start point (CP) Center of circular

r : Compensation amount s: Stop point with single block

Program path Tool center path

G42

s

(S)

r

s

G42

r

(S) (CP)

G41 r

s

(S)

G41

r

s

(S) (CP)

G41

r r

s

(S)

G41

r r

s

(S) (CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

290IB-1501277-Q

(3) Machining an outside corner (acute angle) [ < 90]

If there is no axis movement command in the same block as G41 or G42, compensation is performed perpen- dicularly to the next block's direction.

Calculate the tool center path from the linear line/circular arc to perform compensation to the program path (G00,

G01, G02, G03).

Even if the same compensation command (G41, G42) is issued in the compensation mode, the command will be

ignored.

When 4 or more blocks without movement command are continuously specified in the compensation mode, over-

cutting or undercutting will occur.

When the M00 command has been issued during tool radius compensation, pre-reading is prohibited.

Linear -> Linear (Type A) Linear -> Circular (Type A)

Linear -> Linear (Type B) Linear -> Circular (Type B)

(S) Start point (CP) Center of circular

r : Compensation amount s: Stop point with single block

Program path Tool center path

Operation in compensation mode

G41

r

s

(S) G41

r

s

(S)

(CP)

G41

r

r

s

(S)

G41

r

r

s

(S)

(CP)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

291 IB-1501277-Q

(1) Machining an outside corner

Linear -> Linear (90<= < 180) Linear -> Linear (0 < < 90)

Linear -> Circular (90 <= < 180) Linear -> Circular (0 < < 90)

Circular -> Linear (90 <= < 180) Circular -> Linear (0 < < 90)

Circular -> Circular (90 <= < 180) Circular -> Circular (0 < < 90)

(CP) Center of circular

r : Compensation amount s : Single block stop point

Program path Tool center path

s

r

r

s

s

r r

(CP)

r

r

s

(CP)

r r

s

(CP)

r

r

s

(CP)

r r

s

(CP)

(CP)

r r

s (CP) (CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

292IB-1501277-Q

(2) Machining an inside corner

Linear -> Linear (Obtuse angle) Linear -> Linear (Acute angle)

Linear -> Circular (Obtuse angle) Linear -> Circular (Acute angle)

Circular -> Linear (Obtuse angle) Circular -> Linear (Acute angle)

Circular -> Circular (Obtuse angle) Circular -> Circular (Acute angle)

(CP) Center of circular

r : Compensation amount s : Single block stop point

Program path Tool center path

r

s

r

r s

r

s

(CP)

r

r

s

(CP)

r s

(CP)

r

s

(CP)

r

s

(CP)(CP)

r

s

(CP)

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

293 IB-1501277-Q

(3) When the circular end point is not on the circular

Spiral circular command ... The area from the arc start point to the end point is interpolated as a spiral arc.

Normal circular command If the error after compensation is within the parameter value ("#1084 RadErr"), it is

interpolated as a spiral arc.

(4) When the inner intersection point does not exist

In cases like the figure below, the intersection point of circulars A and B may not exist depending on the com-

pensation amount.

In such cases, program error (P152) appears and the tool stops at the end point of the previous block.

In the pattern 1 and 2 in this figure, machining is possible because compensation amount r is small.

In pattern 3, compensation r is so large that an intersection does not exist and program error (P152) will occur.

(E) End point of circular (CP) Center of circular r : Compensation amount

(CP) Center of circular A r : Compensation amount

Program path Tool center path

r

r s

R

(E)

(CP)

r

r

A B

P152 (CP)

3

2 1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

294IB-1501277-Q

Tool radius compensation cancel If either of the following conditions is met in the tool radius compensation mode,

the compensation will be canceled.

However, there must be any movement command except a circular command.

If the compensation is canceled by a circular command, program error (P151) will occur.

(1) The G40 command has been executed.

(2) Executed the compensation No.D00.

The cancel mode is established once the compensation cancel command has been read, 5-block pre-reading is sus-

pended and 1-block pre-reading will be operated.

(1) Machining an inside corner

Tool radius compensation cancel

Tool radius compensation cancel operation

Linear -> Linear Circular -> Linear

(E) End point (CP) Center of circular

r : Compensation amount s : Single block stop point

Program path Tool center path

r

s

G40

(E)

G40

r

s

(CP) (E)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

295 IB-1501277-Q

(2) Machining an outside corner (obtuse angle) [90 <= < 180]

Linear -> Linear (Type A) Circular -> Linear (Type A)

Linear -> Linear (Type B) Circular -> Linear (Type B)

(E) End point (CP) Center of circular

r : Compensation amount s : Single block stop point

Program path Tool center path

r

s

G40

(E)

G40

r

s

(CP) (E)

r

s

G40

r

(E)

G40

r

s

r

(CP) (E)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

296IB-1501277-Q

(3) Machining an outside corner (acute angle) [ < 90]

Linear -> Linear (Type A) Circular -> Linear (Type A)

Linear -> Linear (Type B) Circular -> Linear (Type B)

(E) End point (CP) Center of circular

r : Compensation amount s : Single block stop point

Program path Tool center path

r

s

G40

(E)

s

G40

r

(CP)

(E)

r

s

G40

r

(E)

r

s

G40

r

(E)

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

297 IB-1501277-Q

12.3.2 Other Commands and Operations during Tool Radius Compensation

An arc that uses the compensation amount as the radius is inserted without calculating the point of intersection at

the workpiece corner when G39 (corner arc) is commanded.

Detailed description

Insertion of corner arc

(With G39 com- mand)

(No G39 com- mand)

(With G39 com- mand)

(No G39 com- mand)

[For outer side compensation] [For inner side compensation]

(a) Inserted circular (b) Point of intersection r : Compensation amount

s: Stop point with single block

N1 G28 X0 Y0 ; N2 G91 G01 G42 X20. Y20. D1 F100 ; N3 G39 X40. ; N4 G39 Y40. ; N5 G39 X-40. ; N6 Y-40. ; N7 G40 X-20. Y-20. ; N8 M02 ;

Programmed path

Tool center path

s(a) (b)

r s

(a)

(b)

r

N2

N1

D1=5.000

N3

N4

N5

N6

N7

Y

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

298IB-1501277-Q

The compensation vector can be changed or held during tool radius compensation by using the G38 command.

(1) Holding of vector

When G38 is commanded in a block having a movement command, the point of intersection will not be calculated

at the program end point, and instead the vector of the previous block will be held.

G38 Xx Yy;

This can be used for pick feed, etc.

Changing and holding of compensation vector

[Holding the inside compensation vector]

N11 G01 Xx11 ; N12 G38 Xx12 Yy12 ; N13 G40 Xx13 ;

r1: Vector at N11-N12 block intersection calculation

[Holding the outside compensation acute angle]

N11 G01 Xx11 Yy11 ; N12 G38 Xx12 Yy12 ; N13 G40 Xx13 ;

r1: Vector at N11-N12 block intersection calculation

[Holding the outside compensation obtuse angle]

N11 G01 Xx11 Yy11 ; N12 G38 Xx12 Yy12 ; N13 G40 Xx13 ;

r1: Vector at N11-N12 block intersection calculation

Programmed path

Tool center path

N11

N12

N13

r1

r1

N11 N12

N13

r1

r1

N11 N12

N13

r1

r1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

299 IB-1501277-Q

(2) Changing of vector

A new compensation vector direction can be commanded with I, J and K, and a new compensation amount with

D.

(These can be commanded in the same block as the movement command.)

G38 Ii Jj Dd ; (I, J and K will differ according to the selected plane.)

The compensation amount d vector is created in the commanded i and j vector direction.

If G38 is commanded in the same block as the circular block (G02/G03) I and J commands, I and J will be han- dled as the G38 vector, and an error will occur.

N11 G01 Xx11 ; N12 Yy12 ; N13 G38 Xx13 Ii Jj Dd ; N14 G40 Xx14 Yy14 ;

Programmed path

Tool center path

N13

N12

N11

i

j

N14

d d

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

300IB-1501277-Q

The compensation direction is determined by the tool radius compensation commands (G41, G42) and compensa-

tion amount sign.

The compensation direction can be changed by changing the compensation command during the compensation

mode without canceling the mode.

However, it is impossible to change the direction in the compensation start block and the next block.

(1) Linear -> Linear

(a) When there is an intersection (A) at the change of compensation direction

(b) When there is no intersection at the change of compensation direction

(2) Linear <-> Circular

(a) When there is a point of intersection (A) when the compensation direction is changed.

(b) When there is no point of intersection when the compensation direction is changed.

Changing the compensation direction during tool radius compensation

G Code Compensation amount sign + Compensation amount sign -

G41 Left-side compensation Right-side compensation

G42 Right-side compensation Left-side compensation

Program path Tool center path

r

G41

r

G41 G42

r

r

(a)

(b)

A

r

G41

r

G41 G42G41G42

r

r

r

r

A

(b)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

301 IB-1501277-Q

(3) Circular -> Circular

(a) When there is an intersection at the change of compensation direction

(b) When there is no intersection at the change of compensation direction

(4) Linear return

(5) When the compensation direction is switched using G41/G42, it is possible that the arc may exceed 360. If the arc exceeds 360, compensation will be performed as shown in the figure and uncut section will be left.

(CP) Center of circular

: G42 G01 X_ Y_; G41 G02 X_ Y_ I_ J_; G42 G01 X_ Y_; :

Program path Tool center path

Section left uncut

G42G41G41

G41

G41

G42

(CP)

(CP)

(a)

(b) r

r

r

G41

G42 r

G41

G42

G42

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

302IB-1501277-Q

When the following command is issued in the compensation mode, the compensation vectors are temporarily elim-

inated and then, compensation mode will automatically return.

In this case, the compensation is not canceled, and the tool goes directly from the intersection point vector to the

point without vectors, in other words, to the programmed command point. When returning to the compensation

mode, it goes directly to the intersection point.

(1) Reference position return command

Temporarily no compensation vectors at intermediate point. (Reference position when there is no intermediate point).

(2) The compensation vector will be eliminated temporarily with the G53 command (Basic machine coordinate sys- tem selection).

The compensation vectors do not change with the coordinate system setting (G92) command.

(3) G33 thread cutting command

Tool radius compensation does not apply to the G33 block.

Command for eliminating compensation vectors temporarily

(G41) : (CP) Intermediate point

N5 G91 G01 X60. Y30. ;

N6 G28 X50. Y-40. ; Temporarily no compensation vectors at intermediate point. (Reference position when there is no intermediate point)

N7 X30. Y-60. ;

N8 X70. Y40. ;

:

(CP)

N6N5

S

S

S

N8 N7

r

G33

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

303 IB-1501277-Q

The following blocks are known as blocks without movement.

M00, M01, M02 and M30 are handled as pre-read inhibit M codes.

(1) When command is assigned at start of the compensation Compensation vector cannot be created when there are four or more successive blocks without movement, or when pre-reading prohibiting M command is issued.

Blocks without movement

M03 ; M command

S12 ; S command

T45 ; T command

G04X500 ; Dwell

G22 X200. Y150. Z100 ; Machining prohibited region setting

G10 L10; P01 R50; Compensation amount setting

G92 X600. Y400. Z500. Coordinate system setting

(G17) Z40. Movement outside the compensation plane

G90 ; G code only

G91 X0; Movement amount 0

N1 X30.Y60 ;

N2 G41 D10 ;

Block without movement

N3 G04 X1000 ;

N4 F100 ;

N5 S500 ;

N6 M3 ;

N7 X20.Y-50. ;

N8 X50.Y-20. ;

N1

N2, 3, 4, 5, 6

N7

N8

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

304IB-1501277-Q

(2) When command is assigned in the compensation mode Compensation vector will be created as normal when there are not four or more successive blocks without move- ment, or when pre-read prohibiting M command is not issued.

Block N7 is executed at N7 in the figure.

Compensation vector will be created perpendicularly to the end point of the previous block when there are four

or more successive blocks without movement, or when pre-read prohibiting M command is issued.

In this case, a cut may occur.

(3) When commanded together with compensation cancel Only the compensation vectors are canceled when a block without movement is commanded together with the G40 command.

N6 G91 X100. Y200. ;

N7 G04 X1000; ... Block without movement

N8 X200. ;

N6 X100. Y200. ;

N7 G04 X1000 ;

Block without movement

N8 F100 ;

N9 S500 ;

N10 M4 ;

N11 X100. ;

N6 X100. Y200. ;

N7 G40 M5 ;

N8 X100. Y50. ;

N8N7

N6

N7 N10

N6

N11

N6

N7

N8

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

305 IB-1501277-Q

(1) If the final movement command block in the four blocks before the G40 block is the G41 or G42 mode, it will be assumed that the movement is commanded in the vector I, J or K direction from the end point of the final move- ment command. After interpolating between the hypothetical tool center path and point of intersection, it will be canceled. The compensation direction will not change.

In this case, the point of intersection will always be obtained, regardless of the compensation direction, even

when the commanded vector is incorrect as shown below.

[When the I and J symbols in the above program example are incorrect]

If the compensation vector obtained via a point of intersection calculation is extremely large, a perpendicular vec-

tor will be created in the block before G40.

When I, J, K are commanded in G40

N1 (G41) G01 X_ ; N2 G40 Xa Yb Ii Jj ;

Program path

Tool center path

Hypothetical tool center path

r N1

(i,j) N2 A

(a,b)

rG41

rN1

(i,j)

N2

A

(a,b)

r

G41

r

G40

(i,j)

A

(a,b)

r

G41

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

306IB-1501277-Q

(2) If the arc is 360 or more due to the details of I, J and K at G40 after the arc command, an uncut section will occur.

When a multiple number of compensation vectors are created at the joints between movement command blocks,

the tool will move in a straight line between these vectors. This action is called corner movement.

When the vectors do not coincide, the tool moves in order to machine the corner although this movement is part and

parcel of the joint block.

Consequently, operation in the single block mode will execute the previous block + corner movement as a single

block and the remaining joining movement + following block will be executed as a single block in the following op-

eration.

N1 (G42,G91) G01 X200. ; N2 G03 J150.; N3 G40 G01 X150. Y-150. I-100. J100. ;

Programmed path

Tool center path

Section left uncut

Corner movement

(CP) Center of circular r: Compensation amount s: Single block stop point

Programmed path Tool center path

r

N1

(i,j)

N2

r

G42

r

G40 N3

r

N1

N2

r

s

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

307 IB-1501277-Q

12.3.3 G41/G42 Commands and I, J, K Designation

The compensation direction can be intentionally changed by issuing the G41/G42 command and I, J, K in the same

block.

Assign a linear command (G00, G01) in a movement mode.

This section describes the new I,J type vectors (G17 plane) created by this command. (Similar descriptions apply to

vector K, I for the G18 plane and to J, K for the G19 plane.)

As shown in the following figures, I, J type vectors create compensation vectors which are perpendicular to the di-

rection designated by I, J and equivalent to the compensation amount, without the intersection point calculation of

the programmed path. The I, J vectors can be commanded even in the mode (G41/G42 mode in the block before)

and even at the compensation start (G40 mode in the block before).

(1) When I, J is commanded at compensation start

Function and purpose

Command format

G17 (X-Y plane) G41/G42 X__ Y__ I__ J__ ;

G18 (Z-X plane) G41/G42 X__ Z__ I__ K__ ;

G19 (Y-Z plane) G41/G42 Y__ Z__ J__ K__ ;

Detailed description

I, J type vectors (G17 X-Y plane selection)

Program path

Tool center path

(G40)

N100 G91 G41 X100. Y100. I150. D1 ;

N110 G04 X1000 ;

N120 G01 F1000 ;

N130 S500 ;

N140 M03 ;

N150 X150. ;

N150

N100

Y

X

N110 N120 N130 N140

D1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

308IB-1501277-Q

(2) When there are no movement commands at the compensation start.

(3) When I, J has been commanded in the G41/42 mode (G17 plane)

Program path

Tool center path

(a) I, J type vector (b) Intersection point calculation type vector

Program path

Tool center path

Path after intersection point calculation

(G40)

N1 G41 I150. D1 ;

N2 G91 X100. Y100. ;

N3 X150. ;

N3

N2

Y

X

D1 N1

(G17 G41 G91)

N100 G41 G00 X150. J50. ;

N110 G02 I150. ;

N120 G00 X- 150. ;(N120)

N100

Y

X

N120

( I ,J)N110

D1

(a) (b)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

309 IB-1501277-Q

(Reference)

(a) G18 plane

(b) G19 plane

(4) When I, J has been commanded in a block without movement

(G18 G41 G91)

N100 G41 G00 Z150. I50. ;

N110 G02 K50. ;

N120 G00 Z - 150. ; (N120)

N100

Z

X

N120

(K,I) N110

(G19 G41 G91)

N100 G41 G00 Y150. K50. ;

N110 G02 J50. ;

N120 G00 Y - 150. ; (N120)

N100

Z

Y

N120

(J,K) N110

N1 G41 D1 G01 F1000 ;

N2 G91 X100. Y100. ;

N3 G41 I50. ;

N4 X150. ;

N5 G40 ;

N3

N2

D1

N1

N4

(I,J) N5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

310IB-1501277-Q

(1) In G41 mode

Direction produced by rotating the direction commanded by I,J by 90 to the left when looking at the zero point

from the forward direction of the Z axis (3rd axis).

(2) In G42 mode

Direction produced by rotating the direction commanded by I, J by 90 to the right when looking at the zero point

from the forward direction of the Z axis (3rd axis).

G41 and G42 modals can be switched over at any time.

Compensation vector direction

(Example 1) With I100. (Example 2) With I-100.

(100, 0) IJ direction (-100, 0) IJ direction

Compensation vector direction Compensation vector direction

(Example 1) With I100. (Example 2) With I-100.

(100, 0) IJ direction (-100, 0) IJ direction

Compensation vector direction Compensation vector direction

Selection of compensation modal

N1 G28 X0 Y0 ;

N2 G41 D1 F1000 ;

N3 G01 G91 X100. Y100. ;

N4 G42 X100. I100. J - 100.

D2 ;

N5 X100. Y- 100. ;

N6 G40 ;

N7 M02 ;

%

N3

x

D1 N2

N6

(I,J)

N5

y

N4 D2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

311 IB-1501277-Q

The compensation amount is determined by the offset No. (modal) in a block with the IJ designation.

Vector A is the compensation amount registered in the compensation No. modal D1 of the N100 block.

Vector B is the compensation amount registered in the compensation No. modal D2 of the N200 block.

(1) Issue the I, J type vector in a linear mode (G00, G01). If it is in an arc mode at the start of compensation, program

error (P151) will occur.

When it is in the compensation mode as well as in the arc mode, I, J will be designated at the center of the cir-

cular.

(2) When the I,J type vector is designated, it will not be deleted (Interference avoidance) even if there is interference.

Consequently, overcutting may occur.

In the figure below, cutting will occur in the shaded section.

Compensation amount for compensation vectors

Precautions

(G41 D1 G91)

N100 G41 X150. I50. ;

N110 X100. Y- 100. ; X

N110

(I,J)

A

Y N100

D1 D1

(G41 D1 G91)

N200 G41 X150. I50. D2 ;

N210 X100. Y- 100. ;

X N210

(I,J)

B

Y N200

D2

D1

N1 G28 X0 Y0 ;

N2 G42 D1 F1000 ;

N3 G91 X100. ;

N4 G42 X100. Y100. I10. ;

N5 X100. Y - 100. ;

N6 G40 ;

N7 M02 ;

Y

X

N5

(I,J)

N4

N3

N2 N6

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

312IB-1501277-Q

(3) The vectors differ for the G38 I _J_ (K_) command and the G41/G42 I_J_(K_) command.

(4) Refer to the following table for the compensation methods depend on the presence or absence of G41/G42 com-

mand and I, K, (J) command.

During the I, J type vector compensation, the A insertion block will not exist.

G38 G41/G42

Example : (G41)

: G38 G91 X100. I50. J50. ;

:

: (G41)

: G41 G91 X100. I50. J50. ;

:

Vector in IJ direction having a compensation amount (a) size

Vector perpendicular in IJ direction and having a compensation amount (b) size

G41/42 I, J (K) Compensation methods

No No Intersection point calculation type vector

No Yes Intersection point calculation type vector

Yes No Intersection point calculation type vector

Yes Yes I, J, type vector No insertion block

(I J)

(a) (I J)

(b)

Y

X N5

(I,J)

N4

N3

N2

N1

N1 G91 G01 G41 X200. D1 F1000 ; N2 X-150. Y150. ; N3 G41 X300. I50. ; N4 X-150. Y-150. ; N5 G40 X-200. ;

(A)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

313 IB-1501277-Q

12.3.4 Interrupts during Tool Radius Compensation

Tool radius compensation is valid in any automatic operation mode - whether tape, memory or MDI mode. The figure

below shows what happens by MDI interruption after stopping the block during tape or memory mode.

S in the figure indicates the stop position with single block.

(1) Interrupt without movement (tool path does not change)

(2) Interrupt with movement

The compensation vectors are automatically re-calculated in the movement block after interrupt.

With linear interrupt

With circular interruption

Detailed description

MDI interruption

Automatic operation MDI interruption

N1 G41 D1;

N2 X20. Y50. ;

<--- S1000 M3;

N3 G03 X40. Y-40. R70. ;

Automatic operation MDI interruption

N1 G41 D1;

N2 X20. Y50. ;

<--- X50. Y-30. ;

X30. Y50. ;

N3 G03 X40.Y-40. R70. ;

Automatic operation MDI interruption

N1 G41 D1;

N2 X20. Y50. ;

<--- G02 X40. Y-40. R70. ;

G01 X40. ;

N3 G03 X40. Y-40. R70. ;

N2

S

N3

S

S

N2

N3

S

S

N2 N3

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

314IB-1501277-Q

(1) Interrupt with manual absolute OFF.

The tool path will deviate from the compensated path by the interrupt amount.

(2) Interrupt with manual absolute ON

In the incremental mode, the same operation will be performed as the manual absolute OFF. In the absolute mode, however, the tool returns to its original path at the end point of the block following the in- terrupted block, as shown in the figure.

Manual interruption

Program path

Tool path after compensation

Interrupt (A)

Tool path after interrupt

[Line-Line-Line] [Line-arc-Line]

Program path

Tool path after compensation

Interrupt (A)

Tool path after interrupt

A

A A

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

315 IB-1501277-Q

12.3.5 General Precautions for Tool Radius Compensation

(1)The offset amounts can be designated with the D code by designating an offset amount No. Once designated,

the D code is valid until another D code is commanded. If an H code is designated, the program error (P170) No

COMP No will occur.

Besides being used to designate the compensation amounts for tool radius compensation, the D codes are also

used to designate the compensation amounts for tool position compensation.

(2) Compensation amounts are normally changed when a different tool has been selected in the compensation can-

cel mode. However, when an amount is changed during the compensation mode, the vectors at the end point of

the block are calculated using the compensation amount designated in that block.

If the compensation amount is negative (-), the figure will be the same as if G41 and G42 are interchanged. Thus,

the axis that was rotating around the outer side of the workpiece will rotate around the inner side, and vice versa.

An example is shown below. Normally, the compensation amount is programmed as positive (+). However, if the

tool path center is programmed as shown in (a) and the compensation amount is set to be negative (-), the move-

ment will be as shown in (b). On the other hand, if the program is created as shown in (b) and the offset amount is

set to be negative (-), the movement will be as shown in (a). Thus, only one program is required to execute machin-

ing of both male and female shapes. The tolerance for each shape can be randomly determined by adequately se-

lecting the offset amount.

(Note that a circle will be divided with type A when compensation is started or canceled.)

Precautions

Assigning the compensation amounts

Compensation amount symbols and tool center path

G41 offset amount (+) or G42 offset amount (-) (a)

G41 offset amount (-) or G42 offset amount (+) (b)

Tool center path

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

316IB-1501277-Q

12.3.6 Changing of Compensation No. during Compensation Mode

As a principle, the compensation No. must not be changed during the compensation mode. If changed, the move-

ment will be as shown below.

When compensation No. (compensation amount) is changed:

G41 G01 ........ Dr1 ;

( = 0,1,2,3)

N101 G0 Xx1 Yy1 ;

N102 G0 Xx2 Yy2 Dr2 ; ................................... Compensation No. changed

N103 Xx3 Yy3 ;

Function and purpose

During linear -> linear

The compensation amount designated with N101 will be applied.

The compensation amount designated with N102 will be applied.

Program path

Tool center path

N101 r2

r2r1

r1 N102

N103

r1

r1

r1 r1

r2

r2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

317 IB-1501277-Q

Linear ->circular

(CP) Arc center

Program path

Tool center path

N101

N102 r1

r2

G02r1

N102

N101

G03

r1

r1

r1 r1

r2

(CP)

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

318IB-1501277-Q

Circular -> circular

(CP) Arc center

Program path

Tool center path

r1 N101

r1 r2

N102

r1 r1

r1 r1

r2

(CP)

(CP)

(CP)

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

319 IB-1501277-Q

12.3.7 Start of Tool Radius Compensation and Z Axis Cut in Operation

Often when starting cutting, a method of applying a radius compensation (normally the XY plane) beforehand at a

position separated for the workpiece, and then cutting in with the Z axis is often used. When using this method, cre-

ate the program so that the Z axis movement is divided into the two steps of rapid traverse and cutting feed after

nearing the workpiece.

When the following type of program is created:

With this program, at the start of the N1 compensation the program will be read to the N6 block. The relation of N1

and N6 can be judged, and correct compensation can be executed as shown above.

If the above program's N4 block is divided into two

In this case, the four blocks N2 to N5 do not have a command in the XY plane, so when the N1 compensation is

started, the program cannot be read to the N6 block.

As a result, the compensation is done based only on the information in the N1 block, and the compensation vector

is not created at the start of compensation. Thus, an excessive cut in occurs as shown above.

Function and purpose

Program example

N1 G91 G00 G41 X500. Y500. D1 ; N2 S1000 ; N3 M3 ; N4 G01 Z-300. F1 ; N6 Y100. F2 ; : :

N4 Z axis lowers (1 block)

Tool center path

N1 G91 G00 G41 X500. Y500. D1 ; N2 S1000 ; N3 M3 ; N4 Z-250. ; N5 G01 Z-50. F1 ; N6 Y100. F2 ;

(c) Cut in

N1 Y

X

N1 Y

Z

N4 N6 N6

N4

N1

N1

N4

N5N6

XX

Y Z

N6

(c)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

320IB-1501277-Q

In this case, consider the calculation of the inner side, and before the Z axis cutting, issue a command in the same

direction as the direction that the Z axis advances in after lowering, to prevent excessive cutting.

The movement is correctly compensated as the same direction as the N6 advance direction is commanded in N2.

N1 G91 G00 G41 X500. Y400. D1 ; N2 Y100. S1000 ; N3 M3 ; N4 Z-250. ; N5 G01 Z-50. F1 ; N6 Y100. F2 ;

N1 Y

Z

N5

N6

N2

N1

N2

Y

X

N6 N6

N4

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

321 IB-1501277-Q

12.3.8 Interference Check

When tool radius is larger than the program path, a tool, compensated for by the tool radius compensation function,

may sometimes cut into the workpiece. This is known as interference, and interference check is the function which

prevents this from occurring.

The table below shows the three functions of interference check and each can be selected for use by parameter.

When there is a movement command in three of the five pre-read blocks, and if the compensation calculation vectors

which are created at the contacts of movement commands intersect each other, it will be viewed as interference.

Function and purpose

Function Parameters Operation

#8102 #8103

COLL. ALM OFF COLL. CHK OFF

(1) Interference check alarm function

0 0 Operation stops with a program error (P153) before executing a block which will cause cutting.

(2) Interference check avoidance function

1 0 The tool path is changed to prevent cutting from occurring. If the path cannot be changed, a program error (P153) occurs and the program will be stopped.

(3) Interference check in- valid function

0/1 1 Cutting continues as is, even if the work- piece is cut into. Use in the fine segment program.

Detailed description

Conditions viewed as interference

r : Compensation amount

(a) Vectors intersect

Program path

Tool center pathN1 N3

N2

r

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

322IB-1501277-Q

(Example 1) When operating a program including a short segment with a tool with a large radius, cutting will occur

in the shaded section.

(1) With alarm function. An alarm is output before N1 is executed. The buffer correction function can thus be used to change N1 to the following, enabling machining to continue: N1 G01 X20. Y-40.;

(2) With avoidance function The intersection of N1 and N3 is calculated to create interference avoidance vectors. Tool center path is (a) -> (e).

(3) With interference check invalid function. The tool passes while cutting the N1 and N3 line. Tool center path is (a)->(b)->(c)->(d)->(e) .

(G41) N1 G91 G01 X50. Y-100. ; N2 X70. Y-100. ; N3 X120. Y0 ;

N1 N3

N2

(a)

(b)

(c)

(d)

(e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

323 IB-1501277-Q

(Example 2) When operating a program including a small circular with a tool with a large radius, cutting occurs near

the start point/end point of the circular in the following figure.

Interference check processing

(1) With alarm function The alarm occurs before N1 is executed.

(2) With avoidance function With the above process, the vectors (1), (2), (3)' and (4)' will remain as the valid vectors. The tool center path will follow the path that connects vectors (1), (2), (3)' and (4)', as the interference avoidance path.

(3) With interference check invalid function The tool center path will follow the path that connects (1), (2), (3), (4), (1)', (2)', (3)', (4)', as the interference avoid- ance path while cutting.

Vectors (1) (4)' check -> No interference

Vectors (2) (3)' check -> No interference

Vectors (3) (2)' check -> Interference -> Erase vectors (3) (2)'

Erase vectors (4) (1)'

(Thick broken line path)

(Thin broken line path)

(4)(2)

(1)

N1

N3

N2

(2)

(4) (1)

(3)

(3)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

324IB-1501277-Q

(1) When three of the movement command blocks cannot be pre-read (when there are three or more blocks in the five pre-read blocks that are not moving)

(2) When there is an interference following the fourth movement block

When interference check cannot be executed

(a) Interference check is not possible

Program path

Tool center path

N1

N3

N2

N4

N5

N6

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

325 IB-1501277-Q

The movement will be as shown below when the interference avoidance check is valid.

Operation when interference avoidance function is valid

(a) Program path (b) Tool center path

Program path

Tool center path without interference check

Tool center path when interference is avoided (*: Linear movement)

Valid vector

Invalid vector

N1 N3

N2

(b) (a)

N1

N3N2

N1

N3N2

r

r (CP)

*

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

326IB-1501277-Q

If all of the line vectors for the interference avoidance are deleted, create a new avoidance vector as shown in below

to avoid the interference.

In the case of the figure below, the groove will be left uncut.

Tool center path (*1)

Program path

Tool center path 2 (*1)

Tool center path 1 (*1)

Program path

(a) Avoidance vector

(*1) Tool center path when interference is avoided

Program path

Tool center path without interference check

Tool center path when interference is avoided

N1

N3

N2

N1

N3

N2

r1

N4

r2

r1 r2

(a)2

(a)1

(a)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

327 IB-1501277-Q

The interference check alarm occurs under the following conditions.

(1) When the interference check alarm function has been selected

When all vectors at the end of its own block have been deleted

As shown in the figure below, when vectors 1 through 4 at the end point of the N1 block have all been deleted,

program error (P153) will occur prior to N1 execution.

(2) When the interference check avoidance function has been selected

(Example 1) When there are valid vectors at the end point of the following blocks even when all the vectors at the

end point of its own block have been deleted

When, in the figure below, the N2 interference check is conducted, the N2 end point vectors are all de-

leted but the N3 end point vectors are regarded as valid.

Program error (P153) now occurs at the N1 end point and the operation stops.

In the case shown in the figure below, the tool will move in the reverse direction at N2.

Program error (P153) now occurs before executing N1 and the operation stops.

Interference check alarm operation

N1

P153

2 3

N2 1

N3 4

N1

2 N21

N3 43

N4

P153

N1

P153

N2 N3

N4

1 2 3 4

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

328IB-1501277-Q

(Example 2) When avoidance vectors cannot be created

Even when, as in the figure below, the conditions for creating the avoidance vectors are satisfied, it may

still be impossible to create avoidance vectors, or the interference vectors may interfere with N3.

Program error (P153) will occur at the N1 end point when the vector intersecting angle is more than 90

and the operation will stop.

(Example 3) When the program advance direction and the advance direction after compensation are reversed

When grooves that are narrower than the tool diameter with parallel or widening bottom are pro-

grammed, it will still be regarded as interference even if there is actually no interference.

N1

N2

N3

N4

P153

N1

N2

N3

N4

P153

P153

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

329 IB-1501277-Q

(Example 4) When vectors at the end point of the block immediately before the command to eliminate compensation

vectors temporarily cause an interference

Interference check will be executed also at the end point of the block immediately before the command

to eliminate compensation vectors temporarily, similarly with the case compensation vectors are not

eliminated. It may be regarded as an interference even if there is actually no interference. If regarded

as an interference, program error (P153) will occur.

In the figure below, only vector 1 is left as an end point vector in N2 because of the N3 G53 command

to temporarily eliminate compensation vectors. However, the interference check will still be conducted

to vector 1 to 4 and an interference will be detected.

Program error (P153) now occurs at the end point of the previous block and the operation stops.

Program path

Tool center path

Tool center path when the interference check is invalid

Tool center path when the interference check is invalid in N3 due to a command (G01 etc.) not to eliminate compensation vectors.

Valid vector

Invalid vector (Invalid, however, subject to interference check)

N1(G01)

N2(G03)

N3(G53)

1

2

3 4

P153

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

330IB-1501277-Q

When starting compensation operation, the tool center path is determined with the movement command of the same

block as G41/G42 and the next movement command. The interference check is not executed at that time. To check

interference, set the parameter "#1241 set13/bit1" (MTB specifications). Note that an alarm is output and the oper-

ation is stopped even when the collision avoidance setting "#8102 COLL. ALM OFF" is set to "1" and that the inter-

ference avoidance is not applied.

Interference check for start-up block

(a) Interference check for start-up block invalid (b) Interference check for start-up block valid

"#1241 set13/bit1" = "0" or "#8103 COLL. CHK OFF" = "1"

"#1241 set13/bit1" = "1" and "#8103 COLL. CHK OFF" = "0"

Tool center path Alarm stop

The interference with the compensation calculation vec- tor of the contact between the N2 block and N3 block is not checked. Doing so will cause a cut in the N3 block.

The interference with the compensation calculation vec- tor of the contact between the N2 block and N3 block is checked, and this is judged to be an alarm.

N1(G41 G01)

N2(G01)

N3(G01)

N1(G41 G01)

N2(G01)

N3(G01)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

331 IB-1501277-Q

12.3.9 Diameter Designation of Compensation Amount

With this function, the tool radius compensation amount can be designated by tool diameter. When the control pa-

rameter "#8117 OFS Diam DESIGN" is ON, the compensation amount specified to the commanded tool No. will be

recognized as the diameter compensation amount, and the amount will be converted to the radius compensation

amount when executing the compensation.

When the tool radius compensation amount D=10.0 is commanded, tool radius compensation amount "d" is 5.0 if

the parameter "#8117" is ON (set to "1").

(Tool radius compensation amount "r" is 10.0 if the parameter "#8117" is OFF (set to "0").)

(1) Linear -> linear corner (acute angle)

Function and purpose

Operation example

Operations when designating the compensation amount with diameter

Outside of the corner Inside of the corner

Program path

Tool center path (When #8117 is ON)

Tool center path (When #8117 is OFF)

rd

20 20

d s

r

d

r

d r

d

r

s

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

332IB-1501277-Q

(2) Linear -> arc (obtuse angle)

(3) Arc -> linear (obtuse angle)

(1) If tool radius compensation amount has already been set, the compensation amount is not be changed even if

the parameter "8117" is changed.

(2) Make sure not to change the parameter #8117 during the compensation. When the parameter is changed using

parameter input by program function, the program error (P421) will occur.

(3) If the parameter #8117 is set to ON with the parameter "#1037 cmdtyp" set to 2, the tool radius wear data is

also regarded as the diameter compensation amount, thus, it will be converted to the radius value and compen-

sation will be performed.

(4) Diameter designation of tool radius compensation amount can be used for the tool life management data.

(5) There is no effect by #8117 on the tool radius measurement function.

Outside of the corner Inside of the corner

Outside of the corner Inside of the corner

Program path

Tool center path (When #8117 is ON)

Tool center path (When #8117 is OFF)

(CP) Arc center

Restrictions

s

d

r

(CP)

r

s

d

(CP)

d

sr

(CP)

d s

r

d

r

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

333 IB-1501277-Q

12.3.10 Workpiece Coordinate Changing during Radius Compensation

When the tool radius compensation is executed, the tool center path is calculated based on the position on the co-

ordinate system. The based coordinate system is different depending on setting of the parameter "#1246/bit2 Switch

coordinate systems for radius compensation". (This depends on the MTB specifications.)

When the parameter is "0", the tool radius compensation is calculated based on the position on the workpiece co-

ordinate system.

When the parameter is "1", the tool radius compensation is calculated based on the position on the program coor-

dinate system.

The program coordinate systems are defined as shown in the figure below.

Function and purpose

Detailed description

(R1) 1st reference position

(a) 1st reference position offset

(b) Interrupt amount offset

(c) Extended workpiece coordinate system offset

(d) G92 offset

(e) Workpiece coordinate system offset

(f) Local coordinate system offset

(g) G53 Basic machine coordinate system

(h) Program coordinate system

(i) G54 to G59/G54.1Pn Workpiece coordinate system/Extended workpiece coordinate system

(j) G52Local coordinate system

(b)

(c)

(e)

(f)

(a)

(h)

(R1)

(i)

(j)

(g)

(d)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

334IB-1501277-Q

The coordinate system changed by parameter is as follows.

D3 =5.000

G54 offset

X15.000

Y15.000

G90 G54 G00 X15. Y20.;

N1 G41 D3 X5. Y10. ;

N2 G01; Y-20 F1000;

N3 G40 X20. ;

M30 ;

(1) Parameter = 0

(2) Parameter = 1

Program path (a) Compensation vector

Tool center path (b) Program coordinate system

G54

10.0

5.0

- 20.0

20.0

G53

N2

N3

N1

(a)

(b)

G54

N2

N3

N1

25.0

- 5.0

20.0 35.0

G53

(a)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

335 IB-1501277-Q

12.4 Tool Nose Radius Compensation (for Machining Center System)

Because a tool nose is generally rounded, a hypothetical tool nose point is used for programming. Due to this round- ness of the tool nose, there will be a gap between the programmed shape and the actual cutting shape during taper cutting or circular cutting. Tool nose radius compensation (nose R compensation) compensation is a function for automatically calculating and offsetting this error by setting the tool nose radius (cutter radius) value. The validity of this function depends on the MTB specifications. (The tool nose must be set to "1" to "8" in the pa- rameter "#1037 cmdtyp".) If the tool nose is set to "0" or "9", tool radius compensation is carried out. When G46 is commanded, the tool position offset reduction function is enabled. (The automatic direction identifica- tion mode is not available.) Refer to "Programming Manual Lathe System" for details of the tool nose radius compensation.

Function and purpose

(a) Tool nose center (b) Hypothetical tool nose point

(r) Tool nose radius

Tool nose center path with no nose R compensation (Shaded part indicates the cutting shape gap)

Tool nose center path with nose R compensation

Command format

G40; Tool nose radius compensation cancel

G41 (X__ Z__ D__); Tool nose radius compensation left

G42 (X__ Z__ D__); Tool nose radius compensation right

X X axis end point coordinate (Absolute position of workpiece coordinate system)

Z Z axis end point coordinate (Absolute position of workpiece coordinate system)

D Compensation No. (The compensation No. setting range will differ according to the specifications (No. of compensation sets). )

(a)

(b)

r

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

336IB-1501277-Q

(1) G41 works on condition that the tool is located on the left of the workpiece to the direction of motion. G42 works on condition that the tool is located on the right of the workpiece to the direction of motion. G40 cancels the tool nose radius compensation mode.

(2) Nose R compensation pre-reads the data in the following two movement command blocks (up to 5 blocks when there is no movement command) and controls the tool nose radius center path by the intersection point calcula- tion method so that it is offset from the programmed path by an amount equivalent to the nose R. In the figure below, "r" is the tool nose radius compensation amount (nose R). The nose R compensation amount corresponds to the tool length No. and should be preset along with the tool nose point.

(3) If there are 4 or more blocks without movement amounts among 5 continuous blocks, overcutting or undercutting will occur. Blocks in which optional block skip is valid are ignored.

(4) Tool nose radius compensation is also valid for fixed cycle.

(5) Compensation mode will be temporarily canceled in 1 block before the thread cutting command block.

(6) The compensation plane, movement axes and next advance direction vector follow the plane selection command designated by G17, G18 or G19.

Detailed description

G17 XY plane X,Y,I,J

G18 ZX plane Z,X,K,I

G19 YZ plane Y,Z,J,K

G42

X

Z

G41

N1

N2

N3

r

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

337 IB-1501277-Q

(1) For nose radius compensation for machining center system, the compensation amount should always be spec- ified with radius value.

(2) Compensation amounts are normally changed when a different tool has been selected in the compensation can- cel mode. However, when an amount is changed during the compensation mode, the vectors at the end point of the block are calculated using the compensation amount designated in that block.

(1) The criterion to execute the outer rounding at the small corner in tool radius compensation depends on the MTB specifications (parameter "#1289 ext25/bit0").

(1) There two methods to set the tool nose point for machining center system. (This depends on the MTB specifica- tions.) Set a value in the system variable #23000+n ("n" corresponds to the compensation number) using the ma-

chining program. Set the parameter "#1046 T-ofs disp type" to change the compensation type to III, then, set a value in the

tool compensation amount screen.

(1) An error will occur when any of the following commands is programmed during tool nose radius compensation. G17, G18, G19 (when a plane different from the one used during the compensation is commanded (P112)) G31 (P608) G74,G75,G76 (P155) G81 to G89(P155)

(2) A program error will occur when a circular command is issued in the first or last block of the tool nose radius compensation. (P151)

(3) A program error will occur during tool nose radius compensation when the intersection point of single block skip in the interference block processing cannot be calculated. (P152)

(4) A program error will occur when there is an error in one of the pre-read blocks during tool nose radius compen- sation.

(5) A program error will occur when an interference occurs under no interference avoidance conditions during tool nose radius compensation. (P153)

(6) A program error will occur when a tool nose radius compensation command is issued even though the tool nose radius compensation specification is not provided. (P150)

(7) If a tool nose radius compensation command is issued in mirror image, a program error will occur. (P803)

Precautions

Assigning the compensation amounts

Corner judgment method

Designating the tool nose point

Errors during tool nose radius compensation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

338IB-1501277-Q

12.5 3-dimensional Tool Radius Compensation; G40/G41, G42

The 3-dimentional tool radius compensation compensates for the tool in a 3-dimensional space following the com-

manded three-dimensional vectors.

As shown above, the tool is moved in the tool center coordinate position (x', y', z') (d) which is compensated for by

the tool radius "r" (c) in respect to the program coordinate position (x, y, z) (b) following the plane normal line vector

(I, J, K) (a).

Though two-dimensional tool radius compensation creates the vectors at a right angle to the (I, J, K) direction, three-

dimensional tool radius compensation creates the vector in the (I, J, K) direction. (The vector is created at the end

point of the block.)

The three-dimensional compensation vector (compensation) (e) axis elements are as below.

Thus, the tool center coordinate position (x', y', z') (d) is each expressed as below. Note that (x, y, z) are the

program coordinate position.

(1) Three-dimensional compensation vector (Hx, Hy, Hz) refers to the plane normal line vector whose direction is same as the plane normal line vector (I, J, K ) and the size equals to the tool radius "r".

(2) When the machining parameter "#8071 3-D CMP" is set to a value other than "0", the value of

"#8071 3-D CMP" will be used as the value. (Refer to the s Setup Manual for details.)

Function and purpose

x' = x + Hx

y' = y + Hy

z' = z + Hz

(x', y', z')

Y (J) X (I)

Z (K)

(x, y, z)

(I, J, K)

(b)

(c)

(a) (d)

(e)

I Hx = r

( I 2 + J

2 + K

2 )

J H Y = r

( I 2 + J

2 + K

2 )

K HZ = r

( I 2 + J

2 + K

2 )

Note

( I2 + J 2 + K 2 )

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

339 IB-1501277-Q

Command, for all three axes, the compensation No. D and plane normal line vector (I, J, K) in the same block as the

three-dimensional tool radius compensation command G41 (G42).

If only one or two axes are commanded, the normal tool radius compensation mode will be applied. (When the com-

mand value for I, J, K is set to "0", this command is valid.)

Command format

3-dimensional tool radius compensation start

G41(G42) X__ Y__ Z__ I__ J__ K__ D__ ;

New plane normal line vector is commanded in the compensation mode.

X__ Y__ Z__ I__ J__ K__;

3-dimentional tool radius compensation cancel

G40; (or D00;)

G40 X__ Y__ Z__; (or X__ Y__ Z__ D00;)

G41 Three-dimensional tool radius compensation command (+ direction)

G42 Three-dimensional tool radius compensation command (- direction)

G40 Three-dimensional tool radius compensation cancel command

X, Y, Z Movement axis command compensation space

I, J, K Plane normal line vector

D Compensation No. (Note that when "D00" is issued, three dimensional tool radius compensation will be canceled even if G40 is not commanded.)

G Code Compensation amount: D00

+ -

G40 Cancel Cancel Cancel

G41 I, J, K direction Reverse direction of I, J, K Cancel

G42 Reverse direction of I, J, K I, J, K direction Cancel

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

340IB-1501277-Q

Detailed description

The compensation space is determined by the axis address commands (X, Y, Z, U, V, W) of the block where the three-dimensional tool radius compensa- tion starts.

(Example) G17 ; G41 Xx Yy Zz Ii Jj Kk ;

X Y Z space

G17 ; G41 Yy Ii Jj Kk ;

X Y Z space

Here, U, V and W are each the additional axes for the X, Y and Z axis. If the X axis and U axis (Y and V, Z and W) are com- manded simultaneously in the three-dimensional tool radius compensation start block, the currently com- manded plane selection axis will have the priority. If the axis address is not commanded, it will be inter- preted that the X, Y and Z axes are commanded for the coordinate axes.

G17 V ; G41 Xx Vv Zz Ii Jj Kk ;

X V Z space

G17 W ; G41 Ww Ii Jj Kk ;

X Y W space

G17 ; G41 Xx Yy Zz Ww Ii Jj Kk ;

X Y Z space

G17 W ; G41 Xx Yy Zz Ww Ii Jj Kk ;

X Y W space

G17 ; G41 Ii Jj Kk ;

X Y Z space

G17 U ; G41 Ii Jj Kk ;

U Y Z space

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

341 IB-1501277-Q

Operation example

Compensation start: When there is a movement command

(S) Start point

Tool center path

Programmed path

Three-dimensional compensation vec- tor

Compensation start: When there is no movement command

(S) Start point

Tool center path

Three-dimensional compensation vec- tor

Movement during the compensation: When there is a movement command and a plane normal line vector command

(S) Start point

(a) Old vector

(b) New vector

Tool center path

Programmed path

Movement during the compensation: When there is no plane normal line vector command

(S) Start point

(a) Old vector

(b) New vector

Tool center path

Programmed path

G41 Xx Yy Zz Ii Jj Kk Dd ;

(S)

G41 Ii Jj Kk Dd ;

(S)

Xx Yy Zz Ii Jj Kk ;

(a)

(b)

(S)

Xx Yy Zz Ii Jj Kk ;

(a)

(S)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

342IB-1501277-Q

The I, J, K commands for a circular or helical cutting are regarded as the circular center commands, thus, the new

vector is equivalent to the old vector.

Even for the R-designation method, commanded I, J, K addresses will be ignored, then the new vector will be equiv-

alent to the old vector.

G02 Xx Yy (Zz) Ii Jj ; I, J(K) means the circular center

Or

G02 Xx Yy (Zz) Rr ; R-designated arc

(1) The center coordinate will not shift during the circular or helical cutting. Thus, when I, J, K are commanded with the vector as below, the program error (P70) will occur.

G02 Xx Yy (Zz) Ii Jj ; I, J(K) means the circular center

Or

G02 Xx Yy (Zz) Rr ; R-designated arc

(1) If I, J, K are not commanded in a block where the compensation amount is to be changed, the vector will be equivalent to the old vector. In this case, the modal will change, however, the compensation amount will change when I, J, K are commanded.

Movement during the compensation: For arc or helical cutting

(S) Start point

(a) Old vector

(b) New vector

Tool center path

Programmed path

(S) Start point

(a) Old vector

(b) New vector

(CP) Arc center

Tool center path

Programmed path

Movement during the tool radius compensation: When compensation amount is to be changed

(S) Start point

(a) Old vector

(b) New vector

Tool center path

Programmed path

(a) (b)

(S)

Note

(b)(a)

r

(CP)

r

(S)

G41 Xx Yy Zz Ii Jj Kk Dd1 ;

G41 Xx Yy Zz Ii Jj Kk Dd2 ;

(b)

(S)

(a)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

343 IB-1501277-Q

(1) If I, J and K are not commanded in a block where the compensation direction is to be changed, the vector will be equivalent to the old vector and the compensation direction will not be changed. In this case, the modal will change, however, the compensation direction will change when I, J and K are commanded.

(2) If the compensation direction is changed in an arc (G02/G03) block, I, J will be the center of the arc, thus, the compensation direction will not change. Even for the R-designation method, commanded I, J and K will be ignored, and the compensation direction can- not be changed.

G40 Xx Yy Zz ; (or Xx Yy Zz D00 ;)

G40; (or D00;)

Movement during the tool radius compensation: When compensation direction is to be changed

(S) Start point

(a) Old vector

(b) New vector

Tool center path

Programmed path

Movement during the tool radius compensation: When there is a movement command

(S) Start point

(E) End point

(a) Old vector

Tool center path

Programmed path

Tool radius compensation cancel: When there is no movement command

(a) Old vector

Tool center path

Programmed path

G41 Xx Yy Zz Ii Jj Kk Dd1 ;

G42 Xx Yy Zz Ii Jj Kk ; (b)

(a)

(S)

Note

(S)

(a)

(E)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

344IB-1501277-Q

If the plane normal line vector (I, J, K) is not commanded for all three axes in the three-dimensional tool radius com-

pensation start block, the normal tool radius compensation mode will take place.

If G41 (G42) is commanded without commanding the plane normal line vector during three-dimensional tool radius

compensation, the modal will change, however, the old vector will be used.

If G41 (G42) with the plane normal line vector is commanded during tool radius compensation, this command will

be ignored and the normal tool radius compensation will take place.

Tool length compensation is applied to the coordinate after three-dimensional tool radius compensation.

Tool position offset is applied to the coordinate after three-dimensional tool radius compensation.

The program error (P155) will occur.

Scaling is applied to the coordinate before three-dimensional tool radius compensation.

Scaling is not applied to the plane normal line vector (I, J, K).

(a) Plane normal line vector

Programmed path

Program path after compensation

Program path after scaling

Program path after scaling and compensation

Relationship with other functions

Normal tool radius compensation

Tool length compensation

Tool position offset

Fixed cycle

Scaling

D1=10. G90 ; G51 X0 Y0 P0.5 ; N1 G41 D1 X-10. Y-20. Z-10. I-5. J-5. K-5. ; N2 X-30. Y-30. Z-20. ; N3 X-50. Y-20. Z-10. ; N4 Y0. ; N1( -5.000, -10.000, -10.000 ) N1( -10.773, -15.773, -15.773 ) N2( -15.000, -15.000, -20.000 ) N2( -20.773, -20.773, -25.773 ) N3( -25.000, -10.000, -10.000 ) N3( -30.773, -15.773, -15.773 ) N4( -25.000, 0.000, -10.000 ) N4( -30.773, -5.773, -15.773 )

* Upper: Program position after scaling

Lower: Position after scaling and compensation

X

X - 50.

(a)

(a)

- 30. - 20.

- 20.

- 30.

- 10.

- 30.

Y

Z

- 10.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

345 IB-1501277-Q

Coordinate rotation by program is applied to the coordinate before three-dimensional tool radius compensation.

The plane normal line vector (I, J, K) will not rotate.

(a) Plane normal line vector

Programmed path

Program path after compensation

Program path after coordinate rotation

Program path after coordinate rotation and compensation

Parameter coordinate rotation is applied to the coordinates after three-dimensional tool radius compensation.

The plane normal line vector (I, J, K) rotates.

Mirror image is applied to the coordinates after three-dimensional tool radius compensation.

Mirror image is applied to the plane normal line vector (I, J, K).

The program error (P608) will occur.

The compensation amount will not be canceled. Thus, if this is commanded during three-dimensional tool radius

compensation, the path will be deviated by the compensation amount, thus the program error (P434) will occur.

Coordinate rotation by program

D1=10. G90 ;

G68 X0 Y0 R45. ;

N1 G41 D1 X-10. Y-20. Z-10. I-5. J-5. K-5. ; N2 X-30. Y-30. Z-20. ; N3 X-50. Y-20. Z-10. ; N4 Y0. ; N1( 7.071, -21.213, -10.000 ) N1( 7.071, -29.378, -15.773 ) N2( 0.000, -42.426, -20.000 ) N2( 0.000, -50.591, -25.773 ) N3( -21.213, -49.497, -10.000 ) N3( -21.213, -57.662, -15.773 ) N4( -35.355, -35.355, -10.000 ) N4( -35.355, -43.520, -15.773 )

* Upper: Program position after coordinate ro- tation

Lower: Position after coordinate rotation and compensation

Coordinate rotation by parameter

Mirror image

Skip

Reference position check

- 20.

- 30.

- 10.

- 20.

X

Y

Z

X

- 50.

(a)

(a)

- 30. - 20. - 10.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

346IB-1501277-Q

Automatic corner override is invalid during three-dimensional tool radius compensation.

(1) For the absolute command, all axes will be temporarily canceled at the commanded coordinate position.

Programmed path

Program path after compensation

(2) For the incremental command, the axis will move by the amount obtained by subtracting each axis vector from the incremental movement amount. (The compensation amount is temporarily canceled.)

Programmed path

Program path after compensation

Automatic corner override

Machine coordinate system selection

D1=10. G90 ; N1 G41 D1 X-10. Y-20. Z-10. I-5. J-5. K-5. ; N2 X-30. Y-30. Z-20. ; N3 X-50. Y-20. Z-10. ; N4 G53 Y0 ; N1( -10.000, -20.000, -10.000 ) N1( -15.773, -25.773, -15.773 ) N2( -30.000, -30.000, -20.000 ) N2( -35.773, -35.773, -25.773 ) N3( -50.000, -20.000, -10.000 ) N3( -55.773, -25.773, -15.773 ) N4( -50.000, 0.000, -10.000 ) N4( -50.000, 0.000, -10.000 )

* Upper: Program position

Lower: Program position after compensation

D1=10. G91 ; N1 G41 D1 X-10. Y-20. Z-10. I-5. J-5. K-5. ; N2 X-20. Y-10. Z-10. ; N3 X-20. Y10. Z10. ; N4 G90 G53 Y0.; N1( -10.000, -20.000, -10.000 ) N1( -15.773, -25.773, -15.773 ) N2( -30.000, -30.000, -20.000 ) N2( -35.773, -35.773, -25.773 ) N3( -50.000, -20.000, -10.000 ) N3( -55.773, -25.773, -15.773 ) N4( -50.000, 0.000, -10.000 ) N4( -50.000, 0.000, -10.000 )

* Upper: Program position

Lower: Program position after compensation

X - 50. - 30. - 20. - 10.

X

- 20.

- 30.

Y

- 10.

- 20.

Z

X

X

Y

Z

- 50. - 30. - 20. - 10.

- 30.

- 20.

- 10.

- 20.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

347 IB-1501277-Q

When commanded in the same block as the coordinate system setting, the coordinate system will be set, and op-

eration will start up independently with the plane normal line vector (I, J, K).

Programmed path

Program path after compensation

Coordinate system setting

D1=10. G91 ; N1 G92 G41 D1 X-10. Y-20. Z-10. I-5. J-5. K-5. ; N2 X-20. Y-10. Z-10. ; N3 X-30. Y-10. Z10. ; N4 Y20. ; N1( -10.000, -20.000, -10.000 ) N1( -10.000, -20.000, -10.000 ) N2( -30.000, -30.000, -20.000 ) N2( -35.773, -35.773, -25.773 ) N3( -50.000, -20.000, -10.000 ) N3( -55.773, -25.773, -15.773 ) N4( -50.000, 0.000, -10.000 ) N4( -55.773, -5.773, -15.773 )

* Upper: Program position

Lower: Program position after compensation

- 20. G92

- 30.

Y

- 10.

- 20.

Z

X

X

- 50. - 30. - 20. - 10. W(0,0)

W(0,0)

G92

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

348IB-1501277-Q

All the axes will be temporarily canceled at the intermediate point.

Programmed path

Program path after compensation

Three-dimensional tool radius compensation will be canceled if NC reset is executed during three-dimensional tool

radius compensation.

Three-dimensional tool radius compensation will be canceled by the emergency stop or emergency stop cancel

during three-dimensional tool radius compensation.

Reference position return completed

D1=10. G91 ; N1 G41 D1 X-10. Y-20. Z-10. I-5. J-5. K-5. ; N2 X-20. Y-10. Z-10. ; N3 X-20. Y10. Z10. ; N4 G28 X0 Y0 Z0 ; N1( -10.000, -20.000, -10.000 ) N1( -15.773, -25.773, -15.773 ) N2( -30.000, -30.000, -20.000 ) N2( -35.773, -35.773, -25.773 ) N3( -50.000, -20.000, -10.000 ) N3( -55.773, -25.773, -15.773 ) N4( 0.000, 0.000, 0.000 ) N4( 0.000, 0.000, 0.000 ) N4( 20.000, 10.000, 10.000 ) N4( 20.000, 10.000, 10.000 )

* Upper: Workpiece coordinate position

Lower: Program position after compensa- tion

NC reset

Emergency stop

X

X

Z

- 30. - 20. - 10.

- 40.

- 20.

- 10.

- 30.

W(0,0)

M(0,0)

- 10.

Y

- 30.

- 20.

M(0,0)

W(0,0)

- 20.

- 10.

- 50.

- 30. - 20.- 70. - 50.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

349 IB-1501277-Q

(1) The compensation No. is selected with the D address, however, the D address is valid only when G41 or G42 is commanded. If D is not commanded, the number of the previous D address will be valid.

(2) Switch the mode to the compensation mode in the G00 or G01 mode. When changed during the arc mode, the program error (P150) will occur. The compensation direction and compensation amount after the mode change will become valid from the block where I, J and K are commanded in the G00 or G01 mode. If three-dimensional tool radius compensation is com- manded in a block not containing the plane normal line vector (I, J, K) during the arc mode, only the modal infor- mation will be changed. The plane normal line vector will be validated from the block where I, J and K are commanded next.

(3) During the 3-dimensional tool radius compensation mode in a certain space, it is not possible to switch the space to another one and to execute three-dimensional tool radius compensation. To switch the compensation space, always cancel the compensation mode with G40 or D00 first.

(Example)

(4) If the compensation No. D is other than the range of 1 to 40 with the standard specifications or 1 to 800 (max.) with the additional specifications, the program error (P170) will occur.

(5) Only the G40 and D00 commands can be used to cancel 3-dimensional tool radius compensation.

(6) If the size (I2+J2+K2) of the vector commanded with I, J and K overflows, the program error (P35) will occur.

Restrictions

G41 Xx Yy Zz Ii Jj Kk ; Compensation starts in X, Y, Z space.

: :

: :

G41 Uu Yy Zz Ii Jj Kk ; Compensation is carried out in X, Y, Z space, and U axis moves by commanded value.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

350IB-1501277-Q

12.6 Tool Position Offset; G45 to G48

Using the G45 to G46 commands, the movement distance of the axes specified in the same block can be extended

or reduced by a preset compensation length.

Furthermore, the compensation amount can be similarly doubled (x 2 expansion) or halved (x 2 reduction) with com-

mands G47 and G48.

The number of sets for the compensation differ according to machine specification. Refer to Specifications Manual.

D01 to Dn

(The numbers given are the total number of sets for tool length compensation, tool position compensation and

tool radius compensation.)

Function and purpose

Start point End point

G45 command

Expansion by compensa- tion amount only

Internal arithmetic processing

Movement amount

G46 command

Reduction by compensa- tion amount only

Internal arithmetic processing

Movement amount

G47 command

2 expansion by compen- sation amount

Internal arithmetic processing

Movement amount

G48 command

2 reduction by compensa- tion amount

Internal arithmetic processing

Movement amount

(Program command value) (compensation amount) (Movement amount after compensation)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

351 IB-1501277-Q

Details for incremental positions are given below.

Command format

G45 X__ Y__ Z__ D__ ; Expansion of movement amount by compensation amount set in compen- sation memory

G46 X__ Y__ Z__ D__ ; Reduction of movement amount by compensation amount set in compensa- tion memory

G47 X__ Y__ Z__ D__ ; Expansion of movement amount by double the compensation amount set in compensation memory

G48 X__ Y__ Z__ D__ ; Reduction of movement amount by double the compensation amount set in compensation memory

X, Y, Z Movement amount of each axis

D Tool compensation No.

Detailed description

Command Movement amount of equivalent com- mand

Example

(assigned compensation amount = l) (when X = 1000)

G45 Xx Dd X(x+l) l= 10 X= 1010 l= -10 X= 990

G45 X-x Dd X-(x+l) l= 10 X= -1010 l= -10 X= -990

G46 Xx Dd X(x-l) l= 10 X= 990 l= -10 X= 1010

G46 X-x Dd X-(x-l) l= 10 X= -990 l= -10 X= -1010

G47 Xx Dd X(x+2*l) l= 10 X= 1020 l= -10 X= 980

G47 X-x Dd X-(x+2*l) l= 10 X= -1020 l= -10 X= -980

G48 Xx Dd X(x-2*l) l= 10 X= 980 l= -10 X= 1020

G48 X-x Dd X-(x-2*l) l= 10 X= -980 l= -10 X= -1020

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

352IB-1501277-Q

Tool position compensation with 1/4 arc command

It is assumed that compensation has already been provided in the + X direction by D01 = 200.

Even if the compensation numbers are not assigned in the same block as the G45 to G48 commands, compensation

is provided with the tool position compensation number previously stored in the memory.

If the commanded compensation No. exceeds the specification range, the program error (P170) will occur.

These G codes are unmodal and are effective only in the command block.

Even with an absolute command, the amount of the movement is extended or reduced for each axis with respect to

the direction of movement from the end point of the preceding block to the position assigned by the G45 to G48

block.

In other words, even for an absolute command, compensation can be applied to movement amounts (incremental

position) in the same block.

When a command for "n" number of simultaneous axes is given, the same compensation will be applied to all axes.

It is valid even for the additional axes. (but it must be within the range of the number of axes that can be controlled

simultaneously.)

Program example

(Example 1)

(S) Start point

(E) End point

(CP) Programmed arc center

Tool

Programmed path Tool center path

G91 G45 G03 X -1000 Y1000 I -1000 F1000 D01 ;

G01 G45 X220. Y60. D20 ; (D20) = +50. 000

End point after compensation

Programmed end point

(S) Start point

Y

X

(E)

(S)

1000

1000

200

(CP)

X (S)

Y

60. 50.

50.

110.

220. 270.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

353 IB-1501277-Q

(1) If compensation is applied to two axes, over-cutting or under-cutting will result, as shown in the figures below. In cases like this, use the cutter compensation commands (G40 to G42).

G01 G45 Xx 1 Dd1 ; Xx2 Yy 2 ; G45 Yy3 ;

G01 Xx1 ; G45 Xx2 Yy2 Dd 2 ; Yy3 ;

Programmed path Tool center path

Workpiece

Undercutting (figure above) or overcutting (figure below)

l = Compensation amount setting

Note

l

Y

X

l Y

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

354IB-1501277-Q

(Example 2)

N1 G46 G00 Xx1 Yy1 Dd1 ; N2 G45 G01 Yy2 Ff2 ; N3 G45 G03 Xx3 Yy3 Ii3 ; N4 G01 Xx4 ;

Program path Tool center path

N4

N3

Y

X N1

N2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

355 IB-1501277-Q

When the G45 to G48 command is assigned, the compensation amount for each pass is the amount assigned by

the compensation number, and the tool does not move for the difference from the previous compensation as it would

do with the tool length compensation command (G43).

Compensation amount D01 = 10.000mm (Compensation amount of tool radius)

(Example 3)

(S) Start point

(a) Programmed path (b) Tool center path

N100 G91 G46 G00 X40.0 Y40.0 D01 ;

N101 G45 G01 X100.0 F200 ;

N102 G45 G03 X10.0 Y10.0 J10.0 ;

N103 G45 G01 Y40.0 ;

N104 G46 X0 ;

N105 G46 G02 X-20.0 Y20.0 J20.0 ;

N106 G45 G01 Y0 ;

N107 G47 X-30.0 ;

N108 Y-30.0 ;

N109 G48 X-30.0 ;

N110 Y30.0 ;

N111 G45 X-30.0 ;

N112 G45 G03 X-10.0 Y-10.0 J-10.0 ;

N113 G45 G01 Y-20.0 ;

N114 X10.0 ;

N115 Y-40.0 ;

N116 G46 X-40.0 Y-40.0 ;

N117 M02 ;

%

4030

N101

10

N102

30

30

30

40

40

10

N100

N105N108N110

N103

N115

N114

N116

N113 N109

N112

N104

N106

N107

20R

10R

10R

N111

(b)(a)

(S)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

356IB-1501277-Q

(1) These commands should be used when operation is not in a fixed cycle mode. (They are ignored even if they are assigned during a fixed cycle.)

(2) As a result of the internal arithmetic processing based on the expansion or reduction, the tool will proceed to move in the opposite direction when the command direction is reversed.

(3) When a zero movement amount has been specified in the incremental command (G91) mode, the result is as follows.

When a zero movement amount has been specified with an absolute command, the operation is completed im-

mediately and the tool does not move for the compensation amount.

Precautions

Program command G48 X20.000 D01 ;

Compensation Compensation amount = +15.000

Tool movement Actual movement = X - 10.000

(S) Start point

(E) End point

Compensation No. : D01

Compensation amount corresponding to D01 : 1234

NC command G45 X0 D01 ; G45 X-0 D01 ; G46 X0 D01 ; G46 X-0 D01;

Equivalent command X1234; X -1234 ; X -1234 ; X1234;

(S)

(E)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

357 IB-1501277-Q

(4) In the case of circular interpolation, tool radius compensation is possible by the G45 to G48 commands only for one quadrant, two quadrants (semi sphere) or three quadrants when the start and end points are on the axis.

The commands are assigned as follows depending on whether the compensation is applied for outside or inside

the arc programmed path.

However, in this case, compensation must already be provided in the desired direction at the arc start point. (If

a compensation command is assigned for the arc independently, the arc start point and end point radius will shift

by an amount equivalent to the compensation amount.)

The program path is indicated by the heavy line in the figure.

[1/4 circular arc]

[1/2 circular arc]

[3/4 circular arc]

G45 for compensation outside the circle G46 for compensation inside the circle

Program path Compensated path

G47 for compensation outside the circle G48 for compensation inside the circle

Program path Compensated path

G45 for compensation outside the circle G46 for compensation inside the circle

Program path Compensated path

G46

G45

G48

G47

G46

G45

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

12 Tool Compensation Functions

358IB-1501277-Q

13

359 IB-1501277-Q

Fixed Cycle

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

360IB-1501277-Q

13Fixed Cycle 13.1 Fixed Cycles

These fixed cycles are used to perform prepared sequences of machining programs, such as positioning, hole drill-

ing, boring and tapping in one block. The available machining sequences are listed in the table below.

By editing the standard fixed cycle subprograms, the fixed cycle sequences can be changed by the user. The user

can also register and edit an original fixed cycle program. For the standard fixed cycle subprograms, refer to the list

of the fixed cycle subprograms in the appendix of the operation manual. The list of fixed cycle functions for this con-

trol unit is shown below.

A fixed cycle mode can be canceled by G80 command and other hole machining modes or G command in the 01

group. At the same time, various other data will also be cleared to zero.

Function and purpose

G code Hole drilling start (-Z direction)

Operation at hole bottom

Return operation (+Z direction)

Retract at high speed

Application

Dwell Spindle

G80 - - - - - Cancel

G81 Cutting feed - - Rapid traverse Possible Drill, spot drilling cycle

G82 Cutting feed Yes - Rapid traverse - Drill, counter boring cycle

G83 Intermittent feed - - Rapid traverse Possible Deep hole drilling cycle

G84 Cutting feed Yes Reverse rotation

Cutting feed - Tapping cycle

G85 Cutting feed - - Cutting feed - Boring cycle

G86 Cutting feed Yes Stop Rapid traverse - Boring cycle

G87 Rapid traverse - Forward rotation

Cutting feed - Back boring cycle

G88 Cutting feed Yes Stop Rapid traverse - Boring cycle

G89 Cutting feed Yes - Cutting feed - Boring cycle

G73 Intermittent feed Yes - Rapid traverse Possible Stepping cycle

G74 Cutting feed Yes Forward rotation

Cutting feed - Reverse tapping cycle

G75 Cutting feed - - Rapid traverse - Circular cutting cycle

G76 Cutting feed - Oriented spindle

stop

Rapid traverse - Fine boring cycle

G187 Cutting feed - - Rapid traverse - Thread milling cycle

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

361 IB-1501277-Q

There are 7 actual operations which are each described below.

(1) This indicates the X and Y axes positioning, and executes positioning with G00.

(2) This is an operation done after positioning is completed (at the initial point), and when G87 is commanded, the M19 command is output from the control unit to the machine. When this M command is executed and the finish signal (FIN) is received by the control unit, the next operation will start. If the single block stop switch is ON, the block will stop after positioning.

(3) The tool is positioned to the R point by rapid traverse.

(4) Hole machining is conducted by cutting feed.

(5) This operation takes place at the hole bottom position, and depending on the fixed cycle mode, the operation can be the spindle stop (M05), the rotary tool reverse rotation (M04), rotary tool forward rotation (M03), dwell or tool shift.

(6) The tool is retracted to the R point at the cutting feed or the rapid traverse rate, depending on the fixed cycle mode.

(7) The tool is returned to the initial point at rapid traverse rate.

(1) Whether the fixed cycle is to be completed at operation 6 or 7 can be selected by G98/G99 commands. (Refer to "Initial point and R point level return; G98, G99")

Detailed description

Basic operations of fixed cycle for drilling

(I) Initial point (R) R point return

Difference between absolute command and incremental command

For absolute command For incremental command

(R) R point

(2)

(4)

(3)

(5)

(6)

(7) (R)

(I)(1)

Note

+r

- z

(R)

-r

- z

(R)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

362IB-1501277-Q

The fixed cycle has basic control elements for the positioning plane and hole drilling axis. The positioning plane is

determined by the G17, G18 and G19 plane selection commands, and the hole drilling axis is the axis perpendicular

(X, Y, Z or their parallel axis) to the above plane.

Xp, Yp and Zp indicate the basic axes X, Y and Z or an axis parallel to the basic axis.

An arbitrary axis other than the hole drilling axis can be commanded for positioning.

The hole drilling axis is determined by the axis address of the hole drilling axis commanded in the same block as

G81 to G89, G73, G74 or G76. The basic axis will be the hole drilling axis if there is no designation.

(Example 1) When G17 (X-Y plane) is selected, and the axis parallel to the Z axis is set as the W axis.

(1) The hole drilling axis can be fixed to the Z axis with parameter #1080 Dril_Z.

(2) Changeover of the hole drilling axis must be done with the fixed cycle canceled.

In the following explanations on the movement in each fixed cycle mode, the XY plane is used for the positioning

plane and the Z axis for the hole drilling axis. Note that all command values will be incremental positions, the posi-

tioning plane will be the XY plane and the hole drilling axis will be the Z axis.

This commands the in-position width for commanding the fixed cycle from the machining program. The commanded

in-position width is valid only in the eight fixed cycles; G81 (drill, spot drill), G82 (drill, counter boring), G83 (deep

drill cycle), G84 (tap cycle), G85 (boring), G89 (boring), G73 (step cycle) and G74 (reverse tap cycle). The ", I" ad-

dress is commanded in respect to the positioning axis, and the ",J" address is commanded in respect to the drilling

axis.

Positioning plane and hole drilling axis

Plane selection Positioning plane Hole drilling axis

G17 (X-Y) Xp-Yp Zp

G18 (Z-X) Zp-Xp Yp

G19 (Y-Z) Yp-Zp Xp

G81 .... Z_ ; The Z axis is used as the hole drilling axis.

G81 .... W_; The W axis is used as the hole drilling axis.

G81 .... ; (No Z or W) The Z axis is used as the hole drilling axis.

Programmable in-position width command in fixed cycle

Address Meaning of address Command range (unit) Remarks

,I Positioning axis in-position width(position error amount)

0.001 to 999.999 (mm) If a value exceeding the command range is commanded, a program er- ror (P35) will occur.

,J Drilling axis in-position width(position error amount)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

363 IB-1501277-Q

When L (number of repetitions) is designated twice or more times in the fixed cycle, the commanded in-position

width will be valid in the repetition block (5) to (8) below.

:

G91 G81 X-50. Z-50. R-50. L2 F2000 ,I0.2 ,J0.3;

:

In the following machining program, the commanded in-position width is valid for the Fig. 2 block. In the (B) block,

the in-position width (, I) commanded regarding to positioning in the previous block (A) is invalid (5). However, when

returning from the hole bottom, the in-position width (, J) commanded in the previous block (A) is valid (8).

To validate the in-position width for positioning, command again as shown in block (C) (9).

In-position check in fixed cycle

Operation pattern ,I ,J

(1) Valid -

(2) - Invalid

(3) - Invalid

(4) - Valid

(5) Valid -

(6) - Invalid

(7) - Invalid

Fig. 1 Operation when number of repetitions L is designated (8) - Valid

:

G91 G81 X-50. Z-50. R-50. F2000 ,I0.2 ,J0.3 ; (A)

X-10. ; . (B)

X-10.,I0.2 ; (C)

Operation pattern ,I ,J

(1) Valid -

(2) - Invalid

(3) - Invalid

(4) - Valid

(5) Invalid -

(6) - Invalid

(7) - Invalid

(8) - Valid

(9) Valid -

(10) - Invalid

(11) - Invalid

Fig. 2 Operation in fixed cycle modal (12) - Valid

(6)

(5)(1)

(8) (7)

(4)

(3)

(2)

- 10.

- 10. - 50.

(6)

(5)(1)

(8)

(7)

(4)

(3)

(2)

(9)

(11)

(10)

(12)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

364IB-1501277-Q

13.1.1 Drilling, Spot Drilling; G81

The operation stops at after the (1), (2) and (4) commands during single block operation.

Command format

G81 Xx1 Yy1 Zz1 Rr1 Ff1 Ll1,Ii1,Jj1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Ll1 Designation of number of repetitions. (0 to 9999)

When 0 is set, no execution.

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

Detailed description

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zz1 Ff1;

(4) - Valid G00 Z- z1+r1; G98 mode

G00 Z-z1; G99 mode

G98 G99

(1)

(2)

(3) (4)

x1 , y1

z1 (4)

r 1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

365 IB-1501277-Q

13.1.2 Drilling, Counter Boring; G82

The operation stops at after the (1), (2) and (5) commands during single block operation.

Command format

G82 Xx1 Yy1 Zz1 Rr1 Ff1 Pp1 Ll1 ,Ii1 ,Jj1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Pp1 Designation of dwell time at hole bottom position (the values after the decimal points will be ignored) (modal)

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

Detailed description

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zz1 Ff1;

(4) - - G04 Pp1 ; Dwell

(5) - Valid G00 Z-(z1+r1); G98 mode

G00 Z-z1; G99 mode

G98 G99

(1)

(2)

(3)

(4)

x1 , y1

z1 (5)

r 1

(5)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

366IB-1501277-Q

13.1.3 Deep Hole Drilling Cycle; G83

13.1.3.1 Deep Hole Drilling Cycle

Command format

G83 Xx1 Yy1 Zz1 Rr1 Qq1 Ff1 Ll1 ,Ii1 ,Jj1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Qq1 Cut amount for each cutting pass (incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Ll1 Designation of number of repetitions. (0 to 9999)

When 0 is set, no execution.

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

367 IB-1501277-Q

When executing a second and following cuttings in the G83 as shown above, the movement will change from rapid

traverse to cutting feed "m" mm before the position machined last. After reaching the hole bottom, the axis will return

according to the G98 or G99 mode.

"m" will differ according to the parameter "#8013 G83 return". Program so that q1 > m.

The operation stops at after the (1), (2) and (n) commands during single block operation.

Detailed description

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zq1 Ff1;

(4) - Invalid G00 Z-q1;

(5) - Invalid G00 Z(q1-m);

(6) - Invalid G01 Z(q1+m) Ff1;

(7) - Invalid G00 Z-2*q1;

(8) - Invalid G00 Z(2*q1-m);

(9) - Invalid G01 Z(q1+m) Ff1;

(10) - Invalid G00 Z-3*q1;

:

(n)-1 - Invalid

(n) - Valid G00 Z-(z1+r1); G98 mode

G00 Z-z1; G99 mode

(1)

(2)

(3) (4) (5)

(6)

(7) (8)

(9)

(10)

(n) (n)

G98 G99

(n) -1

x1,y1

q1

q1

q1

r 1

z1

m

m

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

368IB-1501277-Q

13.1.3.2 Small Diameter Deep Hole Drilling Cycle

Command format

G83 Xx1 Yy1 Zz1 Rr1 Qq1 Ff1 Ii1 Pp1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Qq1 Cut amount for each cutting pass (incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Ii1 The feedrate from R point to the cutting start position, the speed (mm/min) for returning from the hole bottom are stored only in the same block as G83, and it is valid until the small diameter deep hole drilling cycle is canceled. (It follows the setting of "#8085 G83S Forward F", "#8086 G83S Back F" when omitted.)

Pp1 Dwell time at hole bottom position

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

369 IB-1501277-Q

"i1" follows the parameter "#8085 G83S Forward F" when there is no I command.

"i2" follows the parameter "#8086 G83S Back F" when there is no I command.

Detailed description

c: Parameter "#8084 G83S Clearance"

qs: Cut amount when small diameter deep hole drilling cycle signal (YCCA) is input

skip: Small diameter deep hole drilling cycle signal (YCCA) input

Operation pattern Program

(1) G00 Xx1 Yy1,Ii1;

(2) G00 Zr1;

(3) G01 Zq1 Ff1;

(4) G01 Z-q1 Fi2;

(5) G01 Z(q1-c) Fi1;

(6) G01 Z(q1+c) Ff1;

(7) G01 Z-2q1 Fi2;

(8) G01 Z(2q1-c) Fi1;

(9) G01 Z(q1+c) Ff1;

(10) G01 Z-(2q1+qs) Fi2;

(11) G01 Z(2q1+qs-c) Fi1;

(12) G01 Z(z1-q1*n-qs) Ff1;

(13) G01 Z-(z1+r1) Fi2; G98 mode

G01 Z-z1 Fi2; G99 mode

q1

c

x1,y1

r 1

z1

G98

(1)

(2)

(3) (4) (5)

(6) (7)

(8)

(9)

skip

(10)

(11)

q1 qS

G99

q1 c

c

(12)

(13) (13)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

370IB-1501277-Q

In deep hole drilling, cutting and retract are repeated and the workpiece is machined multiple times. In addition, when

PLC signals are input during cutting, the cutting for the time concerned is skipped. In this way, this cycle reduces

the load applied to the tool.

The small-diameter deep-hole drilling cycle mode is established by designating the M code command that was set

in the parameter "#8083 G83S mode M".

If the G83 command is designated in this mode, the small-diameter deep-hole drilling cycle is executed.

The mode is canceled by the following conditions.

Designation of a fixed cycle cancel command (G80, G commands in Group 1) Resetting

It is not immediately switched to the small diameter deep hole drilling cycle mode even the small diameter deep hole

drilling cycle switch M command is issued during G83 deep hole drilling cycle modal. Then, when G83 is command-

ed, the small diameter deep hole drilling cycle mode is applied.

When the small diameter deep hole drilling cycle signal (YCCA) is input during the cutting operation (9), the remain-

ing cutting command is skipped and the axis returns to the R point at the cutting speed "i2".

"In small diameter deep hole cycle signal (XCC1)" is output between the positioning to the R point of drilling axis (2)

and the R point/initial point return after finishing the drilling (13).

"c" depends on the parameter "#8084 G83S Clearance".

Program the small diameter deep hole drilling cycle to make it "q1 > c".

The operation stops at after the (1), (2) and (13) commands during single block operation.

If there is no "I" command, or either the parameter "#8085 G83S Forward F" or "#8086 G83S Back F" is set to "0",

a program error (P62) will occur.

Confirm the following related parameters before using the small hole diameter drilling cycle.

#8083 G83S modeM #8084 G83S Clearance #8085 G83S Forward F #8086 G83S Back F

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

371 IB-1501277-Q

13.1.4 Tapping Cycle; G84

(1) ",S" command is held as a modal information. When the value of the ",S" command is lower than the spindle rotation speed (S command), operations depend on the MTB specifications. (Whether it operates on the spindle rotation speed at the return or on the spindle rotation speed of S command is determined according to the parameter "#1241 set13/bit7" setting.) When the spindle speed at the return is not "0", the value of tap return override "#1172 tapovr" is invalid. When ",S" command is omitted or when ",S0" is commanded, the value of "spindle rotation speed at return" is obtained by the following formula.

((S command value) (setting value of the parameter "#1172 tapovr")) / 100

Command format

G84 Xx1 Yy1 Zz1 Rr1 Qq1 Ff1(Ee1) Pp1, Rr2 Ss1 ,Ss2 ,Ii1 ,Jj1 Ll1 (Kk1);

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Qq1 Cut amount for each cutting pass (incremental position) (modal)

Ff1 During synchronous tapping: Designation of drilling axis feed amount (tapping pitch) per spindle revolution (modal) During asynchronous tapping: Designation of the feedrate for cutting feed (modal)

Ee Cutting feedrate at synchronous tapping (Number of screw threads per inch) If this command is issued simultaneously with the F command, the F command is valid.

Pp1 Designation of dwell time at hole bottom position (the values after the decimal points will be ignored) (modal)

,Rr2 Synchronization method selection (r2=1: synchronous, r2=0: asynchronous) (When omitted, the mode will follow the setting of parameter "#8159 Synchronous tap")

Ss1 Spindle rotation speed command

At a synchronous tapping mode, "Sn = *****" type S command will be ignored.

(n:spindle number, *****: rotation speed) If an S command is issued during synchronous tapping modal, a program error

(P186) will occur.

,Ss2 Spindle rotation speed during return

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

Ll1 Designation of number of repetitions (0 to 9999)

Not executed when "0" is set.

Kk1 Number of repetitions (It can be commanded when the parameter "#1271 ext07/bit1" is "1" )

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

372IB-1501277-Q

When r2 = 1, the synchronous tapping mode will be applied, and when r2 = 0, the asynchronous tapping mode will

be applied. If there is no r2 command, mode will follow the parameter setting.

When G84 is executed, the override will be canceled and automatically be set to 100%.

Dry run is valid for the positioning command when the control parameter "G00 DRY RUN" is ON. If the feed hold

button is pressed during G84 execution, and the sequence is at (3) to (6), the movement will not stop immediately,

and instead will stop after (6). During the rapid traverse in sequence (1), (2) and (9), the movement will stop imme-

diately.

The operation stops at after the (1), (2) and (9) commands during single block operation.

During the G84 mode, the NC signal "Tapping" will be output.

During the G84 synchronous tapping modal, the M3, M4, M5 and S code will not be output.

When it is interrupted by such as the emergency stop during the tapping cycle, enable the "Tap retract" signal (TRV);

a tool can be taken out from the workpiece by tap retract operation.

Detailed description

Normal tapping cycle (When Q is not designated)

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zz1 Ff1;

(4) - - G04 Pp1;

(5) - - M4; Spindle reverse rotation

(6) - Invalid G01 Z-z1 Ff1;

(7) - - G04 Pp1;

(8) - - M3; Spindle forward rotation

(9) - Valid G00 Z-r1; G98 mode

No movement G99 mode

(4)(5)

r 1

z1

G98 G99

(1)

(2)

(3) (6) (6)

(9)

x1 , y1

(8) (7)(8) (7)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

373 IB-1501277-Q

m : parameter (#8018 G84/G74 n)

This program is for the G84 command.

The spindle forward rotation (M3) and reverse rotation (M4) are reversed with the G74 command.

Pecking Tapping Cycle (When the Q command is designated #1272 ext08/bit4=0)

Operation pattern Program

(1) G00 Xx1 Yy1 ,Ii1;

(2) G00 Zr1;

(3) G01 Zq1 Ff1;

(4) M4; Spindle reverse rotation

(5) G01 Z-m Ff1;

(6) M3 ; Spindle forward rotation

(7) G01 Z(q1+m) Ff1;

(8) M4; Spindle reverse rotation

(9) G01 Z-m Ff1;

(10) M3 ; Spindle forward rotation

(11) G01 Z(q1+m) Ff1;

: :

(n1) G01 Z(z1-q1*n) Ff1;

(n2) G04 Pp1;

(n3) M4; Spindle reverse rotation

(n4) G01 Z-z1 Ff1 Ss2;

(n5) G04 Pp1;

(n6) M3; Spindle forward rotation

(n7) G00 Z-r1 ,Jj1; G98 mode

No movement G99 mode

(1)

(2)

(3)

(4) (5)

(6)

(7)

(8)

(9)

(10)

(11)

(n1)

(n2)(n3)

(n4) (n4)

(n5)(n6) (n5)(n6)

(n7) r 1

z1

G98 G99

q1

q1

q1

x1,y 1

m

m

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

374IB-1501277-Q

The load applied to the tool can be reduced by designating the depth of cut per pass (Q) and cutting the workpiece

to the hole bottom for a multiple number of passes. The amount retracted from the hole bottom is set to the param-

eter "#8018 G84/G74 n". Whether the pecking tapping cycle or the deep-hole tapping cycle is valid depends on the

MTB specifications (parameter "#1272 ext08/bit4"). When "depth of cut per pass Q" is designated in the block con-

taining the G84 or G74 command with the pecking tapping cycle selected, the pecking tapping cycle will be execut-

ed.

In the following cases, the normal tapping cycle will be carried out.

When Q is not designated. When the command value of Q is zero.

(R) R point

(1) This program is for the G84 command.

The spindle forward rotation (M3) and reverse rotation (M4) are reversed with the G74 command.

Deep-hole Tapping Cycle (When the Q command is designated #1272 ext08/bit4=1)

Operation pattern Program

(1) G00 Xx1 Yy1;

(2) G00 Zr1;

(3) G09 G01 Zq1 Ff1;

(4) M4 ; Spindle reverse rotation

(5) G09 G01 Z-q1 Ff1;

(6) G04 Pp1;

(7) M3; Spindle forward rotation

(8) G09 G01 Z(2*q1) Ff1;

(9) M4 ; Spindle reverse rotation

(10) G09 G01 Z-(2*q1) Ff1;

(11) G04 Pp1;

(12) M3; Spindle forward rotation

(13) G09 G01 Z(3*q1) Ff1;

: :

(n1) G09 G01 Zz1 Ff1;

(n2) G04 Pp1;

(1)

r 1

z1

G98 G99

q1

x1,y 1

(R)

q1

q1

(2)

(3)

(4)

(5)

(6)(7)

(8)

(10)

(13)

(11)(12)

(9)

(n7)

(n5)(n6)

(n1) (n4) (n4)

(n2)(n3)

(n5)(n6)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

375 IB-1501277-Q

(a) In the deep-hole tapping, the load applied to the tool can be reduced by designating the depth of cut per pass and cutting the workpiece to the hole bottom for a multiple number of passes. Under the deep-hole tapping cycle, the tool is retracted to the R-point every time.

(b) Whether the pecking tapping cycle or the deep-hole tapping cycle is valid depends on the MTB specifications (parameter "#1272 ext08/bit4"). When "depth of cut per pass Q" is designated in the block containing the G84 or G74 command in the state where the deep-hole tapping cycle is selected by parameter, the deep-hole tapping cycle is executed. In the following cases, the normal tapping cycle will be carried out. When Q is not designated. When the command value of Q is zero.

(c) When G84 is executed, the override will be canceled and the override will automatically be set to 100% in the cutting operation. And the override set in the parameter "#1172 tapovr" will also be disabled. (When "#1272 ext08/bit5" = 1, the setting of "#1172 tapovr" will be enabled only during a pulling operation)

(d) Dry run is valid for a positioning command when the parameter "#1085 G00 DRY RUN" is "1" and is valid for the positioning command. If the feed hold button is pressed during G84 execution, the tool does not stop immediately during cutting or returning, and it stops after completing an R point return.

(e) During single block operation, the tool does not stop during cutting or returning, but stops after completing an R point/initial point return.

(f) During the G84 mode, the NC signal "Tapping" will be output.

(g) During the G84 synchronous tapping modal, the M3, M4, M5 and S code will not be output.

(h) If the command value of F becomes extremely small such as around "F < 0.01 mm/rev" during synchronous tap- ping, the spindle does not rotate smoothly. So make sure to command a value larger than "0.01 mm/rev". The unit of F can be selected between mm/rev and mm/min.

(i) If the external deceleration signal is turned ON during synchronous or asynchronous tapping, the feed rate does not change even when deceleration conditions are satisfied.

(j) If the operation is interrupted by a cause such as an emergency stop or reset during the deep-hole tapping cycle, a tap retract is executed when the tap retract signal is input.

(k) When the reference position return signal is input during the deep-hole tapping cycle, a tap retract is carried out, and a reference position return will be executed from the end point of the tap retract.

(n3) M4; Spindle reverse rotation

(n4) G09 G01 Z-z1 Ff1;

(n5) G04 Pp1;

(n6) M3; Spindle forward rotation

(n7) G00 Z-r1; G98 mode

No movement G99 mode

Operation pattern Program

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

376IB-1501277-Q

This function enables to make spindle acceleration/deceleration pattern closer to that of the speed loop by dividing

the spindle and drilling axis acceleration/deceleration pattern into up to three stages during synchronous tapping.

The acceleration/deceleration pattern can be set up to three stages for each gear. (This depends on the MTB spec-

ifications.)

When returning from the hole bottom, rapid return is possible at the spindle rotation speed during return. The spindle

rotation speed during return is held as modal information.

(1) When tapping rotation speed < spindle rotation speed during return synchronous tapping changeover spindle rotation speed 2

Spindle acceleration/deceleration pattern during synchronous tapping

S Command spindle rotation speed

S' Spindle rotation speed during return

S1 Tapping rotation speed (spindle specification parameters #3013 to #3016)

S2 Synchronous tapping changeover spindle rotation speed 2 (spindle specification parameters #3037 to #3040)

S3 Maximum spindle rotation speed for synchronous tapping (spindle specification parameters #43046 to #43049) However, when those parameters are set to "0", processing is performed based on "#3005" to "#3008". #3005 to #3008 can be designated using up to six digits (999999); however, they are limited to five digits (99999) for this function.

T1 Tapping time constant (spindle specification parameters #3017 to #3020)

T2 Synchronous tapping changeover time constant 2 (spindle specification parameters #3041 to #3044)

S2 S3

S(S1)

S1 S' S2 S3

T1

T1T1

T1

T2

T2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

377 IB-1501277-Q

(2) When synchronous tapping changeover spindle rotation speed 2 < spindle rotation speed during return

S Command spindle rotation speed

S' Spindle rotation speed during return

S1 Tapping rotation speed (spindle specification parameters #3013 to #3016)

S2 Synchronous tapping changeover spindle rotation speed 2 (spindle specification parameters #3037 to #3040)

S3 Maximum spindle rotation speed for synchronous tapping (spindle specification parameters #43046 to #43049) However, when those parameters are set to "0", processing is performed based on "#3005" to "#3008". #3005 to #3008 can be designated using up to six digits (999999); however, they are limited to five digits (99999) for this function.

T1 Tapping time constant (spindle specification parameters #3017 to #3020)

T2 Synchronous tapping changeover time constant 2 (spindle specification parameters #3041 to #3044)

T3 Synchronous tapping changeover time constant 3 (spindle specification parameters #3045 to #3048)

S3 S2

S(S1)

S1 S2

S'(S3)

T1

T2 T1T1

T1

T2

T3

T3

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

378IB-1501277-Q

The feedrates for the tapping cycle and tapping return are as shown below.

(1) Selection of synchronous tapping cycle/asynchronous tapping cycle

"-" is irrelevant to the setting

(2) Selection of asynchronous tapping cycle feedrate

"-" is irrelevant to the setting

(3) Spindle rotation speed during return of synchronous tapping cycle

The M code set with the parameter "#3028 sprcmm" is output as the M code for spindle forward/reverse rotation that

is output at "hole bottom" or at "R point" during asynchronous tapping cycle.

Note that the M code for forward rotation is output as "M3" and that for reverse rotation is as "M4" if the parameter

"#3028 sprcmm" is set to "0".

Feedrate for tapping cycle and tapping return

Program G84, Rxx

Control parameter Synchronous tapping

Synchronous/asynchronous

,R00 - Asynchronous

,Rxx No designation

OFF

ON Synchronous

,R01 -

G94/G95 Control parameter F1-digit valid

F command value Feed designation

G94 OFF F designation Feed per minute

ON Other than F0 to F8

F0 to F8 (no decimal point)

F1-digit Feed

G95 - F designation Feed per revolution

Address Meaning of ad- dress

Command range (unit)

Remarks

,S Spindle rotation speed during return

0 to 99999 (r/min) The data is held as modal information. If the value is smaller than the spindle ro- tation speed, the spindle rotation speed value will be valid even during return. If the spindle rotation speed is not 0 during return, the taping retract override value will be invalid.

M code for forward/reverse rotation command in asynchronous tapping cycle

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

379 IB-1501277-Q

Enable the feed per minute command of the synchronous tapping by the setting of parameter "#1268 ext04/bit2".

When this parameter is valid, G94 and G95 modal will be applied.

(*1) The F command is set to feed per minute (mm/min, inch/min).

Pitch = F command value / S command value

(*2) The F command is set to feed per revolution (mm/rev, inch/rev).

(1) The G94 command, which is a modal command, is valid until the G95 (feed per revolution) command is issued next.

(2) If the E address (number of screw threads per inch) is issued while feed per minute is valid, the program error (P32) will occur.

(3) The F address of the synchronous tapping command does not affect the F modal for cutting feed.

You can restrict the maximum value (minimum value of the E address for the number of screw threads) of the pitch

F address for synchronous tapping (parameter "#19004 tap feedrate limit"). The program error (P184) will occur if

the machining program is executed when the value of "F" address (pitch) exceeds the maximum value or when the

value of "E" address (number of the screw threads per inch) is below the minimum value.

When the parameter "#19004" is set to "0", the pitch command by the F address is set as follows.

(*1) When feed per minute is commanded, the pitch calculation result for the spindle rotation speed is range-restrict-

ed in this parameter setting.

Feed per minute command of the synchronous tapping

During G94 modal (feed per minute) During G95 modal (feed per revolution)

#1268/bit2 = 1 Feed per minute (*1) Feed per revolution (*2)

#1268/bit2 = 0 Feed per revolution (*2) Feed per revolution (*2)

Range restriction of maximum cutting feedrate command for synchronous tapping

Command unit Pitch F E setting (number of screw threads) (*1)

B (0.001mm) 0.001 to 999.999 mm/rev 0.0255 to 999.99 screw threads/inch

C (0.0001mm) 0.0001 to 999.9999mm/rev 0.026 to 999.999 screw threads/inch

D (0.00001mm) 0.00001 to 999.99999 mm/rev 0.0255 to 999.9999 screw threads/inch

E (0.000001mm) 0.000001 to 999.999999 mm/rev 0.02541 to 999.99999 screw threads/inch

B (0.0001inch) 0.000001 to 39.370078inch/rev 0.03 to 9999.9999 screw threads/inch

C (0.00001inch) 0.0000001 to 39.3700787inch/rev 0.026 to 9999.99999 screw threads/inch

D (0.000001inch) 0.00000001 to 39.37007874inch/rev 0.0255 to 9999.999999 screw threads/ inch

E (0.0000001inch) 0.000000001 to 39.370078740inch/rev 0.02541 to 9999.9999999 screw threads/ inch

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

380IB-1501277-Q

(*1) Carry out in-position check by tapping in-position width.

(1) The I point refers to the initial point.

Synchronous tapping in-position check (Parameter setting values and tapping axis movement)

#1223 aux07 "P" designation of G84/ G74 command

In-position check during synchronous tap- pingbit3 bit4 bit5 bit2

Synchronous tap in-posi-

tion check im- provement

Hole bottom

R point I point -> R point

Hole bottom R point I point -> R point

0 - - - - yes yes yes

1 - - - No "P" designation Example: G84 F1. Z-5.

S1000 R-5.

no no no

1 1 1 1 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

(*1) yes yes

1 1 0 1 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

(*1) no yes

1 0 1 1 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

yes yes yes

1 0 0 1 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

no no yes

1 1 1 0 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

(*1) yes no

1 1 0 0 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

(*1) no no

1 0 1 0 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

no yes no

1 0 0 0 "P" designation Example: G84 F1. Z-5.

S1000 P0 R-5.

no no no

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

381 IB-1501277-Q

In-position width and tapping axis movement for a synchronous tapping in-position check

(a) In-position completion of the G00 feed from the R point

(b) G01 deceleration start at tapping cut-in

(c) G01 deceleration start at tapping return

(d) Start of G00 feed to the R point

(1) Section in which the in-position check is carried out by G0inps.

(2) Section in which the in-position check is carried out by TapInp.

(3) Section in which the in-position check is carried out by G1inps.

(4) Section in which the in-position check is carried out by sv024.

R point: In-position check by the G1inps

I point: In-position check by the G0inps

Hole bottom: In-position check by the TapInp

(Z) Hole bottom (R) R point

FIN

(1) (2) (3) (4)

(Z) (R) (d) (c)(b)(a)(F)

(T)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

382IB-1501277-Q

Relation between the parameter setting values and tapping axis movement for a synchronous tapping in-position

check

(1) The I point refers to the initial point.

(2) Note that vibration or deterioration in accuracy may occur when invalidating the in-position check at R point. Con- firm the accuracy when invalidating it. Processing may take some time if no in-position check is performed at each point.

#1223 aux07 Hole bottom wait time Operation at hole bottom

Operation at R point

Operation at I point -> R pointbit3 bit4 bit5 bit2

Synchronous tap in-posi-

tion check im- provement

Hole bot- tom

R point

I point -> R point

0 - - - Time designated by "P" Several 10 ms as process- ing time when no "P".

Operation deter- mined by setting of inpos (#1193) and aux07 (#1223/bit1) pa- rameters.

Operation deter- mined by setting of inpos (#1193) and aux07 (#1223/bit1) pa- rameters.

Operation deter- mined by setting of inpos (#1193) and aux07 (#1223/bit1) pa- rameters.

1 0 0 1 The larger value of "P" and TapDwl (#1313) is valid. No dwell is executed if both values are "0".

Wait until time in the left column elapses.

Wait until comple- tion of in-position check by G0inps.

1 0 1 1 The larger value of "P" and TapDwl (#1313) is valid. No dwell is executed if both values are "0".

Wait until time in the left column elapses.

Wait until comple- tion of in-position check by G1inps.

Wait until comple- tion of in-position check by G0inps.

1 1 0 1 The larger value of "P" and TapDwl (#1313) is valid. No dwell is executed if both values are "0".

Wait until dwell time in the left col- umn elapses after completion of in- position check.

Wait until comple- tion of in-position check by G0inps.

1 1 1 1 The larger value of "P" and TapDwl (#1313) is valid. Several 10 ms as process- ing time when both of them are "0".

Wait until dwell time in the left col- umn elapses after completion of in- position check.

Wait until comple- tion of in-position check by G1inps.

Wait until comple- tion of in-position check by G0inps.

1 0 0 0 The larger value of "P" and TapDwl (#1313) is valid. No dwell is executed if both values are "0".

Wait until time in the left column elapses.

1 0 1 0 The larger value of "P" and TapDwl (#1313) is valid. No dwell is executed if both values are "0".

Wait until time in the left column elapses.

Wait until comple- tion of in-position check by G1inps.

1 1 0 0 The larger value of "P" and TapDwl (#1313) is valid. No dwell is executed if both values are "0".

Wait until dwell time in the left col- umn elapses after completion of in- position check.

1 1 1 0 The larger value of "P" and TapDwl (#1313) is valid.

Wait until dwell time in the left col- umn elapses after completion of in- position check.

Wait until comple- tion of in-position check by G1inps.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

383 IB-1501277-Q

This function allows you to carry out tapping by selecting and moving the drilling axis with manual handle operation

after performing block stop or feed hold stop processing during synchronous tapping cycle.

Whether to synchronize the drilling axis for manual synchronous tapping with the spindle when moving it depends

on the MTB specifications. (Parameter "#11030 Man tap sync cancl")

Designate this command in the same format as for synchronous tapping.

[Operation procedure]

The following example shows the procedure when the parameter "#11030 Man tap sync cancl" is set to "0".

(1) Execute the synchronous tapping cycle program in the MDI mode.

G91 G84 X0 Y0 Z0 R0 F2. S1000;

(2) Set to the handle mode.

(3) Determine the drilling position using the X/Y axis handle.

(4) Perform drilling using the drilling axis handle.

(5) Perform pulling out from the home bottom using the drilling axis handle.

(6) When continuing machining, return to step (4).

(7) Reset the G84 modal.

[Precautions and restrictions]

(1) The manual synchronous tapping is only required in the handle mode.

(2) If necessary, you can perform the manual synchronous tapping using the handle after switching to another op- eration mode until it is reset or canceled with the G80 command.

(3) The spindle is synchronized in the pitch commanded with "F" of machining program G84 (G74).

(Example)

N1 G28 X0 Y0 Z0 ; N2 G91 G01 F1000 ; N3 G84 X-50. Y-50. Z-100. R-50. F2. S1000. ,R1 ; N4 G80 M02 ;

When the handle is turned while the handle magnification is set to "100", the Z axis moves synchronously with the spindle. "2mm/rev" is set to the F2 command, so the spindle rotates by one revolution when the handle is turned by 20 pulses.

(4) For manual synchronous tapping, the acceleration/deceleration time constant is the same as for the normal han- dle operation. Also, the tap return override is invalid.

(5) The spindle rotation speed for manual synchronous tapping is not clamped with parameters "#3013 stap1" to "#3016 stap4" (maximum tapping rotation speed) in the S command of the program.

(6) Manual synchronous tapping becomes valid from the timing when block stop or feed hold stop mode is set during automatic operation. However, the feed hold stop mode during cutting is changed to the block stop mode after "cutting -> movement to R point".

(7) The dwell time (P command) at the hole bottom is invalid during manual synchronous tapping.

(8) When the automatic operation is started in the miscellaneous function lock ("MST lock" ON), the spindle is not synchronized even after block stop or feed hold stop processing has been ended.

(9) The manual synchronous tapping operation in 3-dimensional coordinate conversion is different from the above. (Not supported.)

Manual synchronous tapping

Depends on the parameter (#11030) setting. OFF: Synchronizes with the spindle (tapping). ON: Does not synchronize with the spindle (positioning).

Z

X

Spindle

Step (3)

Step (4)Step (5)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

384IB-1501277-Q

This function performs tapping using the analog-connected spindle. By using this function, various tapping cycle

functions can be used using the analog-connected spindle by inverter, etc.

When this function is used, the analog spindle with the function to control the spindle position needs to be connected.

Also, the parameter "#1295 ext31/bit6" (Analog spindle synchronous tapping ON) needs to be set to "1".

The voltage value to be output to the analog spindle is between -10V and 10V and it is determined by the ratio of

the setting value of the parameters "#3001 slimit1" to "#3004 slimit4" which correspond to the command to the an-

alog spindle.

[Relationship with other functions]

(1) The following function cannot be combined with the analog spindle synchronous tapping. If the analog spindle synchronous tapping is commanded while the following function is used, the program error (P182) occurs. Coordinate rotation by program 3-dimensional coordinate conversion Parameter coordinate conversion Inclined surface machining Workpiece installation error compensation R-Navi Mixed control Arbitrary axis exchange control

(2) When the reset or emergency stop is performed during the execution of the synchronous tapping with analog I/ F spindle, the tap retract can be used as well as the normal synchronous tapping. However, when the emergency stop is canceled before commanding the tapping retract, the analog I/F spindle needs to be ready to rotate by a voltage command from the NC.

[Precautions]

(1) The pecking tapping cycle or deep-hole tapping cycle cannot be commanded while the analog spindle synchro- nous tapping is used. If commanded, a program error (P182) occurs.

(2) The synchronous tap with multi-step acceleration deceleration cannot be used while the analog spindle synchro- nous tapping is used. Command by setting the parameter "#1223 aux07/bit7" (Synchronous tap method) to "1".

(3) The high-speed synchronous tapping cannot be used while the analog spindle synchronous tapping is used. Re- gardless of the value of the parameter "#1281 ext17/bit5" (High-speed synchronous tapping valid), the normal synchronous tapping operation is performed.

(4) If the synchronous tapping is commanded to the analog spindle in multiple spindle control mode when the pa- rameter "#1295 ext31/bit6" (Analog spindle synchronous tapping ON) is set to "0", the following error occurs. In multiple-spindle control I mode: Program error (P182) In multiple-spindle control II mode: Operation error (M01 0054)

(5) The analog spindle synchronous tapping can be used only in one part system. In multiple spindle control mode, if the analog spindle synchronous tapping is performed in the part system other than the one where the param- eter "#11717 astap_sysno" (Analog spindle synch tap: Part system selection) is set, the following errors occur. In multiple-spindle control I mode: Program error (P182) In multiple-spindle control II mode: Operation error (M01 0054)

(6) When multiple spindles are selected using the multiple spindle control, do not command the synchronous tapping with the analog-connected spindle and the serial-connected spindle being mixed.

(7) With the analog spindle synchronous tapping, the synchronous tapping error display function is disabled and the synchronous tapping error display always shows "0".

(8) When the reset or emergency stop is performed during analog spindle synchronous tapping, the voltage output value to the spindle becomes "0" and the spindle operation stops.

Synchronous tapping with analog I/F spindle (analog spindle synchronous tapping)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

385 IB-1501277-Q

This function performs tapping using the spindle controlled with pulse train output. By using this function, various

tapping cycle functions can be used using the spindle connected to the inverter, etc.

When this function is used, the inverter, etc. which supports the function to control the spindle operation with the

pulse train input needs to be connected. Also, the parameter "#1295 ext31/bit6" (Analog spindle synchronous tap-

ping ON) needs to be set to "1".

[Relationship with other functions]

(1) The following functions cannot be combined with the synchronous tapping using the pulse-train output spindle. If the synchronous tapping using the pulse-train output spindle is commanded while the following function is used, the program error (P182) occurs. Coordinate rotation by program

(2) When the reset or emergency stop is performed during the execution of the synchronous tapping with pulse train output, the tap retract can be used as well as the normal synchronous tapping. However, when the emergency stop is canceled before commanding the tapping retract, the connected inverter spindle needs to be ready to rotate by the pulse train output from the NC.

(3) Spindle selection can be performed for the pulse-train output spindle by multiple-spindle control. However, to use encoder input, set the pulse-train output spindle to the 1st spindle.

[Precautions]

(1) The pecking tapping cycle or deep-hole tapping cycle cannot be commanded for the synchronous tapping using the pulse-train output spindle. If commanded, the program error (P182) occurs.

(2) The synchronous tap with multi-step acceleration deceleration cannot be used for the synchronous tapping using the pulse-train output spindle. Regardless of the value of the parameter "#1223 aux07/bit7" (Synchronous tap method), the acceleration/deceleration operation for synchronous tapping is performed in the conventional meth- od.

(3) The high-speed synchronous tapping cannot be used for the synchronous tapping using the pulse-train output spindle. Regardless of the value of the parameter "#1281 ext17/bit5" (High-speed synchronous tapping valid), the normal synchronous tapping operation is performed.

(4) If the synchronous tapping is commanded to the pulse-train output spindle in multiple-spindle control mode when the parameter "#1295 ext31/bit6" (synchronous tapping with analog I/F spindle ON) is set to "0", the following error occurs. In multiple-spindle control I mode: Program error (P182) In multiple-spindle control II mode: Operation error (M01 0054)

(5) The synchronous tapping error display function is disabled for the synchronous tapping using the pulse-train out- put spindle, and the synchronous tapping error display always shows "0".

(6) If the reset or emergency stop is performed during the synchronous tapping using the pulse-train output spindle, the controller stops outputting pulse signals to the spindle.

(7) For the spindle control with pulse train output, a different acceleration/deceleration control method is used at spindle rotation command and synchronous tapping, compared to the normal spindle control. Therefore, to op- erate a program that transitions from the spindle rotation command to the synchronous tapping command, wait until the spindle has sufficiently slowed down, and issue the synchronous tapping command.

(8) If reset is performed during forward rotation or reverse rotation of pulse-train output spindle, the pulse train will not stop being output, and the spindle remains rotated. However, if an emergency stop is performed during for- ward rotation or reverse rotation, the controller stops outputting pulse signals to the spindle.

Synchronous tapping by spindle control with pulse train output

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

386IB-1501277-Q

13.1.5 Boring; G85

The operation stops at after the (1), (2), (4) or (5) commands during single block operation.

Command format

G85 Xx1 Yy1 Zz1 Rr1 Ff1 Ll1 ,Ii1 ,Jj1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

Detailed description

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zz1 Ff1;

(4) - Invalid G01 Z-z1 Ff1;

(5) - Invalid G00 Z-r1; G98 mode

No movement G99 mode

r1

z1

G98 G99

(1)

(2)

(3) (4) (4)

(5)

x1 , y1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

387 IB-1501277-Q

13.1.6 Boring; G86

The operation stops at after the (1), (2) and (7) commands during single block operation.

Command format

G86 Xx1 Yy1 Zz1 Rr1 Ff1 Pp1 Ll1 ;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Pp1 Designation of dwell time at hole bottom position (the values after the decimal points will be ignored) (modal)

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

Detailed description

Operation pattern Program

(1) G00 Xx1 Yy1;

(2) G00 Zr1;

(3) G01 Zz1 Ff1;

(4) G04 Pp1;

(5) M5; Spindle stop

(6) G00 Z-(z1+r1); G98 mode

G00 Z-z1; G99 mode

(7) M3; Spindle forward rotation

(4)(5) G98 G99

(1)

(2)

(3) (6)

(7)

x1 , y 1

z1 (6)

r 1

(7)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

388IB-1501277-Q

13.1.7 Back Boring; G87

(1) Be careful of the designation of "z1" and "r1" (the sign of "z1" is opposite to that of "r1"). Also, the R point return is not performed.

Command format

G87 Xx1 Yy1 Zz1 Rr1 Iq1 Jq2 Kq3 Ff1 Ll1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Iq1 Jq2 Kq3

Designation of shift amount (incremental position) (modal)

The command address for each plane selection is as follows. When G17 plane is selected: IJ When G18 plane is selected: KI When G19 plane is selected: JK Depending on the parameter setting, the shift amount can be designated by Q address. Refer to "Designation of shift amount (I,J,K)".

Ff1 Designation of feedrate for cutting feed (modal)

Ll1 Designation of number of repetitions (0 to 9999)

Not executed when "0" is set.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

389 IB-1501277-Q

The operation stops at after the (1), (4), (6) and (11) commands during single block operation.

Detailed description

Operation pattern Program

(1) G00 Xx1 Yy1;

(2) M19 ; Spindle orientation

(3) G00 Xq1 (Yq2) ; Shift

(4) G00 Zr1;

(5) G00 X-q1(Y-q2)/G01 X-q1(Y-q2)Ff1 ; Shift

(6) M3; Spindle forward rotation

(7) G01 Zz1 Ff1;

(8) M19 ; Spindle orientation

(9) G00 Xq1 (Yq2); Shift

(10) G00 Z-(r1+z1); G98 mode

G00 Z-(r1+z1); G99 mode

(11) G00 X-q1(Y-q2); Shift

(12) M3; Spindle forward rotation

(1)

r 1

Xq1(Yq2)(3)

(2) (12)(11)

(8) (9) (10)

(4)

(7)

(6) (5)

z1

x1 , y1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

390IB-1501277-Q

When this command is issued, high precision drilling machining that does not scratch the machining surface can be

done. Positioning to the hole bottom and escaping (return) after cutting are carried out in the state shifted to the di-

rection opposite of the cutter.

(The bold arrow shown in the figure indicates the tool shift amount.)

Whether the tool moves by the designated shift amount (*1) with rapid traverse (G00) or linear interpolation (G01)

depends on the MTB specifications (parameter "#1255 set27/bit4").

(*1) Refers to the movement using operation pattern (5) shown in the figure in "Detailed description".

When the rapid traverse is selected, the route at positioning is set to the interpolation type regardless of the

setting of the parameter "#1086 G0Intp".

When the linear interpolation is selected, the feedrate follows the F command.

(1) To move the tool by the designated shift amount with rapid traverse, it is necessary to upgrade the M8 series software to version C4 or later and to replace the fixed cycle program. For details, consult the MTB.

(2) Command I, J, and K with incremental positions in the same block as the hole position data. I, J and K will be handled as modal during the fixed cycle.

(3) If the parameter "#1080 Dril_Z" which fixes the hole drilling axis to the Z axis is set, the shift amount can be des- ignated with address Q instead of I, J. In this case, whether to shift or not and the shift direction are set with parameter "#8207 G76/87 No shift" and "#8208 G76/87 Shift (-)". The sign for the Q value is ignored and the value is handled as a positive value. The Q value is a modal during the fixed cycle. Then, be sure to note that the Q value is commonly used for the cutting amount with G73/G83 or the shift amount with G83/G87.

Designation of shift amount (I,J,K)

A: Tool position during cutting

B: Tool position when positioning to the hole bottom and, also, when escaping after cutting

A B

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

391 IB-1501277-Q

Whether the tool node shift is performed in the commanded coordinate system or machine coordinate system de-

pends on the MTB specifications (parameter "#1751 cfgPR01/bit1"). When the plane perpendicular to the tool axis

is assigned to the rotation coordinate system by the G68 command (coordinate rotation by program), etc., the shift

direction is set as shown below depending on the setting value.

The figure below shows the shift direction when the X-Y plane perpendicular to the Z axis (tool axis) is rotated.

(1) In order to switch the coordinate system to shift the tool nose, the system must be upgraded to the M8 series S/ W version E1 or later, and then the fixed cycles need to be replaced. Contact the MTB to use this function.

(2) When the plane including the tool axis is rotated, shift the tool nose in the commanded coordinate system re- gardless of the setting of the parameter "#1751 cfgPR01/bit1".

(3) The tool nose shift in the mirror image ON state is performed in the mirror image OFF state; therefore, the tool nose shifts to the tool nose direction regardless of the setting of the parameter "#1751 cfgPR01/bit1". However, the shift direction is designated based on the parameter setting when:

The coordinate rotation is commanded in the mirror image ON state. Mirror image is turned ON during the coordinate rotation command.

(4) When the machine coordinate system is set (#1751 cfgPR01/bit1 = 1), do not use the figure rotation simultane- ously.

Coordinate system at tool node shift

Shifted in the commanded coordinate system. (#1751 cfgPR01/bit1 = 0)

Shifted in the machine coordinate system (in the same direction as the tool nose). (#1751 cfgPR01/bit1 = 1)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

392IB-1501277-Q

13.1.8 Boring; G88

The operation stops at after the (1), (2), (6) and (9) commands during single block operation.

Command format

G88 Xx1 Yy1 Zz1 Rr1 Ff1 Pp1 Ll1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Pp1 Designation of dwell time at hole bottom position (the values after the decimal points will be ignored) (modal)

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

Detailed description

Operation pattern Program

(1) G00 Xx1 Yy1;

(2) G00 Zr1;

(3) G01 Zz1 Ff1;

(4) G04 Pp1;

(5) M5; Spindle stop

(6) Stop when single block stop switch is ON

(7) Automatic start switch ON

(8) G00 Z-(z1+r1); G98 mode

G00 Z-z1; G99 mode

(9) M3 ; Spindle forward rotation

(4)(5)(6)(7) G98 G99

(1)

(2)

(3) (8)

(9)

x1 , y1

z1 (8)

r 1

(9)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

393 IB-1501277-Q

13.1.9 Boring; G89

The operation stops at after the (1), (2), (5) or (6) commands during single block operation.

Command format

G89 Xx1 Yy1 Zz1 Rr1 Ff1 Pp1 Ll1 ,Ii1,Jj1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Pp1 Designation of dwell time at hole bottom position (the values after the decimal points will be ignored) (modal)

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

Detailed description

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zz1 Ff1;

(4) - - G04 Pp1;

(5) - Invalid G01 Z-z1 Ff1;

(6) - Valid G00 Z-r1; G98 mode

No movement G99 mode

(4)

r 1

z1

G98 G99

(1)

(2)

(3) (5) (5)

(6)

x1 , y1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

394IB-1501277-Q

13.1.10 Stepping Cycle; G73

Command format

G73 Xx1 Yy1 Zz1 Qq1 Rr1 Ff1 Pp1 Ll1 ,Ii1 ,Jj1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Qq1 Cut amount for each cutting pass (incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Pp1 Designation of dwell time at hole bottom position (the values after the decimal points will be ignored) (modal)

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

395 IB-1501277-Q

When executing a second and following cutting in the G73 as shown above, the movement will return several "m"

mm with rapid traverse and then will change to cutting feed. The return amount "m" will differ according to the pa-

rameter "#8012 G73 return".

The operation stops at after the (1), (2) and (n) commands during single block operation.

Detailed description

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zq1 Ff1;

(4) - - G04 Pp1;

(5) - Invalid G00 Z-m;

(6) - Invalid G01 Z(q1+m) Ff1;

:

(n)-1 - Invalid

(n) - Valid G00 Z-(z1+r1); G98 mode

G00 Z-z1; G99 mode

(1)

(2)

(3)

(4)

x1 , y1

z1

r 1

(5) (6)

q1

q1

q1

(n)

m

(n) - 1

(n)

G98 G99

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

396IB-1501277-Q

13.1.11 Reverse Tapping Cycle; G74

(1) When asynchronous tapping mode is applied, F address becomes the cutting feed speed.

Command format

G74 Xx1 Yy1 Zz1 Rr1 Ff1 Pp1 ,Rr2 Ss1 ,Ss2 Ll1 ,Ii1,Jj1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Ff1 Z-axis feed amount (tapping pitch) per spindle rotation (modal)

Pp1 Designation of dwell time at hole bottom position (the values after the decimal points will be ignored) (modal)

,Rr2 Synchronization method selection (r2=1 synchronous, r2=0 asynchronous) (modal) (When omitted, the mode will follow the setting of parameter "#8159 Synchronous tap")

Ss1 Spindle rotation speed command

At a synchronous tapping mode, "Sn = *****" type S command will be ignored. (n:spindle number, *****: rotation speed) If an S command is issued during synchronous tapping modal, a program error

(P186) will occur.

,Ss2 Spindle rotation speed during return

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

,Ii1 Positioning axis in-position width

,Jj1 Drilling axis in-position width

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

397 IB-1501277-Q

When r2 = 1, the synchronous tapping mode will be applied, and when r2 = 0, the asynchronous tapping mode will

be applied. If there is no r2 command, mode will follow the parameter setting.

When G74 is executed, the override will be canceled and the override will automatically be set to 100%.

Dry run is valid for the positioning command when the parameter "#1085 G00 Drn" is set to "1".

If the feed hold button is pressed during G74 execution, and the sequence is at (3) to (6), the movement will not stop

immediately, and instead will stop after (6). During the rapid traverse in sequence (1), (2) and (9), the movement will

stop immediately.

The operation stops at after the (1), (2) and (9) commands during single block operation.

During the G74 and G84 modal, the "Tapping" NC output signal will be output.

During the G74 synchronous tapping modal, the M3, M4, M5 and S code will not be output.

Refer to "13.1.4 Tapping Cycle; G84".

Refer to "13.1.4 Tapping Cycle; G84".

Refer to "13.1.4 Tapping Cycle; G84".

Refer to "13.1.4 Tapping Cycle; G84".

Detailed description

Operation pattern i1 j1 Program

(1) Valid - G00 Xx1 Yy1;

(2) - Invalid G00 Zr1;

(3) - Invalid G01 Zz1 Ff1;

(4) - - G04 Pp1;

(5) - - M3; Spindle forward rotation

(6) - Invalid G01 Z-z1 Ff1;

(7) - - G04 Pp1;

(8) - - M4; Spindle reverse rotation

(9) - Valid G00 Z-r1; G98 mode

No movement G99 mode

Spindle acceleration/deceleration pattern during synchronous tapping

Feedrate for tapping cycle and tapping return

M code for forward/reverse rotation command in asynchronous tapping cycle

Parameter setting values and tapping axis

(4)(5)

r 1

z1

G98 G99

(1)

(2)

(3) (6) (6)

(9)

x1 ,y1

(8) (7)(8)

(7)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

398IB-1501277-Q

13.1.12 Circular Cutting; G75

Circular cutting starts with the X and Y axes positioned at the center of the circle, and the Z axis cuts into the com-

manded position. Then, the tool cuts the inner circumference of the circle drawing a true circle and returns to the

center position.

Function and purpose

Command format

G75 Xx1 Yy1 Zz1 Rr1 Qq1 Pp1 Ff1 Ll1 ;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Qq1 Radius of outer circumference (modal)

Pp1 Tool radius compensation No. (modal)

Ff1 Designation of feedrate for cutting feed (modal)

Ll1 Designation of number of repetitions (0 to 9999)

When 0 is set, processing is not executed.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

399 IB-1501277-Q

The operation stops at after the (1), (2) and (6) commands during single block operation.

Detailed description

Operation pattern Program

(1) G00 Xx1 Yy1;

(2) G00 Zr1;

(3) G01 Zz1 Ff1;

(4) Gn X-(q1-r) I-(q1/2); Inner circumference half circle

n:q1 0 G02 q1 <0 G03

r: Tool radius compensation amount of the No. commanded with p1.

(5) Iq1; Outer circumference

(6) X(q1-r) I(q1/2); Inner circumference half circle

(7) G00 Z-(z1+r1); G98 mode

G00 Z-z1; G99 mode

(4)

G98 G99

(1)

(2)

(3)

(6)

(7)

x1 , y1

z1

r 1

(5)

(7)

r

q1

Y

X

Z

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

400IB-1501277-Q

13.1.13 Fine Boring; G76

Command format

G76 Xx1 Yy1 Zz1 Rr1 Iq1 Jq2 Kq3 Ff1 Ll1;

Xx1 Designation of hole drilling position (absolute/incremental position)

Yy1 Designation of hole drilling position (absolute/incremental position)

Zz1 Designation of hole bottom position (absolute/incremental position) (modal)

Rr1 Designation of R point position (absolute/incremental position) (modal)

Iq1 Jq2 Kq3

Designation of shift amount (incremental position) (modal)

The command address for each plane selection is as follows:

G17 plane: IJ G18 plane: KI G19 plane: JK

Depending on the parameter setting, the shift amount can be designated by Q address. Refer to "Designation of shift amount (I,J,K)".

Ff1 Designation of feedrate for cutting feed (modal)

Ll1 Designation of number of repetitions (0 to 9999) When 0 is set, processing is not ex- ecuted.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

401 IB-1501277-Q

The operation stops at after the (1), (2) and (7) commands during single block operation.

Refer to "Designation of shift amount (I,J,K)" in "13.1.7 Back Boring; G87".

Refer to "Coordinate system at tool nose shift" in "13.1.7 Back Boring; G87".

Detailed description

Operation pattern Program

(1) G00 Xx1 Yy1;

(2) G00 Zr1;

(3) G01 Zz1 Ff1;

(4) M19; Spindle orientation

(5) G00 Xq1(Yq2)/G01 Xq1(Yq2)Ff1 ; shift

(6) G00 Z-(z1+r1); G98 mode

G00 Z-z1; G99 mode

(7) G00 X-q1 (Y-q2); shift

(8) M3; Spindle forward rotation

Designation of shift amount (I,J,K)

Coordinate system at tool nose shift

(4)(5) G98 G99

(1)

(2)

(3) (6)

(7)

x1 , y1

z1(6)

r 1

(7)

(8)

(8)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

402IB-1501277-Q

13.1.14 Thread Milling Cycle; G187

This function is a fixed cycle that performs thread machining by helicoidally operating the tool referred to as a thread

milling tool. This function allows a thick female thread cutting or female thread cutting in any pitch that is impossible

using a tapping tool.

This function is a fixed cycle using circular interpolation (helical interpolation); therefore, plane selection is required

in advance.

Function and purpose

Command format

G187 Z__ I/J__ P__ F__ D__ Q__ ;

Z Designation of pole bottom position

I/J Arc radius, approach direction

P Pitch

F Feedrate

D Rotation direction

Q Dwell time

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

403 IB-1501277-Q

Detailed description

Detailed address setting

Address Command range (unit)

Remarks

Z -99999.999 to 99999.999 (mm)

Designate the hole bottom position.

If an axis other than the drilling axis is commanded or the address is omit- ted, a program error (P33) will occur.

I/J -99999.999 to 99999.999 (mm)

Designate the arc radius and approach direction. The approach direction can

be designated with the address I/J and the sign of the commanded value.

(Example) If "J-5" is designated, the radius and direction are obtained as

shown below.

Arc radius: 5 (mm)

Approach direction: -Y direction

Designate the radius for helical operation, not the hole radius. For the arc radius, designate a radius value. A program error (P33) will oc-

cur in the following cases. The drilling axis direction (K) has been designated. The command has been omitted, or two axes have been commanded si-

multaneously. The command value is set to "0".

P 0.001 to 99999.999 (mm)

Designate the pitch (drilling axis feed amount per revolution).

For the pitch, designate a radius value. If the command is omitted, a program error (P33) occurs. If the command value is set to "0", a program error (P35) occurs.

F 0.001 to 10000000 (mm/min)

Designate the feedrate.

Designate the helical operation speed, not the cutting speed.

The normal F modal value will not change. If the command is omitted or the command value is set to "0", a program

error (P62) occurs. In the same way as for the normal helical interpolation, the speed desig-

nation is selected by the parameter "#1235 set07/bit0". (Based on the MTB specifications.)

D 0, 1 Designate the rotation direction.

0: CW 1: CCW If the command is omitted, the rotation direction is set to CW.

Q 0 to 99999.999(s) Designate the dwell period from the time when the axis moves from the hole

center to the radius direction to the time when the helical interpolation starts.

When the command is omitted, dwelling is not performed. The relationship between the time and designated value is the same as

for the values designated in "G04P".

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

404IB-1501277-Q

The thread milling cycle runs as shown below.

(1) The axis moves (approaches) with G01 from the center of the hole to the radius direction.

(2) If the dwell time is designated, dwelling is performed.

(3) Helical interpolation is performed in the commanded pitches.

(4) After the hole bottom position has been reached, the axis moves to the center of the hole bottom with G01.

(5) Pull out the tool vertically from the center of the hole bottom with G00.

(1) Modal/Unmodal The thread milling cycle (G187) is unmodal, which must be commanded for each cycle. All the data commanded with the address is also unmodal.

(2) Hole drilling axis The drilling axis is determined by plane selection (G17, G18, or G19). For details, refer to "Relationship between plane selection and drilling axis".

(3) Command format The hole position and the number of repetitions cannot be designated.

(4) Operation Positioning to the initial point or R point is not performed. Drilling is started using the position, at which the thread milling cycle (G187) is commanded, as the center.

Operation example

Differences from another fixed cycle for drilling

X

Z

Y

(4)

(5)

(1) (2)

(3)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

405 IB-1501277-Q

The drilling axis is determined by plane selection (G17, G18, or G19). The axis (X, Y, Z, or its parallel axis) vertical to the plane designated in G17, G18, or G19 is used as the drilling axis. The setting of the parameter "#1080 Dril_Z" is invalid for the thread milling cycle.

Xp, Yp and Zp indicate the base axes X, Y and Z or an axis parallel to the base axis.

The command format, etc. of this function are explained, assuming that G17 (drilling axis = Z axis) is designated for plane selection.

In the following usage example, finishing is carried out up to the thread top by repeating the command that increases the arc radius by degrees. Always designate the same value for the pitch (P).

(S) Start point

Refer to "13.1.16 Precautions for Using a Fixed Cycle" in addition to the following description.

(1) When a manual interruption is performed in automatic operation "pause", the end point of the interrupted block and the end point of the bock in thread milling cycle move parallel by the manual movement amount. (The operation with the manual absolute (ABS) signal set OFF is performed during the thread milling cycle.)

Relationship between plane selection and drilling axis

Plane selection Hole drilling axis

G17 (X-Y) Zp

G18 (Z-X) Yp

G19 (Y-Z) Xp

: N01 G90 G00 X30.; N02 Z45.; N03 G17; N04 G187 Z25. I2. P5. F100 D0; N05 G187 Z25. I3. P5. F100 D0; N06 G187 Z25. I4. P5. F100 D0; N07 G187 Z25. I5. P5. F100 D0; : M30;

Precautions

(S)

(S)

Z

Y

X

X

N04 N05 N06 N07

N02

N01

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

406IB-1501277-Q

13.1.15 Punchtap Cycle

This function performs cutting and tapping by synchronously controlling the spindle and servo axis using the dedi-

cated tool for Punchtap. In general, the machining time can be shortened compared to the tapping cycle.

The fixed cycle subprogram dedicated to the Punchtap cycle must be registered.

There are three patterns of operations in the Punchtap cycle, which are selected by the G code.

Function and purpose

Pattern Features

PT1.0 Fastest process out of three patterns

PT1.5 Process that optimizes the machining load, including the "deburring process"

PT2.0 Process that minimizes the machining load, including the "deburring process" and "screw cleaning process"

Dotted line: Path of the tool nose in conventional tapping

Solid line: Path of the tool nose in Punchtap

(1) Helical grooving

(2) Tapping

(3) Retract (1)

(2)

(3)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

407 IB-1501277-Q

When the drilling axis advances in the negative direction, the spindle rotates forward in the positive Punchtap cycle.

The spindle rotation reverses in the reverse Punchtap cycle.

Command format

Positive Punchtap cycle

G84.5 X__ Y__ Z__ R__ F__ I__ S__ ,S__ P__ ,I__ ,J__ ,D__ L__ ; Performance PT1.0

G84.6 X__ Y__ Z__ R__ F__ I__ S__ ,S__ P__ ,I__ ,J__ ,D__ L__ ; Medium PT1.5

G84.8 X__ Y__ Z__ R__ F__ I__ S__ ,S__ P__ ,I__ ,J__ ,D__ L__ ; Soft PT2.0

Reverse Punchtap cycle

G74.5 X__ Y__ Z__ R__ F__ I__ S__ ,S__ P__ ,I__ ,J__ ,D__ L__ ; Performance PT1.0

G74.6 X__ Y__ Z__ R__ F__ I__ S__ ,S__ P__ ,I__ ,J__ ,D__ L__ ; Medium PT1.5

G74.8 X__ Y__ Z__ R__ F__ I__ S__ ,S__ P__ ,I__ ,J__ ,D__ L__ ; Soft PT2.0

X Hole position data

Y Hole position data

Z Hole bottom position (Z)

R R point position

F Tapping speed (PD)

I Helical grooving speed (Ph)

S Spindle rotation speed command

,S Spindle rotation speed command at retract of Punchtap cycle

P Dwell time required to pull up the tool from the hole bottom or R point

,I Positioning axis in-position width

,J Drilling axis in-position width

,D Untwisting retract amount (BF)

L Number of repetitions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

408IB-1501277-Q

The positioning plane is determined by the G17, G18 and G19 plane selection commands, and the hole drilling axis is the axis perpendicular to the plane.

High-speed tapping is performed by the Punchtap cycle that performs the helical grooving up to the hole bottom with the cutting edge for the helical groove on the tip of the tool and the tapping with the cutting edge, and then pulls up the tool along the helical groove. The cutting edges for tapping are arranged helically on the tool, and by cutting the helical groove according to this pitch, the tool makes cuttings up to the hole bottom.

Operations (2), (3) and (5) make cuttings at the helical grooving speed (Ph) (mm/rev), and operation (4) makes cut- tings at the tapping speed (PD) (mm/rev). Refer to the figure below for the stop position during single block operation. The tool does not stop at the in-position check position (does not stop during cutting).

Explanation of address

Address Command range (unit) Remarks

X -99999.999 to 99999.999 (mm) Designate the hole drilling position on the X axis. The command can be omitted.

Y -99999.999 to 99999.999 (mm) Designate the hole drilling position on the Y axis. The command can be omitted.

Z -99999.999 to 99999.999 (mm) Designate the hole bottom position.

R -99999.999 to 99999.999 (mm) Designate the R point position. The command can be omitted.

F 0.001 to 1000000.000 (mm/min) or 0.001 to 999.999 (mm/rev)

Designate the tapping feedrate for cutting feed. The unit "mm/min" is used for G94 modal and "mm/rev" is used for G95 modal.

I 0.001 to 999999999.999 (mm/min) or 0.001 to 999.999 (mm/rev)

Designate the helical grooving feedrate for cutting feed. The unit "mm/min" is used for G94 modal and "mm/rev" is used for G95 modal.

S -99999999 to 99999999 (r/min) S commands of the "Sn = *****" type are ignored in the Punchtap cycle. (n: spindle number, *****: rotation speed) If an S command is issued during the Punchtap cycle modal,

the program error (P186) occurs. If no S command is included in the same block, the program er-

ror (P181) occurs.

,S 0 to 99999 (r/min) When the value is smaller than the spindle rotation speed (S command), the value of the spindle speed is valid even at the retract. When the spindle rotation speed at retract is not "0", the param-

eter "#1172 tapovr" (tap retract override) is invalid. The command can be omitted.

P 0 to 99999 (s) The command can be omitted. When the command is omitted, dwelling is not performed. Compared to the setting value of the parameter "#1313 Tap-

Dwl" (synchronous tapping hole bottom waiting time), the larg- er value is set as the dwell time.

,I 0.001 to 999.999 (mm) The command can be omitted.

,J 0.001 to 999.999 (mm) The command can be omitted.

,D -99999.999 to 99999.999 (mm) The sign is ignored. The command can be omitted.

L 0 to 9999 The command can be omitted.

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

409 IB-1501277-Q

For tapping, the spindle rotation amount (g) and drilling axis movement amount (Tg) is obtained as shown below. For 180 in the calculation formula, the setting value of the parameter "#11773 ptapag" (rotation angle of tapping) is actually used.

Spindle rotation amount (angle)

Drilling axis movement amount (mm)

Rapid traverse

Cutting feed

In-position check

Stop position at single block operation

(A) Spindle rotation direction and angle (bottom view)

(I) Initial point height

(R) R point height

(Z) Hole bottom height

(Tg) Movement amount at tapping

(BF) Retract amount

Operation Details of operation Spindle rotation amount

Spindle rota- tion direction

(1) Moves the tool to the R point with rapid traverse. - Stop

(2) Performs helical grooving at the helical grooving speed (Ph). If a dwell command is issued, dwelling is performed.

CW

(3) Retracts the tool by the untwisting retract amount (BF) at the helical grooving speed (Ph).

CCW

(4) Performs tapping at the tapping speed (PD). g CCW

(5) Pulls up the tool to the R point at the helical grooving speed (Ph). If a dwell command is issued, dwelling is per- formed.

CCW

(6) Pulls up the tool to the initial point. - Stop

g = 180 (1 + )PD Ph - PD

g 360Tg = PD

(1)

(2)

(A)

(I)

(R)

(Z)

(Tg)

(BF)

CW CCW CCW CCW (3) (4) (5)

(6)

Z Ph360

BF Ph360

Z - BF - Tg Ph360 ( )

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

410IB-1501277-Q

This section describes how each Punchtap cycle operates by each G code.

The "D" of G84.6 (PT1.5) and G84.8 (PT2.0) is "#11772 ptapd" (deburring adjustment amount), which is set when

the finish is substandard.

Details of operation

G84.5 (PT1.0)

G84.5 Xx1 Yy1 Zz1 Rr1 Ff1 Ii1 Ss1 ,Ss2 Pp1 ,Ii1 ,Jj1 ,Dd1 Ll1;

BF: Retract amount (,D)

tg: Tapping movement amount

Operation pattern Program

(1) G00 Xx1 Yy1 ;

(2) G00 Zr1 ;

(3) G01 Zz1 Ii1 ; Helical grooving (Forward rotation, Helical grooving speed)

(4) G04 Pp1 ;

(5) G01 Z-BF Ii1 ; Untwisting retract (Reverse rotation, Helical grooving speed)

(6) G01 Z-tg Ff1 ; Tapping (Reverse rotation, Tapping speed)

(7) G01 Z-(z1-BF-tg) Ii1 ; Retract (Reverse rotation, Helical grooving speed)

(8) G04 Pp1 ;

(9) G98 mode G00 Z-r1 ;

G99 mode No movement

(1)

(2)

(3)

(4) (5)

(6)

(7)

(8)

(9)

x1 , y1

r1

z1

tg

BF

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

411 IB-1501277-Q

G84.6 (PT1.5)

G84.6 Xx1 Yy1 Zz1 Rr1 Ff1 Ii1 Ss1 ,Ss2 Pp1 ,Ii1 ,Jj1 ,Dd1 Ll1;

BF: Retract amount (,D)

tg: Tapping movement amount

D: "#11772 ptapd" (Deburring adjustment amount)

Operation pattern Program

(1) G00 Xx1 Yy1 ;

(2) G00 Zr1 ;

(3) G01 Zz1 Ii1 ; Helical grooving (Forward rotation, Helical grooving speed)

(4) G04 Pp1 ;

(5) G01 Z-BF Ii1 ; Untwisting retract (Reverse rotation, Helical grooving speed)

(6) G01 Z-tg Ff1 ; Tapping (Reverse rotation, Tapping speed)

(7) G01 Z(BF+tg-D) Ii1 ; Deburring (Reverse rotation, Helical grooving speed)

(8) G01 Z-(z1-D) Ii1 ; Retract (Reverse rotation, Helical grooving speed)

(9) G04 Pp1 ;

(10) G98 mode G00 Z-r1 ;

G99 mode No movement

(1)

(2)

(3)

(4) (5)

(6)

(7)

(8)

(9)

(10)

x1 , y1

r1

z1

tg

BF D

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

412IB-1501277-Q

G84.8 (PT2.0)

G84.8 Xx1 Yy1 Zz1 Rr1 Ff1 Ii1 Ss1 ,Ss2 Pp1 ,Ii1 ,Jj1 ,Dd1 Ll1;

BF: Retract amount (,D)

tg: Tapping movement amount

D: "#11772 ptapd" (Deburring adjustment amount)

Operation pattern Program

(1) G00 Xx1 Yy1 ;

(2) G00 Zr1 ;

(3) G01 Zz1 Ii1 ; Helical grooving (Forward rotation, Helical grooving speed)

(4) G04 Pp1 ;

(5) G01 Z-BF Ii1 ; Untwisting retract (Reverse rotation, Helical grooving speed)

(6) G01 Z-tg Ff1 ; Tapping (Reverse rotation, Tapping speed)

(7) G01 Z(BF+tg-D) Ii1 ; Deburring (Reverse rotation, Helical grooving speed)

(8) G01 Z-(BF+tg-D) Ii1 ; Deburring retract (Reverse rotation, Helical grooving speed)

(9) G01 Z-tg Ff1 ; Screw cleaning (Forward rotation, Tapping speed)

(10) G01 Z-(z1-BF) Ii1 ; Retract (Reverse rotation, Helical grooving speed)

(11) G04 Pp1 ;

(12) G98 mode G00 Z-r1 ;

G99 mode No movement

(1)

(2)

(3)

(4) (5)

(6)

(7) (8)

(9)

(10)

(11)

(12)

x1 , y1

r1

z1

tg

BF D

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

413 IB-1501277-Q

The in-position check in each process other than the R point retract of the Punchtap cycle can be finely adjusted by

the parameter setting. The parameter setting depends on the MTB specifications.

In the Punchtap cycle, it is possible to set whether or not to perform the in-position check at each of points (1) to (6)

in the figure below.

Each of points (1) to (6) corresponds to each bit of the parameter "# 1702 cfg02", which can be set to "valid" or "in-

valid" individually.

Dwelling is also performed at the P point.

No switching parameter is provided to pull up the tool to the R point, and the in-position check is always performed.

When the "Error detection" signal is ON, the in-position check is performed with the parameter "#11771 PTapInp"

regardless of the setting value of the parameter "#1702 cfg02".

[Setting example of parameter to perform in-position check at points (1), (3), (4), and (6) above]

Set bit0, bit2, bit3, and bit5 of the parameter #1702 to "1".

In-position check

Parameter Setting value Deceleration check operation

#1702 cfg02/bit0 to bit5 0 Command deceleration

1 In-position check with "#11771 PTapInp"

For G84.5 (PT1.0) For G84.6 (PT1.5)

For G84.8 (PT2.0)

(I) Initial point

(R) R point (r)

(A) Hole bottom

#1702 bit5 bit4 bit3 bit2 bit1 bit0

G84.5 (PT1.0) - - - (3) (2) (1)

G84.6 (PT1.5) - - (4) (3) (2) (1)

G84.8 (PT2.0) (6) (5) (4) (3) (2) (1)

(1)

(2)

(3)

P

P (1)

(2)

(3)

P

P

(4)

(1)

(2)

(3)

P

(I)

(R)

(A)P (4)

(5)

(6)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

414IB-1501277-Q

The following parameters are used to judge the in-position check at each point.

(*1) The setting value of the parameters "#2077 G0inps" and "#2078 G1inps", is compared with parameter "#2224

SV024 INP", and the larger value is used to perform in-position check.

(*2) When the parameter "#11771 PTapInp" is set to "0", in-position check is performed with the value of the param-

eter "#2224 SV024 INP".

For G84.8 (PT2.0)

(I) Initial point

(R) R point (r)

(A) Hole bottom

Parameters used for in-position check

(1) "#2077 G0inps" or "#2224 SV024 INP" (*1)

(2) "#2077 G0inps" or "#2224 SV024 INP" (*1)

(3)

"#11771 PTapInp" for each (*2)

(4)

(5)

(6)

(7)

(8)

(9) "#2078 G1inps" or "#2224 SV024 INP" (*1)

(1)

(2)

(3) (4)

(5)

(6)

(7)

(8)

(9)

(I)

(R)

(A)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

415 IB-1501277-Q

The spindle zero point return operation in Punchtap is the same as the synchronous tapping.

In addition, the parameter in the zero point return operation can be changed with the G10L70 command.

The tapping speed and helical grooving speed specified with the Punchtap cycle command can be switched to the

feed per minute using the parameter.

The combination of the parameter "#1268 ext04/bit2" (Enable synchronous tapping per minute) and G code deter-

mines the meaning of the F command (tapping speed) and I command (helical grooving speed).

To update the F modal, set the parameter "#1292 ext28/bit1" (Address F given in sync tap cycle) to "1", not the pa-

rameter "#1268 ext04/bit2" (Enable synchronous tapping per minute).

Feed per minute

Feed per revolution

The I command is retained in each of G94 and G95, and it is retained even after the fixed cycle is canceled with G80.

If the I command is omitted, Punchtap is performed using the previous I command as the helical grooving speed.

If the I command is omitted without issuing the I command even once, a program error (P184) will occur.

Spindle zero point return operation in Punchtap

Feedrate

#1268/bit2 During G94 modal (feed per minute) During G95 modal (feed per revolution)

1 Feed per minute Feed per revolution

0 Feed per revolution Feed per revolution

Ff1, Ii1 : Feedrate (mm/min, inch/min)

(Pitch calculation formula) Pitch = F command value / S command value

Ff1, Ii1 : Feedrate (mm/rev, inch/rev)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

416IB-1501277-Q

Program example

G90 G98 ;

G00 X30. Y0. Z30. ;

G95 ;

G84.5 X30. Z5. R20. F1. S500 I31.5. ;

G80 ;

G94 ;

(I) Initial point

(R) R point

(Sp) Spindle

Rapid traverse

Cutting feed

30(I)

(Sp)

(R)

Z

20

5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

417 IB-1501277-Q

(1) High-speed synchronous tapping

Even in the Punchtap cycle, the high-speed synchronous tapping that corrects the tracking delay in the commu- nication between drive units is valid. The reduction rate in Punchtap depends on the MTB specifications (parameter "#3136 ptaptr"). Other parameters are also used as the synchronous tapping. The restrictions and enabling conditions related to the high-speed synchronous tapping are the same as for the synchronous tapping.

(2) Tapping retract

The "Tap retract" signal (YC5C) is invalid in the Punchtap cycle. The "Tap retract possible" signal is not output even if the Punchtap cycle is interrupted.

Tapping retract is not available when the Punchtap cycle is used. When the Punchtap cycle machining is interrupted due to power OFF, etc., pull out the tool by one of the follow- ing methods.

Rotate the spindle in the same direction as when the Punchtap cycle is commanded, crush the screw thread, and pull out the tool. While rotating the spindle in the opposite direction to when the Punchtap cycle is commanded, manually

operate the Z axis to pull out the tool.

(3) Reference position retract

The "Reference position retract" (YC2D) signal is invalid in cutting feed of the Punchtap cycle, and the reference position return is also not performed without a reset stop. This signal is valid in rapid traverse, and the reference position return is performed after a reset stop.

(4) Coordinate system operation, inclined surface machining command

Do not command the Punchtap cycle while the hole drilling axis (Z axis) is rotated by coordinate rotation by pro- gram or 3-dimensional coordinate conversion. Also, do not command the Punchtap cycle during the inclined surface machining command. If any of these commands are issued, tapping may not be available.

(5) Chopping

The Punchtap cycle can even be executed during chopping, however, if the chopping axis is included in the po- sitioning axis or drilling axis, the operation error (M01 0151) occurs, and the machine stops in the interlock state.

(6) Stroke limit

The stroke limit is valid for both the positioning axis and drilling axis. When the drilling axis is stopped at the stroke limit, the spindle also stops synchronously.

(7) Coil switch

In the Punchtap cycle, the spindle motor operates with L coil regardless of the spindle rotation speed. However, when the parameter "#1239 set11/bit0" (Coil switching method) is set to "1" and the parameter "#1223 aux07/bit7" (Synchronous tap method) is set to "0", the type of coil is switched to H coil according to the change of the spindle rotation speed. Since the torque may get insufficient in such a case, command the spindle rotation speed of the L coil so that the coil is not switched. (The settings of these parameters depend on the MTB spec- ifications.) When the coil switch is performed during the Punchtap cycle, the coil is switched after the cycle ends.

(8) Graphic check

The helical grooving speed is not reflected on the cutting speed.

(9) Synchronous tapping with analog I/F spindle

The Punchtap cycle is not available for the analog spindle. The program error (P182) occurs if commanded.

(10) Manual arbitrary reverse run

The manual arbitrary reverse run is only valid in the actual cutting mode. If the Punchtap cycle is commanded while the dry run operation mode is enabled, the program error (P182) occurs. Also, the Punchtap cycle is han- dled as a reverse run prohibited block.

(11) Finish shape view programming

The Punchtap cycle is not reflected. The G code of the Punchtap cycle is ignored, and the subsequent codes are reflected on the finishing shape.

Relationship with other functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

418IB-1501277-Q

(12) Synchronous control

When the reference axis of synchronous control is a tapping axis, in-position check in the Punchtap cycle is dis- abled.

(1) The multi-step acceleration/deceleration is invalid in the Punchtap cycle.

(2) Dry run is valid only for rapid traverse sections.

(3) If the "External deceleration" signal is turned ON during Punchtap, the feedrate does not change even when de- celeration conditions are satisfied.

(4) The cutting feed override is disabled during the Punchtap cycle, and the feedrate is 100%. Rapid traverse over- ride is valid.

(5) The spindle override is invalid during the Punchtap cycle.

(6) The automatic machine lock is valid. If the Punchtap cycle is executed while the drilling axis is machine-locked, the spindle does not rotate either.

(7) The parameters ("#3106", "#3110", and "#3111") of the tap starting angle are also used with the synchronous tapping.

(8) The G94 command is a modal command and valid until the G95 command is issued next.

(9) For the "F" command and "I" command, the feed per minute and the feed per revolution are switched in the same conditions.

(10) When the automatic operation is started in the miscellaneous function lock ("MST lock" is ON), the spindle is not synchronized even after block stop or feed hold stop processing has been ended.

(11) The "NC output" signal under tapping is output during the Punchtap cycle.

(12) The Punchtap cycle is always set in the synchronous mode. The ",R0" command is ignored. The setting of the parameter "#1229 set01/bit4" (synchronous tapping) is also irrelevant.

(13) The "Spindle OFF mode" signal is valid. If an attempt is made to execute the Punchtap cycle in the Spindle OFF mode, the Punchtap cycle is executed without rotating the spindle. This is used for program check. Dry run is enabled in the Spindle OFF mode.

(14) When the feed hold button is pressed during cutting feed of the punch tapping cycle, the machining does not stop immediately but stops when the block to pull-up tool on the helical groove is completed. When the feed hold button is pressed during rapid traverse, the machining stops immediately.

(15) The "Synchronous tapping command polarity reversal" signal is valid.

(16) The tapping error displayed by selecting [Drv mon] - [Spindle unit] is not displayed correctly during the Punchtap cycle. To check the tapping error, sample the commanded position and FB position of the tapping axis, and the com- mand position and FB position of the spindle, and then calculate the error using the following formula. Switch the pitch depending on the FB position of the tapping axis and the spindle.

Precautions

Tapping error [deg] = |Spindle command position Spindle FB position|

Tapping axis command position Tapping axis FB position

Pitch of each process 360

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

419 IB-1501277-Q

13.1.16 Precautions for Using a Fixed Cycle

(1) Before the fixed cycle is commanded, the spindle must be rotating in a specific direction with a miscellaneous function command (M3; or M4;). Note that for the G87 (back boring) command, the spindle rotation command is included in the fixed cycle so only the rotation speed command needs to be commanded beforehand.

(2) If there is data for the basic axis, additional axis or R in the block during the fixed cycle mode, the hole drilling operation will be executed. If there is no data, the hole drilling operation will not be executed. Note that even when the X axis data exists, the hole will not be drilled if the data is a dwell (G04) time command.

(3) Command the hole machining data (Q, P, I, J, K) in a block where hole drilling is executed (Block containing a basic axis, additional axis or R data).

(4) The fixed cycle can be canceled by the G00 to G03 or G33 command besides the G80 command. If these are designated in the same block as the fixed cycle, the following will occur.

Note that for the G02 and G03 commands, R will be handled as the arc radius.

(5) If M00 or M01 is commanded in a same block with a fixed cycle or during a fixed cycle mode, the fixed cycle will be ignored. Instead, M00 and M01 will be output after positioning. The fixed cycle is executed if X, Y, Z or R is commanded.

(6) If an M function is commanded in the same block as the fixed cycle command, the M code and MF will be output during the initial positioning. The axis will move to the next operation with FIN (finish signal). If there is a designation of No. of times, the above control will be executed only for the first drilling.

(7) If another control axis (ex. rotary axis, additional axis) is commanded in the same block as the fixed cycle control axis, the fixed cycle will be executed after the other control axes start to move.

(8) If the No. of repetitions L is not designated, L1 will be set. If L0 is designated in the same block as the fixed cycle G code command, the hole machining data will be memorized, but the hole machining will not be executed.

(Example) G73 X_Y_Z_R_Q_P_F_L0_;

Memorize only the codes with an execution address

(9) When the fixed cycle is executed, only the modal command issued in the fixed cycle program will be valid in the fixed cycle subprogram. The modal of the program which called the fixed cycle will not be affected.

(10) Other subprograms cannot be called from the fixed cycle subprogram.

(11) Decimal points in the movement command of the fixed cycle subprogram will be ignored.

(12) If the No. of repetitions L is 2 or more during the incremental mode, the positioning will also be incremented each time.

(Example) G91 G81 X10. Z-50. R-20. F100. L3;

Precautions

m = 00 to 03, 33 n = Fixed cycles

Gm Gn X_Y_Z_R_Q_P_L_F_;

Gm : Execution Gn : Ignore

X_Y_Z : Execution R_Q_P_L : Ignore F : Record

X Y 10. 10. 10.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

420IB-1501277-Q

(13) If the spindle rotation speed value during return is smaller than the spindle speed value, the spindle rotation speed value is valid even during return.

(14) If gradients of the 2nd and 3rd acceleration/deceleration stages according to the spindle rotation speed and time constants set in the parameters are each steeper than the previous stage's gradients, the previous stage's gradient will be valid.

(15) If the values set in the spindle specification parameter "tap rotation speed" and "the synchronous tap change- over spindle rotation speed 2" exceed the maximum rotation speed, the spindle rotation speed will be clamped at the maximum rotation speed.

(16) If the spindle rotation speed is not 0 during return, the taping retract override value will be invalid.

(17) As shown below, in a block where the movement direction of either axis reverses, the servo system load will greatly increase, so do not command the in-position width in the machining program.

G01 X100. ,I10.0;

X-200.;

(18) If the in-position width commanded by the programmable in-position width command is increased, the position- ing time and linear interpolation time can be reduced. However, the position error amount of the previous block will also increase before the next block starts, and the actual machining could be obstructed.

(19) The in-position width and the position error amount are constantly compared, so the position error amount at the point to be judged as in-position will be smaller than the commanded in-position width.

(20) If the in-position width commanded with the programmable in-position command is small, the commanded de- celeration check or in-position check by the parameters may be carried out first.

(21) Synchronous or asynchronous tapping can be selected with the M function.

Base specification parameters

Synchronous tapping cannot be selected with the M function when this parameter is OFF.

Base specification parameters

The synchronous tapping mode is selected with the miscellaneous function code set with this parameter.

The M function can be commanded just before or in the same block as the tapping command.

To use this parameter, validate "#1272 ext08/bit1" (M function synchronous tapping cycle).

The selection of synchronous or asynchronous tappinf will follow the combination shown below.

Do not use M00, 01, 02, 30, 98 and 99.

(22) Even when the parameter "#1151 rstinit" is OFF, the fixed cycle will be canceled if NC reset 1 is carried out while executing the fixed cycle.

(23) If a tapping axis is under machine lock, normal synchronous tapping is applied even though high-speed syn- chronous tapping function is enabled.

# Item Details Setting range

1272 (PR)

ext08 bit1 M-function synchronous tapping cycle valid.

0: Invalid 1: Valid

# Item Details Setting range

1513 stapM M code for synchronous tapping selection 0 to 99999999

Combination

Program command (,R0/1) 0 0 0 0 1 1 1 1 No command

#8159 Synchronous tap 0 0 1 1 0 0 1 1 0 0 1 1

M function code (M**)

Synchronous/asynchronous selection

A A A A B B B B A B B B

Not commanded A Asynchronous tapping

Commanded B Synchronous tapping

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

421 IB-1501277-Q

13.1.17 Initial Point and R Point Level Return; G98, G99

Whether to use R point or initial level as the return level in the final sequence of the fixed cycle can be selected.

The relation of the G98/G99 mode and the number of repetition designation is as shown below.

Function and purpose

Command format

G98; ... Initial level return

G99; ... R point level return

Detailed description

No. of hole drilling times

Program example G98 G99

(At power ON, at cancel with M02, M30, and reset button)

Only one exe- cution

G81 X100. Y100. Z-50. R25. F1000 ;

Initial level return is executed. R point level return is executed.

Two or more executions

G81 X100. Y100. Z-50. R25. L5 F1000 ;

Initial level return is executed for all times.

(a) First time (b) Second time (c) Last time

(I)

(R)

(I)

(R)

(a) (b) (c) (a) (b) (c)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

422IB-1501277-Q

13.1.18 Setting of Workpiece Coordinates in Fixed Cycle Mode

The designated axis moves in the workpiece coordinate system set for the axis.

The Z axis becomes valid from the R point positioning after positioning is completed or from Z axis movement.

(1) When the workpiece coordinates change, re-program the addresses Z and R, even if the values are the same.

Function and purpose

G54 Xx1 Yy1 Zz1;

G81 Xx1 Yy2 Zz2 Rr2;

G55 Xx3 Yy3 Zz2 Rr2 Re-command even if Z and R are the same as the previous value.

Xx4 Yy4 ;

Xx5 Yy5 ;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

423 IB-1501277-Q

13.1.19 Drilling Cycle High-Speed Retract

This function retracts the drill from the hole bottom at high speed in drilling machining. This helps extending the drill

life by reducing the time of drilling in vain at hole bottom.

The drill moves up at high-speed ((1) in the figure) and returns to the initial point or R point in rapid traverse ((2) in

the figure).

The command format is the same as fixed cycle.

Function and purpose

Command format

(1) (2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

424IB-1501277-Q

(1) This function is available only when "#8123 H-spd retract ON" is enabled in the following fixed cycles.

G81 (Drill spot drilling cycle) G83 (Deep whole drilling cycle) G73 (Step cycle)

(2) When "#8123 H-spd retract ON" is ON, the tool is retracted from the hole bottom at high speed using the lost motion compensation function.

(a) Set the lost motion compensation type 2 or 3 to the servo parameter. Then set the following parameters to adjust the retract amount. These parameters depend on the MTB specifications.

#2170 Lmc1QR (Lost motion compensation gain 1 for high-speed retract) (corresponds to "#2216 SV016 (LMC1)" (Lost motion compensation 1))

#2171 Lmc2QR (Lost motion compensation gain 2 for high-speed retract) (corresponds to "#2241 SV041 (LMC2)" (Lost motion compensation 2))

(b) When the lost motion compensation timing, lost motion compensation 3 spring constant, or lost motion com- pensation 3 viscous coefficient is set in addition to the ordinary lost motion compensations, its setting value depends on the MTB specifications (parameter shown below).

#2172 LmcdQR (Lost motion compensation timing for high-speed retract) (correspond to "#2239 SV039 (LMCD)" (Lost motion compensation timing))

#2173 LmckQR (Lost motion compensation 3 spring constant for high-speed retract) (correspond to "#2285 SV085 (LMCk)" (Lost motion compensation 3 spring constant))

#2174 LmccQR (Lost motion compensation 3 viscous coefficient for high-speed retract) (correspond to "#2286 SV086 (LMCc)" (Lost motion compensation 3 viscous coefficient))

(c) If the hole drilling axis is synchronously controlled, set the same value in both parameters for master axis and slave axis.

(3) While G80 (Fixed cycle cancel) command is issued, this function will be canceled by issuing any other fixed cycle of the same group (Group 9) or any Group 1 command.

(4) This function is invalid during the following command modal: In this case, the drill moves in the ordinary rapid traverse even if "#8123" is enabled.

G43.1 (Tool length compensation in the tool axis direction) G43.4, G43.5 (Tool center point control) G68 (3-dimensional coordinate conversion)

(5) While the multiple-axis synchronization control is being executed, if the drilling cycle high-speed retract in which the master axis is set as the drilling axis is commanded, the slave axis moves at the same speed as the master axis.

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

425 IB-1501277-Q

During single block operation, the axis stops after (1), (2) and (5) only.

During single block operation, the axis stops after (1), (2) and (10) only.

Details of operation

Operation at G81 command

(1) Moves from start point to initial point

(2) Moves from initial point to R point

(3) Cutting feed

(4) Retracted at high-speed

(5) Returns to R point or initial point

(I) Initial point (S) Start point

(R) R point

Operation at G83 command

(1) Moves from start point to initial point

(2) Moves from initial point to R point

(3) Cutting feed

(4) Retracted at high-speed

(5) Returns to R point

(6) Moves to the position where the "G83 Return amount" is added to the previous cutting feed position.

(7) Cutting feed

(8) Repeats (4) to (7)

(9) Retracted at high-speed

(10) Returns to R point or initial point

(I) Initial point (S) Start point

(R) R point (m) G83 Return amount

(1) (2)

(3) (4)

(5)

G98

G99

(S)

(R)

(I)

(10)

(1) (2)

(3)

(4)

(7)

(5) (6)

(9)

(8)

(I)

(R)

(S)

(m)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

426IB-1501277-Q

During single block operation, the axis stops after (1), (2) and (8) only.

If a dwell command is issued, the high-speed retract will be executed after the command.

Operation at G73 command

(1) Moves from start point to initial point

(2) Moves from initial point to R point

(3) Cutting feed

(4) Retracted at high-speed

(5) Moves to the position set with "G73 return amount"

(6) Repeats (3) to (5)

(7) Retracted at high-speed

(8) Returns to R point or initial point

(I) Initial point (S) Start point

(R) R point (n) G73 Return amount

(8)

(7)

(6)

(5) (4)

(3)

(1)

(2)

G98

G99

(I)

(R)

(S)

(n)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

427 IB-1501277-Q

13.1.20 Acceleration/Deceleration Mode Change in The Fixed Cycle for Drilling

This function switches the acceleration/deceleration mode for fixed cycle for drilling between the constant-gradient

method and the acceleration/deceleration after interpolation.

The command formats are the same as those of the fixed cycles G83, G87, and G83.2.

With parameter "#1253 set25/bit2" (Acceleration/deceleration mode change in the fixed cycle for drilling) enabled,

operation will be as follows.

(1) Acceleration/deceleration mode will be either linear or soft method. (Unless soft acceleration/deceleration is ap- plied, the linear method will always be applied.)

(2) Operation is performed based on the parameter setting that enables the constant-gradient acceleration/deceler- ation after interpolation. Acceleration/deceleration gradient for G00 (rapid traverse) is determined with "#2001 rapid" (rapid traverse rate) and "#2004 G0tL" (G0 time constant (linear)), and acceleration/deceleration gradient for G01 (cutting feed) is determined with "#2002 clamp" (cutting feedrate for clamp) and "#2007 G1tL" (G1 time constant (linear)). Refer to "7.9 Rapid Traverse Constant-gradient Multi-step Acceleration/Deceleration" or "7.10 Cutting Feed Constant-gradient Acceleration/Deceleration" for details on the constant-gradient acceleration/deceleration.

Function and purpose

Command format

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

428IB-1501277-Q

The below illustrates the processes of hole-bottom deceleration check of a drilling axis following the parameter

"#19417 Hole dec check 2" settings.

Operation example

Operation example of "acceleration/deceleration mode change in hole drilling cycle" being enabled

(a) Cut point (b) Hole bottom

#19417 G81 G82 G83 G73

0 (a) Cut point Deceleration Check Perform no deceleration check.

(b) Hole bottom Perform no deceleration check.

1 (a) Cut point Perform no command deceleration check.

Command deceleration check

(b) Hole bottom Command deceleration check

2 (a) Cut point Command deceleration check Perform in-position check (sv024).

(b) Hole bottom Perform in-position check (sv024).

(1)

(2)

(3)

(a)

(a)

(4) (7)

(9)(6) (5)

(8)

(b)

(11)

(10)

(12)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

429 IB-1501277-Q

13.2 Special Fixed Cycle

The special fixed cycle is used with the standard fixed cycle.

Before using the special fixed cycle, record the hole machining data except for the positioning data (except for X, Y

plane) by the standard fixed cycle.

The tool is positioned to the hole drilling position when the special fixed cycle is executed. The drilling operation is

executed with the fixed cycle for drilling.

Even after the special fixed cycle is executed, the recorded standard fixed cycle will be kept until canceled.

If the special fixed cycle is designated when not in the fixed cycle mode, only positioning will be executed, and the

hole drilling operation will not be carried out.

If the special fixed cycle is commanded without commanding the fixed cycle for drilling, positioning will be executed

following the current 01 group modal G code.

Function and purpose

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

430IB-1501277-Q

13.2.1 Bolt Hole Cycle; G34

This function is used to drill "n" holes, dividing the circumference by "n", on the circumference with radius R centering

the coordinates designated with X and Y. The drilling starts at the point which makes the angle with X axis. The

hole drilling operation at each hole will follow the standard fixed cycle.

The movement between hole positions will all be done in the G00 mode. G34 will not hold the data after the com-

mand is completed.

As shown in the example, the tool position after the G34 command is completed is above the final hole. When mov-

ing to the next position, the coordinate value must be calculated to issue the command with an incremental position.

Thus, use of the absolute mode is handy.

(1) If an address other than the selected plane's vertical axis, horizontal axis, G, N, I, J, K, H, O, P, F, M, S or 2nd miscellaneous function is issued in the same block as the G34 command, a program error (P32) will occur.

Function and purpose

Command format

G34 Xx1 Yy1 Ir J Kn ;

Xx1,Yy1 Positioning of bolt hole cycle center. This will be affected by G90/G91.

Ir Radius r of the circle. The unit follows the input setting unit, and is given with a positive No.

J Angle of the point to be drilled first. The CCW direction is positive. (The decimal point position will be the degree class. If there is no decimal point, the unit will be 0.001.)

Kn No. of holes to be drilled: n 1 to 9999 can be designated, but 0 cannot be designated. When the value is positive, positioning will take place in the CCW direction, and when negative, will take place in the CW direction. If "0" is designated, a program error (P221) occurs.

Program example

N001 G91;

N002 G81 Z-10.000 R5.000 L0 F200 ;

N003 G90 G34 X200.000 Y100.000 I100.000 J20.000 K6;

N004 G80 ; --------------- (G81 cancel)

N005 G90 G00 X500.000 Y100.000. ;

(a) Position before G34 execution

(500mm, 100mm)

20

x1=200mm n=6

I=100mmy1=100mm

(a) N005 G00

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

431 IB-1501277-Q

13.2.2 Line at Angle; G35

Using the position designated by X and Y as the start point, the n holes will be drilled with interval d in the direction

which makes an angle with X axis. The hole drilling operation at each hole will follow the standard fixed cycle.

The movement between hole positions will all be done in the G00 mode. G35 will not hold the data after the com-

mand is completed.

(1) If the K command is K0 or if there is no K command, the program error (P221) will occur.

(2) If the K value is more than four digits, the last four digits will be valid.

(3) If an address other than the selected plane's vertical axis, horizontal axis, G, N, I, J, K, H, O, P, F, M, S or 2nd miscellaneous function is issued in the same block as the G35 command, a program error (P32) will occur.

(4) If G command of group 0 is issued in the same block as the G35 command, the command issued later has the priority.

(5) If there is G72 to G89 commands in the same block as the G35 command, the fixed cycle will be ignored, and the G35 command will be executed.

Function and purpose

Command format

G35 Xx1 Yy1 Id J Kn ;

Xx1,Yy1 Designation of start point coordinates. This will be affected by G90/G91.

Id Interval d. The unit follows the input setting unit. If d is negative, the drilling will take place in the direction symmetrical to the center of the start point.

J Angle . The CCW direction is positive. (The decimal point position will be the degree class. If there is no decimal point, the unit will be 0.001.)

Kn Number of holes: n 1 to 9999 can be designated, and the start point is included.

Program example

G91 ;

G81 Z-10.000 R5.000 L0 F100 ;

G35 X200.000 Y100.000

I100.000 J30.000 K5 ;

(a) Position before G35 execution

(Example) G35 G28 Xx1 Yy1 Ii1 Jj1 Kk1 ; G35 is ignored G 28 is executed as Xx1 Yy1

y1=100mm

=30

n=5

d=100mm

x1=200mm (a)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

432IB-1501277-Q

13.2.3 Arc; G36

The "n" holes aligned with the angle interval will be drilled starting at the point which makes the angle with the

X axis on the circumference with a radius R centering the coordinates designated with X and Y. The hole drilling

operation at each hole will follow the standard fixed cycle.

The movement between hole positions will all be done in the G00 mode. G36 will not hold the data after the com-

mand is completed.

(1) If an address other than the selected plane's vertical axis, horizontal axis, G, N, I, J, K, H, O, P, F, M, S or 2nd miscellaneous function is issued in the same block as the G36 command, a program error (P32) will occur.

Function and purpose

Command format

G36 Xx1 Yy1 Ir J P Kn ;

Xx1,Yy1 Center coordinates of arc. This will be affected by G90/G91.

Ir Radius r of arc. The unit follows the input setting unit, and is given with a positive No.

J Angle of the point to be drilled first. The CCW direction is positive. (The decimal point position will be the degree class. If there is no decimal point, the unit will be 0.001.)

P Angle interval . When the value is positive, the drilling will take place in the CCW direction, and in the CW direction when negative. (The decimal point position will be the degree class. If there is no decimal point, the unit will be 0.001.)

Kn No. of holes n to be drilled. The setting range is 1 to 9999.

Program example

N001 G91 ;

N002 G81 Z-10.000 R5.000 F100 ;

N003 G36 X300.000 Y100.000 I300.000 J10.000 P15000 K6 ;

(a) Position before G36 execution

n=6

x1=300mm

=10

= 15

y1=100mm

(a)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

433 IB-1501277-Q

13.2.4 Grid; G37.1

The nx points on a grid are drilled with an interval x parallel to the X axis, starting at the position designated with

X, Y. The hole drilling operation at each hole will follow the standard fixed cycle.

The movement between hole positions will all be done in the G00 mode. G37.1 will not hold the data after the com-

mand is completed.

Function and purpose

Command format

G37.1 Xx1 Yy1 Ix Pnx Jy Kny ;

Xx1,Yy1 Designate the coordinates at the start point. This will be affected by G90/G91.

I x Interval x of the X axis. The unit will follow the input setting unit. If x is positive, the interval will be in the forward direction looking from the start point, and when negative, will be in the reverse direction looking from the start point.

Pnx No. of holes nx in the X axis direction. The setting range is 1 to 9999.

J y Interval y of the Y axis. The unit will follow the input setting unit. If y is positive, the interval will be in the forward direction looking from the start point, and when negative, will be in the reverse direction looking from the start point.

Kny No. of holes ny in the Y axis direction. The setting range is 1 to 9999.

Program example

G91 ;

G81 Z-10.000 R5.000 F20 ;

G37.1 X300.000 Y-100.000 I50.000 P10

J100.000 K8 ;

(a) Position before G37.1 is executed

ny=8

nx=10x1=300mm

y= 100mmy1=100mm

x=50mm

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

434IB-1501277-Q

(1) If the P and K commands are P0 or K0, or if there is no P or K command, the program error (P221) will occur. If the P or K value is more than four digits, the last four digits will be valid.

(2) If an address other than the selected plane's vertical axis, horizontal axis, G, N, I, J, K, H, O, P, F, M, S or 2nd miscellaneous function is issued in the same block as the G37.1 command, a program error (P32) will occur.

(3) If G command of group 0 is issued in the same block as the G37.1 command, the command issued later has the priority.

(4) If there is G72 to G89 command in the same block as the G37.1 command, the fixed cycle will be ignored, and the G37.1 command will be executed.

(5) If the G22/G23 command is programmed in the same block as the G37.1 command, the G22/G23 command will be ignored, and the G37.1 command will be executed.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

435 IB-1501277-Q

13.3 Fixed Cycle for Turning Machining

When performing rough cutting and other cuttings by turning machining, fixed cycles are effective in simplifying ma-

chining programs. The whole commands can be performed in a single block, which normally requires several blocks.

The types of fixed cycles for turning machining are listed below.

(1) Fixed cycle commands are modal G codes. They are valid until another command in the same modal group or a cancel command is issued.

(2) The fixed cycle call becomes the movement command block call. By the movement command block call, the fixed cycle macro subprogram is called only when there is an axis movement command during the fixed cycle mode. It is executed until the fixed cycle is canceled.

(3) A manual interruption can be applied while a fixed cycle for turning machining is being executed. Upon comple- tion of the interrupt, however, the tool must be returned to the position where the manual interruption was applied and then the fixed cycle for turning machining should be resumed. If it is resumed without returning the tool, all subsequent operations will deviate from the original path by the man- ual interruption amount.

Function and purpose

G code Function

G174 Longitudinal cutting cycle

G175 Thread cutting cycle

G176 Face cutting cycle

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

436IB-1501277-Q

13.3.1 Longitudinal Cutting Cycle; G174

The longitudinal cutting cycle performs continuous straight and taper cutting in the longitudinal direction.

(*1) If the commanded axis and selected plane are different when the fixed cycle for turning machining is command-

ed, or if the movement amount is not specified in either or both of the selected plane axis commands, a program

error (P114) will occur. Whether this is judged to be a program error depends on the MTB specifications (pa-

rameter "#1241 set13/bit4" ("fixed cycle for turning machining" selected-plane axis check disabled)).

Function and purpose

Command format

Straight cutting

G174 X__ Z__ F__ ;

X X axis end point coordinate (*1)

Z Z axis end point coordinate (*1)

F Feedrate

Taper cutting

G174 X__ Z__ R__ F__ ;

X X axis end point coordinate (*1)

Z Z axis end point coordinate (*1)

R Taper depth (radius designation, incremental position, sign required)

F Feedrate

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

437 IB-1501277-Q

Detailed description

Straight cutting

(R) Rapid traverse (F) Cutting feed (E) End point coordinates

Taper cutting

(R) Rapid traverse (F) Cutting feed (E) End point coordinates

Z

X

1(R)

4(R)

2(F)

3(F)(E) (x,z)

Z

X

1(R)

2(F) 4(R)

3(F)(E) (x,z)

r

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

438IB-1501277-Q

With a single block, the tool stops at the end points of operations 1, 2, 3 and 4 shown above.

Depending on the signs of x, z and r, the following shapes are created.

Program error (P191) will occur in (b) and (c) unless the following condition is satisfied.

|x| |r|

Detailed description

(a) z < 0, x < 0, r < 0 (b) z < 0, x < 0, r > 0

(c) z > 0, x < 0, r < 0 (d) z > 0, x <0 , r > 0

Z

X

z

r x

1(R)

3(F)

4(R)2(F)

Z

X

r

x

z

1(R)

3(F)

2(F) 4(R)

Z

X

r x

z

1(R)

3(F)

4(R)2(F)

x

r

4(R)

Z

X

z

1(R)

3(F)

2(F)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

439 IB-1501277-Q

13.3.2 Thread Cutting Cycle; G175

Thread cutting cycle is a fixed cycle which performs straight and taper thread cutting.

(*1) If the commanded axis and selected plane are different when the fixed cycle for turning machining is command-

ed, or if the movement amount is not specified in either or both of the selected plane axis commands, a program

error (P114) will occur. Whether this is judged to be a program error depends on the MTB specifications (pa-

rameter "#1241 set13/bit4" ("fixed cycle for turning machining" selected-plane axis check disabled)).

Function and purpose

Command format

Straight thread cutting

G175 X__ Z__ F/E__ Q__;

X X axis end point coordinate (*1)

Z Z axis end point coordinate (*1)

F/E Lead of long axis (axis which moves most) direction

Q Thread cutting start shift angle

Taper thread cutting

G175 X__ Z__ R__ F/E__ Q__;

X X axis end point coordinate (*1)

Z Z axis end point coordinate (*1)

R Taper depth (radius designation, incremental position, sign required)

F/E Lead of long axis (axis which moves most) direction

Q Thread cutting start shift angle

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

440IB-1501277-Q

With a single block, the tool stops at the end points of operations 1, 3 and 4.

With a single block, the tool stops at the end points of operations 1, 3 and 4.

Detailed description

Straight thread cutting

(R) Rapid traverse (F) Thread cutting cycle (E) End point coordinates

Taper thread cutting

(R) Rapid traverse (F) Thread cutting cycle (E) End point coordinates

Z

X

1(R)

2(F) 4(R)

3(R) (E) (x,z)

Z

X

1(R)

2(F) 4(R)

3(R) (E) (x,z)

r

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

441 IB-1501277-Q

(1) Details for chamfering

If thread chamfering amount is bigger than a thread lead length, a program error(P192) will occur before starting

thread cutting.

The operation in the thread cutting cycle when the result of the thread cutting tool retract with chamfering exceeds

the cycle start point depends on the MTB specifications.

<#1270 ext06/bit4 = 0>

A program error (P192) will occur before thread cutting is started.

<#1270 ext06/bit4 = 1>

A program error (P192) will not occur. After the thread cutting tool retraction is stopped and the thread cutting

block ends at the cycle start point ("A" in the figure), the axis moves to the end coordinate ("B" in the figure) at

rapid traverse feed.

Thread cutting tool retraction when "#1270 ext06/bit4" is set to "1"

(2) When the feed hold is applied during the thread cutting cycle, automatic operation will stop if it is applied when thread cutting is not being executed or when a cutting command is issued but the axis is yet to move. When the feed hold is applied during thread cutting, the thread cutting cycle retract is performed.

Detailed description

: Thread chamfering amount This value is set in the parameter "#8014 CDZ- VALE". The available range is 0 to 12.7 leads. It can be set in 0.1L units. : Thread chamfering angle This value is set in the parameter "#8015 CDZ- ANGLE". The setting range is 0 to 89. It can be set in 1 units.

3(R)

2(F)

4(R)

1(R)

A

B

Cycle start point

(F): Thread cutting (R): Rapid traverse

Chamfering end point

Chamfering start point

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

442IB-1501277-Q

(3) Depending on the signs of x, z and r, the following shapes are created.

Program error (P191) will occur in (b) and (c) unless the following condition is satisfied.

|x| |r|

The thread cutting start shift angle is not modal. If there is no Q command with G175, this will be handled as "Q0". If a value exceeding "360.000" is commanded in G175 Q address, this will be handled as "Q360.000". G175 cuts one row with one cycle. To cut two rows, change the Q value, and issue the same command. Also, follow the precautions for the thread cutting command (G33).

(a) z < 0, x < 0, r < 0 (b) z < 0, x < 0, r > 0

(c) z > 0, x < 0, r < 0 (d) z > 0, x < 0, r > 0

Z

X

z

r x

1(R)

3(R)

4(R)2(F)

Z

X

r

x

z

1(R)

3(R)

2(F) 4(R)

Z

X

r x

z

1(R)

3(R)

2(F) 4(R)

Z

X

x

r

4(R) z

1(R)

3(R)

2(F)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

443 IB-1501277-Q

13.3.3 Face Cutting Cycle; G176

The face cutting cycle performs continuous straight and taper cutting in the face direction.

(*1) If the commanded axis and selected plane are different when the fixed cycle for turning machining is command-

ed, or if the movement amount is not specified in either or both of the selected plane axis commands, a program

error (P114) will occur. Whether this is judged to be a program error depends on the MTB specifications (pa-

rameter "#1241 set13/bit4" ("fixed cycle for turning machining" selected-plane axis check disabled)).

Function and purpose

Command format

Straight cutting

G176 X__ Z__ F__ ;

X X axis end point coordinate (*1)

Z Z axis end point coordinate (*1)

F Feedrate

Taper cutting

G176 X__ Z__ R__ F__ ;

X X axis end point coordinate (*1)

Z Z axis end point coordinate (*1)

R Taper depth (radius designation, incremental position, sign required)

F Feedrate

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

444IB-1501277-Q

Detailed description

Straight cutting

(R) Rapid traverse (F) Cutting feed (E) End point coordinates

Taper cutting

(R) Rapid traverse (F) Cutting feed (E) End point coordinates

Z

X

1(R) 2(F)

4(R)

3(F)

(E) (x,z)

Z

X

r

1(R)

2(F)

4(R)

3(F)

(E) (x,z)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

445 IB-1501277-Q

With a single block, the tool stops at the end points of operations 1, 2, 3 and 4 shown above.

Depending on the signs of x, z and r, the following shapes are created.

Program error (P191) will occur in (b) and (c) unless the following condition is satisfied.

|z| |r|

Detailed description

(a) z < 0, x < 0, r < 0 (b) z < 0, x < 0, r > 0

(c) z > 0, x < 0, r < 0 (d) z > 0, x < 0, r > 0

Z

X

z

r

x

13

4

2 Z

X

z r

x

1

3

4

2

Z

X

z

r

1 3

4

2

x

Z

X r

1z 3

4

2

x

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

13 Fixed Cycle

446IB-1501277-Q

14

447 IB-1501277-Q

Macro Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

448IB-1501277-Q

14Macro Functions 14.1 Subprogram Control; M98, M99, M198

14.1.1 Subprogram Call; M98, M99

Fixed sequences or repeatedly used parameters can be stored in the memory as subprograms that can then be

called from the main program when required. M98 serves to call subprograms and M99 serves to return operation

from the subprogram to the main program. Furthermore, it is possible to call other subprograms from particular sub-

programs.

The nesting depth depends on the model. (10 levels for M800/M80/E80, 8 levels for C80)

The table below shows the functions that can be executed by adding and combining the tape memory/editing func-

tions, subprogram control functions and fixed cycle functions.

(*1) Symbol "" denotes available functions and symbol "" denotes unavailable functions.

(*2) Variables cannot be transferred with the M98 command, but variable commands in subprograms are available

if the variable command specifications are provided.

(*3) The depth of nesting call depends on the model.

Function and purpose

Case 1 Case 2 Case 3 Case 4

1. Tape memory and editing Yes Yes Yes Yes

2. Subprogram control No Yes Yes No

3. Fixed cycles No No Yes Yes

Function

1. Memory mode

2. Tape editing (main memory)

3. Subprogram call

4. Subprogram variable designation (*2)

5. Subprogram nesting call (*3)

6. Fixed cycles

7. Editing subprogram for fixed cycle

M98 P1 ;

P1000 P1 P2 Pn

M99 ;

M99 ; M99 ;

M02/M30 ;

M98 P2 ;

M98 P3 ;

Main program: Level 0 (P1000)

Subprogram: Level 1 (P1)

Subprogram: Level 2 (P2)

Subprogram: Level n (Pn)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

449 IB-1501277-Q

(*1) To use memory2 (extended area), additional specification of part program storage capacity of 2560 [m] or 5120

[m] is required. If the specification is invalid, program error occurs when ",D1" is designated.

(*2) Program in extended area can be called as a subprogram from the program in basic area and program within

the other extended area. Note that program in extended area can call a program in basic area as well.

Command format

Subprogram call

M98 P__ H__ L__ ,D__ ;

M98 H__ L__ ,D__ ;

P Program number in subprogram to be called (own program if omitted) Note that P can be omitted only for memory mode, MDI operation, high-speed program server operation, SD card operation, hard disk operation, or USB operation. (Numeric value of up to 8 digits) Use a parameter to specify a 4- or 8-digit subprogram No. starting with O. However, if the commanded value is bigger than the digit number set with parameter, a subprogram call is carried out as commanded.

File name A file name can be specified instead of a program No. In this case, enclose the file name inside brackets < >. (The file name can have up to 32 characters including the extension.) (Example) M98 ;

H Program sequence number in subprogram to be called (head block if omitted)

L Number of subprogram repetitions

(If omitted, it is assumed to be "L1", and processing is not carried out when "L0" is set.)

(1 to 9999 times depending on the 4-digit value)

For instance, M98 P1 L3; is equivalent to the following:

M98 P1 ;

M98 P1 ;

M98 P1 ;

,D [M8]

Subprogram device No. (0 to 4) The subprogram is searched according to the setting of parameter "#8890 Subpro srch odr D0" to "#8894 Subpro srch odr D4" when ",D" is omitted. The device No. is set to the parameter, such as "#8880 Subpro stor D0: dev".

,D [C80]

Subprogram device No. (0 to 1) When ",D" command is omitted, the subprogram is searched in the area where main pro- gram is being executed. ,D0: Basic area (memory) ,D1: Extended area (memory2) (*1)(*2)

Return to main program from subprogram

M99 P__ ;

P Sequence No. of return destination (returned to block that follows the calling block)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

450IB-1501277-Q

Subprograms have the same format as machining programs for normal memory mode, except that the subprogram

completion instruction "M99 (P_);" must be commanded alone in the last block.

(1) The above program is registered by editing operations at the setting and display unit. For further details, refer to the section on "program editing" in the Instruction Manual.

(2) Only those subprogram Nos. ranging from 1 to 99999999 designated by the optional specifications can be used. When there are no program Nos. on the tape, they are registered as the setting No. for "program input."

(3) If a program is called from a subprogram over the nesting depth determined in the specifications, the program error (P230) will occur.

(4) Main programs and subprograms are registered in the order they were read without distinction. Therefore, main programs and subprograms should not be given the same Nos. (If they are, error "E11" will be displayed at reg- istration.)

(5) Main programs can be executed during memory, tape, MDI, or BTR mode, but subprograms must be in the mem- ory mode.

(6) Besides the M98 command, subprogram nesting is subject to the following commands: G65: Macro call G66: Modal call G66.1: Modal call G Code call Miscellaneous function call MDI interruption Automatic tool length measurement Macro interruption Multiple-step skip function

(7) The following commands can be called even if the nesting depth exceeds the determined depth in the specifica- tions because they are not subject to subprogram nesting. Fixed cycles Pattern cycles

(8) To repeatedly use the subprogram, it can be repeated l1 times by programming M98 Pp1 Ll1;.

(9) When using the multi-part system, if the subprogram attributed to the part system with the call command is emp- ty, the subprogram call operation will change according to the parameters. (These parameters depend on the MTB specifications.)

Detailed description

Creating and registering subprograms

O******** ; Program No. as subprogram No.

....... ; : ....... ;

Main body of subprogram

M99 ; Subprogram return command

%(EOR) Registration completion code

#1285 ext21/ bit1

Description

OFF The subprogram registered in the memory for the selected part system is called out.

ON The subprogram registered in the memory for the selected part system is called out. If the sub- program in the selected part system is empty, the subprogram with the same No. in the 1st part system is called out.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

451 IB-1501277-Q

When there are 3 subprogram calls (known as 3 nesting levels)

Sequence of execution: (a)-(b)-(c)-(c')-(b')-(a')

(1) For nesting, the M98 and M99 commands should always be paired off on a 1:1 basis; (a)' for (a), (b)' for (b), etc.

(2) Modal information is rewritten in the order of execution sequence without distinction between main programs and subprograms. Therefore, after calling a subprogram, attention must be paid to the modal data status when pro- gramming.

The M98 H_ ; M99 P_ ; commands designate the sequence Nos. in a program with a call instruction.

Program example

Program example 1

Program example 2

M98P10; M98P20;

M99; M99; M99;

O1;

M98P1;

M02;

O10; O20;

(a')

(a) (b) (c)

(b') (c')

Main program Subprogram 1 Subprogram 2 Subprogram 3

M98H3;

N3___;

M99;

M98H__ ;

N100___; M98P123; N200_; N300___; N400___;

O123;

M99P200;

M99P__ ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

452IB-1501277-Q

(1) The program error (P232) will occur when the designated P (program No.) cannot be found.

(2) The M98 P_ ; M99 ; block does not perform a single block stop. If any address except O, N, P, L or H is used, single block stop can be executed. (With "X100. M98 P100 ;", the operation branches to O100 after X100. is executed.)

(3) When M99 is commanded by the main program, operation returns to the head. (This is the same as for MDI.)

(4) Branching from tape and BTR mode to the subprogram with M98 P_; is possible, but the return destination se- quence No. cannot be designated with M99 P_ ; . (P_ is ignored.)

(5) Note that it takes time to search when the sequence No. is designated by M99 P_ ;.

(6) When using a file name for the subprogram, specify the file name with 32 characters or less, including the ex- tension. If a file name exceeding 32 characters is specified, a program error (P232) will occur.

(7) All the programs are registered as files. For example, when calling a file "0100" as a subprogram, "0100" cannot be searched with M98P100 or M98P0100. When numerical values are specified after P, 0 is ignored. In this case, it is regarded that the program No. (file) "100" is specified. To call a program like "0100" , specify the file name using the M98<0100> format.

(8) A subprogram added O No. is searched with the parameter setting (#8129="1" or "2") which calls a subprogram with O No. as priority. If a subprogram with O No. is not found, a subprogram with a name specified with the P command is searched.

To prevent any unintended program call, avoid using program names that may be confused. (For exam- ple, 123, O0123 and O00000123 can be considered identical.)

Refer to the next page for operation examples of subprogram search with the setting which calls subprograms

with O No. as priority.

(a) With designation of device No.

Only the designated devices are subject to search. (The following is an example of M8 series.)

[Parameter setting]

#8129 Subpro No. select = 1 (Four-digit program No. beginning with O No.)

#8880 Subpro stor D0 dev = R (Memory card)

#8882 Subpro stor D1 dev = D (Data server)

#8884 Subpro stor D2 dev = G (Hard disk)

Precautions

444

O0333

222

O0111

M02;

M98 P222,D1;

HD (D2)

Memory card (D0)

Memory card not inserted

Data server (D1)

Calling program

Main program

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

453 IB-1501277-Q

(b) Without designation of device No.

[M8]

A subprogram with O No. is searched according to the settings of #8890 (D0 in order of subprogram search)

to #8894 (D4 in order of subprogram search). (Refer to the solid line arrows "a" and "b" in the figure.)

If a subprogram with O No. is not found, subprograms with a name designated with the P command are

searched in order of the parameter setting. (Refer to the broken lines "c" and "d" in the figure.)

If none of the designated subprogram storage locations are subject to search, memories are searched.

If any device or directory designated as the subprogram storage location is not found due to a reason such as absence, poor contact and contact failure of a memory card, the said device or directory will be excluded from the search target.

[Parameter setting]

#8129 Subpro No. select = 1 (Four-digit program No. beginning with O No.)

#8880 Subpro stor D0 dev = R (Memory card)

#8882 Subpro stor D1 dev = D (Data server)

#8884 Subpro stor D2 dev = G (Hard disk)

#8890 Subpro srch odr D0 = 1

#8891 Subpro srch odr D1 = 2

#8892 Subpro srch odr D2 = 3

[C80]

Subprogram is searched inside of the currently selected device.

(9) When a program in an external device such as a USB memory device is executed, a period of processing time is required in the subprogram call or in the instruction to change the flow of the program such as GOTO or DO- END; therefore, interpolation may be decelerated or stopped.

Note

d

b

c

a

(3)

(2)

(1)

444

O0333

222

O0111

M02;

M98 P444;

Main program

Calling program

Subprogram search order

HD (D2)

Data server (D1)

Memory card not inserted

Memory card (D0)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

454IB-1501277-Q

14.1.2 Subprogram Call; M198

Programs registered in the SD card can be called as a subprograms. To call a program in the SD card as a subpro-

gram, command the following with the main program.

(1) Sequence No. call (M198 H***) cannot be commanded.

(1) The device that can be used for M198 subprogram call differs depending on the NC models. The SD card in the front side is available for M800S/M80, and the SD card in the control unit is available for M800W. (The M198 command is not available for the C80 series.)

(2) The subprogram can be called with the M198 command once in the subprogram nest. The subprogram can be called only from the memory or MDI program.

(3) The section from the head of the program to the first LF (line feed code, 0x0A hexadecimal) is invalid, and is not run or displayed. Note that if the head starts with a O No., the program will be valid from the head.

(4) A program registered in an SD card can be executed from only one part system. A program error will occur if an attempt is made to execute the programs in the SD card simultaneously by two or more part systems. If all the part system is reset when the error occurred, programs will be displayed as only "%" except for the first part sys- tem.

(5) Refer to "14.1.1 Subprogram Call; M98, M99" for and calling the subprogram with O No.

Function and purpose

Command format

Subprogram call

M198 P__ L__ ;

M198 L__ ;

P Program No. in SD card to be called as a subprogram. (Max. 8 digits) Use a parameter to specify a 4- or 8-digit subprogram No. starting with O. However, if the commanded value is bigger than the digit number set with parameter, a subprogram call is carried out as commanded.

File name A file name can be specified instead of a program No. In this case, enclose the file name inside brackets < >. (The file name can have up to 32 characters including the extension.)

L Number of subprogram repetitions. (Max. 4 digits) This can be omitted. (In this case, the subprogram will be called once.) When "L0" is designated, the subprogram call will not be executed.

Return to main program from subprogram

M99 ;

Detailed description

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

455 IB-1501277-Q

14.1.3 Figure Rotation; M98 I_J_K_

If the same pattern is used repeatedly on a concentric circle, one of the rotating machining patterns can be registered

as a subprogram. When the subprogram is called from the main program, if the rotation center is designated, a path

similar to the rotary phase can be easily created on the concentric circle. This simplifies creation of the program.

Function and purpose

Command format

Subprogram call command

M98 I__ J__ K__ P__ H__ L__ ,D__ ;

M98 I__ J__ K__ H__ L__ ,D__ ;

I, J, K Rotation center coordinates

P Program number in subprogram to be called (own program if omitted) Note that P can be omitted only for memory mode, MDI operation, high-speed program server operation, SD card operation, hard disk operation, or USB operation. (Numeric value containing up to eight digits) Use a parameter to specify a 4- or 8-digit subprogram No. starting with O.

A file name can be specified instead of a program No. In this case, enclose the file name with brackets < >. (The file name can have up to 32 characters including the extension.) (Example) M98 ;

H Program sequence number in subprogram to be called (head block if omitted)

L Number of subprogram repetitions

(If omitted, it is assumed to be "L1", and processing is not carried out when "L0" is set.)

(1 to 9999 times depending on the 4-digit value)

,D Subprogram device No. (0 to 4). The subprogram in the memory can be used when ,D is omitted. The device No. is set with the machining parameters.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

456IB-1501277-Q

(1) The first subprogram called out with subprogram call is executed at 0 rotation angle. The path is created as commanded.

(2) If the number of repetitions is set to twice or more, the rotation angle is obtained from the called subprogram's start point, end point and rotation center coordinate. The path of the first subprogram is used as the basic figure and is rotated and arranged for the designated number of call repetitions, using the rotation center coordinates as a reference.

(3) All blocks in the subprogram are rotated.

(4) If the subprogram start point and end point are not on the same circle having the commanded figure rotation center coordinates as the center, the axis will interpolate using the subprogram's end point as the start point, and the end point in the first movement command block in the rotated subprogram as the end point.

(5) Both absolute command and incremental command can be used in the figure rotation subprogram. Even if com- manded with an absolute command, the rotation will be the same as when commanded with an incremental com- mand.

(6) I, J and K are commanded with the incremental amount from the start point.

(7) A subprogram of which figure is rotating cannot be branched to the other subprogram.

(8) The figure is rotated on the workpiece coordinate system, and can be shifted with the G92, G52, G54 to G59 (workpiece coordinate system shift) command.

(9) Functions (reference position return, uni-direction positioning, etc.) on the machine coordinate system for the ro- tary plane axis cannot be used while the figure is rotated. However, the machine coordinate system functions can be used for axes other than the rotation plane.

(10) Refer to "14.1.1 Subprogram Call; M98, M99" for and calling the subprogram with O No.

Detailed description

(a) Basic figure (b) Center of rotation

J

I

(a)

(b)

L

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

457 IB-1501277-Q

(1) A program error will occur if figure rotation is commanded during figure rotation.

(2) Figure rotation and coordinate rotation by program cannot be commanded simultaneously. The program error will occur.

Program example

Main program (O1000)

N01 G90 G54 G00 X0 Y0 ; N02 G01 G41 X200. Y150. D01 F500 ; N03 G01 Z-50. F300 ;

N04 M98 P2200 L5 J-100. ;

N05 G90 G01 Z50. F500 ; N06 G40 ; N07 G00 X0 Y0 ;

Subprogram (O2200)

N01 G91 G01 X29.389 Y-59.549 ; N02 X65.717 Y-9.549 ; N03 M99 ;

(a) Basic figure

Precautions

200.

100. 300.

Y

X

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

458IB-1501277-Q

14.2 Variable Commands

Programming can be endowed with flexibility and general-purpose capabilities by designating variables, instead of

giving direct numerical values to particular addresses in a program, and by assigning the variable values depending

on the conditions that exist when executing the program.

All common variables are retained even when the power is turned OFF.

When the power is turned OFF or reset, the common variables can be set to by setting the parameter ("#1128

RstVCl", "#1129 PwrVCl").

(1) The 4 standard operators are +, -, * and /.

(2) Functions cannot be used unless the user macro specifications are available.

(3) Error (P241) will occur when a variable No. is negative.

(4) Examples of incorrect variable expressions are given below.

Function and purpose

Command format

#= ;

#*** = [formula] ;

Detailed description

Variable expressions

Example

#m m = value consisting of 0 to 9 #100

# [f] f = one of the followings in the formula #[-#120]

Numerical value m 123

Variable #543

Formula Operator Formula #110+#119

- (minus) formula -#120

[Formula] [#119]

Function [formula] SIN[#110]

Incorrect Correct

#6/2 # [6/2] (#6/2 is regarded as [#6] /2.)

#--5 #[-[-5]]

#-[#1] #[-#1]

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

459 IB-1501277-Q

The following table gives the types of variables.

The common variables are divided into the following two types.

Common variables 1: Used in common through all part systems Common variables 2: Used in common in the programs of the part system

(*1) Common variable address #400s can only be used when there are 700 or more sets of common variables and

the MTB specifications are valid (parameter "#1336 #400_Valtyp").

When common variable address #400s can be used, these can be displayed and set on the common variable

screen.

It also becomes possible to input/output data of common variable address #400s.

(*2) When the parameter "#1052 MemVal" is set to "1" in multi-part system (MTB specifications), some or all of com-

mon variables "#100 to #199" and "#500 to #999" can be shared and used between part systems. The number

of variables sharable in part systems depends on the MTB specifications (parameters "#1303 V1comN" and

"#1304 V0comN").

(Example) When "#1304 V0comN" is set to "5":

Depending on the MTB specifications, the common variables #100 to #199 are used for each part system, and

variables #500 to #999 are common for the part systems (parameter "#1052 MemVal"). Address #400s, that

can be used as common variable with 700 or more sets of variable, is common for the part systems regardless

of the setting of parameter "#1052 MemVal".

(*3) When "#1052 MemVal" is set to "1", #900000 to #907399 available for 8,000 sets of variable are not available.

Types of Variables

Type No. Function

Common variable Common variables 1 Common variables 2

Can be used in common throughout main, sub and macro programs. When using common variables in the

multi-part system, the number of com- mon variables shared between the part systems can be specified depending on the MTB specifications (parameter "#1052 MemVal").

(*2) (Only for C80 series) Can be read from/

written to each common variable by us- ing ZR80000 or later. Refer to "PLC Interface Manual" for the correspondence between the ZR de- vice No. and the common variable No.

1 part sys- tem

200 sets 500 - 599 100 - 199

600 sets 500 - 999 100100 - 800199 (*4)

100 - 199

700 sets 400 - 999 (*1) 100100 - 800199 (*4)

100 - 199

8000 sets 400 - 999 (*1) 100100 - 800199 (*4) 900000 - 907399 (*3)

100 - 199

Multi-part systems (n = number of part sys- tems)

600 + 100 * n sets

400 - 999 (*1) 100100 - 800199 (*4)

100 - 199 *n

7900 + 100 * n sets

400 - 999 (*1) 100100 - 800199 (*4) 900000 - 907399 (*3)

100 - 199 *n

Local variables 1 - 33 Can be used as local variables in macro programs.

ZR device access variables (only for C80 series)

50000 - 50749 51000 - 51749 52000 - 52749

Can be read and written by the PLC or GOT.

System variable 1000 - Application is fixed by system.

Fixed cycle variables 1 - 32 Local variables in fixed cycle programs.

#500 to #504: Common for the part systems

#505 to #999: Each part system

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

460IB-1501277-Q

(*4) When the parameter "#1316 CrossCom" is set to "1", the common variables #100100 to #800199 can be shared

between the part systems. (This depends on the MTB specifications.) The part system common variable which

can be used is shown in the table below.

(Example)

<1-part system>

Common variables for each part system #100 to #199" in other part system can be used.

The PLC data reading function cannot be used, which uses system variables #100100 to #100110, and variables #100100 to #100110 are used as common variables.

The setting of number of common variables shared between the part systems (The parameter #1052 MemVal" is set to "1") becomes invalid, thus the movement is the same as "0" is set.

When the parameters "#1128 RstVCl", "#1129 PwrVCl" are set to "1", the operation is as follows. "#1128 RstVCl" The common variables shared between the part systems equivalent to #100 to #199 of the reset part sys- tem are cleared. (Example) If the 1st part system is reset, #100100 to #100199 are cleared.

If the 2nd part system is reset, #200100 to #200199 are cleared. "#1129 PwrVCl" The common variables shared between the part systems equivalent to #100 to #199 in the valid part sys- tem are cleared. (Example) In 1st part system, #100100 to #100199 are cleared.

In 2nd part system, #100100 to #100199 and #200100 to #200199 are cleared. Common variables shared between the part systems #100100 to #800199 can be displayed and set on

the common variable screen. If common variables #100100 to #800199 are used when the number of sets of common variables is

less than 600 sets or the parameter "#1316 CrossCom" is "0", a program error (P241) will occur.

Variable sets Common variables 1 (When "#1316 CrossCom" = "1")

Variable sets specification

600 sets (500 + 100 sets) #100100 to #100199 (Equivalent to # 100 to #199 in 1st part system) #200100 to #200199 (Equivalent to # 100 to #199 in 2nd part system) #300100 to #300199 (Equivalent to # 100 to #199 in 3rd part system) #400100 to #400199 (Equivalent to # 100 to #199 in 4th part system) #500100 to #500199 (Equivalent to # 100 to #199 in 5th part system) #600100 to #600199 (Equivalent to # 100 to #199 in 6th part system) #700100 to #700199 (Equivalent to # 100 to #199 in 7th part system) #800100 to #800199 (Equivalent to # 100 to #199 in 8th part system)

700 sets (600 + 100 sets)

8000 sets (7900 + 100 sets)

#100100=200 ; Equivalent to #100 = 200 ;

#200105=#100 ; "200" is set to #200105.

#300110=#100100 ; "200" is set to #300110.

#800199=#500120 ; The variable value of "#500120" is set to #800199.

$1

#200100=-100 ; "-100" is set to #100 of 2nd part system.

#101=#200102 ; "#101" is set to #102 of 2nd part system.

#300105=#200103 ; "#103" of 2nd part system is set to #105 of 3rd part system.

#110=#500107 ; The variable value of "#500107" is set to #110.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

461 IB-1501277-Q

(1) When inputting the common variable data, if the following illegal variable No. data exist in the input file, the illegal variable No. data is ignored and only the correct common variable data will be input. Variable data that is not common variables such as local variables (#1 to #33) or system variables (#1000

and after) Variable data of which the number of common variable sets does not match the pre-specified value

(Example)

If variables of # numbers undefined in the specifications exist in the input file when there are 700 sets of common

variables (#100 to #199, #500 to #999, and #100100 to #800199), they are ignored, and only the variables de-

fined in the specifications are input.

Variables can be used for all addresses except O, N and / (slash).

(1) When the variable value is used directly:

(2) When the complement of the variable value is used:

(3) When defining variables:

(4) When defining the variable arithmetic formula:

(1) A variable cannot be defined in the same block as an address. It must be defined in a separate block.

(2) Up to five sets of square parentheses [ ] may be used.

#543 = -[[[[[#120]/2+15.]*3-#100]/#520+#125+#128]*#130+#132]

(3) There are no restrictions on the number of characters and number of variables for variable definition.

(4) The variable values should be within the range of 0 to 99999999. If this range is exceeded, the arithmetic operations may not be conducted properly.

(5) The variable definitions become valid when definitions are made.

#1 = 100 ; ............................. #1 = 100

#1 = 200 #2 = #1 + 200 ; ..... #1 = 200, #2 = 400

#3 = #1 + 300 ; ..................... #3 = 500

(6) Variable quotations are always regarded as having a decimal point at the end. When #100 is set to 10 X#100; is set to X10..

(7) The significant digits of the variable are up to 15 decimal digits. Note that the calculation may cause an error. For example, in the following formula, correct judgment cannot be made due to the error.

IF [#10 EQ #20]

Calculate with attention to the error when comparing variables. If the difference between the variables to be com- pared falls within the specified error range as in the following formula, consider them as equal. If the error is less than 0.01, describe the formula as follows.

IF [ABS [#10 - #20] LT 0.01]

Variable quotations

X#1 Value of #1 is used as the X value.

X-#2 Value with the #2 sign changed is used as the X value.

#3 = #5 Variable #3 uses the equivalent value of variable #5.

#1 = 1000 Variable #1 uses the equivalent value 1000. ("1000" is assumed to be "1000.".)

#1 = #3 + #2 - 100 Value of the operation result of "#3 + #2 - 100." is used as the #1 value.

X[#1 + #3 + 1000] Value of the operation result of "#1 + #3 + 1000" is used as the X value.

Incorrect Correct

X#1 = #3 + 100 ; #1 = #3 + 100 ; X#1 ;

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

462IB-1501277-Q

(1) If the common variable protection function is valid, the common variables in the range specified in the parameters (#12111 to #12114) cannot be changed from machining program or screen operation, or user operation such as file input. This function depends on the MTB specifications (parameter "#1391 User level protect").

(2) If an attempt is made to change the value or name of the protected variable on the machining program, the pro- gram error (P243) will occur, causing the operation to be stop. Such a variable value or name can be changed using the machine tool builder macro program, but cannot be done by the user. Multiple variable names can be changed in one block with the SETVNn command. However, if at least one of them is protected, the program error (P243) will occur.

(3) If "#1128 RstVCl" is set to "1", the variables (#100 to #199) are cleared after reset even if common variables (#100 to #199) are protected.

(4) If "#1129 PwrVCl" is set to "1", the variables (#100 to #199) are cleared at the power-ON even if common vari- ables (#100 to #199) are protected.

(5) For common variables used common to the part systems, the variable values and variable names can be changed by the displayed part system.

Protection of common variable

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

463 IB-1501277-Q

14.3 User Macro

A group of control and arithmetic instructions can be registered and used as a macro program to make it one inte-

grated function.

Macro programs use variables, control and arithmetic instructions to create subprograms which function to provide

special-purpose controls.

By combining the user macros with variable commands, it is possible to use the macro program call, arithmetic op-

erations, data input/output with PLC, control, decision, branch and many other instructions for measurement and

other such applications.

These special-purpose control functions (macro programs) are called by the macro call instructions from the main

program when needed.

(1) When the G66 or G66.1 command is entered, the specified user macro program will be called every time a block

is executed or after a movement command in blocks with a movement command is executed, until the G67 (can-

cel) command is entered.

(2) The G66 (G66.1) and G67 commands must be paired in a same program.

Function and purpose

G code Function

G65 User macro Simple call

G66 User macro Modal call A (Movement command call)

G66.1 User macro Modal call B (Per-block call)

G67 User macro Modal call (G66, G66.1) cancel

Detailed description

;;

G65/G66/G66.1

M30; M99;

Main program Subprogram

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

464IB-1501277-Q

14.4 Macro Call Instructions

Macro call commands include the simple calls which call only the instructed block and the modal calls (types A and

B) which call a block in the call modal.

When the macro argument L/P valid function is enabled, the addresses L (number of subprogram repetitions) and

P (calling program No.) used as commands in user macro can be used as arguments.

The validity of this parameter depends on the MTB specifications (Parameter "#1241 set13"/bit5 (Macro argument

L/P valid)). For C80, the macro argument L/P function is unavailable.

When a program in an external device such as a USB memory device is executed, a machining program stored in

USB memory cannot be called with a macro call such as G65, G66, or G66.1. Using such a macro calls a macro

program in memory.

14.4.1 Simple Macro Calls; G65

(*1) Can also be used as an argument at the same time as the macro argument L/P valid function is enabled. (M8

Series)

Function and purpose

Function and purpose

M99 is used to terminate the user macro subprogram.

Command format

Simple macro calls

G65 P__ L__ argument ;

Simple macro calls

G65 L__ argument ;

P Program No. (*1)

Use a parameter to specify a 4- or 8-digit subprogram No. starting with O.

File name A file name can be specified instead of a program No. In this case, enclose the file name inside brackets < >. (The file name can have up to 32 characters including the extension.)

L Number of repetitions (*1)

If omitted, this value is set to "1". (0 to 9999)

Argument Specify variable data

Subprogram(O__)

G65 P__ L__ ;

O__

M99 ;

Main program

to Subprogram

to Main program

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

465 IB-1501277-Q

(1) When the argument must be transferred as a local variable to a user macro subprogram, the actual value should be designated after the address. In this case, regardless of the address, a sign and decimal point can be used in the argument. There are 2 ways in which arguments are designated.

Format : A_ B_ C_ ......X_ Y_ Z_

(a) Arguments can be designated using any address except G, L, N, O and P.

(b) I, J and K must be designated in alphabetical order.

I_ J_ K_...Correct J_ I_ K_...Incorrect

(c) Except for I, J and K, there is no need for designation in alphabetical order.

(d) Addresses which do not need to be designated can be omitted.

(e) The following table shows the correspondence between the addresses which can be designated by argument designation I and the variable numbers in the user macro main body.

(*1) Can be used while G66.1 command is modal

(*2) Can be used while the macro argument L/P valid function is enabled.

Detailed description

Argument designation I

Address and variable No. correspondence Addresses available for call instructions

Argument designation I ad- dress

Variable in macro G65, G66 G66.1

A #1

B #2

C #3

D #7

E #8

F #9

G #10 (*1)

H #11

I #4

J #5

K #6

L #12 (*1)(*2)

M #13

N #14 (*1)

O #15

P #16 (*1)(*2)

Q #17

R #18

S #19

T #20

U #21

V #22

W #23

X #24

Y #25

Z #26

: Available

: Unavailable

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

466IB-1501277-Q

Format: A__B__C__I__J__K__I__J__K__...

(a) In addition to address A, B and C, up to 10 groups of arguments with I, J, K serving as 1 group can be designated.

(b) When the same address is duplicated, designate the addresses in the specified order.

(c) Addresses which do not need to be designated can be omitted.

(d) The following table shows the correspondence between the addresses which can be designated by argument designation II and the variable numbers in the user macro main body.

(1) The numbers 1 to 10 accompanying I, J and K indicate the sequence of the commanded sets, and are not required in the actual command.

Argument designation II

Argument designation II address

Variable in macro Argument designation II address

Variable in macro

A #1 J5 #17

B #2 K5 #18

C #3 I6 #19

I1 #4 J6 #20

J1 #5 K6 #21

K1 #6 I7 #22

I2 #7 J7 #23

J2 #8 K7 #24

K2 #9 I8 #25

I3 #10 J8 #26

J3 #11 K8 #27

K3 #12 I9 #28

I4 #13 J9 #29

J4 #14 K9 #30

K4 #15 I10 #31

I5 #16 J10 #32

K10 #33

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

467 IB-1501277-Q

(1) If addresses corresponding to the same variable are commanded when both types I and II are used to designate arguments, the latter address will become valid.

(Example 1)

In the above example, I7.7 argument is valid when both arguments D3.3 and I7.7 are commanded for the #7

variable.

(2) If calling a subprogram numbered with O is enabled, a sub program number starting with O and specified by P command value is called with a priority. However, when P command value is less than the digit number set with parameter "#8129 Subpro No. select", increase the digit number of command value by adding leading zeros. (Example) When parameter "#8129 Subpro No. select"="1", call the subprogram "O0012" with "G65 P12" com- mand.

(3) In the following cases, a subprogram of P command value without O No. is called even with a setting to call a subprogram with O No.

The digit number of P command value is over the digit number of the program number set with parameter "#8129 Subpro No. select".

A subprogram starting with commanded O No. does not exist.

Using arguments designations I and II together

Call command

Variable

G65 A1.1 B-2.2 D3.3 I4.4 I7.7;

#1: 1.1

#2:-2.2

#3:

#4: 4.4

#5:

#6: #7: 3.3 7.7

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

468IB-1501277-Q

14.4.2 Modal Call A (Movement Command Call) ; G66

When the block with a movement command is commanded between G66 and G67, the movement command is first

executed and then the designated user macro subprogram is executed. A number of user macro subprograms are

designated with "L".

The argument is the same as for a simple call.

(*1) Can also be used as an argument at the same time as the macro argument L/P valid function is enabled. (M8

Series)

Function and purpose

Command format

Modal call A

G66 P__ L__ argument ;

G66 L__ argument ;

P Program No. (*1) Use a parameter to specify a 4- or 8-digit subprogram No. starting with O.

File name A file name can be specified instead of a program No. In this case, enclose the file name with brackets < >. (The file name can have up to 32 characters including the extension.)

L Number of repetitions (*1)

Argument Specify variable data

Modal call end

G67;

G66 P__ L__ ;

G67 ;

O__

M99 ;

Main program Subprogram

to Subprogram

to Subprogram

to Main program

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

469 IB-1501277-Q

(1) When the G66 command is entered, the specified user macro program will be called after the movement com- mand in a block with the movement commands has been executed, until the G67 (cancel) command is entered.

(2) The G66 and G67 commands must be paired in a same program. A program error will occur when G67 is issued without G66.

(Example) Drill cycle

After the axis command is executed in the main program, the subprogram is executed. The subprogram is not executed in the blocks following G67.

(3) If calling a subprogram numbered with O is enabled, a sub program number starting with O and specified by P command value is called with a priority. However, when P command value is less than the digit number set with parameter "#8129 Subpro No. select", increase the digit number of command value by adding leading zeros.

(Example)

When parameter "#8129 Subpro No. select"="1", call the subprogram "O0012" with "G66 P12" command.

(4) In the following cases, a subprogram of P command value without O No. is called even with a setting to call a subprogram with O No.

The digit number of P command value is over the digit number of the program number set with parameter "#8129 Subpro No. select".

A subprogram starting with commanded O No. does not exist.

Detailed description

N1 G90 G54 G0 X0 Y0 Z0;

N2 G91 G00 X-50.Y-50.Z-200.;

N3 G66 P9010 R-10.Z-30.F100;

N4 X-50.Y-50.;

N5 X-50.;

N6 G67;

O 9010

N10 G00 Z #18 M0;

N20 G09 G01 Z #26 F#9;

N30 G00 Z- #18+#26 ;

M99

W N1

N10

N20 N30

N2

N3

N4 N5

X

-50.

-50.

-100.

-100.-150.

Y Argument F

Argument R

Argument Z

Main program

To subprogram after axis command execution

To subprogram after axis command execution

Subprogram

To main program

to subprogramto subprogram

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

470IB-1501277-Q

14.4.3 Modal Call B (for Each Block); G66.1

The specified user macro subprogram is called unconditionally for each command block that is assigned between

G66.1 and G67 and the subprogram will be repeated for the number of times specified in L.

The argument is the same as for a simple call.

(*1) Can also be used as an argument at the same time as the macro argument L/P valid function is enabled. (M8

Series)

Function and purpose

Command format

Modal call B

G66.1 P__ L__ argument ;

G66.1 L__ argument ;

P Program No. (*1) Use a parameter to specify a 4- or 8-digit subprogram No. starting with O.

File name A file name can be specified instead of a program No. In this case, enclose the file name inside brackets < >. (The file name can have up to 32 characters including the extension.)

L Number of repetitions (*1)

Argument Specify variable data

Modal call end

G67;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

471 IB-1501277-Q

(1) In the G66.1 mode, everything except the O, N and G codes in the various command blocks which are read are handled as the argument without being executed. Any G code designated last or any N code commanded after anything except O and N will function as the argument.

(2) All significant blocks in the G66.1 mode are handled as when G65 P_ is assigned at the head of a block.

(Example 1)

In "G66.1 P1000;" mode, "N100 G01 G90 X100. Y200. F400 R1000 ;" is the same as "N100 G65 P1000 G01 G90 X100. Y200. F400 R1000 ;".

The call is performed even in the G66.1 command block in the G66.1 mode and the correspondence be- tween the argument address and the variable number is the same as for G65 (simple call).

(3) The range of the G and N command values that can be used anew as variables in the G66.1 mode is subject to the restrictions as normal NC command values.

(4) Program number O, sequence numbers N and modal G codes are updated as modal information.

(5) If calling a subprogram numbered with O is enabled, a sub program number starting with O and specified by P command value is called with a priority. However, when P command value is less than the digit number set with parameter "#8129 Subpro No. select", increase the digit number of command value by adding leading zeros.

(Example)

When parameter "#8129 Subpro No. select"="1", call the subprogram "O0012" with "G66.1 P12" command.

(6) In the following cases, a subprogram of P command value without O No. is called even with a setting to call a subprogram with O No.

The digit number of P command value is over the digit number of the program number set with parameter "#8129 Subpro No. select".

A subprogram starting with commanded O No. does not exist.

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

472IB-1501277-Q

14.4.4 G Code Macro Call

User macro subprogram with prescribed program numbers can be called merely by issuing the G code.

(*1) Functions as an argument when the macro argument L/P valid function is enabled. (M8 Series)

It cannot be used when the macro argument L/P valid function is disabled.

(1) The instruction functions in the same way as the instructions below, however, the correspondence between G codes and instructions can be set by parameters. (The parameter settings of the instructions depend on the MTB specifications.)

a: M98 P****;

b: G65 P**** ;

c: G66 P**** ;

d: G66.1 P**** ;

When the parameters corresponding to "c" and "d" above are set, issue the cancel command (G67) either in the

user macro or after the call code has been commanded so as to cancel the modal call.

(2) The correspondence between the "G**" (or "G*.*") which conducts the macro call and the macro program number "P****" to be called is set by parameters.

(3) The number of available G codes is up to 538, which is total of the following ones.

Among G01 through G9999, 10 G codes can be set individually, and 255 G codes by batch setting. Among G0.1 through G999.9, 10 G codes can be set individually, and 255 G codes by batch setting. Other 8 G codes: G200, G300, G400, G500, G600, G700, G800, G900

(4) G codes used in the system becomes available as G code macro when the parameter "#1081 Gmac_P" is set to "1".

(5) These commands cannot be issued in a program which has been called by a G code macro. If issued in such a program, they will be handled as ordinary G commands.

(6) When ",D" or "<(Character string)>"is commanded in a block that is calling a G code macro, a miscellaneous command macro, or an ASCII macro while the macro argument L/P valid function is enabled, a program error (P33) will occur. This parameter setting depends on the MTB specifications. (Parameter "#1241 set13/bit5")

Function and purpose

Command format

Macro call via G code

G** P__ L__ argument ;

Macro call via G code with decimal point

G*.* P__ L__ ;

G** (G*.*) G code for macro call

P (*1)

L (*1)

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

473 IB-1501277-Q

(7) The batch setting of macro call via G code is available. The batch setting of up to 255 consecutive macro pro- grams is possible by specifying the first G code, the first program number, the number of consecutive programs, and the type of macro call with the parameters. The same type applies to all macro programs.

(Example)

When the first G code is "152", the first program number is "7625", the number of consecutive programs is "10", and the type is "0".

(8) The batch setting of macro call via G code with decimal point is available. The batch setting of up to 255 consec- utive macro programs is possible by specifying the first G code, the first program number, the number of con- secutive programs, and the type of macro call with the parameters. The same type applies to all macro programs.

(Example)

When the first G code is "23.4", the first program number is "9012", the number of consecutive programs is "9", and type is "2".

(9) The batch setting of macro call via G code needs to satisfy the following conditions. When the number exceeds the limit, the batch settings of macro call via G code are all invalid.

(First G code + Number of consecutive programs - 1) 9999

(First program number + Number of consecutive programs - 1) 99999999

(10) The batch setting of macro call via G code with decimal point needs to satisfy the following conditions. When the number exceeds the limit, the batch settings of macro call via G code with decimal point are all invalid.

(First G code + Number of consecutive programs / 10 - 0.1) 999.9

(First program number + Number of consecutive programs - 1) 99999999

(11) When batch setting of macro call via G code duplicates, the command is executed in the following priority from top to bottom.

Individual settings of macro call via G code (#7201 to #7293) Batch settings of macro call via G code (#7421 to #7424) Other 8 G code settings: G200, G300, ... , G900 (#7322 to #7393)

(12) When macro call via G code with decimal point duplicates, the command is executed in the following priority from top to bottom.

Individual settings of macro call via G code with with decimal point (#56501 to #56593) Batch settings of macro call via G code with with decimal point (#7431 to #7434)

G code Equivalent command

G152 M98 P7625

G153 M98 P7626

G154 M98 P7627

: :

G160 M98 P7633

G161 M98 P7634

G code Equivalent command

G23.4 arguments G66 P9012 arguments

G23.5 arguments G66 P9013 arguments

G23.6 arguments G66 P9014 arguments

: :

G24.1 arguments G66 P9019 arguments

G24.2 arguments G66 P9020 arguments

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

474IB-1501277-Q

14.4.5 Miscellaneous Command Macro Call (for M, S, T, B Code Macro Call)

The user macro subprogram of the specified program number can be called merely by issuing an M (or S, T, B)

code. (Registered M code and all S, T and B codes.)

[M8 Series]

[C80]

(*1) Functions as an argument when the macro argument L/P valid function is enabled. (M8 Series)

It cannot be used when the macro argument L/P valid function is disabled.

(1) The above instruction functions in the same way as the instructions below, however, the correspondence be- tween M codes and instructions can be set by parameters. (Same for S, T and B codes)

When the parameters corresponding to "c" and "d" above are set, issue the cancel command (G67) either in the

user macro or after the call code has been commanded so as to cancel the modal call.

(2) The correspondence between the "M**" which conducts the macro call and the macro program number P**** to be called is set by parameters. Up to 10 M codes from M00 to M9999 can be registered. Note that the codes to be registered should exclude those basically required for the machine and the following M codes.

M0, M1, M2, M30, M96, M97, M98, M99, M198, and M codes for G83 specified in the parameter "#8083"

(3) As with M98, it is displayed on the screen display of the setting and display unit but the M codes and MF are not output.

(4) Even if the registered miscellaneous commands above are issued in a user macro subprogram which are called by an M code, it will not be regarded as a macro call and will be handled as a normal miscellaneous command. (Same for S, T and B codes)

(5) All S, T and B codes call the subprograms in the prescribed program numbers of the corresponding S, T and B functions.

Function and purpose

Command format

Miscellaneous command macro call

M** P__ L__ ; (or S** ; , T** ; , B** ;)

M**; (or S**;, T**;, B**;)

M** M code for macro call (or S, T, B code)

P (*1)

L (*1)

Detailed description

a: M98 P**** ; M98, M** are not output.

b: G65 P**** M** ;

c: G66 P**** M** ;

d: G66.1 P**** M** ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

475 IB-1501277-Q

(6) Up to 10 M codes can be set.

When "1" to "3" is set to "#7002 M[01] type", the macro call will be equivalent call to G65/G66/G66.1. In this case, the alphabet before the M,S,T,B code macro is not handled as an argument. For example, commanding the M code and T code in the same block changes the operation depending on the order of the address.

(Example) To register M06 in M code macro

(7) The address L and address P can be used as an argument when the macro argument L/P valid function is en- abled. This parameter setting depends on the MTB specifications (parameter "#1241 set13"/bit5). The argument address L is designated with variable #12 in the macro, and the argument address P with variable #16 in the macro.

(8) When the macro argument L/P function is enabled and the value is designated with macro type "M98", if address L and address P are commanded, a program error (P33) will occur.

(9) Even when the macro argument L/P valid function is enabled, argument codes G, L, N, O, and P are not dis- played on the local variable screen.

(10) When ",D" or "<(Character string)>" is commanded in a block that is calling a G code macro, a miscellaneous command macro, or an ASCII code macro while the macro argument L/P valid function is enabled, a program error (P33) will occur. This parameter setting depends on the MTB specifications. (Parameter "#1241 set13"/bit5)

(11) Even when the miscellaneous function lock signal (AFL) is enabled, the macro call instruction is executed.

M06 T02 The value of T is treated as variable #20 in macro. The value is entered in the T code at the same time.

T02 M06 The value is not entered in the variable #20 in macro. The value is entered in the T code.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

476IB-1501277-Q

14.4.6 Detailed Description for Macro Call Instruction

(1) The argument can be designated for G65 but not for M98.

(2) The sequence number can be designated for M98, but not for G65, G66 and G66.1.

(3) M98 executes subprograms after all the commands except M, P, H and L in the M98 block are executed, but G65 branches directly to the subprogram without any further operation.

(4) When any address except O, N, P, H or L is included in the M98 block, the single block stop will be conducted, but not for the G65.

(5) The level of the M98 local variables is fixed but it varies in accordance with the nesting depth for G65. ("#1" before and after M98, for instance, has the same significance, but they have different significance in G65.)

(6) The M98 nesting depth extends up to 10 levels (for M8 Series) in combination with G65, G66 and G66.1. The G65 nesting depth extends up to only 4 levels in combination with G66 and G66.1.

Up to 4 nesting levels are available for macro subprogram calls by simple call or modal call.

The argument for a macro call instruction is valid only within the called macro level. Since the nesting depth for mac-

ro calls extends up to 4 levels, the argument can be used as a local variable for the programs of each macro call of

each level.

(1) When a G65, G66, G66.1 G code macro call or miscellaneous command macro call is conducted, this is regarded as a nesting level and the level of the local variables is also incremented by one.

(2) With modal call A, the designated user macro subprogram is called every time a movement command is execut- ed. However, when the G66 command is duplicated, the next user macro subprogram is called to movement commands in the macro every time an axis is moved. User macro subprograms are called from the one commanded last.

(Example 1)

Detailed description

Differences between M98 and G65 commands

Macro call command nesting depth

Main program User macro operation

Note

G66Pp 1 ; p1

x1

p1 p1 p1

x2 M99w1

x1 x2 M99w1

x1 x2 M99w1

p2

p1

G66Pp 2 ;

Zz1 ;

Zz2 ;

Zz3 ;

Zz4 ; Zz5 ;

G67 ;

G67 ;

p1 call

After Z1 execution

p2 call

p2 cancel

After Z3 execution

p1 cancel

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

477 IB-1501277-Q

(3) When M98 command is executed in G66 (G66.1) modal, the program designated by G66 (G66.1) will be exe- cuted after completing the movement command in the subprogram called by M98 (in case of G66.1, after com- pleting each block).

(Example 2)

When the program numbers of p1 and p2 are same, the program numbers of subprograms 1 and 2 will be

same.

G66 Pp1;

G01 Xx1;

M98 Pp2;

G67;

G00 Xx2;

M99;

G00 Xx3;

M99;

G00 Xx2;

M99;

Main program

Subprogram 1

Subprogram 2 Subprogram 1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

478IB-1501277-Q

14.4.7 Handling the Macro Call Command [C80]

Macro call commands (including the subprogram call command M98) are usually treated as executable statements;

however, they can be treated in the same manner as macro statements by setting the parameter. A batch processing

with commands at the call destination can be performed by treating as macro statements. Movement commands

before and after the macro call command are processed continuously; therefore, continuous movement is possible

without speed fluctuation.

The validity of this function depends on the MTB specifications (parameter "#1296 ext32/bit5").

(1) Details of operation when "#1296 ext32/bit5" is set to "0" (Usual operation)

Call only the subprogram in the macro call command block.

Function and purpose

Detailed description

Example of differences depending on the setting of "#1296 ext32/bit5"

Main program Subprogram Operation

:

N20 G01 X100. F1000 ;

N30 G65 P100 ; Call the subprogram "O100".

O100

N100 X50. ; Move to "X50." (execute "N100").

N200 M99 ; Return to the main program.

N40 X200. ; Move to "X200." (execute "N40").

N50 M30 ;

Speed

Commanded speed

Time

N20

N30

N40N100

N200

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

479 IB-1501277-Q

(2) Details of operation when "#1296 ext32/bit5" is set to "1"

Call the subprogram and execute the head block of the subprogram in the macro call command block.

(1) The parameter "#1296 ext32/bit5" is valid in the following macro call commands.

(2) When a command other than O, P, N, L and ",D" is issued in the subprogram call command block, the command is treated as an executable statement. The macro call command is treated as a macro statement even if any address is commanded. When the command is treated as an executable statement, the return command M99 is also treated as an executable statement.

(Example)

(3) The command is treated as an executable statement during single block operation.

(4) The command is treated as an executable statement when the macro single is valid.

(5) The M99 command to repeat the main program is treated as an executable statement.

Main program Subprogram Operation

:

N20 G01 X100. F1000 ;

N30 G65 P100 ; (1) Execute as follows in "N30".

Call the subprogram "O100".

Move to "X50." (execute "N100").

O100

N100 X50. ;

N200 M99 ; (2) Execute as follows in "N200".

Return to the main program.

Move to "X200." (execute "N40").

N40 X200. ;

N50 M30 ;

Speed

Commanded speed

Time

Detailed description of the operation

G65 Macro simple call (including MSTB macro)

G66.1 Macro modal call B (for each block)

M98 Subprogram call (including MSTB macro)

M99 Return from subprogram

M98 P1000 G01 ; This is an executable statement because this includes the address G.

N20 N30 N100

N200 N40

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

480IB-1501277-Q

(6) This function is valid regardless of the nesting depth. When the macro call commands are successively issued (when the head block of the subprogram is the macro call command), the commands are treated as successive macro statements. However, in the following cases, the commands are treated as executable statements, but not as successive macro statements.

When the return command M99 from the subprogram is successively issued When three or more macro call G65 or G66.1 commands are successively issued

(Example) When the return command from the subprogram is successively issued

(7) When the miscellaneous command macro call and G code macro call are commanded, the commands whose call type is M98, G65 or G66.1 are treated as macro statements, and the other commands are treated as exe- cutable statements.

(8) When the repetition is designated, only the last M99 is treated as a macro statement, and the other M99 com- mands are treated as executable statements.

(9) The commands are treated as executable statements during high-speed high-accuracy control II (G05P10000) and high-speed high-accuracy control III (G05P20000).

Operation

(1) Execute as follows in "N10".

Call the subprogram "O100".

Call the subprogram "O200".

Move to "X50." (execute "N200").

(2) Execute as follows in "N210".

Return to the subprogram "O100".

(3) Execute as follows in "N110".

Return to the main program.

Move to "X200." (execute "N20").

O100 N100 M98 P200. ; N110 M99;

N10 M98 P100; N20 X200. ;

O200 N200 G01 X50. ; N210 M99;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

481 IB-1501277-Q

(1) When successive macro statements are commanded immediately before the macro call command is issued, a batch processing for the macro call command and the head block of the subprogram may not be performed de- pending on the number of macro statement blocks. (Macro statements in up to 32 blocks are processed in a batch.)

(2) When a program error occurs in the head block of the subprogram, the block where the program error occurs depends on the setting of the parameter "#1296 ext32/bit5".

When "#1296 ext32/bit5" is set to "0" (usual operation)

When "#1296 ext32/bit5" is set to "1"

(3) When the batch processing for the macro call command and the head block of the subprogram is performed in the tool radius compensation mode, movement path may differ from that when the batch processing is not per- formed.

(4) When the movement amount of the block immediately before the macro call command is small, the speed may fluctuate in the macro call block. In the same way, when the movement amount of the block immediately before the return block from the subpro- gram is small, the speed may fluctuate in the return block from the subprogram.

Precautions

Main program Subprogram Operation

:

N20 G01 X100. F1000 ;

N30 M98 P100 ; The program error (P34) occurs in "N30". (The error occurs after the subprogram "O100" is called.)O100

N100 G1234 ; (Block with invalid G code)

N200 M99 ;

N40 X200. ;

N50 M30 ;

Main program Subprogram Operation

:

N20 G01 X100. F1000 ; The program error (P34) occurs in "N20". (The error occurs after the "N20" block is completed.)N30 M98 P100 ;

O100

N100 G1234 ; (Block with invalid G code)

N200 M99 ;

N40 X200. ;

N50 M30 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

482IB-1501277-Q

14.4.8 ASCII Code Macro

A macro program can be called out by setting the correspondence of a subprogram (macro program) preregistered

with the parameters to codes, and then commanding the ASCII code in the machining program.

This function can be used in addition to the G, M, S, T and B miscellaneous command macro call function.

These parameters depend on the MTB specifications.

(Execution example 1) M98 type

After outputting "2000" to common variable #146, the program No. 200 subprogram is called with the M98 subpro-

gram call type.

Parameters

(Execution example 2) G65 type

After outputting "500" to local variable #1, the program No. 3000 subprogram is called out with the G65 macro call

type.

Parameters

Function and purpose

#7401 (ASCII call Valid/Invalid) 1 (Valid)

#7402 (ASCII code) D

#7403 (Call type) 0 (M98 type)

#7404 (Program No.) 200

#7405 (Common variable) 146

#7411 (ASCII call Valid/Invalid) 1 (Valid)

#7412 (ASCII code) A

#7413 (Call type) 1 (G65 type)

#7414 (Program No.) 3000

#7415 (Common variable) 100 (Not used)

O0002; : D2000; : M30;

O200 : : : M99;

Main program Subprogram

O0003; : A500; : M30;

O3000 : : : M99;

Main program Subprogram

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

483 IB-1501277-Q

(*1) Functions as an argument when the macro argument L/P valid function is enabled. (M8 Series)

It cannot be used when the macro argument L/P valid function is disabled.

(1) The above command performs the same operations as the commands listed below. The correspondence of com- mands is set for each ASCII code with the parameters.

0 : M98 P****; 1 : G65 P**** ; 2 : G66 P**** ; 3 : G66.1 P**** ;

When parameters corresponding to items 2 and 3 above are set, the modal call will be canceled. Thus, com-

mand the cancel command (G67) after commanding the call code or during the user macro.

(2) The ASCII code for calling the macro and the program No. P**** to be called are set with the parameters. Up to two ASCII codes can be registered.

(3) The code section is output to the variables, but the output destination differs according to the call type and ad- dress.

(a) For M98 type

The code section is output to a common variable and the variable No. is set with a parameter. When corresponding to the first address (parameter #7401), the section is output to the common variable which is indicated by the first variable No. (parameter #7404). (These parameters depend on the MTB spec- ifications.)

(b) For G65/G66/G66.1 type

The code section is output to a local variable. The variable No. differs according to the address, and corre- sponds to the following table.

The following addresses can be used.

A, B, D, F, H, I, J, K, M, Q, R, S, T

Command format

**** P__ L__ ; ... Designates the address and code

ASCII code for calling out a macro (one character)

**** Value or expression output to variable (Setting range: 999999.9999)

P (*1)

L (*1)

Detailed description

Address # Address # Address #

A 1 K 6 U 21

B 2 L 12 V 22

C 3 M 13 W 23

D 7 N 14 X 24

E 8 O 15 Y 25

F 9 P 16 Z 26

G 10 Q 17

H 11 R 18

I 4 S 19

J 5 T 20

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

484IB-1501277-Q

(4) When ",D" or "<(Character string)>"is commanded in a block that is calling a G code macro, a miscellaneous command macro, or an ASCII macro while the macro argument L/P valid function is enabled, a program error (P33) will occur. This parameter setting depends on the MTB specifications. (Parameter "#1241 set13/bit5")

A macro cannot be called with an ASCII code from a macro-called program with an ASCII code.

The other patterns are shown below.

If it is judged that a macro cannot be called, the command will be handled as a normal command.

Up to 4 nesting levels are available for macro subprogram calls using simple call (G65) and modal call (G66/G66.1).

The macro call command's argument is valid only in the called macro level.

Since the macro call nest level is four, the argument can be used in the program as a local variable for each macro

call.

Counting the main program as 0, up to ten levels of subprograms can be called (M98) from a subprogram.

The following commands are used for subprogram nesting.

(1) M98

(2) G65 G66 G66.1

(3) G code call Miscellaneous function call (M/S/T/B)

(4) MDI interruption

(5) Automatic tool length measurement

(6) Multiple-step skip function

The following commands can be issued regardless of nesting.

(7) Fixed cycles

(8) Macro interruption

Precautions

Calling a macro with an ASCII code from a macro-called program

Called side

ASCII GMSTB macro G65/66/66.1 M98

Calling side ASCII

GMSTB macro

G65/66/66.1

M98

Nest level of macro call commands

Nest level of subprogram call command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

485 IB-1501277-Q

If "M" is designated for the ASCII code address, it may overlap with the codes basically necessary for that machine.

In this case, commands will be identified with the following priority using code values.

(1) M98, M99, M198 (subprogram call command) M00 (program stop command) M01 (optional stop command) M02, M30 (end command) M96, M97 (macro interruption command)

(2) When corresponding to miscellaneous code (M) call macro command

(3) When corresponding to ASCII code macro command

(4) Used as normal miscellaneous command

If "S", "T" and "B" are designated for the ASCII code address, commands will be identified with the following priority.

(1) When corresponding to miscellaneous code (S, T, B) call macro command

(2) When corresponding to ASCII code macro command

(3) Used as normal command

If the other addresses do not correspond to the ASCII code macro command, they will be identified as normal com-

mands. If the command to be used, overlaps with an ASCII code macro command, it must be commanded in the

macro-called program with the ASCII code.

Note that there are cases where the command will be unconditionally handled as a normal command, as explained

in below.

(1) When there is a data setting command (G10) in the same block.

(2) When ASCII code macro call is executed after the G code macro call command in the same block (also applies for M, S, T, B and ASCII)

(Example) When address "D" (G65 type) is set in the ASCII code macro, and M50 is set in the macro call (G65

type).

(3) When inputting parameters

(4) When there is a comma (,) before the address. (For example, ",D", ",R", etc.)

(5) When commanded in fixed cycle

(6) When commanded in macro subprogram called with G code macro call (Also applies when macro is called with M, S, T, B or ASCII)

Order of command priority

Conditions where the address set is handled as a normal command

M50 D200 ; Execute M code macro with argument (200 set in #7)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

486IB-1501277-Q

14.5 Variables Used in User Macros

Both the variable specifications and user macro specifications are required for the variables that are used with the

user macros.

The compensation amounts of the local, common and system variables among the variables for this NC system ex-

cept #33 are retained even when the unit's power is switched off. (Common variables can also be cleared by param-

eter "#1129 PwrVCl".)

When the user macro specifications are applied, variable Nos. can be turned into variables (multiple uses of vari-

ables) or replaced by .

Only one of the four basic arithmetic rule (+, -, * , / ) operations can be conducted with .

(Example 1) Multiple uses of variables

(Example 2) Example of multiple designations of variables

(Example 3) Replacing variable Nos. with

Function and purpose

Detailed description

Use of multiple variable

#1=10 #10=20 #20=30 ;

#5=# [#[#1]] ;

# [# [#1]] = # [#10] from #1 = 10. # [#10] = #20 from #10 = 20. Therefore, #5 = #20 or #5 = 30.

#1=10 #10 =20 #20=30 #5=1000;

#[#[#1]]=#5;

# [# [#1]] = # [#10] from #1 = 10. # [#10] = #20 from #10 = 20. Therefore, #20 = #5 or #20 = 1000.

#10=5; ##10 = 100; is handled in the same manner as # [#10] = 100.

##10=100 ; In which case, #5 = 100.

#10=5 ;

#[#10 + 1] = 1000 ; In which case, #6 = 1000.

#[#10 - 1] = -1000 ; In which case, #4 = -1000.

#[#10 * 3] = 100 ; In which case, #15 = 100.

#[#10/2] = -100 ; In which case, #2 = -100.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

487 IB-1501277-Q

When applying the user macro specifications, variables which have not been used even once after the power was

switched on or local variables which were not specified by the G65, G66 or G66.1 commands, can be used as

. Also, variables can forcibly be set to .

Variable #0 is always used as the and cannot be defined in the left-side member.

(1) Arithmetic expressions

Note that in an arithmetic expression is handled in the same way as 0.

+ = 0

+ = Constant

+ = Constant

(2) Variable quotations When only the undefined variables are quoted, they are ignored including the address itself. When #1 =

(3) Conditional expressions differs from "0", only for EQ and NE. (#0 is .)

(1) EQ and NE should be compared only for integers. For comparison of numeric values with decimals, GE, GT, LE, and LT should be used.

Undefined variables

#1 = #0; #1 =

#2 = #0 + 1; #2 = 1

#3 = 1 + #0; #3 = 1

#4 = #0 * 10; #4 = 0

#5 = #0 + #0; #5 = 0

G00 X#1 Z1000 ; Equivalent to G00 Z1000 ;

G00 X#1+10 Z1000 ; Equivalent to G00 X10 Z1000 ;

When #101 = When #101 = 0

#101EQ#0 = Established

#101EQ#0 0 = Not established

#101NE0 0 Established

#101NE0 0 0 Not established

#101GE#0 >= Established

#101GE#0 0 >= Established

#101GT0 > 0 Not established

#101GT0 0 > 0 Not established

#101LE#0 <= Established

#101LE#0 0 <= Established

#101LT0 < 0 Not established

#101LT0 0 < 0 Not established

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

488IB-1501277-Q

14.5.1 Common Variables

Common variables can be used commonly from any position. Number of the common variables sets depends on

the specifications.

Refer to the explanation about Variable Commands for details.

Any name (variable name) can be given to common variables #500 to #599. It must be composed of not more than

7 alphanumerics and it must begin with a letter. Do not use "#" in variable names. It causes an alarm when the pro-

gram is executed.

Variable names are separated by a comma (,).

(1) Once variable names have been set, they will not be cleared even when the power is turned off.

(2) Variables in programs can be quoted by their variable names. In this case, the variables should be enclosed in square parentheses [ ].

(Example 1) G01X [#POINT1] ;

(3) The variable Nos., data and variable names are displayed on the screen of the setting and display unit.

(Example 2)

Program... SETVN500 [A234567, DIST, TOOL25] ;

(1) Do not use characters (SIN, COS, etc.) predetermined by the NC and used for operation commands at the head of a variable name.

Detailed description

Variable name setting and quotation

SETVNn [ NAME1,NAME2, .....] ;

n Head No. of variable to be named (500 to 599)

NAME1 #n name (variable name)

NAME2 #n + 1 name (variable name)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

489 IB-1501277-Q

14.5.2 Local Variables (#1 to #33)

Local variables can be defined as an when a macro subprogram is called, and also used locally within

main programs and subprograms. They can be duplicated because there is no relationship between macros. (up to

4 levels)

The is assumed to be Aa1 Bb1 Cc1...... Zz1.

The following table shows correspondences points between the addresses designated by and the local

variable numbers used in the user macro main bodies.

[Argument designation I]

"" in the above table denotes argument addresses which cannot be used. However, provided that the G66.1 mode

has been established, an argument address denoted by the asterisk can be added for use.

The hyphen (-) mark indicates that there is no corresponding address.

A "" mark denotes an argument address which may be used depending on the MTB specifications. (Parameter

"#1241 set13"/bit5)

Detailed description

G65 P__ L__ ;

P Program No.

L Number of repetitions

Call command Argument ad- dress

Local vari- able No.

Call command Argument ad- dress

Local vari- able No.G65 G66 G66.1 G65 G66 G66.1

A #1 Q #17

B #2 R #18

C #3 S #19

D #7 T #20

E #8 U #21

F #9 V #22

* G #10 W #23

H #11 X #24

I #4 Y #25

J #5 Z #26

K #6 - #27

* L #12 - #28

M #13 - #29

* N #14 - #30

O #15 - #31

* P #16 - #32

- #33

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

490IB-1501277-Q

[Argument designation II]

The numbers 1 to 10 accompanying I, J and K indicate the sequence of the commanded sets, and are not re- quired in the actual command.

(1) Local variables in subprograms can be defined by means of the designation during macro call. (Lo- cal variables can be used freely in those subprograms.)

Argument designa- tion II address

Variable in macro Argument designa- tion II address

Variable in macro

A #1 J5 #17

B #2 K5 #18

C #3 I6 #19

I1 #4 J6 #20

J1 #5 K6 #21

K1 #6 I7 #22

I2 #7 J7 #23

J2 #8 K7 #24

K2 #9 I8 #25

I3 #10 J8 #26

J3 #11 K8 #27

K3 #12 I9 #28

I4 #13 J9 #29

J4 #14 K9 #30

K4 #15 I10 #31

I5 #16 J10 #32

K10 #33

Note

G65 P9900 A60. S100. F800;

M02; M99;

A(#1)= 60.000

F(#9)= 800

S(#19)= 100.000

G91 G01 X #19*COS #1 Y #19*SIN #1 F#9;

Main program

Subprogram

Local variables set by argument

Local variable data table

Refer to the local variables and control the movement, etc.

Subprogram O9900

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

491 IB-1501277-Q

(2) The local variables can be used freely in that subprogram.

In the front surface milling example, argument J is programmed as the milling pitch 10. mm. However, this is

changed to 8.333 mm to create an equal interval pitch.

The results of the No. of reciprocation data calculation is set in local variable #30.

G65 P1 A100. B50. J10. F500; #30=FUP #2/#5/2 ;

#5=#2/#30/2 ;

M98 H100 L#30 ;

X#1 ;

M99 ;

N100 G1 X#1 F#9 ;

Y#5 ;

X-#1 ;

Y#5 ;

M99 ;

A(#1) 100.000

B(#2) 50.000

F(#9) 500

J(#5) 10.000 8.333

(#30) 3

B

A

J

Local variables set by argument

The local variables can be changed in the subprogram.

Main program

Example of front surface milling

Local variable data table

Subprogram

To subprogram

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

492IB-1501277-Q

(3) Local variables can be used independently on each of the macro call levels (4 levels). Local variables are also provided independently for the main program (macro level 0). Arguments cannot be used for the level 0 local variables.

The status of the local variables is displayed on the setting and display unit.

Refer to the Instruction Manual for details.

14.5.3 System Variables

Data such as the workpiece offset amount can be read using system variables other than common variables or local

variables.

Refer to "23 System Variables" for details.

#1 0.100 #2 0.200 #3 0.300

#1=0.1 #2=0.2 #3=0.3;

G65 P1A1. B2. C3.;

M02;

#32

A (#1) 10.000 B (#2) 20.000 C (#3) 30.000 D (#7)

Z (#26)

G65 P100A100. B200.;

M99;

#32

A (#1) 1.000 B (#2) 2.000 C (#3) 3.000 D (#7)

Z (#26)

G65 P10A10. B20. C30.;

M99;

#32

A (#1) 100.000 B (#2) 200.000 C (#3)

Z (#26)

M99;

#32

Main program (Local level 0)

O1 (Local level 1)

O10 (Local level 2)

O100 (Local level 3)

Local variable (0) Local variable (3)Local variable (2)Local variable (1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

493 IB-1501277-Q

14.6 User Macro Commands

14.6.1 Operation Commands

A variety of operations can be performed between variables.

is a combination of constants, variables, functions and operators.

Constants can be used instead of #j and #k below.

Function and purpose

Command format

#i = ;

(1) Definition and sub- stitution of vari- ables

#i = #j Definition, substitution

(2) Addition operation #i = #j + #k Addition

#i = #j - #k Subtraction

#i = #j OR #k Logical sum (at every bit of 32 bits)

#i = #j XOR #k Exclusive OR (at every bit of 32 bits)

(3) Multiplication oper- ation

#i = #j * #k Multiplication

#i = #j / #k Division

#i = #j MOD #k Remainder

#i = #j AND #k Logical product (at every bit of 32 bits)

(4) Functions #i = SIN [#k] Sine

#i = COS [#k] Cosine

#i = TAN [#k] Tangent tan uses sin/cos.

#i = ASIN [#k] Arcsine

#i = ATAN [#k] Arctangent (ATAN or ATN may be used)

#i = ACOS [#k] Arccosine

#i = SQRT [#k] Square root (SQRT or SQR may be used)

#i = ABS [#k] Absolute value

#i = BIN [#k] Conversion from BCD to BIN

#i = BCD [#k] Conversion from BIN to BCD

#i = ROUND[#k] Rounding off (ROUND or RND may be used)

#i = FIX [#k] Discarding fractions after decimal point

#i = FUP [#k] Add for fractions less than 1

#i = LN [#k] Natural logarithm

#i = EXP [#k] Exponent with e (=2.718 .....) as bottom

#i = POW [#j, #k] Power [M8]

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

494IB-1501277-Q

(1) A value without a decimal point is basically treated as a value with a decimal point at the end (1 = 1.000).

(2) Compensation amounts from #10001 and workpiece coordinate system compensation values from #5201 are handled as data with a decimal point. Consequently, data with a decimal point will be produced even when data without a decimal point have been defined in the variable numbers.

(Example)

(3) The after a function must be enclosed in the square parentheses [ ].

(1) The sequence of the operations (a) to (c) is performed in the following order; the function, the multiplication op- eration and the addition operation.

(2) The part to be given priority in the operation sequence should be enclosed in square parentheses [ ]. Up to 5 pairs of such parentheses, including those for the functions, may be used.

Operation Commands Common variables after execution

#101 = 1000 ; #10001 = #101 ; #102 = #10001 ;

#101 1000.000 #102 1000.000

Detailed description

Sequence of operations

(a) Function

(b) Multiplication operation

(c) Addition operation

Note

#101=#111+#112*SIN #113

#101=SQRT #111-#112 *SIN #113 +#114 *#115 ; First pair of brackets

Second pair of brackets Third pair of brackets

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

495 IB-1501277-Q

Examples of operation commands

(1) Main program and argument designation

G65 P100 A10 B20.;

#101 = 100.000 #102 = 200.000; #1 10.000 #2 20.000 #101 100.000 #102 200.000

(2) Definition and substitution =

#1 = 1000 #2 = 1000.

#1 1000.000 #2 1000.000

#3 = #101 #4 = #102

#3 100.000 #4 200.000

From common vari- ables

#5 = #10001 (#10001 = -10.) #5 -10.000 From tool compensa- tion

(3) Addition and subtraction + -

#11 = #1 + 1000 #12 = #2 - 50. #13 = #101 + #1 #14 = #10001 - 3. (#10001 = -10.) #15 = #10001 + #102

#11 2000.000 #12 950.000 #13 1100.000 #14 -13.000 #15 190.000

(4) Multiplication and division * /

#21 = 100 * 100 #22 = 100. * 100 #23 = 100 * 100. #24 = 100. * 100. #25 = 100 / 100 #26 = 100. / 100 #27 = 100 / 100. #28 = 100. / 100. #29 = #10001 * #101 (#10001 = -10.) #30 = #10001 / #102

#21 10000.000 #22 10000.000 #23 10000.000 #24 10000.000 #25 1.000 #26 1.000 #27 1.000 #28 1.000 #29 -1000.000 #30 -0.050

(5) Remainder MOD

#19 = 48 #20 = 9 #31 = #19 MOD #20

#19/#20 = 48/9 = 5 Remainder 3 #31 = 3

(6) Logical sum OR

#3 = 100 #4 = #3 OR 14

#3 = 01100100 (binary) 14 = 00001110 (binary)

#4 = 01101110 = 110

(7) Exclusive OR XOR

#3 = 100 #4 = #3 XOR 14

#3 = 01100100 (binary) 14 = 00001110 (binary)

#4 = 01101010 = 106

(8) Logical product AND

#9 = 100 #10 = #9 AND 15

#9 = 01100100 (binary) 15 = 00001111 (binary)

#10 = 00000100 = 4

(9) Sine SIN

#501 = SIN [60] #502 = SIN [60.] #503 = 1000 * SIN [60] #504 = 1000 * SIN [60.] #505 = 1000. * SIN [60] #506 = 1000. * SIN [60.]

#501 #502 #503 #504 #505 #506

0.866 0.866 866.025 866.025 866.025 866.025

SIN [60] is equivalent to SIN [60.]

(10) Cosine COS

#541 = COS [45] #542 = COS [45.] #543 = 1000 * COS [45] #544 = 1000 * COS [45.] #545 = 1000. * COS [45] #546 = 1000. * COS [45.]

#541 #542 #543 #544 #545 #546

0.707 0.707 707.107 707.107 707.107 707.107

COS [45] is equivalent to COS [45.]

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

496IB-1501277-Q

(11) Tangent TAN

#551 = TAN [60] #552 = TAN [60.] #553 = 1000 * TAN [60] #554 = 1000 * TAN [60.] #555 = 1000. * TAN [60] #556 = 1000. * TAN [60.]

#551 #552 #553 #554 #555 #556

1.732 1.732 1732.051 1732.051 1732.051 1732.051

TAN [60] is equivalent to TAN [60.]

(12) Arcsine ASIN

#531 = ASIN[100.500 / 201.] #532 = ASIN[100.500 / 201] #533 = ASIN[0.500] #534 = ASIN[-0.500]

#531 #532 #533 #534

30.000 30.000 30.000 -30.000

When #1273/bit 0 is set to 1,

#534 will be 330.

(13) Arctangent ATN or ATAN

#561 = ATAN [173205 / 100000] #562 = ATAN [173205 / 100000.] #563 = ATAN [173.205 / 100] #564 = ATAN [173.205 / 100.] #565 = ATAN [1.73205]

#561 #562 #563 #564 #565

60.000 60.000 60.000 60.000 60.000

(14) Arccosine ACOS

#521 = ACOS [100 / 141.421] #522 = ACOS [100. / 141.421]

#521 #522

45.000 45.000

(15) Square root SQR or SQRT

#571 = SQRT [1000] #572 = SQRT [1000.] #573 = SQRT [10. * 10. + 20. * 20]

#571 #572 #573

31.623 31.623 22.360

In order to increase the accuracy, proceed with the operation inside parentheses as much as possible.

(16) Absolute value ABS

#576 = -1000 #577 = ABS [#576] #3 = 70. #4 = -50. #580 = ABS [#4 - #3]

#576 #577 #580

-1000.000 1000.000 120.000

(17) BIN, BCD #1 = 100 #11 = BIN [#1] #12 = BCD [#1]

#11 #12

64 256

(18) Rounding off RND or ROUND

#21 = ROUND [14 / 3] #22 = ROUND [14. / 3] #23 = ROUND [14 / 3.] #24 = ROUND [14. / 3.] #25 = ROUND [-14 / 3] #26 = ROUND [-14. / 3] #27 = ROUND [-14 / 3.] #28 = ROUND [-14. / 3.]

#21 #22 #23 #24 #25 #26 #27 #28

5 5 5 5 -5 -5 -5 -5

(19) Discarding frac- tions below dec- imal point FIX

#21 = FIX [14 / 3] #22 = FIX [14. / 3] #23 = FIX [14 / 3.] #24 = FIX [14. / 3.] #25 = FIX [-14 / 3] #26 = FIX [-14. / 3] #27 = FIX [-14 / 3.] #28 = FIX [-14. / 3.]

#21 #22 #23 #24 #25 #26 #27 #28

4.000 4.000 4.000 4.000 -4.000 -4.000 -4.000 -4.000

(20) Adding frac- tions less than 1 FUP

#21 = FUP [14 / 3] #22 = FUP [14. / 3] #23 = FUP [14 / 3.] #24 = FUP [14. / 3.] #25 = FUP [-14 / 3] #26 = FUP [-14. / 3] #27 = FUP [-14 / 3.] #28 = FUP [-14. / 3.]

#21 #22 #23 #24 #25 #26 #27 #28

5.000 5.000 5.000 5.000 -5.000 -5.000 -5.000 -5.000

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

497 IB-1501277-Q

(1) Notes on logical relation

EQ, NE, GT, LT, GE and LE conduct the same calculation as addition and subtraction. Pay careful attention to errors. For example, to determine whether or not #10 and #20 are equal in the following example, it is not always possible to judge correctly because of the error.

IF [#10 EQ #20]

Therefore when the difference between #10 and #20 falls within the designated error range, both values should be considered equal.

IF [ABS [#10 - #20] LT 0.01]

(2) If an operation command using a function is executed, a program error (P282) will occur when:

A number that sets cos to "0" has been designated in the argument of the tangent command (TAN). A negative number has been designated in the argument of the square root command (SQR). A negative number has been designated in the argument of the logarithm natural command (LN). "0" has been set to argument 1 and "0" or less to argument 2 in the power command (POW). [M8] A negative number has been set to argument 1 and a non-integer to argument 2 in the power command

(POW). [M8]

(3) A method of processing macro operation (*1) can be changed. (This depends on the MTB specifications (param- eter "1259 set31/bit7").) When this is set to "0" (high speed), a high-speed macro operation is available because display update data will not be created.

(*1) This specifies whether to update the display data every time the certain number of macro blocks are exe-

cuted for processing consecutive macro blocks.

(21) Natural loga- rithms LN

#10 = LN [5] #102 = LN [0.5] #103 = LN [-5]

#101 #102 Error

1.609 -0.693 "P282"

(22) Exponents EXP

#104 = EXP [2] #105 = EXP [1] #106 = EXP [-2]

#104 #105 #106

7.389 2.718 0.135

(23) Power POW [M8]

#107 = POW [2, 3] #108 = POW [2, -3] #109 = POW [2.5, 3.5] #110 = POW [0, -1] #111 = POW [-2, 2.5]

#107 #108 #109 Error Error

8.000 0.125 24.705 "P282" "P282"

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

498IB-1501277-Q

14.6.2 Control Commands

The flow of programs can be controlled by "IF-GOTO-", "IF-THEN-ELSE-ENDIF", and "WHILE-DO-".

When a program in an external device such as a USB memory device is executed, a period of processing time is

required in the subprogram call or in the instruction to change the flow of the program such as GOTO or DO-END;

therefore, interpolation may be decelerated or stopped.

When the condition is satisfied, control branches to "n" and when it is not satisfied, the next block is executed.

IF [conditional expression] can be omitted and, when it is, control branches to "n" unconditionally.

The following types of [conditional expressions] are available.

"n" of "GOTO n" must always be in the same program. If not, program error (P231) will occur. A formula or variable

can be used instead of i, #j and n.

In the block with sequence number "n" which will be executed after a "GOTO n" command, the sequence number

"Nn" must always be at the head of the block. Otherwise, program error (P231) will occur.

If "/" is at the head of the block and "Nn" follows, control can be branched to the sequence number.

(1) When searching the sequence number of the branch destination, the search is conducted up to the end of the program (% code) from the block following IF............; and if it is not found, it is then conducted from the top of the program to the block before IF............;. Therefore, branch searches in the opposite direction to the program flow will take longer time compared with branch searches in the forward direction.

(2) EQ and NE should be compared only for integers. For comparison of numeric values with decimals, GE, GT, LE, and LT should be used.

Function and purpose

Detailed description

Branch (IF-GOTO-)

IF [conditional expression] GOTO n; (n = sequence number in the program)

#i EQ #j = When #i and #j are equal

#i NE #j When #i and #j are not equal

#i GT #j > When #i is greater than #j

#i LT #j < When #i is less than #j

#i GE #j >= When #i is #j or more

#i LE #j <= When #i is #j or less

N100 X#22 ; #1=#1+1 ;

N100

N10 #22=#20 ; IF #2 EQ1 GOTO100 ; #22=#20 -#3 ;

Branching to N100 when content of #2 is 1 Branch

search Branch search

With N10 To head

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

499 IB-1501277-Q

(1) When the condition is satisfied, THEN-side processing is executed. Otherwise, ELSE-side processing is exe- cuted.

(2) Designate the conditional expression in the same way as for the "IF-GOTO-" command.

(3) If neither the THEN nor ELSE command is designated in the same block as for the IF command (the IF statement is commanded alone), a program error (P33) will occur.

(4) When the run command has an executable statement or multiple commands are designated, enclose them in the IF, THEN, ELSE, and ENDIF rows as shown in format (a).

(5) If the run command is an operation instruction, it can be described following THEN or ELSE as shown in formats (b) and (c).

(6) If the ENDIF command is omitted in format (a), a program error (P289) will occur. In format (b) or (c), the ENDIF command can be described like format (a). When the IF statement is used as a nesting in format (b) or (c), designate the ENDIF command.

When the IF statement is used as a nesting, the operation is performed as shown below.

[Operation]

The following operation is performed depending on whether the ENDIF command is designated in "C".

ENDIF command designated: ELSE processing is executed when the IF condition of A is false. ENDIF command undesignated: ELSE processing is executed when the IF condition of B is false.

(7) The THEN-side processing or ELSE-side processing can be omitted in any of formats (a) to (c).

(8) Formats (a) and (b) can be combined to issue commands.

(9) If any of THEN, ELSE, and ENDIF is commanded with no IF command issued, a program error (P289) will occur.

Branch (IF-THEN-ELSE-ENDIF)

(a) IF [conditional expression] THEN ; Macro statement or executable statement : ELSE ; Macro statement or executable statement : ENDIF ;

(b) IF [conditional expression] THEN operation command ; ELSE operation command ;

(c) IF [conditional expression] THEN operation command ELSE operation command ;

IF[ #100 EQ 0 ] THEN ; A

IF[ #110 EQ 1 ] THEN #120 = 10 ; B

ENDIF ; C

ELSE ;

#120 = 20;

ENDIF ;

When ELSE-side processing is omitted: IF[ #100 EQ 0 ] THEN ; #100 = 2 ; G00 X#101 ; ENDIF ;

When THEN-side processing is omitted: IF[ #100 EQ 0] ELSE #110 =10 ;

IF[ #100 EQ 0 ] THEN ; #100 = 2 ; G00 X#101 ; ELSE #110 =10 ; ENDIF ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

500IB-1501277-Q

(10) The IF statement can be commanded up to 10 nesting levels. When the nesting level exceeds 10, a program error (P288) will occur. The following shows an example in which the nesting level is set to 3.

(11) You can set a branch from the inside of the IF to ENDIF range to the outside.

(12) Do not set a branch to the inside of the IF to ENDIF range, including the ENDIF block. Branching disables the skipped IF command and executes all the commands designated up to the ENDIF command that is paired with the IF command.

(13) If IF to ENDIF is intersected with WHILE-DO to END, a program error (P288, P289, or P294) will occur.

If "A" to "C" are repeated 11 times or more while the IF condition in "B" is true, a program error (P288) will occur

in "B".

When the IF condition in "B" is false, "C" is not executed, so "A" to "C" are not processed repeatedly.

3 2 1

IF[ #100 EQ 0 ] THEN ; IF[ #110 GT #111 ] THEN ; : ELSE ; IF[ #120 EQ #121 ] THEN ; : ELSE ; : ENDIF ; ENDIF ; ELSE ; : ENDIF ;

IF[ #100 EQ 0 ] THEN ; IF[ #110 GT #111 ] GOTO100 ; : ENDIF ; : N100 ; :

IF[ #110 GT #111 ] GOTO100 ; : IF[ #100 EQ 0 ] THEN ; : N100 ; : ENDIF ;

WHILE[ #110 GT #111 ] DO1;

:

IF[ #100 EQ 0 ] THEN;

:

END1;

:

ENDIF;

A

B

C Not

possible

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

501 IB-1501277-Q

(14) You can call a subprogram (M98, G65, G66, etc.) from the inside of the IF to ENDIF range. Also, you can execute the IF, THEN, ELSE, and ENDIF commands in a subprogram. The IF statement can be commanded up to 10 nesting levels even in a subprogram. (The IF statement can be commanded up to 10 nesting levels for each program.)

(15) The IF statement processing (IF to ENDIF) must be ended in the same program. If processing is not ended in the same program, a program error (P289) will occur.

(16) The block skip ("/") for the IF/THEN/ELSE/ENDIF command block is valid only when it is assigned to the head of the block. The block skip ("/") assigned to the middle of the IF/THEN/ELSE/ENDIF command block is handled as shown below regardless of the setting of the optional block skip type (parameter "#1226 aux10/bit1"). When the block skip ("/") is assigned just after the THEN or ELSE command, it is ignored. Otherwise, the block skip ("/") is handled as a division command.

When the block skip ("/") is assigned to the head of the IF statement block, the operation is per-

formed as shown below.

While the conditional expression is established, the blocks from the following block to ENDm are repeatedly execut-

ed; when it is not established, execution moves to the block following ENDm. DOm may come before WHILE.

"WHILE [conditional expression] DOm" and "ENDm" must be used as a pair. If "WHILE [conditional expression]" is

omitted, these blocks will be repeatedly ad infinitum. The repeating identification Nos. range from 1 to 127. (DO1,

DO2, DO3, .....DO127) Up to 27 nesting levels can be used.

/ IF[ #100 EQ 0 ] THEN #100 =10 ; When "Optional block skip" signal is ON, IF statement will not be executed.

Repetitions

WHILE [conditional expression] DOm ; (m =1, 2, 3 ..... 127) :

:

END m ;

(1) Same identification No. can be used any number of times.

(2) Any number may be used as the WHILE-DOm identification No.

END1;

WHILE DO1;

END1;

WHILE DO1;

END1;

WHILE DO1;

END3;

WHILE DO3;

END2;

WHILE DO2;

END1;

WHILE DO1;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

502IB-1501277-Q

(3) Up to 27 nesting levels can be used for WHILE-DOm. Any number from 1 to 127 can be used for "m" as a re- peating identification No. regardless of the nesting depth.

For nesting, "m" which has been used once cannot be used.

(4) The number of WHILE-DOm nesting levels can- not exceed 27.

(5) WHILE - DOm must be designated first and ENDm last.

(6) WHILE - DOm and ENDm must correspond on a 1:1 (pairing) basis in a same program.

(7) Two WHILE - DOm's must not overlap. (8) Branching externally out of the WHILE - DOm range, is possible.

(9) No branching into WHILE - DOm, is possible. (10) Subprograms can be called by M98, G65 or G66 between WHILE - DOm's.

END1;

WHILE DO1;

END2;

WHILE DO2;

END27;

WHILE DO27;

DO1

DO2

DO27

END28;

END3;

END2;

END1;

WHILE DO1;

WHILE DO2;

WHILE DO3;

WHILE DO28;

Not possible

WHILE DO1;

END 1;

Not possible

WHILE DO1;

END1;

WHILE DO1;

Not possible

END2;

END1;

WHILE DO2;

WHILE DO1;

Not possible

WHILE DO1;

END1;

IF GOTOn;

Nn;

IF GOTOn;

WHILE DO1;

END1;

WHILE DO1;

Nn; Nn;

END1;END1;

IF GOTOn;

WHILE DO1; Not possible

Not possible

G65 P100;

END1;

WHILE DO1; WHILE DO02;

END2;

M99;M02;

(MP) (SP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

503 IB-1501277-Q

Even if a fixed cycle containing WHILE is called, the nesting level will be counted up.

(11) Calls can be initiated by G65 or G66 between WHILE - DOm's and commands can be issued again from 1. Up to 27 nesting levels are possible for the main program and subprograms.

(12) A program error will occur in M99 if WHILE and END are not paired in the subprogram (including macro subprogram).

(MP) Main program (SP) Subprogram

G65 P100;

END1;

WHILE DO1; WHILE DO1;

END1;

M99;M02;

(MP) (SP)(100)

DO1; WHILE

(SP)(MP)

M99;

M98 P100;

M02; DOn ENDn illegal usage.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

504IB-1501277-Q

14.6.3 External Output Commands; POPEN, PCLOS, DPRNT

Besides the standard user macro commands, the following macro instructions are also available as external output

commands. They are designed to output the variable values or characters to external devices. The data output port

can be chosen from RS-232C or memory card.

Command sequence

Function and purpose

Command format

Open command

POPEN

Closed command

PCLOS

Data output command

DPRNT

POPEN For preparing the data outputs

PCLOS For terminating the data outputs

DPRNT For character output and digit-by-digit variable numerical output

...Open command

... Data output command

... Closed command

POPEN

PCLOS

DPRNT

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

505 IB-1501277-Q

(1) The command is issued before the series of data output commands.

(2) The DC2 control code and % code are output from the NC system to the external output device.

(3) Once POPEN; is issued, it will remain valid until PCLOS; is issued.

(1) This command is issued when all the data outputs are completed.

(2) The DC4 control code and % code are output from the NC system to the external output device.

(3) This command is used together with the open command and it should not be issued unless the open mode has been established.

(4) Issue the close command at the end of the program even when the operation is suspended by resetting or some other operation during data output.

(1) The character output and decimal output of the variable values are done with ISO codes.

(2) The commanded character string is output as it is by the ISO code. Alphanumerics (A to Z, 0 to 9) and special characters (+, -, *, /) can be used. Note that asterisk (*) is output as a space code.

(3) The required significant digits above and below the decimal point of the variable values are each commanded within square parentheses. As a result, the commanded number of digits of variable values are output in ISO code in decimal notation from the high-order digits including the decimal point. In this case, trailing zeroes are not omitted.

(4) Leading zeroes are omitted. The omitted leading zero can be replaced by a space by the setting of a parameter. This can justify the last digit of the data output to the printer.

(5) Linefeed (LF) code will be output to the end of the output data. And by setting the parameter "#9112 to #9512 DEV0 - 4 CR OUTPUT" to "1", (CR) code will be written in just before EOB (LF) code.

A data output command can be issued even in two-part system mode. In this case, however, note that the out- put channel is shared by both part systems. So, be careful not to execute data output by both part systems simultaneously.

(1) The output port can be selected by the parameter "#9007 MACRO PRINT PORT".

(2) When the port is a memory card, the file name of the port can be designated by the parameter "#9054 MACRO PRINT FILE".

(3) When the port is a memory card, the port directory is fixed to root directory.

Detailed description

Open command : POPEN

Close command : PCLOS

Data output command : DPRNT

DPRNT [l1#v1 [d1 c1] l2#v2 [d2 c2] ...... ] ;

l1 Character string

v1 Variable No.

d1 Significant digits above decimal point c + d <= 8

c1 Significant digits after decimal point

Data output port

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

506IB-1501277-Q

(*1) Designate a blank line when opening an output file on an edit screen. If not, it will be regarded that no information

is provided in the head line of the file on the NC edit screen.

Use example:

#1127 DPRINT (DPRINT alignment) = 1 (Align the minimum digit and output)

#9007 MACRO PRINT PORT = 9 (Output to a memory card by an external output command)

#9008 MACRO PRINT DEV. = 0 (Device 0 is selected for an external output command)

#9054 MACRO PRINT FILE = DPRNT_OUT (File name to store output data of an external output command)

#9112 DEV0 CR OUTPUT = 1 (Insert the CR code just before the LF code)

#1=12.34;

#2=#0

#100=-123456789.;

#500=-0.123456789;

POPEN;

DPRNT[]; (*1)

DPRNT[VAL-CHECK];

DPRNT[1234567890];

DPRNT[#1[44]];

DPRNT[#2[44]];

DPRNT[#100[80]];

DPRNT[#500[80]];

DPRNT[#100[08]];

DPRNT[#500[08]];

PCLOS;

M30;

%

Blank Linefeed code

Values above the number of significant figures are rounded down

Values below the number of significant figures are round- ed off

(CR) (LF)

V A L - C H E C K (CR) (LF)

1 2 3 4 5 6 7 8 9 0 (CR) (LF)

1 2 . 3 4 0 0 (CR) (LF)

0 . 0 0 0 0 (CR) (LF)

- 2 3 4 5 6 7 8 9 (CR) (LF)

- 0 (CR) (LF)

- . 0 0 0 0 0 0 0 0 (CR) (LF)

- . 1 2 3 4 5 6 7 9 (CR) (LF)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

507 IB-1501277-Q

(1) An external output command during restart-searching is ignored. After using the restart-search type 2 to restart-search between a POPEN command and a PCLOS command, execute a POPEN command by such as an MDI interruption before restarting the program.

(2) An external output command during graphic check is ignored.

(3) A program error (P460) will occur if an external output command is issued when the output device is unable to output due to a lack of connection, a low free space etc.

(4) The NC automatically conducts a closing processing when it is reset between a POPEN command and a PCLOS command. So, execute a POPEN command by such as an MDI interruption before executing the rest of the ma- chining program.

(5) If a program error occurs between a POPEN command and a PCLOS command, NC will not automatically con- duct a closing processing. So, there is no need to execute a POPEN command by such as an MDI interruption before executing the rest of the machining program.

(6) If a program error occurs to the output port due to the setting of the memory card, execute an NC reset and close the output file before demounting the card.

(7) When the output port is a memory card, the output file may be destroyed if the card is dismounted or the power is turned off without issuing a PCLOS command or NC reset after a POPEN command is issued.

(8) As for M800 series, output data of an external output command can be output to a memory card only when the drive name of the card is "E:" or "F:". Drive name "E" is given the priority. A program error (P460) will occur if the output port executes the external output command of the memory card when the drive name is neither "E:" nor "F:".

(9) When the data is output to a memory card, the maximum number of files that can be created is determined by the FAT16 format.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

508IB-1501277-Q

14.6.4 Precautions

When the user macro commands are employed, it is possible to combine conventional control commands such as

movement commands and the M, S, T commands with macro commands such as the arithmetic, decision, branching

for creating the machining programs. When the former commands are made into executable statements and the

latter commands into macro statements, since macro statement processing is not directly related to machine control,

it is an effective means for reducing machining time.

By setting the parameter "#8101 MACRO SINGLE", the macro statements can be processed concurrently with the

execution of the executable statement.

(During normal machining, set the parameter OFF to process macro statements in a batch, and during a program

check, set the parameter ON to execute the macro statements block by block. Setting can be chosen depending on

the purpose.)

By setting the parameter "#1701 cfg01/bit4" to "1", macro statements are processed in a batch to perform a contin-

uous operation regardless of the setting of the parameter "#8101 MACRO SINGLE". (Only for C80 series)

The operation of the macro statement is as shown in the table below.

There is a signal to notify this macro single setting status to the sequence program. This signal is turned ON when

the control parameter "#8101 MACRO SINGLE" is set to "1" (Stop every block during signal block operation). (Only

for C80 series)

The operation of the PLC signal depends on the MTB specifications.

Program example

Macro statements here refer to the following commands.

(a) Arithmetic commands (block including "=")

(b) Control commands (block including GOTO, DO-END, etc.)

(c) Macro call commands (Includes macro calls and cancel commands based on G codes (G65, G66, G66.1, G67).)

Execution statements refer to statements other than macro statements.

Precautions

#8101 Operation method #1701 cfg01/bit4 Operation

0 Continuous operation 0 Processes macro statements in batch

0 Continuous operation 1 Processes macro statements in batch

0 Single operation 0 Processes macro statements in batch

0 Single operation 1 Processes macro statements in batch

1 Continuous operation 0 Processes macro statements block by block

1 Continuous operation 1 Processes macro statements in batch

1 Single operation 0 Processes macro statements block by block

1 Single operation 1 Processes macro statements block by block

N1 G91 G28 X0 Y0 ; ......(1)

N2 G92 X0 Y0 ; ......(2)

N3 G00 X-100. Y-100. ; ......(3)

N4 #101 = 100. * COS[210.] ; ......(4) (4), (5) Macro statements

N5 #103 = 100. * SIN[210.] ; ......(5)

N6 G01 X#101 Y#103 F800 ; ......(6)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

509 IB-1501277-Q

Flow of processing by the program example in the previous page

N4, N5 and N6 are processed in parallel with the control of the executable statement of N3. If the analysis of N4,

N5, and N6 is in time during N3 control, the machine movement is continuously controlled.

N4 is processed in parallel with the control of the executable statement of N3. After N3 is finished, N5 and N6 are

analyzed, and then N6 is executed. Therefore, the machine control is held on standby during the N5 and N6 analysis

time.

Program analysis

Executing block

Program analysis

Executing block

(1) (2) (4)(5)(6)(3)

(1) (2) (4)(5)(6)(3)

(1) (2) (3)

(1) (2) (3)

(4) (5) (6)

(4) (5) (6)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

510IB-1501277-Q

14.6.5 Actual Examples of Using User Macros

The following three examples will be described.

(Example 1) SIN curve

(Example 2) Bolt hole circle

(Example 3) Grid

(Example 1) SIN curve

Program example

G65 Pp1 Aa1 Bb1 Cc1 Ff1;

a1; Initial value 0 b1; Final value 360 c1; R of R*SIN f1; Feedrate

(SIN ) Y

X

100.

- 100.

0 90. 270. 360.180.

G65 P9910 A0 B360.C100.F100;

#1=0 #2=360.000 #3=100.000 #9=100.000

WHILE #1LE#2 DO1; #101=#3*SIN #1 ; G90 G01 X#1 Y#10 F#9; #1=#1+10.; END1; M99;

Main Program

Local variables set by argument

O9910(Subprogram)

To subprogram

(Note 1)Commanding with one block is possbiel when 90G01X#1Y[#3*SIN[#1]] F#9; is issued.

(Note 1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

511 IB-1501277-Q

(Example 2) Bolt hole circle

After defining the hole data with fixed cycle (G72 to G89), the macro command is issued as the hole position com-

mand.

G81 Z-100.R50.F300L0 G65 P9920 Aa1 Bb1 Rr1 Xx1 Yy1;

#101=0; #102=#4003; #103=#5001; #104=#5002; #111=#1;

WHILE #101LT#2 DO1;

#120=#24+#18*COS #111 ; #121=#25+#18*SIN #111 ;

#122=#120 #123=#121; IF #102EQ90 GOTO100;

#122=#120-#103; #123=#121-#104;

#103=#120; #104=#121;

N100 X#122 Y#123; #101=#101+1; #111=#1+360.*#101/#2;

END1; M99;

-X x1

W

y1

-Y

a1

Radius*COS[#111] +Center coordinates X #120 Radius*SIN [#111] +Center coordinates Y #121 #120 #122 #121 #123

O9920

#102=90

N100 X#122 Y#123

Y

Y

N

N

END

#120-#103 #122 #121-#104 #123 #120 #103 #121 #104

Main program

O9920(Subprogram)

(Note 1)

(Note 1)

(Note 1)

(Note 1)

(Note 1)

a1;Start angle b1;No. of holes r1;Radius x1;X axis center position y1;Y axis center position

#101=No. of hole count

#102=G90 or G91

#103=X axis current position #104=Y axis current position #111=Start angle

#120=Hole position X coordinates #121=Hole position Y coordinates #122=X axis absolute position #123=Y axis absolute position

Judgment of G90, G91 mode #122=X axis incremental position #123=Y axis incremental position X axis current position update Y axis current position update

#101 No. of holes

Drilling command

No.of holes counter up

#111=Hole position angle

#101+1 #101 360 *#101/No. of holes +#1 #111

(Note 1) The processing time can be shortened by programming in one block.

To subprogram

0 #101 G90,G91 mode Read in #102 Read previous coordinates X #103 Y #104 Start angle #111

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

512IB-1501277-Q

(Example 3) Grid

After defining the hole data with the fixed cycle (G72 to G89), macro call is commanded as a hole position command.

G28 X0 Y0 Z0;

T1 M06;

G90 G43 Z100.H01;

G54 G00 X0 Y0;

G81 Z-100.R3.F100 L0 M03;

G65 P9920 X-500.Y-500.A0 B8 R100.;

G65 P9920 X-500.Y-500.A0 B8 R200.;

G65 P9920 X-500.Y-500.A0 B8 R300.;

-X

200R 300R

100R

-500.

-500. W

-Y

To subprogram

To subprogram

To subprogram

G81 Zz1 Rr1 Ff1; G65 Pp1 Xx1 Yy1 Ii1 Jj1 Aa1 Bb1;

-X

i1

x1

W

j1 y1

-Y

x1; X axis hole position y1; Y axis hole position i1; X axis interval j1; Y axis interval a1; No. of holes in X direction b1; No. of holes in Y direction

Subprogram is on next page

G28 X0 Y0 Z0; T1 M06; G90 G43 Z100.H01; G54 G00 X0 Y0; G81 Z-100.R3.F100 L0 M03; G65 P9930 X0 Y0 I-100. J-75. A5B3;

G84 Z-90. R3. F250 M03; G65 P9930 X0 I-100. J-75. A5B3;

-X

-X

100.100.

-75.

-75.

100.

-100.

W

-Y

-Z

To subprogram

To subprogram

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

513 IB-1501277-Q

END

#106>0

#105>0

X#101 Y#102

#101+#103 #101

#105-1 #105

#101-#103 #101 #102+#104 #102

-#103 #103

#106-1 #106

N

Y

#101=#24; #102=#25;

#103=#4; #104=#5;

#106=#2;

WHILE #106GT0 DO1;

#105=#1;

WHILE #105GT0 DO2;

G90 X#101 Y#102;

#101=#101+#103; #105=#105-1;

END2;

#101=#101-#103; #102=#102+#104;

#103=-#103; #106=#106-1;

END1;

M99;

O9930

#101 #102 #103 #104 #106

:x 1 :y 1 :i 1 :j 1 :b 1

#105No. of holes in X direction: a 1

O9930(Subprogram)

(Note 1)

(Note 1)

(Note 1)

#101=X axis start point #102=Y axis start point #103=X direction interval #104=Y direction interval #106=No. of holes in Y direction

Y direction drilling completion check

No. of holes in X direction set

No. of holes in Y direction check

Positioning, drilling

X coordinates update

No. of holes in X direction 1

X axis drilling direction reversal

No. of holes in Y direction 1

X coordinates revision Y coordinates update

(Note 1) The processing time can be shortened by programming in one block.

Start point X coordinates

Start point Y coordinates

X axis interval

Y axis interval

No. of holes in Y direction

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

514IB-1501277-Q

14.7 Macro Interruption; M96, M97

A user macro interrupt signal (UIT) is input from the machine to interrupt the program currently being executed, and

instead calls and executes another program. This is called the user macro interrupt function.

Use of this function allows the program to operate flexibly enough to meet varying conditions.

Function and purpose

Command format

User macro interruption enable

M96 P__ H__ ;

M96 H__ ;

P Interrupt program No. Use a parameter to read out a 4- or 8-digit interrupt program No. starting with O.

File name A file name can be specified instead of a program No. In this case, enclose the file name inside brackets < >. (The file name can have up to 32 characters including the extension.)

H Interrupt sequence No.

User macro interruption disable

M97 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

515 IB-1501277-Q

(1) The user macro interrupt function is enabled and disabled by the M96 and M97 commands programmed to make the user macro interrupt signal (UIT) valid or invalid. That is, if an interrupt signal (UIT) is input from the machine side in a user macro interruption enable period from when M96 is issued to when M97 is issued or the NC is reset, a user macro interruption is caused to execute the program specified by P__ instead of the one being ex- ecuted currently.

(2) Another interrupt signal (UIT) is ignored until M96 is commanded while one user macro interrupt is in service. It is also ignored in a user macro interrupt disable state such as after an M97 command is issued or the system is reset.

(3) M96 and M97 are processed internally as user macro interrupt control M codes.

(4) If calling a subprogram numbered with O is enabled, a program number starting with O and specified by P com- mand value is called with a priority. However, when P command value is less than the digit number set with parameter "#8129 subprogram number selection", increase the digit number of command value by adding leading zeros. (Example) When parameter "#8129 subprogram number selection"="1", call the subprogram "O0012" with "M96 P12" command.

(5) In the following cases, a subprogram of P command value without O No. is called even with a setting to call a subprogram with O No.

The digit number of P command value is over the digit number of the program number set with parameter "#8129 subprogram number selection".

An interrupt program starting with commanded O No. does not exist.

A user macro interruption is enabled only during execution of a program.

The enabling conditions are as follows:

(1) An automatic operation mode or MDI has been selected.

(2) The system is running in automatic mode.

(3) No user macro interruption is being processed.

(1) A macro interruption is disabled in manual operation mode (JOG, STEP, HANDLE, etc.)

Detailed description

Enabling conditions

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

516IB-1501277-Q

(1) When a user macro interrupt signal (UIT) is input after an M96Pp1 ; command is issued by the current program, interrupt program Op1 is executed. When an M99; command is issued by the interrupt program, control returns to the main program.

(2) If M99 Pp2; is specified, the blocks from the one next to the interrupted block to the last one are searched. If none is found, blocks between the first block of the program and the one before the interrupted block are searched. Control then returns to the block with sequence number Np2 that is found first in the above search.

Outline of operation

M99(Pp2) ;

M96 Pp1;

Np2 ;

Np2 ;

M97 ;

M30 ;

Op1 ;

User macro interrupt signal (UIT)

"User macro interruption" signal is acceptable.

"User macro interruption" signal is not acceptable.

Interrupt signal (UIT) not acceptable within a user macro program

(If Pp2 is specified)

Interrupt program

Current program

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

517 IB-1501277-Q

Interrupt types 1 and 2 can be selected by the parameter "#1113 INT_2".

[Type 1]

(1) When an interrupt signal (UIT) is input, the system immediately stops moving the tool and interrupts dwell, then permits the interrupt program to run.

(2) If the interrupt program contains a move or miscellaneous function (MSTB) command, the commands in the in- terrupted block are lost. After the interrupt program completes, the main program resumes operation from the block next to the interrupted one.

(3) If the interrupted program contains no move and miscellaneous (MSTB) commands, it resumes operation, after completion of the interrupt program, from the point in the block where the interrupt was caused.

If an interrupt signal (UIT) is input during execution of a miscellaneous function (MSTB) command, the NC system

waits for a completion signal (FIN). The system thus executes a move or miscellaneous function command (MSTB)

in the interrupt program only after input of FIN.

[Type 2]

(1) When an interrupt signal (UIT) is input, the interrupt program is executed after the commands in the block exe- cuted at that time have been completed. Even if the interrupt program contains a move or miscellaneous function (MSTB) command, the same processing is performed.

(2) If the interrupt program contains no move and miscellaneous function (MSTB) commands, the interrupt program is executed without interrupting execution of the current block.

However, if the interrupt program has not ended even after the execution of the original block is completed, the sys-

tem may stop machining temporarily.

Interrupt type

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

518IB-1501277-Q

block 1

block 1

block 1

block 3

block 3

block 3

block 2

block 1 block 3block 2

block 1 block 3block 2

block 1 block 3block 2

block 2

block 2 block 2

User macro interruption signal

If the interrupt program contains a move or miscellaneous function command, the reset of block (2) is lost.

User macro interruption signal

User macro interruption signal

User macro interruption signal

Interrupt program

Interrupt program

Interrupt program

Main program [Type 1]

[Type 2] Main program

Executing

Interrupt program

If the interrupted program contains no move and miscellaneous commands, it resumes operation from where it left in block (2), that is, all the reset commands.

If the interrupted program contains no move and miscellaneous commands, the interrupted program is kept executed in parallel to execution of the current program.

The move or miscellaneous command in the interrupt program is executed after completion of the current block.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

519 IB-1501277-Q

User macro interruption is classified into the following two types depending on the way an interrupt program is called.

These two types of interrupt are selected by parameter "#8155 Sub-pro interrupt". This setting also involves the MTB

settings (parameter "#1229 set01/bit0").

Both types of interrupt are added to the calculation of the nest level. The subprograms and user macros called in

the interrupt program are also added to the calculation of the nest level.

A user macro interruption signal (UIT) is accepted in the following two methods. These two methods are selected

by a parameter "#1112 S_TRG".

M99 (P__) ;

An M99 command is issued in the interrupt program to return to the main program.

Address P is used to specify the sequence number of the return destination in the main program.

The blocks from the one next to the interrupted block to the last one in the main program are first searched for the

block with designated sequence No. If it is not found, all the blocks before the interrupted one are then searched.

Control thus returns to the block with sequence No. that is found first in the above search.

(This is equivalent to M99P__ used after M98 calling.)

Calling method

Subprogram type in- terrupt

The user macro interruption program is called as a subprogram. As with calling by M98, the local variable level remains unchanged before and after an interrupt.

Macro type interrup- tion

The user macro interpretation program is called as a user macro. As with calling by G65, the local variable level changes before and after an interrupt. No arguments in the main program can be passed to the interrupt program.

Acceptance of user macro interruption signal (UIT)

Status trigger method The user macro interruption signal (UIT) is accepted as valid when it is ON. If the interrupt signal (UIT) is ON when the user macro interrupt function is enabled by M96, the interrupt program is activated. By keeping the interrupt signal (UIT) ON, the interrupt program can be executed re- peatedly.

Edge trigger method The user macro interrupt signal (UIT) is accepted as valid at its rising edge, that is, at the instance it turns ON. This mode is useful to execute an interrupt program once.

Returning from user macro interruption

ON

OFF

User macro interruption signal (UIT)

User macro interruption signal (UIT)

User macro interruption

(Status trigger method)

(Edge trigger method)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

520IB-1501277-Q

If modal information is changed by the interrupt program, it is handled as follows after control returns from the inter-

rupt program to the main program.

Modal information affected by user macro interruption

Returning with M99; The change of modal information by the interrupt program is invalidated and the original modal information is restored. With interrupt type 1, however, if the interrupt program contains a move com- mand, miscellaneous function (MSTB) command, or specific command (*1), the original modal information is not restored.

Returning with M99P__ ; The original modal information is updated by the change in the interrupt pro- gram even after returning to the main program. This is the same as in returning with M99P__; from a program called by M98, etc.

Op1 ;

Np2 ;

M99(p2) ;

M96Pp1 ;

User macro interruption signal (UIT)

Modal before interrupt is restored.

Main program being executed

Modal modified by interrupt program remains effective.

Interrupt program

(Modal change)

(With Pp2 specified)

Modal information affected by user macro interruption

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

521 IB-1501277-Q

(*1) When interrupt type 1 is applied, modal information is not restored for the commands shown below after control

has been returned from the interrupt program.

The lathe-system commands are shown based on the G code system 3.

Hyphen "-" indicates that no specification is provided.

Command Function

Machining center system

Lathe system

G04 G04 Dwell

G11 G11 Data input by program cancel

Tool life management data registration cancel

G27 G27 Reference position check

G92 G92 Spindle clamp speed setting

G92.1 G92.1 Workpiece coordinate system preset

- G110 Mixed control (cross axis control) I

- G111 Axis name switch

- G113 Spindle synchronization I cancel

Tool spindle synchronization IA (spindle - spindle synchro- nization) cancel

Tool spindle synchronization II (hobbing) cancel

- G114.1 Spindle synchronization I

- G114.2 Tool spindle synchronization IA (Spindle - spindle synchro- nization)

- G114.3 Tool spindle synchronization II (Hobbing)

G115 G115 Start point designation timing synchronization Type 1

G116 G116 Start point designation timing synchronization Type 2

G120.1 G120.1 Machining condition selection I

G121 G121 Machining condition selection I cancel

- G125 Control axis synchronization between part systems

- G126 Control axis superimposition

G127 G127 All part system reverse run prohibit command

! ! Timing synchronization (! code)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

522IB-1501277-Q

Modal information when control passes to the user macro interruption program can be known by reading system

variables #4401 to #4520.

The unit specified with a command applies.

The above system variables are available only in the user macro interrupt program.

If they are used in other programs, program error (P241) will occur.

(*1) Programs are registered as files. When the program No. (file name) is read with #4515, the character string will

be converted to a value.

(Example 1)

The file name "123" is the character string 031, 032, 033,

so the value will be (031-030)*100 + (032-030)*10 + (033-030) = 123.0.

Note that if the file name contains characters other than numbers, it will be "blank".

(Example 2)

If the file name is "123ABC", it contains characters other than numbers, so the result will be "blank".

The user macro interruption is controlled by M96 and M97. However, these commands may have been used for

other operations. To be prepared for such cases, these command functions can be assigned to other M codes.

(This invalidates program compatibility.)

User macro interrupt control with substitute M codes is possible by setting the substitute M code in parameters

"#1110 M96_M" and "#1111 M97_M" and by validating the setting by selecting parameter "#1109 subs_M".

If the parameter "#1109 subs_M" used to enable the substitute M codes is not selected, the M96 and M97 codes

remain effective for user macro interrupt control.

In either case, the M codes for user macro interrupt control are processed internally and not output to the outside.

Modal information variables (#4401 to #4520)

System vari- able

Modal information

#4401 :

#4421

G code (group 01) : G code (group21)

Some groups are not used.

#4507 D code

#4509 F code

#4511 H code

#4513 M code

#4514 Sequence No.

#4515 Program No. (*1)

#4519 S code

#4520 T code

M code for control of user macro interruption

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

523 IB-1501277-Q

(1) Subprogram call validity "#8155 Sub-pro interrupt" ("#1229 set01/bit0" (*1)) 1: Subprogram type user macro interruption 0: Macro type user macro interruption

(2) Status trigger mode validity "#1112 S_TRG" (*1) 1: Status trigger mode 0: Edge trigger mode

(3) Interrupt type 2 validity "#1113 INT_2" (*1) 1: The executable statements in the interrupt program are executed after completion of execution of the current block. (Type 2) 0: The executable statements in the interrupt program are executed before completion of execution of the current block. (Type 1)

(4) Validity of substitute M code for user macro interruption control "#1109 subs_M" (*1) 1: Valid 0: Invalid

(5) Substitute M codes for user macro interruption control (*1) Interrupt enable M code (equivalent to M96) "#1110 M96_M" Interrupt disable M code (equivalent to M97) "#1111 M97_M" Specify "03" to "97", excluding "30".

(6) Subprogram number selection "#8129 Subpro No. select" Select a subprogram number to be called preferentially under subprogram control. 0: Commanded program number 1: 4-digits program number beginning with O No. 2: 8-digits program number beginning with O No.

(*1) These parameter settings depend on the MTB specifications.

The program called by the user macro, figure rotation, macro interruption, or compound type fixed cycle also conforms to this setting.

(1) If the user macro interruption program uses system variables #5001 and after (position information) to read co- ordinates, the coordinates pre-read in the buffer are used.

(2) If an interrupt is caused during execution of the tool nose R compensation or tool radius compensation, a se- quence No. (M99P__;) must be specified with a command to return from the user macro interrupt program. If no sequence No. is specified, control cannot return to the main program normally.

(3) With interrupt type 1, when the interrupt program contains a move or MSTB command, do not command the macro interruption to the waiting part system among multiple part systems. Doing so stops machining while the part system that does not perform an interruption remains set in the waiting standby state. If an interruption is carried out, machining can be started by the "ignore the timing synchronization between part systems" signal; however, the operation of this signal depends on the MTB specifications.

Parameters

Precautions

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (1/2)

14 Macro Functions

524IB-1501277-Q

15

525 IB-1501278-Q

Program Support Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

526IB-1501278-Q

15Program Support Functions 15.1 Corner Chamfering I/Corner Rounding I

Chamfering at any angle or corner rounding is performed automatically by adding ",C_" or ",R_" to the end of the

block to be commanded first among those command blocks which shape the corner with lines only.

15.1.1 Corner Chamfering I ; G01 X_ Y_ ,C

This chamfers a corner by connecting the both side of the hypothetical corner which would appear as if chamfering

is not performed, by the amount commanded by ",C_".

Corner chamfering is performed at the point where N100 and N200 intersect.

(1) The start point of the block following the corner chamfering is the hypothetical corner intersection point.

(2) If there are multiple or duplicate corner chamfering commands in a same block, the last command will be valid.

(3) When both the corner chamfer and corner rounding commands exist in the same block, the latter command is

valid.

(4) Tool compensation is calculated for the shape which has already been subjected to corner chamfering.

(5) When the block following a command with corner chamfering does not contain a linear command, a corner cham-

fering/corner rounding II command will be executed.

(6) Program error (P383) will occur when the movement amount in the corner chamfering block is less than the

chamfering amount.

(7) Program error (P384) will occur when the movement amount in the block following the corner chamfering block

is less than the chamfering amount.

(8) Program error (P382) will occur when a movement command is not issued in the block following the corner cham-

fering I command.

Function and purpose

Function and purpose

Command format

N100 G01 X__ Y__ ,C__ ;

N200 G01 X__ Y__ ;

,C Length up to chamfering starting point or end point from hypothetical corner

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

527 IB-1501278-Q

Program example

(1) G91 G01 X100. ,C10.;

(2) X100. Y100.;

(a) Chamfering start point

(b) Hypothetical corner intersection point

(c) Chamfering end point

X100.0 X100.0

10.0

10.0

X

Y

Y100.0

(1)

(2)

(a) (b)

(c)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

528IB-1501278-Q

15.1.2 Corner Rounding I ; G01 X_ Y_ ,R_

The hypothetical corner, which would exist if the corner were not to be rounded, is rounded with an arc that has a

radius commanded by ",R_" only when configured of linear lines.

Corner rounding is performed at the point where N100 and N200 intersect.

(1) The start point of the block following the corner rounding is the hypothetical corner intersection point.

(2) When both corner chamfering and corner rounding are commanded in the same block, the latter command will

be valid.

(3) Tool compensation is calculated for the shape which has already been subjected to corner rounding.

(4) When the block following a command with corner rounding does not contain a linear command, a corner cham-

fering/corner rounding II command will be executed.

(5) Program error (P383) will occur when the movement amount in the corner rounding block is less than the R value.

(6) Program error (P384) will occur when the movement amount in the block following the corner rounding block is

less than the R value.

(7) Program error (P382) will occur if a movement command is not issued in the block following the corner rounding.

Function and purpose

Command format

N100 G01 X__ Y__ ,R__ ;

N200 G01 X__ Y__ ;

,R Arc radius of corner rounding

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

529 IB-1501278-Q

Program example

(1) G91 G01 X100. ,R10.;

(2) X100. Y100.;

(a) Corner rounding start point (b) Corner rounding end point

(c) Hypothetical corner intersection point

X100.0 X100.0

X

Y

Y100.0

(1)

(2)

R10.0(a)

(b)

(c)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

530IB-1501278-Q

15.1.3 Corner Chamfering Expansion/Corner Rounding Expansion

Using an E command, the feedrate can be designated for the corner chamfering and corner rounding section.

In this way, the corner section can be cut into a correct shape.

Example

Function and purpose

F200.

E100.

F200.

F200.

Y F200.

(G94) G01Y70.,C30. F200.E100.; X-110.;

(G94) G01Y70.,R30. F200.E100.; X-110.;

X

E100.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

531 IB-1501278-Q

(1) The E command is modal. It is also valid for the feed in the next corner chamfering/corner rounding section.

Example

(2) E command modal has separate asynchronous feedrate modal and synchronous feedrate modal functions.

Which one is validated depends on the asynchronous/synchronous mode (G94/G95).

(3) When the E command is 0, or when there has not been an E command up to now, the corner chamfering/corner

rounding section feedrate will be the same as the F command feedrate.

Example

(4) E command modal is not cleared even if the reset button is pressed.

It is cleared when the power is turned OFF. (In the same manner as F commands.)

(5) All E commands except those shown below are at the corner chamfering/corner rounding section feedrate.

- E commands during thread cutting modal

- E commands during thread cutting cycle modal

Detailed description

(G94) G01Y30.,C10. F100.E50.; X-50.,C10.; Y50.,C10.; X-50.;

F100.

F100.

F100.

E50.

E50.

E50.

F100.

Y

X

F100. F100.

F100.

F100.

F100.

F100.

F100.

F100. F100. F100.

F100.

E50.

E50. E50.

Y

X

(G94) G01Y30.,C10. F100.E50.; X-50.,C10.; Y50.,C10. E0; X-50.;

(G94) G01Y30.,C10. F100.; X-50.,C10.; Y50.,C10. E50; X-50.;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

532IB-1501278-Q

15.1.4 Interrupt during Corner Chamfering/Interrupt during Corner Rounding

(1) Shown below are the operations of manual interruption during corner chamfering or corner rounding.

(2) With a single block during corner chamfering or corner rounding, the tool stops after these operations are exe- cuted.

Detailed description

With an absolute command and manual absolute switch ON.

N1 G28 XY; N2 G00 X120.Y20. ; N3 G03 X70. Y70.I-50. ,R20. F100 ; N4 G01 X20. Y20. ;

With an incremental command and manual absolute switch OFF

N1 G28 XY; N2 G00 X120. Y20. ; N3 G03 X-50. Y50. I-50. ,R20. F100 ; N4 G01 X-50. Y-50.;

Interrupt amount

Path in interrupt case

Path in non-interrupt case

X

140.

40.

20. 70.

N4 N3

120.

Y

(mm)

X

140.

40.

20. 70.

N4 N3

120.

Y

(mm)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

533 IB-1501278-Q

15.2 Corner Chamfering II/Corner Rounding II

Corner chamfering and corner rounding can be performed by adding ",C" or ",R" to the end of the block which is

commanded first among the block that forms a corner with continuous arbitrary angle lines or arcs.

15.2.1 Corner Chamfering II ; G01/G02/G03 X_ Y_ ,C_

The corner is chamfered by commanding ",C" in the 1st block of the two continuous blocks containing an arc. For

an arc, this will be the chord length.

Corner chamfering is performed at the point where N100 and N200 intersect.

(1) If this function is commanded while the corner chamfer or corner rounding command is not defined in the spec- ifications, it causes a program error (P381).

(2) The start point of the block following the corner chamfering is the hypothetical corner intersection point.

(3) If there are multiple or duplicate corner chamfering commands in a same block, the last command will be valid.

(4) When both corner chamfering and corner rounding are commanded in the same block, the latter command will be valid.

(5) Tool compensation is calculated for the shape which has already been subjected to corner chamfering.

(6) Program error (P385) will occur when positioning or thread cutting is commanded in the corner chamfering com- mand block or in the next block.

(7) Program error (P382) will occur when the block following corner chamfering contains a G command other than group 01 or another command.

(8) Program error (P383) will occur when the movement amount commanded in the corner chamfering block is less than the chamfering amount.

(9) Program error (P384) will occur when the movement amount is less than the chamfering amount in the block following the block commanding corner chamfering.

(10) Even if a diameter is commanded, it will be handled as a radial command value during corner chamfering.

(11) Program error (P382) will occur when a movement command is not issued in the block following the corner chamfering II command.

Function and purpose

Function and purpose

Command format

N100 G03 X__ Y__ I__ J__ ,C__ ;

N200 G01 X__ Y__ ;

,C Length up to chamfering starting point or end point from hypothetical corner

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

534IB-1501278-Q

(1) Linear - arc

(2) Arc - arc

Program example

Absolute command

N1 G28 XY; N2 G90 G00 X100. Y100.; N3 G01 X50.Y150.,C20. F100; N4 G02 X0 Y100. I-50. J0; :

Incremental command

N1 G28 XY; N2 G91 G00 X100. Y100.; N3 G01 X-50.Y50.,C20. F100; N4 G02 X-50. Y-50. I-50. J0; :

(a) Hypothetical corner intersection point

Absolute command

N1 G28 XY; N2 G91 G00 X140. Y10.; N3 G02 X60.Y50.I0 J100. ,C20. F100; N4 X0 Y30.I-60.J80.; :

Incremental command

N1 G28 XY; N2 G91 G00 X140. Y10.; N3 G02 X-80.Y40. R100. ,C20. F100; N4 X-60. Y-20. I-60. J80.; :

(a) Hypothetical corner intersection point

Y

150.

100.

X 100.50.

N4

C20. C20.

N3

(a)

(mm)

Y

130.

110.

50.

30.

10. X

140.60.

N4 C20.

C20.

N3

(a)

(mm)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

535 IB-1501278-Q

15.2.2 Corner Rounding II ; G01/G02/G03 X_ Y_ ,R_

The corner is rounded by commanding ",R_" in the 1st block of the two continuous blocks containing an arc.

Corner rounding is performed at the point where N100 and N200 intersect.

(1) If this function is commanded while the corner chamfer or corner rounding command is not defined in the spec- ifications, it causes a program error (P381).

(2) The start point of the block following the corner rounding is the hypothetical corner intersection point.

(3) When both corner chamfering and corner rounding are commanded in a same block, the latter command will be valid.

(4) Tool compensation is calculated for the shape which has already been subjected to corner rounding.

(5) Program error (P385) will occur when positioning or thread cutting is commanded in the corner rounding com- mand block or in the next block.

(6) Program error (P382) will occur when the block following corner rounding contains a G command other than group 01 or another command.

(7) Program error (P383) will occur when the movement amount in the corner rounding block is less than the R value.

(8) Program error (P384) will occur when the movement amount is less than the R value in the block following the corner rounding.

(9) Even if a diameter is commanded, it will be handled as a radial command value during corner rounding.

(10) A program error (P382) will occur if a movement command is not issued in the block following corner rounding.

Function and purpose

Command format

N100 G03 X__ Y__ I__ J__ ,R__ ;

N200 G01 X__ Y__ ;

,R Arc radius of corner rounding

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

536IB-1501278-Q

(1) Linear - arc

(2) Arc - arc

15.2.3 Corner Chamfering Expansion/Corner Rounding Expansion

For details, refer to "Corner Chamfering I / Corner Rounding" and "Corner Chamfering Expansion / Corner Rounding

Expansion".

15.2.4 Interrupt during Corner Chamfering/Interrupt during Corner Rounding

For details, refer to "Corner Chamfering I / Corner Rounding" and "Interrupt during Corner Chamfering Interrupt

during / Corner Rounding".

Program example

Absolute command N1 G28 XY; N2 G90 G00 X100. Y30.; N3 G01 X50.Y80.,R10. F100; N4 G02 X0 Y30. I-50.J0; : Incremental command N1 G28 XY; N2 G91 G00 X100. Y30.; N3 G01 X-50.Y50.,R10. F100; N4 G02 X-50. Y-50. I-50.J0; :

(a) Hypothetical corner intersection point

Absolute command N1 G28 XY; N2 G90 G00 X100. Y30.; N3 G02 X50.Y80. R50.,R10.F100; N4 X0 Y30. R50.; : Incremental command N1 G28 XY; N2 G91 G00 X100. Y30.; N3 G02 X-50.Y50. I0 J50.,R10.F100; N4 X-50. Y-50. I-50. J0; :

(a) Hypothetical corner intersection point

Y

80.

30.

X 100.50.

N4 N3

(a)

(mm)

R10.

Y

80.

30.

X 100.50.

N4 N3

(a)

(mm)

R10.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

537 IB-1501278-Q

15.3 Linear Angle Command; G01 X_/Y_ A_/,A_

The end point coordinates are automatically calculated by commanding the linear angle and one of the end point

coordinate axes.

This designates the angle and the X or Y axis coordinates.

Select the command plane with G17 to G19.

(1) The angle is set based on the positive (+) direction of the horizontal axis for the selected plane. The counter- clockwise (CCW) direction is indicated by a positive sign (+), and the clockwise (CW) direction by a negative sign (-).

(2) Either of the axes on the selected plane is commanded for the end point.

(3) The angle is ignored when the angle and the coordinates of both axes are commanded.

(4) When only the angle has been commanded, this is treated as a geometric command.

(5) The angle of either the start point (a1) or end point (a2) may be used.

(6) This function is valid only for the G01 command; it is not valid for other interpolation or positioning commands.

(7) The range of slope "a" is between -360.000 and 360.000. When a value outside this range is commanded, it will be divided by 360 (degrees) and the remainder will be commanded. (Example) If 400 is commanded, 40 (remainder of 400/360) will become the command angle.

(8) If an address A is used for the axis name or the 2nd miscellaneous function, use ",A" as the angle.

(9) If "A" and ",A" are commanded in a same block, ",A" will be interpreted as the angle.

A program error (P33) will occur if this function is commanded during the high-speed machining mode or high- speed high-accuracy mode.

Function and purpose

Command format

N1 G01 Xx1(Yy1) Aa1;

N2 G01 Xx2(Yy2) A-a2; (A-a2 can also be set as Aa 3. )

N1 G01 Xx1(Yy1) ,Aa1;

N2 G01 Xx2(Yy2) ,A-a2;

Detailed description

Y

y2

y1 ( x1,y1)

N1

X

N2

a1

a2

a3

( x2,y2)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

538IB-1501278-Q

15.4 Geometric I; G01 A_

When it is difficult to calculate the intersection point of two straight lines of consecutive linear interpolation com-

mands, the end point of the first straight line will be automatically calculated inside the NC and the movement com-

mand will be controlled, provided that the gradient of the first straight line as well as the end point coordinates and

gradient of the second straight line are commanded.

(1) If the parameter "#1082 Geomet" is set to "0", geometric I will not function.

(1) The gradient indicates the angle to the positive (+) direction of the horizontal axis for the selected plane. The counterclockwise (CCW) direction is indicated by a positive sign (+), and the clockwise (CW) direction by a neg- ative sign (-).

(2) The range of gradient "a" is between -360.000 and 360.000. When a value outside this range is commanded, it will be divided by 360 (degrees) and the remainder will be commanded.

(Example) If 400 is commanded, 40 (remainder of 400/360) will become the command angle.

(3) The gradient of the line can be commanded on either the start or end point side. Whether designated gradient is the starting point or the end point will be automatically identified in NC.

(4) When the angle where the two straight lines intersect is less than 1, program error (P392) occurs.

(5) The end point coordinates of the second block should be commanded with absolute position. If incremental com- mand is used, program error (P393) occurs.

(6) The feedrate can be commanded for each block.

(7) Instead of G01, thread cutting (G33) or variable lead thread cutting (G34) can be specified as a linear path com- mand. Only G02/G03 commands can be specified as arc path commands. If another G code is programmed in the second block, the program error (P394) is issued.

(8) Axes cannot be specified in the first block. If an axis is specified, the command is not treated as a geometric command, but a normal linear/arc path command.

(9) If address "A" is used for an axis name or a second miscellaneous function, geometric I cannot be used. The commands are treated as normal linear path commands, not geometric commands.

Function and purpose

Command format

N1 G01 Aa1 (A-a2) Ff1;

N2 Xx2 Yy2 Aa4 (A-a3) Ff2;

Aa1, A-a2, A-a3, Aa4 Angle

Ff1, Ff2 Speed

Xx2, Yy2 End point coordinates of the next block

(C) Current position

(E) End point coordinates

(I) Intersection point (calculated automatically)

Detailed description

Note

a1

Y

X N1 N2a2

a3

a4

(x2,y2)

(I)

(E) (C)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

539 IB-1501278-Q

A description is provided using the following examples.

(C) Current position (E) End point coordinates (I) Intersection point (calculated automatically)

(1) Corner chamfering and corner rounding can be commanded after the angle command in the 1st block.

(2) The geometric command I can be issued after the corner chamfering or corner rounding command.

(3) The geometric command I can be issued after the linear angle command.

Relationship with other functions

(Example 1)

N1 Aa1 ,Cc1 ; N2 Xx2 Yy2 Aa2 ;

(Example 2)

N1 Aa1 ,Rr1 ; N2 Xx2 Yy2 Aa2 ;

(Example 3)

N1 Xx2 Yy2 ,Cc1 ; N2 Aa1 ; N3 Xx3 Yy3 Aa2 ;

(Example 4)

N1 Xx2 Aa1 ; N2 Aa2 ; N3 Xx3 Yy3 Aa3 ;

N2

N1

(x2,y2)

a2

a1

c1

c1

(x1,y1)(C)

(I)

(E)

N2

N1

(x2,y2)

a1

a2

r1

(x1,y1)(C)

(I)

(E)

N2

N1(x2,y2)

(x3,y3) a2

a1

c1

c1

(x1,y1)

N3

(C)

(I) (E)

N2

N1(x2,y2)

(x3,y3) a3

a2

(x1,y1)

N3

a1

(C)

(I) (E)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

540IB-1501278-Q

15.5 Geometric IB

Geometric IB is used to obtain the contact point or the intersection point for two travel commands in consecutive

blocks when at least one of the commands is a circular path command. The center point of the circular arc or the

slope angle of the straight line is required instead of the end point of the first block.

(1) If the parameter "#1082 Geomet" is not set to "2", geometric IB will not function.

(2) Instead of G01, thread cutting (G33) or variable lead thread cutting (G34) can be specified as a linear path com- mand. Only G02/G03 commands can be specified as circular path commands. If another G code is programmed in the second block, the program error (P394) occurs.

(3) Axes cannot be specified in the first block. If an axis is specified, the command is not treated as a geometric command, but a normal linear/circular path command.

(4) If address "A" is used for an axis name or a second miscellaneous function, a linear path command cannot be used. In such cases, the commands are treated as normal linear/circular path commands, and the intersection point of straight line and circular arc or the contact point between straight line and circular arc are not automati- cally calculated.

Function and purpose

Contact point of two contacting arcs (Refer to 15.5.1.)

The following diagrams are described using the follow- ing examples.

(C) Current position

(E) End point

(I) Intersection point (calculated automatically)

(T) Contact point (calculated automatically)

Intersection point between linear and arc (or, arc and linear) (Refer to 15.5.2.)

Contact point between linear and arc (or, arc and linear) (Refer to 15.5.3.)

Note

N2

N1

r2

r1

Y

X (C)

(T) (E)

N2

N2 N1

N1

Y

X

r1

r1

(C)

(C)

(I)

(I)

(E)

(E)

N2

N2

N1 N1

r1 r1

Y

X

(C)

(C)

(E)

(E)

(T)

(T)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

541 IB-1501278-Q

15.5.1 Geometric IB (Automatic Calculation of Contact Point of Two Circular Arcs); G02/G03 P_Q_ /R_

When the contact point of two consecutive contacting circular arcs is not indicated in the drawing, it can be automat-

ically calculated using any one of the following commands.

Command the center coordinate position of the 1st arc as well as the end point (absolute position) and center co- ordinate position of the 2nd arc. Command the center coordinate position of the 1st arc and the radius of the 2nd arc. Command the radius of the 1st arc as well as the end point (absolute position) and center coordinate position of

the 2nd arc.

(*1) This command can be issued using P and Q (X and Z axes circle center coordinates (absolute position)) instead

of I and K.

The circle center point for Y axis of G17 or G19 plane is specified with J (incremental position) or A (absolute

position).

P, A, and Q are treated as addresses that are irrelevant to geometric command, not as a circle center point.

Function and purpose

Command format

N1 G02(G03) Ii1 Kk1 Ff1;

N2 G03(G02) Xx2 Yy2 Ii2 Kk2 Ff2;

N1 G02(G03) Ii1 Kk1 Ff1;

N2 G03(G02) Xx2 Yy2 Rr2 Ff2;

N1 G02(G03) Rr1 Ff1;

N2 G03(G02) Xx2 Yy2 Ii2 Kk2 Ff2;

I, K (*1) Circle center coordinates (incremental position) (diameter/radius value command) in X and Z axes 1st block arc : Radius command incremental amount from the start point to the center 2nd block arc : Radius command incremental amount from the end point to the center

R Arc radius (when a (-) sign is attached, the arc is judged to be 180 or more)

r2

r1

(x2,y2)

Y

X

(i2,k2)

(i1,k1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

542IB-1501278-Q

(1) The end point coordinates of the 2nd block should be commanded with the absolute position. A program error (P393) occurs before the 1st block if commanded with the incremental position.

(2) A program error (P390) occurs before the 1st block if there is no geometric IB specification.

(3) In case of the 2nd block arc, a program error (P395) occurs before the 1st block if the R command (*1) or I/K (P/ Q) command is not issued.

(*1) In this case, the 1st block must be set with the I or K (P or Q) command.

(4) A program error (P397) occurs before the 1st block if two arcs that do not contact are commanded.

(5) The accuracy to calculate the contact point is 1 m (fractions rounded up).

(6) The error range at calculating the contact point is set in parameter "#1084 RadErr".

(7) When I or K is omitted, the values are regarded as "I0" and "K0". P and Q cannot be omitted.

(8) If the start point and the end point of an arc block is identical, the R-designated arc command finishes immedi- ately. To command a true circle, use the IK (PQ)-designated arc command.

(9) When the 2nd block arc inscribes the 1st block arc and the 2nd block is an R-designated arc, the path by the arc command depends on the R sign. When the R sign is positive, the path is set the inward turning arc command (refer to the path of "R+" in the figure). When the R sign is negative, the path is set to the outward turning arc command (refer to the path of "R-" in the figure).

(10) When the arc center of the 2nd block for geometric IB is commanded with IJK and the pitch is designated with address "P" or ",P", the helical interpolation is carried out for the arc of the 2nd block after geometric IB has been completed. Refer to "6.7 Helical Interpolation; G02, G03" for details.

(11) Single block operation stops at the 1st block.

(12) G codes of the G modal group 1 in the 1st/2nd block can be omitted.

Detailed description

Tool path

"Arc error"

R-

R+

N2

N1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

543 IB-1501278-Q

15.5.2 Geometric IB (Automatic Calculation of Intersection Point between Line And Circular Arc) ; G01

A_ , G02/G03 P_Q_H_

When the intersection point between a line and a circular arc is not indicated in the drawing though they intersect,

it can be automatically calculated by commanding the following program.

(*1) This command can be issued using P and Q (X and Z axes circular arc center coordinates (absolute position))

instead of I and K.

The circular arc center point for Y axis of G17 or G19 plane is specified with J (incremental position) or A (ab-

solute position).

P, A, and Q are treated as addresses that are irrelevant to geometric command, not as a circle center point.

Function and purpose

Command format (For G18 plane)

N1 G01 Aa1(A-a2) Ff1 ;

N2 G02(G03) Xx2 Yy2 Ii2 Kk2 Hh2 (,Hh2) Ff2 ;

N1 G02(G03) Ii1 Kk1 Hh1 (,Hh1) Ff1 ;

N2 G01 Xx2 Yy2 Aa3 (A-a4) Ff2 ;

A Linear angle (-360.000 to 360.000)

I, K (*1) Circular arc center coordinates (incremental position) (diameter/radius value command) in X and Z axes 1st block arc : Radius command incremental amount from the start point to the center 2nd block arc : Radius command incremental amount from the end point to the center

H (,H) Selection of intersection point between line and circular arc 0: Intersection of the shorter line 1: Intersection of the longer line

Path at H = 0

Path at H = 1

(I) Intersection point (calculated automatically) at H = 0 or 1

H=1 H=1

H=0

N2 N1

H=0

N1 a1

N2 a3

- a4 - a2 (x2,y2)

(x2,y2) Y

X

(I) (I)

(I) (I)

(i2,k2) (i1,k1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

544IB-1501278-Q

(1) A program error (P390) occurs before the 1st block if there is no geometric IB specification.

(2) The gradient of the line is the angle to the positive (+) direction of its horizontal axis of the selected plane. The counterclockwise (CCW) direction is considered as positive (+) and the clockwise direction (CW) as negative (-).

(3) The gradient of the line can be commanded on either the start or end point side. Whether designated gradient is the starting point or the end point will be automatically identified.

(4) In case of the 2nd block arc, a program error (P395) occurs before the 1st block if there is no I/K (P/Q) command. A program error (P395) also occurs if there is no designation of "A" for the line.

(5) The end point coordinates of the 2nd block should be commanded with the absolute position. A program error (P393) occurs before the 1st block if commanded with the incremental position.

(6) A program error (P397) occurs before the 1st block if a straight line and arc that do not contact or intersect are commanded.

(7) The accuracy to calculate the intersection point is 1 m (fractions rounded up).

(8) If the start point of an arc block is identical with the end point, the result is a true circle.

(9) The error range at calculating the intersection point is set in parameter "#1084 RadErr".

(10) When I or K is omitted, the values are regarded as "I0" and "K0". P and Q cannot be omitted.

(11) When H is omitted, the value is regarded as "H0".

(12) If R is commanded instead of P, Q (I, K) designation, the contact point between line and circular arc is calculated automatically.

(13) When the distance to the intersection from the line is the same as the distance from the arc (as in the figure below), the control by address H (short/long distance selection) is invalidated. In this case, the judgment is car- ried out based on the angle of the line.

(14) Addresses being used as axis names cannot be used as command addresses for angles, circular arc center coordinates or intersection selections.

(15) If address "H" is used as an axis name, the intersection point must be specified with ",H".

(16) If "H" and ",H" are programmed in the same block, ",H" is treated as specifying the intersection point.

(17) When the circular arc center of the 2nd block for geometric IB is commanded with IJK and the pitch is desig- nated with address "P" or ",P", the helical interpolation is carried out for the arc of the 2nd block after geometric IB has been completed. Refer to "6.7 Helical Interpolation; G02, G03" for details.

(18) Single block operation stops at the 1st block.

(19) G codes of the G modal group in the 1st block can be omitted.

(20) When geometric IB is commanded, two blocks are pre-read.

Detailed description

Tool path

Arc error

N2 G2 Xx2 Yy2 Ii2 Kk2 Ff2 ; N1 G1 A a1 Ff1;

N1 G1 A a2 Ff1; N2 G2 Xx2 Yy2 Ii2 Kk2 Ff2 ;

(i2,k2)

-a2

a1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

545 IB-1501278-Q

Relationship with other functions

Command Tool path

Geometric IB + corner chamfering

N1 G02 P_ Q_ H_ ; N2 G01 X_ Y_ A_ ,C_ ; G01 X_ Y_ ;

N2

N1 X

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

546IB-1501278-Q

15.5.3 Geometric IB (Automatic Calculation of Contact Point between Line And Circular Arc) ; G01 A_

, G02/G03 R_H_

When the contact point between a line and a circular arc is not indicated in the drawing though they are in contact,

it can be automatically calculated by commanding the following program.

Function and purpose

Command format (For G18 plane)

N1 G01 Aa1(A-a2) Ff1;

N2 G03(G02) Xx2 Yy2 Rr2 Ff2;

N1 G03(G02) Rr1 Ff1;

N2 G01 Xx2 Yy2 Aa3(A-a4) Ff2;

A Linear angle (-360.000 to 360.000)

R Circular arc radius

(C) Current position

(E) End point coordinates

(T) Contact point (calculated automatically)

Y

X

N1

(E) (x2,y2)

N1N2

N2

(E) (x2,y2)

a3

- a4

- a2 r2 r1

a1

(T) (T)

(C)

(C)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

547 IB-1501278-Q

(1) A program error (P390) occurs before the 1st block if there is no geometric IB specification.

(2) The gradient of the line is the angle to the positive (+) direction of its horizontal axis of the selected plane. The counterclockwise (CCW) direction is considered as positive (+) and the clockwise direction (CW) as negative (-).

(3) The gradient of the line can be commanded on either the start or end point side. Whether the commanded slope is on the start or end point side is identified automatically inside the NC unit.

(4) In case of the 2nd block arc, a program error (P395) will occur before the 1st block if there is no R designation. A program error (P395) also occurs if there is no designation of "A" for the line.

(5) The end point coordinates of the 2nd block should be commanded with the absolute position. A program error (P393) occurs before the 1st block if commanded with the incremental position.

(6) A program error (P397) occurs before the 1st block if a straight line and arc that do not contact are commanded.

(7) If the start point and the end point of an arc block is identical, the circular path command finishes immediately. A true circle cannot be specified.

(8) The accuracy to calculate the contact point is 1 m (fractions rounded up).

(9) The error range at calculating the contact point is set in parameter "#1084 RadErr".

(10) If I or K (P or Q) is commanded instead of the R designation, the contact point between line and circular arc is calculated automatically.

(11) When the arc center of the 2nd block for geometric IB is commanded with IJK and the pitch is designated with address "P" or ",P", the helical interpolation is carried out for the arc of the 2nd block after geometric IB has been completed. Refer to "6.7 Helical Interpolation; G02, G03" for details.

(12) Single block operation stops at the 1st block.

(13) G codes of the G modal group 1 in the 1st block can be omitted.

(14) When geometric IB is commanded, two blocks are pre-read.

Detailed description

Relationship with other functions

Command Tool path

Geometric IB + corner chamfering

N1 G03 R_ ; N2 G01 X_ Y_ A_ ,C_ ; G01 X_ Y_ ;

Geometric IB + corner rounding

N1 G03 R_ ; N2 G01 X_ Y_ A_ ,R_ ; G01 X_ Y_ ;

Tool path

Arc error

X

Y

N1

N2

X

Y

N1

N2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

548IB-1501278-Q

15.6 Mirror Image by G code ; G50.1,G51.1

When cutting a shape that is symmetrical on the left and right, programming time can be shortened by machining

one side and then using the same program to machine the other side. The mirror image function is effective for this.

For example, when using a program as shown below to machine the shape on the left side (A), a symmetrical shape

(B) can be machined on the right side by applying mirror image and executing the program.

Function and purpose

Mirror axis

Command format

Mirror image ON

G51.1 Xx1 Yy1 Zz1;

x1, y1, z1 Mirror image center coordinates (Mirror image will be applied regarding this position as a center)

Mirror image OFF

G50.1 Xx2 Yy2 Zz2;

x2, y2, z2 Mirror image cancel axis (The values of x2, y2, z2 will be ignored.)

Y

X

(A) (B)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

549 IB-1501278-Q

(1) At G51.1, command the mirror image axis and the coordinate to be a center of mirror image with the absolute command or incremental command.

(2) At G50.1, command the axis for which mirror image is to be turned OFF. The values of x2, y2, and z2 will be ignored.

(3) If mirror image is applied on only one axis of the designated plane, the rotation direction and compensation di- rection will be reversed for the arc or tool radius compensation and coordinate rotation, etc.

(4) This function is processed on the local coordinate system, so the center of the mirror image will change when the counter is preset or when the workpiece coordinates are changed.

(5) Reference position return during mirror image

If the reference position return command (G28, G30) is executed during the mirror image, the mirror image will be valid during the movement to the intermediate point, but will not be applied to the movement to the reference position after the intermediate point.

(6) Return from zero point during mirror image

If the return command (G29) from the zero point is commanded during the mirror image, the mirror will be applied to the intermediate point.

(7) The mirror image will not be applied to the G53 command.

Detailed description

Path on which mirror is applied Mirror center Programmed path

Intermediate point when mirror is applied

Intermediate point

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

550IB-1501278-Q

(1) Combination with radius compensation

The mirror image (G51.1) will be processed after the radius compensation (G41, G42) is applied, so the following

type of cutting will take place.

Relationship with other functions

Programmed path Path with mirror image applied

Programmed path

Path with only radius compensation applied

Path with only mirror image applied

Path with mirror image and radius compensa- tion applied

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

551 IB-1501278-Q

If mirror image is not canceled at the mirror center, the absolute position and machine position will deviate as shown

below. (This state will last until an absolute command (positioning with G90 mode) is issued, or a reference position

return with G28 or G30 is executed.) The mirror center is set with an absolute position, so if the mirror center is com-

manded again in this state, the center may be set to an unpredictable position.

Cancel the mirror at the mirror center or position with the absolute command after canceling.

Precautions

CAUTION

Turn the mirror image ON and OFF at the mirror image center.

Absolute position (position commanded in program)

Machine position

When moved with the incremental command after mirror cancel

Mirror cancel command

Mirror axis command

Mirror center

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

552IB-1501278-Q

15.7 Normal Line Control; G40.1/G41.1/G42.1 (G150/G151/G152)

The C axis (rotary axis) turning will be controlled so that the tool constantly faces the normal line direction in respect

to the movement of the axes in the selected plane during program operation.

At the block seams, the C axis turning is controlled so that the tool faces the normal line direction at the next block's

start point.

During arc interpolation, the rotary axis turning is controlled in synchronization with the operation of the arc interpo-

lation.

The normal line control I and II can be used according to the C axis turning direction during normal line control. Which

method is to be used depends on the MTB specifications (parameter "#1524 C_type").

Function and purpose

C axis center (rotary axis)

Tool end position

C axis turning

Rotation axis center (C axis)

Tool end position

Normal line con- trol type

Turning direction Turning speed Turning speed in arc in- terpolation

Type I Direction that is 180 or less (shortcut direction)

Parameter speed (#1523 C_feed)

Speed when the program path follows the F com- mand

(#1524 C_type = 0)

Type II As a principle, the com- manded direction

Feedrate Speed when the tool nose follows the F command (#1524 C_type = 1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

553 IB-1501278-Q

The normal line control axis depends on the MTB specifications (parameter #1522 C_axis).

Normal line control is carried out in respect to the movement direction of the axis which is selecting the plane.

G17 plane I-J axes

G18 plane K-I axes

G19 plane J-K axes

Whether the normal line control is canceled at resetting depends on the MTB specifications (parameter #1210 Rst-

Gmd/ bitE).

Command format

Normal line control cancel

G40.1 (G150)X__ Y__ F__ ;

Normal line control left ON

G41.1 (G151)X__ Y__ F__ ;

Normal line control right ON

G42.1 (G152)X__ Y__ F__ ;

X X axis end point coordinate

Y Y axis end point coordinate

F Feedrate

G41.1 Normal line control left side G42.1 Normal line control right side

(a) Center of rotation

(b) Tool end(b) Tool end

Programmed path

Tool end path

(a)

(b)

(a)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

554IB-1501278-Q

The normal line control angle is 0 (degree) when the tool is facing the horizontal axis (+ direction) direction.

The counterclockwise direction turning is + (plus), and the clockwise direction turning is - (minus).

Detailed description

Definition of the normal line control angle

G17 plane (I - J axes) ... The axis angle is 0(degree) when the tool is facing the +I direction.

G18 plane (K - I axes) ...The axis angle is 0(degree) when the tool is facing the +K direction.

G19 plane (J - K axes) ... The axis angle is 0(degree) when the tool is facing the +J direction.

0 I+

J+

90

180

270

0 K+

I+

90

180

270

0 J+

K+

90

180

270

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

555 IB-1501278-Q

(1) Start-up

After the normal line control axis turns to the right angle of the advance direction at the start point of the normal line control command block, the axis which is selecting the plane is moves. Note that the normal line control axis at the start up turns in the direction that is 180 or less (shortcut direction) in both the normal line control type I and II.

(2) During normal line control mode

(a) Operation in block

During interpolation of the linear command, the angle of the normal line control axis is fixed, and the normal line control axis does not turn. During the arc command, the normal line control axis turns in synchronization with the operation of the arc interpolation.

Normal line control turning operation in respect to movement command

:

N1 G01 Xx1 Yy1 Ff1 ;

N2 G41.1 ; Without movement commands in the G41.1 block

N3 Xx2 Yy2 ;

:

:

N1 G01 Xx1 Yy1 Ff1 ;

N2 G41.1 Xx2 Yy2 ; With movement com- mands in the G41.1 block

:

: G41.1 ; N1 G02 Xx1 Yy1 Ii1 Jj1 ; :

Programmed path

Tool end path

(x2,y2)

(x1,y1) N3

N3

N1

G41.1

(x2,y2)

(x1,y1) N2

N2

N1

G41.1

(i1,j1)

(x1,y1)

N1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

556IB-1501278-Q

(b) Block seam

(3) Cancel

The normal line control axis will not turn, and the plane selecting axis will be moved by the program command.

No tool radi- us compen- sation

After the normal line control axis is turned to be at the right angle of the plane selecting movement in the next block, the operation moves to the next block.

Liner - Liner Liner - Arc Arc - Arc

Programmed path

Tool end path

With tool ra- dius com- pensation

If tool radius compensation is applied, normal line control is carried out along the path to which the tool radius compensation is applied.

Liner - Liner Liner - Arc Arc - Arc

Programmed path

Tool radius compensation path

Tool end path

:

N1 G01 Xx1 Yy1 Ff1 ;

N2 G40.1 ; Without movement com- mands in the G40.1 block

N3 Xx2 Yy2 ;

:

:

N1 G01 Xx1 Yy1 Ff1 ;

N2 G40.1 Xx2 Yy2 ; With movement com- mands in the G40.1 block

:

(x2,y2)

(x1,y1) N3

N1

G40.1

(x2,y2)

(x1,y1) N2

N1

G40.1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

557 IB-1501278-Q

During normal line control, the turning operation for the normal line control axis is not carried out at the seam be-

tween a block and the next block, in which the movement amount is smaller than that set with the parameter (#1535

C_leng).

(1) For liner block; When the movement amount of the N2 block is smaller than the parameter(#1535 C_leng), the normal line con- trol axis is not turned at the seam between the N1 block and N2 block. It stays the same direction as the N1 block.

(2) For arc block; When the diameter value of the N2 block is smaller than the parameter(#1535 C_leng), the normal line control axis is not turned at the seam between the N1 block and N2 block. It stays the same direction as the N1 block. During arc interpolation of the N2 block, the normal line control axis does not turn in synchronization with the operation of arc interpolation.

Since operation fractions are created by calculating the intersection point of two segments, the turning operation may or may not be carried out when the parameter (#1535 C_leng) and the segment length are equal.

Normal line control temporary cancel

N2 block movement amount < Parameter(#1535 C_leng)

N2 block diameter value < Parameter (#1535 C_leng)

(a) Diameter value

N3N1 N2

N3N1

N2

(a)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

558IB-1501278-Q

The normal line control axis turning direction at block seam differs according to the normal line control type I or II

(parameter #1524 C_type). The turning angle is limited by the angle set with the parameter (#1521 C_min).

These parameter settings depend on the MTB specifications.

Normal line control axis turning direction at block seam

Item Normal line control type I Normal line control type II

Normal line control axis turning direction at block seam

Direction that is 180 or less. (shortcut direction)

G41.1: - direction (CW) G42.1: + direction (CCW)

Normal line control axis turning angle at block seam

When | | < , turning is not performed. : Turning angle : Parameter (#1521 C_min) When the turning angle is 180 degrees,

the turning direction is undefined re- gardless of the command mode.

[G41.1/G42.1 When the normal line control

axis is at 0]

(a) The normal line control axis turns coun-

terclockwise.

(b) The normal line control axis turns clock-

wise.

(c) The axis does not turn.

When | | < , turning is not per- formed. : Turning angle : Parameter (#1521 C_min)

The operation error (0118) will occur in the following cases: [For G41.1] <= < 180 - [For G42.1] 180 + < <= 360 -

[G41.1 When the normal line control axis

is at 0]

[G42.1 When the normal line control axis is at 0]

(c) The axis does not turn. (d) The normal line control axis turns. (e) Operation error (0118)

-

0180

270

90 (a)

(b) (c)

-

0180

270

90

180 -

(c) (d)

(e)

-

0180

270

90

180 +

(c)

(d)

(e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

559 IB-1501278-Q

(1) Normal line control type I

Normal line control axis turning angle at block seam:

G41.1 G42.1

1. - < <

No turning No turning

2. <= < 180

3. 180 <= <= 360-

Shortcut direction Shortcut direction

-

0180

270 (-90 )

90

0180

270 (-90 )

90

360 -

0180

270 (-90 )

90

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

560IB-1501278-Q

(2) Normal line control type II

(*1) If the axis turns into the command direction, it turns inside the workpiece, causing an operation error.

Normal line control axis turn- ing angle at block seam:

G41.1 G42.1

1. - < <

No turning No turning

2. <= < 180-

Operation error (0118) (*1)

3. 180- <= <= 180+

4. 180+ < <= 360-

Operation error (0118) (*1)

-

0180

270 (-90 )

90

0180

270 (-90 )

90

180 -

180 -

0180

270 (-90 )

90

180 +

360 -

0180

270 (-90 )

90

180 +

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

561 IB-1501278-Q

The turning angle falls to or below the minimum turning angle (parameter "#1521 C_min") before the circular inter-

polation starts; therefore, turning operation may not be inserted.

In this case, it depends on the parameter "#12105 C_minTyp" whether to interpolate the turning angle which was

not inserted before the tool reaches the end point of circular interpolation.

These parameters depends on the MTB specifications.

If the turning angle set before the linear interpolation starts falls to or below the minimum turning angle, turning is

not carried out.

[The turning angle is interpolated up to the end point of the arc (#12105 C_minTyp = 0).]

The turning angle in the section in which the normal line control axis is not turned is interpolated up to the end point

of the circular interpolation.

[The turning angle is not interpolated (#12105 C_minTyp = 1).]

The turning angle in the section in which the normal line control axis is not turned is not interpolated during circular

interpolation.

Operation to be performed when the turning angle set before the circular interpolation starts falls below the minimum turning angle

N1 N2

The turning angle falls below the value of parameter #1521.

Programmed path

Tool end path

Circular center

(The control does not insert the turning movement)

N1 N2

The turning angle falls below the value of parameter #1521.

Circular center

Programmed path

Tool end path (The control does not insert the turning movement)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

562IB-1501278-Q

Normal line control axis turning speed Turning speed at block seam (select from type I or type II)

(1) Normal line control axis turning speed at block seam

(a) Rapid traverse

Therefore, an operation error will occur.

Normal line control type I Normal line control type II

Dry run OFF

The rapid traverse rate (#2001 rapid) is applied.

Normal line control axis turning speed f

= Rapid traverse rate * (Rapid traverse override) ( /

min)

Dry run OFF

Normal line control axis turning speed f

= F * 180 / ( * R) * (Rapid traverse override) (/min)

When R = 0, follow the formula below.

Normal line control axis turning speed f

= F * (Rapid traverse override) ( /min)

F: Rapid traverse rate (#2001 rapid) (mm/min)

R: Parameter (#8041 C-rot.R) (mm)

(Length from normal line control axis center to tool

nose)

(1) If the normal line control axis turning speed ex- ceeds the rapid traverse rate (#2001 rapid), the rapid traverse rate will be applied.

Dry run ON

The manual feedrate is applied.

Normal line control axis turning speed f

= Manual feedrate * (Cutting feed override) ( /min)

(1) When the manual override valid is ON, the cutting feed override is valid.

(2) If the normal line control axis turning speed ex- ceeds the cutting feed clamp speed (#2002 clamp), the cutting feed clamp speed will be ap- plied.

(3) When the rapid traverse is ON, the dry run is in- valid.

Dry run ON Normal line control axis turning speed f = F * 180 / ( * R) * (Rapid traverse override) (/min) When R = 0, follow the formula below. Normal line control axis turning speed f = F * (Rapid traverse override) ( /min) F: Rapid traverse rate (#2001 rapid) (mm/min) R: Parameter (#8041 C-rot.R) (mm) (Length from normal line control axis center to tool nose)

(1) If the normal line control axis turning speed ex- ceeds the cutting feed clamp speed (#2002 clamp), the cutting feed clamp speed will be ap- plied.

(2) If the normal line control axis turning speed ex- ceeds the rapid traverse rate (#2001 rapid), the rapid traverse rate will be applied.

(3) When the rapid traverse is ON, the dry run is in- valid.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

563 IB-1501278-Q

(b) Cutting feed

Normal line control type I Normal line control type II

Dry run OFF

The normal line control axis turning speed set with the parameter (#1523 C_feed) is applied. Normal line control axis turning speed f = Parameter (#1523 C_feed) * (Cutting feed override) ( /min)

The feedrate at the tool nose is the F command. The normal line control axis turning speed is the normal line control axis speed that follows this F command. Normal line control axis turning speed f = F * 180 / ( * R) * (Cutting feed override) (/min) When R = 0, follow the formula below. Normal line control axis turning speed f = F ( /min) F: Feedrate command (mm/min) R: Parameter (#8041 C-rot.R) (mm) (Length from normal line control axis center to tool nose)

Dry run ON (Rapid traverse ON)

The cutting feed clamp speed (#2002 clamp) is ap- plied. Normal line control axis turning speed f = Cutting feed clamp speed (/min)

Dry run ON (Rapid traverse OFF)

The manual feedrate is applied.

Normal line control axis turning speed f

= Manual feedrate * (Cutting feed override) ( /min)

(1) When the manual override valid is ON, the cutting feed override is valid.

(2) If the normal line control axis turning speed ex- ceeds the cutting feed clamp speed (#2002 clamp), the cutting feed clamp speed will be ap- plied.

F: Feedrate command

f: Normal line control axis turning speed

(1) If the normal line control axis turning speed ex- ceeds the cutting feed clamp speed (#2002 clamp), the cutting feed clamp speed will be ap- plied.

(2) When the dry run is ON, the normal line control axis turning speed is obtained by the same ex- pression as the rapid traverse.

F: Feedrate command

f: Normal line control axis turning speed

R: Parameter (#8041 C-rot.R)

(F)

(f) =F*180/( *R)

(F)

(f)

(R)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

564IB-1501278-Q

(2) Normal line control axis turning speed during circular interpolation

(1) If the normal line control axis turning speed exceeds the cutting feed clamp speed (#2002 clamp), the speed will be as follows; - Normal line control axis turning speed = Cutting feed clamp speed. Normal line control axis turning speed = Cutting feed clamp speed Moving speed during arc interpolation = The speed according to the normal line control axis turning speed

Normal line control type I Normal line control type II

The normal line control axis turning speed is the rota- tion speed obtained by feedrate F. Normal line control axis turning speed f = F * 180 / ( * r) ( /min) F : Feed command speed (mm/min) r : Arc radius (mm)

The feedrate at the tool nose is the F command. The normal line control axis turning speed is the rotation speed that follows this F command. Normal line control axis turning speed f = F * 180 / ( * (R + r)) ( /min) F : Feed command speed (mm/min) R : Parameter (#8041 C-rot. R) (mm) (Length from normal line control axis center to tool nose) r : Arc radius (mm)

=F*180/( *r)

(F)

(r)

(f)

=F*180/( *(R+r))

(F)

(R) (r)

(f)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

565 IB-1501278-Q

During normal line control, an arc is automatically inserted at the corner in the axis movement of the plane selection.

This function is for the normal line control type I.

The radius of the arc to be inserted is set with the parameter (#8042 C-ins.R).

This parameter can be read and written using the macro variable #1901.

Normal line control is performed also during the interpolation for the arc to be inserted.

The corner arc is not inserted in the following cases: linear and arc, arc and arc, linear and moveless or move- less and linear blocks or when a line is shorter than the radius of the arc to insert.

During the radius compensation, the radius compensation is applied to the path that the corner arc is inserted.

Automatic corner arc insertion function

Parameter (#8042 C-rot. R)

Corner R is not inserted.

Radius compensation path

Parameter (#8042 C-rot. R)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

566IB-1501278-Q

The stop point of the single block and block start interlock is as follows.

The stop point of the cutting start interlock is as follows.

Stop point

Stop point

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

567 IB-1501278-Q

Program example

Normal line control type I

Main program

O500

Sub-program

O501

G91X0Y0;G28C0;

G90G92G53X0Y0;

G00G54X25.Y-10.;

G03G41.1X35.Y0.R10.F10.;

#10=10;

WHILE[#10NE0]DO1;

M98P501;

#10=#10-1;

END1;

G03X25.Y10.R10.;

G40.1;

G28X0Y0;

M02;

G03X8.Y9.R15.;

G02X-8.R10.;

G03Y-9.R-15.;

G02X8.R10.;

G03X35.Y0.R15.;

M99;

(0,0)

R10

R10R15

20.20.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

568IB-1501278-Q

(Example 1)

(a) C-axis

(b) Tool

Normal line control type II

Main program

O500

Sub-program

O1001

G91X0Y0;

G28Z0;

G28C0;

G90G92G53X0Y0Z0;

G00G54G43X35.Y0.Z100.H1;

G00Z3.;

G01Z0.1F6000;

G42.1;

M98P1001L510;

M98P1002L2;

G91G01Y10.Z0.05;

G40.1;

G90G00Z100.;

G28X0Y0Z0;

M02;

G17G91G01Y20.,R10.Z-0.01;

X-70.,R10.;

Y-40.,R10.;

X70.,R10.;

Y20.;

M99;

(Corner chamfering/Corner R specifica- tions are required)

O1002

G17G91G01Y20.,R10.;

X-70.,R10.;

Y-40.,R10.;

X70.,R10.;

Y20.;

M99;

(Corner chamfering/Corner R specifica- tions are required)

5.

(b)

0.1

10.

(a)

20.

(0,0)

R10

20.

35. 35.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

569 IB-1501278-Q

(Example 2) Main program

O2000

Sub-program

O2001

G91G28Z0;

G28X0Y0;

G28C0;

G90G92G53X0Y0Z0;

G00G54X30.Y0.;

G00Z3.;

G41.1G01Z0.1F5000;

M98P2001L510;

M98P2002L2;

G91G01X-30.Z0.05;

G40.1;

G90G00Z100.;

G28X0Y0Z0;

M02;

G17G91G01X-60.Z-0.01;

X60.;

M99;

O2002

G17G91G01X-60.;

X60.;

M99;

(a) C-axis (b) Tool

5.

(b)

0.1

(a)

(0,0)

30. 30.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

570IB-1501278-Q

Relationship with other functions

Function name Notes

Unidirectional positioning Normal line control is not applied.

Helical cutting Normal line control is applied normally.

Spiral interpolation As the start point and end point are not on the same arc, a normal line control will not be applied correctly.

Exact stop check The operation will not decelerate and stop for the turning movement of the normal line control axis.

Error detect Error detect is not applied to the turning movement of the normal line control axis.

Override Override is applied to the turning movement by normal line control axis.

Coordinate rotation by pro- gram

Normal line control is applied to the shape after coordinate rotation.

Scaling Normal line control is applied to the shape after scaling.

Mirror image Normal line control is applied to the shape after mirror image.

Thread cutting Normal line control is not applied.

Geometric command Normal line control is applied to the shape after geometric command.

Automatic reference position return

Normal line control is not applied.

Start position return Normal line control is not applied to the movement to the intermediate point posi- tion. If the base specification parameter "#1086 G0Intp" is OFF, normal line control is applied to the movement from the intermediate point to a position designated in the program.

High-speed machining mode III

This cannot be commanded during normal line control. A program error (P29) will occur. The normal line control command during high-speed machining mode III cannot be issued, either. A program error (P29) will occur.

High-accuracy control This cannot be commanded during normal line control. A program error (P29) will occur. The normal line control command during high-accuracy control cannot be issued, either. A program error (P29) will occur.

Spline This cannot be commanded during normal line control. A program error (P29) will occur. The normal line control command during spline cannot be issued, either. A program error (P29) will occur.

High-speed High-accuracy control I/II

This cannot be commanded during normal line control. A program error (P29) will occur. The normal line control command during high-speed High-accuracy control I/II cannot be issued either. A program error (P29) will occur.

Cylindrical interpolation This cannot be commanded during normal line control. A program error (P486) will occur. The normal line control command during cylindrical interpolation cannot be is- sued, either. Program error (P481) will occur.

Workpiece coordinate sys- tem offset

The workpiece coordinate system cannot be changed during normal line control. A program error (P29) will occur. The program parameter input (G10L2) cannot be commanded either. A program error (P29) will occur.

Local coordinate system off- set

The local coordinate system cannot be changed during normal line control. A pro- gram error (P29) will occur.

Program restart The program including the normal line control command cannot be restarted. "E98 CAN'T RESEARCH" will occur.

Dry run The feedrate is changed by the dry run signal even in respect to the turning move- ment of the normal line control axis.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

571 IB-1501278-Q

(1) During normal line control, the program coordinates are updated following the normal line control axis movement. Thus, program the normal line control on the program coordinate system.

(2) The normal line control axis will stop at the turning start position for the single block, cutting block start interlock and block start interlock.

(3) If the movement command is issued to the normal line control axis (C axis) during normal line control, it is ig- nored.

(4) The coordinate system preset command (G92 C_;) cannot be issued to the normal line control axis during C axis normal line control (during G41.1 or G42.1 modal). The program error (P901) will occur if commanded.

(5) When a mirror image is applied to the axis in plane selection mode, normal line control is carried out for the shape processed with the mirror image.

(6) The rotary axis must be designated as the normal line control axis (parameter "#1522 C_axis"). Designate so that the axis is not duplicated with the axis on the plane where normal line control is to be carried out. If an illegal axis is designated, the program error (P902) will occur when the program (G40.1, G41.1, G42.1) is commanded. The program error (P902) will also occur if the parameter "#1522 C_axis" is "0" when commanding a program. This parameter setting depends on the MTB specifications.

(7) The movement of the normal line control axis is counted as one axis of number of simultaneous contouring con- trol axes. If the number of simultaneous contouring control axes exceeds the specification range by movement of the nor- mal line control axis, the program error (P10) will occur.

Graphic check The section turned by normal line control is not drawn. The axes subject to graphic check are drawn.

G00 non-interpolation Normal line control is not applied.

Polar coordinate interpola- tion

This cannot be commanded during normal line control. A program error (P486) will occur. The normal line control command during polar coordinate interpolation cannot be issued either. Program error (P481) will occur.

Exponential interpolation If the normal line control axis is the same as the rotary axis of exponential interpo- lation, a program error (P612) will occur. If they are different, an error will not occur, but normal line control is not applied.

Plane selection This cannot be commanded during normal line control. A program error (P903) will occur.

Mixed control This cannot be commanded during normal line control. An operation error (M01 1035) will occur.

System variable The block end coordinate (#5001 - ) for the normal line control axis during normal line control cannot obtain a correct axis position.

Precautions

Function name Notes

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

572IB-1501278-Q

15.8 Manual Arbitrary Reverse Run Prohibition ; G127

The manual arbitrary reverse run function controls the feedrate, which is under automatic operation in memory or

MDI mode, in proportion to the manual feedrate by the jog or the rotation speed by the manual handle, and manually

carries out the reverse run.

After the automatic operation has been stopped in a block, the reverse run can be carried out back through the

blocks (up to 20 blocks) that were executed before the block. If necessary, it is possible to correct the program buffer

and execute the fixed program after carrying out the reverse run up to the return position.

This function (G127) is available to prevent the program from backing to blocks before the commanded block when

carrying out the manual arbitrary reverse run.

The detailed setting and operation vary depending on the machine specifications. Refer to the Instruction Manual

issued by the MTB.

"Forward run" means to execute blocks in the same order as for the automatic operation.

"Reverse run" means to process the executed blocks backward.

Whether the reverse run is prohibited for each part system depends on the MTB specifications (system variable

#3003). Refer to "List of System Variables" for details.

This command disables the program from running reverse to blocks before G127. In part systems that do not have

this command executed, the program cannot run reverse before the timing with G127 commanded in any part sys-

tem even if a block is in process.

No commands in the machining program can be backed in the reverse run mode. For some G codes, the operation

differs from the above. Refer to "Relationship with Other Functions".

Function and purpose

Command format

All part system reverse run prohibit command

G127 ;

The reverse run is disabled before the G127 block in the 2nd part system. The reverse run is canceled in the middle of a block in part systems other than the 2nd part system.

G127

$1

$2

$3

$4

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

573 IB-1501278-Q

The following shows the relationship between the manual arbitrary reverse run command and G code.

Fixed cycles or MSTB commands may be prohibited to reverse run or the reverse run operation on tapping cy- cle may differ depending on the MTB specifications (parameter "#1260 set32" or related PLC signals). Refer to the specifications of your machine tool.

Even if the G61.1 or G05, for which reverse run is prohibited, is not commanded in the machining program, when the initial high-accuracy control (#1148) is valid, reverse run is to be prohibited because of the modal of G61.1 (the value of #1148 is "1") or G05 (the value of #1148 is "2", "3" or "4").

Relationship with other functions

Symbol in "Reverse run"

column

Operation

*1 Block with reverse run enabled

*2 Block with restricted-reverse run enabled Refer to the Remarks for restrictions.

Block with reverse run ignored. This block is ignored in both the forward and reverse run modes.

*3 Block with reverse run prohibited. This is intended only for the command blocks.

*4 Block with reverse run prohibited. The reverse run is also prohibited for all blocks after the mode has been switched by this block.

*5 Prohibits the reverse run in all part systems.

G code Function name Reverse run

Remarks

G00 Positioning *1 -

G01 Linear interpolation *1 -

G02 Circular interpolation CW Spiral/conical interpolation CW (type2)

*1 -

G03 Circular interpolation CCW Spiral/conical interpolation CCW (type2)

*1 -

G02.1 Spiral/conical interpolation CW (type1) *3 -

G03.1 Spiral/conical interpolation CCW (type1) *3 -

G02.2 Involute interpolation CW *3 -

G03.2 Involute interpolation CCW *3 -

G02.3 Exponential interpolation CW *3 -

G03.3 Exponential interpolation CCW *3 -

G02.4 3-dimensional circular interpolation *3 -

G03.4 3-dimensional circular interpolation *3 -

G04 Dwell *1 Dwell skip is invalid.

G05 High-speed high-accuracy control II/III / High-speed machining mode

*4 This includes the initial high-accuracy control (#1148).

G05.1 High-speed high-accuracy control I / Spline *4 -

G06.2 NURBS interpolation *4 -

G07 Hypothetical axis interpolation *3 -

G07.1 G107

Cylindrical interpolation *4 -

G08 High-accuracy control *4 -

G09 Exact stop check *1 -

G10 Program data input (Parameter / Compen- sation amount / Coordinate rotation by pa- rameter data) / Life management data registration

The reverse run is enabled, but data is not recovered.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

574IB-1501278-Q

G10.6 Tool retract command *3 -

G11 Program parameter input / cancel The reverse run is enabled, but data is not recovered.

G12 Circular cutting CW *3 -

G13 Circular cutting CCW *3 -

G12.1 G112

Polar coordinate interpolation ON *4 -

G13.1 G113

Polar coordinate interpolation cancel *4 -

G15 Polar coordinate command OFF *4 -

G16 Polar coordinate command ON *4 -

G17 X-Y plane selection *2 Data is recovered using the modal informa- tion storage block.

G18 Z-X plane selection *2 Data is recovered using the modal informa- tion storage block.

G19 Y-Z plane selection *2 Data is recovered using the modal informa- tion storage block.

G20 Inch command *1 Switched with the movement command just after commanded.

G21 Metric command *1 Switched with the movement command just after commanded.

G22 Stroke check before travel ON *3 -

G23 Stroke check before travel OFF *3 -

G27 Reference position check *3 -

G28 Automatic reference position return *3 -

G29 Start position return *3 -

G30 2nd, 3rd and 4th reference position return *3 -

G30.1 Tool change position return 1 *3 -

G30.2 Tool change position return 2 *3 -

G30.3 Tool change position return 3 *3 -

G30.4 Tool change position return 4 *3 -

G30.5 Tool change position return 5 *3 -

G30.6 Tool change position return 6 *3 -

G31 Skip/Multi-step skip function 2 *3 -

G31.1 Multi-step skip function 1-1 *3 -

G31.2 Multi-step skip function 1-2 *3 -

G31.3 Multi-step skip function 1-3 *3 -

G33 Thread cutting *2 The reverse run is enabled, but the synchro- nous feed is invalid. Actual cutting mode available.

G34 Special fixed cycle (bolt hole circle) *4 -

G35 Special fixed cycle (write at angle) *4 -

G36 Special fixed cycle (arc) *4 -

G37 Automatic tool length measurement *3 -

G37.1 Special fixed cycle (grid) *4 -

G38 Tool radius compensation vector designa- tion

*3 -

G39 Tool radius compensation corner arc *3 -

G40 Tool radius compensation cancel / 3-dimen- sional tool radius compensation cancel

*2 Data is recovered using the modal informa- tion storage block.

G41 Tool radius compensation left / 3-dimen- sional tool radius compensation left

*2 Data is recovered using the modal informa- tion storage block.

G code Function name Reverse run

Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

575 IB-1501278-Q

G42 Tool radius compensation right / 3-dimen- sional tool radius compensation right

*2 Data is recovered using the modal informa- tion storage block.

G40.1 G150

Normal line control cancel *4 -

G41.1 G151

Normal line control left ON *4 -

G42.1 G152

Normal line control right ON *4 -

G43 Tool length compensation (+) *2 Data is recovered using the modal informa- tion storage block.

G44 Tool length compensation (-) *2 Data is recovered using the modal informa- tion storage block.

G43.1 Tool length compensation along the tool axis

*3 -

G43.4 Tool center point control type1 ON *4 -

G43.5 Tool center point control type2 ON *4 -

G45 Tool position offset (expansion) *2 Data is recovered using the modal informa- tion storage block.

G46 Tool position offset (reduction) *2 Data is recovered using the modal informa- tion storage block.

G47 Tool position offset (double) *2 Data is recovered using the modal informa- tion storage block.

G48 Tool position offset (decreased by half) *2 Data is recovered using the modal informa- tion storage block.

G49 Tool length compensation cancel / Tool cen- ter point control cancel

*1/ *3

If tool length compensation cancel is desig- nated, reverse running is enabled.

G50.2 Scaling cancel *4 -

G51.2 Scaling ON *4 -

G50.1 Mirror image by G code cancel *3 -

G51.1 G command mirror image ON *3 -

G52 Local coordinate system setting *2 Data is recovered using the modal informa- tion storage block.

G53 Machine coordinate system selection *2 Data is recovered using the modal informa- tion storage block.

G54 Workpiece coordinate system 1 selection *2 Data is recovered using the modal informa- tion storage block.

G55 Workpiece coordinate system 2 selection *2 Data is recovered using the modal informa- tion storage block.

G56 Workpiece coordinate system 3 selection *2 Data is recovered using the modal informa- tion storage block.

G57 Workpiece coordinate system 4 selection *2 Data is recovered using the modal informa- tion storage block.

G58 Workpiece coordinate system 5 selection *2 Data is recovered using the modal informa- tion storage block.

G59 Workpiece coordinate system 6 selection *2 Data is recovered using the modal informa- tion storage block.

G54.1 Workpiece coordinate system selection 48 / 96 sets extended

*2 Data is recovered using the modal informa- tion storage block.

G60 Unidirectional positioning *3 -

G61 Exact stop check mode *1 -

G61.1 High-accuracy control ON *4 This includes the initial high-accuracy control (#1148).

G61.2 High-accuracy spline *4 -

G62 Automatic corner override *1 -

G code Function name Reverse run

Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

576IB-1501278-Q

G63 Tapping mode *1 -

G63.1 Synchronous tapping mode (Forward tap- ping)

*4 -

G63.2 Synchronous tapping mode (Reverse tap- ping)

*4 -

G64 Cutting mode *1 -

G65 Macro call Simple call *1 -

G66 User macro Modal call A *1 -

G66.1 User macro Modal call B *1 -

G67 User macro Modal call cancel *1 -

G68 Coordinate rotation by program mode ON / 3-dimensional coordinate conversion mode ON

*4 -

G68.2 Inclined surface machining command *3 -

G68.3 Inclined surface machining command (Based on tool axis direction)

*3 -

G69 Coordinate rotation by program mode can- cel / 3-dimensional coordinate conversion mode cancel / Inclined surface machining command cancel

*4 -

G70 User fixed cycle *3 -

G71 User fixed cycle *3 -

G72 User fixed cycle *3 -

G73 Fixed cycle (step) *1 Data is created for each movement block in the fixed cycle.

G74 Fixed cycle (reverse tap) *2 The reverse run is enabled, but the synchro- nous feed is invalid. Actual cutting mode available.

G74.5 G74.6 G74.8

Fixed cycle (reverse Punchtap cycle) *4 The command is valid only in the actual cut- ting mode. The program error (P182) occurs in the dry run mode.

G75 Fixed cycle (circular cutting cycle) *1 Data is created for each movement block in the fixed cycle.

G76 Fixed cycle (Fine boring) *1 Data is created for each movement block in the fixed cycle.

G77 User fixed cycle *3 -

G78 User fixed cycle *3 -

G79 User fixed cycle *3 -

G80 Fixed cycle for drilling cancel *1 -

G81 Fixed cycle (drill/spot drill) *1 Data is created for each movement block in the fixed cycle.

G82 Fixed cycle (drill/counter boring) *1 Data is created for each movement block in the fixed cycle.

G83 Fixed cycle (deep drilling) *1 Data is created for each movement block in the fixed cycle.

G84 Fixed cycle (tapping) *2 The reverse run is enabled, but the synchro- nous feed is invalid. Actual cutting mode available.

G84.5 G84.6 G84.8

Fixed cycle (Punchtap cycle) *4 The command is valid only in the actual cut- ting mode. The program error (P182) occurs in the dry run mode.

G85 Fixed cycle (boring) *1 Data is created for each movement block in the fixed cycle.

G code Function name Reverse run

Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

577 IB-1501278-Q

G86 Fixed cycle (boring) *1 Data is created for each movement block in the fixed cycle.

G87 Fixed cycle (back boring) *1 Data is created for each movement block in the fixed cycle.

G88 Fixed cycle (boring) *1 Data is created for each movement block in the fixed cycle.

G89 Fixed cycle (boring) *1 Data is created for each movement block in the fixed cycle.

G90 Absolute command *2 Switched with the movement command just after commanded.

G91 Incremental command *2 Switched with the movement command just after commanded.

G92 Coordinate system setting *1 -

G92.1 Workpiece coordinate system preset *1 -

G93 Inverse time feed *1 -

G94 Asynchronous feed (feed per minute) *1 -

G95 Synchronous feed (feed per revolution) *1 -

G96 Constant surface speed control ON *2 Switched with the movement command just after commanded.

G97 Constant surface speed control OFF *2 Switched with the movement command just after commanded.

G98 Fixed cycle (Initial level return)

*1 -

G99 Fixed cycle R point level return *1 -

G115 Start point designation timing synchroniza- tion Type 1

*1 -

G116 Start point designation timing synchroniza- tion Type 2

*1 -

G118.2 Parameter switching (Spindle) *3 -

G119.2 Inertia Estimation (Spindle) *3 -

G100 - G225

User macro (G code call) Max. 10 *1 -

M98 Subprogram call *1 -

G code Function name Reverse run

Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

578IB-1501278-Q

15.9 Data Input by Program 15.9.1 Parameter Input by Program; G10 L70, G11

The parameters set from the setting and display unit can be changed in the machining programs.

For commanding data with decimal point, and character string data.

The data's command range conforms to the setting range of each parameter.

(1) The sequence of addresses in a block must be as shown above. When an address is commanded two or more times, the last command will be valid.

(2) The part system No. is set in the following manner. "1" for the 1st part system, "2" for 2nd part system, and so forth. If the address S is omitted, the part system of the executing program will be applied. As for the parameters common to part systems, the command of part system No. will be ignored.

(3) The axis No. is set in the following manner. "1" for 1st axis, "2" for 2nd axis, and so forth. If the address A is omitted, the 1st axis will be applied. As for the parameters common to axes, the command of axis No. will be ignored.

(4) Address H is commanded with the combination of setting data (0 or 1) and the bit designation (0 to 7). Hd0: Sets the dth bit OFF. (d: 0 to 7) Hd1: Sets the dth bit ON. (d: 0 to 7)

(5) Only the decimal number can be commanded with the address D. The value that is smaller than the input setting increment (#1003 iunit) will be round off to the nearest increment.

(6) The character string must be put in angled brackets "<" and ">". If these brackets are not provided, the program error (P33) will occur. Up to 63 characters can be set.

Function and purpose

Command format

Data setting start command

G10 L70 ;

P__ S__ A__ H__ ; Bit parameter

P__ S__ A__ D__ ; Numerical value parameter

P__ S__ A__ ; Character string parameter

P Parameter No.

S Part system No.

A Axis No.

H Bit type data

D Numeric type data

character string Character string data

Data setting end command

G11 ;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

579 IB-1501278-Q

(7) G11 must be commanded alone in a block. A program error (P33 or P421) will occur if it is not commanded alone in a block.

(8) The parameter "#1078 Decimal pnt type 2" is disabled.

(9) The following data cannot be changed with the G10 L70 command: Tool compensation data workpiece coordinate data PLC switch PLC axis parameter Device open parameters SRAM open parameters DeviceNet parameters

(10) The settings of the parameters with (PR) in the parameter list will be enabled after the power is turned OFF and ON. Refer to the parameter list in your manual.

The timing for updating the spindle parameter and the NC axis parameter settings depends on the MTB specifica-

tions (parameter "#1254 set26/bit3").

(*1) The parameters of the target spindle are not updated while the functions below are active. The parameters are

updated after the functions have been completed.

Synchronous tapping cycle The spindle for spindle position control is in C axis mode and the C axis is in motion.

(*2) The program updates the exchange axis under the arbitrary axis exchange control, waiting for "all axes smooth-

ing zero" in the exchange destination part system.

Precautions

Parameter update timing

#1254 set26/bit3 Spindle parameter NC axis parameter

Invalid The program updates the parameter settings, waiting for "all axes smoothing zero" in all part systems.

Valid The program updates the parameter set- tings without waiting for "smoothing zero". (*1)

The program updates the parameter set- tings, waiting for "all axes smoothing zero" in control part systems. (*2)

Program example

G10 L70 ;

P6401 H71 ; Sets "1" to "#6401 bit7".

P8204 S1 A2 D1.234 ; Sets "1.234" to "#8204 of the 1st part system 2nd axis".

P8621 ; Sets "X" to "#8621".

G11 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

580IB-1501278-Q

15.9.2 Compensation Data Input by Program (Tool Compensation Amount) ; G10 L10/L11/L12/L13,

G11

The tool compensation can be set or changed by the program using the G10 command.

During the absolute command (G90) mode, the commanded offset amount serves as the new offset amount, where-

as during the incremental command (G91) mode, the sum of present offset and the commanded offset serves as

the new offset amount.

Tool compensation memory type I

Tool compensation memory type II

(1) Type I is selected when parameter "#1037 cmdtyp" is set to "1", and type II is selected when set to "2".

(1) G10 is a non-modal command and is valid only in the commanded block.

(2) The G10 command does not perform any movement, but must not be used with G commands other than G90 or G91.

(3) Do not command G10 in the same block as the fixed cycle and subprogram call command. This will cause mal- functioning and program errors.

(4) The workpiece offset input command (L2 or L20) should not be issued in the same block as the tool compensa- tion input command (L10).

(5) If an illegal L No. or compensation No. is commanded, the program errors (P172 and P170) occur respectively. If the offset amount exceeds the maximum command value, the program error (P35) occurs.

(6) Decimal point inputs can be used for the offset amount.

(7) If the G command that cannot be combined with G10 is issued in the same block, a program error (P45) occurs.

(8) A program error (P35) occurs for any value that does not match the compensation amount setting unit after com- mand unit conversion. With an incremental command, the setting range for the compensation amount is the sum of the present setting value and commanded value.

Function and purpose

Command format

Tool compensation input (L10/L11/L12/L13)

G10 L10 P_ R_ ;

P Compensation No.

R Compensation amount

G10 L10 P_ R_ ; Tool length compensation (Shape compensation)

G10 L11 P_ R_ ; Tool length compensation (Wear compensation)

G10 L12 P_ R_ ; Tool radius compensation (Shape compensation)

G10 L13 P_ R_ ; Tool radius compensation (Wear compensation)

Compensation input cancel

G11 ;

Detailed description

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

581 IB-1501278-Q

(1) Input the compensation amount.

H10=-12.345, H05=9.8765, H30=2.468

(2) Updating of compensation amount

(Example 1) Assume that "H10 = -1000" is already set.

(Example 2) Assume that "H10 = -1000" is already set.

Main program

Subprogram O1111

Final offset amount will be H10= -5000.

Program example

N1 G01 G90 G43 Z-100000 H10 F100 ; (Z=-101000)

N2 G28 Z0 ;

N3 G91 G10 L10 P10 R-500 ; (The mode is the G91 mode, so -500 is added.)

N4 G01 G90 G43 Z-100000 H10 ; (Z=-101500)

N1 G00 X100000 ; a

N2 #1=-1.;

N3 M98 P1111 L4 ; b1, b2, b3, b4

N1 G01 G91 G43 Z0 H10 F100 ; c1, c2, c3, c4

G01 X1000 ; d1, d2, d3, d4

#1=#1-1.;

G90 G10 L10 P10 R#1 ;

M99 ;

; G10 L10 P10 R-12.345 ; G10 L10 P05 R9.8765 ; G10 L10 P30 R2.468 ;

(a) (b1) (b2) (b3) (b4)

1000 1000 1000 1000

10 00

10 00

10 00

10 00c1

d1

c3 d3

c2 d2

c4 d4

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

582IB-1501278-Q

(Example 3) The program for Example 2 can also be written as follows.

Main program

Subprogram O1111

(1) Even if this command is displayed on the screen, the offset No. and variable details will not be updated until ac- tually executed.

N1 G00 X100000 ;

N2 M98 P1111 L4 ;

N1 G01 G91 G43 Z0 H10 F100 ;

N2 G01 X1000 ;

N3 G10 L10 P10 R-1000 ;

N4 M99 ;

Precautions

N1 G90 G10 L10 P10 R-100 ;

N2 G43 Z-10000 H10 ;

N3 G00 X-10000 Y-10000 ;

N4 G90 G10 L10 P10 R-200 ; The H10 offset amount is updated when the N4 block is executed.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

583 IB-1501278-Q

15.9.3 Compensation Data Input by Program (Workpiece Offset Amount) ; G10 L2/L20, G11

The workpiece offset can be set or changed by the program using the G10 command.

During the absolute command (G90) mode, the commanded offset amount serves as the new offset amount, where-

as during the incremental command (G91) mode, the sum of present offset and the commanded offset serves as

the new offset amount.

(1) The compensation amount in the G91 will be an incremental amount and will be accumulated each time the pro- gram is executed. Command G90 or G91 before G10 as much as possible.

(2) When address P is omitted, set the offset amount in the currently selected workpiece coordinate system (G54 to G59). When the G54.1 modal is active, a program error (P35) occurs.

(1) The specifications of the extended workpiece coordinate system selection are required.

(2) When address P is omitted, set the offset amount in the currently selected "G54.1 Pn". When the G54 to G59 modals are active, a program error (P33) occurs.

Function and purpose

Command format

Workpiece coordinate system offset input (L2)

G90 (G91) G10 L2 P_ X_ Y_ Z_ ;

P 0 : External workpiece

1 : G54

2 : G55

3 : G56

4 : G57

5 : G58

6 : G59

Other than 0 to 6: Program error

X, Y, Z Offset amount of each axis

Extended workpiece coordinate system offset input (L20)

G90 (G91) G10 L20 P_ X_ Y_ Z_ ;

P "n" No. of G54.1 Pn (1 to 300)

X, Y, Z Offset amount of each axis

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

584IB-1501278-Q

(1) When both of addresses P and L are omitted, set the offset amount in the currently selected workpiece coordi- nate system (one of G54 to G59, or G54.1 Pn).

(1) G10 is non-modal command and is valid only in the commanded block.

(2) The G10 command does not perform any movement, but must not be used with G commands other than G54 to G59, G90 or G91.

(3) Do not command G10 in the same block as the fixed cycle and subprogram call command. This will cause mal- functioning and program errors.

(4) The workpiece offset input command (L2 or L20) should not be issued in the same block as the tool compensa- tion input command (L10).

(5) If an illegal L No. is commanded, the program error (P172) occurs. If the offset amount exceeds the maximum command value, the program error (P35) occurs.

(6) Decimal point inputs can be used for the offset amount.

(7) The offset amounts for the external workpiece coordinate system and the workpiece coordinate system are com- manded as distances from the basic machine coordinate system zero point.

(8) The workpiece coordinate system updated by inputting the workpiece coordinate system will follow the previous modal (G54 to G59) or the modal (G54 to G59) in the same block.

(9) L2/L20 can be omitted when the workpiece offset is input.

(10) When the P command is omitted for workpiece offset input, it will be handled as the currently selected work- piece compensation input.

(11) If the G command that cannot be combined with G10 is issued in the same block, a program error (P45) occurs.

(12) A program error (P35) occurs for any value that does not match the compensation amount setting unit after command unit conversion. With an incremental command, the setting range for the compensation amount is the sum of the present setting value and commanded value.

Offset input to the currently selected workpiece coordinate system (When the L command is omitted)

G90 (G91) G10 P_ X_ Y_ Z_ ;

P (1) During G54 to G59 modal

0 : External workpiece offset (EXT)

1 to 6 : Workpiece offset input (G54 to G59)

Other than 0 to 6 : Program error (P35)

(2) During G54.1 Pn modal

1 to 300 : Extended workpiece coordinate offset amount set- ting (G54.1 Pn)

Other than 1 to 300 : Program error (P35)

X, Y, Z Offset amount of each axis

Compensation input cancel

G11 ;

Detailed description

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

585 IB-1501278-Q

(1) When updating the workpiece coordinate system offset amount

Assume that the previous workpiece coordinate system offset amount is as follows.

X=-10.000, Y=-10.000

Changes of workpiece current position display in N101 The G54 workpiece position display data will change before and after the workpiece coordinate system is changed with G10 in N101.

When workpiece coordinate system offset amounts are set in G54 to G59

Program example

N100 G00 G90 G54 X0 Y0 ;

N101 G90 G10 L2 P1 X-15.000 Y-15.000 ;

N102 X0 Y0 ;

M02 ;

Basic machine coordinate system zero point

G54 coordinate before change

G54 coordinate after change

X = 0

Y = 0

-> X = +5.000

Y = +5.000

G90 G10 L2 P1 X-10.000 Y-10.000 ;

G90 G10 L2 P2 X-20.000 Y-20.000 ;

G90 G10 L2 P3 X-30.000 Y-30.000 ;

G90 G10 L2 P4 X-40.000 Y-40.000 ;

G90 G10 L2 P5 X-50.000 Y-50.000 ;

G90 G10 L2 P6 X-60.000 Y-60.000 ;

- X - 20. - 10.

- 10.

- 20.

- Y

- Y

- Y

- X

- X

N100

N101

N102

M

(W1)

W1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

586IB-1501278-Q

(2) When using one workpiece coordinate system as multiple workpiece coordinate systems

(1) Even if this command is displayed on the screen, the offset No. and variable details will not be updated until ac- tually executed.

(2) It is recommended to command G10 in a block different from the one in which any of G54 to G59 and G54.1 is commanded. When G10 and any of G54 to G59 and G54.1 are commanded in the same block, it operates as follows.

When "#1274 ext10/bit5" is set to "0"

When "#1274 ext10/bit5" is set to "1" ("G54 Pn" is handled as "G54.1 Pn")

Main program :

#1=-50. #2=10. ;

M98 P200 L5 ;

M02 ;

%

Subprogram

O200

N1 G90 G54 G10 L2 P1 X#1 Y#1 ;

N2 G00 X0 Y0 ;

N3 X-5. F100 ;

N4 X0 Y-5. ;

N5 Y0 ;

N6 #1=#1+#2 ;

N7 M99 ;

%

Basic machine coordinate system zero point

Precautions

G10 G54 Pn Xx ; Changes the modal to G54 and executes "G10 Pn".

G10 G54 Xx ; (without "P") Changes the modal to G54 and executes G10 for G54.

G10 G54.1 Pn Xx ; Changes the modal to G54.1 Pn and executes G10 for "G54.1 Pn".

G10 G54.1 Xx ; (without "P") Program error (P33)

G10 G54 Pn Xx ; Program error (P33)

G10 G55 Pn Xx ; Changes the modal to G55 and executes "G10 Pn".

G10 G54 Xx ; (without "P") Changes the modal to G54 and executes G10 for G54.

G10 G54.1 Pn Xx ; Program error (P33)

G10 G54.1 Xx ; (without "P") Program error (P33)

- X - 10.

- 10.

M

- 20.

- Y - 50.

- 30.

- 60.

- 40.

G54'' ''

W

W

W

W

W

G54'' '

G54''

G54'

G54

- 50. - 40. - 30. - 20.

1

2

3

5

4

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

587 IB-1501278-Q

15.9.4 Compensation Data Input by Program (Turning Tool) ; G10 L12/L13, G11

If the tool compensation type is changed to type III by the compensation type selection function, it is possible to write

the offset amount for three base axes, nose R compensation amount, and tool nose point (parameter "#1046 T-ofs

disp type"). During the absolute (G90) mode, the commanded tool compensation amount serves as a new one.

During the incremental (G91) mode, the currently set compensation amount plus the commanded compensation

amount serves as the new compensation amount.

The commanded range and unit of the compensation amount are as follows.

Program error (P35) occurs for any value not listed in the table after command unit conversion. With an incremental

command, the commanded range for the compensation amount is the sum of the present setting value and com-

mand value.

Function and purpose

Command format

Turning tool compensation input (L12/L13)

G10 L12 P__ X__ Y__ Z__ R__ Q__ ; (Shape compensation)

P Tool shape compensation No. (1 to number of tool compensation sets)

X, Y, Z Compensation amount for each axis

R Nose R compensation amount

Q Hypothetical tool nose point

G10 L13 P__ X__ Y__ Z__ R__ Q__ ; (Wear compensation)

P Wear compensation No. (1 to number of tool compensation sets)

X, Y, Z Compensation amount for each axis

R Nose R compensation amount

Q Hypothetical tool nose point

Compensation input cancel

G11 ;

Detailed description

Setting Compensation amount

Metric system Inch system

#1003=B 9999.999 (mm) 999.9999 (inch)

#1003=C 9999.9999 (mm) 999.99999 (inch)

#1003=D 9999.99999 (mm) 999.999999 (inch)

#1003=E 9999.999999 (mm) 999.9999999 (inch)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

588IB-1501278-Q

(1) The X, Y, and Z addresses are set to the axis names specified in the parameters for three base axes (parameters "#1026 base_I", "#1027 base_J", and "#1028 base_K"). The compensation data input by program of the tool offset is not available for an axis address that is not specified in the parameters for three base axes. Therefore, be sure to carry out compensation data input by program after specifying the parameters for three base axes.

(2) The compensation data input by program is available using a command (G10 L10, L11, L12, or L13) in a normal machining center system, but only the compensation amount of the Z axis and nose R can be input as data.

Precautions

G10 L10 P__ R__; Z axis shape compensation

G10 L11 P__ R__; Z axis wear compensation

G10 L12 P__ R__; Nose R shape compensation

G10 L13 P__ R__; Nose R wear compensation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

589 IB-1501278-Q

15.9.5 Tool Shape Input by Program; G10 L100, G11

This function sets tool shape data of the tool management screen by the machining program. Using this function

saves the step to input tool shapes on the screen when the 3D checks is executed.

Function and purpose

Command format

Tool shape settings from the program

G10 L100; Data setting start command

P_ T_ K_ D_ H_ I_ J_ C_ ; Data setting command

P Data No. Specify the data No. on the tool management screen. (Cannot be omitted.) The maximum value of data No. varies depending on the number of tool management data sets.

T Tool No. Specify the tool No. (Cannot be omitted.) 0 to 99999999 When "0" is specified, all the tool shape data of data No. specified by address P will be "0". In this case, only the tool shape data is changed.

K Type Designate the tool type using a numerical value. [Mill tool]

1: Ball end mill 2: Flat end mill

3: Drill 4: Radius end mill

5: Chamfer 6: Tap

7: Face mill

D Shape data 1 Designate shape data of the tool. (Decimal point input enabled) The setting details of shape data differ depending on the tool type.H Shape data 2

I Shape data 3 Refer to the following "Correspondence between tool types and shape data" for the settings for each tool type.J Shape data 4

C Tool color Specify the tool color.

1: Gray 2: Red 3: Yellow

4: Blue 5: Green 6: Light blue

7: Purple 8: Pink

G11; Data setting end command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

590IB-1501278-Q

[Correspondence between tool types and shape data]

[Mill tool]

(*1) When "#8968 Tool shape radius validity" is set to "0", input the diameter value. When it is set to "1", input the

radius value.

(1) Omitted addresses cannot be set.

(2) If address "P" or "T" is omitted, a program error (P422) will occur.

(3) For M80 Series, the tool shape data on the Tool management screen is rewritten during the graphic check.

(4) For M800W Series, M800S Series, and M80W Series, this change is only reflected on the graphic check drawing. The tool shape data on the Tool management screen is not rewritten.

This function sets the tool shape of the Tool management screen from the machining program.

The 3D check switches the drawing of tools at the timing of a tool change command. Therefore, the machining pro-

gram should be prepared to run a tool shape setting command prior to the tool change command being issued.

(a) The tool is drawn with the shape that has been changed by the machining program.

(b) The tool is drawn with a shape that has been registered on the tool management screen.

(c) The tool is drawn with a new shape that has been registered by the machining program.

Shape data Item by tool type

Ball end mill Flat end mill Drill Radius end mill

Chamfer Tap Face mill

1 Tool radius (*1)

2 Tool length

3 - - Tool nose angle

Corner rounding

End angle Pitch Cutter length

4 - - - - End diame- ter (*1)

Thread di- ameter

Shank diam- eter

Detailed description

Tool shape settings from the program

Note

G10 L100; P1 T201 ...; P3 T203 ...;

G11;

O200

(a)

(b)

(c)

T201; (Replaced with tool A.)

T202; (Replaced with tool B.)

T203; (Replaced with tool C.)

Machining program Tool shape data

Tool A

Tool B Tool C

3D check screen

Tool management screen

(Change the shape of tool A.)

(Newly register the shape of tool C.)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

591 IB-1501278-Q

(1) Tool shape settings from the program

(1) If the G10 or G11 command is not issued alone in a block, a program error (P422) will occur.

(2) If a block contains an address whose data is out of range, a program error (P35) will occur.

(3) If a block contains an illegal address, a program error (P32) will occur.

(4) The parameter "#1078 Decpt2" is valid for position commands (K address, W address). Other command addresses comply with the minimum input unit ("#1015 cunit"). (MTB specifications)

(5) The parameter "#8044 UNIT*10" is invalid.

(6) The command unit of parameters to be input in mm/inch can be switched by G20/G21.

(7) The maximum value of "G10 L100" data No. (address P) is "80".

Program example

G10 L100;

P1 T1 K3 D5. H20. I0 J0 C2 ; Sets the data of data No. 1.

P2 T10 D10. ; Sets the tool diameter of data No. 2 to "10.".

P8 T0; Sets the tool shape data of data No. 8 to "0".

G11;

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

592IB-1501278-Q

15.9.6 R-Navi Data Input by Program; G10 L110/L111, G11, G68.2, G69

The R-Navi setup parameters can be configured from a machining program.

Command setting values with absolute positions.

The input unit conforms to the input setting unit of the 1st part system and the initial inch.

In either case, the input unit depends on the MTB specifications (parameters "#1003 iunit" and "#1041 I_inch").

The parameter "#8044 UNIT*10" is invalid.

G10 must be commanded alone in a block, which also applies to G11. A program error (P423) will occur if it is not commanded alone in a block.

Address Q cannot be omitted. If omitted, a program error (P423) will occur. For the omitted addresses, data remains unchanged. Cancel the selected machining surface before data setting.

If data is set to a machining workpiece including the selected machining surface, a program error (P423) will occur.

Symbols "\", "/", ",", "*", "?", """, "<", ">", "|", " " (space), "@", and "~" cannot be used as one-byte symbols. If an available symbol is set, a program error (P35) or (P32) will occur.

For details on each of input data, refer to the instruction manual.

Function and purpose

Command format

Workpiece registration and setting

G69; Canceling the selected machining surface

G10 L110; Start setting workpiece data

Q_ <_> F_ C_ R_ X_ Y_ Z_ I_ J_ K_; Data setting

G11; End data setting

Q Workpiece registration No. (1 to 10)

< > Workpiece name Designate the name using up to 20 one-byte alphanumeric characters, including symbols. (If "0" is entered, the setting value is cleared.)

F Workpiece shape 0: Rectangular parallelepiped 1: Circular cylinder

C Basic coordinate system of machining workpiece 0 to 5: G54 to G59 6 to 305: G54.1P1 to G54.1P300

R Marked point No. When the workpiece shape is set to rectangular parallelepiped, designate the marked point to set the basic coordinate system zero point. (0 to 8)

X, Y, Z Workpiece size When the shape is set to circular cylinder, designate the diameter with X and the height with Y. (0.000 to 99999.999)

I, J, K Workpiece shift Set the shift amount from the marked point to the basic coordinate system zero point. (-99999.999 to 99999.999)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

593 IB-1501278-Q

G10 must be commanded alone in a block, which also applies to G11. A program error (P423) will occur if it is not commanded alone in a block.

Addresses P, Q, and D cannot be omitted. If omitted, a program error (P423) will occur. For the omitted addresses, data remains unchanged. For the machining surface designated with P0, set the coordinate axis direction with P1 and P2. Be sure to first

command P0. If P1 or P2 is commanded before P0, a program error (P423) will occur.

The machining surface cannot be registered for an undefined workpiece. If the registration command is issued, a program error (P423) will occur.

Cancel the selected machining surface before data setting. If data is set to the selected machining surface, a program error (P423) will occur.

(1) Command address to register the machining surface

Symbols "\", "/", ",", "*", "?", """, "<", ">", "|", " " (space), "@", and "~" cannot be used as one-byte symbols. If an available symbol is set, a program error (P35) or (P32) will occur.

For details on each of input data, refer to the instruction manual.

Machining surface registration and setting

G69; Canceling the selected machining surface

G10 L111; Start setting machining surface data

P0 Q_ D_ <_> X_ Y_ Z_ A_; Machining surface setting (Refer to (1).)

P1 M_ B_ C_ E_ F_ H_ I_; Designate the coordinate axis direction (1st axis). (Refer to (2).)

P2 M_ B_ C_ E_ F_ H_ I_; Designate the coordinate axis direction (2nd axis). (Refer to (2).)

G11; End data setting

G68.2 P10 Q_ D_; Selecting the registered machining surface

P Machining surface registration (0)

Q Workpiece registration No. (1 to 10)

D Machining surface registration No. (2 to 17)

< > Designate the name of the machining surface using up to 15 one-byte alphanu- meric characters, including symbols. (If "0" is entered, the setting value is cleared.)

X, Y, Z Designate the coordinate system zero point (feature coordinate system zero point) of the machining surface with the offset from the basic coordinate zero point. In this case, designate the coordinate axis direction of the basic coordinate sys- tem. (-99999.999 to 99999.999)

A From three orthogonal axes (X, Y, and Z axes), select two coordinate axes to des- ignate the coordinate axis direction along the machining surface. 0: Z/X axis 1: Y/Z axis 2: X/Y axis

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

594IB-1501278-Q

(2) Command address to designate the coordinate axis direction

(*1) The setting details vary depending on the coordinate axis direction designation method (M address).

[M address: 0 (On-axis point (+))]

B, C, E: Coordinate value on X, Y, or Z axis F to I: Vacuous

[M address: 1 (Latitude/Longitude)]

B: Latitude (1) C: Longitude (2) E to I: Vacuous

[M address: 2 (Latitude/Projection angle)]

B: Latitude (1) C: Projection angle (2) E to I: Vacuous

[M address: 3 (Start point/End point)]

B: Start point coordinate value (X) C: Start point coordinate value (Y) E: Start point coordinate value (Z) F: End point coordinate value (X) H: End point coordinate value (Y) I: End point coordinate value (Z)

[M address: 4 (Indexing angle)]

B: 1st rotation angle (1) C: 2nd rotation angle (2) E to I: Vacuous

Method 5 (indexing angle) in the coordinate axis direction designation method is only available in the Z axis direction. If a command is issued to an axis other than the Z axis designated by the coordinate axis selection command (P0Ax), a program error (P423) will occur.

For details on each of input data, refer to the instruction manual.

P Coordinate axis direction designation axis 1: 1st axis 2: 2nd axis

M Coordinate axis direction designation method Designate the method to set the coordinate axis direction along the machining sur- face. 0: [Method 1] On-axis point (+) 1: [Method 2] Latitude/Longitude 2: [Method 3] Latitude/Projection angle 3: [Method 4] Start point/End point 4: [Method 5] Indexing angle (Z axis direction only)

B, C, E, F, H, I Coordinate axis direction setting (*1)

(-99999.999 to 99999.999)

P0 A0 (Z/X axis) P2 M4 setting causes an error. (Method 5 is not able to be selected on the 2nd axis.)P0 A1 (Y/Z axis)

P0 A2 (X/Y axis) P1M4 or P2M4 setting causes an error. (Method 5 is not able to be select- ed.)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

595 IB-1501278-Q

This function enables the R-Navi setup parameters to be configured from a machining program.

After the parameters have been configured from the program, you can check the values or select the machining

surface from the setup screen.

(1) If the machining surface is selected or canceled while the block start interlock signal (*BSL) is turned OFF, the operation error (M01 0109) occurs. After this, if the block start interlock signal (*BSL) is turned ON, the machining surface is selected or canceled. The operation of the PLC signal depends on the MTB specifications.

(2) The multiple-axis synchronization control cannot be used at the same time as R-Navi. If the machining surface is selected during the multiple-axis synchronization control, the operation error (M01 0250) occurs. If the multiple-axis synchronization control is performed while the machining surface is selected, the operation error (M50 5005) occurs.

Operation example

Restrictions

WORK1

WORK2

BASE-SURFACE

SURFACE1-2

O200

Canceling the selected machining surface G69; (Setting of workpiece) G10 L110; Q1 F0 C0 R1 X50.0 Y30.0 Z20.0 I0.0 J0.0 K0.0 ; Q2 F0 C0 R5 X50.0 Y30.0 Z20.0 I-10.0 J-5.0 K-40.0 ; ... G11;

(Setting the machining surface) G10 L111; (Workpiece : 1, surface : 2) P0 Q1 D2 X50.0 Y-30.0 Z-20.0 A0; P1 M0 B1.0 C0.0 E1.732 F0.0 H0.0 I0.0; P2 M1 B90.0 C0.0 E0.0 F0.0 H0.0 I0.0; (Workpiece : 1, surface : 17) P0 Q1 D17 X20.0 Y20.0 Z10.0 A0; P1 M1 B0.0 C30.0 E0.0 F0.0 H0.0 I0.0; P2 M0 B0.0 C30.0 E0.0 F0.0 H0.0 I0.0; ... (Workpiece : 2, surface : 2) P0 Q2 D2 X20.0 Y20.0 Z10.0 A0; P1 M0 B1.0 C0.0 E1.732 F0.0 H0.0 I0.0; P2 M1 B90.0 C0.0 E0.0 F0.0 H0.0 I0.0; ... G11;

Machining program

Setup parameters

Setup screen

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

596IB-1501278-Q

15.10 Tool Life Management 15.10.1 Inputting the Tool Life Management Data by G10 L3 Command; G10 L3, G11

Using the G10 command (non-modal command), the tool life management data can be registered, changed and

added to, and preregistered groups can be deleted.

In tool life management II/III, it is possible to register, change, or add tool life management data and delete a regis-

tered group using the "G10L3" or "G10L30" command.

Such a command is not available in tool life management I. If commanded, a program error (P39) occurs.

Only group No. 1 can be used to register, change and add for the tool life management III.

Function and purpose

Command format

Start of tool life management data registration

G10 L3 ;

P_ L_ Q_ ; (First group)

T_ H_ D_ ;

T_ H_ D_ ;

P_ L_ Q_ ; (Next group)

T_ H_ D_;

P Group No.

L Tool life

Q Management method

T Tool No. The spare tools are selected in the order of the tool Nos. registered here.

H Tool length compensation No.

D Tool radius compensation No.

Start of tool life management data change or addition

G10 L3 P1;

P_ L_ Q_ ; (First group)

T_ H_ D_ ;

T_ H_ D_ ;

P_ L_ Q_ ; (Next group)

T_ H_ D_;

P Group No.

L Tool life

Q Management method

T Tool No.

H Tool length compensation No.

D Tool radius compensation No.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

597 IB-1501278-Q

(*) The setting range of the tool compensation No. varies depending on the specification of the "number of tool offset

sets".

If a value exceeding each command range is issued, a program error (P35) occurs.

Start of tool life management data deletion

G10 L3 P2;

P_ ; (First group)

P_ ; (Next group)

P Group No.

End of tool life management data registration, change, addition or deletion

G11 ;

Detailed description

Command range

Item Command range

Group No. ( Pn ) 1 to 99999999 (Only group No. 1 can be used for the tool life management III)

Tool life ( Ln ) 0 to 65000 times (Managed by the number of times the tool was attached) 0 to 4000 minutes (Managed by the cutting hours)

Management method ( Qn ) 1 to 3 1: Managed by the number of times the tool was attached 2: Managed by the cutting hours 3: Managed by the number of cuttings

Tool No. ( Tn ) 1 to 99999999

Tool length compensation No.

( Hn ) 0 to 999 (*)

Tool radius compensation No.

( Dn ) 0 to 999 (*)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

598IB-1501278-Q

Operation example

Program example Operation

Data registration G10 L3 ; After deleting all group data, registration starts.

P10 L10 Q1 ; Group No. "10" is registered.

T10 H10 D10 ; Tool No. "10" is registered in group No. "10".

G11 ; Registration ends.

M02 ; The program ends.

Group change, addi- tion

G10 L3 P1 ; Changing and addition of the group and tool starts.

P10 L10 Q1 ; T10 H10 D10 ;

The change and addition operation takes place in the following

manner.

(1) When group No. "10" has not been registered. Group No. "10" is additionally registered. Tool No. "10" is registered in group No. "10".

(2) When group No. "10" has been registered, but tool No. "10" has not been registered. Tool No. "10" is additionally registered in group No.

"10".

(3) When group No. "10" and tool No. "10" have been both reg- istered. The tool No. "10" data is changed.

G11; The group and tool change and addition ends.

M02 ; The program ends.

Group deletion G10 L3 P2 ; The group deletion starts.

P10 ; The group No. "10" data is deleted.

G11 ; The group deletion ends.

M02 ; The program ends.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

599 IB-1501278-Q

15.10.2 Inputting the Tool Life Management Data by G10 L30 Command; G10 L30, G11

Using the G10 command (non-modal command), the tool life management data can be registered, changed and

added to, and preregistered groups can be deleted.

Only group No. 1 can be used to register, change and add for the tool life management III.

To specify additional compensation amount or direct compensation amount by management method, the tool length

compensation and tool radius compensation can be registered/changed with the tool compensation amount format.

L_, Q_, T_, H_, and R_ cannot be omitted. If omitted, a program error (P33) occurs.

L_, Q_, T_, H_, and R_ cannot be omitted. If omitted, a program error (P33) occurs.

Function and purpose

Command format

Start of life management data registration

G10 L30 ;

P_ L_ Q_ ; (First group)

T_ H_ R_ ;

T_ H_ R_ ;

P_ L_ Q_ ; (Next group)

T_ H_ R_;

P Group No.

L Tool life

Q Management method

T Tool No. The spare tools are selected in the order of the tool Nos. registered here.

H Tool length compensation No. or tool length compensation amount

R Tool radius compensation No. or tool radius compensation amount

Start of life management data change or addition

G10 L30 P1;

P_ L_ Q_ ; (First group)

T_ H_ R_ ;

T_ H_ R_ ;

P_ L_ Q_ ; (Next group)

T_ H_ R_;

P Group No.

L Tool life

Q Tool length compensation data format, tool radius compensation data format, manage- ment method

T Tool No.

H Tool length compensation No. or tool length compensation amount

D Tool radius compensation No. or tool radius compensation amount

Start of life management data deletion

G10 L30 P2;

P_ ; (First group)

P_ ; (Second group)

P Group No.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

600IB-1501278-Q

(*1) The setting range of the tool compensation No. varies depending on the specification of the "number of tool

offset sets".

If a value exceeding each command range is issued, a program error (P35) occurs.

End of life management data registration, change, addition or deletion

G11 ;

Detailed description

Command range

Item Command range

Group No. ( Pn ) 1 to 99999999 (Only group No. 1 can be used for the tool life manage- ment III)

Tool No. ( Tn ) 1 to 99999999

Management method ( Qabc ) abc: Three integer digits a. Tool length compensation data format 0: Compensation No. 1: Incremental compensation amount 2: Absolute compensation amount b. Tool radius compensation data format 0: Compensation No. 1: Incremental compensation amount 2: Absolute compensation amount c. Tool management method 0: Cutting hours 1: Number of mounts 2: Number of cuttings

Tool life ( Ln ) Refer to the table below.

Tool length compensation No./amount

( Hn )

Tool radius compensation No./amount

( Rn )

Management method (Qabc)

Tool length compensation (Hn)

Tool radius compensation (Rn)

Tool life (Ln)

a b c

0 - - 0 to 4000 (Cutting hours)

1 - - 0 to 65000 (Number of times the tool was mounted)

2 - - 0 to 65000 (Number of cut- tings)

0 - 0 to 999 (Compensation No.) (*1)

-

1 - 99999.999 (Incremental compensation amount)

-

2 - 99999.999 (Absolute com- pensation amount)

-

0 0 to 999 (Compensation No.) (*1)

- -

1 99999.999 (Incremental compensation amount)

- -

2 99999.999 (Absolute com- pensation amount)

- -

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

601 IB-1501278-Q

Operation example

Program example Operation

Data registration G10 L30 ;

P10 L10 Q001 ;

T10 H10 R10 ;

G11 ;

M02 ;

1. After deleting all group data, the registration starts.

2. Group No. "10" is registered.

Tool management method is number of mounts

Compensation No. method is applied to tool length compensation

and tool radius compensation.

3. Tool No. "10" is registered in group No. "10".

4. The registration ends.

5. The program ends.

Group change, addi- tion

G10 L30 P1 ;

P10 L10 Q122 ;

T10 H0.5 R0.25 ;

G11;

M02 ;

1. Changing and addition of the group and tool starts.

2. The change and addition operation takes place in the following

manner.

(1) When group No. "10" has not been registered.

(a) Group No. "10" is additionally registered. About the change and addition tool; Tool management method: count the number of cut-

tings Tool length compensation: the incremental compensa-

tion amount method Tool radius compensation: the absolute compensation

amount method.

(b) Tool No. "10" is registered in group No. "10".

(c) "0.5" is registered to the length data that the compensa- tion No. of the tool length shows, and "0.25" is registered to the radius data that the compensation No. of the tool radius shows.

(2) When group No. "10" has been registered, but tool No. "10" has not been registered. Tool No. "10" is additionally registered in group No.

"10".

(3) When group No. "10" and tool No. "10" have both been reg- istered. The tool No. "10" data is changed.

3. The group and tool change and addition ends.

4. The program ends.

Group deletion G10 L30 P2 ;

P10 ;

G11 ;

M02 ;

1. The group deletion starts.

2. The group No. "10" data is deleted.

3. The group deletion ends.

4. The program ends.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

602IB-1501278-Q

15.10.3 Precautions for Inputting the Tool Life Management Data

(1) The tool life data is registered, changed, added to or deleted by executing the program in the memory or MDI mode.

(2) The group No. and tool No. cannot be commanded in duplicate. The program error (P179) will occur.

(3) When two or more addresses are commanded in one block, the latter address will be valid.

(4) If the life data (L_) is omitted in the G10L3 command, the life data for that group will be "0".

(5) If the control method (Q_) is omitted in the G10L3 command, the control method for that group will follow the base specification parameter "#1106 Tcount". Note that when carrying out the No. of cutting times control method, command the method from the program.

(6) If the control method (Q_) is not designated with 3-digit by G10 L30 command, the omitted high-order are equiv- alent to "0". Therefore, "Q1" is equivalent to "Q001", and "Q12" is equivalent to "Q012".

(7) If the length compensation No. (H_) is omitted in the G10L3 command, the length compensation No. for that group will be "0".

(8) If the radius compensation No. (D_) is omitted in the G10L3 command, the radius compensation No. for that group will be "0".

(9) Programming with a sequence No. is not possible between G10 L3 or G10 L30 and G11. The program error (P33) will occur.

(10) When the "usage data count valid" signal (YC8A) is ON, whether or not "G10 L3" or "G10 L30" can be com- manded depends on your CNC model.

[M8 series S/W version D6 or later] The "G10L3" or "G10 L30" command is available.

[Others] The "G10L3" or "G10 L30" command is not available. A program error (P177) occurs.

(11) The registered data is held even if the power is turned OFF.

(12) When G10 L3 or G10 L30 is commanded, the commanded group and tool will be registered after all of the reg- istered data is erased.

(13) The change and addition conditions in the G10 L3 P1 or G10 L30 P1 command are as follows:

(a) Change conditions

Both the commanded group No. and tool No. are registered. Change the commanded tool No. data.

(b) Additional conditions

Neither the commanded group No. nor tool No. is registered. Additionally register the commanded group No. and tool No. data.

The commanded group No. is registered, but the commanded tool No. is not registered. Additionally register the commanded tool No. data to the commanded group No.

(14) When the tool No. is newly registered with G10L30 command, the same length compensation No. and radius compensation No. as the tool No. are automatically allocated. When the tool which is outside the compensation No. range is newly registered, the length compensation No. and radius compensation No. of that tool are "0". By selecting the compensation No. with the management method, the length compensation No. and radius com- pensation No. can be changed to arbitrary Nos.

(15) G10L3 command/G10L30 command cannot be used for the tool life management I. If commanded, the program error (P39) occurs.

(16) The setting range of the tool compensation No. depends on the MTB specifications.

(17) Only group No. 1 can be used to register, change and add for the tool life management III.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

603 IB-1501278-Q

15.10.4 Allocation of the Number of Tool Life Management Sets to Part Systems

The number of tool life management sets can be set per part system.

This function is divided into following methods and which one is used depends on the MTB specifications (parame-

ters "#1439 Tlife-SysAssign", "#12055 Tol-lifenum").

Arbitrary allocation: Arbitrarily allocates the number of tool life management sets to each part system.

Fixed allocation: Automatically and evenly allocates the number of tool life management sets to each part system.

The arbitrary allocation enables the efficient allocation because when a certain part system needs only a small num-

ber of tool life management sets, the rest can be allocated to another part system. If an auxiliary-axis part system

does not need the tool life management sets at all, the number of tool life management sets can be set to "0" for the

auxiliary-axis part system.

Subsequent description is an example in the case where the number of tool life management sets in the system is

999 sets.

(1) Arbitrary allocation (with #1439=1)

The number of sets allocated to each part system depends on the MTB specifications (parameter "#12055 Tol- lifenum"). The following example shows the number of tool offset sets allocated when the lathe system is a 4-part system.

(a) When the number of tool life management sets is increased for the 1st part system ($1) of 4-part system

(b) When the number of tool life management sets is set to "0 sets" for the 3rd part system ($3) of 3-part system to use that part system as an auxiliary-axis part system

Function and purpose

250

250

250

250

200

200

200

400 $1

$2

$3

$4

$1

$2

$3

$4

334

333

333 500

0

500 $1

$2

$3

$1

$2

$3

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

604IB-1501278-Q

(2) Automatic and even allocation (with #1439=0)

(*1) The maximum number of tool life management sets per part system is 999.

(*2) If there is any remainder, the remainder is allocated to the 1st part system.

(1) The maximum number of tool life management sets for 1-part system is 999.

(2) For 1-part system, up to the number of tool life management sets in the system is available regardless of the parameter setting.

(3) When the value of the parameter "#12055 Tol-lifenum" is equal to or lower than the number of tool life manage- ment sets in the system, the remainder is not allocated to any part system even if the specification allows arbi- trary allocation.

(4) When the value of the parameter "#12055 Tol-lifenum" is equal to or lower than the number of tool life manage- ment sets in the system, system alarm (Y05) is generated even if the specification allows arbitrary allocation.

(5) Even if the specification allows arbitrary allocation, fixed allocation is applied if the parameter is "#12055 Tol- lifenum"= "0" for all part systems.

(6) When entering data into the tool life management file, if the number of tool life management data exceeds that of current tool life management sets, the excess tool life management data cannot be entered.

1-part system 2-part system 3-part system (Lathe system only)

4-part system (Lathe system only)

Precautions

500

333

333 500

334

999

250

250

250

250

$1

$2

$3

$1

$2

$1

$1

$2

$3

$4

(*2)

(*1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

605 IB-1501278-Q

15.11 Interactive Cycle Insertion; G180 15.11.1 Interactive Cycle Insertion

The machining and setup support cycles can be interactively inserted to a program which is opened on the edit

screen.

Using this function leads the programming time to be shortened.

The cycle can be easily inserted by editing the data on the interactive window.

The block of the cycle once inserted to the program can be directly edited in the edit screen. As long as the cycle

format is not changed, the program can be reedited in the cycle edit window.

Blocks between cycle header block (G180 P1) and cycle footer block (G180 P0) are handled as blocks of interactive

cycle insertion.

G180 is a G code in group 0, and an unmodal command.

Function and purpose

Command format

G180 P__ A__ ;

P Cycle information identification No. 1: Cycle header 0: Cycle footer 11: Arbitrary shape header 10: Arbitrary shape footer 31: Hole position header 30: Hole position footer

A Cycle ID (Only when the cycle information identification No. is set to "1")

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

606IB-1501278-Q

Program format of cycle inserted with this function is indicated as follows:

Detailed description

No. Process part Description Program image

(1) Cycle header Block that indicates the cycle starting. Header includes cycle ID (8-digit number) and cycle name.

Used to identify the cycle type at the time of cycle reed-

iting.

Used to show cycle name in the monitor screen or check

screen.

G180 P1 A_ (cycle name); A: Cycle ID

(2) Arbitrary shape header

The header that indicates the start of the arbitrary shape is output before an arbitrary shape block.

G180 P11;

(3) Arbitrary shape footer

The footer that indicates the end of the arbitrary shape is output at the end of an arbitrary shape block.

G180 P10;

T_;

G00 X_ Z_;

G180 P1 A10201 (CONT-FACE);

S_ M_;

G00 X_ Y_ Z_;

G17;

G12.1;

M8;

G65 P A_ B_ F_;

WHILE[ ] DO_;

G00 X_ Y_ Z_;

G01 Z_ F_;

WHILE[ ] DO_;

F_;

G180 P11;

G01 X_ Y_;

G01 X_ Y_;

G02 X_ Y_ R_;

:

G01 X_ Y_;

G180 P10;

END_;

END_;

G00 Z_;

G13.1;

M9;

G00 Z_;

G180 P0;

G00 Z_;

Processing

(4) Cycle footer

Processing after machining

Move to machining end position

(1) Cycle header

Move to machining start position

(2) Arbitrary shape header

Arbitrary shape block

(3) Arbitrary shape footer

Processing before machining

Cycle

Program being edited on the edit screen

Cycle edit window

Edit the cycle data interactively and output to the program.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

607 IB-1501278-Q

(1) The program block output between header and footer differs for each cycle.

(2) G180 block does not perform since it is the block to identify the cycle information. The operation is same as the block which only has EOB (;). The operation will also be the same when specified other than cycle information identification No. designated by format (G180 P99 etc.). When the specifications of interactive cycle insertion are invalid, it will result the program error (P39) at the G180 block.

(3) Since G code of G180 is inserted automatically, manual input is not required.

(4) Cycle footer The footer that indicates the end of the cycle is output at the end of the cycle.

G180 P0;

- Hole position head- er

The header that indicates the start of the hole position is out- put before the block to specify the hole position.

G180 P31;

- Hole position footer The footer that indicates the end of the hole position is out- put after the block to specify the hole position.

G180 P30;

No. Process part Description Program image

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

608IB-1501278-Q

15.11.2 Interactive Macro

Interactive macro means a macro program used for interactive cycle insertion. It is stored in the dedicated area. The command format is the same as when an interactive cycle is inserted. Refer to "15.11.1 Interactive Cycle Insertion".

A macro call command during a cycle inserted by this function calls the interactive macro stored in the interactive macro area. You cannot edit the interactive macros which are stored in this area. However, if you set "1" to "#8133 Intrctv macro call", a machining program in the machining program area can be called as a macro program. You can newly create and edit the program because it is in the machining program area. When you want programs to be operated differently from the standard interactive macro, you can edit and call them there.

(*1) When a program with the same name as standard interactive macro exists in the machining program area, the program in the machining program area is called first.

(*2) When a program with the same name as a standard interactive macro does not exist in the machining program area, the program in the interactive macro area is called.

(1) Do not change the name of macro program for macro call command. If you change the name to other than stan- dard interactive macro program name, the program error (P232) occurs. When you change it to the standard interactive macro program name, you can call the interactive macro program which has the name you have changed; however, the cycle cannot be reedited.

(2) Do not add macro call (G65) or subprogram call (M98) during the cycles (G180P1 to G180P0). If you add the macro call other than the standard interactive macro programs, the program error (P232) occurs. When adding with the standard interactive macro program name, you can call the interactive macro you have added; however, the cycle cannot be reedited if you insert a block.

(3) Do not add the "macro interruption command (M96/M97)" during the cycles (G180P1 to G180P0). If you add, the program error (P232) occurs to call the macro in the interactive macro area. Once "1" is set to the parameter "#8133 Intrctv macro call", a macro program or subprogram in the machining program area can be called even during a cycle; however, the cycle cannot be reedited if a block is inserted.

(4) Subprogram and macro program call nesting levels include interactive macros. The maximum nesting level in which a macro program or subprogram can be called depends on your CNC specifications.

(5) For the programs inserted cycles using this function, if modifications that do not conform to the cycle format have been made manually, data may not be read properly at the time of reedit. In that case, even if the menu "Reedit" is pressed in the cycle list window, an error occurs, and the cycle cannot be reedited.

(6) G180 block does not perform anything. Therefore, even if G180 block is added to the program manually, the error does not occur, and it handled as the same operation as the block only EOB (;).

(7) In this function, saving cycles to the program is possible even if cycle data is unset state. The setting values of unset items are output as "0" or "?". If the program output "?" is operated, the program error (P33) occurs at the block which unset data is output.

(8) Only the machining program, which contains the cycle of the type designated in the parameter "#8992 Cycle switch", is operable. If the machining program containing a different type of cycle is operated, a program error (P232) occurs in the block.

Function and purpose

Detailed description

Parame- ters

Program area Program display ONB display Buffer correction

#8133 0 Interactive macro area Hide Hide Disabled

1 Machining program area (*1) Show Show Enabled

Interactive macro area (*2) Hide Hide Disabled

Precautions and restrictions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

609 IB-1501278-Q

15.12 Axis Name Extension

The axis name (command axis name) used for giving the absolute/incremental command to NC control axis can be

expanded to two characters. When this function is invalid, the command axis name (#1013 axname) is set with one

character from A, B, C, U, V, W, X, Y or Z, therefore the number of axes is limited if the increment command axis

name is used (*1).

When this function is valid, the incremental axis name can be used for all axes by this function.

The name-extended axis cannot be designated in the parameter which sets the command axis name such as plane

configuration axis I, J or K (*2). Thus, apply this function to a miscellaneous axis which is not used for machining

(cutting).

(*1) When two alphabetical characters are used per axis.

(*2) This indicates the axis names of I, J or K set by the parameters "#1026 base_I" to "#1028 base_K".

[Use example]

The settings of these parameters depend on the MTB specifications.

(*3) "H" can be set to "incax".

The following descriptions are the meanings of the terms used in this manual.

In order to use this function, validate this function by the parameter and set the second character of the name-ex-

tended axis.

These parameters depend on the MTB specifications (parameters "#1266 ext02/bit0" and "#1601 axnameEx").

Function and purpose

# Item 1st axis 2nd axis 3rd axis 4th axis 5th axis 6th axis 7th axis

1013 axname Axis name X Z C X Z X Z

1014 incax Incremental command axis name

U W H (*3) U W U W

1601 axnameEx Axis name extension character

None None None A A B B

Absolute command axis name X Z C XA ZA XB ZB

Incremental command axis name U W H UA WA UB WB

Term

Term Meaning

Name-extended axis Axis of which the command axis name is specified with two characters by this function

Name-unextended axis

Axis of which the command axis name is specified with a single character (the axis where this function is not used)

Axis name extension character

2nd character of the name-extended axis

Enabling conditions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

610IB-1501278-Q

(1) Relationship between parameter setting and command axis name

Relationship between parameter related to axis name and command axis name is as follows: When the first character is not set, the program command cannot be issued to that axis.

[Parameter configuration example]

(*1) This sets the first character of the axis name.

(*2) This sets the second character of the axis name.

(*3) This depends on the MTB specifications (available when the parameter "#1076 AbsInc" is set to "1").

(2) Program commands to name-extended axis

When the axis name of the name-extended axis is "XA", the program command format to the name-extended axis is as follows. When "X" and "XA" exist in the command axis name in the part system, "XA10000" in the com- mand code example below is not interpreted as "X0 A10000" because "XA" is judged preferentially.

Name-extended axis cannot be designated because only one letter can be set to the user parameter which sets axis

name shown below. Thus, apply axis name extension to miscellaneous axis which is not used for machining (cut-

ting).

(*1) Name-extended axis cannot be designated for parameters "#1026 base_I" to "#1028 base_K" (base axes I, J,

and K); however, the NC operates as follows depending on the current setting of base axis I, J, or K:

(a) When the setting value of the base axis I, J, or K corresponds to any name-unextended axis in the part sys- tem, the corresponded axis is identified as base axis I, J, or K.

(b) When the NC is operated with the setting value of the base axis I, J, or K as follows, the program error (P11) occurs.

It does not correspond with any of the name-unextended axes in the part system. It corresponds with the first character of any of the name-extended axis.

Detailed description

Program commands for axis name extension

# Item 1st axis 2nd axis 3rd axis 4th axis

1013 axname Axis name (*1) X Z Z Y

1014 incax Incremental command axis name (*1)

U W None V

1601 axnameEx Axis name extension character (*2) A A B None

Absolute command axis name XA ZA ZB Y

Incremental command axis name (*3) UA WA None V

Type of command Command code example

Numerical command XA10000;

Decimal point command XA12.345;

Variable command XA[#100];

Relationship with axis name setting parameters

# Item Description

1026 base_I Name of base axis configuring plane (*1)

1027 base_J

1028 base_K

1029 aux_I Name of axis parallel to "base_I"

1030 aux_J Name of axis parallel to "base_J"

1031 aux_K Name of axis parallel to "base_K"

8317 - Name of delivery axis when the right chuck and tailstock barrier is movable.

8621 - Axis name of the plane (horizontal axis) for coordinate rotation control

8622 - Axis name of the plane (vertical axis) for coordinate rotation control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

611 IB-1501278-Q

(c) When the base axis I, J, or K is not set or in the following state, they are set as shown in the table below:

It does not correspond with any of the name-unextended axes in the part system. It does not correspond with the first character of any of the name-extended axis.

Because in the environment where the arbitrary axis exchange control is available, only the name of name-unex-

tended axis can be designated in the parameters "#12071 adr_abs[1]" to "#12078 adr_abs[8]", other axes cannot

be assigned to the command axis name of name-extended axis. However, regardless of the setting of these param-

eters, you can designate the axis name of name-extended axis or use the name-extended axis as target axis for

axis exchange. (For the name-unextended axis, the axis name cannot be designated without setting these param-

eters.)

(1) to (3) show the examples of command code in the case of the following axis configuration.

[Example of axis configuration]

(1) Other axes cannot be assigned to the command axis name of name-extended axis.

(2) Name-extended axis can be used as the target axis for axis exchange.

To return the command address to "ZA", carry out the axis exchange return with G141 or G142.

(3) You can command a name of name-extended axis regardless of G140 command.

Parameter of base axis I, J, or K

Which axis "# 1013 axname" is used for the base axes I, J, and K?

L system M system

#1026 base_I 1st axis 1st axis

#1027 base_J 3rd axis 2nd axis

#1028 base_K 2nd axis 3rd axis

Relationship with arbitrary axis exchange control

$1 1st axis 2nd axis 3rd axis 4th axis

#1013 axname X Z X Z

#1022 axname2 X1 Z1 X9 Z9

#1601 axnameEx - - A A

Command axis name X Z XA ZA

G140 XA=X1; Program error (P33)

G140 X=X1 Z=Z9; Assign "Z9 axis" to the command address Z.

G140 X=X1 Z=Z1; G00 X10. XA15.; Both X1 and X9 axes move to the commanded coordinate.

Y

Y

Y

N

N

N

(a) (b) (c)

With either #1026, #1027 or #1028 setting

Corresponds with the name- unextended axis in the part system

Corresponds with the first letter of the name-extended axis in the part system

Sets the name-unextended axis as the basic axis I/J/K

The setting can be done, but an error occurs in the actual operation

Sets "axname" of the first to third axis as the basic axis I/J/K

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

612IB-1501278-Q

The following list shows the G codes whose functions are available for the name-extended axis among the G codes

using an axis name as argument. Also, the operations when the name-extended axis is commanded in the same

block or in the G-code mode are shown.

(1) List of G codes that can be used for the name-extended axis (M system)

(1) G10 command in the machining program

Data input can be performed to the commands which designate the data input target axis by the axis number; however, it cannot be performed to the commands which designate by the axis name. When the name-extended axis is designated, the program error (P33) occurs.

(a) Commands to which the data input of name-extended axis is disabled (when designating by axis number)

(b) Commands to which the data input of name-extended axis is disabled (when designating by axis name)

(c) Command where input data is not per axis (when the axis is not designated)

(*1) Lathe system

(*2) Machining center system

G codes which can use name-extended axis

G code Group G code function Operation when the name-extended axis is com- manded in the same block or in the G-code mode

G00 1 Positioning Move to the commanded coordinates

G01 1 Linear interpolation Move to the commanded coordinates

G09 0 Exact stop check Move to the commanded coordinates

G28 0 Automatic reference position return Reference position return

G30 0 2nd, 3rd and 4th reference position return Return to 2nd, 3rd and 4th reference positions

G53 0 Basic machine coordinate system selection Move to the commanded machine coordinates

G54 12 Workpiece coordinate system selection 1 Move to the commanded coordinates on G54

G55 12 Workpiece coordinate system selection 2 Move to the commanded coordinates on G55

G56 12 Workpiece coordinate system selection 3 Move to the commanded coordinates on G56

G57 12 Workpiece coordinate system selection 4 Move to the commanded coordinates on G57

G58 12 Workpiece coordinate system selection 5 Move to the commanded coordinates on G58

G59 12 Workpiece coordinate system selection 6 Move to the commanded coordinates on G59

G54.1 12 Extended workpiece coordinate system se- lection

Move to the commanded coordinates on G54.1Pn

G61 13 Exact stop check mode Move to the commanded coordinates

G160 0 Torque limitation skip Move to the commanded coordinates

Relationship with other functions

Relationship with data input by program

(a) (b) (c)

G10 L70 Parameters G10 L2 Workpiece offset G10 L100 Tool shape for 3D check

G10 L20 Extended workpiece offset

G10 L10 Tool length shape com- pensation (*2)

G10 L10 Tool length shape compensation (*1)

G10 L11 Tool length wear com- pensation (*2)

G10 L11 Tool length wear compensation (*1)

G10 L12 Tool radius shape com- pensation

G10 L14 Current limit G10 L13 Tool radius wear com- pensation

G10 L3 Tool life management

G10 L30 Tool life management

G10 I_J_K_ Coordinate Rotation Pa- rameter

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

613 IB-1501278-Q

(2) G10 command in input/output file

The input/output can be performed for the workpiece offset (G10 L2/L20) and L system tool offset (G10 L10/L11) by G10 command written in the file (WORK.OFS, TOOL.OFS), and the data input/output for the name-extended axis can be performed by G10 command in this case. The example shows the relationship between the NC internal data and the file contents in the case of the follow- ing axis configuration:

[Example of axis configuration]

[Workpiece offset file (WORK.OFS)]

[Tool offset file (TOOL.OFS)]

R address: Tool nose radius compensation amount

Q address: Tool nose point P number

(1) When the second axis name parameter "#1022 axname2" is not set, the command axis name is set automatically at the time of power ON.

(2) When judging a character string described in the machining program, and if the result after analyzing the char- acter string from the top is a reserved word (*1) of the user macro, it is identified as reserved word. When the character string is not the reserved word, it is identified as an axis name, but the name of the name-extended axis is identified preferentially. When the axis name and the reserved word are written in a row, enclose the mac- ro command in "[ ]" and do not omit the axis command value "0" so that it does not become an unintentional command.

(*1) Reserved word here indicates as follows:

Available functions during program mode (such as ABS and SIN) Control statement (such as IF and WHILE) Comparison operator (such as EQ and LT)

$1 1st axis 2nd axis 3rd axis 4th axis

#1013 axname X Z X Z

#1022 axname2 X1 Z1 X9 Z9

#1601 axnameEx - - A A

Command axis name X Z XA ZA

Precautions

Name-extended axis The axis names after the extension (1st character: "#1013 axname", 2nd char- acter: "#1601 axnameEx") is set.

Name-unextended axis The axis name set in "#1013 axname" is set.

INPUT

OUTPUT $1 G10 L2 P1 X10. Z20. XA30. A40. ;

G54

X1 10. Z1 20. X9 30. Z9 40. WORK.OFS

INPUT

OUTPUT

TOOL.OFS

X1 Z1 X9 Z9 1 1. 2. 3. 4. 2 11. 12. 13. 14.

15 5. 5. 5. 5.

$1 G10 L10 P1 X1.Z2. XA3. ZA4.R0. Q0 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

614IB-1501278-Q

[Case in which the following axis names exist]

(*) When the name of name-extended axis is written following comma ",", the command address with comma is

identified preferentially.

(3) In the following cases, the program error (P11) occurs because the axis names are duplicated: When the name "#1013 axname" of name-unextended axis in the part system is duplicated

When "#1076 AbsInc" = "1", the duplication check is performed including the increment command axis name "#1014 incax".

When the name of name-extended axis in the part system (1st letter: "#1013 axname", 2nd letter: "#1601 axnameEx") is duplicated When "#1076 AbsInc" = "1", the duplication check is performed including the increment command axis name (1st character: "#1014 incax", 2nd character: "#1601 axnameEx").

(4) When the name-unextended axis is configured following the name-extended axis in the part system, the sys- tem error (Z23) occurs at the time of power ON.

(*) This is incorrect axis configuration because XA axis is set before Z axis.

(5) You cannot input "#1601 axnameEx" by the parameter input by program (G10 L70). When designated, the program error (P421) occurs.

(6) If the parameter "#1266 ext02/bit0" (Axis name extension valid) is set to "0" (invalid) and the program using the "Name-extended axis" is executed as it is, the machine may operate differently from the original command. For example, the command "XA10.000" for the "Name-extended axis" may be interpreted as "X0 A10.000". To prevent such misinterpretation in commands, it is recommended to use the parameter "#1227 aux11/bit4" as "1" (valid).

Axis names Run command Operation

AB #100 = ABS[#101]; Set to the ABS command of a macro. (This is not regarded as "#100 = AB0 S[#101];".)

AB, XA XA[ABS[#100]]; The ABS command result of a macro is used as the command value of the XA axis.

XAABS[#100]; Same as above (This is not regarded as "XA0 AB0 S[#100];".)

X, XA XABS[#100]; This is regarded as "XA0 B0 S[#100];". (If the B axis does not exist, a pro- gram error (P32) will occur.) When you want to use the ABS command result of a macro as the com- mand value of the X axis, describe "X[ABS[#100]];".

AX ,AX100.; This is regarded as ",A0 X100.;". (*)

$1 Normal axis configuration Abnormal axis configuration (System error (Z23) occurs.)

1st axis 2nd axis 3rd axis 4th axis 1st axis 2nd axis 3rd axis 4th axis

#1013 axname X Z X Z X X Z Z

#1601 axnameEx - R A A - A - A

Command axis name X Z XA ZA X XA (*) Z ZA

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

615 IB-1501278-Q

15.13 Machining Interruption [C80]; G26

Machining interruption is a function which enables interrupt operations in the table below while a program is normally

executed.

Interruption programs (called "retraction programs") need to be prepared in advance to validate various interruption

operations.

This function is available only during memory mode operation, but not during MDI operation.

Function and purpose

Interrupt operation Details of operation Purpose

Program-based re- traction

When the retract button is pressed, the program immedi- ately branches to the predetermined retraction program. A safe tool-path that avoids interference can be pro- grammed in the retraction program. On returning from the retraction program, the tool returns to the programmed position called "machining start point", from which the operation can be restarted.

e.g. when machining is tempo- rarily suspended due to events such as when tools break, and then restarted after the issue is solved.

Returns to the machining start point from the status of machining in progress.

MS: Machining start point ME: Machining end point

Emergency stop When an emergency stop occurs during program execu- tion, machining stops in a feed hold status. When the NC is restarted after the cancellation of an emergency stop, a tool returns from the stop position (caused by the emer- gency stop) to the interpolation restart position, and then operation restarts along the original program path.

e.g. when machining is tempo- rary suspended due to such as the emergency stop.

EMG: Emergency stop STOP: Stop position RE: Interpolation restart position

Returns to the interpolation interrupted position from the emergency stop position as shown above, then the inter- polation restarts.

MS ME

EMG

RE

STOP

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

616IB-1501278-Q

To perform an interruption operation such as a program-based retraction, add the dedicated commands to the pro-

gram in advance.

Program a mark that indicates both the machining start point and machining end point.

Command for the machining start point or the machining end point must be issued alone in a block. If a command other than "N" (sequence No.) is included in the block that has the machining start point or the

machining end point specified, a program error (P33) occurs. After commanding the machining start point, always specify the machining end point. If the machining start point

is commanded while the machining end point remains unspecified, a program error (P727) occurs.

Term

Term Meaning

Machining start point Starting point of a single machining module. The program returns to this block after the retraction program is executed.

Machining end point Ending point of a single machining module, which is paired with the machining start point. Program-based retraction is possible in a section from the machining start point to the machining end point.

Process start point Starting point of machining process by a single tool. Indicates the tool change com- mand block.

Selected point Indicates one of the machining start point, machining end point, and process start point.

Retraction program Program to retract the tool safely during each process. Executed when retraction is started.

Machining interruption program

Program (retraction program) that is started by the interruption operation.

Slide amount Distance from the current machine position to the output position obtained by in- terpolation calculation.

Slide-movement Movement (equivalent to the slide amount) from the current machine position to the output position obtained by the interpolation calculation. This movement is conducted automatically when the program is restarted after an emergency stop.

Slide speed Speed to perform slide-movement operation. This setting depends on the MTB specifications (parameter "#12125 slide-F").

Command format

Machining start point and machining end point

,Qqqqqq; Machining start point

,Q0; Machining end point

,Q For "qqqqq", command the sequence No. of a retraction program. When ",Q0" is specified, it is judged to be the machining end point.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

617 IB-1501278-Q

The tool change command is handled as the process start point.

"M06" refers to the miscellaneous function code for the tool change command. The M code of the miscellaneous command for tool change, which is assumed to be the process start point,

depends on the MTB specifications (parameter "#12126 Mcngit_Tch_M").

When the stop code (T03 0320) (stop at the selected point) is issued at the process start point, it indicates that the tool change command has not yet been executed. The tool change command is executed when the auto- matic operation is activated.

Create a retraction program in the same program following the machining program.

A single retraction program begins with the sequence No. that matches "qqqqq" (setting value of ",Q" address) of

the machining start point.

The retraction program is configured in the standard subprogram format. The G26 (selected point return/tapping retract) command is available in the retraction program. To end the retraction program, command M99. Command M99 alone in a block. If a command other than "N" (sequence No.) is issued in the same block, a

program error (P33) occurs. The retraction programs are required as many programs as the number of the sequence Nos. specified in ",Q".

Process start point

T** M06;

Retraction program

Nqqqqq; Mark that indicates the head of a retraction program. ("qqqqq" indicates the sequence No.)

G26 Z0.; Selected point return command/tapping retract command

:

M99; Retraction program end command

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

618IB-1501278-Q

The G26 command returns the axis commanded in the same block to the selected point that was executed previ-

ously. (*1)

The G26 command is available only in the machining interruption (retraction) program. If the command is issued in

a program other than the machining interruption program, a program error (P721) occurs.

The specified axis is returned to the selected point that was executed previously. The specified coordinate position is ignored. In normal circumstances, specify "0". The rotating type rotary axis moves with a shortcut even if the parameter "#8213 Rotation axis type" is set to

"Short-cut invalid" (0). On returning to the selected point, linear interpolation is applied with the feedrate of the F modal value.

(*1) If retraction start is performed while the tapping cycle is running, only the first G26 command in the retraction

program is operated as the tapping retract command, not the selected point return command. (The second and

subsequent G26 commands are operated as the selected point return command.)

(*1) Do not command a position under point R (*2) (in the hole bottom direction). If commanded, a program error

(P730) occurs.

(*2) When point R is not specified in the tapping cycle, the initial point is assumed to be specified.

Pull up the hole drilling axis to the commanded position. The hole drilling axis moves only when retraction start is performed during cutting or dwelling in the tapping cy-

cle. If retraction start is performed in other states, the hole drilling axis does not move. Only the hole drilling axis can be commanded in the same block as the tapping retract command. In addition,

the S code cannot be commanded. When an axis other than the hole drilling axis or the S code is commanded, a program error (P33) occurs.

Do not perform axis movement in the process from the head of the retraction program to the tapping retract command. In addition, when the currently executed tapping cycle is in synchronous tapping mode, do not issue the S command. (If commanded, a program error (P729) occurs.)

G26 (Selected point return/tapping retract)

G26 X0. Y0. Z0.; Selected point return

G26 Zz1.; Tapping retract

Zz1 Commands the pull-up position (*1) with the absolute position or the incremental position from point R (*2). When the hole drilling axis is a diameter axis, command the diameter value even in the incremental command.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

619 IB-1501278-Q

In a general machining program, a single machining process consists of one or more machining processes (for ex-

ample, multiple hole drilling) by one tool. A machining program consists of such machining processes that are de-

scribed in sequence.

A machining process begins with the tool change command. This position on the program is referred to as "process

start point".

MS: Machining start point

ME: Machining end point

PS: Process start point

"Operation with single block at selected point" refers to an operation in which the machining stops at the machining

start point, machining end point, or process start point.

When the "operation mode with single block at selected point" signal is set to ON, the operation with single block at

selected point is performed.

"Stop at selected point" refers to an operation that the machining stops at the machining start point, machining end

point, or process start point. In this case, the stop code is T320.

The following types of selected point stop states exist.

Various interruption operations are possible in the selected point stop state.

(1) Macro single ON is set during the operation mode with single block at selected point. (The machining stops at the macro block during single-block operation.)

Detailed description

Machining start point and machining end point, Process end point

Machining process 1

Machining process 2

End of machining

Operation with single block at selected point

Block where "Stop at selected point" is applied Available interruption operation

,Qqqqqq; -

,Q0; Program-based retraction

M06; (M system) T****; (L system)

-

T01

T02

M30;

PS1

MS1 ME1

ME3 MS3

PS2

MS1 ME1

ME3 MS3

Drilling 1

Drilling 2

Drilling 3

:

:

Tapping 1

Tapping 2

Tapping 3

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

620IB-1501278-Q

While "Stop at selected point" is active, the machining will stop before executing the block to be stopped at. At this

time, a signal indicating each stop state is output. ("Stopping at machining start point", "Stopping at machining end

point", or "Stopping at process start point" signal)

When cycle start is restarted from this stop state, machining is restarted from a command in the stopped block.

Program-based retraction is available only when the "retraction executable" signal is set to ON (*1). When the "re-

traction start" signal is set to ON while the "retraction executable" signal is ON, the program branches immediately

to the sequence No. indicated by the address Q (the head of the retraction program) that is commanded at the ma-

chining start point.

(*1) The operation (the condition to be "ON", etc.) of the "retraction executable" signal or "retraction start" signal de-

pends on the MTB specifications.

For the retraction program, describe a program to retract the tool safely during each process.

In the retraction program, the G26 command can be used to return the commanded axis to the machining start point.

In addition, if retraction start is performed while the tapping cycle is running, the G26 command operates as a tap-

ping retract command to pull up the hole drilling axis to the specified position.

The retraction program ends with "M99;" in the same way as for a normal subprogram. In this case, the axis that is

not returned to the machining start point automatically returns to the machining start point.

The return to the machining start point depends on the command type:

- For the selected point return command (G26), linear interpolation is applied.

- For the retraction program end command (M99), the travel varies depending on the modal of the currently execut-

ed G code (group 1).

(When G00 is commanded, the axis travels in rapid traverse mode; otherwise, it travels in linear interpolation mode.)

In addition, when G26 is operated as the tapping retract command, the hole drilling axis travels in linear interpolation

mode. However, when tapping retract is performed while synchronous tapping cycle is running, the spindle rotates

synchronously with the movement of the hole drilling axis.

When the retraction program ends, the modal is restored to the state that is set at the machining start point. Each

axis stops at the machining start point block after returned to the machining start point. If cycle start is performed in

this block stop state, the commanded rotation speed and commanded signal (forward rotation start/reverse rotation

start, etc.) of the spindle are restored to the state that was set at the machining start point.

(1) When reset is performed while the retraction program is running, the currently executed program ends. In addi- tion, if the "reset 2" signal is input, the program is executed from the machining start point at the next cycle start operation.

(2) If an MDI interruption is conducted, the retraction executable state is released. An MDI interruption can not be conducted while the retraction program is running.

(3) When retraction start is performed while the miscellaneous function is running (in the state in which the corre- sponding strobe signal is set to ON and waiting the FIN signal), the strobe signal is set to OFF, and also the FIN signal wait state is canceled.

(4) Tool radius compensation is canceled when the retraction program is started. Command the tool radius compensation after the machining start point, and cancel it before the machining end point.

(5) When the retraction program is executed, the program nesting level is incremented by one in the same way as subprogram calling. Therefore, the retraction program cannot be started if the nesting level has reached the max- imum.

(6) The operation at the start of the retraction program conforms to that at the start of macro interruption. However, the interruption method is fixed to Type 1 (operation to immediately stop the currently executed block and start the retraction program).

Stop at selected point

Program-based retraction

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

621 IB-1501278-Q

(7) To return each modal to the state that was set at the machining start point when the retraction program is ended (M99 is executed), the machining operates as shown below.

[G96 mode at machining start point]

The spindle stops with "S0" just before the retraction program ends.

[G97 mode at machining start point]

When the following multiple conditions are specified together, the rotation speed may increase.

The constant surface speed control axis is near the center of the spindle. The G96 modal and surface speed were recovered when the retraction program was ended.

Therefore, retract the constant surface speed control axis to the position at which the following conditions are

satisfied before the retraction program is ended.

Position sufficiently far away from the center of the spindle Position at which the axis does not pass near the center of the spindle when it moves to the machining

start point

(8) In the retraction executable state, control is moved to the retraction program by retraction start even when the block of timing synchronization between part systems is executed. When the machining of another part system executes a block late, the block is not completed. Do not perform timing synchronization operation between part systems in the retraction executable section (from the machining start point to the machining end point).

(9) Do not perform the following operations related to the coordinate system in the retraction executable section (from the machining start point to the machining end point) and in the retraction program. Local coordinate system setting Change of external workpiece coordinate system offset Coordinate system setting Workpiece coordinate system preset

When the parameter "#11020 Mcngit_Spec/bit0" is set to "1" (Enable), operation will not be ended even if emergen-

cy stop occurs during automatic operation, which causes the machining to be placed in the automatic operation

pause state (stop code (T02 0200)). After an emergency stop is released, operation can be restarted by the auto-

matic operation start. (This parameter setting depends on the MTB specifications.)

When operation is restarted, slide-movement (moved with rapid traverse to the interruption point obtained by the

interpolation calculation) and spindle state recovery is performed, and then the interrupted block operation (interpo-

lation) is restarted. The travel speed to the interruption point depends on the MTB specifications (parameter "#12125

slide-F").

For details on the spindle recovery, refer to the "PLC Interface Manual".

(1) The interruption point obtained by the interpolation calculation precedes the actual machine position; therefore, the restart position will be placed before the emergency stop position.

(2) After an emergency stop occurred during MDI operation, the operation can be restarted; however, slide-move- ment and spindle state recovery are not performed at restart.

(3) Operation can also be restarted while the machining interruption program is running. To restart the operation, use the start signal to suit the currently executed machining interruption program. In addition, while the retraction program is running, slide-movement is not performed even when there is a slide amount (difference between the interruption position obtained by the interpolation calculation and the actual ma- chine position). However, the slide amount is compensated for the axis moved by G26 (selected point return/ tapping retract command) or M99 (retraction program end command), or the axis with the absolute position spec- ified. (The slide amount is added to the travel amount required to the end point.)

(4) Slide-movement is performed not only after an emergency stop is released but also when the manual interruption amount is provided when the automatic operation is restarted. The manual interruption amount can be viewed on the operation screen or drive monitor screen.

(5) If the automatic operation pause occurs by Door open I, slide-movement and spindle state recovery are not per- formed even when Door open I is released.

(6) When you want to use the C axis mode of the spindle position control (spindle/C axis) function, the parameter "#11020/bit0" must be set to "0" (Disable). (This parameter setting depends on the MTB specifications.)

Emergency stop

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

622IB-1501278-Q

This example shows program-based retraction (drilling) at two locations using the drill tool.

(1), (6): Positioning command to the drilling position.

(2), (7): Indicates the machining start point just before drilling.

(5), (10): Indicates the machining end point after drilling.

The "retraction executable" signal is set to ON and program-based retraction can be executed in the sections be-

tween (3) and (5) and between (8) and (10).

[During linear interpolation] EMG: Emergency stop

RUN: Coasting after an emergency stop

STOP: Stop position

SLIDE: Slide position

RE: Interpolation restart position

E: Program end point

[During circular interpolation]

Program example

Drilling

(1) G00 G91 X100. Y50.;

(2) ,Q1000;

(3) G01 Z-165.2 F600; Retraction executable section(4) Z165.2 F2000;

(5) ,Q0;

(6) G00 X100. Y50.;

(7) ,Q1000;

(8) G01 Z-165.2 F600; Retraction executable section(9) Z165.2 F2000;

(10) ,Q0;

M30;

N1000 G26 Z0.; Retraction program

M99; Retraction executable section

EMG

RE

E

STOP SLIDE

RUN

RUN

SLIDE

STOP EMG

RE

E

(1) (2) (5)

(3) (4)

(6) (7) (10

(8) (9)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

623 IB-1501278-Q

Column A: Case to start retraction while the related function is running

Column B: Case to execute the related function during retraction

Column C: Case that emergency stop occurs while the related function is running, and that operation is restarted

after an emergency stop is released.

: Can be combined with the related function.

: Cannot be combined with the related function.

Do not use the functions, which cannot be combined (indicated as "x") with the retraction start operation, in the

section from the machining start point to the machining end point.

-: Not related.

: It is not impossible to create this combination; however, machining cannot be continued even if specified.

Functions not described in this table cannot be combined (same as "x") as a rule.

Relationship with other functions

All functions

Related function A B C

Positioning/Interpolation

Positioning

Unidirectional positioning

Linear interpolation

Circular interpolation

Helical interpolation

Spiral/conical interpolation

Cylindrical interpolation

Polar coordinate interpolation

Milling interpolation

Curve interpolation

Involute Interpolation

Exponential interpolation

Spline interpolation

NURBS interpolation

3-dimensional circular interpolation

Speed

Feed per minute -

Feed per revolution -

Inverse time feed -

F1-digit feed -

Manual speed command -

Rapid traverse override -

Cutting feed override -

2nd cutting feed override -

Override cancel -

Acceleration/Deceleration

Automatic acceleration/deceleration after Interpolation -

Rapid traverse constant-gradient acceleration/deceler- ation

-

Rapid traverse constant-gradient multi-step accelera- tion/deceleration

-

Thread cutting

Thread cutting

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

624IB-1501278-Q

Variable lead thread cutting

Synchronous tapping cycle

Chamfering -

High-speed synchronous tapping

Spindle, tool, miscellaneous function

Spindle control

Constant surface speed

Multiple-spindle control I

Multiple-spindle control II

Spindle orientation

Spindle position control (Spindle/C axis control)

Spindle synchronization

T function (*1) -

Miscellaneous functions (*1) -

2nd miscellaneous functions (*1) -

Tool compensation

Tool length offset -

Tool radius compensation -

3-dimensional tool radius compensation -

Tool nose radius compensation (G40/41/42) -

Operation support functions

Program restart - - -

Program support functions

Subprogram control -

Scaling

Macro call -

Macro interruption -

Fixed cycle for drilling

Special fixed cycle

Fixed cycle for turning machining

Compound type fixed cycle for turning machining

Mirror image

Coordinate rotation by program

3-dimensional coordinate conversion

Corner chamfering/Corner R

Linear angle command

Geometric command

Polar coordinate command

Chopping -

Normal line control

Circular cut

Timing synchronization between part systems

Start point designation synchronization

Mixed control (Cross axis control) -

Control axis synchronization between part systems

Balance cut

Common memory for part systems -

2-part system simultaneous thread cutting

Multi-part system program management -

Machining modal -

Related function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

625 IB-1501278-Q

(*1) If retraction start is executed while a miscellaneous function is running (when the corresponding strobe signal

is set to ON and waiting the FIN signal), the strobe signal is set to OFF, and the FIN signal wait state is canceled.

Automatic corner override - -

Deceleration check - -

High-speed machining mode

High-speed high-accuracy control I (G5.1Q1)

High-speed high-accuracy control II (G5P10000)

High-accuracy control (G61.1/G08)

High-accuracy spline interpolation 1 (G61.2)

High-accuracy spline interpolation 2 (G61.3)

SSS Control

Automation support functions

Skip

Automatic tool length measurement

Safety and maintenance

Emergency stop - -

Stored stroke limit - -

Stroke check before travel - -

Chuck barrier/tailstock barrier check - -

External deceleration -

Machine support functions

Synchronous control

Inclined axis control

Related function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

626IB-1501278-Q

To perform retraction start while tapping cycle, pecking tapping cycle, or deep-hole tapping cycle is running, execute

the tapping retract command (G26) to pull up the tool.

In the synchronous tapping cycle, if tapping retract is performed, the spindle rotates in the direction opposite to the

cutting work synchronously with the movement of the hole drilling axis. In the asynchronous tapping cycle, the spin-

dle does not rotate even if the tapping retract is executed. Therefore, issue the spindle rotation command before the

tapping retract command as necessary.

The below table shows the fixed cycles in which tapping retract is possible.

(1) When retraction is performed while the tapping cycle is running, only the G26 first commanded in the retraction program operates as the tapping retract command. The subsequently issued G26 commands operate as the se- lected point return command.

(2) The hole drilling axis is pulled up by the tapping retract command only when retraction start is performed during cutting or dwelling in the tapping cycle. If retraction start is performed during non-cutting in the tapping cycle, the hole drilling axis does not move with the tapping retract command.

(3) In the retraction program, the axis movement cannot be performed before the tapping retract command. In addition, when retraction start is performed during the synchronous tapping cycle, the S command cannot be executed. (If commanded, a program error (P729) occurs.)

(4) In the retraction program for tapping cycle, always execute the tapping retract commands (G26 and hole drilling axis commands). If the retraction program is ended (the M99 block is executed) while the tapping retract com- mand remains unexecuted, a program error (P729) occurs.

(5) The spindle rotation speed for tapping retract is the same as for cutting. The ",S" command and the parameter "#1172 tapovr" (MTB specifications) are invalid.

[Example to apply program-based retraction to the asynchronous tapping cycle]

(*1) In the synchronous tapping cycle, specify the spindle rotation speed with the synchronous tapping command

block.

(*2) In the synchronous tapping cycle, the spindle reverse or spindle stop block is not required.

(*3) When tapping retract is performed during non-cutting (while the axis is moving from the initial point to point R),

the hole drilling axis does not move.

Tapping cycle

Tapping cycle currently being executed

G84 (Forward tapping cycle)

G74 (Reverse tapping cycle)

G00 G90 X100. Y50. Z0.;

,Q1000; Selected point (Machining start point)

S1000 M03; (*1)

G84 R-20. Z-100. F800 P500 ,R0;

G80;

M05;

,Q0;

:

M30;

N1000 M04; Reverses the spindle to perform asynchronous tapping retract. (*2)

N1010 G26 G91 Z5.; Pulls up the hole drilling axis to "5" ("-15" for the absolute command) as the incremental command from point R. (*3)

N1020 M05; Spindle stop (*2)

N1030 G26 X0. Y0. Z0. F1000; The second and subsequent G26 commands operate as the selected- point return command.

M99;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

627 IB-1501278-Q

When performing tapping successively at multiple hole drilling positions, specify the machining start point and ma-

chining end point at each hole drilling position. If the machining start point and machining end point are collectively

specified for one hole drilling position, tapping is performed from the first step each time retraction start is executed.

Therefore, tapping is also performed at the hole drilling position at which machining has already ended.

[Example to apply program-based retraction to the cycle with continuous tapping processes]

G00 G90 X0. Y0. Z0.;

,Q1000;

G84 Z-100. F1 S1000 ,R1; (*3)

,Q0; (*2)

,Q1000; (*2)

X10.;

,Q0; (*2)

,Q1000; (*2)

X20.; (*1)

,Q0;

G80;

M30;

N1000;

:

M99;

(*1) If program-based retraction is performed during tapping at this hole drilling position, tapping is restarted at this hole drilling position after the retraction program was ended.

(*2)(*3) When both commands ",Q1000" and ",Q0" are not issued for each command of hole drilling position, the block to be executed will return to the hole drilling position indicated with (*3) after the retraction program ends.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

628IB-1501278-Q

: Enabled, : Disabled

Combinations of G commands while retraction is executed

G code Group Operation G code Group Operation

G00 01 G30.1 00

G01 01 G30.2 00

G02 01 G30.3 00

G03 01 G30.4 00

G02.1 01 G30.5 00

G03.1 01 G30.6 00

G02.3 01 G31 00

G03.3 01 G31.1 00

G02.4 01 G31.2 00

G03.4 01 G31.3 00

G04 00 G33 01

G05 00 G34 00

G05.1 00 G35 00

G06.2 01 G36 00

G07 00 G37 00

G07.1 G107

21 G37.1 00

G38 00

G08 00 G39 00

G09 00 G40 07

G10 00 G41 07

G11 00 G42 07

G12 00 G40.1 15

G13 00 G41.1 15

G12.1 G112

21 G42.1 15

G43 08

G13.1 G113

21 G44 08

G43.1 08

G15 18 G43.4 08

G16 18 G43.5 08

G17 02 G45 00

G18 02 G46 00

G19 02 G47 00

G20 06 G48 00

G21 06 G49 08

G22 04 G50 11

G23 04 G51 11

G27 00 G50.1 19

G28 00 G51.1 19

G29 00 G52 00

G30 00 G53 00

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

629 IB-1501278-Q

(1) If emergency stop occurs during synchronous control, a synchronization error between the reference axis and synchronized axis is not corrected in the slide-movement process after an emergency stop is released. To use the synchronous control function, the "automatic correction of synchronization error at servo-ON" must be en- abled. (This setting depends on the MTB specifications (parameter "#1281 ext17/bit3").)

(2) The fixed-cycle modal calling is not performed in the machining interruption program. In addition, the fixed cycle (G code group 9) cannot be commanded. (If commanded, a program error (P728) occurs.)

(3) The macro modal calling is not performed in the machining interruption program. In addition, the macro modal call (G code group 14) cannot be commanded. (If commanded, a program error (P728) occurs.)

G code Group Operation G code Group Operation

G54 12 G75 09

G55 12 G76 09

G56 12 G77 09

G57 12 G78 09

G58 12 G79 09

G59 12 G80 09

G54.1 12 G81 09

G60 00 G82 09

G61 13 G83 09

G61.1 13 G84 09

G61.2 13 G85 09

G62 13 G86 09

G63 13 G87 09

G63.1 13 G88 09

G63.2 13 G89 09

G64 13 G90 03

G65 00 G91 03

G66 14 G92 00

G66.1 14 G92.1 00

G67 14 G93 05

G68 16 G94 05

G69 16 G95 05

G70 09 G96 17

G71 09 G97 17

G72 09 G98 10

G73 09 G99 10

G74 09 G100 - G225 00

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

15 Program Support Functions

630IB-1501278-Q

16

631 IB-1501278-Q

Multi-part System Control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

632IB-1501278-Q

16Multi-part System Control 16.1 Timing Synchronization Operation

16.1.1 Timing Synchronization Operation (! code) !n (!m ...) L

The multi-axis, multi-part system complex control CNC system can simultaneously run multiple machining programs

independently. The synchronization-between-part systems function is used in cases when, at some particular point

during operation, the operations of 1st and 2nd part systems are to be synchronized or in cases when the operation

of only one part system is required.

When timing synchronization is executed in the 1st part system ($1) and the 2nd part system ($2), operations will

be as follows.

CAUTION

When programming a multi-part system, carefully observe the movements caused by other part systems' pro-

grams.

Function and purpose

Simultaneous and independent operation

Timing synchronization operation

Simultaneous and independent operation

Timing synchronization operation

2nd part system operation only 1st part system waiting

Timing synchronization operation

Simultaneous and independent operation

Command format

!n (!m ...) L_ ;

!n, !m, ... Timing synchronization operation (!) and part system No. (n:1 - number of part system that can be used) Follows the settings of the parameter "#19419 Timing sync system" if part system num- ber is omitted.

L Timing Synchronization Operation No. 0 to 9999

% %

$1 $2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

633 IB-1501278-Q

(1) Timing synchronization between part systems during automatic operation

If !n L__ is commanded from a part system (i), operation of the part system i program will wait until !i L_ is com- manded from the part system n program. When !i L_ is commanded, the programs for the two part systems will start simultaneously.

Timing synchronization between 2 part systems

(2) The timing synchronization operation command is normally issued alone in a block. However, if a movement command or M, S or T command is issued in the same block, whether to synchronize after the movement com- mand or M, S or T command or to execute the movement command or M, S or T command after synchronization will depend on the MTB specifications (#1093 Wmvfin).

#1093 Wmvfin

0 : Wait before executing movement command.

1 : Wait after executing movement command.

(3) If there is no movement command in the same block as the timing synchronization operation, when the next block movement starts, synchronization may not be secured between the part systems. To synchronize the part sys- tems when movement starts after waiting, issue the movement command in the same block as the timing syn- chronization operation.

(4) The L command is the timing synchronization identification No. The same Nos. are waited but when they are omitted, the Nos. are handled as L0.

(5) "SYN" will appear in the operation status section during timing synchronization operation. The timing synchroni- zation operation signal will be output to the PLC I/F.

(6) In a timing synchronization operation, other part system to be waited for is specified but the own part system can be specified with the other part system.

(7) The timing synchronization operation of a specific part system can be ignored depending on the MTB specifica- tions. Operation will be determined by the combination of the timing synchronization operation ignore signal and pa- rameter "#1279 ext15/bit0". For setting combination, refer to "Time synchronization when timing synchronization ignore is set". For the specifications of the machine you are using, see the instructions issued by the MTB.

Detailed description

!nL1 ;

!iL1;

Pi1 Pn1

Pi2 Pn2

Pi1 Pi2

Pn1 Pn2

$i

$n

$i $n

waiting...

Simultaneously start

Timing synchronization

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

634IB-1501278-Q

(1) When the M code can be used, both the M code and ! code can be used.

(2) While the timing synchronization operation M code is valid, if one part system is standing by with an M code, an alarm will occur if there is a ! code timing synchronization operation command in the other part system.

(3) While the timing synchronization operation M code is valid, if one part system is standing by with a ! code, an alarm will occur if there is an M code timing synchronization operation command in the other part system.

(4) When macro interruption is carried out in a part system waiting, the part system can stop while waiting even if the conditions for time synchronization are met. In this case, you will be able to continue the program, ignoring the timing synchronization with timing synchronization operation ignore signal. For details, contact the MTB.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

635 IB-1501278-Q

16.1.2 Timing Synchronization Operation with Start Point Designated (Type 1) ; G115

The part system can wait for the other part system to reach the start point before starting itself. The start point can

be set in the middle of a block.

Function and purpose

Command format

!n L__ G115 X__ Y__ Z__ ;

!n Timing synchronization operation (!) and part system No. (n:1 - number of part sys- tem that can be used) Part systems follow the settings of the parameter "#19419 Timing sync system" if the number is omitted.

L Timing Synchronization Operation No. 0 to 9999 (It will be regarded as "L0" when omitted.)

G115 G command

X Y Z Start point (Command by axis and workpiece coordinate value)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

636IB-1501278-Q

(1)Designate the start point using the workpiece coordinates of the other part system (ex. $2).

(2)The start point check is executed only for the axis designated by G115.

(Example) !L2 G115 X100. ;

Once the other part system reaches X100, the own part system (ex. $1) will start. The other axes are not

checked.

(3)The other part system starts first when timing synchronization operation is executed.

(4)The own part system waits for the other part system to move and reach the designated start point, and then starts.

(5) When the start point designated by G115 is not on the next block movement path of the other part system, the

own part system starts once all the designated axis of the other part system has reach the designated start point.

(6) After waiting, if the start point cannot be obtained with movement command of the other timing synchronization

block, the operations depend on the MTB specifications (parameter "#1229 set01/bit5").

(a) When the parameter is ON

Wait till the own part system reaches the start point by moving after the next block.

(b) When the parameter is OFF

When the next block finishes moving, the own part system will start.

Detailed description

Timing synchronization Designated start point

Movement Designated start point Actual start point

$1

$2 !1

!1

$1

$2

!2 G115

!2 G115

G00 X...

G00 X...

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

637 IB-1501278-Q

(7)The timing synchronization status continues when the G115 command has been duplicated between part sys-

tems. (Operations will not restart.)

(8) The single block stop function does not apply for the G115 block.

(9) A program error (P32) will occur if an address other than an axis is designated in G115 command block.

(10) In the timing synchronization operation, other part system to be waited for is specified but the own part system

can be specified with the other part system.

(11) The timing synchronization operation of a specific part system can be ignored depending on the MTB specifi-

cations. Operation will be determined by the combination of the timing synchronization operation ignore signal

(PLC signal) and parameter "#1279 ext15/bit0".

For setting combination, refer to "Time synchronization when timing synchronization ignore is set".

For the specifications of the machine you are using, see the instructions issued by the MTB.

(1) Parameter "#1093 Wmvfin" that selects the timing of the timing synchronization operation and commands on the

same block does not work for the start point command block (G115/G116). After synchronization. the start point

check will be executed by G115/G116.

(2) Be careful about the timing when interrupting during the time synchronization of G115/G116. For example, as-

sume interruption with the macro interrupt type 1 while a part system is waiting for time synchronization with

G116. In this case, if there is a movement command or MSTB command in the interrupt program, the program

will continue after the interrupt program completes without waiting for the start point.

(3)The L command is the timing synchronization identification No. The same Nos. are waited but when they are omit-

ted, the Nos. are handled as L0.

Timing synchronizing

Precautions

$1 !2 G115

!1 G115$2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

638IB-1501278-Q

16.1.3 Timing Synchronization Operation with Start Point Designated (Type 2) ; G116

The own part system can make the other part system to wait until it reaches the start point. The start point can be

set in the middle of a block.

Function and purpose

Command format

!n L__ G116 X__ Y__ Z__ ;

!n Timing synchronization operation (!) and part system No. (n:1 - number of part sys- tem that can be used) Part systems follow the settings of the parameter "#19419 Timing sync system" if the number is omitted.

L Timing Synchronization Operation No. 0 to 9999 (It will be regarded as "L0" when omitted.)

G116 G command

X Y Z Start point (Command by axis and workpiece coordinate value)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

639 IB-1501278-Q

(1)Designate the start point using the workpiece coordinates of the own part system (ex. $1).

(2)The start point check is executed only for the axis designated by G116.

(Example) !L1 G116 X100. ;

Once the own part system reaches X100, the other part system (ex. $2) will start. The other axes are not

checked.

(3)The own part system starts first when timing synchronization operation is executed.

(4)The other part system waits for the own part system to move and reach the designated start point, and then starts.

(5) When the start point designated by G116 is not on the next block movement path of own part system, the other

part system starts once all the designated axes of the own part system has reach the designated start point.

(6) If the start point cannot be obtained with the movement of the own part system to the next block, the operations

depend on the MTB specifications (parameter "#1229 set01/bit5").

(a) When the parameter is ON

The own part system will have a program error (P511) before moving.

(b) When the parameter is OFF

When the next block finishes moving, the other part system will start.

(7)The timing synchronization status continues when the G116 command has been duplicated between part sys-

tems. (Operations will not restart.)

Detailed description

Timing synchronization Designated start point

Movement Designated start point Actual start point

Timing synchronizing

$1

$2

$1

$2

!2 G116 G00 X...

G00 X...

!1

!1

!2 G116

$1 !2 G116

!1 G116$2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

640IB-1501278-Q

(8) The single block stop function does not apply for the G116 block.

(9) A program error (P32) will occur if an address other than an axis is designated in G116 command block.

(10) In the timing synchronization operation, other part system to be waited for is specified but the own part system

can be specified with the other part system.

(11) The timing synchronization operation of a specific part system can be ignored depending on the MTB specifi-

cations. Operation will be determined by the combination of the timing synchronization operation ignore signal

(PLC signal) and parameter "#1279 ext15/bit0".

For setting combination, refer to "Time synchronization when timing synchronization ignore is set".

For the specifications of the machine you are using, see the instructions issued by the MTB.

Refer to "Start point designation timing synchronization (Type 1) ; G115".

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

641 IB-1501278-Q

16.1.4 Timing Synchronization Operation Function Using M codes ; M***

The timing synchronization operation function between part systems is conventionally commanded with the "!" code,

but by using this function, the part systems can be waited with the M code commanded in the machining program.

If the timing synchronization operation M code is commanded in either part system during automatic operation, the

system will wait for the same M code to be commanded in the other part system before executing the next block.

The timing synchronization operation M code is used to control the timing synchronization operation between the

1st part system and 2nd part system. Whether the timing synchronization operation M code can be used depends

on the MTB specifications.

M code used for timing synchronization depends on the MTB specifications (parameter "#1310 WtMmin)", "#1311

WtMmax").

Function and purpose

Command format

M*** ;

*** Timing synchronization operation M code

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

642IB-1501278-Q

(1) When the timing synchronization operation M code is commanded in the machining program, the two part sys- tems will be waited and operation will start in the commanded block. If the timing synchronization operation M code is commanded in either part system during automatic operation, the system will wait for the same M code to be commanded in the other part system before executing the next block.

(2) When the timing synchronization operation M code has been commanded in one part system, and the part sys- tem is standing by for waiting, an alarm will occur if a different M code is commanded in the other part system.

Detailed description

Simultaneous and independent operation on part system 1 and 2

Timing synchronization

In simultaneous and independent operation

M101 Waiting

As M101 is commanded in part system 1, part sys- tem 2 starts operation.

M102 Waiting

As M102 is commanded in part system 2, part sys- tem 1 and 2 start operation.independently. Simultaneous and independent operation

M102 Waiting

M101 Waiting

Simultaneous and independent op- eration

M100 Waiting

Alarm (Operation stops)

P11

$1

P12

P14

M100 ;

M101 ; M102 ;

M30 ;

P21

$2

P22

P23

P24

M100 ;

M101 ;

M102 ;

M30 ;

P11 P12 P14

P21 P22 P24P23

$1

$2

$1

M100 ;

M101 ;

P11 P21

P22P12

$2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

643 IB-1501278-Q

(3) The part systems are waited with the M code following the parameters below. These settings depend on the MTB specifications. Refer to these settings. For details, refer to the specifications of your machine.

(a) M code range designation parameter (M code minimum value <= M code <= M code maximum value)

This function is invalid if either parameter is set to "0".

The timing synchronization operation M code cannot be used if the M code maximum value is smaller than

the minimum value.

When the timing synchronization operation M code is valid, both the M code and ! code can be used for timing

synchronization operation.

(b) Timing synchronization operation method parameters

Depending on the timing synchronization operation method selection parameter and timing synchronization

operation ignore signal combination, the timing synchronization operation will be determined by the param-

eters, regardless of the command format ("!" code and M code).

This parameter requires the CNC to be turned OFF after the settings. Turn the power OFF and ON to enable

the parameter settings.

Refer to "Timing Synchronization Operation (! code);!n (!m ...) L".

# Item Details Setting range

1310 WtMmin Timing syn- chronization M code ABS. MIN.

The minimum value of the M code. If the setting value is "0", the timing synchronization operation M code will be ignored.

0, 100 ~ 99999999

1311 WtMmax Timing syn- chronization M code ABS. MAX.

The maximum value of the M code. If the setting value is "0", the timing synchronization operation M code will be ignored.

0, 100 ~ 99999999

# Item Details Setting range

1279 (PR)

ext15 (bit0)

Method for timing syn- chronization operation be- tween part systems

Select an operation for timing synchronization opera- tion between part systems. 0: If one of the part systems is not in automatic opera- tion, ignore the timing synchronization operation and execute the next block. 1: Operate according to the timing synchronization op- eration ignore signal. If the timing synchronization operation ignore signal is "1", the timing synchronization operation will be ig- nored. If "0", the part systems will be waited.

0 / 1

# Item Details Setting range

1093 Wmvfin Method for timing syn- chronization operation be- tween part systems

Parameter to designate the timing synchronization op- eration between part systems method when using multi-part systems. When there is a movement command in the timing synchronization operation (!, M) block: 0 : Wait before executing movement command. 1 : Wait after executing movement command.

0 / 1

Relation with other functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

644IB-1501278-Q

For precautions for time synchronization, also refer to "Timing Synchronization (!code);!n (!m ...) L"

(1) During timing synchronization operation with the M code, always command the M code alone in a block.

(2) While standing by after commanding the timing synchronization operation M code in one part system, an alarm will occur if a different M code is commanded in the other part system. Operation will stop in both part systems.

(3) The timing synchronization operation (! code, M code) in the machining program can be ignored with the timing synchronization operation ignore signal. (This depends on the MTB specifications. ) Operation with a single part system is possible without deleting the timing synchronization operation (! code, M code) in the machining pro- gram.

(4) Unlike other M codes, the timing synchronization operation M code does not output code signals and strobe sig- nals.

(5) When the M code can be used, both the M code and ! code can be used.

(6) While the timing synchronization operation M code is valid, if one part system is standing by with an M code, an alarm will occur if there is a ! code timing synchronization operation command in the other part system.

(7) While the timing synchronization operation M code is valid, if one part system is standing by with a ! code, an alarm will occur if there is an M code timing synchronization operation command in the other part system.

(8) If there is a timing synchronization operation with M code after the 3rd part system, an alarm will occur.

(9) The G115 and G116 commands cannot be used when waiting with the M code.

(10) If the M code command Nos. are overlapped, the order of priority will be M code macro, M command synchro- nous tapping, timing synchronization operation M code and normal M code.

(11) "SYN" will appear in the operation status section during timing synchronization operation.

(12) When the timing synchronization operation between part systems and single block operation are used simulta- neously, the next block stands by until the cycle start signal is input in the part system in which the single block mode is ON. Therefore, the operation may stop at the block without the timing synchronization operation code of the part system in which the single block is OFF, where it is not supposed to stop initially.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

645 IB-1501278-Q

16.1.5 Timing Synchronization When Timing Synchronization Ignore Is Set

Turning on the timing synchronization operation ignore signal makes it possible to ignore the timing synchronization

operation of that part system.

With a 2-part system, if the timing synchronization operation ignore signal of the other part system is ON, timing

synchronization is not executed. In the following section, a 3-part system is used as an example to make it easier

to understand the functions.

This signal is also used in the following functions.

Timing synchronization (! code, M code) Start point timing synchronization (G115, G116) Balance cut (G15) Lathe system only

(1) For sub part system control function, refer to "16.3 Sub Part System Control".

The following operation diagram gives an example of ! code.

(1) A case that "Ignores the timing synchronization with a part system not in automatic operation"

Function and purpose

Timing synchronization operation ignore signal (PLC signal)

OFF ON

Parameter (#1279 ext15/bit0)

0 (1) Ignores the timing synchronization with a part system not in automatic operation

1 (2) Does not ignore the timing synchroniza- tion regardless of whether or not a part sys- tem is in automatic operation (the timing synchronization is executed until the condi- tions for timing synchronization are estab- lished.)

(3) Ignores the timing synchronization re- gardless of whether or not a part system is in automatic operation (ignores the timing synchronization command for the part sys- tem with the timing synchronization ignore signal ON and the timing synchronization operation for that part system)

Note

!n !m L _ ;

$i

$n

Pi1

Pi2

Pi1 Pi2

Pm1

Pm2

!i !n L _ ;

$m Pm1 Pm2

$i $n $m

waiting...

Start simultaneously

Ignore timing synchronization

Simultaneously start after timing synchronization block

(Not in automatic operation)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

646IB-1501278-Q

(2) A case that "Does not ignore the timing synchronization regardless of whether or not in automatic operation"

A: When timing synchronization operation between part systems (parameter "#1279 ext15/bit0" = 1), the timing

synchronization status continues until the conditions for timing synchronization are established.

B: Part system n is automatically started. If the conditions for timing synchronization are established, the next

block will start.

!n !m L 1 ;

Pi1

Pn1

Pi2 Pn2

Pi1 Pi2

Pn1 Pn2

Pm1

Pm2

!i !m L 1 ;

!i !n L 1 ;

!n !m L 1 ;

Pi1 Pm1

!i !n L 1 ;

Pm1

A B

Pm2

$i $n $m

$i $n $m

$i

$n

$m

waiting...

waiting...

Start the $n program.

Timing synchronization Timing synchronization

Timing synchronization

Necessarily conduct timing synchronization

(Automatic start)

Automatic start

Simultaneously start after timing synchronization

block

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

647 IB-1501278-Q

(3) A case that "Ignores the timing synchronization regardless of whether or not in automatic operation"

!n !m L 1 ;

!i !n L 1 ;

!i !m L1 ;

!n !m

!i !m

!i !n

Pi1

Pi2 Pn2

Pn1

Pi1 Pi2

Pm1

Pm2

Pm1

Pn1 Pn2

$i $n $m

$i

$n

$m

waiting...

Timing synchronization

Ignore timing synchronization

Timing synchronization operation ignore signal ON

$i and $n start simultaneously in the next block after timing synchronization.

$m timing synchronization

ignore signal Part system m is in the timing synchronization ignore state, so timing synchronization is not conducted.

Part system m does not conduct timing synchronization.

Ignore timing synchronization with part system m.

Timing synchronization

Ignore timing synchronization

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

648IB-1501278-Q

16.2 Mixed Control 16.2.1 Arbitrary Axis Exchange ; G140, G141, G142

With this function, an arbitrary axis can be exchanged freely across part systems.

The machining can be freer in the multiple part systems by exchanging an axis that can be commanded for machin-

ing programs in each part system.

This makes it possible to perform operations which are not possible with regular axis configurations: for instance,

tools which are provided only on the 1st part system can be used for machining on the 2nd part system.

This chapter illustrates an example based on the placements of the basis axes below.

Refer to "Programming Manual Lathe System" for details of the arbitrary axis exchange.

(1) When performing arbitrary axis exchange with M80 typeA and M80W, set the parameter "#1431 Ax_Chg" to "1". If the arbitrary axis exchange command is issued while the parameter is "0", a program error (P39) occurs.

This function is available in the following software version.

M80 TypeA, M80W: E1 version or later M800 Series: B1 version or later (depends on the MTB specifications.)

Returns the control right of the axis, exchanged by the previous arbitrary axis exchange command (G140) in the

commanded part system, to the state before the axis exchange.

Returns the control right of the axis, exchanged by the arbitrary axis exchange command (G140) in the commanded

part system, to the power-ON state.

Function and purpose

X axis Y axis Z axis C axis

1st part system ($1) X1 Y1 Z1 -

2nd part system ($2) X2 Y2 - C2

Command format

When commanding the arbitrary axis exchange

G140 command address = axis address ... ;

Command Address It is a command address used in a movement or other command after arbitrary axis exchange command (G140). Designate the command address with one alphabetical character set to parame- ters ("#12071 adr_abs[1]" to "#12078 adr_abs[8]") .

Axis address Set the axis name for arbitrary axis exchange. Designate the command with two alphanumeric characters set to the parameter "#1022 axname2".

When returning the exchanged axis

G141; Arbitrary axis exchange return

G142; Reference axis arrange return

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

649 IB-1501278-Q

There are two methods for axis exchange operations with arbitrary axis exchange command (G140). The methods

for your machine depends on the MTB specifications (parameter "#1434 G140Type2").

(1) Operation example of the method for exchanging all axes ("#1434 G140Type2"=0)

Below is the control axis of each part system when running the following machining programs (1st part system,

2nd part system)

Detailed description

Arbitrary axis exchange command (G140)

Method Operation

Method for exchanging all axes ("#1434 G140Type2" = 0)

Designates axes to be used in the part system with a command address. The command addresses axes that are not designated will be released as uncon- trol axes.

Method for exchanging com- mand axes ("#1434 G140Type2" = 1)

Designates axes to be used in the part system with a command address. The command addresses axes that are not designated will maintain the current state.

$1 $2 Control axes Uncontrol

axes Machining program Machining program $1 $2

X Y Z X Y C

G140 X=X1 Y=Y1 Z=Z1; G00 X10.; G01 X5. F1; :

(a) G140 X=X2 Y=Y2 C=C2; G00 X20.; G01 X15. F2; :

(d)

X1 Y1 Z1 X2 Y2 C2 -

G140 X=X1 Y=Y2; G00 Y25.; G01 X8. F2; :

(b)

X1 Y2 -

X2 - C2 Y1,Z1

G140 Y=Z1; G00 Y10.; G01 Y8. F0.05; :

(e)

- Z1 - Y1,X2,C2

G140 X=X1 Y=Y1 Z=Z1; G00 X20. Y15.; G01 X15. F5; :

(c)

X1 Y1 Z1

- - - X2,Y2,C2

G140 X=X2 Y=Y2 C=C2; G00 X0; :

(f) X2 Y2 C2 -

1st part system ($1) (a),(c) Declares the use of X1 axis, Y1 axis and Z1 axis.

(b) Declares the use of X1 axis and Y2 axis. The control right of Y2 axis shifts to the 2nd part system from the 1st part sys- tem. Y1 axis, exchanged for Z1 axis and Y2 axis which were not designated, will be an uncontrol axis.

2nd part system ($2) (d),(f) Declares the use of X2 axis, Y2 axis and C2 axis.

(e) Declares the use of Z1 axis. X2 axis and C2 axis which were not designated will be uncontrol axes.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

650IB-1501278-Q

(2) Operation example of the method for exchanging command axes ("#1434 G140Type2"=1)

Below is the control axis of each part system when running the following machining programs (1st part system,

2nd part system)

"Unavailable state of axis exchange" indicates a "condition in which a target axis for axis exchange is not available

for exchange because the designated target axis for axis exchange is being used by other part systems or for other

reasons" through the arbitrary axis exchange command (G140), the arbitrary axis exchange return command

(G141), the reference axis arrange return command (G142).

When the conditions for unavailable state of axis exchange fall through, no axis exchange mode will be cancelled.

It will be cancelled when a "reset" signal or emergency stop is entered.

$1 $2 Control axes Uncontrol

axes Machining program Machining program $1 $2

X Y Z X Y C

G140 X=X1 Y=Y1 Z=Z1; G00 X10.; G01 X5. F1; :

(a) G140 X=X2 Y=Y2 C=C2; G00 X20.; G01 X15. F2; :

(d)

X1 Y1 Z1 X2 Y2 C2 -

G140 Y=Y2; G00 Y25.; G01 X8. F2; :

(b)

X1 Y2 Z1

X2 - C2 Y1

G140 Y=Y1; G00 Y10.; G01 Y8. F0.05; :

(e)

X2 Y1 C2 -

G140 Y=Y1 ; G00 X20. Y15.; G01 X15. F5; :

(c)

X1 Y1 Z1

X2 - C2 Y2

G140 X=X2 Y=Y2 C=C2; G00 X0; :

(f) X2 Y2 C2 -

1st part system ($1) (a) Declares the use of X1 axis, Y1 axis and Z1 axis.

(b) Declares the use of Y2 axis. The control right of Y2 axis shifts to the 2nd part system from the 1st part sys- tem. Y1 axis which was exchanged for Y2 axis will be an uncontrol axis.

(c) Declares the use of Y1 axis. The control right of Y1 axis shifts to the 2nd part system from the 1st part sys- tem. Y2 axis which was exchanged for Y1 axis will be an uncontrol axis.

2nd part system ($2) (d) Declares the use of X2 axis, Y2 axis and C2 axis.

(e) Declares the use of Y1 axis.

(f) Declares the use of X2 axis, Y2 axis and C2 axis.

Unavailable state of axis exchange

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

651 IB-1501278-Q

16.3 Sub Part System Control 16.3.1 Sub Part System Control I; G122

This function activates and operates any non-operating part system (sub part system) in the multi-part system. Sub

part system control I can be used in the same manner as calling subprogram in a non-operating part system. An

auxiliary axis machining program can be controlled in the sub part system by commanding Sub part system control

I (G122) from the main part system.

In the usage example below, the tool positioning starts to the machining start point at the same time (time T1) as

the start of gantry retract by using Sub part system control I (G145) in the flow from feeding the workpiece to moving

to cut start position in order to reduce the cycle time.

Select whether main part system or sub part system for each part system in Sub part system control I. When using

a part system as a sub part system, by setting the operation mode to "Sub part system I operation mode" with the

PLC signal and commanding sub part system control I (G122) from an operating part system, it is possible to activate

the part system in the sub part system I operation mode as a sub part system.

The following describes the meanings of the terms used in this chapter.

The examples below shows many part systems to provide an easy-to-understand explanation. The actually avail-

able number of part systems depends on your machine's specifications.

Function and purpose

Term Meaning

Main part system Indicates a part system located on the uppermost stream side of a sub part system call flow.

Sub part system Indicates a part system activated by the sub part system activation command.

Calling part system Indicates a part system that issued the sub part system activation command.

($1)

T1 T2

T1 T2

T2:

T1:

($2)

($1)

(1) Feed the workpiece

(1)Feed the workpiece

Wait for completion of sub part system

(4)Move to cut start position

(2)Clamp the workpiece

(2) Clamp the workpiece

(3) Retract gantry

(3)Retract gantry

(4) Move to cut start position

Machining process when Sub part system control is OFF

Machining process when Sub part system control is ON

Main part system

Time when gantry retract is started

Time when gantry retract is completed Sub part system

Main part system

Sub part system starts Time

Time

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

652IB-1501278-Q

(1) This function can be used in multi-part systems of two or more part systems.

(2) In order to activate a sub part system using the sub part system control I command, the following conditions must be satisfied. There are enabling conditions that are only applicable to the M80 series.

[Condition 1]

This condition must be satisfied only for the M80 series/C80 series.

The number of sub part systems has been set in the base common parameter "#1483 SBS1_sys num" (the num-

ber of part systems in sub part system I).

(a) Part systems as many as the number specified in #1483, counted from the end of the valid part system (the part system for which "#1001 SYS_ON" is set to "1"), will be reserved as sub part systems.

(b) If the number of sub part systems or main part systems exceeds the maximum number defined in the system specifications, an MCP alarm (Y05 1483) will occur.

(c) (M80 series only) If the values set for "#1483 SBS1_sys num" and "#1474 SBS2_sys num" are both "1" or more, an MCP alarm (Y05 1483) will occur.

[Condition 2]

The identification No. (B command value) used to activate a sub part system has been set in the base common

parameter "#12049 SBS_no" (sub part system I identification No.) for sub part systems.

(a) If an identification No. that is not set in the parameter "#12049 SBS_no" is specified when the sub part system control I command is issued, a program error (P650) (sub part system identification No. illegal) will occur.

[Condition 3]

The PLC signal SBSM (Sub part system I operation mode) of the sub part system is set to "1".

(a) In a part system operating the sub part system I operation mode, the operation mode appears as "SUB" in the part system display of the operation screen.

(b) If the sub part system control I command is issued to a part system that is not operating the sub part system I operation mode, an operation error (M01 1111) will occur. However, while the operation error (M01 1111) is occurring, the operation can be started by setting SBSM to "1".

Enabling conditions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

653 IB-1501278-Q

(1) G145 is ignored in a sub part system activated in the parallel control method (D1 command).

Command format

Call sub part system

G122 A__P__Q__K__D__B__H__ (argument);

G122 P__Q__K__D__B__H__ (argument);

A Program No. (1 to 99999999 or 100010000 to 199999998)

File name of the program (up to 32 characters)

P Start sequence number (Head of the program if omitted.)

Q End sequence number (To end (M99) of the program if omitted.)

K Number of repetitions (1 to 9999)

D Synchronization control (0/1)

B Sub part system identification No. (1 to 7)

H Sub part system reset type (0/1)

Argument Argument of a sub part system local variable (Setting rage of local variable (decimal point command is valid))

Complete sub part system

M99; (command in sub part system side)

Cancel the standby status for completion of sub part system (command in the sub part system side when the D0 command is issued)

G145;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

654IB-1501278-Q

This function can be used in multi-part systems of two or more part systems.

Main part system and sub part system are switched according to the MTB specifications.

(*1) When the parameter "#1253 set25/bit0" is set to "1", the command range is "100010000 to 199999989".

(*2) If a sub part system ends by M99 or the end sequence No., resetting processing is performed automatically in

the sub part system.

Detailed description

Description of each address

Address Meaning Command range (unit)

Remarks

A Program No. 1 to 99999999 or 100010000 to 199999998 (*1)

Program No. or file name of the machining program oper- ating in the sub part system. Programs in an external device cannot be designated. If address A and are designated at the same

time, precedence is given to address A. If designation of the program is omitted, the machining

program defined by the MTB will be used (parameter "#12050 SBS_pro").

File name of the program

Up to 32 charac- ters.

P Start sequence No.

1 to 99999999 Sequence No. to start the machining program operating in the sub part system. If there is no command, the operation will start from the

head of the machining program.

Q End sequence No. 1 to 99999999 Sequence No. to end the machining program operating in the sub part system. If there is no command, the program will run up to "M99".

K Number of repeti- tions

1 to 9999 The number of times to repeat the machining program for continuous operation in the sub part system. If there is no command, the program will only run once.

(No repetition)

D Synchronous con- trol

0 / 1 Validity of synchronous control 0: The next block is processed after the sub part system operation completes. 1: The next block is processed at the same time as the start of a sub part system operation. If there is no command, it is handled in the same manner as 0 is designated.

B Sub part system identification No.

1 to 7 Identification No. used for timing synchronization with sub part system, etc. The sub part system to be activated is designated by an

identification No. The correspondence between identifi- cation No. and part system No. depends on the MTB specifications (parameter "#12049 SBS_no"). If there is no command, it is handled in the same manner

as 1 is designated.

H Sub part system reset type (*2)

0 / 1 0: The G command modal is maintained by the reset when a sub part system is complete. 1: The G command modal is initialized by the reset when a sub part system is complete. If there is no command, it is handled in the same manner

as 0 is designated.

(Argument) Argument of a sub part system local variable

Setting range of lo- cal variable (Decimal point command is possi- ble.)

Argument is passed to the sub part system as a local vari- able (level 0). However, addresses A, B, D, G, H, K, O, P, and Q cannot be used as an argument. For the correspondence between address and variable

number, refer to the following table.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

655 IB-1501278-Q

(1) Addresses can be designated in an arbitrary order.

(2) Addresses which do not need to be designated can be omitted.

(3) Local variables in a sub part system are initialized every time the sub part system is activated. Default value is .

(4) To use local variables in a sub part system, user macros must be available. For the available functions of each model, refer to the list.

(1) The operation mode of sub part systems is used as "sub part system I operation mode". If the memory mode/ MDI mode and the sub part system I operation mode are entered at the same time, the stop code (T01 0108) will be generated.

(2) In a part system operating the sub part system I operation mode, the operation mode appears as "SUB" in the part system display of the operation screen. If an alarm or warning occurs in a sub part system, the part system No. appears as "SUB" in the alarm/warning message of the operation screen.

(3) If the sub part system control I command is issued to a part system that is not operating the sub part system I operation mode, an operation error (M01 1111) will occur.

Correspondence of argument designation address and variable number in sub part system

Argument designa- tion address

Variable number in sub part system

Argument designa- tion address

Variable number in sub part system

A - N #14

B - O -

C #3 P -

D - Q -

E #8 R #18

F #9 S #19

G - T #20

H - U #21

I #4 V #22

J #5 W #23

K - X #24

L #12 Y #25

M #13 Z #26

Operation mode of a sub part system

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

656IB-1501278-Q

When issuing the sub part system control I command, designate the sub part system identification No. with com-

mand address B. (When there is no B command, it will be handled as the B1 command.) The sub part system iden-

tification No. and the sub part system No. to be called depend on the MTB specifications. (Parameter "#12049

SBS_no")

(Example 1) and (Example 2) show the operations when parameters are set as shown below.

The available number of part systems depends on your machine's specifications.

(Example 1) If the B command is omitted, $5 corresponding to B1 will be activated.

(Example 2) Sub part system identification No. (the part system No. to be activated and correspondence) can

be specified with the B command.

Activation part system of a sub part system

#12049 SBS_no Sub part system I identification No.

$1 $2 $3 $4 $5 $6 $7 $8

0 0 0 0 1 2 3 4

Calling part system ($1) Sub part system ($5)

Calling part system ($1) Sub part system ($7)

: : G122 A100 D0; : :

: : : M99;

: : G122 A100 D0 B3; : :

: : : M99;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

657 IB-1501278-Q

When issuing the sub part system control I command, designate the program No. or program name to be operated

in the sub part system with command address A or . If designation of the program is omitted, the ma-

chining program set in parameter "#12050 SBS_pro" will be started.

If a machining program is managed for each part system, the program of the part system designated as a sub part

system will be operated (*1). If a machining program is commonly managed between part systems, the designated

program will be operated.

(*1) If the program of the part system No. for the sub part system is empty, the program of the 1st part system ($1)

will be operated. If the program of the 1st part system is also empty, a program error (P461) will occur.

(1) If program is managed for each part system

(2) If program is commonly managed between part systems

Operation program of a sub part system

:

:

M99;

:

: G122 A100 D0 B3 :

$1

$2

$3

$4

$5

$6

$7

$8

O100 - $7

O1 - $1

O100 Caller part system ($1)

$7 is assumed to be started by B3 command.

Sub part system ($7)

When $7 is blank, $1 data will be called.

:

:

M99;

:

:

G122 A100 D0 B3

: O100

O1 O100 Calling part system ($1)

Sub part system ($7)

$7 is assumed to be started by B3 command.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

658IB-1501278-Q

If "0" is designated for command address D when the sub part system control I command is issued, or if command

address D is omitted, the calling part system will wait for the called sub part system to complete (to M99 or the end

sequence No.) before starting the next block.

Meanwhile, if the completion wait cancel command (G145) is issued in a sub part system while the calling part sys-

tem is in the sub part system completion standby state, the machine will shift to a parallel processing mode.

The following shows the operation and the activation timing of each part system.

Sub part system activation with the completion wait method (D=0)

Calling part system

Sub part system

Calling part system

Sub part system

: Completion wait

O1 O2

G00 X100.;

O100 O200

M99;

G145;

M99; G00 X100.;

G122 A100 D0 B1; G122 A200 D0 B1; :

: : :

:

: :

:

:

Calling part system Calling part system

Sub part system Sub part system(a) Start (c) Start

(d) Waiting canceled

(e) Completion(b) Completion

Completion wait Completion wait

(a) (b)

O100

O1

O200

O2 (c) (e)(d)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

659 IB-1501278-Q

If "1" is designated for command address D when the sub part system control I command is issued, the following

blocks of the calling part system and the first and the following blocks of the sub part system will be operated in

parallel.

The following shows the operation and the activation timing of each part system.

Multiple sub part systems can be activated in parallel during separate processes by calling from a single part system.

The number of sub part systems to be processed simultaneously depends on the model.

The following shows the operation and the activation timing of each part system.

Activation of a sub part system with parallel processing mode (D=1)

Calling part system

Sub part system

Activation of multiple sub part systems

Calling part system

Sub part system 1

Sub part system 2

: Completion wait

G122 A100 D1 B1; :

:

:: :

G00 X100.;

O1

O100

M99;

Calling part system

Sub part system(a) Start

(b) Completion

(a) (b)

O100

O1

O1

O200

G00 X100.;

M99;

O100

M99;

G122 A100 D1 B1;

G122 A200 D0 B2; :

: :

: : :

:

:

Sub part system 1

Calling part system

(Parallel processing method)

(Completion wait method)

(a) Start

Completion wait

(b) Start

(d) Completion

(c) Completion

Sub part system 2

(a) (c)

O100

O1

O200

(b) (d)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

660IB-1501278-Q

A sub part system can be activated from another sub part system.

The number of sub part systems to be processed simultaneously depends on the model.

The following shows the operation and the activation timing of each part system.

Activate a sub part system from another sub part system

Calling part system

Sub part system 1

Sub part system 2

: Completion wait

O1

O100

O200

M99;

M99;

G00 X100.;

G122 A100 D0 B1;

G122 A200 D0 B2;

:

: :

: :

: :

:

Calling part system

Completion wait Completion wait

(a) Start

(d) Completion

(c) Completion

(b) Start

Sub part system 1

Sub part system 2

(a) (c)

O100

O1

O200

(b) (d)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

661 IB-1501278-Q

If G122 is commanded while a sub part system is being activated, using the same identification No. (B command),

the machine will wait for the earlier sub part system to complete activation, before activating the next sub part sys-

tem.

In the following example, the machining start timing is accelerated by controlling auxiliary axis with a sub part system

and operating the main part system and the sub part system in parallel. The tool positioning starts to the machining

start point at the same time (time T1) as the start of gantry retract by using sub part system completion wait cancel

command (G145) in the flow from mounting the workpiece to moving to cut start position, after feeding and mounting

the workpiece with the gantry, in order to reduce the cycle time. (The machine configuration below is a sample only.)

Sub part system activation command to a sub part system being activated

Calling part system 1

Calling part system 2

Sub part system

: Completion wait : Standby

Operation example

[Axis configuration]

Main part system ($1) : X1 axis, Z1 axis => Tool Sub part system ($2) : X2 axis, Z2 axis => Workpiece feed gantry

[Machining process]

(a) Feed the workpiece (b) Clamp the workpiece (c) Retract the gantry (d) Move to cut start position

O1 O2

G00 X-20.;

O100

M99;

M99;

O200G00 X100.;

(b)

:

: :

:

: : :

G122 A100 D0 B1;

G122 A200 D1 B1;

: : :

: : :

Calling part system 1

(a) Start

(c) Completion

(e) Completion

(d) Start Wait for vacancy of

sub part system

Completion wait

Sub part system

Calling part system 2

(Identification No. 1)

(a)

O1

O100 O200

O2

(b) (c) (d) (e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

662IB-1501278-Q

(1) Machining process when sub part system control is OFF

After the gantry is retracted, cut start position is determined.

(2) Machining process when sub part system control is ON

Processes after "(c) Retract gantry" and "(d) Move to cut start position" will be operated in parallel.

Main part system ($1)

O1

:

G140 X=X2 Z=Z2; ... (a)

G00 X50.;

G00 Z20.;

M20; ... (b)

G00 X0. Z0. ; ... (c) G140: Arbitrary axis exchange command (Lathe system only)

G141; G141: Arbitrary axis exchange return command (Lathe system only)

G00 X30. Z-15.; ... (d) M20 : M code of workpiece mounting

G01 Z-20. F10.;

:

Main part system ($1)

Time

Time when gantry retract is started Time when gantry retract is completed

Main part system ($1) Sub part system ($2)

M20 : M code of workpiece mounting

Sub part system ($2)

Main part system ($1)

Time

Activation of a sub part system Start of gantry retract Completion of retract

: Completion wait

(a) (b) (c) (d)

O1 O100 : : G122 A100 D0 B1; G00 X30. Z-15.; ... (d) G01 Z-20. F10.; : :

G00 X50.; ... (a) G00 Z20.; M20; ... (b) G145; G00 X0. Z0.; ... (c) : M99;

(a) (b) (c)

(d)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

663 IB-1501278-Q

While a sub part system is under control, timing synchronization between part systems can be issued with the "![Part

system No.]" command. To synchronize timing between a main part system and a sub part system, or between sub

part systems, it is also possible to designate a sub part system identification No. (B command) as shown below.

However, the number of part systems that can be used is limited by the specifications.

For example, to synchronize timing with the calling part system, command "![0]". Note that, designate the calling part

system with "![0]", not the main part system.

(Example 1) and (Example 2) shown below are examples of the timing synchronization operation between the main

part system ($3), sub part system 1 ($5, identification No. 1), and sub part system 2 ($6, identification No. 2).

(Example 1) Timing synchronization by designating a part system No.

(Example 2) Timing synchronization by designating a sub part system identification No.

Relationship with other functions

Timing synchronization with sub part system

![Sub part system identification No.]

Main part system ($3) Sub part system 1 ($5) Sub part system 2 ($6)

Timing synchronization with 5th and 6th part systems

Timing synchronization with 3rd and 6th part systems

Timing synchronization with 3rd and 5th part systems

Main part system ($3) Sub part system 1 ($5, identi- fication No. 1)

Sub part system 2 ($6, identifi- cation No. 2)

Timing synchronization with the following part system

Sub part system of identifi- cation No. 1

Sub part system of identifi- cation No. 2

Timing synchronization with the following part system

Calling part system ($3) Sub part system of identifi-

cation No. 2

Timing synchronization with the following part system

Calling part system ($3) Sub part system of identifica-

tion No. 1

: G122 A100 D1 B1; G122 A200 D1 B2; : !5!6; G00 X100.; : :

: : : : !3!6; : : :

: : : : !3!5; : : :

: G122 A100 D1 B1; G122 A200 D1 B2; : ![1]![2]; G00 X100.; :

: : : : ![0]![2]; : :

: : : : ![0]![1]; : :

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

664IB-1501278-Q

Timing synchronization operation ignore signal

Whether to ignore the "![Sub part system identification No.]" command or not depends on the MTB specifications.

(Setting of parameter "#1279 ext15/bit0" and the following PLC signals)

With the sub part system control I, axes that belong to the sub part system when the sub part system is activated

can be controlled. To change the axis to be controlled, exchange axes (to transfer the control rights of the specified

axis from other part systems to the own part system) with the arbitrary axis exchange return command (G140).

If the tool No. is changed (T command) in the program run of a sub part system, the T code data will be changed for

the sub part system only. The T code data will not be changed for the main part system or other sub part systems.

When an axis in the main part system, for which the tool compensation has been commanded, is moved to a sub

part system with the arbitrary axis exchange or other operation, the tool compensation will be maintained. Also,

when an axis (*1) in a sub part system, for which tool compensation has been commanded, is moved to the main

part system or another sub part system with the arbitrary axis exchange operation, tool compensation will be main-

tained.

Whether the arbitrary axis exchange function is available depends on the specifications of your machine tool.

(*1) If tools are managed for each part system, the offset data to be referenced when the tool compensation com-

mand is issued in a sub part system is used as setting values for the sub part system. (The setting value of the

main part system will not be referenced.)

#1279 ext15/bit0

PLC signal for ignor- ing timing synchroni- zation between part

systems

Operation

If the other part system is being ac- tivated as a sub part system

If the other part system is not being activated as a sub part system

0

ON The timing synchronization operation is ignored when activation of a sub part system is completed for the other part system.

Program error (P35)

OFF

1 ON

Ignore the timing synchronization op- eration.

OFF Execute the timing synchronization operation between part systems.

Arbitrary axis exchange control

Tool functions

Tool compensation

Main part system ($1) Sub part system ($2)

G140: Arbitrary axis exchange command G141: Arbitrary axis exchange return command

O1

: G28 Z0 T01; ...(a) G90 G92 Z0; G43 Z50. H01; ...(b) G01 Z-500. F500; : G122 A100 D0 B1; G00 X10. Z50.; ...(e) :

O100

G140 X=X1; G28 X0 T02; ...(c) G90 G92 X0; G43 X10. H02; ...(d) G01 X-100. F500; :

G141; M99;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

665 IB-1501278-Q

L(N_$M) indicates the compensation amount of compensation No. N in the Mth part system.

The sub part system control I command does not affect nesting in user macros and subprograms. It can be com-

manded from a subprogram nested at the deepest level.

(1) If the NC reset signal is input to the main part system, the operation of the main part system will be reset and end immediately. However, the operation of sub part systems will continue. The reset operation of the sub part system follows the NC reset signal of the sub part system.

(2) If the NC reset signal is input to an operating sub part system, the operation of the sub part system will end im- mediately. Therefore, if the calling part system is in the sub part system completion standby state, the sub part system is reset, and at the same time, the calling part system cancels the standby state, and the following block will be executed.

If both of the following conditions (1) and (2) are satisfied, the buffer correction is disabled. (The buffer correction

window will not open even if the program correction key is pressed.)

(1) The next block is G122 command (including "macro statement + G122 command").

(2) The program designated by G122 is the same as that of the calling part system.

The completion wait time of the sub part system control I command (G122) will not be added to the machining time

computation for the main part system.

If the restart search from the block of the G122 command is attempted, a program error (P49) will occur.

T code data Compensation amount

$1 $3 Z1 X1

(a) 1 - : :

(b) 1 - L(01_$1) :

(c) 1 2 L(01_$1) :

(d) 1 2 L(01_$1) L(02_$3)

(e) 1 2 L(01_$1) L(02_$3)

User macro

Resetting

Buffer correction

O100

:

G00 Z50.; Buffer correction possible

G00 X100.; Buffer correction impossible

G122 A100 P77 D0 B1; Designated program is the program (O100) of its own part system

G00 Y30.; Buffer correction possible

:

N77

: Program operated in sub part system

M99;

Machining time computation

Program restart

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

666IB-1501278-Q

If the sub part system control I (G122) is commanded during the following G command modal, a program error

(P652) will occur.

User macro modal call (G66, G66.1) Fixed cycle modal High-speed machining mode (G05P1, G05P2) High-speed high-accuracy control (G05.1Q1, G05P10000, G05P20000)

The sub part system control I (G122) is ignored at the reverse run or the forward run after the reverse run.

Because the sub part systems are in a mode in which reverse run is prohibited, reverse run cannot be carried out

in sub part systems.

(1) The sub part system control I command (G122) is a G code that must be issued alone. If another G code is com- manded in the same block, a program error (P651) or (P32) occurs.

If another G code is commanded before G122 (for example, when "G00 G122" is commanded), a program error (P651) occurs.

If another G code is commanded after G122 (for example, when "G122 G00" is commanded), a program error (P32) occurs.

(2) While the sub part system I operation mode is in operation, even if the sub part system is not being activated, automatic operation cannot be started with the automatic operation start signal (ST). The stop code (0146) will be generated. However, when a sub part system is being activated, automatic operation is started with the au- tomatic operation start signal (ST).

(3) If a sub part system identification No. of its own part system is designated for the B command with the sub part system control I command (G122), a program error (P650) will occur.

(4) The PLC signal of the sub part system references the state of the sub part system. (The signal state of the main part system will not be taken over.)

(5) Parameters per part system of the sub part system follow the setting in the sub part system. Therefore, param- eters must also be set in the sub part system.

(6) If the sub part system completion wait cancel command (G145) is issued in the main part system, a program error (P34) occurs.

(7) The following operations are performed in the M80 series/C80 series. These parameter settings depend on the MTB specifications.

Activation of a sub part system is only possible in sub part systems that are reserved using the parameter "#1483 SBS1_sys num". If the sub part system activation command is issued to a main part system (*1), an operation error (M01 1111) occurs.

(*1) This refers to a case in which the sub part system I operation mode is established (SBSM: ON) using the PLC signal before G122 is commanded.

Operation searches cannot be carried out in sub part systems that are reserved using the parameter "#1483 SBS1_sys num".

(M80 series only) If the values set for the parameters "#1483 SBS1_sys num" and "#1474 SBS2_sys num" are both "1" or more, an MCP alarm (Y05 1483) will occur.

Illegal modal of a sub part system control I command

Manual arbitrary reverse run

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

667 IB-1501278-Q

16.4 Loader Control Part System

This function operates a part system which is dedicated to a carrier loader (hereinafter referred to as "loader") in the

machining center system. This function can be used to isolate the loader system from other controls, allowing your

machine to operate in automatic operation with CNC machining program.

Compared to when a loader is operated in a workpiece machining part system, the cycle time can be improved be-

cause the loader-specific process (such as placing the next workpiece and carrying the machined workpiece) is per-

formed independently while a workpiece is being machined.

[Example of system configuration]

The validity of this function and the designation of loader-dedicated part system depend on the MTB specifications

(parameter "#11811 LDR Dedicated Sys" (Loader-dedicated part system (For M system only))).

In the loader-dedicated part system, the functions that can be used are limited to loader functions.

The following is the list of G code functions which are available in the loader-dedicated part system.

Function and purpose

1st part system X1, Y1, Z1, A1, C1

2nd part system X2, Y2, Z2, A2, C2

Loader-dedicated part system X3, Z3

Detailed description

G code function list

G Code Group Function

G00 01 Positioning

G0.5 28 Rapid traverse block overlap

G01 01 Linear interpolation

G04 00 Dwell

G09 00 Exact stop check

G10 00 Programmable data input

G11 00 Programmable data input cancel

G17 02 X-Y plane

G18 02 Z-X plane

G19 02 Y-Z plane

G20 06 Inch command

G21 06 Metric command

G22 04 Stroke check before travel ON

G23 04 Stroke check before travel OFF

G27 00 Reference position check

G28 00 Reference position return

G29 00 Start position return

G30 00 2nd to 4th reference position return

G30.1 00 Tool exchange position return 1

G30.2 00 Tool exchange position return 2

G30.3 00 Tool exchange position return 3

G30.4 00 Tool exchange position return 4

G30.5 00 Tool exchange position return 5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

668IB-1501278-Q

G30.6 00 Tool exchange position return 6

G31 00 Skip/Multi-step skip 2

G31.1 00 Multi-step skip 1-1

G31.2 00 Multi-step skip 1-2

G31.3 00 Multi-step skip 1-3

G50 11 Scaling cancel

G51 11 Scaling ON

G52 00 Local coordinate system setting

G53 00 Basic machine coordinate system selection

G54 12 Workpiece coordinate system 1 selection

G55 12 Workpiece coordinate system 2 selection

G56 12 Workpiece coordinate system 3 selection

G57 12 Workpiece coordinate system 4 selection

G58 12 Workpiece coordinate system 5 selection

G59 12 Workpiece coordinate system 6 selection

G54.1 12 Extended workpiece coordinate system selection

G60 00 Unidirectional positioning

G60 01 Unidirectional positioning (Modal)

G61 13 Exact stop check mode

G64 13 Cutting mode

G65 00 User macro simple call

G66 14 User macro modal call A

G66.1 14 User macro modal call B

G67 14 User macro modal call cancel

G90 03 Absolute command

G91 03 Incremental command

G92 00 Coordinate system setting/Spindle clamp speed setting

G92.1 00 Workpiece coordinate system preset

G93 05 Inverse time feed

G94 05 Feed per minute

G100 - G225 00 User macro (G code call) Maximum 10

G115 00 Start point timing synchronization

G116 00 Start point timing synchronization

G127 00 Manual arbitrary reverse run prohibition

G130 00 Selection of axis (axes) for feedrate command

G160 00 Torque limitation skip

G186 00 Interference check III setting data valid

G Code Group Function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

669 IB-1501278-Q

In the loader-dedicated part system, functions such as spindle functions and tool functions cannot be used. Also, G

codes other than those in the "G code function list" cannot be used.

(1) Mirror image

Even when the parameter "#8211 MIRR. IMAGE" is enabled for the axis to be used in the loader-dedicated part system, the parameter is ignored. Also, even when the "Mirror image 1st axis" to "Mirror image 8th axis" signals which are PLC output signals for the loader-dedicated part system are turned ON, the signals are ignored.

(2) Chopping

In the loader-dedicated part system, chopping cannot be used. Even when the "Chopping" signal (CHPS) is turned ON in the loader-dedicated part system, the chopping mode is not entered, and the error No. (20) which shows that there is no specification for chopping is output to "Chopping error No." (R554).

(3) High-accuracy control function, high-speed high-accuracy control function

In the loader-dedicated part system, the high-accuracy control function and high-speed high-accuracy control function cannot be used. Even when the parameter "#1148 I_G611" (Initial hi-precis) is set to a value other than "0", the operation is performed in the cutting mode. Even when the parameter "#8040 High-SpeedAcc" is set to "1", the high-speed high-accuracy control cannot be used. Even when the parameter "#8090 SSS ON" is set to "1", the SSS control is not enabled. Even when the parameter "#1205 G0bdcc" (Acceleration and deceleration before G0 interpolation) is set to "1", the acceleration/deceleration after interpolation is applied to the accelera- tion/deceleration in G00.

(4) Tool handle feed & interruption

In the loader-dedicated part system, the tool handle feed & interruption function cannot be used.

(5) Rapid traverse constant-gradient multi-step acceleration/deceleration

In the loader-dedicated part system, the rapid traverse constant-gradient multi-step acceleration/deceleration function cannot be used. Even when the parameter "#1205 G0bdcc" (Acceleration and deceleration before G0 interpolation) is set to "2", the rapid traverse constant-gradient multi-step acceleration/deceleration is not en- abled in the loader-dedicated part system.

(1) When the system is configured with three or more part systems including the loader-dedicated part system, set the parameter "#1468 ctrl period" to "1". Otherwise, the machining accuracy may decrease in the main part sys- tem.

Functions that cannot be used

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

16 Multi-part System Control

670IB-1501278-Q

17

671 IB-1501278-Q

High-speed High-accuracy Control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

672IB-1501278-Q

17High-speed High-accuracy Control 17.1 High-speed Machining Mode

17.1.1 High-speed Machining Mode I, II; G05 P1, G05 P2

This function runs a machining program for which a freely curved surface has been approximated by fine segments

at high speed.

A higher fine segment processing capability leads to a faster cutting speed, resulting in a shorter cycle time and a

better machining surface quality.

The high-speed high-accuracy control I/II/III enable not only the high-speed machining mode but also the high-ac-

curacy control mode. Use the high-speed high-accuracy control I/II/III for machining which needs to make an edge

at a corner or reduce an error from an inner route of curved shape.

This function can be used simultaneously for up to two part systems depending on the MTB specifications.

kBPM, the unit for the fine segment processing capability, is an abbreviation of "kilo blocks per minute" and refers

to the number of machining program blocks that can be processed per minute.

In the main text, the axis address refers to the address of an axis that exits on the machine.

It corresponds to the address designated in the parameters "#1013 axname" and "#1014 incax".

These parameter settings depend on the MTB specifications.

G01 block fine segment processing capability for 1 mm segment (unit: kBPM)

(1) The above performance applies under the following conditions.

6-axis system (including spindle) or less 1-part system 3 axes or less commanded simultaneously in G01 The block containing only the axis name and movement amount (Macro and variable command are not in-

cluded.) In the "G61.1" high-accuracy control mode or cutting mode (G64) During tool radius compensation cancel (G40) (only in the high-speed machining mode II)

When the above conditions are not satisfied, the given feedrate may not be secured.

(2) The performance in the table may vary depending on the combination with other functions.

Function and purpose

For one part system

Mode Command Maximum feedrate when 1 mm segment G01 block is executed (kBPM)

M850/M830 M80W M80 C80

Type A Type B

High-speed machin- ing mode I

G05 P1 33.7 33.7 33.7 16.8 33.7

High-speed machin- ing mode II

G05 P2 168 67.5 67.5 67.5 67.5

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

673 IB-1501278-Q

G01 block fine segment processing capability for 1 mm segment (unit: kBPM)

(*1) This system cannot be used for this model.

(*2) There are no high-speed machining mode II specifications.

(1) The above performance applies under the following conditions.

3 axes commanded simultaneously in G01 The block containing only the axis name and movement amount (Macro and variable command are not in-

cluded.) Tool radius compensation cancel (G40) mode

When the above conditions are not satisfied, the given feedrate in the table may not be secured.

(2) The performance in the table may vary depending on the combination with other functions.

(3) The number of part systems and axes that can be used depends on the specifications of your machine tool.

Multi-part system (high-speed machining mode II)

Specified num- ber of part sys- tems (#8040 = 1)

Maximum feedrate when 1 mm segment G01 block is executed (kBPM)

M850/M830 M80

Type A Type B

1-part system 1 part system 168 67.5 67.5

2-part system 1 part system only 100 67.5 67.5

Two part systems simultaneously

67.5 33.7 33.7

4-part system Up to 16 axes

1 part system only - (*1) - (*1) - (*1)

Two part systems simultaneously

- (*1) - (*1) - (*1)

5 part systems or more or 17 axes or more

1 part system only - (*1) - (*1) - (*1)

Two part systems simultaneously

- (*1) - (*1) - (*1)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

674IB-1501278-Q

In addition to the G05 P0 command, the high-speed machining mode I is canceled when the high-speed machining

mode II (G05 P2) is commanded.

In reverse, the high-speed machining mode II is canceled when the high-speed machining mode I (G05 P1) is com-

manded.

Command G05 alone in a block. A program error (P33) occurs if a movement or other command is additionally is-

sued in a G05 command block. A program error (P33) also occurs if there is no P command in a G05 command.

In addition to cancel the high-speed machining mode II, a G05 P0 command is also used to cancel the high-speed

high-accuracy control II/III.

Refer to "17.3 High-speed High-accuracy Control" for details.

(1) The override, maximum cutting speed clamp, single block operation, dry run, manual interruption and graphic trace and high-accuracy control mode are valid even during the high-speed machining mode I/II. For a part system that uses the high-speed machining mode II, "1" must be set for the parameter "#8040 High- SpeedAcc". By default, the high-speed machining mode II can only be used in the first part system.

(2) When using the high-speed machining mode II, setting to eliminate the speed fluctuation at the seams between the arc and the straight line, or between arcs depends on the MTB specifications (parameter "#1572 Cirorp/ bit1").

(3) Combination with high-accuracy control

The high-speed machining mode and high-accuracy control can be used simultaneously by taking the following steps:

(a) Set "1" for the parameter "#8040 High-SpeedAcc".

(b) Command "G05 P2" and "G08 P1" or "G61.1" from the machining program.

The parameter "#8040 High-SpeedAcc" can be set to "1" for up to two part systems. If "0" is set for all part sys-

tems, the first and second part systems can use the high-speed machining mode and high-accuracy control si-

multaneously.

Also refer to the following for the description of each function:

High-accuracy control: "17.2 High-accuracy Control" Simultaneous usage of the high-speed machining mode and high-accuracy control: "17.3 High-speed High-

accuracy Control"

Command format

High-speed machining mode I ON

G05 P1 ;

High-speed machining mode II ON

G05 P2 ;

High-speed machining mode I/II OFF

G05 P0 ;

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

675 IB-1501278-Q

(4) If the variable command, variable operation command, or macro control statement is commanded while high- speed machining mode II is valid, the fine segment processing capability decreases. However, only when the variable commands and variable four-basic-arithmetic operation commands shown below are issued following the axis address or the F address of the cutting feedrate command, the fine segment processing capability does not decrease.

(a) Referencing common variables or local variables

Common variables or local variables can be referenced (example: X#500, Y#1, Z##100, A#[#101], etc.).

(b) Four basic arithmetic rule

Four basic arithmetic rule (+, -, *, /) operations are available, and also the operation priority can be designated using parentheses ( ) ([#500 + 1.0] * #501, etc.).

If a common variable or local variable is referenced using the variable number operated with a macro operation

instruction, a program error (P282) may occur. In this case, set the operated value to the variable before refer-

encing the variable.

(5) If geometric command is programmed while high-speed machining mode II is active, a program error (P33) oc- curs.

Example that causes an error F#[FIX[100.1]];

Example that does not cause an error #500 = FIX[100.1] ; F#[#500] ;

Program example

High-speed machining mode I

G28 X0. Y0. Z0. ;

G91 G00 X-100. Y-100. ;

G01 F10000 ;

G05 P1 ; High-speed machining mode I ON

:

X0.1 Y0.01 ;

X0.1 Y0.02 ;

X0.1 Y0.03 ;

:

G05 P0 ; High-speed machining mode I OFF

M30 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

676IB-1501278-Q

Column A: Operation when the combination function is commanded while the high-speed machining mode II is en- abled

Column B: Operation when the high-speed machining mode II (G05P2) is commanded while the combination func- tion is enabled

: The high-speed machining mode II and the additional function are both enabled

: The high-speed machining mode II is temporarily canceled, while the additional function is enabled

x: Alarm generation (the text in parentheses refers to the number of the program error to be generated)

-: No combination

: Others

Relationship with other functions

Relationship between the high-speed machining mode II and G code functions

Group G code Function name A B

0 G04 Dwell -

G05P0 High-speed machining mode II OFF High-speed high-accuracy control II OFF High-speed high-accuracy control III OFF

(*1) (*2)

G05P2 High-speed machining mode II ON (*3) (*3)

G05P10000 High-speed high-accuracy control II ON (*4) (*2)

G05P20000 High-speed high-accuracy control III ON (*5) (*6)

G05.1Q0 High-speed high-accuracy control I OFF Spline interpolation OFF

(*3) (*2)

G05.1Q1 High-speed high-accuracy control I ON (*7) (*2)

G05.1Q2 Spline interpolation ON (*12) (*12)

G07 Hypothetical axis interpolation (*12) (*12)

G08P0 High-accuracy control OFF (*3) (*2)

G08P1 High-accuracy control ON (*8) (*8)

G09 Exact stop check -

G10 I_J_ G10 K_

Parameter coordinate rotation input (*12) - (*12)

G10 L2 Compensation data input by program -

G10 L70 G10 L50

Parameter input by program -

G27 Reference position check -

G28 Reference position return -

G29 Start position return -

G30 2nd to 4th reference position return -

G30.1 - G30.6 Tool exchange position return -

G31 Skip Multi-step skip 2

-

G31.1 - G31.3 Multi-step skip -

G34 - G36

G37.1 Special fixed cycle -

G37 Automatic tool length measurement -

G38 Tool radius compensation vector designation -

G39 Tool radius compensation corner circular command -

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

677 IB-1501278-Q

0 G52 Local coordinate system setting -

G53 Machine coordinate system selection -

G60 Unidirectional positioning -

G65 User macro simple call (*9) (*10)

G92 Coordinate system setting -

G92.1 Workpiece coordinate system preset (*12) - (*12)

G122 Sub part system control I (P652) (*12)

(*11)(*12)

G144 Sub part system control II (P652) (*12)

(*11)(*12)

1 G00 Positioning

G01 Linear interpolation

G02 G03

Circular interpolation

G02.1 G03.1

Spiral interpolation (*12) (*12)

G02.3 G03.3

Exponential interpolation (*12) (*12)

G02.4 G03.4

3-dimensional circular interpolation (*12) (*12)

G06.2 NURBS interpolation (*12) (*12)

G33 Thread cutting

2 G17 - G19 Plane selection

3 G90 Absolute command

G91 Incremental command

4 G22 Stroke check before travel ON

G23 Stroke check before travel OFF

5 G93 Inverse time feed (*12) (*12)

G94 Asynchronous feed (feed per minute)

G95 Synchronous feed (feed per revolution)

6 G20 Inch command

G21 Metric command

7 G40 Tool radius compensation cancel

G41 G42

Tool radius compensation

8 G43 G44

Tool length offset

G43.1 Tool length compensation along the tool axis (*12) (*12)

G43.4 G43.5

Tool center point control (*12) (*12)

G49 Tool length offset cancel

9 G80 Fixed cycle cancel

Group 9 Other than G80

Fixed cycle

10 G98 Fixed cycle initial level return

G99 Fixed cycle R point return

11 G50 Scaling cancel

G51 Scaling ON

12 G54 - G59 G54.1

Workpiece coordinate system selection

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

678IB-1501278-Q

(*1) Disables the high-speed machining mode II.

(*2) Enables the high-speed machining mode II.

(*3) High-speed machining mode II continues.

(*4) Enables the high-speed high-accuracy control II.

(*5) Enables the high-speed high-accuracy control III.

(*6) High-speed high-accuracy control III continues.

(*7) Enables the high-speed high-accuracy control I.

(*8) Enables the high-speed machining mode II and high-accuracy control.

(*9) Enables the high-speed machining mode II in a macro program.

(*10) Enables the high-speed machining mode II if G05P2 is commanded in a macro program.

(*11) Enables the high-speed machining mode II if G05P2 is commanded in a sub part system.

13 G61 Exact stop check mode

G61.1 High-accuracy control

G61.2 High-accuracy spline (*12) (*12)

G61.4 Spline interpolation 2 (*12) (*12)

G62 Automatic corner override

G63 Tapping mode

G64 Cutting mode

14 G66 G66.1

User macro modal call

G67 User macro modal call

Cancel

15 G40.1 Normal line control cancel

G41.1 G42.1

Normal line control (P29)(*12) (P29)(*12)

16 G68 Coordinate rotation by program ON

3-dimensional coordinate conversion ON (P922) (P921)

G68.2 G68.3

Inclined surface machining command (*12) (*12)

G69 Coordinate rotation cancel

3-dimensional coordinate conversion OFF

17 G96 Constant surface speed control ON

G97 Constant surface speed control OFF

18 G15 Polar coordinate command OFF

G16 Polar coordinate command ON

19 G50.1 Mirror image OFF

G51.1 Mirror image ON

21 G07.1 Cylindrical interpolation (P34) (P481)

G12.1 Polar coordinate interpolation ON (P34) (P481)

G13.1 Polar coordinate interpolation OFF

27 G54.4P0 Workpiece installation error compensation cancel

G54.4 P1 - P7

Workpiece installation error compensation (*12) (*12)

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

679 IB-1501278-Q

(*12) In M80 Type B, the following program errors occur depending on the G codes.

Column A: Operation when the additional function is commanded while the high-speed machining mode II is enabled

Column B: Operation when the high-speed machining mode II (G05P2) is commanded while the additional function is enabled

: The high-speed machining mode II and the additional function are both enabled

: The high-speed machining mode II is temporarily canceled, while the additional function is enabled

x: Alarm generation (the text in parentheses refers to the number of the program error to be generated.)

-: No combination

: Others

(*1) Enables the high-speed machining mode II in a subprogram.

(*2) Enables the high-speed machining mode II if G05P2 is commanded in a subprogram.

(*3) Enables timing synchronization.

(*4) Enables the high-speed machining mode II in a MTB program.

(*5) Enables the high-speed machining mode II if G05P2 is commanded in a MTB program.

(*6) Enables the high-speed machining mode II in an interrupt program.

(*7) Enables the high-speed machining mode II if G05P2 is commanded in an interrupt program.

(*8) Disables the high-speed machining mode II in a figure rotation subprogram.

(*9) The high-speed machining mode II is disabled even if G05P2 is commanded in a figure rotation subprogram.

(*10) In M80 Type B, the following program error occurs depending on the function type.

G code Program error G code Program error

G05.1Q2, G92.1, G122, G61.2, G61.4

P39 G10 I_J_/G10 K_ P260

G06.2 P550

G144, G54.4 P1 - P7 P34 G93 P124

G07 P80 G41.1, G42.1 P900

G02.1, G03.1 P73 G43.1 P930

G02.3, G03.3 P611 G43.4, G43.5 P940

G02.4, G03.4 P76 G68.2, G68.3 P950

Relationship between the high-speed machining mode II and functions other than G codes

Function name A B

SSS ON -

Mirror image by parameter setting ON -

Mirror image by external input ON -

Coordinate rotation by parameter -

Subprogram call (M98) (*1) (*2)

Figure rotation (M98 I_J_K_) (*8)(*10) (*9)(*10)

Timing synchronization between part systems (*3) -

Machine tool builder macro (*4) (*5)

Macro interruption (*6) (*7)

Corner chamfering/Corner rounding -

Linear angle command -

Geometric command (P33) -

Chopping

Fairing/Smooth fairing ON

Optional block skip -

Function Program error

Figure rotation (M98 I_J_K_) P250

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

680IB-1501278-Q

(1) If "G05 P1(P2)" is commanded when the high-speed machining mode I/(II) specifications are not provided, a pro- gram error (P39) occurs.

(2) The automatic operation process has priority in high-speed machining mode I/II, and as a result, the screen dis- play may slow down.

(3) The speed will decelerate once at the G05 command block, so turn ON and OFF when the tool separates from the workpiece.

(4) When carrying out operations in high-speed machining mode I/II by communication or tape mode, the machining speed may be suppressed depending on the program transmission speed limit.

(5) Command G05 alone in a block.

(6) A decimal point is invalid for the P address in the G05 command block.

(7) The P addresses, which are valid in the G05 command block, are P0, P1 and P2 only. If other P addresses are commanded, a program error (P35) occurs. If there is no P command, a program error (P33) occurs.

(8) The machining speed may be suppressed depending on the number of characters in one block.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

681 IB-1501278-Q

17.2 High-accuracy Control 17.2.1 High-accuracy Control ; G61.1, G08

Machining errors caused by delays in control systems can be inhibited. This function is useful for machining which

needs to make an edge at a corner or reduce an error from an inner route of curved shape. In high-accuracy control,

acceleration/deceleration is performed not to cause machining error by pre-reading blocks and acceleration/decel-

eration is automatically performed according to a machining shape so that the machining error is inhibited with min-

imizing an extension of machining time.

Commands to enable high-accuracy control are as follows:

High-accuracy control command (G08P1/G61.1) High-speed high-accuracy control I command (G05.1Q1) High-speed high-accuracy control II/III command (G05P10000/G05P20000) High-accuracy spline interpolation command (G61.2)

This function uses the following functions to minimize the increase in machining time while reducing the shape error.

(1) Acceleration/deceleration before interpolation

(2) Optimum speed control

(3) Vector accuracy interpolation

(4) Feed forward

(5) S-pattern filter control

In the main text, the axis address refers to the address of an axis that exits on the machine.

It corresponds to the address designated in the parameters "#1013 axname" and "#1014 incax".

These parameter settings depend on the MTB specifications.

Function and purpose

High-accuracy control OFF

NC command NC command

Machining program commanded shape

Machining program commanded shape Machining program commanded shape

Machining program commanded shape

Corner shape

Curve shape

High-accuracy control ON

NC command

NC command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

682IB-1501278-Q

High-accuracy control can be canceled with either command regardless of the command that has enabled the con-

trol.

(1) After "G08 P1" is commanded, G code group 13 is automatically switched to the G61.1 modal. If the high-accuracy control mode is canceled by the "G08 P0" command, G code group 0 is switched to the "G08P0" modal and G code group 13 becomes the "commanded mode".

Command format

High-accuracy control valid

G61.1 ;

or, G08 P1;

High-accuracy control invalid

G08 P0;

or, G command in G code group 13 except G61.1

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

683 IB-1501278-Q

(1) Feedrate command F is clamped with the "#2110 Clamp (H-precision)" (Cutting feed clamp speed for high-ac- curacy control mode) set with the parameter.

(2) Rapid traverse rate enables "#2109 Rapid(H-precision)" (Rapid traverse rate during high-accuracy control mode) set by the parameter.

(3) When the "#2109 Rapid(H-precision)" is set to "0", the movement follows "#2001 rapid" (rapid traverse rate) set by the parameter. Also, when "#2110 Clamp (H-precision)" is set to "0", the speed will be clamped with "#2002 clamp" (Cutting clamp speed) set with parameter.

(4) The modal holding state of the high-accuracy control mode depends on the MTB specifications (combination of the parameters "#1151 rstint" (reset initial) and "#1148 I_G611" (initial high-accuracy)).

Hold: Modal hold

ON: Switches to the high-accuracy control mode

As for G61.1, the mode is switched to the high-accuracy mode, even if the other modes (G61 to G64) are valid.

OFF: The status of the high-accuracy control mode is OFF.

Detailed description

Parameters Default state Resetting

Reset initial (#1151)

Initial high-ac- curacy (#1148)

Power ON Reset 1 Reset 2 Reset & rewind

OFF OFF OFF Hold OFF

ON OFF

OFF ON ON Hold ON

ON ON

Parameters Emergency stop Emergency stop cancel

Reset initial (#1151)

Initial high-ac- curacy (#1148)

Emergency stop switch or exter- nal emergency stop

Emergency stop switch or exter- nal emergency stop

OFF OFF Hold Hold

ON OFF

OFF ON Hold Hold

ON ON

Parameters Block interrup- tion

Block stop NC alarm OT

Reset initial (#1151)

Initial high-ac- curacy (#1148)

Mode change- over (automatic/

manual) or

feed hold

Single block Servo alarm H/W OT

OFF OFF Hold

ON

OFF ON

ON

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

684IB-1501278-Q

Acceleration/deceleration control is carried out for the movement commands to suppress the impact and to smooth

out the velocity waveform when the machine starts or stops moving. However, if high-accuracy control is disabled,

the corners at the block seams are rounded, and path errors occur regarding the command shape because accel-

eration/deceleration is performed after interpolation.

In the high-accuracy control function mode, acceleration/deceleration is carried out before interpolation to solve the

above problems. This acceleration/deceleration before interpolation enables machining with a faithful path to the

commanded shape of the machining program.

Furthermore, the acceleration/deceleration time can be reduced because the constant-gradient acceleration/decel-

eration is performed for the acceleration/deceleration before interpolation.

(1) Basic patterns of acceleration/deceleration control in linear interpolation commands

Acceleration/deceleration before interpolation

Acceleration/deceleration waveform pattern

Normal mode (a) Because of the acceleration/deceleration that controls the acceleration time to achieve the commanded speed at a con- stant level (acceleration/deceleration with fixed time constant), the acceleration/de- celeration becomes more gentle as the command speed becomes slower (the ac- celeration/deceleration time does not change).

(b) The time to achieve the commanded speed (G1tL) can be set independently for each axis. Note, however, that an arc shape will be distorted if the time constant differs among the base axes.

G1tL: G1 time constant linear (MTB-specified parameter #2007)

High-accuracy con- trol mode

(F) Resultant speed (T) Time

(a) Because of the acceleration/deceleration that controls the acceleration time to achieve the maximum speed (G1bF) set by a parameter at a constant level (con- stant-gradient type linear acceleration/de- celeration), the acceleration/deceleration time is reduced as the command speed becomes slower.

(b) Only one acceleration/deceleration time constant (common for each axis) exists in a system.

G1bF: Maximum speed (MTB-specified parameter #1206) G1btL: Time constant (MTB-specified parameter #1207)

G1bF and G1btL are values for speci- fying the gradient of the acceleration/ deceleration time. The actual cutting feed maximum speed is clamped by the "#2002 clamp" value.

clamp

G1tL

(T)

(F)

clamp

G1btL/2

G1bF

G1bF/2

G1btL

(T)

(F)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

685 IB-1501278-Q

(2) Path control in circular interpolation commands

When commanding circular interpolation with the conventional "acceleration/deceleration after interpolation"

control method, the path itself that is output from the NC to the servo runs further inside the commanded path,

and the circle radius becomes smaller than that of the commanded circle. This is due to the influence of the

smoothing course droop amount for NC internal acceleration/deceleration.

With the pre-interpolation acceleration/deceleration control method, the path error is eliminated and a circular

path faithful to the command results, because interpolation is carried out after the acceleration/deceleration con-

trol. Note that the tracking lag due to the position loop control in the servo system is not the target here.

The following shows a comparison of the circle radius reduction error amounts for the conventional "acceleration/

deceleration after interpolation" control and pre-interpolation acceleration/deceleration control in the high-accu-

racy control mode.

If an arc is commanded by a machining program as shown above, the error R occurs for the commanded shape

on the actual tool path. In the normal mode (acceleration/deceleration after interpolation), R is caused by ac-

celeration/deceleration of NC and lag of servo system. High-accuracy control (acceleration/deceleration before

interpolation), however, can eliminate errors caused by acceleration/deceleration of NC. By additionally using

the feed forward control, it is also possible to reduce errors caused by lag of servo system.

The compensation amount of the circle radius reduction error (R) is theoretically calculated as shown in the

following table.

Ts: Acceleration/deceleration time constant in the NC (s)

Tp: Servo system position loop time constant (s) (inverse number to "#2203 PGN1")

Kf: Feed forward coefficient

Kf = fwd_g / 1000 (fwd_g: #2010 Feed forward gain)

Machining program commanded shape

Actual tool path

R: Commanded radius (mm) R: Circle radius reduction error amount (mm) F: Cutting feedrate (mm/min)

"Acceleration/deceleration after interpolation" control (normal mode)

"Pre-interpolation acceleration/deceleration" control (high-accuracy control mode)

Linear acceleration/deceleration

Exponential function acceleration/deceleration

Linear acceleration/deceleration

(a) Because the item Ts can be ignored by using the pre-interpolation acceleration/deceleration con- trol method, the radius reduction error amount can be reduced.

(b) Item Tp can be negated by making Kf = 1.

R

R

F

R = Ts 2 + Tp2 1 12

1 2R

F 60

2

R = Ts2 + Tp2 1 2R

F 60

2

R = Tp2 1 - Kf 2 1 2R

F 60

2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

686IB-1501278-Q

When "#1205 G0bdcc" (G0 pre-interpolation acceleration/deceleration) is "1", pre-interpolation acceleration/decel-

eration is also enabled for rapid traverse movement. In this case, acceleration/deceleration control is performed so

that the acceleration rate of each axis does not exceed the gradient determined by parameters "#2001 rapid" (rapid

traverse rate) and "#2004 G0tL" (G0 time constant (linear)).

(a) Velocity waveform of pre-interpolation acceleration/deceleration

(b) Velocity waveform of acceleration/deceleration after interpolation

(c) Gradient of pre-interpolation acceleration/deceleration

(F) Speed

(T) Time

When the gradient of each axis is different, the most moderate gradient among them is used in pre-interpolation

acceleration/deceleration.

Because acceleration/deceleration control is performed with a constant gradient, the positioning time for a G00 fine-

segment block is reduced.

(1) When "#1086 G0Intp" (G00 non-interpolation) is "1", acceleration/deceleration after interpolation is applied to G00.

(2) When "#8090 SSS ON" is "1", pre-interpolation acceleration/deceleration is applied to G00 regardless of the set- ting in "#1205 G0bdcc" (Acceleration and deceleration before G0 interpolation).

(3) When "#1569 SfiltG0" (G00 soft acceleration/deceleration filter) is set to a value other than "0", cycle time may become longer when pre-interpolation acceleration/deceleration is applied to linear acceleration/deceleration than when acceleration/deceleration after interpolation is applied.

(a) Velocity waveform of pre-interpolation acceleration/deceleration

(b) Velocity waveform of acceleration/deceleration after interpolation

(F) Speed

(T) Time

Rapid traverse pre-interpolation acceleration/deceleration

(F)

(T)

(a)

(b)

(c) #2001

#2004

Note

(F)

(T)

(a)

(b)

#2001

#2004 #1569

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

687 IB-1501278-Q

When the moving direction is changed on the corner, arc, etc., acceleration rate corresponding to the amount of

change and the feedrate is generated. When the acceleration rate is large, there is a possibility of machine vibration

and it may leave stripes on the machining surface.

In the high-accuracy control mode, the deceleration control (optimum speed control) is performed to keep the gen-

erated acceleration rate under the allowance that has been designed with the parameter so that the problem men-

tioned above can be solved. The optimum speed control suppresses the machine vibration and enables highly

accurate machining while minimizing the extension of cycle time.

Corner deceleration

Consists of optimum corner deceleration and axis-specific acceleration tolerance control.

Arc speed clamp

Controls deceleration so that the combined acceleration rate on an arc is kept below the tolerable

acceleration rate common to all axes. This can suppress path errors (circle radius reduction error

amount) on an arc to a certain level.

(1) Optimum corner deceleration

Highly accurate edge machining can be achieved by controlling deceleration so that the combined acceleration

rate at the seam between blocks is kept under the tolerable acceleration rate common to all axes, which is de-

termined by "#1206 G1bF" (maximum speed), "#1207 G1btL" (time constant), and accuracy coefficient. When

entering in a corner, optimum speed for the corner (optimum corner speed) is calculated from the angle with the

next block (corner angle) and the tolerable acceleration rate common to all axes. The machine decelerates to

the speed in advance, and then accelerates back to the command speed after passing the corner.

Optimum speed control

When a corner with the corner angle is passed at speed F, the acceleration rate F occurs according to and F.

The corner speed F is controlled so that F generated above does not exceed the tol- erable acceleration rate common to all ax- es. The speed pattern is as shown on the left.

Y axis F : Speed before entering the corner

F : Speed after passing the corner

F : Acceleration rate at the corner

X axis

F0 =

F0x2

F0y2

F0x2 + F0y2

Time

Resultant speed

X-axis speed

Time

Time

Y-axis speed

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

688IB-1501278-Q

Optimum corner deceleration is not carried out when blocks are smoothly connected, because deceleration is

not necessary. The criteria for whether the connection is smooth or not can be designated by the machining pa-

rameter "#8020 DCC ANGLE". If the corner angle is equal to or less than the corner deceleration angle, the con-

nection is judged to be smooth and optimum corner deceleration is not carried out.

The edge accuracy can be further improved by setting a greater accuracy coefficient. A greater accuracy coef-

ficient, however, reduces the optimum corner speed, which may increase the cycle time. Setting a negative ac-

curacy coefficient can increase the optimum corner speed and reduce the cycle time.

As shown below, different accuracy coefficients can be used depending on the parameter "#8021 COM-

P_CHANGE", and the tolerable acceleration rate common to all axes can be obtained with the following formula:

The corner speed V0 can be maintained at more than a certain speed so that the corner speed does not drop

too far.

Set "#2096 crncsp (corner deceleration minimum speed)" for each axis, and make a resultant speed so that the

moving axis does not exceed this setting.

Note that the speed is controlled with the optimum corner deceleration speed in the following cases.

When the combined corner deceleration speed is equal to or less than the optimum corner deceleration speed

When the corner deceleration minimum speed parameter setting for the moving axes is set to "0" for even one axis.

#8021 COMP CHANGE Accuracy coefficient used

0 #8019 R COMP

1 #8022 CORNER COMP

Speed is not clamped Speed is clamped

(a) Corner deceleration speed (b) Clamp value according to X axis

(c) Y axis setting value (d) X axis setting value

= G1bF (mm/min) / 60

100G1btL (ms) / 1000 Tolerable acceleration rate

for all axes (mm/s2)

100 - R COMP

V

(a)

(b)

(c)

(a)

(d)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

689 IB-1501278-Q

(2) Axis-specific acceleration tolerance control (optimum acceleration control)

The acceleration rate to be generated at a seem between blocks is evaluated for each axis to control decelera-

tion so that the seam is passed at the optimum speed. This enables highly accurate edge machining.

The optimum deceleration speed is calculated so that the acceleration rate of each axis to be generated at the

seam is equal to or less than the tolerable acceleration rate for each axis, which is determined by "#2157 G1bFx"

(maximum speed for each axis), "#2158 G1btLx" (time constant for each axis), and the accuracy coefficient. The

machine decelerates to the speed in advance, and then accelerates back to the command speed after passing

the corner.

This control enables deceleration at an appropriate speed for the characteristics of each axis even when ma-

chine vibrations may easily occur due to a low tolerable acceleration rate for a specific axis (rotary axis). This

means that the deceleration speed can be raised at a corner where acceleration rate is generated only for an

axis with a high tolerable acceleration rate, leading to a reduced cycle time.

If acceleration rate is generated for the X axis (linear axis) as shown in Figure (a) below or for the C axis (rotary

axis) as shown in Figure (b), the corner speed F is controlled so that the acceleration rate to be generated at the

X or C axis does not exceed the tolerable acceleration rate for the X or C axis, respectively. If the tolerable ac-

celeration rate for the X axis is higher than that for the C axis, a higher deceleration speed can be used for a path

where acceleration rate is generated only for the X axis than where acceleration rate is generated only for the C

axis. In this case, the speed patterns are as shown in Figures (c) and (d) below:

F0 =

F0x2

F0x2

F0c2

F0x2 + F0c2 F0 = F0x2 + F0y2

F0c2

F : Speed before entering the corner

(a) Corner shape which generates the acceleration rate on X axis (linear axis)

Controls the acceleration rate generated on X axis to be the X-axis tolerable acceleration rate or less.

Controls the acceleration rate generated on C axis to be the C-axis tolerable acceleration rate or less.

(b) Corner shape which generates the acceleration rate on C axis (rotary axis)

(c) Speed pattern which generates the acceleration rate on X axis (linear axis)

(d) Speed pattern which generates the acceleration rate on C axis (rotary axis)

F : Speed after passing the corner F : Speed before entering the corner

F : Speed after passing the cornerF :

Acceleration rate at the corner

X axis X axis F : Acceleration rate at the corner

Time Time

Time

Time

Time

Time

Resultant speed

X-axis speed

Resultant speed

X-axis speed

C-axis speed C-axis speed

C axis C axis

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

690IB-1501278-Q

Deceleration is not carried out when blocks are smoothly connected (when the acceleration rate to be generated for

each axis is equal to or lower than the tolerable acceleration rate for each axis).

The edge accuracy can be further improved by setting a greater accuracy coefficient. A greater accuracy coefficient,

however, reduces the optimum corner speed, which may increase the cycle time. Setting a negative accuracy coef-

ficient can increase the optimum corner speed and reduce the cycle time.

As shown below, different accuracy coefficients can be used depending on the parameter "#8021 COM-

P_CHANGE". Also, the tolerable acceleration rate can be adjusted for each axis using "#2159 compx" (accuracy

coefficient for each axis), and the tolerable acceleration rate for each axis can be obtained with the following formula.

It is necessary, however, to set the same tolerable acceleration rate for all base axes because an arc shape is dis-

torted if it differs among them. If G1bFx is "0" (not set), the tolerable acceleration rate is calculated using "#2001

rapid" (rapid traverse rate). And if G1btLx is "0" (not set), the tolerable acceleration rate is calculated using "#2004

G0tL" (G0 time constant (linear)).

If G1bFx and G1btLx are 0 for all base axes, the tolerable acceleration rate for the base axes are unified to the lowest

one.

#8021 COMP CHANGE Accuracy coefficient used

0 #8019 R COMP

1 #8022 CORNER COMP

= G1bFx (mm/min) / 60

100 100G1btLx (ms) / 1000

100 - compx Tolerable acceleration rate

for each axes (mm/s2)

100 - R COMP

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

691 IB-1501278-Q

(3) Arc speed clamp

During circular interpolation, even when moving at a constant speed, acceleration rate is generated as the ad-

vance direction constantly changes. When the arc radius is large enough in relation to the commanded speed,

control is carried out at the commanded speed. However, when the arc radius is relatively small, the speed is

clamped so that the generated acceleration rate does not exceed the tolerable acceleration/deceleration speed

before interpolation, calculated with the parameters.

This allows arc cutting to be carried out at an optimum speed for the arc radius.

The figure below shows the acceleration rate F (mm/s2) for movement at the constant speed F (mm/min) on

an arc shape with the radius R (mm). Here, the arc clamp speed F' (mm/min) that makes the acceleration rate

F lower than the tolerable acceleration rate common to all axes Ac (mm/s2) can be obtained with the following

formula:

When the above F' expression is substituted with F in the expression for the maximum logical arc radius reduc-

tion error amount R, explained in the section "Pre-interpolation acceleration/deceleration", the commanded ra-

dius R is eliminated, and R does not rely on R.

Here, Tp is the servo system position loop time constant (s) and Kf is the feed forward coefficient.

Tp is the inverse number to "#2203 PGN1" (position loop gain) (Tp = 1 / PGN1) and Kf is a ratio of "#2010 fws_g"

(feed forward gain) (Kf = fwd_g / 100), both of which depend on the MTB specifications.

In other words, with an arc command to be clamped at the arc clamp speed, in logical terms regardless of the

commanded radius R, machining can be carried out with a radius reduction error amount within a constant value.

The roundness can be further improved by setting a greater accuracy coefficient. A greater accuracy coefficient,

however, reduces the arc clamp speed, which may increase the cycle time. Setting a negative accuracy coeffi-

cient can increase the arc clamp speed and reduce the cycle time.

As shown below, different accuracy coefficients can be used depending on the parameter "#8021 COM-

P_CHANGE", and the tolerable acceleration rate common to all axes can be obtained with the following formula:

F: Commanded speed (mm/min) R: Commanded arc radius (mm) : Angle change per interpolation unit F: Speed change per interpolation unit

The tool is fed with the arc clamp speed F' so that F does not exceed the tolerable acceleration rate common to all

axes Ac (mm/s2).

R : Arc radius reduction error amount Tp : Position loop gain time constant of servo system Kf : Feed forward coefficient F : Cutting feedrate

#8021 COMP CHANGE Accuracy coefficient used

0 #8019 R COMP

1 #8022 CORNER COMP

#8023 CURVE COMP

F

R

F

F

F

F

F'

F' = G1bF( mm/min)

G1btL(ms)

R*Ac*60

R Tp2 1 - Kf 2 1 2R

F 60

2

Tp2 1 - Kf 2 2

AC

= G1bF (mm/min) / 60

100G1btL (ms) / 1000 Tolerable acceleration rate

for all axes (mm/s2)

100 - R COMP

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

692IB-1501278-Q

When a fine segment is commanded and the angle between the blocks is extremely small (when not using optimum

corner deceleration), interpolation can be carried out more smoothly using the vector accuracy interpolation.

This function reduces path errors caused by delay of servo systems. Path errors caused by acceleration/decelera-

tion of NC can be eliminated by acceleration/deceleration before interpolation, however errors caused by delay of

servo systems cannot be eliminated by acceleration/deceleration before interpolation. Therefore, when the arc

shape of radius R (mm) is machined at speed F (mm/min) as the figure (a)below, for instance, the lag time occurs

between the NC commanded speed and the actual tool speed in amount of the servo system time constant and the

path error R (mm) occurs. Feed forward control generates the command value taking the delay of servo systems

as shown in figure (b)below so that the path error caused by delay of servo systems can be inhibited.

(a) NC command and actual tool movement during Feed forward control OFF

Vector accuracy interpolation

Vector accuracy interpolation

Commanded path

Feed forward control

R R

F

NC commanded speed

NC commanded shape

Actual tool path

Actual tool speed

Delay of servo

Time

Speed

NC commanded shape

Actual tool speed (corresponding to original NC commanded speed)

Actual tool path

NC commanded speed is set forward according to a expected delay. (Feed forward control)

Time

Speed

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

693 IB-1501278-Q

(b) NC command and actual tool movement during Feed forward control ON

Here, Tp is the servo system position loop time constant (s) and Kf is the feed forward coefficient. Tp is the in-

verse number to "#2203 PGN1" (position loop gain) (Tp = 1 / PGN1) and Kf is a ratio of "#2010 fws_g" (feed

forward gain) (Kf = fwd_g / 100), both of which depend on the MTB specifications.

Combination with the smooth high gain (SHG) control function

Feed forward control can inhibit path errors more effectively by increasing the feed forward coefficient. In some

cases, however, the coefficient cannot be increased because a greater coefficient may cause machine vibra-

tions. In this case, use this function together with the smooth high gain (SHG) control function to stably compen-

sate path errors caused by lag of servo system.

To enable the SHG control, it is also necessary to set "#2204 PGN2" (position loop gain 2) and "#2257 SHGC

SHG" (control gain) in addition to "#2203 PGN1" (position loop gain 1), all of which depend on the MTB specifi-

cations. By enabling the SHG control, it is possible to inhibit path errors, for example, for an arc shape equiva-

lently as with conventional control (SHG control OFF) using the equivalent feed forward gain fwd_g as shown in

the following formula. This means that setting fwd_g = 50 (%) for the SHG control is as effective as setting fwd_g

= 100 (%) for conventional control in inhibiting path errors.

=R F 2R 60 1

Tp 1 - Kf

fwd _ g' = 100 100 2

fwd _ g 1 1 - 1 -

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

694IB-1501278-Q

S-pattern filter (soft acceleration/deceleration filter) is the function that inhibits the machine vibration by smoothing

a velocity waveform. There are following types of S-pattern filters:

G01/G00 S-pattern filter G01/G00 jerk filter S-pattern filter 2

(1) G01/G00 S-pattern filter

This function inhibits the machine vibration by smoothing a velocity waveform generated by constant-gradient linear acceleration/deceleration. Constant-gradient linear acceleration/deceleration generates continuous velocity waveforms, but makes the ac- celeration rate discontinuous. As a result, machine vibrations may easily occur when there are discontinuities in acceleration rate, which may cause scratches or streaks on the machining surface. The S-pattern filter can make the velocity waveform even smoother and eliminate acceleration rate discontinuities to inhibit machine vibra- tions. The S-pattern filter does not impair machining accuracy because it makes the combined speed smoother before interpolation. A greater S-pattern filter time constant, however, may increases the cycle time. To the S-pattern filter time constant, "#1568 SfiltG1" is applied during cutting feed (G01) or "#1569 SfiltG0" during rapid traverse (G00), each of which can be set in the range of 0 to 200 (ms).

(2) G01/G00 jerk filter

The jerk filter function inhibits machine vibrations by eliminating jerk discontinuities when the S-pattern filter alone cannot inhibit such vibrations. Through the S-pattern filter, continuous velocity waveforms can be obtained up to acceleration rate, but jerk dis- continuities remain. The jerk filter further filters the velocity waveform smoothed by the S-pattern filter to smooth jerk as well to inhibit machine vibrations. The jerk filter does not impair machining accuracy because it makes the combined speed smoother before interpolation. To the jerk filter time constant, "#12051 Jerk_filtG1" is applied during cutting feed (G01) or "#12052 Jerk_filtG0" during rapid traverse (G00), each of which can be set in the range of 0 to 50 (ms). Even if a jerk filter time con- stant is set, the S-pattern filter time constant is the time to achieve the target acceleration rate. As a result, the time constant for S-pattern filter processing is "S-pattern filter time constant" - "Jerk filter time constant". If the jerk filter time constant is the same as or greater than the S-pattern filter time constant, an MCP alarm (Y51 0030) will occur.

S-pattern filter control

Time

S-pattern filter 2

Interpolation (axis distribution)

Constant-gradient linear acceleration/ deceleration

Resultant speed

Resultant speed

Resultant speed

Time Time Time

Axis speed

Time

Time

Axis speed

Time

Axis speed

Axis speed

Jerk filter

Smoothing velocity waveform of constant-gradient linear acceleration/deceleration

Making velocity waveform of S-pattern filter even smoother

Smoothing each axis speed after interpolation

S-pattern filter

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

695 IB-1501278-Q

(3) S-pattern filter 2

This function inhibits machine vibrations by smoothing slight speed fluctuation caused when the combined speed is distributed to each axis element. S-pattern filter 2 can inhibit machine vibrations by smoothing slight speed fluctuation on each axis. The function, however, may impair machining accuracy because it filters each axis speed after interpolation. A greater S-pat- tern filter 2 time constant, however, may increases the cycle time. To the S-pattern filter 2 time constant, "#1570 Sfilt2" is applied, which can be set in the range of 0 to 200 (ms).

(4) How to adjust parameters

(a) The table below shows typical initial values for each filter time constant. If your machine's natural angular frequency fn (Hz) is known, vibrations can be inhibited effectively by setting the vibration period Tn (ms) ob- tained with the following formula for the S-pattern filter time constant:

(b) If vibrations cannot be inhibited properly with the above initial values, increase the S-pattern filter time con- stant. Or, decrease the S-pattern filter time constant to reduce the cycle time.

(c) If vibrations occur at a corner or other section and stripes remain on the machining surface even after the S- pattern filter time constant is increased, increase the S-pattern filter 2 time constant. The maximum S-pattern filter 2 time constant, however, should be 20 to 25 ms because a greater S-pattern filter 2 time constant may impair machining accuracy.

(d) If high-frequency machine vibrations remain even after the S-pattern filter/S-pattern filter 2 are applied, set the jerk filter time constant.

If a shorter cycle time has a priority over the machining accuracy, it is possible to inhibit vibrations at a corner by

reducing the corner accuracy coefficient to increase the corner deceleration speed and increasing the S-pattern filter

2 time constant.

Tsfilt: S-pattern filter time constant

Tjerk: Jerk filter time constant

S-pattern filter Jerk filter S-pattern filter

(SfiltG1/SfiltG0) (Jerk_filtG1/Jerk_filtG0) (Sfilt2)

50ms 0ms 10ms

Tsfilt - Tjerk Tsfilt

Tjerk

Constant-gradient linear acceleration/deceleration

Machine vibration is likely to occur

S-pattern filter Jerk filter

Time

Speed

Acceleration rate

Jerk

Jerk Jerk

Acceleration rate Acceleration rateTime Time

Time

Time

Time

Time

Time

Time

Speed Speed

=Tn fn

1000 (ms)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

696IB-1501278-Q

(1) The modal must be set as shown below when commanding G08 P1/G61.1.

(*1) These functions can be commanded if the axis-specific acceleration tolerance control (optimum acceleration

control) or variable-acceleration pre-interpolation acceleration/deceleration specification is valid.

(2) A program error will occur if high-accuracy control is commanded in the following modes. During milling -> Program error (P481) (*2) During cylindrical interpolation -> Program error (P481) (*2) During polar coordinate interpolation -> Program error (P481) (*2) During normal line control -> Program error (P29)

(3) A program error will occur if the following commands are issued during the high-accuracy control mode. Milling -> Program error (P126) (*2) Cylindrical interpolation -> Program error (P126) (*2) Polar coordinate interpolation -> Program error (P126) (*2) Normal line control -> Program error (P29)

(*2) An error will not occur if the axis-specific acceleration tolerance control (optimum acceleration control) or

variable-acceleration pre-interpolation acceleration/deceleration specification is valid.

Relationship with other functions

Function G code

Cylindrical interpolation cancel (*1) G07.1

Polar coordinate interpolation cancel (*1) G15

Normal line control cancel G40.1

Programmable mirror image OFF G50.1

Mirror image with settings Cancel

Mirror image with signals Cancel

No macro modal call G67

Feed per revolution cancel G94

Constant surface speed control mode cancel G97

Interruption type macro mode cancel M97

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

697 IB-1501278-Q

The table below shows operations when following high-accuracy control-related commands are combined:

Operation when high-accuracy control-related G commands are combined

G61.1, G8P1 : High-accuracy control

G64 : Cutting mode

G61 : Exact stop check mode

G62 : Automatic corner override

G63 : Tapping mode

G61.2 : High-accuracy spline interpolation

G08P0 : High-accuracy control cancel (cutting mode)

G05.1Q1 : High-speed high-accuracy control I

G05.1Q2 : Spline interpolation

G05P2 : High-speed machining mode II

G05P10000 : High-speed high-accuracy control II

G05P20000 : High-speed high-accuracy control III

A B Operation when B is commanded during A command

G61.1/G08P1 G61.1 Continues high-accuracy control.

G61,G62,G63,G64 Cancels high-accuracy control and operates in the commanded mode.

G61.2 Operates in the high-accuracy spline interpolation mode.

G8P1 Continues high-accuracy control.

G8P0 Cancels high-accuracy control. (Changes G code group 13 to G64.)

G05.1Q1 Operates in the high-speed high-accuracy control I mode.

G05.1Q2 A program error (P34) will occur.

G05P2 Operates in high-accuracy control + high-speed machining mode II.

G05P10000 Operates in the high-speed high-accuracy control II mode.

G06.2 A program error (P34) will occur.

G61.2 G61.1 Operates in the high-accuracy control mode.

G61,G62,G63,G64 Operates in the commanded mode.

G61.2 Continues high-accuracy spline interpolation.

G08P1 Operates in the high-accuracy control mode.

G08P0 A program error (P29) will occur.

G05.1Q1 A program error (P29) will occur.

G05.1Q2 A program error (P34) will occur.

G05P2 Operates in high-accuracy spline interpolation + high-speed machining mode II.

G05P10000 A program error (P29) will occur.

G06.2 A program error (P34) will occur.

G05.1Q1 G61.1 Continues the high-speed high-accuracy control I mode.

G64 Continues the high-speed high-accuracy control I mode.

G61,G62,G63 Operates in the high-speed high-accuracy control I + commanded mode.

G61.2 A program error (P29) will occur.

G08P1 Continues the high-speed high-accuracy control I mode.

G08P0 Continues the high-speed high-accuracy control I mode.

G05.1Q1 Continues the high-speed high-accuracy control I mode.

G05.1Q2 A program error (P34) will occur.

G05P2 Operates in the high-speed machining mode II.

G05P10000 A program error (P34) will occur.

G06.2 A program error (P34) will occur.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

698IB-1501278-Q

The acceleration rate of either the cutting feed (G01) or the rapid traverse (G00) can be used for the rapid traverse

(G00) in the high-accuracy control mode during the tool center point control, workpiece installation error compensa-

tion, or inclined surface machining command. Which acceleration rate is used depends on the MTB specifications

(parameter "#1250 set22/bit3").

Normally, the acceleration rate of the cutting feed (G01) is used and the acceleration rate in the route direction be-

comes constant. If the acceleration rate of the rapid traverse (G00) is used, the acceleration rate can be changed

to suit the responsiveness of the moving axis, and also the cycle time can be reduced compared to that of the cutting

feed (G01). The figure below shows the relationship between parameters and speed waveforms (when the respon-

siveness of the linear axis is higher than that of the rotary axis).

(a) Acceleration rate of rapid traverse (G00)

(b) Acceleration rate of cutting feed (G01)

When at least one of the functions shown in the table below is commanded, positioning is performed with the accel-

eration rate of the rapid traverse (G00) in the following conditions:

(1) The parameter "#1250 set22/bit3" is set to "1".

(2) SSS control is being executed.

If the above conditions are not satisfied, the system runs with the acceleration rate of the cutting feed (G01).

G05P10000 G61.1 Continues the high-speed high-accuracy control II mode.

G64 Continues the high-speed high-accuracy control II mode.

G61,G62,G63 Operates in the high-speed high-accuracy control II + commanded mode.

G61.2 A program error (P29) will occur.

G08P1 Continues the high-speed high-accuracy control II mode.

G08P0 Continues the high-speed high-accuracy control II mode.

G05.1Q1 A program error (P34) will occur.

G05.1Q2 Operates in the high-speed high-accuracy control II mode + spline inter- polation

G05P2 Operates in the high-speed machining mode II.

G05P10000 Continues the high-speed high-accuracy control II mode.

G06.2 Operates in the NURBS interpolation mode.

Rapid traverse acceleration rate switching during tool center point control, workpiece installation error com- pensation, or inclined surface machining command

Resultant speed

Time

During tool center point control

Function Instruction (G code)

Tool center point control G43.4, G43.5

Workpiece installation error compensation G54.4

Inclined surface machining command G68.2, G68.3

A B Operation when B is commanded during A command

N2 N1

(a) #1250/bit3=1

(b) #1250/bit3=0

G43.4 H1 ; N1 G00 C10. ; N2 G00 X10. ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

699 IB-1501278-Q

The table below shows the rapid traverse acceleration/deceleration patterns and acceleration rate designation meth-

ods under the SSS control. The acceleration rate is calculated based on the designated parameters to perform op-

erations. Designate the parameters to determine the rapid traverse acceleration rate, referring to the table below.

(*) When "#2109 Rapid(H-precision)" (rapid traverse rate for high-accuracy control mode) is set to "0", "#2001 rapid"

is used.

#1250 bit3

Functions in the table above

Rapid traverse constant-gradi- ent multi-step

acceleration/de- celeration

Acceleration/decel- eration pattern

Acceleration rate designation method

0 Not commanded. Invalid Constant-gradient ac- celeration/decelera- tion

Designated with the parameters "#2001 Rapid" and "#2004 G0tL".

Valid Constant-gradient multi-step accelera- tion/deceleration

Follows the rapid traverse constant-gradi- ent multi-step acceleration/deceleration specifications.

Commanded. Invalid/Valid Constant-gradient ac- celeration/decelera- tion

Designated with the parameters "#1206 G1bF" and "#1207 G1btL".

1 Not commanded. Invalid Constant-gradient ac- celeration/decelera- tion

Designated with the parameters "#2001 Rapid" and "#2004 G0tL".

Valid Constant-gradient multi-step accelera- tion/deceleration

Follows the rapid traverse constant-gradi- ent multi-step acceleration/deceleration specifications.

Commanded. Invalid/Valid Constant-gradient ac- celeration/decelera- tion

Designated with the parameters "#2001 Rapid" and "#2004 G0tL".

Speed

Time

#2109 Rapid(H-precision) (*)

#2001 Rapid, #1206 G1bF

#2004 G0tL, #1207 G1btL #2004 G0tL, #1207 G1btL

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

700IB-1501278-Q

The following describes the relationship between the setting values of the parameter "#1250 set22/bit3" and the ap-

plied acceleration rate using two operation examples (resultant speed waveform). The major parameters are as fol-

lows.

(1) Acceleration/deceleration pattern when "#1250 bit3" is set to "0"

N1: Runs with the acceleration rate calculated from "#2001" and "#2004" of the X axis.

N2-N4: Runs with the acceleration rate calculated from "#1206" and "#1207".

(2) Acceleration/deceleration pattern when "#1250 bit3" is set to "1"

N1: Runs with the acceleration rate calculated from "#2001" and "#2004" of the X axis.

N2-N4: Runs with the acceleration rate calculated from "#2001" and "#2004" of each axis.

(Calculate the optimum acceleration rate within the range in which the acceleration of each axis does not

exceed the setting.)

Parameters Description Setting value

#1205 G0bdcc G0 acceleration/deceleration before interpo- lation

1

#1206 G1bF Maximum speed (mm/min) 10000

#1207 G1btL Time constant (ms) 500

#8090 SSS ON SSS control ON/OFF 1

#2001 Rapid Rapid traverse rate (X axis) 30000 (C axis) 20000

#2004 G0tL G0 time constant (linear) (X axis) 100 (C axis) 500

Resultant speed G91G61.1; N1 G00 X10.; G43.4 H1; N2 G00 C10.; N3 G00 X10.; N4 G00 X10. C1.;

Time

During tool center point control

Resultant speed G91G61.1; N1 G00 X10.; G43.4 H1; N2 G00 C10.; N3 G00 X10.; N4 G00 X10. C1.;

Time

During tool center point control

N1 N2 N3 N4

N1 N3 N4 N2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

701 IB-1501278-Q

(1) The "high-accuracy control" specifications are required to use this function If G61.1 is commanded when there are no specifications, a program error (P123) will occur.

(2) "G08P1" must be commanded alone in a block, which also applies to "G08P0".

(3) The high-accuracy control function is internally enabled by the high-speed high-accuracy I/II/III (G5.1Q1/ G5P10000) command. If the high-speed high-accuracy I/II/III is commanded in the high-accuracy control mode, the high-speed high-accuracy I/II/III mode is enabled. Then, if the high-speed high-accuracy I/II/III mode is can- celed, the high-accuracy control mode is restored.

(4) In the high-accuracy control mode, feedrate command F is clamped with the "#2110 Clamp (H-precision)" (Cut- ting feed clamp speed for high-accuracy control mode) set with parameter. When the cutting feed clamp speed for the high-accuracy control mode is 0, however, it is clamped with the "#2002 clamp" cutting clamp speed set by the parameter.

(5) In the high-accuracy control mode, rapid traverse rate conforms to "#2109 Rapid(H-precision)" (Rapid traverse rate during high-accuracy control mode) set by the parameter. When the rapid traverse rate during the high-ac- curacy control mode is set to "0", however, the movement follows "#2001 rapid" set by the parameter.

(6) If the specifications for the multi-part system simultaneous high-accuracy control are not provided, the "#1205 G0bdcc" (G0 pre-interpolation) can be used with only one part system. If the 2nd or later part system is set to the G0 pre-interpolation acceleration/deceleration, an MCP alarm (Y51 0017) will occur.

(7) When there are high-accuracy acceleration/deceleration time constant expansion specifications, the sampling buffer area may be smaller.

(8) The high-accuracy control time constant expansion specifications can only be used for a 1-part system. In a multi-part system, the high-accuracy acceleration/deceleration time constant expansion specifications are dis- abled even when they are set to ON.

(9) For a part system where high-accuracy control is to be commanded, set the number of axes in the part system to 8 or less. If high-accuracy control is commanded for a part system that has 9 or more axes, an operation error (M01 0135) will occur. The error will not occur, however, if the number of axes in the part system excluding the master axis/slave axis is 8 or less during the synchronous control/control axis synchronization between part sys- tems.

(10) Even if the parameter "#1210 RstGmd" (modal G code reset setting) is set to "not to initialize group 13 at reset", group 13 is initialized according to the setting of "#1148 I_G611" (Initial hi-precis) if it is enabled. To retain group 13 at reset, set "#1148 I_G611" to "0". These parameters depend on the MTB specifications.

(11) If the parameter "#1205 G0bdcc" (G0 acceleration/deceleration before interpolation) is set to "1", the value set with the parameter "#2224 SV024" (in-position detection width) will be used as the in-position width. The setting of the parameter "#2077 G0inps" (G0 in-position width) and the programmable in-position check with ",I" address are disabled.

(12) When SSS is enabled, the feedrate is controlled so that it will be the optimum value based on the global path information. This means that the actual feedrate may be different from the speed commanded in the machining program.

(13) When the "Manual/Automatic simultaneous valid n-th axis" signal (Y920) is changed during the execution of the movement blocks for the pre-interpolation acceleration/deceleration, the change will not be enabled immediately even if the axis is not moving. The change is enabled when all the axes in the part system decelerate and stop.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

702IB-1501278-Q

17.2.2 SSS Control

This function runs a machining program that approximates a freely curved surface with fine segment lines at high

speed and with high-level accuracy. This function enables machining with less scratches and streaks on the cutting

surface compared to the conventional high-accuracy control function.

With conventional high-accuracy control, the angle between two blocks is compared with the corner deceleration

angle to determine whether to execute corner deceleration between the blocks. This can cause the speed to sud-

denly change between the blocks with an angle close to the corner deceleration angle, resulting in scratches or

streaks.

The SSS (Super Smooth Surface) control uses information on not only the angle between two blocks but also global

paths to provide optimum speed control that is not significantly affected by minute stepping or waviness. The favor-

able effects of this control include a reduction in the number of scratches or streaks on cutting surfaces.

The SSS control has the following features:

(1) This function is effective at machining smooth-shaped dies using a fine segment program.

(2) This function provides speed control that is not susceptible to errors in paths.

(3) Even if corner deceleration is not required, the speed is clamped if the predicted acceleration is high. (The clamp speed can be adjusted using the parameter "#8092 ClampCoeff".)

The length of the path direction recognized with SSS control can be adjusted with the machining parameter "#8091

reference length". The range is increased as the setting value increases, and the effect of the error is reduced.

If the multi-part system simultaneous high-accuracy specification is provided, up to two part systems can be used

at the same time.

(1) The use of this function requires the following functions, in addition to the SSS control specifications. Make sure that these specifications are enabled before using this function. High-accuracy control (G61.1/G08P1) High-speed high-accuracy control I (G05.1 Q1) High-speed high-accuracy control II (G05 P10000) High-speed high-accuracy control III (G05 P20000)

Function and purpose

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

703 IB-1501278-Q

When the parameters are set as below, each of the following high-accuracy control commands is activated under

SSS control.

"#8090 SSS ON" ON

"SSS" is displayed on the modal display screen under SSS control.

However "SSS" is not displayed when a command being executed is out of the scope of SSS control.

The clamp speed at a corner and arc can be adjusted using "#8022 CORNER COMP" and "#8023 CURVE COMP"

(If "#8021 COMP_CHANGE" is set to "0", use "#8019 R COMP" to adjust the clamp speed at a corner and arc).

When "#8096 Deceler. coeff. ON" is set to "1", "#8097 Corner decel coeff" and "#8098 Arc clamp spd coef" become

valid during SSS control. Using these parameters, you can use different corner deceleration speeds and clamp

speeds at arcs according to whether or not the SSS control is enabled.

For parameters #8097 and #8098, respectively, set a percentage ratio to the level of the relevant speed that is ap-

plied when the SSS control is disabled.

(Example) When "#8097 Corner decel coeff" is set to 200 (%), the corner deceleration speed that is applied when

the SSS control is enabled becomes twice the corner deceleration speed that is applied when the SSS control

is disabled.

When setting the parameters, adjust the values within the range in which the machine does not vibrate.

Detailed description

[High-accuracy control]

G61.1 ; or G08P1; High-accuracy control ON

G08P0; or, G command in group 13 except G61.1 High-accuracy control OFF

[High-speed high-accuracy control I]

G05.1 Q1 ; High-speed high-accuracy control I ON

G05.1 Q0 ; High-speed high-accuracy control I OFF

[High-speed high-accuracy control II]

G05 P10000 ; High-speed high-accuracy control II ON

G05 P0 ; High-speed high-accuracy control II OFF

[High-speed high-accuracy control III]

G05 P20000 ; High-speed high-accuracy control III ON

G05 P0 ; High-speed high-accuracy control III OFF

Adjustment of accuracy coefficient

Parameter Item to be adjusted

#8097 Corner decel coeff Corner deceleration speed to be applied when the SSS con- trol is enabled

#8098 Arc clamp spd coef Arc clamp speed to be applied when the SSS control is en- abled

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

704IB-1501278-Q

The standard values of the parameters related to SSS control are shown below.

(1) User parameters

Reference items for adjusting the parameter The relationship between each parameter, accuracy and speed is shown below. The accuracy and speed required for machining can be adjusted with these settings. When setting the parameters, adjust the values within the range in which the machine does not vibrate.

(2) Basic specification parameters (depend on the MTB specifications)

(3) Axis specification parameters (depend on the MTB specifications)

Parameter standard values

# Item Standard value

8090 SSS ON 1

8091 StdLength 1.000

8092 ClampCoeff 1

8093 StepLeng 0.005

8094 DccWaitAdd 0

8096 Deceler. coeff. ON 1

8097 Corner decel coeff 300

8098 Arc clamp spd coef 100

8019 R COMP 0

8020 DCC ANGLE 10

8021 COMP CHANGE 1

8022 CORNER COMP 0

8023 CURVE COMP -20

8034 AccClampt ON 0

8036 CordecJudge 0

8037 CorJudgeL 0

Parameter Adjustment target Effect

#8022 CORNER COMP Accuracy at corner section

Large setting = Accuracy increases, speed drops

#8023 CURVE COMP Accuracy at curve section

Large setting = Accuracy increases, speed drops

#8092 ClampCoeff Accuracy at curve section

Large setting = Accuracy drops, speed increases

Usually use the standard value and adjust with "#8023".

# Item Standard value

1148 I_G611 Initial high-accuracy 0

1206 G1bf Acceleration/deceleration before interpolation Maximum speed -

1207 G1btL Acceleration/deceleration before interpolation Time constant -

1571 SSSdis SSS control adjustment coefficient fixed value selection 0

1572 Cirorp Arc command overlap 0

1568 SfiltG1 G1 soft acceleration/deceleration filter 0

1569 SfiltG0 G0 soft acceleration/deceleration filter 0

1570 Sfilt2 Soft acceleration/deceleration filter 2 0

# Item Standard value

2010 fwd_g Feed forward gain 70

2068 G0fwdg G00 feed forward gain 70

2096 crncsp Minimum corner deceleration speed 0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

705 IB-1501278-Q

(1) Pre-reading is executed during SSS control, so a program error could occur before the block containing the error is executed.

(2) Buffer correction is not guaranteed during SSS control.

(3) If automatic/manual simultaneous or automatic handle feed interrupt are used during SSS control, the machining accuracy will not be guaranteed.

(4) If a fine arc command is issued during SSS control, it may take longer to machine.

(5) The same path as single block operation will be used during graphic check.

(6) The line under the cutting feedrate and arc command block are subjected to the speed control in the SSS control. The command blocks that are not subjected to speed control, decelerate first and automatically switch the SSS control ON and OFF.

(7) SSS control is temporarily disabled in the following modal: NURBS interpolation Polar coordinate interpolation Cylindrical interpolation User macro interruption enable (M96) Feed per revolution (synchronous feed) Inverse time feed Constant surface speed control Fixed cycle Hypothetical axis interpolation Automatic tool length measurement Tool length compensation along the tool axis

(8) There are some restrictions for each high-accuracy control. Refer to each section for restrictions. "17.2 High-accuracy Control" "17.3 High-speed High-accuracy Control"

(9) Fairing is disabled during the SSS control.

SSS control parameter

Precautions

[Range for recognizing the shape] #1571 SSSdis #8091 StdLength

[Acceleration/deceleration process] Feedrate

Seam between blocks Clamp speed = theory deceleration speed (after adding accuracy coefficient)#8092 ClampCoeff

Time

#8094 DccWaitAdd Able to wait for deceleration by setting the extra time when the speed feedback does not drop to the clamp speed.

Movement command

[Measure for step] #8093 StepLeng Set the value approximately the same as the CAM path difference (tolerance) for the parameter.

#8093 StepLeng

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

706IB-1501278-Q

17.2.3 Tolerance Control

This function obtains the optimum clamp speed for corners or curves based on the designated tolerance to perform

operations. It also ensures smooth passing within the tolerance range in corner sections, which suppresses machine

vibrations. This means that the clamp speed can be increased to reduce the cycle time.

This function allows the machine to operate with the optimum tool path and speed, simply by specifying the toler-

ance, so an operator can easily carry out high quality machining.

The tolerance refers to the allowable error amount between the path commanded in the machining program and the

path output by NC.

The validity of this function depends on the MTB specifications. This function also requires the SSS control specifi-

cations because it can only be used under SSS control.

This function is enabled when the following conditions are satisfied:

(1) The tolerance control specification is valid. (Based on the MTB specifications.)

(2) The parameter "#8090 SSS ON" is set to "1".

(3) The parameter "#12066 Tolerance ctrl ON" is set to "1". (*1)(*2)

(4) High-accuracy control (G61.1/G08P1), spline interpolation (G61.2/G05.1Q2), spline interpolation 2 (G61.4), or high-speed high-accuracy control I/II/III (G05.1Q1/G05P10000/G05P20000) is valid.

(*1) Even if conditions (1) and (3) are satisfied, an operation error (M01 0139) will occur and the cycle start cannot

be performed automatically if the parameter "#8090 SSS ON" is set to "0". In this case, enable SSS control and

reset the alarm to start the cycle automatically.

(*2) A setting error will occur if "1" is set when this specification is invalid.

Function and purpose

Program command path

Path commanded by NC to drive unit

Tool path

Tolerance control: Invalid Tolerance control: Valid

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

707 IB-1501278-Q

Set the tolerance with the parameter "#2659 tolerance" or the ",K" address following the G code (G61.1 or G61.4

command). When the setting value is "0", this function runs with "0.01(mm)".

The range of the command value is 0.000 to 100.000. If a value exceeding the range is commanded, a program error (P35) will occur.

The tolerance designated by ",K" is applied to all axes in the part system. When "0" is designated or ",K" is omitted, the program runs based on the value of the parameter "#2659 toler-

ance". The tolerance designated by ",K" is not held after reset. Therefore, if ",K" is not designated in the G61.1 or G61.4

command after reset, the axis runs based on the value of the parameter "#2659 tolerance".

(1) The G61.4 command requires the specifications of spline interpolation 2.

The clamp speed is obtained from the tolerance in the corner or curve section during tolerance control.

As the designated tolerance is lower, the axis speed decelerates.

Command format

Tolerance specification

G61.1 or G61.4 ,K__ ;

,K Tolerance (mm)

Detailed description

The axis moves in the designated tolerance range during tolerance control. The tolerance on the corner shape is as shown on the right.

Speed control

Tolerance: High Tolerance: Low Command path

Resultant speed

Time Time

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

708IB-1501278-Q

The parameters valid and invalid during tolerance control are as follows. Some parameters depend on the MTB

specifications.

(1) Valid parameters

(2) Invalid parameters (Parameters with no setting required)

Parameters valid during tolerance control

No. Parameter name Supplements

1206 G1bF When combining with the variable-acceleration pre-inter- polation acceleration/deceleration or axis-specific accel- eration tolerance control, specify parameters "#2157 G1bFx" and "#2158 G1btLx".

1207 G1btL

1568 SfiltG1

12051 Jerk_filtG1

2659 tolerance

No. Parameter name Supplements

1570 Sfilt2 Ignored even if the value is entered.

2159 compx Ignored even if the value is entered. The clamp speed is obtained from the tolerance during tolerance control; therefore, parameters for adjusting the clamp speed are not required.

8019 R COMP

8020 DCC ANGLE

8021 COMP CHANGE

8022 CORNER COMP

8023 CURVE COMP

8096 Deceler. coeff. ON

8097 Corner decel coeff

8098 Arc clamp spd coef

Program example

: G91 ;

G61.1 ,K0.02; Designate tolerance 0.02 (mm).

G01 X0.1 Z0.1 F1000 ; X0.1 Z-0.2 ; Y0.1 ;

Tolerance: 0.02 (mm)

G61.1 ,K0; Designate tolerance 0 (mm).

X-0.1 Z-0.05 ; X-0.1 Z-0.3 ;

Tolerance: Follows parameter "#2659 tolerance".

G64 ; :

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

709 IB-1501278-Q

(1) While tolerance control is valid, tolerance control may be canceled temporarily depending on some commands. If tolerance control is canceled temporarily, the axis moves to the commanded position without taking an inner route in a corner section. After this, when a temporary cancel cause is removed, tolerance control restarts. The temporary cancel conditions are as follows:

(a) Modal in which the group 1 command is not G01 (linear interpolation) or G02/G03 (circular interpolation).

(b) Under single block operation

(c) Modal in which SSS control is disabled temporarily (Modal shown below)

NURBS interpolation Polar coordinate interpolation Cylindrical interpolation User macro interruption enable (M96) Feed per revolution (Synchronous feed) Inverse time feed Constant surface speed control Fixed cycle Hypothetical axis interpolation Automatic tool length measurement Tool length compensation along the tool axis Normal line control Unidirectional positioning Exponential interpolation 3-dimensional circular interpolation

(2) The stored stroke limit's prohibited range is determined based on the program command path. As a result, ma- chining may not be stopped even if the command moved inward by tolerance control enters the prohibited range.

(3) If a feed hold signal is turned ON at a corner, machining stops on the program command path. This means that it does not stop at point A in the figure below but at point B.

(4) When the tolerance control is enabled (#12066 = "1"), the maximum value of the fine segment processing capa- bility is 100 kBPM for M800 Series and 67.5 kBPM for M80 Series.

Precautions

Program command path

Path without a feed hold signal

Path when a feed hold signal is turned on at a corner

A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

710IB-1501278-Q

17.2.4 Variable-acceleration Pre-interpolation Acceleration/Deceleration

This function is useful when each axis differs in the characteristics (responsiveness) (4-axis/5-axis machine, etc.).

The normal acceleration/deceleration before interpolation performs the acceleration/deceleration by setting accel-

eration rate common to all axes. Therefore, if the high responsiveness and low responsiveness coexist in axes, the

acceleration rate needs to be set to suit the axis with low responsiveness.

On the other hand, the variable-acceleration pre-interpolation acceleration/deceleration can perform the accelera-

tion/deceleration by setting diverse acceleration rate to each axis. This means that it is possible to set a higher ac-

celeration rate for axes with high responsiveness than before. Therefore, the cycle time can be reduced especially

in the indexing machining. (Refer to following figure.)

The validity of this function depends on the MTB specifications. This function also requires the SSS control specifi-

cations because it can only be used under SSS control.

This function is enabled when the following conditions are satisfied:

(1) The variable-acceleration pre-interpolation acceleration/deceleration specification is valid. (Based on the MTB specifications.)

(2) The MTB-specific parameter has been set (#12060 VblAccPreInt). (*1)

(3) Under SSS control (*2)

(*1) A setting error will occur if "1" is set when this specification is invalid.

(*2) The validity of the SSS control function depends on the MTB specifications.

To enable SSS control, it is necessary to set the parameter "#8090 SSS ON" to "1" to command high-accu-

racy control.

(*3) Even if conditions (1) and (2) are satisfied, an operation error (M01 0136) will occur and the cycle start can-

not be performed automatically if the parameter "#8090 SSS ON" is set to "0". In this case, enable SSS con-

trol and reset the alarm to start the cycle automatically.

"VAC" is displayed on the operation screen and modal display under variable-acceleration pre-interpolation accel-

eration/deceleration.

Function and purpose

Resultant speed

Variable-acceleration pre-interpolation acceleration/deceleration

Acceleration/deceleration before inter- polation

Time

Rotary axis Linear axis Shortened

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

711 IB-1501278-Q

The acceleration rate for each axis is determined in the MTB specifications (parameters "#2157 G1bFx" (maximum

speed for each axis) and "#2158 G1btLx" (axis time constant)).

For an axis with G1bFx = 0 (not set), the acceleration rate is calculated using "#1206 G1bF" (maximum speed).

And for an axis with G1btLx = 0 (not set), the acceleration rate is calculated using "#1207 G1btL" (time constant).

Therefore, if G1bFx and G1btLx are 0 (not set) for all axes, the normal acceleration/deceleration before interpolation

is performed.

The following shows examples of settings.

Set linear axis acceleration rate for "#1206 G1bF" and "#1207 G1btL".

It is assumed that only the acceleration rate for the rotary axis is set for "#2157 G1bFx" and "#2158 G1btLx". ("#1206

G1bF" and "#1207 G1btL" are used by not setting the acceleration rate for the linear axis.)

The figure below shows movements with the above settings.

(1) If only the X axis moves, acceleration/deceleration is performed at the acceleration rate set for the X axis. ... (a)

(2) If only the C axis moves, acceleration/deceleration is performed at the acceleration rate set for the C axis. ... (d)

(3) If both of the X and C axes move, acceleration/deceleration is performed at the optimum acceleration rate cal-

culated within the range that the acceleration rate of each axis does not exceed the setting.

If the movement of the X axis is dominant ... (b) If the movement of the C axis is dominant ... (c)

Detailed description

#1206 G1bF 10000 (mm/min)

#1207 G1btL 100 (ms)

X Y Z C

#2157 G1bFx 0 (not set) 0 (not set) 0 (not set) 10000 (mm/min)

#2158 G1btLx 0 (not set) 0 (not set) 0 (not set) 500 (ms)

(b) (c) (d)(a)

Time

Time

Time

Time

Time

Time

Time

Time

Time

Time

Time

Time

Acceleration rate : Large Acceleration rate : Small

Resultant speed Resultant speed Resultant speed Resultant speed

X axis speed X-axis speed X-axis speed

C-axis speed C-axis speedC-axis speed

X axis speed

C-axis speed

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

712IB-1501278-Q

(1) Under variable-acceleration pre-interpolation acceleration/deceleration, corner deceleration is realized with the axis-specific acceleration tolerance control. Corner deceleration patterns and acceleration/deceleration patterns are as follows with each parameter setting:

(2) This function can only be used under SSS control. This means that variable-acceleration pre-interpolation accel- eration/deceleration is also disabled during a modal that temporarily disables SSS control. As a result, the tool is under the axis-specific acceleration tolerance control. In this mode, the acceleration rate is determined by "#1206 G1bF" and "#1207 G1btL". Out of #2157 and #2158, set the longer one for #1206 and #1207. (Make a note of the original values and restore them as necessary.) Refer to "17.2.2 SSS Control" for modals that temporarily disable SSS control.

(3) Basically, set the same acceleration rate for base axes I, J, and K. A different acceleration rate causes a distorted shape against an arc command. The figure below shows an example where the acceleration rate in the Y direction is greater than that in the X direction.

Precautions

#12060 VblAccPreInt 0 0 1 1

Variable-acceleration Pre-interpo- lation Acceleration/Deceleration ON

#12053 EachAxAccCntrl 0 1 0 1

Axis-specific acceleration toler- ance control ON

Corner deceleration pattern Optimum corner deceleration

Axis-specific acceleration tolerance control

Acceleration/deceleration pattern Acceleration/deceleration before interpolation

Variable-acceleration pre-interpo- lation acceleration/deceleration

Actual tool path Machining program commanded shape

X

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

713 IB-1501278-Q

17.2.5 Initial High-accuracy Control

If "#1148 I_G611" (Initial high-accuracy) is set by the MTB specifications, high-accuracy control-related functions

can be enabled when the power is turned ON. At power ON, the modes set by this parameter are enabled, but each

mode can be changed to a different one by commanding as follows in the machining program.

It is impossible, however, to shift to the high-speed high-accuracy control II/high-speed high-accuracy control III

mode during the high-speed high-accuracy control I. Likewise, it is also impossible to shift to the high-speed high-

accuracy control I mode during the high-speed high-accuracy control II/high-speed high-accuracy control III mode.

To shift to either mode, cancel the current high-speed high-accuracy control mode using "G05.1 Q0" or "G05 P0"

first and then command the target mode.

If any function set by this parameter is not included in your machine's specifications, an available high-accuracy

function with a number smaller than the parameter setting is enabled.

#1148 setting value Modes enabled at power ON

0 G08P0/G64 (cutting mode) command

1 G08P1/G61.1 (high-accuracy control mode) command

2 G05.1Q1 (high-speed high-accuracy control I mode) command

3 G05P10000 (high-speed high-accuracy control II mode) command

4 G05P20000 (high-speed high-accuracy control III mode) command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

714IB-1501278-Q

17.2.6 Multi-part System Simultaneous High-accuracy

High-accuracy control and high-speed machining mode are available respectively in all part systems, however, the

simultaneous usage of high-accuracy control and high-speed machining mode (including High-speed high-accuracy

control I/II/III) are available only in part systems which are limited by the parameter "#8040 High-SpeedAcc". While

high-accuracy control and high-speed machining mode are available simultaneously in a part system where this pa-

rameter is set to "1", a program error (P129) will occur in those where the parameter is set to "0" when commanded.

Also, for part systems where "#8040 High-SpeedAcc" is set to "0", "#1148 I_G611" must be set to "0" (Cutting mode

when the power is turned ON) or "1" (High-accuracy control mode when the power is turned ON). If the parameter

"#1148 I_G611" is set to a value other than "0" and "1", the parameter is regarded as being set to "1".

Note that up to two part systems can be set to use high-accuracy control and high-speed machining mode simulta-

neously. If three or more part systems are set as such, an MCP alarm (Y51 0032) will occur.

If the parameter "#8040 High-SpeedAcc" is set to "0" for all part systems, only the first part system is handled as the

one with the parameter set to "1".

Function and purpose

G28 X0 Y0; G08 P1; G05 P2; G91 G01 F3000; : : : : G05P0; G08 P0; M02;

G08P0 G08P1

G08P0

$1 $2

$3 $4

G05P0

G05P2

G05P0

G28 X0 Y0; G08 P1; : G08 P0; G05 P2; : G08 P1; : G08 P0; G05 P0; M02;

G08P0 G08P1

G08P0

G08P1

G05P0

G05P2

G28 X0 Y0; G05 P10000; G91 G01 F3000; X1.; : : : : : G05P0; M02;

G08P0 G08P1

G08P0

G05P0 G05P2

G05P0

G28 X0 Y0; G05 P10000; G91 G01 F3000; X1.; : : : : : G05P0; M02;

G08P0 G08P1

G05P0 G05P2

Up to 2 part systems can be set to "1"

High-speed high-accuracy enabled part system = 1

High-speed high-accuracy enabled part system = 1

High-speed high-accuracy enabled part system = 0

High-speed high-accuracy

High-speed high-accuracy

High-speed high-accuracy enabled part system = 0

(Note) It is limited also in G61.1 command.

Alarm

Alarm

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

715 IB-1501278-Q

Although some MTB specifications support the high-accuracy acceleration/deceleration time constant expansion

specifications, only one part system can be used. Multi-part systems cannot be used even if the high-accuracy ac-

celeration/deceleration time constant expansion specifications are valid. For multi-part systems, "#1207 G1btL"

must be set to a value within the setting range that is applicable when there are no high-accuracy acceleration/de-

celeration time constant expansion specifications.

Refer to the following chapters for details of each high-accuracy control.

"17.2 High-accuracy Control"

"17.3 High-speed High-accuracy Control"

(1) When "#1148 I_G611" (Initial hi-precis) is enabled, the initial modal state after power ON will be the high-accu- racy control mode. Refer to "17.2.5 Initial High-accuracy Control" for details. In this case, the high-accuracy control mode is enabled if the multi-part system simultaneous high-accuracy specification is provided. Otherwise, the 1st part system enters the high-accuracy control mode, but the 2nd part system enters the cutting mode.

(2) If you use the high-accuracy acceleration/deceleration time constant expansion function together with the multi- part system simultaneous high-accuracy function, an MCP alarm (Y51 0020) will occur. Make sure to disable the high-accuracy acceleration/deceleration time constant extension function when you use the multi-part system simultaneous high-accuracy function.

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

716IB-1501278-Q

17.3 High-speed High-accuracy Control

It depends on the MTB specifications whether the modal state at power ON is high-speed high-accuracy control I,

II, III, or OFF. It also depends on the specifications whether to hold the modal state at reset.

Refer to the specifications of your machine.

In the main text, the axis address refers to the address of an axis that exits on the machine.

It corresponds to the address designated in the parameters "#1013 axname" and "#1014 incax".

These parameter settings depend on the MTB specifications.

17.3.1 High-speed High-accuracy Control I, II, III ; G05.1 Q1/Q0, G05 P10000/P0, G05 P20000/P0

This function runs a machining program that approximates a freely curved surface with fine segments at high speed

and with high-level accuracy. This is effective in increasing the speed of machining dies of a freely curved surface.

This function is useful for machining which needs to make an edge at a corner or reduce an error from an inner route

of curved shape.

A higher fine segment processing capability leads to a faster cutting speed, resulting in a shorter cycle time and a

better machining surface quality. kBPM, the unit for the fine segment processing capability, is an abbreviation of "kilo

blocks per minute" and refers to the number of machining program blocks that can be processed per minute.

The tables (1) to (3) describe the fine segment processing capability while the high-speed high-accuracy control is

enabled. The units of values in the tables is kBPM (kilo Blocks Per Minute), which expresses the number of machin-

ing program blocks which can be processed per minute.

The table (1) shows the maximum values of the fine segment processing capability. The fine segment processing

capability may decelerate in the conditions with high processing load as follows:

Four or more axes are being commanded at the same time. A macro command or a variable command is included in a command. A compensation function such as the tool radius compensation is used. High-speed processing is selected for the processing cycle of the control unit (the parameter "#1468 ctrl period"

is set to "-1"). A large number of axes are installed.

Fine segment processing capability may be lowered when the acceleration rate and speed are set to such values

that the time duration to reach the specified speed exceeds the maximum value (5000 ms) of acceleration/deceler-

ation time constant before interpolation (parameter "#1207 G1btL").

When the tolerance control is enabled (#12066 = "1"), the maximum value of the fine segment processing capability

is 100 kBPM for M800 Series and 67.5 kBPM for M80 Series.

(1) High-speed high-accuracy control I

Function and purpose

Fine segment processing capability

Number of part systems/ number of axes

Number of part sys- tems

M850 / M830 M80

(#8040=1) Type A Type B

1-part system 1 part system 67.5 33.7 33.7

2-part system 1 part system 67.5 33.7 33.7

2 part systems 33.7 16.8 16.8

4-part system 1 part system - (*1) - (*1) - (*1)

Up to 16 axes 2 part systems - (*1) - (*1) - (*1)

5 part systems or more or 17 axes or more

1 part system - (*1) - (*1) - (*1)

2 part systems - (*1) - (*1) - (*1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

717 IB-1501278-Q

(2) High-speed high-accuracy control II

(3) High-speed high-accuracy control III

(*1) This system cannot be used for this model.

(*2) There are no corresponding high-speed high-accuracy control specifications.

(*3) 100 kBPM for a time constant expansion system or while tool center point control, inclined surface machining,

or workpiece installation error compensation is in process.

(*4) 67.5 kBPM for a time constant expansion system or while tool center point control, inclined surface machining,

or workpiece installation error compensation is in process.

(The time constant expansion system can be used in a system configured with a single part system when the

specification is valid.)

(*5) When the fairing is valid (When the parameter "#8033" is set to "1"), and the fairing is executed successively,

depending on machining programs, the performance of fine segment execution may decelerate more than the

value described in the above table. In the network connection, the value described in the above table may not

be guaranteed depending on the state.

High-speed high-accuracy control I, II, III can be used simultaneously in up to two part systems.

High-speed high-accuracy control I, II, III can be used in a part system where "1" is set for the parameter "#8040

High-SpeedAcc". A program error occurs (P129) if this is commanded for a part system where "0" is set for the pa-

rameter.

If the parameter "#8040 High-SpeedAcc" is set to "0" for all part systems, only the first part system is handled as the

one with the parameter set to "1". Also, a part system where the parameter "#1148 Initial hi-precis" is set to "2" to

"4" is handled as the one with the parameter "#8040 High-SpeedAcc" set to "1".

The parameter "#8040 High-SpeedAcc" can be set to "1" for up to two part systems. If 3 or more part systems are

set to "1", an MCP alarm (Y51 0032) occurs. When "1" is set for two part systems, the fine segment processing ca-

pability decreases compared to when "1" is set only for one part system.

Number of part systems/ number of axes

Number of part sys- tems

M850 / M830 M80

(#8040=1) Type A Type B

1-part system 1 part system 168 (*3)(*5) 67.5 67.5

2-part system 1 part system 100 67.5 67.5

2 part systems 67.5 33.7 33.7

4-part system 1 part system - (*1) - (*1) - (*1)

Up to 16 axes 2 part systems - (*1) - (*1) - (*1)

5 part systems or more or 17 axes or more

1 part system - (*1) - (*1) - (*1)

2 part systems - (*1) - (*1) - (*1)

Number of part systems/ number of axes

Number of part sys- tems

M850 / M830 M80

(#8040=1) Type A Type B

1-part system 1 part system 270 (*3)(*5) 135 (*4) - (*2)

2-part system 1 part system 168 135 - (*2)

2 part systems 100 67.5 - (*2)

4-part system 1 part system - (*1) - (*1) - (*2)

Up to 16 axes 2 part systems - (*1) - (*1) - (*2)

5 part systems or more or 17 axes or more

1 part system - (*1) - (*1) - (*2)

2 part systems - (*1) - (*1) - (*2)

High-speed high-accuracy control simultaneously for two part systems

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

718IB-1501278-Q

(1) The high-speed high-accuracy mode II and III cannot be used at the same time.

(2) These commands are valid regardless of the parameter "#1267 ext03/bit0" setting if the specifications are avail- able.

(3) High-speed high-accuracy control III can also be used by setting a parameter instead of a G code. If the parameter "#8131 High speed/accu 3" is set to "1", the high-speed high-accuracy control II command can be handled as the III command. This also enables the high-speed high-accuracy control III mode in the machin- ing program using "G05P10000". Likewise, the G05P2 command issued during a high-accuracy control mode can be handled as the high-speed high-accuracy control III command. Furthermore, by setting "#1148 Initial hi-precis" to "4", the high-speed high-accuracy control III mode can be set as the initial modal state after power ON.

(1) The high-speed high-accuracy control I / II / III can be used during tape, MDI, SD card or memory modes.

(2) The override, maximum cutting speed clamp, single block operation, dry run, handle interrupt and graphic trace are valid even during the high-speed high-accuracy control I / II / III modal.

(3) The machining speed may drop depending on the number of characters in one block.

(4) The high-speed high-accuracy control I / II / III function automatically turns the high-accuracy control mode ON. For high-accuracy control function, refer to "17.3 High-speed High-accuracy Control".

(5) Turn the tool radius compensation command ON and OFF during the high-speed high-accuracy control I/II/III mode. If the high-speed high-accuracy control I/II/III mode is turned OFF without turning the tool radius compensation OFF, a program error (P34) will occur.

(6) Turn the high-speed high-accuracy control I / II / III mode OFF before commanding data other than those that can be commanded.

(7) When using the high-speed high-accuracy control II / III mode, it is necessary to set the parameter "#1572 Cirorp" to eliminate the speed fluctuation at the seams between arc and straight line or arc and arc. This parameter, however, depends on the MTB specifications.

(8) Feedrate command F is clamped with the "#2110 Clamp (H-precision)" (Cutting feed clamp speed for high-ac- curacy control mode) set with parameter.

(9) Rapid traverse rate enables "#2109 Rapid(H-precision)" (Rapid traverse rate during high-accuracy control mode) set by the parameter.

(10) When the "#2109 Rapid(H-precision)" is set to "0", the movement follows "#2001 rapid" (rapid traverse rate) set by the parameter. Also, when "#2110 Clamp (H-precision)" is set to "0", the speed will be clamped with "#2002 clamp" (Cutting clamp speed) set with parameter.

Command format

G05.1 Q1 ; High-speed high-accuracy control I ON

G05.1 Q0 ; High-speed high-accuracy control I OFF

G05 P10000 ; High-speed high-accuracy control II ON

G05 P20000 ; High-speed high-accuracy control III ON

G05 P0 ; High-speed high-accuracy control II/III OFF

Detailed description

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

719 IB-1501278-Q

To enable each high-speed high-accuracy control function, it is necessary to satisfy the following conditions respec-

tively:

(1) The specification of each function is valid. (*1)

(2) Each function is in a valid modal state. (Refer to "Relationship with other functions".)

(3) Each function is enabled by one of the following procedures:

Command each in the machining program. (*2) Set each for the parameter "#1148 Initial hi-precis". (The modal at power ON corresponds to each high-

speed high-accuracy control function.)

(*1) The following conditions are additionally required to enable high-speed high-accuracy control III.

The time constant expansion system is invalid. The SSS control specifications are valid, and the parameter "#8090 SSS ON" is set to "1".

If high-speed high-accuracy control III is commanded when the SSS control mode is set to OFF, high-speed

high-accuracy control II is enabled. (However, this is available only when the conditions defined in "Relationship

with other functions" are satisfied.)

(*2) High-speed high-accuracy control III is also enabled by the following commands. (However, this is available only

when the conditions defined in "Relationship with other functions" are satisfied.)

While the parameter "#8131 High speed/accu 3" is set to "1", command "G05 P10000" (high-speed high-accu-

racy control II) is issued from the machining program. Alternatively, command "G05 P2" (high-speed machining

mode II) is issued during high-accuracy control.

(*3) When the parameter "#1148 Initial hi-precis" is set to "3" (high-speed high-accuracy control II) and the param-

eter "#8131 High speed/accu 3" to "1" ("High speed/accu 3" is valid), the initial modal state after power ON

changes to the high-speed high-accuracy control II mode.

(*4) However, when the parameter "#1074 Initial sync feed" is set to "1", the modal state changes to the high-speed

high-accuracy control II mode.

Enabling conditions

#1148 setting

High-speed high-accuracy control I 2

High-speed high-accuracy control II 3 (*3)

High-speed high-accuracy control III 4 (*4)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

720IB-1501278-Q

(1) Relationship between the high-speed high-accuracy control I and the other G code functions Column A: Operation when the additional function is commanded while the high-speed high-accuracy control I is enabled Column B: Operation when the high-speed high-accuracy control I (G05.1Q1) is commanded while the addition- al function is enabled : The high-speed high-accuracy control I and the additional function are both enabled : The high-speed high-accuracy control I is temporarily canceled, while the additional function is enabled : Alarm generation (the text in parentheses refers to the number of the program error to be generated.) -: No combination : Others

Relationship with other functions

Relationship between the high-speed high-accuracy control I and other functions

Group G code Function name A B

0 G04 Dwell -

G05P0 High-speed machining mode II OFF High-speed high-accuracy control II OFF High-speed high-accuracy control III OFF

(P34) (*2)

G05P2 High-speed machining mode II ON (*4) (*2)

G05P10000 High-speed high-accuracy control II ON (P34) (P34)

G05P20000 High-speed high-accuracy control III ON (P34) (P34)

G05.1Q0 High-speed high-accuracy control I OFF Spline interpolation OFF

(*1) (*2)

G05.1Q1 High-speed high-accuracy control I ON (*3) (*3)

G05.1Q2 Spline interpolation ON (P34) (*10) (P34) (*10)

G07 Hypothetical axis interpolation (*10) (*10)

G08P0 High-accuracy control OFF (*3) (*2)

G08P1 High-accuracy control ON (*3) (*2)

G09 Exact stop check -

G10 I_J_ G10 K_

Parameter coordinate rotation input (*10) - (*10)

G10 L2 Compensation data input by program -

G10 L70 G10 L50

Parameter input by program -

G27 Reference position check -

G28 Reference position return -

G29 Start position return -

G30 2nd to 4th reference position return -

G30.1- G30.6

Tool exchange position return -

G31 Skip Multiple-step skip 2

-

G31.1- G31.3

Multi-step skip -

G34-G36

G37.1 Special fixed cycle -

G37 Automatic tool length measurement -

G38 Tool radius compensation vector designation -

G39 Tool radius compensation corner circular com- mand

-

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

721 IB-1501278-Q

0 G50.2/G250 Tool spindle synchronization IB (spindle-spin- dle, polygon)/IIC (spindle-NC Axis, polygon) cancel

G51.2/G251 Tool spindle synchronization IB (spindle-spin- dle, polygon) ON

Tool spindle Synchronization IC (spindle-NC Axis, polygon) ON

G52 Local coordinate system setting -

G53 Machine coordinate system selection -

G60 Unidirectional positioning -

G65 User macro simple call (*5) (*6)

G92 Coordinate system setting -

G92.1 Workpiece coordinate system preset (*10) - (*10)

G113.1 Spindle synchronization OFF

G114.1 Spindle synchronization ON

G114.2 Tool spindle synchronization IA (spindle-spin- dle, polygon mode)

G114.3 Tool spindle synchronization II (hobbing)

G122 Sub part system control I (P652) (*10) (*7)(*10)

G144 Sub part system control II (P652) (*10) (*7)(*10)

1 G00 Positioning

G01 Linear interpolation

G02 G03

Circular interpolation When SSS is enabled: When SSS is disabled:

When SSS is enabled: When SSS is disabled:

G02.1 G03.1

Spiral interpolation (*10) (*10)

G02.3 G03.3

Exponential interpolation (*10) (*10)

G02.4 G03.4

3-dimensional circular interpolation (*10) (*10)

G06.2 NURBS interpolation (P34) (*10) (P34) (*10)

G33 Thread cutting

2 G17-G19 Plane selection

3 G90 Absolute command

G91 Incremental command

4 G22 Stroke check before travel ON

G23 Stroke check before travel OFF

5 G93 Inverse time feed (P125) (*10) (P125) (*10)

G94 Asynchronous feed (feed per minute)

G95 Synchronous feed (feed per revolution)

6 G20 Inch command

G21 Metric command

7 G40 Tool radius compensation cancel

G41 G42

Tool radius compensation (P29)

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

722IB-1501278-Q

(*1) Disables the high-speed high-accuracy control I.

(*2) Enables the high-speed high-accuracy control I.

(*3) High-speed high-accuracy control I continues.

(*4) Enables the high-speed machining mode II.

(*5) Enables the high-speed high-accuracy control I in a macro program.

8 G43

G44 Tool length offset (P29)

G43.1 Tool length compensation along the tool axis (*10) (P29) (*10)

G43.4 G43.5

Tool center point control (*10) (P29) (*10)

G49 Tool length offset cancel

9 G80 Fixed cycle cancel

Group 9 Other than G80

Fixed cycle

10 G98 Fixed cycle initial level return

G99 Fixed cycle R point return

11 G50 Scaling cancel

G51 Scaling ON (P34)

12 G54-G59 G54.1

Workpiece coordinate system selection

13 G61 Exact stop check mode (*8) (*9)

G61.1 High-accuracy control (*3) (*2)

G61.2 High-accuracy spline (P29) (*10) (P29) (*10)

G61.4 Spline interpolation 2 (*10) (*10)

G62 Automatic corner override (*3) (*2)

G63 Tapping mode (*3) (*2)

G64 Cutting mode (*3) (*2)

14 G66 G66.1

User macro modal call (*5) (*6)

G67 User macro modal call cancel

15 G40.1 Normal line control cancel

G41.1 G42.1

Normal line control (P29) (*10) (P29) (*10)

16 G68 Coordinate rotation by program ON

3-dimensional coordinate conversion ON

G68.2 G68.3

Inclined surface machining command (*10) (*10)

G69 Coordinate rotation cancel

17 G96 Constant surface speed control ON

G97 Constant surface speed control OFF

18 G15 Polar coordinate command OFF

G16 Polar coordinate command ON (P34) (P34)

19 G50.1 Mirror image OFF

G51.1 Mirror image ON (P34)

21 G07.1 Cylindrical interpolation (P485)

G12.1 Polar coordinate interpolation ON (P485)

G13.1 Polar coordinate interpolation OFF

27 G54.4P0 Workpiece installation error compensation can- cel

G54.4 P1-P7

Workpiece installation error compensation (*10) (*10)

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

723 IB-1501278-Q

(*6) Enables the high-speed high-accuracy control I if G05.1Q1 is commanded in a macro program.

(*7) Enables the high-speed high-accuracy control I if G05.1Q1 is commanded in a sub part system.

(*8) Enables the exact stop check mode.

(*9) Exact stop check mode continues.

(*10) In M80 Type B, the following program errors occur depending on the G codes.

G code Program error G code Program error

G05.1Q2, G92.1, G122, G61.2, G61.4

P39 G10 I_J_/G10 K_ P260

G06.2 P550

G144, G54.4 P1-P7 P34 G93 P124

G07 P80 G41.1, G42.1 P900

G02.1, G03.1 P73 G43.1 P930

G02.3, G03.3 P611 G43.4, G43.5 P940

G02.4, G03.4 P76 G68.2, G68.3 P950

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

724IB-1501278-Q

(2) Relationship between the high-speed high-accuracy control I and functions other than G codes Column A: Operation when the additional function is commanded while the high-speed high-accuracy control I is enabled Column B: Operation when the high-speed high-accuracy control I (G05.1Q1) is commanded while the addition- al function is enabled : The high-speed high-accuracy control I and the additional function are both enabled : The high-speed high-accuracy control I is temporarily canceled, while the additional function is enabled : Alarm generation (the text in parentheses refers to the number of the program error to be generated.) -: No combination : Others

(*1) Enables the high-speed high-accuracy control I in a subprogram.

(*2) Enables the high-speed high-accuracy control I if G05.1Q1 is commanded in a subprogram.

(*3) Enables timing synchronization.

(*4) Enables the high-speed high-accuracy control I in a MTB program.

(*5) Enables the high-speed high-accuracy control I if G05.1Q1 is commanded in a MTB program.

(*6) Enables the high-speed high-accuracy control I in an interrupt program.

(*7) Enables the high-speed high-accuracy control I if G05.1Q1 is commanded in an interrupt program.

(*8) Disables the high-speed high-accuracy control I in a figure rotation subprogram.

(*9) The high-speed high-accuracy control I is disabled even if G05.1Q1 is commanded in a figure rotation sub-

program.

(*10) In M80 Type B, the following program error occurs depending on the function type.

Function name A B

SSS ON -

Mirror image by parameter setting ON - (P34)

Mirror image by external input - (P34)

Coordinate rotation by parameter -

Subprogram call (M98) (*1) (*2)

Figure rotation (M98 I_J_K_) (*8)(*10) (*9)(*10)

Timing synchronization between part systems (*3) -

MTB macro (*4) (*5)

Macro interruption (*6) (*7)

PLC interruption (*6) (*7)

Corner chamfering/Corner R -

Linear angle command -

Geometric command -

Chopping

Optional block skip -

Function Program error

Figure rotation (M98 I_J_K_) P250

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

725 IB-1501278-Q

(1) Relationship between the high-speed high-accuracy control II and G code functions Column A: Operation when the additional function is commanded while the high-speed high-accuracy control II is enabled Column B: Operation when the high-speed high-accuracy control II (G05P10000) is commanded while the ad- ditional function is enabled : The high-speed high-accuracy control II and the additional function are both enabled : The high-speed high-accuracy control II is temporarily canceled, while the additional function is enabled : Alarm generation (the text in parentheses refers to the number of the program error to be generated.) -: No combination : Others

Relationship between the high-speed high-accuracy control II and other functions

Group G code Function name A B

0 G04 Dwell -

G05P0 High-speed machining mode II OFF High-speed high-accuracy control II OFF High-speed high-accuracy control III OFF

(*1) (*2)

G05P2 High-speed machining mode II ON (*4) (*2)

G05P10000 High-speed high-accuracy control II ON (*3) (*3)

G05P20000 High-speed high-accuracy control III ON (*2) (*2)

G05.1Q0 High-speed high-accuracy control I OFF Spline interpolation OFF

(*3) (*2)

G05.1Q1 High-speed high-accuracy control I ON (P34) (P34)

G05.1Q2 Spline interpolation ON (*8) (*8)

G07 Hypothetical axis interpolation (*8) (*8)

G08P0 High-accuracy control OFF (*3) (*2)

G08P1 High-accuracy control ON (*3) (*2)

G09 Exact stop check -

G10 I_J_ G10 K_

Parameter coordinate rotation input (*8) - (*8)

G10 L2 Compensation data input by program -

G10 L70 G10 L50

Parameter input by program -

G27 Reference position check -

G28 Reference position return -

G29 Start position return -

G30 2nd to 4th reference position return -

G30.1- G30.6

Tool exchange position return -

G31 Skip Multiple-step skip 2

-

G31.1- G31.3

Multi-step skip -

G34-G36

G37.1 Special fixed cycle -

G37 Automatic tool length measurement -

G38 Tool radius compensation vector designa- tion

-

G39 Tool radius compensation corner circular command

-

G50.2/G250 Tool spindle synchronization IB (spindle- spindle, polygon)/IIC (spindle-NC Axis, polygon) cancel

G51.2/G251 Tool spindle synchronization IB (spindle- spindle, polygon) ON

Tool spindle Synchronization IC (spindle- NC Axis, polygon) ON

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

726IB-1501278-Q

0 G52 Local coordinate system setting -

G53 Machine coordinate system selection -

G60 Unidirectional positioning -

G65 User macro simple call (*5) (*6)

G92 Coordinate system setting -

G92.1 Workpiece coordinate system preset (*8) - (*8)

G113.1 Spindle synchronization OFF

G114.1 Spindle synchronization ON

G114.2 Tool spindle synchronization IA (spindle- spindle, polygon mode)

G114.3 Tool spindle synchronization II (hobbing)

G122 Sub part system control I (P652) (*8) (*7)(*8)

G144 Sub part system control II (P652) (*8) (*7)(*8)

1 G00 Positioning

G01 Linear interpolation

G02 G03

Circular interpolation

G02.1 G03.1

Spiral interpolation (*8) (*8)

G02.3 G03.3

Exponential interpolation (*8) (*8)

G02.4 G03.4

3-dimensional circular interpolation (*8) (*8)

G06.2 NURBS interpolation (*8) (*8)

G33 Thread cutting

2 G17-G19 Plane selection

3 G90 Absolute command

G91 Incremental command

4 G22 Stroke check before travel ON

G23 Stroke check before travel OFF

5 G93 Inverse time feed (*8) (*8)

G94 Asynchronous feed (feed per minute)

G95 Synchronous feed (feed per revolution)

6 G20 Inch command

G21 Metric command

7 G40 Tool radius compensation cancel

G41 G42

Tool radius compensation

8 G43 G44

Tool length offset

G43.1 Tool length compensation along the tool axis

(*8) (*8)

G43.4 G43.5

Tool center point control (*8) (*8)

G49 Tool length offset cancel

9 G80 Fixed cycle cancel

Group 9 Other than G80

Fixed cycle

10 G98 Fixed cycle initial level return

G99 Fixed cycle R point return

11 G50 Scaling cancel

G51 Scaling ON

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

727 IB-1501278-Q

(*1) Disables the high-speed high-accuracy control II.

(*2) Enables the high-speed high-accuracy control II.

(*3) High-speed high-accuracy control II continues.

(*4) Enables the high-speed machining mode II.

(*5) Enables the high-speed high-accuracy control II in a macro program.

(*6) Enables the high-speed high-accuracy control II if G05P10000 is commanded in a macro program.

(*7) Enables the high-speed high-accuracy control II if G05P10000 is commanded in a sub part system.

(*8) In M80 Type B, the following program errors occur depending on the G codes.

12 G54-G59 Workpiece coordinate system selection

G54.1

13 G61 Exact stop check mode

G61.1 High-accuracy control (*3) (*2)

G61.2 High-accuracy spline (P29) (*8) (P29) (*8)

G61.4 Spline interpolation 2 (*8) (*8)

G62 Automatic corner override

G63 Tapping mode

G64 Cutting mode (*3) (*2)

14 G66 G66.1

User macro modal call

G67 User macro modal call cancel

15 G40.1 Normal line control cancel

G41.1 G42.1

Normal line control (P29) (*8) (P29) (*8)

16 G68 Coordinate rotation by program ON

3-dimensional coordinate conversion ON (P922) (P921)

G68.2 G68.3

Inclined surface machining command (*8) (*8)

G69 Coordinate rotation cancel

17 G96 Constant surface speed control ON

G97 Constant surface speed control OFF

18 G15 Polar coordinate command OFF

G16 Polar coordinate command ON

19 G50.1 Mirror image OFF

G51.1 Mirror image ON

21 G07.1 Cylindrical interpolation (P34) (P481)

G12.1 Polar coordinate interpolation ON (P34) (P481)

G13.1 Polar coordinate interpolation OFF

27 G54.4P0 Workpiece installation error compensation cancel

G54.4 P1-P7

Workpiece installation error compensation (*8) (*8)

G code Program error G code Program error

G05.1Q2, G92.1, G122, G61.2, G61.4

P39 G10 I_J_/G10 K_ P260

G06.2 P550

G144, G54.4 P1-P7 P34 G93 P124

G07 P80 G41.1, G42.1 P900

G02.1, G03.1 P73 G43.1 P930

G02.3, G03.3 P611 G43.4, G43.5 P940

G02.4, G03.4 P76 G68.2, G68.3 P950

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

728IB-1501278-Q

(2) Relationship between the high-speed high-accuracy control II and functions other than G codes Column A: Operation when the additional function is commanded while the high-speed high-accuracy control II is enabled Column B: Operation when the high-speed high-accuracy control II (G05P10000) is commanded while the ad- ditional function is enabled : The high-speed high-accuracy control II and the additional function are both enabled : The high-speed high-accuracy control II is temporarily canceled, while the additional function is enabled : Alarm generation (the text in parentheses refers to the number of the program error to be generated.) -: No combination : Others

(*1) Enables the high-speed high-accuracy control II in a subprogram.

(*2) Enables the high-speed high-accuracy control II if G05P10000 is commanded in a subprogram.

(*3) Enables timing synchronization.

(*4) Enables the high-speed high-accuracy control II in a MTB program.

(*5) Enables the high-speed high-accuracy control II if G05P10000 is commanded in a MTB program.

(*6) Enables the high-speed high-accuracy control II in an interrupt program.

(*7) Enables the high-speed high-accuracy control II if G05P10000 is commanded in an interrupt program.

(*8) Disables the high-speed high-accuracy control II in a figure rotation subprogram.

(*9) The high-speed high-accuracy control II is disabled even if G05P10000 is commanded in a figure rotation

subprogram.

(*10) In M80 Type B, the following program error occurs depending on the function type.

Function name A B

SSS ON -

Mirror image by parameter setting ON -

Mirror image by external input -

Coordinate rotation by parameter -

Subprogram call (M98) (*1) (*2)

Figure rotation (M98 I_J_K_) (*8)(*10) (*9)(*10)

Timing synchronization between part systems (*3) -

MTB macro (*4) (*5)

Macro interruption (*6) (*7)

PLC interruption (*6) (*7)

Corner chamfering/Corner R -

Linear angle command -

Geometric command -

Chopping

Fairing/smooth fairing ON

Optional block skip -

Function Program error

Figure rotation (M98 I_J_K_) P250

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

729 IB-1501278-Q

(1) Relationship between the high-speed high-accuracy control III and G code functions Column A: Operation when the additional function is commanded while the high-speed high-accuracy control III is enabled Column B: Operation when the high-speed high-accuracy control III (G05P20000) is commanded while the ad- ditional function is enabled : The high-speed high-accuracy control III and the additional function are both enabled : The high-speed high-accuracy control III is temporarily canceled, while the additional function is enabled : Alarm generation (the text in parentheses refers to the number of the program error to be generated.) -: No combination : Others

Relationship between the high-speed high-accuracy control III and other functions

Group G code Function name A B

0 G04 Dwell -

G05P0 High-speed machining mode II OFF High-speed high-accuracy control II OFF High-speed high-accuracy control III OFF

(*1) (*2)

G05P2 High-speed machining mode II ON (*8) (*2)

G05P10000 High-speed high-accuracy control II ON (*3) (*2)

G05P20000 High-speed high-accuracy control III ON (*3) (*3)

G05.1Q0 High-speed high-accuracy control I OFF Spline interpolation OFF

(*3) (*2)

G05.1Q1 High-speed high-accuracy control I ON (P34) (P34)

G05.1Q2 Spline interpolation ON (*4)

G07 Hypothetical axis interpolation

G08P0 High-accuracy control OFF (*4) (*2)

G08P1 High-accuracy control ON (*4) (*2)

G09 Exact stop check -

G10 I_J_ G10 K_

Parameter coordinate rotation input -

G10 L2 Compensation data input by program -

G10 L70 G10 L50

Parameter input by program -

G27 Reference position check -

G28 Reference position return -

G29 Start position return -

G30 2nd to 4th reference position return -

G30.1- G30.6

Tool exchange position return -

G31 Skip Multiple-step skip 2

-

G31.1- G31.3

Multi-step skip -

G34-G36

G37.1 Special fixed cycle -

G37 Automatic tool length measurement -

G38 Tool radius compensation vector designation -

G39 Tool radius compensation corner circular com- mand

-

G50.2/G250 Tool spindle synchronization IB (spindle-spindle, polygon)/IIC (spindle-NC Axis, polygon) cancel

G51.2/G251 Tool spindle synchronization IB (spindle-spindle, polygon) ON

Tool spindle Synchronization IC (spindle-NC Ax- is, polygon) ON

G52 Local coordinate system setting -

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

730IB-1501278-Q

0 G53 Machine coordinate system selection -

G60 Unidirectional positioning -

G65 User macro simple call (*5) (*6)

G92 Coordinate system setting -

G92.1 Workpiece coordinate system preset -

G113.1 Spindle synchronization OFF

G114.1 Spindle synchronization ON

G114.2 Tool spindle synchronization IA (spindle-spindle, polygon mode)

G114.3 Tool spindle synchronization II (hobbing)

G122 Sub part system control I (P652) (*7)

G144 Sub part system control II (P652) (*7)

1 G00 Positioning

G01 Linear interpolation

G02 G03

Circular interpolation

G02.1 G03.1

Spiral interpolation (*4)

G02.3 G03.3

Exponential interpolation (P34)

G02.4 G03.4

3-dimensional circular interpolation (P34)

G06.2 NURBS interpolation -

G33 Thread cutting (*4)

2 G17-G19 Plane selection

3 G90 Absolute command

G91 Incremental command

4 G22 Stroke check before travel ON (*4)

G23 Stroke check before travel OFF

5 G93 Inverse time feed (*4)

G94 Asynchronous feed (feed per minute)

G95 Synchronous feed (feed per revolution) (*4)

6 G20 Inch command

G21 Metric command

7 G40 Tool radius compensation cancel (*9)

G41 G42

Tool radius compensation (*4)

8 G43

G44

Tool length offset

G43.1 Tool length compensation along the tool axis (*4)

G43.4 G43.5

Tool center point control (*4)

G49 Tool length offset cancel

9 G80 Fixed cycle cancel

Group 9 Other than G80

Fixed cycle (*4)

10 G98 Fixed cycle initial level return

G99 Fixed cycle R point return

11 G50 Scaling cancel

G51 Scaling ON (*4)

12 G54-G59 Workpiece coordinate system selection

G54.1

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

731 IB-1501278-Q

(*1) Disables the high-speed high-accuracy control III.

(*2) Enables the high-speed high-accuracy control III.

(*3) High-speed high-accuracy control III continues.

(*4) Enables the high-speed high-accuracy control II.

(*5) Enables the high-speed high-accuracy control III in a macro program.

(*6) Enables the high-speed high-accuracy control III if G05P20000 is commanded in a macro program.

(*7) Enables the high-speed high-accuracy control III if G05P20000 is commanded in a sub part system.

(*8) Enables the high-speed machining mode II.

(*9) When the parameter "#1271 ext07/bit4" is set to "1", the compensation vector is retained until positioning is

commanded even after the cancel command (G40) has been issued for the tool radius compensation. This

condition enables the high-speed high-accuracy control II. When the compensation vector is set to "0" in

accordance with the positioning command, the high-speed high-accuracy control III is enabled.

13 G61 Exact stop check mode (*4) (*4)

G61.1 High-accuracy control (*4) (*2)

G61.2 High-accuracy spline (P29) (P29)

G61.4 Spline interpolation 2 (*4) (*4)

G62 Automatic corner override (*4) (*4)

G63 Tapping mode (*4) (*4)

G64 Cutting mode (*4) (*2)

14 G66 G66.1

User macro modal call (*4)

G67 User macro modal call cancel

15 G40.1 Normal line control cancel (P29)

G41.1 G42.1

Normal line control (P29) (*4)

16 G68 Coordinate rotation by program ON (*4) (*4)

3-dimensional coordinate conversion ON (P922) (P921)

G68.2 G68.3

Inclined surface machining command (*4)

G69 Coordinate rotation cancel

17 G96 Constant surface speed control ON

G97 Constant surface speed control OFF

18 G15 Polar coordinate command OFF

G16 Polar coordinate command ON (*4)

19 G50.1 Mirror image OFF

G51.1 Mirror image ON (*4)

21 G07.1 Cylindrical interpolation (P34) (P481)

G12.1 Polar coordinate interpolation ON (P34) (P481)

G13.1 Polar coordinate interpolation OFF

27 G54.4P0 Workpiece installation error compensation can- cel

G54.4P1-P7 Workpiece installation error compensation (*4)

Group G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

732IB-1501278-Q

(2) Relationship between the high-speed high-accuracy control III and functions other than G codes Column A: Operation when the additional function is commanded while the high-speed high-accuracy control III is enabled Column B: Operation when the high-speed high-accuracy control III (G05P20000) is commanded while the ad- ditional function is enabled : The high-speed high-accuracy control III and the additional function are both enabled : The high-speed high-accuracy control III is temporarily canceled, while the additional function is enabled : Alarm generation (the text in parentheses refers to the number of the program error to be generated.) -: No combination : Others

(*1) Enables the high-speed high-accuracy control II.

(*2) Enables the high-speed high-accuracy control III in a subprogram.

(*3) Enables the high-speed high-accuracy control III if G05P20000 is commanded in a subprogram.

(*4) Enables timing synchronization.

(*5) Enables the high-speed high-accuracy control III in a MTB program.

(*6) Enables the high-speed high-accuracy control III if G05P20000 is commanded in a MTB program.

(*7) Enables the high-speed high-accuracy control III in an interrupt program.

(*8) Enables the high-speed high-accuracy control III if G05P20000 is commanded in an interrupt program.

(*9) Disables the high-speed high-accuracy control III in a figure rotation subprogram.

(*10) The high-speed high-accuracy control III is disabled even if G05P20000 is commanded in a figure rotation

subprogram.

Function name A B

SSS ON -

SSS OFF - (*1)

Mirror image by parameter setting ON -

Mirror image by external input -

Coordinate rotation by parameter -

Subprogram call (M98) (*2) (*3)

Figure rotation (M98 I_J_K_) (*9) (*10)

Timing synchronization between part systems (*4) -

MTB macro (*5) (*6)

Macro interruption (*7) (*8)

PLC interruption (*7) (*8)

Corner chamfering/Corner R -

Linear angle command -

Geometric command -

Chopping

Fairing/smooth fairing ON (*1) (*1)

Optional block skip (*1) -

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

733 IB-1501278-Q

17.3.2 Fairing

This function is an additional function when the high-speed high-accuracy control II or III mode is ON

If there is a protrusion in a path (zigzagging path) in a machining program generated with a CAM, etc., this function

can be used to eliminate the protruding path smaller than the setting value so that the protruding path is smoothly

connected with the previous and the next paths.

This function is valid only for continuous linear commands (G01).

If there is any protruding path after fairing, fairing is repeated.

Function and purpose

Related parameter Contents

#8033 Fairing ON 0: Fairing invalid 1: Execute fairing for the protruding block. 2: Smooth fairing valid

#8029 Fairing L Execute fairing for the shorter block than this setting value.

Before fairing After fairing

Path before/after fairing execution

Before fairing After first fairing After final fairing

Path in repetitive fairing executions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

734IB-1501278-Q

17.3.3 Smooth Fairing

This function is an additional function when the high-speed high-accuracy control II or III mode is ON

A path can be smoothen by compensating commanded positions of a machining program.

This function is useful when executing a fine segment program to machine smoothly at low speed or a rough ma-

chining program with long segment to machine smoothly.

This function is enabled while high-speed high-accuracy control II or III is ON or while high-accuracy control is ON

in high-speed machining mode II, and performs compensation on consecutive G01 command during this time.

The validity of this function depends on the MTB specifications. To use this function, the high-speed high-accuracy

control II or III specification, or the high-speed machining mode II and high-accuracy control specifications are re-

quired.

(1) High-speed high-accuracy control III functions as high-speed high-accuracy control II while smooth fairing is ON.

Faring and smooth faring differ as follows:

Function and purpose

Fairing Smooth fairing

Operation Eliminating blocks shorter than designated length

Compensating commanded positions across multiple blocks

Usage Eliminating minute steps to occur at fillet and other sections Eliminating noises on commanded paths

Smooth machining at low speed for a fine segment program Smooth machining for a rough machining

program

Note

G90 G00 X0.271 Y0.161; G01; N01 X0.319 Y0.249; N02 X0.415 Y0.220; N03 X0.475 Y0.299; N04 X0.566 Y0.256; N05 X0.638 Y0.325; N06 X0.720 Y0.268; N07 X0.803 Y0.325; N08 X0.875 Y0.256; N09 X0.965 Y0.299; N10 X1.026 Y0.220; N11 X1.122 Y0.249; N12 X1.169 Y0.161;

N01 N03

N11

N05 N09N07

N02 N04 N06 N08

N10 N12

Commanded position

Commanded position

Tool path Tool pathCommanded position

Compensated position

Commanded path

Smooth fairing OFF Smooth fairing ON

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

735 IB-1501278-Q

When a minute step exists on a commanded path, for instance, the path after compensation differs between fairing

and smooth fairing as follows:

Refer to "Relationship with other functions" for the relationship between smooth fairing and other functions.

To enable smooth fairing, it is necessary for the following conditions to be satisfied respectively:

(a) The smooth fairing specification is set to ON.

(b) One of the following modes is set to ON.

G05 P20000 (*1) G05 P10000 G05 P2 and the high-accuracy function (G61.1/G08P1 or G61.2) are used simultaneously.

(c) At least one of the following conditions is satisfied.

The parameter "#8033 Fairing ON" is set to "2". The G05 P20000, R1/G05 P10000, R1/G05 P2, or R1 command is issued.

(*1) This command functions as G05 P10000 while smooth fairing is ON.

Detailed description

Enabling conditions

G90 G00 X0 Y0;

G01;

N01 X0.100 Y0.000;

N02 X0.200 Y0.000;

N03 X0.300 Y0.000;

N04 X0.400 Y0.000;

N05 X0.500 Y0.000;

N06 X0.500 Y0.010;

N07 X0.600 Y0.010;

N08 X0.700 Y0.010;

N09 X0.800 Y0.010;

N10 X0.900 Y0.010;

N01 N02 N03 N04 N05 N06

N07 N08 N09 N10

Commanded position

Path after compensation

Eliminates blocks shorter than designated length.

Compensates commanded positions in blocks around a step.

Commanded path

Path after compensation by fairing

Path after compensation by smooth fairing

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

736IB-1501278-Q

Two methods are available to enable smooth fairing: "G05 Pp,Rr command" and parameter "#8033 Fairing ON" ((c)

of the enabling conditions).

Relationship between ",R" address and parameter "#8033 Fairing ON"

: Smooth fairing ON, : Fairing ON, X: Both OFF

(1) When the ",R" address is set to the G05 command, the operation shown in the table below is performed regard- less of the setting value of the parameter "#8033".

(2) The ",R" address is unmodal information. The ",R" address value designated by previous G05 command is not inherited to the next and subsequent G05 commands. Each time the G05 command is issued, the fairing function is switched as shown in the table above.

(3) To switch smooth fairing and fairing, insert the G05P0; command between them. If this switching is commanded without inserting the G05P0 command, a program error (P560) will occur.

Enabling smooth fairing

Parameter "#8033 Fairing ON"

0 1 2

Both OFF Fairing ON Smooth fairing ON

G05 P20000 G05 P10000 G05 P2 Command

No ,R

,R0

,R1

Smooth fairing ON G05 P20000, R1 G05 P10000, R1 G05 P2, R1

Smooth fairing is ON regardless of the set- ting value of the parameter "#8033".

G05 P20000, R0 G05 P10000, R0 G05 P2, R0

Both fairing and smooth fairing are OFF regardless of the setting value of the pa- rameter "#8033".

G05 P0,Rr (r=0,1) G05 P1,Rr (r=0,1)

Program error (P33)

Smooth fairing OFF G05 P20000,Rr (r=0,1) G05 P10000,Rr (r=0,1) G05 P2,Rr (r=0,1) G05 P1,Rr (r=0,1) G05 P0,Rr (r=0,1)

Program error (P39)

Machining program Operation

N01 G05 P10000, R1;

... In this period, the program runs with G05 P10000, R1.

N02 G05 P0; N03 G05 P10000;

The ",R" address of the N01 G05 command is not inherited.

... In this period, the program runs with G05 P10000 (without the ",R" ad- dress).

N04 G05 P0;

Machining program Operation

N01 G05 P10000, R1; Set the parameter "#8033" to "1".

... In this period, the program runs with smooth fairing.

N03 G05 P10000; Issuing this command switches to fairing, which causes an error.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

737 IB-1501278-Q

(4) To enable smooth fairing without setting the ",R" address to the G05 command, set the parameter "#8033 Fairing ON" to "2". The following operation is performed.

An operation example is as follows.

(In this figure, symbol indicates the compensated position, and symbol indicates the commanded position.)

(1) Smooth fairing smoothens the path by compensating the positions designated by successive G01 commands. This function recognizes the paths before and after each commanded position, and compensates commanded positions that cause a path to become unsmooth.

: Compensated position

: Commanded position

G05 P20000 G05 P10000 G05 P2

Smooth fairing ON

G05 P1 G05 P0

Both fairing and smooth fairing are OFF

Details of Operation

[Commanded path] (indicated by dashed lines) G90 G00 X0.322 Y0.234; G01; N01 X0.413 Y0.276; N02 X0.507 Y0.311; N03 X0.603 Y0.338; N04 X0.701 Y0.357; N05 X0.798 Y0.399; N06 X0.900 Y0.343; N07 X1.003 Y0.399; N08 X1.095 Y0.328; N09 X1.205 Y0.367; N10 X1.284 Y0.282; N11 X1.399 Y0.304; N12 X1.465 Y0.207;

[Path after compensation] (indicated by solid lines)

The smooth parts are not targeted for compensation.

Only the unsmooth parts are compensated.

NO1

NO2 NO3

NO5 NO6 NO8NO7

NO9 NO10

NO11 NO12

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

738IB-1501278-Q

(2) The path recognition range is determined by the parameter "#8038 Path recog. range". Determine the setting value to include multiple G01 commands in the path recognition range. When the setting value is "0", the range is set to "1.0 (1 mm)".

When the path recognition range is set to 0.5 mm:

(3) The upper limit of the compensation distance can be determined so that the compensated position does not de- viate from the commanded position significantly. Designate this upper limit in the parameter "#8039 Comp. range limit". Ordinarily, designate the tolerance that is designated when generating the machining program with CAM. When the setting value is "0", the range is set to "0.005 (5 microns)".

(a) When the compensation distance tolerance is high:

(b) When the compensation distance tolerance is low:

G90 G00 X0.322 Y0.234; G01; N01 X0.413 Y0.276; N02 X0.507 Y0.311; N03 X0.603 Y0.338; N04 X0.701 Y0.357; N05 X0.800 Y0.369; N06 X0.900 Y0.423; N07 X1.000 Y0.369; N08 X1.099 Y0.357; N09 X1.198 Y0.338; N10 X1.294 Y0.311; N11 X1.388 Y0.276; N12 X1.478 Y0.234;

The path is recognized in the range of 0.5 mm forward and 0.5 mm backward of the commanded position.

G90 G00 X0.322 Y0.234; G01; N01 X0.413 Y0.276; N02 X0.507 Y0.311; N03 X0.603 Y0.338; N04 X0.701 Y0.357; N05 X0.800 Y0.369; N06 X0.900 Y0.423; N07 X1.000 Y0.369; N08 X1.099 Y0.357; N09 X1.198 Y0.338; N10 X1.294 Y0.311; N11 X1.388 Y0.276; N12 X1.478 Y0.234;

G90 G00 X0.322 Y0.234; G01; N01 X0.413 Y0.276; N02 X0.507 Y0.311; N03 X0.603 Y0.338; N04 X0.701 Y0.357; N05 X0.800 Y0.369; N06 X0.900 Y0.423; N07 X1.000 Y0.369; N08 X1.099 Y0.357; N09 X1.198 Y0.338; N10 X1.294 Y0.311; N11 X1.388 Y0.276; N12 X1.478 Y0.234;

0.1mm 0.1mm 0.1mm

0.1mm 0.1mm

0.1mm 0.1mm

0.1mm 0.1mm 0.1mm

0.11mm 0.11mm

NO6 NO7

Compensation range tolerance

Desirable compen- sation position

Actual compensa- tion position

Compensation range tolerance

Desirable compen- sation position

Actual compensa- tion position

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

739 IB-1501278-Q

(4) While smooth fairing is ON, the modal or mode status is changed, and smooth fairing may be set to OFF. While smooth fairing is OFF, the commanded position is not compensated, and the axis moves as commanded. For details on the modal or mode status that causes smooth fairing to be set to OFF, refer to "Relationship with other functions".

(5) While smooth fairing is ON, it may be canceled temporarily depending on commands when: there is a block that contains only a sequence number; the modal status of the absolute/incremental command is changed by the G90 or G91 command; and the movement command is issued to an axis other than the three basic axes.

If a command that triggers a temporary cancel is inserted, the axis moves to the commanded position once. For

the list of commands that trigger a temporary cancel, refer to "Relationship with other functions".

While smooth fairing is OFF, the axis moves to the commanded posi- tion.

G90 G00 X0.0 Y0.0; G01; N01 G01 X0.039 Y0.077; N02 G01 X0.139 Y0.080; N03 G01 X0.172 Y0.174; N04 G01 X0.271 Y0.161; N05 G01 X0.319 Y0.249; N06 G02 X1.122 Y0.249 R0.5; N07 G01 X1.169 Y0.161; N08 G01 X1.268 Y0.174; N09 G01 X1.301 Y0.080; N10 G01 X1.401 Y0.077; N11 G01 X1.441 Y0.000;

Compensation restarts from the block in which the enabling conditions are satisfied again.

G90 G00 X0.322 Y0.234; G90 G01; N01 X0.413 Y0.276; N02 X0.507 Y0.311; N03 X0.603 Y0.338; N04 X0.701 Y0.357; N05 X0.798 Y0.399; N06 X0.900 Y0.343; N07; N08 X1.003 Y0.399; N09 X1.095 Y0.328; N10 X1.205 Y0.367; N11 X1.284 Y0.282; N12 X1.399 Y0.304; N13 X1.465 Y0.207;

If a block that triggers a temporary cancel is inserted, the axis moves to the com- manded position once.

NO6

Valid Invalid Valid

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

740IB-1501278-Q

(1) Relationship between smooth fairing and other G code functions

Relationship with other functions

A Shows if smooth fairing is valid or not when the G code function on the left is enabled. (valid): Compensates for the commanded position. (invalid): Does not compensate the commanded position.

B Shows operation when the G code on the left is commanded together with a movement command (XYZ address command)(*) while smooth fairing is ON. (continuation): Compensates for the commanded position. (temporary cancel): Temporarily suspends compensation to move to the commanded position.

Temporary cancel for blocks with no movement commands (example: the block where G90 is com- manded alone).

G code group

G code Function name A B

0 G05 High-speed machining mode/high-speed high-accuracy control

(*1) -

G08 High-accuracy control

G command in group 0 except the above -

1 G01 Linear interpolation

G command in group 1 except the above

2 G17/G18/G19 Plane selection (*2)

3 G90/G91 Absolute command/incremental command (*2)

4 G23 Stroke check before travel OFF

G command in group 4 except the above

5 G94 Asynchronous feed (feed per minute)

G command in group 5 except the above

6 G20/G21 Inch/Metric command

7 G40 Tool radius compensation cancel/3-dimensional tool radius compensation cancel

G41/G42 Tool radius compensation/3-dimensional tool radius com- pensation

G command in group 7 except the above

8 G43/G44 Tool length offset + /tool length offset -

G43.1 Tool length compensation along the tool axis

G49 Tool length offset cancel

G command in group 8 except the above

9 G80 Fixed cycle cancel

G command in group 9 except the above

10 G98/G99 Fixed cycle initial level return/R point level return

11 G50 Scaling cancel

G command in group 11 except the above

12 G54-G59/G54.1 Workpiece coordinate system selection

13 G61.1 High-accuracy control ON

G61.2 High-accuracy spline

G command in group 13 except the above

14 G67 User macro modal call cancel

G command in group 14 except the above

15 G40.1/G150 Normal line control cancel

G command in group 15 except the above

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

741 IB-1501278-Q

(*1) (valid) for G05P2/G05P10000/G05P20000 and X (invalid) for the others.

(*2) (continuation) if the modal state does not change before and after the command and X (temporary cancel)

otherwise.

(*3) (Valid) for G54.4P0 and X (invalid) for the others.

(2) Relationship between smooth fairing and functions other than G codes

(*1) When there is a block containing only EOB, compensation is not temporarily canceled. However, in such a

case, the path slightly changes compared to when there are no blocks containing only EOB.

(*2) PLC interruption is not allowed during high-speed high-accuracy control II/III.

16 G69 Coordinate rotation cancel/3-dimensional coordinate con- version cancel

G command in group 16 except the above

17 G96/G97 Constant surface speed control ON/OFF

18 G15 Polar coordinate command OFF

G command in group 18 except the above

19 G50.1 Mirror image by G code OFF

G command in group 19 except the above

21 G13.1/G113 Cylindrical interpolation/polar coordinate interpolation OFF

G command in group 21 except the above

27 G54.4 Workpiece installation error compensation (*3)

A Shows if smooth fairing is valid or not when the function on the left is enabled. (valid): Compensates for the commanded position. (invalid): Does not compensate the commanded position.

B Shows operation when the function on the left is commanded while smooth fairing is ON. (continuation): Compensates for the commanded position. (temporary cancel): Temporarily suspends compensation to move to the commanded position.

Function other than G code A B

Block containing only EOB(;) - (*1)

Block containing only comment -

Block containing only sequence number -

Block containing only MSTB command -

Block containing only F command -

If there is an axis movement command for other than three base axes -

Block without movement command -

During single block operation

Subprogram call (M98 P_)

Figure rotation subprogram call (M98 P_I_J_K_)

Macro interruption (M96, UIT)

User macro simple call

User macro modal call

MTB macro

PLC interruption (PIT) (*2)

Coordinate rotation by parameter (G10 I_J_/K_)

Mirror image by parameter setting (#8211 Mirror image)

Mirror image with PLC signals ON

G code group

G code Function name A B

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

742IB-1501278-Q

The table below shows which fairing functions are enabled according to the combination of the parameter "#8033

Fairing ON" setting and G command:

: Smooth fairing ON, : Fairing ON, X: Both OFF

"#8033 Fairing ON"

0 1 2

Both OFF Fairing ON Smooth fairing ON

G05 P0 G61.1

G61.2

G05 P2 G61.1

G61.2

G05 P10000 G05 P20000

G5.1 Q0

G5.1 Q2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

743 IB-1501278-Q

17.3.4 Cutting Speed Clamp with Acceleration Rate Judgment

This function is an additional function when the high-speed high-accuracy control II mode is ON.

The cutting feed clamp speed during the high-speed high-accuracy control II / III mode, when the following param-

eter is set to "1", is clamped so that the acceleration rate generated by each block movement does not exceed the

tolerable value. This function clamps the speed optimally even at a section where "angle change at each block is

small but entire curvature is large" such as shown below.

The tolerable value of the acceleration rate is calculated from the parameter "#1206 G1bF" and "#1207 G1btL" set-

ting values. (Tolerable acceleration rate = #1206/#1207)

(*1) When a speed is set in "#2109 Clamp(H-precision)", clamp is executed at that speed. When the setting value

is "0", clamp is executed with "#2002 clamp".

Function and purpose

Related parameter Details

#8034 AccClampt ON 0 : Clamp the cutting speed with parameter "#2002 clamp" (*1) or the corner deceleration function.

1 : Clamp the cutting speed with acceleration rate judgment.

If the tool moves along the large curvature section without deceler- ation, a large acceleration rate is generated resulting in a path error by curving inward.

Speed control by curvature

R

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

744IB-1501278-Q

17.3.5 High-speed Mode Corner Deceleration

This function is an additional function when high-speed high-accuracy control II mode is ON.

During high-accuracy control, if the angle between the adjacent blocks in the machining program is large, this func-

tion, conventionally, automatically decelerates the machining so that the acceleration rate generated when passing

through the corner is maintained within the tolerable value.

If a fine block is inserted at the corner section in the machining program generated with the CAM, etc., the corner

passing speed will not match the periphery. This can affect the machining surface.

In the corner deceleration in the high-speed mode, even when this type of fine block is inserted, the corner will be

judged from a vantage point by setting the below parameter.

The fine block is excluded at the judgment of an angle, but is not excluded from the actual movement command.

(a) When"#8036 CordecJudge" is set to "1", corner deceleration is realized without an influence of fine blocks.

Function and purpose

Related parameter Details

#8036 CordecJudge 0 : Judge the corner from the angle of the neighboring block.

1 : Judge the corner from the angle of the neighboring block, excluding the minute blocks.

#8027 CorJudgeL Exclude shorter block than this setting value.

High-speed mode corner deceleration

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

745 IB-1501278-Q

17.3.6 Precautions on High-speed High-accuracy Control

(1) The validity of each high-speed high-accuracy control function depends on the MTB specifications. If any of the above is commanded when the corresponding specification is not available on the machine, a program error (P39) will occur.

(2) The machining speed may drop depending on the number of characters in one block.

(3) Feedrate command F is clamped with the "#2110 Clamp (H-precision)" (Cutting feed clamp speed for high-ac- curacy control mode) set with the parameter.

(4) The rapid traverse rate conforms to "#2109 Rapid(H-precision)" (Rapid traverse rate during high-accuracy con- trol mode) set with the parameter.

(5) When "#2109 Rapid(H-precision)" (high-accuracy control mode rapid traverse rate) is set to "0", however, the movement follows "#2001 rapid" (Rapid traverse rate) set with the parameter. Also, when "#2110 Clamp (H-pre- cision)" (Cutting feed clamp speed for high-accuracy control mode) is set to "0", the speed will be clamped with "#2002 clamp" (Cutting clamp speed) set with parameter.

(6) The automatic operation processing has priority in the high-speed high-accuracy control I/II/III modal, so the screen display, etc., may be delayed.

(7) The speed will decelerate once at the high-speed high-accuracy control I command (G05.1 Q1), high-speed high-accuracy control I OFF command (G05.1 Q0), high-speed high-accuracy control II command (G05P10000), high-speed high-accuracy control III command (G05P20000), and high-speed high-accuracy control II/III OFF command (G05P0), so turn ON and OFF when the tool separates from the workpiece.

(8) When carrying out high-speed high-accuracy control I/II operation during tape mode, the machining speed may be suppressed depending on the program transmission speed and the number of characters in one block.

(9) If "#1205 G0bdcc" (G0 acceleration/deceleration before interpolation) is set to "1", the value set with the param- eter "#2224 SV024 INP" (in-position detection width) will be used as the in-position width. "#2077 G0inps" (G0 in-position width) and the ",I" command (programmable in-position check) are disabled.

(10) When the fairing is valid (#8033 = "1"), if consecutive fairing is executed by the machining program, the fine segment processing capability may become lower than that in the tables (1) to (3) of "Fine segment processing capability" in "17.3.1 High-speed High-accuracy Control I, II, III ; G05.1 Q1/Q0, G05 P10000/P0, G05 P20000/ P0".

(11) When the "Manual/Automatic simultaneous valid n-th axis" signal (Y920) is changed during the execution of the movement blocks for the pre-interpolation acceleration/deceleration, the change will not be enabled immediately even if the axes are not moving. The change will be enabled when all the axes in the part system decelerate and stop.

(*1) "III" is a function only for the machining center.

(1) If the variable command, variable operation command, or macro control statement is commanded while high- speed high-accuracy control II/III is enabled, the fine segment processing capability may decelerate. However, only when the variable commands and variable four-basic-arithmetic operation commands shown below are is- sued following the axis address or the F address of the cutting feedrate command, the fine segment processing capability does not decelerate.

(a) Referencing common variables or local variables Common variables or local variables can be referenced (example: X#500, Y#1, Z##100, A#[#101], etc.).

(b) Four basic arithmetic rule Four basic arithmetic rule (+, -, *, /) operations are available, and also the operation priority can be designated using parentheses ( ) ([#500 + #501] * #502, etc.).

If a common variable or local variable is referenced using the variable number operated with a macro operation

instruction, a program error (P282) may occur. In this case, set the operated value to the variable before refer-

encing the variable.

Precautions

Common precautions on high-speed high-accuracy control I/II/III

Common precautions on high-speed high-accuracy control II/III (*1)

Example that causes an error F#[FIX[100.1]];

Example that does not cause an error #500 = FIX[100.1] ; F#[#500] ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

746IB-1501278-Q

(1) Command "G05.1Q0 ;" after turning the tool radius compensation OFF. If "G05.1Q0;" is commanded without turning the tool radius compensation OFF, a program error (P29) will occur.

(2) "G05.1Q1;" must be commanded alone in a block, which also applies to "G05.1Q0;". If a sequence number other than "N" is commanded, a program error (P33) will occur.

(3) A program error (P33) will occur if the G05.1 command block does not contain a Q command.

(4) If the high-speed high-accuracy control I command is issued in the high-speed high-accuracy control II modal, a program error (P34) will occur.

(1) "G05P10000;" must be commanded alone in a block, which also applies to "G05P0;". If a sequence number other than "N" is commanded, the program error (P33) will occur.

(2) A program error (P33) will occur if the G05 command block does not contain a P command.

(3) The fairing function is valid for the continuous linear command (G01). Fairing is not possible in the case below.

(4) In a single block mode, operation stops at the end point of each block.

(5) When using the high-speed high-accuracy control II mode, set the parameter "#1572 Cirorp/bit0" to "1" to elimi- nate the speed fluctuation at the seams between the arc and the straight line, or between arcs.

(6) A program error (P33) will occur if the geometric command is issued during the high-speed high-accuracy control II.

(7) If the high-speed high-accuracy control II command is issued in the high-speed high-accuracy control I modal, a program error (P34) will occur.

(8) A program error (P922) will occur if 3-dimensional coordinate conversion is issued during the high-speed high- accuracy control II.

(9) A program error (P921) will occur if the high-speed high-accuracy control II is commanded during 3-dimensional coordinate conversion.

Precautions on high-speed high-accuracy control I

Precautions on high-speed high-accuracy control II

G02

G01 G02

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

747 IB-1501278-Q

(1) "G05P20000;" must be commanded alone in a block, which also applies to "G05P0;". If a sequence number other than "N" is commanded, a program error (P33) will occur.

(2) A program error (P33) will occur if the G05 command block does not contain a P command.

(3) A program error (P33) will occur if the geometric command is issued during the high-speed high-accuracy control III.

(4) If the high-speed high-accuracy control III command is issued in the high-speed high-accuracy control I modal, a program error (P34) will occur.

(5) If the high-speed high-accuracy control II mode is valid when high-speed high-accuracy control III is commanded, follow the precautions on high-speed high-accuracy control II.

(6) High-speed high-accuracy control III can be enabled by commanding the G code from the machining program.

(a) High-speed high-accuracy control III command with the high-speed high-accuracy control III enable condi-

tions satisfied

If all modal conditions in each G code group and each mode condition shown in "Relationship with other func-

tions" (*1) are satisfied when "G05P20000;" is commanded, the high-speed high-accuracy control III mode is

enabled, and "G05P20000" is displayed on the modal screen. If conditions are not satisfied after

"G05P20000;" has been commanded, the high-speed high-accuracy control III mode is enabled, however, the

fine segment processing capability may decelerate.

(*1) For details, refer to "Relationship with other functions" in "17.3.1 High-speed High-accuracy Control I, II,

III ; G05.1 Q1/Q0, G05 P10000/P0, G05 P20000/P0".

(*2) High-speed high-accuracy control III is enabled, but the fine segment processing capability described in

the tables (1) to (3) of "Fine segment processing capability" in "17.3.1 High-speed High-accuracy Control

I, II, III ; G05.1 Q1/Q0, G05 P10000/P0, G05 P20000/P0" may decelerate.

(*3) When the parameter "#1271 ext07/bit4" is "1", the tool radius compensation vector is retained until the

positioning command is issued even after the cancel command (G40). In this state, high-speed high-ac-

curacy control II is enabled. When the compensation vector changes to "0" by the positioning command,

the high-speed high-accuracy control III is enabled.

(b) High-speed high-accuracy control III command with no high-speed high-accuracy control III enabling condi-

tions satisfied

If the conditions shown in "Relationship with other functions" (*1) are not satisfied when "G05P20000;" is com-

manded, the high-speed high-accuracy control II mode is enabled, and "G05P10000" is displayed on the

modal screen. In this case, even if all the conditions shown in "Relationship with other functions" (*1) are sat-

isfied after "G05P20000;" has been commanded, the high-speed high-accuracy control III mode is not en-

abled. To enable the high-speed high-accuracy control III mode, command "G05P20000;" again.

(7) A program error (P922) will occur if 3-dimensional coordinate conversion is issued during the high-speed high- accuracy control III.

(8) A program error (P921) will occur if the high-speed high-accuracy control III is commanded during 3-dimensional coordinate conversion.

Precautions on high-speed high-accuracy control III

Machining program Enable conditions for high-speed high-accuracy control III

Enable mode

G05 P20000; High-speed high-accuracy control III command

Enabling conditions are satisfied. G05P20000

G41 XxYyDd; Tool radius compensation ON Enabling conditions are not satisfied. G05P20000 (*2)

G40 XxYy; Tool radius compensation OFF Enabling conditions are satisfied. G05P20000

Machining program Enable conditions for high- speed high-accuracy con-

trol III

Enable mode

G41 XxYyDd; Tool radius compensation ON Enabling conditions are not satisfied.

G05P10000G05 P20000; High-speed high-accuracy control III command

G40 XxYy; Tool radius compensation OFF Enabling conditions are satis- fied.

G05P10000

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

748IB-1501278-Q

17.4 Spline Interpolation ; G05.1 Q2/Q0

This function automatically generates a spline curve that passes through a sequence of points commanded by the

fine segment machining program, and interpolates the path along this curve. This enables high-speed and high-ac-

curacy machining to be achieved.

There are two types of spline interpolation command format: G61.2 and G05.1Q2. Both formats can be used regard-

less of the parameter "#1267 ext03/bit0" setting if the spline interpolation specifications are available to the machine.

This section describes the G05.1Q2 command. For G61.2, refer to "17.6 High-accuracy Spline Interpolation ;

G61.2".

The G05.1Q2 command can be issued when the machining parameter "#8025 SPLINE ON" is set to "1" in the high-

speed high-accuracy control function II or III mode. The following explanation is limited to the spline function in the

high-speed high-accuracy control function II or III mode.

(1) High-speed high-accuracy control III functions as high-speed high-accuracy control II while spline interpolation is ON.

Conditions under which the command can be issued and functions that are valid during a specific modal differ be-

tween G61.2 and G05.1Q2.

(*1) The validity of the high-speed high-accuracy control II or III function depends on the MTB specifications.

A program error (P34) will occur if the conditions under which the command can be issued are not satisfied.

(*2) The spline interpolation smoothly connects a sequence of points commanded by program. As a result, the

glossy machining surface can be obtained, and the machining time can be reduced because the frequency of

the corner deceleration decreases compared with conventional linear interpolation.

Function and purpose

Difference between G61.2 and G05.1Q2

Command format Conditions under

which the command can be issued

Functions that become valid

Spline interpolation Fairing High-accuracy con- trol

(*2) (*3) (*4)

G61.2 None Valid Valid Valid

G05.1 Q2 When the system is in the high-speed high-accuracy control II or III mode and "#8025 SPLINE ON" is set to "1" (*1)

Valid Can be turned ON and OFF using "#8033 Fairing ON"

Valid (Because the system is in the high-speed high-accuracy control II or III mode)

G61.2/G05.1Q2

G64/G61.1

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

749 IB-1501278-Q

(*3) Super-fine blocks often included in the data generated with CAM are deleted. Such a super-fine block may

scratch the machining surface, and increase machining time because of acceleration/deceleration. This function

prevents these problems.

(*4) The following shows the functions and their operations included in the high-accuracy control described in this

section.

The validity of the SSS control function depends on the MTB specifications.

Functions of high-accuracy control

Contents

Acceleration/deceleration before interpolation (Constant-gradient acceleration/deceleration, S-pat- tern filter)

The process is the same as that performed in the high-accuracy control mode (G61.1/G08P1).

Optimum corner deceleration As is done in the high-accuracy control mode (G61.1/G08P1), optimum corner deceleration is performed at points where the angle between blocks exceeds the spline cancel angle or points at the boundary between G01 and G00, because spline interpolation is temporarily canceled to make corners.

Arc speed clamp (For spline in- terpolation, curvature speed clamp)

Clamp speed is calculated based on the spline curvature radius. The pro- cess for arc blocks is the same as that performed in the high-accuracy control mode (G61.1/G08P1).

Curvature radius speed clamp Clamp speed is calculated based on the spline curvature radius.

Arc entrance/exit deceleration control

The process for arc blocks is the same as that performed in the high-ac- curacy control mode (G61.1/G08P1).

SSS Control Optimum speed control is performed so that the process is not affected by steps or reverse runs.

Feed forward control The process is the same as that performed in the high-accuracy control mode (G61.1/G08P1).

Command format

Spline interpolation mode ON

G05.1 Q2 X0 Y0 Z0 ;

Spline interpolation mode OFF

G05.1 Q0;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

750IB-1501278-Q

Normally, once the spline function is activated, one curve is generated by smoothly connecting all points until it is

canceled. However, if a corner edge should be created, or if the segment length is long and spline interpolation

should not to be carried out, the function can be canceled temporarily with the parameters.

(1) Cancel angle

If the angle of two consecutive blocks exceeds the value set in parameter "#8026 CANCEL ANG.", the spline

function will be temporarily canceled, and optimum corner deceleration will be applied. When this parameter is

not set (=0), the spline interpolation will be constantly applied. The corner deceleration angle of the high-accu-

racy control function is valid during the temporary cancellation, and the optimum corner deceleration will be ap-

plied.

(Example 1) Cancel angle = 60

(Example 2) Cancel angle = 0

If the section to be a corner is smooth when actual machining is carried out, lower the "CANCEL ANG.". If a smooth section becomes a corner, increase the "CANCEL ANG.". If "CANCEL ANG." >= "DCC ANGLE", the axis will decelerate at all corners where the angle is larger than

the "CANCEL ANG." . If the "CANCEL ANG." < "DCC ANGLE", corner deceleration will not be applied if the corner angle is equal

to or less than "DCC ANGLE" even if the spline interpolation is canceled.

Detailed description

Temporary cancellation of spline interpolation

Programmed command Spline interpolation path

Programmed command Spline interpolation path

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

751 IB-1501278-Q

(2) Fine segment length

If the movement amount in a block is longer than the parameter "#8030 MINUTE LENGS", the spline function

will be temporarily canceled, and the linear interpolation will be executed. When this parameter is not set (= 0),

the fine segment length will be 1mm.

When the segment length in a block > fine segment length (#8030 MINUTE LENGS), the linear interpolation will

be executed.

If the fine segment length is set to "-1", the spline interpolation will not be canceled according to the block length.

(3) When a block without movement exists

If a block without movement exists during the spline function is operating, the spline interpolation will be canceled

temporarily. Note that blocks containing only ";" will not be viewed as a block without movement.

(4) When a block markedly longer than other blocks exists in spline function

Given that the i-th block length is Li in the spline interpolation mode and if the following condition is met, the block

will be interpreted as a linear section, and the spline interpolation mode will be temporarily canceled:

Li > Li-1 x 8 or Li > Li+1 x 8

However, if the parameter "#8030 MINUTE LENGS" is set to "-1", the mode will not be canceled.

Linear interpolation

Block without movement

Li > Li-1 8 or Li > Li + 1 8

Li+1Li - 1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

752IB-1501278-Q

Normally, once the spline function is enabled, one curve is generated by connecting all points smoothly until the

function is canceled. But if the spline curve shape should be corrected, the spline curve shape can be corrected with

the parameters.

(1) Chord error of block containing inflection point

When changing the CAD curve data into fine segments with the CAM, normally, the tolerance (chord error) of

the curve is approximated in segments that are approx. 10m. If there is an inflection point in the curve, the

length of the block containing the inflection point may lengthen. (Because the tolerance is applied at both ends

near the inflection point.) If the block lengths with this block and the previous and subsequent blocks are unbal-

anced, the spline curve in this block may have a large error in respect to the original curve.

At sections where the tolerance (chord error) of the fine segment block and spline curve in a block containing

this type of inflection point, if the chord error in the corresponding section is larger than the value set in parameter

(#8027 Toler-1), the spline curve shape is automatically corrected so that the error is within the designated value.

However, if the maximum chord error of the corresponding section is more than five times larger than the param-

eter "#8027" setting value, the spline function will be temporarily canceled.

The curve is corrected only in the corresponding block.

The corrections are carried out under the following conditions for each block in the spline interpolation mode.

When the above conditions are satisfied, the spline curve will be corrected so that the error between P3-P4 in

Fig. 2 is within the designated value.

Spline interpolation curve shape correction

There is an inflection point in the spline curve, and the maximum error of the spline curve and linear block is larger than parameter "#8027". (Distance between P3-P4 in Fig. 1)

Tolerance (chord error) Spline curve

Inflection point

Fine segment

Fig. 1 Spline curve before error correction

P6 P5

P4

P7

P0

P1

P2 P3

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

753 IB-1501278-Q

In parameter "#8027 Toler-1", set the tolerance when developed into fine segments with the CAM. Set a smaller

value if the expansion (indentation) is apparent due to the relationship with the adjacent cutting paths.

(2) Chord error of block not containing inflection point

Even in blocks that do not contain an inflection point, if the block lengths are not matched, the tolerance of the

spline curve may increase. The curve may also expand due to the effect of relatively short blocks.

At sections where the tolerance (chord error) between the fine segment block and spline curve in a block without

an inflection point becomes large, if the chord error in the corresponding section is larger than the value set in

parameter (#8028 Toler-2), the spline curve shape is automatically corrected so that the error is within the des-

ignated value. However, if the maximum chord error of the corresponding section is more than five times larger

than the parameter "#8028" setting value, the spline function will be temporarily canceled.

The curve is corrected only in the corresponding block.

The corrections are carried out under the following conditions for each block in the spline interpolation mode.

When the above conditions are satisfied, the spline curve will be corrected so that the error between P2-P3 in

Fig. 4 is within the designated value.

Chord error designated in the parameter "Toler"

Spline curve before correction

Spline curve after correction

Fig. 2 Spline curve after error correction

There is no inflection point in the spline curve, and the maximum error of the spline curve and linear block is larger than parameter "#8028". (Distance between P2-P3 in Fig. 3)

Spline curve

Fine segment

Tolerance (chord error)

Fig. 3 Spline curve before error correction

P3

P4

P1

P2 P3

P4

P5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

754IB-1501278-Q

In parameter "Toler-2", set the tolerance when developed into fine segments with the CAM.

The commanded speed F for the spline function during a segment linear arc will be the speed commanded in the

previously set modal. However, if the axis is fed with the same speed, excessive acceleration rate may occur at the

sections where the curvature is large (where curvature radius is small) as shown below. Thus, the speed clamp will

be applied.

With the spline function, the high-accuracy control function is always valid. Thus, even if the curvature changes such

as in this curve, the speed will be clamped so that the tolerable value for pre-interpolation acceleration/deceleration,

which is calculated with the parameters, is not exceeded.

The clamp speed is set for each block, and the smaller of the curvature radius Rs at the curve block start point and

the curvature radius Re at the end point of the block will be used as the main curvature radius R. Using this main

curvature radius R, the clamp speed F' will be calculated with expression (1).

The smaller of this clamp speed F' and the commanded speed F will be incorporated for the actual feedrate.

This allows cutting with an adequate feedrate corresponding the curvature radius along the entire curve.

Chord error designated in the parameter "Toler-2"

Spline curve before correction

Spline curve after correction

Fig. 4 Spline curve after error correction

Curvature speed clamp

(a) Curvature small (b) Acceleration rate small (c) Acceleration rate large (d) Curvature large F: Feed command speed (mm/min)

Change of acceleration rate by curvature

Rs : Block start point curvature radius (mm) Re : Block end point curvature radius (mm) R : Block main curvature radius (mm) (smaller one of Rs and Re) V : Tolerable value of pre-interpolation acceleration/deceleration F : Clamp speed (mm/min)

G1bF : Target pre-interpolation acceleration/decelera- tion G1btL : Acceleration/deceleration time to reach the tar- get speed Ks: Accuracy coefficient

P1

P2 P3

P4

P5

(c)F

F

(a)

(b)

(d)

Rs

Re

F'

V = G1bF(mm/min)

G1btL(ms)

F' = R V 60 1000 (1) 100- Ks

100

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

755 IB-1501278-Q

(1) The spline function carries out spline interpolation when the following conditions are all satisfied. If the following conditions are not satisfied, the spline function will be canceled once, and the judgment whether to carry out new spline from the next block will be made.

It is the movement only of three axes set to the basic axes I, J and K. When the block length is smaller than the value of the machining parameter "#8030 MINUTE LENGS". When the movement amount is not 0. When one of the following modes is entered.

G01: Linear interpolation, G40: Tool compensation cancel, G64: Cutting mode, G80: Fixed cycle cancel, G94: Feed per minute

When only an axis commanded with G05.1Q2 is commanded. A single block is not being executed.

(2) Graphic check will draw the shape of when the spline interpolation OFF.

(3) During the spline function mode, the command to the axis must be issued after G05.1 Q2 in the same block. For example, if the X axis and Y axis are to be commanded in the spline function mode, command "G05.1 Q2 X0 Y0;". The command block containing an axis not designated with this command (G05.1 Q2 X0 Y0) in the spline function mode will carry out linear interpolation instead of spline interpolation.

(4) If G05.1 Q2 is commanded when not in the high-speed high-accuracy control function II or III mode, the program error (P34) will occur.

(5) If the machining parameter "#8025 SPLINE ON" is "0" in the high-speed high-accuracy control function II or III mode and G05.1 Q2 is commanded, the program error (P34) will occur.

(6) Up to three axes set as the basic axes I, J and K can be commanded for the spline function.

Refer to "Relationship with other functions" in "17.2 High-accuracy Control".

(1) If this function are not provided and "G05.1 Q2" is commanded, the program error (P39) will occur.

(2) Even if "-1" is set for parameter "#8030 MINUTE LENGS", the spline function will be temporarily canceled by the cancel conditions (cancel angle, non-movement block, excessive chord error, etc.) other than the block length.

(3) "G05.1 Q2" must be commanded alone in a block, which also applies to "G05.1 Q0". A program error (P33) will occur if it is not commanded alone in a block.

(4) The program error (P33) will occur if the G05.1 command block does not contain a Q command.

(5) A program error (P34) will occur if the number of axis in the part system does not exceed 3.

Program example

:

G91;

G05 P10000; High-speed high-accuracy control function II mode ON

:

G05.1 Q2 X0 Y0 Z0; Spline interpolation mode ON

G01 X1000 Z-300 F1000;

X1000 Z-200;

Y1000;

X-1000 Z-50;

X-1000 Z-300;

G05.1 Q0; Spline interpolation mode OFF

:

G05 P0 ; High-speed high-accuracy control function II mode OFF

:

Relationship with other functions

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

756IB-1501278-Q

17.5 Spline Interpolation 2; G61.4

This function automatically generates a curve that smoothly passes through within the tolerable error range. The

tool is able to move along the curve, providing smooth machining.

This function allows the machine to operate with the optimum tool path and speed, simply by specifying the toler-

ance, so an operator can easily attain high quality machining.

This function also requires the tolerance control specifications because it can only be used under tolerance control.

The tolerance refers to the allowable error amount between the path commanded in the machining program and the

path output by NC.

When spline interpolation 2 is used in combination with tool center point control, spline interpolation 2 is performed

with 5 axes. It generates a curve that passes through the tool center point points smoothly within the tolerance, with

the rotary axis angle also within the tolerance. The tool moves along the curve.

This function is enabled when the following conditions are satisfied:

(1) SSS control is enabled.

(2) Tolerance control is valid.

(3) The specifications of spline interpolation 2 are valid.

(4) "G61.4" is commanded from the machining program. (*1)(*2)

(5) (When spline interpolation 2 is performed using 5 axes) Tool center point control command "G43.4" or "G43.5" is given from within a machining program. (*3)

(*1) If G61.4 is commanded while tolerance control is invalid, a program error (P34) occurs.

(*2) If G61.4 is commanded while the specifications of spline interpolation 2 are not defined, a program error (P39)

occurs.

(*3) If G43.4 or G43.5 is given while the tool center point control specification is not provided, a program error (P39)

occurs.

For details on spline interpolation 2 using 5 axes, refer to "Behavior under tool center point control" in "Details

of operation".

Function and purpose

Tolerance

Commanded position

Tool path

Tolerance of rotary axis

Commanded position

Tolerance of linear axis

Tool path

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

757 IB-1501278-Q

Spline interpolation 2 mode with command G61.4 will be cancelled by designating any one of G code group 13.

G61 (Exact stop check mode) G61.1 (High-accuracy control mode) G61.2 (Spline interpolation command) G62 (Automatic corner override) G63 (Tapping mode) G64 (Cutting mode) G08P1 (High-accuracy control mode start) G08P0 (High-accuracy control mode end)

Designate the tolerance using one of the following methods.

Designate the tolerance using the parameter "#2659 tolerance". When the setting is "0", the tolerance is han- dled as "0.01 (mm)" for a linear axis, or "0.01 (deg)" for a rotary axis.

Designate the numeric value following the ",K" address in the G61.4 command for a linear axis, and following the ",R" address in the G61.4 command for a rotary axis.

(a) The tolerance range is 0.000 to 100.000 (mm), or 0.000 to 100.000 (deg). If a value exceeding the range is commanded, a program error (P35) will occur.

(b) The tolerance designated by ",K" is applied to all the linear axes in the part system. The tolerance designated by ",R" is applied to all the rotary axes in the part system.

(c) When "0" is set to ",K" or ",R" or when ",K" or ",R" is omitted, the program runs using the setting value of the parameter "#2659 tolerance" as the tolerance.

(d) The tolerance designated by ",K" or ",R" is not held after reset. Therefore, if ",K" or ",R" is not designated in the G61.4 command after reset, the setting value of the parameter "#2659 tolerance" is enabled.

[Program example]

Command format

Spline interpolation 2 mode ON

G61.4 (,K__) (,R__);

,K Tolerance (mm) (For linear axis)

,R Tolerance (deg) (For rotary axis)

Detailed description

Tolerance specification method

: G91 ;

G61.4 ,K0.02; Designate tolerance 0.02 (mm).

G01 X0.1 Z0.1 F1000 ; X0.1 Z-0.2 ; Y0.1 ;

Tolerance: 0.02 (mm)

G61.4 ,K0; Designate the tolerance 0 [mm].

X-0.1 Z-0.05 ; X-0.1 Z-0.3 ;

Tolerance: Follows parameter "#2659 tolerance".

G64 ; :

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

758IB-1501278-Q

Spline interpolation 2 interpolates a command point row of the machining program with a smooth curve. The follow-

ing figures show the command points and paths.

During spline interpolation 2, the control generates a smooth curve within the specified tolerance (tolerable error)

and moves the tool along the generated path.

Illustrated below are the tolerances for a corner or curved shape.

The interpolated path varies depending on the tolerance as shown below.

Details of operation

Basic operations

Program command point Program command path

Interpolated path

[For corner] [For curve]

For corner For curve

Tolerance: High

Tolerance: Low

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

759 IB-1501278-Q

Spline interpolation 2 can be used together with tool center point control (G43.4/G43.5). When all the conditions be-

low are satisfied, spline interpolation 2 is performed using five axes.

During G61.4 mode During tool center point control The G01 command in SSS control mode was issued.

Spline interpolation 2, coupled with tool center point control, generates a smooth curve along the tool center point

points within the tolerance (tolerable error) and moves the tool along the curve. The tool posture is also controlled

smoothly within the specified rotary axis angle tolerance to generate a smooth curve.

The points to note when tool center point control is used together with spline interpolation 2 are as follows:

(1) The tool center point control specification is needed to enable the tool center point control.

(2) Tool center point control is enabled only when "Joint interpolation method" is selected in "#7910 SLCT_INT_- MODE" (Interpolation method selection). If "Single axis rotation interpolation method" is selected, the program error (P29) occurs.

(3) The rotary axis prefiltering function cannot be used together.

(4) Any G code that is unavailable under tool center point control cannot be commanded.

[Program example]

Behavior under tool center point control

Tool end position Tool angle

Y axis Rotary axis 2

X axis Rotary axis 1

: G91 ;

G43.4 H1; Tool center point control ON

G61.4 ; Spline interpolation 2 mode ON

G01 X0.1 Z0.1 F1000 ; X0.1 Z-0.2 ; Y0.1 ; X-0.1 Z-0.05 ; X-0.1 Z-0.3 ;

Spline interpolation 2 mode using 5 axes

G61.1 ; Spline interpolation 2 mode OFF

G43.9; :

Tool center point control OFF

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

760IB-1501278-Q

While spline interpolation 2 is enabled, it may be canceled temporarily depending on commands.

If spline interpolation 2 is canceled temporarily, the axis moves to the commanded position. After this, when a tem-

porary cancel cause is removed, spline interpolation 2 restarts.

The temporary cancel conditions are as follows.

(1) The group 1 modal is not G01, G02, or G03.

(2) The block has a G code other than G90, G91, G01, G02, or G03 commanded.

(3) The block has M (miscellaneous function command value), S (spindle command rotation speed), T (tool com- mand value), or B (2nd miscellaneous function command value) designated.

(4) Under single block operation (For details, refer to "Single Block Operation".)

(5) Modal in which SSS control is disabled temporarily (Modal shown below)

Temporary cancel

NURBS interpolation

Polar coordinate interpolation

Cylindrical interpolation

User macro interruption enable (M96)

Feed per revolution (synchronous feed)

Inverse time feed

Constant surface speed control

Fixed cycle

3-dimensional coordinate conversion

Hypothetical axis interpolation

Automatic tool length measurement

Tool length compensation along the tool axis

Normal line control

Unidirectional positioning

Exponential interpolation

3-dimensional circular interpolation

Path without temporary cancel

Block without movement by temporary cancel

Path without temporary cancel

Block with movement by temporary cancel

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

761 IB-1501278-Q

Feed hold allows a deceleration stop in the middle of a curve. However, no interrupt operation can be performed. If

the mode is switched to the manual mode or MDI mode during the feed hold, an operation error (M01 0180) will

occur and the interrupt operation will be prohibited.

After the program has been stopped by the feed hold, the movement on the curve can be restarted by the cycle start.

The tool path specified just after the program has restarted is different from that specified when the program is not

stopped by the feed hold, and the tool passes an area near the program-commanded shape.

During single block operation, spline interpolation 2 is canceled temporarily. In this period, linear interpolation is car-

ried out at the commanded position. If single block is set to ON during continuous operation, the currently processed

block stops on a curve, and the next and subsequent blocks stop on the commanded points.

Feed hold

Program commanded shape

NC commanded shape (Not stopped by the feed hold)

NC commanded shape (Stopped by the feed hold)

Single block operation

(a) Sets the single block signal ON.

(b) Block stop on curve (e) Restarts spline interpolation 2.

(d) Sets the single block signal OFF.

(c) Block stop at commanded position

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

762IB-1501278-Q

Spline interpolation 2 and smooth fairing can be used together.

A spline interpolation 2 curve is generated along the points that are compensated by smooth fairing.

If spline interpolation 2 is used together with tool center point control, smooth fairing is disabled.

Spline interpolation 2 and tool radius compensation can be combined. A spline curve is generated along the path

for which the radius is compensated.

Spline interpolation 2 and high-speed high-accuracy control III can be combined. However, the fine segment pro-

cessing capacity is limited.

Spline interpolation 2 used in combination with tool center point control cannot be used together with high-speed

high-accuracy control III.

Spline interpolation 2 (G61.4) and spline interpolation (G61.2/G05.1Q2) cannot be combined.

The following differences are between spline interpolation 2 (G61.4) and spline interpolation (G61.2/G05.1Q2).

(*1) The axis passes through the commanded points at the start and end points.

The following shows differences between the spline interpolation 2 path and spline interpolation path.

Relationship with other functions

Smooth fairing

Compensation by smooth fairing

Smooth fairing OFF

Smooth fairing ON

Tool radius compensation

High-speed high-accuracy control III

Spline interpolation

Feature of spline curve Parameter for adjusting the curve shape

Spline interpolation 2 (G61.4)

Passes near the commanded points. (*1)

#2659 tolerance

Spline interpolation (G61.2/G05.1Q2)

Passes on the commanded points. #8026 CANCEL ANG. #8027 Toler-1 #8028 Toler-2 #8029 FairingL #8030 MINUTE LENGS #8033 Fairing ON

Spline interpolation 2 Spline interpolation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

763 IB-1501278-Q

Inclined surface machining is available when tool center point control is used together with spline interpolation 2.

Workpiece installation error compensation cannot be used together with spline interpolation 2 even when tool center

point control is enabled.

The points to note when tool center point control is used together with spline interpolation 2 are as follows:

(1) If G61.4 is given during inclined surface machining in any mode other than tool center point control mode, the operation is performed in the G61.1 mode. G61.4 mode is activated after tool center point control command is given.

(2) Any G code that is unavailable under inclined surface machining cannot be commanded.

[Program example]

[Relationship between spline interpolation 2 and each function]

Inclined surface machining command and workpiece installation error compensation

:

G68.2 X45. Y-50. I0. J32. K0. Inclined surface machining command ON

G53.1

G43.4 H1; Tool center point control ON

G61.4 ; Spline interpolation 2 mode ON

G01 X0.Y0. F1000 ; Z0. X50. Y50. ; Y0. ; X0. ;

Spline interpolation 2 mode using 5 axes

G61.1 ; Spline interpolation 2 mode OFF

G49; Tool center point control OFF

G69 Inclined surface machining command OFF

G code Function name When the G codes shown on the left are commanded while spline

interpolation 2 is enabled

When spline interpolation 2 is en- abled while the functions shown

on the left are enabled

G43.4 G43.5

Tool center point control Operation is performed in spline in- terpolation 2 mode using five axes.

Operation is performed in spline in- terpolation 2 mode using five axes.

G68.2 G68.3

Inclined surface machin- ing command

Under tool center point control, the program error (P952) oc- curs. While tool center point control is

disabled, the operation with G61.1 commanded is carried out.

While tool center point control is enabled, spline interpolation 2 operation using five axes is car- ried out. While tool center point control is

disabled, the operation with G61.1 commanded is carried out.

G54.4 P1 to P7

Workpiece installation error compensation

Program error (P546) Program error (P546)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

764IB-1501278-Q

(1) The graphic check drawing is not carried out during spline interpolation 2 (the period from G61.4 to the cancel command).

(2) PLC interrupt is not available during spline interpolation 2. If an PLC interrupt is performed during spline interpo- lation 2, the operation error (M01 0180) will occur.

(3) When the arrangement at the commanded point of the adjacent path of the machining program generated from CAM is different extremely, the tool center path generated by spline interpolation may not be aligned with the adjacent path. In this case, reduce the setting value of the parameter "#2659 tolerance" (tolerance amount) or the commanded value of the ",K" address. You can move the tool center path closer to the machining program path. However, the cycle time becomes longer.

(*1) The commanded point is not arranged.

(*2) The arrangement interval between the commanded points is different extremely.

Precautions

(a) When the tolerance amount is large (b) When the tolerance amount is small

There is a position at which the commanded point is not arranged in the adjacent path.

The block segment length of the ad- jacent path is different extremely.

Program command point

Program path

Tool center path

(*1) (*1)

(*2) (*2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

765 IB-1501278-Q

17.6 High-accuracy Spline Interpolation ; G61.2

This function automatically generates a spline curve that passes through a sequence of points commanded by the

fine segment machining program, and interpolates the path along this curve. This enables high-speed and high-ac-

curacy machining to be achieved.

This function has two functions; fairing function to delete unnecessary fine blocks, and spline interpolation function

to connect smoothly a sequence of points commanded by the program.

The high-accuracy control function G61.1 is also valid.

The high-accuracy spline Interpolation is valid only for the first part system.

G61.2 cannot be commanded in the 2nd part system even when the multi-part system simultaneous high-accuracy

specifications are available.

There are two types of spline interpolation command format: G61.2 and G05.1Q2. Both formats can be used regard-

less of the parameter "#1267 ext03/bit0" setting if the spline interpolation specifications are available to the machine.

This section describes the G61.2 command. For information about differences between G05.1Q2 and G61.2 or fea-

tures of spline interpolation, refer to "17.4 Spline Interpolation ; G05.1 Q2/Q0".

The "G61.2" high-accuracy spline interpolation mode is canceled when any of the functions of G code group 13 is

commanded.

(1) Fairing

Refer to "17.3.2 Fairing".

(2) Spline interpolation

Refer to "Detailed description" of "17.4 Spline Interpolation ; G05.1 Q2/Q0".

Function and purpose

Command format

Spline mode ON

G61.2 X__ Y__ Z__ F__ ; or G61.2 ;

X X axis end point coordinate

Y Y axis end point coordinate

Z Z axis end point coordinate

F Feedrate

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

766IB-1501278-Q

(1) The spline interpolation is available when the following conditions are all satisfied. If the following conditions are not satisfied, the spline function will be canceled once, and the judgment whether to carry out new spline from the next block will be made.

It is the movement only of three axes set to the basic axes I, J and K. When the block length is smaller than the value of the machining parameter "#8030 MINUTE LENGS". When the movement amount is not 0. The group 1 command is G01 (linear interpolation). Operation in fixed cycle modal It is not during hypothetical axis interpolation mode. It is not during 3-dimensional coordinate conversion modal. It is not in a single block mode.

(2) The spline function is a modal command of group 13. This function is valid from G61.2 command block.

(3) The spline function is canceled by group 13 commands (G61 to G64).

(4) The spline function is canceled by NC reset 2, reset & rewind, NC reset 1 (the setting which does not hold modal when NC is reset) or power ON/OFF.

(1) If this function are not provided and G61.2 is commanded, the program error (P39) will occur.

(2) Even if "-1" is set for parameter "#8030 MINUTE LENGS", the spline function will be temporarily canceled by the cancel conditions (cancel angle, non-movement block, excessive chord error, etc.) other than the block length.

(3) Graphic check will draw the shape of when the spline interpolation OFF.

(4) A program error (P34) will occur if the number of axis in the part system does not exceed 3.

Program example

:

G91 ;

G61.2 ; Spline interpolation mode ON

G01 X0.1 Z0.1 F1000 ;

X0.1 Z-0.2 ;

Y0.1 ;

X-0.1 Z-0.05;

X-0.1 Z-0.3;

G64 ; Spline interpolation mode OFF

:

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

767 IB-1501278-Q

17.7 Machining Condition Selection I ; G120.1, G121

After initializing the machining condition parameter groups with the machining condition selection I function, the ma-

chining condition parameter groups can be switched by G code command.

Switching is also possible on the "Machining cond" (selecting) screen. In that case, however, the machining condi-

tions selected on the screen are applied to all part systems.

(1) G120.1 and G121 commands are unmodal commands of G code group 0.

(2) Switching of the machining condition parameter group using the G120.1 or G121 command is only applied to the commanded part system.

(3) G120.1 must be commanded alone in a block, which also applies to G121. If it is not commanded alone in a block, a program error (P33) will occur.

(4) Address P in G120.1 command cannot be omitted. If omitted, a program error (P33) will occur.

(5) Address Q in G120.1 command can be omitted. If omitted, it will be handled as "Q1 (condition 1)" is commanded.

(6) When address P and Q in G120.1 command is commanded with a decimal point, the digit after the decimal point is ignored.

(7) If other than "0 to 3" is set to address P in G120.1 command or other than "1 to 3" is set to address Q, a program error (P35) will occur.

(8) When address P is set to "0" and address Q is omitted or set between "1" and "3" in G120.1 command, it will be switched to the reference parameter.

(9) It will be switched to the machining condition parameter group selected in "Machining cond" (selecting) screen by the G121 command.

Function and purpose

Command format

Machining condition selection I

G120.1 P_ Q_ ;

P Machining purpose 0: Reference parameter 1: Usage 1 2: Usage 2 3: Usage 3

Q Condition 1: Condition 1 2: Condition 2 3: Condition 3

When omitted, Q1 will be applied

Machining condition selection I cancel

G121;

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

768IB-1501278-Q

(10) When the emergency stop and reset (reset 1, reset 2, and reset & rewind) are performed while running the ma- chining program whose machining condition parameter group is switched by G120.1 command, it will be switched to the selected condition parameter group machining in "Machining cond" (selecting) screen.

(11) Because the parameters are switched after being decelerated by G120.1 and G121 commands, the workpiece may be damaged. Make sure to keep the tool away from the workpiece when commanding G120.1 and G121.

(12) When the machining condition parameter group is switched by G120.1 command more than once, the param- eter group commanded last becomes valid.

(13) It is switched to the selected machining condition parameter group in the "Machining cond" (selecting) screen by program end (M02 and M30).

(14) If G120.1 and G121 are commanded without initializing the machining condition parameter group, a program error (P128) will occur.

"Machining cond" (setting) screen

The displayed machining condition parameter group is switched depending on whether tolerance control is enabled

or disabled (parameter "#12066 Tolerance ctrl ON").

Program example

High-accuracy setting

(for finishing machining)

Standard setting (for medium

finishing machining)

High-speed setting

(for rough cutting machining)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

769 IB-1501278-Q

(1) When "Application1" and "Condition1" from the machining condition parameter group are selected in "Machining cond" (selecting) screen before running the program.

N1 G91 G28 Z0; Machining condition parameters Operate with (machining usage 1/ condition 1)

N2 G28 X0 Y0;

N3 G90 G54 G00 X2. Y2.;

N4 G43 H1 Z50.;

N5 G90 G01 Z-5. F3000;

N6 M3 S10000;

N7 F2000;

N8 G05 P10000;

N9 G01 X2.099 Y1.99;

N10 X2.199 Y1.990;

:

N1499 G05 P0;

N1500 G91 G28 Z0;

N1501 G28 X0 Y0;

N1502 M5;

N1503 G120.1 P1 Q3; ... The machining condition parame- ter groups are switched.

N1504 G90 G54 G00 X2. Y2.; Machining condition parameters Operate with (machining usage 1/ condition 3)

N1505 G43 H1 Z50.;

N1506 G90 G01 Z-8. F3000;

N1507 M3 S10000;

N1508 F1200;

N1509 G05 P10000;

N1510 G01 X2.099 Y1.997;

N1511 X2.199 Y1.990;

:

N2999 G05 P0;

N3000 G91 G28 Z0;

N3001 G28 X0 Y0;

N3002 M5;

N3003 M30; ... Return to the selected machining condition parameter group in "Ma- chining cond" (selecting) screen at the program end.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

17 High-speed High-accuracy Control

770IB-1501278-Q

(1) G code modal that cause a program error when commanding G120.1 and G121 are listed below.

(1) Because the parameters are switched after being decelerated once G120.1 or G121 is commanded, the work- piece may be damaged. Make sure to keep the tool away from the workpiece when commanding G120.1 and G121.

(2) It is switched to the reference parameter by turning the power ON again.

(3) When G120.1 and G121 are commanded, parameters are switched when smoothing for NC axes in all part sys- tems become "0".

(4) The machining condition parameter group neither set the parameter setting from the program by G10 command nor read the parameters by system variables (from #100000).

(5) If the machining condition parameters are switched, the setting values of the parameters "#2010 fwd_g" and "#2659 tolerance" are identical for all the NC axes in the switched part system.

(6) The machining condition parameters are not switched for the operation search. The machining condition param- eters are switched for the restart search.

(7) When the following conditions are satisfied simultaneously, the variable-acceleration pre-interpolation accelera- tion/deceleration is disabled automatically. The operation error (M01 0136) is not displayed. Variable-acceleration pre-interpolation acceleration/deceleration is ON. SSS control has been switched from ON to OFF by machining condition selection I.

Relationship with other functions

G code Function Program error when G120.1 and G121 are commanded

G02.3, G03.3 Exponential interpolation P128

G06.2 NURBS interpolation P32

G07.1 Cylindrical interpolation P128

G12.1 Polar coordinate interpolation P128

G10 Parameter input by program P421

Tool compensation input by pro- gram

G33 Thread cutting P128

G38 Tool radius compensation (vector designation)

P128

G39 Tool radius compensation (corner arc)

P128

G41, G42 Tool radius compensation P128

3-dimensional tool radius compen- sation

G41.1/G151 Normal line control Left P128

G42.1/G152 Normal line control Right P128

G43 Tool length compensation (+) P128

G43.4, G43.5 Tool center point control P942

G66, G66.1 User macro (modal call A, B) P128

G68.2, G68.3 Inclined surface machining P951

G73/G74/G76/G81/G82/G83/ G84/G85/G86/G87/G88/G89

Fixed cycle P33 (When G120.1 command is is- sued)

P128 (When G121 command is is- sued)

Precautions

18

771 IB-1501278-Q

Advanced Multi-Spindle Control Function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

772IB-1501278-Q

18Advanced Multi-Spindle Control Function 18.1 Spindle Synchronization

In a machine having two or more spindles, this function controls the rotation speed and phase of one spindle (refer-

ence spindle) in synchronization with the rotation of the other spindle (synchronized spindle).

This function provides, for example, an effect that re-grasps the workpiece grasped by the 1st spindle to the 2nd

spindle while maintaining the rotation speed of the 1st spindle to reduce the cycle time by the 1st spindle decelera-

tion time and the 2nd spindle acceleration time in the next process during re-grasping.

Furthermore, this function carries out turning or phase control while grasping both edges of a longer workpiece using

the 1st and 2nd spindles, preventing a twist or bow from occurring in the workpiece under machining and enabling

the machining accuracy.

The spindle synchronous multi-step acceleration/deceleration of the reference spindle is applied to the acceleration/

deceleration of the spindle-synchronization relation spindle under spindle synchronization. (Only for C80 series)

The following control methods are available. Which mode is valid depends on the MTB specifications (parameter

"#1300 ext36/bit7"). This section describes spindle synchronization control I that is executed with G commands.

Spindle synchronization I

The designation of the synchronized spindle and start/stop of the synchronization are executed by commanding

G codes in the machining program.

Spindle synchronization II

The selections of the synchronized spindle and synchronization start, etc., are controlled from PLC based on the

MTB specifications. Refer to the instruction manual issued by the MTB for details.

Function and purpose

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

773 IB-1501278-Q

18.1.1 Spindle Synchronization I; G114.1

With the spindle synchronization I, the designation of the spindle and start/stop of the synchronization are executed

by commanding G codes in the machining program.

This function cannot be combined with the following spindle synchronization functions while it is active. An operation

error (M01 1005) occurs.

Spindle synchronization I Spindle synchronization II Tool spindle synchronization IA Tool spindle synchronization IB (IC) Tool spindle synchronization II

(*1) This command changes the phase shift amount of the synchronized spindle of two spindles which have already

synchronized by spindle synchronization command.

The spindle synchronization ON (G114.1) command designates the reference spindle and synchronized spindle,

and synchronizes the two designated spindles. By commanding the phase shift amount of synchronized spindle, the

phases of the reference spindle and synchronized spindle can be aligned.

Function and purpose

Command format

Spindle synchronization command

G114.1 H__ D__ R__ A__ ; Spindle synchronization start command

G114.1 D__ R__ ; Phase shift amount change during spindle synchronization (*1) [C80]

H Reference spindle specification

D Synchronized spindle specification

R Phase shift amount of synchronized spindle

A Spindle synchronization acceleration/deceleration time constant

Address Meaning Command range (unit)

Remarks

H Reference spindle speci- fication Select the number or name of the spindle to be used as the reference spindle from the two spin- dles to be synchronized. (*1)

For spindle number: 1 to n (n: Maximum number of available spindles) For spindle name: 1 to 9

If a value exceeding the command range or spin- dle No. without specifications is commanded, a program error (P35) will occur. If there is no command, a program error (P33) will

occur. If an analog-connected spindle is commanded, a

program error (P700) will occur. (*2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

774IB-1501278-Q

(*1) There are two spindle command methods: spindle number method and spindle name method.

Command with the spindle names, only when all spindles are set with the spindle name parameter (#3077

Sname) (from 1 to 9). For others, command with the spindle number. These settings depend on the MTB spec-

ifications.

(*2) The available spindle type and connection method depend on the specifications of your machine tool.

D Synchronized spindle specification Select the number or name of the spindle to be synchronized with the ref- erence spindle from the two spindles to be syn- chronized. (*1)

For spindle number: 1 to n or -1 to -n (n: Maximum number of available spindles) For spindle name: 1 to 9 or -1 to -9

If a value exceeding the command range is com- manded, a program error (P35) occurs. If there is no command, a program error (P33) will

occur. If the same spindle as that commanded for the ref-

erence spindle selection is designated, a program error (P33) will occur. The rotation direction of the synchronized spindle

in respect to the reference spindle is commanded with the D sign. If an analog-connected spindle is commanded, a

program error (P700) will occur. (*2)

R Phase shift amount of synchronized spindle Set the shift amount from the synchronized spin- dle's reference position ("one rotation" signal).

0 to 359.999 () or 0 to 359999

(* 10-3)

If a value exceeding the command range is com- manded, a program error (P35) occurs. The commanded shift amount will be effective in

the clockwise direction of the reference spindle. Minimum resolution of commanded shift amount

Semi-close case (Gear ratio: 1:1 only) 360/4096 []

Full-close case (360/4096) * K [] (K: Gear ratio of spindle and encoder)

If there is no R command, phase alignment will not be carried out.

A Spindle synchronization acceleration/decelera- tion time constant Command the accelera- tion/deceleration time constant for when the spindle synchronization command rotation speed changes. (Command this to accel- erate or decelerate at a speed slower than the time constant set in the parameters.)

0.001 to 9.999 (s) or 1 to 9999 (ms)

If a value exceeding the command range is com- manded, a program error (P35) occurs. If the commanded value is smaller than the accel-

eration/deceleration time constant set with the pa- rameters, the value set in the parameters will be applied.

Address Meaning Command range (unit)

Remarks

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

775 IB-1501278-Q

(1) An axis that involves any travel cannot be put in the same block as the Spindle synchronization cancel command. Doing so causes the program error (P33) when the cancel command is issued, which causes automatic opera- tion to pause.

Spindle synchronization cancel (G113.1) cancels the synchronous state of the two spindles rotating in synchroniza-

tion with the spindle synchronization command.

(1) The rotation speed and rotation direction of the reference spindle and synchronized spindle during spindle syn- chronization are the rotation speed and rotation direction commanded for the reference spindle. Note that the rotation direction of the synchronized spindle can be reversed from the reference spindle through the program.

(2) The reference spindle's rotation speed and rotation direction can be changed during spindle synchronization.

(3) If spindle stop is commanded for the synchronized spindle during spindle synchronization, the synchronized spin- dle rotation will stop. The "Spindle rotation speed synchronization completion" signal (FSPRV) and the "Spindle phase synchroniza- tion completion" signal (FSPPH) are turned OFF.

(4) The rotation speed command (S command) and constant surface speed control are invalid for the synchronized spindle during spindle synchronization. Note that the modal is updated, so these will be validated when the spin- dle synchronization is canceled.

(5) The constant surface speed can be controlled by issuing a command to the reference spindle even during spindle synchronization.

Canceling spindle synchronization

G113.1;

Detailed description

Rotation speed and rotation direction

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

776IB-1501278-Q

(1) When rotation synchronization control (command with no R address) is commanded with the G114.1 command, the synchronized spindle rotating at an arbitrary rotation speed will accelerate or decelerate to the rotation speed commanded beforehand for the reference spindle, and will enter the rotation synchronization state.

(2) If the reference spindle's commanded rotation speed is changed during the rotation synchronization state, ac- celeration/deceleration will be carried out while maintaining the synchronization state following the spindle ac- celeration/deceleration time constants set in the parameters, and the commanded rotation speed will be achieved.

(3) In the rotation synchronization state, the reference spindle can be controlled at a constant surface speed even when two spindles are grasping one workpiece.

(4) The following type of operation will take place.

Rotation synchronization

M23 S2=750 ; Forward rotate the 2nd spindle (synchronized spindle) at 750 r/min (speed command). (a)

:

M03 S1=1000 ; Forward rotate the 1st spindle (reference spindle) at 1000 r/min (speed command). (b)

:

G114.1 H1 D-2 ; Synchronize the 2nd spindle (synchronized spindle) with the 1st spindle (reference spin- dle) by reverse run. (c)

:

S1=500 ; Change the rotation speed of the 1st spindle (reference spindle) to 500 r/min. (d)

:

G113.1; Cancel the spindle synchronization. (e)

Rotation speed (r/min)

Forward rotation

Reference spindle

Synchronized spindle

Time

Reverse rotation

1000

750

500

0

- 500

- 750

- 1000

(a) (b) (c) (d) (e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

777 IB-1501278-Q

(1) When phase synchronization (command with R address) is commanded with the G114.1 command, the synchro- nized spindle rotating at an arbitrary rotation speed will accelerate or decelerate to the rotation speed command- ed beforehand for the reference spindle, and will enter the rotation synchronization state. Then, the phase is aligned so that the rotation phase commanded with the R address is reached, and the phase synchronization state is entered.

(2) If the reference spindle's commanded rotation speed is changed during the phase synchronization state, accel- eration/deceleration will be carried out while maintaining the synchronization state following the spindle acceler- ation/deceleration time constants set in the parameters, and the commanded rotation speed will be achieved.

(3) In the phase synchronization state, the reference spindle can be controlled at the constant surface speed even when two spindles are grasping one workpiece.

(4) The following type of operation will take place.

(*1) Phase synchronization is performed with the step alignment method (without acceleration/deceleration)

when "#3130 syn_spec/bit1" = "0", and with the multi-step acceleration/deceleration method (described lat-

er) when "#3130 syn_spec/bit1" = "1".

Phase synchronization

M23 S2=750 ; Forward rotate the 2nd spindle (synchronized spindle) at 750 r/min (speed command). (a)

:

M03 S1=1000 ; Forward rotate the 1st spindle (reference spindle) at 1000 r/min (speed command). (b)

:

G114.1 H1 D-2 R0; Synchronize the 2nd spindle (synchronized spindle) with the 1st spindle (reference spin- dle) by reverse run. (c) Shift the phase of synchronized spindle by the value commanded with "R". (d)

:

S1=500 ; Change the rotation speed of the 1st spindle (reference spindle) to 500 r/min. (e)

:

G113.1; Cancel the spindle synchronization. (f)

Rotation speed (r/min)

Forward rotation

Reference spindle

Synchronized spindle

Time

Reverse rotation

1000

750

500

- 500

- 750

- 1000 (d) (*1)

(a)

0

(b) (c) (e) (f)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

778IB-1501278-Q

(1) When the "phase shift amount change during spindle synchronization" command (G114.1 D_ R_) is issued to change the phase shift amount of the spindle, for which the rotation or phase has already synchronized by the G114.1 command, the phase is aligned so that the rotation phase commanded with the R address is reached, and the phase synchronization state is entered.

The following type of operation will take place.

(*1) Phase synchronization is performed with the step alignment method when "#3130 syn_spec/bit1" = "0", and

with the multi-step acceleration/deceleration method (described later) when "#3130 syn_spec/bit1" = "1".

Operation when the "phase shift amount change during spindle synchronization" command is issued [C80]

N01 M23 S2=750; Forward rotate the 2nd spindle (synchronized spindle) at 750 r/min (speed command). (a)

:

N10 M03 S1=1000; Forward rotate the 1st spindle (reference spindle) at 1000 r/min (speed com- mand). (b)

:

N20 G114.1 H1 D-2 Rxx; Synchronize the 2nd spindle (synchronized spindle) with the 1st spindle (refer- ence spindle) by reverse run. (c)

: Shift the phase of synchronized spindle by the value commanded with "R". (d)

N25 Mzz; Wait until phase synchronization is completed.

: (An M code is used to check the completion of spindle phase synchronization)

N30 G114.1 D2 Ryy; Shift the phase of the 2nd spindle (synchronized spindle) by the value com- manded with "R". (e)

:

N40 S1=500; Change the rotation speed of the 1st spindle (reference spindle) to 500 r/min. (f)

:

N50 G113.1; Cancel the spindle synchronization. (g)

Rotation speed (r/min)

Forward rotation

Reference spindle

Synchronized spindle

Time

Reverse rotation

1000

750

500

- 500

- 750

- 1000 (d) (*1)

(a)

0

(b) (c) (f) (g)

(e) (*1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

779 IB-1501278-Q

(2) The operation to be performed when the "phase shift amount change during spindle synchronization" command (G114.1 D_ R_) is issued varies depending on conditions, for example, whether spindle synchronization has started.

(*1) Spindle synchronization start command

(*2) Command to change the phase shift amount during spindle synchronization

The spindle phase shift amount calculation function obtains and saves the phase difference of the reference spindle

and synchronized spindle by turning the "PLC" signal ON when the phase synchronization command is executed.

When the phase is positioned to the automatically saved phase difference before executing the phase synchroniza-

tion control command, phases can be aligned easier when re-grasping profile materials.

[Saving the phase difference between reference spindle and synchronized spindle]

(1) Set a profile material in the reference spindle.

(2) Set the profile material in the synchronized spindle.

(3) Turn the "phase shift calculation request" signal (SSPHM) ON.

(4) Input a rotation command, with 0 speed, for the reference spindle and synchronized spindle. M3 S1=0 M24 S2 = 0;

(5) Execute the rotation synchronization command (with no R address command). G114.1 H1 D-2;

(6) Rotate the reference spindle at the speed actually used when re-grasping. S1 = 3000;

(7) Check that the phase difference has been saved by looking at the "spindle speed synchronization complete" sig- nal.

(8) Stop both spindles.

(9) Turn the "phase shift calculation request" signal OFF.

Phase shift amount (When "start" command (*1) is issued)

State in which the spindle synchroniza- tion "start" command is not executed.

"R" is omitted. (G114.1 H_ D_)

"R" is specified. (G114.1 H_ D_ R_)

Phase shift amount (When "change"

command (*2) is is- sued)

"R" is omitted. Unchanged as spec- ified when the start command (*1) is is- sued.

The phase remains unchanged with the shift amount speci- fied when the start command (*1) is is- sued.

(Program error (P33))

(G114.1 D_)

"R" is specified. The phase shift is carried out in accor- dance with the change command (*2).(G114.1 D_ R_)

Spindle synchronization phase shift amount calculation function

Reference spindle Synchronized spindle

: Saved phase difference

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

780IB-1501278-Q

[Automatic phase alignment of reference spindle and synchronized spindle]

(1) Turn the "phase offset request" signal ON.

(2) Issue the phase synchronization command (with R command). G114.1 H1 D-2 R0;

(3) The phase is aligned by offsetting the phase synchronization command by the phase difference obtained with the spindle synchronization phase shift calculation function. The state in which the phase shift amount of syn- chronized spindle, designation R value, is "0", is the same as the reference state (state obtained with "phase shift calculation request" signal).

Reference spindle Synchronized spindle

(a) Phase difference (b) Phase alignment

M6; M15; G113; M3 S1=0 M24 S2=0;

G114.1 H1 D-2;

S1=3000; M77; S1=0; G04X_; G113;

Phase shift calculation request signal (SSPHM, PLC CNC)

Reference spindle chuck close M code

Synchronized spindle chuck close M code

Example of operation macro Automatic operation start (ST, PLC CNC)

Spindle rotation speed synchronization complete signal (FSPRV, CNC PLC)

Saving the phase difference between reference spindle and synchronized

spindle is completed

NC reset

Spindle synchronization complete check M code

Reference spindle forward run command (M3) Reference spindle reverse run command (M24)

(b) (a)

G114.1 H1 D-2 R_; M77; Phase offset request signal (SSPHF, PLC CNC)

Spindle phase synchronization complete signal (FSPRH, CNC PLC)

Spindle synchronization complete check M code

Phase alignment between reference spindle and synchronized spindle is

completed

Machining program example

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

781 IB-1501278-Q

Acceleration/deceleration time constants for up to eight steps can be selected according to the spindle rotation

speed for the acceleration/deceleration during spindle synchronization.

The acceleration/deceleration in each step is as follows.

Time required from minimum rotation speed to maximum rotation speed in each step

= [Time constant without multi-step acceleration/deceleration] * [magnification of time constant in each step]

* [Rate of rotation speed width in each step respect to rotation speed width up to limit rotation speed]

(1) When the "A" address is designated at G114.1 command, the time is obtained with the "A" address instead of "spt" in the formula below.

Time required for spindle to rotate with the rotation speed set in "sptc 1" from stopped state (a)

= spt * sptc1 / slimit

Time required for spindle to reach the rotation speed set in "sptc2" from the speed of "sptc1" (b)

= spt * spdiv1 * (sptc2 - sptc1) / slimit

Time required for spindle to reach the rotation speed set in "sptc3" from the speed of "sptc2" (c)

= spt * spdiv2 * (sptc3 - sptc2) / slimit

Time required for spindle to reach the rotation speed set in "sptc4" from the speed of "sptc3" (d)

= spt * spdiv3 * (sptc4 - sptc3) / slimit

Time required for spindle to reach the rotation speed set in "sptc5" from the speed of "sptc4" (e)

= spt * spdiv4 * (sptc5 - sptc4) / slimit

Time required for spindle to reach the rotation speed set in "sptc6" from the speed of "sptc5" (f)

= spt * spdiv5 * (sptc6 - sptc5) / slimit

Time required for spindle to reach the rotation speed set in "sptc7" from the speed of "sptc6" (g)

= spt * spdiv6 * (sptc7 - sptc6) / slimit

Time required for spindle to reach the rotation speed set in "slimit" from the speed of "sptc7" (h)

= spt * spdiv7 * (slimit - sptc7) / slimit

To decrease the number of acceleration/deceleration steps during spindle synchronization, set one of the following

for the unnecessary step.

Magnification for time constant changeover speed (spdiv7 to spdiv1) = 0 (or 1) Spindle synchronous multi-step acceleration/deceleration changeover speed (sptc7 to sptc1) = Limit rotation

speed (slimit) or higher

Multi-step acceleration/deceleration

Rotation speed (r/min)

Time (ms)

Note

slimit

sptc7

sptc6

sptc5

sptc4

sptc3

sptc2

sptc1

(a) (b) (c) (d) (e) (f) (g) (h) spt

0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

782IB-1501278-Q

The spindle orientation is carried out with the spindle orientation command for the reference spindle while the spindle synchronization status remains kept. The spindle orientation command is ignored for the synchronized spindle. The multi-step orientation command or indexing command is also enabled.

The "spindle orientation command" signal (ORC) for the reference spindle in the C axis mode is ignored during spindle synchronization. However, if the spindle position control command (C axis mode switch command) is issued during spindle orientation, the mode is switched to the C axis mode.

The "spindle orientation" signal operation depends on the MTB specifications. Refer to the instruction manual issued

by the MTB for details.

Gear switching is enabled while the reference spindle is in the spindle mode. Gear switching is disabled while the reference spindle is in the C axis mode or in process of spindle orientation.

Switching to the C axis mode or the spindle orientation cannot be carried out during gear switching. After gear switching has been completed, the mode is switched to the C axis mode.

The reference position return operation at C axis mode switch command for the reference spindle and the spin- dle override in the C axis mode are invalid.

The cutting feed override or rapid traverse override of the NC axes is valid in the C axis mode. The spindle override is invalid while the reference spindle is in process of spindle orientation or spindle indexing.

The maximum clamp rotation speed specified with the address S following G92 is valid for the reference or syn- chronized spindle.

The minimum clamp rotation speed specified with the address Q following G92 is valid for the reference spindle, but invalid for the synchronized spindle. If the rotating spindle is set to the synchronized spindle at the minimum clamp rotation speed, the minimum rotation speed clamp is canceled, and the spindle rotates at the command- ed rotation speed. If the spindle synchronization control state is canceled, the minimum clamp rotation speed is enabled.

The synchronous tap spindle cannot be commanded as the reference spindle or synchronized spindle of the spindle synchronization I. If such a command is issued, an operation error (M01 1007) occurs, causing the automatic operation to be paused.

You cannot command a synchronous tapping that uses the reference spindle or synchronized spindle of spindle synchronization I. If such a command is issued, an operation error (M01 1139) occurs, causing the automatic operation to be paused.

The spindle-mode rotary axis cannot be commanded for the reference spindle or synchronized spindle of spindle

synchronization I/II, tool spindle synchronization IA (spindle-spindle, polygon), or tool spindle synchronization IB

(spindle-spindle, polygon). If such a command is issued, an operation error (M01 1024) occurs, causing the auto-

matic operation to be paused.

Relationship with other functions

"Spindle orientation" signal (ORC)

Switching the spindle gear

Spindle override

Spindle clamp speed setting

Synchronous tapping cycle

Spindle-mode rotary axis control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

783 IB-1501278-Q

(1) The spindle rotating with spindle synchronization control will stop when emergency stop is applied.

(2) The rotation speed clamp during spindle synchronization will follow the smaller clamp value set for the reference spindle or synchronized spindle.

(3) Orientation of the reference spindle and synchronized spindle is not possible during the spindle synchronization mode. To carry out orientation, cancel the spindle synchronization mode first.

(4) The rotation speed command (S command) is invalid for the synchronized spindle during the spindle synchroni- zation mode. However, the modal will be updated, therefore this command will be validated when spindle syn- chronization is canceled.

(5) The constant surface speed control is invalid for the synchronized spindle during the spindle synchronization mode. However, the modal will be updated, therefore this command will be validated when spindle synchroniza- tion is canceled.

(6) The rotation speed command (S command) and constant surface speed control for the synchronized spindle will be validated when spindle synchronization is canceled. Thus, the synchronized spindle may carry out different operations when this control is canceled.

(7) If the phase difference is not obtained with the "phase shift calculation request" signal and the phase synchroni- zation command is executed by turning the "phase offset request" signal ON, the phase shift amount will not be calculated correctly.

(8) The spindle Z phase encoder position parameter "#3035 sppst" is invalid when using the spindle synchronization phase shift amount calculation function. (It is ignored.) The spindle Z phase encoder position parameter "#3035 sppst" is valid when the "phase offset request" signal is OFF.

(9) If the phase synchronization command (command with R address) is issued while the "phase shift calculation request" signal is ON, an operation error (1106) occurs.

(10) If the "phase shift calculation request" signal is ON and the reference spindle or synchronized spindle is rotation while rotation synchronization is commanded, an operation error (1106) occurs.

(11) If the phase synchronization command R0 ( G114.1 H1 D-2 R0) is commanded while the "phase offset request" signal is ON, the spindle phases between reference spindle and synchronized spindle will be aligned to the phase difference of the reference spindle and synchronized spindle saved in the NC memory.

(12) If a value other than the phase synchronization command R0 ( G114.1 H1 D-2 R100) is commanded while the "phase offset request" signal is ON, the phase difference obtained by adding the value commanded with the R address command to the phase difference of the reference spindle and synchronized spindle saved in the NC memory will be used to align the reference spindle and synchronized spindle.

(13) The "phase offset request" signal will be ignored when the "phase shift calculation request" signal is ON.

(14) The phase difference of the reference spindle and synchronized spindle saved in the NC is valid only when the "phase shift calculation" signal is ON and for the combination of the reference spindle selection (H_) and syn- chronized spindle selection (D_) commanded with the rotation synchronization command (no R address). For example, if the phase difference between reference spindle and synchronized spindle is saved as "G114.1 H1 D-2 ;", the saved phase difference will be valid only when the "phase offset request" signal is ON and "G114.1 H1 D-2 R*** ;" is commanded. If "G114.1 H2 D-1 R*** ;" is commanded in this case, the phase shift amount will not be calculated correctly.

(15) The phase difference between reference spindle and synchronized spindle saved in the NC is held until the next spindle synchronous phase shift calculation (rotation synchronization command is completed with the "phase shift calculation request" signal ON).

(16) When the spindle synchronization commands are being issued with the PLC I/F method (#1300 ext36/bit7 OFF), a program error (P610) occurs if the spindle synchronization is commanded with G114/G113.1.

(17) When the spindle-mode servo is used for the reference spindle or the synchronized spindle, the spindle param- eter "#13003 SP003" (PGS) and spindle-mode servo parameter "#52203 SV003" (PGN) must be set to the same value between the reference and synchronized spindles. (These settings depend on the MTB specifications.)

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

784IB-1501278-Q

(1) To enter the rotation synchronization mode while the reference spindle and synchronized spindle are chucking the same workpiece, turn the reference spindle and synchronized spindle rotation commands ON before turning the spindle synchronization mode ON.

(2) To chuck the same workpiece with the reference spindle and synchronized spindle in the phase synchronization mode, align the phases before chucking.

(3) (Only for M8 series) When the spindle synchronization control is commanded and if the "start" signal of the syn- chronized spindle is not input, turn the servo ON for the synchronized spindle and accelerate or decelerate the spindle rotation up to the commanded speed of the reference spindle. Whether the linear acceleration/deceler- ation or multi-step acceleration/deceleration is used as the acceleration/deceleration depends on the MTB spec- ifications (parameter "#1255 set27/bit6").

However, when the synchronized spindle is the spindle-mode servo, multi-step acceleration/deceleration is ap-

plied regardless of the parameter setting.

Cautions on programming

CAUTION

Do not make the synchronized spindle rotation command OFF with one workpiece chucked by the reference

spindle and synchronized spindle during the spindle synchronization mode. Failure to observe this may cause

the synchronized spindle stop, and hazardous situation.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

785 IB-1501278-Q

18.1.2 Spindle Position Control (Spindle/C Axis Control) under Spindle Synchronization Control

This function enables the spindle position control (spindle/C axis control) by the reference spindle in spindle syn-

chronization control mode.

The reference spindle can be controlled as the rotary axis while the spindle synchronization status remains kept,

and also positioning or interpolation with another NC axis is enabled by issuing the position command (movement

command) in the same way as for the NC axis.

There are two methods: PLC signal method and program command method to switch the spindle and rotary axis

during spindle synchronization control. The method that is applied for switching depends on the MTB specifications

(parameter "#3129 cax_spec/bit0").

This section describes the program command method.

In this manual, the state to control an axis as a spindle is referred to as "spindle mode", and the state to control an

axis as a rotary axis as "C axis mode".

For details about the spindle position control (spindle/C axis control) function, refer to "10.4 Spindle Position Control

(Spindle/C Axis Control)".

This section also describes considerations to perform the spindle position control (spindle/C axis control) under spin-

dle synchronization, and the status of various PLC signals and restrictions. The status, control method, and opera-

tion of the PLC signal depend on the MTB specifications.

Function and purpose

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

786IB-1501278-Q

The machining program switches the reference spindle to the C axis mode with G00 command, and to the spindle

mode with S command. The C axis servo OFF signal (*SVFn) must be kept ON while the program command method

is selected.

When the program command method is selected, switching operation is performed only with the reference position

return type.

The following shows the C axis switching sequence under spindle synchronization.

(1) If "G00 C_" is commanded on the program when the reference spindle under spindle synchronization is in the spindle mode, the spindle is directly located at the position commanded by the reference spindle while the synchronous status remains kept.

(2) Only the G00 command is valid to switch the mode. If the C axis movement is commanded with the G code other than G00, it causes a program error (P430).

(3) The spindle position control (spindle/C axis control) axis must be commanded with the absolute position ad- dress or absolute command (G90). If the incremental position address or incremental command (G91) is used, it causes a program error (P32).

(4) In the switching specifications, only the reference position return type (equivalent to "#3106 zrn_typ/bit8" = 0) is valid, and the direction to return from the rotation mode to the reference position follows the rotation direction (equivalent to "#3106 zrn_typ/bitB" = 1). The direction to return from the spindle stop state to the reference position ("#3106 zrn_typ/bitA-bit9") and interpolation mode selection ("#3106 zrn_typ/bitD-bitE ") follow the appropriate parameters.

[C axis mode switching conditions]

(1) The C axis servo OFF signal (*SVFn) of the reference spindle is set to ON when switching is commanded.

(2) The spindle rotation speed synchronization completion signal (FSPRV) is set ON for rotation synchronization, and the spindle phase synchronization completion signal (FSPPH) is set ON for phase synchronization.

(1) The switching is performed with the spindle forward run signal (SRN) ON or the spindle reverse run signal (SRI) ON and the S command.

(2) The switching is performed with the startup of the spindle forward run signal (SRN) or the spindle reverse run signal (SRI).

[Spindle mode switching condition]

(1) The C axis servo OFF signal (*SVFn) of the reference spindle is set to ON and the C axis selection signal (CMD) is set to OFF when switching is commanded.

Detailed description

Program command method

G114.1 H1 D2 G00 C0 S1000 M3G00 C90.

NC->PLC

NC->PLC

PLC->NC

PLC->NC

Spindle mode Spindle mode

In spindle synchronization

C axis mode

(Parameter) Spindle/C axis reference position

return speed

FSPRV Spindle rotation speed

synchronization completed

*SVFn Servo OFF

RDYn Servo ready

Start of spindle forward run (reverse run)

time

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

787 IB-1501278-Q

(1) The mode cannot be switched from the spindle mode to the C axis mode or from the C axis mode to the spin- dle mode.

(2) In the spindle mode, the axis does not run as a spindle even if the forward run command (SRN) or reverse run command (SRI) is executed.

(3) In the C axis mode, an operation error (M01 0005) occurs if the movement command is executed. In the servo OFF mode, switching follows the setting of the spindle specification parameter "#1064 svof " (error correc- tion).

If the C axis mode selection command is issued until the spindle synchronization completion signal (spindle rotation

speed synchronization completion (FSPRV) for rotation synchronization and spindle phase synchronization comple-

tion (FSPPH) for phase synchronization (FSPPH)) is set ON after the spindle synchronization command has been

issued, the mode is switch to the C axis mode after the spindle synchronization completion signal has been set ON.

The following shows the C axis mode selection command from after the spindle synchronization command has been

issued to before the spindle synchronization is completed.

C axis mode selection command in spindle synchronization incomplete state

M3 S1=500 M23 S2=0 MG114.1 H1 D-2 R0

NC->PLC

NC->PLC

PLC->NC

time

Spindle mode C axis mode

In spindle synchronization

Wait for the completion of spindle synchronization.

Phase alignment (at R command)

Reference spindle (S1) Synchronized spindle (S2)

Spindle/C axis control status

FSPPH Spindle rotation speed

synchronization completed

*SVFn Servo OFF

RDYn Servo ready

M: C axis switching command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

788IB-1501278-Q

The spindle synchronization is canceled while the reference spindle remains set in the C axis mode by issuing the

spindle synchronization cancel command in the C axis mode or axis stop state.

The following shows the spindle synchronization cancel operation in the C axis mode.

(1) If the spindle is stopped by feed hold or cutting override zero during C axis movement, the spindle synchroniza- tion control is canceled with the spindle synchronization cancel command.

(2) If the C axis is in process of movement when the spindle synchronization cancel command is issued, it causes an operation error (M01 1135), and the spindle synchronization cancel operation is not completed. When the movement of the C axis is completed and the C axis is set to the smoothing zero, the operation error is canceled, and the spindle synchronization cancel operation is completed.

(1) When a spindle that is not in the spindle synchronization state is set in the C axis control mode, if the spindle synchronization command is issued using the spindle as the reference spindle, it causes an operation error (M01 1026).

Spindle synchronization cancel in C axis mode

Spindle synchronization command using the spindle in the C axis mode as the reference spindle

M G113G00 C100.G114.1 H1 D-2 G00 C200. M24 S2=2000

NC->PLC

NC->PLC

PLC->NC

PLC->NC

Spindle mode C axis mode

In spindle synchronization

Synchronized with reference spindle Spindle control

Reference spindle

FSPRV Spindle rotation speed

synchronization completed

*SVFn Servo OFF

RDYn Servo ready

SRI Start of spindle reverse run

(Synchronized spindle)

Reference spindle (S1) Synchronized spindle (S2)

Synchronized spindle

Spindle synchroni- zation

M: C axis switching command

time

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

789 IB-1501278-Q

When the reference spindle is in the C axis control state, the synchronized spindle synchronizes with the reference

spindle in the spindle control state without being setting in the C axis control state.

(1) The upper limit of the rotation speed in the C axis mode is controlled by the rapid traverse rate (#2001 rapid) or cutting feed clamp speed (#2002 clamp) of the C axis set to the axis specification parameter; therefore, the ro- tation speed of the spindle motor may exceed the highest spindle rotation speed depending on the setting of the C axis rapid traverse rate or clamp speed. The rapid traverse speed (#2001 rapid) and cutting feed clamp speed (#2002 clamp) of the C axis must not be below the highest spindle rotation speed (#3001 slimt1 to #3004 slimt4) of the reference or synchronized spindle (which depends on the MTB specifications).

C axis rapid traverse rate (/min) Highest spindle rotation speed (r/min) 360()

(2) If the spindle in the C axis mode is set to the reference or synchronized spindle, it causes an operation error (M01 1026). When the control mode at power-on is set to the C axis mode, switch it to the spindle mode once to com- mand the spindle synchronization, and switch it to the C axis mode again. The control mode at power-on depends on the MTB specifications (parameter "#3129 cax_spec/bit2").

(3) If the C axis servo OFF signal (*SVFn) of the synchronized spindle is set to ON during spindle synchronization, it causes an operation error (M01 1026).

Relationship with other functions

Function that can be commanded by the spindle position control (spindle/C axis control) under spindle syn- chronization control

Contents of command Operation

C axis selection command OFF The reference spindle is switched to the C axis mode, but the synchronized spin- dle is kept in the synchronous state.

Spindle synchronization cancel command (G113.1)

Cancels the spindle synchronization control. If the spindle synchronization cancel command is issued during movement of the

C axis, it causes an operation error (M01 1135), and the spindle synchronization is not canceled. When the operation error is canceled after the C axis has stopped, the spindle synchronization control is also canceled.

Emergency stop When the spindle is set in the emergency stop state, the spindle synchronization control is canceled immediately. If emergency stop occurs in the C axis mode, the reference or synchronized

spindle decelerates and stops based on the parameter (spindle parameter "#13056 SP056 EMGt " deceleration time constant at emergency stop) that is set to each spindle.

Tool center point control (G43.4)

When the reference spindle is in C axis mode, the functions shown on the left can be commanded. If the function shown on the left is commanded when the reference spindle is in

spindle mode, a program error (P934) or operation error (M01 0186) occurs. Inclined surface machining command (G68.2)

3-dimensional tool radius com- pensation (Tool's vertical-direc- tion compensation) (G41.2/G42.2/G40)

Workpiece installation error compensation (G54.4)

3-dimensional manual feed

Rotation center error compen- sation

Cautions on spindle position control under spindle synchronization control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

790IB-1501278-Q

18.2 Tool Spindle Synchronization I 18.2.1 Tool Spindle Synchronization IA (Spindle-Spindle, Polygon) ; G114.2, G113.1

In a machine having a rotary tool axis and having a spindle controlled as the workpiece axis, polygon machining

between spindles can be carried out by controlling the rotation of the workpiece axis in synchronization with the ro-

tary tool axis rotation.

This function cannot be combined with the following spindle synchronization functions while it is active. An operation

error (M01 1005) occurs.

Spindle synchronization I Spindle synchronization II Tool spindle synchronization IA Tool spindle synchronization IB (IC) Tool Spindle Synchronization II

(1) An axis address that involves any travel cannot be put in the same block as for the tool spindle synchronization IA cancel command. Doing so causes the program error (P33) when the cancel command is issued, which caus- es automatic operation to pause.

Function and purpose

Command format

Tool spindle synchronization IA (Spindle-spindle, polygon mode) ON

G114.2 H__ D__ E__ L__ R__ ;

H Rotary tool axis selection (Reference spindle)

D Workpiece axis selection (Synchronized spindle)

E Rotary tool axis rotation ratio designation

L Workpiece axis rotation ratio designation

R Phase shift amount of synchronized spindle

Tool spindle synchronization IA (Spindle-spindle, polygon mode) OFF

G113.1 ;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

791 IB-1501278-Q

Tool spindle synchronization IA ON (G114.2) command sets the polygon machining mode that rotates the two axes

in synchronization with differing speeds by designating the rotary tool axis and workpiece axes and the rotation ratio

(Number of the rotary tool gear teeth and workpiece corners) of the two designated spindles (spindle and spindle).

Tool spindle synchronization IA OFF (G113.1) cancels the synchronous state of two synchronously rotating spindles

using the spindle synchronization command.

(*1) There are two spindle command methods: spindle number method and spindle name method.

Command with the spindle names, only when all spindles are set with the spindle name parameter (#3077

Sname) (from 1 to 9). For others, command with the spindle number. These settings depend on the MTB spec-

ifications.

(*2) The available spindle type and connection method depend on the specifications of your machine tool.

Explanation of address

Address Meaning Command range (unit)

Remarks

H Rotary tool axis selec- tion Command the spindle number or spindle name of the rotary tool axis from multiple spindles. (*1)

Spindle number: 1 to n (n: Maximum num- ber of available spin- dles) Spindle name: 1 to 9

If a value exceeding the command range is command- ed, a program error (P35) will occur. If there is no command, a program error (P33) will oc-

cur. If the same value as the D command is commanded, a

program error (P33) will occur. If an analog-connected spindle is selected, a program

error (P700) will occur. (*2)

D Workpiece axis selection Commands the spindle number or spindle name of the workpiece axis of two spindles. (*1)

Spindle number: 1 to n or -1 to -n (n: Maximum num- ber of available spin- dles) Spindle name: 1 to 9 or -1 to -9

If a value exceeding the command range is command- ed, a program error (P35) will occur. If there is no command, a program error (P33) will oc-

cur. The rotation direction of the workpiece axis in respect

to the rotary tool axis is commanded with the D sign. If the same value as the H command is commanded, a

program error (P33) will occur. If an analog-connected spindle is selected, a program

error (P700) will occur. (*2)

E Rotary tool axis rotation ratio designation Set the rotation ratio (Number of rotary tool gear teeth) of the rotary tool axis.

1 to 999 If a value exceeding the command range is command- ed, a program error (P35) will occur. If there is no command, the rotation ratio will be inter-

preted as 1.

L Workpiece axis rotation ratio designation Set the rotation ratio (number of workpiece corners) of the work- piece axis.

1 to 999 If a value exceeding the command range is command- ed, a program error (P35) will occur. If there is no command, the rotation ratio will be inter-

preted as 1.

R Phase shift amount of synchronized spindle Set the shift amount from the synchronized spin- dle's reference position ("one rotation" signal).

0 to 359.999 () If a value exceeding the command range is command- ed, a program error (P35) will occur. The commanded shift amount will be applied in the

clockwise direction in respect to the spindle. Minimum resolution of commanded shift amount

Semi-close case 360/4096 []

Full-close case (360/4096) * K [] (K: Gear ratio of spindle and encoder)

If there is no R command, phase alignment will not be carried out.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

792IB-1501278-Q

The rotary tool axis and workpiece axis rotation speed and rotation direction during tool spindle synchronization IA

command are as follows.

(1) The rotation speed and rotation direction of the rotary tool axis are the rotation speed commanded with the S command and the rotation direction commanded with the M command, etc., for the spindle selected as the rotary tool axis.

(2) The workpiece axis rotation speed is determined by the number of the rotary tool gear teeth workpiece corners commanded with G114.2.

(3) The workpiece axis rotation direction is determined by the sign of the address D commanded with G114.2. In other words, when the "D" sign is "+", the workpiece axis rotates in the same direction as the rotary tool axis, and when "-", the workpiece axis rotates in the reverse direction of the rotary tool axis.

(4) After tool spindle synchronization IA is commanded, the relation of the rotary tool axis and workpiece axis rotation is held in all automatic or manual operation modes until spindle synchronization cancel (G113) is commanded, the "spindle synchronization cancel" signal is input, or reset (reset 1, reset 2, reset & rewind) is executed when "#1239 set11/bit3" is set to "1". Even during feed hold, the rotary tool axis and workpiece axis synchronization state is held.

(1) Even if the forward run command and reverse run command are not issued to the workpiece axis when the tool spindle synchronization IA mode is commanded, the workpiece axis starts rotation synchronously with the rotary tool axis if the rotation command is issued to the rotary tool axis.

(2) The rotation command (S command) and constant surface speed control are invalid in respect to the workpiece axis during the tool spindle synchronization IA mode. Note that the modal will be updated, so these will be effec- tive after the spindle synchronization is canceled.

(3) If the rotation speed commanded to the workpiece axis exceeds the maximum rotation speed of the rotary tool axis or the maximum clamp speed designated by address S following G92, the workpiece axis rotation speed is clamped to prevent the rotation speed from exceeding those maximum speeds.

Detailed description

Rotary axis and rotation direction

Sw: Workpiece axis rotation speed (r/min) Sh: Rotary tool axis rotation speed (r/min) E: Rotary tool axis rotation ratio (Number of rotary tool gear teeth) L: Workpiece axis rotation ratio (Number of workpiece corners)

Spindle operation for spindle-spindle polygon

Sw = E LSh *

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

793 IB-1501278-Q

(1) Acceleration/deceleration time constants for up to eight steps can be selected according to the spindle rotation speed for the acceleration/deceleration during spindle-spindle polygon machining. The acceleration/deceleration in each step is as follows.

Time required from minimum rotation speed to maximum rotation speed in each step

= [Time constant without multi-step acceleration/deceleration] * [magnification of time constant in each step]

* [Rate of rotation speed width in each step respect to rotation speed width up to limit rotation speed]

Time required to rotate to sptc1 set rotation speed from stopped state (a)

= spt * sptc1 / slimit

Time required to reach sptc2 set rotation speed from sptc1 (b)

= spt * spdiv1 * (sptc2 - sptc1) / slimit

Time required to reach sptc3 set rotation speed from sptc2 (c)

= spt * spdiv2 * (sptc3 - sptc2) / slimit

Time required to reach sptc4 set rotation speed from sptc3 (d)

= spt * spdiv3 * (sptc4 - sptc3) / slimit

Time required to reach sptc5 set rotation speed from sptc4 (e)

= spt * spdiv4 * (sptc5 - sptc4) / slimit

Time required to reach sptc6 set rotation speed from sptc5 (f)

= spt * spdiv5 * (sptc6 - sptc5) / slimit

Time required to reach sptc7 set rotation speed from sptc6 (g)

= spt * spdiv6 * (sptc7 - sptc6) / slimit

Time required to reach slimit set rotation speed from sptc7 (h)

= spt * spdiv7 * (slimit - sptc7) / slimit

To decrease the number of acceleration/deceleration steps, set one of the followings for the unnecessary step.

Magnification for time constant changeover speed (spdiv7 to spdiv1) = 0 (or 1) Spindle synchronous multi-step acceleration/deceleration changeover speed (sptc7 to sptc1) = Limit rota-

tion speed (slimit) or higher

(2) The rotary tool axis accelerates/decelerates linearly according to the spindle synchronous acceleration/deceler- ation time constant (spt) setting value of the spindle selected as the rotary tool axis and workpiece axis, which- ever is larger.

(3) If the rotary tool axis command rotation speed is changed during spindle synchronization, the axis will accelerate/ decelerate to the commanded rotation speed according to the spindle acceleration/deceleration set in the pa- rameters while maintaining the synchronized state.

Multi-step acceleration/deceleration control

Rotation speed (r/min)

Time (ms)

slimit

sptc7

sptc6

sptc5

sptc4

sptc3

sptc2

sptc1

0 (a) (b) (c) (d) (e) (f) (g) (h)

spt

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

794IB-1501278-Q

(1) If the tool spindle synchronization IA command (with R designation) is commanded with the G114.2 command, the synchronized spindle rotating at an arbitrary rotation speed will accelerate or decelerate to the rotation speed following the reference spindle and synchronized spindle rotation ratio command, and the spindle synchroniza- tion state will be entered. The spindles will then enter the spindle synchronization state. After that, the phases will be aligned to realize the rotation phase commanded with the R address.

(2) The spindle synchronization phase shift amount is commanded as the shift amount from the synchronized spin- dle's (workpiece axis) reference position ("one rotation" signal). There is not the shift amount in respect to the reference spindle (rotary tool axis).

If the spindle-mode rotary axis is commanded for the reference spindle or synchronized spindle of spindle synchro-

nization I/II, tool spindle synchronization IA (spindle-spindle, polygon), or tool spindle synchronization IB (spindle-

spindle, polygon), an operation error (M01 1024) occurs.

Tool spindle synchronization IA is not available during tool center point control. A program error (P942) occurs. How-

ever, the tool center point control command can be issued during tool spindle synchronization IA.

Tool spindle synchronization IA is not available during execution of the inclined surface machining command. A pro-

gram error (P951) occurs. However, the inclined surface machining command can be issued during tool spindle syn-

chronization IA.

(1) Always command G114.2 alone in a block.

(2) Do not issue S command in the same block as G114.2.

(3) The tool spindle synchronization IA (spindle-spindle, polygon) mode cannot be commanded during the spindle synchronization mode commanded with G114.*. An operation error (M01 1005) will occur.

(4) If spindle-spindle polygon machining is commanded while the "phase shift calculation request" signal SSPHM is ON, an operation error (M01 1106) will occur.

(5) Tool spindle synchronization IA (G114.2) cannot be executed using the spindle that is used in the synchronous tapping. An operation error (M01 1007) will occur. Also, the synchronous tapping cannot be commanded using the spindle which is used in G114.2 command. An operation error (M01 1139) will occur.

(6) When the spindle/C axis is used for the spindle-spindle polygon machining cannot be executed by designating the C axis mode spindle with the G114.2 command. An operation error (M01 1026) will occur.

(7) After G114.2 is commanded, the cutting feed block will not start until synchronization is established. Operation will stop with an operation error (M01 1033).

Phase alignment control

Relationship with other functions

Spindle-mode rotary axis control

Tool center point control

Inclined surface machining

Precautions

Precautions for programming

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

795 IB-1501278-Q

(1) Make sure that the rotation ratio of spindle (and rotary tool axis spindle) actual rotation speed and encoder rota- tion speed has the following relation. Spindle rotation speed/encoder rotation speed = "n" ("n" is an integer of "1" or more) If this relationship is not established, the encoder's reference position will not stay at a constant position on the spindle, and thus the phase (position) will deviate with each phase alignment command. Note that even in this case, as shown below, if the number of rotary tool gear teeth (Number of workpiece cor- ners) is equivalent to the rotation ratio, the blade and workpiece phase (position) will not deviate. (Rotary tool axis spindle rotation speed * Number of rotary tool gear teeth) /encoder rotation speed = "n" ("n" is an integer of "1" or more)

(2) During phase alignment control, phase alignment is carried out following each spindle encoder's reference posi- tion. Thus, if the positional relation of the workpiece and reference position (rotary tool and reference position) devi- ates when the power is turned OFF/ON or when the tool is changed, etc., the phase will deviate.

Restrictions regarding phase alignment control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

796IB-1501278-Q

18.2.2 Tool Spindle Synchronization IB (Spindle-Spindle, Polygon) ; G51.2/G50.2 or G251/G250

In a machine having a workpiece axis and having a spindle controlled as the rotary tool axis, polygon machining

between spindles can be carried out by controlling the rotation of the rotary tool axis in synchronization with the work-

piece axis rotation.

Tool spindle synchronization IB and tool spindle synchronization IC are switched depending on the setting of the

parameter (#1501).

This function is valid when the G code system is 1.

This function cannot be combined with the following spindle synchronization functions while it is active. An operation

error (M01 1005) occurs.

Spindle synchronization I Spindle synchronization II Tool spindle synchronization IA Tool spindle synchronization IB (IC) Tool Spindle Synchronization II

(1) An axis address that involves any travel cannot be put in the same block as the tool spindle synchronization IB mode cancel command. Doing so causes the program error (P33) when the cancel command is issued, which causes automatic operation to pause.

Function and purpose

#1501 polyax = 0 : Tool spindle synchronization IB

Other than 0 : Tool spindle synchronization IC

Command format

Tool spindle synchronization IB (Spindle-spindle, polygon mode) ON (or G251)

G51.2 H__D__P__Q__R__ ;

H Workpiece axis selection (Reference spindle)

D Rotary tool axis selection (Synchronized spindle)

P Workpiece axis rotation ratio designation

Q Rotary tool axis rotation ratio designation

R Phase shift amount of synchronized spindle

Tool spindle synchronization IB (Spindle-spindle, polygon mode) Cancel (or G250)

G50.2 ;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

797 IB-1501278-Q

Tool spindle synchronization IB ON (G51.2) command sets the polygon machining mode that rotates the two axes

in synchronization with differing speeds by designating the rotary tool axis and workpiece axes and the rotation ratio

(Number of the rotary tool gear teeth and workpiece corners) of the two designated spindle (spindle and spindle).

Tool spindle synchronization IB OFF (G50.2) command cancels the synchronous state of rotating two spindles by

the tool spindle synchronization command.

The spindle-spindle polygon machining mode is also canceled in the following cases.

Power OFF Emergency stop Reset (reset 1, reset 2, reset & rewind)

(only when #1239 set11/bit3 = 1) "Spindle-spindle polygon machining cancel" signal Spindle synchronization cancel command (G113.1) "Spindle synchronization cancel" signal (SPSYC)

The detail of each address of the command format is as follows.

(*1) There are two spindle command methods: spindle number method and spindle name method. Command with the spindle names, only when all spindles are set with the spindle name parameter (#3077 Sname) (from 1 to 9). For others, command with the spindle number. These settings depend on the MTB spec- ifications.

(*2) The available spindle type and connection method depend on the specifications of your machine tool.

Detailed explanation of command format

Address Meaning Command range (unit)

Remarks

H Workpiece axis selection Command the spindle number of the workpiece axis. (*1)

Spindle No.: 1 to n (n: Maximum number of available spindles) Spindle name: 1 to 9

If a value exceeding the command range is com- manded, a program error (P35) will occur. If the same value as the D command is command-

ed, a program error (P33) will occur. If an analog-connected spindle is selected, a pro-

gram error (P33) will occur. (*2) If this address is omitted, the spindle number or spin-

dle name specified in the parameter is designated.

D Rotary tool axis selection Command the spindle number of the rotary tool axis. (*1)

Spindle No.: 1 to n (n: Maximum num- ber of available spin- dles) Spindle name: 1 to 9

If a value exceeding the command range is com- manded, a program error (P35) will occur. If the same value as the H command is command-

ed, a program error (P33) will occur. If an analog-connected spindle is selected, a pro-

gram error (P33) will occur. (*2) If this address is omitted, the spindle number or spin-

dle name specified in the parameter is designated.

P Workpiece axis rotation ra- tio designation Set the rotation ratio (num- ber of workpiece corners) of the workpiece axis.

1 to 999 If a value exceeding the command range is com- manded, a program error (P35) will occur.

Q Rotary tool axis rotation ratio designation Command the rotary tool axis rotation ratio (number of tool teeth).

1 to 999 -1 to -999

If a value exceeding the command range is com- manded, a program error (P35) will occur. If a negative "-" sign is commanded, the rotary tool

axis will rotate in the direction opposite to the work- piece axis.

R Phase shift amount of syn- chronized spindle Command the shift amount designation from the reference position ("one rotation" signal) of the rotary tool axis spindle.

0 to 359.999 () If a value exceeding the command range is com- manded, a program error (P35) will occur. The commanded shift amount will be applied in the

clockwise direction in respect to the spindle. Minimum resolution of commanded shift amount

Semi-close case 360/4096 [] Full-close case (360/4096) * K [] ) (K: Gear ratio of spindle and encoder) If there is no R command, the phase will be handled

as R0. (only when #1239 set11/bit4 = 0)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

798IB-1501278-Q

The workpiece axis and rotary tool axis rotation speed and rotation direction during spindle-spindle polygon machin-

ing are as follows.

(1) The workpiece axis rotation speed and rotation direction are rotation speed commanded with the S command and the rotation direction commanded with the M command, etc., for the spindle selected as the workpiece axis.

(2) The rotary tool axis rotation speed is determined by the number of the rotary tool teeth and number of workpiece corners commanded with G51.2/G251.

(3) The rotary tool axis rotation direction is determined by the sign of the rotary tool axis selection Q commanded with G51.2/G251. In other words, if the Q sign is "+", the rotary tool axis will rotate in the same direction as the workpiece axis. If the Q sign is "-", the rotary tool axis will rotate in the reverse direction of workpiece axis.

(4) After tool spindle synchronization IB (G51.2/G251) is commanded, the relationship between the workpiece axis and rotary tool axis rotation is held until tool spindle synchronization IB cancel (G50.2/G250) is commanded, the "spindle-spindle polygon machining cancel" signal is input, or until the "reset or emergency stop" signal is input. Even at feed hold, the workpiece axis and rotary tool axis synchronization states are held.

(1) When the tool spindle synchronization IB mode is commanded, even if neither the forward run nor reverse run command is input for the rotary tool axis, the rotary tool axis will start rotating.

(2) If spindle stop is commanded to a rotary tool axis during the tool spindle synchronization IB mode (when the "spindle stop" signal is ON), the rotary tool axis will stop rotating even if the workpiece axis is rotating.

(3) The rotation command (S command) and constant surface speed control are invalid in respect to the rotary tool axis during the tool spindle synchronization IB mode. Note that the modal is updated, so these will be validated when the spindle-spindle polygon machining is canceled.

(4) If the rotation speed commanded to the workpiece axis exceeds the maximum rotation speed of the rotary tool axis or the maximum clamp speed designated by address S following G92, the workpiece axis rotation speed is clamped to prevent the rotation speed from exceeding those maximum speeds.

(1) Acceleration/deceleration of the workpiece axis will be carried out linearly according to the spindle synchroniza- tion acceleration/deceleration time constant (parameter "#3049 spt") of the spindle selected as the workpiece axis.

(2) By setting the spindle synchronization multi-step acceleration/deceleration time constant changeover speed lev- els 1 to 7 (parameters "#3054 sptc1" to "#3060 sptc7") and the scale for the time constant changeover speed (parameters "#3061 spdiv1" to "#3067 spdiv7"), the acceleration/deceleration time can be changed in up to eight steps.

(3) If the workpiece axis command rotation speed is changed during spindle synchronization state, the commanded speed will be reached by accelerating or decelerating according to the spindle acceleration/deceleration set in the parameters while maintaining the synchronized state.

Detailed description

Rotary axis and rotation direction

Sw: Rotary tool axis rotation speed (r/min) Sh: Workpiece axis rotation speed (r/min) P: Workpiece axis rotation ratio (Number of workpiece corners) Q: Rotary tool axis rotation ratio (Number of rotary tool gear teeth)

Operation for polygon machining with rotary tool axis

Acceleration/deceleration control

Sw = Q PSh *

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

799 IB-1501278-Q

(1) If the tool spindle synchronization IB command (R is treated as "0" when there is no R command) is commanded with G51.2/G251, the workpiece axis spindle rotating at an arbitrary rotation speed will accelerate/decelerate to the rotation speed following the rotation ratio command of the workpiece axis spindle and the spindle synchro- nization state will be entered. The spindles will then enter the spindle synchronization state. After that, the phases will be aligned to realize the rotation phase commanded with the R address.

(2) The spindle synchronization phase shift amount is commanded the shift amount from the rotary tool axis spin- dle's reference position ("one rotation" signal). This is not the shift amount for the workpiece axis.

Tool spindle synchronization IB cannot be executed using the spindle-mode rotary axis. An operation error (M01

1024) will occur.

Tool spindle synchronization IB is not available during tool center point control. A program error (P942) occurs. How-

ever, the tool center point control command can be issued during tool spindle synchronization IB.

Tool spindle synchronization IB is not available during execution of the inclined surface machining command. A pro-

gram error (P951) occurs. However, the inclined surface machining command can be issued during tool spindle syn-

chronization IB.

Phase alignment control

Relationship with other functions

Spindle-mode rotary axis control

Tool center point control

Inclined surface machining

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

800IB-1501278-Q

(1) Make sure that the spindle (and workpiece axis spindle) actual rotation speed and encoder rotation speed's ro- tation ratio has the following relation. Spindle rotation speed/encoder rotation speed = "n" ("n" is an integer of 1 or more) If this relationship is not established, the encoder's reference position will not stay at a constant position on the spindle, and thus the phase (position) will deviate with each phase alignment command. Note that even in this case, as shown below, if the number of workpiece corners (number of rotary tool teeth) corresponds to the rotation ratio, the phase (position) of the blade and workpiece will not deviate. (Workpiece axis spindle rotation speed * Number of workpiece teeth) /encoder rotation speed = "n" ("n" is an integer of "1" or more)

(2) During phase alignment control, the phase are aligned to the reference position of each spindle's encoder. Thus, if the position relation of the workpiece and reference position (workpiece and reference position) deviates when the power is turned ON/OFF or the tool is replaced, etc., the phase will deviate.

(1) G51.2 (G251) must be commanded alone in a block, which also applies to G50.2 (G250).

(2) The R command can be omitted when entering the tool spindle synchronization IB mode, but the P and Q com- mands must always be issued. A program error (P33) will occur if there are not the P and Q commands.

(3) To change the P, Q or R modal value in the tool spindle synchronization IB mode, command G51.2/G251 again. In this case, R can be commanded alone. However, if either P or Q is also changed, always command P and Q again.

(4) Commands can be issued to each part system, but two or more part systems cannot be used simultaneously. The part system commanded first will be valid, and an operation error (M01 1005) will occur for that commanded last.

(5) The spindle No. designated in the parameters will be used if D_H_ is omitted from the G51.2/G251 command.

(6) A program error (P610) will occur if the workpiece axis No. (#1518) and rotary tool axis No. (#1519) are the same as the value set in the parameters. A program error (P33) will occur if the spindle is connected in analog mode. (These parameters depend on the MTB specifications.)

(7) After G51.2/G251 was commanded, the cutting feed block will not start until synchronization is established. (An operation error (M01 1033) will occur, and the program stops.)

(8) Tool spindle synchronization IB (G51.2/G251) machining cannot be executed by designating the spindle which is used in the synchronous tapping. An operation error (M01 1007) will occur. Also, the synchronous tapping can- not be commanded using a spindle which is used in G51.2/G251 command. An operation error (M01 1139) will occur.

(9) If the rotary tool axis number or workpiece axis number is changed in the tool spindle synchronization IB mode, a program error (P33) will occur.

Precautions

Restrictions regarding phase alignment control

Precautions for programming

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

801 IB-1501278-Q

18.2.3 Tool Spindle Synchronization IC (Spindle-NC Axis, Polygon) ; G51.2/G50.2 or G251/G250

This function controls so that the workpiece (spindle) and tool (rotary tool axis) are synchronously rotating with the

commanded ratio to conduct polygon machining. This function is available for machining of square-head bolts, bolt

heads of hexagon-head bolts, or hexagon nuts.

Tool spindle synchronization IB and tool spindle synchronization IC are switched depending on the setting of the

parameter (#1501).

This function cannot be combined with the following spindle synchronization functions while it is active. An operation

error (M01 1005) occurs.

Spindle synchronization I Spindle synchronization II Tool spindle synchronization IA Tool spindle synchronization IB (IC) Tool Spindle Synchronization II

In addition to the G50.2 command, the tool spindle synchronization IC mode is also canceled in the following cases.

Power OFF Emergency stop Reset (reset 1, reset 2, reset & rewind)

Function and purpose

Command format

Tool Spindle Synchronization IC (Spindle-NC Axis, Polygon mode) ON (or G251)

G51.2 P__ Q__ ;

P,Q Spindle and rotary tool axis rotation ratio (P__:Q__)

P : Spindle Q : Rotary tool axis Command range : Integer value between 1 and 200, -1 and -200 Rotation direction : Designate with a sign ("+" for forward rotation, whereas "-" for reverse rotation).

Tool spindle synchronization IC (spindle-NC axis, polygon) cancel (or G250)

G50.2 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

802IB-1501278-Q

The rotary tool axis depends on the setting of the base specification parameter "#1501 polyax".

(1) The spindle rotation direction during the polygon machining mode is determined by the P command sign and the spindle parameter "#3106 zrn_typ/bit7" (synchronous tap command polarity).

(2) The rotation direction of the rotary tool axis during the polygon machining mode is determined by the Q command sign and the base specifications parameters "#1018 CCW".

Detailed description

Details of operation

S1000 ; The spindle rotation speed (workpiece rotation speed) is commanded.

G51.2 P1 Q2 ; :

The polygon machining mode is entered with the G51.2 command. The spindle and rotary tool axis start rotating, and control is applied so that the spindle rotation speed and tool axis rotation speed are the commanded ratio (P:Q).(Cutting into workpiece)

:

G50.2 ; The polygon machining mode between the spindle and rotary tool axis is canceled by the G50.2 command, and the spindle and rotary tool axis rotation stop.

Rotation direction

P command sign #3106 zrn_typ/bit7 Rotation direction

(+) 0 CW

(+) 1 CCW

(-) 0 CCW

(-) 1 CW

Q command sign #1018 CCW Rotation direction

(+) 0 CW

(+) 1 CCW

(-) 0 CCW

(-) 1 CW

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

803 IB-1501278-Q

If the spindle-mode rotary axis is changed to the servo axis mode while tool spindle synchronization IC is executed

using the spindle-mode rotary axis as the polygon spindle, an operation error (M01 1024) occurs. Also, if tool spindle

synchronization IC is commanded using the spindle-mode rotary axis of servo axis mode as the polygon axis, an

operation error (M01 1024) occurs.

If the spindle/C axis is changed to the C axis mode while tool spindle synchronization IC is executed using the spin-

dle/C axis as the polygon-related spindle, an operation error (M01 1026) occurs. Also, if tool spindle synchronization

IC is commanded using the spindle/C axis in the C axis mode as the polygon-related spindle, an operation error

(M01 1026) occurs.

When tool spindle synchronization IC is commanded while the high-speed high-accuracy control is valid or when

high-speed high-accuracy control is commanded during tool spindle synchronization IC, high-speed high-accuracy

control is temporarily canceled, and tool spindle synchronization IC is executed preferentially.

The arbitrary axis exchange command (G140), arbitrary axis exchange return command (G141), or reference axis

arrange return command (G142) cannot be issued in the part system for tool spindle synchronization IC. A program

error (P501) occurs. However, tool spindle synchronization IC using the arbitrary axis exchange axis can be com-

manded.

The rotary tool axis of tool spindle synchronization IC cannot be commanded as the axis to be replaced. Doing so

triggers the arbitrary axis exchange disable state.

The 3-dimensional coordinate conversion cannot be commanded in the part system for tool spindle synchronization

IC. A program error (P922) occurs.

Also, tool spindle synchronization IC cannot be commanded during 3-dimensional coordinate conversion. A program

error (P921) occurs.

Tool spindle synchronization IC is not available during tool center point control. A program error (P942) occurs. The

tool center point control command can be issued during tool spindle synchronization IC.

Do not designate the rotary tool axis in the rotary axis configuration parameters. Doing so may cause an un- expected operation by the tool center point control command during tool spindle synchronization IC.

Tool spindle synchronization IC is not available during execution of the inclined surface machining command. A pro-

gram error (P951) occurs. Also, the inclined surface machining command cannot be issued during tool spindle syn-

chronization IC. A program error (P952) occurs.

Relationship with other functions

Spindle-mode rotary axis control

Spindle position control (Spindle/C axis control)

High-speed high-accuracy Control

Arbitrary axis exchange control

3-dimensional coordinate conversion

Tool center point control

Inclined surface machining command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

804IB-1501278-Q

(1) The tool spindle synchronization IC specifications must be provided to use this function. If "G51.2/G251" or "G50.2/G250" is commanded without the specifications, a program error (P39) will occur.

(2) G51.2 (G251) must be commanded alone in a block, which also applies to G50.2 (G250). If the G51.2/G251 (G50.2/G250) command and G code of group 0 are commanded in the same block, the

G code commanded last in the block will have the priority. If the G51.2/G251 (G50.2/G250) command and G code other than a group 0 code are commanded in the

same block, a program error (P33) will occur.

(3) While in the polygon machining mode, a movement command cannot be issued in the machining program for an NC axis set as the rotary tool axis. If a movement command is issued to the rotary tool axis during the polygon machining mode, the program error (P32) will occur.

(4) The NC axis set as the rotary tool axis can be used as a feed axis in modes other than the polygon machining mode.

(5) The following functions are invalid for the rotary tool axis during the polygon machining mode. Override Feed hold Stored stroke limit

(6) The spindle rotation speed can be changed with the S command even during the polygon machining mode. The spindle override and spindle rotation speed clamp are also valid. If the spindle rotation speed is changed, the rotary tool axis rotation speed will also change so that the spindle and rotary tool axis established the P:Q ratio.

(7) The forward run/reverse run commands are invalid for the spindle when the polygon machining mode is in effect.

(8) If the feedrate for the rotary tool axis exceeds the rapid traverse rate (axis specifications parameters "#2001 rap- id") when the polygon machining mode is in effect, the speed will be clamped at the rapid traverse rate. If the rotary tool axis is clamped at the rapid traverse rate, the spindle speed will also be set to lower than the command speed so that the spindle and rotary tool axis establish the P:Q ratio.

(9) The position loop gain for the rotary tool axis will be the value set in the axis specifications parameters "#2017 tap_g" during the polygon machining mode. The position loop gain for the spindle will be the spindle parameters "#13002 PGN" setting value.

(10) To perform polygon machining, set the parameter "#8213 rotary axis type" to "0" or "1".

(11) The following functions cannot be used simultaneously with polygon machining. Synchronous tapping Thread cutting

(12) If an axis other than the rotary tool axis reaches the stroke end during the polygon machining mode, the axis other than the rotary tool axis will stop moving, but the rotary tool axis and spindle rotation will not stop.

(13) If the rotary tool axis reaches the stroke end during the polygon machining mode, the rotary tool axis and spindle rotation will stop, and the movement of axes other than the rotary tool axis will also stop.

(14) If the spindle specifications parameter "#3106 zrn_typ/bit4" is set to "0", the polygon machining will start after the spindle returns to the zero point. (This parameter setting depends on the MTB specifications.)

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

805 IB-1501278-Q

18.3 Tool Spindle Synchronization II 18.3.1 Tool Spindle Synchronization II (Hobbing) ; G114.3/G113

This function is to cut the gear with hob (hob cutter).

A spur gear can be machined by synchronizing and rotating the hob axis and the workpiece axis in a constant ratio.

A helical gear can be machined by compensating the workpiece axis according to the gear torsion angle for the Z

axis movement.

By synchronizing and rotating the hob axis and the workpiece axis in a constant rotation ratio, a gear is machined

so that the cutter is engaged with gear.

In this manual, the hob axis and the workpiece axis are defined as follows:

Hob axis : Rotary tool axis on which a hob is mounted Workpiece axis : Rotary axis on which a workpiece is mounted Hob threads : Number of the screw paths created by cutter part on hob. Usually this is 1 row.

This function cannot be combined with the following spindle synchronization functions while it is active. An operation

error (M01 1005) occurs.

Spindle synchronization I Spindle synchronization II Tool spindle synchronization IA Tool spindle synchronization IB (IC) Tool Spindle Synchronization II

Function and purpose

Spur gears Helical gears

(a) Hob (b) Gear

(a)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

806IB-1501278-Q

(1) An axis address that involves any travel cannot be put in the same block as the tool spindle synchronization II cancel command. Doing so causes the program error (P33) when the cancel command is issued, which causes automatic operation to pause.

Command format

Tool spindle synchronization II (hobbing) ON (for spur gear)

G114.3 H__ D__ E__ L__ R__ ;

H Hob axis selection

D Workpiece axis selection

E Hob axis rotation ratio designation

L Workpiece axis rotation ratio designation

R Workpiece axis phase shift amount

Tool spindle synchronization II (hobbing) ON (for helical gear)

G114.3 H__ D__ E__ L__ P__ Q__ R__ ;

H Hob axis selection

D Workpiece axis selection

E Hob axis rotation ratio designation

L Workpiece axis rotation ratio designation

P Gear torsion angle designation

Q Module or diametral pitch designation

R Workpiece axis phase shift amount

Tool spindle synchronization II (hobbing) OFF

G113.1 ;

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

807 IB-1501278-Q

Tool spindle synchronization II ON (G114.3 for spur gear) is set as the hobbing mode for the spur gears that syn-

chronously rotates two axes at different speeds by designating the hob axis and workpiece axis and designating the

rotation ratio (number of hob threads and number of gear teeth) for the two designated axes.

Tool spindle synchronization II ON (G114.3 for helical gears) is set as the hobbing mode for the helical gears by

designating the gear torsion angle and module or diametral pitch.

Tool spindle synchronization II OFF (G113.1) cancels the synchronous state of the hob axis and workpiece axis ro-

tating in synchronization with the tool spindle synchronization II (hobbing) command.

Detailed explanation of format

Address Meaning Command range (unit)

Remarks

H Hob axis selection Command the spindle number of the hob axis. (*1)

Spindle No.: 1 to n (n: Maximum num- ber of available spin- dles) Spindle name: 1 to 9

If there is no command, a program error (P33) will occur. If an analog-connected spindle is selected, a program

error (P33) will occur. If disconnected spindle No. is designated, a program er-

ror (P35) will occur.

D Workpiece axis selection Command the rotation number of the workpiece axis.

-9 to -1, 1 to 9 1 to 8 Axis No. (in part system) 9: C axis

If there is no command, a program error (P33) will occur. The rotation direction of the workpiece axis in respect to

the hob axis is commanded with the D sign. If the D sign is "+", the workpiece axis will rotate in the

forward direction when the hob axis rotates in the for- ward direction. If the D sign is "-", the workpiece axis will rotate in the reverse direction when the hob axis ro- tates in the forward direction.

If the axis specified as the workpiece axis is not a rotary axis, a program error (P33) will occur.

If C axis is selected when there is no C axis, a program error (P33) will occur.

E Hob axis rotation ratio designation Command the hob axis rotation ratio (hob threads).

0 to 999 If there is no command, the rotation ratio will be inter- preted as 1.

If E0 is commanded, the workpiece axis will stop (syn- chronized with the Z axis for a helical gear). (*2)

L Workpiece axis rotation ratio designation Command the workpiece axis rotation ratio (num- ber of gear teeth).

1 to 999 If there is no command, the rotation ratio will be inter- preted as 1.

(For G code lists 6 and 7)

If L0 is commanded, the workpiece axis will stop (syn- chronized with the Z axis for a helical gear). (*6)

The rotation direction of the workpiece axis in respect to the hob axis is commanded with the L sign. L sign = "+": When the hob axis rotates forward, the workpiece axis also rotates forward. L sign = "-": When the hob axis rotates forward, the workpiece axis rotates backward.

R Workpiece axis phase shift amount Command the amount to shift from the workpiece axis reference position to synchronize with the hob axis reference position.

0 to 359999 (0 to 359.999) Decimal point input possible (*3)

The commanded shift amount will be applied in the workpiece axis counter's positive direction.

If there is no R command, phase alignment will not be carried out.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

808IB-1501278-Q

(*1) If a value exceeding the command range is commanded, a program error (P35) will occur.

(*2) When address E = 0 is commanded, the workpiece axis will not rotate.

Do not use this except for special cutting (cutting of only part of the gears, etc.).

(*3) The range which can be set depends on the input setting unit (parameter "#1003 iunit").

(Example) When the input setting unit is 0.000001, the range is 0 to 359.999999.

(*4) If the decimal point input is OFF, the available setting range varies according to the input setting unit (parameter

"#1003 iunit"). When the input setting unit is 0.000001, the range is -89000000 to 89000000.

(*5) If the decimal point input is OFF, the available setting range varies according to the input setting unit (parameter

"#1003 iunit"). When the input setting unit is 0.000001, the range is as follows.

100000 to 250000000 in metric system

1000000 to 2500000000 in inch system

(*6) When address L = 0 is commanded, the workpiece axis will not rotate. Do not use this except for special cutting

(cutting of only part of the gears, etc.).

P Gear torsion angle des- ignation Command the torsion angle for the helical gear.

-89000 to 89000 (-89.000 to 89.000) Decimal point input possible (*4)

If there is no P command, or if P0 is commanded, a spur gear will be machined.

To move the Z axis in the plus direction after entering the hobbing mode, command the direction that the work- piece axis is twisted. P sign: when it is +, + direction P sign: when it is -, - direction

Q Module designation Command the normal module for helical gear. When inch input, com- mand the diametral pitch.

Metric input Module designation 100 to 25000 0.1 to 25. (0.1 to 25 mm) Inch input Diametral pitch des- ignation 1000 to 250000 0.1 to 25.

(0.1 to 25inch-1) Decimal point input possible (*5)

If there is no Q command for helical gear (when P is des- ignated), a program error (P33) will occur.

For spur gear (when P is not designated, or P0 is com- manded), the Q command will be ignored.

Address Meaning Command range (unit)

Remarks

C

Z

C

Z

P

P

P

P

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

809 IB-1501278-Q

The rotation ratio and the number of hob threads can be changed without stopping the hob axis or the workpiece

axis during tool spindle synchronization II (hobbing) mode.

(1) Each address can be omitted in the G114.3 command in the tool spindle synchronization II (hobbing) mode. If the address is omitted, modal value of the last command is used. (Example) When changing only the workpiece axis rotation ratio (the modal value of the previous command is used for items other than the workpiece axis rotation ratio.) G114.3 L50;

(2) If the followings are issued, a program error (P33) will occur.

(a) When R command (workpiece axis phase shift amount) is issued.

(b) When the hob axis number and workpiece axis number are changed

(c) When other than "0" is commanded by E command in E=0 state, or "0" is commanded by E command in E0 state.

(3) The workpiece axis rotation speed may be changed by rotation ratio. At this time, the acceleration/deceleration time constant follows the hobbing workpiece axis time constant (parameter "#2195 hob_tL").

(4) "Spindle rotation speed synchronization completion" signal is turned OFF by changing the rotation ratio. This sig- nal is turned ON when the workpiece axis rotation speed reaches the prescribed range for hob axis rotation speed after completing the rotation ratio change.

(5) The hob axis rotation speed cannot be changed while the rotation ratio is changed (during workpiece axis accel- eration/deceleration). If the rotation command is issued for hob axis during the rotation ratio change, the com- manded rotation speed is applied after completing the rotation ratio speed change.

(6) The helical gear machining by Z axis movement does not be executed while the rotation ratio is changed (during workpiece axis acceleration/deceleration). The helical gears machining is executed after completing the rotation ratio change.

(7) The phase of hob axis and workpiece axis during rotation ratio changing (during workpiece axis acceleration/ deceleration) or after changing is not warrantable. A phase cannot be aligned with gears machining of the last command.

(8) The "Hob axis delay (advance) monitoring", "Compensation control by workpiece axis" and "The workpiece axis feed forward control" are invalid while the rotation ratio is changed (during workpiece axis acceleration/deceler- ation). These functions are valid after finishing the rotation ratio change.

Detailed description

Rotation ratio change during tool spindle synchronization II (hobbing) mode

G114.3 E__ L__ P__ Q__ ; Rotation ratio change

E Hob axis rotation ratio designation

L Workpiece axis rotation ratio designation

P Gear torsion angle designation

Q Module or diametral pitch designation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

810IB-1501278-Q

The rotation speed and rotation direction of the hob axis and workpiece axis during tool spindle synchronization II

(hobbing) are as follows.

(1) The rotation speed and rotation direction of hob axis are the rotation speed commanded with the S command and the rotation direction commanded with the M command, etc., for the spindle selected as the hob axis.

The rotation directions (+/- directions) of the workpiece axis shown above refer to the forward and reverse directions of the machine coordinate system of the workpiece axis.

(2) The workpiece axis rotation speed is determined by the hob threads specified using the hobbing mode command and the number of gear teeth.

Sw : Workpiece axis rotation speed (r/min)

Sh: Hob axis rotation speed (r/min)

E: Hob axis rotation ratio (number of hob threads)

L: Workpiece axis rotation ratio (number of gear teeth)

(3) The workpiece axis rotation direction is as follows.

The workpiece axis rotation direction is determined by the sign of the workpiece axis selection "D" commanded

with the hobbing mode command.

In other words, when the "D" sign is "+", the workpiece axis will rotate in the same direction as the hob axis, and

when the "D" sign is "-", the workpiece axis will rotate in the direction opposite to the hob axis.

(4) After tool spindle synchronization II (hobbing) was commanded, the relationship between the hob axis and work- piece axis rotation is held in all operation modes of automatic and manual modes until spindle synchronization cancel (G113.1) is commanded or until the "spindle synchronization cancel" signal is input. Even during reset or feed hold, the hob axis and workpiece axis synchronization state is held.

Rotation speed and rotation direction

When the sign of D command is + When the sign of D command is -

(a) Hob axis: Forward rotation (c) Workpiece axis: + direction

(b) Hob axis: Reverse rotation (d) Workpiece axis: - direction

(a)

(c) (d)

(a)

(b)

(d) (c)

(b)

Sw = E LSh *

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

811 IB-1501278-Q

(1) When the hobbing mode is commanded during hob axis rotation, the workpiece axis accelerates up to the speed required in synchronization with the hob axis according to the hobbing workpiece axis time constant (#2195 hob_tL) using the constant-gradient acceleration/deceleration control. Then rotates in synchronization with hob axis.

(2) The "axis selection" signal and in "axis motion" signal of the workpiece axis are not output during the tool spindle synchronization II (hobbing) mode.

(3) If a manual movement command is issued to the workpiece axis during the tool spindle synchronization II (hob- bing) mode, the manual movement will be superimposed on the workpiece axis movement with tool spindle syn- chronization. In this case, the "axis selection" signal and in "axis motion" signal of workpiece axis will be output. Note that, if the movement command is issued in the manual reference position return mode, an operation error (0005) occurs. An automatic movement command can be issued to the workpiece axis during the tool spindle synchronization II (hobbing) mode. Refer to "(2) Command compensation" in "Compensation control by workpiece axis" for de- tails of the command to the workpiece axis.

(4) During the tool spindle synchronization II (hobbing) mode, the operations in respect to the "input" signals of ex- ternal deceleration, interlock and machine lock for workpiece axis are as follows.

(5) If a "servo OFF" signal is input for the workpiece axis during the Tool spindle synchronization II (hobbing) mode, the tool spindle synchronization II (hobbing) is canceled because synchronization cannot be maintained.

(6) The workpiece axis rotation speed is determined according to the hob axis rotation speed, so designate the hob axis rotation speed so that the workpiece axis cutting clamp speed is not exceeded.

(7) The C axis counter on each screen will be updated as shown below during the tool spindle synchronization II (hobbing) mode.

(a) When the workpiece axis is a rotary-type rotary axis

The axis will rotate in the 0.000 to 359.999 range in the normal manner.

(b) When the workpiece axis is a linear-type rotary axis (all coordinate values linear type)

The axis will rotate in the 360 range including the machine coordinate position and workpiece coordinate

position when hobbing starts.

(c) When the workpiece axis is a linear-type rotary axis (workpiece coordinate values linear type)

The axis will rotate in the 360 range including the workpiece coordinate position when hobbing starts.

(Example)

(8) If the hobbing command is issued before the workpiece axis completes zero point return, a program error (P430) will occur.

(1) The hob axis will carry out multi-step acceleration/deceleration with the spindle synchronization acceleration/de- celeration time constant (spt) set for the spindle selected as the hob axis.

Workpiece axis control

Interlock Machine lock External de- celeration

Movement by the hobbing function Invalid Invalid Invalid

Movement by manual command Valid for manual interlock Valid for manual machine lock

Valid

Automatic compensation by incre- mental command

Valid for automatic interlock Valid for automatic machine lock

Valid

Coordinate value when the hobbing starts Rotation range

125.000 750.500 -252.200

() () ()

0.000 to 359.999 720.000 to 1079.999 -360.000 to -0.001

() () ()

Acceleration/deceleration control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

812IB-1501278-Q

To carry out phase alignment during hobbing, the spindle encoder commanded to the hob axis must have a Z phase

and satisfy the following conditions.

When the zero point of hob axis is not established by the hob axis rotation after turning the power ON or the spindle

gear changeover, carry out phase alignment by following operations.

(The zero point of the hob axis is established within the range of (a) - (b) in the figure.)

(1) When tool spindle synchronization II (with R command) is specified using the hobbing mode command , the ro- tary axis commanded as the workpiece axis will enter the spindle synchronization II (hobbing) control state.

(2) The hob axis will start rotation at the Z phase detection speed (parameter "#3109 zdetspd") set in the parameters with the first S command issued for the hob axis after the hobbing control state is entered. At this time, the workpiece axis will reach the rotation speed following the rotation ratio command for the hob axis and workpiece axis. If this command rotation speed is 0 (r/min), the hob axis will not start rotating, and instead will wait for the next S command.

(3) The hob axis and workpiece axis phases will be aligned in this state.

(4) After the phases are aligned, the hob axis will accelerate/decelerate to the rotation speed commanded with the S command. The workpiece axis will accelerate/decelerate to the rotation speed obtained based on the hob axis rotation speed allowing for the hob axis and workpiece axis rotation ratio, and will enter the synchronized state.

When the zero point of hob axis has already been established, the zero point of hob axis establishment is omitted.

Thus, the process finishes fast compared with the case that the zero point of hob axis is not established.

(1) When tool spindle synchronization II (with R command) is specified using the hobbing mode command , the ro- tary axis commanded as the workpiece axis will enter the spindle synchronization II (hobbing) control state.

(2) The hob axis rotation speed follows the Z phase detection speed (parameter "#3109 zdetspd") set in the param- eters with the first S command issued for the hob axis after entering the hobbing control state. If this command rotation speed is 0 (r/min), the workpiece axis will not start rotating, and instead will wait for the next S command.

(3) Phase alignment is carried out when the hob axis is stopped and the workpiece axis is rotating.

(4) After the phases are aligned, the hob axis will accelerate/decelerate to the rotation speed commanded with the S command. The workpiece axis will accelerate/decelerate to the rotation speed obtained based on the hob axis rotation speed allowing for the hob axis and workpiece axis rotation ratio, and will enter the synchronized state.

Phase alignment control (Machine configuration that the phase alignment is possible)

Control system Gear ratio conditions

Semi-closed control Spindle side gear : Motor side gear = 1 : 1

Full-closed control Spindle end : Encoder end = 1 : 1

Control system Gear ratio conditions

Phase alignment control (Operation when the zero point of hob axis is not established)

Phase alignment control (Operation when the zero point of hob axis is established)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

813 IB-1501278-Q

(1) Automatic compensation The workpiece axis is controlled while constantly allowing for hob axis delay (advance) caused by disturbance, etc. This is especially effective in increasing the workpiece accuracy during heavy cutting. Automatic compen- sation is validated with parameters. When the amount of the compensation added to the workpiece axis by hobbing conditions etc. changes greatly and rapidly, a servo alarm might occur for the workpiece axis. In that case, with the compensation amount through the primary delay filter, this enables the compensation amount fluctuation to further smoothen. However, the more widely the primary delay time constant is set, the more the effect of the compensation decreases, so the effect of the workpiece accuracy might not improve.

[Spindle NC parameter] (Machine parameter)

#3130 syn_spec/bit0: Tool spindle synchronization II (hobbing) automatic compensation selection

0 (OFF): No compensation 1 (ON): Hob axis delay (advance) is compensated with workpiece axis.

#3134 sphtc: Tool spindle synchronization II (hobbing) automatic compensation primary delay time constant

0: Primary delay filter control invalid 1 to 32768: Primary delay filter time constant setting unit (ms)

(2) Command compensation Errors in the cutting workpiece shape caused by insufficient machine rigidity, etc., are compensated for with the workpiece axis command in the machining program.

(a) Command the workpiece axis compensation amount as an incremental position.

(b) Command the workpiece axis compensation amount direction in the workpiece axis rotation direction using a "+" command, and in the direction opposite the workpiece axis rotation using a "-" command.

(c) When the movement command is issued with an absolute position for the workpiece axis during the Tool spin- dle synchronization II (hobbing) mode, a program error (P32) will occur.

A feedforward control can be issued for the hob axis and the workpiece axis during the tool spindle synchronization

II (hobbing) mode.

(1) The hob axis feedforward control is controlled according to hob axis feedforward gain (parameter "#3135 sf- wd_g").

(2) The workpiece axis feedforward control is controlled according to hob axis feedforward gain (parameter "#3135 sfwd_g") for the workpiece axis rotation contents of the hob axis rotation. The feedforward control is controlled according to workpiece axis feedforward gain (#2155 hob_fwd_g) for the helical compensation of the Z axis movement.

The hobbing mode command and hobbing cancel mode command can be issued during hob axis rotation.

(1) When the hobbing mode command is issued during hob axis rotation, the rotary axis designated as workpiece axis accelerates up to the speed according to the hob and workpiece axes' rotation ratio command. This accel- eration follows the hobbing workpiece axis time constant (parameter "#2195 hob_tL") and uses the constant- gradient acceleration/deceleration control. If the setting of hobbing workpiece axis time constant is outside the setting range, set the maximum value in the range.

(2) After the workpiece axis finishes acceleration, phase alignment is carried out between hob and workpiece axes if the hobbing mode command contains R command.

(3) Synchronization is established after phase alignment is completed.

(4) If the hobbing cancel mode command is issued during hob axis rotation, the workpiece axis decelerates and stops. This deceleration follows the hobbing workpiece axis time constant (parameter "#2195 hob_tL"), and uses the constant-gradient acceleration/deceleration. If the setting of hobbing workpiece axis time constant is outside the setting range, set the maximum value in the range.

Compensation control by workpiece axis

Feedforward control during tool spindle synchronization II (hob machining) mode

Tool spindle synchronization II (hobbing) command during hob axis rotation

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

814IB-1501278-Q

Operating retract during hobbing mode prevents a destruction of the work when hobbing is interrupted.

When "Hob retract request" signal is input during hobbing mode, the control can retract the axis designated by pa-

rameter. Retract operation can also be carried out when a program error or operation error occurs.

(1) The retract operation is carried out when "Hob retract request" signal (YCDE) is turned ON during hobbing mode. However, the retract operation is not performed while the "hob retract complete" signal is ON. Also, after the operation has been completed, the tool is separated from the workpiece by the retract amount in hobbing mode; therefore, hob cutting is not performed properly.

(2) Retract operation can also be carried out when a program error or operation error occurs during hobbing mode. Specify whether to enable or disable a retract by alarm with the parameter "#19406" (Hob retract ON at alarm). However, if the parameter "#19406" (Hob retract ON at alarm) is enabled, a retract by alarm is not carried out when the "hob alarm retract inhibit" signal (YCDF) is turned ON.

(3) Retract is carried out in automatic operation mode. But when it is in automatic mode, retract can also be per- formed when not in automatic operation. (The hob axis and workpiece axis do not stop.)

(4) After the retract operation is completed, automatic operation pause. When performing retract operation in automatic operation, retract operation can be interrupted by turning ON "Automatic operation pause" signal. But when performing retract in a mode other than automatic operation, retract will not be interrupted by turning ON "Automatic operation pause" signal. If the retract operation is interrupted by automatic operation pause or by switching the operation mode (automatic to manual), retract will not be resumed even when you activate automatically after the interruption. However, if a new retract factor occurs after automatic operation has been started, the retract operation is performed by the specified amount.

(5) No retract operation is performed during manual operation mode.

(6) The movement amount in the retract operation is determined by either the parameter "#8219 Hob retract amt 1" or "#8220 Hob retract amt 2", which is specified by the "hob retract amount selection" signal (YB20). If the retract amount of all axes are set to "0", retract operation and automatic operation pause are not carried out.

(7) The parameters "#8219 Hob retract amt 1" and "#8220 Hob retract amt 2" are handled as radius values.

(8) Retract speed is set for each axis in the parameter "#8221 Hob retract speed".

(9) The "In hob retract" signal (XCAE) is ON during the retract operation. This signal is turned ON by either a retract triggered by an alarm or a retract triggered by the "hob retract request" signal.

(10) When the retract operation is completed, "Hob retract complete" signal (XCAF) turns ON. This signal is turned ON by either a retract triggered by an alarm or a retract triggered by the "hob retract request" signal.

(11) When retract is performed, acceleration and deceleration are carried out based on the travel command's accel- eration/deceleration mode. However, when the parameter "#19407 Hob ret ac/dc OFF" is set to "1", step-wise acceleration/deceleration is carried out. When the parameter "#19407 Hob ret ac/dc OFF" is set to "1", and retract speed is relatively fast, a servo alarm (excessive error etc.) may occur.

(12) Retract is not carried out for axes that are in movement.

(13) If mirror image is set for the retract axis, mirror image will be reflected on the retract operation. Therefore, the retract is carried out in the direction opposite to the setting.

(14) Machine lock is enabled for the retract axis.

(15) Automatic interlock is enabled for the retract axis. When not in automatic operation, automatic interlock is en- abled for retract axis.

Retract during Hobbing Mode

"Hob retract request" signal (HOBRTR) or

program error/operation error

Hob axis travel speed

Hob retract speed (#8220)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

815 IB-1501278-Q

(16) Cutting feed override or rapid traverse override is not reflected on the retract axis.

(17) External deceleration is enabled for the retract axis.

(18) Dry run is disabled for the retract axis.

(19) Pre-interpolation acceleration/deceleration is disabled for a retract axis. Acceleration/deceleration after interpo- lation is applied instead.

(20) Retract can be performed for an axis that is under synchronization control. Retraction for a master axis causes the slave axis to move.

(21) Retract can be performed for an axis that is under inclined axis control. In accordance with the inclined axis' movement, the reference axis moves by the compensation amount.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

816IB-1501278-Q

(1) The synchronous tapping spindle cannot be commanded as the hob spindle of tool spindle synchronization II (hobbing). The operation error (M01 1007) will occur, which causes automatic operation to pause.

(2) The synchronous tapping cannot be commanded using the hob axis in tool spindle synchronization II (hobbing). The operation error (M01 1139) will occur, which causes automatic operation to pause.

(1) The tool spindle synchronization II (hobbing) mode cannot be commanded during spindle synchronization I, spin- dle synchronization II, or tool spindle synchronization IA/IB (spindle-spindle, polygon) ON. An operation error (M01 1005) occurs.

(2) Spindle synchronization I, spindle synchronization II, or tool spindle synchronization IA/IB (spindle-spindle, poly- gon) cannot be commanded during tool spindle synchronization II (hobbing) mode. An operation error (M01 1005) occurs.

(1) Even if the "reset" signal is input, the tool spindle synchronization II (hobbing) maintains synchronization. How- ever, the synchronization is canceled at emergency stop.

(1) The arbitrary axis exchange command (G140), arbitrary axis exchange return command (G141) or reference axis arrange return command (G142) cannot be issued in the part system where the tool spindle synchronization II (hobbing) is being performed. A program error (P501) will occur. However, hobbing that uses the axis in arbitrary axis exchange mode is possible.

(2) The workpiece axis of tool spindle synchronization II (hobbing) cannot be commanded as the axis exchange tar- get. Doing so triggers the arbitrary axis exchange disable state.

(1) If door interlock I or door interlock II is turned ON during the tool spindle synchronization II (hobbing) mode, tool spindle synchronization II (hobbing) will be canceled because synchronization cannot be maintained.

Tool spindle synchronization II (hobbing) cannot be executed using the spindle-mode rotary axis as the hob axis.

An operation error (M01 1024) will occur.

However, tool spindle synchronization II (hobbing) can be executed using the spindle-mode rotary axis as the work-

piece axis.

(1) The 3-dimensional coordinate conversion cannot be commanded in the part system for tool spindle synchroni- zation II (hobbing). A program error (P922) will occur.

(2) Tool spindle synchronization II (hobbing) cannot be commanded during 3-dimensional coordinate conversion. A program error (P921) will occur.

Relationship with other functions

Synchronous tapping cycle

Spindle synchronization I, Spindle synchronization II, Tool spindle synchronization IA/IB (spindle-spindle, polygon)

NC reset, Emergency Stop

Arbitrary axis exchange command (G140), arbitrary axis exchange return command (G141), reference axis arrange return command (G142)

Door interlock I / Door interlock II

Spindle-mode rotary axis control

3-dimensional coordinate conversion

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

817 IB-1501278-Q

When tool spindle synchronization II (hobbing) is commanded while the high-speed high-accuracy control is valid or

when high-speed high-accuracy control is commanded during tool spindle synchronization II (hobbing), high-speed

high-accuracy control is temporarily canceled, and tool spindle synchronization II (hobbing) is executed preferential-

ly.

(1) Tool spindle synchronization II (hobbing) is not available during tool center point control. A program error (P942) will occur.

(2) The tool center point control command can be issued during tool spindle synchronization II (hobbing).

(1) Tool spindle synchronization II (hobbing) is not available during execution of the inclined surface machining com- mand. A program error (P951) will occur.

(2) The inclined surface machining command cannot be issued during tool spindle synchronization II (hobbing). A program error (P952) will occur.

(1) When cutting helical gear, correct cutting feed will not be possible in the synchronous feed mode, so always cut in the asynchronous feed mode.

(2) To carry out phase alignment when machining a helical gear, phase alignment will not be carried out correctly if the Z axis is moving, so always carry out phase alignment control when the Z axis is stopped.

(3) The linear-type rotary axis for the absolute position system cannot be used as the hobbing workpiece axis. If used, the absolute position detection alarm (Z70 0002) will occur after the power was turned OFF and ON.

(4) If hobbing control is carried out using the linear-type rotary axis as the hob axis, the current value will be illegal when the hobbing is canceled. In this case, preset the counter after canceling hob machining.

(5) If the hob axis rotation ratio is set to "0", phase alignment will not be carried out. Even if the workpiece axis phase shift amount is commanded, it is ignored.

(6) When "Hob axis delay (advance) allowable angle" (parameter "#3133 spherr") is "0", "Hob axis delay excess" (X18B3) is not output.

(7) During acceleration/deceleration of hob axis, "Hob axis delay angle" (R6516) and "Maximum hob axis delay an- gle" (R6517) are not updated.

(8) When the maximum hob axis delay (advance) angle (R6516) exceeds the hob axis delay (advance) allowable angle (parameter "#3133 spherr"), CNC only outputs the "delay excess" signal (X18B3). For information about how to take an action, contact the MTB representative.

(9) G00 of G01 command for the workpiece axis from the machining program should be an incremental command. When an absolute command is issued, program error (P32) occurs.

(10) Always set the position loop gain of the hob axis and the workpiece axis to the same value. If different values are set, the machining accuracy is not warrantable.

(11) Do not command hobbing (tool spindle synchronization II) during synchronous control of the workpiece axis (C1 axis) and rear workpiece axis (C2 axis). When hobbing is commanded during synchronous control, rear work- piece axis (C2 axis) and workpiece axis (C1 axis) will not operate in synchronization (because this does not trig- ger an alarm), and this may twist the workpiece.

If hobbing is commanded during synchronous control, only operations for the spindle (hob axis) and work- piece axis (C1 axis) can be carried out.

(12) Command the hobbing mode with the workpiece axis stopped. When hobbing is commanded while the work- piece axis is rotating, hobbing mode turns ON after the stop of the workpiece axis was confirmed.

High-speed High-accuracy Control

Tool center point control

Inclined surface machining command

Precautions and restrictions

Hob axis : #13003 SP003 , #13036 SP036/bit4

Workpiece axis (NC axis) : #2203 SV003 , #2204 SV004 , #2257 SV057

Workpiece axis (Spindle/C axis) : #13002 SP002 , #13035 SP035/bitC

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

818IB-1501278-Q

18.4 Multiple Spindle Synchronization Set Control [C80]

By this function, multiple sets of spindle synchronization I control can be performed simultaneously.

Spindle synchronization I cannot be combined with spindle synchronization II.

This section describes spindle synchronization I.

[Ref] indicates "reference axis" or "reference spindle".

[Sync] indicates "synchronized axis" or "synchronized spindle".

This is also applied to spindle synchronization II.

(*1) The synchronized spindle of the 1st set overlaps with that of the 2nd set.

(*2) The reference spindle of the 1st set overlaps with the synchronized spindle of the 2nd set. Or the synchronized

spindle of the 1st set overlaps with the reference spindle of the 2nd set.

(*3) The reference spindle or synchronized spindle of the 1st or 2nd set overlaps with the synchronous tap spindle.

(1) This function can be applied to a lathe system equipped with two or more spindles.

(2) The validity of this function depends on the MTB specifications. (Parameter "#1440 multi_sp_syn") If this function is invalid, multiple spindle synchronization commands cannot be issued. (If two or more spindle synchronization commands are issued, the operation error (M01 1005) occurs, which causes automatic opera- tion to pause.)

Function and purpose

List of available combinations

G114.1: Spindle synchronization I command

G84: Synchronous tapping

Spindle synchronization command for the 2nd set

Spindle synchronization command for the 1st set

[Ref] [Sync] G114.1 S1 [Ref] - S2 [Sync]

G84 S1

G114.1 S3 S4

S1 S4 (*3)

S3 S2 (*1)

S2 S3 (*2)

S3 S1 (*2) (*3)

G84 S1 (*3) (*3)

S2 (*3)

S3

Enabling conditions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

819 IB-1501278-Q

For details about the command format to start each function, refer to the relevant function's section.

(1) Command to cancel all synchronization modes Cancels all the synchronized sets. The format varies depending on the MTB specifications (parameter "#1242 set14/bit6).

[When "#1242 set14/bit6" = 0]

If one set of spindle synchronization is active, G113.1 (without D_ command) is able to cancel the spindle synchronization control. However, if two or more sets of Spindle synchronization are active, the command causes the operation error (M01 1135) to occur.

[When "#1242 set14/bit6" = 1]

If "G113.1 D0;" is commanded, a program error (P35) occurs.

(2) Spindle synchronization I cancel command

(*1) There are two types of spindle designation methods: Spindle number method and spindle name method.

When any name (1 to 9) is set to the spindle name parameter "#3077 Sname" of all the spindles, the spindle

name method takes effect. In other cases, the spindle number is used.

(*2) Spindle synchronization I can be canceled by the G113.1 D_ command regardless of whether the multiple

spindle synchronization set control is valid or invalid.

Command format

Canceling Spindle Synchronization

G113.1 D0; Cancels all the currently executed spindle synchronization I commands.

G113.1 ;

G113.1 D_;

Address Meaning of address Command range Remarks

D Synchronization axis to be can- celed

Spindle No.: 1 to num- ber of spindles Spindle name: 1 to 9

If the command range is exceed- ed, the program error (P35) will occur. If you specify a non-existent

spindle, the program error (P35) occurs. If you specify a spindle that is not

under synchronization, the oper- ation error (M01 005) occurs. If there is no address D, the syn-

chronization status of all spindle synch sets is cancelled.

Specify the number or name of the spindle that serves as the syn- chronized spindle in the Spindle synchronization I. (*1)

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

820IB-1501278-Q

The function combination table in the operation example shows each function as follows.

G114.1: Spindle synchronization I command

G84: Synchronous tap

(1) If there is no overlap among the spindles of each spindle synchronization set, the multiple synchronization sets can be controlled simultaneously.

Example: Combinations when the commanded reference spindle or synchronized spindle is not included in other

control sets

(2) If the reference spindle of one spindle synchronization set overlaps with that of another synchronization set, the operation error (M01 1005) occurs. Note, however, that the reference spindle in spindle synchronization mode can be commanded as that for spindle synchronization in another synchronization set.

Example: Combinations when the reference spindle of the 2nd set is controlled as the reference spindle of an-

other set (When S1 is duplicated as the reference spindle)

(3) If the synchronized spindle to be controlled in each spindle synchronization set overlaps with that of another syn- chronization set, an operation error (M01 1005) occurs.

(4) If the reference spindle of one spindle synchronization set overlaps with the synchronized spindle of another syn- chronization set, the operation error (M01 1005) occurs.

Operation example

Spindle synchronization com- mand for the 2nd set

Spindle synchronization command for the 1st set

G114.1 (S1-S2)

G114.1 (S3-S4)

S1, S2, S3, S4: S command name C1, C3: Name of rotary axis

Spindle synchronization com- mand for the 2nd set

Spindle synchronization command for the 1st set

G114.1 (S1-S2)

G114.1 (S1-S3)

S1,S2,S3,S4: S command name C1, C3: Name of rotary axis

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

821 IB-1501278-Q

[M800/M80]

Spindle synchronization II does not support the multiple spindle synchronization set control. Thus, output the PLC

output signal of the 1st spindle regardless of whether the multiple spindle synchronization set control is valid or in-

valid.

[C80]

(1) Multiple spindle synchronization set control can be used with spindle synchronization II. However, Spindle syn- chronous control I and II cannot be used simultaneously.

(2) For Spindle synchronous control II, if the parameter "#1440 multi_sp_syn" is set to "0", the synchronization is performed by using the setting value of the 1st spindle of the PLC interface. In this case, the values set to spin- dles other than the 1st spindle are not used.

In the following cases, the operation error will occur, which causes automatic operation to pause.

(1) A synchronous tapping spindle cannot be commanded as the reference spindle of Spindle synchronization I. (Operation error (M01 1007))

(2) A synchronous tapping spindle cannot be commanded as the synchronized spindle of Spindle synchronization I. (Operation error (M01 1007))

(3) You cannot command a synchronous tapping that uses the reference spindle of spindle synchronization I mode. (Operation error (M01 1139))

(4) You cannot command a synchronous tapping that uses the synchronized spindle of spindle synchronization I mode. (Operation error (M01 1139))

(1) If any of the following commands is issued to a spindle for which the cancel operation is being processed by the (G113.1) command or the spindle synchronization/superimposition cancel signal (SPSYC), the operation error (M01 1005) occurs. Spindle synchronization

Note that the commanded spindle synchronization operation starts after the cancel process is completed.

(2) If the cancel command (G113.1D_) is issued to the spindle that is not under synchronous control, an operation error (M01 1005) occurs.

(3) If the "spindle synchronization/superimposition cancel" signal (SPSYC) turns ON for a spindle that is not under synchronization control, the control ignores the cancel signal.

(4) An axis that involves any travel cannot be put in the same block as the spindle synchronization cancel command (G113.1). Doing so causes a program error (P33) when the spindle synchronization cancel command is issued, which causes automatic operation to be paused.

Relationship with other functions

Spindle synchronization II

Synchronous tapping cycle

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

18 Advanced Multi-Spindle Control Function

822IB-1501278-Q

19

823 IB-1501278-Q

Advanced Machining Control

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

824IB-1501278-Q

19Advanced Machining Control 19.1 Tool Position Compensation; G43.7/G49

The position compensation of a turning tool is executed when turning is performed in a machine of machining center

system. Use of the tool position compensation enables the three base axes (X, Y and Z axes) to be compensated

from the tool base position (base point).

To set the compensation amount of the three base axes, switch the tool compensation display type to tool compen-

sation type III. The validity of this parameter depends on the MTB specifications (parameter "#1046 T-ofs disp type").

The tool position compensation function is valid for machining center compensation type II. This setting depends on

the MTB specifications (parameter "#1037 cmdtyp").

The valid range of the compensation No. will differ according to the specifications (No. of compensation sets).

If the commanded compensation No. exceeds the specification range, the program error (P170) will occur.

The H address can be omitted. If omitted, the previously specified compensation No. is used.

(1) Do not omit the H address. If the H address is omitted, an unintended operation may be performed by the H address that is input using a command other than G43.7.

(2) Even if the H command is issued alone in a block, the compensation amount corresponding to the compensation No. does not become valid. The compensation amount designated by the previous command is applied contin- uously.

(3) If G43.7 is commanded with a type other than tool compensation type II of the machining center, the program error (P39) will occur.

Function and purpose

Command format

Tool position compensation start

G43.7 H__;

H Compensation No. (H0 cancels tool position compensation.)

Tool position compensation cancel

G49;

X(+)

Z(+)

Y(+)

Y axis tool compen- sation amount (base axis J)

X axis tool compensation amount (base axis I)

Z axis tool compensation amount (base axis K)

Base position (base point)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

825 IB-1501278-Q

The tool position compensation function compensates the tool position for the axis specified in the parameter using

the offset specified by the compensation No. The three base axes are determined by the following parameters.

#1026 base_I (Base axis I)

#1027 base_J (Base axis J)

#1028 base_K (Base axis K)

Detailed description

Three base axes

Differences between tool length compensation and tool position compensation

[Tool length compensation (G43/G44)] [Tool position compensation (G43.7)]

The H address is used to compensate only one axis.

The H address is used to compensate three axis directions.

Z

X

Z(+)

Y(+)

X(+)

Base position (Base point)

X axis direction compensation amount

Y axis direction compen- sation amountTool length compen-

sation amount

Z axis direction compensation amount

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

826IB-1501278-Q

When G43.7 is commanded in the program, tool position compensation is enabled, and the axis moves using the

coordinate position, which is obtained by adding the compensation amount specified by the compensation No. to

the end point coordinates specified in the movement command of the block, as the end point.

This process is executed regardless of the absolute command or incremental command. Then, the compensation

amount is added to the end point coordinates specified in the program until tool position compensation is canceled

with a G49 command.

Even except when the power is turned ON, G49 mode is set after M02 and M30 have been executed or after reset-

ting has been performed.

When no movement command is included in the same block as for G43.7 or G49, the operation depends on the

MTB specifications

(parameter "#1247 set19/bit0" (Movement by tool length offset)). For details, refer to "Movement by tool length com-

pensation".

(1) The compensation No. commanded in the same block as G43.7 will be valid for the following modals.

(2) When G43.7 is further commanded in G43.7 mode, the compensation is applied by the tool compensation amount commanded later.

(3) When the H command is issued alone in a block during G43.7 modal, the compensation amount in modal mode is applied continuously.

Start-up and cancel operations

For absolute command

N1 G91 G28 X0 Y0 Z0 ; N2 G00 G90 ; N3 G43.7 X-20. Y0. Z-40. H01 ; N4 Z-80. N5 G01 X-50. F500 ;

For incremental command

N1 G91 G28 X0 Y0 Z0 ; N2 G00 G91 ; N3 G43.7 X-20. Y0. Z-40. H01 ; N4 Z-40. N5 G01 X-30. F500 ;

Compensation No.

G43.7 Hh1 ; :

Used as the tool compensation amount of (lh1).

G49;

:

Tool length compensation is canceled.

G43.7; :

Used again as the tool compensation amount of (lh1).

G43.7 Hh1 ; :

Used as the tool compensation amount of (lh1).

G43.7 Hh2 ; :

Used as the tool compensation amount of (lh2).

G43.7 Hh1 ; :

Used as the tool compensation amount of (lh1).

G43.7 Hh2 ; :

Used as the tool compensation amount of (lh2).

Hh3 ; :

The compensation amount designated in (lh2) is applied continuously.

N3

N4

N5

R

Program path

Workpiece

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

827 IB-1501278-Q

If the reference position return operation is performed, the tool length compensation amount is canceled when the

reference position return is completed. However, for the manual high-speed reference position return, the axis can

be returned to the coordinates that are shifted by the tool length compensation amount again when the axis is moved

after it has reached the reference position, using the parameter. (Parameter "#8122 Keep G43 MDL M-REF")

(Example 1) Automatic reference position return operation

(Example 2) Manual dog-type reference position return operation (The same operation is also performed when

"#8122" is set to "0" and manual high-speed reference position return is valid.)

(Example 3) When "#8122" is set to "1" and manual high-speed reference position return is valid:

The movement is commanded to the G53 machine coordinate system, the axis will move to the machine position

when the tool compensation amount is canceled. If the movement command is issued first after G53, the axis returns

to the coordinates that are shifted by the tool length compensation amount.

Tool compensation cancel at reference position return operation

Automatic reference po- sition return (G28/G30)

Manual reference position return

Dog type High-speed type

When the axis reached the reference position:

Cancel Cancel Cancel

When the axis moves af- ter the above:

Cancel Cancel #8122 = 0: Cancel

#8122 = 1: Reactivates tool length compensation amount that is ap- plied before the axis reaches the reference position.

G43.7 Xx1 Zz1 Hh1 ; :

G28 Xx2 Zz2 ; Canceled when reference position is reached. (Same as when G49 is command- ed.)

G01 Xx3 Zz3 Ff3 ; :

Performs the same operation as that in G49 mode.

G43.7 Xx1 Zz1 Hh1 ; :

(Interrupted by manual dog-type reference po- sition return.)

Canceled when reference position is reached.

G01 Xx2 Zz2 Ff2 ; :

Performs the same operation as that in G49 mode.

G43.7 Xx1 Zz1 Hh1 ; :

(Interrupted by manual high-speed reference position return.)

Canceled when reference position is reached.

G01 Xx2 Zz2 Ff2 ; :

The end point is set for the coordinates that are shifted by the compensation amount specified by compensation No. h1.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

828IB-1501278-Q

When there is no movement command in the same block as for the G43.7 or G49 command, whether the axis moves

to the current position by the specified compensation amount when the G43.7 command block is executed is deter-

mined depending on the MTB specifications (parameter "#1247 set19/bit0").

(1) For the G49 command, command it at a safe position where the tool does not interfere with the machine in con- sideration of the compensation canceling operation. When the parameter "#1247 set19/bit0" is set to "0", the axis moves to the position where the compensation was canceled even though there is no axis command in the G49 command block.

Movement by tool length compensation

G43.7/G49 Not move by the compensation amounts (#1247 set19/bit0 = 1)

Moves by the compensation amounts (#1247 set19/bit0 = 0)

Without move- ment commands

(*1) Not moved. (*2) Not moved. If tool position compensation is commanded alone in a block, the axis does not move, but the tool compensation amount is applied to the program position counter.

(*3) Movement by (+) compensation amount (*4) Movement by (-) compensation amount If the tool position compensation is command- ed alone in a block, the axis moves by the tool length compensation amount.

With movement commands

(*3) Movement by (+) compensation amount (*4) Movement by (-) compensation amount If the tool position compensation and axis movement command are issued in the same block, the axis moves to the end point that is obtained by adding the tool length compensation amount to the movement command.

G00 Xx Yy Zz ; G43.7 H1 ; (*1)

G49 ; (*2)

(*1)

(*2)

G00 Xx Yy Zz ; G43.7 H1 ; (*3)

G49 ; (*4)

(*3)

(*4)

G00 Xx Yy Zz ; G43.7 H1 X10.; (*3)

G49 X5. ; (*4)

(*3)

(*4)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

829 IB-1501278-Q

Relationship with other functions

Relationship between tool position compensation command and G code function

Column A : Operation to be performed when the tool position compensation command (G43.7/G49) and an- other G command are issued to the same block

Column B : Operation to be performed when another command is issued in G43.7 mode

Column C : Operation to be performed when G43.7 is commanded in non-G43.7 mode

: Can be executed.

- : The G43.7 command is ignored.

P(xx) : The program error will occur.

Modal group

G code Function A B C

0/1 G04 Dwell P45 (*1)

G05 High-speed high-accuracy II P33

G05.1 High-speed high-accuracy I P34 P34

G07 Hypothetical axis interpolation P33

G08 High-accuracy control P33

G10 Parameter input by program / Com- pensation data input by program

P45 (*1)

G11 Parameter input by program cancel -

G12/G13 Circular cut P32 (H command only)

G27 Reference position check P45 (*1)

G28 Reference position return P45 (*1) (*5)

G29 Start position return P45 (*1)

G30 2nd to 4th reference position return P45 (*1)

G30.1 - G30.6 Tool exchange position return -

G37 Automatic tool length measurement P801 P801

G52 Local coordinate system setting P45 (*1)

G53 Machine coordinate system selection P45 (*1)

G53.1/G53.6 Tool axis direction control P953

G65 User macro simple call P231 (*1)

G115/G116 Start point timing synchronization P32

G120.1/G121 Machining condition selection I P33

G122 Activate sub part system I P651, P32 (*2)

1 G02/G03 Circular interpolation P33 (*1)

G2.3/G3.3 Exponential interpolation P33

G2.4/G3.4 3-dimensional circular interpolation P75 P75 P75

G06.2 NURBS interpolation P33 P32

7 G41.2/G42.2 3-dimensional tool radius compensa- tion (Tool's vertical-direction compen- sation)

P163 P162

8 G43 Tool length compensation (+) (*3) P801 P801

G43.1 Tool length compensation along the tool axis ON

(*3) P801 P930

G43.4/G43.5 Tool center point control (*3) P941 P942

G44 Tool length compensation (-) (*3) P801 P801

G49 Tool length compensation cancel (*3)

9 G73 - G76 G81 - G89

Fixed cycle for drilling P801 P801

14 G66 User macro modal call - (*4)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

830IB-1501278-Q

(*1) When the parameter "#1241 set13" is set to "1", G43.7 is ignored.

(*2) If G122 or G144 is called before G43.7, the program error (P651) will occur. If it is called after G43.7, the pro-

gram error (P32) will occur.

(*3) When "G43.7 G43 H1;" is commanded, the G43 commanded later is enabled.

(*4) Only the modal is updated.

(*5) If the reference position return (G28) is commanded during the G43.7 modal, the G43.7 modal is canceled when

the return is completed.

When the compensation by tool position compensation command G43.7/ G49 is applied to the circular movement

axis, compensation movement is superimposed with circular movement if the axis moves by the specified compen-

sation amount in the circular command block.

16 G68 3-dimensional coordinate conversion mode ON

P923

G68.2/G68.3 Inclined surface machining command P954

19 G50.1 G command mirror image cancel P801

G51.1 G command mirror image ON P801 P801 P801

21 G7.1/G107 Cylindrical interpolation P33 P481

G12.1/G112 Polar coordinate interpolation ON P33 P481

G13.1/G113 Polar coordinate interpolation cancel P33

27 G54.4 Workpiece installation error compen- sation

P546 P546

Circular interpolation

Modal group

G code Function A B C

X

Z

Uncompensated path

Path compensated by tool position compensa- tion

Z axis tool compensation amount (Reference axis K)

Circular movement amount

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

831 IB-1501278-Q

19.2 Tool Length Compensation Along the Tool Axis; G43.1/G49

(1) Changes in the tool length compensation in the tool axis direction and compensation amount

The tool length can be compensated for in the tool axis direction even when the rotary axis rotates and the tool

axis direction becomes other than the Z axis direction. By using this function, and setting the deviation between

the tool length amount set in the program and the actual tool length as the compensation amount, a more flexible

program can be created. This is especially valid for programs in which many axis movement commands are

present.

The tool length compensation amount in the tool axis direction can be changed by rotating the manual pulse gen-

erator when the tool length compensation amount in the tool axis direction is being changed during the tool length

compensation in the tool axis direction mode.

(2) Machine configuration

The compensation using the tool length compensation in the tool axis direction function is applied to the direction

of the tool tip axis (rotary axis).

As for the axes that determine the compensation direction, a combination of the C axis (spindle) for Z axis rota-

tion and the A axis for X axis rotation or B axis for Y axis rotation is designated using a parameter.

Function and purpose

A axis and C axis, or B axis and C axis A axis and B axis

(d) Rotation center (e) Tool

(f) Axis direction (compensation direction) (g) Workpiece

Y

Z

X

A B

C

A

B

C (d)

(e)

(f)

A/B

(g)

(d)

(e)

(f)

(g)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

832IB-1501278-Q

(1) G43, G44 and G43.1 are in the same G code group. Therefore, it is not possible to designate more than one of these commands simultaneously for compensation. G49 is used to cancel the G43, G44 and G43.1 commands.

(2) If the G43.1 command is designated when the specification for the tool length compensation in the tool axis di- rection is not provided, the program error (P930) will occur.

(3) If reference position has not been completed for any of the X, Y, Z, A or B and C axes in the G43.1 block, the program error (P430) will occur. However, the error does not apply to the following cases. When mechanical axes have been selected

The error does not apply to the A, B and C axes. When "1" has been set for the "#2031 noref" zero point return parameter

The error does not apply to the axis for which "noref" is set to "1" because it is considered that the reference position return of the axis has already completed.

Command format

Tool length compensation along the tool axis ON

G43.1 X__ Y__ Z__ H__ ;

Tool length compensation cancel

G49 X__ Y__ Z__ ;

X, Y, Z Movement data

H Tool length compensation No. (If the compensation No. exceeds the specification range, a program error (P170) will occur.)

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

833 IB-1501278-Q

(1) When the following conditions have been met, the handle movement amount is added to the tool length com- pensation amount in the tool axis direction by rotating the manual pulse generator. When the operation mode is MDI, memory or tape operation mode and the state is "during single block

stop", "during feed hold" or "during cutting feed movement". Note that compensation amount cannot be changed during error or warning.

During tool length compensation in the tool axis direction (G43.1). In the tool length compensation amount in the tool axis direction changing mode (YC92/1). In the tool handle feed & interruption mode (YC5E/1). The 3rd axis (tool axis) is selected for the handle selection axis.

(2) The change amount is canceled when the compensation No. is changed.

The coordinate value in the tool length compensation amount in the tool axis direction change mode operates in the same manner as that when the manual ABS is ON, regardless of manual ABS switch (YC28) or base axis specification parameter "#1061 intabs". If compensation amount is changed during continuous operation, single block stop, or feed hold, the compen-

sation amount will be effective immediately in the next block.

When changing compensation amount, the compensation amount corresponding to the actual compensation No. will be changed. However, when executing the NC reset or tool length compensation in the direction of tool axis cancel (G49), the compensation amount will be returned to the original.

Changing the amount of tool length compensation in the tool axis direction

(Example) When changing compensation amount during continuous operation.

(Example) When changing compensation amount during single block stop.

(a) Compensation amount before change (b) Changed compensation amount

(c) Path after compensation (d) Program path

(e) Single block stop

Note

(a)

(b)

(c)

(d)

(a)

(b) (c)

(d)

(b)

(e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

834IB-1501278-Q

The vectors representing the tool length compensation in the tool axis direction are as follows.

(1) When the A and C axes are set as the rotary axes: Vx = L * sin(A) * sin(C) Vy = -L * sin(A) * cos(C) Vz = L * cos(A)

(2) When the B and C axes are set as the rotary axes: Vx = L * sin(B) * cos(C) Vy = L * sin(B) * sin(C) Vz = L * cos(B)

Vx, Vy, Vz: Tool length compensation along the tool axis vectors for X, Y and Z axes

L: Tool length compensation amount (1h)

A, B, C: Rotation angle (machine coordinate position) of A, B and C axes

(3) Rotary axis angle command The value used for the angle of the rotary axis (tool tip axis) differs according to the type of rotary axis involved.

When servo axes are used:

The machine coordinate position is used for the rotation angles of the A, B and C axes.

When mechanical axes are used:

Instead of the machine coordinate position of the axes, the values read out from the R registers (R2628 to

R2631) are used for the rotation angles of the A, B and C axes.

Tool length compensation in the tool axis direction is cleared in the following cases.

(1) When manual reference position return is completed.

(2) When reset 1, reset 2 or reset & rewind has been executed.

(3) When the G49 command has been designated.

(4) When the offset No. 0 command has been executed.

(5) When NC reset has been executed with "1" set for the basic system parameter "#1151 rstint".

(6) When the G53 command is designated while the compensation status is still established, the compensation is temporarily canceled, and the tool moves to the machine position designated by G53.

Tool length compensation in the tool axis direction vector

(a) Path after tool length compensation in the tool axis direction

(b) G43.1 command

(c) Program path (d) G49 command

Compensation amount resetting

(c)

(d)

(a)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

835 IB-1501278-Q

Example of arc machining

Shown below is an example of a program for linear -> arc -> arc -> linear machining using the B and C rotary axes

on the ZX plane.

Program example

Machining program

N01 G91 G28 X0 Y0 Z0 ; Compensation amount H01 = 50 mm

N02 G28 B0 C0 ;

N03 G90 G54 G00 X400. Y0 ;

N04 Z-150. ;

N05 B90. ; B axis: 90

N06 G18 ;

N07 G43.1 X250. H01 ; Tool length compensation in the tool axis direction ON

N08 G01 Z0 F200 ;

N09 G02 X0 Z250. I-250. K0 B0 ; Top right arc, B axis: 0

N10 G02 X-250. Z0 I0 K-250. B-90. ; Bottom right arc, B axis: -90

N11 G01 Z-150. ;

N12 G00 G49 X-400. ; Tool length compensation in the tool axis direction OFF

N13 G91 G28 B0 C0 ;

N14 G28 X0 Y0 Z0 ;

N15 M02 ;

Tool with no compensation

Program path

Path after compensation

N07

N08 N09 H01 = 50mm

N10

N11

N12

X

Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

836IB-1501278-Q

(1) A program error (P931) will occur if 3-dimensional coordinate conversion is carried out during tool length com- pensation in the tool axis direction.

(2) A program error (P921) will occur if the tool length is compensated for in the tool axis direction during 3-dimen- sional coordinate conversion.

(3) A program error (P923) will occur if the tool length compensation in the tool axis direction is commanded in the same block as the 3-dimensional coordinate conversion.

(1) A program error (P931) will occur if a command from G27 to G30 is issued during tool length compensation in the tool axis direction.

(1) Reference position return of orthogonal axis Tool length compensation along the tool axis will be canceled, as well as the dog-type reference position return and the high-speed reference position return.

Relationship with other functions

Relationship with 3-dimensional coordinate conversion

Relationship with automatic reference position return

Relationship with manual reference position return

N1 G90 G00 G54 X0 Y0 Z0 ;

Positioning to the workpiece origin

N2 G00 A45. ;

Rotating the rotary axis by 45

N3 G43.1 H1 ;

Tool length compensation along the tool axis ON

N4 G19 G03 Y-5.858 Z-14.142 J14.142 K-14.142 A90. ;

Circular cutting

Manual dog-type reference position return (a)

N5 G00 Y0. ;

N6 Z0. ;

: :

N5 G00 Y0. ;

Positioning to the position where tool length compen- sation along the tool axis was canceled.

N6 Z0. ;

Positioning to the position where tool length compen- sation along the tool axis was canceled.

: :

N2

N3

N4

(a)

N1 45

Z

Y M

W

Z

Y M

W

N6

N5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

837 IB-1501278-Q

(2) Reference position return of rotary axis Tool length compensation along the tool axis will be canceled, as well as the dog-type reference position return and the high-speed reference position return.

(1) Graphic check draws a path after compensation.

N1 G90 G00 G54 X0 Y0 Z0 ;

Positioning to the workpiece origin

N2 G00 A45. ;

Rotating the rotary axis by 45

N3 G43.1 H1 ;

Tool length compensation along the tool axis ON

N4 G19 G03 Y-5.858 Z-14.142 J14.142 K-14.142 A90. ;

Circular cutting

Manual dog-type reference position return (a)

N5 G00 Y0. ;

N6 Z0. ;

: :

N5 G00 Y0. ;

Positioning to the position where tool length com- pensation in the tool axis direction was canceled.

N6 Z0. ;

Positioning to the position where tool length com- pensation in the tool axis direction was canceled.

: :

Relationship with graphic check

45

90

(a)

N2

N3 N3

N4

M

W

Z

Y

Z

Y M

W

N6

N5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

838IB-1501278-Q

19.3 Tool Center Point Control; G43.4, G43.5/G49

The tool center point control function controls a commanded position described in the machining program to be the

tool center point in the coordinate system that rotates together with a workpiece (table coordinate system). This func-

tion can be applied for the three types of machines as shown below.

(1) A tool tilt type: a machine with two rotary axes set on the head.

(2) A table tilt type: a machine with two rotary axes set on the table.

(3) A combined type: a machine with one rotary axis set on the tool and another on the table.

With this function, in the case of using tool tilt type, the tool center point is controlled so that it moves on the pro-

grammed path specified on the workpiece coordinate system. In the case of using the table tilt type, the tool center

point is controlled so that it moves on the programmed path specified on the table coordinate system (a coordinate

system which rotates together with a workpiece).

(1) Tool tilt type

(2) Table tilt type

Function and purpose

Tool center point control OFF and tool length com- pensation along the tool axis ON

Tool center point control ON

Rotation center Program path Rotation center

Path of the tool center point

Controls so that the path of the tool holder center point draws a straight line.

Controls so that the tool center point draws a straight line.

Tool center point control OFF and tool length com- pensation along the tool axis ON

Tool center point control ON

Path of the tool center point

Rotation center Rotation center

Controls so that the tool holder center point positions on the workpiece coordinate system.

Controls so that the tool center point positions on the ta- ble coordinate system.

Z(+)

X(+)

B(- ) B(- )

Z(+)

X(+)

X'(+) Z''(+)

X''(+)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

839 IB-1501278-Q

(3) Combined type

If the tool center point control is commanded without the specifications of this function, a program error (P940)

will occur.

In addition, 3 orthogonal axes must be commanded first and 2 rotary axes alter.

Set the short-cut valid or linear-type rotary axis to the rotary axis type (parameter "#8213 Rotation axis type") of two rotary axes. When short-cut valid is set, the rotary axis moves in the commanded direction, and the tool center point moves following the movement of the rotary axis, which may cause a machining failure.

This function can be used on the machine whose rotary axis is installed with ISO polarity and the machine whose

axis is installed with non-ISO polarity. However, the orthogonal axis needs to be installed with ISO polarity. This

function is also available in machines with an inclined rotary axis.

For details on the detailed machine conditions, refer to "19.8 Applicable Machines".

Tool center point control OFF and tool length com- pensation along the tool axis ON

Tool center point control ON

Path of the tool center point

Rotation center Rotation center

Controls so that the tool holder center point positions on the workpiece coordinate system.

Controls so that the tool center point positions on the ta- ble coordinate system.

Applicable Machines

Z(+)

X(+)

B(- ) B(- )

Z(+)

X(+)

X'(+) Z''(+)

X''(+)

Z'(+)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

840IB-1501278-Q

When the number of simultaneous contouring control axes is 4, the tool center point control is only available for the

simultaneous movement of 4 axes or less.

Using this function allows you to designate the tool center point position on the table coordinate system (which ro-

tates as the workpiece rotates); therefore, you can easily create a machining program without calculating the work-

piece rotation or spindle end point position.

[Restrictions]

(*1) If G43.5 is commanded, a program error (P34) occurs.

(*2) If two rotary axes are commanded, a program error (P10) occurs. However, if a single rotary axis only moves

even when two rotary axes are commanded, it is not judged to be erroneous.

(*3) Selected by a parameter.

(*4) Only the joint interpolation is available in G43.4; therefore, the singular point type is invalid.

[Restrictions in movement command]

When the number of simultaneous contouring control axes is 4

When the number of simultaneous con- touring control axes is 5 or more

When the number of simultaneous con- touring control axes is 4

Command type G43.4/G43.5 G43.4 only (*1)

Limitations when com- manded

None (Format error, etc. only) A single rotary axis can be commanded in the same block. (*2)

Interpolation method Joint interpolation/Single axis rotation in- terpolation (*3)

Joint interpolation only

Type of passing singu- lar point

Type 1/type 2 (*3) Invalid (*4)

Program coordinate system selection

Table coordinate system/workpiece coordinate system (selected by parameter) (*3)

Rotary axis reference position selection

Zero degree position basis/start position basis (*3)

Rotary axis prefiltering Select whether this function is valid or invalid with a parameter. Designate the time constant with a parameter.

o: Can be commanded; x: Alarm

3 orthogonal axes or less

1 rotary axes 2 rotary axes 3 orthogonal axes or less + 1 rotary axes

3 orthogonal axes or less + 2 rotary axes

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

841 IB-1501278-Q

There are two command formats: to command the tool angle with the rotary axis

and to command the tool angle with the angle vector of the workpiece surface or

the space angle on the workpiece coordinate system (feature coordinate system).

Type 2 is available only when the number of simultaneous contouring control axes is 5 or more.

(1) When this command is not issued in the same block as the orthogonal coordinate axis movement command or rotary axis movement command, "start-up without movement command" is applied. If this command is issued in the same block as a movement command, "start-up with movement" is applied.

(2) Commands to I, J, and K will be ignored during the tool center point control type 1.

(3) If address P is omitted, follow the setting of the parameter "#8139 center point G0 temporary cancel". If any value other than 0 to 2 is commanded, the program error (P35) will occur.

(4) If the numeric value following each address is omitted, a different operation is performed depending on the set- ting of the parameter "#1227 aux11/bit4" (Word command check).

When "#1227 aux11/bit4" is set to "0", the omitted numeric value is assumed to be "0".

When "#1227 aux11/bit4" is set to "1", the program error (P33) occurs.

Command format

Tool center point control type1 ON

G43.4 (X__ Y__ Z__ A__ C__) H__ P__ ;

X, Y, Z Orthogonal coordinate axis movement command

A, C Rotary axis movement command

H Tool length compensation No.

P G00 temporary cancel designation 0: Follows the setting of the parameter #8139. 1: Does not execute G00 temporary cancel regardless of the parameter setting. 2: Executes G00 temporary cancel regardless of the parameter setting.

Tool center point control type2 ON

G43.5 (X__ Y__ Z__) I__ J__ K__ H__ (P__) ; Designation by angle vector

G43.5 ,P0 (X__ Y__ Z__) I__ J__ (K__) H__ (P__) ; Designation by Euler angles

G43.5 ,P1 (,Q__) (X__ Y__ Z__) I__ J__ K__ H__ (P__) ; Designation by roll-pitch-yaw angles

X, Y, Z Orthogonal coordinate axis movement command

I, J, K Angle vector of workpiece surface (Designation by angle vector) I: Component in X axis direction J: Component in Y axis direction K: Component in Z axis direction Euler angles (Designation by Euler angles) (*1) Roll-pitch-yaw angles (Designation by roll-pitch-yaw angles) (*1)

(*1) The commanded range of the Euler angles and roll-pitch-yaw angles is -360 to

360.

H Tool length compensation No.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

842IB-1501278-Q

(1) When this command is not issued in the same block as the orthogonal coordinate axis movement command or rotary axis movement command, "start-up without movement command" is applied. If this command is issued in the same block as a movement command, "start-up with movement" is applied.

(2) Rotary axis movement command cannot be issued during the tool center point control type 2. If commanded, a program error (P33) occurs.

(3) Address ",Q" can be commanded only for "designation by roll-pitch-yaw angles". Address ",Q" cannot be com- manded for other designations. If it is commanded, a program error (P33) occurs. Even when address ",Q" is not the numeric value specified above, a program error (P33) occurs.

(4) If I, J, or K is omitted when the tool center point control type 2 is commanded, the omitted address is assumed to "0". However, if all the addresses are omitted in "designation by Euler angles" and "designation by roll-pitch- yaw angles", the current angle is maintained.

(5) For "designation by Euler angles" and "designation by roll-pitch-yaw angles", if I, J, or K is commanded outside the range of -360 to 360, a program error (P35) occurs.

(6) If address P is omitted, follow the setting of the parameter "#8139 TCP G0 temp.cancel". If any value other than 0 to 2 is commanded, a program error (P35) occurs.

(7) If the numeric value following each address is omitted, a different operation is performed depending on the set- ting of the parameter "#1227 aux11/bit4" (Word command check).

When "#1227 aux11/bit4" is set to "0", the omitted numeric value is assumed to be "0".

When "#1227 aux11/bit4" is set to "1", the program error (P33) occurs.

(1) Instead of using G49, other G codes in G code group 8 can be used for canceling.

(2) When this command is not issued in the same block as the orthogonal coordinate axis movement command or rotary axis movement command, "cancel without movement command" is applied. If this command is issued in the same block as a movement command, "cancel with movement" is applied.

(3) If the numeric value following each address is omitted, a different operation is performed depending on the set- ting of the parameter "#1227 aux11/bit4" (Word command check).

When "#1227 aux11/bit4" is set to "0", the omitted numeric value is assumed to be "0".

When "#1227 aux11/bit4" is set to "1", the program error (P33) occurs.

P G00 temporary cancel designation 0: Follows the setting of the parameter #8139. 1: Does not execute G00 temporary cancel regardless of the parameter setting. 2: Executes G00 temporary cancel regardless of the parameter setting.

,Q Rotation order of roll-pitch-yaw angles (q: Setting value for address ",Q")

q 1st 2nd 3rd

123 X Y Z

132 X Z Y

213 Y X Z

231 Y Z X

312 Z X Y

321 Z Y X

If address ",Q" is omitted, "q" is handled as "123".

Tool center point control cancel

G49 (X__ Y__ Z__ A__ C__);

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

843 IB-1501278-Q

[Tool center point control type 2 (Designation by angle vector)]

The angle is determined so that the tool axis direction on the workpiece coordinate system (feature coordinate sys-

tem) is set to (i, j, k) by the G43.5 command (designation by angle vector).

(Example)

G43.5 X40. Y50. Z50. I0.131 J0.654 K0.458 ;

[Tool center point control type 2 (Designation by Euler angles)]

The angle is determined as shown below by the "G43.5 ,P0" command (designation by Euler angles).

(Example)

G43.5 ,P0 X40. Y50. Z50. I45. J60 ;

Angle control operation example (Type 2)

Current tool angle Tool angle after G43.5 command

(W) Workpiece coordinate system (Fea- ture coordinate system)

Component in X axis direction (0.131)

Component in Y axis direction (0.654)

Component in Z axis direction (0.458)

(W)

WX

WY

WZ

40.

50.

(0.131, 0.654, 0.458)

50.

WX

WY

WZ

40.

50.

50.

Z

(W)

(1)

(3)

(2)

ZY Y

Y Z

X

X45

60

X WX

WX

WY

WY

WZ

WZ

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

844IB-1501278-Q

(1) Rotate the workpiece coordinate system (feature coordinate system) around the Z axis by 45 degrees.

(2) Rotate the rotated coordinate system around the X axis by 60 degrees.

(3) Control the angle so that the Z axis direction of the coordinate system designated above is handled as the tool axis direction.

(1) The last K command (which rotates the angle by k degrees around a new Z axis) has no meaning, so it need not be issued. This command is ignored even if it is issued.

(2) Looking at the center of rotation from the positive direction of each rotation center axis, the counterclockwise direction is the positive direction of rotation.

(3) The orthogonal coordinate axis (x, y, z) is moved on the currently selected workpiece coordinate system (feature coordinate system). The workpiece coordinate system (feature coordinate system) is not updated by this com- mand.

[Tool center point control type 2 (Designation by roll-pitch-yaw angles)]

The angle is determined as shown below by the "G43.5 ,P1" command (designation by roll-pitch-yaw angles).

(Example)

G43.5 ,P1 ,Q123 X40. Y50. Z50. I30. J20. K15. ;

(When q=123 [rotations in the order of WX, WY and WZ])

(1) Rotate the workpiece coordinate system (feature coordinate system) around the X axis by 30 degrees. (Roll an- gle)

(2) Rotate the unrotated coordinate system around the Y axis by 20 degrees. (Pitch angle)

(3) Rotate the unrotated coordinate system around the Z axis by 15 degrees. (Yaw angle)

(4) Control the angle so that the Z axis direction of the coordinate system designated above is handled as the tool axis direction.

Note

40.

50.

50.

(W) (1) (2)

(3) (4)

YZ

X

30

WX WX

WX

WY WY

1Y

WY

WZ

WZ1Z

20

WX 2X

WY

1Y 2Y

WZ1Z 2Z

15

WX 2X

WY

1Y

2Y

WZ 1Z

2Z

WZ

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

845 IB-1501278-Q

(1) Looking at the center of rotation from the positive direction of each rotation center axis, the counterclockwise direction is the positive direction of rotation.

(2) The orthogonal coordinate axis (x, y, z) is moved on the currently selected workpiece coordinate system (feature coordinate system). The workpiece coordinate system (feature coordinate system) is not updated by this com- mand.

Specify the end position of each block looking from the programming coordinate system in the tool center point con-

trol mode. In the program, specify the position of the tool center point.

The programming coordinate system is a coordinate system used for the tool center point control, and whether to

use the table coordinate system or the workpiece coordinate system depends on the MTB specifications (parameter

"#7908 SLCT_PRG_COORD").

(1) Table coordinate system

When "0" is set to the programming coordinate system selection parameter, the table coordinate system, which is the valid workpiece coordinate system at that time fixed to the table, is specified as the programming coordi- nate system. Table coordinate system rotates along the table rotation. And it does not rotate along the tool axis rotation. The coordinate values of X,Y,Z are considered to have been issued on the table coordinate system. When a rotary axis movement is commanded in a block prior to G43.4/G43.5 command, the angle generated by rotary axis movement is regarded as an initial setting at G43.4/G43.5 command.

(2) Workpiece coordinate system

When "1" is set to the programming coordinate system selection parameter, the valid workpiece coordinate sys- tem at that time is specified as the programming coordinate system. The coordinate system in this case does not rotate along the table rotation. A linear movement is carried out for the table (workpiece) when the X,Y,Z addresses are issued. The end position looking from the workpiece coordinate system after table rotation is specified to the X, Y and Z.

Detailed description

Programming coordinate system

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

846IB-1501278-Q

When the table coordinate system, the workpiece coordinate system fixed to the table, is to be defined as a pro-

gramming coordinate system, the appropriate rotary axis angle for fixing the workpiece coordinate system to the ta-

ble depends on the MTB specifications (parameter "#7911 SLCT_STANDARD_POS").

Rotary Axis Reference Position Selection

Rotary axis refer- ence position se-

lection

Start position basis (#7911=1) Zero degree position basis (#7911=0)

The timing to be fixed to the table

The position of rotary axis holding the work- piece at the start of tool center point control

When the position of rotary axis holding the workpiece is at 0 degree on the workpiece coordinate system

Operation example 1 (Workpiece coordi-

nate offset 0)

Machine coordinate system

: G90G54G0C0 C-15. ; G43.4 Hh ; : C90. ; :

Workpiece coordi- nate 0

: G90G54C0 C-15. ; G43.4 Hh ; : C90. ; :

Workpiece coordi- nate 0

Machine coordinate position fixed at -15

Machine coordinate position 90 by C90. command

Machine coordinate position -15 by C-15. command

Machine coordinate position 90 by C90. command

Operation example 2 (Workpiece coordi-

nate offset 45)

Machine coordinate system

: G90G54G0C0 C-15. ; G43.4 Hh ; : C90. ; :

Workpiece coordi- nate 0

: G90G54C0 C-15. ; G43.4 Hh ; : C90. ; :

Workpiece coordi- nate 0

Machine coordinate position fixed at 30

Machine coordinate position 135 by C90. command

Machine coordinate position 30 by C-15. command

Machine coordinate position 135 by C90. command

Y

X 0

Y

X

Y

X

0

Y

X

-15 Y

X -90

X

Y

-15

X 90

Y

Y

X

X

Y

45

X

Y

45

X

Y

30 X

135

Y X

Y

30 X 135

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

847 IB-1501278-Q

(1) Start-up without movement

(a) Tool center point control type 1, Tool center point control type 2 (without IJK command)

When the tool center point control is ON, no axis movement is performed (including movement for the com-

pensation amount).

(b) Tool center point control type 2 (with I/J/K command)

"G43.5 Ii Jj Kk Hh ;" performs the same movement as the tool center point control type 1 in (2).

(2) Start-up with movement command (When orthogonal coordinate axis command is issued in the same block)

(a) Tool center point control type 1, Tool center point control type 2 (without IJK command)

When the incremental command (G91) is designated while the tool center point control is ON, the tool center

point moves only as much as it is ordered with the movement command.

Under the absolute command (G90), the tool center point moves to y1, z1.

Start-up

: G43.4 Hh ; : or : G43.5 Hh ;

: G43.4 Hh ; : or : G43.5 Hh ;

: G91 ; G43.4 Yy Zz Hh; : or : G43.5 Yy Zz Hh ; :

: G91 ; G43.4 Yy Zz Hh; : or : G43.5 Yy Zz Hh ; :

: G90 ; G00 Yy0 Zz0; G43.4 Yy Zz Hh; : or : G43.5 Yy Zz Hh ; :

: G90 ; G00 Yy0 Zz0; G43.4 Yy Zz Hh; : or : G43.5 Yy Zz Hh ; :

Y

Z

A (+)

Y

Z

A (+)

Y

Z

A (+)

Y

Z

Y

Z

A (+)

Y

Z

Y

Z

A (+)

y1- y0

(y1,z1) h

(y0,z0)

z1- z0

Y

Z

A (+)

(y1,z1) h

y1- y0 z1- z0

(y0,z0)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

848IB-1501278-Q

(b) Tool center point control type 2 (with I/J/K command)

The rotary axis moves in accordance with the I, J, or K command issued with the movement command. (With

the incremental command (G91) designated)

(3) Start-up with movement command (When the rotary axis command is issued in the same block)

(a) Tool center point control type 1

In the case of using the tool tilt type, the orthogonal axis moves according to the rotary axis angle while fixing

the tool center point to the center. In the case of using the table tilt type, the orthogonal axis moves so that

the tool center point locates on the rotated table workpiece coordinate system.

(b) Tool center point control type 2

The program error (P33) occurs.

: G91 ; G43.5 Yy Zz Ii Jj Kk Hh; :

: G91 ; G43.5 Yy Zz Ii Jj Kk Hh; :

: G43.4 Aa Hh; :

: G43.4 Aa Hh; :

z y

(i,j,k)

Y

Z

A (+)

z

y

Y

Z

A (+)

(i,j,k)

z

a

Y

Z

A (+)

a Y

Z A (+)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

849 IB-1501278-Q

(1) Cancel without movement command

Movement of tool by compensation amount due to the cancel is not performed regardless of absolute/incremen-

tal command.

On the other hand, the tool center point control modal is canceled.

(2) Cancel with movement command (When the orthogonal coordinate axis command is issued in the same block)

Movement of tool by compensation amount due to the cancel is not performed regardless of absolute/incremen-

tal command.

Orthogonal coordinate axis movement command is executed upon the cancel of the tool center point control

modal.

(3) Cancel with movement command (When the rotary axis command is issued in the same block)

Movement of tool by compensation amount due to the cancel is not performed regardless of absolute/incremen-

tal command.

Rotary axis movement command is executed upon the cancel of the tool center point control modal.

Cancel

:

G49;

:

The tool will not move.

:

G49;

:

:

G91;

G49 Yy Zz ;

:

:

G91;

G49 Yy Zz ;

:

:

G49 Aa Hh;

:

:

G49 Aa Hh;

:

Y

Z

A (+)

Y

Z A (+)

z

y

Y

Z

A (+)

z y

Y

Z

A (+)

aY

Z

A (+)

a

Y

Z

A (+)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

850IB-1501278-Q

(1) Tool center point control type 1

(a) When executing the travel command for the orthogonal coordinate axis and rotary axis.

(b) When a travel command is given to a rotary axis only

(2) Tool center point control type 2

(a) When executing the movement command to the orthogonal coordinate axis and the I, J, K command.

(b) When executing I, J, K command only.

During tool center point control

: G90 ; G43.4 Yy1 Zz1 Aa1 Hh ; Yy2 Aa2 ; Yy3 Aa3 ; :

The tool center point moves along the programmed path.

: G90 ; G43.4 Yy1 Zz1 Aa1 Hh ; Yy2 ; Aa2 ; Yy3 Aa3 ; :

When executing the move- ment command to the rotary axis only, the orthogonal axis moves without moving the tool center point.

: G43.5 Yy1 Zz1 Ii1 Jj1 Kk1 Hh ; Yy2 Ii2 Jj2 Kk2 ; Yy3 Ii3 Jj3 Kk3 ; :

Tool center point moves along the program path.

: G43.5 Yy1 Zz1 Ii1 Jj1 Kk1 Hh ; Yy2 ; Ii2 Jj2 Kk2 ; Yy3 Ii3 Jj3 Kk3 ; :

When executing the I, J, K command only, the orthogo- nal axis moves without mov- ing the tool center point.

Z A (+)

a1

z1

y1 y2 y3

a2=0 a3

Y

z1

a1

A (+)

a2 a3

y1 y3y2

Z A (+)

z1

y1 y2 y3

(i1,j1,k1)

Y

(i2,j2,k2)

(i3,j3,k3)

z1

(i1, j1, k1)

A (+)

a3

y1 y3y2

(i3, j3, k3)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

851 IB-1501278-Q

Feedrate during the tool center point control is controlled so that the tool center point moves according to the com-

manded speed.

There are two methods of interpolation: single axis rotation interpolation and joint interpolation. Which method to be

selected depends on the MTB specifications (parameter "#7910 SLCT_INT_MODE").

(1) Single axis rotation interpolation (#7910 = 1)

When transforming from a start-point angle vector "r1" into an end-point angle vector "r2", interpolate so that the angular rate of the rotary "" around the vector "k" axis, which is vertical to "r1"-"r2" plane, will be constant.

(a) Features Tool angle vector always exists on the plane consisting of "O", "r1" and "r2". The angular rates of each rotary axis will not be constant.

(b) Operation

(Example) Current position: Aa, C0

When commanding "G90 Yy A-a. C45. ;" or "G90 Yy Ii Jj Kk ;"

Feedrate during tool center point control

Interpolation method

(r1) Start-point command vector "r1"

(r2) End-point command vector "r2"

(k) Unit vector vertical to r1-r2 plane

Z( - ) Z( - )

Y(- )

Y( - ) O (r1)

(k)

(r2)

Y(- )

Z(- )

Y(+)

Z(+)

Z(+)

Z(+)

Z(+)

Y(+)

Y(+)

Y(+)

Y(+)

Z(+)

Y(+)

Z(+) Z(+)

Z(+)

Y (+)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

852IB-1501278-Q

(2) Joint interpolation (#7910 = 0)

A movement from a start-point angle vector "r1" to an end-point angle vector "r2" is interpolated to keep the an- gular rates of each axis constant.

(a) Features The angular rates of each rotary axis become constant. As this control aims to keep the angular rates of each rotary axis constant, a tool angle vector may not

exist on the plane consisting of "O", "r1" and "r2".

When passing the singular point (singular position (*1)), there are two kinds of movements to be followed from the

singular point.

When using an A-C axis tilt type machinery, there are two different movements (Fig. b, c) to be followed. In those

movements, the rotation angles of the A axis are the same absolute value but different in signs (+/-). The rotation

angles of the C axis corresponding the two movements are differed by 180 degrees one another.

Which movement to be selected from the two depends on the MTB specifications (parameter "#7906 PASSTYP").

The figures below are the example of movements seen during tool center point control type 2. When the tool-center-

point-side rotary axis moves in the sign (+) direction from the starting position (Fig. a), (Fig. b) is representing "pass-

ing singular point type 1". When the tool-center-point-side rotary axis moves in the sign (-) direction from the starting

position (Fig. a), (Fig. c) is representing "passing singular point type 2".

(*1) The position in which the tool-center-point-side rotary axis or the table-base-side rotary axis is 0.

(r1) Start-point command vector "r1"

(r2) End-point command vector "r2"

Passing singular point

Movement in sign (+)

Movement in sign (-)

Y(- ) C(+)

A(+)

Z(- )

O

(r1)

(r2)

Y(- )

Z(- )

C0

(a)

Y(- )

Z(- )

C0

(b)

Y(- )

Z(- ) -

C0

(c)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

853 IB-1501278-Q

(1) Passing singular point type 1 (#7906 = 0)

Select the same direction as the start point of the tool-base-side rotary axis or table-workpiece-side rotary axis in the block where a singular point passing is carried out. When the rotation angle of the start point is 0, select the wider stroke limit. When the stroke limits are the same, select the one with a minus-coded rotation angle.

(a) Singular point

(b) When passing near the singular point, C axis rotates 180 within the parameter "#7907 CHK_ANG" (Near the

singular judgment angle).

(c) C axis rotates 180

X(- ) Y(- )

Z(- )

(a)

(b)

(c)

Z(+) Z'(+)

Y(+) Y'( - )

Z"(+)

Y"( - )

(a)

(b)

(c)

Z(+)

Y(- ) Y(+)

Z(+) Z(+)

Y(- )

(a)

(b)

(c)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

854IB-1501278-Q

(2) Passing singular point type 2 (#7906 = 1)

Select the one with the smaller rotary movement amount of the tool-base-side rotary axis or the table-workpiece- side rotary axis on the singular point. When the tool-base-side rotary axis and the table workpiece have the same rotary movement amount, select the one with the tool-base-side rotary axis or the table-workpiece-side rotary axis that are to be rotated in the minus-coded direction.

(a) C axis does not rotate 180 when passing near the singular point.

X(- ) Y(- )

Z(- )

(a)

Z(+) Z'(+)

Y(+) Y'(+) Y"(+)

Z"(+)

(a)

Z(+)

Y(+)Y(+)

Z(+)

Y(+)

Z(+)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

855 IB-1501278-Q

(3) Operation near the singular point neighborhood in each interpolation method

Interpo- lation

method

Command Passing sin- gular point

type

Command from a singular point to a non-singular point

Command to pass a singular point

Single axis ro- tation in- terpolati on

G43.4 (Rotary axis command)

Type 1 As designated in the command value. However, in the case where the signs at the start point and end point of either tool-center-point- side rotary axis or table-base-side rotary axis differ, if tool-base-side rotary axis or table-workpiece-side rotary axis rotates in the same block, the tool will not pass the singular point, resulting in a program error (P943).

Type 2

G43.5 (I/J/K com- mand)

Type 1 Select the one with the wider stroke range. When the stroke range is the same, select a minus direction of the tool-center-point-side rotary axis or the table-base-side rotary axis.

Select the one with the same- coded end point as the start point of the tool-center-point- side rotary axis or the table- base-side rotary axis.

Type 2 Select the one with the smaller movement amount of the tool-base- side rotary axis or the table-workpiece-side rotary axis.

Joint in- terpola- tion

G43.4 (Rotary axis command)

Type 1 As designated in the command value.

Type 2

G43.5 (I/J/K com- mand)

Type 1 Select the one with the wider stroke range. When the stroke range is the same, select a minus direction of the tool-center-point-side rotary axis or the table-base-side rotary axis.

Select the one with the same- coded end point as the start point of the tool-center-point- side rotary axis or the table- base-side rotary axis.

Type 2 Select the one with the smaller movement amount of the tool-base- side rotary axis or the table-workpiece-side rotary axis.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

856IB-1501278-Q

In tool center point control during high-accuracy control, if there is no change in a center point speed command (F

command), and also if a rotary axis moves with each block's segment length short, the machine end speed (speed

of a motor that drives the tool/table) may fluctuate sharply. By enabling the parameter "#7913 MCHN_SPEED_C-

TRL" (Machine speed fluctuation suppression), fluctuation can be suppressed. (This depends on the MTB specifi-

cations.)

(1) When "#7913 = 0", the machine end speed is awaited to decelerate down to the machine end speed command (*1). Select this setting when a machining is desired to closely follow the movement commands.

(2) When "#7913 = 1", the next block movement command is output to the machine immediately after a movement command output of the currently processed block is completed. Select this setting in such a case as an execution of a machining program with non-continuous rotary axis move- ment commands, where a smooth movement is desired preventing a sudden deceleration of the machine end speed between blocks. Nevertheless, if any of the conditions below is satisfied, deceleration is awaited regardless of the parameter set- ting. When judged to be a corner When the machining program's F command is changed When the speed is clamped When the override is changed

(*1) A machine end speed command value means a speed command value that is output to the machine end so that

the center point speed becomes the F command value.

Nevertheless, depending on the machining program, enabling the parameter "#7913 MCHN_SPEED_CTRL" (Ma-

chine speed fluctuation suppression) may generate a machine vibration without deceleration.

Discontinuous rotary axis movement commands (a block is skipped between the movement commands)

Machine speed fluctuation suppression during high-accuracy control

:

G61.1;

G43.4 Hh;

G1 Ff;

:

N10 Xx1 Yy1 Zz1 Aa1; Center point block lengths are even. A machine end block length is longer when it has a rotary axis movement

command. (In this case, the machine end speed is faster in a block with rotary axis movement than in a block without rotary axis movement.)

When SSS control is enabled, a machine speed fluctuation suppression is disabled.

N20 Xx2 Yy2 Zz2;

N30 Xx3 Yy3 Zz3 Aa3;

N40 Xx4 Yy4 Zz4;

:

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

857 IB-1501278-Q

(1) Speed when "#7913 = 0"

Awaited to decelerate down to the machine end speed of the next block. Thus, the speed changes sharply.

(2) Speed when "#7913 = 1"

Not awaited to decelerate down to the machine end command speed of the next block. Thus, the speed does not

change significantly, and the movement is smooth.

In (2), because the control does not wait for the deceleration to the machine end command speed of the next block,

the actual center point speed exceeds the command speed. In such a case, by adjusting (increasing) the setting

value of "#1570 Sfilt2" (Soft acceleration/deceleration filter 2), a range of the excess of the center point speed can

be suppressed even when it exceeds the command speed.

When SSS control is enabled, a machine speed fluctuation suppression is disabled.

Tool center point speed

Machine end speed

Center point command speed

Machine end command speed

(F) Actual speed

(T) Time

Tool center point speed

Machine end speed

Center point command speed

Machine end command speed

(F) Actual speed

(T) Time

N10

N10 N20 N30 N40

N20 N30 N40

(F)

(T)

(T)

(F)

N10

N10 N20 N30 N40

N20 N30 N40

(F)

(T)

(T)

(F)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

858IB-1501278-Q

Rotary axis prefiltering means smoothing (prefiltering) the rotary axis command (tool angle shift) process, which

moves the rotary axis smoothly and produces smoother cutting surface. Tool center point moves on the tracks as

programmed by the rotary axis command while the command process is smoothed with this function.

This function is available for the programs which have intermittent rotary axis commands (tool angle shifts) or the

programs with inconstant shift amount of rotary axis angle (or tool angle) per unit time.

Set the filter time constant for this function with parameter "#7914 ROT_PREFILT" (Rotary axis prefilter time con-

stant). When "0" is set, this function is invalid.

When the rotary axis prefiltering is disabled, the tool center point shift speed may be sharply fluctuated due to the

intermittent rotary axis command, as the figure below.

(a) Without tool angle shift

(b) With tool angle shift

(c) Machine position (rotation center)

(d) Tool center point needs to be shifted at constant speed in spite of the tool angle shift.

(e) Tool center point position

Rotary axis prefiltering

P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11

Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8

Q9 Q10

(a)

(c)

(b)

(e)(d)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

859 IB-1501278-Q

As shown below, the rotary axis prefiltering reduces speed fluctuation of tool center point by smoothing the rotary

axis command process.

(a) Tool angle before smoothing

(b) Tool angle after smoothing

(c) With tool angle shift

(d) Machine position (rotation center)

(e) Without tool angle shift

(f) Tool center point needs to be shifted at constant speed

(g) Tool center point position

(1) This function is available only when SSS control is enabled. (Not available together with a machine speed fluc- tuation suppression.)

(2) This function is disabled at G00 command.

(3) The actual angle of the tool may be deviated from the commanded one in the program.

(4) Even if a rotary axis prefiltering is enabled for a program without an angle shift, it does not affect the machining quality. However, it may extend cycle time, so when executing such a machining, it is recommended that the rotary axis prefiltering is disabled.

For details, refer to "19.3.1 Circular Command in Tool Center Point Control (G43.4/G43.5)".

Circular command in tool center point control (G43.4/G43.5)

P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11

Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10

(a) (c) (b)

(e)

(d)

(f) (g)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

860IB-1501278-Q

When the programming coordinate system is based on the workpiece coordinate system setting ("#7908

SLCT_PRG_COORD" is set to "1"), the movement of the orthogonal axis synchronous with the table rotation can

be canceled temporarily by the G0 command. Therefore, when the system repeats the machining and the next ma-

chining position index (table rotation) while rotating the workpiece, no retract operation is required because the tool

center point remains unmoved.

(The parameter "#7908 SLCT_PRG_COORD" setting depends on the MTB specifications.)

The following figure shows the movement of the tool center point on the machine coordinate system.

[Function enabling conditions]

This function becomes valid when all of the following conditions are satisfied.

(1) When the tool center point control starts up, one of the following events occurs. The "P0" command is issued or the P command is omitted and the parameter "#8139 center point G0 tem-

porary cancel" is set to "1" (ON). "P2" was commanded.

(2) The programming coordinate system is set to the workpiece coordinate system setting ("#7908 SLCT_PRG_CO- ORD" is set to "1").

(3) The interpolation method is set to the joint interpolation system setting ("#7910 SLCT_INT_MODE" is set to "0").

(4) The movement command is set to G00.

(5) The following commands are available. During tool center point control type 1 (G43.4) mode: Workpiece-attached rotary axis command During tool center point control type 2 (G43.5): I, J, K command

G0 temporary cancel during center point control (G43.4/G43.5)

Axis command When temporary cancel is invalid When temporary cancel is valid

Table-side rotary axis

The movement of tool center point occurs. The movement of tool center point does not occur.

Orthogonal axis + Table-side rotary axis

The tool center point does not linearly move to the commanded position.

The tool center point linearly moves to the com- manded position.

Orthogonal axis + Tool-side rotary axis + Table-side rotary axis

The tool center point does not linearly move to the commanded position.

The tool center point linearly moves to the com- manded position.

Movement of the tool center point on the machine coordinate system

(a) Commanded position

0

12060

0

12060

0

12060(a)

0

12060(a)

(a)(a) (a)(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

861 IB-1501278-Q

[Precautions]

(1) G0 temporary cancel is available only for a table tilt type or combined type machine. For other machine types, the P command and the parameter #8139 are ignored.

(2) When combining this function with the 3-dimensional tool radius compensation, issue the G0 temporary cancel invalid command (*1) to move to the workpiece surface (cutting position). If G0 temporary cancel is valid, the movement direction differs from that designated in the G0 temporary cancel invalid command. This causes a difference to occur in the tool radius compensation direction, which may lead to an unexpected machine shape.

(*1) This command refers to a movement command other than G00 or a command that does not move the table-

side rotary axis.

(3) In the table tilt configuration, the workpiece-attached rotary axis is targeted for G0 temporary cancel. However, if the table base-side rotary axis and workpiece-attached rotary axis are commanded to the same block, both of them are targeted for G0 temporary cancel.

(4) When "G43.4 P_" or "G43.5 P_" is commanded during tool center point control, operation is performed with the last commanded P value. However, if the P command is omitted, operation is performed with the previously commanded P value. (Refer to the following examples.)

(5) The next distance counter is not updated in a block with G0 temporary cancel used.

N01 G43.4 P2; Operated as P2 (G0 temporary cancel valid).

N02 G00 C30.;

N03 G43.4 P1; Operated as P1 (G0 temporary cancel invalid).

N04 G00 C60.;

N05 G43.4;

N06 G00 C90.;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

862IB-1501278-Q

(1) F1-digit Feed

Controls so that the tool center point moves at the commanded speed. Note that speed cannot be changed with the manual handle.

(2) Buffer correction

Buffer correction cannot be performed during tool center point control.

(3) Miscellaneous function (MSTB)

Miscellaneous function (MSTB) command can be executed during tool center point control. (When the tool passes through the singular point, the "strobe" signal is output at the block start and the comple- tion wait at the block end.)

(4) Spindle/C Axis Control

Axes unrelated to the tool tilt or table tilt can be controlled.

(5) Manual reference position return

Do not perform manual reference position return during tool center point control. If performed, the tool moves off the programmed track.

(6) Machining time computation

Machining time calculation is not performed accurately on the machining program in which the tool center point control mode is commanded.

(7) Graphic trace

Graphic trace during the tool center point control is always traced with the tool center point.

(8) Graphic check

Graphic check during the tool center point control is always check the graphic with the tool center point.

(9) Program restart

Restart search cannot be performed during the tool center point control. If the restart search is attempted, the program error (P49) occurs.

(10) Reset modal retention

Canceled during the tool center point control.

(11) Collation and stop

Position in the tool center point control can be collated and stopped.

(12) Automatic operation handle interruption

Do not perform the automatic operation handle interruption during the tool center point control. If performed, the tool moves off the programmed track.

(13) Manual / Automatic simultaneous

Manual / Automatic simultaneous cannot be executed to the axes related to the tool center point control during the tool center point control.

(14) Tool handle feed & interruption

Do not perform the tool handle feed & interruption during the tool center point control. If performed, the tool moves off the programmed track.

Relationship with other functions

(Example)

: G90 Aa1 ; G43.4 Yy1 Aa2 Mm Hh ; :

(a) M strobe output (b) Passing singular point

(c) M completion wait

Y

Z (-)

a

y1

(+)

a2

A

C

(a) (c) (b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

863 IB-1501278-Q

(15) Corner chamfering/Corner R

When the corner chamfering/corner R is performed during the tool center point control, the tool center point con- trol becomes valid to the track after the corner chamfering/corner R.

(16) Mirror image by parameter setting / external mirror image input

When the tool center point control command is issued during the mirror image by parameter/external Input, a program error (P941) occurs. Also, do not turn the mirror image by parameter/external input ON during the tool center point control.

(17) Linear angle command

When A axis is used as a rotary axis, the linear angle command cannot be executed. When A axis is not used as a rotary axis, tool center point control becomes valid to the shape after the linear angle command.

(18) Geometric command

When A axis is used as a rotary axis, the geometric command cannot be executed. When A axis is not used as a rotary axis, tool center point control becomes valid to the shape after the geometric command.

(19) Figure rotation

The tool center point control becomes valid to the shape after the figure rotation.

(20) Coordinate rotation by parameter

When the tool center point control command is issued during the coordinate rotation by parameter, a program error (P941) occurs. Also, do not turn the coordinate rotation by parameter ON during the tool center point con- trol.

(21) Chopping

Chopping operation for the 3 orthogonal axes and 2 rotary axes cannot be performed during the tool center point control.

(22) Macro interruption

If the macro interruption command is executed during the tool center point control, a program error (P942) oc- curs.

(23) Tool life management

The compensation amount of the tool center point control during the tool life management is equal to the com- pensation amount of the tool subjected to the tool life management.

(24) G00 non-interpolation

Functions as "G00 interpolation".

(25) Actual feedrate display

The final resultant feedrate is displayed here.

(26) Manual interruption

When the manual interruption is executed during the feed hold or single block stop, the movement will be the one to be observed when the manual ABS is OFF when rebooting regardless of whether an absolute/incremental command is selected.

(27) Machine lock

The each axis machine lock becomes valid to the motor axis.

(28) Remaining distance counter

Remaining distance at the tool center point on the programming coordinate system is displayed.

(29) Interlock

Interlock is applied for the motor axis.

(30) Cutting feed/Rapid traverse override

Override is applied to the feedrate at the tool center point. When the feedrate is clamped, the override is applied to the clamp speed.

(31) Manual reference position return

If the manual reference position return is performed during the tool center point control, the tool moves off the programmed track after that.

(32) Dry run

Dry run is applied to the speed at the tool center point.

(33) NC reset

Immediately decelerates to stop when the NC reset is executed during the tool center point control. The tool cen- ter point control will be canceled even if NC reset 1 and the modal retention.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

864IB-1501278-Q

(34) Emergency stop

Immediately stops if the emergency stop is applied during the tool center point control.

(35) Stored stroke limit

limit Stored stroke limit will be valid at the motor axis for all IB, IIB and IC.

(36) MDI interruption

When the MDI interruption is performed during the tool center point control, an operation error (M01 0170) oc- curs.

(37) High-accuracy control function

The acceleration rate with the rapid traverse (G00) in high-accuracy control mode depends on the MTB specifi- cations (parameter "#1250 set22/bit3").

(*1) Even when the parameter "#1250 set22/bit3" is set to "1", this bit is assumed to be set to "0" to perform op-

eration while SSS control is disabled.

(38) Spindle position control (Spindle/C axis)

If the tool center point control is commanded in spindle mode when the axis set to the spindle/C axis is used as a rotary axis of tool center point control, a program error (P934) occurs. When the mode is changed to the spindle mode during the tool center point control, an operation error (M01 0186) occurs. An operation error (M01 0186) can be reset by NC reset.

(39) Coordinate system setting (G92)

To execute the tool tip center control command, G92 shift amount needs to be set to "0" for all the axes in the part system in advance. When the tool tip center control is commanded, if G92 shift amount is set to an axis other than the ones for which the tool tip center control are commanded, the program error (P942) occurs. While the tool tip center control is being executed, the coordinate system set with the coordinate setting (G92) are temporarily canceled in all the axes in the part system of the tool tip center control. When the tool tip center control command is canceled or NC reset is performed, the G92 shift amount which was set before the temporal cancellation is set again. When the tool tip center control command is executed with the G92 shift amount being set, perform a positioning with the absolute position command at startup and after cancellation. When a positioning is not performed, the tool may operate in the wrong position.

When performing tool center point control in combination with an arbitrary axis exchange (G140) command, you

need to set the rotary axis configuration parameters using the 2nd axis name. Set the parameter "#1450 5ax-

is_Spec/bit0" to "1" (setting by the 2nd axis name), and assign the axis configuration for executing tool center point

control to the rotary axis configuration parameter (#7900 or later) using the 2nd axis name (example: A1, B2). (This

depends on the MTB specifications.)

If the G43.4/G43.5 command is issued after the arbitrary tool exchange has been completed while the parameter

"#1450 5axis_Spec/bit0" is not designated, a program error (P941) will occur.

You can set the configurations up to the number of valid part systems (up to four part systems) in the rotary axis

configuration parameter. With multiple configurations set, you can perform tool center point control in different axis

configurations.

Tool center point control can be performed using the axis configuration in the part system with axis exchange com-

pleted by applying the rotary axis configuration parameter in the configuration in which all axes included in the part

system are set.

0 The acceleration rate is the same as that for cutting feed (G01). This is determined based on the parameters "#1206 G1bF" (maximum speed) and "#1207 G1btL" (time constant).

1 The acceleration rate is the same as that for rapid traverse (G00). This is determined based on the parameters "#2001 Rapid" (rapid traverse rate) and "#2004 G0tL" (G0 time constant (linear)). (*1)

Combination with arbitrary axis exchange

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

865 IB-1501278-Q

Pxxx in the list indicates the program error Nos.

Column A: Operation to be carried out when the G command in the list is issued while this function is modal Column B: Operation to be carried out when this function is commanded while the G command in the list is modal Column C: Operation to be carried out when the G command in the list and this function are commanded for the same block

All the G codes not listed above cannot be used.

Relation with other G codes

Format Function A B C

G00 Positioning Switched to a rapid tra- verse, and then perform tool center point control.

Perform tool center point control with rapid tra- verse.

Perform tool center point control with rapid tra- verse.

G01 Linear interpola- tion

Switched to a cutting feed, and then perform tool center point control.

Perform tool center point control with cutting feed.

Perform tool center point control with cutting feed.

G02/G03 Circular interpo- lation

Perform circular under interpolation tool center point control.

P941 P941

Helical interpola- tion

P942 P941 P941

G02.1/G03.1 Spiral Interpola- tion

P942 P941 P941

G02.3/G03.3 Exponential in- terpolation

P942 P941 P941

G04 Dwell Dwelling is performed. - Tool center point control is ignored as dwell func- tion takes precedence over the tool center point control function.

G05 P1 (*1) High-speed ma- chining mode

Max. feedrate is 16.8 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

Max. feedrate is 16.8 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

P33

P2 (*1) Max. feedrate is 100 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

Max. feedrate is 100 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

P33

P10000 (*2)

High-speed high- accuracy control II

Max. feedrate is 100 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

Max. feedrate is 100 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

P33

G05.1 (*2) High-speed high- accuracy control I

Max. feedrate is 33.7 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

Max. feedrate is 33.7 m/ min when 1 mm seg- ment G1 block is com- manded with 5 axes simultaneously

P33

G06.2 NURBS interpo- lation

P942 P*** NURBS general er- ror

P941

G07.1 G107

Cylindrical inter- polation

P942 P941 P941

G08 (*2)

P0 High-accuracy control

Perform tool center point control in cutting mode.

Perform tool center point control in cutting mode.

P33

P1 Tool center point control is performed in the high- accuracy control mode.

Tool center point control is performed in the high- accuracy control mode.

P33

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

866IB-1501278-Q

G09 Exact stop check Deceleration check is performed at the block end.

- Deceleration check is performed at the block end.

G10/G11 Parameter input by program

P942 - P941

G10 Compensation data input by pro- gram

P942 - P941

G12/G13 Circular cut P942 - Tool center point control is ignored as the circular cutting takes prece- dence over the tool cen- ter point control function.

G12.1/G13.1 G112/G113

Polar coordinate interpolation

P942 P941 P941

G15/G16 Polar coordinate command

P942 P941 P941

G17 - G19 Plane selection The modal is switched to the specified plane.

- The modal is switched to the specified plane.

G20/G21 Inch/ Metric

P942 Tool center point control is performed according to the inch / metric mod- al.

P941

G22/G23 Stroke check be- fore travel

P942 P941 P941

G27 Reference posi- tion Check

P942 - The tool center point control is ignored as the reference position check becomes valid.

G28 Reference posi- tion Return

P942 - The tool center point control is ignored as the reference position return becomes valid.

G29 Start position re- turn

P942 - The tool center point control is ignored as the start position return be- comes valid.

G30 2nd to 4th refer- ence position re- turn

P942 - The tool center point control is ignored as the 2nd, 3rd, 4th reference position return becomes valid.

G30.1 - G30.6 Tool exchange position return 1 to 6

P942 - P941

G31 Skip P942 - P941

G31.1 - G31.3 Multi-step skip P942 - P941

G33 Thread cutting P942 P941 P941

G34 - G36/

G37.1 Special fixed cy- cle

P942 - P941

G37 Automatic tool length measure- ment

P942 - P941

G38 Tool radius com- pensation vector designation

P942 - P941

Format Function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

867 IB-1501278-Q

G39 Tool radius com- pensation corner circular com- mand

P942 - P941

G40/G41/G42 Tool radius com- pensation

P942 P941 P941

G40.1/G41.1/ G42.1/G150/ G151/G152

Normal line con- trol

P942 P941 P941

G43/G44/G49 Tool length com- pensation

Tool length compensa- tion can be performed upon tool center point control cancellation.

Tool center point control can be performed upon tool length compensa- tion cancellation.

The subsequently com- manded modal takes precedence.

G43.1/G49 Tool length com- pensation along the tool axis

Tool length compensa- tion along the tool axis can be performed upon tool center point control cancellation.

Tool center point control can be performed upon tool length compensa- tion along the tool axis cancellation.

The subsequently com- manded modal takes precedence.

G45/G46/ G47/G48

Tool position off- set

P942 - P941

G50/G51 Scaling P942 P941 P942

G50.1/G51.1 Mirror image by G code

P942 P941 P941

G50.2/G250 Tool spindle syn- chronization IB/ IC cancel

P942 Tool center point control is also available while the function at the left is active.

P941

G51.2/G251 Tool spindle syn- chronization IB/ IC

P942 Tool center point control is also available while the function at the left is active. (*4)

P941

G52 Local coordinate system setting

P942 - The tool center point control is ignored as the local coordinate system setting becomes valid.

G53 Machine coordi- nate system se- lection

P942 - The tool center point control is ignored as the machine coordinate sys- tem selection becomes valid.

G54 - G59/ G54.1

Workpiece coor- dinate system selection

P942 Tool center point control is performed in the cur- rently selected work- piece coordinate system.

P941

G60 Unidirectional positioning

P942 - The tool center point control is ignored as the unidirectional position- ing becomes valid.

G61 Exact stop check mode

Deceleration check is performed at the block end.

Deceleration check is performed at the block end.

Deceleration check is performed at the block end.

G61.1 High-accuracy control

Tool center point control is performed in the high- accuracy control mode.

Tool center point control is performed in the high- accuracy control mode.

Tool center point control is performed in the high- accuracy control mode.

G61.2 High-accuracy spline interpola- tion 1

P942 P941 P941

Format Function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

868IB-1501278-Q

G62 Automatic corner override

P942 P941 P941

G63 Tapping mode P942 P941 P941

G64 Cutting mode Perform tool center point control in cutting mode.

Perform tool center point control in cutting mode.

Perform tool center point control in cutting mode.

G65 - G67/ G66.1

User macro Tool center point control becomes valid even in the user macro program.

Tool center point control becomes valid even in the user macro program.

Tool center point control is ignored as the user macro takes prece- dence over the tool cen- ter point control function.

- User macro sub- program termi- nation

User macro subprogram is terminated.

- Tool center point control will be ignored.

- End point error check cancella- tion

The end position error check cancellation be- comes valid.

- The end position error check cancellation, too, becomes valid.

G68/G69 Coordinate rota- tion

P942 P941 P941

G68IiJjKk/

G69 3-dimensional coordinate con- version

P922 P941 P923

G70 - G89 Fixed cycle P942 The tool center point control is ignored as the start fixed cycle be- comes valid.

The tool center point control is ignored as the start fixed cycle be- comes valid.

G90/G91 Absolute/Incre- mental com- mand

The modal is switched to the specified absolute/ incremental command, and then tool center point control is per- formed.

Tool center point control is performed following the absolute / incremen- tal modal.

Tool center point control is performed under the specified absolute/incre- mental command.

G92 Machine coordi- nate system set- ting

P942 - P941

G94 Feed per minute Tool center point control is performed in the feed- per-minute mode.

Tool center point control is performed in the feed- per-minute mode.

Tool center point control is performed in the feed- per-minute mode.

G95 Feed per revolu- tion

P942 P941 P941

G96/G97 Constant surface speed control

P942 P941 P941

G98 Fixed cycle Initial level return

The modal is switched to G98 and tool center point control becomes valid.

The modal is switched to G98 and tool center point control becomes valid.

The modal is switched to G98 and tool center point control becomes valid.

G99 Fixed cycle (R point level return)

The modal is switched to G99 and tool center point control becomes valid.

The modal is switched to G99 and tool center point control becomes valid.

The modal is switched to G99 and tool center point control becomes valid.

G113.1 Spindle synchro- nization I, tool spindle synchro- nization (IA/IB/II) cancel

P942 Tool center point control is also available while the function at the left is active.

P941

G114.1 Spindle synchro- nization

P942 Tool center point control is also available while the function at the left is active. (*3)

P941

Format Function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

869 IB-1501278-Q

(*1) It is valid when the parameter "#1267 ext03/bit0" is "0". If it is commanded when this parameter is "1", the pro-

gram error (P34) occurs.

(*2) It is valid when the parameter "#1267 ext03/bit0" is "1". If it is commanded when this parameter is "0", the pro-

gram error (P34) occurs.

(*3) If the axis set to the spindle/C axis is used as a rotary axis for tool center point control, the following program

errors occurs.

If spindle synchronization is commanded for the spindle in the C axis mode, the operation error (M01 1026) occurs.

If tool center point control is commanded in the spindle mode, the program error (P934) occurs.

(*4) Do not designate the rotary tool axis in the rotary axis configuration parameter. If tool center point control com-

mand is commanded during tool spindle synchronization IC, it may cause an unexpected operation.

(1) If axis movement is commanded for any axis not specified in the rotary axis configuration parameters during tool center point control, a program error (P942) will occur.

(2) When the rotary axis configuration parameter "#7907 CHK_ANG" (Near singular judgment angle) is set to a value smaller than 0.001 (excluding 0.000), the operation is carried out treating the value as 0.001.

(3) The tool center point control cannot be commanded during the multiple-axis synchronization control. The pro- gram error (P740) occurs.

G114.2 Tool spindle syn- chronization IA

P942 Tool center point control is also available while the function at the left is active.

P941

G114.3 Tool Spindle Synchronization II

P942 Tool center point control is also available while the function at the left is active.

P941

Precautions

Format Function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

870IB-1501278-Q

19.3.1 Circular Command in Tool Center Point Control (G43.4/G43.5)

The circular command during tool center point control mode interpolates the tool center point with an arc in a table

coordinate system.

The circular command during tool center point control mode enables the circular interpolation under the following

conditions. (This depends on the MTB specifications.)

(*1) Selected with the parameter.

(*2) Designate the time constant to "0" with the parameter.

(1) Designate the arc rotation direction with G02 (CW) or G03 (CCW).

(2) Commands to I, J, and K are the arc center coordinates during the tool center point control type 1.

(3) Either an absolute position or incremental position can be used for the arc end point coordinate command, but the arc center coordinate value must always be designated with an incremental position from the start point.

(4) The circular arc center coordinate value of the axis must be commanded in the input setting unit. Caution is re- quired for the circular arc command for which the input command unit differs. Command with a decimal point to avoid confusion.

(5) The feedrate is controlled to always move along the circumference.

Function and purpose

Circular interpolation during tool center point control

Command type G43.4 / G43.5

Limitations when com- manded

None (Format error, etc. only)

Interpolation method Joint interpolation (*1)

Program coordinate system selection

Table coordinate system/workpiece coordinate system (*1)

Rotary axis reference position selection

Zero degree position basis/start position basis (*1)

Rotary axis prefiltering Select Invalid with the parameter "#7914 ROT_PREFILT" (Rotary axis prefilter time con- stant). (*2)

Tool center point control type 1 (G43.4)

G02(G03) X__ Y__ I__ J__ A__ C__ F__ ; Format with I address

G02(G03) X__ Y__ R__ A__ C__ F__ ; Format with R address

G02/G03 Arc rotation direction

X, Y End point coordinates of orthogonal coordinate axis

A, C End-point angle of rotary axis

I, J Coordinates for arc center

R Circular radius

F Feedrate

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

871 IB-1501278-Q

(1) Designate the arc rotation direction with G02 (CW) or G03 (CCW).

(2) Commands to I, J, and K are issued as one of the following commands during tool center point control type 2.

Workpiece surface angle vector Euler angles Roll-pitch-yaw angles

(3) Rotary axis movement command cannot be issued during the tool center point control type 2. If commanded, a program error (P33) occurs.

(4) If I, J, or K is omitted when the tool center point control type 2 command is issued, the omitted address will be considered as "0".

(5) When the R address is omitted, a program error (P33) occurs.

(6) The feedrate is controlled to always become the rate along the circumference.

(1) Tool tilt type (Rotary axis machine coordinate 0)

(2) Tool tilt type (Rotary axis machine coordinate - 30)

Tool center point control type 2 (G43.5)

G02(G03) X__ Y__ R__ I__ J__ K__ F__ ; Format with R address

G02/G03 Arc rotation direction

X, Y End point coordinates of orthogonal coordinate axis

I, J, K Workpiece surface angle vector / Euler angles () / Roll-pitch-yaw angles ()

R Circular radius

F Feedrate

Detailed description

Operation for each type

: G18; G43.4 H1; : G02 Xx Zz Ii Kk; :

: G18; G43.4 H1; A-30.; : G02 Xx Zz Ii Kk; :

Note

X(+)

Y(+)

Z(+)

X(+)

Y(+)

Z(+) (a)

X(+)

Y(+) X(+)

Y(+)

Z(+)

A(-)

A0

Z(+)

A-30

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

872IB-1501278-Q

(3) Table tilt type (0 position standard)

(4) Table tilt type (Start position standard)

(5) Table tilt type (Programming coordinate system = workpiece coordinate system)

: G18; G43.4 H1; : G02 Xx Zz Ii Kk; :

(a) Arc operations

: G19 A-45.; G43.4 H1; : G02 Xx Yy Ii Jj; :

: G18; G43.4 H1; : G02 Xx Zz Ii Kk; :

(a) Arc operations (s) Start position (I) About I axis

X(+)

Y(+)

Z(+)

X(+)

Y(+)

Z(+)

A(+)

(a)

X(+)

Y(+)

Z(+)

Z(+)

Y(+)

X(+) A(+)

A0

(a) A-45:(s)

Y(+)

Z(+)

X(+)

Y(+)

Z(+)

:(s)A0

(I)

X(+)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

873 IB-1501278-Q

(1) If the circular command is issued without positioning three orthogonal axes after tool center point control has been started without movement command, a program error (P70) or (P71) may occur.

(a) Tool center point control commanded without movement command:

(b) Tool center point control commanded without movement command:

(c) Tool center point control commanded with movement:

(2) When G49 (tool center point control cancel) is commanded in circular interpolation modal during tool center point control, the circular interpolation modal remains enabled. Therefore, command the linear interpolation (G00 or G01) before canceling tool center point control.

(3) If the spiral interpolation or helical interpolation command is issued during tool center point control, a program error (P942) occurs.

Precautions

Tool center point: OFF Tool center point: ON

: G90G18; G43.4 H1; G02 Xx Zz Ii Kk; :

(*1) The current position is used as the tool center point, and the end point of the arc as the tool center point, so the arc radius cannot be obtained.

Tool center point: OFF Tool center point: ON

: G90G18; G43.4 H1; G02 Xx Ii K0; :

When the start point of the Z axis is equal to the end point, no error will occur.

(*2) The tool center point is not set as a program path.

Tool center point: OFF Tool center point: ON

: G90G18; G43.4 H1 Z0; G02 Xx Zz Ii Kk; :

(*3) The tool center point is used as the Z0 position.

(*1)

Z(+)

X(+)

(*2)

Z(+)

X(+)

(*3)

Z(+)

X(+)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

874IB-1501278-Q

19.4 Inclined Surface Machining; G68.2, G68.3/G69

Inclined surface machining function enables defining a new coordinate system (feature coordinate system) which is obtained by rotating and parallel translating the origin of the present coordinate system (X, Y, Z) (a coordinate sys- tem that existed before the inclined surface machining command was issued). With this function, you can define an arbitrary plane in a space and issue normal program commands to this plane in machining.

It's possible to automatically control the tool axis to be in the + Z direction of the newly defined feature coordinate system. The feature coordinate system is redefined in accordance with the tool axis direction, thus there is no need to mind the feature coordinate system's direction and tool axis' rotation direction in making machining programs. If the inclined surface machining is commanded while this function is not defined in the specifications, it causes a program error (P950).

When workpiece installation error compensation is valid, the workpiece coordinate system is set to the workpiece installation coordinate system.

If the linear axis and two rotary axes are commanded to the same block in a model for which the number of simul- taneous contouring control axes is 4 or less, a program error (P10) occurs.

(Example) When the following machining program is executed with machine configuration X-Y-Z-A-C

The feature coordinate system is defined using the following method.

If address P is omitted when G68.2 is commanded, it is assumed that G68.2 P0 is designated (define using Euler angles).

If address P is not set to "0" to "4" or "10" when G68.2 is commanded, a program error (P954) will occur. If address P or Q of the G68.2 command includes a decimal point, it is rounded to an integer. G68.2 must be commanded alone in a block, which also applies to G68.3 and G69. When it is commanded in

the same block with other G codes or travel commands, etc., a program error (P954) occurs. The G69 command cannot be issued during circular interpolation or fixed cycle mode. If issued, a program error

(P952) will occur.

Function and purpose

Original coordinate system

Feature coordinate system

:

G68.2 X10. Y20. I0. J-45. K0.;

:

X20. A10 C20; Program error (P10)

:

G69;

G code Command method

G68.2 P0 Define using Euler angles

G68.2 P1 Define using roll-pitch-yaw angles

G68.2 P2 Define using three points in a plane

G68.2 P3 Define using two vectors

G68.2 P4 Define using projection angles

G68.2 P10 Define by selecting the registered machining surface

G68.3 Define using tool axis direction

G69 Cancel inclined surface machining command

Z

Y

X

ZY

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

875 IB-1501278-Q

This function can be used on the machine whose rotary axis is installed with ISO polarity and the machine whose

axis is installed with non-ISO polarity. However, the orthogonal axis needs to be installed with ISO polarity.

This function is also available in machines with an inclined rotary axis. For details on conditions on machines, refer

to "19.8 Applicable Machines".

Applicable machines

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

876IB-1501278-Q

19.4.1 How to Define Feature Coordinate System Using Euler Angles

(1) If the address X, Y or Z is omitted, the address will be regarded as zero. When all of addresses X, Y, and Z are set to "0", the feature coordinate system's zero point will be the same as that of the coordinate system before the inclined surface machining command is issued.

(2) If the address I, J or K is omitted, the address will be regarded as zero.

(3) If any address other than P, X, Y, Z, I, J and K is included, a program error (P954) will occur.

By commanding G68.2 P0 (define using Euler angles), the feature coordinate system (a coordinate system made

by rotating and shifting the origin of the coordinate system before inclined surface machining) is defined.

Coordinate system rotation is commanded using the Euler angles.

(Example) When "G68.2 Xx Yy Zz Ia Jb Kc;" is commanded, the feature coordinate system is established as below.

(a) Define a point (x, y, z) in the coordinate system before issuing the inclined surface machining command, as the feature coordinate system's origin.

(b) Rotate the coordinate system, which was defined by shifting the origin in (a), by angle a about its Z axis.

(c) Rotate the coordinate system, which was defined by rotation in (b), by angle b about its X axis.

(d) Rotate the coordinate system, which was defined by rotation in (c), by angle c about its Z axis.

(e) The coordinate system created in the above steps is the feature coordinate system.

Command format

Inclined surface machining mode ON (define using Euler angles) (P0 can be omitted.)

G68.2 P0 X__ Y__ Z__ I__ J__ K__ ;

X, Y, Z Feature coordinate system's zero point Command by the absolute positions with respect to the coordinate system before issuing the inclined surface machining command.

I, J, K Euler angles (-360.0 to 360.0)

Detailed description

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

877 IB-1501278-Q

If coordinate system's rotation is counter clockwise when viewing from the positive ends of the rotation center axis,

this rotation will be considered as forward rotation. The relationship between the coordinate system before issuing

the inclined surface machining command and the feature coordinate system is as shown below.

WZ

WX

WY

WZ

WX

WY

FZ

FX

FYa

c

b

(b)

x

y

z

(a) (c)

Z

X

Y Z

X

Y

(d)

Z X

Y

x y

z

(e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

878IB-1501278-Q

19.4.2 How to Define Feature Coordinate System Using Roll-Pitch-Yaw Angles

(1) If the address X, Y or Z is omitted, the address will be regarded as zero. When all of addresses X, Y, and Z are set to "0", the feature coordinate system's zero point will be the same as that of the coordinate system before the inclined surface machining command is issued.

(2) If the address I, J or K is omitted, the address will be regarded as zero.

(3) If any address other than P, Q, X, Y, Z, I, J and K is included, a program error (P954) will occur.

(4) A program error (P954) will occur if "q" is a value other than those listed above.

Command format

Inclined surface machining mode ON (define using roll-pitch-yaw angles)

G68.2 P1 Q__ X__ Y__ Z__ I__ J__ K__ ;

X, Y, Z Feature coordinate system's zero point

Command by the absolute positions with respect to the coordinate system before issuing the inclined surface machining command.

Q Rotation order (q: Setting value for address "Q")

q First Second Third

123 X Y Z

132 X Z Y

213 Y X Z

231 Y Z X

312 Z X Y

321 Z Y X

If address Q is omitted, "q" will be handled as "123".

I Rotation angle about the X axis (roll angle) (the setting range is from -360.0 to 360.0)

J Rotation angle about the Y axis (pitch angle) (the setting range is from -360.0 to 360.0)

K Rotation angle about the Z axis (yaw angle) (the setting range is from -360.0 to 360.0)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

879 IB-1501278-Q

(Example) The feature coordinate system is established by the machining program as shown below.

G68.2 P1 Q123 Xx Yy Zz Ia Jb Kc;

(When q=123 [rotations in the order of WX, WY and WZ])

(a) Designate the feature coordinate system's origin by x, y and z (coordinates that existed before the inclined sur- face machining command was issued).

(b) Rotate the shifted coordinate system by angle "a" about the X axis of the coordinate system before issuing the inclined surface machining command. (Roll angle)

(c) Rotate the coordinate system, which was defined after rotation in (b), by angle "b" about the Y axis of the coor- dinate system before issuing the inclined surface machining command. (Pitch angle)

(d) Rotate the coordinate system, which was defined after rotation in (c), by angle "c" about the Z axis of the coor- dinate system before issuing the inclined surface machining command. (Yaw angle)

(e) The coordinate system created in the above steps is the feature coordinate system.

Detailed description

(a) (b)

FX

FZ

FY

WX

WZ

WY

a FY FX

FZ

(c)

FX b

FY

FZ (d)

c FY FX

FZ

(x, y, z)

(e)

FY

FX

FZ

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

880IB-1501278-Q

19.4.3 How to Define Feature Coordinate System Using Three Points in a Plane

(*1) Command by the absolute positions with respect to the coordinate system before issuing the inclined surface

machining command.

(1) If the address Q is omitted, the address will be regarded as zero.

(2) If the address X, Y or Z in Q0 to Q3 is omitted, the address will be handled as zero.

(3) If the address R is omitted, the address will be regarded as zero.

(4) If any address other than P, Q, X, Y, Z and R is included, a program error (P954) will occur.

(5) A program error (P954) will occur in the following cases. When any other command is included among G68.2 P2 Q0 to Q3. When any of G68.2 P2 Q1 to Q3 is lacked. When G68.2 P2 Q0 to Q3 are overlapped. When a value other than 0 to 3 is commanded in the address Q. When R is commanded in more than one block.

(6) A program error (P955) will occur in the following cases. When the same point was designated for two or more points among the 1st to the 3rd points. When the three points exist on a straight line. The distance between one of the three points and the straight line connecting the other two points is less

than 0.1 (mm).

Command format

Inclined surface machining mode ON (define using three points in a plane)

G68.2 P2 Q0 X__ Y__ Z__ R__ ; Shift amount setting

G68.2 P2 Q1 X__ Y__ Z__ ; 1st point coordinate setting

G68.2 P2 Q2 X__ Y__ Z__ ; 2nd point coordinate setting

G68.2 P2 Q3 X__ Y__ Z__ ; 3rd point coordinate setting

Q Designate the points Designate from the 1st to the 3rd points, or specify by the shift distance. 0: Shift distance 1: The 1st point 2: The 2nd point 3: The 3rd point

X, Y, Z (Shift amount setting)

Shift amount between the 1st point and the feature coordinate system's origin Command by the incremental position with respect to the feature coordinate system before parallel shift.

R The angle to rotate the feature coordinate system about the Z axis (the setting range is from -360.0 to 360.0)

X, Y, Z (The 1st point)

Designate the feature coordinate system's origin using with the workpiece coordi- nate system's position. (*1)

X, Y, Z (The 2nd point)

Designate a point on the feature coordinate system's X axis (+ direction) using with the workpiece coordinate system's position. (*1)

X, Y, Z (The 3rd point)

Designate a point on the feature coordinate system's Y axis using with the work- piece coordinate system's position. (*1)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

881 IB-1501278-Q

(1) Designate the points Q1, Q2 and Q3 with respect to the coordinate system before issuing the inclined surface machining command. The point Q1 will be the origin of the feature coordinate system.

(2) Define the X, Y and Z axes' directions of the feature coordinate system in the following procedure.

Feature coordinate system's X axis is in the direction from the 1st point (Q1) to the 2nd point (Q2). Normally, designate a point on Y axis (+ direction) as Q3. (If the commanded X axis and Y axis are not at perfect right angles, the Y axis will be automatically compensated to be at right angles to the X axis.) Feature coordinate system's Z axis is in the direction of the cross product of (Q2-Q1)(Q3-Q1). Feature coordinate system's Y axis is determined with respect to the right-handed system.

(3) When shift distance (x0, y0, z0) of the feature coordinate system's origin is commanded, the feature coordinate system's origin is further parallel translated by (x0, y0, z0). Command the parallel translation distance with re- spect to the feature coordinate system before parallel translation. Always specify x0, y0 and z0 by incremental position.

(4) When the rotation angle a is commanded in the address R, the feature coordinate system is rotated by the angle "a" about the Z axis of the feature coordinate system.

(Example) The feature coordinate system is established by the machining program as shown below.

G68.2 P2 Q0 Xx0 Yy0 Zz0 Ra ;

G68.2 P2 Q1 Xx1 Yy1 Zz1 ;

G68.2 P2 Q2 Xx2 Yy2 Zz2 ;

G68.2 P2 Q3 Xx3 Yy3 Zz3 ;

Detailed description

Coordinate system before issuing the inclined surface machining command (Workpiece coordinate system)

(x0,y0,z0) Q1

Q3

Q2

a

WZ

FZ (=FZ1)

WY

WX

FX

FY FZ1

FX1

FY1

a

(x1,y1,z1)(1) (2)

(3)

(4)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

882IB-1501278-Q

19.4.4 How to Define Feature Coordinate System Using Two Vectors

(1) If the address X, Y or Z is omitted, the address will be regarded as zero. When all of addresses X, Y, and Z are set to "0", the feature coordinate system's zero point will be the same as that of the coordinate system before the inclined surface machining command is issued.

(2) If the address I, J or K in G68.2 P3 Q1 and Q2 is omitted, the omitted value will be handled as zero.

(3) If any address other than P, Q, I, J and K is included, a program error (P954) will occur. (X, Y and Z are possible to command in G68.2 P3 Q1)

(4) A program error (P954) will occur in the following cases. When any other command is included between G68.2P3 Q1 and Q2. When either G68.2 P3 Q1 or Q2 is lacked. When G68.2 P3 Q1 and Q2 are overlapped. When a value other than 1 to 2 is commanded in the address Q. When the address Q is omitted

(5) A program error (P955) will occur in the following cases. When all of addresses I, J, and K are set to "0": When the angle formed by the feature coordinate system's X and Z vectors is not a right angle, and the de-

viation is 5 degrees or more.

Command format

Inclined surface machining mode ON (define using two vectors)

G68.2 P3 Q1 X__ Y__ Z__ I__ J__ K__ ;

G68.2 P3 Q2 I__ J__ K__ ;

Q Designate vectors Select the X axis direction vector or the Z axis direction vector. 1: X axis direction vector 2: Z axis direction vector

X, Y, Z Feature coordinate system's zero point Command by the absolute positions with respect to the coordinate system before issuing the inclined surface machining command.

I, J, K The feature coordinate system's X or Z axis direction vector When Q1 is commanded, the X axis direction vector is set. When Q2 is command- ed, the Z axis direction vector is set. Command the direction with respect to the coordinate system before issuing the in- clined surface machining command. The setting range is the same as the axis set- ting range, and the unit is dimensionless.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

883 IB-1501278-Q

(1) Designate the feature coordinate system's origin by x, y and z (coordinates that existed before the inclined sur- face machining command was issued).

(2) Define the X, Y and Z axes' directions of the feature coordinate system in the following procedure. Feature coordinate system's X axis positive direction is rx = (ix, jx, kx). Feature coordinate system's Y axis positive direction is that of the cross product of (iz, jz, kz)(ix, jx, kx). The feature coordinate system's Z axis is determined with respect to the right-handed system.

The direction of rx=(ix, jx, kx) is the X axis of the feature coordinate system.

Normally, the direction of rz=(iz, jz, kz) is the Z axis (positive direction) of the feature coordinate system.

(If rx and rz are not at perfect right angle to each other, they will be automatically compensated so that they are

at right angle to the X axis.)

(Example) The feature coordinate system is established by the machining program as shown below.

G68.2 P3 Q1 Xx Yy Zz Iix Jjx Kkx ;

G68.2 P3 Q2 Iiz Jjz Kkz ;

Detailed description

Coordinate system before issuing the inclined surface machining command (Workpiece coordinate system)

FZ

FY FX

rz=(iz,jz,kz) rx=(ix,jx,kx)

(x,y,z) XY

Z WX

WZ

WY

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

884IB-1501278-Q

19.4.5 How to Define Feature Coordinate System Using Projection Angles

(1) If the address X, Y or Z is omitted, the address will be regarded as zero. When all of addresses X, Y, and Z are set to "0", the feature coordinate system's zero point will be the same as that of the coordinate system before the inclined surface machining command is issued.

(2) If the address I, J or K is omitted, the omitted value will be handled as zero.

(3) If any address other than P, X, Y, Z, I, J and K is included, a program error (P954) will occur.

(4) A program error (P955) will occur when the angle formed by the X axis after rotating by the angle designated with address I about the Y axis, and the Y axis after rotating by the angle designated with address J about the X axis is 1 degree or less.

(1) Designate the feature coordinate system's origin by x, y and z (coordinates that existed before the inclined sur- face machining command was issued).

(2) Define the X, Y and Z axes' directions of the feature coordinate system in the following procedure. The direction in which the X axis of the coordinate system before issuing the inclined surface machining

command is rotated by angle a about the Y axis is defined as "ra". The direction in which the Y axis of the coordinate system before issuing the inclined surface machining

command is rotated by angle b about the X axis is defined as "rb". Feature coordinate system's Z axis is in the direction of the cross product of (ra rb). Feature coordinate system's X axis is in the direction determined by rotating "ra" by the angle "c" about the

feature coordinate system's Z axis. Feature coordinate system's Y axis is determined with respect to the right-handed system.

If "ra" and "rb" are considered to be parallel (or if the angle formed by the two vectors is 1 degree or less), a program error (P955) will occur. Except XZ and YZ plane, it is not possible to designate a plane that is in parallel with Z axis.

Command format

Inclined surface machining mode ON (define using projection angles)

G68.2 P4 X__ Y__ Z__ I__ J__ K__ ;

X, Y, Z Feature coordinate system's zero point Command by the absolute positions with respect to the coordinate system before issu- ing the inclined surface machining command.

I The angle to rotate the X axis about the Y axis of the coordinate system before issuing the inclined surface machining command (the setting range is from -360.0 to 360.0)

J The angle to rotate the Y axis about the X axis of the coordinate system before issuing the inclined surface machining command (the setting range is from -360.0 to 360.0)

K The rotation angle about the Z axis of the feature coordinate system (the setting range is from -360.0 to 360.0)

Detailed description

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

885 IB-1501278-Q

(Example) The feature coordinate system is established by the machining program as shown below.

G68.2 P4 Xx Yy Zy Ia Jb Kc ;

Coordinate system before issuing the inclined surface machining command (Workpiece coordinate system)

FZ

FY FX a

b

XY

Z

ra

rb

WXWZ

WY

FY FX

c

FZ

(x, y, z)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

886IB-1501278-Q

19.4.6 Define by Selecting the Registered Machining Surface

(1) When address Q is omitted, select workpiece No. 1 if Q0,Q1 is commanded.

(2) When address D is omitted, select machining surface No. 1 (BASE-SURFACE) if D0,D1 is commanded.

(3) If any address other than P, Q, and D is designated when G68.2 P10 is commanded, a program error (P954) will occur.

(4) A program error (P954) will occur when: a value other than 0 to 10 is commanded in address Q or an undefined workpiece name is designated; a value other than 0 to 17 is commanded in address D or an undefined machining surface name is desig-

nated; the workpiece name does not include a character string (command represented by "Q<>"); and the machining surface name does not include a character string (command represented by "D<>").

(5) If no feature coordinate system can be defined for the selected machining surface, a program error (P956) will occur.

(6) If there are multiple workpieces or machining surfaces of the same name when the workpiece name or machining surface name is designated, a lower number is selected.

(7) When the machining surface is called from the program, [SEL] or [*] is not displayed on the screen. Various PLC signals are not set to ON. (R-Navi machining surface selecting signal (XD28), R-Navi selecting workpiece No. signal (R660), R-Navi selecting machining surface No. signal (R661))

(8) When the machining surface is called from the program, the basic coordinate system designated by R-Navi for each workpiece is not selected. Before "G68.2 P10" is commanded, select a workpiece coordinate system from the program.

(9) If you have defined a workpiece No. in address Q, define a machining surface No. in address D. If you have defined a workpiece name in address Q, define a machining surface name in address D.

Command format

Inclined surface machining mode ON (define R-Navi machining surface)

G68.2 P10 Q__ D__ ;

Q Workpiece No. designated by R-Navi or workpiece name designated by R-Navi

D Machining surface No. designated by R-Navi or machining surface name designat- ed by R-Navi

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

887 IB-1501278-Q

19.4.7 How to Define Feature Coordinate System Using Tool Axis Direction

(1) If the address X, Y or Z is omitted, the address will be regarded as zero. When all of addresses X, Y, and Z are set to "0", the feature coordinate system's zero point will be the same as that of the coordinate system before the inclined surface machining command is issued.

(2) If the address R is omitted, the omitted value will be handled as zero.

(3) If any address other than X, Y, Z and R is included, a program error (P954) will occur.

(1) Designate the feature coordinate system's zero point by x, y and z (coordinates that existed before the inclined surface machining command was issued).

(2) Define the X, Y and Z axes' directions of the feature coordinate system in the following procedure. Feature coordinate system's Z axis is in the tool axis direction. Feature coordinate system's X axis is in the direction of the X axis of the coordinate system before issuing

the inclined surface machining command after rotating with the tool. (When all the tool-side rotary axes are at 0 degrees (machine value), the feature coordinate system's X axis will be in the same direction as the X axis of the coordinate system before issuing the inclined surface machining command.)

Feature coordinate system's Y axis is in the direction of the Y axis of the coordinate system before issuing the inclined surface machining command after rotating with the tool. (When all the tool-side rotary axes are at 0 degrees (machine value), the feature coordinate system's Y axis will be in the same direction as the Y axis in the coordinate system before issuing the inclined surface machining command.)

Feature coordinate system is finally established by rotating the commanded angle with address R about the Z axis.

Command format

Inclined surface machining mode ON (define using tool axis direction)

G68.3 X__ Y__ Z__ R__;

X, Y, Z Feature coordinate system's zero point Command by the absolute positions with respect to the coordinate system before issuing the inclined surface machining command.

R The angle to rotate the feature coordinate system about Z axis (the setting range is from -360.0 to 360.0)

Detailed description

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

888IB-1501278-Q

(Example) The feature coordinate system is established by the machining program as shown below.

G68.3 Xx Yy Zy Ra;

Coordinate system before issuing the inclined surface machining command (Workpiece coordinate system)

WY

WZ

WX

FY

FXa

aFZ

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

889 IB-1501278-Q

19.4.8 Tool Axis Direction Control; G53.1/G53.6

A rotary axis is automatically moved so that the tool axis direction (direction from the tool's tip to the bottom) will be

the feature coordinate system's +Z axis direction. For table tilt type and combined type machines, feature coordinate

system may change in accordance with the rotation of the table rotary axis.

The following two types of tool axis direction control can be utilized:

G53.1/G53.6 are group 00.

(1) Command G53.1/G53.6 during inclined surface machining mode. If commanded in any other mode, a program error (P953) will occur.

(2) G53.1 must be commanded alone in a block, which also applies to G53.6. When it is commanded in the same block with other G codes or travel command etc., a program error (P953) occurs.

(3) The travel speed when G53.1 is commanded follows the G group 1 modal (such as G00/G01) during the tool axis direction control command.

(4) The travel speed on the feature coordinate system when G53.6 is commanded follows G group 1 modal (such as G00/G01). The travel speed of each axis may exceed the command speed as the tool tip position is fixed in the view from workpiece. However, rapid traverse (G00) is clamped by the parameter "#2001 rapid", and the cutting feed (G01) is clamped by the parameter "#2002 clamp". (These parameters depend on the MTB specifi- cations.)

Function and purpose

Type 1 (G53.1 command) Only the rotary axis is moved.

Type 2 (G53.6 command) The rotary axis and the orthogonal axis are moved by fixing the tool center point position in the view from the workpiece.

Command format

Tool axis direction control (type 1): Only the rotary axis is moved.

G53.1 P__ ;

Tool axis direction control (type 2): The rotary axis and the orthogonal axis are moved by fixing the tool cen- ter point position in the view from the workpiece.

G53.6 P__ Q__ H__ ;

P Select a solution for the rotary axis 0: Select a default solution for each machine type 1: Select a solution so that the primary rotary axis rotation is positive. 2: Select a solution so that the primary rotary axis rotation is negative.

Q Select the rotation order of the rotary axes when the number of simultaneous con- touring control axes is 4 axes or less and the operation at the time of G53.6 com- mand is limited to simultaneous 4 axes (3 orthogonal axes + 1 rotary axis) or less. (In the following example, there are 2 rotary axes.) 0: The axes operate in the order set in the "#7917 SLCT_G53_6_ROTAX" param- eter. 1: The axes operate in the order of primary rotary axis and secondary rotary axis. 2: The axes operate in the order of secondary rotary axis and primary rotary axis.

Even if the number of simultaneous contouring control axes is 5 axes or more, the number can be limited to the simultaneous 4 axes (3 orthogonal axes + 1 rotary axis) or fewer by address Q command. However, when address Q command is "0", 5 axes operate simultaneously regardless of the parameter settings.

H Tool length offset No.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

890IB-1501278-Q

(5) The behavior when the address P is omitted depends on the setting of parameter "#7918 SLCT_ROTAX_ANS" (MTB specifications). If any other value than 0, 1, and 2 is command, a program error (P35) will occur.

(6) If any address other than P/N is commanded while commanding G53.1, a program error (P953) will occur.

(7) When address Q is omitted at the time of G53.6 command, it is regarded that 0 is commanded. If any other value than 0, 1, and 2 is command, a program error (P35) will occur.

(8) If any address other than P/H/N is commanded while commanding G53.6, a program error (P953) will occur.

(9) When the address H is omitted, H modal commanded before G53.6 command will be applied. If H modal is not commanded, a program error (P953) will occur.

(10) If the tool length offset No. is changed by address H command, a program error (P953) will occur.

(11) If the offset amount for the tool No. that the address H is commanded is "0", a program error (P957) will occur.

(12) If the inclined surface which cannot be calculated is defined when the tool axis direction control (G53.1/G53.6) is commanded, the program error (P29) occurs.

(Example 1) (Example 2)

: G43 H1 : G53.6 Use H1 :

: G53.6 Error (P953) :

(Example 1)

: G43 H1 Command the tool offset No.1 : G53.6 H2 If tool length offset No.2 is commanded, a program error (P953) will occur. :

(Example 1) When "H1 = 0" (Example 2) When "H1 0" (Example 3) When "0" is com- maned to address H

: G43 H1 : G53.6 Error (P957) :

: G43 H1 : H0 Tool length offset is "0" : while it remains G43 modal. G53.6 Error (P957) :

: G53.6 Error (P957) :

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

891 IB-1501278-Q

For the G53.1 command, the 3 orthogonal axes (X, Y, and Z axes) do not move, however, only the 2 rotary axes

rotate simultaneously so that the tool axis direction is in line with the +Z direction of the feature coordinate system.

(1) For combined type B-C axes

When the G53.1 command is issued for a combined type (B-C axes) machine, the B axis of the tool and the C axis of the table rotate simultaneously.

(2) For table tilt type A-C axes

When the G53.1 command is issued for a table tilt type (A-C axes) machine, the A and C axes of the table rotate simultaneously.

(3) For tool tilt type B-C axes

When the G53.1 command is issued for a tool tilt type (B-C axes) machine, the B and C axes of the tool rotate simultaneously.

Detailed description

The operation of type 1 (G53.1)

G53.1

WZ

WY WX FZ

B B

CC

FY

FX

G53.1WZ WY WX

FZ

A A

CC

FY FX

G53.1

WZ

WY WX

B B

CC

FZ

FY

FX

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

892IB-1501278-Q

For G53.6 command, the tool axis end position of the tool axis direction seen from workpiece is fixed to be in +Z

direction in the feature coordinate system, and up to 3 orthogonal axes (x axis, Y axis, and Z axis) and 2 rotary axes

moves simultaneously.

The number of axes to be moved simultaneously is limited by the number of simultaneous contouring control axes.

If the number of simultaneous contouring control axes is 4 axes or fewer, the rotary axes move separately.

The order of rotary axes moving separately can be specified with address Q command. When the number of simul-

taneous contouring control axes is 5 axes or more, the rotary axes can also be moved separately by issuing the

address Q command.

[When the number of simultaneous contouring control axes is 5 axes or more]

For G53.6 command, up to 3 orthogonal axes(X axis, Y axis, and Z axis) and 2 rotary axes can be moved simulta-

neously.

(1) For combined type B-C axes

When the G53.6 command is issued for a combined type (B-C axes) machine, the X, Y, Z, and B axes of the tool and the C axis of the table move simultaneously.

(2) For table tilt type A-C axes

When the G53.6 command is issued for a table tilt type (A-C axes) machine, the X, Y, and Z axes of the tool and the A and C axes of the table move simultaneously.

Type 2 (G53.6) command

G53.6

WZ

WY WX

B B

CC

FZ FY

FX

G53.6WZ WY WX

A A

C C

FZ

FY FX

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

893 IB-1501278-Q

(3) For tool tilt type B-C axes

When the G53.6 command is issued for a tool tilt type (B-C axes) machine, the X, Y, Z, B, and C axes of the tool rotate simultaneously.

[When the number of simultaneous contouring control axes is 4 axes or fewer]

Up to 3 orthogonal axes (X, Y, Z axes) and a rotary axis move simultaneously with G53.6 command. When 2 rotary

axes move, the order of rotary axes to move is specified with the parameter #7917 SLCT_G53_6_ROTAX or ad-

dress Q. When specifying "1" to the address Q, the axis moves in the order of primary rotary axis and secondary

rotary axis. When setting "2" to the address Q, the axis moves in the order of the secondary axis and the primary

axis. When executing the single block operation, either performing the block stop or not at the movement completion

for each rotary axis can also be specified with parameter #8132 G53.6 block stop.

(1) For combined type B-C axis

(a) When moving in the order of primary rotary axis and secondary rotary axis

First, the B axis ("B" in the figure below) of the tool rotates, and then the X, Y, and Z axes of the tool also move to fix the tool center position. Next, the C axis ("C" in the figure below) of the table rotates, and then the X, Y, and Z axes of the tool also move as if the tool follows the workpiece movement.

G53.1

WZ

WY WX

B

B

C C

FZ

FY

FX

B B

C C

G53.6 FZ

WZ

WY WX

FY

FX

FZ

WY

WX

FY

FX

FY

FX FY

FX

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

894IB-1501278-Q

(b) When moving in the order of secondary rotary axis and primary rotary axis

First, the C axis ("C" in the figure below) of the table rotates, and then the X, Y, and Z axes of the tool also move as if the tool follows the workpiece movement. Next, the B axis ("B" in the figure below) of the tool rotates, and then the X, Y, and Z axes of the tool also move to fix the tool center position.

(2) For table tilt type A-C axes (When moving in the order of secondary rotary axis and primary rotary axis)

First, the C axis ("C" in the figure below) of the table rotates, and then the X, Y, and Z axes of the tool also move as if the tool follows the workpiece movement. Next, the A axis ("A" in the figure below) of the table rotates, and then the X, Y, and Z axes of the tool also move as if the tool follows the workpiece movement.

FY

FX

B B

C C

G53.6 FZ

WZ

WY WX

FY

FX

FZ FY

FX

WY

WX

FY

FX

FY

FX

A A

C C

G53.6

FZ

FY

FX

WZ WY

WX

FY

FX

WY

WX

FY

FX

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

895 IB-1501278-Q

(3) For tool tilt type B-C axis (When moving in the order of primary rotary axis and secondary rotary axis)

First, the B axis ("B" in the figure below) of the tool rotates, and then the X, Y, and Z axes of the tool also move to fix the tool center position. Next, the C axis ("C" in the figure below) of the tool rotates, and then the X, Y, and Z axes of the tool also move to fix the tool center position.

When G53.1 is commanded, there are normally two types of solutions for the rotary axis' calculated angle; one is to

rotate the primary rotary axis positively, and the other negatively. Use the address P (P=0, 1 or 2) in G53.1 command

to select either one of the solutions.

These are the default solutions for each machine type.

When P is "0": Selects a default solution for each machine type

When P is "1": Selects a solution so that the primary rotary axis rotation is positive

When P is "2": Selects a solution so that the primary rotary axis rotation is negative

The behavior when the address P is omitted depends on the setting of parameter "#7918 SLCT_ROTAX_ANS"

(MTB specifications). If any other value than 0,1, and 2 is command, a program error (P35) will occur.

These are the default solutions for each machine type.

Select rotary axis' solution

Machine type Primary rotary axis Solution selected by default

Tool tilt type Tool-side 2nd rotary axis Selects a solution so that the primary rotary axis rotation is positive (same as when P is "1")

Table tilt type Table-side 2nd rotary axis Selects a solution so that the primary rotary axis rotation is negative (same as when P is "2")

Combined type Tool-side rotary axis Selects a solution so that the primary rotary axis rotation is positive (same as when P is "1")

B B

C

C

FX FX

G53.6 FZ

WZ

WY WX

FY

FX

FZ

WY

WX

FY

FX

FY

FX

FY

FX

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

896IB-1501278-Q

Primary rotary axis is the rotary axis which serves as the criteria for selecting the solution in G53.1 command.

(*1) Indicates the 1st feature coordinate system.

(*2) Indicates the 2nd feature coordinate system.

(*3) For combined type machines, a solution that makes the primary rotary axis rotation positive is selected as a

result of issuing the G53.1P0 command.

B > 0

C

G53.1 P2

C

B < 0

G53.1 P0 G53.1 P1

WY

WZ

WX

FY FZ

FX

FYFZ

FX

FY FZ

FX

(*1)

(*3)

(*2) (*2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

897 IB-1501278-Q

19.4.9 Details of Inclined Surface Machining Operation

When inclined surface machining is commanded, the above-mentioned feature coordinate system is defined. By set-

ting the parameters #8901 to #8906 to "23", you can display the coordinates of the feature coordinate system on the

counter (no machine motion). The travel commands during inclined surface machining mode are handled with re-

spect to the feature coordinate system.

In the counter display of the feature coordinate system, whether the machining position on the program command

that does not include the tool length compensation/tool radius compensation can be selected depends on the MTB

specifications (parameter "#1287 ext23/bit1, bit2 (inclined surface coordinate display)".

When G53.1 is commanded, the rotary axis moves so that the tool axis direction will be + Z direction of the feature

coordinate system. At this time, the rotary axis moves, but X, Y and Z axes won't move. The rotary axis' travel speed

is determined based on the modal when G53.1 is commanded.

The command G69 cancels the inclined surface machining. When this mode is canceled, the feature coordinate sys-

tem setting will be canceled, the coordinate system will change back to the workpiece coordinate system when in-

clined surface machining was commanded, and workpiece coordinate position counter will change back to the

previous workpiece coordinate system's coordinates (no machine motion). By inputting Reset, the inclined surface

machining is also canceled.

(If the parameter "#1151 rstint" or "#1210 RstGmd/bitF" is set to "0", however, the inclined surface machining mode

is kept even when Reset is input.)

Detailed description

Operation during inclined surface machining mode

Tool axis direction control

CAUTION

Depending on the feature coordinate system setting, rotary axis may move greatly in response to G53.1 com-

mand. Thus, before commanding G53.1, move the tool far enough away from the table.

Cancel inclined surface machining mode

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

898IB-1501278-Q

The machining program #10 is for machining an identical shape on each face of the hexagonal column using a com-

bined type machine. Feature coordinate systems on each face are defined in the blocks N1 to N6, and then same

machining is performed using the subprogram (Machining program #100). The workpiece origin is deemed to be at

the center of the hexagonal column's end-face.

Machining program #10

Program example

Program example 1

N1 G68.2 X86.6025 Y50. Z0. I-90. J-45. K0.;

M98 P100;

G69;

G00 Z200.;

Machining on the face (1)

N2 G68.2 X86.6025 Y-50. Z0. I-150. J-45. K0.;

M98 P100;

G69;

G00 Z200.;

Machining on the face (2)

N3 G68.2 X0. Y-100. Z0. I-210. J-45. K0.;

M98 P100;

G69;

G00 Z200.;

Machining on the face (3)

N4 G68.2 X-86.6025 Y-50. I-270. J-45. K0.;

M98 P100;

G69;

G00 Z200. ;

Machining on the face (4)

N5 G68.2 X-86.6025 Y50. I-330. J-45. K0;

M98 P100;

G69;

G00 Z200. ;

Machining on the face (5)

N6 G68.2 X0. Y100. I-30. J-45. K0.;

M98 P100;

G69;

G00 Z200. ;

Machining on the face (6)

M30

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

899 IB-1501278-Q

Machining program #100

G53.1;

G90 G00 X0. Y0. Z5.;

G01 Z-5.F500;

G01 Y20. F1000;

G02 X20. Y0. R20. F1000;

G01 X0.F1000;

M99;

G: Feature coordinate system's origin

(1)

(2)

(3)

(4)

(6)

(5)

50. 86.6025

G WY

FY

WX

FY FZ FX

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

900IB-1501278-Q

The machining program #10 to #15 are for machining a shape on an inclined surface of the cube as shown in the

figure next page. The feature coordinate system is defined by designating the inclined surface in each main program,

and then same machining is done using the subprogram (Machining program #100).

Program example 2

Machining program #10 Euler angles

N1 G28XYZBC;

G54X0Y0Z0;

M200;

G68.2 X33.3333 Y 33.3333 Z66.6666 I-45 J54.7356 K0;

M98 P100;

G69;

Machining program #11 Roll-pitch-yaw angles

N2 G28XYZBC;

M200;

G68.2 P1 Q321 X33.3333 Y 33.3333 Z66.6666 I45 J-35.2644 K-30;

M98 P100;

G69;

M30;

Machining program #12 Three points in a plane

N3 G28XYZBC;

G54X0Y0Z;

M200;

G68.2 P2 Q0 X0 Y-18.7503 Z0 R0;

G68.2 P2 Q1 X50 Y50 Z100;

G68.2 P2 Q2 X50 Y0 Z50;

G68.2 P2 Q3 X50 Y50 Z100;

M98 P100;

G69;

M30;

Machining program #13 Two vectors

N4 G28XYZBC;

G54X0Y0Z0;

M200;

G68.2 P3 Q1 X33.3333 Y 33.3333 Z66.6666 J-100 K0;

G68.2 P3 Q2 I-100 J-100 K100;

M98 P100;

G69;

M30;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

901 IB-1501278-Q

G: Feature coordinate system's origin

Machining program #14 Projection angles

N5 G28XYZBC;

G54X0Y0Z0;

M200;

G68.2 P4 X33.3333 Y 33.3333 Z66.6666 I-45 J45 K-60;

M98 P100;

G69;

M30;

Machining program #15 Tool axis direction basis

N6 G28XYZBC;

G54X0Y0Z0;

M200;

B-45. C45.;

G68.3 X33.3333 Y33.3333 Z66.6667 R0.;

M98 P100;

M69;

M30;

Machining program #100

G53.1;

G90G00X0.Y0.Z0.B0.C0.;

G00X0Y0Z0;

G01 Y50.F1000;

G02 X50. Y0. R50. F1000;

G01 X0.F1000;

M99;

A

B C

A

B C

(X0, Y0, Z0) = (33.3333, 33.3333, 66.6667)

G

100 100

100

WY

WZ

WX

FY

FZ

FX

FY

FX

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

902IB-1501278-Q

19.4.10 Rotary Axis Basic Position Selection

When inclined surface machining is commanded, the basic position for establishing the feature coordinate system's

origin can be set with the parameter ("#7915 SLCT_SLOPE_CRD_MOD" (Rotary axis basic position in inclined sur-

face machining)).

There are two types of basic position selection. One is to set the feature coordinate system in view from the work-

piece coordinate system independently of the rotary axis' position when inclined surface machining is commanded

(Start position basis), and the other is to set the feature coordinate system in view from a workpiece coordinate sys-

tem which is determined regardless of the rotary axis position when inclined surface machining is commanded (Zero

degree position basis).

Detailed description

Rotary axis basic position in inclined surface machining

Start position basis (#7915=1) Zero degree position basis (#7915=0)

When workpiece is placed in the workpiece coordinate sys- tem direction: Workpiece coordinate offset A0. C0.

When G68.2 is commanded: When G68.2 is commanded:

Feature coordinate system is defined at a position in view from a workpiece co- ordinate system.

Feature coordinate system is defined at a position in view from a workpiece co- ordinate system regardless of rotary axis position.

When G53.1 is commanded: When G53.1 is commanded:

The tool axis direction matches the Z axis direction of the feature coordinate system, which has been defined with G68.2.

The tool axis direction matches the Z axis direction of the feature coordinate system, which has been defined with G68.2.

WZ

WY

WX C0

G90 G54 A0. C0. G68.2XxYyZz G53.1

FX

FY

FZ

WZ

WY

WX C0

G90 G54 A0. C0. G68.2XxYyZz G53.1

FX

FY

FZ

WZ

WY

WX C0

FX

FY

FZ WZ

WY

WX

C0

FX

FY

FZ WZ

WY

WX

C0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

903 IB-1501278-Q

Rotary axis basic position in inclined surface machining

Start position basis (#7915=1) Zero degree position basis (#7915=0)

When workpiece is placed de- viated from the workpiece co- ordinate system: Workpiece coordinate offset A0. C30.

When G68.2 is commanded: When G68.2 is commanded:

Feature coordinate system is defined at a position in view from a workpiece co- ordinate system.

Feature coordinate system is defined at a position in view from a workpiece co- ordinate system regardless of rotary axis position.

When G53.1 is commanded: When G53.1 is commanded:

The tool axis direction does not match the Z axis direction of the feature coor- dinate system, which has been defined with G68.2 command.

The tool axis direction matches the Z axis direction of the feature coordinate system, which has been defined with G68.2.

Example) Polygon machining: Machining an identical shape on each of the six surfaces.

(Subprogram)

:

G68.2 Xx Yy Zz Ii Jj Kk

G53.1

G01 Xx Ff

:

G69

M99

Create a machining shape in the sub-

program using inclined surface machin-

ing and tool axis direction control. Need

to consider the rotary axis' angle before

calling the subprogram.

(Main program)

:

G68.2 Xx Yy Zz Ii Jj Kk

G53.1

M98 Pp

G69

:

(Subprogram)

G01 Xx Ff

:

M99

Carry out inclined surface machining

and tool axis direction control in the

main program and create a machining

shape in the subprogram. No need to

consider the rotary axis' angle before

calling the subprogram.

WZ

30

WY

WX C0

G90 G54 A0. C30. G68.2XxYyZz G53.1

30

FX

FY

FZ

WZ

WY

WX C0

G90 G54 A0. C30. G68.2XxYyZz G53.1

30 FX

FY FZ

WZ

WY

WX C0

FX

FZ

FY WZ

WY

WX

C0

FX

FZ

FY WZ

WY

WX

C0

WZ

WY

WX (1)

(2)

(3) (4)

(5)

(6)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

904IB-1501278-Q

When inclined surface machining control is commanded together with the TCP control (G43.4), define the table-in-

terlocked feature coordinate system by setting the parameter (#7911 Rotary axis basic position selection) for TCP

control. When zero degree position basis (#7911=0) is selected, it is possible to define the table-interlocked feature

coordinate system at an arbitrary rotary axis angle. For the start position basis (#7911=1), the table-interlocked fea-

ture coordinate system can be defined on an inclined surface only when the TCP control is commanded at the same

rotary axis angle as of the inclined surface machining command (G68.2) or tool axis direction control command

(G53.1).

When workpiece is placed in the workpiece coordinate system direction:

Combination with tool center point (TCP) control

Rotary axis basic position selection

Workpiece coordinate system zero point for a basis (#7911 = 0)

The position when the tool center point is commanded for a basis

(#7911 = 1)

Inclined surface machining com- mand Zero degree position basis (#7915 =0) Workpiece coordinate offset A 0. C0.

When G68.2 is commanded:

Feature coordinate system is defined at a position in view from a workpiece coordinate system regardless of rotary axis position.

When G53.1 is commanded:

The tool axis direction matches the Z axis direction of the feature coordinate system, which has been defined with G68.2.

When G43.4 is commanded: When G43.4 is commanded:

Feature coordinate system is fixed to the table at 0 degree of the coordi- nate system.

Feature coordinate system is fixed to the table at a position in view from a workpiece coordinate system regard- less of rotary axis position.

WZ

WY

WX C0

G90 G54 A0. C0. G68.2XxYyZz G53.1 G43.4

FX

FY

FZ

WZ

WY

WX C0

FX

FY

FZ WZ

WY

WX

C0

*FX

*FY

*FZ WZ

WY

WX

C0

*FX

*FY

*FZ WZ

WY

WX

C0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

905 IB-1501278-Q

When workpiece is placed deviated from workpiece coordinate system

(1) When TCP control (G43.4) is commanded at the same angle as of tool axis direction control (G53.1)

Rotary axis basic position selection

Workpiece coordinate system zero point for a basis (#7911 = 0)

The position when the tool center point is commanded for a basis

(#7911 = 1)

Inclined surface machining com- mand Zero degree position basis (#7915 =0) Workpiece coordinate offset A 0. C30.

When G68.2 is commanded:

Feature coordinate system is defined at a position in view from a workpiece coordinate system regardless of rotary axis position.

When G53.1 is commanded:

The tool axis direction matches the Z axis direction of the feature coordinate system, which has been defined with G68.2.

When G43.4 is commanded: When G43.4 is commanded:

Feature coordinate system is fixed to the table at a position in view from a workpiece coordinate system regard- less of rotary axis angle.

Feature coordinate system is fixed to the table at the position of the present feature coordinate system.

WZ

30

WY

WX C0

G90 G54 A0. C0. G68.2XxYyZz G53.1 G43.4

FX

FY

FZ

WZ

WY

WX C-30

FX

FY

FZ WZ

WY

WX

C-30

*FX

*FY

*FZ WZ

WY

WX

C-30

*FX

*FY

*FZ WZ

WY

WX

C-30

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

906IB-1501278-Q

(2) When TCP control (G43.4) is commanded at a different angle from tool axis direction control (G53.1).

Rotary axis basic position selection

Workpiece coordinate system zero point for a basis (#7911 = 0)

The position when the tool center point is commanded for a basis

(#7911 = 1)

Inclined surface machining com- mand Zero degree position basis (#7915 =0) Workpiece coordinate offset A 0. C30. Rotary axis is rotated before tool center point control command

When G68.2 is commanded:

Feature coordinate system is defined at a position in view from a workpiece coordinate system regardless of rotary axis position.

When G53.1 is commanded:

The tool axis direction matches the Z axis direction of the feature coordinate system, which has been defined with G68.2.

When G00 A30 is commanded:

The tool axis direction does not match the Z axis direction of the feature co- ordinate system, which has been defined with G68.2 command.

When G43.4 is commanded: When G43.4 is commanded:

Feature coordinate system is fixed to the table at a degree determined based on the rotary axis position.

Feature coordinate system is fixed to the table at the position of the present feature coordinate system.

WZ

30

WY

WX C0

G90 G54 A0. C0. G68.2XxYyZz G53.1 G00 A30. G43.4

FX

FY

FZ

WZ

WY

WX C-30

FX

FY

FZ WZ

WY

WX

C-30

FX

WZ

WY

WX

FY

FZ

C-30

*FX

WZ

WY

WX

*FY

*FZ C-30 FX

WZ

WY

WX

FY

FZ

C-30

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

907 IB-1501278-Q

If the Z axis of the feature coordinate system defined on an inclined surface matches the tool axis direction, the table-

interlocked feature coordinate system can be defined by commanding the tool center point (TCP) control.

However, if the TCP control start position basis is selected (#7911=1), the table-interlocked feature coordinate sys-

tem can be defined on an inclined surface only when TCP control is commanded at the same angle as of the inclined

surface machining command (G68.2) or tool axis direction control command (G53.1).

Start position based inclined surface machining command (#7915=1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

908IB-1501278-Q

19.4.11 Relationship between Inclined Surface Machining and Other Functions

If commanded in any other mode, a program error (P951) will occur.

Relationship with other functions

Commands Available in Inclined Surface Machining Mode

Command Function

G00, G01 Positioning, Linear Interpolation

G02, G03 Circular interpolation, Helical interpolation

G02.1, G03.1 Spiral interpolation

G04 Dwell

G05 P0, P1, P2, P10000 High-speed machining mode, high-speed high-accuracy control II

G05.1 Q0, Q1 High-speed high-accuracy control I

G08 P1 High-accuracy control

G09 Exact stop check

G10, G11 Parameter input by program / cancel, Compensation data input by pro- gram

G12, G13 Circular cut

G17, G18, G19 Plane selection

G22/G23 Stroke check before travel ON / cancel

G28 Automatic 1st reference position return

G29 Start position return

G30 2nd to 4th reference position return

G30.1 - G30.6 Tool exchange position return

G31 Skip (*1)

G31.1 - G31.3 Multi-step skip (*1)

G34, G35, G36, G37.1 Special fixed cycle

G40, G41, G42 Tool radius compensation cancel/left/right

G43, G44, G49 Tool length compensation plus/minus/cancel

G43.1 Tool length compensation along the tool axis

G43.4, G43.5 Tool center point control types I/II

G45, G46, G47, G48 Tool position offset

G50, G51 Scaling cancel/ON

G50.1, G51.1 Mirror image by G code cancel/ON

G53 Machine coordinate system selection

G53.1 Tool axis direction control

G61 Exact stop check mode

G61.1 High-accuracy control

G62 Automatic corner override

G64 Cutting mode

G65 User macro simple call

G66, G66.1, G67 User macro modal call A/B/cancel

G69 Coordinate rotation cancel, Inclined surface machining cancel

G70 - G76, G80 - G89 Fixed cycle for drilling (Including synchronous tapping)

G90, G91 Absolute command, Incremental command

G93 Inverse time feed

G94 Feed per minute

G95 Feed per revolution

G98, G99 Fixed cycle initial level return, R point level return

G127 Prohibits the reverse run in all part systems

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

909 IB-1501278-Q

(*1) Only the three orthogonal axes designated by the rotary axis configuration parameter can be commanded. If

two rotary axes are commanded, a program error (P951) will occur.

G162, G163 Spindle speed fluctuation detection

G186 Interference check III

M98, M99 Subprogram call, main program return

F Feedrate command

M, S, T, B M, S, T, B command

Macro command Local variable, Common variable, Arithmetic Commands (such as four basic arithmetic rule, trigonometric functions, square root) Control Com- mands (IF-GOTO- and WHILE-DO-)

Command Function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

910IB-1501278-Q

If inclined surface machining (G68.2 or G68.3) is commanded in a mode other than those listed below, a program

error (P952) occurs.

(*1) The inclined surface machining can be commanded using the C axis in spindle synchronization.

Modes where inclined surface machining (including cancel command) is available

Mode Function

G00, G01 Positioning, Linear interpolation

G05 P0, P1, P2 High-speed machining mode

G05.1 Q0, Q1 High-speed high-accuracy control I

G08 P1 High-accuracy control

G10.9 Diameter/Radius designation switch

G13.1 Polar coordinate interpolation cancel

G15 Polar coordinate command cancel

G17, G18, G19 Plane selection

G20, G21 Inch command, Metric command

G22/G23 Stroke check before travel ON/cancel

G40 Tool radius compensation cancel

G40.1 Normal line control cancel

G43, G44

G49 Tool length compensation Tool length compensation cancel

G50 Scaling cancel

G50.1 Mirror image by G code OFF

G51.2 (G251) Tool spindle synchronization IB/IC

G50.2 (G250) Tool spindle synchronization IB/IC cancel

G54 - G59, G54.1 Workpiece coordinate system selection, Extended workpiece coordinate system selection

G54.4 P Workpiece installation error compensation

G61 Exact stop check mode

G61.1 High-accuracy control

G64 Cutting mode

G67 User macro modal call OFF

G69 Coordinate rotation cancel, 3-dimensional coordinate conversion cancel

G80 Fixed cycle cancel

G90, G91 Absolute command, Incremental command

G93 Inverse time feed

G94 Feed per minute

G95 Feed per revolution

G97 Constant surface speed control OFF

G98, G99 Fixed cycle initial level return, R point level return

G114.1 Spindle synchronization I (*1)

G114.2 Tool spindle synchronization IA

G113.1 Spindle synchronization cancel (*1), Tool spindle synchronization IA cancel

G162, G163 Spindle speed fluctuation detection

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

911 IB-1501278-Q

If tool axis direction control is commanded in a mode other than those listed below, a program error (P953) occurs.

(*1) The inclined surface machining can be commanded using the C axis in spindle synchronization.

Modes where tool axis direction control (G53.1/G53.6) is available

Mode Function

G00, G01 Positioning, Linear interpolation

G05 P0, P1, P2 High-speed machining mode

G05.1 Q0, Q1 High-speed high-accuracy control I

G08 High-accuracy control

G10.9 Diameter/Radius designation switch

G13.1 Polar coordinate interpolation cancel

G15 Polar coordinate command cancel

G17, G18, G19 Plane selection

G20, G21 Inch command, Metric command

G23 Stroke check before travel OFF

G40 Tool radius compensation cancel

G40.1 Normal line control cancel

G43, G44 Tool length compensation

G49 Tool length compensation cancel

G50 Scaling cancel

G50.1 Mirror image by G code OFF

G51.2 (G251) Tool spindle synchronization IB/IC

G50.2 (G250) Tool spindle synchronization IB/IC cancel

G54 - G59, G54.1 Workpiece coordinate system selection, Extended workpiece coordinate system selection

G54.4 P Workpiece installation error compensation

G61 Exact stop check mode

G61.1/G08P1 High-accuracy control

G64 Cutting mode

G67 User macro modal call OFF

G68.2 - G68.9 In inclined surface machining

G80 Fixed cycle cancel

G90, G91 Absolute command, Incremental command

G93 Inverse time feed

G94 Feed per minute

G95 Feed per revolution

G97 Constant surface speed control OFF

G98, G99 Fixed cycle initial level return, R point level return

G114.1 Spindle synchronization I (*1)

G114.2 Tool spindle synchronization IA

G113.1 Spindle synchronization cancel (*1), Tool spindle synchronization IA cancel

G162, G163 Spindle speed fluctuation detection

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

912IB-1501278-Q

A skip operation during the inclined surface machining command is the same as the normal skip operation. The axis

moves on the feature coordinate system.

The axis moves to the Z axis direction of the feature coordinate system in the N3 block.

For the skip function, refer to each chapter in "22 Measurement Support Functions".

When performing inclined surface machining in combination with an arbitrary axis exchange (G140) command, you

need to set the rotary axis configuration parameters using the 2nd axis name. Set the parameter "#1450 5ax-

is_Spec/bit0" to "1" (setting by the 2nd axis name), and assign the axis configuration for executing inclined surface

machining to the rotary axis configuration parameter (#7900 or later) using the 2nd axis name (example: A1, B2).

If the inclined surface machining is commanded after arbitrary axis exchange has been completed while the param-

eter "#1450 5axis_Spec/bit0" is not designated, a program error (P952) will occur.

You can set the configurations up to the number of valid part systems (up to four part systems) in the rotary axis

configuration parameter. With multiple configurations set, you can perform inclined surface machining in different

axis configurations.

Inclined surface machining can be performed using the axis configuration in the part system with axis exchange

completed by applying the rotary axis configuration parameter in the configuration in which all axes included in the

part system are set.

Skip during inclined surface machining command

Machining program

N1 G68.2 Xx Yy Zz Ii Jj Zz ;

N2 G53.1;

N3 G90 G31 Z0. F100;

Combination with arbitrary axis exchange

Fz

Fx Fy

Wz

Wy

Wz

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

913 IB-1501278-Q

19.4.12 Precautions for Inclined Surface Machining

(1) A rotary axis moves at G53.1 command. Thus, move the tool far enough away from the table before commanding G53.1.

(2) When inclined surface machining is commanded, the coordinates of the feature coordinate system are set in the system variables #5001 to #5100+n (excluding #5021 to #5021+n), which are used to read the position informa- tion. But, the coordinates of the machine coordinate system are set in the variables #5021 to #5021+n (machine coordinate values) even when inclined surface machining is commanded.

n: Varies depending on the number of control axes.

(3) When Reset signal is input during inclined surface machining command, the inclined surface machining mode will be canceled, and the modal G code will be G69. (If the parameter "#1151 rstint" or "#1210 RstGmd/bitF" is set to "0", however, the inclined surface machining mode is kept even when Reset is input.)

(4) When the external deceleration signal is input, the signal is not input to the axes of the feature coordinate system, but to the axes of the machine coordinate system that is actually operating.

(5) If G28 or G30 is commanded after the inclined surface machining command has been issued, the control is car- ried out with respect to the inclined surface coordinate system up to the intermediate point, and then carried out with respect to the machine coordinate system from the intermediate point.

(6) Tool radius compensation, mirror image by G code, fixed cycle command, tool center point control, scaling, and tool length compensation along the tool axis should be nested in the inclined surface machining command. Thus, these commands need to be commanded between the inclined surface machining command (G68.2, etc.) and G69.

(7) If inclined surface machining (G68.2) is commanded while tool length compensation is active, the actual tool tip position does not match the current position. In such case, command G53.1 to align the tool axis direction with the Z axis of the feature coordinate system, which will make the tool tip position the same as the current position.

Precautions

In inclined surface machining In tool radius compensation

Before commanding G68.2, the current position and actual tool tip are the same.

When feature coordinate system is defined in G68.2, a point ob- tained by compensating the tool length direction to be in the fea- ture coordinate axis' Z direction is deemed as the current position. Thus, the current position doesn't match with the actual tool tip po- sition.

The actual tool tip point becomes the same as the current position by commanding G53.1 to align the tool axis direction with the fea- ture coordinate system's Z direction.

G68.2 X_Y_Z_I_J_K_

G41 D1

:

:

G40 : G69

X

Z

X

Z

Z

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

914IB-1501278-Q

(8) Coordinate conversion is not carried out upon manual interruption, so travel, by a distance equivalent to the man- ual interruption amount, is carried out with respect to the machine coordinate system. When manual interruption with ABS ON, or tool center point control has been performed during inclined surface machining, return to the position before interruption, and then restart automatic operation. Do not perform the manual interruption for the rotary axis while the inclined surface machining command is active.

(9) MDI interruption, PLC interruption and macro interruption are disabled during inclined surface machining. If MDI interruption or PLC interruption is attempted during inclined surface machining, an operation error (M01 0185) will occur. If macro interruption is enabled during inclined surface machining, a program error (P951) occurs. Also when inclined surface machining is commanded while macro interruption is active, a program error (P952) occurs.

(10) When inclined surface machining is commanded during MDI interruption, PLC interruption, or macro interrup- tion, a program error (P952) will occur.

(11) When a circular command is graphically traced under the inclined surface machining command, circular tracing is performed if the feature coordinate system matches the machine coordinate system. If the systems are un- matched, a linear tracing is performed instead.

(12) Tracing is carried out using the machine coordinate values.

(13) When this function is used together with tool center point control or the workpiece installation error compensa- tion function, inclined surface machining is subject to the restraints of each function. For details, refer to each chapter.

(14) Program restart from the block after the inclined surface machining command is issued cannot be implemented. If commanded, a program error (P49) occurs.

(15) If you want to display the coordinates on the position screen during inclined surface machining, enter "23" in the parameters #8901 to #8906. Then, the corresponding counter is shown with respect to the feature coordinate system. In the inclined surface coordinate counter display, whether the machining position on the program command that does not include the tool length compensation/tool radius compensation can be selected depends on the MTB specifications (parameter "#1287 ext23/bit1, bit2 (inclined surface coordinate display)". When tool tip coordinate display is enabled, inclined surface coordinates' counter can be displayed on the win- dow by selecting the inclined surface for the counter selections 1, 2 and 3.

(16) The movement that occurs in response to the G00 command is always the interpolation type. (Non-interpolation type is not available.)

(17) In the case of table rotation type machines, the tool axis direction is not changed in G68.3. Thus, a feature co- ordinate system is defined with respect to the Z axis of the coordinate system before the inclined surface ma- chining command is issued. But, designation of feature coordinate system's zero point, and the rotation R about Z axis are enabled.

(18) When inclined surface machining is commanded during inclined surface machining, a program error (P951) will occur.

(19) In the parameters #7900 to #7902, #7922, #7932, #7942, and #7952, designate the axes of the first part system. If you command inclined surface machining in a part system where any of the designated axes is not ready, a program error (P932) will occur.

(20) The feature coordinate system is defined with respect to the coordinate system (workpiece coordinate system), which is independent of the table rotary axis' rotation angle, so it is dependent on the table rotary axis' angle before the inclined surface machining command is issued.

(21) A linear axis command during inclined surface machining is carried out using the coordinates of the feature co- ordinate system. And a rotary axis command is done using the coordinates (machine values) of the workpiece coordinate system.

Program example

N10 G00 X_Y_Z_; Restart from the block N10 or N11 is possible.

N11 G00 X_Y_Z_B_C;

:

N20 G68.2 X_Y_Z_I_J_K; Restart from the block N20 or later is not possible.

N21 G01 X_Y_Z_F_; Attempting to do so will cause an alarm.

N22 G01 X_Y_Z_F_;

N23 G69

N30 G90 G00 X_Y_;

N31 G90 G00 Z_;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

915 IB-1501278-Q

(22) If the address R, I, J or K has exceeded the setting range, a program error (P35) will occur.

(23) Buffer correction cannot be implemented during inclined surface machining command.

(24) If the operation mode is switched to "reference position return" during inclined surface machining command, an operation error (M01 0185) will occur.

(25) If a linear angle command, geometric command, or figure rotation command is issued during inclined surface machining command, a program error (P951) occurs.

(26) If arbitrary axis exchange (G140) is issued during inclined surface machining modal, the program error (P951) occurs.

(27) When the axis during inclined surface machining control is the target for axis exchange, the operation error (M01 1101) will occur. The alarm will be canceled by reset.

(28) When the inclined surface modal is retained at resetting, the arbitrary axis exchange status is also retained even if the parameter is set so as to cancel the arbitrary axis exchange by reset. If an axis in a part system in which inclined surface machining is being carried out is specified as the axis to be exchanged in the part system, the axis exchange will not be possible and an operation error (M01 1101) occurs regardless of whether the automatic operation mode has been established.

(29) When the number of simultaneous contouring control axes is four or less and the indexing is performed with the indexing type 2 of R-navi on the selected machining surface, the block stop due to the completion of each axis travel will not be performed regardless of whether the parameter "#8132 G53.6 block stop" has been set.

(30) If axis movement is commanded for any axis not specified in the rotary axis configuration parameters during inclined surface machining when SSS is set to ON, a program error (P951) occurs.

(31) If the inclined surface machining is commanded in spindle mode when the axis set for the spindle/C axis is used as a rotary axis of the inclined surface machining, a program error (P934) occurs. When the mode is changed to the spindle mode during the inclined surface machining, an operation error (M01 0186) occurs. This error can be reset by NC reset. When the inclined surface machining modal is retained by resetting the modal retention (#1151 rstint=0), an op- eration error (M01 0186) occurs at the timing of the next automatic operation start. To reset the inclined surface machining modal, issue the inclined surface machining cancel command (G69) to the head (first block) of the machining program.

(32) This function is not compatible with the automatic handle interruption that is in use of R-NAVI.

(33) The rapid traverse block overlap is temporarily canceled while the inclined surface machining command is ac- tive. When the rapid traverse block overlap (G00.5) is commanded while the inclined surface machining com- mand is active, it becomes valid after the inclined surface machining command is canceled.

(34) Do not combine the inclined surface machining command with the following functions. Sub part system control I (G122/G145) Automatic error detection (AUTED:YCFB) NC axis/PLC axis switch (NPCHGREQn:YBC0) Torque limitation skip (G160)

(35) While the inclined surface machining command is active, any axis not specified in the rotary axis configuration parameter can be commanded only in the G00 modal state. Do not designate the axis not specified in the rotary axis configuration parameter when the G code modal of group 01 is other than G00.

(36) The acceleration rate is the same as that at rapid traverse (G00) (*1) in the inclined surface machining com- mand mode when high-accuracy control is enabled.

(*1) Acceleration rate determined by "#1206 G1bF" (maximum speed) and "#1207 G1btL" (time constant).

(37) If any of the orthogonal axes of all the active part systems is under machine lock during inclined surface ma- chining, normal synchronous tapping is applied even though the high-speed tapping specification is provided.

(38) The inclined surface machining command cannot be commanded during the multiple-axis synchronization con- trol. The program error (P740) occurs.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

916IB-1501278-Q

19.5 3-dimensional Tool Radius Compensation (Tool's Vertical-direction

Compensation); G40/G41.2, G42.2

This function realizes the tool radius compensation for the machine with 2 rotary axes by calculating the change in

the direction of a workpiece and the inclination of the tool caused by the move of the rotary axes. Tool radius com-

pensation is carried out three-dimensionally by calculating the tool path on the surface of a workpiece from the pro-

gram command and obtaining the compensation vector on a plane (compensation plane) perpendicular to the tool

direction (offset plane).

If the specification is not provided, when 3-dimensional tool radius compensation (tool's vertical-direction compen-

sation) is commanded, a program error (P161) will occur.

The function is effective for the machine configuration with the right-hand orthogonal coordinate system defined in

ISO standard.

To use this function in applicable machines, the machines need to satisfy some conditions such as axis configura-

tions. For details on conditions on machines, refer to "19.8 Applicable Machines".

Function and purpose

r : Compensation amount

: Tool center path

: Programmed path

(a) Tool direction

(b) Offset plane

Applicable machines

Command format

3-dimensional tool radius compensation (Tool's vertical-direction compensation) left

G41.2 (X_ Y_ Z_ A_ B_ C_) D_;

3-dimensional tool radius compensation (Tool's vertical-direction compensation) right

G42.2 (X_ Y_ Z_ A_ B_ C_) D_;

r

r

(a) (b)

X

Y

Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

917 IB-1501278-Q

(1) All the G codes in the above command format belong to the modal group 7.

This function calculates the change in the direction of a workpiece and the inclination of the tool caused by the move

of the rotary axes, and converts the programmed tool path onto the offset plane (perpendicular to the tool direction

at the compensation point) to conduct the tool radius compensation for 5-axis machining. (Refer to "How to calculate

the compensation vector" for the details of offset plane.)

The operations at the start/cancel and in compensation mode on the offset plane conform to the normal tool radius

compensation. Refer to Chapter "12.3 Tool Radius Compensation; G38,G39/G40/G41,G42" for the operations

which are not explained in this section.

The type of compensation start can be selected from type A and type B by the parameter "#8157 Radius comp type

B", like the conventional tool radius compensation. Refer to "12.3 Tool Radius Compensation; G38,G39/G40/

G41,G42" for the descriptions of type A/type B.

The startup must be carried out in the G code modal listed in "Modes in which G41.2/G42.2 command is issued" in

"Relation with other functions". If commanded in an unlisted modal, a program error (P163) will occur.

For usable functions during the compensation, refer to "Commands which can be issued while G41.2/G42.2 is ex-

ecuted" in "Relation with other functions". If an unavailable function is commanded, a program error (P162) will oc-

cur. Interference check is not available for this function.

When any of the following condition is met, the tool radius compensation for 5-axis machining will be canceled.

(1) After the compensation cancel command (G40) is executed

(2) A command of offset number D00 is issued

(3) NC reset 1 (*1)

(4) NC reset 2 or Reset &Rewind is commanded

The type of compensation cancel can be selected from type A and type B by the parameter "#8157 Radius comp

type B", as well as the startup.

(*1) The compensation is canceled when "#1151 rstint" is ON.

3-dimensional tool radius compensation (Tool's vertical-direction compensation) cancel

G40 (X_ Y_ Z_ A_ B_ C_); or D0;

X,Y,Z Orthogonal coordinate axis movement command (can be omitted)

A, B, C Rotary axis movement command (can be omitted)

D Compensation No. "D0;" refers to a D command of compensation number "0".

Detailed description

Tool radius compensation start (startup)

Tool radius compensation operation

Tool radius compensation cancel

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

918IB-1501278-Q

The compensation vectors for tool radius compensation are obtained as shown below.

(1) Table coordinate system

Convert the program command into the path on the surface of the table coordinate system. Table coordinate

system rotates with the workpiece (the figure below) as the table rotates. The command path on this coordinate

system is the relative command path of the tool against the workpiece.

(2) Conversion into the points on the offset plane

Reflect the obtained path on the table coordinate system onto the offset plane (vertical to the tool axis direction

at the compensation point) and calculate the points (A' and C' in the figure below) on the offset plane.

How to calculate the compensation vector

(a) Tool direction at point A

(b) Tool direction at point B

Offset plane at point A

Offset plane at point B

Path on the table coordinate system

X X

Y Z Z

Y

A

B(a)

(b)

C

C

B

A

A

X

Z Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

919 IB-1501278-Q

(3) Compensation on the offset plane

Perform the conventional tool radius compensation on the offset plane and calculate the compensation vector

on the offset plane.

Path on the table coordinate system on the offset plane

Compensation vector on the offset plane

A

C X

C

B

AY Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

920IB-1501278-Q

When a block is inserted while cutting a corner, the direction of the tool at the single block stop is equal to that of

the previous block. (Like a feedrate and other modal data, the rotation angle of the previous block is kept.)

If the program moves from A, B to C as shown in the figure above, the offset plane at point B is as the figure below.

The block between the points B2 and B3 is inserted, the tool direction between B2-B3 is the same as that at point

B2 and the tool moves on the offset plane which is created at point B.

When a block is inserted

(b) Tool direction at point B

Path on the table coordinate system

Offset plane at point B

Path on the table coordinate system on the offset plane

(S) Single block stop point

B

X

Y Z

A

A

C

C

B

(b)

C

B

B1

B3 B2

B4

(S)

A

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

921 IB-1501278-Q

(D1 =5.0, H1=50.0)

Program example

N1 G28 Z;

N2 G28 BC;

N3 G28 XY;

N4 G90 G54 G00 X-60. Y0.;

N5 G00 B30.;

N6 G43.4 H1 Z-50.;

N7 G42.2 G01 X-50. D1;

N8 G01 X-49.990 Y-1.000 C 1.15;

N9 G01 X-49.960 Y-1.999 C 2.29;

N10 G01 X-49.910 Y-2.998 C 3.44;

:

:

N200 G01 X50. Y0. C180.;

N201 G01 Z0.;

N202 G40;

N203 G49;

N204 G28 Z;

N205 G28 BC;

N206 G28 X;

M30

Compensation amount

Programmed path

Tool center path

X

Y

-50.0

50.0

G54

Z

-50.0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

922IB-1501278-Q

If unlisted commands are issued in a same block with 3-dimensional tool radius compensation (tool's vertical-direc-

tion compensation) (G41.2/G42.2), a program error (P163) will occur.

Relationship with other functions

Commands which can be issued in a same block as G41.2/G42.2

Function

G00 Positioning

G01 Linear interpolation

G90 Absolute command

G91 Incremental command

F Feedrate command

N Sequence No.

Commands which can be issued while G41.2/G42.2 is executed

Function

G00 Positioning

G01 Linear interpolation

G04 Dwell

G05 P0, G05 P1, G05 P2 High-speed machining mode

G05 P0, G05 P10000 High-speed high-accuracy control II

G08 P0, G08 P1 High-accuracy control

G09 Exact stop

G20, G21 Inch/metric command (*1)

G22, G23 Stroke check before travel ON/OFF

G40 Tool radius compensation cancel

G41.2, G42.2 3-dimensional tool radius compensation (tool's vertical-direction compensa- tion) right/left

G50.2 (G250) Tool spindle synchronization IB/IC cancel (*3)

G51.2 (G251) Tool spindle synchronization IB/IC (*3)

G61 Exact stop check mode

G61.1 High-accuracy control ON

G64 Cutting mode

G65 User macro simple call

G66 User macro modal call A

G66.1 User macro modal call B

G67 User macro modal call cancel

G90, G91 Absolute command, Incremental command

G93 Inverse time feed

G94 Feed per minute

G95 Feed per revolution

G96, G97 Constant surface speed control ON/OFF

G113.1 Spindle synchronization I (*2), Tool spindle synchronization IA/Tool spindle synchronization II cancel

G114.1 Spindle synchronization I (*2)

G114.2 Tool spindle synchronization IA

G114.3 Tool Spindle synchronization II

M98, M99 Subprogram call, main program return

F Feedrate command

M, S, T, B M, S, T, B command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

923 IB-1501278-Q

(*1) If the inch/metric command switches during 3-dimensional tool radius compensation (tool's vertical-direction

compensation), a program error (P162) will occur.

(*2) The 3-dimensional tool radius compensation (tool's vertical-direction compensation) can be commanded using

the C axis in spindle synchronization.

(*3) Do not designate the rotary tool axis in the rotary axis configuration parameter. If tool spindle synchronization

IC is commanded during 3-dimensional tool radius compensation (tool's vertical-direction compensation), it may

cause an unexpected operation.

Macro command Local variables and common variables Operation commands (four basic arithmetic rule, trigonometric functions, square root) Control commands (IF - GOTO -, WHILE - DO -)

N Sequence No.

Modes in which G41.2/G42.2 command can be issued

Function

G00, G01 Positioning, Linear interpolation

G13.1, G113 Polar coordinate interpolation cancel

G15 Polar coordinate command cancel

G17, G18, G19 Plane selection

G20, G21 Inch/Metric command

G22, G23 Stroke check before travel ON/OFF

G40 Tool radius compensation cancel

G40.1, G150 Normal line control cancel

G41.2, G42.2 3-dimensional tool radius compensation (tool's vertical-direction compensation) left/right

G43, G44 Tool length compensation (+/-)

G43.1 Tool length compensation along the tool axis

G43.4, G43.5 Tool center point control type I/II

G49 Tool length compensation cancel

G50 Scaling cancel

G50.1 G command mirror image cancel

G50.2 (G250) Tool spindle synchronization IB/IC cancel (*2)

G51.2 (G251) Tool spindle synchronization IB/IC (*2)

G54, G55, G56, G57, G58, G59, G54.1

Workpiece coordinate system selection, extended workpiece coordinate system selection

G54.4Pn Workpiece installation error compensation

G61 Exact stop check mode

G61.1 High-accuracy control ON

G64 Cutting mode

G67 User macro modal call cancel

G68.2 Inclined surface machining

G68.3 Inclined surface machining command (Define using tool axis direction)

G69 3-dimensional coordinate conversion cancel

G80 Fixed cycle cancel

G90,G91 Absolute command, Incremental command

G93 Inverse time feed

G94 Feed per minute

G95 Feed per revolution

G96, G97 Constant surface speed control ON/OFF

G98, G99 Fixed cycle initial level return, R point level return

Function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

924IB-1501278-Q

(*1) The 3-dimensional tool radius compensation (tool's vertical-direction compensation) can be commanded using

the C axis in spindle synchronization.

(*2) Do not designate the rotary tool axis in the rotary axis configuration parameter. If tool spindle synchronization

IC is commanded during 3-dimensional tool radius compensation (tool's vertical-direction compensation), it may

cause an unexpected operation.

(1) 3-dimensional tool radius compensation (Tool's vertical-direction compensation) in arbitrary axis exchange

When the 3-dimensional tool radius compensation (tool's vertical-direction compensation) is commanded after

axis exchange, if the axis status matches the axis configuration of the rotary axis configuration parameter (#7900

and after), the 3-dimensional tool radius compensation (tool's vertical-direction compensation) is enabled. How-

ever, after axis exchange, the I axis, J axis, and K axis configurations must match the horizontal axis (#7900),

vertical axis (#7901), and height axis (#7902) configurations designated in the rotary axis configuration param-

eter.

By performing the arbitrary axis exchange control to obtain the axis configuration designated in the rotary axis

configuration parameter, the NC selects the rotary axis configuration parameter of which the axis status after

axis exchange matches, and performs the 3-dimensional tool radius compensation (tool's vertical-direction com-

pensation).

(2) Restrictions for combination with arbitrary axis exchange control

(a) If the arbitrary axis exchange (G140, G141, or G142) command is issued during 3-dimensional tool radius compensation (tool's vertical-direction compensation) modal, a program error (P169) will occur.

(b) If an axis in the part system in 3-dimensional tool radius compensation (tool's vertical-direction compensa- tion) is exchanged by another part system, an operation error (M01 1101) will occur.

(c) If the 3-dimensional tool radius compensation (tool's vertical-direction compensation) command is issued while the part system does not contain any axis that is designated in the rotary axis configuration parameters (#7900 and after), a program error (P934) occurs.

(d) However, while all the axes designated in the rotary axis configuration parameter exist in the part system with the G140 commanded, if the I axis, J axis, and K axis configurations after axis exchange do not match the horizontal axis (#7900), vertical axis (#7901), and height axis (#7902) configurations designated in the rotary axis configuration parameter, a program error (P934) occurs.

(3) Axis operation after axis exchange by combination of reset setting (modal retention, cross retention)

The part system in the 3-dimensional tool radius compensation (tool's vertical-direction compensation) does not

return the axis status regardless of the mixed control cancel setting ("#1280 ext16/bit1" = "0") even if the reset

command with no modal canceled (parameter "#1151 rstint" = "0") and NC reset 1 are executed.

(4) Graphic check operation with arbitrary axis exchange combined

If the 3-dimensional tool radius compensation command (tool's vertical-direction compensation) after arbitrary

axis exchange is to be drawn with the graphic check, the graphic check is performed while axis exchange is not

performed by ignoring the arbitrary axis exchange command.

G113.1 Spindle synchronization I (*1), Tool spindle synchronization IA/Tool spindle syn- chronization II cancel

G114.1 Spindle synchronization I (*1)

G114.2 Tool spindle synchronization IA

G114.3 Tool Spindle Synchronization II

Combination with arbitrary axis exchange control

Function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

925 IB-1501278-Q

(1) Interference check is not available for 3-dimensional tool radius compensation (tool's vertical-direction compen- sation). The parameter "#8103 COLL. CHK OFF" to turn ON/OFF the interference check, available for conven- tional tool radius compensation, is invalid in 3-dimensional tool radius compensation (tool's vertical-direction compensation).

(2) Tool radius compensation vector designation (G38) and tool radius compensation corner arc (G39) are not avail- able. If commanded, a program error (P162) will occur.

(3) Corner chamfering/corner rounding, linear angle command and geometric command are not available. If com- manded, a program error (P162) will occur.

(4) Manual interruption, automatic operation handle interruption, manual/automatic simultaneous, manual speed command, manual reference position return, tool handle feed & interruption, and manual arbitrary feed mode will cause an operation error (M01 0232) when the manual mode is ON.

(5) Macro interruption cannot be used. If 3-dimensional tool radius compensation (tool's vertical-direction compen- sation) is commanded when macro interruption is valid, a program error (P163) will occur. If macro interruption valid (M96) is commanded in 3-dimensional tool radius compensation (tool's vertical-direction compensation), a program error (P162) will occur.

(6) Tool escape and return is not available. Turning ON the "tool escape and return transit point designation" signal and the manual mode will cause an operation error (M01 0232).

(7) Switching from a mode to MDI mode or from MDI mode to another mode in 3-dimensional tool radius compen- sation (tool's vertical-direction compensation) will cause an operation error (M01 0232).

(8) Turning ON the "PLC interruption" signal in 3-dimensional tool radius compensation (tool's vertical-direction com- pensation) will cause an operation error (M01 0232).

(9) Mirror image by the external input is not available for the target axis (*1) of 5-axis machining. If mirror image by the external input is set to ON in the 3-dimensional tool radius compensation (tool's vertical-direction compen- sation), a program error (P162) will occur. Also, if the 3-dimensional tool radius compensation (tool's vertical- direction compensation) is commanded during mirror image by the external input, a program error (P163) will occur.

(*1) Axes here are the axes designated with the parameters "#7900 RCDAX_I", "#7901 RCDAX_J", "#7902 RC-

DAX_K", "#7922 ROTAXT1", "#7932 ROTAXT2", "#7942 ROTAXW1", and "#7952 ROTAXW2". These set-

tings depend on the MTB specifications.

(10) If 3-dimensional tool radius compensation (tool's vertical-direction compensation) is commanded in the reverse run control mode, or if the "reverse run control mode" signal is set to ON in 3-dimensional tool radius compen- sation (tool's vertical-direction compensation), a program error (P163) will occur.

(11) This function can be combined with the tool center point control (G43.4, G43.5/G49). However, the ON/OFF of the 3-dimensional tool radius compensation (tool's vertical-direction compensation) must be nested in the ON/ OFF of the tool center point control and it must be commanded in the tool center point control. If the tool center point control is commanded in 3-dimensional tool radius compensation (tool's vertical-direction compensation), a program error (P162) will occur. This function can also be combined with tool length compensation along the tool axis (G43.1/G49) in the same conditions as the above.

(12) When used with the tool center point control, the compensation is applied to the tool center point path.

(13) The restart search from the block in 3-dimensional tool radius compensation (tool's vertical-direction compen- sation) is possible while the restart search from the block concurrently using the tool center point control is im- possible.

(14) Fairing in high-speed machining mode/high-speed high-accuracy control is not available. The parameter "#8033 Fairing ON" to turn ON/OFF the fairing function in high-speed machining mode/high-speed high-accura- cy control is invalid in 3-dimensional tool radius compensation (tool's vertical-direction compensation).

Precautions

During tool center point control 3-dimensional tool radius compensation (Tool's vertical-direction compensation)

G49

G40

G41.2 D1

G43.4 H1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

926IB-1501278-Q

(15) As shown in the figure below, we recommend that the tool approach to the surface of the workpiece at an angle. The tool radius compensation amount may not be correctly reflected on the cutting when the direction of the ap- proach is opposite to the cutting direction. So the tool must shift to the surface of the workpiece at the start of the cutting at an angle to the tool axis direction.

(16) The buffer correction is not available in 3-dimensional tool radius compensation (tool's vertical-direction com- pensation). Pressing the menu [Prg correct] will display an error message.

(17) Also, if 3-dimensional tool radius compensation (tool's vertical-direction compensation) is commanded during mirror image by parameter setting or coordinate rotation by parameter, a program error (P163) will occur. If the parameter is turned on in 3-dimensional tool radius compensation (tool's vertical-direction compensation), a pro- gram error (P162) will occur at the next start.

(18) If the 3-dimensional tool radius compensation (tool's vertical-direction compensation) is commanded in spindle mode when the axis set to the spindle/C axis is used as a rotary axis of 3-dimensional tool radius compensation (tool's vertical-direction compensation), a program error (P934) occurs. If the mode is changed to the spindle mode during the 3-dimensional tool radius compensation (tool's vertical- direction compensation), an operation error (M01 0186) occurs. When the 3-dimensional tool radius compensation (tool's vertical-direction compensation) modal is retained by resetting the modal retention (#1151 rstint = 0), an operation error (M01 0186) occurs at the time of the next au- tomatic operation start. To cancel the 3-dimensional tool radius compensation (tool's vertical-direction compensation) modal, command the 3-dimensional tool radius compensation (tool's vertical-direction compensation) cancel (G40) to the head (first block) of the machining program.

(19) The 3-dimensional tool radius compensation cannot be commanded during the multiple-axis synchronization control. The program error (P740) occurs.

: Tool radius compensation amount may not be correctly reflected because there is no movement on the offset plane and the tool radius compensation amount is not re-calculated.

: Tool radius compensation amount is correctly reflected.

Offset plane (perpendicular to the tool axis direction)

Movement on the offset plane.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

927 IB-1501278-Q

19.6 Workpiece Installation Error Compensation; G54.4

This compensates the error when a workpiece is placed off the workpiece coordinate system to enable machining

according to the program. While this function is enabled, a new coordinate system with the workpiece as its refer-

ence position will be defined (called "workpiece installation coordinate system") and the program will be executed

in this new coordinate system.

(a) Error at the workpiece installation

According to the workpiece installation error, the coordinate system is automatically shifted.

The function is effective for the machine configuration with the right-hand orthogonal coordinate system defined in

ISO standard.

To use this function in applicable machines, the machines need to satisfy some conditions such as axis configura-

tions. For details, refer to "19.8 Applicable Machines".

Workpiece installation error compensation is modal command of group 27.

(1) G54.4 must be commanded alone in a block. When it is commanded in the same block with other G codes, travel commands, or miscellaneous commands, a program error (P33) occurs.

(2) If address P is not commanded, the program error (P33) occurs. If any other value than 0 to 7 is command, a program error (P35) occurs.

Function and purpose

Applicable machines

Command format

G54.4 Pn ;

P Workpiece installation error compensation No. (n = 0 to 7) 0: Cancel workpiece installation error compensation 1 to 7: Compensate using the corresponding workpiece installation error compensation amount

(a)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

928IB-1501278-Q

A workpiece installation coordinate system is defined based on the following three workpiece installation error data.

(1) Error in XYZ direction (x, y, z)

Set the zero point error amount of the workpiece installation coordinate system seen from the original workpiece

coordinate system at (3).

(3): Machine coordinate values of table rotary axis when measuring the errors (x, y, z)

(2) Error in the rotation direction of each axis (a, b, c)

Rotate the workpiece coordinate system where all machine coordinate values of table rotary axis are zero in the

following direction.

Rotate around X axis by a -> rotate around Y axis of the original workpiece coordinate system by b -> rotate

around Z axis of the original workpiece coordinate system by c

Set the a, b, and c directions of the coordinate system after the rotation to correspond with the X'Y'Z' direc-

tions of the workpiece installation coordinate system.

The positive direction of the rotational angle is the right-handed rotation.

(3) Table rotary axis position when measuring the errors

Set the machine coordinate values of the table rotary axis when x, y, z and a, b, c are measured.

In the case of tool tilt type, this setting is not required. In the case of table tilt type, set both axes. In the case of combined type, set only the table side rotary axis.

Detailed description

Definition of workpiece installation coordinate system

Original workpiece installation position

Workpiece which is installed off the original position

(W) Workpiece coordinate system (W1) Workpiece installation coordinate system

c

y (W1) (X Y Z )

X

Y

x

X

Y

(W) (X Y Z)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

929 IB-1501278-Q

For workpiece installation errors, it is possible to set seven sets of error compensation amounts (workpiece instal-

lation error compensation amount No.01 to No.07) corresponding to compensation numbers commanded by ad-

dress P.

The common workpiece installation error compensation amounts are added commonly to seven workpiece installa-

tion error compensation amount sets.

It is possible to set errors in XYZ directions (x, y, z) and the table side rotary axis position when these errors

were measured, however, it is not possible to set an error in rotation direction of each axis (a, b, c).

Carry out these settings in the workpiece installation error setting screen, or using system variables. Refer to 23.25

System Variables (Workpiece Installation Error Compensation Amount)" for details on the system variables.

Setting workpiece installation error

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

930IB-1501278-Q

If the rotary axis positions are different between the common workpiece installation error compensation amount and

the workpiece installation error compensation amount from No.01 to No.07, the total error compensation amounts

are converted to those of a position of 0, then they are added.

(Example) In the case of combined type machine with a table side rotary axis (C axis), if error compensation

amounts are set in Common (A) and No.01 as right, the error amounts to be compensated are as below.

(1) Even if C axis rotates, errors in the rotation directions (a, b, c) do not change.

Addition of error compensation amounts

(a) Convert to the error at C = 0

(b) The errors of Common (A) and No.01 are added

(c) Convert to the error at C = 0

No.01

0.0

5.0

45.0

0.0 0.0

-90.0

0.0

B C

c b a z y x

(A)

0.0 0.0

45.0

10.0

B C

c b a z y x

0.0

7.071

45.0

0.0 0.0

12.071

c b a z y x

7.071 0.0

7.071

c 0 b 0 a 0 z0 y 0 x 0

0.0 0.0

10.0

c 0 b 0 a 0 z0 y 0 x 0 (a)

(b)

0.0 45.0

5.0

0.0 0.0

0.0

c1 b1 a1 z1 y1 x1

0.0 45.0

0.0

0.0 0.0

5.0

c1 b1 a1 z1 y1 x1 (c)

y1 c1 -90

XY

x1

XY

x 0

45 X

Y y 0

x0

X

Y

c

y x

XY

c1

Error amounts to be actually compensated (C=0)

Error at C=-90 of No.01 Error at C=0 of No.01

Error at C=0 of commonError at C=45 of common

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

931 IB-1501278-Q

(1) Operation in the mode

Workpiece installation error compensation start With a command G54.4 Pn (n = 1 to 7), the workpiece installation error compensation mode is started. The workpiece installation coordinate system is set according to the workpiece installation error compensation No. (No.01 to No.07) selected by n and the rotary axis position at the command, and the workpiece instal- lation error counter changes to indicate the coordinate values of the workpiece installation coordinate sys- tem. (The machine does not make any movement.) Travel commands during the workpiece installation error compensation mode are dealt as those on the workpiece installation coordinate system.

Workpiece installation error compensation cancel With a command G54.4 P0, the workpiece installation error compensation mode is canceled. The setting of the workpiece installation coordinate system is canceled, the original workpiece coordinate system is validated, and the workpiece installation error counter changes to indicate the coordinate values of the original workpiece coordinate system. (The machine does not make any movement.) The workpiece instal- lation error compensation is canceled also at resetting.

When attempting to execute the program (A), the workpiece is placed 3mm off the original position in the X direction,

5mm off in the Y direction, and -10 off the Z axis angle. In this case, set the compensation amounts below as the

workpiece installation error compensation amounts, and command a workpiece installation error compensation. The

machining is carried out as intended by the original program.

(W1) Workpiece installation coordinate system

Details of operation

Program (A) Workpiece installation error compen- sation No.01

G54.4P1 G90 G0 X5. Y5. G1 X15.Y5. F500 G3 X5. Y15. R10. F500 G1 X5. Y5. F500 G54.4P0

G90 G0 X5. Y5. G1 X15. Y5. F500 G3 X5. Y15. R10. F500 G1 X5. Y5. F500

x = 3. y = 5. z = 0. a = 0. b = 0. c = -10.

Rotary axis position 1 = 0 Rotary axis position 2 = 0

X

Y

5 15

15

5

X'

Y'

X

Y

x=3

c = -10

(W1)

y=5

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

932IB-1501278-Q

[Precautions in commanding and canceling G54.4]

In the first travel command after commanding G54.4, make sure to issue an absolute command. In the G54.4 com-

mand block, the machine does not make any movement. Therefore, if an incremental command is issued immedi-

ately after having commanded G54.4, the operation may result in what is not intended by the program. (Once an

absolute command is issued, the operations of blocks thereafter will be as intended by the program even with incre-

mental commands.)

This precaution also applies to a cancel operation, therefore make sure to issue an absolute command immediately

after commanding G54.4 P0.

Operation with no installation error If an incremental command is issued immediately after having commanded G54.4

If an incremental position is commanded in the next block of G54.4, an incremental travel is made from the current machine position. The op- eration does not result in what is intended by the program.

(Incremental command)

N1 G91 G0 X5. Y5. N2 G91 G1 Y15.

(Absolute command)

N1 G90 G0 X5. Y5. N2 G90 G1 Y20.

G54.4 P1 N1 G91 G0 X5. Y5. N2 G91 G1 Y15. F500

If an absolute command is issued immediately after having commanded G54.4

If an absolute position is commanded in the next block of G54.4, the operation results in what is intended by the program.

G54.4 P1 N1 G90 G0 X5. Y5. N2 G90 G1 Y20. F500

X

Y

N1

N2

20

5

X'

Y'

X

Y

N1

N2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

933 IB-1501278-Q

(2) Compensating the tool direction

With workpiece installation error compensation function, in addition to position compensations of XYZ, the tool

angle against the workpiece is also compensated compared to the rotary axis position so that it is as intended

by the program.

Generally there are two types of combinations of rotary axis angles after compensation.

(Example) Combined type (The tool side rotary axis is B, the table side rotary axis is C)

Select one of these above according to the rules below.

In a G54.4 command block Select the combination whose travel distance of the secondary rotary axis is shorter than in the other combi- nation. When selecting this, the machine does not move, and the workpiece installation error counter is updated. Not in a G54.4 command block

Select the combination according to the parameter "#7906 PASSTYP". (This parameter is the same parameter as Singular point passage type of tool center point control.)

Workpiece installation er- ror compensation ON

In addition to XYZ, the rotary axis position is also compensated.

Position after tool direction compensation

Sign of B=Positive Sign of B=Negative

(Program command) (Program command) (Program command)

B = 0 B = 30 B = -30

C = 0 C = 0 C = 180

(A) Actual workpiece installation position (Current position) (Machine position) (Current position) (Machine position)

(B) Ideal position B 0. B 30. B 0. B -30.

(D) Error of Y axis angle b = 30 C 0. C 0. C 0. C 180.

The workpiece installation error counter indicates the program command position, and the machine position counter indicates the actual machine position.

Type Type 1 Type 2

Parameters #7906 = 0 #7906 = 1

Operation Select the combination whose primary rotary axis sign is the same as of the block start point.

Select the combination whose travel dis- tance of the secondary rotary axis is shorter.

Y X

Z

(D)

(B)(A)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

934IB-1501278-Q

If a command other than those listed below is issued, a program error (P545) occurs.

Relationship with other functions

Commands available in workpiece installation error compensation mode

Command Function

G00, G01 Positioning, Linear interpolation

G02, G03 Circular interpolation, Helical interpolation

G04 Dwell

G05 P0, P1, P2, P10000 High-speed machining mode, high-speed high-accuracy control II

G05.1 Q0, Q1 High-speed high-accuracy control I

G08 P0 P1 High-accuracy control

G09 Exact stop check

G10, G11 (G11.1) Parameter input by program / cancel, Compensation data input by program

G17, G18, G19 Plane selection

G20, G21 Inch/metric command (*1)

G28 Automatic 1st reference position return

G29 Start position return

G30 2nd to 4th reference position return

G30.1 - G30.6 Tool exchange position return

G31 Skip (*2)

G31.1 - G31.3 Multi-step skip (*3)

G34, G35, G36, G37.1 Special fixed cycle

G40, G41, G42 Tool radius compensation cancel/left/right

G41.2, G42.2 3-dimensional tool radius compensation (tool's vertical-direction compensation) right/ left

G43, G44, G49 Tool length compensation plus/minus/cancel

G43.4, G43.5 Tool center point control type I/II

G45, G46, G47, G48 Tool position offset

G50, G51 Scaling cancel/ON

G50.1, G51.1 Mirror image by G code cancel/ON

G53 Machine coordinate system selection

G53.1 Tool axis direction control

G54 - G59, G54.1Pn Workpiece coordinate system selection (*2), extended workpiece coordinate system selection

G54.4 P0 Workpiece installation error compensation cancel

G61 Exact stop check mode

G61.1 High-accuracy control I ON

G64 Cutting mode

G65 User macro simple call

G66, G66.1, G67 User macro modal call A/B/cancel

G68.2, G68.3 G69 (G69.1)

Inclined surface machining Coordinate rotation cancel, Inclined surface machining cancel

G73 - G76, G80 - G89 Fixed cycle for drilling Fixed cycle for drilling (Including synchronous tapping)

G90, G91 Absolute command, Incremental command

G93 Inverse time feed

G94 Feed per minute

G95 Feed per revolution

G98, G99 Fixed cycle initial level return, R point level return

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

935 IB-1501278-Q

(*1) If inch and metric are changed over during workpiece installation error compensation, an alarm occurs.

(*2) If the workpiece coordinate system is changed during workpiece installation error compensation, an alarm oc-

curs.

(*3) Only the three orthogonal axes designated by the rotary axis configuration parameter can be commanded. If

two rotary axes are commanded, a program error (P951) will occur.

(*4) The workpiece installation error compensation can be commanded using the C axis in spindle synchronization.

G114.1, G113 (G113.1) Spindle synchronization control I, Spindle synchronization cancel command (*4)

G120.1, G121 Machining condition selection I

G122 Sub part system control I

G127 Prohibits the reverse run in all part systems

G145 Wait for completion of sub part system OFF

G180 Interactive cycle insertion

M98, M99 Subprogram call, main program return

M, S, T, B M, S, T, B command

Macro command Local variable, Common variable, Arithmetic commands (such as four basic arithmetic rule, trigonometric functions, square root), Control commands (IF-, GOTO- and WHILE- DO-)

Command Function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

936IB-1501278-Q

If workpiece installation error compensation is commanded in a mode other than those listed below, a program error

(P546) occurs.

(*1) The workpiece installation error compensation can be commanded using the C axis in spindle synchronization.

When the following functions are enabled, workpiece installation error compensation cannot be commanded. If it is

commanded, a program error (P546) occurs.

Modes where workpiece installation error compensation (including cancel command) is available

Mode Function

G00, G01 Positioning, Linear Interpolation

G05 P0, P1, P2, P10000 High-speed machining mode

G05.1 Q0, Q1 High-speed high-accuracy control I

G08 P0, P1 High-accuracy control

G13.1 Polar coordinate interpolation cancel

G15 Polar coordinate command cancel

G17, G18, G19 Plane selection

G20, G21 Inch command, Metric command

G23 (G23.2) Stroke check before travel OFF

G40 Tool radius compensation cancel

G40.1 Normal line control cancel

G49 Tool length compensation cancel

G50 Scaling cancel

G50.1 G command mirror image cancel

G54 - G59, G54.1 Workpiece coordinate system selection, Extended workpiece coordinate system selec- tion

G54.4 P0 Workpiece installation error compensation cancel

G61 G61.1 G64

Exact stop check mode High-speed high-accuracy control I ON Cutting mode

G67 User macro modal call OFF

G69 (G69.1) Coordinate rotation cancel, 3-dimensional coordinate conversion cancel

G80 Fixed cycle cancel

G90, G91 Absolute command, Incremental command

G93 Inverse time feed

G94 Feed per minute

G95 Feed per revolution

G97 Constant surface speed control OFF

G98, G99 Fixed cycle/initial point return, Fixed cycle/R point return

G114.1, G113 (G113.1) Spindle synchronization control I, Spindle synchronization cancel command (*1)

Parameters and PLC signal status to which the workpiece installation error compensation command can not be issued

Function name Related parameter Related PLC signal

Parameter coordinate conversion #8621 - #8627 -

Mirror image by parameter setting #8211 -

Mirror image by external input - Y7C0 - Y7DF

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

937 IB-1501278-Q

For the skip operation during workpiece installation error compensation, the movement direction is on the workpiece

installation error coordinate system in the same way as normal skip operation.

The axis moves on the workpiece installation coordinate system in the N2 block.

Refer to the chapter "22 Measurement Support Functions" for skip function.

In a compounded machine, a single rotary tool may be shared among multiple part systems. In this case, use the

arbitrary axis exchange control function that allows you to freely exchange any axis between part systems.

When the workpiece installation error compensation is performed by combining with the arbitrary axis exchange

control, set the parameter "#1450 5axis_Spec/bit0" to "1" (Set by 2nd axis name). Also, set the axis configuration in

the part system when the workpiece installation error compensation is executed to the rotary axis configuration pa-

rameters #7900 or later, #7902, #7922, #7932, #7942, #7952 with 2nd axis name (E.g. A1, B2). When the parameter

"#1450 5axis_Spec/bit0" is set to "0" (Set by axis name), if the workpiece installation error compensation is com-

manded after the arbitrary axis exchange, the program error (P546) occurs.

You can set the configurations up to the number of valid part systems in the rotary axis configuration parameter.

With multiple configurations set, you can perform the workpiece installation error compensation in different axis con-

figurations.

(1) When the number of valid part system is "5" or more, the number of settable configurations is "4".

Skip during workpiece installation error compensation command

Machining program

N1 G54.4 Pp ;

N2 G90 G31 Z0. F100;

Combination with arbitrary axis exchange

Wy

Wz

Wz

Wy

Wx Wx

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

938IB-1501278-Q

(1) During workpiece installation error compensation command, the coordinates on the workpiece installation coor- dinates system are set to the system variables for position information (#5001 to #5116 (excluding #5021 to #5036 and #5101 to #5116)). However, coordinate values of the machine coordinate system are set to the vari- ables #5021 to #5036 and #5101 to #5116 even when the workpiece installation error compensation is com- manded.

(2) Workpiece installation error compensation will be canceled if reset is executed during workpiece installation error compensation.

(3) In order to enable machine lock, interlock, and external deceleration, input their signals not to the axes of the workpiece installation coordinate system but to the axes of the machine coordinate system which are in actual operation.

(4) Tool radius compensation, 3-dimensional tool radius compensation (Tool's vertical-direction compensation), tool length compensation, tool center point control, mirror image by G code, scaling, inclined surface machining, and fixed cycle command must be nested in workpiece installation error compensation. They must be commanded during workpiece installation error compensation mode.

(5) A coordinate conversion is not applied to a manual interruption, it is operated on the machine coordinate system. During workpiece installation error compensation, if a manual interruption or tool center point control is executed with the manual absolute switch ON, make sure to return to the position before the interruption to restart an au- tomatic operation.

An operation error (M01 0170) occurs in the following cases.

When you restart automatic operation in a position different from the one before interruption When an interruption to a rotary axis is made during workpiece installation error compensation When an automatic operation handle interruption is made during workpiece installation error compensation

(6) It is not possible to execute an MDI interruption, PLC interruption, or macro interruption during workpiece instal- lation error compensation. If any of these is executed during workpiece installation error compensation, an op- eration error (M01 0170) occurs. If macro interruption is enabled during workpiece installation error compensation, a program error (P545) occurs. Also when workpiece installation error compensation is com- manded while macro interruption is active, a program error (P546) occurs.

(7) When workpiece installation error compensation is commanded during MDI interruption, PLC interruption, or macro interruption, a program error (P546) occurs.

(8) In graphic check, the path of the original workpiece coordinate system is displayed. In 2D check and 3D check (check method I), circular interpolation is drawn by straight lines.

(9) Tracing is done using the machine coordinate values.

(10) Program restart from the block after the workpiece installation error compensation command is issued cannot be implemented. If commanded, a program error (P49) occurs.

(11) G0 commands during workpiece installation error compensation are always interpolation type. (Non-interpola- tion type is not available.)

(12) During workpiece installation error compensation, a buffer correction is not possible. If you attempt buffer cor- rection, an error message appears.

(13) When the parameter "#1450 5axis_Spec/bit0" is set to "0" (Set by axis name), set the axis in the 1st part system with the axis name (E.g. X, C) in the parameters #7900 to #7902, #7922, #7932, #7942 and #7952. If you com- mand workpiece installation error compensation in a part system where any of the designated axes is not ready, a program error (P932) occurs.

(14) If a manual arbitrary feed is performed during workpiece installation error compensation, an operation error (M01 0170) occurs.

(15) If a manual speed command is issued during workpiece installation error compensation, an operation error (M01 0170) occurs.

Precautions

(Workpiece installation error compensation command)

(Tool radius compensation)

In workpiece installation error compensation

In tool radius compensation

(Tool radius compensation cancel)

(Workpiece installation error compensation cancel)

G54.4P1

G41 D1

:

:

G40 : G54.4P0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

939 IB-1501278-Q

(16) If a figure rotation is performed during workpiece installation error compensation, a program error (P545) oc- curs. In addition, if workpiece installation error compensation is commanded during figure rotation, a program error (P546) occurs.

(17) If a coordinate rotation by parameter is executed during workpiece installation error compensation, a program error (P545) occurs. In addition, if workpiece installation error compensation is commanded during coordinate rotation by parameter, a program error (P546) occurs.

(18) If a linear angle command is issued during workpiece installation error compensation, a program error (P545) occurs.

(19) If a geometric command is issued during workpiece installation error compensation, a program error (P545) occurs.

(20) Chopping is not possible while an axis in workpiece installation error compensation is moving. In addition, if a movement command of workpiece installation error compensation is issued during chopping, an operation error (M01 0151) occurs.

(21) If a command to rotate a rotary axis by 180 or more in a block is issued, a program error (P547) occurs. In such a case, divide the block into multiple ones so that axis rotation angle is within 180.

(22) If workpiece installation error compensation is commanded during user macro modal call B (G66.1), a program error (P33) occurs.

(23) Do not change the workpiece offset amounts during workpiece installation error compensation.

(24) Even if the workpiece installation error compensation amounts are changed during workpiece installation error compensation, the offset at startup will be enabled.

(25) If axis movement is commanded for any axis not specified in the rotary axis configuration parameters during workpiece installation error compensation when SSS control is set to ON, a program error (P545) occurs.

(26) If the workpiece installation error compensation is commanded in spindle mode when the axis set to the spindle/ C axis is used as a rotary axis of workpiece installation error compensation, a program error (P934) occurs. When the mode is changed to the spindle mode during the workpiece installation error compensation, an oper- ation error (M01 0186) occurs. This operation error can be cleared by NC reset.

(27) The acceleration rate with the rapid traverse (G00) in high-accuracy control mode during the workpiece instal- lation error compensation is as below depending on the value of the parameter "#1250 set22/bit3" (Select how to determine the acceleration rate for rapid traverse (G0) in high-accuracy control).

When "#1250 set22/bit3" = "0 Same as the acceleration rate for cutting feed (G01) (the acceleration rate determined with "#1206 G1bF" (Maximum speed) and "#1207 G1btL" (Time constant))

When "#1250 set22/bit3" = "1 Same as the acceleration rate for rapid traverse (G00) (the acceleration rate determined with "#2001 Rap- id" (Rapid traverse rate) and "#2004 G0tL" (G0 time constant (linear))) However, while SSS control is dis- abled, the operation is same as when the parameter "#1250 set22/bit3" is set to "0".

(28) If any of the orthogonal axes of all the active part systems is under machine lock during workpiece installation error compensation, normal synchronous tapping is applied even though the high-speed synchronous tapping specification is enabled.

(29) The workpiece installation error compensation cannot be commanded during the multiple-axis synchronization control. The program error (740) occurs.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

940IB-1501278-Q

19.7 Rotation Center Error Compensation (Precautions for Creating a

Machining Program)

In the machine having a rotary axis, the rotation center deviates due to the assembly error of the rotary axis. Thus,

if a machining is carried out with the rotary axis, the machining accuracy is impaired because an error is caused in

the relative position between the tool and workpiece.

There are two types of rotation center deviation. One is "position deviation", in which the rotation center is shifted in

the planar direction, and the other is "angle deviation", in which the rotation center inclines.

Higher-accuracy machining is realized by compensating for these two types of deviation.

If the option for this function is not set, the operation error (M01 0240) is output, and compensation is not performed.

[Position deviation and angular deviation]

[Compensation for deviation of center of rotation]

Function and purpose

Machine design rotation center line

Actual rotation center line

(a) Position deviation (b) Angular deviation

[No deviation] [With deviation] The error arises between tool and workpiece; accuracy decreases

[When this function is enabled] The error between the tool and work- piece is compensated for by using the measured deviation (parameter).

(b)

(a)

Y

X Error

C axis rotationC axis rotation

Compensation enabled

C axis rotation

Compensation amount

: Machine design rotation center : Actual rotation center

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

941 IB-1501278-Q

The position deviation and angular deviation between the actual center line of rotation and the center line of rotation

on the machine design lead to a lower machining accuracy at the cutting point. By setting the position deviation and

angular deviation to be compensated beforehand, high machining accuracy is achieved as if these centers of rota-

tion were coincided.

Due to position deviation, an error arises between the position rotated around the design center of rotation and the

position rotated around the actual center of rotation (see the figure in item (a)). This error is compensated for by

distributing the compensation amount of this error to the orthogonal axes. This enables cutting to be carried out

based on the position rotated at the actual rotation center position (see the figure in item (b)).

(a) Error when there is position deviation of C axis

(b) Compensation for position deviation when C axis is 90

Detailed description

Position deviation compensation

C axis: 0 C axis: 90

Error compensation: disabled Error compensation: enabled

Y

X

Error

Position rotated around the actual center line of rotation

Position rotated around the design center line of rotation

C axis rotation

Position deviation

: Machine design rotation center position : Actual rotation center position

Y

X

Position rotated around the actual center line of rotation

Compensation amount

Position rotated around the design center line of rotation

: Machine design rotation center position : Actual rotation center position

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

942IB-1501278-Q

Due to angular deviation, an error arises between the position rotated around the machine design center of rotation

and the position rotated around the actual center of rotation (see the figure in item (a)). This error is compensated

by distributing the compensation amount of this error among the orthogonal axes and rotary axes. This enables cut-

ting to be done based on the position rotated around the actual center of rotation. Whether compensation amount

is distributed to rotary axes or not depends on the MTB specifications (the parameter "#7916 ROT_ERR_MODE"

(Rotation center error compensation method)) (see the figure in item (b)).

The compensation amount for angular deviation varies depending on the position of the cutting point. By setting the

tool length, the tool center point can be corrected. The tool length data to be applied differ between M system and

L system (see the table below). If no tool length is set, the compensation amount at the position of the machine end

face is applied.

(a) When there is angular deviation of C axis

(b) Compensation for angular deviation when C axis is 180

Angular deviation compensation

Operation mode Machine Tool length data to be applied

Automatic operation M system Tool length data specified in tool length offset (G43/G44), tool length compensation along the tool axis (G43.1), or tool center point control (G43.4/G43.5)

L system Tool length data specified in T command (tool offset)

Manual operation M system/L system The tool length data set in the parameter "#8043 Tool HDL FD OFS"

C axis: 0 C axis: 180

Compensation for orthogonal axes (#7916 = 0)

Compensation for orthogonal and rotary axes (#7916 = 1)

Z

Y

Position rotated around the actual center line of rotation

Position rotated around the design center line of rotation

Position deviation

Error C axis rotation

: Machine design rotation center line : Actual rotation center line

Z

Y

Position rotated around the actual center line of rotation

Position rotated around the actual center line of rotation

Compensation amount for orthogonal axis

Compensation amount for orthogonal axis

Compensation amount for rotary axis

: Machine design rotation center line : Actual rotation center line

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

943 IB-1501278-Q

When the additional functions in the table below are commanded during rotation center error compensation, the op-

eration depends on the MTB specifications (parameter "#1450 5axis_Spec/bit5").

"#1450 5axis_Spec/bit5" (0: Machine movement is suppressed. 1: Machine movement is not suppressed.) "#1280 ext16/bit1" (Mixed control (cross axis control) cancel with reset)

(*1) This does not depend on the setting of the parameter "#1280 ext16/bit3".

(*2) This means a case in which the axis in the part system during rotation center error compensation is designated

as the replacement axis.

(*3) The command can be issued, however, machine movement may occur. To ensure safety, issue the command

at a 0 degree angle to the rotary axis.

(1) If the relative positional relationship between the reference axis and the superimposed axis may be broken or machine movement may occur, issue the command at a 0 degree angle to the rotary axis to ensure safety.

Relationship with other functions

Additional func- tion

"#1450/ bit5" set- ting val-

ue

Operation to be performed when the following function is com- manded during rotation center error compensation

Angular deviation com- pensation for superim-

posed axis or synchronized axis

Operation of the function on the left

Operation to be performed when the function on the left is

commandedAt emergency stop

When resetting

Mixed control (Arbitrary axis ex- change control) (G140)

0 Not canceled Not canceled (*1)

(a) When commanded: Program error (P501)

(b) When the axis exchange in the part system is commanded (*2): Operation error (M01 1101)

-

1 Canceled Depends on "#1280 ext16/ bit1".

Can be commanded. (*3) -

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

944IB-1501278-Q

19.8 Applicable Machines

The mechanical conditions must be satisfied to use the functions in the following sections. To use them, refer to the

specifications of your machine.

19.3 Tool Center Point Control; G43.4, G43.5/G49

19.4 Inclined Surface Machining; G68.2, G68.3/G69

19.5 3-dimensional Tool Radius Compensation (Tool's Vertical-direction Compensation); G40/G41.2, G42.2

19.6 Workpiece Installation Error Compensation; G54.4

These functions apply to the three types of machine configurations as below:

Precautions

Axis configuration of applicable machines

Type Tool tilt type Table tilt type Combined type

Description Two rotary axes on tool head side

Two rotary axes on table side One rotary axis each on tool head side and table side

Example of machines

Primary rota- ry axis (a)

Tool-side 2nd rotary axis Table-side 1st rotary axis Tool-side rotary axis

Secondary rotary axis (b)

Tool-side 1st rotary axis Table-side 2nd rotary axis Table-side rotary axis

(b)

(a)

(a)

(b)

(a)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

945 IB-1501278-Q

(1) This function is not applicable to the machines as below:

(2) When the 3-dimensional tool radius compensation (tool's vertical-direction compensation) or workpiece installa- tion error compensation command is issued at the following settings, the program error (P934) occurs. The parameter "#1450 5axis_Spec/bit3" (Select specifications of rotation direction parameter) is set to "1". The parameters "#7923 DIR_T1", "#7933 DIR_T2", "#7943 DIR_W1" and "#7953 DIR_W2" are set to "1".

(Rotation turning to the left-handed screw).

For combined type 5-axis machine, the following functions can be used in the machine whose rotary axis is installed

with either ISO polarity or non-ISO polarity. (5-axis machine other than combined type supports only the rotary axis

installed with ISO polarity.)

Inclined surface machining command (G68.2/G68.3) Tool axis direction control command (G53.1/G53.6) Tool center point control command (G43.4/G43.5) 3-dimensional manual feed

[Definition of ISO polarity]

"ISO polarity" means that the movement direction and rotation direction of the axis follows the right-hand orthogonal

coordinate system (the coordinate system which is defined in ISO standard).

"Non-ISO polarity" means that the movement direction and rotation direction of the axis follows the left-hand orthog-

onal coordinate system.

To use the rotary axis installed with non-ISO polarity, set the following parameters.

(1) Set the parameter "#1450 5axis_Spec/bit3" (Select specifications of rotation direction parameter) to "1".

(2) Set the parameter, which corresponds to non-ISO polarity axis, between "#7923 DIR_T1", "#7933 DIR_T2", "#7943 DIR_W1", and "#7953DIR_W2" to "1".

When all the rotary axes are installed with ISO polarity, set the parameter "#1450 5axis_Spec/bit3" to "0".

There are following restrictions to use the rotary axis installed with non-ISO polarity.

(1) When the inclined surface machining command (G68.2 P10) is issued, the program error (P934) occurs.

(2) When the inclined surface machining command (G68.2/G68.3), tool axis direction control command (G53.1/ G53.6), or tool center point control command (G43.4/G43.5) is issued on a machine other than combined type, the program error (P934) occurs.

(3) When the 3-dimensional manual feed is commanded on a machine other than combined type, the operation alarm (M01 0186) occurs.

Functions that cannot be applied Description Example of machines

3-dimensional tool radius com- pensation (Tool's vertical-direc- tion compensation) Workpiece installation error com-

pensation

A machine whose rotation center axis of the rotary axis is not parallel to any orthog- onal coordinate axis. (Machine with tilted rotation axis)

Tool center point control Inclined surface machining 3-dimensional tool radius com-

pensation (Tool's vertical-direc- tion compensation) Workpiece installation error com-

pensation

A machine whose direction from the tool tip to the tool base is not parallel to Z axis (Z axis positive direction) when machine po- sitions of all the rotary axes are 0. (The arrow shown in the figure at the right indicates the direction of the tool axis.)

3-dimensional tool radius com- pensation (Tool's vertical-direc- tion compensation)

A machine in which three linear axes do not form a right-handed orthog- onal coordinate system.

Operation when the rotary axis is set with non-ISO polarity

Note

0

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

19 Advanced Machining Control

946IB-1501278-Q

The following functions are available even for a machine with the tilting rotary axis.

Tool axis center point control Inclined surface machining 3-dimensional tool radius compensation (tool's vertical-direction compensation)

(1) The tilt of only one rotary axis is allowed. If more than one rotary axis is tilted, an operation error (M01 0127) occurs.

(2) Even if a value is specified in the inclination angle of rotary axis configuration parameter ("#7921 TIANGT1", "#7931 TIANGT2", "#7941 TIANGW1", or "#7951 TIANGW2"), when the direction is not specified in the rotary axis selection ("#7920 SLCT_T1", "#7930 SLCT_T2", "#7940 SLCT_W1", or "#7950 SLCT_W2"), the axis is not treated as a tilting rotary axis.

(3) The following table lists the machine configurations that support tilting rotary axes. Do not use this function in machine configurations not listed below.

[Tool tilt type]

(4) Do not perform single axis rotation interpolation (#7910 SLCT_INT_MODE = 1) as the interpolation method for tool center point control in machine configuration with tilting rotary axes.

(5) If the boundary value (89.999) of the setting range is specified for the inclination angle of rotary axis configu- ration parameters ("#7921 TIANGT1", "#7931 TIANGT2", "#7941 TIANGW1", or "#7951 TIANGW2"), the num- bers up to the third decimal point is ensured. The numbers beyond the forth decimal point is omitted.

(Example) When "89.999123" is set, it will be treated as "89.999".

When the rotary axis is tilting

Machine configuration

Parameter setting

#7920 #7921 #7930 #7931

SLCT_T1 TIANG_T1 SLCT_T2 TIANG_T2

1st rotary axis: rotates around I axis 1 0.000 12 or 13

-89.999 to 89.9992nd rotary axis: rotates around I

axis (tilting)

1st rotary axis: rotates around J axis

2 0.000 12 or 13 -89.999 to

89.9992nd rotary axis: rotates around I axis (tilting)

1st rotary axis: rotates around K axis

3 0.000 21 or 23 -89.999 to

89.9992nd rotary axis: rotates around J axis (tilting)

Note

20

947 IB-1501278-Q

Coordinate System Setting Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

948IB-1501278-Q

20Coordinate System Setting Functions 20.1 Coordinate Words and Control Axes

The number of control axes is set to "3" in the standard specifications; however, up to eight axes can be controlled

if an additional axis is added. To specify each machining direction, use alphabetical coordinate words that are pre-

defined appropriately.

Function and purpose

X-Y table

X-Y and rotating table

+Z

+Z

+Y

+Y

+X

+X

Program coordinates

Direction of table movement

Workpiece

Table

Bed

+Z +Y

+Y

+C

+C

+X +X Program coordinates

Direction of table movement Direction of table

revolution

Workpiece

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

949 IB-1501278-Q

20.2 Types of Coordinate Systems 20.2.1 Basic Machine, Workpiece and Local Coordinate Systems

The basic machine coordinate system is fixed in the machine and it denotes that position which is determined inher-

ently by the machine.

The workpiece coordinate systems are used for programming and in these systems the basic point on the workpiece

is set as the coordinate zero point.

The local coordinate systems are created on the workpiece coordinate systems and they are designed to facilitate

the programs for parts machining.

Upon completion of the reference position return, the basic machine coordinate system and workpiece coordinate

systems (G54 to G59) are automatically set with reference to the parameters.

The basic machine coordinate system is set so that the first reference position is brought to the position specified

by the parameter from the basic machine coordinate zero point (machine zero point).

The local coordinate systems (G52) are valid on the coordinate systems designated by workpiece coordinate sys-

tems 1 to 6.

The hypothetical machine coordinate system can be set on the basic machine coordinate system using a G92 com-

mand. At this time, the workpiece coordinate system 1 to 6 is also simultaneously shifted.

Also refer to "Coordinate Systems and Coordinate Zero Point symbols".

Function and purpose

M: Basic machine coordinate system

W: Workpiece coordinate system

L: Local coordinate system

W1 W2

W4

R#1

Y

X

Y1

X1

W3

W2 W1 L

Z

X

M

R#1

Z1

X1 M

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

950IB-1501278-Q

20.2.2 Machine Zero Point and 2nd, 3rd, 4th Reference Position (Zero Point)

The machine zero point serves as the reference for the basic machine coordinate system. It is inherent to the ma-

chine and is determined by the reference (zero) position return. 2nd, 3rd and 4th reference positions relate to the

position of the coordinates that have been set beforehand by parameter from the zero point of the basic machine

coordinate system.

Function and purpose

(M) Basic machine coordinate system (G52) Local coordinate system

(W) Workpiece coordinate systems (G54 to G59)

(R1) 1st reference position (R2) 2nd reference position

(R3) 3rd reference position (R4) 4th reference position

(W)

(X1,Y1)

G52

x

y

x

y

x

y (X2,Y2)

(M)

(R1)

(R4)

(R3)

(R2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

951 IB-1501278-Q

20.2.3 Automatic Coordinate System Setting

This function creates each coordinate system according to the parameter values input beforehand from the setting

and display unit when the first manual reference position return or the reference position is reached with the dog-

type reference position return when the NC power is turned ON. The actual machining program is programmed over

the coordinate systems that have been set above.

(1) The coordinate systems created by this function are as follow:

- Basic machine coordinate system

- Workpiece coordinate systems (G54 to G59)

(2) The parameters related to the coordinate system all provide the distance from the zero point of the basic machine

coordinate system. Therefore, after deciding at which position the first reference position should be set in the

basic machine coordinate system and then set the zero point positions of the workpiece coordinate systems.

(3) When the automatic coordinate system setting function is executed, shifting of the workpiece coordinate system

with G92, setting of the local coordinate system with G52, shifting of the workpiece coordinate system with origin

set, and shifting of the workpiece coordinate system with manual interrupt will be canceled.

(4) The dog-type reference position return will be executed when the first time manual reference position return or

the first time automatic reference position return is executed after the power has been turned ON. It will be also

executed when the dog-type is selected by the parameter for the manual reference position return or the auto-

matic reference position return for the second time onwards.

Function and purpose

(M) Basic machine coordinate system (R1) 1st reference position

(G54) Workpiece coordinate system 1 (G55) Workpiece coordinate system 2

(G56) Workpiece coordinate system 3 (G57) Workpiece coordinate system 4

(G58) Workpiece coordinate system 5 (G59) Workpiece coordinate system 6

Detailed description

CAUTION

If the workpiece coordinate offset amount is changed during automatic operation (including during single block

operation), it will be validated from the next block or after multiple blocks of the command.

(G54)

y1

x1

(G55)(G56)

(G57)(G58)(G59)

y2

x2

y3

x3

y4

x4

(R1)

(M)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

952IB-1501278-Q

20.2.4 Coordinate System for Rotary Axis

The axis designated as the rotary axis with the parameters is controlled with the rotary axis' coordinate system.

The rotary axis includes the rotating type (short-cut valid/invalid) and linear type (workpiece coordinate position lin-

ear type and all coordinate position linear type).

The workpiece coordinate position range is 0 to 359.999 for the rotating type, and 0 to 99999.999 for the linear

type.

The machine coordinate value and relative position differ according to the parameters.

The rotary axis is commanded with a degree () unit regardless of the inch or metric designation.

The rotary axis type can be set with the parameter "#8213 rotation axis type" for each axis.

Function and purpose

Rotary axis Linear axisRotating type rotary axis Linear type rotary axis

Short-cut invalid Short-cut valid Workpiece coordi- nate position linear

type

All-coordinate po- sition linear type

#8213 setting value

0 1 2 3 -

Workpiece coor- dinate position

Displayed in the range of 0 to 359.999. Displayed in the range of 0 to 99999.999.

Machine coordi- nate position/ relative position

Displayed in the range of 0 to 359.999. Displayed in the range of 0 to 99999.999.

ABS command The incremental amount from the end point to the current position is divided by 360 degrees, and the axis moves by the remainder amount according to the sign.

Moves with a short- cut to the end point.

In the same manner as the normal linear axis, it moves according to the sign by the amount obtained by subtracting the current position from the end point (without rounding up to 360 degrees).

INC command Moves in the direction of the commanded sign by the commanded incremental amount starting at the current position.

Reference posi- tion return

Depends on the absolute command or the incremental command during the movement to the intermediate point.

Returns with movement within 360 degrees. Moves and returns in the R point direction for the differ- ence from the current position to the R point.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

953 IB-1501278-Q

Examples of differences in the operation and counter displays according to the type of rotation coordinate are given

below.

(The workpiece offset is set as 0.)

(1) The machine coordinate position, workpiece coordinate position and relative position are displayed in the range of 0 to 359.999.

(2) For the absolute command, the axis moves according to the sign by the remainder amount obtained by dividing by 360.

(1) The machine coordinate position, workpiece coordinate position and relative position are displayed in the range of 0 to 359.999.

(2) For the absolute command, the axis rotates to the direction having less amount of movement to the end point.

Operation example

Rotary type (short-cut invalid)

Program Workpiece Machine

G28 C0.

N1 G90 C-270. 90.000 90.000

N2 C405. 45.000 45.000

N3 G91 C180. 225.000 225.000

Rotary type (short-cut valid)

Program Workpiece Machine

G28 C0.

N1 G90 C-270. 90.000 90.000

N2 C405. 45.000 45.000

N3 G91 C180. 225.000 225.000

90

45

0

N3

N2

N1

90

45

0

N3 N2

N1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

954IB-1501278-Q

(1) The coordinate position counter other than the workpiece coordinate position is displayed in the range of 0 to 359.999. The workpiece coordinate position is displayed in the range of 0 to 99999.999.

(2) The movement is the same as the linear axis.

(3) During reference position return, the axis moves in the same manner as the linear axis until the intermediate point is reached. The axis returns with a rotation within 360 from the intermediate point to the reference posi- tion.

(4) During absolute position detection, even if the workpiece coordinate position is not within the range of 0 to 359.999, the system will start up in the range of 0 to 359.999 when the power is turned ON again.

(1) The workpiece coordinate position counter is displayed in the range of 0 to 99999.999.

(2) The movement is the same as the linear axis.

(3) During reference position return, the axis moves in the same manner as the linear axis until the intermediate point is reached. The axis rotates by the difference from the intermediate point to the reference position and returns to the refer- ence position.

(4) During absolute position detection, the system starts up at the position where the power was turned OFF when the power is turned ON again.

Linear type (workpiece coordinate position linear type)

Program Workpiece Machine Relative posi- tion

G28 C0.

N1 G90 C-270. -270.000 90.000 90.000

N2 C405. 405.000 45.000 45.000

N3 G91 C180. 585.000 225.000 225.000

After the power is turned ON again

Workpiece Machine

225.000 225.000

Linear type (all coordinate position linear type)

Program Workpiece Machine Relative posi- tion

G28 C0.

N1 G90 C-270. -270.000 -270.000 -270.000

N2 C405. 405.000 405.000 405.000

N3 G91 C180. 585.000 585.000 585.000

After the power is turned ON again

Workpiece Machine

585.000 585.000

90

45

0

N3

N2

N1

90

45

0

N3

N2

N1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

955 IB-1501278-Q

20.3 Basic Machine Coordinate System Selection; G53

The basic machine coordinate system indicates the position (tool exchange position, stroke end position, etc.) that

is characteristic to the machine.

The tool is moved to the position commanded on the basic machine coordinate system with the G53 command and

the coordinate command that follows.

(1) When the power is turned ON, the basic machine coordinate system is automatically set as referenced to the reference position (zero point) return position, which is determined by the automatic or manual reference position (zero point) return.

(2) The basic machine coordinate system is not changed by the G92 command.

(3) The G53 command is valid only in the designated block.

(4) In the incremental command mode (G91), the G53 command provides movement with the incremental position in the coordinate system being selected.

(5) Even if G53 is commanded, the tool radius compensation amount for the commanded axis will not be canceled.

(6) The 1st reference coordinate position indicates the distance from the basic machine coordinate system zero point to the reference position (zero point) return position.

1st reference position coordinate value: X=+500 and Y=+500

(7) The G53 command will move with cutting feed or rapid traverse following command modal.

(8) If the G53 command and G28 command (reference position return) are issued in the same block, the command issued last will be valid.

Function and purpose

Command format

(G90) G53 X__ Y__ Z__ __ ;

Additional axis

Detailed description

(M) Basic machine coordinate system

(R1) 1st reference position

(500,500)

-Y

- X R1(M)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

956IB-1501278-Q

(9) Depending on the MTB specifications, all movement commands in the G53 command block may run in rapid traverse mode (parameter "#1253 set/bit5").

(a) When the movement method of the G53 command block follows the command modal

[Example in which the G53 block is executed during G01 modal]

[Example in which the G53 block is executed during G00 modal]

(b) When all the movement methods of the G53 command block are set to rapid traverse

[Example in which the G53 block is executed during G01 modal]

The G group 01 modal does not change in the G53 command block; only the operation is set to rapid tra-

verse.

(1) Tool compensation functions When the G53 command is issued, the tool compensation amount of the axis with the movement command des- ignated is canceled temporarily.

(2) Nose R compensation When the compensation direction is reversed during nose R compensation, a program error (P157) will occur except when it is commanded in G00 block. Even if directions differ between before and after the G53 block, an error will not occur because compensation is temporarily canceled. A parameter can be set to move the tool in the same compensation direction.

(3) Machine coordinate system selection, Feedrate designation If an ",F" command is issued when there are no specifications of the feedrate command for G53, a program error (P39) occurs.

(4) Inclined surface machining When the G53 command is issued during inclined surface machining, a program error (P951) occurs.

(5) Polar coordinate interpolation Do not issue the G53 command during the polar coordinate interpolation mode.

(6) Polar coordinate command The axis command with the G53 command is not interpreted as the polar coordinate command during the polar coordinate command mode.

(7) Tool length compensation along the tool axis When the G53 command is issued while the compensation status is still established, the compensation is tem- porarily canceled, and the tool moves to the machine position designated by G53.

(8) Mirror image by G code The mirror image will not be applied to the G53 command.

(9) High-speed high-accuracy control If the G53 command is issued during the high-speed high-accuracy control II mode, a program error occurs.

(10) 3-dimensional coordinate conversion Coordinate conversion will not be carried out for the machine coordinate system even if G53 command is issued in the 3-dimensional coordinate conversion modal.

Program G group 01 modal Cutting or Rapid traverse

N01 G01 X100. Z100. F1000; G01 Cutting

N02 G53 X200. Z200.; G01 Cutting

N03 X300. Z300.; G01 Cutting

Program G group 01 modal Cutting or Rapid traverse

N01 G00 X100. Z100.; G00 Rapid traverse

N02 G53 X200. Z200.; G00 Rapid traverse

N03 X300. Z300.; G00 Rapid traverse

Program G group 01 modal Cutting or Rapid traverse

N01 G01 X100. Z100. F1000; G01 Cutting

N02 G53 X200. Z200.; G01 Rapid traverse

N03 X300. Z300.; G01 Cutting

Relationship with other functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

957 IB-1501278-Q

(11) Tool center point control If the G53 command is issued during the tool center point modal, a program error (P942) occurs.

(12) Workpiece installation error compensation If the G53 command is issued during workpiece installation error compensation, a program error (P545) occurs.

(1) In the machine with the specifications in which all the movement commands of the G53 command block run in rapid traverse mode, if the G53 and G01 commands are issued in the same block, the block is set to rapid tra- verse. However, the G group 01 modal is switched; therefore, the movement commands in the next and subse- quent blocks run in cutting feed mode. [Example in which the G53 and G01 commands are issued in the same block]

(2) The travel amount of G53 block will be analyzed after the movement by the previous block is completed. There- fore, the update of the coordinate counter such as the "next command" or "remaining command" may not follow the actual movement.

Precautions

Program G group 01 modal Cutting or Rapid traverse

N01 G00 X100. Z100.; G00 Rapid traverse

N02 G53 G01 X200. Z200. F1000; G01 Rapid traverse

N03 X300. Z300.; G01 Cutting

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

958IB-1501278-Q

20.4 Coordinate System Setting; G92

The zero point position of the program coordinate system can be shifted to an arbitrary position by G92 command.

As shown in the figure below, when a coordinate system setting is specified by G92, G92 shift amount is applied so

that the tool position in the current workpiece coordinate system (*1) is set to the coordinate position specified by

G92, and the workpiece coordinate system is shifted accordingly. All the workpiece coordinate systems (G54 to G59

and G54.1 Pn) are also shifted simultaneously at this time, but the machine does not move.

(*1) The "tool position in the current workpiece coordinate system" includes the compensation amounts for tool ra-

dius, tool length and tool position compensation.

The following values are set as G92 shift amounts.

X: x0 - x1 Y: y0 - y1

Function and purpose

Command format

G92 X__ Y__ Z__ __ ;

Additional axis

Detailed description

Coordinate system created by automatic coordinate system setting

Coordinate system after coordinate system setting by G92

A workpiece coordinate system in which the current tool position is set at (x1, y1) will be newly created.

(a) Tool position (W0) Workpiece coordinate system

(b) G92 commanded position (W1) Workpiece coordinate system after G92 command

(c) G92 shift amount (M) Basic machine coordinate system

M

W0y0

x0(a)

M

W0 y1

x1

W1

(b)

(c) G92 Xx1 Yy1 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

959 IB-1501278-Q

There are two methods to return a shifted coordinate system to its original position.

(1) Carry out dog-type reference position return.

(2) Move the coordinate system to the machine coordinate system zero point, then command G92 and G53 in the same block to set the machine coordinate system.

(1) If the parameter "#1279 ext15/bit5" is set to "1", the coordinate systems setting (G92) shift amount is cleared when the axis reaches to the manual reference position.

(2) For the "G92 G53" command, do not specify a value other than "0" for the axis address. When a command other than "0" is specified, the operation depends on the setting of "#1751 cfgPR01/bit4".

When "#1751 cfgPR01/bit4" is set to "0", the program error (P35) occurs.

When "#1751 cfgPR01/bit4" is set to "1", the operation is performed assuming that "0" is commanded to the axis address.

G90 G53 G00 X0 Y0 ; Positioning at machine coordinate system zero point

G92 G53 X0 Y0 ; Coordinate system zero setting in machine coordinate system

This returns all the workpiece coordinates (G54 to G59 and G54.1 Pn) to their orig- inal positions

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

960IB-1501278-Q

20.5 Local Coordinate System Setting; G52

The local coordinate systems can be set on the G54 through G59 workpiece coordinate systems using the G52 com-

mand so that the commanded position serves as the programmed zero point.

The G52 command can also be used instead of the G92 command to change the deviation between the zero point

in the machining program and the machining workpiece zero point.

(1) When G52 is commanded with the absolute mode (G90), command position on the workpiece coordinate system being selected is determined as the zero point of local workpiece coordinate system. To cancel the local coordi- nate system, command "G90 G52 X0 Y0 Z0 0;". When G52 is commanded with the incremental mode (G91), the zero point of the local workpiece coordinate system shifts by the commanded amount.

(2) The G52 command is valid until a new G52 command is issued. In the G52 command block, no movement is performed. This command, G52, comes in handy for employing another coordinate system without changing the zero point positions of the workpiece coordinate systems (G54 to G59).

(3) The local coordinate system offset will be cleared when the dog-type reference position return is carried out or the power is turned ON again.

If the program is executed repeatedly, the workpiece coordinate system will deviate each time. Thus, when the program is completed, the reference position return operation must be commanded.

Function and purpose

Command format

G54 (or G55 to G59) G52 X__ Y__ Z__ __ ;

Additional axis

Detailed description

R

M

Ln

Ln

Ln

Wn (n=1 to 6)

(G90) G52 X_Y_;

G52 X_Y_;(G91)

Machine coordinate system

Workpiece coordinate system

Local coordinate systemAbsolute position

Absolute position

Incremental position

Reference position Workpiece coordinate system offset (Screen setting, G10 L2 P__X__ Y__ ; )

External workpiece coordinate system offset (Screen setting, G10 P0 X__ Z__ ; )

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

961 IB-1501278-Q

(Example 1) Local coordinates for absolute mode (The local coordinate system offset is not cumulated)

The local coordinate system is created by (5), canceled by (9) and matched with the coordinate system for (3).

If the program is executed repeatedly, the workpiece coordinate system will deviate each time. Thus, when the program is completed, the reference position return operation must be commanded.

(Example 2) Local coordinates for incremental command mode (The local coordinate system offset is cumulated.)

The local coordinate system X'Y' is created at the XY coordinate system (500,500) position by (3).

The local coordinate system X"Y" is created at the X'Y' coordinate system (1000,1000) position by (5).

The local coordinate system is created at the X"Y" coordinate system (-1500, -1500) position by (7). In other

words, the same occurs as when the local coordinate system and XY coordinate system are matched and the

local coordinate system is canceled.

(1) G28 X0 Y0 ;

(2) G00 G90 X1. Y1. ;

(3) G92 X0 Y0 ;

(4) G00 X500 Y500 ;

(5) G52 X1. Y1. ;

(6) G00 X0 Y0 ;

(7) G01 X500 F100 ;

(8) Y500 ;

(9) G52 X0 Y0 ;

(10) G00 X0 Y0 ;

(1) G28 X0 Y0 ;

(2) G92 X0 Y0 ;

(3) G91 G52 X500 Y500 ;

(4) M98 P100 ;

(5) G52 X1. Y1. ;

(6) M98 P100 ;

(7) G52 X-1.5 Y-1.5 ;

(8) G00 G90 X0 Y0 ;

M02 ;

(A) O100 ;

(B) G90 G00 X0 Y0 ;

(C) G01 X500 ;

(D) Y500 ;

(E) G91 ;

(F) M99 ;

2500

2500 3000

2000

2000

1500

1500

1000

1000

500

500 R#1 W1

W1

W1 L1

Y

X

(2) (3)

(6) (7)

(4) (5)

(9) (8)

(10)

(1)

Local coordinate system created by (5).

New coordinate system created by (3) Matched with local coordinate system by (9).

Current position

2500

2500 3000

2000

2000

1500

1500

1000

1000

500

500 R#1

W1 L1

W1 L2

W1

Y Y' Y"

X

X"

X'

(2) (3)

(6)

(4)

(C)

(C)

(D)

(D)

(B)

(B)

(8)(1)

Local coordinate system created by (5).

Local coordinate system created by (3).

Matched with local coordinate system by (7).

Current position

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

962IB-1501278-Q

(Example 3) When used together with workpiece coordinate system

The local coordinate system is created at the G54 coordinate system (500,500) position by (3), but the local co-

ordinate system is not created for the G55 coordinate system.

During the movement for (7), the axis moves to the G54 local coordinate system's reference position (zero point).

The local coordinate system is canceled by G90 G54 G52 X0 Y0;.

(1) G28 X0 Y0 ; G54 G55

(2) G00 G90 G54 X0 Y0 ;

X 1000 1000 Workpiece coordinate system offset (parameter setting value)

(3) G52 X500 Y500 ; Y 500 2000

(4) M98 P200 ;

(5) G00 G90 G55 X0 Y0 ;

(6) M98 P200 ;

(7) G00 G90 G54 X0 Y0 ;

:

M02 ;

(A) O200 ;

(B) G00 X0 Y0 ;

(C) G01 X500 F100 ;

(D) Y500 ;

(E) M99 ;

2500

2500

3000

3000

2000

2000

W1 L1

1500

1500

1000

1000

500

500 R#1

G54

G55

W1

W2

Y

X

(B)

(B)

(C)

(C)

(D)

(D)

(2)

(1)

(3)

(5)

(7) Local coordinate system created by (3)

Current position

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

963 IB-1501278-Q

(Example 4) Combination of workpiece coordinate system G54 and multiple local coordinate systems

The local coordinate system is created at the G54 coordinate system (1000,1000) by (4).

The local coordinate system is created at the G54 coordinate system (2000,2000) by (6).

The G54 coordinate system and local coordinate system are matched by (8).

(1) G28 X 0 Y0 ; G54

(2) G00 G90 G54 X0 Y0 ;

X 500 Workpiece coordinate system offset (parameter setting value)

(3) M98 P300; Y 500

(4) G52 X1. Y1. ;

(5) M98 P300 ;

(6) G52 X2. Y2. ;

(7) M98 P300 ;

(8) G52 X0 Y0 ;

:

M02 ;

(A) O300 ;

(B) G00 X0 Y0 ;

(C) G01 X500 F100 ;

(D) Y500 ;

(E) X0 Y0 ;

(F) M99 ;

%

2500

2000

1500

1000

500

R#1 500 1000 1500 2000 2500 3000

G54

W1

W1 L1

W1 L2

(B)

(C)

(D)

(E) (2)

(8) (3)

(5)

(7)

3000

Local coordinate system created by (6)

Local coordinate system created by (4)

Current position

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

964IB-1501278-Q

20.6 Workpiece Coordinate System Selection and Extended Workpiece

Coordinate System Selection; G54 to G59, G54.1

The workpiece coordinate systems facilitate the programming on the workpiece, serving the reference position of

the machining workpiece as the zero point.

These commands enable the tool to move to the positions in the workpiece coordinate system. There are extended

workpiece coordinate systems (G54.1) in addition to six workpiece coordinate systems, which are used by the pro-

grammer for programming (G54 to G59). The number of the extended workpiece coordinate systems varies depend-

ing on the MTB specifications.

(*1) The maximum number of coordinate systems depends on the specifications.

(1) Address "P" cannot be omitted in the G54.1 command.

Function and purpose

Workpiece coordinate system

(G90) G54 - G59 ; Workpiece coordinate system selection

Extended workpiece coordinate system

G54.1 Pn ; Extended workpiece coordinate system selection (P1 to P300) (*1)

G54 Pn ; Extended workpiece coordinate system selection (P1 to P300) (*1)

(It is valid when the parameter "#1274 ext10/bit5" is "1".)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

965 IB-1501278-Q

(1) Even if the switching of the workpiece coordinate system is commanded using G54 to G59 or G54.1Pn, the tool radius compensation amount and tool length compensation amount are not canceled.

(2) The G54 workpiece coordinate system is selected when the power is turned ON.

(3) G54 through G59 and G54.1Pn commands are modal commands (group 12).

(4) The position of the workpiece coordinate system can be specified in [Coord] on the setup screen. For the offset amount, specify the distance from the basic machine coordinate system zero point to the workpiece coordinate system zero point.

(5) When the first automatic (G28) or manual reference position (zero point) return is completed after the power has been turned ON, the basic machine coordinate system and workpiece coordinate systems are set automatically in accordance with the parameter settings.

(6) Do not command a G code for which a P code is used in the same block as G54.1. If such a G code is command- ed, a P code is used for a prior G command or the program error occurs (P33).

(7) Extended workpiece coordinate system selection (G54.1) and the number of workpieces depend on the MTB specifications. When unavailable commands are executed, the program error (P39) occurs.

(8) The local coordinate system for the G54 to G59 commands is independently set on each workpiece coordinate system; however, only a single local coordinate system is set to the "G54.1 (G54) Pn" command. Even if the extended workpiece coordinate system number 1 to 300 is changed, the local coordinate system off- set amount is inherited. However, if the G52 command is executed during the "G54.1 (G54) Pn" command modal while the CNC of C80 series or the CNC of earlier version than the M800/M80/E80 series S/W version D4 is used, a program error (P438) occurs.

(9) The workpiece coordinate system offset amount and the extended workpiece coordinate system offset amount can be specified by the G10 L2/L20 command and the variable command. For details, refer to the following chapters. 15.9.3 Compensation Data Input by Program (Workpiece Offset Amount) ; G10 L2/L20, G11 23.8 System Variables (Workpiece Coordinate Offset) 23.10 System Variables (Extended Workpiece Coordinate Offset)

(10) When the "#1151 rstint" parameter is set to "0", the modal of G54.1 command will be retained even if the reset 1 is carried out.

(11) Address "P" cannot be omitted in the G54.1 command. Address "P" can be omitted in the G54 command; however, the standard workpiece coordinate system (G54) is selected regardless of the parameter "#1274 ext10/bit5".

Detailed description

(#1) Reference position

Basic machine coordinate system zero point

G54 workpiece coordinate zero point

G54 X = -500 Y = -500

G55 workpiece coordinate zero point

G55 X = -2000

Y = -1000

CAUTION

If the workpiece coordinate system offset amount is changed during single block stop, the new setting will be

valid from the next block.

R#1

W1

M

-X(G55)

W2

-Y -Y

-1000

-500

-500-2000

-X(G54)

-X

-Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

966IB-1501278-Q

(12) The P address of the G54.1 command cannot be commanded alone even in G54.1 modal. Even if commanded, the designated extended workpiece coordinate system cannot be selected.

(Example)

(Example 1)

P54.1 P5 ; Changed to P5 workpiece coordinate system.

P3 ; Ignored.

Program example

(1) G28 X0. Y0. ;

(2) G90 G00 G53 X0. Y0. ;

(3) G54 X-500. Y-500. ;

(4) G01 G91 X-500. F100 ;

(5) Y-500. ;

(6) X+500. ;

(7) Y+500. ;

(8) G90 G00 G55 X0. Y0. ;

(9) G01 X-500. F200 ;

(10) X0. Y-500. ;

(11) G90 G28 X0. Y0. ;

M

(G55)

(G54) - 1000 - 500

(G54)(G55)

W2 W1 -500

(11) (6)

(5)

(4)

(3)

(2)

(1)

(10) (7)

(8) (9)

(R1)

-1000

-500

-1000

-1500

-X

-X

-Y -Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

967 IB-1501278-Q

(Example 2) The same machining is performed on the six workpieces which are placed on the G54 to G59 coordi-

nate systems respectively.

(1) Setting of workpiece coordinate system offset data

(2) Positioning program (main)

(3) Machining program (subprogram)

Workpiece 1 X=-100.000, Y=-100.000.....G54

Workpiece 2 X=-100.000, Y=-500.000.....G55

Workpiece 3 X=-500.000, Y=-100.000.....G56

Workpiece 4 X=-500.000, Y=-500.000.....G57

Workpiece 5 X=-900.000, Y=-100.000.....G58

Workpiece 6 X=-900.000, Y=-500.000.....G59

G91 G28 X0 Y0 Z0 ; At power ON

N1 G90 G54 M98 P100 ;

N2 G55 M98 P100 ;

N3 G57 M98 P100 ;

N4 G56 M98 P100 ;

N5 G58 M98 P100 ;

N6 G59 M98 P100 ;

N7 G91 G28 X0 Y0 Z0 ;

N8 M02 ;

%

O100;

N1 G90 G00 G43 X-50. Y-50. Z-100. H10 ; Positioning

N2 G01 X-200. F50 ; Surface cutting

Y-200. ; Surface cutting

X-50. ; Surface cutting

Y-50. ; Surface cutting

N3 G91 G28 X0 Y0 Z0 ;

:

N4 G90 G98 G81 X-125. Y-75. Z-150. R-100. F40 ; Drilling 1

X-175. Y-125. ; Drilling 2

X-125. Y-175. ; Drilling 3

X- 75. Y-125. ; Drilling 4

G80 ;

N5 G91 G28 X0 Y0 Z0 ;

:

N6 G90 G98 G84 X-125. Y-75. Z-150. R-100. F40 ; Tapping 1

X-175. Y-125. ; Tapping 2

X-125. Y-175. ; Tapping 3

X- 75. Y-125. ; Tapping 4

G80 ;

M99 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

968IB-1501278-Q

75

W 2

-X

-Y

G 55

W 4

-X

-Y

G 57

W 6

-X

-Y

G 59

W 3

-X

-Y

G 56

W 5

-X

-Y

G 58

W 1

-X

-Y

G 54

12 5

20 0m

m

17 5

50 m

m 12

5 17

5

50 0m

m

10 0m

m

10 0m

m 50

0m m

90 0m

m

-X

-Y0 M

4 3

2 1

20 0m

m

50 75

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

969 IB-1501278-Q

(Example 3) Program example to continuously use 48 sets of extended workpiece coordinate system offsets.

In this example, the offsets for each workpiece are set beforehand in P1 to P48 when 48 workpieces are fixed

on a table, as shown in the drawing below.

O1000 O1001

G91 G28 X0 Y0 Z0 ; Reference position return G90 ;

#100=1 ; Number initialization in extended workpiece coordinate system P

G43 X-10.Y-10.Z-100.H10.; Contour

WHILE [#100LE48]D01 ; Repeat P No. to 48 G01 X-30.;

G54.1 P#100 ; Workpiece coordinate system set- ting

Y-30.;

M98 P1001 ; Call subprogram X-10.;

#100=#100+1 ; P No. +1 Y-10.;

END1 ; G00 G40 Z10.;

G91 G28 Z0 ; Return to reference position G98 G81 X-20.Y-15.Z-150.R5.F40; Drilling

G91 G28 X0 Y0 ; X-25.Y-20.;

M02 ; X-20.Y-25.;

X-15.Y-20.;

G80 ;

M99 ;

P8 P7 P1

P2 P3

P4 P5

P6

P9 P10 P16

P15 P14

P13 P12

P11

P24 P23 P17

P18 P19

P20 P21

P22

P25 P26 P32

P31 P30

P29 P28

P27

P40 P39 P33

P34 P35

P36 P37

P38

P41 P42 P48

P47 P46

P45 P44

P43

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

970IB-1501278-Q

(Example 4) Program example to transfer the extended workpiece coordinate system offset to the standard work-

piece coordinate system offset

In this example, the workpiece coordinate system offsets for each workpiece are set beforehand in P1 to P24

when the workpiece is fixed on a rotating table, as shown in the drawing below.

O20000 (Main)

G91 G28 X0 Y0 Z0 B0 ; Reference position return

G90 ; Absolute command mode

G00 B0 ; Position table to face 1

G65 P2001 A1 ; Load workpiece offsets

M98 P2002 ; Drilling

G00 B90. ; Position table to face 2

G65 P2001 A7 ;

M98 P2002 ;

G00 B180. ; Position table to face 3

G65 P2001 A13 ;

M98 P2002 ;

G00 B270. ; Position table to face 4

G65 P2001 A19 ;

M98 P2002 ;

G91 G28 X0 Y0 B0 ; Return to reference position

M02 ;

%

B

X

P19 Z

YP20

P21 P22 P23

P24

P1 P2

P3

P4 P5 P6

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

971 IB-1501278-Q

O2001 (Transmission of workpiece offsets)

#2=5221 ; Leading No. of workpiece coordinate system variables

#3=[#1-1]*20+7001 ; Leading No. of extended workpiece coordinate system variables

#5=0 ; No. of sets counter clear

WHILE [#5 LT 6] DO1 ; Check No. of sets

#6=#6+1 ; Set transmission source 1st axis variable No.

#7=#7+1 ; Set transmission destination 1st axis variable No.

#4=#4+1 ; Clear No. of axes counter

WHILE [#4 LT 6] DO2 ; Check No. of axes

#[#6]=#[#7] ; Transmit variable data

#6=#6+1 ; Set transmission source next axis

#7=#7+1 ; Set transmission destination next axis

#4=#4+1 ; No. of axes counter +1

END2 ;

#2=#2+20 ; Transmission source Set lead of next variable set.

#3=#3+20 ; Transmission destination Set lead of next variable set.

#5=#5+1 ; No. of sets counter +1

END1 ;

M99 ;

%

O2002 (Drilling)

G54 M98 H100 ; Drilling in G54 coordinate system

G55 M98 H100 ; G55

G56 M98 H100 ; G56

G57 M98 H100 ; G57

G58 M98 H100 ; G58

G59 M98 H100 ; G59

G91 G28 Z0 ;

M99 ;

N100 G90 G98 G81 X-20. Y-15. Z-150. R5. F40 ; Fixed cycle for drilling

X-25. Y-20. ;

X-20. Y-25. ;

X-15. Y-20. ;

G80 ;

G91 G28 Z0 ;

M99 ;

%

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

972IB-1501278-Q

20.7 Workpiece Coordinate System Preset; G92.1

This function presets the workpiece coordinate system shifted with the program command during manual operation

to the workpiece coordinate system offset from the machine zero point by the workpiece coordinate offset amount

by the program command (G92.1).

The workpiece coordinate system, which is set when the following type of operation or program command is exe-

cuted, will be shifted from the machine coordinate system.

When manual interrupt is executed while manual absolute is OFF When movement command is issued in machine lock state When axis is moved with handle interrupt When operation is carried out with mirror image When local coordinate system is set with G52 Shifting the workpiece coordinate system with G92

This function presets the shifted workpiece coordinate system to the workpiece coordinate system offset from the

machine zero point by the workpiece coordinate offset amount. This takes place in the same manner as manual

reference position return. Whether to preset the relative coordinate depends on the MTB specifications (parameter

"#1228 aux12/bit6").

(1) Command the address of the axis to be preset. The axis will not be preset unless commanded.

(2) A program error (P35) will occur if a value other than "0" is commanded.

(3) G92.1 must be commanded alone in a block.

(4) Whether to conduct an error check when the coordinate system preset command (G92.1) is issued alone in a block depends on the MTB specifications (parameter "#1242 set14/bit1").

Function and purpose

Command format

G92.1 X0. Y0. Z0. 0 ;

0 Additional axis

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

973 IB-1501278-Q

(1) When manual operation is carried out when manual absolute is set to OFF, or if the axis is moved with handle interrupt.

If manual operation is carried out when manual absolute is set to OFF, or if the axis is moved with handle inter-

rupt, the workpiece coordinate system will be shifted by the manual movement amount.

This function returns the shifted workpiece coordinate zero point W1' to the original workpiece coordinate zero

point W1, and sets the distance from W1 to the current position as the workpiece coordinate system's current

position.

(2) When movement command is issued in machine lock state

If the movement command is issued in the machine lock state, the current position will not move, and only the

workpiece coordinates will move.

This function returns the moved workpiece coordinates to the original current position, and sets the distance from

W1 to the current position as the workpiece coordinate system's current position.

Detailed description

(a) Manual movement amount (C) Current position

(Wx) (Wy) Workpiece coordinate (x, y) after preset

(a) Movement amount during machine lock (b) Workpiece coordinate system coordinate value

(Wx) (Wy) Workpiece coordinate (x, y) after preset

(C) Current position (W1) Workpiece coordinate zero point

X

Y

X

Y

W1

W1

W1

M

(a)

(C) (Wx)

(C)

(Wy)

X

Y

X

Y

(W1) (W1)

(a)

(C)

(Wx)

(C)

(Wy)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

974IB-1501278-Q

(3) When operation is carried out with mirror image

If operation is carried out with mirror image, only the NC internal coordinates are used as the program command

coordinates. The other coordinates are the current position coordinates.

This function sets the NC internal coordinates as the current position coordinates.

(4) Setting local coordinate system with G52

The local coordinate system is set with the G52 command, and the program commands, etc., are issued with

the local coordinate system.

With this function, the set local coordinate system is canceled, and the program commands, etc., use the work-

piece coordinate system which has W1 as the zero point. The canceled local coordinate system is only the se-

lected workpiece coordinate system.

(a) Actual operation (b) Program command

(C) Current position (d) Mirror image center

(Wx) (Wy) Workpiece coordinate (x, y) after preset

(W1) Workpiece coordinate zero point

(a) Local coordinates x (b) Local coordinates y

(Wx) (Wy) Workpiece coordinate (x, y) after preset

(C) Current position (L1) Local coordinate zero point

(W1) Workpiece coordinate zero point

X

Y

X

Y

(W1) (W1)

(Wx)

(b) (Wy)

(d)

(a)

(C) (C)

X

Y

X

Y

(W1)

(L1)

(W1)

(C) (Wx) (C)

(Wy)

(a)

(b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

975 IB-1501278-Q

(5) Shifting the workpiece coordinate system with G92

The workpiece coordinate system shifts with the G92 command, and the distance between W1' and the current

position is set as the current position of the workpiece coordinate system.

This function returns the shifted workpiece coordinate zero point to W1, and sets the distance from W1 to the

current position as the workpiece coordinate system's present position. This is valid for all workpiece coordinate

systems.

The workpiece coordinate system shifted with G92 is preset with G92.1.

(W1) Workpiece coordinate zero point

(W1') Workpiece zero point after G92 command

(Example)

G28 X0 Y0 ; ... (1)

G00 G90 X1. Y1. ; ... (2)

G92 X0 Y0 ; ... (3)

G00 X500 Y500 ; ... (4)

G92.1 X0 Y0 ; ... (5)

(a) Local coordinates x (b) Local coordinates y

(Wx) (Wy) Workpiece coordinate (x, y) after preset

(C) Current position

(W1) Workpiece coordinate zero point

(W1') Workpiece zero point after G92 command

Program example

X

Y

X

Y

(W1)

(W1')

(W1)

(C) (Wx) (C)

(Wy)

(a)

(b)

X

Y

X

Y

(W1)

(1)

(W1)

(2) (3)

(4) (5)

500

1000

1500

500 1000 1500

500

1000

1500

500 1000 1500 (mm) (mm)

(W1')

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

976IB-1501278-Q

If the error check is enabled when the workpiece coordinate system preset is commanded alone in a block (*1), com-

mand all the tool compensation axes when commanding "G92.1" during the tool compensation. When commanding

"G92.1" during the tool length compensation, designate the tool length compensation axis.

If those axes are not commanded, a program error (P29) will occur.

(*1) The setting depends on the MTB specifications (parameter "#1242 set14/bit1").

Cancel the tool nose radius compensation or the tool radius compensation, and command the workpiece coordinate

system preset (G92.1). When the workpiece coordinate system preset (G92.1) is commanded during the tool nose

radius compensation or the tool radius compensation, a program error (P29) will occur if none of the tool compen-

sation axes are commanded.

If the workpiece coordinate system preset (G92.1) is commanded in 3-dimensional coordinate conversion, a pro-

gram error (P921) will occur.

If the workpiece coordinate system preset (G92.1) is commanded during the modal shown below, a program error

(P34) will occur.

(1) Scaling

(2) Coordinate rotation by program

(3) G command mirror image

(4) Tool length compensation along the tool axis

(1) Cancel tool length compensation, tool nose radius compensation, tool radius compensation, and tool position offset when using this function. If this function is executed without canceling them, the workpiece coordinates will be at a position obtained by subtracting the workpiece coordinate offset amount from the machine value. Thus, the compensation vector will be temporarily canceled.

(2) This function cannot be executed while the program is being resumed.

Relationship with other functions

Tool No./Tool Compensation No. (T Code)/tool length compensation

Tool nose radius compensation / Tool radius compensation

3-dimensional coordinate conversion

Other G code commands

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

977 IB-1501278-Q

20.8 Workpiece Position Offset for Rotary Axis ; G54.2

For a machine equipped with a table rotary axis, this function compensates an installation error between workpiece

coordinate zero point and workpiece reference position.

When a workpiece set on a rotary table is machined, if there is a difference between the workpiece coordinate zero

point and the workpiece reference position, an error occurs in the machined shape. Setting the installation error

(workpiece position offset amount for rotary axis) between the workpiece coordinate zero point and the workpiece

reference position corrects in accordance with the table rotation angle for each block. This can reduce the shape

error when machining is carried out, which provides more accurate machining.

This function is available only in the first part system. When this function is used in other than the first part system,

the program error (P34) occurs.

The offset is applied to an axis for which the parameter "#2100 rpcax" (Workpiece position offset for rotary axis valid)

is enabled.

Function and purpose

Workpiece position offset for rotary axis

Invalid Valid

(a1) Workpiece position before rotation (S-err) Shape error

(a2) Workpiece position after rotation of -90 (W-err) Workpiece installation error

(a3) Workpiece reference position Offset amount after rotation

Tool path

(a2)

(S-err)

(W-err) (W)

(a1)

-90

(a3)

(W-err) (W)

-90

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

978IB-1501278-Q

The function is available for the machine configuration with the right-hand orthogonal coordinate system defined in

ISO standard.

This function applies to three types of machine configurations as below:

(1) This function is not applicable to the machines as below: A machine whose direction from the tool tip to the tool base is not parallel to the Z axis (Z axis positive di-

rection) when the machine positions of all the rotary axes are 0 A machine whose rotation center axis of the rotary axis is not parallel to any orthogonal coordinate axis

(1) G54.2 must be commanded alone in a block. When it is commanded in the same block with other G codes, travel commands or miscellaneous commands, the program error (P34) occurs.

(2) When address P is not commanded, the program error (P33) occurs. Also, commanding values other than "0" to "8" to the address P causes the program error (P35).

(3) If "P" is given in a block that contains no G54.2 command, the address P is not regarded as a command for spec- ifying the workpiece position offset No. for rotary axis.

(4) G54.2 is a modal command of the G code group 23.

(5) When "G54.2 Pm" is given during "G54.2 Pn", offset is applied with the offset No. "m" that is specified later.

(6) Designate the compensation amount of the set to be specified with address P for the system variable. For details about the system variable for designating the compensation amount, refer to "23.9 System Variables (Workpiece Position Offset Amount for Rotary Axis)".

Axis configuration of applicable machines

Type Table tilt type Combined type 4-axis machine

Description Two rotary axes on table side One rotary axis each on tool head side and table side

Machine equipped with 3 orthogonal axes and 1 rotary axis

Example of machines

Primary rota- ry axis (a)

Table-side 1st rotary axis Tool-side rotary axis

None

Secondary rotary axis

(b)

Table-side 2nd rotary axis Table-side rotary axis

None

Command format

G54.2 P__ ;

P Set No. of workpiece position offset for rotary axis (n = 0 to 8) 0: Cancels the workpiece position offset for rotary axis. 1 to 8: Applies offset with the corresponding workpiece position offset amount.

(a)

(b)

(a)

(b)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

979 IB-1501278-Q

When workpiece position offset for rotary axis is commanded, a coordinate system, to which the workpiece position

offset amount for rotary axis is reflected, is to be defined. The coordinate system is called "workpiece position coor-

dinate system for rotary axis".

The workpiece coordinate position counter at the time when this function is enabled indicates the position on the

workpiece position coordinate system for rotary axis.

When the workpiece coordinate system is changed while the workpiece position offset for rotary axis is enabled, the

workpiece position coordinate system for rotary axis according to the workpiece coordinate system after the change

is defined. Thus, the workpiece position offset amount for rotary axis needs to be commanded in accordance with

the measured workpiece coordinate system.

The following figure shows the relation between the workpiece position coordinate system for rotary axis on the

workpiece coordinate system (G54) and the workpiece position coordinate system for rotary axis on the workpiece

coordinate system (G55) when the local coordinate system offset amount is "0". Even if the workpiece position offset

amount for rotary axis is the same, the zero points of the workpiece position coordinate systems for rotary axis are

different.

Detailed description

Workpiece position coordinate system for rotary axis

(W)

(L)

Workpiece coordinate system

Local coordinate system

Offset amount of workpiece position for rotary axis

Workpiece position coordinate system for rotary axis

Offset amount of local coordinate system

(W)

(W)

Workpiece coordinate system (G55)

Workpiece coordinate system (G54)

Workpiece position coordinate system for rotary axis

Workpiece position coordinate system for rotary axis

Offset amount of workpiece position for rotary axis (G54.2 P1)

Offset amount of workpiece position for rotary axis (G54.2 P1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

980IB-1501278-Q

The workpiece position offset for rotary axis mode is turned ON by the command of "G54.2 Pn" (n = 1 to 8). The

machine moves by the workpiece position offset amount for rotary axis specified with the address "P". When a rotary

axis angle at G54.2 command is different from the rotary axis angle at measurement of the workpiece position offset

amount for rotary axis specified by P, the workpiece position offset amount for rotary axis according to the current

rotary axis angle is calculated and machine moves.

When the workpiece position offset for rotary axis is started or canceled, the operation depends on the MTB speci-

fications (parameter "#1250 set22/bit7").

Items (a) and (b) in the table below show differences depending on this setting.

(a): The machine moves. (bit7 = 0)

(b): The machine does not move. (bit7 = 1)

(*1) #5521 to #5525 are system variables of the workpiece position offset amount for rotary axis. For details, refer to "23.9

System Variables (Workpiece Position Offset Amount for Rotary Axis)".

(*2) This setting example is available when an error occurs 5.0 mm in the X axis direction and 5.0 mm in the Y axis direction

while the angle of the rotary axis is set to 0 degree.

Operation example

Start/Cancel of workpiece position offset for rotary axis

Program Workpiece coordinate

position Machine position

Details of operation X Y Z X Y Z

G54; -20 10 100 -20 10 0 Initial position

#5521 = 5.0; (*1) -20 10 100 -20 10 0 Set the workpiece position offset amount for rotary axis. (*2)#5522 = 5.0; -20 10 100 -20 10 0

#5523 = 0.0; -20 10 100 -20 10 0

#5524 = 0.0; -20 10 100 -20 10 0

#5525 = 0.0; -20 10 100 -20 10 0

N1 G54.2 P1; (a): -20 (b): -25

(a): 10 (b): 5

100 (a): -15 (b): -20

(a): 15 (b): 10

0 Workpiece position offset for rotary axis is enabled.

(a) The machine moves by the desig- nated offset amount.

(b) The machine does not move but the workpiece coordinate position shifts.

N2 G90 G00 X-5. Y0.; -5 0 100 0 5 0 The machine moves by the set offset amount in the state that the offset is applied to X and Y axes directions.

G00 Z5.; -5 0 5 0 5 -95

G01 Z0. F1000; -5 0 0 0 5 -100

N3 G90 G01 X20.; 20 0 0 25 5 -100

N4 Y10.; 20 10 0 25 15 -100

N5 X0.; 0 10 0 5 15 -100

N6 Y-5.; 0 -5 0 5 0 -100

N7 G54.2 P0; (a): 0 (b): 5

(a): -5 (b): 0

0 (a): 0 (b): 5

(a): -5 (b): 0

-100 Workpiece position offset for rotary axis is disabled.

(a) The machine moves by the can- celed offset amount.

(b) The machine does not move but the workpiece coordinate position shifts by the canceled offset amount.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

981 IB-1501278-Q

Although the above example is described with absolute command (G90), the operation is the same even with incre-

mental command (G91).

When "The machine does not move" (#1250/bit7 = 0) is selected, the machine does not move by the workpiece po-

sition offset amount for rotary axis specified by "P" in "G54.2 Pn".

When the absolute command (G90) is issued, the end point of the next movement block will be the position to which

the offset is applied.

When the incremental command (G91) is issued, the end point will not be the position to which the offset is applied

because the machine moves by the commanded incremental amount from the current position.

When the machine moves When the machine does not move

Y

X

W

N1 N2

N3

N5 N6

N7

N4 Tool

Workpiece

Movement in accordance with the start of G54.2

Movement in accordance with the end of G54.2

Workpiece position offset amount for

rotary axis Workpiece

coordinate system

Y

X

W

N2

N3

N5 N6 N4

No movement at the first block of G54.2

Tool

No movement at the last block of G54.2

Workpiece

Workpiece coordinate system

Workpiece position offset amount for

rotary axis

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

982IB-1501278-Q

In G54.2 mode, the offset amount which is designated with "P" is applied. However, when the rotary axis is rotated,

a direction that the offset to be applied is changed in accordance with the rotary axis angle in the block end point.

With the change in the direction of the offset to be applied, the linear axes move.

The offset amount is calculated only for the block end point of machining programs. Therefore, the path is not nec-

essarily performed as it is intended.

When the workpiece position offset for rotary axis is started or canceled, the operation depends on the MTB speci-

fications (parameter "#1597 rpcNoMove").

Items (a) and (b) in the table below show differences depending on this setting.

(a): The machine moves. (#1597 = 0)

(b): The workpiece coordinate position moves. (The machine does not move.) (#1597 = 1)

(*1) #5521 to #5525 are system variables of the workpiece position offset amount for rotary axis. For details, refer to "23.9

System Variables (Workpiece Position Offset Amount for Rotary Axis)".

(*2) This setting example is available when an error occurs 5.0 mm in the X axis direction and 5.0 mm in the Y axis direction

while the angle of the rotary axis is set to 0 degree.

Operation during workpiece position offset for rotary axis

Program Workpiece coordinate posi-

tion Machine position

Details of operation X Y Z X Y Z

G54; -20 10 100 -20 10 0 Initial position

#5521 = 5.0; (*1) -20 10 100 -20 10 0 Set the workpiece position off- set amount for rotary axis. (*2)#5522 = 5.0; -20 10 100 -20 10 0

#5523 = 0.0; -20 10 100 -20 10 0

#5524 = 0.0; -20 10 100 -20 10 0

#5525 = 0.0; -20 10 100 -20 10 0

N1 G54.2 P1; -20 10 100 -15 15 0 Workpiece position offset for rotary axis is enabled. The machine moves by the designated offset amount.

N2 G90 G00 C90.; -20 (a): 10 (b): 20

100 -15 (a): 5 (b): 15

0 The offset direction varies by 90 degrees. Offset is applied by 5.0 mm in the X axis direction and -5.0 mm in the Y axis direction.

(a) The machine moves by 10 mm in the negative direction of Y axis.

(b) The machine does not move but the workpiece coordinate position varies.

N3 G90 G00 X-5. Y0.; -5 0 100 0 -5 0 The machine moves by the changed offset amount in the X and Y axes directions while off- set is applied.

G00 Z5.; -5 0 5 0 -5 -95

G01 Z0. F1000; -5 0 0 0 -5 -100

N4 G90 G01 X10.; 10 0 0 15 -5 -100

N5 Y-20.; 10 -20 0 15 -25 -100

N6 X0.; 0 -20 0 5 -25 -100

N7 Y5.; 0 5 0 5 0 -100

N8 G54.2 P0; 0 5 0 0 5 -100 Workpiece position offset for rotary axis is disabled. The machine moves by the canceled offset amount.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

983 IB-1501278-Q

When the machine does not move (#1597 is set to "0"), the position on the machine coordinate system does not

change, but the position on the workpiece coordinate system changes.

When the absolute command (G90) is issued, the offset is applied to the end point of the next movement block.

When the incremental command (G91) is issued, the offset is not applied to the end point of the next movement

block because the machine moves by the commanded incremental amount from the current position.

Whether to cancel the offset amount when NC is reset depends on the MTB specifications (combination of the pa-

rameters "#1151 rstint" and "#1210 RstGmd/bit16").

The same operation is also performed for emergency stop.

Even if the setting is designed so that the axis moves when the workpiece position offset for rotary axis is changed,

the axis does not move by the canceled offset amount when NC is reset.

When the machine moves When the machine does not move

The workpiece position offset amount for rotary axis varies. When the workpiece position offset for rotary axis varies, no axis movement occurs.

Operation at NC reset

Parameter setting Operation at reset

#1151 = 1 and "#1210/bit16" = 0 The mode before the reset is canceled. (Same as "G54.2 P0".)

Other than the above The mode before the reset is held.

Y

X

N1 N2

N3 N4

N5

N6

N7

N8W

Tool

Workpiece position after rotation of 90

Workpiece position offset amount for rotary axis before rotation

Workpiece position offset amount for rotary axis after rotation of 90

Workpiece position before rotation

Y

X

N1

N3

N4

N5

N6

N7

N8 W

Tool

Workpiece position after rotation of 90

Workpiece position before rotation

Workpiece position offset amount for rotary axis before rotation

Workpiece position offset amount for

rotary axis after rotation of 90

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

984IB-1501278-Q

The following describes the operation with a machining example of cutting in sector form by rotating a rotary table.

When there is an error between the workpiece coordinate zero point and the workpiece reference position, the work-

piece position offset for rotary axis function enables machining in the same way as in the case with no installation

error.

However, if C axis command is issued in one block, the correct machining shape may not be obtained because the

offset is applied only to the block end point.

(*1) #5521 to #5525 are system variables of the workpiece position offset amount for rotary axis. For details, refer to "23.9

System Variables (Workpiece Position Offset Amount for Rotary Axis)".

(*2) This setting example is available when an error occurs 5.0 mm in the X axis direction and 5.0 mm in the Y axis direction

while the angle of the rotary axis is set to 0 degree.

Operation example

Program Workpiece coordinate posi-

tion Machine position

Details of operation X Y Z X Y Z

G54; 0 0 100 0 0 0 Initial position

#5521 = 5.0; (*1) 0 0 100 0 0 0 Set the workpiece position off- set amount for rotary axis. (*2)#5522 = 5.0; 0 0 100 0 0 0

#5523 = 0.0; 0 0 100 0 0 0

#5524 = 0.0; 0 0 100 0 0 0

#5525 = 0.0; 0 0 100 0 0 0

N1 G54.2 P1; 0 0 100 5 5 0 Workpiece position offset for rotary axis is enabled. The machine moves by the designated offset amount.

G00 Z5.; 0 0 5 5 5 -95 The machine moves while the offset is applied by 5.0 mm to the X axis and Y axis respec- tively.

G01 Z0. F1000; 0 0 0 5 5 -100

N2 G90 G01 X10.; 10 0 0 15 5 -100

N3 C10.; 10 0 0 15.79 4.06 -100 The offset amount varies de- pending on the angle of the C axis. Accordingly, the machine moves in the X axis and Y axis directions.

N4 C20.; 10 0 0 16.41 2.99 -100

N5 C30.; 10 0 0 16.83 1.83 -100

N6 C40.; 10 0 0 17.04 0.62 -100

N7 C50.; 10 0 0 17.04 -0.62 -100

N8 C60.; 10 0 0 16.83 -1.83 -100

N9 C70.; 10 0 0 16.41 -2.99 -100

N10 C80.; 10 0 0 15.79 -4.06 -100

N11 C90.; 10 0 0 15 -5 -100

N12 G54.2 P0; 10 0 0 10 0 -100 Workpiece position offset for rotary axis is disabled. The machine moves by the canceled offset amount.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

985 IB-1501278-Q

Column A: Operation to be performed when the combination function is commanded during modal of this function

(G54.2 Pn)

Column B: Operation to be performed when this function (G54.2 Pn) is commanded during modal of the combination

function

x: Alarm generation (the text in parentheses refers to the number of the program error to be generated)

-: No combination

Relationship with other functions

G code Function name (A) (B)

G00 Positioning (*1) (*1)

G0.5 Rapid traverse block overlap (*2) (*2)

G01 Linear interpolation (*3) (*3)

G02/G03 Circular interpolation (*4) (*4)

G02/G03 Helical interpolation (*4) (*4)

G02.1/G03.1 Spiral interpolation (*4) (*4)

G02.3/G03.3 Exponential interpolation (P34) (P34)

G02.4/G03.4 3-dimensional circular interpolation (P34) (P34)

G04 Dwell (*5) -

G05 P0 High-speed mode cancel (*5) -

P1 High-speed machining mode 33.7 m/min (*6) 33.7 m/min (*6)

P2 168 m/min (*6) 168 m/min (*6)

P10000 High-speed high-accuracy control II 168 m/min (*6) 168 m/min (*6)

P20000 High-speed high-accuracy control III 270 m/min (*6) 270 m/min (*6)

G05.1 Q0 Cancel (*5) (*7)

Q1 High-speed high-accuracy control I 67.5 m/min (*6) 67.5 m/min (*6)

Q2 Spline interpolation (P34) (P34)

G06.2 NURBS interpolation (P34) (P34)

G07 Hypothetical axis interpolation (*4) (*4)

G07.1/G107 Cylindrical interpolation (P34) (P34)

G08 High-accuracy control (*5) (*5)

G09 Exact stop check (*8) (*8)

Y

X

N1

N12

N2

W

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

986IB-1501278-Q

G10 Data input by program (*9) (P34)

G11 Data input by program cancel (*5) (*7)

G12/G13 Circular cutting (P34) (P34)

G12.1/G112 Polar coordinate interpolation ON (P34) (P34)

G13.1/G113 Polar coordinate interpolation OFF (*5) (*7)

G15 Polar coordinate command OFF (*5) (*7)

G16 Polar coordinate command ON (P34) (P34)

G17 - G19 Plane selection (*9) (*9)

G20/G21 Inch/metric (*11) (*11)

G22 Stroke check before travel ON (*7) (*7)

G23 Stroke check before travel cancel (*5) (*5)

G27 Reference position check (*12) -

G28 Reference position return (*12) -

G29 Start position return (*12) -

G30 2nd to 4th reference position return (*12) -

G30.1 - G30.6 Tool exchange position return (*12) -

G31 Skip (*13) (*13)

G31.1 - G31.3 Multi-step skip (*13) (*13)

G33 Thread cutting (P34) -

G34 Special fixed cycle (bolt hole cycle) (*7) (*7)

G35 Special fixed cycle (line at angle) (*7) (*7)

G36 Special fixed cycle (arc) (*7) (*7)

G37 Automatic tool length measurement (*12) (*12)

G37.1 Special fixed cycle (grid) (*7) (*7)

G38 Tool radius compensation vector designation (*14) (*14)

G39 Tool radius compensation corner arc (*14) (*14)

G40 Tool radius compensation cancel (*5) (*7)

G41/G42 Tool radius compensation (*14) (*14)

G40.1/G150 Normal line control cancel (*5) (*7)

G41.1/G151 G42.1/G152

Normal line control (P34) (P34)

G41.2/G42.2 3-dimensional tool radius compensation (P34) (P34)

G43/G44 Tool length compensation (*14) (*14)

G43.1 Tool length compensation along the tool axis (P34) (P34)

G43.4/G43.5 Tool center point control (P34) (P34)

G43.7 Tool position compensation (P34) (P34)

G45 - G48 Tool position offset (*14) (*14)

G49 Tool length compensation cancel Tool length compensation along the tool axis cancel Tool center point control cancel Tool position compensation cancel

(*5) (*7)

G50 Scaling cancel (*5) (*7)

G51 Scaling ON (P34) (P34)

G50.1 Mirror image by G code cancel (*5) (*7)

G51.1 Mirror image by G code ON (P34) (P34)

G52 Local coordinate system setting (*15) (*15)

G53 Basic machine coordinate system selection (*12) (*12)

G53.1/G53.6 Tool axis direction control (P34) -

G54 - G59 Workpiece coordinate system selection (*15) (*15)

G54.1 Extended workpiece coordinate system selection (*15) (*15)

G54.2 Workpiece position offset for rotary axis (*16) (*16)

G code Function name (A) (B)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

987 IB-1501278-Q

(*1) Operates at rapid traverse rate.

(*2) Operates at rapid traverse overlap.

(*3) Operates at cutting feedrate.

(*4) The function described at the left is performed in a position to which offset is applied.

(*5) The function described at the left is performed.

G54.4 Workpiece installation error compensation (P34) (P34)

G60 Unidirectional positioning (*4) -

G61 Exact stop check mode (*8) (*8)

G61.1 High-accuracy control ON (*5) (*5)

G61.2 High-accuracy spline (P34) (P34)

G61.4 Spline interpolation II (P34) (P34)

G62 Automatic corner override (*5) (*5)

G63 Tapping mode (*5) (*5)

G64 Cutting mode (*5) (*5)

G65 User macro simple call (*4) (*17)

G66/G66.1 User macro modal call (*4) (*17)

G67 User macro modal call cancel (*5) (*7)

G68 Coordinate rotation by program ON (P34) (P34)

G68.2/G68.3 Inclined surface machining command (P34) (P34)

G69 Coordinate rotation by program OFF Inclined surface machining command OFF

(*5) (*7)

G70 - G89 Fixed cycle (*7) -

G90 Absolute command (*15) (*15)

G91 Incremental command (*15) (*15)

G92 Coordinate system setting (*15) (*15)

G92.1 Workpiece coordinate system preset (*15) (*15)

G93 Inverse time feed (*5) (*5)

G94 Feed per minute (*5) (*5)

G95 Feed per revolution (*5) (*5)

G96 Constant surface speed control ON (P34) (P34)

G97 Constant surface speed control OFF (*5) (*7)

G98 Fixed cycle (Initial level return) (*18) -

G99 Fixed cycle (R point level return) (*18) -

G100 - G225 User macro (*4) (*17)

G120.1 Machining condition selection I (*5) (*5)

G121 Machining condition selection I cancel (*5) -

G122 Sub part system I (P34) (P34)

G127 Prohibit manual arbitrary reverse run (P34) (P34)

G140 Arbitrary axis exchange command (P34) (P34)

G141 Arbitrary axis exchange return command (P34) (P34)

G142 Arbitrary axis exchange/reference axis arrange re- turn command

(P34) (P34)

G145 Sub part system control cancel (P34) (P34)

G160 Torque limitation skip (*5) (*5)

G186 Interference check III interfering object data enable command

(*5) (*14)

G code Function name (A) (B)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

988IB-1501278-Q

(*6) Fine segment processing capability in G01 block of 1 mm line segment is described.

The performance described here applies under the following conditions.

6-axis system (including spindle) or less 1-part system 3 axes or less commanded simultaneously in G01 Block containing only axis name and movement amount (Does not contain macro or variable command) During G61.1 high-accuracy control mode or during cutting mode (G64) During tool radius compensation cancel (G40) (only for high-speed machining mode II) Parameter "#1259 set31/bit1" is set to "1"

(The number of process blocks per unit time is configured at low speed mode.)

Depending on the combination with other functions, operation may not performed as shown in the table.

(*7) The function described at the left is performed at the position after offset.

(*8) A deceleration check is performed at the block end point after offset.

(*9) The function is enabled at the next G54.2 command.

(*10) Operates on a selected plane.

(*11) Operates in a commanded unit system. Offset amount is shown in an original unit system.

(*12) Operates while the offset is canceled temporarily.

(*13) Skips at "skip" signals.

(*14) Offset is applied to the position after the operation (or to the state after the operation) of the function described

at the left.

(*15) Offset is applied in the commanded coordinate system.

(*16) Offset amount for the sets commanded with P is applied.

(*17) Offset is applied.

(*18) Returns to the initial point or the R point after offset.

(1) If any of the parameters related to the workpiece position offset for rotary axis or the workpiece position offset amount for rotary axis is changed during G54.2 mode, the change is applied after G54.2 is commanded next time. However, when "#2100 rpcax" of an axis is disabled during G54.2 mode, the workpiece position offset for rotary axis is disabled for the disabled axis; thus, the operation is performed with the offset amount when the function is enabled until it is canceled. For example, under the condition that the workpiece position offset for rotary axis is enabled for all the X, Y and Z axes, when it is disabled only for the X axis during execution of "G54.2 P1", only the X axis does not move with the offset amount of "G54.2 P2" but with that of "G54.1 P1" even when "G54.2 P2" is commanded. When "G54.2 P0" is commanded, all the X, Y and Z axes return to the workpiece coordinate system.

(2) For M80 and M830 Series, when commands are given to two or more rotary axes simultaneously, the program error (P10) may occur because linear axes also move according to the offset.

(3) When "The machine does not move." (*1) is selected, designate the absolute position with G00 or G01 after the G54.2 command, and perform positioning. No offset is applied with the incremental command. For the circular command, offset is only applied to the end point, so a program error (P70 or P71) may occur.

(*1) This setting depends on the MTB specifications (the parameter "#1250 set22/bit7"). Refer to "Operation De-

scription" for details.

(4) When the rotary axis is moved by manual interrupt operation during G54.2 mode, the workpiece position offset amount for rotary axis is unchanged. The offset amount is calculated when the rotary axis travel command or G54.2 command is given in a program. When the "Manual absolute" signal (ABS) is "1" (ON), and if the rotary axis is moved by an incremental command after being moved by manual interruption, the axis moves to the angle (end point) where the travel amount of the rotary axis by manual interruption is included, and the offset is updated according to the angle.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

989 IB-1501278-Q

20.9 3-dimensional Coordinate Conversion; G68/G69

With the 3-dimensional coordinate conversion function, a new coordinate system can be defined by shifting the zero

point and rotating in respect to the X, Y and Z axes of the currently set workpiece coordinate system. By using this

function, an arbitrary spatial plane can be defined, and machining on that plane can be carried out with normal pro-

gram commands.

The validity of this function depends on the MTB specifications. Refer to the specifications of your machine tool.

When 3-dimensional coordinate conversion is commanded, the zero point is shifted by the command value (x, y, z)

in respect to the current local coordinate system. A new G68 program coordinate system rotated by the designated

rotation angle "r" in respect to the commanded rotation center direction (i, j, k) is created.

The local coordinate system is the same as the workpiece coordinate system when the local coordinate system off-

set is not ON.

Function and purpose

(M) Machine coordinate system (P) G68 Program coordinate system (W) Workpiece coordinate system

Command format

3-dimensional coordinate conversion mode command

G68 X__ Y__ Z__ I__ J__ K__ R__ ;

X, Y, Z Rotation center coordinates Designate with the absolute position of the local coordinate system.

I, J, K Rotation center axis direction (1: Designated, 0: Not designated) Set only one of the three axes to "1". Set the other two axes to "0".

R Rotation angle The counterclockwise direction looking at the rotation center from the rotation center axis di- rection is positive (+). The setting range is -360 to 360, and the unit follows the minimum command unit.

3-dimensional coordinate conversion mode cancel command

G69 ;

Y'

X'

X

Y

Z'

Z (M)

(P)

(W)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

990IB-1501278-Q

(1) Command the rotation center coordinates with the absolute command.

(2) If the rotation center coordinates are omitted, the zero point of the currently set coordinate system will be the rotation center coordinates.

(3) Designate values for all of I, J and K. If any of the I, J, K is not designated, the command for coordinate rotation by program will be valid.

(4) Set "1" in only one of I, J and K, and set "0" for the other two. A program error (P33) will occur if "1" is set in two or more.

(5) A program error (P33) will also occur if "0" is set for all addresses I, J and K.

(6) If a number other than "0" (including numbers of two or more digits) is designated for addresses I, J and K, this will be handled as "1". If a blank is designated, this will be handled as "0".

(7) If a G code that cannot be commanded in the 3-dimensional coordinate conversion modal is issued, a program error (P921) will occur. When 3-dimensional coordinate conversion is commanded during the modal where 3- dimensional coordinate conversion cannot be carried out, a program error (P922) will occur. For details, refer to "Relationship with other functions".

(8) Issue this G code alone in a block. If another G code command is issued to the same block as that of the G68 command, a program error (P923) will occur.

(9) The 3-dimensional coordinate conversion command for the rotary axis will result in a program error (P32).

(10) If a 3-dimensional coordinate conversion command is issued when there are no specifications for 3-dimensional coordinate conversion, a program error (P920) will occur.

(11) Addresses I, J, and K for determining the rotation center axis refer to the axes set to basis axis I (#1026 base_I), basis axis J (#1027 base_J), and basis axis K (#1028 base_K) respectively. Designate the correct basis axes I, J and K. If these settings are incorrect, a program error (P610) will occur.

(1) By issuing the 3-dimensional coordinate conversion command, a new coordinate system (G68 program coordi- nate system) will be created on the local coordinate system.

(2) The coordinate system for the 3-dimensional coordinate conversion rotation center coordinates is the local co- ordinate system. Therefore, these coordinate systems are affected by the following coordinate system offset and coordinate sys- tem shift amount.

When local coordinate system is set with G52 G92 shift amount by G92 command Coordinate system offset corresponding to the workpiece coordinate system selected with the command External workpiece coordinate offset Manual interruption amount or manual feed amount when manual ABS is OFF

(3) If 3-dimensional coordinate conversion is commanded again during the 3-dimensional coordinate conversion modal, a G68 program coordinate system is created on the current G68 program coordinate system, and is used as a new G68 program coordinate system.

(4) The local coordinate system cannot be created (G52) on the G68 program coordinate system after the conver- sion command is issued. (If G52 is issued, a program error (P921) will occur.)

(5) After the conversion command is issued, the G68 program coordinate system can be canceled either by the G69 command or reset input. (However, when the parameter "#1151 rsint" is set to "0", the 3-dimensional coordinate conversion mode will be kept.)

(6) Whether to run the manual operation during the 3-dimensional coordinate conversion modal in the G68 program coordinate system can be designated by the "3D coordinate conversion: Manual feed coordinates switch" signal. (This depends on the MTB specifications.)

(7) Even if the 3-dimensional coordinate conversion modal state is canceled by reset, etc., the manual operation is possible in the G68 program coordinate system before the 3-dimensional coordinate conversion modal is can- celed, until the G69 command is issued. In the same way as during the 3-dimensional coordinate conversion modal, the target coordinate can be desig- nated by switching the manual feed coordinate for 3-dimensional coordinate conversion.

Detailed description

Coordinate system

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

991 IB-1501278-Q

(1) For the rotation angle, the counterclockwise direction looking at the rotation center from the plus direction of the rotation center axis is the plus (+) direction.

(2) The rotation angle command unit with no decimal point depends on the parameter "#1078 Decpt2" (Decimal pnt type 2).

(3) If the rotation angle is omitted, the rotation angle will be handled as 0.

(1) The rotation center coordinate of this G code is commanded with the local coordinate system (G68 program co- ordinate system during the 3-dimensional coordinate conversion modal).

(2) The rotation center coordinate designation is handled as an absolute command either the absolute modal or the incremental modal (G90 or G91) is being executed at that point.

(3) If the rotation center coordinate is omitted, it will be handled as if the zero point of the current local coordinate (G68 program coordinate system during the 3-dimensional coordinate conversion modal) is designated for the omitted address's axis. (This is equivalent to simply setting "0".)

By commanding 3-dimensional coordinate conversion during the 3-dimensional coordinate conversion modal, two

or more multiple commands can be issued.

(1) The 3-dimensional coordinate conversion command in the 3-dimensional coordinate conversion modal is com- bined with the conversion in the modal.

(2) If 3-dimensional coordinate conversion is overlapped during the 3-dimensional coordinate conversion modal, the overlapped 3-dimensional coordinate conversion will be created on the coordinate system (G68 program coor- dinate system) created with 3-dimensional coordinate conversion in the modal. Therefore, the rotary axis and coordinates must be designated with this G68 program coordinate system. If creating a 90 rotated coordinate system for X axis and Y axis each, commands must be issued as in Example 2, not Example 1.

(3) Even if multiple commands are issued, all 3-dimensional coordinate conversion commands are canceled by ex- ecuting the 3-dimensional coordinate conversion cancel command (G69) once.

Rotation angle

Rotation center coordinates

Multiple commands

G68 X0. Y0. Z0. I1 J0 K0 R90.; X axis rotation 90

G68 X0. Y0. Z0. I0 J1 K0 R90.; Y axis rotation 90 (The Y axis designated here is the same as the Z axis in the original coordinate system.)

G68 X0. Y0. Z0. I1 J0 K0 R90.; X axis rotation 90

G68 X0. Y0. Z0. I0 J0 K1 R-90.; Z axis rotation 90 (The Z axis -90 rotation designated here is the same as the Y axis +90 rotation in the original coordinate system.)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

992IB-1501278-Q

The coordinate values (Xp, Yp, Zp) in the newly set G68 program coordinate system and the coordinate values (Xm,

Ym, Zm) in the reference workpiece coordinate system are converted as shown below.

R1, R2 : Rotation row calculated from first and second G68 parameter

T1, T2 : Movement row calculated from first and second G68 parameter

The conversion rows Rn and Tn (n = 1, 2) are as follow.

Rn conversion row

Tn conversion row

Whether to run manual operations (jog feed, incremental feed, and manual handle feed) during the 3-dimensional

coordinate conversion modal in the coordinate system (G68 program coordinate system) after the 3-dimensional

coordinate conversion command was issued can be designated by switching the manual feed coordinate for 3-di-

mensional coordinate conversion.

When the axis stops during machining, operations such as a pulling operation by manual feed can be performed in

the G68 program coordinate system.

(1) Coordinate switching enable conditions A manual operation coordinate change by switching the manual feed coordinate for 3-dimensional coordinate conversion is available only when the "3D coordinate conversion: Manual feed valid" signal is set to ON. (The operation of the PLC signal depends on the MTB specifications.) The manual operation coordinate change by switching the manual feed coordinate for 3-dimensional coordinate conversion becomes valid after three basic axes have stopped. When the manual feed coordinate for 3-dimen- sional coordinate conversion is switched while even one of three basic axes is moving, a coordinate change is performed after three basic axes have stopped. The "3D coordinate conversion: Manual feed valid" signal is set to ON when all of the following conditions are satisfied.

(a) One of the jog, incremental, or handle feed modes is selected.

(b) G68 (3-dimensional coordinate conversion command) is commanded at least once.

However, if the signal is canceled by the G69 command, it is not turned ON until G68 is commanded again.

Conversion method for 3-dimensional coordinate conversion

[1st G68 command]

[Xm, Ym, Zm, 1]=[Xp, Yp, Zp, 1]R1 T1 (Forward row)

[Xp, Yp, Zp, 1]=[Xm, Ym, Zm, 1](T1-1)(R1-1) (Reverse row)

[2nd G68 command]

[Xm, Ym, Zm, 1]=[Xp, Yp, Zp, 1]R2 T2 R1 T1

[Xp, Yp, Zp, 1]=[Xm, Ym, Zm, 1](T1-1)(R1-1)(T2-1)(R2-1)

I designation (rotation around X axis)

J designation (rotation around Y axis)

K designation (rotation around Z axis)

x, y, z : Rotation center coordinates (parallel movement amount) I, J, K : Rotation axis selection R : Rotation angle

Manual operation in G68 program coordinate system

1 0 0 0

0 cosR sinR 0

0 - sinR cosR 0

0 0 0 1

cosR 0 - sinR 0

0 1 0 0

sinR 0 cosR 0

0 0 0 1

cosR sinR 0 0

- sinR cosR 0 0

0 0 1 0

0 0 0 1

1 0 0 0

0 1 0 0

0 0 1 0

x y z 1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

993 IB-1501278-Q

(2) Operation example The absolute coordinate positions are displayed in the G68 program coordinate system with a parameter. This depends on the MTB specifications (parameter "#1561 3Dcdc"). The machine zero point is used as the workpiece coordinate zero point. Also, the manual ABS is set to ON to return to the position commanded by the machining program with the absolute command after a manual inter- ruption.

(1) Set mode selection to automatic operation (memory, MDI, tape, etc.) mode.

(2) Execute the following machining program, then perform single block stop after the N03 block has been completed... (a)

N01 G68 X0. Z0. Y0. I0 J1 K0 R45. ; Set the G68 program coordinate system (X'Y'Z') which has been

rotated +45in the Y axis direction around the (X0, Z0).

N02 G00 X1.; N03 G00 Z-10.;

Position the axis near the hole position in the G68 program coor-

dinate system.

N04 G01 Z-20.; Cutting in G68 program coordinate system

(3) Set the handle mode, then select the Z axis with the 1st handle. Then, check that the output signal that enables the manual feed for 3-dimensional coordinate conversion is set to ON.

(4) Set to ON the signal that switches the manual feed coordinate for 3-dimensional coordinate conversion.

(5) Move the axis by -5. with the handle in the Z' direction of the G68 program coordinate, then check the hole position... (b)

(6) Move the axis by +7. with the handle in the Z' direction to retract the tool... (c)

(7) After executing an automatic start, execute the N04 block... (d)

Absolute coordinate Machine coordinate

(a) Positioning X 1.000 -6.364

Z -10.000 -7.778

(b) Hole position check X 1.000 -9.900

Z -15.000 -11.314

(c) Retract X 1.000 -4.950

Z -8.000 -6.364

(d) Cutting X 1.000 -13.435

Z -20.000 -14.849

(a)

(b)

(c)

(d)

X Z

Z

X

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

994IB-1501278-Q

(3) Precautions

(a) When the automatic and manual operation modes are selected simultaneously, the manual feed for 3-dimen- sional coordinate conversion cannot be commanded. However, manual operation is available only for the axis for which the "Manual automatic simultaneous valid axis" signal is set to ON.

(b) The speed limit is applied so that the speed distributed to the movement amount in the machine axis direction does not exceed the clamp speed of each axis.

(c) If even one axis satisfies the external deceleration conditions, the speed limit is applied so that the movement speed in each axis direction does not exceed the external deceleration speed.

(d) The movement amount by handle feed conforms to that on the G68 program coordinate system. If clamp (*1) is commanded with the number of handle input pulses, the movement amount on the G68 program coordinate system becomes the integral multiple of the handle magnification.

(*1) Whether or not to command clamp depends on the MTB specifications (parameter "#1281 ext17/bit4").

(e) When clamp is commanded with the number of handle input pulses, if the one-scale movement amount by manual feed for 3-dimensional coordinate conversion exceeds the movement amount for a specified time at clamp speed, the operation error (M01 0060) occurs at the time of pulse occurrence, not at the time of handle axis selection, and thus, the tool cannot be moved. To move the tool, reduce the handle magnification.

(f) The manual feed operation for 3-dimensional coordinate conversion is not available in manual reference po- sition return mode. If it is started, an operation error (M01 0140) will occur. To use the manual reference po- sition return mode, set to OFF the signal that switches the manual feed coordinate for 3-dimensional coordinate conversion.

(g) The manual feed operation for 3-dimensional coordinate conversion is not available in tool retract and return mode. If it is started, an operation error (M01 0140) will occur. To use the tool escape mode, set to OFF the signal that switches the manual feed coordinate for 3-dimensional coordinate conversion.

(h) This function is not compatible with the manual tool length measurement function, workpiece position mea- surement function, and manual skip based on the manual feed for 3-dimensional coordinate conversion. If it is started, an operation error (M01 0140) will occur. While the manual tool length measurement function or workpiece position measurement function is active or when manual skip is valid, set to OFF the signal that switches the manual feed coordinate for 3-dimensional coordinate conversion.

(i) When the "Manual automatic simultaneous valid axis" signal is set to ON for any of three basic axes, operation is performed in the same way as when the "manual automatic simultaneous valid axis" signal for three basic axes is set to ON.

(j) When the "Manual machine lock" signal is set to ON for any of three basic axes, operation is performed in the same way as when the "Manual machine lock" signal for three basic axes is set to ON.

(k) When a factor such as manual interlock that triggers the stop of the axis under manual movement occurs at any of three basic axes, execute deceleration stop on the three basic axes.

(l) When the 3-dimensional coordinate conversion modal state is canceled by reset, etc., the manual feed for 3- dimensional coordinate conversion is possible; however, the absolute coordinate position display function and other functions conform to the 3-dimensional coordinate conversion modal state and parameter setting. The coordinate cannot be changed by switching the manual feed coordinate for 3-dimensional coordinate conversion.

(m) If the G69 command exists up to the block to be restart-searched at program restart, it also cancels the state that enables the manual feed in 3-dimensional coordinate conversion as the G69 command does.

(n) In the 3-dimensional coordinate conversion manual-feed mode, two or more axes of three basic axes cannot be moved simultaneously. If they are moved simultaneously, an operation error (M01 0141) will occur.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

995 IB-1501278-Q

(1) With N1, the zero point is shifted by (X, Y, Z) = (10, 0, 0) in respect to the currently set local coordinate system (L). The new G68 program coordinate system (A) rotated -30 in the counterclockwise direction using the Y axis as the center, is set.

(2) With N2, the zero point is shifted by (X, Y, Z)=(0, 10, 0) in respect to the newly set G68 program coordinate sys- tem (A). The new G68 program coordinate system (B) rotated +45 in the counterclockwise direction using the X axis as the center, is set.

(3) With N3, the G68 program coordinate systems that have been set are all canceled, and the state prior to where the first G68 has been commanded is resumed.

Program example

Program example 1

N1 G68 X10.Y0. Z0. I0 J1 K0 R-30.;

N2 G68 X0. Y10. Z0. I1 J0 K0 R45.;

:

N3 G69;

P'(10,0,0)

+Z +Y

+X

+X'

+Z"

+Y"

N3

N1

N2 +Y'

+X"

P(0,0,0)

- 30

45

P"(0,10,0)

(L)

(A)

(B)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

996IB-1501278-Q

This is only a sample program to explain about the operations. (To actually proceed with the machining by using this

program, the dedicated tools and the tool change functions are required.)

(1) Example of machining program using arc cutting

In the following program example, the arc cutting (N3 block) carried out on the top of the workpiece is also carried

out on the side of the workpiece. By using 3-dimensional coordinate conversion, the side can be cut using the

same process (N8 block).

Program example 2

N01 G17 G90 G00 X0 Y0 Z0; Position to the workpiece zero point P.

N02 G00 X100. Y200. Z200.; Move to (100, 200, 200) with rapid traverse.

N03 G02 X100. Y400. J100. F1000; Carry out arc cutting on workpiece top.

N04 G00 Z300.; Escape +100 in +Z direction with rapid traverse.

N05 G68 X0 Y0 Z200. I0 J1 K0 R90.; Set the G68 program coordinate system (X'Y'Z') which has been

rotated +90in the Y axis direction around the (0,0,200).

N06 G17 G90 G00 X0 Y0 Z0; Position to the new program zero point P'.

N07 G00 X100. Y200. Z200.; Move to G68 program coordinate system (100, 200, 200) and

workpiece coordinate system (200, 200, 100) with rapid traverse.

N08 G02 X100. Y400. J100. F1000; Carry out arc cutting on workpiece side.

N09 G00 Z300.; Move +100 in + Z' direction of G68 program coordinate system

with rapid traverse.

N10 G69;

N11 M02;

+X'

+X

N1

P (0,0,0)

N2

N3

N4

N6

P (0,0,200)

+Z

+Z'

N7 N9

+Y'

+Y

N8

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

997 IB-1501278-Q

(2) Example of machining program using fixed cycle

In the following program, the bolt hole circle (N08 block) executed on the top of the workpiece is also carried out

on the side of the workpiece. By using 3-dimensional coordinate conversion, the side can be cut using the same

process (N18 block).

N01 G90 G00 X0 Y0 Z0; Position to the workpiece coordinate system's 1st workpiece

zero point.

N02 F2000;

N03 G00 X100. Y100. Z-600.; Move to (100, 100, -600) with rapid traverse.

N04 G52 X100. Y100. Z-600.; Set the local coordinate system (X'Y'Z') to the (100, 100, -600).

N05 G00 X100. Y10. Z 200.; Move to (100, 10, 200) position in the local coordinate system

with rapid traverse.

N06 G91; Incremental command

N07 G81 Z-10. R5. L0 F2000; Drilling cancel

N08 G34 X100. Y200. I90. J270. K10.; Bolt hole circle

N09 G80; Drilling cancel

N10 G91 G00 X-200.; Move -200 from machining end point in X axis direction with rapid

traverse.

N11 G90 G52 X0 Y0 Z0; Cancel local coordinate system.

N12 G90 G00 X0 Y0 Z0; Position to workpiece zero point.

N13 G00 X100. Y100. Z-400.; Move to (100, 100, -400) with rapid traverse.

N14 G68 X100. Y100. Z-400. I0 J1 K0 R90.; Set G68 program coordinate system (X",Y",Z") rotated +90 in Y

axis direction using (100, 100, -400) position as center.

N15 G00 X100.Y10. Z200.; Move to (100, 10, 200) position in the G68 program coordinate

system with rapid traverse.

N16 G91; Incremental command

N17 G81 Z-10. R5. L0 F200; Drilling cancel

N18 G34 X100.Y200. I90. J270. K10.; Bolt hole circle

N19 G80; Drilling cancel

N20 G91 G00 X-200.; Move -200 from machining end point in X axis direction with rapid

traverse.

N21 G69; Cancel 3-dimensional coordinate conversion modal.

N22 M02; End program.

-Z

(0,0,0)

N1

+Y

+X

N3

+Z

(100,100, - 600)

+X

N5

N10

N12

N13

(100,100, - 400)

N15

N20

N7 N9

N17 N19

+Y

+X

+Z

+Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

998IB-1501278-Q

(1) Circular interpolation Circular interpolation in the 3-dimensional coordinate conversion modal operates according to the coordinate value resulting from 3-dimensional coordinate conversion. With G17, G18 and G19 commands, circular interpo- lation functions normally for all the planes in which 3-dimensional coordinate conversion has been executed.

(2) Fine spline Designation of a spline axis should be done to the movement axis after the 3-dimensional coordinate conversion. When a movement occurs to the axis in which spline cannot be designated, spline will be in the pause status.

(3) Reference position check The 3-dimensional coordinate conversion is applied for the positioning commanded by G27 in the 3-dimensional coordinate conversion modal.

(4) Reference position return 3-dimensional coordinate conversion is applied for the mid-point commanded by G28 and G30 in the 3-dimen- sional coordinate conversion modal. However, reference position return will be carried out without the 3-dimen- sional coordinate conversion.

(5) Tool exchange position return 3-dimensional coordinate conversion is not carried out for the tool change position even if a command from G30.1 to G30.6 is issued in the 3-dimensional coordinate conversion modal. The returning order and position will be on the machine coordinate system.

(6) Tool compensation When the tool length/radius/position compensation is executed in the 3-dimensional coordinate conversion mod- al, the 3-dimensional coordinate conversion is carried out after the compensation value has been applied.

(7) Machine coordinate system selection Coordinate conversion will not be carried out for the machine coordinate system even if G53 command is issued in the 3-dimensional coordinate conversion modal.

(8) Mirror image When the mirror image command is issued in the 3-dimensional coordinate conversion modal, as well as when executing the 3-dimensional coordinate conversion in the mirror image modal, 3-dimensional coordinate conver- sion will be executed for the coordinate value, which is calculated by the mirror image.

(9) User macro When a user macro call command is issued in the 3-dimensional coordinate conversion modal, the 3-dimension- al coordinate conversion will be valid after the macro execution.

(10) Fixed cycle for drilling The fixed cycle in the 3-dimensional coordinate conversion can be executed in an oblique direction for the or- thogonal coordinate system. In the same manner, synchronous tapping cycle can also be executed.

However, the fixed cycle hole drilling rapid traverse rate during the 3-dimensional coordinate conversion modal

is switched as shown below by the settings of the parameters "#15663 DselctDrillaxMode" and "#1564 3Dspd".

(This depends on the MTB specifications.)

Fixed cycle rapid traverse rate during 3-dimensional coordinate conversion

The speed of operation 1 in the table above conforms to the "#2001 rapid" value regardless of the param- eter setting above. When a macro interruption, MDI interruption, or PLC interruption is carried out in the fixed cycle during 3-

dimensional coordinate conversion, the rapid traverse rate in the interrupt machining program conforms to the "#2001 rapid" value regardless of the parameter setting above.

Relationship with other functions

#1566 0 (Rapid traverse mode) 1 (Cutting mode)

#1564 - 0 1 to 1000000

Rapid traverse rate The "#2001 rapid" value for each machine axis is con- verted to the speed in the composite movement direc- tion, and the slowest speed is applied.

The "#2002 clamp" value for each machine axis is converted to the speed in the composite movement direction, and the slowest speed is applied.

The value (mm/min) set to "#1564 3Dspd" is applied.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

999 IB-1501278-Q

Parameter #1566 becomes valid when each fixed cycle is set to rapid traverse mode. The operation numbers in

the table below correspond to those in the figure above.

Relationships between fixed cycles and parameter #1566

o: #1566 is valid (rapid traverse).

x: #1566 is irrelevant (cutting feed).

For G87, the movement completion position in operation 3 is set to R point.

Parameter #1566 is also valid for rapid traverse operation at G76 or G87 shift.

Parameter #1566 is also valid for G73 or G83 return operation.

(11) Synchronous tapping cycle The synchronous tapping cycle in the 3-dimensional coordinate conversion can be executed in an oblique direc- tion for the orthogonal coordinate system. The synchronous tapping cycle in the 3-dimensional coordinate conversion modal will not function even if "#1223 aux07/bit3" (synchronous tapping in-position check improvement) is valid. Set the synchronous tapping cycle to invalid. (This parameter setting depends on the MTB specifications.) The rapid traverse rate in synchronous tapping cycle always follows the value of #2001 (Rapid traverse rate) during the 3-dimensional coordinate conversion mode, regardless of the values of #1566 (Switch drill axis's mode from rapid traverse during 3-dimensional coordinate conversion) and #1564 (Hole drilling cycle during 3- dimensional coordinate conversion). If any of the orthogonal axes of all the active part systems is under machine lock during 3-dimensional coordinate conversion, normal synchronous tapping is applied even though the high-speed synchronous tapping specifica- tion is enabled.

(12) Geometric command Geometric command can be issued in the 3-dimensional coordinate conversion modal. However, if the geomet- ric command is issued in the same block as in the 3-dimensional coordinate conversion command (G68, G69), a program error (P32) will occur.

[Operation]

(1) Position to the initial position at the rapid traverse rate.

(2) Position to the R point at the rapid traverse rate.

(3) Hole machining is conducted by cutting feed.

(4) Escape to the R point. Cutting feed or rapid traverse depending on the fixed cycle mode.

(5) The tool is returned to the initial point at the rapid traverse rate.

(I) Initial point

(R) R point Each operation shown in the figure is set to compensation operation re- gardless of the setting of the parameter #1086 (G00 non-interpolation).

G code [Operation] (2) [Operation] (3) [Operation] (4) [Operation] (5)

G73

G74

G75

G76

G81

G82

G83

G84

G85

G86

G87

G88

G89

(R)

(I) (1)

(2)

(3) (4)

(5)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1000IB-1501278-Q

(13) Init const sur spd When the 3-dimensional coordinate conversion command is issued while the parameter initial constant surface speed is valid, the program error (P922) will occur. This is the same consequence as in the case where the 3- dimensional coordinate conversion command is issued in the constant surface speed (G96) modal.

(14) Machine lock The machine lock in the 3-dimensional coordinate conversion modal will be valid for the movement axis for the coordinate value after executing the 3-dimensional coordinate conversion.

(15) Interlock The interlock in the 3-dimensional coordinate conversion modal will be valid for the movement axis for the coor- dinate value after executing the 3-dimensional coordinate conversion. However, for circular interpolation in the 3-dimensional coordinate conversion modal, when the interlock signal is set to "ON" for any one of the three basic axes (length, width, and height), the axis is interlocked even if the movement is not commanded for the axis.

(16) Coordinate read variable To read the workpiece coordinate system/skip coordinate system during the 3-dimensional coordinate conver- sion modal, the local coordinate system and G68 program coordinate system can be switched with the param- eter "#1563 3Dcdrc".

(17) Workpiece coordinate display Whether to display the workpiece coordinate system position in the 3-dimensional coordinate conversion modal in the workpiece coordinate system or in the G68 program coordinate system can be switched with the param- eter "#1561 3Dcdc". This is also applied to the absolute position display of the special display unit.

1m of display deviation may occur during 3-dimensional coordinate conversion; however, this is normal.

(18) Remaining command display Whether to display the remaining commands in the 3-dimensional coordinate conversion modal in the workpiece coordinate system or in the G68 program coordinate system can be switched with the parameter "#1562 3Dremc".

A display deviation by 1 um may occur during 3-dimensional coordinate conversion; however, this is nor- mal.

(19) Graphic check Linear tracing is applied to circular interpolation (including corner R) during 3-dimensional coordinate conversion in graphic check mode.

(20) External deceleration The external deceleration in the 3-dimensional coordinate conversion modal will be valid for the movement axis for the coordinate value after executing 3-dimensional coordinate conversion. However, for the external deceleration of each axis in the circular interpolation during the 3-dimensional coordi- nate conversion modal, when the "External deceleration" signal is set to "ON" for any one of the three basic axes (length, width, and height), the external deceleration speed is applied to the axis even if the movement is not commanded for the axis.

(21) Manual operation in G68 program coordinate system Refer to "Manual Operation in G68 Program Coordinate System" in "Detailed description".

(22) Multiple-axis synchronization control 3-dimensional coordinate conversion for master axis and slave axis of the multiple-axis synchronization control is not supported. Do not command the 3-dimensional coordinate conversion.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1001 IB-1501278-Q

(23) Others

G41, G42, and the fixed cycle commands G73 to G89 have to be nested inside the G68/G69 commands.

For the block next to G68, a movement command in the G90 (absolute command) mode has to be issued.

The G00 command during the 3-dimensional coordinate conversion modal is set to the interpolation type regardless of the setting of the basic parameter "#1086 G0Intp" (G00 non-interpolation).

Origin zero cannot be executed during the 3-dimensional coordinate conversion modal. When in a G68/G69 block during tool compensation, the program position counter indicates a position shift-

ed by the tool length offset.

(Example)

G68 X50. Y100. Z150. I1 J0 K0 R60. ; G90 G00 X0 Y0 Z0 ; G41 D01 ;

G40 ; G69 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1002IB-1501278-Q

Pxxx in the list indicates the program error Nos.

Column A: Operation to be carried out when the G command in the list is issued during 3-dimensional coordinate

conversion

Column B: Operation to be carried out when 3-dimensional coordinate conversion is commanded while the G com-

mand modal in the list is established

Column C: Operation to be carried out when the G command in the list and 3-dimensional coordinate conversion

are commanded for the same block

o: Can be commanded.

: Cannot be commanded. (However, this is not assumed to be a program error.)

-: This is an unmodal command, so not targeted.

Relation with other G codes

G com- mand

Function A B C

G00 Positioning P923

G01 Linear interpolation P923

G02 Circular interpolation CW P923

Helical interpolation CW P921 P923

G03 Circular interpolation CCW P923

Helical interpolation CCW P921 P923

G02.3 Exponential interpolation CW P921 P922 P923

G02.4 3-dimensional circular interpolation CW P921 P922 P923

G03.3 Exponential interpolation CCW P921 P922 P923

G03.4 3-dimensional circular interpolation CCW

P921 P922 P923

G04 Dwell - P45

G05 P0 High-speed machining mode cancel - P923

G05 P2 High-speed machining mode II P921 P922 P45

G05 P3 High-speed machining mode III P34 P34 P923

G05 P10000

High-speed high-accuracy control II P921 P922 P923

G05 P20000

High-speed high-accuracy control III P921 P922 P33

G05.1 Q0 High-speed machining mode/High- speed high- accuracy control cancel

P923

G05.1 Q1 High-speed high-accuracy control I P923

G05.1 Q2 Fine spline P34 P34 P923

G07.1/ G107

Cylindrical interpolation P921 P481 P923

G09 Exact stop check - P923

G10 Parameter input by program P421 P923

Program tool compensation input - P45

G11 Parameter input by program cancel - P923

G12 Circular cutting CW - P923

G12.1 Polar coordinate interpolation P921 P481 P923

G13 Circular cutting CCW - P923

G13.1 Polar coordinate interpolation cancel - P923

G15 Polar coordinate command cancel - P923

G16 Polar coordinate command P923

G17 Plane selection X-Y

G18 Plane selection Z-X

G19 Plane selection Y-Z

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1003 IB-1501278-Q

G20 Inch command

G21 Metric command

G27 Reference position check - P45

G28 Reference position return - P45

G29 Start position return - P45

G30 2nd to 4th reference position return - P45

G30.1 Tool exchange position return 1 - P33

G30.2 Tool exchange position return 2 - P33

G30.3 Tool exchange position return 3 - P33

G30.4 Tool exchange position return 4 - P33

G30.5 Tool exchange position return 5 - P33

G30.6 Tool exchange position return 6 - P33

G31 Skip - P923

G31.1 Multi-step skip 1 - P923

G31.2 Multi-step skip 2 - P923

G31.3 Multi-step skip 3 - P923

G33 Thread cutting P921 P922 P923

G34 Special fixed cycle (bolt hole circle)

- P923

G35 Special fixed cycle (line at angle)

- P923

G36 Special fixed cycle (arc) - P923

G37.1 Special fixed cycle (grid) - P923

G37 Automatic tool length measurement P921 - P45

G38 Tool radius compensation (vector des- ignation)

- P923

G39 Tool radius compensation (corner arc) - P923

G40 Tool radius compensation cancel -

G41 Tool radius compensation P922 P923

3-dimensional tool radius compensa- tion

P922 P923

G42 Tool radius compensation P922 P923

3-dimensional tool radius compensa- tion

P922 P923

G40.1/ G150

Normal line control cancel P921 - P923

G41.1/ G151

Normal line control Left P921 P922 P923

G42.1/ G152

Normal line control Right P921 P922 P923

G43 Tool length compensation (+) P923

G44 Tool length compensation (-) P923

G45 Tool position compensation increase - P923

G46 Tool position compensation decrease - P923

G47 Tool position compensation 2-fold in- crease

- P923

G48 Tool position compensation 2-fold de- crease

- P923

G49 Tool length compensation cancel - P923

G43.1 Tool length compensation along the tool axis

P927 P931 P923

G43.4 Tool center point control type1 ON P941 P922 P923

G com- mand

Function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1004IB-1501278-Q

G43.5 Tool center point control type2 ON P941 P922 P923

G50 Scaling cancel P921 - P923

G51 Scaling ON P921 P923

G50.1 Mirror image cancel - P923

G51.1 Mirror image ON P923

G52 Local coordinate system setting P921 - P45

G53 Machine coordinate system setting - P45

G54 Workpiece coordinate system 1 selec- tion

P921 P923

G55 Workpiece coordinate system 2 selec- tion

P921 P923

G56 Workpiece coordinate system 3 selec- tion

P921 P923

G57 Workpiece coordinate system 4 selec- tion

P921 P923

G58 Workpiece coordinate system 5 selec- tion

P921 P923

G59 Workpiece coordinate system 6 selec- tion

P921 P923

G54.1 Extended workpiece coordinate system selection

P921 P923

G60 Unidirectional positioning P921 - G60 valid, G68 ig- nored

Unidirectional positioning (Modal designation)

P921 P922 P923

G61 Exact stop check mode P923

G61.1 High-accuracy control P923

G62 Automatic corner override P923

G63 Tapping mode P921 P922 P923

G64 Cutting mode

G65 User macro simple call - Update modal only (Coordinate rota- tion by program)

G66 User macro modal call A Update modal only (Coordinate rota- tion by program)

G66.1 User macro modal call B Update modal only (Coordinate rota- tion by program)

Update modal only (Coordinate rota- tion by program)

G67 User macro modal call cancel

G68 Coordinate rotation by program ON P921 P922 -

3-dimensional coordinate conversion ON

-

G69 Coordinate rotation by program cancel (3-dimensional coordinate conver- sion cancel)

-

3-dimensional coordinate conversion cancel

- -

G73 Fixed cycle (step) P922 P923

G74 Fixed cycle (reverse tapping) (including synchronous tapping)

P922 P923

G76 Fixed cycle (fine boring)

P922 P923

G80 Fixed cycle cancel - P923

G com- mand

Function A B C

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1005 IB-1501278-Q

(1) All the G codes that are not listed above are not available.

G81 Fixed cycle (drill/spot drill)

P922 P923

G82 Fixed cycle (drill/counter boring)

P922 P923

G83 Fixed cycle (deep drilling) P922 P923

G84 Fixed cycle (tapping) (including synchronous tapping)

P922 P923

G85 Fixed cycle (boring) P922 P923

G86 Fixed cycle (boring) P922 P923

G87 Fixed cycle (back boring)

P922 P923

G88 Fixed cycle (boring) P922 P923

G89 Fixed cycle (boring) P922 P923

G90 Absolute command

G91 Incremental command

G92 Coordinate system setting P921 - P923

Spindle speed clamp P921 P923

G92.1 Workpiece coordinate preset P921 P923

G94 Asynchronous feed (feed per minute)

G95 Synchronous feed (feed per revolution)

G96 Constant surface speed control ON P921 P922 P923

G97 Constant surface speed control OFF P921 - P923

G98 Fixed cycle (Initial level return)

G99 Fixed cycle (R point level return)

G115 Start point designation synchronization (Type 1)

P923

G116 Start point designation synchronization (Type 2)

P923

G com- mand

Function A B C

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1006IB-1501278-Q

If the first command after the 3-dimensional coordinate conversion command is an arc shape, and the center of the

arc did not change before and after the 3-dimensional coordinate conversion, an arc is drawn. However, an error

will occur in the following cases:

(1) For the arc in which the arc center is specified with I and J, if the center coordinate has deviated by 3-dimensional coordinate conversion, a program error (P70 Major arc end position deviation) will occur.

G90 G28 X0 Y0 Z0 ;

F3000 G17 ;

G68 X100. Y0. Z0. I0 J0 K1 R0. ;

G02 X100. I50. ;

(2) For the arc in which the arc radius is specified with R, if the center coordinate has deviated by 3-dimensional coordinate conversion, a program error (P71 Arc center calculation disabled) will occur.

G90 G28 X0 Y0 Z0 ;

F3000 G17 ;

G68 X100. Y0. Z0. I0 J0 K1 R0. ;

G02 X100. R50. ;

Precautions

Precautions related to arc command

No 3-dimensional coordinate con- version

In 3-dimensional coordinate conversion

(a) Arc center (C) Current position (E) End point (Err.) Program error

No 3-dimensional coordinate conver- sion

In 3-dimensional coordinate conversion

(a) Arc center (C) Current position (E) End point (r) Radius (Err.) Program error

Y

X

(X100, Y0) (X50, Y0)

(a)

(C) (E)

Y Y'

(X100, Y0)

(X'50, Y'0)

(X'100, Y'0) X' X

(C)

(Err.)

(E)

(a)

Y

X

(X100, Y0)

= 50(r)

(C) (E)

Y Y'

(X100, Y0) (X'100, Y'0)

X

50

X' (C)

(Err.)

(E)

(r)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1007 IB-1501278-Q

20.10 Coordinate Rotation by Program; G68/G69

Coordinate rotation by program is used to rotate the programmed shape by the specified angle and to machine it.

Even complex shapes can be easily machined in the rotated position.

Select the command plane with G17 to G19.

Function and purpose

Command format

Coordinate rotation ON

G68 X__ Y__ R__ ;

X, Y Rotation center coordinates Two axes (X, Y or Z) corresponding to the selected plane are designated with absolute positions.

R Rotation angle The counterclockwise direction is "+".

Coordinate rotation cancel

G69 ;

W: Original local coordinate W': Rotated local coordinate system

r1: Rotation angle (x1, y1) Rotation center

r1 (x1,y1)

W

W'

x1

X'

X

Y'

Y

y1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1008IB-1501278-Q

(1) Always command the rotation center coordinate (x1, y1) with an absolute position. Even if commanded with an incremental command address, it will not be handled as an incremental position. The rotation angle "r1" depends on the G90/G91 modal.

(2) If the rotation center coordinates (x1, y1) are omitted, the position where the G68 command was executed will be the rotation center.

(3) Rotate the coordinate counterclockwise by the angle designated in rotation angle r1.

(4) The rotation angle r1 setting range is -360.000 to 360.000. If a command exceeding 360 degrees is issued, the remainder divided by 360 degrees will be the command.

(5) Since the rotation angle "r1" is modal data, if once commanded, it will not be changed until the new angle is com- manded. Thus, the command of rotation angle "r1" can be omitted.

If the rotation angle is omitted in spite that G68 is commanded for the first time, "r1" will be regarded as "0".

(6) Coordinate rotation by program is a function used on the local coordinate system. The relationship between the rotated coordinate system, workpiece coordinate system and basic machine coordinate system is shown below.

(7) When the command for coordinate rotation by program is issued during coordinate rotation, it is processed as the changes of center coordinates and rotation angle.

(8) If M02 or M30 is commanded or the "reset" signal is input during the coordinate rotation mode, the coordinate rotation mode will be canceled.

(9) G68 is displayed on the modal information screen during the coordinate rotation mode. When the mode is can- celed, the display changes to G69. (The modal value is not displayed for the rotation angle command R.)

(10) Coordinate rotation by program function is valid only in the automatic operation mode.

Detailed description

(R) Rotation angle

(L) Local coordinate system

(W) Workpiece coordinate system

(M) Basic machine coordinate system

(x1,y1)=(0,0)

(R)

(L)

(W)

(M)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1009 IB-1501278-Q

Program example

Absolute command for coordinate rotation by program

N01 G28 X0. Y0.;

N02 G54 G52 X200. Y100. ; Local coordinate designa- tion

N03 T10 ;

N04 G68 X-100. Y0. R60. ; Coordinate rotation ON

N05 M98 H101 ; Subprogram execution

N06 G69 ; Coordinate rotation cancel

N07 G54 G52 X0 Y0 ; Local coordinate system cancel

N08 M02 ; End

Subprogram (Shape programmed with original coordinate system)

N101 G00 X-100. Y-40.; N102 G83 X-150. R-20. Q-10.F100 ; N103 G00 Y40. ; N104 G83 X-150. R-20. Q-10.F100 ; N105 M99;

(a) Actual machining shape (b) Program coordinate

(W) Local coordinates (before rotation)

- 100.

- 100.

100.

Y

X

100. 200.- 100. N101

N102

N103

N104

Y' X'

60(a)

(b)

(W)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1010IB-1501278-Q

Basically, command two axes in the rotation plane by an absolute position immediately after the coordinate rotation

command.

When commanding one axis only, the following two kinds of operations can be selected by the parameter "#19003

PRG coord rot type".

(1) When "#19003 PRG coord rot type" is "1", the operation is the same as when N04 is "X50.Y0.". The end point is calculated on the assumption that the start point rotates along with the coordinates' rotation.

(2) When "#19003 PRG coord rot type" is "0", only axis commanded in N04 (X' Axis) is moved. The start point does not rotate along with the coordinate rotation; therefore the end position is calculated based on the current posi- tion in the local coordinate system before rotation.

Operation when only one axis was commanded by the first movement command

N01 G17 G28 X0. Y0.;

N02 G90 G92 G53 X0. Y0.;

N03 G68 X40. Y0. R90.; Coordinate rotation ON

N04 X50.;

N05 Y50.;

N06 G69; Coordinate rotation cancel

N07 M02 ; End

Machine movement path (S) Start point

(a) Center of rotation (b) The start point is rotated virtually

(W) Local coordinate system before rotation (W1) Local coordinate system after rotation

N01 G17 G28 X0. Y0.;

N02 G90 G92 G53 X0. Y0.;

N03 G68 X40. Y0. R90.; Coordinate rotation ON

N04 X50.;

N05 Y50.;

N06 G69 ; Coordinate rotation cancel

N07 M02 ; End

Machine movement path (S) Start point

(a) Center of rotation (b) The start point is rotated virtually

(W) Local coordinate system before rotation (W1) Local coordinate system after rotation

N04

Y

X

X

Y

N05

X=-10

Y=10(X,Y)=(50,50)

(X ,Y)=(0,0)

X=50

Y=50

(X,Y)=(40,40)

(a)

(S)

(b)

(W)

(W1)

N04

Y

X

X'

Y'

N05

X=-10

Y=10 X' =50

Y'=50

(X ,Y )=(40,40)

(X',Y')=(0,0)

(X,Y)=(50,50) (a)

(S)

(W)

(W1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1011 IB-1501278-Q

(1) When "#19003 PRG coord rot type" is "0", the position commanded on the rotated coordinate system is set as the local coordinate zero point.

(2) When "#19003 PRG coord rot type" is "1", the position commanded on the coordinate system before it is rotated, is set as the local coordinate zero point and the local coordinate will be rotated.

Local coordinate designation during coordinate rotation by program

N01 G17 G28 X0. Y0.;

N02 G90 G92 G53 X0. Y0.;

N03 G68 X20. Y0. R90.; Coordinate rotation ON

N04 G52 X10. Y10.; Local coordinate setting

N05 X20.;

N06 Y10.;

N07 G69 ; Coordinate rotation cancel W: Workpiece coordinate system

N08 M02 ; End L: Local coordinate system

(1) Operation of #19003 = 0 (2) Operation of #19003 = 1

N03

Workpiece coordinate system is rotated virtually. Workpiece coordinate system is not rotated.

N04

The workpiece coordinate zero point after rotation is considered as (X,Y)=(0,0). The position after shifted by 10 each in the X and Y directions is set as the local coordinate zero point. The direction of the shift is not the direction of X' and Y'.

Designate the local coordinate system on the workpiece coordinate system.

N05

The commanded axis moves on the rotation coor- dinate system. Axis without movement command does not move.

The commanded axis moves on the rotation coor- dinate system. Axis without movement command moves to the position on rotation coordinate system.

N06

X'

Y'

Y

W

W'

XX=20

Y=-20

(Rotation center)(Workpiece coordinate system is rotated virtually.)

(Workpiece coordinate systm after rotation)

Y,Y'

X,X'W,W '

Y"

X'

Y'

Y

W X

X"

L

(X,Y)=(0,0) (X,Y)=(10,10)

X=30

Y=-10

(Local coordinate designation)

Y"

L

X"

X,X'

Y,Y'

Y= -10

X=30 W,W'

(Local coordinate designation)

(Rotation center)

(X",Y")=(20,30)

Y"

Y=10

X

X"

W L

Y Start

point:(X",Y")=(10,30)

Y"

Y

W X

X"

(X",Y")=(20,-10)(X",Y")=(10,30)

L

Y=10

X=40

(Rotation center)

Start point: (X",Y")=(-10,-10)

(The start point is rotated virtually.)

Y"

(X",Y")=(20,30) (X",Y")=(20,10)Y

W X

Y=10

X=30

X"

L

Y

X

X"

Y"

(X" ,Y" )=(20, - 10)

(X" ,Y" )=(20,10) Y=10

X=40X=20

L

W

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1012IB-1501278-Q

When the coordinate system setting (G92) is executed during coordinate rotation by program (G68), this program

operates same as "Local coordinate designation during coordinate rotation by program".

(1) When "#19003 PRG coord rot type" is "0", the position is preset to the current position commanded on the rotated coordinate system.

(Example) Setting on the coordinate system (X'-Y') after rotation

(2) When "#19003 PRG coord rot type" is "1", the position is preset to the current position commanded on the coor- dinate system before rotation. The coordinate system is rotated after the position is commanded.

(Example) Setting on the coordinate system (X-Y) after rotation

(1) When "#19003 PRG coord rot type" is "1"and the coordinate system setting (G92) is executed during coordinate rotation by program, the rotation center of the coordinate is not shifted. (It stays at the same position in respect to the basic machine coordinate system.)

Coordinate system designation during coordinate rotation by program

(a) Position after rotation (b) Commanded position (c) G92 shift amount

(a) Position after rotation (b) Commanded position (c) G92 shift amount

G54(0, 0) X

Y

X'

Y'

10.

10.

G68 X0 Y0 R30. G00 X10. Y10. G92 X0. Y0.

G54(0, 0) X

Y

X'

Y'

10. 10.

(a)

(b)

(c)

G54(0, 0) X

Y

X'

Y'

10.

10.

G68 X0 Y0 R30. G00 X10. Y10. G92 X0. Y0.

G54(0, 0) X

Y

X'

Y'

10.

10.

(a)

(b)

(c)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1013 IB-1501278-Q

Basically, command two axes in the rotation plane by positioning/linear interpolation with an absolute position im-

mediately after the coordinate rotation command.

When commanding the circular interpolation, command the movement by positioning/linear interpolation to the start

point even if the axis does not move.

When the circular interpolation is commanded straight after the coordinate rotation command, the following opera-

tion takes place depending on the setting of the parameter "#19003 PRG coord rot type".

(1) When "#19003 PRG coord rot type" is "1", the start point position which was assumed to be rotated with the co- ordinate rotation and the actual axis position are positioned in a different position in respect to the basic machine coordinate system. Consequently, the axis cannot move along with the circular path between the start point and the end point, and a program error (P70) will occur.

(*1) Start point which was assumed to be rotated with the coordinate rotation

Operation when circular interpolation is commanded after commanding rotation

N01 G17 G28 X0. Y0.;

N02 G90 G92 G53 X0. Y0.;

N03 G68 X40. Y0. R90.; Coordinate rotation ON

N04 G03 X50. R-25. F500;

N05 G00 Y50.;

N06 G69; Coordinate rotation cancel

N07 M02; End

[Local coordinate system before rotation] [Local coordinate system after rotation]

(a) Actual axis position (Oc) Rotation center

(S) Start point (*1) (E) End point

Y(+)

X(+)

(E) (X',Y')=50,0)

(Oc) (X',Y')=(40,0)

(a) (X',Y')=(40,40)

(S) (X',Y')=(0,0)

Y'(+)

X'(+)

X'=40

N04

Y'=40

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1014IB-1501278-Q

(2) When "#19003 PRG coord rot type" is "0", the circular interpolation start point does not rotate with the coordinate rotation. It remains in the same position before the coordinate rotation in respect to the basic machine coordinate system. Consequently, the axis operates the circular interpolation from this start point to the end point.

N01 G17 G28 X0. Y0.;

N02 G90 G92 G53 X0. Y0.;

N03 G68 X40. Y0. R90.; Coordinate rotation ON

N04 G03 X50. R-25. F500;

N05 G00 Y50.;

N06 G69; Coordinate rotation cancel

N07 M02; End

[Local coordinate system before rotation] [Local coordinate system after rotation]

(Oc) Rotation center

(S) Start point (E) End point

Y(+)

X(+)

Y'(+)

X'(+)

Y'=40

(S) (X',Y')=(40,40)

X'=40

X'=50 (Oc) (X',Y')=(40,0)

N04

(E) (X',Y')=50,40)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1015 IB-1501278-Q

(1) A program error (P111) will occur if the plane selection code is commanded during the coordinate rotation mode.

(2) A program error (P485) will occur if polar coordinate interpolation is commanded during the coordinate rotation mode.

(3) A program error (P481) will occur if coordinate rotation is commanded during the polar coordinate interpolation mode.

(4) A program error (P485) will occur if cylindrical interpolation is commanded during the coordinate rotation mode.

(5) A program error (P481) will occur if coordinate rotation is commanded during the cylindrical interpolation mode.

(6) A program error (P34) will occur if the workpiece coordinate system preset (G92.1) is commanded during the coordinate rotation mode.

(7) Coordinate rotation by program and figure rotation cannot be carried out simultaneously. If the coordinate rota- tion is commanded during the figure rotation and vice versa, a program error (P252) will occur.

(8) If the tool position offset is commanded during the coordinate rotation mode, a program error (P141) will occur.

(9) Coordinate rotation by program for master axis and slave axis of the multiple-axis synchronization control is not supported. Do not command the coordinate rotation by program.

(1) Always use an absolute command for the movement command immediately after G68 and G69.

(2) If the manual absolute is ON and has interrupted the coordinate rotary axis, do not use automatic operation for the following absolute command.

(3) The intermediate point during reference position return is the position after the coordinates are rotated.

(4) If the workpiece coordinate system offset amount is changed during the coordinate rotation mode, the rotation center of the coordinate will be shifted. (The center will follow the coordinate system.)

(5) If the workpiece coordinates are changed (ex. from G54 to G55) during coordinate rotation by program, the ro- tation center of the coordinate is set to the workpiece coordinate position of the rotation center coordinates des- ignated for the G68 command, on a new workpiece coordinate system.

(6) If coordinate rotation is executed to the G00 command for only one axis, two axes will move. If G00 non-interpo- lation (parameter "#1086 G0Intp" = 1) is set, each axis will move independently at the respective rapid traverse rates. If the axis must be moved linearly (interpolated) from the start point to the end point (such as during the hole machining cycle), always turn G00 non-interpolation OFF (parameter "#1086 G0Intp" = 0). The feedrate in this case is the resultant speed of each axis' rapid traverse rate, thus, the movement speed will be faster than when moving only one axis (before coordinate rotation).

(7) If the coordinate rotation specifications are not provided, a program error (P260) will occur when coordinate ro- tation is commanded.

(8) The compensation during the coordinate rotation mode is carried out to the local coordinate system after coor- dinate rotation. The compensation direction is the coordinate system before rotation.

(9) Mirror image during the coordinate rotation mode is applied to the local coordinate system after coordinate rota- tion.

(10) On the display, the positions after rotation is always displayed on the local coordinate system before rotation.

(11) When the coordinate value variables are read, the positions are all on the coordinate system before rotation.

(12) The coordinates can also be rotated for the parallel axis. Select the plane that contains the parallel axis before issuing the G68 command. The plane cannot be selected in the same block as the G68 command.

(13) The coordinates can be rotated for the rotary axis. The angle will be interpreted as the length when rotating.

Relationship with other functions

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1016IB-1501278-Q

20.11 Coordinate Rotation Input by Parameter; G10 I_ J_/K_

If a deviation occurs between the workpiece alignment line and machine coordinate system's coordinate axis when

the workpiece is mounted, the machine can be controlled by rotating the machining program coordinates according

to the workpiece alignment line deviation. The coordinate rotation amount is set with the parameters. The parame-

ters can also be set with the G10 command.

To enable this function, the following conditions must be satisfied:

(1) The parameter "#8116 CoordRotPara invd" is set to "0".

(2) The parameter "#8627 Coord rot angle" is set. Alternatively, "#8625 Coord rot vctr(H)" and "#8626 Coord rot vc- tr(V)" are set.

Function and purpose

(a) Center of rotation (b) Rotation angle

Ym

Xm

G56

G54

G55

G57

W1'

W2'

W3'

W4'

M

W1

W2

(a) (b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1017 IB-1501278-Q

Parameters specified in the parameter setting screen can be changed from the machining program.

Refer to the "Instruction Manual" for settings and contents of the parameters.

Command format

G10 I__ J__ ;

G10 K__ ;

I Horizontal vector. Command a value corresponding to the parameter "#8625 Coord rot vctr(H)". Command range: -99999.999 to 99999.999 The value of "#8627 Coord rot angle" is automatically calculated when commanding vector contents.

J Vertical vector. Command a value corresponding to the parameter "#8626 Coord rot vctr(V)". Command range: -99999.999 to 99999.999 The value of "#8627 Coord rot angle" is automatically calculated when commanding vector contents.

K Rotation angle. Command a value corresponding to the parameter "#8627 Coord rot angle". Command range: -360.000 to 360.000 "#8625 Coord rot vctr(H)" and "#8626 Coord rot vctr(V)" are set to "0" when commanding the coordinate rotation angle.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1018IB-1501278-Q

(1) As for the coordinate rotation center position, designate the position on the machine coordinate system.

(2) All workpiece coordinate systems from G54 to G59, G54.1 rotate with the rotation command. While the machine coordinate system does not rotate, it can be understood that there is a hypothetical machine coordinate system in the coordinate system after rotation.

(3) When parameter settings are configured, their setting values become valid at the following timings. Automatic operation: The setting values become valid from the next block after parameter settings have

been configured. Manual operation: The setting values become valid if the PLC signal (manual feed coordinate switching

for coordinate rotation by parameter) is set to ON after parameter settings have been configured.

(1) Set the parameters "#8623 Coord rot centr(H)" and "#8624 Coord rot centr(V)" at the position of the machine coordinate system.

(2) The workpiece coordinate system set on the orthogonal coordinate system rotates around the rotation center.

(3) The machine coordinate system does not rotate.

The coordinate rotation starts when the following parameters are changed. (When the same value is reset to the

parameter, it is not considered as change.)

When the parameter "#8116 CoordRotPara invd" is "1" or the parameter "#8627 coordinate rotation angle" is "0",

coordinate rotation will not start.

#8621 Coord rot plane (H) #8622 Coord rot plane (V) #8623 Coord rot centr (H) #8624 Coord rot centr (V) #8625 Coord rot vctr (H) #8626 Coord rot vctr (V) #8627 Coord rot angle #8116 CoordRotPara invd (*1)

(*1) The parameter "#8116 CoordRotPara invd" is common to all part systems. Therefore, before designating this

parameter, set "0" to the parameter "#8627 Coord rot angle" in part systems in which "coordinate rotation by

parameter" is not used.

Detailed description

Concept of coordinate system

Workpiece coordinate system setting Workpiece coordinate system after coordinate rotation by parameter

Coordinate rotation start

#8623

G55 G54

#8624

EXT (External workpiece coordinate offset)

G92 (Coordinate system shift)

Workpiece coordinate zero point

Basic machine coordinate zero point

Rotation center

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1019 IB-1501278-Q

When coordinate rotation is enabled, setting the parameter "#8116 CoordRotPara invd" to "1" or "#8627 Coord rot

angle" to "0", and then issuing the following movement command cancels the parameter coordinate rotation.

The coordinate rotation by parameter is temporarily canceled when in (1) or (2) as follows.

(1) Reference position return command (G28, G30)

If reference position return is performed on any of the axes in the rotated coordinate system (horizontal axis or vertical axis), both of the two axes will temporarily cancel the coordinate rotation. However moving to the intermediate point will not be temporarily canceled, but it will keep operating.

(2) Basic machine coordinate system selection (G53)

Only the commanded axis of basic machine coordinate system selection (G53) will be temporarily cancel the coordinate rotation.

In items (1) and (2) above, when the coordinate rotation by parameter is canceled temporarily, the counter display

follows the setting of the parameter "#11086 PRM coordinate rotation counter".

Coordinate rotation stop (cancel)

Coordinate rotation temporary cancel

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1020IB-1501278-Q

When issuing a movement command for the first time after coordinate rotation has been started, ended, reset, or

returned from temporary cancel, issue the command in G00 or G01 mode by designating the two axes configuring

the rotation plane using absolute positions.

Note that, if the command that is issued for the first time after coordinate rotation has been started, ended, or re-

turned from temporary cancel is any of the following, the operation differs depending on the setting of the parameter

"#19008 PRM coord rot type".

(1) Command to an axis configuring the rotation plane by the absolute position

(2) Command by incremental position

(3) Circular interpolation command

Operation example

First movement command after coordinate rotation start/end/temporary cancel

[Parameters] [Machining program]

#8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 0.0

N01 G17 G28 X0. Y0.;

N02 G54 G90 X0. Y0.;

N03 G10 K90.; (Coordinate rotation start)

N04 G54 G90 G00 X20. Y10.; (Absolute command to two axes)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): Actual axis position (c): Workpiece coordinate system zero point after coordinate rotation (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

YM

YW YW

XW

XW

XM

(a) (XM, YM) = (30, 60)

(b) (XW, YW) = (0, 0)

(f) (XW , YW) = (20, 10) (XM, YM) = (70, 60)

(c) (XW , YW ) = (0, 0)

M

(W)

(W1)

(d)

(e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1021 IB-1501278-Q

The operation can be selected from the following 2 types by setting of the parameter "#19008 PRM coord rot type".

(1) When the parameter "#19008 PRM coord rot type" is "0".

The end point is calculated by virtually rotating the start point along with the coordinate rotation. For that reason, the operation is the same as when "N04" is "G00 X20. Y0." in the following example.

Operation when an axis configuring the rotation plane is commanded by the absolute position

[Parameters] [Machining program]

#8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 0.0

N01 G17 G28 X0. Y0.;

N02 G54 G90 X0. Y0.;

N03 G10 K90.; (Coordinate rotation start)

N04 G54 G90 G00 X20.; (Absolute command to an axis)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): Actual axis position (c): Start point rotated virtually along with the coordinate rotation (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

YM

YW YW

XW

XW

XMM

(W)

(W1)

(d)

(e)

(a) (XM, YM) = (30, 60)

(b) (XW, YW) = (0, 0)

(f) (XW , YW) = (20, 0) (XM, YM) = (80, 60)

(c) (XW , YW ) = (0, 0)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1022IB-1501278-Q

(2) When the parameter "#19008 PRM coord rot type" is "1".

The start point does not rotate along with the coordinate rotation; therefore the end point position is calculated based on the current position on the local coordinate system before rotation. For that reason, only the axis commanded in N04 (X' axis) is moved.

[Parameters] [Machining program]

#8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 0.0

N01 G17 G28 X0. Y0.;

N02 G54 G90 X0. Y0.;

N03 G10 K90.; (Coordinate rotation start)

N04 G54 G90 G00 X20.; (Absolute command to an axis)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): The actual axis position and start point position are the same (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

YM

YW

XW

XW

XMM

(W)

(W1)

(d) (e)

(a) (XM, YM) = (30, 60)

(b) (XW, YW) = (0, 0)

(f) (XW , YW) = (20, 70) (XM, YM) = (10, 60)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1023 IB-1501278-Q

The operation can be selected from the following 2 types by setting of the parameter "#19008 PRM coord rot type".

(1) When the parameter "#19008 PRM coord rot type" is "0".

The end point is calculated by virtually rotating the start point along with the coordinate rotation. For that reason, the commanded path and actual movement path differs in N04.

Operation when incremental commands are given

[Parameters] [Machining program]

#8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 0.0

N01 G17 G28 X0. Y0.;

N02 G54 G90 X0. Y0.;

N03 G10 K90.; (Coordinate rotation start)

N04 G54 G91 G00 X20. Y10.; (Incremental command to two axes)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): Actual axis position (c): Start point rotated virtually along with the coordinate rotation (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

YM

YW YW

XW

XW

XM

(a) (XM, YM) = (30, 60)

(b) (XW, YW) = (0, 0)

(f) (XW , YW) = (20, 10) (XM, YM) = (70, 60)

(c) (XW , YW ) = (0, 0)

M

(W)

(W1)

(d)

(e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1024IB-1501278-Q

(2) When the parameter "#19008 PRM coord rot type" is "1".

The start point does not rotate along with the coordinate rotation; therefore the end point position is calculated based on the current position on the local coordinate system before rotation. For that reason, the commanded path and actual movement path are the same in N04.

[Parameters] [Machining program]

#8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 0.0

N01 G17 G28 X0. Y0.;

N02 G54 G90 X0. Y0.;

N03 G10 K90.; (Coordinate rotation start)

N04 G54 G91 G00 X20. Y10.; (Incremental command to two axes)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): The actual axis position and start point position are the same (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

YM

YW YW

XW

XW

XM

(a) (XM, YM) = (30, 60)

(b) (XW, YW) = (0, 0)

(f) (XW , YW) = (-10, 80) (XM, YM) = (0, 30)

M

(W)

(W1)

(d) (e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1025 IB-1501278-Q

The operation can be selected from the following 2 types by setting of the parameter "#19008 PRM coord rot type".

(1) When the parameter "#19008 PRM coord rot type" is "0".

The end point of an arc is calculated from the position to which the start point is virtually rotated along with the coordinate rotation. In this case, the start point of an arc is not rotating but the end point of an arc is rotating, so it may cause "P70: Arc end point deviation large" due to the difference in radius between the start and end points.

Operation when circular interpolation is commanded

[Parameters] [Machining program]

#1084 Arc error = 0.1 #8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 0.0

N01 G17 G28 X0. Y0.;

N02 G54 G90 X0. Y0.;

N03 G10 K90.; (Coordinate rotation start)

N04 G54 G91 G03 X20. R10. F500; (Circular interpolation command)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): Actual axis position (c): Start point rotated virtually along with the coordinate rotation (d): N04 Commanded path (f): End point calculated from the virtually rotated start point (g): Start point radius (h): End point radius As the difference in radius between the start and end points is bigger than "#1084 RadErr", it causes program error (P70).

YM

YW

YW

XW

XW

XMM

(W)

(W1)

(d)

(g)

(h)

(a) (XM, YM) = (30, 60)

(b) (XW, YW) = (0, 0)

(f) (XW , YW) = (20, 0) (XM, YM) = (80, 60)

(c) (XW , YW ) = (0, 0)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1026IB-1501278-Q

(2) When the parameter "#19008 PRM coord rot type" is "1".

The start point and end point of an arc are calculated from the current position on the workpiece coordinate sys- tem before the coordinate rotation and the circular interpolation is performed from the current position to the end point.

[Parameters] [Machining program]

#1084 Arc error = 0.1 #8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 0.0

N01 G17 G28 X0. Y0.;

N02 G54 G90 X0. Y0.;

N03 G10 K90.; (Coordinate rotation start)

N04 G54 G91 G03 X20. R10. F500; (Circular interpolation command)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): The actual axis position and start point position are the same (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

YM

YW YW

XW

XW

XM M

(W)

(W1)

(d) (e)

(a) (XM, YM) = (30, 60)

(b) (XW, YW) = (0, 0)

(f) (XW, YW) = (-10, 70) (XM, YM) = (10, 30)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1027 IB-1501278-Q

When rotation angle "0" is commanded during coordinate rotation, it will be canceled by next movement command

regardless of G90 and G91.

The calculation of the end point will be different by setting of the parameter "#19008 PRM coord rot type".

(1) When the parameter "#19008 PRM coord rot type" is "0".

The end point is calculated on the assumption that the start point rotates along with the coordinate rotation can- cel. Program the first movement command after coordinate rotation cancel either G00 or G01 mode.

First movement command after coordinate rotation cancel

[Parameters] [Machining program]

#8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 90.0

N01 G54 G90 X50.Y50.;

N02 G54 G90 X0. Y0.;

N03 G10 K0.; (Coordinate rotation cancel)

N04 G91 G00 X20. Y10.; (Incremental command to two axes)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): Actual axis position (c): Start point rotated virtually along with the coordinate rotation cancel (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

YM

YW

YW

XW

XW

XM

(a) (XM, YM) = (30, 60)

(c) (XW, YW) = (0, 0)

(f) (XW, YW) = (20, 10) (XM, YM) = (30, 20)

(b) (XW , YW ) = (0, 0) (XM, YM) = (80, 40)

M

(W)

(W1)

(d) (e)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1028IB-1501278-Q

(2) When the parameter "#19008 PRM coord rot type" is "1".

The start point does not rotate along with the coordinate rotation cancel; therefore the end point position is cal- culated based on the current position on the local coordinate system before rotation.

The operation of the first movement command issued after coordinate rotation by program is returned from tempo-

rary cancel is the same as the operation that occurs when the parameter "#19008 PRM coord rot type" is set to "0"

in "First movement command after coordinate rotation".

[Parameters] [Machining program]

#8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 30.0 #8624 Coord rot centr (V) = 60.0 #8627 Coord rot angle = 90.0

N01 G54 G90 X50.Y50.;

N02 G54 G90 X0. Y0.;

N03 G10 K0.; (Coordinate rotation cancel)

N04 G91 G00 X20. Y10.; (Incremental command to two axes)

:

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate system before rotation (W1): Workpiece coordinate system after rotation (a): Rotation center (b): The actual axis position and start point position are the same (d): N04 Commanded path (e): N04 Actual movement path (f): N04 End point

First movement command after temporary coordinate rotation cancel

YM

YW YW

XW

XM

(a) (XM, YM) = (30, 60)

(f) (XW, YW) = (90, 40) (XM, YM) = (100, 50)

(b) (XW , YW ) = (0, 0) (XM, YM) = (80, 40)

M

(W)

(W1)

(d) (e)

XW

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1029 IB-1501278-Q

The workpiece coordinate and counter can be preset in the same way as for the orthogonal coordinate system by

commanding G92/G92.1 in the rotation coordinate system.

Figures (1) to (3) show the operations to be performed when the machining program is executed while the param-

eters and workpiece coordinate system offset are set as follows:

Presetting the workpiece coordinate and counter in the rotation coordinate system

[Parameters] [Machining program]

#19008 PRM coord rot type = 0 (Case where the start point is virtually rotated with the co- ordinate rotation) #8621 Coord rot plane (H) = X #8622 Coord rot plane (V) = Y #8623 Coord rot centr (H) = 20.0 #8624 Coord rot centr (V) = 40.0 #8627 Coord rot angle = 0.0

(1) N01 G54 G17 G28 X Y; N02 G90 G00 X0. Y0.; N03 G10 K90. ; N04 G00 X0. Y0.; N05 G00 X10. Y10.;

(2) N06 G92 X0. Y0.; N07 G00 X10. Y10.;

(3) N08 G92.1 X0. Y0.; N09 G00 X0. Y0.; N10 G00 X-10. Y10.;

[G54 workpiece coordinate system offset]

X = 10.0 Y = 10.0

(W): Workpiece coordinate zero point (a): Rotation center (b): Axis position before coordinate rotation (E): End point ("N04 (E)" refers to the end point of the N04 block.)

(1) (2)

(b)

YM

Xw

N04 (E) (XW',YW')=(10,10) (XM,YM)=N04 (E)(40,40)(a)

(XM,YM)=(20,40)

N05 G00 X10. Y10.

YW

YW

XM

XW N03 G10 K90.

N04 G00 X0. Y0.

N02 G00 X0. Y0.

(XM,YM)=(50,30)

(W) (XM,YM)=(10,10)

M

YM Xw

Xw

XM

YW

YW

N06 G92 X0. Y0.

N07 G00 X10. Y10.

M

N06 (E) (XW'',YW'')=(10,10) (XM,YM)=(30,50)

(XM,YM)=(40,40)

(W) (XM,YM)=(50,30)

YM Xw

Xw

(3)

XM

YW

YW

N08 G92.1 X0. Y0.

N10 G00 X-10. Y10.

N09 G00 X0. Y0.

M

(W) (XM,YM)=(40,40)

(XM,YM)=(50,30)

N09 (E) (XW'',YW'')=(-10,10) (XM,YM)=(40,20)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1030IB-1501278-Q

(1) When used for compensating positional deviation of pallet changer.

Program example

(a) Rotation movement (15 degree)

N01 G28 X0 Y0 Z0 ;

N02 M98 P9000 ; Pallet deviation measurement

N03 G90 G53 X0 Y0 ; Parallel movement amount shift

N04 G92 X0 Y0 ; Parallel movement amount definition

N05 G10 K15. ; Rotation amount definition

N06 G90 G54 G00 X0 Y0 ; G54 workpiece machining

N07 M98 H101 ;

N08 G90 G55 G00 X0 Y0 ; G55 workpiece machining

N09 M98 H101 ;

N10 G90 G56 G00 X0 Y0 ; G56 workpiece machining

N11 M98 H101 ;

N12 G90 G57 G00 X0 Y0 ; G57 workpiece machining

N13 M98 H101 ;

N14 G27 X0 Y0 Z0 ;

N15 M02 ;

Machining shape program

N101 G91 G01 G42 D01 F300 ;

N102 X100 ;

N103 G03 Y50. R25. ;

N104 G01 X-100. ;

N105 G03 Y-50. R25. ;

N106 G01 G40 ;

N107 M99 ;

Y

X M

+

+

+

+

G56

G57

G54

G55 (a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1031 IB-1501278-Q

(1) To use any of the following functions together with the coordinate rotation by parameter, start the coordinate ro- tation by parameter first and command the following function later. Tool radius compensation Mirror image

(2) The coordinate rotation by parameter cannot be used together with the coordinate rotation by program and the 3-dimensional coordinate conversion. If they are used at the same time, the coordinate position will not be cal- culated right.

(3) The processing for high-speed machining may temporarily canceled when the following high-speed high-accu- racy functions are used together during coordinate rotation by parameter. No program errors occur; however, the processing capacity is the same as when the high-speed machining is set OFF. High-speed machining mode I / high-speed machining mode II

(The function is temporarily canceled during coordinate rotation by parameter.) High-speed high-accuracy control I / High-speed high-accuracy control II / High-speed high-accuracy con-

trol III (While the coordinate rotation by parameter is enabled, the high-speed machining mode is temporarily can- celed and only the high-accuracy control is enabled.)

(4) If the figure rotation is commanded during the coordinate rotation by parameter, a program error (P252) will oc- cur.

(5) If the inclined surface machining command (G68.2/G68.3) is commanded during the coordinate rotation by pa- rameter, a program error (P952) will occur.

(6) The following functions can be used together with the coordinate rotation by parameter.

Relationship with other functions

Classification Function

Control axes Number of basic control axes (NC axes) Memory mode

Input command Inch/Metric changeover

Positioning/Interpolation Positioning Linear interpolation Circular interpolation (Center/Radius designation)

Feed Manual rapid traverse Jog feed Incremental feed Handle feed Manual feedrate B Manual speed clamp Dwell (Time-based designation)

Tool compensation Tool length offset Tool position offset Tool radius compensation Tool radius compensation diameter designation

Coordinate system Coordinate system setting Workpiece coordinate system selection External workpiece coordinate offset Workpiece coordinate system preset (G92.1) Plane selection

Operation support functions Single block Graphic trace Manual interruption Automatic operation handle interruption Manual absolute switch

Program support functions Subprogram control High-accuracy control (G61.1/G08) Multi-part system simultaneous high-accuracy control

Machine support functions Custom API library

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1032IB-1501278-Q

(1) If rotation angle zero is commanded while carrying out coordinate rotation, it will be canceled at the next move- ment command regardless of the G90 or G91.

(2) Command the first movement after this command with the G00 or G01 mode. If an arc command is issued, the arc start point will not be rotated. However, only the arc end point will rotate. This will cause the start point radius and end point radius to differ, and the program error (P70) will occur.

(3) When data has been input using the data input/output function, it is recognized that the parameter "#8627 Coord rot angle" has been input, and automatic calculation from the values of "#8625 Coord rot vctr(H)" and "#8626 Coord rot vctr(V)" is not carried out.

(4) Do not use this command with G54 to G59 and G90, G91. If used, the command will not be reflected correctly.

(5) If both vertical / horizontal vectors (I,J) and rotation angle are commanded, the rotation angle will be given the priority.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1033 IB-1501278-Q

20.12 Scaling; G50/G51

By multiplying the moving axis command values within the range specified under this command by the factor, the

shape commanded by the program can be enlarged or reduced to the desired size.

Function and purpose

Command format

Scaling ON (When setting the common scaling factor to the three basic axes)

G51 X__ Y__ Z__ P__ ;

X, Y, Z Scaling center coordinates

P Scaling factor

sc : Scaling center

p1, p2, p3: Program shape s1, s2, s3: Shape after scaling

Scaling ON (When setting the scaling factor to each of the three basic axes)

G51 X__ Y__ Z__ I__ J__ K__ ;

X, Y, Z Scaling center coordinates

I Scaling factor of basic 1st axis

J Scaling factor of basic 2nd axis

K Scaling factor of basic 3rd axis

Scaling cancel

G50 ;

sc s1

s3s2

p2

p1

p3

Y

Xx1

y1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1034IB-1501278-Q

Commanding G51 selects the scaling mode. The G51 command only specifies the scaling axis, its center and factor,

and does not move the axis.

Though the scaling mode is selected by the G51 command, the axis actually valid for scaling is the axis where the

scaling center has been specified.

(1) Scaling center

Specify the scaling center in accordance with the then absolute/incremental mode (G90/G91). The scaling center must be specified also when the current position is defined as a center. As described above, the axis valid for scaling is only the axis whose center has been specified.

(2) Scaling factor

Use the address P or I, J, K to specify the scaling factor. Minimum command unit : 0.000001 Command range: Both -99999999 to 99999999 (-99.999999 to 99.999999 times) and -99.999999 to 99.999999

is valid, but the decimal point command is valid only after the G51 command. When the factor is not specified in the same block as G51, the factor set with the parameter "#8072 SCALING

P" is used. When the address P and the address I, J, K are commanded in a same block, a factor specified by the address

I, J, K is applied for the basic three axes. And a factor specified by the address P is applied for other axes. If changed during the scaling mode, the value of this parameter will not become valid. Scaling is performed with

the setting value that was used when G51 was commanded. When the factor is not specified in either the program nor parameter, it is calculated as 1.

(3) A program error will occur in the following cases.

Scaling was commanded though there was no scaling specification. (P350) The upper limit of the factor command range was exceeded in the same block as G51. (P35)

(When using the machining parameter scaling factor, the factor is calculated as 1, when -0.000001 < factor < 0.000001, or the factor is more than 99.999999 or less than -99.999999.)

When G50 is commanded, scaling is canceled.

Detailed description

Specifying the scaling axis, scaling center and its factor

Scaling cancel

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1035 IB-1501278-Q

(Example 1)

Program example

Scaling center

Program path after 1/2 scaling Tool path after 1/2 scaling

Program path when scaling is not applied Tool path when scaling is not applied

N01 G92 X0 Y0 Z0;

N02 G90 G51 X-100. Y-100. P0.5;

N03 G00 G43 Z-200. H02;

N04 G41 X-50. Y-50. D01;

N05 G01 Z-250. F1000;

N06 Y-150. F200;

N07 X-150.;

N08 G02 Y-50. J50.;

N09 G01 X-50.;

N10 G00 G49 Z0;

N11 G40 G50 X0 Y0;

N12 M02;

-200. -150. -100. -50.

Y

X

-50.

-100.

-150.

N03 N11N09

N08

N07 D01=25.000

N06

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1036IB-1501278-Q

(1) G27 reference position check command

When G27 is commanded during scaling, scaling is canceled at completion of the command.

(2) Reference position return command (G28, G29, G30)

When the G28, G30 or reference position return command is issued during scaling, scaling is canceled at the intermediate point and the axis returns to the reference position. When the midpoint is to be ignored, the axis returns to the reference point directly. When G29 is commanded during scaling, scaling is applied to the movement after the midpoint.

(3) G60 (unidirectional positioning) command

If the G60 (unidirectional positioning) command is given during scaling, scaling is applied to the final positioning point and is not applied to the creep amount. Namely, the creep amount is uniform regardless of scaling.

(4) Workpiece coordinate system switching

When the workpiece coordinate system is switched during scaling, the scaling center is shifted by the difference between the offset amounts of the new and old workpiece coordinate systems.

(5) During figure rotation

When figure rotation is commanded during scaling, scaling is applied to the center of the figure rotation and the rotation radius.

(6) Scaling command in figure rotation subprogram

By commanding the scaling in the subprogram of the figure rotation, scaling can be applied only to the shape designated by the subprogram, not to the rotation radius of the figure rotation.

(7) During coordinate rotation

When scaling is commanded during coordinate rotation, the scaling center rotates. Scaling is executed at that rotated scaling center.

(8) G51 command

When the G51 command is issued during the scaling mode, the axis whose center was newly specified is also made valid for scaling. Also, the factor under the latest G51 command is made valid.

(1) Scaling is not applied to the compensation amounts of tool radius compensation, tool position compensation, tool length compensation and the like. (Compensation is calculated for the shape after scaling.)

(2) Scaling is valid for only the movement command in automatic operation. It is invalid for manual movement.

(3) For X, Y and Z, scaling is valid for only the specified axes and is not applied to unspecified axes.

(4) When an arc is commanded and scaling is valid for one of the two axes configuring the arc plane, a program error (P70) will occur.

(5) When M02 or M30 is commanded, or when NC reset is carried out during the scaling mode, the mode switches to a cancel mode.

(6) When the coordinate system is shifted (G92, G52 command) during scaling, the scaling center is also shifted by the difference amount.

(7) If manual interruption is made during scaling, manual ABS selection is ignored for the movement followed by an incremental command and operation performed is the same as in manual ABS OFF.

Relationship with other functions

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1037 IB-1501278-Q

20.13 Reference Position (Zero Point) Return; G28, G29

After the commanded axes have been positioned by G00, they are returned respectively at rapid traverse to the first

reference position when G28 is commanded. By commanding G29, the axes are first positioned independently at

high speed to the G28 or G30 intermediate point and then positioned by G00 to the commanded position.

Function and purpose

(R1) 1st reference position (R2) 2nd reference position

(R3) 3rd reference position (R4) 4th reference position

(S) Start point (CP) Intermediate point

Command format

G28 Xx1 Yy1 Zz1 1; ... Automatic reference position return

X, Y, Z, Coordinate value of the intermediate point ( is an additional axis)

G29 Xx2 Yy2 Zz2 2; ... Start point return

X, Y, Z, Coordinate value of the end point ( is an additional axis)

(0,0,0,0)

G28 G28

G29

G29

G30

G30P3 G30P4

G30P2

(x1,y 1,z 1, 1)

(x2,y 2,z 2, 2)

(x3,y 3,z 3, 3)

(R1)

(R3)

(R2)

(S)

(R4)

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1038IB-1501278-Q

(1)The G28 command is equivalent to the following:

G00 Xx1 Yy1 Zz1 1;

G00 Xx3 Yy3 Zz3 3;

where Xx3 Yy3 Zz3 3 are the coordinate values of the reference position that are set in parameters "#2037

G53ofs" for the distance from the basic machine coordinate system zero point as specified by the MTB.

(2)After the power has been switched on, the axes that have not been subject to manual reference position return

are returned by the dog type of return just as with the manual type. In this case, the return direction is regarded

as the command sign direction. If the return type is straight-type return, the return direction will not be checked.

For the second and subsequence returns, the return is made at high speed to the reference (zero) position that

was stored at the first time and the direction is not checked.

(3)When reference position return is completed, the zero point arrival output signal is output and also #1 appears at

the axis name line on the setting and display unit screen.

(4)The G29 command is equivalent to the following:

G00 Xx1 Yy1 Zz1 1;

G00 Xx2 Yy2 Zz2 2;

Rapid traverse (non-interpolation type) applies independently to each axis for the positioning from the reference

position to the intermediate point.

In this case, x1 y1 z1 and 1 are the coordinate value of the G28 or G30 intermediate point.

(5)Program error (P430) occurs when G29 is executed without executing automatic reference position (zero point)

return (G28) after the power has been turned ON.

(6)When the Z axis is canceled, the movement of the Z axis to the intermediate point will be ignored, and only the

position display for the following positioning will be executed. (The machine itself will not move.)

(7)The intermediate point coordinates (x1, y1, z1, 1) of the positioning point are assigned by the position command

modal. (G90, G91).

(8)G29 is valid for either G28 or G30 but the commanded axes are positioned after a return has been made to the

latest intermediate point.

(9)The tool compensation will be canceled during reference position return unless it is already canceled, and the

compensation amount will be cleared.

(10)The intermediate point can be ignored by parameter "#1091 Ignore middle point" setting.

(11)Control from the intermediate point to the reference position is ignored for reference position return in the ma-

chine lock status. When the designated axis reaches as far as the intermediate point, the next block will be ex-

ecuted.

(12)Mirror image is valid from the start point to the intermediate point during reference position return in the mirror

image mode and the tool will move in the opposite direction to that of the command. However, mirror image is

ignored from the intermediate point to the reference position and the tool will move to the reference position.

(13)When G28/G29/G30 is commanded in single block mode, if "#1279 ext15/bit6 Enable single block stop at middle

point" is set to "1", single block stop at middle point will be performed; single block stop at middle point will not

be performed if set to "0".

(14)If the mode is switched to MDI mode or reference position return mode while in a single block stop at the inter-

mediate point, an operation error (M01 0013) occurs.

(15)If the NC is reset while in a single block stop at middle point, the intermediate point for G29 start position return

will not be updated.

(16) If a miscellaneous function is commanded in the same block, the miscellaneous function completion waiting

point will be the end of commanded movement, instead of the intermediate point.

(17) If the PLC interrupt operation is operated while in a single block stop at the intermediate point, an operation

error (M01 0129) occurs.

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1039 IB-1501278-Q

(Example 1) G28 Xx1 Zz1 ;

(Example 2) G29 Xx2, Zz2 ;

Program example

1st operation after power has been turned ON

2nd and subsequent operations

Near-point dog

(S) Return start position (CP) Intermediate point

(R1) Reference position (#1) (F) Rapid traverse rate

(C) Current position (CP) G28, G30 Intermediate point

(R1)

G0Xx3Zz3;

G0Xx1Zz1;

(S)

(CP) (x1,z1)

(F)

(R1)

R

(G00)Xx1 Zz1;

(x1,z1)

(G00)Xx2 Zz2;

(x2,z2)

(C)

(CP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1040IB-1501278-Q

(Example 3) G28 Xx1 Zz1 ;

: (From point A to 1st reference position)

:

G30 Xx2 Zz2 ;

: (From point B to 2nd reference position)

:

G29 Xx3 Zz3 ;

(From point C to point D)

(CP1) Old intermediate point

(CP2) New intermediate point

(R1) Reference position (#1) (R2) 2nd reference position (#2)

(x1,z1)

C

G29 B

G28

A

D

G30 (x2,z2)

(x3,z3)

(R1)

(R2)(CP1)

(CP2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1041 IB-1501278-Q

20.14 2nd, 3rd, and 4th Reference Position (Zero Point) Return ; G30

The tool can return to the second, third, or fourth reference position by specifying G30 P2 (P3 or P4).

Function and purpose

(S) Start point (CP) Intermediate point

(R2) 2nd reference position (R3) 3rd reference position

(R4) 4th reference position

Command format

G30 P2(P3,P4)Xx1 Yy1 Zz1 1;

X, Y, Z, Coordinate value of the intermediate point ( is an additional axis)

P Reference position No. P2: 2nd reference position return P3: 3rd reference position return P4: 4th reference position return

G28

G29

G29

G30

G30P3 G30P4

G30P2

(x1,y1,z1, 1)

G28

(R2)

(R4) (R3)

(CP) (S)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1042IB-1501278-Q

(1)The 2nd, 3rd, or 4th reference position return is specified by P2, P3, or P4.

A command without P or with other designation method will return the tool to the 2nd reference position.

(2) In the 2nd, 3rd, or 4th reference position return mode, as in the 1st reference position return mode, the tool re-

turns to the 2nd, 3rd, or 4th reference position via the intermediate point specified by G30.

(3) The 2nd, 3rd, and 4th reference position coordinates refer to the positions specific to the machine, and these can

be checked with the setting and display unit.

(4) If G29 is commanded after completion of returning to the 2nd, 3rd, and 4th reference position, the intermediate

position used last is used as the intermediate position for returning by G29.

(5) With reference position return on a plane during compensation, the tool moves without tool radius compensation

from the intermediate point as far as the reference position. With a subsequent G29 command, the tool move

without tool radius compensation from the reference position to the intermediate point and it moves with such

compensation until the G29 command from the intermediate point.

Detailed description

(CP) Intermediate point (R1) 1st reference position

(R2) 2nd reference position

(a) Tool nose center path (b) Program path

(CP) Intermediate point (R1) 1st reference position

(R2) 2nd reference position

(R2) (x2,y2)

G29 Xx2 Yy2;

(R1)

G30 Xx1 Yy1;

- X

-Y

(CP) (x1,y1)

(R2)

(x2,y2)

G29 Xx2Yy2;

(x1,y1)

-Y

- X

G30 Xx1Yy1;

(CP)

(b)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1043 IB-1501278-Q

(6) The tool length compensation amount for the axis involved is canceled after the 2nd, 3rd and 4th reference po-

sition return.

(7) With second, third and fourth reference position returns in the machine lock status, control from the intermediate

point to the reference position will be ignored. When the designated axis reaches as far as the intermediate point,

the next block will be executed.

(8) With second, third and fourth reference position returns in the mirror image mode, mirror image will be valid from

the start point to the intermediate point and the tool will move in the opposite direction to that of the command.

However, mirror image is ignored from the intermediate point to the reference position and the tool moves to the

reference position.

(9) If the 2nd, 3rd or 4th reference position is changed while G30 zero point return operation is in pause due to an

interlock, "M01 Operation Error" occurs.

(10) When G28/G29/G30 is commanded in single block mode, if "#1279 ext15/bit6 Enable single block stop at mid-

dle point" is set to "1", single block stop at middle point will be performed; single block stop at middle point will

not be performed if set to "0".

(11) If the mode is switched to MDI mode or reference position return mode while in a single block stop at the inter-

mediate point, an operation error (M01 0013) occurs.

(12) If the NC is reset while in a single block stop at middle point, the intermediate point for G29 start position return

will not be updated.

(13) If a miscellaneous function is commanded in the same block, the miscellaneous function completion waiting

point will be the end of commanded movement, instead of the intermediate point.

(14) If the PLC interrupt operation is operated while in a single block stop at the intermediate point, an operation

error (M01 0129) occurs.

(a) X-axis mirror image (b) No mirror image

(R2) 2nd reference position

(R2)

-Y

- X

G30 P2 Xx1Yy1; (b)

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1044IB-1501278-Q

20.15 Tool Change Position Return; G30.1 - G30.6

By specifying the tool change position in a parameter "#8206 tool change" and also specifying a tool change position

return command in a machining program, the tool can be changed at the most appropriate position.

The axes that are going to return to the tool change position and the order in which the axes begin to return can be

changed by commands.

Commands and return order are given below.

An arrow ( ->) indicates the order of axes that begin to return. A hyphen ( - ) indicates that the axes begin to return simultaneously. (Example: "Z axis -> X axis - Y axis" indicates that the Z axis returns to the tool change position, then the X axis and Y axis do at the same time.)

(1) Whether the tool exchange position return for the additional axis is enabled or disabled depends on the MTB specifications (parameter "#1092 Tchg_A"). For the order for returning to the tool change position, the axes return after the standard axis completes the return to the tool change position (refer to above table). The additional axis alone cannot return to the tool change po- sition.

(2) If the axis address is commanded in the same block as the tool change position return command, a program error (P33) will occur.

(3) After all necessary tool change position return is completed by a G30.n command, tool change position return complete signal TCP (XC93) is turned ON. When an axis out of those having returned to the tool change position by a G30.n command leaves the tool change position, the TCP signal is turned OFF. With a G30.1 command, for example, the TCP signal is turned on when the Z axis has reached the tool change position after the X and Y axes have reached the tool change position (in addition, after the additional axis has reached the tool change position if additional axis tool change position return is valid). The TCP signal is then turned OFF when the X, Y, or Z axis leaves the position. If tool change position return for added axes is on with parameter "#1092 Tchg_A", the TCP signal is turned ON when the added axis or axes have reached the tool change position after the stan- dard axes did. It is then turned OFF when one of the X, Y, Z, and added axes leaves the position.

Function and purpose

Command format

Tool change position return

G30.n ;

n = 1 to 6 Specify the axes that return to the tool change position and the order in which they return.

Detailed description

Command Return order

G30.1 Z axis -> X axis - Y axis (-> additional axis)

G30.2 Z axis -> X axis -> Y axis (-> additional axis)

G30.3 Z axis -> Y axis -> X axis (-> additional axis)

G30.4 X axis -> Y axis - Z axis (-> additional axis)

G30.5 Y axis -> X axis - Z axis (-> additional axis)

G30.6 X axis - Y axis - Z axis (-> additional axis)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1045 IB-1501278-Q

[TCP signal output timing chart] (G30.3 command with tool change position return for additional axes set ON)

(4) When a tool change position return command is issued, tool offset data such as for tool length offset and tool radius compensation for the axis that moved is canceled.

(5) This command is executed by dividing blocks for every axis. If this command is issued during single-block oper- ation, therefore, a block stop occurs each time one axis returns to the tool change position. To make the next axis tool change position return, therefore, a cycle start needs to be specified.

Machining program

Arrival of X axis to tool change position

Arrival of Z axis to tool change position

Arrival of additional axis to tool change position

Tool change position return complete signal (TCP)

G30.1; G00X - 100.T02;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1046IB-1501278-Q

The figure below shows an example of how the tool operates during the tool change position return command. (Only

operations of X and Y axes in G30.1 to G30.3 are figured.)

TCP : Tool change position

(1) G30.1 command: The Z axis returns to the tool change position, then the X and Y axes simultaneously do the same thing. (If tool change position return is on for an added axis, the added axis also returns to the tool change position after the X, Y and Z axes reach the tool change position.)

(2) G30.2 command: The Z axis returns to the tool change position, then the X axis does the same thing. After that, the Y axis returns to the tool change position. (If tool change position return is on for an added axis, the added axis also returns to the tool change position after the X, Y and Z axes reach the tool change position.)

(3) G30.3 command: The Z axis returns to the tool change position, then the Y axis does the same thing. After the Y axis returns to the tool change position, the X axis returns to the tool change position. (If tool change position return is on for an added axis, the added axis also returns to the tool change position after the X, Y and Z axes reach the tool change position.)

(4) G30.4 command : The X axis returns to the tool change position, then the Y axis and Z axis simultaneously do the same thing. (If tool change position return is on for an added axis, the added axis also returns to the tool change position after the X, Y and Z axes reach the tool change position.)

(5) G30.5 command : The Y axis returns to the tool change position, then the X and Z axes return to the tool change position simultaneously. (If tool change position return is on for an added axis, the added axis also returns to the tool change position after the X, Y and Z axes reach the tool change position.)

(6) G30.6 command :The X, Y and Z axes return to the tool change position simultaneously. (If tool change position return is on for an added axis, the added axis also returns to the tool change position after the X, Y and Z axes reach the tool change position.)

Operation example

G30.3

G30.2

G30.1

Y

X

(TCP)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1047 IB-1501278-Q

20.16 Reference Position Check; G27

This command first positions the tool at the position assigned by the program and then, if that positioning point is

the 1st reference position, it outputs the reference position arrival signal to the machine in the same way as with the

G28 command. Therefore, when a machining program is prepared so that the tool will depart from the 1st reference

position and return to the 1st reference position, it is possible to check whether the tool has returned to the reference

position after the program has been run.

(1) If the P command has been omitted, the 1st reference position will be checked.

(2) The number of axes whose reference positions can be checked simultaneously depends on the number of axes

which can be controlled simultaneously.

Note that the display shows one axis at a time from the final axis.

(3) An alarm will occur if the reference position is not reached after the command is completed.

Function and purpose

Command format

X__ Y__ Z__ P__ ; ... Check command

X Y Z Return control axis

P Check No. P1: 1st reference position check P2: 2nd reference position check P3: 3rd reference position check P4: 4th reference position check

Detailed description

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

20 Coordinate System Setting Functions

1048IB-1501278-Q

21

1049 IB-1501278-Q

Protection Function

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1050IB-1501278-Q

21Protection Function 21.1 Stroke Check before Travel; G22/G23

By commanding the boundaries from the program with coordinate values on the machine coordinate system, ma-

chine entry into that boundary can be prohibited. This can be set only for the three basic axes.

While the normal stored stroke limit function stops entry just before the prohibited area, this function causes a pro-

gram error (P452) to occur before the actual travel starts if a program block includes such a command as follows:

the start or end point of the travel command is within the prohibited area. the linear or circular travel path enters the prohibited area.

There are the following two methods for stroke check before travel. Whether or not this function specification is pro-

vided and either method is valid varies depending on the MTB specifications (parameter "#12057 OT_prechkON").

(1) Stroke check before travel by G code command (G22/G23)

Designate the entry prohibited areas (X, Y, and Z) with the G code G22, and enable the stroke check before

travel.

A program error (P452) occurs if there is a block in which start or end point of the travel is within the prohibited

area, or the linear or circular travel path enters the prohibited area.

The check function is turned "OFF" when the G code G23 is commanded.

(2) "Stroke check before travel in stored stroke limit area" by parameter setting

A program error (P452) occurs in the block in which the travel command end point is within the prohibited area

specified by the stored stroke limit I, IB, IC, II, or IIB function even if the G code G22 is not commanded.

For details, refer to "21.1.1 Stroke Check before Travel in Stored Stroke Limit Area".

(1) In the following command format, the basic axes are X, Y and Z. Command the base axis designated in the pa- rameters #1026 to #1028.

Function and purpose

Command format

Stroke check before travel ON

G22 X__ Y__ Z__ I__ J__ K__ ;

Stroke check before travel cancel

G23 ;

X Y Z Coordinates of upper point (basic axis name and its coordinate position)

I J K Coordinates of lower point (I, J, K address and its coordinate position)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1051 IB-1501278-Q

(1) The inner side of the boundary commanded with the upper position coordinate and the lower position coordinate is the prohibited area.

(2) If the command is omitted, "0" will be set for the address.

(3) The area designated with this function is different from the area designated with the stored stroke limit. However, the area enabled by both functions will be the actual valid movement range.

The upper point and lower point are commanded with coordinate on the machine coordinate system.

(1) This function is valid only when starting the automatic operation. When interrupted with manual absolute OFF, the prohibited area will also be shifted by the interrupted amount.

(2) A program error (P452) occurs if there is a block in which start or end point of the travel is within the prohibited area, or the linear or circular travel path enters the prohibited area.

(3) Stroke check before travel will not be carried out for the axes having the same coordinates set for the upper point and the lower point.

(4) The stroke check before travel is carried out with the tool center coordinate values.

(5) If "G23X_Y_Z_;"etc., is commanded, the command will be interpreted as "G23;X_Y_Z;"(2 blocks). Thus, the stroke check before travel will be canceled, then movement will take place with the previous movement modal.

(6) During automatic reference position return, the check will not be carried out from the intermediate point to the reference position. With G29, when moving from the start point to intermediate point, the check will not be carried out.

(7) If there is an address that is not used in one block, a program error (P32) will occur.

(8) The rotary axis is not available because the correct judgment is not performed. Do not designate the prohibited area for the rotary axis.

(9) When using a circular command, of which the radius is different at the start and end points, such as the spiral interpolation command, perform the stroke check before travel for the start-point radius path.

(10) The command by this function is not applied to the parameters of stored stroke limit II and IIB.

(11) When the axis addresses other than three base axes are commanded to the same block as for the stroke check before travel ON command (G22), the commanded axes will travel.

Detailed description

Upper point designated coordinate

Lower point designated coordinate

Prohibited range

Precautions

Z Y

X (i, j, k)

(x, y, z)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1052IB-1501278-Q

21.1.1 Stroke Check before Travel in Stored Stroke Limit Area

When "#12057 OT_prechkON" is set to "1", stroke check before travel is carried out for the stored stroke limit pro-

hibited area.

The stroke check before travel is available only for the axes for which the stored stroke limit prohibited area is des-

ignated. Stroke check before travel will not be carried out for the axes with no prohibited area designated.

When a command is issued to move to the stored stroke limit prohibited area, a program error (P452) occurs before

the block movement starts, and the axis travel is not carried out.

The tool path of the travel command can also be targeted for "Stroke check before travel in stored stroke limit area"

by setting the parameter "#8179" to "1". If a prohibited-area passing command is executed as shown below while

the enabling conditions for stroke check before travel are satisfied, operation is stopped due to a program error

(P452).

This function applies only to G00, G01, G02, G03, G28, G30, G33, and G53. If a non-target command is executed,

a decision is made depending on whether or not the end point is included in the prohibited area. Also, when the axis

passes through the prohibited area by a non-target command while the end point is not included in the prohibited

area, an operation error (M01 0007) occurs just before the end point gets into the prohibited area, and operation is

stopped.

This function is available for stored stroke limit I, stored stroke limit IB, stored stroke limit II, and stored stroke limit

IIB. If there is even one axis with stored stroke limit IC enabled, this function is disabled, and the stroke check before

travel is determined depending on whether or not the end point is included in the prohibited area.

(a) Even if a prohibited-area passing command is executed when the end point is inside the prohibited area, a program error (P452) occurs.

(b) Also, even if a prohibited-area passing command is executed when the end point is outside the prohibited area, a program error (P452) occurs.

Function and purpose

Path passing decision

(E)

(a)

(b)

(E)(S)

(S)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1053 IB-1501278-Q

(1) Stroke check before travel will not be carried out during the following modes. The axis travel stop by the stored stroke limit function is available.

(2) For the axis for inclined axis control (inclined axis or base axis), stroke check before travel is carried out only when it is designated in the orthogonal coordinate system (*1). Stroke check before travel is not carried out in the prohibited area on the machine coordinate system. The axis travel stop by the stored stroke limit function is available.

(*1) To carry out the stored stroke limit of the axis for inclined axis control in the orthogonal coordinate system,

the following settings are required.

(3) Whether stroke check before travel is enabled by the skip function (G31 or G31.n) or the automatic tool length measurement (G37) depends on the MTB specifications (parameter "#12058 OT_prechkTYPE"). When #12058=1, stroke check before travel is carried out for the skip function or the automatic tool length mea- surement.

(4) When the following commands are executed, the stroke check before travel by the path passing decision is not available. In a block including any of the following commands, the stroke check before travel is performed de- pending on whether or not the end point is included in the prohibited area.

Relationship with other functions

G code Function G code Function

G07.1 Cylindrical interpolation G05.1 Q1 High-speed high-accuracy control I

G12.1/G112 Polar coordinate interpolation G05 P10000 High-speed high-accuracy control II

G54.4 Workpiece installation error compen- sation

G05 P20000 High-speed high-accuracy control III

G43.4/G43.5 Tool center point control G05.1 Q2 Spline interpolation

G68.2/G68.3 Inclined surface machining command G06.2 NURBS interpolation

G05 P1 High-speed machining mode I G30.1 - G30.6 Tool exchange position return

G05 P2 High-speed machining mode II - PLC axis control

G68 3-dimensional coordinate conversion

Range setting pa- rameter

Enabling conditions Remarks

#2061 OT_1B- "#2063 OT_1Btype" = "3" "#2061 OT_1B-" "#2062 OT_1B+" Zero point return complete

The stored stroke limit IC specification is re- quired.#2062 OT_1B+

G code Function

G02, G03 Helical interpolation

G02.1, G03.1 Spiral/conical interpolation

G02.2, G03.2 Involute Interpolation

G02.3, G03.3 Exponential interpolation

G02.4, G03.4 3-dimensional circular interpolation

X

y

Y

P3

P4

P2 0

P1Orthogonal coordi- nate system

Basic machine coordinate system

Prohibited area targeted for stroke check before travel

Stroke check before travel is not carried out for the travel to the shaded area. (It causes stored stroke limit error.)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1054IB-1501278-Q

(5) When the prohibited area is changed by switching the stored stroke limit I area, the changed contents are not reflected in the decision of the stroke check before travel.

(1) If the restarting point is in the prohibited area when the program restarts, a program error (P452) occurs by the automatic restart position return operation.

(2) Issuing a command (fixed cycle, block inserted by tool radius compensation, etc.) that is divided into multiple operations in a single block causes a program error (P452) before the program starts a travel by which the end point enters the prohibited area.

(3) Stroke check before travel is carried out also during machine lock.

(4) When the parameter "#8179" is set to "0", the tool path of the travel command is not targeted for a stroke check before travel. An operation error (M01 0007) occurs and processing stops by the stored stroke limit function just before the prohibited area. To target the following command for the stroke check before travel, set the parameter "#8179" to "1".

(5) If the end point at block restart enters the prohibited area by the manual interruption after the axis travel has stopped by field hold, it does not cause a program error (P452) by the stroke check before travel.

(6) A travel from the intermediate point to the reference position by the automatic reference position return G28/G30 and a travel from the reference position to the intermediate point by G29 are not targeted for stroke check before travel.

(7) If the stroke check before travel specification by parameter is not provided, a program error (P451) occurs at the timing of the automatic operation start.

(8) To rewrite the parameter #12057 to "1" using the parameter input by program (G10L70), the stroke check before travel specification is required. If the specification is not provided, a program error (P451) occurs when an at- tempt is made to rewrite the parameter #12057 to "1" using the parameter input by program (G10L70).

(9) The command path passing decision cannot be combined with stored stroke limit IC. If there is even one axis with stored stroke limit IC enabled, a decision is made depending on whether or not the end point is included in the prohibited area.

(10) Even when G00, G28, G30, or G53 is operated in non-interpolation mode, the command path passing decision is made, assuming that the command is operated on a line connecting the start point and end point.

(11) A command for rotary axis is not targeted for the command path passing decision. In a block including a com- mand for rotary axis, a decision is made depending on whether or not the orthogonal axis passes through the prohibited area.

Precautions

Stops immediately before the prohib- ited area.

Stroke check before travel is not carried out on the middle of the path.

Entry prohibited area by stored stroke limit IStart point

End point

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1055 IB-1501278-Q

21.2 Enable Interfering Object Selection Data; G186

Sixteen interfering objects to be checked in the interference check III are preset by the MTB (R register or system

variables).

The interfering object selection is enabled by the "Interference check III: Enable interfering object selection data"

signal (Y769) or the "Enable interfering object selection data" command (G186) after the target interfering object has

been selected.

When the "Interference check III mode" signal (Y76A) is set to ON after the interfering object selection has been

enabled, the interference check starts.

Refer to the "PLC Interface Manual" for the R register and commands issued by the PLC device.

For details on the system variables, refer to "23.30 System Variables (Interfering Object Selection)".

This section describes the "Enable interfering object selection data" command (G186).

(1) When the "Enable interfering object selection data" command (G186) or the "interference check III: Enable inter- fering object selection data" signal is set to ON, the consistency between the interfering object definition and in- terfering object selection is checked.

(2) If the consistency check causes an operation error, all axes in all part systems will stop. An operation error can be remedied by redefining the interfering object data (*1) or resetting all part systems (except for sub part system 2).

(*1) After correcting the interfering object data, issue the "Enable interfering object selection data" signal or "En-

able interfering object selection data" command (G186).

(3) The manual operation and automatic operation are not available until all the part systems (except for subpart system 2) are reset.

(4) In the case the alarm occurs due to the consistency check, the interfering data will not be updated. For the inter- ference check between interfering objects, the interfering data enabled last time is continuously used.

While the interference check III mode signal is set to ON after the "Enable interfering object selection data" signal

or the "Enable interfering object selection data" command (G186) has been executed, the interference between in-

terfering objects is checked. While the interference check III is being executed, the interference check III mode active

signal is turned ON.

After the NC power is turned ON, if the interference check III mode signal is turned ON without executing the "Enable

interfering object selection data" signal or the "Enable interfering object selection data" command (G186) even once,

an operation error (M03 1001) will occur.

Function and purpose

Command format

"Enable interfering object selection data" command

G186;

Detailed description

Consistency check between interfering object definition and interfering object selection

Interference check III mode enable command

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1056IB-1501278-Q

(*1) The first interfering data pattern is set by the G186 command.

The interference check III function executes check processing based on the first data pattern setting.

(*2) The second interfering data pattern is set by the G186 command.

The interference check III function executes check processing based on the second data pattern setting.

(*3) The interference check III function is not executed.

The program cannot be run backward prior to the "Enable interfering object selection data" command (G186).

If the "Enable interfering object selection data" command (G186) is run backward, the interference data at the re-

verse run is enabled, instead of returning to the interference data at forward run.

Timing chart at execution of G186

G186 command

Interference check III mode enable signal

Interference check III mode active signal

Status of interference check III

Relationship with other functions

Manual arbitrary reverse run

Arbitrary reverse run

G186 G186

(*1)

(*3) (*1) (*2) (*3)

(*2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1057 IB-1501278-Q

(1) The high-speed high-accuracy control function (high-speed machining mode, high-accuracy control, spline inter- polation, etc.) generates a path appropriate for the tolerance amount to execute a machining program command- ed with fine segments at high speed and smoothly. Thus, a difference arises between the path on which the interference check III is performed and the path on which the tool actually passes. When using the interference check III together with the high-speed high-accuracy control (high-speed machining mode, high-accuracy con- trol, spline interpolation, etc.), define an interfering object (solid) with the clearance amount to suit the path dif- ference that occurs depending on the tolerance amount.

(2) The axis that is stopped when an operation error (M03 0001) or (M03 0002) is detected depends on the MTB specifications (parameter "#1444 otsys" (OT all-part-system stop enable/disable selection). When "0" is set, all the axes in the part system which controls the axes set to "interfering object I/J/K control axis" and "I/J/K rotary control axis" in the interfering object definition will stop. When "1" is set, all axes in all part systems will stop.

(3) If an operation error (M03 0002) is detected between the fixed interfering objects (*1), an alarm will be output to part system 1. (*1) These refer to the interfering objects for which "interfering object I/J/K control axis" and "I/J/K rotary control axis" are not set in the interfering object definition.

(4) If you perform the interference check III during the high-speed simple program check, an operation error (M03 0001) may occur at a position different from the actual operation.

(5) If multiple interfering objects including the rotary axis setting are set as one interfering object using the interfering check III: designation of disabled interference object, only the interfering object in which a rotary axis is set will be in rotating operation, checking the interference between the interfering objects.

(6) If an operation error (M03 0001) occurs, cancel the alarm by moving the interfering object to the retracting direc- tion with the linear axis.

(7) The PLC axis is not available for the interference check III. However, it is available when NC axis/auxiliary axis switching is enabled.

(8) In the interference check III, the interference is checked in 0.1m units regardless of the control unit.

(9) At the occurrence of the operation error (M03 0001), all the axes in the part system in which the alarm has oc- curred will stop. If the entry to the interference alarm area is not detected by the subsequent axis travel command (manual operation/automatic operation), the operation error (M03 0001) will be cancelled and the axes will travel. Depending on the relative positional relation between the interfering objects or the feedrate of axes, the axis can travel further to the interfering direction from the stopped position (a direction to which the interfering objects in- terfere). Even if the axis moves toward the interfering direction, it will stop before entering the interference alarm area.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

21 Protection Function

1058IB-1501278-Q

22

1059 IB-1501278-Q

Measurement Support Functions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1060IB-1501278-Q

22Measurement Support Functions 22.1 Automatic Tool Length Measurement; G37

These functions issue the command values from the measuring start position as far as the measurement position,

move the tool in the direction of the measurement position, stop the machine once the tool has arrived at the sensor,

cause the NC system to calculate automatically the difference between the coordinate values at that time and the

coordinate values of the commanded measurement position and provide this difference as the tool offset amount.

When offset is already being applied to a tool, it moves the tool toward the measurement position with the offset still

applied, and if a further offset amount is generated as a result of the measurement and calculation, it provides further

compensation of the present compensation amount.

If there is one type of offset amount at this time, and the offset amount is distinguished between tool length offset

amount and wear offset amount, the wear amount will be automatically compensated.

Function and purpose

Command format

Automatic tool length measurement command

G37 Z__ R__ D__ F__ ;

Z Measuring axis address and coordinates of the measurement position

R This commands the distance between the measurement position and point where the movement is to start at the measuring speed.

D This commands the range within which the tool is to stop.

F This commands the measuring feedrate. When setting of "R", "D" or "F" is omitted, the value set in the parameter is used instead.

("AUTO TLM" on machining parameter screen) "#8004 SPEED": 0 to 1000000 [mm/min] "#8005 ZONE r": 0 to 99999.999 [mm] "#8006 ZONE d": 0 to 99999.999 [mm]

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1061 IB-1501278-Q

(1) Operation with G37 command is shown below.

When the tool (measurement axis) reaches the sensor and the sensor signal detects it, movement on the axis stops. When the tool (measurement axis) exceeds the measurement allowable range (a), movement on the axis stops. When the sensor signal is detected within the measurement allowable range (a), the measurement is per-

formed. When the axis stops moving outside of the measurement allowable range (a), the program error (P607) occurs.

(2) The "sensor" signal ("measuring position arrival" signal) is used in common with the "skip" signal.

(3) The feedrate will be 1 mm/min if the F command and parameter measurement speed are "0".

(4) An updated offset amount is valid unless it is assigned from the following Z axis (measurement axis) command of the G37 command.

(5) Excluding the delay at the PLC side, the delay and fluctuations in the "sensor" signal processing range from "0" to "0.2" (ms). As a result, the measuring error shown below is caused.

Maximum measuring error [mm] = Measuring speed [mm/min] * 1/60 * 0.2 [ms]/1000

(6) The machine position coordinates at that point in time are read by "sensor" signal detection, and the machine will overtravel and stop at a position equivalent to the servo droop.

Maximum overtravel [mm] = Measuring speed [mm/min] * 1/60 * 1/Position loop gain [1/s]

The standard position loop gain is 33 (1/s).

Detailed description

(a) Measurement allowable range (b) Compensation amount (d1) Distance

(F1) Speed (f2) Feedrate (d) Measurement range

(r) Deceleration range

Measuring position Stop point Sensor output

(a)

(b)

(f2)(F1)

(d1)

D (d) D (d)

R (r) F (fp)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1062IB-1501278-Q

This example of an operation is for the tool compensation memory type II.

Before using a new tool, measure the tool length compensation amount using the manual tool length measurement

function. Set the measured adjustment amount to the "Length" item on the screen. Set "0" to the "L wear" item.

To measure the adjustment amount that is changed by using a tool, execute the automatic tool length measurement

function (G37).

After G37 was executed, the change in the adjustment amount is added to the "L wear" item.

[mm]

(1) For tool compensation memory type II, this value is set to the "L wear" item. For tool compensation memory type I, this value is set as the compensation amount without distinguishing between tool length dimension and tool length wear amount. The tool compensation memory type depends on the MTB specifications (parameter "#1037 cmdtyp").

Operation example

G91 G28 Z0 ; T01 ; M06 ; G90 G43 G00 Z300. H01 ;

G37 Z0. R10. D2. F100 ;

G00 Z10. ; M02 ;

The difference between the measurement position and the commanded position is added to the "Length" item.

(a) Measuring device (b) Wear amount

D

D

R F

Z

300.

10.

5.

0.

(a)

(b)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1063 IB-1501278-Q

(1) Program error (P600) occurs if G37 is commanded when the automatic tool length measurement function is not provided.

(2) Program error (P604) will occur when no axis has been commanded in the G37 block or when two or more axes have been commanded.

(3) Program error (P605) will occur when the H code is commanded in the G37 block.

(4) Program error (P606) will occur when "G43 H_" is not commanded prior to the G37 block.

(5) Program error (P607) will occur when the "sensor" signal is input outside the allowable measuring range, or when the "sensor" signal is not detected even upon arrival at the end point.

(6) When a manual interrupt is applied while the tool is moving at the measuring speed, a return must be made to the position prior to the interrupt and then operation must be resumed.

(7) The data commanded in G37 or the parameter setting data must meet the following conditions:

| Measurement point - start point | > "R command" or parameter "#8005 ZONE r" > "D command" or parameter

"#8006 ZONE d"

(8) When the "D" address and parameter "#8006 ZONE d" in (7) above are "0", the operation will be completed nor- mally only when the commanded measurement point and "sensor" signal detection point coincide. Otherwise, program error (P607) will occur.

(9) When the "R" and ",D" addresses as well as parameters "#8005 ZONE r" and "#8006 ZONE d" in (7) above are all "0", program error (P607) will occur regardless of whether the "sensor" signal is present or not after the tool has been positioned at the commanded measurement point.

(10) When the measurement allowable range is larger than the measurement command distance, it becomes the measurement allowable range for all axes.

(11) When the measurement speed movement distance is larger than the measurement command distance, all axes move at the measurement speed.

(12) When the measurement allowable range is larger than the measurement speed movement distance, the axis moves in the measurement allowable range at the measurement speed.

(13) The automatic tool length measurement command (G37) must be commanded together with the "G43 H_" com- mand that designates the offset No.

G43 H_;

G37 Z_ R_ D_ F_;

(14) If an axis other than Z is specified for the measuring axis in G37 while the parameter "#1080 Dril_Z" is set to "1", the program error (P606) occurs.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1064IB-1501278-Q

22.2 Skip Function; G31

When the skip signal is input externally during linear interpolation based on the G31 command, the machine feed is

stopped immediately, the coordinate value is read, the remaining distance is discarded and the command in the fol-

lowing block is executed.

Function and purpose

Command format

G31 X__ Y__ Z__ __ R__ F__ ;

X,Y,Z, Axis coordinate value; they are commanded as absolute or incremental positions accord- ing to the G90/G91 modal when commanded. is the additional axis.

R Acceleration/deceleration command R0: Acceleration/deceleration time constant=0 (No automatic acceleration/deceleration after interpolation.) R1: Acceleration/deceleration time constant valid. Accelerate/decelerate with the time constant set with the parameters "#2102 skip_tL" and "#2103 skip_t1".

R0 is applied when it is omitted.

F Feedrate (mm/min)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1065 IB-1501278-Q

(1) If an F command is programmed in the same block as G31, the commanded speed is set as the skip speed. If an F 1-digit feed command is issued to program the feedrate, F 1-digit feed is disabled. Note that, in the following cases, the skip speed and operations depend on the MTB specifications (parameter "#12022 skipF_spec/bit2").

(2) The maximum speed of G31 command is determined by the machine specification.

(3) When R0 is commanded or the R command is omitted, the step acceleration/deceleration will be applied to G31 block after the interpolation without performing the automatic acceleration/deceleration. When R1 is commanded, the automatic acceleration/deceleration will be performed according to the cutting feed acceleration/deceleration mode set by the parameter "#2003 smgst" with the time constant set by the parameter "#2102 skip_tL" and "#2103 skip_t1". Even if G1 constant-gradient acceleration/deceleration (the parameter "#1201 G1_acc" is set to "1") is valid, the time constant acceleration and deceleration will be performed.

(4) When the R1 is commanded with the acceleration and deceleration command, the automatic acceleration and deceleration will be performed after the interpolation even if the skip single is input. Note that if the value of the parameter "#2102 skip_tL" and "#2103 skip_t1" are large, the movement will not stop immediately.

Acceleration/deceleration when R0 is commanded or R is omitted

Acceleration/deceleration when R1 is commanded

(5) Command the acceleration/deceleration command (R0/R1) whenever G31 is commanded. If R0/R1 has not been commanded, or anything other than R0/R1 has been commanded, the acceleration/deceleration time con- stant is assumed to "0" (R0), and automatic acceleration/deceleration after interpolation will not be performed.

Detailed description

#12022/bit2 = 0 #12022/bit2 = 1

Skip speed if an F command is not programmed in the G31 block

The value of parameter "#1174 skip_F" is used as the skip speed.

The skip speed is determined based on the modality of F when G31 is exe- cuted.

A program error (P603) will also occur if the value of parameter "#1174 skip_F" is "0".

A program error (P62) will also occur if the value of F modality is "0".

Mode of commanded speed Only feed per minute mode is avail- able. Feed per minute mode is enabled even in feed per revolution mode.

Follows the mode (Feed per minute/ Feed per revolution) that is active when G31 is executed.

Modality of F command The F modal is not updated even if the G31 block contains an F command.

The F modal that is updated by an F command in the G31 block varies de- pending on the mode (Feed per min- ute/Feed per revolution) that is active when G31 is executed.

(sk1) Skip signal (tL) Skip time constant

t

sk1 f

f

sk1

(tL)(tL) t

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1066IB-1501278-Q

(6) When G31 is commanded, the stop conditions (feed hold, interlock, override zero and stroke end) are valid. Ex- ternal deceleration is also valid. For the validity of the following various functions, refer to the MTB specifications.

Cutting feed override (parameter "#12022 skipF_spec/bit0") Dry run (parameter "#12022 skipF_spec/bit1")

(7) The G31 command is unmodal and it needs to be commanded each time.

(8) If the skip command is input at the start of the G31 command, the G31 command will be completed immediately. When a skip signal has not been input until the completion of the G31 block, the G31 command will also be com- pleted upon completion of the movement commands.

(9) If the G31 command is issued during tool radius compensation or nose R compensation, program error (P608) will occur.

(10) When there is no F command in the G31 command and the parameter speed is also zero, the program error (P603) will occur.

(11) With machine lock or with the Z axis cancel switch ON when only the Z axis is commanded, the skip signal will be ignored and execution will continue as far as the end of the block.

The coordinate positions for which the skip signal is input are stored in the system variables #5061 (1st axis) to

#506n (n-th axis), so these can be used in the user macros.

(1) Depending on the MTB specifications (parameter "#1366 skipExTyp"), the skip coordinate value may be "0" even if the G31 command is given in a 1-part system or in only a part of a multi-part system.

The amount of coasting from when the skip signal is input during the G31 command until the machine stops differs

according to the parameter "#1174 skip_F" or F command in G31.

The time to start deceleration to stop after responding to the skip signal is short, so the machine can be stopped

precisely with a small coasting amount. The coasting amount can be calculated from the following formula.

Readout of skip coordinates

:

G90 G00 X-100. ;

G31 X-200. F60 ; (Skip command)

#101=#5061 ; Skip signal input coordinate position (workpiece coordinate system) is readout to #101.

:

G31 coasting

0 : Coasting amount (mm)

F : G31 skip speed (mm/min)

Tp : Position loop time constant (s) = (position loop gain)-1

t1 : Response delay time (s) = (time taken from the detection to the arrival of the skip signal at the controller)

t2 : Response error time 0.001 (s)

When G31 is used for calculation, the value calculated from the section indicated by 1 in the above equation can be compensated for, however, 2 results in calculation error.

Note

0 = Tp+ (t1 t2)60 F

60 F

60 F

60 F= (Tp+t1) t2

1 2

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1067 IB-1501278-Q

Stop pattern with skip signal input is shown below.

The relationship between the coasting amount and speed when Tp is 30ms and t1 is 5ms is shown in the following

figure.

(1) Skip signal input coordinate readout

The coasting amount based on the position loop time constant Tp and cutting feed time constant Ts is not in- cluded in the skip signal input coordinate values. Therefore, the workpiece coordinate values applying when the skip signal is input can be readout within the error range in the following formula as the skip signal input coordinate values. However, coasting based on response delay time t1 results in a measurement error and so compensation must be provided.

Readout error of skip signal input coordinates

Readout error with a 60mm/min feedrate is as shown below and the measurement value is within readout error range of 1m:

= (60/60) x 0.001 = 0.001 (mm)

(2) Readout of other coordinates

The readout coordinate values include the coasting amount. Therefore, when coordinate values at the time of skip signal input is required, reference should be made to the section on the G31 coasting amount to compensate the coordinate value. As in the case of (1), the coasting amount based on the delay error time t2 cannot be cal- culated, and this generates a measuring error.

F: Feedrate (a) Skip signal input (T) Time

Coasting amount

(a) Maximum value (b) Average value (c) Minimum value F: Feedrate : Coasting amount

Readout error of skip coordinates mm

: Readout error =(F/60)t 2 F : Feedrate t2 : Response error time 0.001 (s)

Measurement value

Tp t1 t2 (T)

(a)

0

F

Tp=0.03 t1=0.0050.050

F (mm/min)

0.040

0.030

0.020

0.010

(mm)

0 10 20 30 40 50 60 70

(a) (b)

(c)

F (mm/min)

+1

0

- 1 60

(m)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1068IB-1501278-Q

(1) Compensating for skip signal input coordinates

(2) Compensating for workpiece coordinates

The operation resulting from the G31 command executed simultaneously on multiple part systems depends on the

MTB specifications (parameter "#1366 skipExTyp").

(*1) The skip coordinate position is also set to "0" when the G31 command is executed on a single part system.

Furthermore, it is set to "0" when the G31 command is executed on one part system in a multiple part system

configuration.

When the G31 command is used for measuring purposes, "#1366 skipExTyp" must be "0".

Examples of compensating for coasting

:

G31 X100.F100 ; Skip command

G04 ; Machine stop check

#101=#5061 ; Skip signal input coordinate readout

#102=#110*#111/60 ; Coasting based on response delay time

#105=#101-#102 ; Skip signal input coordinates

:

#110 = Skip feedrate;

#111 = Response delay time t1;

:

G31 X100.F100 ; Skip command

G04 ; Machine stop check

#101=#5061 ; Skip signal input coordinate readout

#102=#110*#111/60 ; Coasting based on response delay time

#103=#110*#112/60 ; Coasting based on position loop time constant

#105=#101-#102-#103 ; Skip signal input coordinates

:

#110 = Skip feedrate;

#111 = Response delay time t1;

#112 = Position loop time constant Tp;

Operation to be carried out when the skip command is executed on multiple part systems at the same time

#1366 Operation

0 When any part system is executing the G31 command, the G31 command issued for other part sys- tems is subjected to a block interlock state, and such G31 command will be executed after the cur- rent G31 command execution is completed. (No error is displayed.) In a single-block operation, for example, where the G31 block is started in multiple part systems at the same time, it is executed in the smallest part system first.

1 The G31 command is executed on multiple part systems at the same time. However, the skip coordinate position is not read and is set to "0" in all part systems. (*1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1069 IB-1501278-Q

Operation example

G90 G00 X-100000 Y0; G31 X-500000 F100; G01 Y-100000; G31 X-0 F100; Y-200000; G31 X-500000 F100; Y-300000; X0;

- 500000 0

- 100000

- 200000

- 300000

- 100000

G01

G31

G31

G31

G01 G01

G01 X

W

Y

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1070IB-1501278-Q

22.3 Multi-step Skip Function 1; G31.n, G04

The setting of combinations of skip signals to be input enables skipping under various conditions. The actual skip

operation is the same as G31.

The G commands which can specify skipping are G31.1, G31.2, G31.3, and G04, and the correspondence between

the G commands and skip signals and settings for each parameter depend on the MTB specifications.

Same with G31.2 and G31.3; Ff is not required with G04.

As with the G31 command, this command executes linear interpolation and when the preset skip signal conditions

have been met, the machine is stopped, the remaining commands are canceled, and the next block is executed.

(1) The skip speed is specified by program command or parameter. Feedrate G31.1 set with the parameter corre- sponds to "#1176 skip1f", G31.2 corresponds to "#1178 skip2f", G31.3 corresponds to "#1180 skip3f", and G04 corresponds to "#1173 dwlskp". Note that the F modal is not updated in each case.

(2) A command is skipped if it meets the specified skip signal condition.

(3) The feedrates corresponding to the G31.1, G31.2, and G31.3 commands can be set by parameters.

(4) The skip conditions (logical sum of skip signals that have been set) corresponding to the G31.1, G31.2, G31.3 and G04 commands can be set by parameters.

(5) Details other than the above are the same as those on G31 (Skip function).

Function and purpose

Command format

G31.1 X__ Y__ Z__ __ R__ F__ ;

X,Y,Z, Target coordinates

R Acceleration/deceleration command R0: Acceleration/deceleration time constant=0 (No automatic acceleration/deceleration after interpolation.) R1: Acceleration/deceleration time constant valid. Accelerate/decelerate with the time constant set in the parameters "#2102 skip_tL" and "#2103 skip_t1". R0 is applied when it is omitted.

F Feedrate (mm/min)

Detailed description

Parameter setting Valid skip signal

1 2 3

1

2

3

4

5

6

7

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1071 IB-1501278-Q

(1) The multi-step skip function enables the following control, thereby improving measurement accuracy and short- ening the time required for measurement.

[Parameter settings]

[Program example]

N10 G31.1 X200.0 ;

N20 G31.2 X40.0 ;

N30 G31.3 X1.0 ;

If skip signal 1 is input before skip signal 2 in the above operation, N20 is skipped at that point and N30 is also ignored.

(2) If a skip signal with the condition set during G04 (dwell) is input, the remaining dwell time is canceled and the following block is executed.

Operation example

Skip condition Skip speed

G31.1 :7 20.0 mm/min(f1)

G31.2 :3 5.0 mm/min(f2)

G31.3 :1 1.0 mm/min(f3)

(a) Measurement distance (F) Skip speed (sk1) Input of skip signal 1 (sk2) Input of skip signal 2 (sk3) Input of skip signal 3

(sk1) Skip signal (tL) Skip time constant

N10

f

N20

N30

(f1)

(f2)

(f3)

t

(a)

(F)

(sk3) (sk2) (sk1)

(tL) (tL) (tL) (tL) t

(f1)

(f2) (f3)

(sk3)

(sk2)

(sk1) N10

N20 N30

f

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1072IB-1501278-Q

22.4 Multi-step Skip Function 2; G31 P

During linear interpolation by the skip command (G31), operation can be skipped according to the conditions of the

skip signal parameter Pp.

If multi-step skip commands are issued simultaneously in different part systems as shown in the left figure, both part

systems perform skip operation simultaneously if the input skip signals are the same, or they perform skip operation

separately if the input skip signals are different as shown in the right figure. The skip operation is the same as a

normal skip command (G31 without P command).

If the skip condition specified by the parameter "#1173 dwlskp" (indicating external skip signals 1 to 4) is met during

execution of a dwell command (G04), the remaining dwell time is canceled and the following block is executed.

Function and purpose

[Same skip signals input in both 1st and 2nd part systems]

[Different skip signals input in 1st and 2nd part sys- tems]

($1) 1st part system ($2) 2nd part system

(sk1) Skip signal 1 (sk2) Skip signal 2

Command format

G31 X__ Y__ Z__ __ P__ R__ F__ ;

X Y Z Target coordinates

P Skip signal command

R Acceleration/deceleration command R0: Acceleration/deceleration time constant=0 (No automatic acceleration/decel- eration after interpolation.) R1: Acceleration/deceleration time constant valid. Accelerate/decelerate with the time constant set in the parameters "#2102 skip_tL" and "#2103 skip_t1". R0 is applied when it is omitted.

F Feedrate (mm/min)

Y1 (sk1)

($1)

Y1

X1 X1

(sk1)

($1)

Y2 (sk1)

($2)

Y2

X2 X2

(sk2)

($2)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1073 IB-1501278-Q

(1) The skip speed is specified by program command or parameter. The feedrate by the parameter is set by "#1174

skip_F". Note that the F modal is not updated in each case.

(2) The skip signal is specified by skip signal command p. The command range of "p" is from 1 to 255. If outside the

range is commanded, program error (P35) will occur.

(3) The specified skip signal command is a logical sum of the skip signals.

(Example) G31 X100. P5 F100 ;

Operation is skipped if skip signal 1 or 3 is input.

(4) If skip signal parameter Pp is not specified, it works as a skip function (G31), not as a multi-step skip function. If

speed parameter Ff is not specified, the skip speed set by the parameter "#1174 skip_F" will apply.

[Relations between skip and multi-step skip]

(5) If skip specification is effective and P is specified as an axis address, skip signal parameter P will be given a

priority. The axis address "P" will be ignored.

(Example) G31 X100. P500 F100 ;

This is regarded as a skip signal. (The program error (P35) will occur.)

(6) Other than above, the same detailed description as "Skip function; G31" applies.

Detailed description

Skip signal command P Valid skip signal

8 7 6 5 4 3 2 1

1

2

3

4

5

6

7

8

: : :

253

254

255

Skip specifications

Condition Speed Condition Speed

G31 X100 ;(Without P and F) Program error (P601)

Skip 1 #1174 skip_F

G31 X100 P5 ;(Without F) Program error (P602)

Command val- ue

#1174 skip_F

G31 X100 F100 ;(Without P) Program error (P601)

Skip 1 Command value

G31 X100; P5 F100; Program error (P602)

Command val- ue

Command value

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1074IB-1501278-Q

22.5 Speed Change Skip; G31 Fn

When the skip signal is detected during linear interpolation by the skip command (G31), the feedrate is changed.

Function and purpose

Command format

G31 X__ (Y__) Z__ __ R__ F__ F1 = __ ... Fn = __ ; ("n" is the skip signal 1 to 8) ... Skip command

X, (Y,) Z, Target coordinates

R Acceleration/deceleration command

R0: Acceleration/deceleration time constant=0

When the movement is stopped by the skip signal detection, the step stop will

occur.

R1: Acceleration/deceleration time constant valid.

When the movement is stopped by the skip signal detection, it will decelerate

with the time constant set in the parameter "#2102 skip_tL" and "#2103

skip_t1".

When omitted, R0 will be applied.

F Feedrate when starting the cutting feed (mm/min)

Fn= Feedrate after detecting the skip signal (mm/min) Fn = 0: Movement stop Fn 0 :Changing the feedrate to fn

F1 = Feedrate after inputting the skip signal 1

:

F8 = Feedrate after inputting the skip signal 8

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1075 IB-1501278-Q

(1) When the skip signal for which the feedrate fn0 is commanded, the speed is changed to the command speed corresponding to the skip signal.

(2) When the skip signal for which the feedrate fn=0 is commanded, the movement is stopped. If R0 is commanded or R command is omitted, the skip stop will occur when the movement is stopped by the skip signal detection without performing the automatic acceleration/deceleration by the skip time constant. When R1 is commanded, the automatic acceleration/deceleration will be performed with the skip time constant after the interpolation even if the movement is stopped by the skip signal detection. Note that if the value of the parameter "#2102 skip_tL" and #2103 skip_t1" are large, it will not stop immediately. After the movement is stopped, the remaining movement commands are canceled and the following block will be executed.

(3) When a skip signal has not been input until the completion of the G31 block, the G31 command will also be com- pleted upon completion of the movement commands.

(4) When the skip return is valid, the return operation by the skip signal detection is executed after the movement is stopped.

(5) Even if G1 constant-gradient acceleration/deceleration (#1201 G1_acc) is valid, the speed change skip will be the operation of the acceleration/deceleration with fixed time constant.

(6) When the feedrate command (Fn=fn) is not specified after detecting the skip signal, the normal G31 skip opera- tion will be applied.

(7) If a skip signal (one of sk1 to sk4) are input during the deceleration (area (A) in the figure) after a move command has finished:

(a) A skip signal (sk2 in the figure) for changing speed is ignored.

(b) A skip signal (sk1 in the figure) for stopping the movement is executed and the speed is set to "0".

(8) The skip signal without commanding the feedrate in the program will be ignored.

Detailed description

Speed F (mm/min)

Time T (min)

(sk4)

(sk3)

(sk1)

(sk2)

(A)

f

f4

f3

f2

f1

0

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1076IB-1501278-Q

(9) The speed change or the movement stop is performed when detecting the rising edge of the skip signal. Note that if several rising edges are input at 3.5ms intervals or less, they may be judged as the simultaneous input. When they are judged as the simultaneous input, the smaller value will be valid. Shown below are changes in time (T) and speed (F) when skip signals, 1 (sk1) to 4 (sk4), are input.

(10) If the G31 block is started with the skip signal input, that signal is considered to rise at the same time as the block starts.

(11) If the skip signals for changing the speed and for stopping the movement are simultaneously input, the skip signal for stopping the movement will be valid regardless of the size of the number.

(12) If the skip time constant "#2102 skip_tL" is illegal, an MCP alarm (Y51 15) will occur. If the "#2103 skip_t1" is illegal, an MCP alarm (Y51 16) will occur.

(13) Other than above, the same detailed description as "Skip function; G31" applies.

Speed F (mm/min)

Time T (min)

Time T (min)

f4

f

f3

f2

0

f1

(sk3+sk4)

(sk1)

(sk2)

(sk4)

(sk3)

(sk2)

(sk1)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1077 IB-1501278-Q

The following shows the operations when a skip time constant and skip signals, 1 (sk1) to 4 (sk4), are input.

(1) Example of when R is not commanded

Skip time constant ((a) in the figure) and position loop time constant ((b) in the figure)

G31 X100. Ff F1=0 F2=f2 F3=f3 F4=f4 ;

(2) Example of when R1 is commanded

Skip time constant ((tL) in the figure)

G31 X100. R1 Ff F1=0 F2=f2 F3=f3 F4=f4;

Operation example

Speed F (mm/min)

Time T (min)

Speed F (mm/min)

Time T (min)

f4

f

f3

f2

0 f1

(a) (a)

(sk4)

(sk3)

(sk2)

(sk1)

(b)

f4

f

f3

f2

0 (tL) (tL) (tL)

(sk4)

(sk3)

(sk2)

(sk1)

f1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1078IB-1501278-Q

22.6 Torque Limitation Skip; G160

Axis movement is performed in the torque limited status, and the axis movement command is suspended to proceed

to the next block when the current command value reaches the designated torque skip value and the torque skip

turns ON. In addition to the torque, the droop value can be add to the condition of the skip ON (Droop skip).

This function enables measurement without a sensor.

The G160 command is unmodal (group 00). When executing the G160 command continuously, it must always be

command for each block separately.

(1) Designate an axis that exits in the part system for the axis address. If an axis that does not exist in the part sys- tem, a program error (P32) will occur.

(2) Only one axis can be commanded with the axis address. If no axis is specified or if two or more axes are specified in the same block, a program error (P595) will occur.

(3) For spindle/C axis (C axis command), a Q command is specified with 121 to 500 %, the axis is clamped at 120%.

(4) If a Q command is omitted, torque skip function is performed as specified by the MTB (parameter shown below). NC axis (servo axis): SV014 lLMTsp (current limit value in special control) Spindle/C axis (C axis command): For the normal spindle, SP065 TLM1 (torque limit 1) For spindle-mode servo, SV014 ILMTsp (current limit value in special control)

(5) If D command is omitted, a skip operation is performed using the torque skip value only.

(6) D command must be programmed within the excessive error width shown below.

NC axis (servo axis): SV023 OD1 (detected excessive error width when servo is on) Spindle/C axis: SP023 OD1 (detected excessive error width (interpolation mode))

(7) If an F command is omitted, the feedrate depends on the MTB specifications (parameter "#1174 skip_F").

(8) A program error (P603) will occur if the skip speed in F command is 0.

Function and purpose

Command format

Torque limitation skip

G160 X/Y/__ Q__ D__ F__ ;

X/Y/ Axis address and coordinate value command (mm/inch) (Decimal point command is possible)

Q Torque skip value (0 to 500 (%))

D Droop skip value (0 to 99999.999 mm, 0 to 9999.9999 inch)

F Skip speed Set it in the range of feedrates. (mm/min, inch/min, mm/rev, inch/rev)

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1079 IB-1501278-Q

Follow the acceleration/deceleration pattern for linear interpolation (G01). Even if G01 constant-gradient acceleration/deceleration is valid, the time constant acceleration and decelera-

tion will be performed.

If F command is programmed in the same block as G160, the commanded speed is set as the skip speed.

If an F 1-digit feed command is issued to program the feedrate, F 1-digit feed is disabled.

Note that, in the following cases, the skip speed and operations depend on the MTB specifications (parameter

"#12022 skipF_spec/bit2").

(1) For the validity of the following various functions, refer to the MTB specifications. Cutting feed override valid/invalid (parameter "#12022 skipF_spec/bit0") Dry run valid/invalid (parameter "#12022 skipF_spec/bit1")

(2) An operation error (M01 0102) occurs if 0% cutting feed override is performed when cutting feed override is in- valid.

(3) The stop conditions (feed hold, interlock, override zero and stroke end) and external deceleration are valid when torque limitation skip is used.

(4) The machine lock signal is valid. (The counter is updated until the program reaches the end point of the block.)

(1) If the current value for the specified axis exceeds the torque skip value, the torque limit is reached and droop exceeds the droop skip value, the torque skip turns on. If there is no D command, the torque skip turns on when the torque limit is reached.

(2) The current position when the torque skip turns on is regarded as the block end point and the remaining distance (command value - actual movement distance) is discarded.

Detailed description

Acceleration/deceleration when G160 is commanded

Skip speed

#12022/bit2 = 0 #12022/bit2 = 1

Skip speed if F command is not programmed in the G160 block

The value of parameter "#1174 skip_F" is used as the skip speed.

The skip speed is determined based on the modality of F when G160 is ex- ecuted.

A program error (P603) will also occur if the value of parameter "#1174 skip_F" is "0".

A program error (P62) will also occur if the value of F modality is "0".

Mode of commanded speed Only feed per minute mode is avail- able. Feed per minute mode is enabled even in feed per revolution mode.

Follows the mode (Feed per minute/ Feed per revolution) that is active when G160 is executed.

Modality of F command F modal is not updated even if the G160 block contains an F command.

The F modal that is updated by F com- mand in the G160 block varies de- pending on the mode (Feed per minute/Feed per revolution) that is ac- tive when G160 is executed.

Control signals regarding speed control and stop

Processing when the torque skip turns on

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1080IB-1501278-Q

(1) If the torque skip turns on during G160 command, the program completes the current block before moving on to the next block.

(2) If the torque skip does not turn on until G160 command reaches the end point, the skip command completes at the end of the block and then the program moves on to the next block.

(3) Set the skip coordinate values (workpiece coordinate values) to system variables (#5061 and onwards). When the tool has moved to the end point, set the end point position.

Completion of skip command

Program example

: : Workpiece radius measurement tool

G28 Z200.

T01; Tool selection for measurement

G00 X50. Y50. Z100. ;

G160 Z40. Q80 F20; Torque skip command

#100=#5061; Completion of skip command (Coordinate position (workpiece val- ue) read)

:

Droop

Torque skip on

Actual movement distance Remaining distance

Program command position

Axis movement target

Interference object

Time

Time

Block end point

Droop skip value

Current value Droop skip value

Commanded speed

50.

40.

0.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1081 IB-1501278-Q

The skip speed is controlled with the manual arbitrary reverse run speed. Torque skip command block cannot be

executed in the reverse run.

When a manual interrupt is applied during execution of torque skip, calculate the position shifted by the amount of

the manual interruption as the skip position.

The torque skip position is common to skip variables (#5061 and onwards) for G31 skip function.

Geometric, Corner Rounding, and Corner Chamfering are not available for torque skip blocks. Program error (P595)

will occur.

Torque skip command, if executed on the axis to which torque limits are applied, is based on the torque skip value

in the G160 command.

Torque skip command (G160) cannot be commanded when any of the following functions is in use. (An error will

occur.)

(1) Decreasing the torque limit value may cause a torque limit to be applied during acceleration/deceleration.

(2) When the reset button is pressed while torque skip is active, an axis moving with G160 stops. After the axis has stopped, the original torque is restored.

(3) Writing parameters via a PLC or other host controller during execution of torque skip causes the torque limit value to be the setting value of servo parameter SV014, possibly causing it to be no longer correct torque skip value. (The PLC signal operations and setting values of the servo parameters are based on the MTB specifications.)

(4) When using D command (droop skip value), command a value that does not exceed the excessive error width.

(5) After a torque skip, the droop is canceled.

(6) The droop is displayed in interpolation increments on the drive monitor. They are different from the command increments of D command.

Relationship with Other Functions

Manual arbitrary reverse run

Manual interruption

Skip variables

Geometric, Corner Rounding, Corner Chamfering

Torque limit

Functions for which torque skip command is not available

Function name Error

Tool radius compensation (G40, G41, G42, G46) Program error (P608)

Synchronous control (G114.1) Program error (P595)

High-speed high-accuracy control (G05.1/G05) Program error (P34)

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

22 Measurement Support Functions

1082IB-1501278-Q

22.7 Programmable Current Limitation; G10 L14

This function allows the current limit value of the NC axis to be changed to a desired value in the program, and is

used for the workpiece stopper, etc. "#2214 SVO14(current limit value in special control) can be changed.

The commanded current limit value is designated with a ratio of the limit current to the rated current.

(1) If the current limit value is reached when the current limit is valid, the current limit reached signal is output.

(2) The following two modes can be used with external signals as the operation after the current limit is reached. The external signal determines which mode applies.

[Normal mode]

The movement command is executed in the current state. During automatic operation, the movement command is executed until the end, and then move to the next block with the droops still accumulated.

[Interlock mode]

During the occurrence of the droops, it enters to the internal interlock state and the next movement will not be carried out. During automatic operation, the operation stops at the corresponding block, and the next block is not moved to. During manual operation, the following same direction commands are ignored.

(3) The position droop generated by the current limit can be canceled when the current limit changeover signal of external signals is canceled. (Note that the axis must not be moving.)

(4) The setting range of the current limit value is 1% to 999%. Commands that exceed this range will cause a pro- gram error (P35).

(5) If a decimal point is designated with the G10 command, only the integer will be valid.

(Example) G10 L14 X10.123 ; The current limit value will be set to 10%.

(6) For the axis name "C", the current limit value cannot be set from the program (G10 command). To set from the program, set the axis address with an incremental axis name, or set the axis name to one other than "C".

(7) For the programmable current limitation command (G10 L14) while the multiple-axis synchronization control is being executed, current limitation value specified for the master axis is applied to both of the master and slave axes. When the programmable current limitation command is issued to the slave axis while the multiple-axis syn- chronization control is being executed, the program error (P32) occurs.

Function and purpose

Command format

G10 L14 Xn ;

L14 Current limit value setting (+ side/- side)

X Axis address

n Current limit value (%) (Setting range: 1 to 999)

Precautions

23

1083 IB-1501278-Q

System Variables

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1084IB-1501278-Q

23System Variables 23.1 System Variables List

MITSUBISHI CNC provides the following system variables.

Note that the available types and numbers vary depending on the models, the machine specifications and whether

the machine is intended for use by a user or MTB.

: Available

- : Unavailable

No. Data type or use Reading Setting Section

#1000 - #1035, #1200 - #1295

Signal input from PLC to NC (*1) - 23.26

#1100 - #1135 #1300 - #1395

Signal output from NC to PLC (*1) (*1) 23.27

#1900, #1901 Used for normal line control. 23.23

#2001 - #2000+n #2201 - #2200+n #2401 - #2400+n #2601 - #2600+n

Tool offset data Also refer to the variables #10001, #135001 and #230001 or larg- er.

23.6

#2501, #2601 External workpiece coordinate offset 23.11

#3000 Used to forcibly set to the alarm mode. Designate the number and message.

- 23.13

#3001, #3002 Cumulative time (integrating time) - 23.15

#3001, #3002 #3011, #3012

Time read variables 23.16

#3003 Inhibition of single block stop Inhibition of miscellaneous function finish signal waiting Prohibition of program check reverse run

23.17

#3004 Automatic operation pause OFF Cutting override OFF G09 check OFF Dry run invalid

#3006 Used to display and stop a message. - 23.14

#3007 Mirror image - 23.20

#3901, #3902 Number of machining processes/Maximum number of machining processes

23.19

#4001 - #4021 #4201 - #4221

G command modal information - 23.2

#4101 - #4120 #4301 - #4320

Non-G command modal information - 23.3

#4401 - #4421 #4507 - #4520

Modal information at macro interruption - 23.4

#5001 - #5160+n Position information

End point coordinate position of the previous block Machine coordinate position Workpiece coordinate position Skip coordinate position Tool position compensation amount Servo deviation amount Macro interruption stop block coordinate position

- 23.12

#5201 - #5320+n Workpiece coordinate offset data 23.8

#5500 #5501 - #5500+m

Workpiece position offset for rotary axis: Offset No. Workpiece position offset for rotary axis: Offset amounts (in-

cluded in the group specified with "G54.2 Pn").

- 23.9

#5521 - #5661+m Workpiece position offset for rotary axis: Offset amounts

#7001 - #8900+n Extended workpiece coordinate offset data (48- or 96-set specifi- cation)

23.10

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1085 IB-1501278-Q

(*1) Only for MTB. This cannot be designated by the user.

(*2) Some numbers are not available depending on the contents.

#10001 - #10000+n #11001 - #11000+n #16001 - #16000+n #17001 - #17000+n

Tool offset data Also refer to the variables #2001, #135001 and #230001 or larger.

23.6

#26000 - #26077 Workpiece installation error compensation amount 23.25

#30060 - #30068 Coordinate Rotation Parameter - 23.21

#31001 - #31023 Rotary axis configuration parameter - 23.22

#31100, #31101 Number of reverse run enable blocks, reverse run enable counter - 23.18

#40000 - #40097 Specification of the selected interfering object and interfering model coordinate system offset

23.30

#50000 - #50749 #51000 - #51749 #52000 - #52749

Data of user backup area for R device (*1) (*1) 23.28

#50000-#50749 #51000-#51749 #52000-#52749

ZR device access variables (C80 series only) 23.31

#60000 - #64700 Tool life management (*2) 23.7

#68000 - #68003 Tool management (*2) 23.5

#68011 - #68023 Basic information (*2)

#68031 - #68040 Shape information

#68051 - #68054 Cutting conditions

#68061 - #68072 Additional information

#68081 - #68088 Tool life

#68101 - #68113 Compensation amount

#100000 Parameter No. designation - 23.24

#100001 Part system No. designation -

#100002 Axis No./spindle No. designation -

#100010 Parameter value read -

#100050 - #100054 NC data reading/writing with API section and sub-section designa- tion (M8 Series only)

23.32

#100100 Device type designation - 23.29

#100101 Device No. designation -

#100102 Number of read bytes designation -

#100103 Read bit designation -

#100110 Reading PLC data -

#101001 - #115950+n Extended workpiece coordinate offset data (300-set specification) 23.10

#135001 - #135000+n #136001 - #136000+n #137001 - #137000+n #138001 - #138000+n

Tool offset data Also refer to the variables #2001, #10001 and #230001 or larger.

23.6

#230001 - #230000+n Tool offset data Also refer to the variables #2001, #10001 and #135001 or larger.

23.6

No. Data type or use Reading Setting Section

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1086IB-1501278-Q

23.2 System Variables (G Command Modal)

Using variable Nos. #4001 to #4021, it is possible to read the modal commands which have been issued in previous

blocks.

Similarly, it is possible to read the modals in the block being executed with variable Nos. #4201 to #4221.

(Example)

G28 X0 Y0 Z0;

G90 G1 X100. F1000;

G91 G65 P300 X100. Y100.;

M02;

O300;

#1=#4003; -> Group 3G modal (pre-read) #1=91.0

#2=#4203; -> Group 3G modal (active) #2=90.0

G#1 X#24 Y#25;

M99;

%

Detailed description

Variable No. Function

Pre-read block

Execution block

#4001 #4201 Interpolation mode G00 : 0, G01 : 1, G02 : 2, G03 : 3, G33 : 33

#4002 #4202 Plane selection G17 : 17, G18 : 18, G19 : 19

#4003 #4203 Absolute/incremental G90 : 90, G91 : 91

#4004 #4204 No variable No.

#4005 #4205 Feed designation G94 : 94, G95 : 95

#4006 #4206 Inch/metric G20 : 20, G21 : 21

#4007 #4207 Tool radius compensation G40 : 40, G41 : 41, G42 : 42

#4008 #4208 Tool length compensation G43:43, G44:44, G49:49

#4009 #4209 Fixed cycle G80 : 80, G73-74 : 73-74, G76 : 76, G81-89 : 81- 89

#4010 #4210 Return level G98 : 98, G99 : 99

#4011 #4211

#4012 #4212 Workpiece coordinate system G54-G59 : 54-59, G54.1:54.1

#4013 #4213 Acceleration/deceleration G61-G64 : 61-64, G61.1 : 61.1

#4014 #4214 Macro modal call G66 : 66, G66.1 : 66.1, G67 : 67

#4015 #4215 Normal line control G40.1 : 40.1, G41.1 : 41.1, G42.1 : 42.1

#4016 #4216

#4017 #4217 Constant surface speed G96 : 96, G97 : 97

#4018 #4218 No variable No.

#4019 #4219 Mirror image G50.1:50.1, G51.1:51.1

#4020 #4220

#4021 #4221 No variable No.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1087 IB-1501278-Q

23.3 System Variables (Non-G Command Modal)

Using variable Nos. #4101 to #4120, it is possible to read the modal commands which have been issued in previous

blocks.

Similarly, it is possible to read the modals in the block being executed with variable Nos. #4301 to #4320.

(*1) Programs are registered as files. When the program No. (file name) is read with #4115, #4315, the character

string will be converted to a value.

(Example 1)

The file name "123" is the character string of "0x31", "0x32", and "0x33". Thus, the value is as follows:

(0x31-0x30)*100 + (0x32-0x30)*10 + (0x33-0x30) = 123.0

Note that if the file name contains characters other than numbers, it will be "blank".

(Example 2)

If the file name is "123ABC", it contains characters other than numbers, so the result will be "blank".

Detailed description

Variable No. Modal information Variable No. Modal information

Pre-read block

Execution block

Pre-read block

Execution block

#4101 #4301 #4111 #4311 Tool length compensation No. H

#4102 #4302 #4112 #4312

#4103 #4303 #4113 #4313 Miscellaneous function M

#4104 #4304 #4114 #4314 Sequence number N

#4105 #4305 #4115 #4315 Program number O (*1)

#4106 #4306 #4116 #4316

#4107 #4307 Tool radius compen- sation No. D

#4117 #4317

#4108 #4308 #4118 #4318

#4109 #4309 Feedrate F #4119 #4319 Spindle function S

#4110 #4310 #4120 #4320 Tool function T

#4130 #4330 Extended workpiece coordinate system No. P

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1088IB-1501278-Q

23.4 System Variables (Modal Information at Macro Interruption)

Modal information when control passes to the user macro interruption program can be known by reading system

variables #4401 to #4520.

The unit specified with a command applies.

The above system variables are available only in the user macro interrupt program.

If they are used in other programs, program error (P241) will occur.

(*1) Programs are registered as files. When the program No. (file name) is read with #4515, the character string will

be converted to a value.

(Example 1)

The file name "123" is the character string 0x31, 0x32, 0x33, so the value will be (0x31-0x30)*100 + (0x32-

0x30)*10 + (0x33-0x30) = 123.0.

Note that if the file name contains characters other than numbers, it will be "blank".

(Example 2)

If the file name is "123ABC", it contains characters other than numbers, so the result will be "blank".

Detailed description

System variable Modal information

#4401 :

#4421

G code (group 01) : G code (group 21)

Some groups are not used.

#4507 D code

#4509 F code

#4511 H code

#4513 M code

#4514 Sequence number N

#4515 Program number O (*1)

#4519 S code

#4520 T code

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1089 IB-1501278-Q

If modal information is changed by the interrupt program, it is handled as follows after control returns from the inter-

rupt program to the main program.

Modal information affected by user macro interruption

Returning with M99; The change of modal information by the interrupt program is invalidated and the original modal information is restored. With interrupt type 1, however, if the interrupt program contains a move or mis- cellaneous function (MSTB) command, the original modal information is not re- stored.

Returning with M99P__ ; The original modal information is updated by the change in the interrupt pro- gram even after returning to the main program. This is the same as in returning with M99P__; from a program called by M98, etc.

Op1 ;

Np2 ;

M99(p2) ;

M96Pp1 ;

User macro interruption signal (UIT)

Modal before interrupt is restored.

Main program being executed

Modal modified by interrupt program remains effective.

Interrupt program

(Modal change)

(With Pp2 specified)

Modal information affected by user macro interruption

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1090IB-1501278-Q

23.5 System Variables (Tool Information)

If you command to read data to a write only variable or write to a read only variable, a program error (P241) will occur.

If a value exceeding the allowable range is issued, a program error (P35) will occur.

(1) Tool designation method (#68000), Tool selection number (#68001)

Substitute a value to the parameters "#68000" and "#68001" to designate the tool to be read and written with the parameters "#68011" to "#68111". The tool designation methods are classified into three types as shown below.

Tool management (#68000 - #68003)

Variable No.

Item / Description Data range

Attribute

#68000 Tool designation method

Method to designate the tool to be read or written 1: In-use tool designation 2: Tool number designation 3: Tool management screen registration number desig-

nation

1 to 3 -/W

#68001 Tool selection No. Designate the tool selection number that matches the setting of "#68000".

Refer to the "De- scription" column.

-/W

#68000 Details of "#68001" Data range

1 ATC magazine num- ber (Used only when the ATC is added.)

0 to 5

2 Tool No. (T No.) (Tool No. and com- pensation No. for lathe system)

1 to 99999999

3 Tool management screen registration number

1 to Number of managed tools

#68003 Top vacant registra- tion number on tool management screen

The tool number indicates a vacant line number. 0: No vacant registration number 1 to 999: Vacant registration number

0 to 999 R/-

Tool designa- tion method

Details "#68000" set- ting value

"#68001" setting value

In-use tool desig- nation

Reads or writes tool management data of the tool in use.

1 ATC magazine No.

Tool number designation

Reads or writes tool management data desig- nated with the tool number.

2 Tool No. (T No.)

Tool manage- ment screen reg- istration number designation

Reads or writes tool management data desig- nated with the registration number.

3 Tool management screen reg- istration number

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1091 IB-1501278-Q

(a) In-use tool designation (#68000=1)

For the in-use tool, when the R register is checked in the order from "1" to "3" shown below, if the value des- ignated in the R register is other than "0", it is judged to be the in-use tool number.

Tool life management spindle tool number in machining center system (R12200: 1st part system to R12270: 8th part system)

ATC spindle tool number (R10620: magazine 1 to R10660: magazine 5) T code data (R536)

"#68001" designates the ATC magazine number.

If ATC is not used, this item does not need to be designated.

The "#68001" setting value has the meanings shown below.

The in-use tool is determined when "#68000=1" or "#68001" is commanded. To designate the tool which is exchanged after the in-use tool has been determined as an in-use tool, command "#68000=1" or "#68001" again.

(b) Tool number designation (#68000=2)

"#68001" designates the tool number. In the lathe system, designate the T code (tool number and tool compensation number).

(c) Tool management screen registration number designation (#68000=3)

"#68001" designates the tool management screen registration number (line number).

If "#68000" is commanded multiple times, the last designation method will be valid. "#68000" and "#68001" are valid until they are reset. When the power is turned ON or when the system is

reset, "0" is set. When #68000 is 2, and when there are multiple tools which have the same tool number and the same tool

compensation number as the ones designated by "#68001", the tool that has been found first will be select- ed. A program error (P245) will occur when:

"#68001" setting value Meaning

"0" or no "#68001" command Magazine 1

1 to 5 Magazine 1 to magazine 5

"#68000" is not designated;

"#68000=1 ;" is commanded while the in-use tool number is set to "0";

"#68000=1 ;" is commanded while the in-use tool number is not registered on the tool management screen;

"#68000=2 ;" is commanded while a read/write command is issued using "#68011" to "#68111" without com- manding "#68001";

a tool not registered on the tool management screen with "#68011" is designated during the "#68000=2 ;" command;

a write command is issued with "#68011" during the "#68000=2 ;" command;

"#68000=3 ;" is commanded while a read/write command is issued using "#68011" to "#68111" without com- manding "#68001";

"#68001=0 ;" is commanded.

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1092IB-1501278-Q

(2) Top vacant registration number on tool management screen (#68003)

Designating this value reads the top vacant registration number on the tool management screen with "#68003".

Use example:

Follow the procedure below to measure the compensation amount with the measurement macro, etc. and search

for and register a vacant registration number when registering a new tool.

[Measurement macro program]

If no vacant registration number is found because all numbers are registered, "0" is set when "#68003" is read out. When "#68001=#68003;", "#68001" is set to "0", and a program error (P245) will occur.

:

#68000 = 3 ;

: Measurement

#68001=#68003 ; Searches for a vacant registration number (No.3 in the example above), and des- ignates registration number 3.

#68011=999 ; Sets "999" to the tool management data "tool number" of tool management screen registration number 3.

999

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1093 IB-1501278-Q

If a value exceeding the allowable range is issued, a program error (P35) will occur.

Basic information ("#68011" to "#68023")

Variable No. Item / Description Data range Attri- bute

#68011 Tool No. 0 to 99999999 R/W

#68012 Name Eight one-byte alphanu- meric characters

R/W

#68013 Type 0: No setting 1: Ball end mill 2: Flat end mill 3: Drill 4: Radius end mill 5: Chamfering 6: Tapping 7: Face mill 51: Turning 52: Slotting 53: Thread cutting 54: Turning drill 55: Turning tap

0 to 7, 51 to 55 R/W

#68014 Usage 0: No setting 1: External diameter 2: Internal diameter 3: Face

0 to 3 R/W

#68015 Direction: hand/ro- tation

0: CW 1: CCW 2: CW 3: CW 0: Right hand / Front 1: Left hand / Front 2: Right hand / Rear 3: Left hand / Rear

0 to 3 R/W

#68016 Call 0.0 to 999.9 (mm) 0.00 to 99.99 (inch)

R/W

#68017 Number of blades 0 to 9 R/W

#68018 Tool ID Eight one-byte alphanu- meric characters

R/W

#68019 Supplementary information 0 to 65535 R/W

#68020 Conditions 0 to 65535 R/-

#68021 Mounting angle 0.0 to 359.999 (degree) R/W

#68023 Gang tool offset J [M8] 9999.999 (mm) 999.9999 (inch)

R/W

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1094IB-1501278-Q

(1) Tool No. ("#68011")

The registered tool cannot be registered. If a tool is registered, the operation will be performed as shown below.

Example: When an attempt is made to change tool management data "tool number" of No.3 (3rd line) from "11" to "1" in life management II of the machining center system, the setting is as follows.

(2) Tool name ("#68012"), Tool ID ("#68018"), Material ("#68053")

(a) Read

Reads data only with the variable No. designation of the DPRNT command.

(b) Write

A string can be designated by enclosing it in parentheses ( ).

(3) Type ("#68013") to tool nose point P ("#68111")

A program error will occur in the following case.

(4) Compensation amount ("#68103" to "#68111")

A program error will occur in the following case.

Type Operation performed when a reg- istered tool is designated

Machining center sys- tem

Life management I Program error (P245)

Life management II Program error (P245)

Life management III Program error (P245)

The life management specifications are invalid. Program error (P245)

Lathe system Life management I Program error (P245)

Life management II Can be registered.

The life management specifications are invalid. Can be registered.

#68000=3 Tool management screen registration number designation

#68001=3 Designates No. 3 (3rd line)

#68013=1 Tool No. 1 is already registered with No. 1 (1st line), causing a program error (P245).

Example 1: DPRNT [#68012] ; The tool name is read.

Example 2: #100=#68012 ; A program error (P243) will occur.

Example 1: #68012=(M- TOOL1) ;

Data is written up to the number of valid characters, and the rest is ig- nored.

Example 2: #68012=#0 ; A string is cleared by writing "null" characters.

Example 3: #68012= M- TOOL1 ;

If parentheses are omitted, a program error will occur.

Operation Operation result

Type ("#68013") to tool nose point P ("#68111") is read or written for the registration number with the tool num- ber unspecified.

Program error (P245)

Operation Operation result

The compensation amount ("#68103" to "#68111") is read or written for the tool with the compensation number unspecified.

Program error (P170)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1095 IB-1501278-Q

(5) Tool life ("#68082" to "#68086")

A program error will occur in the following case.

If a value exceeding the allowable range is issued, a program error (P35) will occur.

If a value exceeding the allowable range is issued, a program error (P35) will occur.

(*1) For customize data 1 to 12, the data range varies depending on the data format.

If a value exceeding the allowable range is issued, a program error (P35) will occur.

Operation Operation result

The tool life ("#68082" to "#68086") is read or written for the tool with the tool life group number unspecified in tool life management I and II of the machining center system, or in tool life management II of the lathe system.

Program error (P179)

Shape information ("#68031" to "#68040")

Variable No. Item / Description Data range Attribute

#68031 - #68039 Tool shapes A to I Length: 0 to 9999.999 (mm) 0 to 999.9999 (inch)

Angle: 0 to 180.000 (degree)

R/W

#68040 Tool color 1: Gray 2: Red 3: Yellow 4: Blue 5: Green 6: Light blue 7: Purple 8: Pink

1 to 8 R/W

Cutting conditions ("#68051" to "#68054")

Variable No. Item / Description Data range Attribute

#68051 Spindle rotation speed S 0 to 99999999 R/W

#68052 Feedrate F 0 to 1000000 (mm/min) 0 to 100000 (inch/min)

R/W

#68053 Material Four one-byte alphanu- meric characters

R/W

#68054 Coolant M code 0 to 99999999 R/W

Additional information ("#68061" to "#68072")

Variable No. Item / Description Data range Attribute

#68061 - #68066 Customize 1 to 6 999999999 (*1) R/W

#68067 - #68072 Customize 7 to 12 9999.999 (*1) R/W

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1096IB-1501278-Q

If an unused variable is commanded, a program error (P241) will occur. If a value exceeding the allowable range is issued, a program error (P35) will occur.

Tool life (#68081 to #68088)

Variable No. Item / Description Attribute

Tool life management I Tool life management II Tool life management III

#68081 Group No. (0 to 99999999) (Not used) R/W

#68082 Status (0 to 2) R/W

#68083 Method (Ones digit: 0 to 2, 10,100s digit: 1 to 2) R/W

#68084 Miscellaneous (0 to 65535) R/W

#68085 Estimated tool life (hours)/Estimated number of cuttings (0 to 4000 min. / 0 to 65000 sets)

R/W

#68086 Cumulative cutting hours/Cumulative number of cuttings (0 to 4000 min. / 0 to 65000 sets)

R/W

#68087 (Not used) (Not used) (Not used) - / -

#68088 (Not used) (Not used) (Not used) - / -

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1097 IB-1501278-Q

If an unused variable is commanded, a program error (P241) will occur. If a value exceeding the allowable range is issued, a program error (P35) will occur.

Compensation amount ("#68101" to "#68113")

Variable No. Item / Description Attri- buteCompensation type I Compensation type II Compensation type III

#68101 No. H (0 to number of tool offset sets)

No. H (0 to number of tool offset sets)

Tool length compensation No. (0 to number of tool offset sets)

R/W

#68102 (Not used) No. D (0 to number of tool offset sets)

Wear compensation No. (0 to number of tool offset sets)

R/W

#68103 Tool length (9999.999999 (mm) 999.9999999 (inch))

Length dimension (9999.999999 (mm) 999.9999999 (inch))

Tool length X (9999.999999 (mm) 999.9999999 (inch))

R/W

#68104 (Not used) (Not used) Tool length Z (9999.999999 (mm) 999.9999999 (inch))

R/W

#68105 (Not used) (Not used) Additional axis tool length (9999.999999 (mm) 999.9999999 (inch))

R/W

#68106 (Not used) Length wear (9999.999999 (mm) 999.9999999 (inch))

Wear X (9999.999999 (mm) 999.9999999 (inch))

R/W

#68107 (Not used) (Not used) Wear Z (9999.999999 (mm) 999.9999999 (inch))

R/W

#68108 (Not used) (Not used) Additional axis wear (9999.999999 (mm) 999.9999999 (inch))

R/W

#68109 (Not used) Radius dimension (9999.999999 (mm) 999.9999999 (inch))

Tool nose radius (9999.999999 (mm) 999.9999999 (inch))

R/W

#68110 (Not used) Radius wear (9999.999999 (mm) 999.9999999 (inch))

Radius wear (9999.999999 (mm) 999.9999999 (inch))

R/W

#68111 (Not used) (Not used) Tool nose point P (0 to 9)

R/W

#68112 (Not used) (Not used) 2nd additional axis tool length [M8] (9999.999999 (mm) 999.9999999 (inch))

R/W

#68113 (Not used) (Not used) 2nd additional axis wear [M8] (9999.999999 (mm) 999.9999999 (inch))

R/W

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1098IB-1501278-Q

23.6 System Variables (Tool Compensation)

Tool compensation data can be read and set using the variable Nos.

(*1) Length dimension

(*2) Length wear

(*3) Radius dimension

(*4) Radius wear

"n" in the table corresponds to the tool No. Maximum "n" value is the number of tool compensation sets.

The #10000s and #2000s are equivalent functions, however, the maximum value of "n" for #2000 order is "200".

When the number of tool offset sets is larger than "200", use the variables of #10000s.

The tool compensation data is configured as data with a decimal point in the same way as other variables.

When "# 10001=100;" is programmed, "100.000" is set in tool compensation data.

(Example 1) Calculation and tool offset data setting

(1) In (Example 1), no consideration is given to the delay in the skip sensor signal. #5003 is the Z axis start point position and #5063 indicates the position at which the skip signal is input while G31 is being executed in the Z axis skip coordinates.

Detailed description

Variable number range Type 1 Type 2 Type 3

#10001 to #10000+n #2001 to #2000+n (*1) Z axis shape (*1)

#11001 to #11000+n #2201 to #2200+n (*2) Z axis wear (*2)

#16001 to #16000+n #2401 to #2400+n (*3) Tool nose radius shape (*3)

#17001 to #17000+n #2601 to #2600+n (*4) Tool nose radius wear (*4)

#135001 to #135000+n - X axis wear

#136001 to #136000+n - Y axis wear

#137001 to #137000+n - X axis shape

#138001 to #138000+n - Y axis shape

#230001 to #230000+n - Tool nose point

Programming example Common variable Tool compensation data

G28 Z0 T01. ; Reference position return

M06; Tool change (Spindle T01)

#1=#5003 ; Start point memory

G00 Z-500 ; Rapid traverse to safe position

G31 Z-100. F100.; Skip measurement

#10001=#5063-#1 ; Measurement distance calculation and tool compensation data setting

Sensor

#101=100; #10001=#101; #102=#10001;

#101=100.0

#102=100.0 H1=100.000

# 1

H 1

#5063 G31

G00

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1099 IB-1501278-Q

23.7 System Variables (Tool Life Management)

(1) Group number designation

#60000

Assign the value to this variable No. to designate the group number of the tool life management data to be read with parameters "#60002" to "#64700". If a group No. is not designated, the data of the group registered first is read. This is valid until reset. When the tool life management III are provided, the group No. other than 1 cannot be used.

(2) Tool life management system variable No. (Read)

#60001 to #64700

(a) Fixed to "6" (Tool life management)

(b) Details of data classification

The group No. and estimated tool life data are common to all groups.

(c) Registration No. or data type

Registration No.

Data type

Detailed description

Definition of variable Nos.

Data class Details Remarks

00 For control Refer by data types

05 Group No. Refer by registration No.

10 Tool No. Refer by registration No.

15 Tool data flag Refer by registration No.

20 Tool status Refer by registration No.

25 Estimated tool life data Refer by registration No.

30 Cumulative usage data Refer by registration No.

35 Tool length compensation data Refer by registration No.

40 Tool radius compensation data Refer by registration No.

45 Auxiliary data Refer by registration No.

1 to 200

Type Details

1 Number of registered tools

2 Tool life data (current value)

3 Tool selection No.

4 Number of remaining registered tools

5 Execution signal

6 Cumulated cutting time (min)

7 Signal to indicate tool life over

8 Signal to indicate tool life prediction

#

(b) (c)(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1100IB-1501278-Q

(*1) Designate group number "#60000".

List of variables

Variable No.

Item Type Details Data range

60001 Number of regis- tered tools

Common to part systems

"Cumulative cutting hours" and "Cumulative number of cuttings" of a tool in use

Cumulative usage data of the tool in use (to- tal of usage data for each compensation number when multiple compensation num- bers are used for the tool)

0 to 200

60002 Tool life data (cur- rent value)

For each group (*1)

"Cumulative cutting hours" and "Cumulative number of cuttings" of a tool in use

Cumulative usage data of the spindle tool or of the tool in use (#60003)

0 to 4000 min 0 to 9999 sets

60003 Tool selection No. Tool registration number of the tool in use

This number is a registration number of the spindle tool. Supplimentary explanation for the selected tool is provided as follows: If spindle tool does not belong to the desig-

nated tool, the first tool of the tools with "ST" set to "1" is selected. If there is no tool with "ST" set to "1", the

first tool of the tools with "ST" set to "0" is selected. If all tools have reached the end of their tool

lives, the last tool is selected.

0 to 1000

60004 Number of re- maining regis- tered tools

This is the registration number of first tool which does not reach the end of tool life.

0 to 1000

60005 Execution signal The value is set to "1" when this group is used in the program being executed.

The value is set to "1" when the group num- ber of the spindle tool data matches the group number of the specified group.

0/1

60006 Cumulated cut- ting time (min)

Indicates the accumulated time that this group was used in the program being exe- cuted.

(Not used)

60007 Signal to indicate that tool life is over

The value is set to "1" when all tools in this group have reached the end of their tool lives.

The value is set to "1" when all registered tools in the designated group have reached the end of their tool lives.

0/1

60008 Signal to indicate tool life prediction

The value is set to "1" when a new tool is to be selected in the next command of this group.

The value is set to "1" when there is an un- used tool (ST" is set to "0") and no tool in use ("ST" is set to "1") among the registered tools in the designated group.

0/1

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1101 IB-1501278-Q

(*2) Designate group number "#60000" / registration number***.

However, group number is data common to groups.

(*3) It depends on the setting of the tool life management method to manage the tool life by either cumulative cutting

hours or cumulative number of cuttings.

(*4) It depends on the setting of tool length compensation data format to compensate the tool length by either com-

pensation No. or the tool length data.

(*5) It depends on the setting of tool radius compensation data format to compensate the tool radius by either com-

pensation No. or the tool radius data.

Variable No.

Item Type Details Data range

60500 +***

Group No. For each group/ registration num- ber (*2)

This group's No. 1 to 99999999

61000 +***

Tool No. Tool No. of the designated tool 1 to 99999999

61500 +***

Tool data flag Parameters for the data such as usage data count method, tool length compensation for- mat and tool radius compensation format bit0,1: Tool length compensation data format bit2,3: Tool radius compensation data format 0: Compensation number designation meth- od 1: Incremental compensation amount meth- od 2: Absolute compensation amount method bit4,5: Tool life management method 0: Cumulative cutting hours 1: Number of times that tool was mounted 2: Number of times that tool was used

0 to FF (H)

62000 +***

Tool status The state of tool usage 0: Unused tool 1: Tool in use 2: Tool which is consuming its tool life as planned 3: Tool error 1 4: Tool error 2

0 to 4

62500 +***

Estimated tool life data

Estimated tool life (hours) or estimated num- ber of cuttings for each tool (*3)

0 to 4000 min 0 to 9999 sets

63000 +***

Cumulative us- age data

Cumulative cutting hours or cumulative num- ber of cuttings for each tool (*3)

0 to 4000 min 0 to 9999 sets

63500 +***

Tool length com- pensation data

Tool length compensation data set as either compensation No. or length dimension. (*4)

Compensation No.: "0" to the number of tool compensation sets Length dimension: 99999.999

64000 +***

Tool radius com- pensation data

Tool radius compensation data set as either compensation No. or radius dimension. (*5)

Compensation No.: "0" to the number of tool compensation sets Radius dimension: 99999.999

64500 +***

Auxiliary data Spare data 0 to 65535

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1102IB-1501278-Q

(1) Normal commands

(2) When the group number is not designated:

(3) When an unregistered group number is designated (group 9999 does not exist):

(4) When an unused registration number is designated (15 tools for group 10):

(5) When a registration number not defined in the specifications is designated:

(6) When tool life management data is registered with G10 command after group No. is designated.

Program example

#101 = #60001 ; Reads the number of registered tools.

#102 = #60002 ; Reads the tool life data (current value).

#103 = #60003 ; Reads the tool selection No.

#60000 = 10 ; Designates the group No. of the tool of which the tool life data is to be read. Designated group No. is valid until reset.

#104 = #60004 ; Reads the remaining number of registered tools of group 10.

#105 = #60005 ; Reads the execution signal of group 10.

#111 = #61001 ; Reads the tool No. allocated to #1 of group 10.

#112 = #62001 ; Reads the status displayed in #1 of group 10.

#113 = #61002 ; Reads the tool No. allocated to #2 of group 10.

%

#104 = #60004 ; Reads the remaining number of registered tools of the first registered group.

#111 = #61001 ; Reads the tool No. of #1 of the first registered group.

%

#60000 = 9999 ; Designates the group No.

#104 = #60004 ; The value of #104 will be "-1".

#60000 = 10 ; Designates the group No.

#111 = #61016 ; The value of #111 will be "-1".

#60000 = 10 ;

#111 = #61017 ; Program error (P241)

#60000 = 10 ; Designates the group No.

G10 L3; Starts registration of the tool life management data. The tool life data of group 10 is registered through the commands between G10 and G11.

P10 LLn NNn ; "10" is the group No., "Ln" is the tool life for a tool, "Nn" is the method.

TTn ; "Tn" is the tool No.

:

G11 ; Registers data in group 10 with the G10 command.

#111 = #61001 ; Reads the tool No. allocated to #1 of group 10.

G10 L3; Starts registration of the tool life management data. The tool life data of the group other than group 10 is registered through the commands between G10 and G11.

P1 LLn NNn ; "1" is the group No., "Ln" is the tool life for a tool, "Nn" is the method.

TTn ; "Tn" is the tool No.

:

G11 ; Registers the tool life data with the G10 command. (The registered data is deleted.)

#111 = #61001 ; Group 10 does not exist. The value of #111 will be "-1".

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1103 IB-1501278-Q

(1) If a system variable for tool life management is commanded without designating a group No., the data of the group which comes at the head of all the registered groups will be read.

(2) If a system variable for tool life management is commanded with designating non-registered group No., "-1" will be read as the data.

(3) If a system variable for tool life management is commanded with a registered No. which is not used, "-1" will be read as the data.

(4) Once commanded, the group No. is valid until NC reset.

(5) When the tool life management III is used, the group No. other than "1" cannot be used.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1104IB-1501278-Q

23.8 System Variables (Workpiece Coordinate Offset)

By using variable Nos #5201 to #532n, it is possible to read out the workpiece coordinate system compensation data

or to substitute values.

(1) The number of controllable axes varies depending on the specifications. The last digit of the variable No. corresponds to the control axis No.

This is an example where the external workpiece compensation values are added to the workpiece coordinate (G54,

G55) system compensation values without changing the position of the workpiece coordinate systems.

Detailed description

Coordinate name 1st axis 2nd axis

3rd axis 4th axis ..... nth axis Remarks

External workpiece offset

#5201 #5202 #5203 #5204 ..... #520n External workpiece offset specifica- tions are required.

G54 #5221 #5222 #5223 #5224 ..... #522n Workpiece coordinate system offset specifications are required.G55 #5241 #5242 #5243 #5244 ..... #524n

G56 #5261 #5262 #5263 #5264 ..... #526n

G57 #5281 #5282 #5283 #5284 ..... #528n

G58 #5301 #5302 #5303 #5304 ..... #530n

G59 #5321 #5322 #5323 #5324 ..... #532n

Note

N1 G28 X0 Y0 Z0 ; N2 #5221=-20. #5222=-20. ; N3 G90 G00 G54 X0 Y0 ;

N10 #5221=-90. #5222=-10. ; N11 G90 G00 G54 X0Y0 ;

M02 ;

N100 #5221=#5221+#5201 ; #5222=#5222+#5202 ; #5241=#5241+#5201 ;

#5242=#5242+#5202 ; #5201=0 #5202=0;

- 90. - 20.

- 20.

- 10.

N1

N3

W1 W1 N11

W1 (G54) W2 (G55)

G55 G54

W2 (G55) W1 (G54)

M

G54 G55

Y

X

G54 workpiece coordinate system defined by N10

Coordinate system after change

Coordinate system before change

(Example 1)

(Example 2)

G54 workpiece coordinate system defined by N2

Basic machine coordinate External workpiece offset

Basic machine coordinate system

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1105 IB-1501278-Q

23.9 System Variables (Workpiece Position Offset Amount for Rotary Axis)

The workpiece position offset amount for rotary axis can be read and written with system variables.

The workpiece position offset amount for rotary axis can be set for 8 sets.

The workpiece position offset amount for rotary axis which was specified with the address P of "G54.2 Pn;" com-

mand can be read with read-only system variables.

[Setting the workpiece position offset amount for rotary axis]

[Read of the workpiece position offset amount for rotary axis which was specified with the address "P" of "G54.2

Pn;" command]

(1) The position of the decimal point is determined based on the setting of parameter "#1003 iunit" (input setting unit).

(2) The values set with the system variables are acquired for the workpiece position offset amount for rotary axis of the specified set. It is not the offset amount after the conversion in accordance with the position (angle) of the rotary axis.

[Setting example]

When C axis is 10, if an error of 5.0 mm is found in the machine above, give a command as "#5521=5.0" and

"#5525=10.0".

Function and purpose

Compensa- tion No. (Set No.)

1st axis 2nd axis 3rd axis ... m-th Axis (m: Number of NC axes in

a part system)

Attribute

1 #5521 #5522 #5523 ... #5520 + m read/write

2 #5541 #5542 #5543 ... #5540 + m read/write

3 #5561 #5562 #5563 ... #5560 + m read/write

4 #5581 #5582 #5583 ... #5580 + m read/write

5 #5601 #5602 #5603 ... #5600 + m read/write

6 #5621 #5622 #5623 ... #5620 + m read/write

7 #5641 #5642 #5643 ... #5640 + m read/write

8 #5661 #5662 #5663 ... #5660 + m read/write

Variable No. Data Attribute

#5500 Workpiece position offset for rotary axis No. (offset set No. "n" which was specified with the address "P")

read

#5501 Workpiece position offset amount for rotary axis (1st axis of the n-th set)

read

#5502 Workpiece position offset amount for rotary axis (2nd axis of the n-th set).

read

#5503 Workpiece position offset amount for rotary axis (3rd axis of the n-th set)

read

: :

#5500 + m (m: 1 to number of NC axes in a part system)

Workpiece position offset amount for rotary axis (m-th axis of the n-th set)

read

Machine configuration Table tilt type

Primary rotary axis A axis

Secondary rotary axis C axis

Axis configuration The X axis, Y axis, Z axis, A axis, and C axis are arranged in order from the first axis.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1106IB-1501278-Q

23.10 System Variables (Extended Workpiece Coordinate Offset)

By using variable Nos #7001 to #890n, it is possible to read out the extended workpiece coordinate system com-

pensation data or to substitute values.

(1) The system variables #7001 to #890n are available up to the valid number of sets. (You can use them for the 300-set specification also, but there are system variables corresponding to up to 96 sets only.) The last digit of the variable No. corresponds to the control axis No.

[Table 1] System variables for extended workpiece coordinate system compensation (n=1 to 8)

Detailed description

#7001 to #890n (48- or 96-set specification)

1st axis to nth axis

1st axis to nth axis

1st axis to nth axis

1st axis to nth axis

P1 #7001 - #700n P25 #7481 - #748n P49 #7961 - #796n P73 #8441 - #844n

P2 #7021 - #702n P26 #7501 - #750n P50 #7981 - #798n P74 #8461 - #846n

P3 #7041 - #704n P27 #7521 - #752n P51 #8001 - #800n P75 #8481 - #848n

P4 #7061 - #706n P28 #7541 - #754n P52 #8021 - #802n P76 #8501 - #850n

P5 #7081 - #708n P29 #7561 - #756n P53 #8041 - #804n P77 #8521 - #852n

P6 #7101 - #710n P30 #7581 - #758n P54 #8061 - #806n P78 #8541 - #854n

P7 #7121 - #712n P31 #7601 - #760n P55 #8081 - #808n P79 #8561 - #856n

P8 #7141 - #714n P32 #7621 - #762n P56 #8101 - #810n P80 #8581 - #858n

P9 #7161 - #716n P33 #7641 - #764n P57 #8121 - #812n P81 #8601 - #860n

P10 #7181 - #718n P34 #7661 - #766n P58 #8141 - #814n P82 #8621 - #862n

P11 #7201 - #720n P35 #7681 - #768n P59 #8161 - #816n P83 #8641 - #864n

P12 #7221 - #722n P36 #7701 - #770n P60 #8181 - #818n P84 #8661 - #866n

P13 #7241 - #724n P37 #7721 - #772n P61 #8201 - #820n P85 #8681 - #868n

P14 #7261 - #726n P38 #7741 - #774n P62 #8221 - #822n P86 #8701 - #870n

P15 #7281 - #728n P39 #7761 - #776n P63 #8241 - #824n P87 #8721 - #872n

P16 #7301 - #730n P40 #7781 - #778n P64 #8261 - #826n P88 #8741 - #874n

P17 #7321 - #732n P41 #7801 - #780n P65 #8281 - #828n P89 #8761 - #876n

P18 #7341 - #734n P42 #7821 - #782n P66 #8301 - #830n P90 #8781 - #878n

P19 #7361 - #736n P43 #7841 - #784n P67 #8321 - #832n P91 #8801 - #880n

P20 #7381 - #738n P44 #7861 - #786n P68 #8341 - #834n P92 #8821 - #882n

P21 #7401 - #740n P45 #7881 - #788n P69 #8361 - #836n P93 #8841 - #884n

P22 #7421 - #742n P46 #7901 - #790n P70 #8381 - #838n P94 #8861 - #886n

P23 #7441 - #744n P47 #7921 - #792n P71 #8401 - #840n P95 #8881 - #888n

P24 #7461 - #746n P48 #7941 - #794n P72 #8421 - #842n P96 #8901 - #890n

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1107 IB-1501278-Q

By using variable Nos #101001 to #11595n, it is possible to read out the extended workpiece coordinate system

compensation data or to substitute values.

(1) The system variables #101001 to #11595n are available when the 300-set specification is enabled. If you use the system variables #101001 to #11595n when the 300-set specification is disabled, the program error (P241) will occur. The last digit of the variable No. corresponds to the control axis No.

[Table 2] System variables for extended workpiece coordinate system compensation (n=1 to 8)

23.11 System Variables (External Workpiece Coordinate Offset)

The workpiece coordinate system compensation amount can be read using variables #2501 and #2601.

By substituting a value in these variable Nos., the workpiece coordinate system compensation amount can be

changed.

#101001 to #11595n (300-set specification)

1st axis to nth axis

P1 #101001 - #10100n

P2 #101051 - #10105n

P3 #101101 - #10110n

P4 #101151 - #10115n

P5 #101201 - #10120n

P6 #101251 - #10125n

P7 #101301 - #10130n

P8 #101351 - #10135n

: :

: :

P298 #115851 - #11585n

P299 #115901 - #11590n

P300 #115951 - #11595n

Detailed description

System variable No. External workpiece coordinate system offset amount

#2501 1st axis

#2601 2nd axis

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1108IB-1501278-Q

23.12 System Variables (Position Information)

Using variable Nos. #5001 to #5160+n, it is possible to read the end point coordinates of the last block, machine coordinates, workpiece coordinates, skip coordinates, tool position compensation amount and servo deviation amounts.

The number of axes which can be controlled differs according to the specifications. The last digit of the variable No. corresponds to the control axis No.

Detailed description

Position information Axis No. (in part system) Reading during

movement 1 2 3 ... n

End point coordinate of the last block #5001 #5002 #5003 ... #5000+n Enabled

Machine coordinate #5021 #5022 #5023 ... #5020+n Disabled

Workpiece coordinate #5041 #5042 #5043 ... #5040+n Disabled

Skip coordi- nate

Parameters #8713

0 Workpiece coordi- nate system

#5061 #5062 #5063 ... #5060+n Enabled

1 Feature coordinate /

Workpiece installa- tion coordinate

Feature coordinate/Workpiece instal- lation coordinate

#5161 #5162 #5163 ... #5160+n

Tool position compensation amount #5081 #5082 #5083 ... #5080+n Disabled

Servo deviation amount #5101 #5102 #5103 ... #5100+n Enabled

Start point coordinates of the block that was interrupt- ed by macro interruption

#5121 #5122 #5123 ... #5120+n Enabled

End point coordinates of the block that was interrupted by macro interruption

#5141 #5142 #5143 ... #5140+n Enabled

Note

W

M

M

W

G01

G00

Read command

Basic machine coordinate system

[Workpiece coordinates]

[End point coordinates]

Workpiece coordinate system

Workpiece coordinate system

Machine coordinate system[Machine

coordinates]

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1109 IB-1501278-Q

(1) The position of the end point coordinates is position on the workpiece coordinate system.

(2) The end point coordinates, skip coordinates and servo deviation amounts can be read even during movement. However, it must first be checked that movement has stopped before reading the machine coordinates and the workpiece coordinates.

(3) The skip coordinates indicates the position where the skip signal is turned ON in the G31 block. If the skip signal does not turn ON. they will be the end point position. (For further details, refer to the section on Automatic Tool Length Measurement.)

(4) The end point coordinates indicate the tool nose position regardless of the tool compensation and other such factors. On the other hand, the machine coordinates, workpiece coordinates and skip coordinates indicate the tool reference point position with consideration given to tool compensation.

For "", check stop and then proceed to read.

For "", reading is possible during movement.

Multiple orthogonal axes move simultaneously while the inclined surface machining command is being ex- ecuted. The moved axis is updated at the workpiece coordinates of five orthogonal axes designated in the rotary axis configuration parameter. Therefore, if the skip signal is continuously input to the X, Y, and Z directions, the workpiece coordinate value of the skip coordinates is overwritten.

Skip coordinate value is the position on the workpiece coordinate system, feature coordinate system, or workpiece installation coordinate system. For #5061 to #5060+n, when the parameter "#8713 Skip coord. Switch" is set to "0", it is the position on the workpiece coordinate system, and when set to "1", it is the position on the feature coordinate system or workpiece installation coordinate system. For #5161 to #5160+n, it is the position on the workpiece coordinate system while the inclined surface ma- chining command or workpiece installation compensation is OFF. For feature coordinate system, the skip coordinate value is on "the actual position where the tool length compensation is included " regardless of the setting of the parameter "#1287 ext23/bit1, bit2 (inclined sur- face coordinate display)".

The values in the work installation coordinate system can be read for the orthogonal axes for the machining using 5 axes that have been set by the rotary axis configuration parameters. For the other axes, the values in the workpiece coordinate system are read.

When the workpiece installation error compensation is OFF, the values in the skip coordinate system are read for all the axes.

While the inclined surface machining command is disabled, the skip coordinate position is read in the work- piece coordinate system of all the axes.

Read Command

Skip coordinates value

Gauge, etc.

F G31

W

M

(feedrate)

Skip signal

Machine coordinate system

[Workpiece coordinates]

[Machine coordinates]

[Input coordinates of skip signal]

Workpiece coordinate system

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1110IB-1501278-Q

The coordinate value in variable Nos. #5061 to #5060+n or #5161 to #5160+n memorize the moments when the skip input signal during movement was input and so they can be read at any subsequent time. For details, refer to "22.2 Skip Function; G31".

When the parameter "#1366 skipExTyp" (Multi-part system simultaneous skip command) is set to "1", the skip coordinate value will be "0", even if G31 command is given in one-part system or G31 command is given in only one of the multiple part systems.

(Example 1) Example of workpiece position measurement

An example to measure the distance from the measured reference position to the workpiece edge is shown be- low.

#101 X axis measurement amount N1 G90/G91 modal recording

#102 Y axis measurement amount N2 X, Y start point recording

#103 Measurement linear segment amount N3 Z axis entry amount

N4 X, Y measurement (Stop at skip input)

#5001 X axis measurement start point N5 Return to X, Y start point

#5002 Y axis measurement start point N6 X, Y measurement incremental calculation

N7 Measurement linear segment calculation

#5061 X axis skip input point N8 Z axis escape

#5062 Y axis skip input point N9,N10 G90/G91 modal return

N11 Main program return

G65 P9031 X100. Y100. Z-10. F200;

F(#9) 200 X(#24)100.000 Y(#25)100.000 Z(#26) - 10.000

#101 87.245 #102 87.245 #103 123.383

N1 #180=#4003; N2 #30=#5001 #31=#5002; N3 G91 G01 Z#26 F#9; N4 G31 X#24 Y#25 F#9; N5 G90 G00 X#30 Y#31; N6 #101=#30- #5061 #102=#31- #5062; N7 #103=SQR #101*#101+#102*#102 ; N8 G91 G01Z- #26; N9 IF #180 EQ 91 GOTO 11; N10 G90; N11 M99;

O9031

N3 N4

N5N8 #103 #102

#101 X

Z

Y

To subprogram

Main program

Argument

Start point

Skip input

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1111 IB-1501278-Q

(Example 2) Reading of skip input coordinates

"" is the error caused by response delay. Refer to "22.2 Skip Function; G31" for details.

#122 is the N4 skip signal input coordinates as there is no Y command at N7.

(a) Skip signal

#111=-75.+ #112=-75.+

#121=-25.+ #122=-75.+

N1 G91 G28 X0 Y0; N2 G90 G00 X0 Y0; N3 X0 Y- 100.; N4 G31 X- 150. Y- 50. F80; N5 #111=#5061#112=#5062; N6 G00 Y0; N7 G31 X0; N8 #121=#5061#122=#5062; N9 M02;

- Y

- 150

- 50

- 75

- 100

- 75 - 25 Y X- X

(a)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1112IB-1501278-Q

23.13 System Variables (Alarm)

The NC unit can be forcibly set to the alarm state by using variable No. #3000.

Any alarm number from 1 to 9999 can be specified.

The alarm message must be written in not more than 31 half-width characters or 15 full-width characters.

NC alarm 3 signal (program error) is output.

Program execution stops, then "P277 Macro alarm message" and the specified alarm (message and No.) are dis-

played alternately in the message display area. The above stated items also appears in the [NC message] and [Op-

erator message] fields on the diagnosis screen.

Example of program (alarm when #1 = 0)

(*1) "P277 Macro alarm message" and "CALL#PROGRAMMER#TEL#530 70" (specified message and No.) are dis-

played alternately.

(1) If "0" or any number greater than "9999" is specified for the alarm No., the number will be invalid and it will not display. However, the operation will be in the alarm status, and the specified alarm message will appear.

(2) Specify the alarm message by enclosing it in round parentheses after the alarm number. If there is any character string between the number and the alarm message enclosed in round parentheses, the alarm message will be invalid and it will not display. However, the operation will be in the alarm status, and the specified alarm No. will appear. When the alarm No. is omitted, the program error (P33) occurs.

(3) When 32 or more half-width characters are specified for the alarm message, characters after the 32nd character will not display. When the commanded string has 16 or more full-width characters, the 16th and subsequent characters are not displayed.

(4) Spaces included in an alarm message character string are ignored, and will not display. To split the character string insert a character such as "." (period).

(5) Do not use half-width kana characters for the alarm message. A part of half-width kana character string will be missing (for Japanese).

(6) To create a machining program using a general text editor, set the character code according to the language used. For details, refer to "3.2 File Format".

Detailed description

#3000 = n (ALARM.MESSAGE) ;

n Alarm No. (1 to 9999)

ALARM.MESSAGE Alarm message

:

IF[#1 NE 0]GOTO 100 ;

#3000=70 (CALL #PROGRAMMER #TEL #530); Program error (P277) (*1)

N100

:

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1113 IB-1501278-Q

23.14 System Variables (Message Display and Stop)

By using variable No. #3006, the operation stops after the previous block is executed and, if message display data

is commanded, the corresponding message and the stop No. will be indicated on the operator message area.

The message should be written in not more than 31 half-width characters or 15 full-width characters and should be

enclosed by round parentheses.

(1) If "0" or any number greater than "9999" is specified for the stop No., the command is invalid and the program does not stop.

(2) Specify an alarm message by enclosing it in round parenthesis immediately after the stop No. If there is any char- acter string between the number and the message enclosed in round parenthesis, the program error (P33) oc- curs. When the stop No. is omitted, the program error (P33) occurs as well.

(3) When only the stop No. is specified and no message is specified, nothing is displayed. The program stops without the stop number being displayed.

(4) When 32 or more half-width characters are specified for the message, the 32nd and subsequent characters are not displayed. When 16 or more full-width characters are specified, the 16th and subsequent characters are not displayed.

(5) Spaces in message strings are ignored and are not displayed on the screen. To separate strings, insert a char- acter such as "." (period).

(6) Do not use half-width kana characters for the message. A part of half-width kana character string will be missing (for Japanese).

(7) To create a machining program using a general text editor, set the character code according to the language used. For details, refer to "3.2 File Format".

The operation when the variable No. #3006 is commanded during inhibition of single block stop by system variable

(the variable No. "#3003/bit0" is set to "1") can be switched by the setting of the parameter "#11482 ValBlkStopSe-

lect" (System variable #3006 block stop switch).

Detailed description

#3006 = n (MESSAGE) ;

n Stop No. (1 to 9999)

MESSAGE Message

Switching #3006 operation during inhibition of single block stop

System variable #3003/bit0

Parameter #11482

System variable #3006 operation

0 0 Block stop is executed with the system variable #3006 and the message is displayed.0 1

1 0 Block stop is not executed with the system variable #3006. (The mes- sage does not remain.)

1 1 Block stop is executed with the system variable #3006 and the message is displayed.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1114IB-1501278-Q

23.15 System Variables (Cumulative Time)

The integrating time during the power is turned ON or the automatic start is running, can be read or values can be

substituted by using variable Nos. #3001 and #3002.

The cumulative time is reset to "0" at approximately 2.44 1011ms (approximately 7.7 years).

Detailed description

Type Variable No. Unit Contents when power is switched on

Initialization of con- tents

Count condition

Power-on 3001 1ms Same as when power is switched off

Substitute values to variables

At all times while power is ON

Automatic start 3002 In-automatic start

G65P9010T

T#20

#3001=0 ; WHILE #3001LE#20 DO1 ;

END1 :

M99 ;

O9010

Entered in local variable #20

Local variable Allowable time portion: DO1 to END1 is repeated and when allowable time is reached, operations jumps to M99.

To sub-program(allowable time) ms ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1115 IB-1501278-Q

23.16 System Variables (Time Read Variables)

The following operations can be carried out using the system variable extension for the user macro time.

(1) By adding time information system variable #3011 and #3012, the current date (#3011) and current time (#3012) can be read and written.

(2) By adding parameter #1273/bit1, the unit (millisecond unit/hour unit) of the system variable "#3002" (cumulative time during automatic start) can be changed.

(3) The cumulative time is reset to "0" at approximately 2.44 1011ms (approximately 7.7 years).

(4) If a negative value or a value exceeding 244335917226 milliseconds (67871.08811851 hours for #3002 time designation) is set for the cumulative time, a program error (P35) will occur.

(5) If a value exceeding the command range is set for the date or time, a program error (P35) will occur.

(6) Always set the month/date/hour/minute/second as a two-digit value when setting the date and time. If the value only has one digit, always add 0. (February 14, 2001 => #3011= 20010214 ;, etc.)

Detailed description

Variable No.

Details

#3001 The cumulative time during power ON can be read and the value can be substituted. The unit is millisecond.

#3002 The cumulative time during automatic start can be read and the value can be substituted. The unit can be changed between millisecond and hour with parameter #1273/bit1.

#3011 The current date can be read and written. YYYY/MM/DD is read as a YYYYMMDD value. If a value "YYYYMMDD" is written, it is set to YY/MM/DD (the year is indicated by the last two digits).

Command range for year/ month/day setting

Year (YYYY): 2000 to 2099

Month (MM): 1 to 12

Day (DD): 1 to maximum number of days in one month

#3012 The current time can be read and written. HH/MM/SS is read as a value "HHMMSS". When a value "HHMMSS" is written in, it will be set as HH/MM/SS.

Command range for time setting

Hour (HH): 0 to 23 (24-hour system)

Minute (MM): 0 to 59

Second (SS): 0 to 59

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1116IB-1501278-Q

(Example 1) To read the current date (February 14, 2001) in common variable #100

#100 = #3011 ; (20010214 is inserted in #100)

(Example 2) To write current time (18 hours, 13 minutes, 6 seconds) into system variable #3012

#3012 = 181306 ; (The command value cumulative time #2: time is set to 18:13:06.)

(Example 3) By setting the following program example, the machining start/end time (year/month/date/hour/minute/

second) can be viewed.

(1) #3011 reads the date as an eight-digit value, so the difference between the two dates read in will not be the dif- ference of days.

(2) #3012 reads the time as a six-digit value, so the difference between the two times read in will not be the difference of hours.

Program example

Example of use (#3011, #3012)

#100=#3011 ; => Machining start year/month/date #101=#3012 ; => Machining start hour/minute/second G28 X0 Y0 Z0 ; G92 ; G0 X50. ; : : : #102=#3011 ; => Machining end year/month/date #103=#3012 ; => Machining end hour/minute/second M30 ;

Precautions

Limits and precautions for using time reading variable

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1117 IB-1501278-Q

23.17 System Variables (Machining Information)

By substituting the values below in variable No. #3003, it is possible to suppress single block stop in the subsequent

blocks or to advance to the next block without waiting for the miscellaneous function (M, S, T, B) finish (FIN) signal.

(1) Variable No. #3003 is set to zero by reset.

By substituting the values below in variable No. #3004, it is possible to make the feed hold, feedrate override and

G09 functions either valid or invalid in the subsequent blocks.

(1) Variable No. #3004 is set to zero by reset.

(2) The functions are valid when the above bits are 0, and invalid when they are 1.

(3) When the feed hold is set to invalid with #3004, the following will occur when the feed hold switch is pressed.

During thread cutting, block stop will be carried out at the end of the next block of the block where thread cutting is completed.

During tapping with tap cycle, block stop will be carried out after the operation of R point return. In the case other than above, block stop will be carried out after the termination of the currently executing block.

Detailed description

Contents of variable No. "#3003"

#3003/bit Function Set to "1" Set to "0"

0 Inhibition of single block stop Inhibits stop. Does not inhibit stop.

1 Inhibition of miscellaneous function complete signal waiting

Does not wait for the signal. Waits for the signal.

2 Prohibition of program check re- verse run

Prohibits reverse run. Allows reverse run.

3 (Not used) - -

4 (Not used) - -

5 (Not used) - -

6 (Not used) - -

7 (Not used) - -

Contents of variable No. "#3004"

#3004/bit Function Set to "1" Set to "0"

0 Automatic operation pause OFF Invalid Valid

1 Cutting override OFF Invalid Valid

2 G09 check OFF Invalid Valid

3 (Not used) - -

4 Dry run invalid Invalid Valid

5 (Not used) - -

6 (Not used) - -

7 (Not used) - -

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1118IB-1501278-Q

23.18 System Variables (Reverse Run Information)

23.19 System Variables (Number of Workpiece Machining Times)

The number of workpiece machining times can be read using variables #3901 and #3902.

By substituting a value in these variable Nos., the number of workpiece machining times can be changed.

(1) The number of workpiece machining times must be a positive value.

23.20 System Variables (Mirror Image)

By reading variable No. #3007, it is possible to ascertain the status of mirror image of the each axis at the point.

The axis corresponds to each bit of "#3007" as shown below.

0: Mirror image invalid

1: Mirror image valid

The number of axes varies depending on your machine's specifications.

#3007

Detailed description

Variable No. Usage Details Range

#31100 Number of available blocks for reverse run

+1 added number of the blocks that retained the re- verse run information while the "Reverse run con- trol mode" signal was ON

0 to 201

#31101 Counter of available blocks for reverse run

Number of available blocks for reverse run (value of #31100) when the "Reverse run" signal is turned ON to start. Turns "0" when the forward run has been executed for all the blocks. Displays "0" during normal operation.

0 to 201

Detailed description

Variable No. Type Data setting range

#3901 Number of workpiece machining times 0 to 999999

#3902 Maximum workpiece value

Detailed description

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

nth axis 8 7 6 5 4 3 2 1

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1119 IB-1501278-Q

23.21 System Variables (Coordinate Rotation Parameter)

The following variables can be read by the system variables of the variable command.

When an arbitrary axis is exchanged, this data is read in the axis arrangement that is set after the axis exchange

has been completed.

Note that writing is not possible onto these variables.

Detailed description

Variable No. Parameter No. Description

#30060 #8621 Control axis No. on the coordinate rotation plane (horizontal ax- is)

#30061 #8622 Control axis No. on the coordinate rotation plane (vertical axis)

#30062 #8623 Coordinate rotation center (horizontal axis)

#30063 #8624 Coordinate rotation center (vertical axis)

#30064 #8627 Coordinate rotation angle

#30065 - SIN data for the coordinate rotation angle [SIN(Coordinate rota- tion angle)]

#30066 - COS data for the coordinate rotation angle [COS(Coordinate ro- tation angle)]

#30067 #8625 Coordinate rotation vector (horizontal axis)

#30068 #8626 Coordinate rotation vector (vertical axis)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1120IB-1501278-Q

23.22 System Variables (Rotary Axis Configuration Parameter)

The following rotary axis configuration parameters can be read by the system variables of the variable command.

By substituting a value in these variables, the setting value of rotary axis configuration parameter can be changed.

Detailed description

Variable No. Parameter

#31001 #7903 G92_CRD Origin zero set coordinate selection

#31002 #7904 NO_TIP Tool handle feed function selection

#31003 #7920 SLCT_T1 Rotary axis selection (Base-side rotary axis of tool rotation type)

#31004 #7923 DIR_T1 Rotation direction (Base-side rotary axis of tool rotation type)

#31005 #7924 COFST1H Horizontal axis rotation center offset (Base-side rotary axis of tool ro- tation type)

#31006 #7925 COFST1V Vertical axis rotation center offset (Base-side rotary axis of tool rota- tion type)

#31007 #7926 COFST1T Height axis rotation center offset (Base-side rotary axis of tool rotation type)

#31008 #7930 SLCT_T2 Rotary axis selection (Tool-side rotary axis of tool rotation type)

#31009 #7933 DIR_T2 Rotation direction (Tool-side rotary axis of tool rotation type)

#31010 #7934 COFST2H Horizontal axis rotation center offset (Tool-side rotary axis of tool ro- tation type)

#31011 #7935 COFST2V Vertical axis rotation center offset (Tool-side rotary axis of tool rota- tion type)

#31012 #7936 COFST2T Height axis rotation center offset (Tool-side rotary axis of tool rotation type)

#31013 #7940 SLCT_W1 Rotary axis selection (Base-side rotary axis of table rotation type)

#31014 #7943 DIR_ W1 Rotation direction (Base-side rotary axis of table rotation type)

#31015 #7944 COFSW1H Horizontal axis rotation center offset (Base-side rotary axis of table ro- tation type)

#31016 #7945 COFSW1V Vertical axis rotation center offset (Base-side rotary axis of table rota- tion type)

#31017 #7946 COFSW1T Height axis rotation center offset (Base-side rotary axis of table rota- tion type)

#31018 #7950 SLCT_W2 Rotary axis selection (Workpiece-side rotary axis of table rotation type)

#31019 #7953 DIR_W2 Rotation direction (Workpiece-side rotary axis of table rotation type)

#31020 #7954 COFSW2H Horizontal axis rotation center offset (Workpiece-side rotary axis of ta- ble rotation type)

#31021 #7955 COFSW2V Vertical axis rotation center offset (Workpiece-side rotary axis of table rotation type)

#31022 #7956 COFSW2T Height axis rotation center offset (Workpiece-side rotary axis of table rotation type)

#31023 #7912 NO_MANUAL Selection of manual feed for 3-dimensional

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1121 IB-1501278-Q

23.23 System Variables (Normal Line Control Parameter)

The normal line control parameter can be read or written using variable Nos. "#1900" and "#1901".

Detailed description

Variable No. Details

#1900 #8041 C-rot.R (Data with decimal point)

#1901 #8042 C-ins.R (Data with decimal point)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1122IB-1501278-Q

23.24 System Variables (Parameter Reading)

Parameter data can be read in with the system variables.

The parameter values are read in with the following four blocks using these four system variables.

The parameter to be read in is designated by substituting the parameter No. in this system variable.

If the parameters are read without designating this No., the parameters will be read in the same manner as if the

minimum parameter No. (#1) is designated. Once designated, the setting is held until the parameter No. is desig-

nated again or until it is reset.

A program error (P39) will occur if a nonexistent parameter No. is set.

(1) System variable for part system No. designation The part system No. of the parameter to be read in is designated by substituting an index value for this system variable. This designation will be ignored when reading in parameters that are not in a specific part system. If the parameters are read without designating this No., the parameters will be read in the same manner as if the index value 0 (part system in running program) is designated. Once designated, the setting is held until the part system No. is designated again or until it is reset. A program error (P39) will occur if a nonexistent part system No. is set.

(2) Index values

Function and purpose

Variable No. Application

#100000 Parameter No. designation

#100001 Part system No. designation

#100002 Axis No./spindle No. designation

#100010 Parameter value read

Detailed description

#100000 = 1001 ; Designates the parameter No.

#100001 = 1 ; Designates the part system No.

#100002 = 1 ; Designates the axis No./spindle No.

#100 = #100010; Reads the parameter value.

Parameter No. designation (#100000)

Part system No. designation (#100001)

Index values Parameters per part system

0 Running part system

1 1st part system

2 2nd part system

3 -

: -

9 -

10 PLC axis

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1123 IB-1501278-Q

(1) System variable for axis or spindle No. designation The axis or spindle No. of the parameter to be read in is designated by substituting an index value for this system variable. This designation will be ignored when reading in parameters that are neither for a specific axis nor spin- dle. The axis parameter index value is the value set in the part system designated with #100001. Thus, when reading parameters that are not in the designated part system, the part system No. must be desig- nated again. The spindle parameter's index value is not affected by the part system designation. If the parameters are read without designating this number, the parameters will be read in the same manner as when the index value 1 (1st axis/1st spindle in the designated part system) is designated. Once designated, the setting is held until the index value is designated again or until it is reset. A program error (P39) will occur if a nonexistent axis/spindle No. is set.

(2) Index values

The designated parameter data is read with this system variable.

Data to be read as follows, depending on the parameter type.

Axis No. /spindle No. designation (#100002)

Index values Axis parameter Spindle parameter

1 1st axis 1st spindle

2 2nd axis 2nd spindle

3 3rd axis 3rd spindle

4 4th axis 4th spindle

5 5th axis -

6 6th axis -

Reading the parameters (#100010)

Type Read in data

Numeric value The values displayed on the Parameter screen are output.

Text ASCII codes are converted into decimal values.

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1124IB-1501278-Q

(1) To read the parameter "#1002 axisno (number of axes)" for each part system:

(2) To read the axis parameter "#2037 G53ofs (#1 reference position)":

[1st part system program]

[2nd part system program]

Program example

#100000 = 1002 ; Designates [#1002].

#100001 = 1 ; Designates [1st part system].

#101 = #100010; Reads the number of axes in 1st part system.

#100000 = 1002 ; Designates [#1002]. (can be omitted since parameter No. is same)

#100001 = 2 ; Designates [2nd part system].

#102 = #100010; Reads the number of axes in 2nd part system.

#100001 = 5 ; Designates [5th part system]. (The program error (P39) will occur.)

#100001 = 10 ; Designates [PLC axis].

#110 = #100010; Reads the number of PLC axes.

[Conditions] 1 part system 2 part systems

<1st axis> <2nd axis> <1st axis> <2nd axis>

#2037 G53ofs 100.000 200.000 300.000 400.000

#100002 = 1 ; Designates [1st axis].

#100000 = 2037 ; Designates [#2037].

#101 = #100010; Reads the [#1 reference point] for the 1st axis. (#101=100.000)

#100002 = 2 ; Designates [2nd axis].

#102 = #100010; Reads the [#2 reference point] for the 1st axis. (#102=200.000)

#100001 = 2 ; Designates [2nd part system].

#100002 = 1 ; Designates [1st axis].

#201 = #100010; Reads the [#2 reference position] for the 1st axis in the 1st part system. (#201=300.000)

#100002 = 1 ; Designates [1st axis].

#100000 = 2037 ; Designates [#2037].

#101 = #100010; Reads the [#1 reference point] for the 1st axis. (#101=300.000)

#100002 = 2 ; Designates [2nd axis].

#102 = #100010; Reads the [#2 reference point] for the 1st axis. (#102=400.000)

#100001 = 1 ; Designates [1st part system].

#100002 = 1 ; Designates [1st axis].

#201 = #100010; Reads the [#1 reference position] for the 1st axis in the 1st part system. (#201=100.000)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1125 IB-1501278-Q

(3) To read the parameter for each part system, axis, or spindle:

(4) To read the text type parameter "#1169 system name" (part system name):

(1) The number of part systems, axes and spindles is set at the maximum number specified by the model.

(2) The inch/metric changeover function for the setting and display is valid for the readout data.

(3) The machining condition parameter group cannot set the parameters from the program using the G10 command, and cannot read the parameters using the system variables ("#100000" and later).

#100002 = 1 ; Designates [1st spindle].

#100000 = 3001 ; Designates [#3001].

#101 = #100010; Reads the [#3001 slimt1 (Number of limit rotation gears 00)] for 1st spindle.

#100000 = 3002 ; Designates [#3002].

#102 = #100010; Reads the [#3002 slimt2 (Number of limit rotation gears 01)] for 1st spindle.

#100002 = 2 ; Designates [2nd spindle].

#100000 = 3001 ; Designates [#3001].

#201 = #100010 ; Reads the [#3001 slimt1 (Number of limit rotation gears 00)] for 2nd spindle.

#100000 = 3002 ; Designates [#3002].

#202 = #100010; Reads the [#3002 slimt2 (Number of limit rotation gears 01)] for 2nd spindle.

[Conditions] <1st part system> <2nd part system>

#1169 system name SYS1 SYS2

#100000 = 1169 ; Designates #1169.

#100001 = 1 ; Designates 1st part system.

#101 = #100010; This will be #101 = 1398362929 (0x53595331).

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1126IB-1501278-Q

23.25 System Variables (Workpiece Installation Error Compensation

Amount)

Using the system variables below, read/write of the workpiece installation error compensation amounts is enabled.

(Note 1) The primary rotary axis position corresponds with the axis set by the parameter #7942, and the secondary

rotary axis position corresponds with the axis set by the parameter #7952.

(Note 2) If the primary and secondary rotary axis positions are not of the table-side rotary axes, the set values are

ignored.

(Note 3) The setting ranges are the same as those set in the workpiece installation error setting screen.

(Note 4) If the system variables #26000 to #26077 are written during workpiece installation error compensation, the

program error (P545) will occur.

Detailed description

Common No.01 No.02 No.03 No.04 No.05 No.06 No.07

Workpiece installation error compensation amount x

#26000 #26010 #26020 #26030 #26040 #26050 #26060 #26070

Workpiece installation error compensation amount y

#26001 #26011 #26021 #26031 #26041 #26051 #26061 #26071

Workpiece installation error compensation amount z

#26002 #26012 #26022 #26032 #26042 #26052 #26062 #26072

Workpiece installation error compensation amount a

- #26013 #26023 #26033 #26043 #26053 #26063 #26073

Workpiece installation error compensation amount b

- #26014 #26024 #26034 #26044 #26054 #26064 #26074

Workpiece installation error compensation amount c

- #26015 #26025 #26035 #26045 #26055 #26065 #26075

Primary rotary axis position #26006 #26016 #26026 #26036 #26046 #26056 #26066 #26076

Secondary rotary axis posi- tion

#26007 #26017 #26027 #26037 #26047 #26057 #26067 #26077

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1127 IB-1501278-Q

23.26 System Variables (Macro Interface Input (PLC -> NC))

The status of the interface input signals can be ascertained by reading out the values of variable Nos. #1000 to

#1035, #1200 to #1295.

The interface output signals can be sent by substituting values in variable Nos. #1100 to #1135, #1300 to #1395. (For details of the system variables for the output signals, refer to "23.27 System Variables (Macro In- terface Output (NC -> PLC))".)

Example of 1st part system

Function and purpose

(a) Input signal (b) Output signal (c) Macro instructions

Note

#1000

#1031

#1032 (R6436, R6437)

#1200

#1231

#1033 (R6438, R6439)

#1232

#1263

#1034 (R6440, R6441)

#1264

#1295

#1035 (R6442, R6443)

#1132 (R6372, R6373)

#1133 (R6374, R6375)

#1134 (R6376, R6377)

#1135 (R6378, R6379)

#1300

#1331

#1332

#1363

#1364

#1395

#1100

#1131

(c)

(a) (b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1128IB-1501278-Q

Variable Nos. #1000 to #1035, #1200 to #1295 are for readout only, and nothing can be placed in the left side mem-

ber of their operation formula.

Input here refers to input to the NC.

Whether it is per part system or common between part systems depends on the MTB specifications (parameter

"#1230 set02/bit07").

All the input signals from #1000 to #1031 can be read at once by reading out the value of variable No. #1032.

The input signals from #1200 to #1231, #1232 to #1263, and #1264 to #1295 can be read by reading out the values

of variable Nos. #1033 to #1035.

The data of the 1st part system ($1) to the 8th part system ($8) is as follows.

Detailed description

Data unit (32 bits)

System vari- able

No. of points

Interface input signal

$1 $2 $3 $4 $5 $6 $7 $8

#1032 32 R6436, R6437

R6444, R6445

R6452, R6453

R6460, R6461

R6468, R6469

R6476, R6477

R6484, R6485

R6492, R6493

#1033 32 R6438, R6439

R6446, R6447

R6454, R6455

R6462, R6463

R6470, R6471

R6478, R6479

R6486, R6487

R6494, R6495

#1034 32 R6440, R6441

R6448, R6449

R6456, R6457

R6464, R6465

R6472, R6473

R6480, R6481

R6488, R6489

R6496, R6497

#1035 32 R6442, R6443

R6450, R6451

R6458, R6459

R6466, R6467

R6474, R6475

R6482, R6483

R6490, R6491

R6498, R6499

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1129 IB-1501278-Q

The input signal has only two values: "0" and "1".

If the value is common between part systems, refer to the column of the 1st part system ($1).

Bit unit

Part sys- tem

$1 $2 $3 $4 $5 $6 $7 $8

R device R6436- R6443

R6444- R6451

R6452- R6459

R6460- R6467

R6468- R6475

R6476- R6483

R6484- R6491

R6492- R6499

System variable

No. of points

Interface input signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1000 1 R6436/ bit0

R6444/ bit0

R6452/ bit0

R6460/ bit0

R6468/ bit0

R6476/ bit0

R6484/ bit0

R6492/ bit0

#1001 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1002 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1003 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1004 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1005 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1006 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1007 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1008 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1009 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1010 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1011 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1012 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1013 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1014 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1015 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1016 1 R6437/ bit0

R6445/ bit0

R6453/ bit0

R6461/ bit0

R6469/ bit0

R6477/ bit0

R6485/ bit0

R6493/ bit0

#1017 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1018 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1019 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1020 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1021 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1022 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1023 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1024 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1025 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1026 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1027 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1028 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1029 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1030 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1031 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1130IB-1501278-Q

System variable

No. of points

Interface input signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1200 1 R6438/ bit0

R6446/ bit0

R6454/ bit0

R6462/ bit0

R6470/ bit0

R6478/ bit0

R6486/ bit0

R6494/ bit0

#1201 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1202 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1203 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1204 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1205 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1206 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1207 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1208 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1209 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1210 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1211 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1212 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1213 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1214 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1215 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1216 1 R6439/ bit0

R6447/ bit0

R6455/ bit0

R6463/ bit0

R6471/ bit0

R6479/ bit0

R6487/ bit0

R6495/ bit0

#1217 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1218 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1219 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1220 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1221 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1222 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1223 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1224 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1225 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1226 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1227 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1228 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1229 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1230 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1231 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1131 IB-1501278-Q

System variable

No. of points

Interface input signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1232 1 R6440/ bit0

R6448/ bit0

R6456/ bit0

R6464/ bit0

R6472/ bit0

R6480/ bit0

R6488/ bit0

R6496/ bit0

#1233 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1234 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1235 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1236 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1237 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1238 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1239 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1240 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1241 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1242 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1243 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1244 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1245 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1246 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1247 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1248 1 R6441/ bit0

R6449/ bit0

R6457/ bit0

R6465/ bit0

R6473/ bit0

R6481/ bit0

R6489/ bit0

R6497/ bit0

#1249 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1250 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1251 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1252 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1253 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1254 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1255 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1256 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1257 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1258 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1259 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1260 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1261 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1262 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1263 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1132IB-1501278-Q

System variable

No. of points

Interface input signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1264 1 R6442/ bit0

R6450/ bit0

R6458/ bit0

R6466/ bit0

R6474/ bit0

R6482/ bit0

R6490/ bit0

R6498/ bit0

#1265 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1266 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1267 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1268 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1269 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1270 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1271 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1272 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1273 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1274 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1275 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1276 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1277 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1278 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1279 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1280 1 R6443/ bit0

R6451/ bit0

R6459/ bit0

R6467/ bit0

R6475/ bit0

R6483/ bit0

R6491/ bit0

R6499/ bit0

#1281 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1282 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1283 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1284 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1285 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1286 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1287 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1288 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1289 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1290 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1291 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1292 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1293 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1294 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1295 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1133 IB-1501278-Q

23.27 System Variables (Macro Interface Output (NC -> PLC))

The interface output signals can be sent by substituting values in variable Nos. #1100 to #1135, #1300 to #1395.

The status of the interface input signals can be ascertained by reading out the values of variable Nos. #1000 to #1035, #1200 to #1295. (For details of the system variables for the output signals, refer to "23.26 System Vari- ables (Macro Interface Input (PLC -> NC))".)

Example of 1st part system

Function and purpose

(a) Input signal (b) Output signal (c) Macro instructions

Note

#1000

#1031

#1032 (R6436, R6437)

#1200

#1231

#1033 (R6438, R6439)

#1232

#1263

#1034 (R6440, R6441)

#1264

#1295

#1035 (R6442, R6443)

#1132 (R6372, R6373)

#1133 (R6374, R6375)

#1134 (R6376, R6377)

#1135 (R6378, R6379)

#1300

#1331

#1332

#1363

#1364

#1395

#1100

#1131

(c)

(a) (b)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1134IB-1501278-Q

The status of the writing and output signals can be read in order to compensate the #1100 to #1135, #1300 to #1395

output signals.

Output here refers to the output from the NC side.

Whether it is per part system or common between part systems depends on the MTB specifications (parameter

"#1230 set02/bit07").

(1) The last values of the system variables #1100 to #1135, #1300 to #1395 sent are retained as 1 or 0. (They are not cleared even by resetting.)

(2) The following applies when any number except 1 or 0 is substituted into #1100 to #1131, #1300 to #1395. is treated as 0. All values other than or "0" are treated as 1. Any value less than 0.00000001 is indefinite.

All the output Nos. from #1100 to #1131 can be sent at once by substituting a value in variable No. #1132.

The output signals from #1300 to #1331, #1332 to #1363, and #1364 to #1395 can be sent by substituting a value

in variable Nos. #1133 to #1135. (20 to 231)

The data of the 1st part system ($1) to the 8th part system ($8) is as follows.

Detailed description

Data unit (32 bits)

System vari- able

No. of points

Interface output signal

$1 $2 $3 $4 $5 $6 $7 $8

#1132 32 R6372, R6373

R6380, R6381

R6388, R6389

R6396, R6397

R6404, R6405

R6412, R6413

R6420, R6421

R6428, R6429

#1133 32 R6374, R6375

R6382, R6383

R6390, R6391

R6398, R6399

R6406, R6407

R6414, R6415

R6422, R6423

R6430, R6431

#1134 32 R6376, R6377

R6384, R6385

R6392, R6393

R6400, R6401

R6408, R6409

R6416, R6417

R6424, R6425

R6432, R6433

#1135 32 R6378, R6379

R6386, R6387

R6394, R6395

R6402, R6403

R6410, R6411

R6418, R6419

R6426, R6427

R6434, R6435

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1135 IB-1501278-Q

The output signal has only two values: "0" and "1".

If the value is common between part systems, refer to the column of the 1st part system ($1).

Bit unit

Part sys- tem

$1 $2 $3 $4 $5 $6 $7 $8

R device R6372- R6379

R6380- R6387

R6388- R6395

R6396- R6403

R6404- R6411

R6412- R6419

R6420- R6427

R6428- R6435

System variable

No. of points

Interface output signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1100 1 R6372/ bit0

R6380/ bit0

R6388/ bit0

R6396/ bit0

R6404/ bit0

R6412/ bit0

R6420/ bit0

R6428/ bit0

#1101 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1102 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1103 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1104 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1105 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1106 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1107 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1108 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1109 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1110 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1111 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1112 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1113 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1114 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1115 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1116 1 R6373/ bit0

R6381/ bit0

R6389/ bit0

R6397/ bit0

R6405/ bit0

R6413/ bit0

R6421/ bit0

R6429/ bit0

#1117 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1118 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1119 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1120 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1121 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1122 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1123 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1124 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1125 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1126 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1127 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1128 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1129 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1130 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1131 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1136IB-1501278-Q

System variable

No. of points

Interface output signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1300 1 R6374/ bit0

R6382/ bit0

R6390/ bit0

R6398/ bit0

R6406/ bit0

R6414/ bit0

R6422/ bit0

R6430/ bit0

#1301 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1302 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1303 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1304 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1305 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1306 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1307 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1308 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1309 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1310 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1311 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1312 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1313 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1314 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1315 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1316 1 R6375/ bit0

R6383/ bit0

R6391/ bit0

R6399/ bit0

R6407/ bit0

R6415/ bit0

R6423/ bit0

R6431/ bit0

#1317 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1318 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1319 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1320 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1321 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1322 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1323 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1324 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1325 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1326 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1327 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1328 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1329 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1330 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1331 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1137 IB-1501278-Q

System variable

No. of points

Interface output signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1332 1 R6376/ bit0

R6384/ bit0

R6392/ bit0

R6400/ bit0

R6408/ bit0

R6416/ bit0

R6424/ bit0

R6432/ bit0

#1333 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1334 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1335 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1336 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1337 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1338 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1339 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1340 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1341 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1342 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1343 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1344 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1345 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1346 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1347 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1348 1 R6377/ bit0

R6385/ bit0

R6393/ bit0

R6401/ bit0

R6409/ bit0

R6417/ bit0

R6425/ bit0

R6433/ bit0

#1349 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1350 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1351 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1352 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1353 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1354 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1355 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1356 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1357 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1358 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1359 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1360 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1361 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1362 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1363 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1138IB-1501278-Q

System variable

No. of points

Interface output signal register

$1 $2 $3 $4 $5 $6 $7 $8

#1364 1 R6378/ bit0

R6386/ bit0

R6394/ bit0

R6402/ bit0

R6410/ bit0

R6418/ bit0

R6426/ bit0

R6434/ bit0

#1365 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1366 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1367 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1368 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1369 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1370 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1371 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1372 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1373 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1374 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1375 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1376 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1377 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1378 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1379 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

#1380 1 R6379/ bit0

R6387/ bit0

R6395/ bit0

R6403/ bit0

R6411/ bit0

R6419/ bit0

R6427/ bit0

R6435/ bit0

#1381 1 bit1 bit1 bit1 bit1 bit1 bit1 bit1 bit1

#1382 1 bit2 bit2 bit2 bit2 bit2 bit2 bit2 bit2

#1383 1 bit3 bit3 bit3 bit3 bit3 bit3 bit3 bit3

#1384 1 bit4 bit4 bit4 bit4 bit4 bit4 bit4 bit4

#1385 1 bit5 bit5 bit5 bit5 bit5 bit5 bit5 bit5

#1386 1 bit6 bit6 bit6 bit6 bit6 bit6 bit6 bit6

#1387 1 bit7 bit7 bit7 bit7 bit7 bit7 bit7 bit7

#1388 1 bit8 bit8 bit8 bit8 bit8 bit8 bit8 bit8

#1389 1 bit9 bit9 bit9 bit9 bit9 bit9 bit9 bit9

#1390 1 bit10 bit10 bit10 bit10 bit10 bit10 bit10 bit10

#1391 1 bit11 bit11 bit11 bit11 bit11 bit11 bit11 bit11

#1392 1 bit12 bit12 bit12 bit12 bit12 bit12 bit12 bit12

#1393 1 bit13 bit13 bit13 bit13 bit13 bit13 bit13 bit13

#1394 1 bit14 bit14 bit14 bit14 bit14 bit14 bit14 bit14

#1395 1 bit15 bit15 bit15 bit15 bit15 bit15 bit15 bit15

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1139 IB-1501278-Q

23.28 System Variables (R Device Access Variables)

By using variable Nos. #50000 to #50749, #51000 to #51749, #52000 to #52749, it is possible to read data (R8300

to R9799, R18300 to R19799, R28300 to R29799) and substitute value in the R device user backup area.

These variables read and write the two words of R device.

Data range of these variables is -2147483648 to 2147483647.

Depending on the setting of the PLC bit selection parameter "#6455" (bit0 to bit2), these variables can be changed

between decimal point valid or invalid for each user backup area.

The position of the decimal point when decimal point valid is selected, varies according to the parameters "#1003

iunit" (inupt setting unit) and "#1041 I_inch" (initial inch). (This depends on the MTB specifications.)

These variables are retained even when the power is off.

These are common among part systems.

Function and purpose

Variable No. R device

#50000 R8300, R8301 User backup area (1500 points)

#50001 R8302, R8303

:

#50749 R9798, R9799

Variable No. R device

#51000 R18300, R18301 User backup area (1500 points)

#51001 R18302, R18303

:

#51749 R19798, R19799

Variable No. R device

#52000 R28300, R28301 User backup area (1500 points)

#52001 R28302, R28303

:

#52749 R29798, R29799

Detailed description

#1041 I_inch #1003 iunit

B C D E

0: Metric Three digits after the decimal point

Four digits after the decimal point

Five digits after the decimal point

Six digits after the decimal point

1: Inch Four digits after the decimal point

Five digits after the decimal point

Six digits after the decimal point

Seven digits after the decimal point

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1140IB-1501278-Q

[Reading variables]

When the variable #50000 is used in a machining program as shown below, the data set in device R8300 and R8301

will be referred.

(1) When decimal point invalid is selected:

Regardless of the setting of the parameter "#1003 iunit" (input setting unit) and "#1041 I_inch" (initial inch), the

data set in the R device will be the command value.

In case of the above example, the command value will be "X123456.".

(2) When decimal point valid is selected:

The data set in the R device will be read as a data with a decimal point.

The position of the decimal point will be as follows, according to the settings of the parameters "#1003 iunit" (in-

upt setting unit) and "#1041 I_inch" (initial inch).

[Substitution into variables]

When substituting a value to the variable #50001 in a machining program as shown below, data will be set in the

device R8302 and R8303.

(1) When decimal point invalid is selected:

Regardless of the setting of the parameter "#1003 iunit" (inupt setting unit) and "#1041 I_inch" (initial inch), sub-

stituted value will be set in the R device.

When a value with a decimal point is substituted to a variable like "#50001 = 123.456 ;", the numbers after the

decimal point will be truncated and "123" will be set.

Access from a machining program to R device

Device Value #50000

R8301 0x0001 0x1e240 (Hex.) = 123456 (Decimal)R8300 0xe240

#1041 I_inch #1003 iunit

B C D E

0: Metric X123.456 X12.3456 X1.23456 X0.123456

1: Inch X12.3456 X1.23456 X0.123456 X0.0123456

#50001 Device Value

123 (Decimal) = 0x7b (Hex.)

R8303 0x0000

R8302 0x007b

G0 X#50000 ;

R8300,R8301

#50001 = 123 ;

R8302,R8303

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1141 IB-1501278-Q

(2) When decimal point valid is selected:

According to the settings of the parameter "#1003 iunit" (inupt setting unit) and "#1041 I_inch" (initial inch), val-

ues which are shifted for the number of decimals will be set in the R device, as shown below.

When a value with a decimal point is substituted to a variable like "#50001 = 123.456 ;", the value will directly

be set.

If the number of decimals of the substituted data exceeds the number of significant figures, the value will be

rounded off to the number of significant figures and will be set.

When "#50001 = 123.4567899 ;".

#1041 I_inch 0: Metric

#1003 iunit B C D E

#50001 123000 (Decimal) = 0x1e078 (Hex.)

1230000 (Decimal) = 0x12c4b0 (Hex.)

12300000 (Decimal) = 0xbbaee0 (Hex.)

123000000 (Decimal) = 0x754d4c0 (Hex.)

Device R8303 0x0001 0x0012 0x00bb 0x0754

R8302 0xe078 0xc4b0 0xaee0 0xd4c0

#1041 I_inch 1: Inch

#1003 iunit B C D E

#50001 1230000 (Decimal) = 0x12c4b0 (Hex.)

12300000 (Decimal) = 0xbbaee0 (Hex.)

123000000 (Decimal) = 0x754d4c0 (Hex.)

1230000000 (Decimal) = 0x49504f80 (Hex.)

Device R8303 0x0012 0x00bb 0x0754 0x4950

R8302 0xc4b0 0xaee0 0xd4c0 0x4f80

#1041 I_inch 0: Metric

#1003 iunit B C D E

#50001 123456 (Decimal) = 0x1e240 (Hex.)

1234560 (Decimal) = 0x12d680 (Hex.)

12345600 (Decimal) = 0xbc6100 (Hex.)

123456000 (Decimal) = 0x75bca00 (Hex.)

Device R8303 0x0001 0x0012 0x00bc 0x075b

R8302 0xe240 0xd680 0x6100 0xca00

#1041 I_inch 1: Inch

#1003 iunit B C D E

#50001 1234560 (Decimal) = 0x12d680 (Hex.)

12345600 (Decimal) = 0xbc6100 (Hex.)

123456000 (Decimal) = 0x75bca00 (Hex.)

1234560000 (Decimal) = 0x4995e400 (Hex.)

Device R8303 0x0012 0x00bc 0x075b 0x4998

R8302 0xd680 0x6100 0xca00 0xe400

#1041 I_inch 0: Metric

#1003 iunit B C D E

#50001 123457 (Decimal) = 0x1e241 (Hex.)

1234568 (Decimal) = 0x12d688 (Hex.)

12345679 (Decimal) = 0xbc614f (Hex.)

123456790 (Decimal) = 0x75bcd16 (Hex.)

Device R8303 0x0001 0x0012 0x00bc 0x075b

R8302 0xe241 0xd688 0x614f 0xcd16

#1041 I_inch 1: Inch

#1003 iunit B C D E

#50001 1234568 (Decimal) = 0x12d688 (Hex.)

12345679 (Decimal) = 0xbc614f (Hex.)

123456790 (Decimal) = 0x75bcd16 (Hex.)

1234567899 (Decimal) = 0x499602db (Hex.)

Device R8303 0x0012 0x00bc 0x075b 0x4996

R8302 0xd688 0x614f 0xcd16 0x02db

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1142IB-1501278-Q

These variables can be used in control command.

However, note that the variable value and the condition of true/false differ between decimal point valid variables and

invalid variables.

(1) When decimal point invalid is selected:

Regardless of the setting of the parameter "#1003 iunit" (input setting unit) and "#1041 I_inch" (initial inch), R

device value of #50003 whose condition is true, will be "1".

(2) When decimal point valid is selected:

The condition is true when #50003 is "1". So the R device value of #50003 will be as follows depending on the

setting of the parameter "#1003 iunit" (inupt setting unit) and "#1041 I_inch" (initial inch).

Use of R device access variables in control command

IF [#50003 EQ 1] GOTO 30 ; G00 X100 ; N30

#50003 Device Value

1 (Decimal) = 0x01 (Hex.)

R8307 0x0000

R8306 0x0001

#1041 I_inch 0: Metric

#1003 iunit B C D E

#50003 1000 (Decimal) = 0x3e8 (Hex.)

10000 (Decimal) = 0x2710 (Hex.)

100000 (Decimal) = 0x186a0 (Hex.)

1000000 (Decimal) = 0xf4240 (Hex.)

Device R8307 0x0000 0x0000 0x0001 0x000f

R8306 0x03e8 0x2710 0x86a0 0x4240

#1041 I_inch 1: Inch

#1003 iunit B C D E

#50003 10000 (Decimal) = 0x2710 (Hex.)

100000 (Decimal) = 0x186a0 (Hex.)

1000000 (Decimal) = 0xf4240 (Hex.)

10000000 (Decimal) = 0x989680 (Hex.)

Device R8307 0x0000 0x0001 0x000f 0x0098

R8306 0x2710 0x86a0 0x4240 0x9680

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1143 IB-1501278-Q

[Substitution into R device access variables]

Common variables and coordinates variables can be substituted to the R device access variables.

(Example 1) Common variables

(Example 2) #5063 : Skip coordinates #5063

(1) When decimal point invalid is selected:

Regardless of the settings of the parameter "#1003 iunit" (inupt setting unit) and "#1041 I_inch" (initial inch), the

value which is rounded off will be set.

When the common variable and coordinate variable in the above example are "-123.456":

(2) When decimal point valid is selected:

Substitution will be as follows according to the settings of the parameter "#1003 iunit" (inupt setting unit) and

"#1041 I_inch" (initial inch).

Substitution between R device access variable and other variables.

#101 = -123.456 ; #50004 = #101 ;

#50004 = #5063 ;

#50004 Device Value

-123 (Decimal) = 0xffffff85 (Hex.) R8309 0xffff

R8308 0x0085

#1041 I_inch 0: Metric

#1003 iunit B C D E

#50004 -123456 (Decimal) = 0xfffe1dc0 (Hex.)

-1234560 (Decimal) = 0xffed2980 (Hex.)

-12345600 (Decimal) = 0xff439f00 (Hex.)

-123456000 (Deci- mal) = 0xf8a43600

(Hex.)

Device R8309 0xfffe 0xffed 0xff43 0xf8a4

R8308 0x1dc0 0x2980 0x9f00 0x3600

#1041 I_inch 1: Inch

#1003 iunit B C D E

#50004 -1234560 (Decimal) = 0xffed2980 (Hex.)

-12345600 (Decimal) = 0xff439f00 (Hex.)

-123456000 (Deci- mal) = 0xf8a43600

(Hex.)

-1234560000 (Deci- mal) = 0xb66a1c00

(Hex.)

Device R8309 0xffed 0xff43 0xf8a4 0xb66a

R8308 0x2980 0x9f00 0x3600 0x1c00

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1144IB-1501278-Q

[Substitution of R device access variables]

(1) When decimal point invalid is selected:

Regardless of the settings of the parameter "#1003 iunit" (inupt setting unit) and "#1041 I_inch" (initial inch), #102

will be "123".

(2) When decimal point valid is selected:

Substitution will be as follows according to the settings of the parameter "#1003 iunit" (inupt setting unit) and

"#1041 I_inch" (initial inch).

(1) The position of a decimal point changes depending on the settings of the parameter "#1003 iunit" (input setting

unit) and "#1041 I_inch" (initial inch). Fix the decimal point position while considering these parameter settings

when setting a number to an R device.

(2) These variables do not handle . If #0 is substituted, it will be converted into "0".

Therefore, when comparing this variable after substituting #0 and #0 with a conditional expres-

sion (EQ), it will not be formed.

(3) If a value exceeding the allowable range is substituted into this variable, a program error (P35) will occur.

(4) When these values are used as decimal point invalid, the settings of "#1078 Decpt2" (Decimal point type 2) and

"#8044 UNIT*10" will not be applied.

(5) When a graphic is being checked, writing into R device will not be executed even if a value is substituted into

these variables.

For reading of these variables (reference to the R device value) during a graphic check, "0" is always read.

#50005 = 123.456789 ; #102 = #50005 ;

#1041 I_inch 0: Metric

#1003 iunit B C D E

#102 123.4570 123.4568 123.4568 123.4568

#1041 I_inch 1: Inch

#1003 iunit B C D E

#102 123.4568 123.4568 123.4568 123.4568

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1145 IB-1501278-Q

23.29 System Variables (PLC Data Reading)

PLC data can be read in with the system variables.

(1) Not available with E80 Type B.

(2) The readable devices are limited.

The PLC data is read in with the following five blocks using these five system variables.

(1) System variable for device designation

The type of device to be read in can be designated by substituting the device designation value in this system variable. If the data is read without designating this variable, the data will be read in the same manner as when the mini- mum value (0: M device) of the device designation value is designated. Once designated, the setting is held until the device is designated again or until it is reset. A program error (P39) will occur if a nonexistent device is set.

(2) Device designation value

[M8 series]

Function and purpose

Variable No. Application

#100100 Device type designation

#100101 Device No. designation

#100102 Number of read bytes designation

#100103 Read bit designation

#100110 Reading PLC data

Detailed description

#100100 = 1; Designates the device type.

#100101 = 0; Designates the device No.

#100102 = 1; Designates the number of bytes.

#100103 = 2; Designates the bit. (Valid only when reading word device bits.)

#100=#100110; Reads in the PLC data.

Device designation (#100100)

Device designa-

tion value

Device Unit Device No. Device designa-

tion value

Device Unit Device No.

0 M Bit M0 - M61439 10 F Bit F0 - F2047

1 D Word D0 - D4095 13 L Bit L0 - L1023

2 C Bit C0 - C511 18 V Bit V0 - V511

4 X (*1) Bit X0 - X1FFF 19 ST Bit ST0 - ST127

5 Y (*1) Bit Y0 - Y1FFF 20 SD Word SD0 - SD2047

6 R Word R0 - R32767 21 SB (*1) Bit SB0 - SB3FF

7 T Bit T0 - T2047 22 SW (*1) Word SW0 - SW3FF

9 SM Bit SM0 - SM2047 23 B (*1) Bit B0 - BDFFF

24 W (*1) Word W0 - W2FFF

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1146IB-1501278-Q

[C80 series]

The unit indicates the amount of data per device No. "Word" is 16 bits, and "Bit" is one bit.

(*1) Device of which the device number is indicated in hexadecimal notation.

(*2) The device marked by an asterisk (*) in the Device column has the determined use; therefore, do not use

the undefined device number even for a vacant device.

The device to be read in is designated by substituting the device No. in this system variable.

Convert a device expressed as a hexadecimal into a decimal when designating.

If the data is read without designating this number, the data will be read in the same manner as when the minimum

device No. (0) is designated. Once designated, the setting is held until the device No. is designated again or until it

is reset.

A program error (P39) will occur if a nonexistent device No. is set.

(1) System variable for number of bytes designation

The reading size is designated by substituting the number of bytes designation value in this system variable. If the data is read without designating this number, the data will be read in the same manner as when the mini- mum device designation value (0: M device) is designated. Once designated, the setting is held until the number of bytes is designated again or until it is reset. A program error (P39) will occur if a number of bytes that does not exist in the specifications is set.

(2) Number of bytes designation value

0 to 4 are designated without a sign, and 101 to 104 are designated with a sign.

Device designa-

tion value

Device Unit Device No. Device designa- tion value

Device Unit Device No.

0 M Bit M0 - M61439 10 F Bit F0 - F2047

1 D Word D0 - D8191 13 L Bit L0 - L1023

2 C Bit C0 - C511 18 V Bit V0 - V511

4 X (*1) (*2) Bit X0 - X1FFF 19 ST Bit ST0 - STI27

5 Y (*1) (*2) Bit Y0 - Y1FFF 20 SD Word SD0 - SD4095

6 R (*2) Word R0 - R32767 21 SB (*1) Bit SB0 - SB3FF

7 T Bit T0 - T2047 22 SW (*1) Word SW0 - SW1023

9 SM (*2) Bit SM0 - SM4095 23 B (*1) Bit B0 - BDFFF

24 W (*1) Word W0 - W2FFF

Device No. designation (#100101)

Number of bytes designation (#100102)

Number of bytes des- ignation

value

Read in data Operation

Size Sign Range Word device Bit device

0 1 bit - 0 to 1 The number of bits des- ignated is read in.

The bits for the designated device No. are read in.

1 1 bytes No 0 to 255 The low-order byte is read in.

8 bits are read in from the desig- nated device No.101 Yes -128 to 127

2 2 bytes No 0 to 65535 Two bytes are read in. 16 bits are read in from the desig- nated device No.102 Yes -32768 to 32767

4 4 bytes No 0 to 4294967295 The designated device (L) and next device (H) are read in.

32 bits are read in from the desig- nated device No.104 Yes -2147483648 to

2147483647

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1147 IB-1501278-Q

(1) System variable for bit designation

The bit to be read in is designated by substituting the bit designation value in this system variable. This designation is valid only when reading the bits for a 16-bit device, and is invalid for the others. If the data is read without designating this number, the data will be read in the same manner as if the minimum bit designation value (0: bit 0) is designated. Once designated, the setting is held until the bit is designated again or until it is reset. A program error (P39) will occur if a nonexistent bit is set.

(2) Bit designation value

The data for the designated device is read in with this system variable.

Refer to the table for number of bytes designation for details on the range of data read in.

Bit designation (#100103)

Bit designation value Read in bit

0 Bit 0

1 Bit 1

: :

15 Bit 15

Reading PLC data (#100110)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1148IB-1501278-Q

(1) To read a bit device

(2) To read a word device

(1) As the PLC data is read asynchronously from the ladder execution, the data is not necessarily the one which was gained when the program was executed. Be careful when reading devices which are changing.

(2) If reading of a nonexistent device is attempted by designating the device No. and number of bytes, the 0 value will be read in only for the nonexistent section.

(3) When "1" is set to the parameter "#1316 CrossCom", #100100 to #100110 cannot be used as system variables to read PLC data.

Program example

#100100 = 0; Designates [M device].

#100101 = 0; Designates [Device No. 0].

#100102 = 0; Designates [Bit].

#100 = #100110; Reads M0 (one bit).

#100102 = 1; Designates [1 byte].

#101 = #100110; Reads M0 to M7 (8 bits). (If M7 to M0 is 0001 0010, this will be #101 = 18 (0x12).)

#100102 = 102; Designates [Signed two bytes].

#102 = #100110; Reads M0 to M15 (16 bits). (If M15 to M0 is 1111 1110 1101 1100, this will be #102 = -292 (0xFEDC).)

#100102 = 4; Designates [4 byte].

#104 = #100110; Reads M0 to M31 (32 bits). (If M31 to M0 is 0001 0010 0011 0100 0101 0110 0111 1000, #104 = 305419896 (0x12345678).)

#100100 = 1; Designates [D device].

#100101 = 0; Designates [Device No. 0].

#100102 = 0; Designates [Bit].

#100103 = 1; Designates [Bit 1].

#100 = #100110; Reads the D0 bit 1. (If D0 = 0x0102, #100 =1.)

#100102 = 1; Designates [1 byte].

#101 = #100110; Reads the low-order byte of D0. (If D0 = 0x0102, #101 =2.)

#100102 = 2; Designates [2 byte].

#102 = #100110; Reads D0. (If D0 = 0x0102, #102 =258.)

#100102 = 104; Designates [Signed four bytes].

#104 = #100110; Reads D0 and D1. (If D0 = 0xFFFE and D1 = 0xFFFF, #104 =-2.)

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1149 IB-1501278-Q

23.30 System Variables (Interfering Object Selection)

Select 16 interfering objects to use in the interference check III with system variables or R register.

Refer to the "PLC Interface Manual" for the R register.

When selecting an interfering object, specify the specification of the selected interfering object and interfering model

coordinate system offset 1.

The write command to the system variables (#40000 to #40097) is possible only in the machine tool builder macro

programs (O100010000 to O199999998).

Detailed description

System variable

R register Item Details Setting range (unit)

Upper: System variable

Lower: R register

#40000 R20304 Interfering object en- able/disable designation

Set enable/disable for each interfer- ing object.

0 to 65535 (decimal)

Bit designation (0: enable 1: dis- able)

bit0: Disable 1st interfering object 0x0000 to 0xFFFF (hexa- decimal):

bitF: Disable 16th interfering object

#40001 R20305 preliminary 0

0

#40002 R20306 1st interfering object se- lection

Select interfering object definition No. to use.

0 to 128 (0: not selected)

0 to 128 (0: not selected)

#40003 R20307 1st interfering object specification

In the configured solid specification of the interfering object definition, specify alarm area/warning area/ solid setting invalid of the solid in which switching method is selected.

0 to 3

0, 1: Alarm area 0 to 3

2: Warning area

3: Solid setting invalid

#40004 R20308 (L) 1st interfering model co- ordinate system I axis offset 1

Set the interfering model coordinate system offset with a radius value. (I axis direction) (*1)

-99999.999 to 99999.999 (mm) (radius value) R20309 (H)

#40005 R20310 (L) 1st interfering model co- ordinate system J axis offset 1

Set the interfering model coordinate system offset with a radius value. (J axis direction) (*1)

R20311 (H) -99999999 to 99999999 (m) (radius value)

#40006 R20312 (L) 1st interfering model co- ordinate system K axis offset 1

Set the interfering model coordinate system offset with a radius value. (K axis direction) (*1)

R20313 (H)

: :

#40077 R20426 16th interfering object selection

Same as above Same as above

#40078 R20427 16th interfering object specification selection

Same as above Same as above

#40079 R20428 (L) 16th interfering model coordinate system I axis offset 1

Same as above Same as above

R20429 (H)

#40080 R20430 (L) 16th interfering model coordinate system J axis offset 1

Same as above Same as above

R20431 (H)

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1150IB-1501278-Q

(*1) The interfering model coordinate system offset is the sum of the interfering model coordinate system offsets 1

and 2.

(Example) In the case that you do not check the interference between the 1st interfering object and the 2nd interfer-

ing object

"R20434 (#40082): 0x0002 (disable 2nd interfering object)" or "R20435 (#40083): 0x0001 (disable 1st interfering

object)"

Since each interfering object is designated to perform the interference check, the setting of the interference check

III specifying disabled interference object is repeated, but if either one is on disabled setting, the interference check

is not performed.

#40081 R20432 (L) 16th interfering model coordinate system K axis offset 1

Same as above Same as above

R20433 (H)

#40082 R20434 1st interfering object Interference check III: Specifying disabled in- terfering object

Select an interfering object that you do not check the interference with the 1st interfering object. bit0: Disable 1st interfering object (inaction data) bit1: Disable 2nd interfering object : bitF: Disable 16th interfering object

0 to 65535 (decimal)

0x0000 to 0xFFFF (hexa- decimal)

#40083 R204325 2nd interfering object Interference check III: Specifying disabled in- terfering object

Select an interfering object that you do not check the interference with the 2nd interfering object. bit0: Disable 1st interfering object bit1: Disable 2nd interfering object (inaction data) : bitF: Disable 16th interfering object

0 to 65535 (decimal)

0x0000 to 0xFFFF (hexa- decimal)

: :

#40097 R20449 16th interfering object Interference check III: Specifying disabled in- terfering object

Select an interfering object that you do not check the interference with the 16th interfering object. bit0: Disable 1st interfering object bit1: Disable 2nd interfering object : bitF: Disable 16th interfering object (inaction data)

0 to 65535 (decimal)

0x0000 to 0xFFFF (hexa- decimal)

Interference check III: Specifying disabled interfering object

Back side of spindle part (without a workpiece)

Back side of spindle part (with a workpiece)

1st interfering object (back side of spindle part) 1st interfering object

(back side of spindle part) 2nd interfering object (workpiece part)

By specifying the interference III disabled between the back side of spindle part (1st interfering object) and workpiece part (2nd interfering object), these 2 parts are treated as one interfering object.

System variable

R register Item Details Setting range (unit)

Upper: System variable

Lower: R register

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1151 IB-1501278-Q

(1) When the interfering object selection is input with the system variables, the system variable in which the com- mand range integer is set in R register with the value after the decimal point being ignored. (a) When any value out of the setting range is input in #40000 to #40097, the low-order 16 bits of the input value are set in R register. (b) When "#0" is input in #40000 to #40097, "0" is set in R register.

(2) If you have made a write command to the system variable (#40000 to #40097) in a program except for the ma- chine tool builder macro program, the program error (P241) occurs.

Precautions

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1152IB-1501278-Q

23.31 System Variables (ZR Device Access Variables) [C80]

System variables that can read and write data from and to the ZR device are provided by 2,250 sets (#50000 to

#52749).

Data can be read and written between the NC machining program and RnCPU sequence program by using the ZR

device as shown below.

How to handle the ZR device in the RnCPU sequence program depends on the MTB specifications.

Refer to the "PLC Interface Manual" for the DDWR/DDRD command.

The table below shows a list of variables specific to C80.

A ZR device access variable is based on long-type data, and a ZR device on word-type data.

Therefore, when this variable is read or a value is substituted to this variable, it reads and writes two words of the

ZR device. The correspondence between the ZR device access variable numbers and ZR device numbers is shown

below.

(*1) The data of ZR devices are also allocated to the following R devices.

Detailed description

RnCPU C80

Sequence program ZR device NC machining program

Number of variable sets

Variable No. (2,250 sets) Corresponding ZR device (4,500 units) (*1)

#50000 - #50749 #50000 ZR50000, ZR50001

#50001 ZR50002, ZR50003

#50002 ZR50004, ZR50005

: :

#50000+n ZR50000+2n, ZR50000+2n+1

: :

#50749 ZR51498, ZR51499

#51000 - #51749 #51000 ZR52000, ZR52001

: :

#51749 ZR53498, ZR53499

#52000 - #52749 #52000 ZR54000, ZR54001

: :

#52749 ZR55498, ZR55499

ZR device R device

ZR50000 - ZR51499 R8300 - R9799

ZR51000 - ZR53499 R18300 - R19799

ZR54000 - ZR55499 R28300 - R29799

ZR50000 ZR50001 ZR50002 ZR50003

: ZR55498 ZR55499

G00 X#50000 Y#50001 ; G01 Z-100. F1000 ; : G31 Z-150. F100 ; #52749 = #5063 ; M30 ;

M(P).DDWR

M(P).DDRD

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1153 IB-1501278-Q

(1) The data range of these variables is -2147483648 to 2147483647.

(2) The ZR device is backed up even when the power is turned OFF; therefore, the value is maintained after the power has been turned ON again.

(3) Whether this variable is used with the decimal point invalid or valid can be selected for each user backup area according to the MTB specifications (parameter "#6455 bit0 -bit2").

(4) When "decimal point valid" is selected, the position of the decimal point depends on the MTB specifications (pa- rameters "#1003 iunit" (input setting unit) and "#1041 I_inch" (initial inch)). Therefore, to set a numeric value to a ZR device, consider the position of the decimal point according to these parameters. The table below shows the number of digits that is valid after the decimal point.

(5) When the data is read from or written to the system variables #50000 to #52479 by the machining program com- mand, the machining program is performed block by block. This allows the ZR registers and variables to be syn- chronized, allowing data to be passed quickly to the sequence program. However, the operation can be switched to the batch processing with other macro statements by setting the pa- rameter "#1701 cfg01/bit3" to "1".

#1041 I_inch #1003 iunit

B C D E

Metric 3 digits 4 digits 5 digits 6 digits

Inch 4 digits 5 digits 6 digits 7 digits

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1154IB-1501278-Q

23.32 System Variables (NC Data Reading/Writing with API Section and

Sub-section Nos. Input/Output by Program) [M8]

Use system variables to designate the section No., sub-section No., part system No., and axis No.; you can read

and write data in the NC.

(1) A program error (P35) occurs in the following cases:

The section No. is invalid. The sub-section No. is invalid. The part system No. is invalid. The axis No. is invalid.

(2) A program error (P243) occurs in the following cases:

The read command is issued to the write-only variable. The write command is issued to the read-only variable. The write command is issued when data writing is not possible.

Variable No.

Item Value Description

#100050 NC data Signed 4-byte data value

At reading: Reads the data values corresponding to var- ious numbers shown below.

At writing: Sets the designated value as the NC data val- ue.

#100051 Section No. Integer value Designate the data type.

#100052 Sub-section No. Integer value Designate data.

#100053 Part system No. 0 to 8 Designate the part system No. If the part system No. is omitted, the system runs as the self part system. No part system needs to be designated for data if one is not required.

#100054 Axis No. 0 to 32 Designate the axis No. If the axis No. is omitted, the system runs using a single axis. No axis needs to be designated for data if one is not required.

#100051=127; #100052=2070; #100053=1; #100054=2; #100=#100050; : #100050=999; :

Configure the following items.

Section No.

Sub section No.

Part system No.

Axis No.

Refer to the NC data value corresponding to the set

item.

Update the NC data value corresponding to the set

item.

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1155 IB-1501278-Q

(1) When referencing NC data

The section No., sub-section No., part system No., and axis No. can be designated in random order. When these values have already been designated in the previous operation, they can be omitted. However, designate them before reading NC data.

(2) When updating NC data

The section No., sub-section No., part system No., and axis No. can be designated in random order. When these values have already been designated in the previous operation, they can be omitted. However, designate them before writing NC data.

Use examples

Setting Left-side value Right-side value

#100051=127 ; Section No. designation Axis parameter

#100052=2070 ; Sub-section No. designation Number of rotary axis division

#100053=1 ; Part system No. designation 1st part system

#100054=2 ; Axis No. designation 2nd axis

#100=#100050 ; NC data reference

#100053=2 ; Part system No. designation 2nd part system

#101=#100050 ; NC data reference

#100053=3 ; Part system No. designation 3rd part system

#102=#100050 ; NC data reference

#100053=4 ; Part system No. designation 4th part system

#103=#100050 ; NC data reference

Setting Left-side value Right-side value

#100051=127 ; Section No. designation Axis parameter

#100052=2070 ; Sub-section No. designation Number of rotary axis division

#100053=1 ; Part system No. designation 1st part system

#100054=1 ; Axis No. designation 1st axis

#100050=999 ; NC data update Designate the maximum value in the range of 0 to 999.

#100054=2 ; Axis No. designation 2nd axis

#100050=500 ; NC data update Designate "500" in the range of 0 to 999.

#100054=3 ; Axis No. designation 3rd axis

#100050=10 ; NC data update Designate "10" in the range of 0 to 999.

Note

Note

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

23 System Variables

1156IB-1501278-Q

(3) When assigning the part system No. and axis No. to variables

(1) NC data is read and written by accessing "#100050" for reading/writing. Therefore, designate the section No., sub-section No., part system No., and axis No. before accessing "#100050".

(2) "#100051" to "#100054" (section No., sub-section No., part system No., and axis No.) are cleared by NC reset 1 or Reset & rewind. After NC reset 1 or Reset & rewind was commanded, designate those numbers again.

(3) It is prohibited to pre-read "#100050" to "#100054".

(4) When the system runs with a graphic check (background or foreground), writing is not performed.

(5) If NC data reading or writing fails, buffer correction cannot be performed.

Setting Left-side value Right-side value

#100051=127 ; Section No. designation Axis parameter

#100052=2070 ; Sub-section No. designation Number of rotary axis division

#100=8 ; Maximum value of part system No.

#101=5 ; Maximum value of axis No.

#102=#101 ; Retains the maximum value of the axis No.

WHILE[#100GT0]DO1 ; Repeats processing by a number of times equivalent to the part system No. (repeats processing of 1 to 8 part sys- tems).

WHILE[#101GT0]DO2 ; Repeats processing by a number of times equivalent to the axis No. (re- peats processing of 1 to 5 axes).

#100053=#100 ; Part system No. designation

#100054=#101 ; Axis No. designation

#103=#100050 ; NC data reference

#103=#103-2 ; Changes the NC data value to a value that is 2 lower than the current value.

#100050=#103 ; NC data update

#101=#101-1 ; Subtracts the axis No.

END2 Ends repeat processing by a number of times equivalent to the axis No.

#101=#102 ; Returns the axis No. to the initial set- ting value.

#100=#100-1 ; Subtracts the axis No.

END1 Ends repeat processing by a number of times equivalent to the part system No.

Precautions

24

1157 IB-1501278-Q

Appx.1: Fixed Cycles

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

24 Appx.1: Fixed Cycles

1158IB-1501278-Q

24Appx.1: Fixed Cycles [G81 (O100000810) Drill, spot drill] [G84 (O100000840) Tap cycle]

G.1 ; G.1 ;

IF[#30] GOTO1 ; IF[#30] GOTO9 ;

Z#2 G#6 H#7 ; Z#2 G#6 H#7 ;

#2=##5#3003=#8 OR1 ; #2=##5#3003=#8 OR1#3004=#9 OR3 ;

G1 Z#3 ; IF[#11] GOTO1 ;

IF[#4 EQ#0] GOTO2 ; GOTO2 ;

G4 P#4 ; N1 ;

N2 ; IF[#14] GOTO5 ;

#3003=#8 ; N2 G1 Z#3 ;

G0 Z-#3-#2, I#23 ; GOTO7 ;

N1 M99 ; N5 ;

#29=0#28=#11 ;

[G82 (O100000820) Drill, counter boring] DO1 ;

G.1 ; #29=#29+#11 ;

IF[#30] GOTO1 ; IF[ ABS[#29] GE[ ABS[#3]]] GOTO6 ;

Z#2 G#6 H#7 ; G1 Z#28 ;

#2=##5#3003=#8 OR1 ; M#53 ;

G1 Z#3 ; G1 Z-#14 ;

G4 P#4 ; M#54 ;

#3003=#8 ; #28=#11+#14 ;

G0 Z-#3-#2, I#23 ; END1 ;

N1 M99 ; N6 G1 Z#3-#29+#28 ;

N7 G4 P#4 ;

[G83 (O100000830) Deep hole drill cycle] M#53 ;

G.1 ; #3900=1 ;

IF[#30] GOTO2 ; G1 Z-#3 ;

#29=#11#28=0 ; #3004=#9 ;

Z#2 G#6 H#7 ; G4 P#56 ;

#2=##5#3003=#8 OR1 ; M#54 ;

DO1 ; #3003=#8 ;

#28=#28-#11#26=-#28-#29 ; G0 Z-#2, I#23 ;

Z#26 ; N9 M99 ;

IF[ ABS[#28] GE[ ABS[#3]]] GOTO1 ;

G1 Z#29 ;

G0 Z#28 ;

#29=#11+#14 ;

END1 ;

N1 G1 Z#3-#26 ;

IF[#4 EQ#0] GOTO3 ;

G4 P#4 ;

N3 ;

#3003=#8 ;

G0 Z-#3-#2, I#23 ;

N2 M99 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

24 Appx.1: Fixed Cycles

1159 IB-1501278-Q

[G85 (O100000850) Boring 1] [G88 (O100000880) Boring 3]

G.1 ; G.1 ;

IF[#30] GOTO1 ; IF[#30] GOTO1 ;

Z#2 G#6 H#7 ; Z#2 G#6 H#7 ;

#2=##5#3003=#8 OR1 ; #2=##5#3003=#8 OR1 ;

G1 Z#3 ; G1 Z#3 ;

IF[#4 EQ#0] GOTO2 ; G4 P#4 ;

G4 P#4 ; #3003=#8 ;

N2 ; M5 ;

#3003=#8 ; #3003=#8 OR1 ;

Z-#3 ; G0 Z-#3-#2 ;

G0 Z-#2, I#23 ; #3003=#8 ;

N1 M99 ; M3 ;

N1 M99 ;

[G86 (O100000860) Boring 2]

G.1 ; [G89 (O100000890) Boring 4]

IF[#30] GOTO1 ; G.1 ;

Z#2 G#6 H#7 ; IF[#30] GOTO1 ;

#2=##5#3003=#8 OR1 ; Z#2 G#6 H#7 ;

G1 Z#3 ; #2=##5#3003=#8 OR1 ;

G4 P#4 ; G1 Z#3 ;

M5 ; G4 P#4 ;

G0 Z-#3-#2 ; #3003=#8 ;

#3003=#8 ; Z-#3 ;

M3 ; G0 Z-#2, I#23 ;

N1 M99 ; N1 M99 ;

[G87 (O100000870) Back boring (*1)] [G73 (O100000831) Step cycle]

G.1 ; G.1 ;

IF[#30] GOTO1 ; IF[#30] GOTO2 ;

#3003=#8 OR1 ; #29=0#28=#11 ;

M19 ; Z#2 G#6 H#7 ;

X#12 Y#13 ; #2=##5#3003=#8 OR1 ;

#3003=#8 ; DO1 ;

Z#2 G#6 H#7 ; #29=#29+#11 ;

#3003=#8 OR1 ; IF[ ABS[#29] GE[ ABS[#3]]] GOTO1 ;

#3906=1; G1 Z#28 ;

G#26 X-#12 Y-#13; G4 P#4 ;

#3003=#8 ; G0 Z-#14 ;

M3 ; #28=#11+#14 ;

#3003=#8 OR1 ; END1 ;

G1 Z#3; N1 G1 Z#3-#29+#28 ;

M19 ; G4 P#4 ;

G0 X#12 Y#13 ; #3003=#8 ;

G1 Z#3; G0 Z-#3-#2, I#23 ;

#3003=#8 ; N2 M99 ;

X-#12 Y-#13 ;

M3 ;

N1 M99 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

24 Appx.1: Fixed Cycles

1160IB-1501278-Q

[G74 (O100000841) Reverse tap cycle] [G75 (O100000851) Circle cutting cycle]

G.1 ; G.1 ;

IF[#30] GOTO9 ; IF[#30] GOTO1 ;

Z#2 G#6 H#7 ; #28=#18 ;

#2=##5#3003=#8 OR1#3004=#9 OR3 ; IF[#28 GE0] GOTO2 ;

IF[#11] GOTO1 ; #27=3#28=-#28 ;

GOTO2 ; GOTO3 ;

N1 ; N2#27=2 ;

IF[#14] GOTO5 ; N3#26=#4 ;

N2 G1 Z#3 ; IF[#26 GE#28] GOTO1 ;

GOTO7 ; Z#2 G#6 H#7 ;

N5 ; #2=##5#3003=#8 OR1 ;

#29=0#28=#11 ; G1 Z#3 ;

DO1 ; #28=#28-#26#29=#28/2 ;

#29=#29+#11 ; G#27 X-#28 I-#29 ;

IF[ ABS[#29] GE[ ABS[#3]]] GOTO6 ; I#28 P1 ;

G1 Z#28 ; X#28 I#29 ;

M#53 ; #3003=#8 ;

G1 Z-#14 ; G0 Z-#3-#2, I#23 ;

M#54 ; N1 M99 ;

#28=#11+#14 ;

END1 ; [G76 (O100000861) Fine boring (*1)]

N6 G1 Z#3-#29+#28 ; G.1 ;

N7 G4 P#4 ; IF[#30] GOTO1 ;

M#53 ; Z#2 G#6 H#7 ;

#3900=1 ; #2=##5#3003=#8 OR1 ;

G1 Z-#3 ; G1 Z#3 ;

#3004=#9 ; M19 ;

G4 P#56 ; #3906=1;

M#54 ; G#26 X#12 Y#13;

#3003=#8 ; G0 Z-#3-#2 ;

G0 Z-#2, I#23 ; #3003=#8 ;

N9 M99 ; X-#12 Y-#13 ;

M3 ;

N1 M99 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

24 Appx.1: Fixed Cycles

1161 IB-1501278-Q

[G84.5 (O745) Punchtap cycle (PT1.0)] [G84.8 (O748) Punchtap cycle (PT2.0)]

G.1 ; G.1 ;

IF[#30] GOTO9 ; IF[#30] GOTO9 ;

Z#2 G#6 H#7 ; Z#2 G#6 H#7 ;

#2=##5 ; #2=##5 ;

#3003=#8OR1 ; #3003=#8OR1 ;

#3004=#9OR3 ; #3004=#9OR3 ;

G1 Z#3 ; G1 Z#3 ;

IF[[#4EQ0] OR [#4EQ#0]] GOTO1 ; IF[[#4EQ0] OR [#4EQ#0]] GOTO1 ;

G4 P#4 ; G4 P#4 ;

N1 G1 Z#29 ; N1 G1 Z#29 ;

G1 Z#28 ; G1 Z#28 ;

#3900=1 ; #27=#29+#28-#26 ;

#27=#29+#28 ; G1 Z-#27 ;

#27=#3+#27 ; G1 Z#27 ;

G1 Z-#27 ; G1 Z-#28 ;

#3004=#9 ; #3900=1 ;

G4 P#4 ; #27=#3+#29 ;

#3003=#8 ; G1 Z-#27 ;

G0 Z-#2, I#23 ; #3004=#9 ;

N9 M99 ; G4 P#4 ;

#3003=#8 ;

[G84.6 (O746) Punchtap cycle (PT1.5)] G0 Z-#2, I#23 ;

G.1 ; N9 M99 ;

IF[#30] GOTO9 ;

Z#2 G#6 H#7 ;

#2=##5 ;

#3003=#8OR1 ;

#3004=#9OR3 ;

G1 Z#3 ;

IF[[#4EQ0] OR [#4EQ#0]] GOTO1 ;

G4 P#4 ;

N1 G1 Z#29 ;

G1 Z#28 ;

#27=#29+#28-#26 ;

G1 Z-#27 ;

#3900=1 ;

#27=#3+#26 ;

G1 Z-#27 ;

#3004=#9 ;

G4 P#4 ;

#3003=#8 ;

G0 Z-#2, I#23 ;

N9 M99 ;

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

24 Appx.1: Fixed Cycles

1162IB-1501278-Q

(*1) The machining programs described in this manual can be used when the specifications are enabled, which the

tool moves with rapid traverse by the shift amount.

Since the system must be upgraded to the S/W version C4 of M800 Series/M80 Series or later and then the

fixed cycles must be replaced, contact the MTB to use this function.

[Precautions for MTB]

The G.1 command is used to realize the fixed cycle operation. Therefore, do not edit the blocks before the G.1 command such as deleting or inserting another command before the G.1 command. The fixed cycle program uses modal information of group 01 dedicated for the fixed cycle program so that the

modal of the main program that called the fixed cycle program is not affected. Therefore, there is no need to edit the fixed cycle program based on the modal when returning to the main program. In the fixed cycle pro- gram, the modal of group 01 is set to G00 after the G.1 command is executed.

25

1163 IB-1501278-Q

Appx.2: Command Value Range Lists

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

25 Appx.2: Command Value Range Lists

1164IB-1501278-Q

25Appx.2: Command Value Range Lists

(1) Linear axis: Input unit [mm] (M system)

Input setting unit 0.001 0.0001 0.00001 0.000001

Max. stroke (Value in machine coordinate system)

99999.999 mm 99999.9999 mm 99999.99999 mm 99999.999999 mm

Max. command value 99999.999 mm 99999.9999 mm 99999.99999 mm 99999.999999 mm

Rapid traverse rate (in- cluding the rate at dry running)

1 to 1000000 mm/min 1 to 1000000 mm/min 1 to 1000000 mm/min 1 to 1000000 mm/min

Cutting feedrate (in- cluding the rate at dry running) Asynchronous feed (feed per minute)

0.001 to 1000000.000 mm/min

0.0001 to 1000000.0000 mm/min

0.00001 to 1000000.00000 mm/ min

0.000001 to 1000000.000000 mm/ min

Synchronous feed (feed per revolution)

0.001 to 999.999 mm/ rev

0.0001 to 999.9999 mm/rev

0.00001 to 999.99999 mm/rev

0.000001 to 999.999999 mm/rev

2nd to 4th reference position offset (Value in machine coordinate system)

99999.999 mm 99999.9999 mm 99999.99999 mm 99999.999999 mm

Tool compensation amount (Shape)

99999.999 mm 99999.9999 mm 99999.99999 mm 99999.999999 mm

Tool compensation amount (Wear)

99999.999 mm 99999.9999 mm 99999.99999 mm 99999.999999 mm

Incremental feed amount

0.001 mm/pulse 0.0001 mm/pulse 0.00001 mm/pulse 0.000001 mm/pulse

Handle feed amount 0.001 mm/pulse 0.0001 mm/pulse 0.00001 mm/pulse 0.000001 mm/pulse

Soft limit range (Value in machine coordinate system)

99999.999 mm 99999.9999 mm 99999.99999 mm 99999.999999 mm

Dwell time 0 to 99999.999 s 0 to 99999.9999 s 0 to 99999.99999 s 0 to 99999.999999 s

Backlash compensa- tion amount

9999999 pulse 9999999 pulse 9999999 pulse 9999999 pulse

Pitch error compensa- tion amount

-32768 to 32767 pulse -32768 to 32767 pulse -32768 to 32767 pulse -32768 to 32767 pulse

Thread lead (F) 0.001 to 999.999 mm/ rev

0.0001 to 999.9999 mm/rev

0.00001 to 999.99999 mm/rev

0.000001 to 999.999999 mm/rev

Thread lead (Precision E)

0.0001 to 999.9999 mm/rev

0.00001 to 999.99999 mm/rev

0.000001 to 999.999999 mm/rev

0.0000001 to 999.9999999 mm/rev

Thread lead (Threads/ inch)

0.03 to 999.99 0.026 to 222807.017 0.0255 to 224580.0000 0.02541 to 224719.00000

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

25 Appx.2: Command Value Range Lists

1165 IB-1501278-Q

(2) Linear axis: Input unit [inch] (M system)

Input setting unit 0.0001 0.00001 0.000001 0.0000001

Max. stroke (Value in machine coordinate system)

9999.9999 inch 9999.99999 inch 9999.999999 inch 9999.9999999 inch

Max. command value 9999.9999 inch 9999.99999 inch 9999.999999 inch 9999.9999999 inch

Rapid traverse rate (in- cluding the rate at dry running)

1 to 100000 inch/min 1 to 100000 inch/min 1 to 100000 inch/min 1 to 100000 inch/min

Cutting feedrate (in- cluding the rate at dry running) Asynchronous feed (feed per minute)

0.0001 to 100000.0000 inch/min

0.00001 to 100000.00000 inch/min

0.000001 to 100000.000000 inch/ min

0.0000001 to 100000.0000000 inch/ min

Synchronous feed (feed per revolution)

0.0001 to 999.9999 inch/rev

0.00001 to 999.99999 inch/rev

0.000001 to 999.999999 inch/rev

0.0000001 to 999.9999999 inch/rev

2nd to 4th reference position offset (Value in machine coordinate system)

9999.9999 inch 9999.99999 inch 9999.999999 inch 9999.9999999 inch

Tool compensation amount (Shape)

9999.9999 inch 9999.99999 inch 9999.999999 inch 9999.9999999 inch

Tool compensation amount (Wear)

9999.9999 inch 9999.99999 inch 9999.999999 inch 9999.9999999 inch

Incremental feed amount

0.0001 inch/pulse 0.00001 inch/pulse 0.000001 inch/pulse 0.0000001 inch/pulse

Handle feed amount 0.0001 inch/pulse 0.00001 inch/pulse 0.000001 inch/pulse 0.0000001 inch/pulse

Soft limit range (Value in machine coordinate system)

9999.9999 inch 9999.99999 inch 9999.999999 inch 9999.9999999 inch

Dwell time 0 to 99999.999 s 0 to 99999.9999 s 0 to 99999.99999 s 0 to 99999.999999 s

Backlash compensa- tion amount

9999999 pulse 9999999 pulse 9999999 pulse 9999999 pulse

Pitch error compensa- tion amount

-32768 to 32767 pulse -32768 to 32767 pulse -32768 to 32767 pulse -32768 to 32767 pulse

Thread lead (F) 0.0001 to 39.3700 inch/ rev

0.00001 to 39.37007 inch/rev

0.000001 to 39.370078 inch/rev

0.0000001 to 39.3700787 inch/rev

Thread lead (Precision E)

0.00001 to 39.37007 inch/rev

0.000001 to 39.370078 inch/rev

0.0000001 to 39.3700787 inch/rev

0.00000001 to 39.37007873 inch/rev

Thread lead (Threads/ inch)

0.025 to 9999.999 0.0255 to 9999.9999 0.02541 to 9999.99999 0.025401 to 9999.999999

M800/M80/E80/C80 Series Programming Manual (Machining Center System) (2/2)

25 Appx.2: Command Value Range Lists

1166IB-1501278-Q

(3) Rotary axis: Degree [] (M system)

Input setting unit 0.001 0.0001 0.00001 0.000001

Max. stroke (Value in machine coordinate sys- tem)

99999.999 99999.9999 99999.99999 99999.999999

Max. command value 99999.999 99999.9999 99999.99999 99999.999999

Rapid traverse rate (in- cluding the rate at dry running)

1 to 1000000 /min 1 to 1000000 /min 1 to 1000000 /min 1 to 1000000 /min

Cutting feedrate (includ- ing the rate at dry run- ning) Asynchronous feed (feed per minute)

0.001 to 1000000.000 /min

0.0001 to 1000000.0000 /min

0.00001 to 1000000.00000 /min

0.000001 to 1000000.000000/min

Synchronous feed (feed per revolution)

0.001 to 999.999 /rev 0.0001 to 999.9999 / rev

0.00001 to 999.99999 /rev

0.000001 to 999.999999 /rev

2nd to 4th reference po- sition offset (Value in machine coordinate sys- tem)

99999.999 99999.9999 99999.99999 99999.999999

Incremental feed amount

0.001 /pulse 0.0001 /pulse 0.00001 /pulse 0.000001 /pulse

Handle feed amount 0.001 /pulse 0.0001 /pulse 0.00001 /pulse 0.000001 /pulse

Soft limit range (Value in machine coordinate sys- tem)

99999.999 99999.9999 99999.99999 99999.999999

Backlash compensation amount

9999999 pulse 9999999 pulse 9999999 pulse 9999999 pulse

Pitch error compensa- tion amount

-32768 to 32767 pulse -32768 to 32767 pulse -32768 to 32767 pulse -32768 to 32767 pulse

Index

Refer to Programming Manual (Machining Center System) (1/2) for Chapter 14 and previous chapters (page 524 and before).

Refer to Programming Manual (Machining Center System) (2/2) for Chapter 15 and succeeding chapters (page 525 and later).

Symbols / ....................................................................................... 17 /n ..................................................................................... 19

Numerics 2nd Miscellaneous Functions (A8-digits, B8-digits or C8-digits) ....................................................................... 236 2nd, 3rd, and 4th Reference Position (Zero Point) Return ... 1041 3-dimensional Circular Interpolation .............................. 112 3-dimensional Coordinate Conversion .......................... 989 3-dimensional Tool Radius Compensation .................... 338 3-dimensional Tool Radius Compensation (Tool's Vertical-direction Compensation) ....................... 916

A Acceleration/Deceleration Mode Change in The Fixed Cycle for Drilling ............................................................ 427 Actual Examples of Using User Macros ........................ 510 Allocation of the Number of Tool Life Management Sets to Part Systems ................................................................. 603 Arbitrary Axis Exchange ................................................ 648 Arc ................................................................................. 432 ASCII Code Macro ........................................................ 482 Automatic Coordinate System Setting ........................... 951 Automatic Corner Override .................................... 216, 223 Automatic Tool Length Measurement .......................... 1060 Axis Name Extension .................................................... 609 Axis-based Unidirectional Positioning ............................. 75

B Back Boring ................................................................... 388 Basic Machine Coordinate System Selection ................ 955 Basic Machine, Workpiece and Local Coordinate Systems ... 949 Bolt Hole Cycle .............................................................. 430 Boring .................................................... 386, 387, 392, 393

C Changing of Compensation No. during Compensation Mode ............................................................................. 316 Circular Cutting ........................................................ 84, 398 Circular Interpolation ....................................................... 51 Command Value Range Lists ...................................... 1164 Common Variables ........................................................ 488 Compensation Data Input by Program (Tool Compensation Amount) ......................................................................... 580 Compensation Data Input by Program (Turning Tool) .... 587 Compensation Data Input by Program (Workpiece Offset Amount) ......................................................................... 583 Constant Lead Thread Cutting ........................................ 62 Constant Surface Speed Control ................................... 245 Control Commands ....................................................... 498 Coordinate Rotation by Program ................................. 1007 Coordinate Rotation Input by Parameter ..................... 1016 Coordinate System for Rotary Axis ............................... 952 Coordinate System Setting ............................................ 958 Coordinate Systems and Coordinate Zero Point Symbols .... 3 Coordinate Words and Control Axes ......................... 2, 948 Corner Chamfering Expansion/Corner Rounding Expansion .............................................................. 530, 536 Corner Chamfering I ...................................................... 526 Corner Chamfering I / Corner Rounding I ...................... 526

Corner Chamfering II ..................................................... 533 Corner Chamfering II / Corner Rounding II .................... 533 Corner Rounding I ......................................................... 528 Corner Rounding II ........................................................ 535 Cutting Feed Constant-gradient Acceleration/Deceleration .... 178 Cutting Feedrate ............................................................ 145 Cutting Mode ................................................................. 226 Cutting Speed Clamp with Acceleration Rate Judgment .... 743 Cylindrical Interpolation ................................................... 76

D Deceleration Check ....................................................... 191 Deceleration Check when Movement in The Opposite Direction Is Reversed .................................................... 199 Decimal Point Input .......................................................... 37 Deep Hole Drilling Cycle ................................................ 366 Define by Selecting the Registered Machining Surface .... 886 Detailed Description for Macro Call Instruction .............. 476 Details of Inclined Surface Machining Operation ........... 897 Diameter Designation of Compensation Amount ........... 331 Diameter/Radius designation switch ................................ 32 Drilling Cycle High-Speed Retract ................................. 423 Drilling, Counter Boring .................................................. 365 Drilling, Spot Drilling ...................................................... 364 Dwell (Time-based designation) .................................... 228

E Enable Interfering Object Selection Data ..................... 1055 Exact Stop Check .......................................................... 186 Exact Stop Check Mode ................................................ 190 Exponential Interpolation ................................................. 94 External Output Commands .......................................... 504

F F1-Digit Feed ................................................................. 146 Face Cutting Cycle ........................................................ 443 Fairing ............................................................................ 733 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/Synchronous Feed) .............................................. 148 Feedrate Designation and Effects on Control Axes ....... 155 Figure Rotation .............................................................. 455 File Format ....................................................................... 14 Fine Boring .................................................................... 400 Fixed Cycle for Turning Machining ................................ 435 Fixed Cycles ........................................................ 360, 1158

G G Code Lists .................................................................... 21 G Code Macro Call ........................................................ 472 G Command Mirror Image ............................................. 548 G0.5 ............................................................................... 204 G0.5 P1 .......................................................................... 202 G00 .................................................................................. 46 G00 Feedrate Command (,F command) ........................ 141 G01 .................................................................................. 49 G01 A_ ........................................................................... 538 G01 A_ , G02/G03 P_Q_H_ .......................................... 543 G01 A_ , G02/G03 R_H_ ............................................... 546 G01 X_ Y_ ,C ................................................................. 526 G01 X_ Y_ ,R_ ............................................................... 528 G01 X_/Y_ A_/,A_ ......................................................... 537

G01/G02/G03 X_ Y_ ,C_ ............................................... 533 G01/G02/G03 X_ Y_ ,R_ ............................................... 535 G02, G03 ............................................................. 51, 57, 68 G02.1/G03.1 (Type 1), G02/G03 (Type 2) ..................... 108 G02.2/G03.2 .................................................................. 126 G02.3,G03.3 .................................................................... 94 G02.4, G03.4 ................................................................. 112 G02/G03 P_Q_ /R_ ....................................................... 541 G04 ................................................................................ 228 G05 P1, G05 P2 ............................................................ 672 G05.1 Q1/Q0, G05 P10000/P0, G05 P20000/P0 .......... 716 G05.1 Q2/Q0 ................................................................. 748 G06.2 ............................................................................. 118 G07 ................................................................................ 124 G07.1 ............................................................................... 76 G09 ................................................................................ 186 G10 I_ J_/K_ ............................................................... 1016 G10 L10/L11/L12/L13, G11 ........................................... 580 G10 L100, G11 .............................................................. 589 G10 L110/L111, G11, G68.2, G69 ................................ 592 G10 L12/L13, G11 ......................................................... 587 G10 L14 ....................................................................... 1082 G10 L2/L20, G11 ........................................................... 583 G10 L3, G11 .................................................................. 596 G10 L30, G11 ................................................................ 599 G10 L70, G11 ................................................................ 578 G10.9 ............................................................................... 32 G114.1 ........................................................................... 773 G114.2, G113.1 ............................................................. 790 G114.3/G113 ................................................................. 805 G115 .............................................................................. 635 G116 .............................................................................. 638 G12,G13 .......................................................................... 84 G12.1,G13.1/G112,G113 ................................................ 86 G120.1, G121 ................................................................ 767 G122 .............................................................................. 651 G127 .............................................................................. 572 G130 .............................................................................. 160 G140, G141, G142 ........................................................ 648 G16 ................................................................................ 101 G160 ............................................................................ 1078 G162/G163 .................................................................... 263 G17, G18, G19 ................................................................ 60 G174 .............................................................................. 436 G175 .............................................................................. 439 G176 .............................................................................. 443 G180 .............................................................................. 605 G186 ............................................................................ 1055 G187 .............................................................................. 402 G20, G21 ......................................................................... 35 G22/G23 ...................................................................... 1050 G26 ................................................................................ 615 G27 .............................................................................. 1047 G28,G29 ...................................................................... 1037 G30 .............................................................................. 1041 G30.1 - G30.6 .............................................................. 1044 G31 .............................................................................. 1064 G31 Fn ........................................................................ 1074 G31 P .......................................................................... 1072 G31.n, G04 .................................................................. 1070 G33 ............................................................................ 62, 66 G34 ................................................................................ 430 G35 ................................................................................ 431 G36 ................................................................................ 432 G37 .............................................................................. 1060 G37.1 ............................................................................. 433 G38, G39/G40/G41, G42 .............................................. 287

G40.1/G41.1/G42.1(G150/G151/G152) ......................... 552 G40/G41, G42 ............................................................... 338 G40/G41.2, G42.2 ......................................................... 916 G41/G42 Commands and I, J, K Designation ................ 307 G43, G44 / G49 ............................................................. 280 G43.1/G49 ..................................................................... 831 G43.4, G43.5/G49 ......................................................... 838 G43.7/G49 ..................................................................... 824 G45 to G48 .................................................................... 350 G50.1, G51.1 ................................................................. 548 G50/G51 ...................................................................... 1033 G51.2/G50.2 or G251/G250 .................................. 796, 801 G52 ................................................................................ 960 G53 ................................................................................ 955 G53.1/G53.6 .................................................................. 889 G54 to G59, G54.1 ........................................................ 964 G54.2 ............................................................................. 977 G54.4 ............................................................................. 927 G60 .................................................................................. 73 G61 ................................................................................ 190 G61.1,G08 ..................................................................... 681 G61.2 ............................................................................. 765 G61.4 ............................................................................. 756 G62 ................................................................................ 223 G63 ................................................................................ 225 G64 ................................................................................ 226 G65 ................................................................................ 464 G66 ................................................................................ 468 G66.1 ............................................................................. 470 G68.2, G68.3/G69 ......................................................... 874 G68/G69 .............................................................. 989, 1007 G73 ................................................................................ 394 G74 ................................................................................ 396 G75 ................................................................................ 398 G76 ................................................................................ 400 G81 ................................................................................ 364 G82 ................................................................................ 365 G83 ................................................................................ 366 G84 ................................................................................ 371 G85 ................................................................................ 386 G86 ................................................................................ 387 G87 ................................................................................ 388 G88 ................................................................................ 392 G89 ................................................................................ 393 G90,G91 .......................................................................... 30 G92 ........................................................................ 252, 958 G92.1 ............................................................................. 972 G93 ................................................................................ 150 G94,G95 ........................................................................ 148 G96, G97 ....................................................................... 245 G98, G99 ....................................................................... 421 General Precautions for Tool Radius Compensation .... 315 Geometric I .................................................................... 538 Geometric IB .................................................................. 540 Geometric IB (Automatic calculation of contact point between line and circular arc) ........................................ 546 Geometric IB (Automatic calculation of contact point of two circular arcs) ............................................................ 541 Geometric IB (Automatic calculation of intersection point between line and circular arc) ........................................ 543 Grid ................................................................................ 433

H Handling the Macro Call Command [C80] ..................... 478 Helical Interpolation ......................................................... 68 High-accuracy Control ................................................... 681 High-accuracy Spline Interpolation ................................ 765

High-speed High-accuracy Control ................................ 716 High-speed High-accuracy Control I, II, III ..................... 716 High-speed Machining Mode I, II ................................... 672 High-speed Mode Corner Deceleration ......................... 744 How to Define Feature Coordinate System Using Euler Angles ........................................................................... 876 How to Define Feature Coordinate System Using Projection Angles .......................................................... 884 How to Define Feature Coordinate System Using Roll-Pitch-Yaw Angles ................................................... 878 How to Define Feature Coordinate System Using Three Points in a Plane ........................................................... 880 How to Define Feature Coordinate System Using Tool Axis Direction ................................................................ 887 How to Define Feature Coordinate System Using Two Vectors .......................................................................... 882 Hypothetical Axis Interpolation ...................................... 124

I Inch Thread Cutting ......................................................... 66 Inch/Metric Conversion .................................................... 35 Inclined Surface Machining ........................................... 874 Index Table Indexing ..................................................... 237 Indexing Increment ............................................................ 8 Initial High-accuracy Control .......................................... 713 Initial Point and R Point Level Return ............................ 421 Inner Arc Override ......................................................... 224 Input Command Increment Tenfold ................................... 7 Input Setting Unit and Program Command Unit ................ 6 Inputting the Tool Life Management Data by G10 L3 Command ...................................................................... 596 Inputting the Tool Life Management Data by G10 L30 Command ...................................................................... 599 Interactive Cycle Insertion ............................................. 605 Interactive Macro ........................................................... 608 Interference Check ........................................................ 321 Interrupt during Corner Chamfering/Interrupt during Corner Rounding ................................................... 532, 536 Interrupts during Tool Radius Compensation ................ 313 Inverse Time Feed ........................................................ 150 Involute Interpolation ..................................................... 126

L Line at Angle ................................................................. 431 Linear Angle Command ................................................. 537 Linear Interpolation .......................................................... 49 Loader Control Part System .......................................... 667 Local Coordinate System Setting .................................. 960 Local Variables (#1 to #33) ........................................... 489 Longitudinal Cutting Cycle ............................................. 436

M M*** ............................................................................... 641 M198 ............................................................................. 454 M96, M97 ...................................................................... 514 M98 I_J_K_ ................................................................... 455 M98, M99 ...................................................................... 448 Machine Zero Point and 2nd, 3rd, 4th Reference Position (Zero Point) ................................................................... 950 Machining Condition Selection I .................................... 767 Machining Interruption [C80] ......................................... 615 Macro Call Instructions .................................................. 464 Macro Interruption ......................................................... 514 Manual Arbitrary Reverse Run Prohibition .................... 572 Miscellaneous Command Macro Call (for M, S, T, B Code Macro Call) .................................................................... 474 Miscellaneous Functions (M8-Digits) ............................. 232 Modal Call A (Movement Command Call) ..................... 468

Modal Call B (for Each Block) ........................................ 470 Modal, Unmodal ............................................................... 21 Multi-part System Simultaneous High-accuracy ............ 714 Multiple Spindle Synchronization Set Control [C80] ...... 818 Multi-step Skip Function 1 ........................................... 1070 Multi-step Skip Function 2 ........................................... 1072

N Normal Line Control ....................................................... 552 Number of Tool Offset Sets Allocation to Part Systems ..... 278 NURBS Interpolation ..................................................... 118

O Operation Commands .................................................... 493 Optional Block Skip .......................................................... 17 Optional Block Skip Addition ............................................ 19 Other Commands and Operations during Tool Radius Compensation ................................................................ 297

P Parameter Input by Program ......................................... 578 Plane Selection ................................................................ 60 Polar Coordinate Command .......................................... 101 Polar Coordinate Interpolation ......................................... 86 POPEN, PCLOS, DPRNT .............................................. 504 Position Command Methods ............................................ 30 Positioning (Rapid Traverse) ........................................... 46 Precautions .................................................................... 508 Precautions before Starting Machining ............................ 26 Precautions for Inclined Surface Machining .................. 913 Precautions for Inputting the Tool Life Management Data .... 602 Precautions for Using a Fixed Cycle .............................. 419 Precautions on High-speed High-accuracy Control ....... 745 Pre-read Buffer ................................................................ 28 Program Format ............................................................... 10 Programmable Current Limitation ................................ 1082 Punchtap Cycle .............................................................. 406

R R Specification Circular Interpolation ............................... 57 Rapid Traverse Block Overlap ....................................... 202 Rapid Traverse Block Overlap for G00 .......................... 204 Rapid Traverse Block Overlap for G28 .......................... 214 Rapid Traverse Constant-gradient Acceleration/ Deceleration ................................................................... 164 Rapid Traverse Constant-gradient Multi-step Acceleration/ Deceleration ................................................................... 170 Rapid Traverse Rate ...................................................... 140 Reference Position (Zero Point) Return ....................... 1037 Reference Position Check ........................................... 1047 Relationship Between Inclined Surface Machining and Other Functions ............................................................. 908 Reverse Tapping Cycle ................................................. 396 R-Navi Data Input by Program ....................................... 592 Rotary Axis Basic Position Selection ............................. 902 Rotation center error compensation .............................. 940

S Scaling ......................................................................... 1033 Selection of Axis (Axes) for Feedrate Command ........... 160 Setting of Workpiece Coordinates in Fixed Cycle Mode ..... 422 Simple Macro Calls ........................................................ 464 Skip Function ............................................................... 1064 Small Diameter Deep Hole Drilling Cycle ...................... 368 Smooth Fairing .............................................................. 734 Special Fixed Cycle ....................................................... 429 Speed Change Skip ..................................................... 1074 Spindle Clamp Speed Setting ........................................ 252 Spindle Functions .......................................................... 244

Spindle Position Control (Spindle/C Axis Control) ......... 254 Spindle Position Control (Spindle/C Axis Control) under Spindle Synchronization Control ................................... 785 Spindle Speed Fluctuation Detection ............................ 263 Spindle Synchronization ................................................ 772 Spindle Synchronization I .............................................. 773 Spiral/Conical Interpolation ........................................... 108 Spline Interpolation ........................................................ 748 Spline Interpolation 2 ..................................................... 756 SSS Control ................................................................... 702 Start of Tool Radius Compensation and Z Axis Cut in Operation ....................................................................... 319 Stepping Cycle .............................................................. 394 Stroke Check before Travel ......................................... 1050 Stroke Check before Travel in Stored Stroke Limit Area .... 1052 Sub Part System Control I ............................................. 651 Subprogram Call ................................................... 448, 454 System Variables .......................................................... 492 System Variables (Alarm) ............................................ 1112 System Variables (Coordinate Rotation Parameter) .... 1119 System Variables (Cumulative Time) .......................... 1114 System Variables (Extended Workpiece Coordinate Offset) .......................................................................... 1106 System Variables (External Workpiece Coordinate Offset) .......................................................................... 1107 System Variables (G Command Modal) ...................... 1086 System Variables (Interfering Object Selection) .......... 1149 System Variables (Machining Information) .................. 1117 System Variables (Macro Interface Input (PLC -> NC)) ..... 1127 System Variables (Macro Interface Output (NC -> PLC)) .... 1133 System Variables (Message Display and Stop) .......... 1113 System Variables (Mirror Image) ................................. 1118 System Variables (Modal Information at Macro Interruption) ................................................................. 1088 System Variables (NC Data Reading/Writing with API Section and Sub-section Nos. Input/Output by Program) ............. 1154 System Variables (Non-G Command Modal) .............. 1087 System Variables (Normal Line Control Parameter) .... 1121 System Variables (Number of Workpiece Machining Times) ......................................................................... 1118 System Variables (Parameter Reading) ...................... 1122 System Variables (PLC Data Reading) ....................... 1145 System Variables (Position Information) ..................... 1108 System Variables (R Device Access Variables) .......... 1139 System Variables (Reverse Run Information) ............. 1118 System Variables (Rotary Axis Configuration Parameter) .................................................................. 1120 System Variables (Time Read Variables) .................... 1115 System Variables (Tool Compensation) ...................... 1098 System Variables (Tool Information) ........................... 1090 System Variables (Tool Life Management) ................. 1099 System Variables (Workpiece Coordinate Offset) ....... 1104 System Variables (Workpiece Installation Error Compensation Amount) ............................................... 1126 System Variables (Workpiece Position Offset Amount for Rotary Axis) ................................................................. 1105 System Variables (ZR Device Access Variables) [C80] .... 1152 System Variables List .................................................. 1084

T Tapping Cycle ............................................................... 371 Tapping Mode ............................................................... 225 Thread Cutting ................................................................. 62 Thread Cutting Cycle ..................................................... 439 Thread Milling Cycle ...................................................... 402 Timing Synchronization Operation ................................ 632 Timing Synchronization Operation (! code) !n (!m ...) L ..... 632

Timing Synchronization Operation Function Using M codes ......................................................................... 641 Timing Synchronization Operation with Start Point Designated (Type 1) ...................................................... 635 Timing Synchronization Operation with Start Point Designated (Type 2) ...................................................... 638 Timing Synchronization When Timing Synchronization Ignore Is Set .................................................................. 645 Tolerance Control .......................................................... 706 Tool Axis Direction Control ............................................ 889 Tool Center Point Control .............................................. 838 Tool Change Position Return ....................................... 1044 Tool Compensation ........................................................ 274 Tool Functions (T8-digit BCD) ....................................... 272 Tool Length Compensation Along the Tool Axis ............ 831 Tool Length Compensation/Cancel ............................... 280 Tool Nose Radius Compensation (for Machining Center System) .......................................................................... 335 Tool Position Compensation .......................................... 824 Tool Position Offset ....................................................... 350 Tool Radius Compensation ........................................... 287 Tool Radius Compensation Operation ........................... 288 Tool Shape Input by Program ........................................ 589 Tool Spindle Synchronization IA (Spindle-Spindle, Polygon) ............................................ 790 Tool Spindle Synchronization IB (Spindle-Spindle, Polygon) ............................................ 796 Tool Spindle Synchronization IC (Spindle-NC Axis, Polygon) ........................................... 801 Tool Spindle Synchronization II (Hobbing) .................... 805 Torque Limitation Skip ................................................. 1078

U Unidirectional Positioning ................................................ 73 User Macro .................................................................... 463 User Macro Commands ................................................. 493

V Variable Commands ...................................................... 458 Variable-acceleration Pre-interpolation Acceleration/ Deceleration ................................................................... 710 Variables Used in User Macros ..................................... 486

W Workpiece Coordinate Changing during Radius Compensation ................................................................ 333 Workpiece Coordinate System Preset ........................... 972 Workpiece Coordinate System Selection and Extended Workpiece Coordinate System Selection ...................... 964 Workpiece installation error compensation .................... 927 Workpiece position offset for rotary axis ........................ 977

Revision History

Date of revision Manual No. Revision details

Apr. 2015 IB(NA)1501277-A IB(NA)1501278-A

First edition created.

Sep. 2015 IB(NA)1501277-B IB(NA)1501278-B

The descriptions were revised in response to S/W version A4 of Mitsubishi Electric CNC M800 Series/M80 Series. The following chapters were added. 7.14.2 Inner Arc Override 15.9.3 Tool Shape Input by Program; G10 L100, G11 15.9.4 R-Navi Data Input by Program; G10 L110, G11 17.2.3 Tolerance Control 17.5 Spline Interpolation 2; G61.4 18.1.6 Define by Selecting the Registered Machining Surface The following chapters were revised. 1.1 Coordinate Words and Control Axes 3.4.2 G Code Lists 5.3 Decimal Point Input 7.3 F1-digit Feed 7.12 Deceleration Check 7.14 Automatic Corner Override 10.2 Constant Surface Speed Control; G96, G97 11.1 Tool Functions (T8-digit BCD) 12.3 Tool Length Compensation in the Tool Axis Direction; G43.1/G49 13.1.4 Tapping Cycle; G84 14.4 Macro Call Instructions 14.5.2 Local Variables (#1 to #33) 15.8 Manual Arbitrary Reverse Run Prohibition; G127 16.2 Sub Part System Control 17.1 High-speed Machining Mode 17.2 High-accuracy Control 17.3 High-speed High-accuracy Control 17.7 Machining Condition Selection I; G120.1, G121 18.1 Inclined Surface Machining; G68.2, G68.3 19.3 Basic Machine Coordinate System Selection; G53 19.6 Workpiece Coordinate System Setting and Offset; G54 to G59 (G54.1) 19.8 3-dimensional Coordinate Conversion; G68/G69

The following chapters were moved. Parameter Input by Program; G10 L70/L100, G11 (15.6 -> 15.9.1) Compensation Data Input by Program; G10 L2/L10/L11, G11 (12.7 -> 15.9.2) Tool Life Management Data Input; G10,G11 (12.7 -> 15.10)

Other contents were added/revised/deleted according to specification.

Apr. 2016 IB(NA)1501277-C IB(NA)1501278-C

The descriptions were revised in response to S/W version B2 of Mitsubishi Electric CNC M800 Series/M80 Series. The following chapters were added. 12.5 Tool Nose Radius Compensation (for Machining Center System) 12.8 Tool Position Compensation; G43.7 15.9.3 Compensation Data Input by Program (Turning Tool); G10 L12/L13, G11 16.2 Mixed Control 16.2.1 Arbitrary Axis Exchange; G140, G141, G142 22 System Variables

(Continue to the next page)

Date of revision Manual No. Revision details

(Continued from the previous page)

The following chapters were revised. Introduction 3.4 G Codes 5.4 Decimal Point Input 6.3 Circular Interpolation; G02/G03 6.4 R Specification Circular Interpolation; G02, G03 6.7 Helical Interpolation; G17, G18, G19, and G02, G03 7.1 Rapid Traverse Rate 7.3 F1-digit Feed 7.7 Rapid Traverse Constant Inclination Acceleration/Deceleration 7.13 Rapid Traverse Block Overlap; G0.5 P1 9.3 Index Table Indexing 10.2 Constant Surface Speed Control; G96, G97 10.4 Spindle Position Control (Spindle/C Axis Control) 12.1 Tool Compensation 13.1.4 Tapping Cycle; G84 14.1 Subprogram Control; M98, M99, M198 14.2 Variable Commands 14.4 Macro Call Instructions 14.6 User Macro Commands 15.7 Normal Line Control; G40.1/G41.1/G42.1 (G150/G151/G152) 15.8 Manual Arbitrary Reverse Run Prohibition; G127 15.9 Data Input by Program 16.3.1 Sub Part System Control I; G122 17.1 High-speed Machining Mode 17.2 High-accuracy Control 17.3 High-speed High-accuracy Control 18.1 Inclined Surface Machining; G68.2, G68.3 19.6 Workpiece Coordinate System Setting and Offset; G54 to G59 (G54.1) 19.10 Coordinate Rotation Input by Parameter ; G10 I_ J_/K_ 21.2 Skip Function; G31 Other mistakes were corrected.

Sep. 2016 IB(NA)1501277-D IB(NA)1501278-D

The descriptions were revised in response to S/W version C1 of Mitsubishi Electric CNC M800 Series/M80 Series. The descriptions were revised in response to S/W version A1 of Mitsubishi Electric CNC C80 Series. The following chapters were added. 18.3 Tool Center Point Control; G43.4, G43.5/G49 18.5 3-dimensional Tool Radius Compensation (Tool's vertical-direction com-

pensation); G40/G41.2,G42.2 20.2 Enable Interfering Object Selection Data; G186 22.29 System Variables (Interfering Object Selection) 22.30 System Variables (ZR Device Access Variables) [C80]

The following chapters were revised. Introduction Precautions for Safety 3.2 File Format 3.4 G Codes 6.9 Cylindrical Interpolation; G07.1 7.4 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/Synchronous

Feed); G94, G95 12.3 Tool Radius Compensation ; G38,G39/G40/G41,G42 14.1 Subprogram Control; M98, M99, M198 14.6 User Macro Commands 15.9.1 Parameter Input by Program; G10 L70/L100, G11 16.3 Sub Part System Control 17.1 High-speed Machining Mode 17.3 High-speed High-accuracy Control 17.5 Spline Interpolation 2; G61.4

(Continue to the next page)

(Continued from the previous page)

18.1 Tool Position Compensation; G43.7 18.4 Inclined Surface Machining; G68.2, G68.3 18.5 3-dimensional Tool Radius Compensation (Tool's vertical-direction com-

pensation); G40/G41.2, G42.2 19.7 Workpiece Coordinate System Preset; G92.1 19.10 Coordinate Rotation Input by Parameter ; G10 I_ J_/K_ 21.6 Torque Limitation Skip; G160 22.1 System Variable List 22.5 System Variables (Tool Information) 22.15 System Variables (Time Read Variables) 22.21 System Variables (Rotary Axis Configuration Parameter) 22.27 System Variables (R Device Access Variables) 22.28 System Variables (PLC Data Reading)

The following chapters were moved. Tool Length Compensation in the Tool Axis Direction ; G43.1/G49 (12.3 -> 18.2) Tool Position Compensation; G43.7/G49 (12.8 -> 18.1 )

Other mistakes were corrected.

Mar. 2017 IB(NA)1501277-E IB(NA)1501278-E

The descriptions were revised in response to S/W version C3 of Mitsubishi Electric CNC M800 Series/M80 Series. The following chapters were added. 6.18 Involute Interpolation; G02.2/G03.2 10.5 Spindle Speed Fluctuation Detection; G162/G163 13.1.14 Thread Milling Cycle; G187 15.11 Axis Name Extension 18.1 Spindle Synchronization 21.1.1 Stroke Check Before Travel in Stored Stroke Limit Area 25 Appendix 2: Command Value Range Lists

The following chapters were revised. Introduction 3.1 Program Format 3.4 G Codes 5.3 Decimal Point Input 6.9 Cylindrical Interpolation ; G07.1 6.16 NURBS Interpolation ; G06.2 7.14 Automatic Corner Override 10.1 Spindle Functions 13.1 Fixed Cycles 14.1 Subprogram Control; M98, M99, M198 14.6 User Macro Commands 14.7 Macro Interruption; M96, M97 15.10 Inputting The Tool Life Management Data ; G10,G11 17.1 High-speed Machining Mode 17.3 High-speed High-accuracy Control 17.4 Spline Interpolation ; G05.1 Q2/Q0 17.5 Spline Interpolation 2; G61.4 19.1 Tool Position Compensation; G43.7/G49 19.3 Tool Center Point Control; G43.4, G43.5/G49 19.4 Inclined Surface Machining ; G68.2, G68.3/G69 21.1 Stroke Check before Travel ; G22/G23

The following chapters were removed. 15.10 Tool Life Management II ; G10 L3, G11

Other mistakes were corrected.

Date of revision Manual No. Revision details

Aug. 2017 IB(NA)1501277-F

IB(NA)1501278-F

The descriptions were revised in response to S/W version A2 of Mitsubishi Electric CNC C80 Series. The following chapters were revised. 10.4 Spindle Position Control (Spindle/C Axis Control)

14.1 Subprogram Control; M98, M99, M198

17.2.6 Multi-part System Simultaneous High-accuracy

18.1.2 Spindle Position Control under Spindle Synchronization Control

20.3 Basic Machine Coordinate System Selection ; G53

23.30 System Variables (ZR Device Access Variables) [C80]

Other mistakes were corrected.

Dec. 2017 IB(NA)1501277-G

IB(NA)1501278-G

The descriptions were revised in response to S/W version C7 of Mitsubishi Electric CNC M800 Series/M80 Series. The following chapters were added. 5.2 Diameter Designation and Radius Designation

13.3 Fixed Cycle for Turning Machining

15.11 Interactive Cycle Insertion; G180

19.3.1 Arc Command during Tool Center Point Control(G43.4/G43.5)

23.31 System Variables (NC Data Reading/Writing with API Section and Sub-

section Designation)

The following chapters were revised. 3.4.2 G Code Lists 5.4 Decimal Point Input 6.10 Circular Cutting ; G12,G13 6.15 3-dimensional Circular Interpolation ; G02.4,G03.4 10.2 Constant Surface Speed Control ; G96,G97 10.4 Spindle Position Control (Spindle/C Axis Control) 13.1.7 Back Boring ; G87 13.1.13 Fine Boring ; G76 15.8 Manual Arbitrary Reverse Run Prohibition ; G127 15.9 Data Input by Program 17.1 High-speed Machining Mode 17.2 High-accuracy Control 17.3 High-speed High-accuracy Control 17.7 Machining Condition Selection I ; G120.1,G121 19.3 Tool Center Point Control; G43.4, G43.5/G49 19.4 Inclined Surface Machining ; G68.2, G68.3/G69 20.6 Workpiece Coordinate System Setting and Offset ; G54 to G59 (G54.1) 20.7 Workpiece Coordinate System Preset ; G92.1 20.8 3-dimensional Coordinate Conversion ; G68/G69 23.1 System Variables List 23.11 System Variables (Position Information) 24 Appx.1: Fixed Cycles

Other mistakes were corrected.

Date of revision Manual No. Revision details

Apr. 2018 IB(NA)1501277-H

IB(NA)1501278-H

The descriptions were revised in response to Mitsubishi Electric CNC E80 Series.

The descriptions were revised in response to S/W version D1 of Mitsubishi Electric

CNC M800 Series/M80 Series.

The following chapter was added.

19.6 Workpiece Installation Error Compensation; G54.4

The following chapters were revised.

Introduction 10.4 Spindle Position Control (Spindle/C Axis Control) 12.2 Tool Length Compensation/Cancel; G43, G44 / G49 13.1.4 Tapping Cycle; G84 15.10.2 Inputting the Tool Life Management Data by G10 L30 Command; G10

L30,G11 15.10.3 Precautions for Inputting the Tool Life Management Data 19.3 Tool Center Point Control; G43.4, G43.5/G49 19.4.12 Precautions for Inclined Surface Machining 23.7 System Variables (Tool Life Management)

Other mistakes were corrected.

Sep. 2018 IB(NA)1501277-J

IB(NA)1501278-J

The descriptions were revised in response to S/W version B0 of Mitsubishi Electric

CNC C80 Series.

The following chapters were added.

15.14 Machining Interruption [C80]; G26 18.2 Multiple Spindle Synchronization Set Control [C80]

The following chapters were revised.

3.2 File Format 3.4.2 G Code Lists 5.4 Decimal Point Input 7.13.1 Rapid Traverse Block Overlap for G00; G0.5 10.4 Spindle Position Control (Spindle/C Axis Control) 14.1 Subprogram Control; M98, M99, M198 14.2 Variable Commands 16.2.1 Arbitrary Axis Exchange ; G140, G141, G142 16.3.1 Sub Part System Control I; G122 17.2 High-accuracy Control 18.1 Spindle Synchronization 19.3 Tool Center Point Control; G43.4, G43.5/G49 19.6 Workpiece Installation Error Compensation; G54.4 23.7 System Variables (Tool Life Management)

Other mistakes were corrected.

Jun. 2019 IB(NA)1501277-K

IB(NA)1501278-K

The descriptions were revised in response to S/W version E0 of Mitsubishi Electric

CNC M800 Series/M80 Series/E80 Series.

The following chapters were added.

7.7 Selection of Axis (Axes) for Feedrate Command; G130 15.9.2 Compensation Data Input by Program (Tool Compensation Amount) ; G10

L10/L11/L12/L13, G11 15.9.3 Compensation Data Input by Program (Workpiece Offset Amount) ; G10 L2/

L20, G11 18.2.1 Tool Spindle Synchronization IA (Spindle-Spindle, Polygon) ; G114.2, G113.1 18.2.2 Tool Spindle Synchronization IB (Spindle-Spindle, Polygon) ; G51.2/G50.2 or

G251/G250 18.2.3 Tool Spindle Synchronization IC (Spindle-NC Axis, Polygon) ; G51.2/G50.2

or G251/G250

(Continue to the next page)

Date of revision Manual No. Revision details

(Continued from the previous page)

18.3 Tool Spindle Synchronization II 18.3.1 Tool Spindle Synchronization II (Hobbing) ; G114.3/G113 19.7 Rotation Center Error Compensation (Precautions for Creating a Machining

Program) 20.8 Workpiece Position Offset for Rotary Axis ; G54.2 23.9 System Variables (Workpiece Position Offset Amount for Rotary Axis)

The following chapters were revised.

Introduction

3.4 G Code

5.4 Decimal Point Input

6.7 Helical Interpolation; G02, G03

(The title and contents were revised.)

14.1 Subprogram Control; M98, M99, M198

15.9 Data Input by Program

15.10 Tool Life Management

(The title and contents were revised.)

15.4 Geometric I; G01 A_

15.5 Geometric IB

17.1 High-speed Machining Mode

17.2 High-accuracy Control

17.3 High-speed High-accuracy Control

19.3 Tool Center Point Control; G43.4, G43.5/G49

19.4 Inclined Surface Machining; G68.2, G68.3/G69

19.5 3-dimensional Tool Radius Compensation (Tool's Vertical-direction Com-

pensation); G40/G41.2, G42.2

20.3 Basic Machine Coordinate System Selection; G53

20.4 Coordinate System Setting; G92

20.5 Local Coordinate System Setting; G52

20.6 Workpiece Coordinate System Selection and Extended Workpiece Coordi-

nate System Selection; G54 to G59, G54.1

20.9 3-dimensional Coordinate Conversion; G68/G69

20.10 Coordinate Rotation by Program; G68/G69

Other mistakes were corrected.

Date of revision Manual No. Revision details

Sep. 2019 IB(NA)1501277-L

IB(NA)1501278-L

The descriptions were revised in response to S/W version E1 of Mitsubishi Electric

CNC M800 Series/M80 Series/E80 Series.

The following chapters were added.

19.8 Applicable Machines

The following chapters were revised.

Introduction

3.1 Program Format

3.4.2 G Code Lists

6.6.2 Inch Thread Cutting; G33

6.7 Helical Interpolation; G02, G03

6.9 Cylindrical Interpolation; G07.1

6.11 Polar Coordinate Interpolation; G12.1, G13.1/G112, G113

6.12 Exponential Interpolation; G02.3, G03.3

10.4 Spindle Position Control (Spindle/C Axis Control)

12.1.2 Number of Tool Offset Sets Allocation to Part Systems

13.1.4 Tapping Cycle; G84

13.1.7 Back Boring; G87

13.1.18 Drilling Cycle High-Speed Retract

15.8 Manual Arbitrary Reverse Run Prohibition ; G127

16.2.1 Arbitrary Axis Exchange ; G140, G141, G142

17.1.1 High-speed Machining Mode I, II; G05 P1, G05 P2

17.2.1 High-accuracy Control ; G61.1, G08

17.2.3 Tolerance Control

17.3.1 High-speed High-accuracy Control I, II, III ; G05.1 Q1/Q0, G05 P10000/

P0, G05 P20000/P0

17.3.6 Precautions on High-speed High-accuracy Control

17.7 Machining Condition Selection I ; G120.1,G121

19.3 Tool Center Point Control; G43.4, G43.5/G49

19.3.1 Circular Command in Tool Center Point Control (G43.4/G43.5)

19.4 Inclined Surface Machining; G68.2, G68.3/G69

19.4.8 Tool Axis Direction Control; G53.1/G53.6

19.4.12 Precautions for Inclined Surface Machining

19.5 3-dimensional Tool Radius Compensation (Tool's Vertical-direction Com-

pensation); G40/G41.2, G42.2

19.6 Workpiece Installation Error Compensation; G54.4

20.5 Local Coordinate System Setting; G52

20.10 Coordinate Rotation by Program; G68/G69

22.1 Automatic Tool Length Measurement; G37

23.1 System Variables List

24 Appx.1: Fixed Cycles

Other mistakes were corrected.

Date of revision Manual No. Revision details

Dec. 2019 IB(NA)1501277-M

IB(NA)1501278-M

The descriptions were revised in response to S/W version B5 of Mitsubishi Electric

CNC C80 Series.

The following chapters were revised.

2.1 Input Setting Unit And Program Command Unit

7.13.2 Deceleration Check When Movement in the Opposite Direction Is Re-

versed

9.1 Miscellaneous Functions (M8-digits)

10.4 Spindle Position Control (Spindle/C Axis Control)

14.2 Variable Commands

14.4.5 Miscellaneous Command Macro Call (for M, S, T, B Code Macro Call)

14.6.1 Operation Commands

18.2.1 Tool Spindle Synchronization IA (Spindle-Spindle, Polygon) ; G114.2,

G113

22.1 Automatic Tool Length Measurement; G37

23.1 System Variables List

23.7 System Variables (Tool Life Management)

23.26 System Variables (ZR Device Access Variables) [C80]

Other mistakes were corrected.

Jun. 2020 IB(NA)1501277-N

IB(NA)1501278-N

The descriptions were revised in response to S/W version F1 of Mitsubishi Electric

CNC M800 Series/M80Series/E80 Series.

The following chapters were revised.

Precautions for Safety

3.2 File Format

3.4.2 G Code Lists

6.18 Involute Interpolation; G02.2/G03.2

7.8 Rapid Traverse Constant-gradient Acceleration/Deceleration

7.10 Cutting Feed Constant-gradient Acceleration/Deceleration

8.1 Dwell (Time-based Designation); G04

12.2 Tool Length Compensation/Cancel; G43, G44 / G49

14.2 Variable Commands

14.4.4 G Code Macro Call

14.4.7 ASCII Code Macro

15.7 Normal Line Control; G40.1/G41.1/G42.1 (G150/G151/G152)

15.9.3 Compensation Data Input by Program (Workpiece Offset Amount) ; G10

L2/L20, G11

15.12 Axis Name Extension

16.3.1 Sub Part System Control I; G122

17.3.1 High-speed High-accuracy Control I, II, III ; G05.1 Q1/Q0, G05 P10000/

P0, G05 P20000/P0

17.7 Machining Condition Selection I ; G120.1, G121

19.1 Tool Position Compensation; G43.7/G49

19.3 Tool Center Point Control; G43.4, G43.5/G49

19.8 Applicable Machines

20.4 Coordinate System Setting; G92

20.6 Workpiece Coordinate System Selection and Extended Workpiece Coordi-

nate System Selection; G54 to G59, G54.1

20.9 3-dimensional Coordinate Conversion; G68/G69

20.10 Coordinate Rotation by Program; G68/G69

22.7 Programmable Current Limitation; G10 L14

(Continue to the next page)

Date of revision Manual No. Revision details

(Continued from the previous page)

23.13 System Variables (Alarm)

23.14 System Variables (Message Display and Stop)

23.29 System Variables (PLC Data Reading)

Other mistakes were corrected.

Mar. 2021 IB(NA)1501277-P

IB(NA)1501278-P

The descriptions were revised in response to S/W version F4 of Mitsubishi Electric

CNC M800 Series/M80 Series/E80 Series.

The descriptions were revised in response to S/W version B7 of Mitsubishi Electric

CNC C80 Series.

The following chapters were added.

13.1.15 Punchtap Cycle

The following chapters were revised.

6.11 Polar Coordinate Interpolation; G12.1, G13.1/G112, G113

6.15 3-dimensional Circular Interpolation; G02.4, G03.4

15.8 Manual Arbitrary Reverse Run Prohibition ; G127

17.1.1 High-speed Machining Mode I, II; G05 P1, G05 P2

17.2.1 High-accuracy Control ; G61.1, G08

Other mistakes were corrected.

Jul. 2022 IB(NA)1501277-Q

IB(NA)1501278-Q

The descriptions were revised in response to S/W version F8 of Mitsubishi Electric

CNC M800 Series/M80 Series/E80 Series.

The descriptions were revised in response to S/W version BA of Mitsubishi Electric

CNC C80 Series.

The following chapters were added.

14.4.7 Handling the Macro Call Command [C80] 16.4 Loader Control Part System

The following chapters were revised.

6.6.1 Constant Lead Thread Cutting; G33

6.9 Cylindrical Interpolation; G07.1

7.4 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/Synchronous

Feed); G94,G95

7.14.1 Rapid Traverse Block Overlap for G00; G0.5

7.14.2 Rapid Traverse Block Overlap for G28

8.1 Dwell (Time-based Designation); G04

9.1 Miscellaneous Functions (M8-Digits)

10.4 Spindle Position Control (Spindle/C Axis Control)

12.2 Tool Length Compensation/Cancel; G43, G44 / G49

15.9.6 R-Navi Data Input by Program; G10 L110/L111, G11, G68.2, G69

15.10.3 Precautions for Inputting the Tool Life Management Data

17.7 Machining Condition Selection I ; G120.1, G121

19.3 Tool Center Point Control; G43.4, G43.5/G49

19.4.12 Precautions for Inclined Surface Machining

19.5 3-dimensional Tool Radius Compensation (Tool's Vertical-direction Com-

pensation); G40/G41.2, G42.2

19.6 Workpiece Installation Error Compensation; G54.4

20.10 Coordinate Rotation by Program; G68.1/G69.1

(Continue to the next page)

Date of revision Manual No. Revision details

(Continued from the previous page)

23.14 System Variables (Message Display and Stop)

23.32 System Variables (NC Data Reading/Writing with API Section and Sub-

section Nos. Input/Output by Program) [M8]

Other mistakes were corrected.

Date of revision Manual No. Revision details

Global Service Network

AMERICA EUROPE

.V.B EPORUE CIRTCELE IHSIBUSTIM)RETNEC AF ACIREMA( .CNI NOITAMOTUA CIRTCELE IHSIBUSTIM Central Region Service Center (Chicago) European Service Headquarters (Dusseldorf, GERMANY)

YNAMREG ,NEGNITAR 28804 1 ztalP-cirtcelE-ihsibustiM .A.S.U ,16006 SIONILLI ,SLLIH NONREV ,YAWKRAP SDOOW ETAROPROC 005 0195-684-2012-94+ :XAF / 0005-684-2012-94+ :LET 0562-874-748-1+ :XAF / 0052-874-748-1+ :LET

Minneapolis, MN Service Satellite Detroit, MI Service Satellite South Germany Service Center (Stuttgart) Grand Rapids, MI Service Satellite SCHELMENWASENSTRASSE 16-20, 70567 STUTTGART, GERMANY Milwaukee, WI Service Satellite TEL: + 49-711-770598-123 / FAX: +49-711-770598-141 Cleveland, OH Service Satellite Indianapolis, IN Service Satellite France Service Center (Paris) St. Louis, MO Service Satellite 2 RUE DE LUNION, 92565 RUEIL-MALMAISON CEDEX, FRANCE

TEL: +33-1-41-02-83-13 / FAX: +33-1-49-01-07-25 South/East Region Service Center (Georgia) 1845 SATELLITE BOULEVARD STE. 450, DULUTH, GEORGIA 30097, U.S.A. France Service Satellite (Lyon)

ECNARF TSEIRP TNIAS 00896 DONOM SEUQCAJ EELLA ,021 9154-852-876-1+ XAF / 9254-852-876-1+ LET Charleston, SC Service Satellite TEL: +33-1-41-02-83-13 / FAX: +33-1-49-01-07-25 Charlotte, NC Service Satellite Raleigh, NC Service Satellite Italy Service Center (Milan) Dallas, TX Service Satellite CENTRO DIR. COLLEONI, PALAZZO SIRIO, VIALE COLLEONI 7, 20864 AGRATE BRIANZA (MB) ITALY Houston, TX Service Satellite TEL: +39-039-6053-342 / FAX: +39-039-6053-206 Hartford, CT Service Satellite Knoxville, TN Service Satellite Italy Service Satellite (Padova) Nashville, TN Service Satellite VIA G. SAVELLI, 24 - 35129 PADOVA, ITALY Baltimore, MD Service Satellite TEL: +39-039-6053-342 / FAX: +39-039-6053-206 Pittsburg, PA Service Satellite Tampa, FL Service Satellite U.K. Service Center Syracuse, NY Service Satellite TRAVELLERS LANE, HATFIELD, HERTFORDSHIRE, AL10 8XB, U.K. Orlando, FL Service Satellite TEL: +44-1707-288-780 / FAX: +44-1707-278 695 Lafayette, LA Service Satellite Philadelphia, PA Service Satellite Spain Service Center

CTRA. RUBI, 76-80 8174 SAINT CUGAT DEL VALLES, BARCELONA, SPAIN Western Region Service Center (California) TEL: +34-935-65-2236 / FAX: +34-935-89-1579 5900-B KATELLA AVE. - 5900-A KATELLA AVE. CYPRESS, CALIFORNIA 90630, U.S.A. TEL: +1-714-699-2625 / FAX: +1-847-478-2650 Poland Service Center San Jose, CA Service Satellite UL.KRAKOWSKA 50, 32-083 BALICE, POLAND Seattle, WA Service Satellite TEL: +48-12-347-6500 / FAX: +48-12-630-4701 Denver, CO Service Satellite

Hungary Service Center Canada Region Service Center (Toronto) BUDARS OFFICE PARK, SZABADSG T 117., 2040 BUDARS, HUNGARY

1074-036-21-84+ :XAF / 0056-743-21-84+ :LET ADANAC ,2JO R3L OIRATNO ,MAHKRAM EUNEVA HT41 9924 TEL: +1-905-475-7728 / FAX: +1-905-475-7935 Edmonton, AB Service Satellite Turkey Service Center Montreal, QC Service Satellite MITSUBISHI ELECTRIC TURKEY ELEKTRK RNLER A.

SERIFALI MAHALLESI KALE SOKAK. NO.41 34775 Mexico Region Service Center (Queretaro) UMRANIYE, ISTANBUL, TURKEY Parque Tecnolgico Innovacin Quertaro, Lateral Carretera Estatal 431, Km 2+200, Lote 91 Modulos 1 y 2 TEL: +90-216-969-2500 / FAX: +90-216-661-44-47 Hacienda la Machorra, CP 76246, El Marqus, Quertaro, Mxico TEL: +52-442-153 6050 Czech Republic Service Center Monterrey, NL Service Satellite AutoCont Control Systems s.r.o (Service Partner) Mexico City, DF Service Satellite KAFKOVA 1853/3, 702 00 OSTRAVA 2, CZECH REPUBLIC

TEL: +420-59-5691-185 / FAX: +420-59-5691-199

BRAZIL Russia Service Center MITSUBISHI ELECTRIC RUSSIA LLC

MITSUBISHI ELECTRIC DO BRASIL COMRCIO E SERVIOS LTDA. LETNIKOVSKAYA STREET 2, BLD.1, 5TH 115114 MOSCOW, RUSSIA Votorantim Office TEL: +7-495-721-2070 / FAX: +7-495-721-2071 AV. GISELE CONSTANTINO,1578, PARQUE BELA VISTA, VOTORANTIM-SP, BRAZIL CEP:18.110-650 TEL: +55-15-3023-9000 Sweden Service Center Blumenau, Santa Catarina Office HAMMARBACKEN 14, P.O.BOX 750 SE-19127, SOLLENTUNA, SWEDEN

TEL: +46-8-6251200 / FAX: +46-8-6251014

Bulgaria Service Center AKHNATON Ltd. (Service Partner) 4 ANDREJ LJAPCHEV BLVD. POB 21, BG-1756 SOFIA, BULGARIA TEL: +359-2-8176009 / FAX: +359-2-9744061

Ukraine Service Center (Kiev) CSC Automation Ltd. (Service Partner) 4 B, YEVHENA SVERSTYUKA STR., 02002 KIEV, UKRAINE TEL: +380-44-494-3344 / FAX: +380-44-494-3366

Belarus Service Center TECHNIKON Ltd. (Service Partner) NEZAVISIMOSTI PR.177, 220125 MINSK, BELARUS TEL: +375-17-393-1177 / FAX: +375-17-393-0081

South Africa Service Center Adroit Technologies (Service Partner) 20 WATERFORD OFFICE PARK, WATERFORD DRIVE, CNR OF WITKOPPEN ROAD, FOURWAYS JOHANNESBURG SOUTH AFRICA TEL: +27-11-658-8100 / FAX: +27-11- 658-8101

ASEAN CHINA

)RETNEC AF ANIHC( .DTL )ANIHC( NOITAMOTUA CIRTCELE IHSIBUSTIM)RETNEC AF NAESA( .DTL .ETP AISA CIRTCELE IHSIBUSTIM Singapore Service Center CNC Call Center 307 ALEXANDRA ROAD #05-01/02 MITSUBISHI ELECTRIC BUILDING SINGAPORE 159943 TEL: +86-400-921-5130 TEL: +65-6473-2308 / FAX: +65-6476-7439

Shanghai Service Center 1-3,5-10,18-23/F, NO.1386 HONG QIAO ROAD, CHANG NING QU,

PHILIPPINES SHANGHAI 200336, CHINA TEL: +86-21-2322-3030 / FAX: +86-21-2322-3000*8422

MELCO FACTORY AUTOMATION PHILIPPINES INC. Qingdao Service Center Head Office Suzhou Service Center 128 LOPEZ RIZAL STREET, BRGY., HIGHWAY HILLS, MANDALUYONG CITY , MM PHILIPPINES 1550 Wuhan Service Center TEL: +63-2-8256-8042 / FAX: +632-8637-2294 Ningbo Service Center

Hefei Service Center Philippines Service Center Beijing Service Center KM.23 WEST SERVICE ROAD SSH, CUPANG ,MUNTINLUPA CITY, PHILIPPINES Tianjin Service Center TEL: +63-2-8807-0420 / FAX: +63-2-8842-5202 Xian Service Center

Dalian Service Center Chengdu Service Center

VIETNAM Shenzhen Service Center

MITSUBISHI ELECTRIC VIETNAM CO., LTD. LEVEL8, GALAXY WORLD TOWER B, 1 YABAO ROAD, LONGGANG DISTRICT, Vietnam Ho Chi Minh Service Center SHENZHEN 518129, CHINA 11TH & 12TH FLOOR, VIETTEL TOWER B, 285 CACH MANG THANG 8 STREET, WARD 12, DISTRICT 10, TEL: +86-755-2399-8272 / FAX: +86-755-8229-3686 HO CHI MINH CITY, VIETNAM Dongguan Service Center TEL: +84-28-3910 5945 / FAX: +84-28-3910 5947 Xiamen Service Center

Vietnam Hanoi Service Center 24TH FLOOR, HANDICO TOWER, PHAM HUNG ROAD, ME TRI HA, ME TRI WARD, KOREA NAM TU LIEM DISTRICT, HA NOI CITY, VIETNAM TEL: +84-24-3937-8075 / FAX: +84-24-3937-8076 MITSUBISHI ELECTRIC AUTOMATION KOREA CO., LTD. (KOREA FA CENTER)

Korea Service Center 8F GANGSEO HANGANG XI-TOWER A, 401 YANGCHEON-RO, GANGSEO-GU,

INDONESIA SEOUL 07528 KOREA TEL: +82-2-3660-9631 / FAX: +82-2-3664-8668

PT. MITSUBISHI ELECTRIC INDONESIA Korea Daegu Service Satellite Indonesia Service Center (Cikarang) JL. KENARI RAYA BLOK G2-07A, DELTA SILICON 5, LIPPO CIKARANG - BEKASI 17550, INDONESIA TEL: +62-21-2961-7797 / FAX: +62-21-2961-7794 TAIWAN

MITSUBISHI ELECTRIC TAIWAN CO., LTD. (TAIWAN FA CENTER) MALAYSIA Taiwan Taichung Service Center

NO. 8-1, GONGYEQU 16th RD., XITUN DIST., TAICHUNG CITY 40768 , TAIWAN MITSUBISHI ELECTRIC SALES MALAYSIA SDN. BHD. TEL: +886-4-2359-0688 / FAX: +886-4-2359-0689 Malaysia Service Center (Kuala Lumpur Service Center) LOT 11, JALAN 219, P.O BOX 1036, 46860 PETALING JAYA, SELANGOR DARUL EHSAN, MALAYSIA Taiwan Taipei Service Center

NAWIAT ,55111 YTIC IEPIAT ,.TSID NILIHS ,.DR .N NAHSGNOHZ ,6.CES ,88.ON ,F11 9262-0697-3-06+ :XAF / 2305-6267-3-06+ :LET Johor Bahru Service Satellite TEL: +886-2-2833-5430 / FAX: +886-2-2833-5433 Pulau Pinang Service Satellite

Taiwan Tainan Service Center 11F.-1, NO.30, ZHONGZHENG S. RD., YONGKANG DIST., TAINAN CITY 71067, TAIWAN

THAILAND TEL: +886-6-252-5030 / FAX: +886-6-252-5031

MITSUBISHI ELECTRIC FACTORY AUTOMATION (THAILAND) CO., LTD. Thailand Service Center (Bangkok) OCEANIA 101, TRUE DIGITAL PARK OFFICE, 5TH FLOOR, SUKHUMVIT ROAD, BANGCHAK, PHRAKHANONG, BANGKOK, 10260 THAILAND MITSUBISHI ELECTRIC AUSTRALIA PTY. LTD. TEL: +66-2-092-8600 / FAX: +66-2-043-1231-33 Oceania Service Center

348 VICTORIA ROAD, RYDALMERE, N.S.W. 2116 AUSTRALIA TEL: +61-2-9684-7269/ FAX: +61-2-9684-7245

INDIA

MITSUBISHI ELECTRIC INDIA PVT., LTD. CNC Technical Center (Bangalore) PLOT NO. 56, 4TH MAIN ROAD, PEENYA PHASE 3, PEENYA INDUSTRIAL AREA, BANGALORE 560058, KARNATAKA, INDIA TEL : +91-80-4655-2121 / FAX : +91-80-4655-2147 Chennai Service Satellite Coimbatore Service Satellite Hyderabad Service Satellite

North India Service Center (Gurgaon) PLOT 517, GROUND FLOOR, UDYOG VIHAR PHASE-III, GURUGRAM 122008, HARYANA, INDIA TEL : +91-124-463-0300 / FAX : +91-124-463-0399 Ludhiana Service Satellite Panthnagar Service Satellite Delhi Service Satellite Jamshedpur Service Satellite Manesar Service Satellite

West India Service Center (Pune) ICC-Devi GAURAV TECHNOLOGY PARK, UNIT NO.402, FOURTH FLOOR, NORTH WING, SURVEY NUMBER 191-192 (P), NEXT to INDIAN CARD CLOTHING COMPANY Ltd, OPP. VALLABH NAGAR, PIMPRI, PUNE- 411 018, MAHARASHTRA, INDIA TEL : +91-20-6819 2274 / FAX : +91-20-4624 2100 Kolhapur Service Satellite Aurangabad Service Satellite Mumbai Service Satellite

West India Service Center (Ahmedabad) 204-209, 2ND FLOOR, 31FIVE, CORPORATE ROAD PRAHLADNAGAR, AHMEDABAD -380015, GUJARAT, INDIA TEL : + 91-79-6777 7888 Rajkot Service Satellite

Notice

Every effort has been made to keep up with software and hardware revisions in the contents described in this manual. However, please understand that in some unavoidable cases simultaneous revision is not possible. Please contact your Mitsubishi Electric dealer with any questions or comments regarding the use of this product.

Duplication Prohibited

This manual may not be reproduced in any form, in par

Manualsnet FAQs

If you want to find out how the C80 Mitsubishi works, you can view and download the Mitsubishi C80 Machining Center System Programming Manual on the Manualsnet website.

Yes, we have the Programming Manual for Mitsubishi C80 as well as other Mitsubishi manuals. All you need to do is to use our search bar and find the user manual that you are looking for.

The Programming Manual should include all the details that are needed to use a Mitsubishi C80. Full manuals and user guide PDFs can be downloaded from Manualsnet.com.

The best way to navigate the Mitsubishi C80 Machining Center System Programming Manual is by checking the Table of Contents at the top of the page where available. This allows you to navigate a manual by jumping to the section you are looking for.

This Mitsubishi C80 Machining Center System Programming Manual consists of sections like Table of Contents, to name a few. For easier navigation, use the Table of Contents in the upper left corner.

You can download Mitsubishi C80 Machining Center System Programming Manual free of charge simply by clicking the “download” button in the upper right corner of any manuals page. This feature allows you to download any manual in a couple of seconds and is generally in PDF format. You can also save a manual for later by adding it to your saved documents in the user profile.

To be able to print Mitsubishi C80 Machining Center System Programming Manual, simply download the document to your computer. Once downloaded, open the PDF file and print the Mitsubishi C80 Machining Center System Programming Manual as you would any other document. This can usually be achieved by clicking on “File” and then “Print” from the menu bar.