Warnings, Cautions, and Notes
as Used in this Publication
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 notices are used where equipment might be damaged if care is not taken.
GFL-001
Warning
Caution
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.
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.
This manual includes safety precautions for protecting the user and preventing damage to the m achine.
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.
s-2
Page 5
B-63324EN/03SAFETY PRECAUTIONS
GENERAL WARNINGS AND CAUTIONS
WARNING
1. Never attempt to machine a workpiece without first check ing 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 m achine 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 work piece 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 m anual 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 work piece 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. The operator’s manual and programming 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 m achine model to another. Therefore, som e functions described in the
manuals may not actually be available for a particular model. Check the specification of the
machine if in doubt.
s-3
Page 6
SAFETY PRECAUTIONSB-63324EN/03
WARNING
8. Some functions may have been implem ented at the request of the m achine-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 v ariables are stored in nonvolatile memo ry 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.
s-4
Page 7
B-63324EN/03SAFETY PRECAUTIONS
WARNINGS AND CAUTIONS RELATED TO
PROGRAMMING
This section covers the major safety precautions related to programm ing. Before attempting to perform
programming, read the supplied operator’s manual and programm ing 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 programm ing 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 w hich measurem ent units are being used. Attemp ting
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 becom e 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.
s-5
Page 8
SAFETY PRECAUTIONSB-63324EN/03
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 autom atic 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 com mand 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.
s-6
Page 9
B-63324EN/03SAFETY PRECAUTIONS
WARNINGS AND CAUTIONS RELATED TO
HANDLING
This section presents safety precautions related to the handling of machine tools. B efore attempting to
operate your machine, read the supplied operator’s manual and programming 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 dam age 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 hav e 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 dam ag ing the tool, the m achine itself,
the workpiece, or causing injury to the operator.
6.Origin/preset operation
Basically, never attempt an orig in/preset operation when the m achine 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.
s-7
Page 10
SAFETY PRECAUTIONSB-63324EN/03
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 prog ram, 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 prog ramm ed 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 comm and is entered from the MDI to interrupt in automatic
operation in cutter or tool nose radius compensation m ode, pay particular attention to the tool path when
automatic operation is subsequently resumed. Refer to the descriptions of the corresponding functions
for details.
s-8
Page 11
B-63324EN/03SAFETY PRECAUTIONS
WARNING
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 m odify, insert, or delete com m ands from a m achining program while it is in
use.
s-9
Page 12
SAFETY PRECAUTIONSB-63324EN/03
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
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 v o ltag e alarm is displayed on the machine operator’s panel or
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 manual for details of the battery replacement procedure.
and fitted
s-10
Page 13
B-63324EN/03SAFETY PRECAUTIONS
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 v o ltag e alarm is displayed on the machine operator’s panel or
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 manual for details of the battery replacement procedure.
s-11
Page 14
SAFETY PRECAUTIONSB-63324EN/03
WARNING
3.Fuse replacement
For some units, the chapter covering daily maintenance in the operator’s manual or programming
manual describes the fuse replacement procedure.
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 approv ed 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).
Touching an uncovered high-voltage circuit presents an extremely dangerous electric shock hazard.
F.8PW ALARM (POWER MUST BE TURNED OFF THEN ON AGAIN) ........810
F.9SP ALARM (ALARMS RELATED TO SPINDLE).......................................811
F.10OH ALARM (ALARMS RELATED TO OVERHEAT)..................................814
c-9
Page 24
I
Page 25
B-63324EN/03GENERAL 1.GENERAL
1 GENERAL
Operator’s Manuals consist of the PROGRAMMING Manual and
OPERATION Manual.
About this Operator’s Manual
OPERATOR’S MANUAL (PROGRAMMING) (B-63324EN)
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.
APPENDIX
Lists tape codes, valid data ranges, and alarms.
OPERATOR’S MANUAL (OPERATION) (B-63324EN-1)
I. GENERAL
Describes chapter organization, applicable models, related
manuals, and notes for reading this manual.
II. OPERATION
Describes the manual operation and automatic operation of a
machine, procedures for inputting and outputting data, and
procedures for editing a program.
III. MAINTENANCE
Describes investigation of trouble generation situation.
APPENDIX
Status when turning power on, when reset
Some functions described in this manual may not be applied to some
products. For detail, refer to the DESCRIPTIONS manual(B63322EN).
Applicable product name
Special symbols
This manual does not describe parameters in detail. For details on
parameters mentioned in this manual, refer to the manual for
parameters (B-63330EN).
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 nameAbbreviations
FANUC Series 15i-MA15i-MASeries 15i
FANUC Series 150i-MA150i-MASeries 150i
This manual uses the following symbols:
- 3 -
Page 26
1.GENERALGENERALB-63324EN/03
P_ : Indicates a combination of axes such as X__ Y__ Z (used in
PROGRAMMING.).
; : Indicates the end of a block. It actually corresponds to the ISO
code LF or EIA code CR.
Related manuals
The table below lists manuals related to MODEL A of Series 15i, and
Series 150i. In the table, this manual is marked with an asterisk (*).
When machining the part using the CNC m achine 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. How to prepare the program is described in the
OPERATOR’S MANUAL (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
OPERATOR’S MANUAL (OPERATION).
Part
drawing
PROGRAMMING
Part
programming
CNCMACHINE TOOL
OPERATION
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 machining process
4.Machining tools and machining
Decide the machining method in every machining process.
Machining process
Machining procedure
1. Machining method
: Rough
Semi
Finish
2. Machining tools
3. Machining conditions
: Feedrate
Cutting depth
4. Tool path
123
Feed
cutting
Side
cutting
Hole
machining
- 5 -
Page 28
1.GENERALGENERALB-63324EN/03
Tool
Side cutting
Face cutt ing
Hole machining
Prepare the program of the tool path and machining condition
according to the workpiece figure, for each machining.
- 6 -
Page 29
B-63324EN/03GENERAL1.GENERAL
1.2 NOTES ON READING THIS MANUAL
NOTE
1 The function of an CNC mach ine 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.
- 7 -
Page 30
Page 31
II PROGRAMING
Page 32
Page 33
B-63324EN/03PROGRAMMING 1.GENERAL
1 GENERAL
- 11 -
Page 34
1.GENERALPROGRAMMINGB-63324EN/03
Workpiece
1.1 TOOL MOVEMENT ALONG WORKPIECE PARTS FIGURE-
INTERPOLATION
The tool moves along straight lines and arcs constituting the wo rkpiece
parts figure (See II-4).
Explanation
The function of moving the tool along straight lines and arcs is called
the interpolation.
-Tool movement along a straight line
-Tool movement along an arc
Tool
Program
G01 X_ _ Y_ _ ;
X_ _ ;
Fig.1.1 (a) Tool movement along a straight line
Program
G03X_ _Y_ _R_ _;
Tool
Workpiece
Fig.1.1 (b) Tool movement along an arc
- 12 -
Page 35
B-63324EN/03PROGRAMMING1.GENERAL
Symbols of the programmed commands G01, G02, ... are called the
preparatory function and specify the type of interpolation conducted in
the control unit. B
(a) Movement along straight line(b) Movement along arc
G01Y ;G03X Y
X Y ;
bmb
X axis
IInterpolation
Y axis
a) Movement
along straight ine
b) Movement
along arc
Fig.1.1 (c) Interpolation function
R ;
Tool movement
NOTE
Some machines move tables instead of tools but this
manual assumes that tools are moved against
workpieces.
H
- 13 -
Page 36
1.GENERALPROGRAMMINGB-63324EN/03
1.2 FEED-FEED FUNCTION
Movement of the tool at a specified speed for cutting a workpiece is
called the feed.
mm/min
F
Workpiece
Table
Fig.1.2 (a) Feed function
Tool
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).
- 14 -
Page 37
B-63324EN/03PROGRAMMING1.GENERAL
1.3 PART DRAWING AND TOOL MOVEMENT
1.3.1 Reference Position (Machine-Specific Position)
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
Explanations
Table
Fig.1.3.1 (a) Reference position
The tool can be moved to the reference position in two ways:
1. Manual reference position return (See Operation II-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 perform ed 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.
- 15 -
Page 38
1.GENERALPROGRAMMINGB-63324EN/03
Present tool position
Workpiece
Machine tool
1.3.2 Coordinate System on Part Drawing and Coor di nate System
Specified by CNC - Coordinate System
Explanation
-Coordinate system
Z
Part drawing
Y
Fig.1.3.2 (a) Coordinate system
Program
X
Comman
Tool
Z
Y
Z
Y
X
Coordinate system
CNC
X
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.
Y
Program
zero point
Fig.1.3.2 (b) Coordinate system specified by the CNC
230
300
Distance to the zero point of a coordinate
system to be set
X
- 16 -
Page 39
B-63324EN/03PROGRAMMING1.GENERAL
The positional relation between these two coordinate systems is
determined when a workpiece is set on the table.
Coordinate system on
part drawing established
Coordinate system
specified by the CNC
established on the table
Table
Fig. 1.3.2 (c) Coordinate system specified by CNC and coordinate system
Y
Y
Workpiece
on part drawing
on the workpiece
X
X
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.
-Methods of setting the two coordinate systems in the same position
To set the two coordinate systems at the sam e position, sim ple m ethods
shall be used according to workpiece shape, the number of m achinings.
1Using a standard plane and point of the workpiece.
Y
Fixed distance
Program
zero point
Bring the tool center to the workpiece standard
point. And set the coordinate system specified
by CNC at this position.
Workpiece’s standard point
Fixed distance
X
- 17 -
Page 40
1.GENERALPROGRAMMINGB-63324EN/03
Program zero point
2Mounting a workpiece directly against the jig
Jig
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.)
3Mounting a workpiece on a pallet, then mounting the workpiece
and pallet on the jig
Pallet
Jig
(Jig and coordinate system shall be specified by the same as 2).
Workpiece
- 18 -
Page 41
B-63324EN/03PROGRAMMING1.GENERAL
1.3.3 How to Indicate Command Dimensions for Moving the Tool -
Absolute, Incremental Commands
Explanation
Command for moving the tool can be indicated by absolute command
or incremental command (See II-8.1).
-Absolute command
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.
Z
X
Command specifying movement f rom
point A to point B
Tool
A
Y
B(10.0,30.0,20.0)
G90X10.0 Y30.0 Z20.0;
Coordinates of point B
- 19 -
Page 42
1.GENERALPROGRAMMINGB-63324EN/03
-Incremental command
Z
Tool
A
X=40.0
Y
Z=-10.0
Y-30.0
X
Command specifying movement from
point A to point B
B
G91 X40.0 Y-30.0 Z-10.0
Distance and direction for movement along each axis
Specify the distance from the previous tool position to the next tool
position.
- 20 -
Page 43
B-63324EN/03PROGRAMMING1.GENERAL
1.4 CUTTING SPEED - SPINDLE SPEED FUNCTION
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
-1
in min
unit.
Tool
Spindle speed
-1
Nmin
Workpiece
Tool diameter
Dmm
V: Cutting speed
m/min
[N
<When a workpiece should be machined with a tool 100 mm in
diameter at a cutting speed of 80 m/min. >
The spindle speed is approximately 250 min
-1
, which is obtained from
N=1000v/pD. Hence the following command is required:
S250;
Commands related to the spindle speed are called the spindle speed
function (See II-9) .
- 21 -
Page 44
1.GENERALPROGRAMMINGB-63324EN/03
1.5 SELECTION OF TOOL USED FOR VARIOUS MACHINING -
TOOL FUNCTION
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.
Tool number
01
02
ATC magazine
Example
<When No.01 is assigned to a drilling tool>
When the tool is stored at location 01 in the ATC magazine,
T01
the tool can be selected by specifying T01. This is called the tool
function (See II-10).
- 22 -
Page 45
B-63324EN/03PROGRAMMING1.GENERAL
1.6 COMMAND FOR MACHINE OPERATIONS -
MISCELLANEOUS FUNCTION
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.
The function of specifying the on-off operations of the components of
Tool
Coolant
Workpiece
the machine is called the miscellaneous function. In general, the
function is specified by an M code (See II-11).
For example, when M03 is specified, the spindle is rotated clockwise at
the specified spindle speed.
- 23 -
Page 46
1.GENERALPROGRAMMINGB-63324EN/03
1.7 PROGRAM CONFIGURATION
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
Block
Tool movement sequence
Block
Program
Fig.1.7 (a) Program configuration
Block
Block
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).
- 24 -
Page 47
B-63324EN/03PROGRAMMING1.GENERAL
Dimension word
Explanation
The block and the program have the following configurations.
- Block
1 block
- Program
Nxxxxx Gxx
Sequence
number
Preparatory
function
Xxxx.x Yxxx.x Mxx Sxx Txx ;
Miscellaneous
function
Fig.1.7 (b) Block configuration
Spindle
function
Tool
function
End of block
A block starts with a sequence number to identify the block and ends
with an end-of-block code.
This manual indicates the end-of-block code by ; (LF in the ISO code
and CR in the EIA code).
;
Oxxxx ;
Program number
Block
Block
Block
:
:
:
M30 G
Fig.1.7 (c) Program configuration
:
:
:
End of program
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.
- 25 -
Page 48
1.GENERALPROGRAMMINGB-63324EN/03
- Main program and subprogram
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.
Main program
:
:
M98P1001
:
:
:
Subprogram #1
O1001
Program for hole #1
M98P1002
:
:
M98P1001
:
:
:
Hole #1
Hole #1
Hole #2
M99
Subprogram #2
O1002
M99
Hole #2
Program for hole #2
- 26 -
Page 49
B-63324EN/03PROGRAMMING1.GENERAL
1.8 TOOL FIGURE AND TOOL MOTION BY PROGRAM
Explanation
-Machining using the end of cutter - Tool length compensation function
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 (Operation : see II-9), machining can
be performed without altering the program even when the tool is
changed. This function is called tool length compensation (See II -14.1).
Standard
H1H2
tool
Workpiece
H3H4
-Machining using the side of cutter - Cutter compensation function
Because a cutter has a radius, the center of the cutter path goes around
the workpiece with the cutter radius deviated.
Cutter path using cutter compensation
Workpiece
Machined part
figure
Cutter
If radius of cutters are stored in the CNC (See Operation II-9), the tool
can be moved by cutter radius apart from the machining part figure.
This function is called cutter compensation (See II-14.3, 14.4).
- 27 -
Page 50
1.GENERALPROGRAMMINGB-63324EN/03
1.9 TOOL MOVEMENT RANGE - STROKE
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
Specify these distances
Tools cannot enter this area.
The area is specified by data
in memory or a program.
Table
Machine zero point
Besides strokes defined with limit switches, the operator can define an
area which the tool cannot enter using a program or data in memory.
This function is called stroke check (see Operation II-6.3).
Names of axes can be optionally selected from X, Y, Z, A, B, C, U, V,
and W. They can be set by parameter No. 1020.
Explanation
- Axis name expansion function
With the optional axis name expansion function, I, J, K, and E can also
be used as axis names.
When I, J, K, and E are used as the names of axes, these addresses have
the following functions and restrictions:
(1) These addresses are addresses for coordinate words.
Example) G17I-K- ; The I-K plane is selected.
(2) The numeric values to be specified must consist of up to 8 digits.
(3) A decimal point can be input.
If a decimal point is omitted, its position is determined according to
the increment system of the axis for that address.
Example) G00 E0.5 I 100 K 100.0;
(4) A signed value can be input.
Example) G01 E-10.5 F100;
Limitation
- Axis name expansion function
-When I, J, K, and E are used as axis names, they cannot be used
Three- dimensional offset
vector
Canned cycle shift amountCoordinate words
ArgumentArgumentThe position of the decimal point is
interpolation
thread for inch screws)
continuous-state information
Normal use
Used for
controlled axes
Use an R command to specify the
for I, J, and K
Coordinate words
for I, J, and K
for I, J, and K
coordinates
K-axis coordinate
word
E-axis coordinate
word
No meaningCustom macro variable #4108 is
center.
Three- dimensional tool compensation is
disabled.
An amount of shift cannot be specified.
A limit position cannot be specified.
determined by the increment system.
NURBS interpolation is disabled.
The number of threads for inch screws
cannot be specified in G33 threading.
unavailable.
Remarks
CAUTION
When this function is used, the second auxiliary
function cannot be used.
- 31 -
Page 54
2.CONROLLED AXESPROGRAMMINGB-63324EN/03
2.3 INCREMENT SYSTEM
The increment system uses least input increment (for input) and least
command increment (for output). The least input increment is the least
increment for programming the travel distance. The least command
increment is the least increment for moving the tool on the machine.
Both increments are represented in mm, inches, or deg.
There are five types of increment systems, as shown in Table2.3 (a).
One of the five types can be set for each axis by using bits 0 (ISA), 1
(ISC), 2 (ISD), and 3(ISE) of Parameter No. 1012.
The least input increment is in either metric or inch units. One can be
selected using a G code (G20, G21) or setting parameter.
The least command increment is in either metric or inch units
depending on the machine tool. Set metric or inch in bit 1 (INM) of
parameter No. 1002 in advance.
The metric and inch systems cannot be used together. There are
functions that cannot be used for axes with different unit systems
(circular interpolation, cutter compensation, and so forth).
IS-D and IS-E are optional.
For the increment system, see the manual provided by the machine tool
builder manual.
Name of
increment
system
Table2.3 (a) Increment system
Least input
increment
0.01mm0.01mm999999.99 mm
0.001inch 0.001inch99999.999 inchIS-A
0.01deg0.01deg999999.99 deg
0.001mm0.001mm99999.999 mm
0.0001inch 0.0001inch9999.9999 inchIS-B
0.001deg0.001deg99999.999 deg
0.0001mm0.0001mm9999.9999 mm
0.00001inch 0.00001inch999.99999 inchIS-C
0.0001deg0.0001deg9999.9999 deg
0.00001mm0.00001mm9999.99999 mm
0.000001inch 0.000001inch999.999999 inchIS-D
0.00001deg0.00001deg9999.99999 deg
0.000001mm0.000001mm999.999999 mm
0.0000001inch 0.0000001 inch99.9999999 inchIS-E
0.000001deg0.000001deg999.999999 deg
Least command
increment
Maximum stroke
- 32 -
Page 55
B-63324EN/03PROGRAMMING2.CONROLLED AXES
By setting bit 0 (IM0) of parameter No. 1013 for ten-fold input unit,
each increment system is set as shown in Table2.3 (b).
Table2.3 (b)
Name of
increment
system
Least input
increment
0.01mm0.001mm99999.999 mm
0.001inch 0.0001inch9999.9999 inchIS-B
0.01deg0.001deg99999.999 deg
0.001mm0.0001mm9999.9999 mm
0.0001inch 0.00001inch999.99999 inchIS-C
0.001deg0.0001deg9999.9999 deg
0.0001mm0.00001mm9999.99999 mm
0.00001inch 0.000001inch999.999999 inchIS-D
0.0001deg0.00001deg9999.99999 deg
0.00001mm0.000001mm999.999999 mm
0.000001inch 0.0000001 inch99.9999999 inchIS-E
0.00001deg0.000001deg999.999999 deg
Least command
increment
Maximum stroke
- 33 -
Page 56
2.CONROLLED AXESPROGRAMMINGB-63324EN/03
2.4 MAXIMUM STROKE
Maximum stroke = Least command increment × 99999999
(For IS-D and IS-E, 999999999)
See 2.3 Increment System.
Table2.4 (a) Maximum stroke
Increment systemMaximum stroke
IS-A
IS-B
IS-C
IS-D
IS-E
Metric machine
system
Inch machine
system
Metric machine
system
Inch machine
system
Metric machine
system
Inch machine
system
Metric machine
system
Inch machine
system
Metric machine
system
Inch machine
system
±999999.99 mm
±999999.99 deg
±99999.999 inch
±999999.99 deg
±99999.999 mm
±99999.999 deg
±9999.9999 inch
±99999.999 deg
±9999.9999 mm
±9999.9999 deg
±999.99999 inch
±9999.9999 deg
±9999.99999 mm
±9999.99999 deg
±999.999999 inch
±9999.99999 deg
±999.999999 mm
±999.999999 deg
±99.9999999 inch
±999.999999 deg
NOTE
1A command exceeding the maximum stroke cannot
be specified.
2The actual stroke depends on the machine tool.
- 34 -
Page 57
B-63324EN/03PROGRAMMING3.PREPARATORY FUNCTION (G FUNCTION)
3 PREPARATORY FUNCTION (G FUNCTION)
A preparatory function is specified using a numeric value following
address G. This determines the meaning s of the comm ands specified in
the block. G codes are divided into the following two types:
TypeMeaning
One-shot G codeThe G code is effective only in the block in which it is
specified.
Continuous-state
G code
(Example) G01 and G00 are continuous-state G codes.
G01 X_ :
Z_ :G01 is effective in this range.
X_ :
G00 Z_ :
Explanation
1.G codes marked are the initial G codes set when the power is
turned on or when the system is reset.
For G00 and G01, G17, G18, and G19, G43, G44, and G49, G94
and G95, and G90 and G91, the G code status can be selected by
setting bit 0 (G01), bit 1 (G90), bit 2 (G43), bit 3 (G44), bit 4
(G95), and bit 5 (G18) of parameter No. 2401.
For G20 and G21, the system enters the state immediately before
the power is turned off or the reset button is pressed.
2.G codes other than G10 and G11 are one-shot G codes.
3.When a G code not listed in the G code list is specified, or a G
code that has no corresponding option is specified, P/S alarm No.
010 is output.
4. Multiple G codes can be specified in the same block if each G code
belongs to a different group. If mu ltiple G codes that belong to the
same group are specified in the same block, only the last G code
specified is valid.
5. If a G code belonging to group 01 is specified in a canned cycle, the
canned cycle is cancelled. This means that the same state set by
specifying G80 is set. Note that the G codes in group 01 are not
affected by a G code specifying a canned cycle.
6. G codes are indicated by group.
7. The group of G60 is switched according to the setting of the MDL
bit (bit 0 of parameter 7616). (When the MDL bit is set to 0, the 00
group is selected. When the MDL bit is set to 1, the 01 group is
selected.)
The G code is effective until another G code of the
same group is specified.
- 35 -
Page 58
3.PREPARATORY FUNCTION (G FUNCTION) PROGRAMMINGB-63324EN/03
G30Return to 2nd, 3rd, or 4th reference position
G30.1Return to floating reference position
G31Skip function
G31.1Multistage skip function 1
G31.2Multistage skip function 2
G31.3Multistage skip function 3
G31.4Multistage skip function 4
G31.8EGB skip function
G31.9
01
NURBS interpolation
00
function
Programmable data input mode cancel
26
Polar coordinate interpolation cancel mode
17
Polar coordinates command
where, Xp:X axis or a parallel axis
02
YpZp plane
04
Stored stroke check function off
25
Spindle speed fluctuation detection on
00
High succession skip function
Yp:Y axis or a parallel axis
Zp:Z axis or a parallel axis
- 36 -
Page 59
B-63324EN/03PROGRAMMING3.PREPARATORY FUNCTION (G FUNCTION)
Table3 G code list
CodeGroupFunction
G3301Threading
G37Automatic tool length measurement
G38Cutter compensation C vector retention
G39
G40
G41
G42Cutter compensation right
G41.23 dimensional cutter compensation left
G42.23 dimensional cutter compensation right
G41.3
G40.1Normal direction control cancel mode
G41.1Normal direction control left side on
G42.1
G43Tool length compensation (+ve)
G43.1Tool length compensation in tool axis direction
G44
G45Tool offset increase
G46Tool offset decrease
G47Tool offset double increase
G48
G4908Tool length compensation cancel
G50Scaling cancel
G51
G50.1Programmable mirror image cancel
G51.1
G52Local coordinate system setting
G53
G54Workpiece coordinate system 1 selection
G54.1Additional workpiece coordinate system selection
G54.2Fixture offset selection
G55Workpiece coordinate system 2 selection
G56Workpiece coordinate system 3 selection
G57Workpiece coordinate system 4 selection
G58Workpiece coordinate system 5 selection
G59
G6000/01 Unidirectional positioning
G61Exact stop mode
G62Automatic corner override
G63Tapping mode
G64
G6500Macro call
G66Macro modal call A
G66.1Macro modal call B
G67
G68Coordinate system rotation
G69
G72.1Rotation copy
G72.2
00
Cutter compensation C corner rounding
Cutter compensation cancel / Three dimensional
compensation cancel
Cutter compensation left / Three dimensional
compensation
07
Leading edge offset
19
Normal direction control right side on
08
Tool length compensation (-ve)
00
Tool offset double decrease
11
Scaling
18
Programmable mirror image
00
Machine coordinate system selection
14
Workpiece coordinate system 6 selection
15
Cutting mode
12
Macro modal call cancel
16
Coordinate system rotation cancel
00
Linear copy
- 37 -
Page 60
3.PREPARATORY FUNCTION (G FUNCTION) PROGRAMMINGB-63324EN/03
cancel / Electronic gear box synchronous cancel
(Command for hobbing machine or 1 axis)
09
Drill cycle, stop boring /external operation function /
Electronic gear box synchronous start (Command for
hobbing machine or 1 axis)
Electronic gear box synchronous cancel (Command for
2 axes)
Electronic gear box synchronous start (Command for 2
axes)
09
Boring cycle
03
Incremental command
Setting for work coordinate system or clamp at
maximum spindle speed
00
Workpiece coordinate system preset
05
Feed per rotation
13
Constant surface speed control cancel
10
Return to R-point level in canned cycle
- 38 -
Page 61
B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS
4 INTERPOLATION FUNCTIONS
- 39 -
Page 62
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
4.1 POSITIONING (G00)
The G00 command mov es a tool to the position in the workpiece sy stem
specified with an absolute or an incremental com m and at a rapid trav erse
rate.
In the absolute command, coordinate value of the end point is
programmed.
In the incremental comm and the distance the tool m oves is prog ram m ed.
Format
G00 IP_ ;
IP_ : For an absolute command, the coordinates of an end
position, and for an incremental com m nad, the
distance the tool moves.
Explanation
Either of the following tool paths can be selected according to bit 1 of
parameter LRP No. 1401.
- Nonlinear interpolation positioning
The tool is positioned with the rapid traverse rate for each axis
separately. The tool path is normally straight.
- Linear interpolation positioning
The tool path is the same as in linear interpolation (G01). The tool is
positioned within the shortest possible time at a speed that is not m ore
than the rapid traverse rate for each axis.
Linear interpolation positioning
End position
Non linear interpolation positioning
Fig.4.1 (a) Tool path
The rapid traverse rate in G00 command is set to the parameter No. 1420
for each axis independently by the machine tool builder. In the
posiitoning 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.
Start position
- 40 -
Page 63
B-63324EN/01 PROGRAMING4.INTERPOLATION FUNCTIONS
This range is determined by the machine tool builder by setting to
parameter (No. 1827).
In-position check for each block can be disabled by setting bit 0 (C I P) of
parameter No.1000 accordingly.
Limitation
(1) The rapid traverse rate cannot be specified in the address F.
(2) Even if linear interpolation positioning is specified, nonlinear
interpolation positioning is used in the following cases. Therefore, be
careful to ensure that the tool does not foul the workpiece.
-G28 specifying positioning between the reference and
intermediate positions.
-G53
- 41 -
Page 64
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
4.2 SINGLE DIRECTION POSITIONING (G60)
For accurate positioning without play of the machine (backlash), final
positioning from one direction is available.
Overrun
Start position
Start position
Format
Explanation
End position
Fig.4.2 (a) Direction positioning process
Temporary stop
G60 IP_ ;
IP_ :For an absolute command, the coordinates of an end
position, and for an incremental com m nad, the
distance the tool moves.
An overrun and a positioning direction are set by the parameter (No.
6820).
Even when a commanded positioning direction coincides with that set by
the parameter, the tool stops once before the end point.
G60, which is an one-shot G-code, can be used as a modal G-code in
group 01 by setting 1 to the parameter (No. 7616 bit 0 G60).
This setting can eliminate specifying a G60 command for every block.
Other specifications are the same as those for an one-shot G60 command.
When an one-shot G code is specified in the single direction positioning
mode, the one-shot G command is effective like G codes in group 01.
- 42 -
Page 65
B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS
(Example)
When one-shot G60 commandsWhen modal G60 command
are used.is used.
::
::
G90;G90 G60;Single direction
G60 X0 Y0;X0 Y0;positioning mode start
G60 X100; Single directionX100;Single direction
G60 Y100; positioningY100;positioning
G04 X10;G04 X10;
G00 X0 Y0;G00 X0 Y0;Single direction
positioning mode
cancel
Limitation
- During canned cycle for drilling(G81to G89, G73, G74, G76), no
single direction positioning is effected in drilling 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.
-The single Direction Positioning is always non linear interpolation
type positioning.
-The parameter FPI (No. 1000#3) can be used to determine whether
the in-position check is to be done or not at the tem porary stop point
- 43 -
Page 66
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
α
γ
ζ
4.3 LINEAR INTERPOLATION (G01)
Tools can move along a line
Format
G01 IP_ F_ ;
IP_ :For an absolute command, the coordinates of an end
point , and for an incremental commnad, the distance
the tool moves.
F_ :Speed of tool feed (Feedrate)
Explanation
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.
G01 αα ββ γγ ζζ Ff ;
Feed rate of α axis direction : Fα =
Feed rate of β axis direction : Fβ =
Feed rate of γ axis direction : Fγ=
Feed rate of ζ axis direction : Fζ =
L=
-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
axis
β (such as A, B, or C) are linearly interpolated, the feed rate is
that in which the tangential feed rate in the α and
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.
2222
ζγβα
+++
¿(such as X, Y, or Z) and the rotating
× f
L
β
× f
L
× f
L
× f
L
β Cartesian
β-
- 44 -
Page 67
B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS
(Example)
G91 G01 X20.0 C40.0 F300.0 G
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:
22
4020
300
+
≅
min14907.0
The feed rate for the C axis is
deg40
≅
min14907.0
-In simultaneous 3 axes control, the feed rate is calculated the same
way as in 2 axes control.
min/268.3deg
Example
- Linear interpolation
(G91) G01X200.0Y100.0F200.0;
- Feedrate for the rotation axis
Y axis
100.0
0(Start position)
Fig.4.3 (a) Linear interpolation
G91G01C-90.0 G300.0 ;Feed rate of 300deg/min
90°
(End position)
200.0
(Start point)
X axis
(End point)
Feedrate is 300 deg/min
Fig.4.3 (b) Feedrate for the rotation axis
- 45 -
Page 68
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
4.4 CIRCULAR INTERPOLATION (G02,G03)
The command below will move a tool along a circular arc.
Format
Arc in the XpYp plane
G02I_ J_
G17Xp_ Yp_F_ ;
G03R_
Arc in the ZpXp plane
G02K_ I_
G18Zp_ Xp_F_ ;
G03R_
Arc in the YpZp plane
G02J_ K_
G19Yp_ Zp_F_ ;
G03R_
Description of the Command Format
CommandDescription
G17Specification of arc on XpYp plane
G18Specification of arc on ZpXp plane
G19Specification of arc on YpZp plane
G02Circular Interpolation Clockwise direction (CW)
G03Circular Interpolation Counterclockwise direction (CCW)
Xp_
Yp_
Zp_
I_
J_
K_
R_Arc radius (with sign)
F_Feedrate along the arc
Command values of X axis or its parallel axis
(set by parameter No. 1022)
Command values of Y axis or its parallel axis
(set by parameter No. 1022)
Command values of Z axis or its parallel axis
(set by parameter No. 1022)
Xp axis distance from the start point to the center of an arc
with sign (with sign)
Yp axis distance from the start point to the center of an arc
with sign (with sign)
Zp axis distance from the start point to the center of an arc
with sign (with sign)
- 46 -
Page 69
B-63324EN/01 PROGRAMING4.INTERPOLATION FUNCTIONS
Xp
Explanation
- Direction of the circular interpolation
"Clockwise"(G02) and "counterclockwise"(G03) on the XpYp plane
(ZpXp plane or YpZp plane) are defined when the XpYp plane is v iewed
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
G03
G02
G17
Fig.4.4 (a) Direction of the circular interpolation
- Distance moved on an arc
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.
- Distance from the start point to the center of arc
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.
Xp
G02
G18
G03
Zp
G02
G19
G03
YpZp
Z
End point (z,x)
k
Start point
i
Z
Y
Center
End point (y,z)
Start point
j
k
End point (x,y)
Y
X
i
Center
Fig.4.4 (b) Distance from the start point to the center of arc
X
Start point
j
Center
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 360deg. arc (circle) is
specified.
G02 I_ ; @Command for a circle
If the difference between the radius at the start point and that at the end
point exceeds the permitted value in a parameter (No.2410), an P/S alarm
(No.191) occurs.
- 47 -
Page 70
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
- Arc radius
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 180deg., and the other is more than
180deg. are considered. When an arc exceeding 180deg. is comm anded,
the radius must be specified with a negative value. I f 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 0deg. is programmed G02R ; (The
cutter does not move.)
(Example)
For arc (1) (less than 180°)
G91 G02 X60.0 Y20.0 R50.0 F300.0 :
For arc (2) (greater than 180°)
G91 G02 X60.0 Y20.0 R-50.0 F300.0 :
(2)
r =50mm
- Feedrate
End point
(1)
Start point
Y
Fig.4.4 (c) Arc radius
r =50mm
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.
- 48 -
Page 71
B-63324EN/01 PROGRAMING4.INTERPOLATION FUNCTIONS
γ−γ
- Cases where a spiral results
When an end point does not lie on the arc, a spiral results, as shown
below.
End point
γe
)t(s)e(
Start point
θ(t)
γ(t)
+γ=γ
˘
s(t)
radius
Start point
γs
γe
The arc radius changes linearly with the center angle θ(t). Spiral
interpolation is performed using a circular command that specifies one
arc radius for the start point and another arc radius for the end point. To
use spiral interpolation, set a large value in parameter No. 2410, used to
specify the limit on the arc radius error.
Limitation
- Simultaneous specification of I, J, K, and R
If I, J, K, and R addresses are specified simultaneously, the arc specified
by address R takes precedence and the other are ignored.
End point
θ
Center
Center θ
γs
Fig.4.4 (d) Case Where a Spiral Is Produced
- Commandment of an axis not comprising the specified plane
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 P/S alarm (No.0186)is displayed.
- Specifying a semicircle by R
If an arc has a central angle of nearly 180°, an error may occur when the
position of the center is calculated. To avoid this error, specify the
semicircle by R using two arcs having a central angle of nearly 90° or
specify its center position directly by I, J, and K.
- 49 -
Page 72
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
Example
Y axis
100
50R
60
40
60R
0
Fig.4.4 (e) Sample program
90
120
140
The above tool path can be programmed as follows ;
(1) In absolute programming
Helical interpolation which moved helically is enabled by specifying up
to two other axes which move synchronously with the circular
interpolation by circular commands.
Format
Synchronously with arc of XpYp plane
G02I_ J_
G17Xp_ Yp_
G03R_
Synchronously with arc of ZpXp plane
G02K_ I_
G18Zp_ Xp_
G03R_
Synchronously with arc of YpZp plane
G02J_ K_
G19Yp_ Zp_
G03R_
α_ (β_) F_ ;
α_ (β_) F_ ;
α_ (β_) F_ ;
Explanation
α, β
: Any one axis where circular interpolation is not
applied.
Up to two other axes can be specified.
The basic command method involves simply adding a move command
for one or two axes, other than circular interpolation axes, to a circular
interpolation command (see II-4.4).
As the feedrate, either a feedrate tangent to an arc or a tangential feedrate
determined by also considering movement along the linear axes can be
specified. The feedrate to be specified can be selected by setting bit 2
(HTG) of parameter No. 1401. If HTG is set to 0, a feedrate along an arc
is specified by an F command. Therefore, the feedrate on a linear axis is
as follows:
F ×
axislinearofLength
arccircularofLength
Determine the feedrate so that the linear axis feedrate does not exceed
any of the limit values.
- 51 -
Page 74
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
Z
Tool path
X
The feedrate along the circumference of two
circular interpolated axes is the specified feedrate.
Fig.4.5 (a) Feedrate When Parameter HTG = 0
Y
When bit 2 (HTG) of parameter No. 1401 is set to 1, the speed com m and
specifies the feedrate along the actual tool path, including movement
along the linear axis.
In this case, the feedrate along the arc on the plane is:
F+×
arccircularofLength
22
)()(axislinearofLengtharccircularofLength
The feedrate along the linear axis is:
F+×
Z
axislinearofLength
22
)()(axislinearofLengtharccircularofLength
Limitation
Tool path
X
The speed command specifies the
feedrate along the tool path.
Fig.4.5 (b) Feedrate When Parameter HTG = 1
Y
- 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.
- 52 -
Page 75
B-63324EN/01 PROGRAMING4.INTERPOLATION FUNCTIONS
4.6 HELICAL INTERPOLATION B (G02,G03)
Helical interpolation B allows the tool to move in helically. This can be
done by specifying the circular interpolation command together with up
to four axes.
Format
Synchronously with arc of XpYp plane
G02I_ J_
G17Xp_ Yp_
G03R_
Synchronously with arc of ZpXp plane
G02K_ I_
G18Zp_ Xp_
G03R_
Synchronously with arc of YpZp plane
G02J_ K_
G19Yp_ Zp_
G03R_
¿_
¿_
¿_
_ γ_ δ_ F_ ;
_ γ_ δ_ F_ ;
_ γ_ δ_ F_ ;
Explanation
Limitation
The command format for helical interpolation B consists of the
command format for normal helical interpolation and move commands
for two axes. As with normal helical interpolation, the feedrate of helical
interpolation B is controlled so that the feedrate of circular interpolation
can achieve the specified feedrate.(See II-4.6)
Bit 2 (HTG) of parameter No. 1401 can be used to specify whether the
speed command specifies the feedrate along the tangential line of the arc
on the plane, or the feedrate along the tangential line of the actual tool
path, including movement along the linear axis.
- 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.
- 53 -
Page 76
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
π
4.7 HYPOTHETICAL AXIS INTERPOLATION (G07)
In helical interpolation, when pulses are distributed with one of the
circular interpolation axes set to a hypothetical axis, sine interpolation is
enabled.
When one of the circular interpolation axes is set to a hypothetical axis,
pulse distribution causes the speed of movement along the remaining
axis to change sinusoidally. If the major axis for threading (the axis
along which the machine travels the longest distance) is set to a
hypothetical axis, threading with a fractional lead is enabled. The axis to
be set as the hypothetical axis is specified with G07.
Where, ¿ is any one of the addresses of the contr olled axes.
Explanation
- Sine interpolation
The ¿ axis is regarded as a hypothetical axis for the period of time from
the G07 ¿ 0 command until the G07 ¿ 1 command appears.
Suppose sine interpolation is performed for one cycle in the YZ plane.
The hypothetical axis is then the X axis.
2{Y2
X
= r2 (r is the radius of an arc. j
Y = rSIN (
Y
r
0
2
Z) (l is the distance traveled along the Z-axis in
l
one cycle. j
l
4
l
Fig.4.7 (a) Sine interpolation
Z
- Interlock, stroke limit, and external deceleration
Interlock, stroke limit, and external deceleration can also apply to the
hypothetical axis.
- 54 -
Page 77
B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS
- Handle interrupt
Specify hypothetical axis interpolation only in the incremental mode.
Limitation
- Manual operation
The hypothetical axis can be used only in automatic operation. In
manual operation, it is not used, and movement takes place.
- Move command
Specify hypothetical axis interpolation only in the incremental mode.
- Coordinate rotation
Hypothetical axis interpolation does not support coordinate rotation.
Example
- Sine interpolation
Y
10.0
0
Fig.4.7 (b) Sine interpolation isample j
N001 G07 X0 ;
N002 G91 G17 G03 X-20.0 Y0.0 I-10.0 Z20.0 F100 ;
N003 G01 X10.0 ;
N004 G07 X1 ;
From the N002 to N003 blocks, the X-axis is set to a hypothetical axis.
The N002 block specifies helical cutting in which the Z - axis is the linear
axis. Since no movement takes place along the X axis, movement along
the Y-axis is performed while performing sine interpolation along the
Z-axis.
In the N003 block, there is no movement along the X-axis, and so the
machine dwells until interpolation terminates.
- Changing the feedrate to form a sine curve
(Sample program j
G07Z0 ; The Z-axis is set to a hypothetical axis.
G02X0Z0I10.0F4. ; The feedrate on the X-axis changes
G07Z1 ;The use of the Z-axis as a hypothetical axis is
Z
20.0
sinusoidally.
canceled.
- 55 -
Page 78
4.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01
F
4.0
Xt
Fig.4.7 (c) Changing the feedrate to from a sine curve isample j
- 56 -
Page 79
B-63324EN/01 PROGRAMING4.INTERPOLATION FUNCTIONS
4.8 POLAR COORDINATE INTERPOLATION (G12.1,G13.1)
Polar coordinate interpolation is a function that exercises contour control
in converting a command programmed in a Cartesian coordinate system
to the movement of a linear axis (m ov em ent of a tool) and the mo vem ent
of a rotary axis (rotation of a workpiece). This function is useful for
grinding a cam shaft.
Format
G12.1; Starts polar coordinate interpolation mode
(enables polar coordinate interpolation)
Specify linear or circular interpolation using
coordinates in a Cartesian coordinate system
consisting of a linear axis and rotary axis
(virtual axis).
G13.1Polar coordinate interpolation mode is
cancelled (for not performing polar
coordinate interpolation)
Specify G12.1 and G13.1 in Separate Blocks.
Explanation
- Polar coordinate interpolation plane
G12.1 starts the polar coordinate interpolation mode and selects a polar
coordinate interpolation plane (Fig.4.8 (a)). Polar coordinate
interpolation is performed on this plane.
Origin of the local coordinate system (G52 command)
(Or origin of the workpiece coordinate system)
Rotary axis (virtual axis)
(unit : mm or inc h)
Linear axis
(unit : mm or inc h)
Fig.4.8 (a) Polar coordinate interpolation plane.
When the power is turned on or the system is reset, polar coordinate
interpolation is canceled (G13.1).
The linear and rotation axes for polar coordinate interpolation must be
set in parameters (No. 1032 and 1033) beforehand.
- 57 -
Page 80
4.INTERPOLATION FUNCTIONS PROGRAMMINGB-63324EN/03
CAUTION
The plane used before G12.1 is specified (plane
selected by G17, G18, or G19) is canceled. It is
restored when G13.1 (canceling polar coordinate
interpolation) is specified.
When the system is reset, polar coordinate
interpolation is canceled and the plane specified by
G17, G18, or G19 is used.
- Distance moved and feedrate for polar coordinate interpolation
The unit for coordinates on th e hypothetical axis is the sam e as the unit for the linear axis
(mm/inch)
In the polar coordinate interpolation mode, program commands are
specified with Cartesian coordinates on the polar coordinate
interpolation plane. The axis address for the rotation axis is used as the
axis address for the second axis (virtual axis) in the plane. Whether a
diameter or radius is specified for the first axis in the plane is the same
as for the rotation axis regardless of the specification for the first axis in
the plane.
The virtual axis is at coordinate 0 immediately after G12.1 is specified.
Polar interpolation is started assuming the angle of 0 for the position of
the tool when G12.1 is specified.
The unit for the feedrate is mm/min or inch/min
Specify the feedrate as a speed (relative speed between the workpiece
and tool) tangential to the polar coordinate interpolation plane
(Cartesian coordinate system) using F.
- G codes which can be specified in the polar coordinate interpolation mode
G94, G95.............. Feed per minute, feed per revolution
- Circular interpolation in the polar coordinate plane
The addresses for specifying the radius of an arc for circular
interpolation (G02 or G03) in the polar coordinate interpolation plane
depend on the first axis in the plane (linear axis).
- I and J in the Xp-Yp plane when the linear axis is the X-axis or an
axis parallel to the X-axis.
- J and K in the Yp-Zp plane when the linear axis is the Y-axis or an
axis parallel to the Y-axis.
- K and I in the Zp-Xp plane when the linear axis is the Z - axis or an
axis parallel to the Z-axis.
The radius of an arc can be specified also with an R command.
- 58 -
Page 81
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCTIONS
- Movement along axes not in the polar coordinate interpolation plane in the polar
coordinate interpolation mode
The tool moves along such axes normally, independent of polar
coordinate interpolation.
- Current position display in the polar coordinate interpolation mode
Actual coordinates are displayed. However, the remaining distance to
move in a block is displayed based on the coordinates in the polar
coordinate interpolation plane (Cartesian coordinates).
Limitation
- Coordinate system for the polar coordinate interpolation
Before G12.1 is specified, a local coordinate system (or workpiece
coordinate system) where the center of the rotary axis is the origin of
the coordinate system must be set. In the G12.1 mode, the coordinate
system must not be chang ed (G92, G52, G53, relativ e coordinate reset,
G54 through G59, etc.).
- Tool offset command
The polar coordinate interpolation mode cannot be started or
terminated (G12.1 or G13.1) in the tool offset mode (G41 or G42).
G12.1 or G13.1 must be specified in the tool offset canceled mode
(G40).
- Tool length offset command
Tool length offset must be specified in the polar coordinate
interpolation cancel mode before G12.1 is specified. It cannot be
specified in the polar coordinate interpolation mode. Furthermore, no
offset values can be changed in the polar coordinate interpolation
mode.
- Tool offset command
A tool offset must be specified before the G12.1 m ode is set. No offset
can be changed in the G12.1 mode.
- Program restart
For a block in the G12.1 mode, the program cannot be restarted.
- Cutting feedrate for the rotation axis
Polar coordinate interpolation converts the tool movement for a figure
programmed in a Cartesian coordinate system to the tool movement in
the rotation axis (C-axis) and the linear axis (X-axis). When the tool
moves closer to the center of the workpiece, the C-axis component of
the feedrate becomes larger and may exceed the maximum cutting
feedrate for the C-axis (set in parameter (No. 1422)), causing an alarm
(see the warning below). To prevent the C-axis component from
exceeding the maximum cutting feedrate for the C-axis, reduce the
feedrate specified with address F or create a program so that the tool
(center of the tool when cutter compensation is applied) does not move
close to the center of the workpiece.
- 59 -
Page 82
4.INTERPOLATION FUNCTIONS PROGRAMMINGB-63324EN/03
π
WARNRING
1. Consider lines L1, L2, and L3. ∆X is the distance the
tool moves per time unit at the feedrate speci fied with
address F in the Cartesian coordinate system. As
the tool moves from L1 to L2 to L3, the angle at whic h
the tool moves per time unit corresponding to ∆X in
the Cartesian coordinate system increases from θ1
to θ2 to θ3.
In other words, the C- axi s component of the feedrate
becomes larger as the tool moves closer to the
center of the workpiece. The C component of the
feedrate may exceed the maximum cutting feedrate
for the C-axis because the tool movement in the
Cartesian coordinate system has been converted to
the tool movement for the C-axis and the X-axis.
∆X
θ1
θ2
θ3
L1
L2
L3
L : Distance (in mm) between the tool center and
workpiece center when the tool center is the
nearest to the workpiece center
R : Maximum cutting feedrate (deg /min) of the C ax is
Then, a speed specifiable with address F in polar
coordinate interpolation can be given by the formula
below.
Specify a speed allowed by the formula. The
formula provides a theoretical value; in practice, a
value slightly smaller than a theoretical value may
need to be used due to a calculation error.
F<L×R×
imm/min j
180
The speed can be controlled so as to prevent the
issue of alarm OT512 (excessive speed). See II-
5.5..2for details.
- 60 -
Page 83
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCTIONS
WARNRING
3. The following functions cannot be used for the
rotation axis for polar coordinate i nter pol ation. U si ng
any of these functions results in abnormal operation.
- Roll-over function
- Multiple-rotary axis control
- Index table indexing function
- 61 -
Page 84
4.INTERPOLATION FUNCTIONS PROGRAMMINGB-63324EN/03
Example
Example of Polar Coordinate Interpolation Program Based on X Axis(Linear Axis) and C Axis (Rotary
Axis)
C’(hypothetical axis)
C axis
N204
N205
N206
Fig.4.8 (b) Polar Coordinate Interpolation Program Based on X Axis(Linear Axis) and C Axis (Rotary Axis)
N203
N202
N208
N207
Path after cutter compensation
Program path
N201
N200
Tool
Z axis
X axis
O001;
:
N010 T0101
:
N0100 G90 G00 X60.0 C0 Z_ ; Positioning to start position
N0200 G12.1;Start of polar coordinate
N0201 G42 G01 X20.0F_ ;
N0202 C10.0;
N0203 G03 X10.0 C20.0 R10.0;
N0204 G01 X-20.0;
N0205 C-10.0; Geometry program
N0206 G03 X-10.0-20.0 I10.0 J0; (program based on Cartesian
N0207 G01 X20.0; coordinates on X-C’ plane)
N0208 C0;
N0209 G40 X60.0;
N0210 G13.1:Cancellation of polar coordinate interpolation
N0300 Z_ :
N0400 X_ C_ ;
:
N0900M30;
- 62 -
Page 85
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCIONS
4.9 CYLINDRICAL INTERPOLATION (G07.1)
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.
Format
G07.1 IPr ;Starts the cylindrical interpolation
:mode
:(enables cylindrical interpolation).
G07.1 IP0 ;The cylindrical interpolation mode is
cancelled.
IP : An address for the rotation axis
r :The radius of t he cylinder
Specify G07.1 IPr ; and G07.1 IP0; in separ ate blocks.
G107 can be used instead of G07.1.
Explanation
- Plane selection (G17,G18,G19)
- Feedrate
Use parameter (No. 1022) 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.
Only one rotation axis can be set for cylindrical interpolation.
A feedrate specified in the cylindrical interpolation mode is a speed on
the developed cylindrical surface.
- 63 -
Page 86
4.INTERPOLATION FUNCIONSPROGRAMMINGB-63324EN/03
- Circular interpolation (G02,G03)
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 II-4.4.
The unit for a radius is not degrees but millimeters (for metric input) or
inches (for inch input).
@Example jCircular interpolation between the Z axis and C axis
For the C axis of parameter (No.1022), 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 C axis of parameter (No.1022), 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_ ;
- Cylindrical interpolation accuracy
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.
MOTION REV:The amount of travel per rotation of the rotation axis
(Setting value of parameter No. 1260)
R:Workpiece radius
:Rounded to the least input increment
- 64 -
Page 87
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCIONS
Limitation
- Arc radius specification in the cylindrical interpolation mode
In the cylindrical interpolation mode, an arc radius cannot be specified
with word address I, J, or K.
- Cutter compensation
To perform cutter compensation, specify G41, G42, and G40 in
cylindrical interpolation mode. Note that when cylindrical
interpolation mode is set during cutter compensation, correct
compensation cannot be applied.
- Positioning
In the cylindrical interpolation m ode, 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 (G07.1) cannot be performed in the
positioning mode (G00).
- Coordinate system setting
In the cylindrical interpolation mode, a workpiece coordinate system
(G92, G54 through G59) or local coordinate system (G52) cannot be
specified.
- Cylindrical interpolation mode setting
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.
- Rotation axis
Only one rotation axis can be set in cylindrical interpolation. With the
G97.1 command, no more than one rotation axis can be specified.
- Parallel axis
The rotation axis for cylindrical interpolation is not a parallel axis.
- Tool offset
A tool offset must be specified before the cylindrical interpolation
mode is set. No offset can be changed in the cylindrical interpolation
mode.
- Index table indexing function
Cylindrical interpolation cannot be specified when the index table
index function is being used.
- Rotation axis rollover function
If the rotation axis for which the rollover function is used is specified as
the rotation axis used with cylindrical interpolation, the rollover
function is disabled in cylindrical interpolation mode.
When cylindrical interpolation mode is cancelled, the rollover function
is automatically enabled.
- 65 -
Page 88
4.INTERPOLATION FUNCIONSPROGRAMMINGB-63324EN/03
- Multiple-rotary axis control function
If the rotation axis for which the multiple-rotary-axis control function
is used is specified as the rotation axis used with cylindrical
interpolation, the multiple-rotary axis control function is disabled in
cylindrical interpolation mode.
When cylindrical interpolation mode is cancelled, the multiple-rotary
axis control function is automatically enabled.
The conventional cylindrical interpolation function controls the tool
center so that the tool axis always moves along a specified path on the
cylindrical surface, towards the rotation axis (cylindrical axis) of the
workpiece. On the other hand, this function controls the tool so that the
tangents to the tool and a contour figure cutting surface always pass
through the rotation center of a workpiece
Format
As shown below, the same command as that for the
conventional cylindrical interpolation function is
used.
IP : One rotation axis address
r : Cylinder radius of rotation axis
Specify each of G07.1 IPr; and G07.1 IP0; singly in a block.
Explanation
- Comparison with conventional cylindrical interpolation
As shown in Fig.4.10 (a) , control is exercised along the offset axis
(Y-axis) direction that is perpendicular to the tool, tool center axis, and
workpiece rotation center axis.
RotationRotation
Y-axis
Conventional cylindrical
interpolation
Fig.4.10 (a) Comparison with Conventional Interpolation
Workpiece
Tool
Y-axis
Tool center
Cylindrical interpolation bas ed
on this function
- 67 -
Page 90
4.INTERPOLATION FUNCIONSPROGRAMMINGB-63324EN/03
E Cutting point compensation
(1) Cutting point compensation between blocks
As shown in Fig.4.10 (b), cutting point compensation is achieved
by moving between blocks N1 and N2.
1) Let C1 and C2 be the heads of the vectors normal to N1 and N2
from S1, which is the intersection of the tool center paths of
blocks N1 and N2
2) After the tool moves to S1 according to the command of N1,
the tool moves through V on the C-axis as a result of cutting
point compensation, then through
axis.
Z-axis
VFC-axis component of C1 - C2
C1 FCutting surface of block N1
C2 FCutting surface of block N2
S1
π
180
rV××−
along the Y-
C2
N1
Fig.4.10 (b) Cutting Point Compensation between Blocks
C1
N2
V
Y-axis
Cutting surface of bloc k N2
Programmed path
C-axis on the
cylindrical surface
(2) Cutting point compensation in a circular command block
As shown in Fig.4.10 (c), the movement required for cutting point
compensation is made sim ultaneously w ith circular interpolation in
block N1.
1) Let C0 be the head of the vector normal to N1 from S0, which is
the tool center position at the start point of circular block N1.
Let C1 be the head of the similar vector at the end point.
2) As the tool moves from S0 to S1, a superimposed m ovement is
made by the C-axis component of (C1 - C2) (V in the figure) on
the C-axis, and a superimposed movement is made by
π
rV××−
180
along the Y-axis. along the Y-axis.
That is, the following expressions are valid. As movement is
made through L as shown in Fig.4.10 (c), the superimposed
movements are made on the C-axis and Y-axis as follows:
VC∆=∆
- 68 -
Page 91
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCIONS
−=
rVY)(
180
∆V:Cutting point compensation value (∆V2 - ∆V1) for
movement of ¢L
∆V1 :C-axis component of the vector normal to N1 from the
tool
center of the start point of ∆L
∆V2:C-axis component of the vector normal to N1 from the
tool
center of the end point of ∆L
R:Arc radius
VFC-axis component of C1 - C0
Z-axis
Tool center path
¢L
¢V1
C0 FCutting surface at the st art point of block N1
C1 FCutting surface at the end point of block N1
S1
¢V2
R
N1
C0
C1
V
Programmed path
S0
Fig.4.10 (c) Cutting Point Compensation in a Circular Command Block
C0
Y-axis
O
C-axis on the
cylindrical surface
(3) When cutting point compensation is not applied between blocks
When, as shown in Fig.4.10 (d) andFig.4.10 (e), the cutting point
compensation value (V in the figures) is less than the value set in
parameter No. 6112, one of the operations below is performed.
(The operation that is performed depends on the setting of bit 6
(CYS) of parameter No. 6004.
1) When bit 6 (CYS) of parameter No. 6004 is set to 1
Cutting point compensation is not applied between blocks N1
and N2, but is applied when block N2 is executed.
- 69 -
Page 92
4.INTERPOLATION FUNCIONSPROGRAMMINGB-63324EN/03
VFC-axis component of C2 - C1
Z-axis
N1
S1
C2
C1
V
Programmed path
C1 FCutting surface of block N1
C2 FCutting surface after the end of block N1
Tool center path
S2
N2
Y-axis
C2
N3
C-axis on the
cylindrical surface
Fig.4.10 (d) When Bit 6 (CYS) of Parameter No. 6004 Is Set to 1
2) When bit 6 (CYS) of parameter No. 6004 is set to 0
Cutting point compensation is not performed between blocks
N1 and N2. Whether to apply cutting point compensation
between block N2 and N3 is determined by taking the cutting
point compensation value between blocks N2 and N3 (V1 in
the figure) into consideration.
VFC-axis component of C2 - C1
Z-axis
S1
C1
N1
C1 FCutting surface of blocks N1 and N2
C2 FCutting surface at the end of block N3
Tool center path
N2
C2
V
S2
C1
N3
Programmed path
C-axis on the
Y-axis
cylindrical surface
Fig.4.10 (e) When Bit 6 (CYS) of Parameter No. 6004 Is 0
- 70 -
Page 93
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCIONS
3) When the amount of travel (L1) of block N2 is less than the
value set in parameter No. 6113, as shown in Fig.4.10 (f),
cutting point compensation is not applied between blocks N1
and N2. Instead, block N2 is executed with the cutting point
compensation of the previous block. When the amount of
travel (L2) of block N3 is greater than the value set in
parameter No. 6113, cutting point compensation is applied
between blocks N2 and N3.
VFC-axis component of C2 - C1
Z-axis
C1 FCutting surface of blocks N1 and N2
C2 FCutting surface at the end of block N3
L1
V
C1
C1
N2
N1
Programmed path
Fig.4.10 (f) When the Amount of Travel (L1) of Block N2 Is Less Than the
Parameter Value
C2
N3
Y-axis
L2
Tool center path
C-axis on the
cylindrical surface
4) When, as shown in Fig.4.10 (g), the diameter of an arc (R in the
figure) is less than the value set in parameter No. 6113, cutting
point compensation is not applied simultaneously with circular
interpolation
- 71 -
Page 94
4.INTERPOLATION FUNCIONSPROGRAMMINGB-63324EN/03
VFCutting point compensation bet ween blocks N2 and N3
Z-axis
C1 FCutting surface of blocks N1 and N2
C2 FCutting surface of block N3
L1
S1
R
N2
C1
N1
S2
C2
Y-axis
V
C1
N3
Programmed path
Tool center path
C-axis on the
cylindrical surface
Fig.4.10 (g) When the Diameter of an Arc Is Less Than the Parameter
Value
- Applying cutting point compensation together with normal direction control
When applying cutting point compensation together with normal
direction control, cutting point compensation between specified block s
is applied in combination with movement on the normal direction
control axis (C-axis) as shown below, regardless of the cutting point
compensation method described above.
Z-axis
Y-axis
X-axis
C-axis
A-axis
Fig.4.10 (h) Using Cutting Point Compensation with Normal Direction
Control
- 72 -
Page 95
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCIONS
(1) When the normal direction changes between blocks N1 and N2,
cutting point compensation is applied between blocks N1 and N2.
As shown in Fig.4.10 (i), cutting point compensation is applied
according to (1) of cutting point compensation, described above,
together with the movement resulting from normal direction control
between blocks N1 and N2.
VFA-axis component of C2 - C1
A-axis on the cylindrical surface
N2
C1
C1 FCutting surface of block N1
C2 FCutting surface of block N2
Tool
S0
V
Y-axis
Fig.4.10 (i) When the Normal Direction Changes between Blocks N1
and N2
C2
N1
Programmed path
Vector in the normal direction (G41.1)
Tool center path
X-axis
(2) When the normal direction is changed by gradual curve normal
direction control together with the movement of a specified block,
cutting point compensation is performed together with the
movement of the specified block. When a rotation of θ1 is made on
the normal direction control axis together with the movements of
blocks N1 and N2 as shown in Fig.4.10 (j), cutting point
compensation based on vector V1 movement is also performed
together with the movement of block N2.
- 73 -
Page 96
4.INTERPOLATION FUNCIONSPROGRAMMINGB-63324EN/03
V1 FA-axis component of C2 - C1’
A-axis on the cylindrical surface
C2’
N3
N2
Y-axis
N1
Tool
C1
C2
C1 FCutting surface of block N1
C2’ FCutt i ng surface at the end
point of block N2
S2
Normal direction vect or
Programmed path
˘1
V1
S1
Tool center path (G42)
X-axis
Fig.4.10 (j) Gradual Curve Normal Direction Control
(3) If normal direction control is applied in a specified block with the
normal direction at the end point of the previous block left as is,
cutting point compensation is not applied; the cutting point
compensation of the previous block is used as is. In Fig. 4.9 (k), the
movement of block N 2 (L 1 in the fig ure) is smaller than the value of
parameter No. 7794, so that no rotation is made at S1 on the normal
direction control axis, while rotation is made at S2 on the normal
direction axis because the movement of block N3 (L2 in the figure) is
larger than the value of parameter No. 7794. In this case, cutting
point compensation is not applied at S1, but movem ent by vector V2
is made at S2.
- 74 -
Page 97
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCIONS
180
V2 FA-axis component C3 - C1
A-axis on the cylindrical surface
Tool
C1’
C1 FCutting surface of block N1
C1’ FCutt i ng surface of block N2
(1) The tool moves at a specified feedrate while cutting point
compensation is being applied between blocks.
(2) The actual speed indication and feedrate during circular
interpolation are as described below.
Actual speed indication
The speed component of each axis after cutting point compensation
at a point in time during circular interpolation is as follows:
-6-67 =- - - Speed component of linear axis
Vcs)-(VceFcFc’+=- - - Speed component of rotation axis
=- - - Speed component of offset axis
Vcs)-(Vce-Fy’
N3
N1
r
N2
C3
C1
C2
Fig.4.10 (k)
S2
V2
L1
V1
S1
Normal direction vector
Tool center path (G42)
X-axis
Fz : Speed component of a cylindrical interpolation linear
axis before cutting point compensation
Fc : Speed component of cylindrical interpolation rotation
axis before cutting point compensation
Vcs: Rotation axis component of a tool contact point vector
(Vs in the figure) at the start point at a point in time
Vce:Rotation axis component of tool contact point vector
(Ve in the figure) at the end point at a point in time
r : Radius of the cylinder of a rotation axis
Accordingly, the actual speed indication during circular
interpolation is greater than the specified value when |Fc’| >
|Fc|(inner offset of the arc). Conversely, the actual speed
indication during circular interpolation is less than the
specified value when |Fc’| < |Fc|(outer offset of the arc).
- 75 -
Page 98
4.INTERPOLATION FUNCIONSPROGRAMMINGB-63324EN/03
Z-axis
- Usable G codes
Fc’
Ve
Vce
Vs
Vcs
Fc
Y-axis
Fig.4.10 (l) Actual Speed Indication during Circular Interpolation
Programmed path
Tool
Fz = Fz’
C-axis
(1) In any of the following G code modes, cylindrical interpolation
cutting point compensation can be specified:
G17,G18,G19:Plane selection
G22 :Stored stroke check function on
G64 :Cutting mode
G90,G91 :Absolute command programming, incremental
command programming
G94:Feed per minute
(2) Any of the following G codes can be specified in cylindrical
interpolation cutting point compensation mode:
G01,G02 ,G03:Linear interpolation, circular interpolation
G04:Dwell
G40,G41,G42:Cutter compensation
G40.1-G42.1 :Normal direction control
G64:Cutting mode
G65-G67:Macro call
G90,G91:Absolute command programming, incremental
command programming
- 76 -
Page 99
B-63324EN/03PROGRAMMING 4.INTERPOLATION FUNCIONS
Limitation
- Overcutting during inner corner cutting
Theoretically, when the inner area of a corner is cut using linear
interpolation as shown in Fig. 4.10(m), this function slightly overcuts
the inner walls of the corner. This overcutting can be avoided by
specifying a value of R that is slightly greater than the radius of the tool
at the corner.
Tool
Overcut portion
Fig.4.10 (m) Overcutting
- Setting the minimum input increment for an offset axis (Y-axis)
Set the same minimum input increment for an offset axis and linear axis
when cylindrical interpolation is performed.
- Workpiece radius specification
When specifying the radius of a workpiece, use the minimum input
increment (with no decimal point) for the linear axis used in cylindrical
interpolation.
- Reference axis setting (parameter No. 1031)
If the increment system of a linear axis differs from that of a rotation
axis in cylindrical interpolation, set, as the reference axis, the axis
number of the linear axis for cylindrical interpolation.
Tool
Example
- Example of cylindrical interpolation cutting point compensation