GFZ-61404E B-61404E
GE Fanuc CNC
Series 0/00/0-Mate Operator Manual (for Machining Center)
Presented By: CNC Center
For Product Needs Please Visit:
http://www.cnccenter.com/
OR Email:
<EMAIL_ADDRESS>OR Call:
1-800-963-3513 GE Fanuc CNC Manuals www.cnccenter.com
GE Fanuc Automation
Computer Numerical Control Products
Series 0 / 00 / 0-Mate for Machining Center
Operator's Manual
GFZ-61404E/08 June 1998
GFL-001
Warnings, Cautions, and Notes as Used in this Publication
Warning
Warning notices are used in this publication to emphasize that hazardous voltages, currents, temperatures, or other conditions that could cause personal injury exist in this equipment or may be associated with its use.
In situations where inattention could cause either personal injury or damage to equipment, a Warning notice is used.
Caution
Caution notices are used where equipment might be damaged if care is not taken.
Note Notes merely call attention to information that is especially significant to understanding and operating the equipment.
This document is based on information available at the time of its publication. While efforts have been made to be accurate, the information contained herein does not purport to cover all details or variations in hardware or software, nor to provide for every possible contingency in connection with installation, operation, or maintenance. Features may be described herein which are not present in all hardware and software systems. GE Fanuc Automation assumes no obligation of notice to holders of this document with respect to changes subsequently made.
GE Fanuc Automation makes no representation or warranty, expressed, implied, or statutory with respect to, and assumes no responsibility for the accuracy, completeness, sufficiency, or usefulness of the information contained herein. No warranties of merchantability or fitness for purpose shall apply.
©Copyright 1998 GE Fanuc Automation North America, Inc.
All Rights Reserved.
s–1
SAFETY PRECAUTIONS
This section describes the safety precautions related to the use of CNC units. It is essential that these precautions be observed by users to ensure the safe operation of machines equipped with a CNC unit (all descriptions in this section assume this configuration). Note that some precautions are related only to specific functions, and thus may not be applicable to certain CNC units. Users must also observe the safety precautions related to the machine, as described in the relevant manual supplied by the machine tool builder. Before attempting to operate the machine or create a program to control the operation of the machine, the operator must become fully familiar with the contents of this manual and relevant manual supplied by the machine tool builder.
Contents
1.
2.
3.
4.
5.  Precautions are classified into Warning and Caution according to their bearing on safety. Also, supplementary information is described as a Note. Read the Warning, Caution, and Note thoroughly before attempting to use the machine.
WARNING
Applied when there is a danger of the user being injured or when there is a damage of both the user being injured and the equipment being damaged if the approved procedure is not observed.
CAUTION
Applied when there is a danger of the equipment being damaged, if the approved procedure is not observed.
NOTE
The Note is used to indicate supplementary information other than Warning and Caution.
� Read this manual carefully, and store it in a safe place.
ww w.
cn cc
en ter
.co m
B–61404E/08 SAFETY PRECAUTIONS
s–3
2 GENERAL WARNINGS AND CAUTIONS WARNING
1. Never attempt to machine a workpiece without first checking the operation of the machine. Before starting a production run, ensure that the machine is operating correctly by performing a trial run using, for example, the single block, feedrate override, or machine lock function or by operating the machine with neither a tool nor workpiece mounted. Failure to confirm the correct operation of the machine may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
2. Before operating the machine, thoroughly check the entered data. Operating the machine with incorrectly specified data may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
3. Ensure that the specified feedrate is appropriate for the intended operation. Generally, for each machine, there is a maximum allowable feedrate. The appropriate feedrate varies with the intended operation. Refer to the manual provided with the machine to determine the maximum allowable feedrate. If a machine is run at other than the correct speed, it may behave unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
4. When using a tool compensation function, thoroughly check the direction and amount of compensation. Operating the machine with incorrectly specified data may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
5. The parameters for the CNC and PMC are factory–set. Usually, there is not need to change them. When, however, there is not alternative other than to change a parameter, ensure that you fully understand the function of the parameter before making any change. Failure to set a parameter correctly may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
6. Immediately after switching on the power, do not touch any of the keys on the MDI panel until the position display or alarm screen appears on the CNC unit. Some of the keys on the MDI panel are dedicated to maintenance or other special operations. Pressing any of these keys may place the CNC unit in other than its normal state. Starting the machine in this state may cause it to behave unexpectedly.
7. This manual supplied with a CNC unit provide an overall description of the machine’s functions, including any optional functions. Note that the optional functions will vary from one machine model to another. Therefore, some functions described in the manuals may not actually be available for a particular model. Check the specification of the machine if in doubt.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–61404E/08
s–4
WARNING
8. Some functions may have been implemented at the request of the machine–tool builder. When using such functions, refer to the manual supplied by the machine–tool builder for details of their use and any related cautions.
NOTE
Programs, parameters, and macro variables are stored in nonvolatile memory in the CNC unit. Usually, they are retained even if the power is turned off. Such data may be deleted inadvertently, however, or it may prove necessary to delete all data from nonvolatile memory as part of error recovery. To guard against the occurrence of the above, and assure quick restoration of deleted data, backup all vital data, and keep the backup copy in a safe place.
ww w.
cn cc
en ter
.co m
B–61404E/08 SAFETY PRECAUTIONS
s–5
3 WARNINGS AND CAUTIONS RELATED TOPROGRAMMING This section covers the major safety precautions related to programming. Before attempting to perform programming, read the supplied this manual carefully such that you are fully familiar with their contents.
WARNING
1. Coordinate system setting
If a coordinate system is established incorrectly, the machine may behave unexpectedly as a result of the program issuing an otherwise valid move command. Such an unexpected operation may damage the tool, the machine itself, the workpiece, or cause injury to the user.
2. Positioning by nonlinear interpolation
When performing positioning by nonlinear interpolation (positioning by nonlinear movement between the start and end points), the tool path must be carefully confirmed before performing programming. Positioning involves rapid traverse. If the tool collides with the workpiece, it may damage the tool, the machine itself, the workpiece, or cause injury to the user.
3. Function involving a rotation axis
When programming polar coordinate interpolation or normal–direction (perpendicular) control, pay careful attention to the speed of the rotation axis. Incorrect programming may result in the rotation axis speed becoming excessively high, such that centrifugal force causes the chuck to lose its grip on the workpiece if the latter is not mounted securely. Such mishap is likely to damage the tool, the machine itself, the workpiece, or cause injury to the user.
4. Inch/metric conversion
Switching between inch and metric inputs does not convert the measurement units of data such as the workpiece origin offset, parameter, and current position. Before starting the machine, therefore, determine which measurement units are being used. Attempting to perform an operation with invalid data specified may damage the tool, the machine itself, the workpiece, or cause injury to the user.
5. Constant surface speed control
When an axis subject to constant surface speed control approaches the origin of the workpiece coordinate system, the spindle speed may become excessively high. Therefore, it is necessary to specify a maximum allowable speed. Specifying the maximum allowable speed incorrectly may damage the tool, the machine itself, the workpiece, or cause injury to the user.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–61404E/08
s–6
WARNING
6. Stroke check
After switching on the power, perform a manual reference position return as required. Stroke check is not possible before manual reference position return is performed. Note that when stroke check is disabled, an alarm is not issued even if a stroke limit is exceeded, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the user.
7. Tool post interference check
A tool post interference check is performed based on the tool data specified during automatic operation. If the tool specification does not match the tool actually being used, the interference check cannot be made correctly, possibly damaging the tool or the machine itself, or causing injury to the user. After switching on the power, or after selecting a tool post manually, always start automatic operation and specify the tool number of the tool to be used.
8. Absolute/incremental mode
If a program created with absolute values is run in incremental mode, or vice versa, the machine may behave unexpectedly.
9. Plane selection
If an incorrect plane is specified for circular interpolation, helical interpolation, or a canned cycle, the machine may behave unexpectedly. Refer to the descriptions of the respective functions for details.
10. Torque limit skip
Before attempting a torque limit skip, apply the torque limit. If a torque limit skip is specified without the torque limit actually being applied, a move command will be executed without performing a skip.
11. Programmable mirror image
Note that programmed operations vary considerably when a programmable mirror image is enabled.
12. Compensation function
If a command based on the machine coordinate system or a reference position return command is issued in compensation function mode, compensation is temporarily canceled, resulting in the unexpected behavior of the machine. Before issuing any of the above commands, therefore, always cancel compensation function mode.ww
w. cn
cc en
ter .co
m
B–61404E/08 SAFETY PRECAUTIONS
s–7
4 WARNINGS AND CAUTIONS RELATED TO HANDLING This section presents safety precautions related to the handling of machine tools. Before attempting to operate your machine, read the supplied this manual carefully, such that you are fully familiar with their contents.
WARNING
1. Manual operation
When operating the machine manually, determine the current position of the tool and workpiece, and ensure that the movement axis, direction, and feedrate have been specified correctly. Incorrect operation of the machine may damage the tool, the machine itself, the workpiece, or cause injury to the operator.
2. Manual reference position return
After switching on the power, perform manual reference position return as required. If the machine is operated without first performing manual reference position return, it may behave unexpectedly. Stroke check is not possible before manual reference position return is performed. An unexpected operation of the machine may damage the tool, the machine itself, the workpiece, or cause injury to the user.
3. Manual numeric command
When issuing a manual numeric command, determine the current position of the tool and workpiece, and ensure that the movement axis, direction, and command have been specified correctly, and that the entered values are valid. Attempting to operate the machine with an invalid command specified may damage the tool, the machine itself, the workpiece, or cause injury to the operator.
4. Manual handle feed
In manual handle feed, rotating the handle with a large scale factor, such as 100, applied causes the tool and table to move rapidly. Careless handling may damage the tool and/or machine, or cause injury to the user.
5. Disabled override
If override is disabled (according to the specification in a macro variable) during threading, rigid tapping, or other tapping, the speed cannot be predicted, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the operator.
6. Origin/preset operation
Basically, never attempt an origin/preset operation when the machine is operating under the control of a program. Otherwise, the machine may behave unexpectedly, possibly damaging the tool, the machine itself, the tool, or causing injury to the user.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–61404E/08
s–8
WARNING
7. Workpiece coordinate system shift
Manual intervention, machine lock, or mirror imaging may shift the workpiece coordinate system. Before attempting to operate the machine under the control of a program, confirm the coordinate system carefully. If the machine is operated under the control of a program without making allowances for any shift in the workpiece coordinate system, the machine may behave unexpectedly, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the operator.
8. Software operator’s panel and menu switches
Using the software operator’s panel and menu switches, in combination with the MDI panel, it is possible to specify operations not supported by the machine operator’s panel, such as mode change, override value change, and jog feed commands. Note, however, that if the MDI panel keys are operated inadvertently, the machine may behave unexpectedly, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the user.
9. Manual intervention
If manual intervention is performed during programmed operation of the machine, the tool path may vary when the machine is restarted. Before restarting the machine after manual intervention, therefore, confirm the settings of the manual absolute switches, parameters, and absolute/incremental command mode.
10. Feed hold, override, and single block
The feed hold, feedrate override, and single block functions can be disabled using custom macro system variable #3004. Be careful when operating the machine in this case.
11. Dry run
Usually, a dry run is used to confirm the operation of the machine. During a dry run, the machine operates at dry run speed, which differs from the corresponding programmed feedrate. Note that the dry run speed may sometimes be higher than the programmed feed rate.
12. Cutter and tool nose radius compensation in MDI mode
Pay careful attention to a tool path specified by a command in MDI mode, because cutter or tool nose radius compensation is not applied. When a command is entered from the MDI to interrupt in automatic operation in cutter or tool nose radius compensation mode, pay particular attention to the tool path when automatic operation is subsequently resumed. Refer to the descriptions of the corresponding functions for details.
13. Program editing
If the machine is stopped, after which the machining program is edited (modification, insertion, or deletion), the machine may behave unexpectedly if machining is resumed under the control of that program. Basically, do not modify, insert, or delete commands from a machining program while it is in use.
ww w.
cn cc
en ter
.co m
B–61404E/08 SAFETY PRECAUTIONS
s–9
5 WARNINGS RELATED TO DAILY MAINTENANCE WARNING
1. Memory backup battery replacement
When replacing the memory backup batteries, keep the power to the machine (CNC) turned on, and apply an emergency stop to the machine. Because this work is performed with the power on and the cabinet open, only those personnel who have received approved safety and maintenance training may perform this work. When replacing the batteries, be careful not to touch the high–voltage circuits (marked and fitted with an insulating cover). Touching the uncovered high–voltage circuits presents an extremely dangerous electric shock hazard.
NOTE
The CNC uses batteries to preserve the contents of its memory, because it must retain data such as programs, offsets, and parameters even while external power is not applied. If the battery voltage drops, a low battery voltage alarm is displayed on the machine operator’s panel or CRT screen. When a low battery voltage alarm is displayed, replace the batteries within a week. Otherwise, the contents of the CNC’s memory will be lost. Refer to the maintenance section of this manual for details of the battery replacement procedure.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–61404E/08
s–10
WARNING
2. Absolute pulse coder battery replacement
When replacing the memory backup batteries, keep the power to the machine (CNC) turned on, and apply an emergency stop to the machine. Because this work is performed with the power on and the cabinet open, only those personnel who have received approved safety and maintenance training may perform this work. When replacing the batteries, be careful not to touch the high–voltage circuits (marked and fitted with an insulating cover). Touching the uncovered high–voltage circuits presents an extremely dangerous electric shock hazard.
NOTE
The absolute pulse coder uses batteries to preserve its absolute position. If the battery voltage drops, a low battery voltage alarm is displayed on the machine operator’s panel or CRT screen. When a low battery voltage alarm is displayed, replace the batteries within a week. Otherwise, the absolute position data held by the pulse coder will be lost. Refer to the maintenance section of this manual for details of the battery replacement procedure.
ww w.
cn cc
en ter
.co m
B–61404E/08 SAFETY PRECAUTIONS
s–11
WARNING
3. Fuse replacement
Before replacing a blown fuse, however, it is necessary to locate and remove the cause of the blown fuse. For this reason, only those personnel who have received approved safety and maintenance training may perform this work. When replacing a fuse with the cabinet open, be careful not to touch the high–voltage circuits (marked and fitted with an insulating cover).
I. GENERAL
1.
II. PROGRAMMING
1.
2.
3.
4.
6.
7.
8.
9.
10.
12.
13.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.  OPERATION
1.
2.
3.
5.
6.
7.
8.
9.
10.
11.
12.
13.
IV. MAINTENANCE
1.
B.
C.
D.

E. STATUS WHEN TURNING POWER ON, WHEN CLEAR AND WHEN RESET 651. . . .
F.
G.
H.
I.
J.  GENERALGENERAL
3
1 ������� This manual consists of the following parts:
I. GENERAL Describes chapter organization, applicable models, related manuals, and notes for reading this manual.
II. PROGRAMMING Describes each function: Format used to program functions in the NC language, characteristics, and restrictions. When a program is created through conversational automatic programming function, refer to the manual for the conversational automatic programming function (Table 1).
III. OPERATION Describes the manual operation and automatic operation of a machine, procedures for inputting and outputting data, and procedures for editing a program.
IV.MAINTENANCE Describes procedure for replacing batteries.
APPENDIX Lists tape codes, valid data ranges, and error codes.
This manual does not describe parameters in detail. For details on parameters mentioned in this manual, refer to the manual for parameters (B–61410E).
This manual describes all optional functions. Look up the options incorporated into your system in the manual written by the machine tool builder.
The models covered by this manual, and their abbreviations are:
Product name Abbreviations
FANUC Series 0–MC 0–MC
FANUC Series 0–MF 0–MF Series 0
FANUC Series 0–GSC 0–GSC
FANUC Series 00–MC 00–MC Series 00
FANUC Series 0–Mate MC 0–Mate MC Series 0–Mate
FANUC Series 0–Mate MF 0–Mate MF Series 0–Mate
FANUC Series 0–MD 0–MD Series 0–D
FANUC Series 0–GSD 0–GSD Series 0–D
Series 0–D FANUC Series 0–MD II 0–MD II
Series 0–D II
Series 0–D
FANUC Series 0–GSD II 0–GSD II Series 0–D II
About this manual
Applicable models
ww w.
cn cc
en ter
.co m
GENERAL B–61404E/081. GENERAL
4
This manual uses the following symbols: ��_: Indicates a combination of axes such as X__ Y__
Z (used in PROGRAMMING.).
; : Indicates the end of a block. It actually corre- sponds to the ISO code LF or EIA code CR.
The table below lists manuals related to the FANUC Series 0/00/0–Mate. In the table, this manual is marked with an asterisk (*).
 GENERALGENERAL
5
List of related manuals
Manual name Specificationnumber
FANUC Series 0/00/0–Mate CONNECTION MANUAL (HARDWARE) B–61393E
FANUC Series 0/00/0–Mate CONNECTION MANUAL (FUNCTION) B–61393E–2
FANUC Series 0/00/0–Mate FOR LATHE OPERATOR’S MANUAL B–61394E
FANUC Series 0/00/0–Mate FOR MACHINING CENTER OPERATOR’S MANUAL B–61404E *
FANUC Series 0/00/0–Mate MAINTENANCE MANUAL B–61395E
FANUC Series 0/00/0–Mate FOR LATHE PARAMETER MANUAL B–61400E
FANUC Series 0/00/0–Mate FOR MACHINING CENTER PARAMETER MANUAL B–61410E
� Series 0–D II
ww w.
cn cc
en ter
.co m
GENERAL B–61404E/081. GENERAL
6
When machining the part using the CNC machine tool, first prepare the program, then operate the CNC machine by using the program.
1) First, prepare the program from a part drawing to operate the CNC machine tool. Store the program to a media appropriate for the CNC. How to prepare the program is described in the Chapter II. PROGRAMMING.
2) The program is to be read into the CNC system. Then, mount the workpieces and tools on the machine, and operate the tools according to the programming. Finally, execute the machining actually. How to operate the CNC system is described in the Chapter III. OPERATION.
Part drawing
Part program- ming
CHAPTER II PROGRAMMING CHAPTER III OPERATION
CNC MACHINE TOOL
Before the actual programming, make the machining plan for how to machine the part. Machining plan
1. Determination of workpieces machining range 2. Method of mounting workpieces on the machine tool 3. Machining sequence in every cutting process 4. Cutting tools and cutting conditions
Decide the cutting method in every cutting process.
Cutting process 1 2 3
Cutting procedure Feed cutting Side cutting Hole
machining
1. Cutting method: Rough Semi Finish
2. Cutting tools
3. Cutting conditions: Feedrate Cutting depth
4. Tool path
1.1 GENERAL FLOW OF OPERATION OF CNC MACHINE TOOL
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALGENERAL
7
Tool
Side cutting
Face cutting
Hole machining
Prepare the program of the tool path and machining condition according to the workpiece figure, for each machining.
ww w.
cn cc
en ter
.co m
GENERAL B–61404E/081. GENERAL
8
1.2 NOTES ON READING THIS MANUAL
NOTE 1 The function of an CNC machine tool system depends not
only on the CNC, but on the combination of the machine tool, its magnetic cabinet, the servo system, the CNC, the operator’s panels, etc. It is too difficult to describe the function, programming, and operation relating to all combinations. This manual generally describes these from the stand–point of the CNC. So, for details on a particular CNC machine tool, refer to the manual issued by the machine tool builder, which should take precedence over this manual.
2 Headings are placed in the left margin so that the reader can easily access necessary information. When locating the necessary information, the reader can save time by searching though these headings.
3 Machining programs, parameters, variables, etc. are stored in the CNC unit internal non–volatile memory. In general, these contents are not lost by the switching ON/OFF of the power. However, it is possible that a state can occur where precious data stored in the non–volatile memory has to be deleted, because of deletions from a maloperation, or by a failure restoration. In order to restore rapidly when this kind of mishap occurs, it is recommended that you create a copy of the various kinds of data beforehand.
4 This manual describes as many reasonable variations in equipment usage as possible. It cannot address every combination of features, options and commands that should not be attempted. If a particular combination of operations is not described, it should not be attempted.
5 This manual describes the functions supported by the software of the following series and editions of FANUC Series 0/00/0–Mate. These functions may not be supported by other series or editions of the software.
For the functions supported by the Series 0–D, see “Specifications” in Appendix I.
Product name Series Editions
FANUC Series 0–MC
FANUC Series 0–MF
FANUC Series 0–GSC
FANUC Series 00–MC
FANUC Series 0–Mate MC
FANUC Series 0–Mate MF
FANUC Series 0–MD
FANUC Series 0–GSD
FANUC Series 0–MD II
FANUC Series 0–GSD II
0469
0467
0866
0468
0455
0454
0472
0891
0473
0892
01 or more
14 or more
09 or more
05 or more
06 or more
03 or more
01 or more
01 or more
02 or more
02 or more
ww w.
cn cc
en ter
.co m
II. PROGRAMMING
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
11
1 GENERAL
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/081. GENERAL
12
The tool moves along straight lines and arcs constituting the workpiece parts figure (See II–4).
Program G01 X_ _ Y_ _ ; X_ _ ;
Tool
Workpiece
Fig.1.1 (a) Tool movement along a straight line
Program G03X_ _Y_ _R_ _;
Workpiece Tool
Fig.1.1 (b) Tool movement along an arc
Symbols of the programmed commands G01, G02, ... are called the preparatory function and specify the type of interpolation conducted in the control unit.
1.1 TOOL MOVEMENT ALONG WORKPIECE PARTS FIGURE– INTERPOLATION
Explanations
� Tool movement along a straight line
� Tool movement along an arc
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
13
(a) Movement along straight line
G01 Y__; X––Y––––;
(b) Movement along arc
G03X––Y––R––;
Control unit
X axis
Y axis
Tool move- ment
Interpolation
a) Movement along straight line
b) Movement along arc
Fig.1.1 (c) Interpolation function
NOTE Some machines move tables instead of tools but this manual assumes that tools are moved against workpieces.
Movement of the tool at a specified speed for cutting a workpiece is called the feed.
Tool
Workpiece
Table
F
mm/min
Fig.1.2 Feed function
Feedrates can be specified by using actual numerics. For example, to feed the tool at a rate of 150 mm/min, specify the following in the program: F150.0 The function of deciding the feed rate is called the feed function (See II–5).
1.2 FEED– FEED FUNCTION
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/081. GENERAL
14
A CNC machine tool is provided with a fixed position. Normally, tool change and programming of absolute zero point as described later are performed at this position. This position is called the reference position.
Reference position
Tool
Workpiece
Table
Fig.1.3.1 Reference position
The tool can be moved to the reference position in two ways:
(1)Manual reference position return (See III–3.1) Reference position return is performed by manual button operation.
(2)Automatic reference position return (See II–6) In general, manual reference position return is performed first after the power is turned on. In order to move the tool to the reference position for tool change thereafter, the function of automatic reference position return is used.
1.3 PART DRAWING AND TOOL MOVEMENT
1.3.1 Reference Position (Machine–Specific Position)
� ����� ����
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
15
Z
Y
X
Part drawing
Coordinate system
Tool
Workpiece
Machine tool
Program
Command
CNC
Z
Y
X
Z
Y
X
Fig.1.3.2 (a) Coordinate system
The following two coordinate systems are specified at different locations: (See II–7)
(1)Coordinate system on part drawing The coordinate system is written on the part drawing. As the program data, the coordinate values on this coordinate system are used.
(2)Coordinate system specified by the CNC The coordinate system is prepared on the actual machine tool table. This can be achieved by programming the distance from the current position of the tool to the zero point of the coordinate system to be set.
230
300
Program zero point
Distance to the zero point of a coordinate system to be set
Present tool position
Y
X
Fig.1.3.2 (b) Coordinate system specified by the CNC
The positional relation between these two coordinate systems is determined when a workpiece is set on the table.
1.3.2 Coordinate System on Part Drawing and Coordinate System Specified by CNC – Coordinate System
Explanations
� Coordinate system
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/081. GENERAL
16
Table
Workpiece
Coordinate system specified by the CNC established on the table
Coordinate system on part drawing established on the workpiece
Y
X
Y
X
Fig.1.3.2 (c) Coordinate system specified by CNC and coordinate systemon part drawing
The tool moves on the coordinate system specified by the CNC in accordance with the command program generated with respect to the coordinate system on the part drawing, and cuts a workpiece into a shape on the drawing. Therefore, in order to correctly cut the workpiece as specified on the drawing, the two coordinate systems must be set at the same position.
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
17
To set the two coordinate systems at the same position, simple methods shall be used according to workpiece shape, the number of machinings.
(1)Using a standard plane and point of the workpiece.
Program zero point
Workpiece’s standard pointFixed distance
Bring the tool center to the workpiece standard point. And set the coordinate system specified by CNC at this position.
Fixed distance
Y
X
(2)Mounting a workpiece directly against the jig
Jig
Program zero point
Meet the tool center to the reference position. And set the coordinate system specified by CNC at this position. (Jig shall be mounted on the predetermined point from the reference position.)
(3)Mounting a workpiece on a pallet, then mounting the workpiece and pallet on the jig
ÅÅÅÅÅÅ ÅÅÅÅÅÅ ÅÅÅÅÅÅ ÅÅÅÅÅÅ ÅÅÅÅÅÅ ÅÅÅÅÅÅ ÅÅÅÅÅÅ
Pallet
(Jig and coordinate system shall be specified by the same as (2)).
Jig
Workpiece
� Methods of setting the two coordinate systems in the same position
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/081. GENERAL
18
Coordinate values of command for moving the tool can be indicated by absolute or incremental designation (See II–8.1).
The tool moves to a point at “the distance from zero point of the coordinate system” that is to the position of the coordinate values.
B(10,30,20)
Tool
Command specifying movement from point A to point B
G90 X10.0 Y30.0 Z20.0 ;
Coordinates of point B
Y
X
Z
A
Specify the distance from the previous tool position to the next tool position.
X=40
Z=–10
G91 X40.0 Y–30.0 Z–10.0 ;
Distance and direction for movement along each axis
Tool
Command specifying movement from point A to point B
Y= –30
Y
X
Z
A
B
1.3.3 How to Indicate Command Dimensions for Moving the Tool – Absolute, Incremental Commands
Explanations
� Absolute coordinates
� Incremental coordinates
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
19
The speed of the tool with respect to the workpiece when the workpiece is cut is called the cutting speed. As for the CNC, the cutting speed can be specified by the spindle speed in rpm unit.
rpm ø D
mm/min
Tool
V: Cutting speed
Workpiece
Spindle speed N mm
<When a workpiece should be machined with a tool 100 mm in diameter at a cutting speed of 80 mm/min. > The spindle speed is approximately 250 rpm, which is obtained from N=1000v/πD. Hence the following command is required:
S250 ; Commands related to the spindle speed are called the spindle speed function (See II–9).
1.4 CUTTING SPEED – SPINDLE SPEED FUNCTION
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/081. GENERAL
20
When drilling, tapping, boring, milling or the like, is performed, it is necessary to select a suitable tool. When a number is assigned to each tool and the number is specified in the program, the corresponding tool is selected.
01
02
Tool number
ATC magazine
<When No.01 is assigned to drilling tool> When the tool is stored at location 01 in the ATC magazine, the tool can be selected by specifying T01. This is called the tool function (See II–10).
When machining is actually started, it is necessary to rotate the spindle, and feed coolant. For this purpose, on–off operations of spindle motor and coolant valve should be controlled (See II–11).
Workpiece
Tool
Coolant
The function of specifying the on–off operations of the components of the machine is called the miscellaneous function. In general, the function is specified by an M code. For example, when M03 is specified, the spindle is rotated clockwise at the specified spindle speed.
1.5 SELECTION OF TOOL USED FOR VARIOUS MACHINING – TOOL FUNCTION
Examples
1.6 COMMAND FOR MACHINE OPERATIONS – MISCELLANEOUS FUNCTION
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
21
A group of commands given to the CNC for operating the machine is called the program. By specifying the commands, the tool is moved along a straight line or an arc, or the spindle motor is turned on and off. In the program, specify the commands in the sequence of actual tool movements.
Block
⋅
⋅
⋅
⋅
Program
Tool movement sequence
Block
Block
Block
Block
Fig.1.7 (a) Program configuration
A group of commands at each step of the sequence is called the block. The program consists of a group of blocks for a series of machining. The number for discriminating each block is called the sequence number, and the number for discriminating each program is called the program number (See II–12).
1.7 PROGRAM CONFIGURATION
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/081. GENERAL
22
The block and the program have the following configurations.
N ���� G �� X ��.� Y ���.� M �� S �� T �� ;
1 block
Sequence number
Preparatory function
Dimension word Miscel- laneous function
Spindle function
Tool func- tion
End of block
Fig.1.7 (b) Block configuration
A block has a sequence number at its head, which identifies the block, and an end–of–block code at the end, indicating the end of the block. This manual indicates the end–of–block code by ; (LF in the ISO code and CR in the EIA code).
; O ���� ;
·
·
·
M30 ;
Program number
Block
Block
Block
End of program
·
·
·
Fig.1.7 (c) Program configuration
Normally, a program number is specified after the end–of–block (;) code at the beginning of the program, and a program end code (M02 or M30) is specified at the end of the program.
Explanations
� Block
� Program
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
23
When machining of the same pattern appears at many portions of a program, a program for the pattern is created. This is called the subprogram. On the other hand, the original program is called the main program. When a subprogram execution command appears during execution of the main program, commands of the subprogram are executed. When execution of the subprogram is finished, the sequence returns to the main program.
 GENERAL
24
Usually, several tools are used for machining one workpiece. The tools have different tool length. It is very troublesome to change the program in accordance with the tools. Therefore, the length of each tool used should be measured in advance. By setting the difference between the length of the standard tool and the length of each tool in the CNC (data display and setting : see III–11), machining can be performed without altering the program even when the tool is changed. This function is called tool length compensation.
H1 H2 H3 H4
ÇÇ ÇÇ ÇÇ ÇÇ ÇÇ ÇÇ
ÅÅ ÅÅ ÅÅ ÅÅ ÅÅ
Standard tool
Workpiece
Because a cutter has a radius, the center of the cutter path goes around the workpiece with the cutter radius deviated.
Workpiece
Cutter path using cutter compensation
Machined part figure
Cutter
If radius of cutters are stored in the CNC (Data Display and Setting : see III–11), the tool can be moved by cutter radius apart from the machining part figure. This function is called cutter compensation.
1.8 TOOL FIGURE AND TOOL MOTION BY PROGRAM Explanations
� Machining using the end of cutter – Tool length compensation function (See II–14.1)
� Machining using the side of cutter – Cutter compensation function (See II–14.4 to 14.6)
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALPROGRAMMING
25
Limit switches are installed at the ends of each axis on the machine to prevent tools from moving beyond the ends. The range in which tools can move is called the stroke.
ÇÇÇÇÇÇ ÇÇÇÇÇÇ ÇÇÇÇÇÇ
Motor
Limit switch
Table
Machine zero point
Specify these distances.
Tools cannot enter this area. The area is specified by data in memory or a program.
Besides strokes defined with limit switches, the operator can define an area which the tool cannot enter using a program or data in memory (see Section III–11). This function is called stroke check.
1.9 TOOL MOVEMENT RANGE – STROKE
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/082. CONTROLLED AXES
26
2 CONTROLLED AXES
ww w.
cn cc
en ter
.co m
B–61404E/08 2. CONTROLLED AXESPROGRAMMING
27
Series 0/00–C
Series 0–Mate C
Series 0–D
No. of basic controlled axes 3 axes 3 axes 3 axes
Controlled axes expansion (PMC axis is not included.)
Up to 4 axes Up to 4 axes Up to 4 axes
Basic simultaneously con- trolled axes
2 axes 2 axes 2 axes
Simultaneously controlled axes expansion
Up to 4 axes Up to 3 axes Up to 4 axes
Axes controlled by PMC Up to 2 axes (Note)
— —
NOTE The number of PMC–controlled axes. The PMC can control up to four axes, including PMC–controlled axes and those axes that are usually controlled by the CNC.
Names of the three basic axes are fixed as X, Y, and Z. Names of additional axes can be optionally selected from A, B, C, U, V, and W. They can be set by parameter No. 008 #2, #3, #4.
Name of increment
system
Least input increment
Least command increment
Maximum stroke
IS–B 0.001mm 0.0001inch 0.001deg
0.001mm 0.0001inch 0.001deg
99999.999mm 9999.9999inch 99999.999deg
Name of increment
system
Least input increment
Least command increment
Maximum stroke
IS–C 0.0001mm 0.00001inch 0.00001deg
0.0001mm 0.00001inch 0.00001deg
9999.9999mm 999.99999inch 9999.9999deg
Combined use of the inch system and the metric system is not allowed. There are functions that cannot be used between axes with different unit systems (circular interpolation, cutter compensation, etc.). For the increment system, see the machine tool builder’s manual.
Maximum stroke = Least command increment�99999999 See 2.3 Incremen System.
2.1 CONTROLLED AXES
2.2 NAME OF AXES
2.3 INCREMENT SYSTEM
2.4 MAXIMUM STROKE
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/08 3. PREPARATORY FUNCTION
(G FUNCTION)
28
3 PREPARATORY FUNCTION (G FUNCTION) A number following address G determines the meaning of the command for the concerned block. G codes are divided into the following two types.
Type Meaning
One–shot G code The G code is effective only in the block in which it is speci- fied.
Modal G code The G code is effective until another G code of the same group is specified.
G01 and G00 are modal G codes in group 01.
G01X ; Z ; X ;
G00Z ;
G01 is effective in this range.
1. Modal G codes have the following initial conditions when the power is turned on or the system is reset to the clear state (bit 6 of parameter No. 045). 1) Those G codes marked in Table 3 are specified automatically. 2) G20 and G21 retain their original conditions. 3) When the power is turned on, G22 is specified automatically.
When the system is reset, G22 and G23 retain their original conditions.
4) G00 or G01 is automatically selected depending on the setting of bit 6 of parameter No. 011.
5) G90 or G91 is automatically selected depending on the setting of bit 7 of parameter No. 030.
6) G17, G18, or G19 is automatically selected depending on the setting of parameter No. 212.
2. The G codes of group 00, except G10 and G11, are one–shot G codes. 3. If a G code that does not appear in the G code list is specified, or a G
code whose options are not supported is specified, alarm No. 010 is displayed.
4. Multiple G codes of different groups can be specified in a single block. When multiple G codes of one group are specified in a block, the G code specified last is effective.
5. If any G code of group 01 is specified in a canned cycle mode, the canned cycle is automatically cancelled and the G80 condition is entered. However, a G code of group 01 is not affected by any of the canned cycle G codes.
6. A G code is displayed from each group.
Explanations
Explanations
ww w.
cn cc
en ter
.co m
B–61404E/08 3. PREPARATORY FUNCTION
(G FUNCTION)PROGRAMMING
29
Table 3 G code list (1/3)
G code Group Function
G00 Positioning
G01 01
Linear interpolation
G02 01
Circular interpolation/Helical interpolation CW
G03 Circular interpolation/Helical interpolation CCW
G04 Dwell, Exact stop
G05 High speed cycle machining
G08 00
Advanced preview control
G09 00
Exact stop
G10 Data setting
G11 Data setting mode cancel
G15 17
Polar coordinates command cancel
G16 17
Polar coordinates command
G17 XpYp plane selection Xp: X axis or its parallel axis
G18 02 ZpXp plane selection Yp: Y axis or its parallel axis
G19 YpZp plane selection Zp: Z axis or its parallel axis
G20 06
Input in inch
G21 06
Input in mm
G22 04
Stored stroke check function on
G23 04
Stored stroke check function off
G27 Reference position return check
G28 Return to reference position
G29 00 Return from reference position
G30 2nd, 3rd and 4th reference position return
G31 Skip function
G33 01 Thread cutting
G37 00
Automatic tool length measurement
G39 00
Corner offset circular interpolation
G40 Cutter compensation cancel
G41 07 Cutter compensation left
G42 Cutter compensation right
G43 08
Tool length compensation + direction
G44 08
Tool length compensation – direction
G45 Tool offset increase
G46 00
Tool offset decrease
G47 00
Tool offset double increase
G48 Tool offset double decrease
G49 08 Tool length compensation cancel
G50 11
Scaling cancel
G51 11
Scaling
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/08 3. PREPARATORY FUNCTION
(G FUNCTION)
30
Table 3 G code list (2/3)
G code Group Function
G52 00
Local coordinate system setting
G53 00
Machine coordinate system selection
G54 Workpiece coordinate system 1 selection
G55 Workpiece coordinate system 2 selection
G56 14
Workpiece coordinate system 3 selection
G57 14
Workpiece coordinate system 4 selection
G58 Workpiece coordinate system 5 selection
G59 Workpiece coordinate system 6 selection
G60 00 Single direction positioning
G61 Exact stop mode
G62 15
Automatic corner override
G63 15
Tapping mode
G64 Cutting mode
G65 00 Macro call
G66 12
Macro modal call
G67 12
Macro modal call cancel
G68 16
Coordinate rotation
G69 16
Coordinate rotation cancel
G73 09
Peck drilling cycle
G74 09
Counter tapping cycle
G75 01 Plunge grinding cycle (0–GSC, 0–GSD/II)
G76 09 Fine boring cycle
G77 Direct constant–dimension plunge grinding cycle (0–GSC, 0–GSD/II)
G78 01 Continuous–feed surface grinding cycle (0–GSC, 0–GSD/II)
G79 Intermittent–feed surface grinding cycle (0–GSC, 0–GSD/II)
G80 Canned cycle cancel/external operation function cancel
G81 Drilling cycle, spot boring cycle or external operation function
G82 Drilling cycle or counter boring cycle
G83 Peck drilling cycle
G84 09
Tapping cycle
G85 09
Boring cycle
G86 Boring cycle
G87 Back boring cycle
G88 Boring cycle
G89 Boring cycleww w.
cn cc
en ter
.co m
B–61404E/08 3. PREPARATORY FUNCTION
(G FUNCTION)PROGRAMMING
31
Table 3 G code list (3/3)
G code Group Function
G90 03
Absolute command
G91 03
Increment command
G92 00 Setting for work coordinate system or clamp at maximum spindle speed
G94 05
Feed per minute
G95 05
Feed per rotation
G96 13
Constant surface speed control
G97 13
Constant surface speed control cancel
G98 10
Return to initial point in canned cycle
G99 10
Return to R point in canned cycle
G107 00 Cylindrical interpolation
G150 Normal direction control cancel mode
G151 19 Normal direction control left side on
G152 Normal direction control right side on
G160 20
In–feed control function cancel (0–GSC, 0–GSD/II)
G161 20
In–feed control function (0–GSC, 0–GSD/II)
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
32
4 INTERPOLATION FUNCTIONS
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
33
The G00 command moves a tool to the position in the workpiece system specified with an absolute or an incremental command at a rapid traverse rate. In the absolute command, coordinate value of the end point is programmed. In the incremental command the distance the tool moves is programmed.
_: For an absolute command, the coordinates of an end posi- tion, and for an incremental command, the distance the tool moves.
G00
��
_ ;��
Tool path generally does not become a straight line.
End position Non liner positioning.
Start position
The rapid traverse rate in the G00 command is set to the parameter No. 518 to 521 for each axis independently by the machine tool builder. In the positioning mode actuated by G00, the tool is accelerated to a predetermined speed at the start of a block and is decelerated at the end of a block. Execution proceeds to the next block after confirming the in–position. “In–position” means that the feed motor is within the specified range. This range is determined by the machine tool builder by setting to parameter No. 500 to 503.
The rapid traverse rate cannot be specified in the address F.
4.1 POSITIONING (G00)
Format
Explanations
Restrictions
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
34
For accurate positioning without play of the machine (backlash), final positioning from one direction is available.
Start position
Temporary stop End position
Overrun
Start position
_: For an absolute command, the coordinates of an end posi- tion, and for an incremental command, the distance the tool moves.
G60
��
_ ;��
An overrun and a positioning direction are set by the parameter (No. 029 #0 to #3, No. 204 to 207). Even when a commanded positioning direction coincides with that set by the parameter, the tool stops once before the end point.
� During drilling canned cycle, no single direction positioning is effected in Z axis.
� No single direction positioning is effected in an axis for which no overrun has been set by the parameter.
� When the move distance 0 is commanded, the single direction positioning is not performed.
� The direction set to the parameter is not effected by mirror image.
� The single direction positioning does not apply to the shift motion in the canned cycles of G76 and G87.
4.2 SINGLE DIRECTION POSITIONING (G60)
Format
Explanations
Restrictions
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
35
Tools can move along a line
��_: For an absolute command, the coordinates of an end point, and for an incremental command, the distance the tool moves.
F_: Speed of tool feed (Feedrate)
G01 _ F_ ;��
A tools move along a line to the specified position at the feedrate specified in F. The feedrate specified in F is effective until a new value is specified. It need not be specified for each block. The feedrate commanded by the F code is measured along the tool path. If the F code is not commanded, the feedrate is regarded as zero. The feedrate of each axis direction is as follows.
F� � � L � f
F� � �
L � f
F� � �
L � f
Feed rate of a axis direction :
F� � �
L � f
L � �2 � �2 � �2 � �2�
G01 � � � � � � � � Ff ;
Feed rate of g axis direction :
Feed rate of b axis direction :
Feed rate of z axis direction :
The feed rate of the rotary axis is commanded in the unit of deg/min (the unit is decimal point position).
When the straight line axis� (such as X, Y, or Z) and the rotating axis� (such as A, B, or C) are linearly interpolated, the feed rate is that in which the tangential feed rate in the� and� cartesian coordinate system is commanded by F(mm/min). �–axis feedrate is obtained ; at first, the time required for distribution is calculated by using the above formula, then the β–axis feedrate unit is changed to deg 1min.
4.3 LINEAR INTERPOLATION (G01)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
36
A calculation example is as follows. G91 G01 X20.0B40.0 F300.0 ; This changes the unit of the C axis from 40.0 deg to 40mm with metric input. The time required for distribution is calculated as follows:
202 � 402�
300
40 0.14907
The feed rate for the C axis is
0.14907 (min)
268.3 deg�min
In simultaneous 3 or 4 axes control, the feed rate is calculated the same way as in 2 axes control.
100.0
200.00
(G91) G01X200.0Y100.0F200.0 ;
Y axis
(End position)
X axis (Start position)
90° ���� � �����
(End point) Feedrate is 300 deg/min
G91G01C–90.0 G300.0 ;Feed rate of 300deg/min
Examples
� Linear interpolation
� ������ � � � ��
� � � ����
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
37
The command below will move a tool along a circular arc.
G17 G03
Arc in the XpYp plane
Arc in the ZpXp plane
G18
Arc in the YpZp plane
Xp_Yp_ G02
G03
G02
G03
G02G19
Xp_Zp_
Yp_Zp_
I_J_ R_ F_ ;
I_K_ R_
F_ ;
J_K_
R_ F_ ;
Table 4.4 Description of the command format
Command Description
G17 Specification of arc on XpYp plane
G18 Specification of arc on ZpXp plane
G19 Specification of arc on YpZp plane
G02 Circular Interpolation Clockwise direction (CW)
G03 Circular Interpolation Counterclockwise direction (CCW)
Xp_ Command values of X axis or its parallel axis
Yp_ Command values of Y axis or its parallel axis
Zp_ Command values of Z axis or its parallel axis
I_ Xp axis distance from the start point to the center of an arc with sign
J_ Yp axis distance from the start point to the center of an arc with sign
K_ Zp axis distance from the start point to the center of an arc with sign
R_ Arc radius with sign fixed to radius designation.
F_ Feedrate along the arc
4.4 CIRCULAR INTERPOLATION (G02, G03)
Format
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
38
“Clockwise”(G02) and “counterclockwise”(G03) on the XpYp plane (ZpXp plane or YpZp plane) are defined when the XpYp plane is viewed in the positive–to–negative direction of the Zp axis (Yp axis or Xp axis, respectively) in the Cartesian coordinate system. See the figure below.
Yp
G02
G03
G17 G18 G19
G02
G03
G02
G03
Xp Zp
Xp Zp Yp
The end point of an arc is specified by address Xp, Yp or Zp, and is expressed as an absolute or incremental value according to G90 or G91. For the incremental value, the distance of the end point which is viewed from the start point of the arc is specified.
The arc center is specified by addresses I, J, and K for the Xp, Yp, and Zp axes, respectively. The numerical value following I, J, or K, however, is a vector component in which the arc center is seen from the start point, and is always specified as an incremental value irrespective of G90 and G91, as shown below. I, J, and K must be signed according to the direction.
End point (x,y)
Center
Start point
End point (z,x) End point (y,z)
Start point
Start point
Center Center
i x
y x z
k
z y
j
j i k
I0,J0, and K0 can be omitted. When Xp, Yp , and Zp are omitted (the end point is the same as the start point) and the center is specified with I, J, and K, a 360° arc (circle) is specified. G02I; Command for a circle If the difference between the radius at the start point and that at the end point exceeds the value in a parameter (No.876), an alarm (No.020) occurs. (Valid only when bit 6 of parameter No. 393 is set to 1.)
Explanations
� � ���� � � ��� � ��� ��
����� �� �
� � ������ � ��� � ��
���
� � ������ �� � ��� �����
� �� � ��� ������ � ���
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
39
The distance between an arc and the center of a circle that contains the arc can be specified using the radius, R, of the circle instead of I, J, and K. In this case, one arc is less than 180°, and the other is more than 180° are considered. When an arc exceeding 180° is commanded, the radius must be specified with a negative value. If Xp, Yp, and Zp are all omitted, if the end point is located at the same position as the start point and when R is used, an arc of 0° is programmed G02R ; (The cutter does not move.)
r=50mm
End point
Start point r=50mm
For arc � (less than 180 °) G91 G02 XP60.0 YP20.0 R50.0 F300.0 ;
For arc �(greater than 180 °) G91 G02 XP60.0 YP20.0 R–50.0 F300.0 ;
Y
X
�
�
The feedrate in circular interpolation is equal to the feed rate specified by the F code, and the feedrate along the arc (the tangential feedrate of the arc) is controlled to be the specified feedrate. The error between the specified feedrate and the actual tool feedrate is ±2% or less. However, this feed rate is measured along the arc after the cutter compensation is applied.
If I, J, K, and R addresses are specified simultaneously, the arc specified by address R takes precedence and the other are ignored. If an axis not comprising the specified plane is commanded, an alarm is displayed. For example, if axis U is specified as a parallel axis to X axis when plane XY is specified, an alarm (No.028)is displayed. When an arc having a center angle close to 180ø is specified using its radius R, the system may fail to calculate the center of the arc correctly. Therefore, specify the arc with I, J, and K.
� � � ����
� ���� ���
Restrictionsww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
40
100
60
40
0 90 120 140 200
60R
50R
Y axis
X axis
The above tool path can be programmed as follows ;
(1) In absolute programming
G92X200.0 Y40.0 Z0 ; G90 G03 X140.0 Y100.0R60.0 F300.; G02 X120.0 Y60.0R50.0 ; or G92X200.0 Y40.0Z0 ; G90 G03 X140.0 Y100.0I–60.0 F300.; G02 X120.0 Y60.0I–50.0 ;
(2) In incremental programming
G91 G03 X–60.0 Y60.0 R60.0 F300.; G02 X–20.0 Y–40.0 R50.0 ; or G91 G03 X–60.0 Y60.0 I–60.0 F300. ; G02 X–20.0 Y–40.0 I–50.0 ;
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
41
Helical interpolation is possible, by which the tool is moved along a helix, by specifying circular interpolation together with movement along an axis in a plane other than that specified for circular interpolation.
G03
Synchronously with arc of XpYp plane
Synchronously with arc of ZpXp plane
G18
Synchronously with arc of YpZp plane
Xp_Yp_ G02
G03
G02
G03
G02G19
Xp_Zp_
Yp_Zp_
I_J_
R_ �_ F_ ;
I_K_ R_
J_K_
R_
G17
�_ F_ ;
�_ F_ ;
� : Any one axis where circular interpolation is not applied .
The command method is to simply or secondary add one or two move command axes which is not circular interpolation axes. An F command specifies a feed rate along a circular arc. Therefore, the feed rate of the linear axis is as follows:
F� Length of linear axis
Length of circular arc
Determine the feed rate so the linear axis feed rate does not exceed any of the various limit values. Setting bit 4 of parameter No. 0393 clamps the linear axis speed for helical cutting to the setting in parameter No. 527.
Z
X Y
Tool path
The feedrate along the circumference of two circular interpolated axes is the specified feedrate.
Cutter compensation is applied only for a circular arc. Tool offset and tool length compensation cannot be used in a block in which a helical cutting is commanded.
4.5 HELICAL CUTTING (G02, G03) Format
Explanations
Restrictions
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
42
The amount of travel of a rotary axis specified by an angle is once internally converted to a distance of a linear axis along the outer surface so that linear interpolation or circular interpolation can be performed with another axis. After interpolation, such a distance is converted back to the amount of travel of the rotary axis. The cylindrical interpolation function allows the side of a cylinder to be developed for programming. So programs such as a program for cylindrical cam grooving can be created very easily.
��
_: An address for the rotation axis
r: The radius of the cylinder
G107
��
r ; Starts the cylindrical interpolation mode (enables cylindrical interpolation).:
: : ��G107 0 ; The cylindrical interpolation mode is cancelled.
��Specify G107 r ; and G107 0; in separate blocks.��
Use parameter No. 279 to specify whether the rotation axis is the X–, Y–, or Z–axis, or an axis parallel to one of these axes. Specify the G code to select a plane for which the rotation axis is the specified linear axis. For example, when the rotation axis is an axis parallel to the X–axis, G17 must specify an Xp–Yp plane, which is a plane defined by the rotation axis and the Y–axis or an axis parallel to the Y–axis.
A feedrate specified in the cylindrical interpolation mode is a speed on the developed cylindrical surface.
In the cylindrical interpolation mode, circular interpolation is possible with the rotation axis and another linear axis. Radius R is used in commands in the same way as described in Section 4.4. The unit for a radius is not degrees but millimeters (for metric input) or inches (for inch input). <Example Circular interpolation between the Z axis and C axis>
For the parameter No. 279, 5 (axis parallel with the X axis) is to be set. In this case, the command for circular interpolation is
G18 Z__C__; G02 (G03) Z__C__R__;
For the parameter No. 279, 6 (axis parallel with the Y axis) may be specified instead. In this case, however, the command for circular interpolation is
G19 C__Z__; G02 (G03) Z__C__R__;
To perform cutter compensation in the cylindrical interpolation mode, cancel any ongoing cutter compensation mode before entering the cylindrical interpolation mode. Then, start and terminate cutter compensation within the cylindrical interpolation mode.
4.6 CYLINDRICAL INTERPOLATION (G107)
Format
Explanations
� Plane selection (G17, G18, G19)
� ��������
� Circular interpolation (G02,G03)
� Cutter compensation
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
43
In the cylindrical interpolation mode, the amount of travel of a rotary axis specified by an angle is once internally converted to a distance of a linear axis on the outer surface so that linear interpolation or circular interpolation can be performed with another axis. After interpolation, such a distance is converted back to an angle. For this conversion, the amount of travel is rounded to a least input increment. So when the radius of a cylinder is small, the actual amount of travel can differ from a specified amount of travel. Note, however, that such an error is not accumulative. If manual operation is performed in the cylindrical interpolation mode with manual absolute on, an error can occur for the reason described above.
Specified value�The actual amount of travel 2�2πR
MOTION REV
MOTION REV
MOTION REV : The amount of travel per rotation of the rotation axis (Setting value of parameter No. 1260)
� : Workpiece radius
: Rounded to the least input increment
� � 2�2πR
In the cylindrical interpolation mode, an arc radius cannot be commanded with word address I, J, or K.
If the cylindrical interpolation mode is started when cutter compensation is already applied, circular interpolation is not correctly performed in the cylindrical interpolation mode.
In the cylindrical interpolation mode, positioning operations (including those that produce rapid traverse cycles such as G28, G53, G73, G74, G76, G80 through G89) cannot be specified. Before positioning can be specified, the cylindrical interpolation mode must be cancelled. Cylindrical interpolation cannot be performed in the positioning mode (G00).
In the cylindrical interpolation mode, a workpiece coordinate system (G92, G54 through G59) or local coordinate system (G52) cannot be specified.
In the cylindrical interpolation mode, the cylindrical interpolation mode cannot be reset. The cylindrical interpolation mode must be cancelled before the cylindrical interpolation mode can be reset.
A tool offset must be specified before the cylindrical interpolation mode is set. No offset can be changed in the cylindrical interpolation mode.
Cylindrical interpolation cannot be specified when the index table index function is being used.
� Cylindrical interpolation accuracy
Restrictions
� Arc radius command in the cylindrical interpolation mode
� Circular interpolation and cutter compensation
� Positioning
� Coordinate system setting
� ��� �� ��� �������� �
���� ����
� ���� ������
� Index table indexing function
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
44
2301901500
mm
deg
110
90
70
120
30 60 70 270
N05
N06
N07
N08 N09 N10
N11
N12 N13
360
60
Z
C
Example of a Cylindrical Interpolation Program
O0001 (CYLINDRICAL INTERPOLATION ); N01 G00 G90 Z100.0 C0 ; N02 G01 G91 G18 Z0 C0 ; N03 G107 C57299 ; N04 G90 G01 G42 Z120.0 D01 F250 ; N05 C30.0 ; N06 G02 Z90.0 C60.0 R30.0 ; N07 G01 Z70.0 ; N08 G03 Z60.0 C70.0 R10.0 ; N09 G01 C150.0 ; N10 G03 Z70.0 C190.0 R75.0 ; N11 G01 Z110.0 C230.0 ; N12 G02 Z120.0 C270.0 R75.0 ; N13 G01 C360.0 ; N14 G40 Z100.0 ; N15 G107 C0 ; N16 M30 ;
C
RZ
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
45
Straight threads with a constant lead can be cut. The position coder mounted on the spindle reads the spindle speed in real–time. The read spindle speed is converted to the feedrate per minute to feed the tool.
F : Long axis direction lead
G33 _ F_ ;��
Workpiece
Z
X
In general, thread cutting is repeated along the same tool path in rough cutting through finish cutting for a screw. Since thread cutting starts when the position coder mounted on the spindle outputs a 1–turn signal, threading is started at a fixed point and the tool path on the workpiece is unchanged for repeated thread cutting. Note that the spindle speed must remain constant from rough cutting through finish cutting. If not, incorrect thread lead will occur. In general, the lag of the servo system, etc. will produce somewhat incorrect leads at the starting and ending points of a thread cut. To compensate for this, a threading length somewhat longer than required should be specified. Table 4.7 lists the ranges for specifying the thread lead.
Table 4.7 Ranges of lead sizes that can be specified
Increment system
IS–B IS–C
mm input 0.01 to 500.00 mm 0.01 to 500.00 mm
Inch input 0.0001 to 9.9999 inch 0.0001 to 9.9999 inch
4.7 CONSTANT LEAD THREADING (G33)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
46
NOTE 1 The spindle speed is limited as follows :
1 � spindle speed �
Spindle speed : rpm Thread lead : mm or inch Maximum feedrate : mm/min or inch/min ; maximum command–specified feedrate for feed–per–minute mode or maximum feedrate that is determined based on mechanical restrictions including those related to motors, whichever is smaller
2 Cutting feedrate override is not applied to the converted feedrate in all machining process from rough cutting to finish cutting. The feedrate is fixed at 100%
3 The converted feedrate is limited by the upper feedrate specified.
4 Feed hold is disabled during threading. Pressing the feed hold key during threading causes the machine to stop at the end point of the next block after threading (that is, after the G33 mode is terminated)
Thread lead Maximum feedrate
Threading at a lead of 1.5mm G33 Z10. F1.5;
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 4. INTERPOLATION FUNCTIONSPROGRAMMING
47
Linear interpolation can be commanded by specifying axial move following the G31 command, like G01. If an external skip signal is input during the execution of this command, execution of the command is interrupted and the next block is executed. The skip function is used when the end of machining is not programmed but specified with a signal from the machine, for example, in grinding. It is used also for measuring the dimensions of a workpiece.
G31_: One–shot G code (If is effective only in the block in which it is specified)
G31 _ ;��
The coordinate values when the skip signal is turned on can be used in a custom macro because they are stored in the custom macro system variable #5061 to #5064, as follows:
#5061X axis coordinate value #5062Y axis coordinate value #5063Z axis coordinate value #50644th axis coordinate value
WARNING Disable feedrate override, dry run, and automatic acceleration/deceleration (These operations can be validated by setting bit 3 of parameter No. 015 to 1.) when the feedrate per minute is specified, allowing for an error in the position of the tool when a skip signal is input. These functions are enabled when the feedrate per rotation is specified.
NOTE If G31 command is issued while cutter compensation C is applied,
an P/S alarm of No.035 is displayed. Cancel the cutter
compensation with the G40 command before the G31 command
is specified.
4.8 SKIP FUNCTION (G31)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/084. INTERPOLATION FUNCTIONS
48
G31 G91X100.0 F100; Y50.0;
Y50.0
50.0
100.0
Skip signal is input here
Actual motion
Motion without skip signal
Fig.4.8 (a) The next block is an incremental command
G31 G90X200.00 F100; Y100.0; Y100.0
X200.0
Skip signal is input here
Actual motion
Motion without skip signal
Fig.4.8 (b) The next block is an absolute command for 1 axis
(300,100)
Y
X 100 200 300
100
G31 G90X200.0 F100; X300.0 Y100.0;
Actual motion
Motion without skip signal
Skip signal is input here
Fig.4.8 (c) The next block is an absolute command for 2 axes
Examples
� The next block to G31 is an incremental command
� The next block to G31 is an absolute command for 1 axis
� The next block to G31 is an absolute command for 2 axes
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
49
5 FEED FUNCTIONS
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
50
The feed functions control the feedrate of the tool. The following two feed functions are available:
1. Rapid traverse When the positioning command (G00) is specified, the tool moves at a rapid traverse feedrate set in the CNC (parameter No. 518 to 521).
2. Cutting feed The tool moves at a programmed cutting feedrate.
Override can be applied to a rapid traverse rate or cutting feedrate using the switch on the machine operator’s panel.
5.1 GENERAL
� Feed functions
� Override
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
51
To prevent a mechanical shock, acceleration/deceleration is automatically applied when the tool starts and ends its movement (Fig. 5.1 (a)).
TC
FL
TJ
TR TR
TC
TJ
FRMAX
FJ
FC
TC
FC
TC
Rapid traverse rate :
Time
FR MAX : Rapid traverse rate
: Acceleration/deceleration time constant for rapid traverse rateFeed rate
TR
Time
Time
Time
FJ : Jog feed rate
TJ : Acceleration/deceleration time constant
FL : Deceleration stop feed for jog feed rate
FC : Cuting feedrate, dry run rate TC : Acceleration/deceleration time constant for feedrate
FC : Cutting feedrate, dry run rate
Linear acceleration/deceleration (constant acceleration)
Jog feed : Exponential acceleration/deceleration (constant time constant)
Cutting feed, dry run : Linear acceleration/deceleration after interpolation (constant time constant)
Cutting feed, dry run : Exponential acceleration/deceleration (constant time constant)
(–––: Acceleration/deceleration for half the speed)
TC : Acceleration/deceleration time constant for feedrate
Fig. 5.1 (a) Automatic acceleration/deceleration (example)
� Automatic acceleration/ deceleration
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
52
If the direction of movement changes between specified blocks during cutting feed, a rounded–corner path may result (Fig. 5.1 (b)).
Programmed path
Actual tool path
Y
0 X
Fig. 5.1 (b) Example of tool path between two blocks
In circular interpolation, a radial error occurs (Fig. 5.1(c)).
r
∆ r : Error Programmed path
Y
X0
Actual tool path
Fig. 5.1 (c) Example of radial error in circular interpolation
The rounded–corner path shown in Fig. 5.1(b) and the error shown in Fig. 5.1(c) depend on the feedrate. So, the feedrate needs to be controlled for the tool to move as programmed.
� Tool path in a cutting feed
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
53
��
G00 _ ;��
G00 : G code (group 01) for positioning (rapid traverse) _ ; Dimension word for the end point
The positioning command (G00) positions the tool by rapid traverse. In rapid traverse, the next block is executed after the specified feedrate becomes 0 and the servo motor reaches a certain range set by the machine tool builder (in–position check). (In–position check can be disabled for each block by setting bit 5 of parameter No. 020 to 1.) A rapid traverse rate is set for each axis by parameter No. 518 to 521, so no rapid traverse feedrate need be programmed. The following overrides can be applied to a rapid traverse rate with the switch on the machine operator’s panel:F0, 25, 50, 100% F0: Allows a fixed feedrate to be set for each axis by parameter No. 533. For detailed information, refer to the appropriate manual of the machine tool builder.
Increment system
IS–B IS–C
Metric output 30 to 100,000 mm/min 30 to 100,000 deg/min
30 to 24,000 mm/min 30 to 24,000 deg/min
Inch output 3.0 to 4,000.0 inch/min 3.0 to 100,000 deg/min
3.0 to 960.0 inch/min 3.0 to 24,000 deg/min
5.2 RAPID TRAVERSE
Format
Explanations
� Command value range of rapid traverse rate
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
54
Feedrate of linear interpolation (G01), circular interpolation (G02, G03), etc. are commanded with numbers after the F code. In cutting feed, the next block is executed so that the feedrate change from the previous block is minimized. Three modes of specification are available:
1. Feed per minute (G94) After F, specify the amount of feed of the tool per minute.
2. Feed per revolution (G95) After F, specify the amount of feed of the tool per spindle revolution.
3. F1–digit feed Specify a desired one–digit number after F. Then, the feedrate set with the CNC for that number is set.
Feed per minute G94 ; G code (group 05) for feed per minute F_ ; Feedrate command (mm/min or inch/min)
Feed per revolution G95 ; G code (group 05) for feed per revolution F_ ; Feedrate command (mm/rev or inch/rev)
F1–digit feed Fn ; n : Number from 1 to 9
Cutting feed is controlled so that the tangential feedrate is always set at a specified feedrate.
X
End point Starting point
X
FF
Center End point Start point
Linear interpolation Circular interpolation
Y Y
Fig. 5.3 (a) Tangential feedrate (F)
5.3 CUTTING FEED
Format
Explanations
� Tangential speed constant control
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
55
After specifying G94 (in the feed per minute mode), the amount of feed of the tool per minute is to be directly specified by setting a number after F. G94 is a modal code. Once a G94 is specified, it is valid until G95 (feed per revolution) is specified. At power–on, the feed per minute mode is set. An override from 0% to 150% (in 10% steps) can be applied to feed per minute with the switch on the machine operator’s panel. For detailed information, see the appropriate manual of the machine tool builder.
Workpiece
Table
Tool
Feed amount per minute (mm/min or inch/min)
Fig. 5.3 (b) Feed per minute
NOTE No override can be used for some commands such as for threading.
<Command value range of feed per minute>
Increment system
IS–B IS–C
Metric input 1 to 100,000 mm/min 1 to 100,000 deg/min
1 to 12,000 mm/min 1 to 12,000 deg/min
Inch input 0.01 to 4,000.0 inch/min 0.01 to 6,000.0 deg/min
0.01 to 480.0 inch/min 0.01 to 600.0 deg/min
<Feedrate command value with a decimal fraction for feed per minute> When a value with a decimal fraction is specified in a feedrate command for feed per minute, the value is valid within the following range. To specify a value that falls outside this range, specify an integer.
Increment system
IS–B IS–C
Metric input 0.001 to 99,999.999 mm/min 0.001 to 99,999.999 deg/min
0.001 to 12,000.000 mm/min 0.001 to 12,000.000 deg/min
Inch input 0.00001 to 999.99999 inch/min
0.00001 to 999.99999 deg/min
0.00001 to 480.00000 inch/min
0.00001 to 600.00000 deg/min
� Feed per minute (G94)
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
56
After specifying G95 (in the feed per revolution mode), the amount of feed of the tool per spindle revolution is to be directly specified by setting a number after F. G95 is a modal code. Once a G95 is specified, it is valid until G94 (feed per minute) is specified. An override from 0% to 150% (in 10% steps) can be applied to feed per revolution with the switch on the machine operator’s panel. For detailed information, see the appropriate manual of the machine tool builder.
Feed amount per spindle revolution (mm/rev or inch/rev)
F
Fig. 5.3 (c) Feed per revolution
<Command value range of feed per revolution>
Increment system
IS–B IS–C
Metric input 0.01 to 500.00 mm/rev 0.01 to 500.00 mm/rev
Inch input 0.0001 to 9.9999 inch/rev 0.0001 to 9.9999 inch/rev
Although a value in the above range can be specified in a feedrate command for feed per rotation, the feedrate is actually clamped at the maximum cutting feedrate.
NOTE When the speed of the spindle is low, feedrate fluctuation may occur. The slower the spindle rotates, the more frequently feedrate fluctuation occurs.
� Feed per revolution (G95)
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
57
When a one–digit number from 1 to 9 is specified after F, the feedrate set for that number in a parameter (Nos. 788 to 796) is used. When F0 is specified, the rapid traverse rate is applied. The feedrate corresponding to the number currently selected can be increased or decreased by turning on the switch for changing F1–digit feedrate on the machine operator’s panel, then by rotating the manual pulse generator. The increment/decrement, ∆F, in feedrate per scale of the manual pulse generator is as follows:
F � Fmax 100X
∆
Fmax : feedrate upper limit for F1–F4 set by parameter 583, or feedrate upper limit for F5–F9 set by parameter 584
X : any value of 1–127 set by parameter 216 The feedrate set or altered is kept even while the power is off. The current feed rate is displayed on the CRT screen.
A common upper limit can be set on the cutting feedrate along each axis with parameter No. 527. If an actual cutting feedrate (with an override applied) exceeds a specified upper limit, it is clamped to the upper limit.
NOTE An upper limit is set in mm/min or inch/min. CNC calculation may involve a feedrate error of �2% with respect to a specified value. However, this is not true for acceleration/deceleration. To be more specific, this error is calculated with respect to a measurement on the time the tool takes to move 500 mm or more during the steady state:
� One–digit F code feed
� Cutting feedrate clamp
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
58
Cutting feedrate can be controlled, as indicated in Table 5.4.
Table 5.4 Cutting feedrate control
Function name G code Validity of G code Description
Exact stop G09 This function is valid for specified blocks only.
The tool is decelerated at the end point of a block, then an in–position check is made. Then the next block is executed.
Exact stop G61 Once specified, this function is valid until G62, G63, or G64 is specified.
The tool is decelerated at the end point of a block, then an in–position check is made. Then the next block is executed.
Cutting mode G64 Once specified, this function is valid until G61, G62, or G63 is specified.
The tool is not decelerated at the end point of a block, but the next block is executed.
Tapping mode G63
Once specified, this function is valid until G61, G62, or G64 is specified.
The tool is not decelerated at the end point of a block, but the next block is executed. When G63 is specified, feedrate override and feed hold are invalid.
Automatic corner override
Automatic override for inner corners
G62
Once specified, this function is valid until G61, G63, or G64 is specified.
When the tool moves along an inner corner during cutter compensation, over- ride is applied to the cutting feedrate to suppress the amount of cutting per unit of time so that a good surface finish can be produced.
Internal circular cutting feedrate change
– This function is valid in the cutter compensation mode, regardless of the G code.
The internal circular cutting feedrate is changed.
NOTE 1 The purpose of in–position check is to check that the servo
motor has reached within a specified range (specified with a parameter by the machine tool builder). In–position check can be disabled by setting bit 5 of parameter No. 020 to 1.
2 Inner corner angle �: 2°< � � � � 178° (� is a set value)
�
Workpiece
Tool
5.4 CUTTING FEEDRATE CONTROL
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
59
Exact stop G61 ;
Cutting mode G64 ;
Tapping mode G63 ;
Automatic corner override G62 ;
G09 _ ;��
The inter–block paths followed by the tool in the exact stop mode, cutting mode, and tapping mode are different (Fig. 5.4.1).
0
Y
�
� Position check
Tool path in the exact stop mode
Tool path in the cutting mode or tapping mode
X
Fig. 5.4.1 Example of tool paths from block � to block �
CAUTION The cutting mode (G64 mode) is set at power–on or system clear.
Format
5.4.1 Exact Stop (G09, G61) Cutting Mode (G64) Tapping Mode (G63)
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
60
When G62 is specified, and the tool path with cutter compensation applied forms an inner corner, the feedrate is automatically overridden at both ends of the corner. There are four types of inner corners (Fig. 5.4.2 (a)). 2° � � � �p � 178° in Fig. 5.4.2 (a) θp is a value set with parameter No. 215. When θ is approximately equal to θp, the inner corner is determined with an error of 0.001° or less.
: Cutter center path
: Tool
: Programmed path
�
1. Straight line–straight line 2. Straight line–arc
3. Arc–straight line 4. Arc–arc
�
��
Fig. 5.4.2 (a) Inner corner
WARNING When the block before a corner is a start–up block, or the block after a corner includes G41 or G42, the inner corner is not overridden. The inner corner override function is disabled when the offset value is 0.
5.4.2 Automatic Override for Inner Corners (G62)
Explanations
� Override condition
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
61
When a corner is determined to be an inner corner, the feedrate is overridden before and after the inner corner. The distances Ls and Le, where the inner corner is overridden, are distances from points on the cutter center path to the corner (Fig. 5.4.2 (b), Fig. 5.4.2 (c), Fig. 5.4.2 (d)). Ls and Le are set with parameter Nos. 580 and 581.
Programmed path
Le a b
Ls
Cutter center path
The feedrate is overridden from point a to point b.
Fig. 5.4.2 (b) Override range (Straight line to straight line)
When a programmed path consists of two arcs, the feedrate is overridden if the start and end points are in the same quadrant or in adjacent quadrants (Fig. 5.4.2 (c)).
a
Le
Ls
b
Programmed path
The feedrate is overridden from point a to b.
Cutter center path
Fig. 5.4.2 (c) Override range (Arc to arc)
Regarding program � of an arc, the feedrate is overridden from point a to point b and from point c to point d (Fig. 5.4.2 (d)).
c
d �
LsLe
b
Ls Le
�
Programmed path
Cutter center path Tool
Fig. 5.4.2 (d) Override range (Straight line to arc, arc to straight line)
Override range
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
62
An override value is set with parameter No. 214. An override value is valid even for dry run and F1–digit specification. In the feed per minute mode, the actual feedrate is as follows:
F × (automatic override for inner corners) × (feedrate override)
For internally offset circular cutting, the feedrate on a programmed path is set to a specified feedrate (F) by specifying the circular cutting feedrate with respect to F, as indicated below (Fig. 5.4.3). This function is valid in the cutter compensation mode, regardless of the G62 code.
F � Rc Rp
Rc : Cutter center path radius Rp : Programmed radius
It is also valid for the dry run and the one–digit F command.
Rc
Rp
Programmed path
Cutter center path
Fig. 5.4.3 Internal circular cutting feedrate change
If Rc is much smaller than Rp, Rc/Rp 0; the tool stops. A minimum deceleration ratio (MDR) is to be specified with parameter No. 213. When Rc/Rp�MDR, the feedrate of the tool is (F�MDR).
NOTE When internal circular cutting must be performed together with automatic override for inner corners, the feedrate of the tool is as follows:
(automatic override for the inner corners) � (feedrate override)
F � Rc Rp
�
Override value
5.4.3 Internal Circular Cutting Feedrate Change
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
63
Dwell G04 X_ ; or G04 P_ ; X_ : Specify a time (decimal point permitted) P_ : Specify a time (decimal point not permitted)
By specifying a dwell, the execution of the next block is delayed by the specified time. In addition, a dwell can be specified to make an exact check in the cutting mode (G62 mode). When neither P nor X is specified, exact stop is performed.
Table 5.5 (a) Command value range of the dwell time (Command by X)
Increment system Command value range Dwell time unit
IS–B 0.001 to 99999.999 s
IS–C 0.0001 to 9999.9999 s
Table 5.5 (b) Command value range of the dwell time (Command by P)
Increment system Command value range Dwell time unit
IS–B 1 to 99999999 0.001 s
IS–C 1 to 99999999 0.0001 s
5.5 DWELL (G04)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
64
By using linear acceleration/deceleration before interpolation, linear acceleration/deceleration can be applied to a specified cutting feedrate before interpolation. With this function, the machining figure error resulting from delay in the acceleration/deceleration can be reduced.
This function is optional. It should be used in combination with two other functions: the block overlap function that suppresses feedrate variations between adjacent blocks, and the corner deceleration function that suppresses abrupt feedrate variations at a corner.
 FEED FUNCTIONSPROGRAMMING
65
With linear acceleration/deceleration before interpolation, a specified feedrate that takes a feed–per–minute command (G94) override for linear or circular interpolation (G01, G02, G03) into consideration can be controlled such that the feedrate changes linearly. This means that acceleration/deceleration control may not be applied normally if the feedrate is changed during machining by other than programmed commands.
To control variations in the programmed feedrate, the user can select either of two control methods by setting parameters.
� Type A
This type of control starts acceleration/deceleration at that block where the specified feedrate is changed.
� Type B
For deceleration: Deceleration starts at the previous block, such that the deceleration ends at the start point of the block where a feedrate command change is made.
For acceleration: Acceleration starts at the start point of the block where a feedrate command change is made.
Feedrate
F1
F2 Type B
N1 N2 Time
Type A
(For deceleration)
Specified feedrate
Feedrate after linear accel- eration/deceleration before interpolation
Feedrate
F2
F1
N1 N2 Time
(For acceleration) Specified feedrate
Feedrate after linear accel- eration/deceleration before interpolation
Fig. 5.6 (b)
WARNING 1 If an overtravel alarm is issued during linear acceleration/deceleration before interpolation, the
tool decelerates and stops after the issue of the alarm, thus resulting in an overrun by an amount equal to the deceleration distance.
2 In inch input mode, simultaneous movement on two or more axes, including a rotation axis, cannot be specified during linear acceleration/deceleration before interpolation.
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
66
NOTE 1 The following cannot be specified during linear acceleration/deceleration before interpolation:
� Control along the C–axis normal � Cylindrical interpolation � Polar coordinate specification � F 1–digit feed/threading/synchronous feed � Index table indexing � Rigid tapping � High–speed cycle machining/high–speed remote buffer � Handle interrupt � Program restart � Simple synchronous control � Interrupt–type custom macro � Automatic tool length measurement � Small–diameter peck drilling cycle
2 If any of the operations listed below is performed during operation, acceleration/deceleration will not be performed correctly. This means that the operation of a block may end before the completion of deceleration, or that the movement of a block may not have been completed when deceleration is completed. � Override change � Turning the dry run function on or off � Enabling external deceleration � Operation in a feed mode in which no feedrate is specified by the CNC program
3 Linear acceleration/deceleration before interpolation is valid for the X–axis, Y–axis, Z–axis, and 4th axis. If there is a block containing no move command along the X–axis, Y–axis, Z–axis, and 4th axis during linear acceleration/deceleration before interpolation, the tool decelerates and temporarily stops in the previous block.
4 If a one–shot G code is specified during linear acceleration/deceleration before interpolation, the tool decelerates and temporarily stops in the previous block.
5 If a block containing a move command also specifies an M/S/T code during linear acceleration/deceleration before interpolation, the tool decelerates and temporarily stops in the block.
6 Even during linear acceleration/deceleration before interpolation, acceleration/deceleration is not applied to a G31 (skip function) block.
7 Even if the Z–axis command cancel signal (ZNG) is turned on or off during linear acceleration/deceleration before interpolation, Z–axis acceleration/deceleration control is not applied.
8 During linear acceleration/deceleration before interpolation, the automatic corner override function can be used only to make an inner circular cutting feedrate change.
9 Even during linear acceleration/deceleration before interpolation, acceleration/deceleration after interpolation is enabled. So, to use acceleration/deceleration before interpolation only, set the time constant for acceleration/deceleration after interpolation to 0.
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
67
With this function, the remaining pulses output upon the completion of interpolation of a block are output together with the interpolation pulses of the next block to suppress the feedrate variations that can occur between the two blocks. This function is optional.
Interpolation pulses
Block 1 Block 2
Time
When the block overlap function is disabled
Interpolation pulses
Block 1 Block 2
Time t
When the block overlap function is enabled
Fig. 5.7
This function is enabled when G01, G02, and G03 blocks occur successively in G64 mode.
NOTE 1 If blocks specifying small amounts of movement occur in
succession, the overlap function may not be enabled. 2 If the radius of the start point of a circular cutting command
does not match the radius of the end point of the command, the overlap function will not be applied normally.
5.7 CUTTING FEED BLOCK OVERLAP
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
68
In corner machining, this function controls the feedrate by decelerating the tool at a corner according to the corner angle between the blocks or according to the feedrate difference along each axis to improve the machining precision (acceleration/deceleration after interpolation) or to reduce the mechanical stress and strain (acceleration/deceleration before interpolation) at the corner. This function is optional.
This function is enabled when G64 mode (machining mode) specifying a cutting feed time constant is set, a cutting–feed block (block A) is followed by another cutting–feed block (block B), and deceleration is performed in block A. Two corner deceleration control methods are supported. One method is based on the corner angle between two blocks, while the other is based on the feedrate difference along each axis. The user can select either of the two methods by specifying bit 3 of parameter No. 395.
(1)Specification
When the angle between block A and block B (XY plane) is smaller than that specified in parameter No. 865, this function reduces the feedrate at the corner. This means that the execution of block B is suspended until the feedrates after acceleration/deceleration along the X–axis and Y–axis become smaller than the value specified in parameter No. 482.
The flowchart for this control mode is shown below.
START
Is the corner angle smaller than that specified in parameter No. 865?
Are the feedrates after acceleration/deceleration along the X–axis and Y– axis smaller than the val- ue specified in parameter
No. 482?
Yes
Block B is executed to- gether with block A decel-
eration.
Yes
END
No
No
Further reduces the feedrate in block A.
5.8 AUTOMATIC CORNER DECELERATION
Explanations
� Corner deceleration based on the corner angle (with bit 3 of parameter No. 395 set to 0)
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
69
When the corner angle is smaller than that specified in the parameter, the relationship between the feedrate and time will be as shown below. The movement of block A equivalent to the hatched area remains at time t. The execution of block B is started, however, because the feedrate after acceleration/deceleration is now smaller than the parameter–set value.
ÅÅÅÅ ÅÅÅÅ ÅÅÅÅ
Feedrate after acceleration/deceleration
Block A Block B
Parameter–set value
Timet
Fig. 5.8 (a)
(2)When linear acceleration/deceleration before interpolation is enabled
When the angle between block A and block B (XY plane) is smaller than that specified in parameter No. 865, and the feedrates specified for block A and block B are larger than the value specified in parameter No. 482, this function reduces the feedrate at the corner to the parameter–set feedrate at the end point of block A, then increases the feedrate to the specified feedrate when block B starts. In this case, acceleration/deceleration is performed according to the parameter setting for linear acceleration/deceleration before interpolation.
Feedrate
Block A Block B
Time
Parameter–set feedrate (parameter No. 482)
Fig. 5.8 (b)ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
70
NOTE 1 Comparison between a machining angle and parameter–set angle (parameter No. 865) is
made only for the XY plane. Comparison between a machining feedrate and parameter–set feedrate (parameter No. 482) is made only for the X–axis and Y–axis. So, when movement is made along three or more axes at the same time, only the X–axis and Y–axis are considered.
2 Corner roundness is determined by the angle and feedrate set in parameter Nos. 865 and 482. To ensure that a sharp corner is obtained at all times, set a feedrate of 0 and an angle of 180 degrees in the respective parameters.
3 When G09 (exact stop) is specified, exact stop operation is performed, regardless of the angle and feedrate set in the parameters.
4 This function cannot be used with the single step and dry run functions. 5 The angle (θ) between block A and block B is defined as shown below.
� Between two straight lines
� Between a straight line and an arc: Angle subtended by a straight line and the tangent to an arc
� Between two arcs; Angle subtended by the tangent to one arc and the tangent to the other arc
A(G01)
B(G01) θ
A(G02)
B(G01) θ
θ
A(G01) B(G03)
A(G02)
B(G02)
θ
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
71
(1)Specification
When the difference between the specified feedrate at the end point of block A and the specified feedrate at the start point of block B along each axis is larger than the value specified in parameter No. 483, this function reduces the feedrate at the corner. This means that the execution of block B is suspended until the feedrates after acceleration/deceleration along the X–axis, Y–axis, Z–axis, and 4th axis become smaller than the value specified in parameter No. 482.
The flowchart for this control mode is shown below.
START
Is the feedrate difference be- tween blocks along each axis larger than the value specified
in parameter No. 483?
Are the feedrates after accel- eration/deceleration along the X–axis, Y–axis, Z–axis, and
4th axis smaller than the value specified in parameter No.
482?
Yes
Block B is executed together with block A deceleration.
Yes
END
No
No
Further reduces the feedrate in block A.
When the feedrate difference between blocks along each axis is larger than the value specified in parameter No. 483, the relationship between the feedrate and time will be as shown below. The movement of block A indicated by the hatched area remains at time t. However, the execution of block B is started because the feedrate after acceleration/deceleration has become smaller than the value set in parameter No. 482.
Parameter–set value
ÅÅÅÅ ÅÅÅÅ ÅÅÅÅ
Feedrate after acceleration/deceleration
Block A Block B
Timet
Fig. 5.8 (c)
� Corner deceleration based on feedrate difference between blocks along each axis (with bit 3 of parameter No. 395 set to 1)
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
72
(2)When linear acceleration/deceleration before interpolation is enabled
When the feedrate difference between block A and block B along each axis is larger than the value set in parameter No. 483, the feedrate is reduced in block A to the corner feedrate calculated from the feedrate difference along each axis.
Let the feedrate be F. Compare the feedrate change along each axis (Vc[X], Vc[Y], ...) with the value, Vmax, specified in parameter No. 483. When the change in the feedrate along at least one axis exceeds Vmax, calculate R as follows:
R = Vc
Vmax
Find the maximum value for R among the calculated values for the axes. Let this value be Rmax. Then, the corner feedrate can be obtained as described below, and the feedrate reduced to the obtained corner feedrate.
Fc = F� 1
Rmax
Example)
N1 G01 G91 X80. Y20. F3000 ; N2 X20. Y80. ;
N2
N1
When this movement is specified, the feedrate along each axis will be as shown in the next figure. From the figure, it can be seen that the changes in the feedrate along the X–axis and Y–axis (Vc[X] and Vc[Y]) exceed Vmax. So, the feedrate change along each axis can be reduced to Vmax or less by using the following values:
Rmax = Vc [X(Y)] Vmax
Corner feedrate = F� 1 Rmaxww
w. cn
cc en
ter .co
m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
73
Vmax
Vc [X] Vmax
Vc [Y] Vmax
1 Rmax
F*
F
N1 N2 t
When the feedrate is not reduced at the corner
When the feedrate is reduced at the corner
Feedrate along X–axis
Feedrate along Y–axis
Feedrate along tangent
NOTE 1 A feedrate difference comparison between machining
blocks is made for each of the X–axis, Y–axis, Z–axis, and 4th axis. Even during dry run operation or external deceleration, a feedrate difference check is made by coding an F command in the program.
2 When G09 (exact stop) is specified, exact stop operation is performed, regardless of the parameter settings.
3 This function cannot be used with a command based on feed per rotation, the F 1–digit command, rigid tapping command, or single block operation.
4 If an override change is applied during operation, the feedrate difference cannot be checked correctly.
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
74
Particularly when high–speed circular cutting is performed using circular interpolation, the actual tool path incurs a radial error with respect to the specified arc. When a feedrate specified for an arc with a programmed radius can cause a radial error that exceeds the allowable error, this function automatically clamps the circular cutting feedrate.
This function is optional.
  If the specified feedrate exceeds the feedrate v, this function automatically clamps the feedrate to v. The maximum allowable feedrate (v), found from Expression 3, decreases as a specified arc radius decreases. When an excessively low feedrate is undesirable, parameter No. 496 can be used to set a lower limit on the circular cutting feedrate clamping.
If a specified feedrate is within the maximum allowable feedrate (v) found using Expression 3, circular cutting is performed at the specified feedrate.
5.9 FEEDRATE CLAMP BASED ON ARC RADIUS
Explanations
ww w.
cn cc
en ter
.co m
B–61404E/08 5. FEED FUNCTIONSPROGRAMMING
75
NOTE 1 This function is also usable with linear acceleration/deceleration before interpolation. In this
case, no arc radius error is caused by acceleration/deceleration before interpolation. When the time constant for acceleration/deceleration after interpolation is set to 0, an approximate arc radius error can be obtained using Expression 4:
2 This function is also usable with linear acceleration/deceleration after interpolation for cutting feed. In this case, an approximate circular cutting error can be obtained from Expression 5:
where ∆ r : Maximum radius error (mm)
v : Feedrate (mm/sec) r : Arc radius (mm) T1 : Time constant for linear acceleration/deceleration in cutting feed (sec) T2 : Time constant for the servo motor (sec)
3 Expressions 1, 4, and 5 can be used only to find approximate values based on the NC theory. They do not determine actual machining errors. Let ∆rall be the actual machining error. Then, the following can be written:
This function controls or suppresses only those errors caused by the first term on the right–hand side of Expression 6, that is, errors caused by the time constant for acceleration/deceleration (T1) and that for the servo motor (T2). This function has no effect on errors caused by the machine. Note also that Expressions 1, 4, and 5 can determine only approximate values.
Error caused by the machine Error caused by the acceleration/deceleration time constant (T1) and servo motor time constant (T2).
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/085. FEED FUNCTIONS
76
This function can apply smooth acceleration/deceleration to a rapid traverse rate to reduce the mechanical stress and strain caused by acceleration/deceleration variations when the feedrate changes. Thus, a smaller time constant can be set, compared with linear acceleration/deceleration, to reduce the time required for acceleration/deceleration. Feed–forward control can be enabled for a rapid traverse command. This function is optional.
<Rapid traverse linear acceleration/deceleration>
Feedrate
0
Acceleration
0 Time
Time
Feedrate
0
Acceleration
0 Time
Time
<Rapid traverse bell–shaped acceleration/deceleration>
Fig. 5.10 (a)
Rapid traverse bell–shaped acceleration/deceleration is enabled by setting two time constants (T1, T2) (parameter No. 522 to No. 525, and parameter No. 952 to No. 955). In this case, the acceleration/deceleration time will be as shown below.

(3) (2) (3)
(1)
Time
Feedrate
Rapid traverse
Fig. 5.10 (b)
NOTE Rapid traverse bell–shaped acceleration/deceleration cannot be used with the 5th/6th axis and 7th/8th axis.
5.10 RAPID TRAVERSE BELL–SHAPED ACCELERATION/ DECELERATION
Explanations
ww w.
cn cc
en ter
.co m
B–61404E/08 6. REFERENCE POSITIONPROGRAMMING
77
6 REFERENCE POSITION
The reference position is a fixed position on a machine tool to which the tool can easily be moved by the reference position return function. For example, the reference position is used as a position at which tools are automatically changed. Up to four reference positions can be specified by setting coordinates in the machine coordinate system in parameters. The first reference position must be the machine zero point.
Machine zero point (1st reference position)
3rd reference position
2nd reference position
4th reference position
Y
X
Fig. 6 (a) Machine zero point and reference positions
General
� Reference position
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/086. REFERENCE POSITION
78
Tools are automatically moved to the reference position via an intermediate position along a specified axis. Or, tools are automatically moved from the reference position to a specified position via an intermediate position along a specified axis. When reference position return is completed, the lamp for indicating the completion of return goes on.
A (Start position for reference position return)
B (Intermediate position)
C (Destination of return from the reference position)
R (Reference position) Reference position return A→B→R Return from the reference position R→B→C
Fig. 6 (b) Reference position return and return form the reference position
The reference position return check (G27) is the function which checks whether the tool has correctly returned to the reference position as specified in the program. If the tool has correctly returned to the reference position along a specified axis, the lamp for the axis goes on.
��
_: Command specifying the intermediate position (Absolute/incremental command)
G28
��
_ ; Reference position return
G30 P2 _ ; 2nd reference position return��
G30 P3 _ ; 3rd reference position return��
G30 P4 _ ; 4th reference position return��
(P2 can be omitted.)
_: Command specifying the destination of return from reference position (Absolute/incremental command)
G29
��
_ ;��
_: Command specifying the reference position (Absolute/incremental command)
G27
��
_ ;��
� Reference position return and movement from the reference position
� Reference position return check
Format
� Reference position return
� Return from reference position
� Reference position return check
ww w.
cn cc
en ter
.co m
B–61404E/08 6. REFERENCE POSITIONPROGRAMMING
79
Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. Therefore, for safety, the cutter compensation, and tool length compensation should be cancelled before executing this command. The coordinates for the intermediate position are stored in the CNC only for the axes for which a value is specified in a G28 block. For the other axes, the previously specified coordinates are used. Example N1 G28 X40.0 ; Intermediate position (X40.0)
N2 G28 Y60.0 ; Intermediate position (X40.0, Y60.0)
In a system without an absolute–position detector, the first, third, and fourth reference position return functions can be used only after the reference position return (G28) or manual reference position return (see III–3.1) is made. The G30 command is generally used when the automatic tool changer (ATC) position differs from the reference position.
In general, it is commanded immediately following the G28 command or G30. For incremental programming, the command value specifies the incremental value from the intermediate point. Positioning to the intermediate or reference points are performed at the rapid traverse rate of each axis. When the workpiece coordinate system is changed after the tool reaches the reference position through the intermediate point by the G28 command, the intermediate point also shifts to a new coordinate system. If G29 is then commanded, the tool moves to to the commanded position through the intermediate point which has been shifted to the new coordinate system. The same operations are performed also for G30 commands.
G27 command positions the tool at rapid traverse rate. If the tool reaches the reference position, the reference position return lamp lights up. However, if the position reached by the tool is not the reference position, an alarm (No. 092) is displayed.
The lamp for indicating the completion of return does not go on when the machine lock is turned on, even when the tool has automatically returned to the reference position. In this case, it is not checked whether the tool has returned to the reference position even when a G27 command is specified.
When the G28 command is specified when manual return to the reference position has not been performed after the power has been turned on, the movement from the intermediate point is the same as in manual return to the reference position. In this case, the tool moves in the direction for reference position return specified in parameter ( No. 003 #0 to #3). Therefore the specified intermediate position must be a position to which reference position return is possible.
� ����� ����
� Reference position return (G28)
� 2nd, 3rd, and 4th reference position return (G30)
� Return from the reference position (G29)
� Reference position return check (G27)
Restrictions
� Status the machine lock being turned on
� First return to the reference position after the power has been turned on (without an absolute position detector)
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/086. REFERENCE POSITION
80
In an offset mode, the position to be reached by the tool with the G27 command is the position obtained by adding the offset value. Therefore, if the position with the offset value added is not the reference position, the lamp does not light up, but an alarm is displayed instead. Usually, cancel offsets before G27 is commanded.
When the machine tool system is an inch system with metric input, the reference position return lamp may also light up even if the programmed position is shifted from the reference position by 1µ. This occurs because the least input increment of the machine tool system is smaller than its least command increment.
See III–3.1.
G28G90X1000.0Y500.0 ; (Programs movement from A to B) T1111 ; (Changing the tool at the reference position) G29X1300.0Y200.0 ; (Programs movement from B to C)
A
B
C
R Reference position
200
300
500
200 1000 1300
Y
X
The tool is changed at the reference position
Fig. 6 (c) Reference position return and return from the reference position
� Reference position return check in an offset mode
� Lighting the lamp when the programmed position does not coincide with the reference position
���������
� Manual reference position return
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 7. COORDINATE SYSTEMPROGRAMMING
81
7 COORDINATE SYSTEM By teaching the CNC a desired tool position, the tool can be moved to the position. Such a tool position is represented by coordinates in a coordinate system. Coordinates are specified using program axes. When three program axes, the X–axis, Y–axis, and Z–axis, are used, coordinates are specified as follows:
X_Y_Z_ This command is referred to as a dimension word.
Z
Y
X
40.0
50.0
25.0
Fig. 7 Tool position specified by X40.0Y50.0Z25.0
Coordinates are specified in one of following three coordinate systems: (1)Machine coordinate system (2)Workpiece coordinate system (3)Local coordinate system
The number of the axes of a coordinate system varies from one machine to another. So, in this manual, a dimension word is represented as IP_.
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/087. COORDINATE SYSTEM
82
The point that is specific to a machine and serves as the reference of the machine is referred to as the machine zero point. A machine tool builder sets a machine zero point for each machine. The machine zero point matches the first reference position. A coordinate system with a machine zero point set as its origin is referred to as a machine coordinate system. A machine coordinate system is set by performing manual reference position return after power–on (see III–3.1).
G53 _ ;��
�� _ ; Absolute dimension word
When a command is specified based on a machine coordinate system, the tool moves by rapid traverse. G53, which is used to select a machine coordinate system, is a one–shot G code; that is, it is valid only in the block in which it is specified. The absolute command G90 is valid, but the incremental command G91 is ignored. When the tool is to be moved to a machine–specific position such as a tool change position, program the movement in a machine coordinate system based on G53.
When the G53 command is specified, cancel the cutter compensation, tool length offset, and tool offset.
Since the machine coordinate system must be set before the G53 command is specified, at least one manual reference position return or automatic reference position return by the G28 command must be performed after the power is turned on. This is not necessary when an absolute–position detector is attached. The option for the workpiece coordinate system (G54 to G59) is required.
7.1 MACHINE COORDINATE SYSTEM
Format
Explanations
� Selecting a machine coordinate system (G53)
Restrictions
� Cancel of the compensation function
� G53 specification immediately after power–on
ww w.
cn cc
en ter
.co m
B–61404E/08 7. COORDINATE SYSTEMPROGRAMMING
83
A coordinate system used for machining a workpiece is referred to as a workpiece coordinate system. A workpiece coordinate system is to be set with the NC beforehand (setting a workpiece coordinate system). A machining program sets a workpiece coordinate system (selecting a workpiece coordinate system). A set workpiece coordinate system can be changed by shifting its origin (changing a workpiece coordinate system).
A workpiece coordinate system can be set using one of three methods:
(1)Method using G92 A workpiece coordinate system is set by specifying a value after G92 in the program.
(2)Automatic setting If bit 0 of parameter No. 010 #7 is set beforehand, a workpiece coordinate system is automatically set when manual reference position return is performed (see Part III.).
(3) Input using the CRT/MDI panel Six workpiece coordinate systems can be set beforehand using the CRT/MDI panel (see Part III–3.1.).
To use absolute programming, establish a workpiece coordinate system by applying one of the methods described above.
G92 _ ;��
A workpiece coordinate system is set so that a point on the tool, such as the tool tip, is at specified coordinates. If a coordinate system is set using G92 during tool length offset, a coordinate system in which the position before offset matches the position specified in G92 is set. Cutter compensation is cancelled temporarily with G92.
25.2 X
Z
23.0
0 X
Z
600.0
1200.0 If an absolute command is is- sued, the base point moves to the commanded position. In or- der to move the tool tip to the commanded position, the dif- ference from the tool tip to the base point is compensated by tool length offset.
Setting the coordinate system by the G92X25.2Z23.0; command (The tool tip is the start point for the program.)
Setting the coordinate system by the G92X600.0Z1200.0; command (The base point on the tool holder is the start point for the program.)
Base point
Example 1 Example 2
0
7.2 WORKPIECE COORDINATE SYSTEM
7.2.1 Setting a Workpiece Coordinate System
Format Setting a workpiece coordinate system by G92
Explanations
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/087. COORDINATE SYSTEM
84
The user can choose from set workpiece coordinate systems as described below. (For information about the methods of setting, see Section 7.2.1.)
(1)Selecting a workpiece coordinate system set by G92 or automatic workpiece coordinate system setting Once a workpiece coordinate system is selected, absolute commands work with the workpiece coordinate system.
(2)Choosing from six workpiece coordinate systems set using the CRT/MDI panel By specifying a G code from G54 to G59, one of the workpiece coordinate systems 1 to 6 can be selected.
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. . . . .
Workpiece coordinate system 1 to 6 are established after reference position return after the power is turned on. When the power is turned on, G54 coordinate system is selected.
X
Y
100.0
40.0
In this example, positioning is made to positions (X=40.0, Y=100.0) in workpiece coordinate system 2.
G90 G55 G00 X40.0 Y100.0 ;
Workpiece coordinate system 2 (G55)
Fig. 7.2.2
7.2.2 Selecting a Workpiece Coordinate System
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 7. COORDINATE SYSTEMPROGRAMMING
85
The six workpiece coordinate systems specified with G54 to G59 can be changed by changing an external workpiece zero point offset value or workpiece zero point offset value. Four methods are available to change an external workpiece zero point offset value or workpiece zero point offset value.
(1) Inputting from the CRT/MDI panel (see III–11.4.3)
(2)Programming by G10 or G92
(3)Changing an external workpiece zero point offset value (refer to machine tool builder’s manual)
(4)System variables by Custom Macro B
ZOFS2 ZOFS3 ZOFS4
ZOFS5
ZOFS1
ZOFS6
EXOFS : External workpiece zero point offset value ZOFS1 to ZOFS6 : Workpiece zero point offset value
EXOFS
Workpiece coordinate system 1 (G54)
Workpiece coordinate system 2 (G55)
Workpiece coordinate system 3 (G56)
Workpiece coordinate system 4 (G57)
Workpiece coordinate system 5 (G58)
Workpiece coordinate system 6 (G59)
Machine zero
Fig. 7.2.3 Changing an external workpiece zero point offset value or workpiece zero point offset value
p=0 : External workpiece zero point offset value
p=1 to 6 : Workpiece zero point offset value correspond to workpiece coordinate system 1 to 6
: Workpiece zero point offset value of each axis
G10 L2 Pp
��
_ ;��
G92 _ ;��
7.2.3 Changing Workpiece Coordinate System
Format
� Changing by G10
� Changing by G92
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/087. COORDINATE SYSTEM
86
With the G10 command, each workpiece coordinate system can be changed separately. When an absolute workpiece zero point offset value is specified, the specified value becomes a new offset value. When an incremental workpiece zero point offset value is specified, the specified value is added to the current offset value to produce a new offset value.
By specifying G92IP_;, a workpiece coordinate system (selected with a code from G54 to G59) is shifted to set a new workpiece coordinate system so that the current tool position matches the specified coordinates (IP_). Then, the amount of coordinate system shift is added to all the workpiece zero point offset values. This means that all the workpiece coordinate systems are shifted by the same amount.
WARNING When a coordinate system is set with G92 after an external workpiece zero point offset value is set, the coordinate system is not affected by the external workpiece zero point offset value. When G92X100.0Z80.0; is specified, for example, the coordinate system having its current tool reference position at X = 100.0 and Z = 80.0 is set.
Explanations
� Changing by G10
� Changing by G92
ww w.
cn cc
en ter
.co m
B–61404E/08 7. COORDINATE SYSTEMPROGRAMMING
87
X
X�
Y�Y
A
160 100
100
100
200
If G92X100Y100; is commanded when the tool is positioned at (200, 160) in G54 mode, work- piece coordinate system 1 (X’ – Y’) shifted by vector A is created.
60
G54 workpiece coordinate system
Tool position
New workpiece coordinate system
Original workpiece coordinate system
1200.0
Z
Z
X�
X 600.0
600.0
1200.0
Z’
Z�
X
X
X’ – Z’ New workpiece coordinate system X – Z Original workpiece coordinate system A : Offset value created by G92 B : G54 workpiece zero point offset value C : G55 workpiece zero point offset value
A
B
C
A
G54 Workpiece coordinate system
G55 Workpiece coordinate system
Suppose that a G54 workpiece coordi- nate system is specified. Then, a G55 workpiece coordinate system where the black circle on the tool (figure at the left) is at (600.0,12000.0) can be set with the following command if the relative relationship between the G54 workpiece coordinate system and G55 workpiece coordinate system is set correctly:G92X600.0Z1200.0;Also, suppose that pallets are loaded at two different positions. If the relative rela- tionship of the coordinate systems of the pallets at the two positions is cor- rectly set by handling the coordinate systems as the G54 workpiece coordi- nate system and G55 workpiece coor- dinate system, a coordinate system shift with G92 in one pallet causes the same coordinate system shift in the other pallet. This means that work- pieces on two pallets can be ma- chined with the same program just by specifying G54 or G55.
��������
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/087. COORDINATE SYSTEM
88
Besides the six workpiece coordinate systems (standard workpiece coordinate systems) selectable with G54 to G59, 48 additional workpiece coordinate systems (additional workpiece coordinate systems) can be used.
G54Pn ; Pn : Codes specifying the additional workpiece coordinate
systems
n : 1 to 48
Pn : Codes specifying the workpiece coordinate system for set- ting the workpiece zero point offset value
n : 1 to 48
_: Axis addresses and a value set as the workpiece zero point offset
G10L20 Pn
��
_ ;��
When a P code is specified together with G54, the corresponding coordinate system is selected from the additional workpiece coordinate systems (1 to 48). A workpiece coordinate system, once selected, is valid until another workpiece coordinate system is selected. Standard workpiece coordinate system 1 (selectable with G54) is selected at power–on.
G54 P1 Additional workpiece coordinate system 1� � � � � � G54 P2 Additional workpiece coordinate system 2� � � � � �
G54 P48 Additional workpiece coordinate system 48� � � � �
As with the standard workpiece coordinate systems, the following operations can be performed for a workpiece zero point offset in an additional workpiece coordinate system:
(1)The MENUOFFSET function key can be used to display and set a workpiece zero
point offset value.
(2)The G10 function enables a workpiece zero point offset value to be set by programming.
(3)A custom macro allows a workpiece zero point offset value to be handled as a system variable.
(4)Workpiece zero point offset data can be entered or output as external data.
7.2.4 Adding Workpiece Coordinate Systems
Format
� Selecting the additional workpiece coordinate systems
� Setting the workpiece zero point offset value in the additional workpiece coordinate systems
Explanations
� Selecting the additional workpiece coordinate systems
� Setting the workpiece zero point offset value in the additional workpiece coordinate systemsww
w. cn
cc en
ter .co
m
B–61404E/08 7. COORDINATE SYSTEMPROGRAMMING
89
A P code must be specified after G54. If a value not within the specifiable range is specified in a P code, an alarm (No. 030) is issued.
Restrictions
� ���� �� � � ����
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/087. COORDINATE SYSTEM
90
When a program is created in a workpiece coordinate system, a child workpiece coordinate system may be set for easier programming. Such a child coordinate system is referred to as a local coordinate system.
_: Origin of the local coordinate system
G52
��
_ ; Setting the local coordinate system��
��G52 0 ; Canceling of the local coordinate system
......
By specifying G52IP_;, a local coordinate system can be set in all the workpiece coordinate systems (G54 to G59). The origin of each local coordinate system is set at the position specified by IP_ in the workpiece coordinate system. When a local coordinate system is set, the move commands in absolute mode (G90), which is subsequently commanded, are the coordinate values in the local coordinate system. The local coordinate system can be changed by specifying the G52 command with the zero point of a new local coordinate system in the workpiece coordinate system. To cancel the local coordinate system and specify the coordinate value in the workpiece coordinate system, match the zero point of the local coordinate system with that of the workpiece coordinate system.
_
(G59 : Workpiece coordinate system 6)
(G54 : Workpiece coordinate system 1)
G55 G56 G57
G58
Machine coordinate system origin
(Machine coordinate system)
(Local coordinate system)
(Local coordinate system)
��
_��
Fig. 7.3 Setting the local coordinate system
7.3 LOCAL COORDINATE SYSTEM
Format
Explanations
ww w.
cn cc
en ter
.co m
B–61404E/08 7. COORDINATE SYSTEMPROGRAMMING
91
WARNING 1 When an axis returns to the reference point by the manual reference point return function, the
zero point of the local coordinate system of the axis matches that of the work coordi–nate system. The same is true when the following command is issued:
G52α0; G52α:Axis which returns to the reference point
2 The local coordinate system setting does not change the workpiece and machine coordi–nate systems.
3 The local coordinate system is cancelled when the reset operation is performed. 4 When setting a workpiece coordinate system with the G92 command, the local coordinate
systems are cancelled. 5 G52 cancels the offset temporarily in cutter compensation. 6 Command a move command immediately after the G52 block in the absolute mode. 7 The option for the workpiece coordinate system (G54 to G59) is required.
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/087. COORDINATE SYSTEM
92
Select the planes for circular interpolation, cutter compensation, and drilling by G–code. The following table lists G–codes and the planes selected by them.
Table 7.4 Plane selected by G code
G code Selectedplane Xp Yp Zp
G17 Xp Yp plane X–axis or an Y–axis or an Z–axis or an
G18 Zp Xp plane X–axis or an axis parallel
to it
Y–axis or an axis parallel
to it
Z–axis or an axis parallel
to it G19 Yp Zp plane
to it to it to it
Xp, Yp, Zp are determined by the axis address appeared in the block in which G17, G18 or G19 is commanded. When an axis address is omitted in G17, G18 or G19 block, it is assumed that the addresses of basic three axes are omitted. Parameter No. 279 is used to specify that an optional axis be parallel to the each axis of the X, Y–, and Z–axes as the basic three axes. The plane is unchanged in the block in which G17, G18 or G19 is not commanded.
Plane selection when the X–axis is parallel with the U–axis. G17X_Y_ XY plane, G17U_Y_ UY plane G18X_Z_ ZX plane X_Y_ Plane is unchanged (ZX plane) G17 XY plane G18 ZX plane G17 U_ UY plane G18Y_ ; ZX plane, Y axis moves regardless without any
relation to the plane.
NOTE When the system is turned on or placed in the clear state by a reset (bit 6 of parameter No. 045), G17, G18, or G19 is selected according to the setting of parameter No. 212.
7.4 PLANE SELECTION
Explanations
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 8. COORDINATE VALUE
AND DIMENSIONPROGRAMMING
93
8 COORDINATE VALUE AND DIMENSION This chapter contains the following topics.
8.1 ABSOLUTE AND INCREMENTAL PROGRAMMING (G90, G91) 8.2 POLAR COORDINATE COMMAND (G15, G16) 8.3 INCH/METRIC CONVERSION (G20, G21) 8.4 DECIMAL POINT PROGRAMMING
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/08 8. COORDINATE VALUE
AND DIMENSION
94
There are two ways to command travels of the tool; the absolute command, and the incremental command. In the absolute command, coordinate value of the end position is programmed; in the incremental command, move distance of the position itself is programmed. G90 and G91 are used to command absolute or incremental command, respectively.
 COORDINATE VALUE
AND DIMENSIONPROGRAMMING
95
The end point coordinate value can be input in polar coordinates (radius and angle). The plus direction of the angle is counterclockwise of the selected plane first axis + direction, and the minus direction is clockwise. Both radius and angle can be commanded in either absolute or incremental command (G90, G91).
Specifying the addresses of axes constituting the plane se- lected for the polar coordinate system, and their values First axis : radius of polar coordinate Second axis : radius of polar coordinate
G90 specifies the zero point of the lworkpiece coordinate system as the origin of the polar coordinate system, from which a radius is measured. G91 specifies the current position as the origin of the polar coordinate system, from which a radius is measured.
G�� G�� G16 ;
G15 ;
G16 : Polar coordinate command
G15 :
G�� :
G�� :
PI
Starting the polar coordinate command (polar coordinate mode)
Polar coordinate command
Canceling the polar coordinate command (polar coordinate mode)
Polar coordinate command cancel
Plane selection of the polar coordinate command (G17, G18 or G19)
G∆∆
G�� : Angle selection of the polar coordinate command
G90 : Angle is specified with absolute command
G91 : Angle is specified with incremental command
_ ;��
_ ;��
Specify the radius (the distance between the zero point and the point) to be programmed with an absolute command. The zero point of the workpiece coordinate system is set as the origin of the polar coordinate system.
RadiusCommand position
Actual positionAngle
Radius
Angle
Command position
Actual position
When the angle is specified with an absolute command
When the angle is specified with an incremental command
8.2 POLAR COORDINATE COMMAND (G15, G16)
������
� Setting the zero point of the workpiece coordinate system as the origin of the polar coordinate system
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/08 8. COORDINATE VALUE
AND DIMENSION
96
Specify the radius (the distance between the current position and the point) to be programmed with an incremental command. The current position is set as the origin of the polar coordinate system.
Radius
Command position
Actual position
Angle
When the angle is specified with an absolute command
When the angle is specified with an incremental command
Command position
Actual position
Angle Radius
Bolt hole circle
Y
150°
30°
100mm
270° X
– The zero point of the workpiece coordinate system is set as the origin of the polar coordinate system.
– The XY plane is selected.
N1 G17 G90 G16 ; Specifying the polar coordinate command and selecting the XY plane Setting the zero point of the workpiece coordinate system as the origin of the polar coordinate system
N2 G81 X100.0 Y30.0 Z–20.0 R–5.0 F200.0 ; Specifying a distance of 100 mm and an angle of 30 degrees
N3 Y150.0 ; Specifying a distance of 100 mm and an angle of 150 degrees
N4 Y270.0 ; Specifying a distance of 100 mm and an angle of 270 degrees
N5 G15 G80 ; Canceling the polar coordinate command
� Setting the current position as the origin of the polar coordinate system
��������
� Specifying angles and a radius with absolute commands
ww w.
cn cc
en ter
.co m
B–61404E/08 8. COORDINATE VALUE
AND DIMENSIONPROGRAMMING
97
N1 G17 G90 G16; Specifying the polar coordinate command and selecting the XY plane Setting the zero point of the workpiece coordinate system as the origin of the polar coordinate system
N2 G81 X100.0 Y30.0 Z–20.0 R–5.0 F200.0 ; Specifying a distance of 100 mm and an angle of 30 degrees
N3 G91 Y120.0 ; Specifying a distance of 100 mm and an angle of +120 degrees
N4 Y120.0 ; Specifying a distance of 100 mm and an angle of +120 degrees
N5 G15 G80 ; Canceling the polar coordinate command
In the polar coordinate mode, specify a radius for circular interpolation or helical cutting (G02, G03) with R.
Axes specified for the following commands are not considered part of the polar coordinate command: