Before using this machine and equipment, fully understand the contents of this
manual to ensure proper operation. Should any questions arise, please ask the
nearest Technical Center or Technology Center.
IMPORTANT NOTICE
1. Be sure to observe the safety precautions described in this manual and the contents of the
safety plates on the machine and equipment. Failure may cause serious personal injury or
material damage. Please replace any missing safety plates as soon as possible.
2. No modifications are to be performed that will affect operation safety. If such modifications are
required, please contact the nearest Technical Center or Technology Center.
3. For the purpose of explaining the operation of the machine and equipment, some illustrations
may not include safety features such as covers, doors, etc. Before operation, make sure all
such items are in place.
4. This manual was considered complete and accurate at the time of publication, however, due to
our desire to constantly improve the quality and specification of all our products, it is subject to
change or modification. If you have any questions, please contact the nearest Technical Center
or Technology Center.
5. Always keep this manual near the machinery for immediate use.
6. If a new manual is required, please order from the nearest Technical Center or Technology
Center with the manual No. or the machine name, serial No. and manual name.
Issued by Manual Publication Section, Yamazaki Mazak Corporation, Japan
01. 2006
Notes:
Return to Library
Return to Library
SAFETY PRECAUTIONS
Return to Library
Preface
Safety precautions relating to the CNC unit (in the remainder of this manual, referred to simply as
the NC unit) that is provided in this m achine are explained below. Not onl y the persons who
create programs, but also those who operate the machine must thoroughly understand the
contents of this manual to ensure safe operation of the machine.
Read all these safety precautions, even if your NC model does not have the corresponding
functions or optional units and a part of the precautions do not apply.
Rule
1. This section contains t he pr ec aut ions t o b e obs erved as to the working methods and states
usually expected. Of course, however, unexpec ted operations and/or un expected working
states may take place at the user site.
During daily operation of the machine, therefore, the user must pay extra careful attention to
its own working safety as well as to observe the precautions described below.
2. Although this manual c ontains as great an amount of information as it can, since it is not
rare for the user to perfor m the operations that ov erstep the manufacturer -assumed ones,
not all of “what the user ca nnot perform” or “what the user must not perform” c an be fully
covered in this manual with all such operations taken into consideration beforehand.
It is to be understood, therefore, that functions not clearly written as “executable” are
“inexecutable” functions.
SAFETY PRECAUTIONS
3. The meanings of our safety precautions to DANGER, W ARNING, and CAUTION are as
follows:
: Failure to follow these instructions could result in loss of life.
DANGER
: Failure to observe these ins tructions cou ld result i n serious har m to a h uman
life or body.
WARNING
: Failure to observe these instr uctions could result in m inor injuries or serio us
machine damage.
CAUTION
HGENPA0040E
S-1
Basics
Return to Library
SAFETY PRECAUTIONS
! After turning power on, keep hands away from the keys, buttons, or switches of the
operating panel until an initial display has been made.
WARNING
! Before pr oceeding to the next operati ons, fully check that c orrect data has been enter ed
and/or set. If the operator performs operations without being aware of data errors,
unexpected operation of the machine will result.
! Bef ore machining workpieces , perform operational tes ts and make sure that the m achine
operates correctly. No workpieces must be machined without confirmation of normal
operation. Closely check the accuracy of programs by executing override, single-block, and
other functions or b y operating the machine at no load. Also, full y utilize tool path check,
solid check, and other functions, if provided.
! Make sure that the appropriate feed rate and rotational speed are designated for the
particular machining requirements. Always understand that since the maximum usable feed
rate and rotational speed ar e det er mined by the specifications of the to ol to be used, those
of the workpiece to be m achined, and various ot her factors, actual c apabilities differ from
the machine specif ications listed in this manual. If an inappropriate fee d rate or rotationa l
speed is designated, the workpiece or the tool may abruptly move out from the machine.
! Before executing correction functions, fully check that the direction and amount of
correction are correct. Unexpected operation of the machine will result if a correction
function is executed without its thorough understanding.
! Parameters are set to the optimum s tandard machining c onditions prior to shipping of the
machine from the fac tor y. In princ iple, these settings s houl d not be m odif ied. If it b ecom es
absolutely necessary to modify the settings, perform modifications only after thoroughly
understanding the func tions of the correspondin g parameters. Modifications usu ally aff ect
any program. Unexpected operat ion of the machine will result if the settings are modified
without a thorough understanding.
Remarks on the cutting conditions recommended by the NC
! Before using the following cutting conditions:
- Cutting conditions that are the result of the MAZATROL Automatic Cutting Conditions
WARNING
Determination Function
- Cutting conditions sugg es ted b y the Machini ng Na vig atio n Fu nctio n
- Cutting conditions for tools t hat are suggested to be used b y the Machining Navigation
Function
Confirm that every necessary precaution in regards to safe machine setup has been taken –
especially for workpiec e fixtur ing/clamping and tool setup.
! Confirm that the machine door is securely closed before starting machining.
Failure to confirm safe machine setup may result in serious injury or death.
S-2
Programming
Return to Library
WARNING
SAFETY PRECAUTIONS
! Fully check that the settings of the coordinate systems are correct. Even if the designated
program data is correct, errors in the system settings may cause the machine to operate in
unexpected places and the workpiece to abruptly move out from the machine in the event
of contact with the tool.
! During surface velocity hold control, as the current workpiece coordinates of the surface
velocity hold control axes approach zeroes, the spindle speed increases significantly. For
the lathe, the workpiece may even come off if the chucking force decreases. Safety speed
limits must therefore be observed when designating spindle speeds.
! Even after inch/metric system selection, the units of the programs, tool information, or
parameters that have been registered until that time are not converted. Fully check these
data units before operating the machine. If the machine is operated without checks being
performed, even existing correct programs may cause the machine to operate differently
from the way it did before.
! If a program is executed that includes the absolute data commands and relative data
commands taken in the reverse of their original meaning, totally unexpected operation of
the machine will result. Recheck the command scheme before executing programs.
! If an incorrect plane selection command is issued for a machine action such as arc
interpolation or fixed-cycle machining, the tool may collide with the workpiece or part of the
machine since the motions of the control axes assumed and those of actual ones will be
interchanged. (This precaution applies only to NC units provided with EIA functions.)
! The mirror image, if made valid, changes subsequent machine actions significantly. Use
the mirror image function only after thoroughly understanding the above. (This precaution
applies only to NC units provided with EIA functions.)
! If machine coordinate system commands or reference position returning commands are
issued with a correction function remaining made valid, correction may become invalid
temporarily. If this is not thoroughly understood, the machine may appear as if it would
operate against the expectations of the operator. Execute the above commands only after
making the corresponding correction function invalid. (This precaution applies only to NC
units provided with EIA functions.)
! The barrier function performs interference checks based on designated tool data. Enter the
tool information that matches the tools to be actually used. Otherwise, the barrier function
will not work correctly.
! The system of G-code and M-code commands differs, especially for turning, between the
machines of INTEGREX e-Series and the other turning machines.
Issuance of the wrong G-code or M-code command results in totally non-intended machine
operation. Thoroughly understand the system of G-code and M-code commands before
using this system.
Sample programMachines of INTEGREX e-SeriesTurning machines
S1000M3
S1000M203
The milling spindle rotates at 1000 min–1. The turning spindle rotates at 1000 min–1.
The turning spindle rotates at 1000 min–1. The milling spindle rotates at 1000 min–1.
S-3
SAFETY PRECAUTIONS
Return to Library
! For the machines of INT EGREX e-Series, programmed coor dinates can be rot ated using
an index unit of the MAZAT ROL program and a G68 command (coordinate rotate c ommand) of the EIA program. Ho wever, for exam ple, when the B-ax is is rotated thro ugh 180
degrees around the Y-axis to im plem ent mac hining with the tur ning spi ndle N o. 2, the pl us
side of the X-axis in the programmed coordinate system faces downward and if the
program is created ignoring this fact, the resulting movement of the tool to unexpected
positions may incite collisions.
To create the progr am with the plus s id e of the X -ax is oriented in an up ward d irec tion, us e
the mirror function of the WPC shift unit or the mirror imaging function of G-code command
(G50.1, G51.1).
! After modifying the tool data specified in the program, be sure to perform the tool path
check function, the solid check f unction, and other func tions, and confir m that the progr am
operates properly. T he m odification of tool dat a ma y cause even a f ield-prove n m achining
program to change in operational status.
If the user operates the machine without be ing aware of an y changes in program status,
interference with the workpiece could arise from unexpected operation.
For example, if the cutting edge of the tool during the start of automatic operation is present
inside the clearance- inc lu din g b lank (unmachined work piec e) s pecified in the common unit
of the MAZATROL program, care is required since the tool will directly move from that
position to the approac h point because of no obstructions be ing judged to be pres ent on
this path.
For this reason, before starting automatic operation, make sure that the cutting edge of the
tool during the start of automatic operation is present outside the clearance-including
workpiece specified in the common unit of the MAZATROL program.
CAUTION
! If axis-by-axis in dependent posit ioning is se lected and sim ultaneously ra pid feed sel ected
for each axis, movem ents to the ending point wi ll not usually bec ome linear. Befor e using
these functions, therefore, make sure that no obstructions are present on the path.
S-4
Operations
Return to Library
WARNING
SAFETY PRECAUTIONS
! Single-block, feed hold, and override functions can be made invalid using system variables
#3003 and #3004. Execution of this means the important modification that makes the
corresponding operations invalid. Before using these variables, therefore, give thorough
notification to re lated persons. Also, the operator must check the setti ngs of the system
variables before starting the above operations.
! If manual intervention during automatic operation, machine locking, the mirror image
function, or other functions ar e execut ed, the wor kpiec e coord inate s ystems will usua ll y be
shifted. When making machine restart after manual intervention, machine locking, the
mirror image func tion, or other functions, c onsider the result ing amounts of s hift and take
the appropriate measures. If operation is restarted without any appropriate measures being
taken, collision with the tool or workpiece may occur.
! Use the dry run function to check the mac hine for normal operation at no load. Since t he
feed rate at this tim e becomes a dry run r ate different from the program-designated f eed
rate, the axes may move at a feed rate higher than the programmed value.
! After operation has been stopped tem porarily and insertion, deletion, updating, or other
commands executed for the active program, unexpected operation of the machine may
result if that program is restarted. No such commands should, in principle, be issued for the
active program.
CAUTION
! During manual operation, fully check the directions and speeds of axial movement.
! For a machine that requires manual homing, perform manual homing operations after
turning power on. Since the software-controlled stroke limits will remain ineffective until
manual homing is completed, the machine will not stop even if it oversteps the limit ar ea.
As a result, serious machine damage will result.
! Do not designate an incorr ect pulse multip lier when perf orming manual pulse h andle feed
operations. If the multiplier is set to 1000 times and the handle operated inadvertently, axial
movement will become faster than that expected.
S-5
OPERATIONAL WARRANTY FOR THE NC UNIT
Return to Library
OPERATIONAL WARRANTY FOR THE NC UNIT
The warranty of the manufacturer does not co ver a n y tr oub le aris i ng if the NC un it is us ed f or its
non-intended purpose. Take notice of this when operating the unit.
Examples of the trouble arising if the NC unit is used for its non-intended pur pose are listed
below.
1. Trouble associated with and caused by the use of any commercially available software
products (including user-created ones)
2. Trouble associated with and caused by the use of any Windows operating systems
3. Trouble associated with and caused by the use of any comm ercially available computer
equipment
Operating Environment
1. Ambient temperature
During machine operation: 0° to 50°C (0° to 122°F)
2. Relative humidity
During machine operation: 10 to 75% (without bedewing)
Note: As humidity increases, insulation deteriorates causing electrical component parts to
25-4 Division of Display (Split Screen)......................................................................25-9
25-5 Editing Programs Stored in External Memory Areas ......................................25-12
C-11
- NOTE -
Return to Library
C-12
E
1 INTRODUCTION
Return to Library
EIA/ISO programs executed by the CNC unit include two modes: One is based on the G-code
series T (designed for turning machines), and the other is based on the G-code series M
(designed for machining centers).
Depending on the types of machines, the G-code series T and M are used as follows:
G-code series T for the INTEGREX-IV machines, and
G-code series M for the INTEGREX-e machines.
This manual gives descriptions in general with respect to the G-code series T designed for
turning machines.
INTRODUCTION1
1-1
1INTRODUCTION
Return to Library
- NOTE -
1-2
E
2 UNITS OF PROGRAM DATA INPUT
Return to Library
2-1 Units of Program Data Input
The movements on coordinate axes are to be commanded in the MDI mode or machining
program. The movement data are expressed in millimeters, inches or degrees.
2-2 Units of Data Setting
Various data commonly used for control axes, such as offsetting data, must be set for the
machine to perform an operation as desired.
The units of data setting and those of program data input are listed below.
UNITS OF PROGRAM DATA INPUT2
Units of program data input0.0001 mm0.00001 in.0.0001 deg
Units of data setting0.0001 mm0.00001 in.0.0001 deg
Note 1: Inch/metric selection can be freely made using either bit 4 of parameter F91 (“0” for
metric, “1” for inches; validated through power-off and -on) or G-code command s (G20,
G21).
Selection using the G-code commands is valid only for program data input.
Variables and offsetting data (such as tool offsetting data) should therefore be set
beforehand using the appropriate unit (inch or metric) for the particular machining
requirements.
Note 2: Metric data and inch data cann ot be used at the same time.
2-3 Ten-Fold Program Data
Using a predetermined parameter, machining program data can be processed as set in units of
one micron. There may be cases that a machining program which has been set in units of one
micron is to be used with a numerical control unit based on 0.1 micron increment s. In such cases,
use of this parameter allows the machine to perform the required machining operations without
rewriting the program.
Use bit 0 of user parameter F91 for this purpose.
All types of coordinate data (axis movement data) not provided with the decimal point will be
multiplied by a factor of 10. This does not apply, indeed, to preset tool-offsetting data designated
with addresses H and D.
Linear axis
Metric systemInch system
Rotational axis
Linear axis
Rotational axis
Program
command
X1 (Y1 / Z1)
B1
Moving distance when program commands are executed
NC (A) for which the
program was prepared
1 micron0.1 micron1 micronApplicable
0.001°0.0001°0.001°Applicable
Bit 0 of F91 = 0Bit 0 of F91 = 1
MAZATROL (B)Control axis
2-1
Program
applicability
(A) → (B)
2UNITS OF PROGRAM DATA INPUT
Return to Library
- NOTE -
2-2
E
3 DATA FORMATS
Return to Library
3-1 Tape Codes
This numerical control unit (in the remainder of this manual, referred to as the NC unit) uses
command information that consists of letters of the alphabet (A, B, C .... Z), numerics (0, 1, 2 ....
9), and signs (+, –, /, and so on). These alphanumerics and signs are referred to collectively as
characters. On paper tape, these characters are represented as a combination of a maximum of
eight punched holes.
Such a representation is referred to as a code.
The NC unit uses either the EIA codes (RS-244-A) or the ISO codes (R-840).
Note 1: Codes not included in the tape codes shown in Fig. 3-1 will result in an error when they
are read.
Note 2: Of all codes specified as the ISO codes but not specified as the EIA codes, only the
following codes can be designated using the data I/O (Tape) parameters TAP9 to
TAP14:
[Bracket Open
]Bracket Close
# Sharp
∗ Asterisk
= Equal sign
:Colon
However, you cannot designate codes that overlap existing ones or that result in parity
error.
DATA FORMATS3
Note 3: EIA/ISO code identification is made automatically according to the first EOB/LF code
appearing after the NC unit has been reset. (EOB: End Of Block, LF: Line Feed)
1. Significant information area (LABEL SKIP function)
During tape-based automatic operation, data storage into the memory, or data searching, the NC
unit will ignore the entire information up to the first EOB code (;) in the tape when the unit is
turned on or reset. That is, significant information in a tape refers to the information contained in
the interval from the time a character or numeric code appears, following the first EOB code (;)
after the NC unit has been reset, until a reset command is given.
2. Control Out, Control In
The entire information in the area from Control Out “(” to Control In “)” will be ignored in regard to
machine control, while they will surely be displayed on the data display unit. Thus, this area can
be used to contain information, such as the name and number of the command tape, that is not
directly related to control.
During tape storage, however, the information in this area will also be stored. The NC unit will
enter the Control In status when power is turned on.
3-1
3 DATA FORMATS
Return to Library
Example of EIA Code
Control InControl Out
CON
E
U
P R110
O
L
B
Name of tape is printed out
CON
E
1 11 1
U
O
L
B
Name of tape is punched in captital letters.
N
D
E
L
D
U
E
L
L
N
R R R O
U
L
R
N
U
.ONMARGO
L
N
UL1
/R
C
E
O
I
B
D
N
N
N
1
1 1
E
L
2DE
U
L
L
E
U
U
O
L
LCI
B
MEP003
Example of ISO Code
E
C
C
OBG0 X–850 0 0640C U T T E R
R
R
Operator information is printed out.
Control Out
00 0
00 0G0 X500 040C U T T E R
YR
(
The information at this portion is ignored
and nothing is executed.
S
S
E T U R N )–
E T U R NR
P
P
Control In
E
O
B
3. EOR code (%)
In general, the EOR (End Of Record) code is punched at both ends of a tape and has the
following functions:
- To stop rewinding (only when a rewinding device is provided)
- To start rewinding during tape data search (only when a rewinding device is provided)
- To terminate the storage of tape data.
MEP004
3-2
DATA FORMATS3
Return to Library
4. Tape creation method for tape operation (Only when a rewinding device is used)
;
10 cm
2mFirst blockLast block2m
!!!!!!!!!
!!!!!!!!!
;;
!!!!!!!!!
;
10 cm %%
TEP005
The two meters of dummy at both ends and the EOR (%) at the head are not required when a
rewinding device is not used.
3-3
3 DATA FORMATS
A
A
A
A
Return to Library
EIA/ISO identification is made automatically by detecting whether EOB or LF initially appears
after the NC unit has been reset.
EIA code (RS-244-A)
Feed holes
87654 321
Channel number
1
2
3
4
5
6
7
8
9
0
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
+
–
.
,
/
EOR (End of Record)
EOB (End of Block) or CR
CO (2+4+5)
CI (2+4+7)
Definable in parameters
BS (Back Space)
TAB
SP (Space)
&
DEL (Delete)
S (All Space=Feed)*
M (All Mark=EOB+DEL)*
ISO code (R-840)
Feed holes
87654 321
Channel number
1
2
3
4
5
6
7
8
9
0
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
+
–
.
,
/
%
LF (Line Feed) or NL
( (Control Out)
) (Control In)
:
#
?
=
[
]
Codes in section [1] will only be stored as tape data when they are present in a comment section,
A
Return to Library
and ignored elsewhere in the significant information area.
Codes in section [2] are non-operative and will always be ignored (but undergo the parity-V
check).
A dotted area indicates that the EIA Standard provides no corresponding codes.
3-2 Program Formats
A format predetermined for assigning control information to the NC unit is referred to as a
program format. The program format used for our NC unit is word address format.
1. Words and addresses
A word is a set of characters arranged as shown below, and information is processed in words.
DATA FORMATS3
Word
Numeral
lphabet (address)
Word configuration
The alphabetic character at the beginning of a word is referred to as an address, which defines
the meaning of its succeeding numeric information.
Table 3-1 Type and format of words
ItemMetric commandInch command
Program No.O8
Sequence No.N5
Preparatory function
Moving axis
Auxiliary axis
Dwell
Feed
Fixed cycle
Tool offset
Miscellaneous functionM3 × 4
Spindle functionS5
Tool function
No. 2 miscellaneous functionB8, A8 or C8
Subprogram
Variables number#5
Input
unit
0.0001 mm (deg.),
0.00001 in.
0.0001 mm (deg.),
0.00001 in.
0.001 mm (rev),
0.0001 in.
0.0001 mm (deg.)/min,
0.00001 in./min
0.0001 mm (deg.),
0.00001 in.
X+54 Y+54 Z+54 α+54X+45 Y+45 Z+45 α+45
I+54 J+54 K+54I+45 J+45 K+45
F54 (per minute)
F33 (per revolution)
R+54 Q54 P8 L4R+45 Q45 P8 L4
G3 or G21
X54 P8 U54
F45 (per minute)
F24 (per revolution)
T1 or T2
T4 or T6
P4 Q5 L4
3-5
3 DATA FORMATS
Return to Library
1. Code O8 here indicates that program number can be set as an unsigned integer of eight
digits following O, and for X+54, “+” indicates that the value can be signed (negative) and
the two-digit number (54) indicates that the decimal point can be used and that five digits
before and four after the decimal point are effective (5 + 4 = 9 digits are effective for a
designation without decimal point).
2. The alpha sign (
rotational axis.
3. The number of digits in the words is checked by the maximum number of digits in the
addresses.
4. When data with decimal point is used for address for which decimal input is not available,
decimal figures will be ignored.
5. If the number of integral digits exceeds the specified format, an alarm will result.
6. If the number of decimal digits exceed the specified format, the excess will be rounded.
2. Blocks
A block, unit of instruction, contains a number of words which constitute information necessary
for the NC machine to perform an operation. The end of each block must be indicated by an EOB
(End Of Block) code.
3. Programs
A number of blocks form one program.
4. Program end
M02, M30, M99, M998, M999 or % is used as program end code.
α) denotes additional axis address. +44 will be used when α is specified for
3-3 Tape Data Storage Format
As with tape operation, tape data to be stored into the memory can be either of ISO or EIA code.
The first EOB code read in after resetting is used by the NC unit for automatic identification of the
code system ISO or EIA.
The area of tape data to be stored into the memeory is, if the NC unit has been reset, from the
character immediately succeeding the first EOB code the EOR code, and in all other cases, from
the current tape position to the EOR code. Usually, therefore, start tape data storage operation
after resetting the NC unit.
3-4 Optional Block Skip
1. Function and purpose
Optional block skip is a function that selectively ignores that specific block within a machining
program which begins with the slash code “/”.
Any block beginning with “/” will be ignored if the [BLOCK SKIP] menu function is set to ON, or
will be executed if the menu function is set to OFF.
For example, if all blocks are to be executed for a type of parts but specific blocks are not to be
executed for another type, then different parts can be machined using one and the same
program that contains the “/” code at the beginning of the specific blocks.
3-6
2. Operating notes
Return to Library
1. Blocks that have already been read into the pre-read buffer cannot be skipped.
2. This function is valid even during sequence number search.
3. During tape data storage (input) or output, all blocks, including those having a “/” code, are
in- or outputted, irrespective of the status of the [BLOCK SKIP] menu function.
3-5 Program Number, Sequence Number and Block Number : O, N
Program numbers, sequence numbers, and block numbers are used to monitor the execution
status of a machining program or to call a machining program or a specific process within a
machining program.
Program numbers are assigned to command blocks as required. A program number must be set
using the letter O (address) and a numeric of a maximum of eight digits that follow O.
Sequence numbers identify command blocks forming a machining program. A sequence number
must be set using the letter N (address) and a numeric of a maximum of five digits that follow N.
Block numbers are counted automatically within the NC unit, and reset to 0 each time a program
number or a sequence number is read. These numbers will be counted up by one if the block to
be read does not have an assigned program number or sequence number.
All blocks of a machining program, therefore, can be uniquely defined by combining program
number, sequence number, and block number as shown in the table below.
One method of checking if the tape is correctly created is by parity checks. Parity checks are
performed to check a tape for errors in punched codes, that is, for punching errors. There are two
types of parity checks: parity-H and parity-V.
1. Parity-H check
Parity-H checks are intended to check the quantity of punched holes which form one character,
and performed during tape operation, tape loading, and sequence-number searching.
A parity-H error occurs in the following cases:
- ISO Codes
If a code with an odd number of punched holes is present in the significant information area.
- EIA Codes
If a code with an even number of punched holes is present in the significant information area or
if non-punched holes (sprockets only) are present after a significant code in one block.
Example 1: Parity-H error (for EIA codes)
This character leads to a Parity-H error.
One block
This non-punched character will result in a Parity-H
error.
These non-punched characters will
not result in a Parity-H error.
If a parity-H error occurs, the tape will stop at the position next to the error code.
MEP007
3-8
DATA FORMATS3
Return to Library
2. Parity-V check
Parity-V checks will be performed during tape operation, tape loading, or sequence-number
searching, if parity-V check item on the PARAMETER display is set to ON. Parity-V during
memory operation, however, will not be checked.
A parity-V error occurs in the following case:
If an odd number of codes are present in the significant information area from the first significant
code in the vertical direction to the EOB code (;), that is, if an odd number of characters are
present in one block.
In the event of a parity-V error, the tape stops at a code next to the EOB (;).
Example 2: An example of parity-V error
1234567
This block leads to a Parity-V error.
MEP009
Note 1: During a parity-V check, some types of code are not counted as characters. See Fig.
3-1, “Tape codes” for further details.
Note 2: Space codes in the area from the first EOB code to the first address code or slash code
“/” are not subjected to counting for parity-V check.
3-9
3 DATA FORMATS
Return to Library
3-7 List of G-Codes
G functions are described in the list below.
Function
Positioning
Linear interpolation
Threading with C-axis interpolationG01.1G01.101
Circular interpolation (CW)G02G0201
Circular interpolation (CCW)G03G0301
Spiral interpolation (CW)G02.1G02.101
Spiral interpolation (CCW)G03.1G03.101
DwellG04G0400
High-speed machining modeG05G0500
Fine spline interpolationG06.1G06.101
NURBS interpolationG06.2G06.201
Virtual-axis interpolationG07G0700
Cylindrical interpolationG07.1G07.100
Exact-stop checkG09G0900
Data setting mode ONG10G1000
Command address OFFG10.1G10.100
Data setting mode OFFG11G1100
Polar coordinate interpolation ONG12.1G12.126
Polar coordinate interpolation OFF▲G13.1▲G13.126
X-Y plane selection
Z-X plane selection
Y-Z plane selection
Inch command
Metric command
Pre-move stroke check ONG22G2204
Pre-move stroke check OFF▲G23▲G2304
Reference point checkG27G2700
Reference point returnG28G2800
Return from reference pointG29G2900
Return to 2nd, 3rd and 4th reference pointsG30G3000
Skip functionG31G3100
Multi-step skip 1G31.1G31.100
Multi-step skip 2G31.2G31.200
Multi-step skip 3G31.3G31.300
Thread cutting (straight, taper)G32G3301
Variable lead thread cuttingG34G3401
Hole machining pattern cycle (on a circle)G234.1G34.100
Hole machining pattern cycle (on a line)G235G3500
Hole machining pattern cycle (on an arc)G236G3600
Hole machining pattern cycle (on a grid)G237.1G37.100
Automatic tool length measurement—G3700
Vector selection for tool radius compensation—G3800
Corner arc for tool radius compensation—G3900
Nose R/Tool radius compensation OFF▲G40▲G4007
Nose R/Tool radius compensation (left)G41G4107
G-code series
TM
■G00■G00
■G01■G01
■G17■G17
■G18■G18
■G19■G19
■G20■G20
■G21■G21
Group
01
01
02
02
02
06
06
3-10
DATA FORMATS3
Return to Library
Function
3-D tool radius compensation (left)G41.2G41.207
Nose R/Tool radius compensation (right)G42G4207
3-D tool radius compensation (right)G42.2G42.207
Tool length offset (+)—G4308
Tool tip point control (Type 1) ONG43.4G43.408
Tool tip point control (Type 2) ONG43.5G43.508
Tool length offset (–)—G4408
Tool position offset, extension—G4500
Tool position offset, reduction—G4600
Tool position offset, double extension—G4700
Tool position offset, double reduction—G4800
Tool position offset OFF—▲G4908
Coordinate system setting/Spindle clamp speed settingG50G9200
Scaling OFF—▲G5011
Scaling ON—G5111
Mirror image OFF—▲G50.119
Mirror image ON—G51.119
Polygonal machining mode OFF▲G50.2▲G50.223
Polygonal machining mode ONG51.2G51.223
Local coordinate system settingG52G5200
MAZATROL coordinate system cancel
Machine coordinate system selectionG53G5300
MAZATROL coordinate system selection
Selection of workpiece coordinate system 1▲G54▲G5412
Selection of workpiece coordinate system 2G55G5512
Selection of workpiece coordinate system 3G56G5612
Selection of workpiece coordinate system 4G57G5712
Selection of workpiece coordinate system 5G58G5812
Selection of workpiece coordinate system 6G59G5912
1. The codes marked with ▲ are selected in each group when the power is turned ON or
executing reset for initializing modal.
2. The codes marked with " are able to be selected by a parameter as an initial modal which is
to become valid when the power is turned ON or executing reset for initializing modal.
Changeover of inch/metric system, however, can be made valid only by turning the power
ON.
3. G-codes of group 00 are those which are not modal, and they are valid only for commanded
blocks.
4. If a G-code not given in the G-code list is commanded, an alarm is displayed. And if a Gcode without corresponding option is commanded, an alarm is displayed (808 MIS-SET GCODE).
5. If G-codes belong to different groups each other, any G-code can be commanded in the
same block. The G-codes are then processed in order of increasing group number. If two or
more G-codes belonging to the same group are commanded in the same block, a G-code
commanded last is valid.
3-13
3 DATA FORMATS
Return to Library
- NOTE -
3-14
E
4 BUFFER REGISTERS
Return to Library
4-1 Input Buffer
1. Overview
During tape operation or RS-232C operation, when the preread buffer becomes empty, the
contents of the input buffer will be immediately shifted into the pre-read buffer and, following this,
if the memory capacity of the input buffer diminuishes to 248 × 4 characters or less, next data (up
to 248 characters) will be preread from the tape and then stored into the input buffer.
The input buffer makes block-to-block connections smooth by eliminating any operational delays
due to the tape-reading time of the tape reader.
These favorable results of prereading, however, will be obtained only if the execution time of the
block is longer than the tape-reading time of the next block.
BUFFER REGISTERS4
Tape
Keyboard
Input buffer
Memory
Mode
selection
Preread
buffer 5
Buffer 4
Buffer 3
Buffer 2
Buffer 1
Note:
One block of data is stored in one buffer.
2. Detailed description
- The memory capacity of the input buffer is 248 × 5 characters (including the EOB code).
- The contents of the input buffer register are updated in 248-character units.
Arithmetic
operation
process
TEP010
- Only the significant codes in the significant information area are read into the buffer.
- Codes, including “(” and “)”, that exist between Control Out and Control In, are read into the
input buffer. Even if optional block skip is valid, codes from / to EOB will also be read into the
input buffer.
- The contents of the buffer are cleared by a reset command.
4-1
4BUFFER REGISTERS
Return to Library
4-2 Preread Buffer
1. Overview
During automatic operation, one block of data is usually preread to ensure smooth analysis of
the program. During tool nose radius compensation, however, maximal five blocks of data are
preread to calculate crossing point or to check the interference.
2. Detailed description
- One block of data is stored into the prepared buffer.
- Only the significant codes in the significant information area are read into the pre-read buffer.
- Codes existing between Control Out and Control In are not read into the pre-read buffer. If
optional block skip is valid, codes from / to EOB will not also be read into the pre-read buffer.
- The contents of the buffer are cleared by a reset command.
- If the single block operation mode is selected during continuous operation, processing will stop
after pre-reading the next block data.
4-2
E
5 POSITION PROGRAMMING
Return to Library
5-1 Dimensional Data Input Method
5-1-1 Absolute/Incremental data input (Series T)
In the use of G-code series T, absolute and incremental data input methods are distinguished by
axis addresses as shown in the table below.
Command systemRemarks
Absolute data
Incremental data
X-axisAddress X
Z-axisAddress Z
C-aixsAddress C
Y-aixsAddress Y
X-axisAddress U
Z-axisAddress W
C-aixsAddress H
Y-aixsAddress V
- The address corresponding to the desired axis is to
- Absolute and incremental data can be used together
- Address of incremental data input for A- and B-axes
POSITION PROGRAMMING5
be set by machine parameter.
in the same block.
does not exist.
Example:
X_____ W_____ ;
Incremental data input for the Z-axis
Absolute data
for the X-axis
input
5-1
5POSITION PROGRAMMING
Return to Library
5-1-2 Absolute/Incremental data input: G90/G91 (Series M)
1. Function and purpose
Setting of G90 or G91 allows succeeding dimensional data to be processed as absolute data or
incremental data.
Setting of arc radius (with address R) or arc center position (with addresses I, J, K) for circular
interpolation, however, must always refer to incremental data input, irrespective of preceding
G90 command.
2. Programming format
G90 (or G91) Xx
Yy1 Zz1 αα1 (α : Additional axis)
1
where G90: Absolute data input
G91: Incremental data input
3. Detailed description
1.In the absolute data mode, axis movement will be performed to the program-designated
position within the workpiece coordinate system, irrespective of the current position.
N1 G90G00X0 Y0
In the incremental data mode, axis movement will be performed through the programdesignated distance as relative data with respect to the current position.
N2 G91G01X200. Y50. F100
N2 G90G01X200. Y50. F100
Y
200.
Tool
100.
N1
N2
100.200.300.
W
X
MEP011
Commands for a movement from the origin of the workpiece coordinate system are given
with the same
values,irrespective of whether the absolute data mode or the incremental
data mode is used.
2.The last G90 or G91 command works as a modal one for the following blocks.
(G90)N3 X100. Y100.
This block will perform a movement to the position of X = 100 and Y = 100 in the workpiece
coordinate system.
(G91)N3 X-100. Y50.
This block will perform a movement of –100 on the X-axis and +50 on the Y-axis, and thus
result in a movement to the position of X = 100 and Y = 100.
5-2
200.
Return to Library
POSITION PROGRAMMING5
Y
100.
100.200.300.
W
N3
X
MEP012
3.Multiple G90 or G91 commands can be set in one block, and thus only a specific address
can be set as absolute data or incremental data.
N4 G90X300. G91Y100.
In this example, dimensional data X300 preceded by G90 will be processed as an absolute
data input, and Y100 preceded by G91 as an incremental data input. Therefore, this block
will result in a movement to the position of X = 300 and Y = 200 (100 + 100) in the workpiece
coordinate system.
Y
200.
N4
100.
X
W
100.200.
300.
MEP013
Moreover, G91 (incremental data input mode) will work for the succeeding blocks.
4.Either the absolute data mode or the incremental data mode can be freely selected as initial
mode by setting the bit 2 of user parameter F93.
5.Even in the MDI (Manual Data Input) mode, G90 and G91 will also be handled as modal
commands.
5-3
5POSITION PROGRAMMING
Return to Library
5-2 Inch/Metric Selection: G20/G21
1. Function and purpose
Inch command/metric command selection is possible with G-code commands.
2. Programming format
G20: Inch command selection
G21: Metric command selection
3. Detailed description
1.Changeover between G20 and G21 is effective only for linear axes; it is meaningless for
rotational axes.
Example: Preset unit of data input and G20/G21 (for decimal-point input type Ι)
AxisExample
X
Y
Z
B
X100
Y100
Z100
B100
Initial Inch (parameter) OFFInitial Inch (parameter) ON
G21G20G21G20
0.0100 mm0.0254 mm0.00039 inches0.00100 inches
0.0100 mm0.0254 mm0.00039 inches0.00100 inches
0.0100 mm0.0254 mm0.00039 inches0.00100 inches
0.0100 deg0.0100 deg0.0100 deg0.0100 deg
2.To perform G20/G21 changeover in a program, you must first convert variables, parameters,
and offsetting data (such as tool length/tool position/tool diameter offsetting data) according
to the unit of data input for the desired system (inch or metric) a nd then set all these types of
data either on each data setting display or using the programmed parameter input function.
Example: If Initial inch selection is OFF and offsetting data is 0.05 mm, the offsetting data
must be converted to 0.002 (0.05 ÷ 25.4 ≈ 0.002) before changing the G21
mode over to the G20 mode.
3.In principle, G20/G21 selection should be done before machining. If you want this
changeover to be performed in the middle of the program, temporarily stop the program by
an M00 command after G20 or G21 and convert the offsetting data as required.
Example: G21 G92 Xx
Yy1 Zz
1
1
MM
MM
MM
G20 G92 Xx
Yy2 Zz
2
2
M00 →Convert offsetting data here.
M
F10 →Set an F (Feed rate) command anew.
Note: Do not fail to give an F command appropriate to the new unit system after
changeover between G20 and G21. Otherwise, axis movements would be
performed using the last F value before the changeover, without any conversion,
on the basis of the new unit system.
4.Whether G20 or G21 is to be selected upon switching-on can be specified by the bit 4 of
user parameter F91 (Initial Inch parameter).
5-4
5-3 Decimal Point Input
Return to Library
1. Function and purpose
The decimal point can be used to determin the units digit (mm or inch) of dimensional data or
feed rate.
2. Programming format
!!!!!.!!!!Metric system
!!!!.!!!!!Inch system
3. Detailed description
1.Decimal-point commands are valid only for the distance, angle, time, speed, and scaling
factor (only after G51) that have been set in the machining program.
2.As listed in the table below, the meaning of command data without the decimal point differs
between decimal-point input types Ι and ΙΙ according to the type of command unit system.
3.Decimal-point commands are only valid for addresses X, Y, Z, U, V, W, A, B, C, I, J, K, E, F,
P, Q and R, where address P only refers to a scaling factor.
4.The number of effective digits for each type of decimal-point command is as follows:
Move command
(Linear)
Integral part Decimal part Integral part Decimal part Integral part Decimal part Integral part Decimal part
5.Decimal-point commands are also valid for definition of variables data used in subprograms.
6.For data which can be, but is not specified with the decimal point, either the minimum
program data input unit or mm (or in.) unit can be selected using bit 5 of parameter F91.
7.A decimal-point command issued for an address which does not accept the decimal point
will be processed as data that consists of an integral part only. That is, all decimal digits will
be ignored. Addresses that do not accept the decimal point are D, H, L, M, N, O, S and T. All
types of variables command data are handled as the data having the decimal point.
5-5
5POSITION PROGRAMMING
Return to Library
4. Sample programs
A. Sample programs for addresses accepting the decimal point
Command category
Program example
G0X123.45
(With the decimal point always given
as the millimeter point)
*The least significant digit is given in 1 micron.
** The least significant digit is given in 0.1 micron.
*** The least significant digit is given in 1 mm.
5-6
B. Validity of decimal point for each address
Return to Library
POSITION PROGRAMMING5
Decimal
Address
A
B
C
DInvalid
EValidValid
FValidFeed rateValid
GValidPreparatory function code
H
I
J
K
LInvalid
MInvalidMiscellaneous function code
point
command
ValidCoordinate position dataInvalidDwell time
Invalid
ValidLinear angle dataInvalidNumber of helical pitches
ValidCoordinate position dataInvalidOffset amount (in G10)
Invalid
ValidCoordinate position dataValid
Invalid
ValidCorner chamfering amount
Invalid
Invalid
ValidCoordinate of arc centerUValidCoordinate position data
Valid
ValidCoordinate of arc centerWValidCoordinate position data
Valid
ValidCoordinate of arc center
Valid
ValidKnot for NURBS curveZValidCoordinate position data
Rotary table
Miscellaneous function code
Rotary table
Miscellaneous function code
Rotary table
Miscellaneous function code
Offset number (tool position,
tool length and tool diameter)
Offset number (tool postion,
tool length and tool diameter)
Intra-subprogram sequence
number
Vector component for
tool diameter offset
Vector component for
tool diameter offset
Vector component for
tool diamater offset
Fixed cycle/subprogram
repetition
ApplicationRemarks Address
P
Q
R
SInvalidSpindle function code
TInvalidTool function code
VValidCoordinate position data
X
YValidCoordinate position data
Decimal
point
command
ValidSubprogram call number
ValidScaling factor
InvalidRank for NURBS curve
Cutting depth for
deep-hole drilling cycle
ValidShift amount for back boring
ValidShift amount for fine boring
ValidR point in fixed cycle
Radius of an arc with R
selected
Radius of an arc for corner
rounding
ValidOffset amount (in G10)
ValidWeight for NURBS curve
ValidCoordinate position data
ValidDwell time
ApplicationRemarks
NInvalidSequence number
OInvalidProgram number
Note: The decimal point is valid in all the arguments for a user macroprogram.
The end point of interpolation can be designated with polar coordinates (radius a nd an gle). Polar
coordinate input is available only in the mode of polar coordinate interpolation.
2. Programming format
G122...........Polar coordinate input ON (G-code group No. 18)
G123...........Polar coordinate input OFF (G-code group No. 18)
3. Detailed description
Even in the mode of polar coordinate input, positional commands for the axes that have no
relation to the polar coordinate interpolation are available as ordinary commands.
In the mode of polar coordinate input, the length must always be designated in radius values,
regardless of the modal state for radius/diameter data input (G122.1/G123.1). This also applies
to the axes that have no relation to the polar coordinate interpolation.
The last modal state for radius/diameter data input before the G122 command will be restored
automatically by the cancel command G123.
4. Sample program
G12.1; …………………Polar coordinate interpolation ON
G122;…………………Polar coordinate input ON
G01 X50.C30.F100;
G02 X50.C60.R50;
G123;…………………Polar coordinate input OFF
G13.1; …………………Polar coordinate interpolation OFF
5. Remarks
1. Enter polar coordinates with respect to the plane of polar coordinate interpolation.
2. Positive values (+) for angle data refer to measurement in the counterclockwise direction on
the plane of polar coordinate interpolation.
3. Use address R to designate the radius for circular interpolation (G02 or G03).
4. If the G122 command is given without selecting the mode of polar coordinate interpolation
(by G12.1), an alarm will occur.
5. If the polar coordinate interpolation mode is cancelled (by G13.1) during polar coordinate
input, the mode of polar coordinate input will be cancelled together with the mode of polar
coordinate interpolation.
6. G122 and G123 must be given in an independent block. That is, the block of G122 or G123
must not contain any other G-codes or addresses with the exception of N and P.
7. The following G-codes are available during polar coordinate input. An alarm will occur if any
G-code other than these is specified.
G03Circular interpolation (CCW)
G04Dwell
G09Exact-stop check
G13.1Polar coordinate interpolation OFF
G15Polar coordinate input OFF (in G-code series M)
G40-G42Tool radius compensation
G61Exact-stop mode
G64Cutting mode
G65User macro single call
G66User macro modal call A
G66.1User macro modal call B
G67User macro modal call OFF
G80-G89Fixed cycles for hole machining
G98Asynchronous feed
G123Polar coordinate input OFF
The X-axis dimensions can be entered in radial values, instead of diametrical ones, by the aid of
a preparatory function (G-code) in order to improve EIA/ISO programming efficiency for milling.
2. Programming format
G122.1........X-axis radial data input ON (G-code group No. 25)
G123.1........X-axis radial data input OFF (G-code group No. 25)
3. Detailed description
All the X-axis dimensions entered after G122.1 are processed as radial values until the
command G123.1 is given for the restoration of diametrical data input mode for the X-axis.
4. Sample program
M
G122.1;
Counter indication on
POSITION display
......X-axis radial data input ON
Modal indication on
POSITION display
M
G1X10.F100;
......Radial dimension
X20.G122.1
M
G123.1;
......X-axis radial data input OFF
M
G1X10.F100;
......Diametrical dimension
X10.G123.1
M
5. Remarks
1. The counter indication on the POSITION display always refers to a diametrical value even in
the mode of G122.1.
2. The selection of the G122.1 mode does not exercise any influence upon parameters, offset
values, etc.
3. G123.1 is selected as the initial mode when the power is turned on.
4. Resetting causes the mode of G122.1 to be canceled and replaced by the G123.1 mode.
5-9
5POSITION PROGRAMMING
Return to Library
5. Even in the G122.1 mode the X-axis dimensions entered under the following modal
functions are always processed as diametral values. Issuance of these G-code commands
also cancels G122.1 mode:
G7.1Cylindrical interpolation
G12.1Polar coordinate interpolation ON
G69.53-D coordinate conversion OFF
G123Polar coordinate input OFF
G22Pre-move stroke check ON
6. Even in the G123.1 mode the X-axis dimensions entered under the following modal
functions are always processed as radial values (with diametrical indication on the
POSITON display):
G68.53-D coordinate conversion ON
G122Polar coordinate input ON
7. Various settings for software limits and barrier functions are not to be changed.
5-6 Selection betw een Diameter and Radius Data Input: G10.9 (Series M)
1. Function and purpose
The G10.9 command allows changeover between diameter data input and radius data input,
facilitating the creation of the turning section in a compound machining program.
2. Programming format
G10.9 A
3. Remarks
1. Give the G10.9 command in a single-command block. Otherwise it may be ignored.
2. If the G10.9 command is not followed by an axis address, the alarm 807 ILLEGAL
3. Do not assign a decimal point to the numerical value that follows the axis address. Moreover,
4. The G10.9 command only changes the method of programming the positional data for the
_
x
A
: Address of the axis for which diameter or radius data input is to be specified.
x
Numerical value = 0: Radius data input
1: Diameter data input
FORMAT is caused. Also, the alarm 806 ILLEGAL ADDRESS is caused if a rotational axis
is specified in the G10.9 command.
assigning a value other than 0 and 1 results in the alarm 809 ILLEGAL NUMBER INPUT.
particular axis. It does not affect various external data such as paramete rs, workp iece origi n
data, tool data, and tool offset data.
5. Irrespective of whether the absolute programming (G90) or the incremental programming
(G91) is currently modal, designate the position in diameter values for the axis for which
diameter data input has been selected.
5-10
POSITION PROGRAMMING5
Return to Library
4. Relationship to other G-codes
Diameter data input applies in general to the positional data of the specified axis.
1. For positioning (G00), linear interpolation (G01) and coordinate system setting (G92)
Designate the position in diameter values for the specified axis.
2. For circular interpolation (G02/G03)
Only the position of the ending point is to be designated in a diameter value for the specified
axis. The center, or radius, of the arc must always be designated in radius values (with I, K,
or R). The example below refers to a turning program with the X-axis specified as the axis in
question. The values with X and I denote the diameter data of the ending point and the
radius data of the arc center (incremental to the starting point), respectively, for the X-axis.
3. For fixed cycle of turning
Designate the position in diameter values for the specified axis. The amount of taper (for
turning fixed cycle) as well as the depth of cut and the finishing allowance (for compound
cycle of turning), however, must always be designated in radius values.
4. For threading (G32/G33, G34, G1.1)
Designate the position of the ending point in diameter values for the specified axis. The lead,
however, must always be designated in radius values (with F or E).
5-11
5POSITION PROGRAMMING
Return to Library
- NOTE -
5-12
E
6 INTERPOLATION FUNCTIONS
Return to Library
6-1 Positioning (Rapid Feed) Command: G00
1. Function and purpose
Positioning command G00 involves use of a coordinate word. This command positions a tool by
moving it linearly to the ending point specified by a coordinate word.
2. Programming format
INTERPOLATION FUNCTIONS6
G00 Xx/Uu Zz/Ww
Where x, u, z, w and
The command addresses are valid for all additional axis.
3. Detailed description
1. Once this command has been given, the G00 mode will be retained until any other G-code
command that overrides this mode, that is, either G01, G02, G03, or G32 of command
group 01 is given. Thus, a coordinate word will only need be given if the next command is
also G00. This function is referred to the modal function of the command.
2. In the G00 mode, acceleration/deceleration always takes place at the starting/ending point
of a block and the program proceeds to the next block after confirming that the pulse
command in the present block is 0 and the tracking error of the acceleration/deceleration
cycle is 0. The width of in-position can be changed using a parameter (S13).
3. The G-code functions (G83 to G89) of command group 09 are canceled by the G00
command (G80).
4. The tool path can be made either linear or nonlinear using a parameter (F91 bit 6) but the
positioning time remains unchanged.
- Linear path
As with linear interpolation (G01), the tool speed is limited according to the rapid feed rate
of each axis.
αα ;(α denotes an additional axis, that is, B-, C- or Y-axis)
α denote a coordinate.
- Nonlinear path
The tool is positioned according to the separate rapid feed rate of each axis.
5. When no number following G address, this is treated as G00.
6-1
6INTERPOLATION FUNCTIONS
Return to Library
4. Sample programs
Example:
+X
JawChuck
Starting point
(+180, +300)
(Unit: mm)
TEP012’
Workpiece
Ending point
(+100, +150)
+Z
The diagram above is for:
G00 X100.000 Z150.000;Absolute data command
G00 U–80.000 W–150.000;Incremental data command
5. Remarks
1.If bit 6 of user parameter F91 is 0, the tool will take the shortest path connecting the starting
and ending points. The positioning speed will be calculated automatically to give the
shortest allocation time within the limits of the rapid feed rate of each axis.
For example, if you set a rapid feed rate of 9600 mm/min for both X- and Z-axes and make
the program:
G00 Z–300.000 X400.000;
then the tool will move as shown in the diagram below.
bit 6 = 0
F91
Ending point
Z-axis effective feedrate: 9600 mm/min
300
400
fz
Starting point
X-axis effective feedrate:
6400 mm/min
fx
X
Z
(Unit: mm)
TEP013
For inch-specification machines, the rapid feed rate of the C-axis is limited to 89 rpm
(32000/360) even if item C of parameter M1 is set to a value greater than 32000.
2.If bit 6 of user parameter F91 is 1, the tool will move from the starting point to the ending
point according to the rapid feed rate of each axis.
For example, if you set a rapid feed rate of 9600 mm/min for both X- and Z-axes and make
the program:
G00 Z–300.000 X400.000;
6-2
then the tool will move as shown in the diagram below.
Return to Library
bit 6 = 1
F91
Ending point
INTERPOLATION FUNCTIONS6
X-axis effective feedrate:
9600 mm/min
400
300
fz
Z-axis effective feedrate: 9600 mm/min
Starting point
fx
X
Z
(Unit: mm)
TEP014
3.The rapid feed rate that you can set for each axis using the G00 command varies from
machine to machine. Refer to the relevant machine specification for further details.
4.Rapid feed (G00) deceleration check
When processing of rapid feed (G00) is completed, the next block will be executed after the
deceleration check time (Td) has passed.
The deceleration check time (Td) is calculated by following expressions depending on the
acceleration/deceleration type.
Linear acceleration/linear deceleration ..............................Td = Ts + a
Exponential acceleration/linear deceleration .....................Td = 2 × Ts + a
Exponential acceleration/exponential deceleration............Td = 2 × Ts + a
(Where Ts is the acceleration time constant, a = 0 to 14 msec)
The time required for the deceleration check during rapid feed is the longest among the
rapid feed deceleration check times of each axis determined by the rapid feed
acceleration/deceleration time constants and by the rapid feed acceleration/deceleration
mode of the axes commanded simultaneously.
6-3
6INTERPOLATION FUNCTIONS
Return to Library
6-2 One-Way Positioning: G60
1. Function and purpose
Highly accurate positioning free from any backlash error can be performed when the axis
movement is controled by the G60 command so that the final access always takes place in one
determined direction.
2. Programming format
G60 Xx/Uu Zz/Ww α
α; (α: Additional axis)
3. Detailed description
1. The direction of final access and its creeping distance must be set in parameter I1.
2. After rapid approach to a position away from the ending point by the creeping distance, the
final access is performed in the predetermined direction at a speed corresponding with the
rapid feed.
Positio ning pointG60 a
Final access directio n
(–)
Starting point
Temporary stop
G60 creeping distance
Ending point
G60 –a
Starting point
3. The positioning pattern described above also applies during machine locking or for a Z-axis
command with the Z-axis cancellation activated.
(+)
MEP018
4. In the dry run mode (G00 mode), the whole positioning is carried out at the dry-running
speed.
5. The creeping to the einding point can be halted with Reset, Emergency stop, Interlock, or
Feed hold, or by setting the rapid feed override to 0 (zero).
The creeping is performed according to the setting of the rapid feed, and the rapid feed
override function is also effective for the creeping.
6. One-way positioning is automatically invalidated for the hole-drilling axis in hole-drilling
fixed-cycle operations.
7. One-way positioning is automatically invalidated for shifting in fine-boring or back-boring
fixed-cycle operations.
8. Usual positioning is performed for an axis not having a parameter-set creeping distance.
9. One-way positioning is always of non-interpolation type.
10. An axis movement command for the same position as the ending point of the preceding
block (movement distance = 0) will cause reciprocation through the creeping distance so
that the final access can be performed in the predetermined direction for an accurate
positioning to the desired point.
6-4
6-3 Linear Interpolation Command: G01
Return to Library
1. Function and purpose
Command G01 involves use of both a coordinate word and a feed rate comman d. This command
moves (interpolates) linearly a tool from the current position to the ending point specified by a
coordinate word, at the feed rate specified by address F. The feed rate specified by address F,
however, acts as the linear velocity relative to the direction of movement of the tool center.
2. Programming format
INTERPOLATION FUNCTIONS6
G01 Xx/Uu Zz/Ww
where x, u, z, w and
αα Ff; (α: Additional axis)
α each denote a coordinate.
X-axis
zw
Command point
u
2
Current position
X-axis
x
TEP015
3. Detailed description
Once this command has been given, the G01 mode will be retained until any other G-code
command that overrides this mode, that is, either G00, G02, G03 or G32 of command group 01
is given. Thus, a coordinate word will only need be given if the next command is also G01, that is,
if the feed rate for the next block remains the same. A programming error will result if an F-code
command is not given to the first G01 command.
The feed rates for rotational axes must be set in deg/min. (Example : F300 = 300 deg/min)
The G-code functions (G70 to G89) of command group 09 are cancelled by G01 (set to G80).
6-5
6INTERPOLATION FUNCTIONS
Return to Library
4. Sample program
Example 1: Taper turning
X-axis
20.0
Current position
50.0
Z-axis
TEP016
G01 X50.0 Z20.0 F300;
Example 2: Program for moving the tool at a cutting feed rate of 300 mm/min via the route of
P
1→P2 →P3 →P4
(where the sections P0→P1 and P4 →P0 form a positioning route
for the tool):
+X
+Z
240
200
140
100
Turret
P
1
P
P
2
4090160220 230
P
3
P
4
0
Unit: mm
G00 X200.000 Z40.000;P0 → P
G01 X100.000 Z90.000 F300;P1 → P
Z160.000;P2 → P
X140.000 Z220.000;P3 → P
G00 X240.000 Z230.000;P4 → P
6-6
TEP017
1
2
3
4
0
6-4 Circular Interpolation Commands: G02, G03
Return to Library
1. Function and purpose
Commands G02 and G03 move the tool along an arc.
2. Programming format
INTERPOLATION FUNCTIONS6
G02 (G03)
Xx/Uu Zz/Ww (Yy/Vv) Ii Kk (Jj) Ff;
Coordinates of the
ending point
Counterclockwise(CCW)
Clockwise (CW)
Coordinates of
the arc center
Feedrate
X/U: Arc ending point coordinates, X-axis (absolute value of workpiece coordinate system fo r X,
incremental value from present position for U)
Z/W: Arc ending point coordinates, Z-axis (absolute value of workpiece coordinate system for Z,
incremental value from present position for W)
Y/V: Arc ending point coordinates, Y-axis (absolute value of workpiece coordinate system for Y,
incremental value from present position for V)
I:Arc center, X-axis (radius command, incremental value from starting point)
K :Arc center, Z-axis (incremental value from starting point)
J :Arc center, Y-axis (incremental value from starting point)
F :Feed rate
X-axis
Ending point
u
2
Starting
point
Center
i
z
x
wk
Z-axis
TEP018
6-7
6INTERPOLATION FUNCTIONS
Return to Library
For machines with Y-ax is control, arc interpolation is, additionally to Z-X plane, also available for
X-Y and Y-Z planes.
X-Y planeG17;
G02 (G03) X_Y_I_J_F_; For milling on the face
Z-X planeG18;
G02 (G03) X_Z_I_K_F_; For normal turning
Y-Z planeG19;
G02 (G03) Y_Z_J_K_F_; For Y-axis milling on OD surface
3. Detailed description
1. Once the G02 (or G03) command has been given, this command mode will be retained until
any other G-code command used to override the G02 (or G03) comma nd mode, that is, G00
or G01 of command group 01 is given.
2. The direction of circular movement is determined by G02/G03.
G02: CW (Clockwise)
G03: CCW (Counterclockwise)
+X
Chuck
Workpiece
CCW (G03)
CW (G02)
Turret
+X
+Z
TEP019
3.Interpolation of an arc that spans multiple quadrants can be defined with one block.
4.To perform circular interpolation, the following information is required:
- Rotational direction......................CW (G02) or CCW (G03)
- Arc ending point coordinates .......Given with address X, Z, Y, U, W, V.
- Arc center coordinates.................Given with address I, K, J. (Incremental dimension)
- Feed rate......................................Given with address F.
5.If none of the addresses I, K, J and R is specified, a program error will occur.
+Z
6.Addresses I, K and J are used to specify the coordinates of the arc center in the X, Z and Y
directions respectively as seen from the starting point, therefore, care must be taken for
signs.
6-8
4. Sample programs
p
A
Return to Library
X-axis
50.0
Coordinate
oint
zero
20.0
50.070.0
G02 X120.0 Z70.0 I50.0 F200;Absolute data setting
G02 U100.0 W–50.0 I50.0 F200;Incremental data setting
5. Notes on circular interpolation
INTERPOLATION FUNCTIONS6
120.0
Z-axis
TEP020
1. Clockwise (G02) or Counterclockwise (G03) during circular interpolation refers to the
rotational direction in the right-handed coordinate system when seen from the plus side
toward the minus side of the coordinate axis perpendicular to the plane to be interpolated.
2. If the coordinates of the ending point are not set or if the starting and ending points are set
at the same position, designating the center using address I, K or J will result in an arc of
360 degrees (true circle).
3. The following will result if the starting-point radius and the ending-point radius are not the
same.
- If error ∆R is larger than the parameter F19 (tole rance fo r radial value difference at ending
point), a program error (817 INCORRECT ARC DATA) will occur at the starting point of
the arc.
G02 Z80.K50.;
+X
larm stop
Starting
point
Center
Radius at
starting point
+Z
Ending point
Radius at
ending point
R
∆
TEP021
6-9
6INTERPOLATION FUNCTIONS
Return to Library
- If error ∆R is equal to or smaller than the parameter data, interpolation will take a spiral
form heading for the programmed ending point of the arc.
G02 Z90.K50.;
+X
Starting
point
Radius at
starting point
Center
+Z
Ending
point
Radius at
ending point
Spiral interpolation
R
∆
The examples shown above assume that excessively large parameter data is given to
facilitate your understanding.
Circular interpolation can be performed by designating directly the arc radius R as well as using
conventional arc center coordinates (I, K, J).
2. Programming format
TEP022
G02 (G03) Xx/Uu Zz/Ww (Yy/Vv) Rr Ff ;
where x/u: X-axis coordinate of the ending point
z/w: Z-axis coordinate of the ending point
y/v: Y-axis coordinate of the ending point
r:Radius of the arc
f:Feed rate
3. Detailed description
The arc center is present on the mid-perpendicular to the segment which connects the starting
point and the ending point. The crossing point of the mid-perpendicular and that circle of the
designated radius r that has the center set at the starting point gives the center coordinates of
the designated arc.
A semi-circle or smaller will be generated if R is a positive value.
An arc larger than the semi-circle will be generated if R is a negative value.
6-10
INTERPOLATION FUNCTIONS6
Return to Library
Path of an arc with a negative-signed R
, z1)
1
O1, O2 : Center point
TEP023
Starting point
O
2
O
L
r
1
Ending point (x
Path of an arc with a positive R
To use the radius-designated arc interpolation commands, the following requirement must be
met:
L
≤
1
r
2
•
where L denotes the length of the line from the starting point to the ending point.
If radius data and arc center data (I, J, K) are both set in the same block, the circular interpolation
by radius designation will have priority in general.
For complete-circle interpolation (the ending point = the starting point), however, use centerdesignation method with addresses I, J and K, since the radius-specification command in this
case will immediately be completed without any machine operation.
4. Sample programs
1. G02 Xx
2. G02 Xx
Zz1 Rr1 Ff1 ;
1
Zz1 Ii
1
1 Kk1
Rr1 Ff1 ;
(If radius data and center data (I, K, J) are set in the same block, circular interpolation by
radius designation will have priority.)
Note: “I0”, “K0” or “J0” can be omitted.
6-11
6INTERPOLATION FUNCTIONS
Return to Library
6-6 Spiral Interpolation: G2.1, G3.1 (Option)
1. Function and purpose
Commands G2.1
connected
and G3.1 provide such an interpolation that the starting and ending points are
Arc center coordinates
Arc ending point coordinates
MEP031
G18 G2.1 (or G3.1)Zp_ Xp_ K_ I_ (α_) F_ P_
G19 G2.1 (or G3.1)Yp_ Zp_ J_ K_ (α_) F_ P_
P : Number of pitches (revolutions) (P can be omitted if equal to 0.)
α : Any axis other than circular int erpolation axes (For helical cutting only)
F : Rate of feed along the tool path
3. Detailed description
1.Circular movement directions of G2.1 and G3.1 correspond with those of G02 and G03,
respectively.
2. Radius designation is not available for spiral interpolation. (The starting and ending points
must lie on the same arc for a radius designation.)
Note: When a radius is designated, this command will be regarded as a radius-
designated circular interpolation.
3.Conical cutting or tapered threading can be done by changing the radii of the arc at its
starting and ending points and designating a linear-interpolation axis at the sa me time.
4.Even for normal circular command G2 or G3, spiral interpolation will be performed if the
difference between the radii of the starting point and the ending point is smaller than the
setting of parameter F19.
6-12
INTERPOLATION FUNCTIONS6
A
A
Return to Library
Example: When the following program is executed, the feed rates for each of the points will
Shown below is an example of programming for spiral contouring with incremental data input of
the arc center (X = 0, Y = 45.0) and absolute data input of the arc ending point (X = 0, Y = –15.0).
Zero point return on the Z-axis
Fixed-cycle cancellation
Tool change
Coordinate system setting
Approach in the XY-plane to the starting point (0, –45.0)
Positioning on the Z-axis to the initial point
Normal rotation of the spindle
Air blast ON
Infeed on the Z-axis
Command for spiral interpolation with arc ending point =
(0, –15.0), arc center = (0, 0)*, and pitch = 2.
* I- and J-values refer to increments to the starting point.
Return on the Z-axis
Spindle stop and Air blast OFF
End of machining
The rate of feed at the starting point is 450 mm/min, as specified in the block of G2.1, and the
rate of feed at the ending point can be calculated as follows:
(Ending point’s radius/Starting point’s radius) × Command value of the rate of feed.
As the radius of the starting point = 45.0, that of the ending point = 15.0, and the command rate
of feed (F) = 450, the rate of feed results in
(15.0/45.0) × 450 = 150 mm/min
at the ending point.
Note 1: Take care not to use radius designation (argument R) for spiral interpolation; otherwise
a normal circular interpolation (by G02 or G03) will be executed.
Note 2: It is not possible to give the command for a spiral interpolation the starting and ending
points of which should have different centers specified.
6-14
Example 2: Heart-shaped cam (by absolute data input)
Zero point return on the Z-axis
Fixed-cycle cancellation
Tool change
Coordinate system setting
Approach in the XY-plane to the starting point (0, –70.0)
Positioning on the Z-axis to the initial point
Normal rotation of the spindle
Air blast ON
Infeed on the Z-axis
Command for the left-hand half curve
Command for the right-hand half curve
Return on the Z-axis
Spindle stop and Air blast OFF
End of machining
6-15
6INTERPOLATION FUNCTIONS
Return to Library
Example 3: Heart-shaped cam (by incremental data input)
Starting
and Ending points
The difference (b–a) between the radii of the starting point and ending point denotes a
displacement for heart shape.
Use two blocks for programming separately the right-half and the left-half shape.
a + b = 130. (Ending-point coordinate of the right half-circle)
–a – b = –130. (Ending-point coordinate of the left half-circle)
Y
X
a
0
(30.)
b
(100.)
MEP033
6-16
Example 4: Large-size threading
Return to Library
To perform large-size threading, use three heilical-interpolation blocks for
programming separately infeed section, threading section and upward-cutting
section. Spiral interpolation is required to designate the amounts of diameter
clearance for both the infeed block and the upward-cutting block. (The starting and
ending points are shifted through the designated clearance amounts from the
circumference of threading section.)
Clearance
INTERPOLATION FUNCTIONS6
i
1
i
2
z
1
Infeed
G3.1 X–i
G03 X0 Y0 Zz
G3.1 Xi
Y0 Zz1 I–i1 J0 Ff1(Infeed block, half-circle)
1–i2
Ii2 J0 Pp
2
Y0 Zz3 Ii2 J0(Upward-cutting block, half-circle )
2+i3
* The number of pitches, p
l. Note that the value p
X
i
3
0
Y
l
z
2
Threading
2
, in the threading block is given by dividing the stroke z2 by the pitch
2
must be an integer.
2
(Threading block, complete circle)
z
3
Upward cutting
Z
MEP034
6-17
6INTERPOLATION FUNCTIONS
j
Return to Library
Example 5: Tapered threading
As shown in the figure below, tapered helical cutting that begins at any angle can
be performed.
X
e
x
1
i
1
s
1
y
1
l
p
1
z
1
0
Z
Y
MEP035
Data with addresses X, Y and Z must be the increments x1, y1 and z1 respectively, from the
starting point s to the ending point e; data of I and J must be the increments i
and j1 respectively,
1
from the starting point s to the circular center, and data of P must be equal to the number of
pitches p
G3.1 Xx
.
1
Yy1 Zz1 Ii1 Jj1 Pp1 Ff
1
1
The amount of taper t and the pitch l are calculated as follows:
2(re – rs)
t =
where rs =
x
1
2
2
i
+ j
1
, re =
1
(x1 – i1)2 + (y1 – j1)
2
;
z
l =
(2π • π
where θ = θe – θs =tan
1
+ θ) / 2π
1
j1 – y
i1 – x
1
– tan
1
–1
–j
1
–1
–i
1
where rs and re denote the radii at the starting point and the ending point respectively, and qs
and qe denote the angles at the starting point and the ending point respectively.
6-18
Example 6: Conical cutting
Return to Library
Conical cutting is an application of tapered threading, and have its starting or
ending point on the center line. Tapering results from gradually increasing or
decreasing the arc diameter. The pitch is determined by z
p
1
z
1
INTERPOLATION FUNCTIONS6
.
1/p1
Z
Y
X
0
x
1
MEP036
G2.1 X–x
Y0Zz1 I–x1 Pp1 Ff
1
1
x1: Radius of the base
: Height
z
1
: Number of pitches
p
1
f
: Feed rate
1
Note: Use the TRACE display to check the tool path during spiral interpolation.
6-19
6INTERPOLATION FUNCTIONS
Return to Library
6-7 Plane Selection Commands: G17, G18, G19
6-7-1 Outline
1.Function and purpose
Commands G17, G18 and G19 are used to select a plane on which arc interpolation, tool nose
radius compensation, etc. are to be done.
Registering the three fundamental axes as parameters allows you to select a plane generated by
any two non-parallel axes.
The available planes are the following three types:
Plane selection by parameter setting is explained in this section.
1. Which of the fundamental axes or their parallel axes are to form the plane you want to select
is determined by the type of plane selection command (G17, G18 or G19) and the axis
address specified in the same block.
X, Y, and Z denote respective coordinate axes
or their corresponding parellel axes.
G03G03
G02
XY
Z
G02
TEP024’
YXZ
G17X Y;G18X Z;G19Y Z;
G03G03
G02
Z
TEP025’
G02
G03
G02
XY
6-20
2.Automatic plane selection does not occur for blocks that do not have an issued plane-
Return to Library
selection command (G17, G18 or G19)
G18 X_ Z_;Z-X plane
Y_ Z_;Z-X plane (No plane change)
3.If axis addresses are not set for blocks having an issued plane-selection command (G17,
G18 or G19), the fundamental three axes will be regarded as set.
G18_;(Z-X plane = G18 XZ ;)
Note 1: Upon power on or resetting, G18 plane is selected.
Note 2: In turning mode, G17 or G19 plane selection is impossible and in milling mode, G18
plane selection respectively.
If such selection were attempted, alarm would be caused.
Note 3: The G-codes for plane selection (G17, G18 or G19) should be commanded in a block
independently. If such a G-code is commanded in a block containing the axis move
command, a movement independent from the selected plane can be caused.
It is available for face helical grooving or cam shaft grinding on the lathe.
It is a function to convert a command programmed by the rectangular coordinate system into the
linear axis movement (tool movement) and the rotational axis movement (workpiece rotation) to
give contouring control.
2. Programming format
The polar coordinate interpolation is commanded by the following G-codes (group 26).
G12.1:Polar coordinate interpolation mode (Mode by which the polar coordinate is inter-
polated)
G13.1:Polar coordinate interpolation cancel mode (Mode by which the polar coordinate is not
interpolated)
These G-codes should be commanded in an independent block.
3. Detailed description
1. When turning on the power and resetting, the polar coordinate interpolation cancel mode
(G13.1) is provided. Commanding G12.1 provides a plane selected by G17.
2. The polar coordinate interpolation uses the zero point of workpiece coordinate system as
that of the coordinate system. A plane (hereinafter referred to as “polar coordinate interpolation plane”) is selected using the linear axis as the 1st axis of the plane and the virtual
axis perpendicular to the linear axis as the 2nd axis of the plane. The polar coordinate
interpolation is given on that plane.
3. The program during polar coordinate interpolation mode is commanded by the rectangular
coordinate value on the polar coordinate interpolation plane. The axis address of the
rotational axis (C) is used for that of the command of the 2nd axis of the plane (virtual axis).
A command is given in mm or inch as with the 1st axis of the plane (command by the axis
address of the linear axis), and not in degrees. And whether designation is given by the
diameter or by the radius is not determined by the 1st axis of the plane, but the designation
is the same as the rotational axis.
6-21
6INTERPOLATION FUNCTIONS
Return to Library
4. Absolute command and incremental command for the linear interpolation (G01) and the
circular interpolation (G02, G03) can be commanded during the polar coordinate interpolation mode.
The nose radius compensation can also be made for the program command, and the polar
coordinate interpolation is given to the path after the nose radius compensation. However,
the polar coordinate interpolation mode (G12.1, G13.1) cannot be changed during the nose
radius compensation mode (G41, G42). G12.1 and G13.1 must be commanded in G40
mode (Nose radius compensation cancel mode).
5. The feed rate is commanded using tangential speed (relative speed of the workpiece and a
tool) on the polar coordinate interpolation plane (rectangular coordinate system) as F
(mm/min or inch/min is used for a unit of F).
6. The coordinate value of the virtual axis when G12.1 is commanded provides “0”. That is, the
polar coordinate interpolation is started taking the position where G12.1 is commanded as
the angle = 0.
Positioning to the start point
Polar coordinate interpolation start
Shape program
(Program with rectangular coordinate values
on X-C plane)
Polar coordinate interpolation cancel
6-23
6INTERPOLATION FUNCTIONS
Return to Library
5. Notes
1.Before G12.1 is commanded, a workpiece coordinate system must be set using the center
of rotational axis as the zero point of the coordinate system. The coordinate system must
not be changed during G12.1 mode.
2.The plane before G12.1 is commanded (plane selected by G17, G18 or G19) is temporarily
cancelled, and it is restored when G13.1 (polar coordinate interpolation cancel) is
commanded. The polar coordinate interpolation mode is cancelled in resetting, and the G18
plane is provided.
3.The method of commanding the circular radius (which address of I, J and K is used) when
the circular interpolation (G02, G03) is given on the polar coordinate interpolation plane
depends on which axis of the basic coordinate system the 1st axis of the plane (linear axis)
corresponds to.
- Command is given by I and J taking the linear axis as the X-axis of X
- Command is given by J and K taking the linear axis as the Y-axis of Y
- Command is given by K and I taking the linear aixs as the Z-axis of Z
The circular radius can also be designated by R command.
4.G-codes capable of command during G12.1 mode are G04, G65, G66, G67, G00, G01, G02,
G03, G98, G99, G40, G41 and G42.
p-Yp
p-Zp
p-Xp
plane.
plane.
plane.
5.Move command of an axis other than those on the selected plane during G12.1 mode is
executed independently of the polar coordinate interpolation.
6.Tool offset must be commanded in the polar coordinate interpolation cancel mode before
G12.1 is commanded. It cannot be commanded during the polar coordinate interpolation
mode. Offset amount must not be changed during the polar coordinate interpolation mode.
7.Current position display during G12.1 mode
Every current position during the polar coordinate interpolation mode is displayed with an
actual coordinate value. However, only “residue moving distance” (REMAIN) is displayed
with the residue moving distance on the polar coordinate command plane.
8.Program restart cannot be made for a block during G12.1 mode.
6-24
6-9 Virtual-Axis Interpolation: G07
–
–
Return to Library
1. Function and purpose
Specify with G07 code one of the two circular-interpolation axes for helical or spiral interpolation
with synchronous linear interpolation as a virtual axis (a pulse-distributed axis without actual
movement), and an interpolation on the plane defined by the remaining circular axis and the
linear axis can be obtained along the sine curve which corresponds with the side view of the
circular interpolation with synchronous linear interpolation.
2. Programming format
G07 α0To set a virtual axis
MTo interpolate with the virtual axis
G07 α1To cancel the virtual axis
3. Detailed description
1.Only helical or spiral interpolation can be used for the virtual-axis interpolation.
2.In the program section from G07α0 to G07α1, the “alpha” axis is processed as a virtual axis.
If, therefore, the alpha axis is included independently in this section, the machine will remain
in dwell status until pulse distribution to the virtual axis is completed.
INTERPOLATION FUNCTIONS6
3.The virtual axis is valid only for automatic operation; it is invalid for manual operation.
4.Protective functions, such as interlock, stored stroke limit, etc., are valid even for the virtual
axis.
5.Handle interruption is also valid for the virtual axis. That is, the virtual axis can be shifted
through the amount of handle interruption.
4. Sample program
G07 Y0Sets the Y-axis as a virtual axis.
G17G2.1X0Y–5.I0J–10.Z40.P2F50Sine interpolation on X-Z plane
G07 Y1Resets the Y-axis to an actual axis.
X-axis
10.
5.
20.
5.
Z-axis
40.
Y-axis
X-axis
–10.
5.
–10.
MEP037
6-25
6INTERPOLATION FUNCTIONS
Return to Library
6-10 Spline Interpolation: G06.1 (Option)
1. Function and purpose
The spline interpolation automatically creates a curve that smoothly traces specified points, and
thus enables a high-speed and high-accuracy machining for free shapes along smoothly curved
tool path.
2. Programming format
G06.1 Xx
1
Yy
1
3. Detailed description
A. Setting and cancellation of spline interpolation mode
The spline interpolation mode is set by the preparatory function G06.1, and cancelled by another
Group 01 command (G00, G01, G02 or G03).
Fig. 6-1 Interpolated line by spline interpolation
In the above example, the spline interpolation is activated at N200 (block for movement from P
to P2) and it is cancelled at N300. Therefore, a spline curve is created for a group of ending
points from P
to Pn, and interpolation is applied along the created curve.
1
For creating a spline interpolation curve, it is generally required to specify two or more blocks (at
least three points to be traced) in the mode. If the spline interpolation mode is set just for one
block, the path to the ending point of the block is interpolated in a straight line.
Example 2:
N100 G01X_Y_
N200 G06.1 X_Y_
N300 G01X_Y_
P
1
P
2
P
3
P
Linear interpolation for the single
spline-interpolation block
1
P
2
P
3
Fig. 6-2 Spline interpolation applied to a single block
1
6-26
INTERPOLATION FUNCTIONS6
Return to Library
B. Division of spline curve in spline-interpolation mode
The spline interpolation mode generally creates a continuous curve that smoothly connects all
specified points from the beginning of the mode to the end of it. However, the spline curve is
divided into two discontinuous curves as often as one of the following conditions is satisfied:
- When the angle between linear movement lines of two neighboring blocks is beyond the
spline-cancel angle,
- When the movement distance of a block exceeds the spline-cancel distance, or
- When there is a block without any movement command in the spline-interpolation mode.
1.When the relative angle of two neighboring blocks is beyond the spline-cancel angle
Spline-cancel angle LLL Parameter F101
As to the sequence of points P1, P2, P3, L Pn in a spline interpolation mode, when the angle
made by two continuous vectors
θ
i
P
i–1 Pi
and
PiP
is larger than
i+1
, the point Pi is
F101
regarded as a corner. In that event, the point group is divided into two sections of P
and Pi to Pn at Pi, and spline curve is individually created for each section.
When the spline-cancel angle is not set (
= 0), this dividing function is not available.
F101
Example 1: F101 = 80 deg
P
4
θ
P
θ
2
P
2
P
1
3
3
θ
5
θ
6
P
5
P
6
P
F101
7
not set
θ
4
>
θ
F101
4
P
1
P
3
P
2
P
3
P
2
P
4
P
5
P
6
P
7
P
P
5
P
6
Forms a corner
4
to P
1
i
Fig. 6-3 Spline cancel depending on angle
6-27
P
1
P
7
6INTERPOLATION FUNCTIONS
j
j
Return to Library
When there are more than one point where θ
> F101, such points are treated as corners to
i
divide the point group and multiple spline curves are created for respective sections.
>
F101
θ
>
θ
F101
i
i
Fig. 6-4 Multiple-cornered spline curve depending on angle
When any two corner points (where θi > F101) successively exist, the block for the second
point is automatically set under control of linear interpolation. Therefore, it can be omitted to
specify G01 code in each intermediate block of pick feed, for example, during 2.5dimensional machining, which considerably simplifies the program ming.
Example 2: F101 < 90 (deg)
In the following program (shown in Fig. 6-5), the angle of the Y-directional pick
feed to the X-Z plane (of spline interpolation) is always 90°. If F101 is set slightly
smaller than 90°, spline interpolation is automatically cancelled in the pick-feed
blocks (N310, N410, !!!), which are then linearly interpolated each time. If no value
is set for F101, it is required to specify G-codes parenthesized in the program
below to change the mode of interpolation.
N100 G00X_Y_Z_
N200 G06.1X_Z_
N210X_Z_
M
N300X_Z_
(G01)
N310
(G06.1)
N320
M
N400X_Z_
(G01)
N410
(G06.1)
N420
M
N700X_Z_
N710 G01
M
Y_
X_Z_
M
Y_
X_Z_
M
M
P
1
P
2
P
3
P
P
i
P
i+1
P
i+2
P
j
P
j+1
P
j+2
P
n
Z
1
Y
X
P
+1
P
P
n
P
i+1
P
i
Fig. 6-5 Linear interpolation for pick feed in spline-interpolation mode
6-28
INTERPOLATION FUNCTIONS6
Return to Library
2.When the movement distance of a block exceeds the spline-cancel distance
Spline-cancel distance LLL Parameter F100
As to the sequence of points P1, P2, P3, !!! Pn in a spline interpolation mode, when the length
PiP
of the vector
i+1
PiP
is longer than
i+1
, the block for point P
F100
is automatically set
i+1
under control of linear interpolation, while the preceding and succeeding sections P
and P
In this case, the inclination of the tangent vector at P
inclination of the tangent vector at P
correspond to that of the line segment
to Pn are individually interpolated in spline curves.
i+1
(at the beginning of spline P
i+1
PiP
in general.
i+1
(at the end of spline P1 to Pi) and the
i
to Pn) do not
i+1
to P
1
When the spline-cancel distance is not set (F100 = 0), this dividing function is not available.
(a) P4P
P
>
F100
5
≤
F100
iPi+1
P
4
P
3
P
2
P
1
Interpolated as follows:
P
P
P
,
for other blocks
P4P
>
F100
5
to P4: Spline curve,
1
to P5: Straight line,
4
to P8: Spline curve.
5
(b)
P
5
P
6
P
7
P
8
P
3
P
2
P
1
F100
P
4
is not specified
P
5
P
6
P
7
P
8
The whole path P1 to P8 is
interpolated in one spline curve.
Fig. 6-6 Spline cancel depending on movement distance of a block
When there are more than one block where
PiP
i+1
>
, all those blocks will individually
F100
i
undergo the linear interpolation.
3.When there is a block without any movement command in the spline-interpolation mode
Any block without movement command temporarily cancels the spline interpolation, and the
sections before and after such a block will independently be spline-interpolated.
N100 G01X_Y_
M
M
P
1
P
2
P
5
P5 (Not moved)
P
6
P
8
P
P
P
5
P
4
P
3
P
2
7
6
Spline from
Forms a corner
P
to P
5
P
8
8
Spline from
to P
P
1
P
1
5
N110 G06.1 X_Y_
N120X_Y_
M
N300X_Y_
N310X0
N320X_Y_
M
N500X_Y_
N510 G01X_Y_
Fig. 6-7 Spline cancel by a block without movement command
6-29
6INTERPOLATION FUNCTIONS
Return to Library
C. Fine spline function (curved shape correction)
The fine spline function works with spline interpolation and automatically corrects the shape of a
spline curve, as required, to make the path of the curve smoother.
More specifically, the fine spline function works in the following two cases:
- The case that the curve errors in blocks are significant
- The case that an unusually short block exists (automatic correction in this case is referred to as
fairing.)
Automatic correction in the above cases is explained below.
1.Automatic correction for significant curve errors in blocks
When the curve data in CAD undergoes micro-segmentation with CAM, approximation
using a polygonal line is usually executed with a curve tolerance (chord error) of about 10
microns. At this time, if any inflection points are included in the curve, the micro-segment
block including the inflection points may increase in length (see
Also, if the length of this block becomes unbalanced against those of the immediately
preceding and succeeding blocks, the spline curve in this zone may have a significant error
with respect to the original curve.
P3 P
. in the figure below)
4
P
2
CAD curve
P
3
Tolerance (minus side)
Spline curve
(deviation from the CAD c urve i s significant)
Tolerance (plus side)
P
4
P
7
P
P
5
6
Tolerance
P
1
P
0
Inflection point
in the original curve
Fig. 6-8 Spline curve having a significant chord error (inflection points present)
This function detects the sections whose chord errors in the curve due to the presence of
inflection points become significant, and corrects the shape of the spline curve in that zone
automatically so that the chord errors in the curve fall within the data range of the specified
parameter.
Curve error 1 LLL Parameter F102
6-30
INTERPOLATION FUNCTIONS6
Return to Library
If a block in the spline interpolation mode is judged to have inflection points in the spline
curve and the maximum chord error of the spline curve from the segment is greater than the
value of F102, the shape of that spline curve will be corrected for a maximum chord error
not exceeding the value of F102.
Uncorrected spline curve
Corrected spline curve
A
or less
F102
Fig. 6-9 Shape correction 1 for spline curve
B
The shape of a curve can also be corrected if the chord error in the spline curve increases
due to an imbalance in the lengths of adjoining blocks occurs for any reasons other than the
presence of inflection points or for other reasons.
Curve error 2 LLL Parameter F104
If a blocks in the spline interpolation mode is judged to have no inflection points in the splin e
curve and the maximum chord error in the spline curve an d block is greater than the value of
F104, the shape of that spline curve will be corrected for a maximum chord error not
exceeding the value of F104.
Uncorrected
spline curve
Correction
Corrected
spline curve
or less
F104
Fig. 6-10 Spline curve having a significant chord error (no inflection points)
Remark 1: In all types of spline curve correction, the curve correction function works only for
the corresponding block. Therefore, the tangential vectors at the boundaries with
the immediately preceding and succeeding blocks become discontinuous.
Remark 2: If parameter F102 is set to 0, all blocks regarded as including inflection points will
become linear. If parameter F104 is set to 0, all blocks regarded as including no
inflection points will become linear.
Remark 3: Curved-shape correction based on parameter F102 or F104 usually becomes
necessary when adjoining blocks are unbalanced in length. If the ratio of the adjoining block lengths is very large, however, spline interpolation may be temporarily
cancelled between the blocks prior to evaluation of the chord error.
6-31
6INTERPOLATION FUNCTIONS
Return to Library
2.Automatic correction of the spline curve in an unusually short block (Fairing)
When CAD data is developed into micro-segments by CAM, a very small block may be
created in the middle of the program because of internal calculation errors. Such a block is
often created during creation of a tool diameter offset program which requires convergence
calculation, in particular. Since this unusually small block usually occurs at almost right
angles to the direction of the spline curve, this curve tends not to become smooth.
Fig. 6-11 Distortion of a spline curve due to the effects of a very small block
Distorted spline curve
Very small block
If it detects such an extremely small block during spline interpolation, the shape correction
function will remove that block and then connect the preceding and succeeding blocks
directly (this is referred to as fairing) to create a smooth spline curve free from distortion.
Block fairing length LLL Parameter F103
Assume that the length of the i-th block in spline interpolation mode is taken as li and that
the following expressions hold:
l
> F103 × 2
i – 1
≤F103
l
i
l
> F103 × 2
i + 1
In the above case, the ending point of the (i–1)-th block and the starting point of the i+1
block are moved to the mid-point of the ith block and as a result, the ith block is deleted.
Spline interpolation is executed for the sequence of points that has thus been corrected.
≤
l
F103
l
>
× 2
F103
i–1
i
>
F103
× 2
l
i+1
Correction of the passing point
Fig. 6-12 Correction of spline curve passing points by fairing
6-32
Created spline curve
INTERPOLATION FUNCTIONS6
Return to Library
Assume that the first block in spline interpolation mode is very small and that the following
expressions hold:
≤F103
l
1
l
> F103 × 2
2
In the above case, the starting point of the second block is changed to that of the first block
and as a result, the first block is deleted.
l
≤
F103
Non-spline block
Deletion of the passi ng point
1
l
>
× 2
F103
2
Created spline curve
Fig. 6-13 Fairing at the starting point of a spline curve
Assume that the last block in spline interpolation mode is very small and that the following
expressions hold:
l
>F103 × 2
n–1
l
≤F103
n
In the above case, the ending point of the (n–1)-th block is changed to that of the nth block
and as a result, the nth block is deleted.
l
≤
F103
>
l
n–1
Created spline curve
F103
× 2
n
Non-spline block
Deletion of the passi ng point
Fig. 6-14 Fairing at the ending point of a spline curve
This function is executed preferentially over the curve slitting function based on the angle of
spline cancellation.
6-33
6INTERPOLATION FUNCTIONS
A
w
A
Return to Library
D. Feed-rate limitation in spline-interpolation mode
The modal cutting feed rate F remains valid in general for the spline interpolation; however, if the
feed rate should be kept constant, it would yield excessively high acceleration at portions where
the curvature is big (the curvature radius is small) as shown in Fig. 6-15.
Curvature:
Small
cceleration: Lo
Curvature: Big
Fig. 6-15 Change of acceleration depending on curvature
In the spline-interpolation mode of our NC, the feed rate can be controlled so that it does not
exceed the allowable limit, calculated from the related parameters, for pre-interpolation
acceleration.
To obtain an appropriate feed rate for each block of spline interpolation, the limit feed rate F' is
calculated by the equation [1] shown below where the smaller between two radii Rs (curvature
radius at the starting point of the block) and Re (curvature radius at its ending point) will be
regarded as the reference radius R for the block. The modal feed rate F will then be temporarily
overridden by F' for the respective block if F>F', so that the whole spline curve can be
interpolated block-by-block at the appropriate feed rate according to the curvature radius.
cceleration: High
F
F’
P
i
Rs
Re
P
j+1
Fig. 6-16 Feed-rate limitation for spline interpolation
F' =
∆V =
R × ∆V × 60 × 1000
G1bF (mm/min)
G1btL (msec)
......... [1]
F : Modal feed rate (mm/min)
Rs : Curvature radius at the starting
point of block (mm)
Re : Curvature radius at the ending
point of block (mm)
R : Reference curvature radius for
the block (mm)
R = min {Rs, Re}
V : Maximum of pre-interpolation
∆
acceleration
F’ : Limit feed rate (mm/min)
6-34
INTERPOLATION FUNCTIONS6
Return to Library
E. Spline interpolation during tool-diameter offset
The spline interpolation can be performed during tool-diameter offset as follows.
1. Tool-diameter offset (2-dimensional)
Shown in Fig. 6-17 is an example that the command route is straight in the section P
polygonal line in the section P
in the section P
. The interpolation route with tool-diameter offset is created by the
nPn+1
. . . Pn that is the object of spline interpolation, and straight
1P2
following procedure.
1)In the first step is created a polygonal line P
tool-diameter offset value r compared with the original polygonal line P
2)Next, a point P
points P
(i = 2, 3, . . . n–1) other than the starting point P1 and the ending point Pn of the
i
'' where
i
= r on the vector P
PiPi''
0'P1'P2
'. . .Pn'P
' is determined for all the pass
iPi
' that is offset by the
n+1
. . . PnP
0P1P2
spline curve.
3)Spline interpolation is now conducted for the polygonal line P
''P3'' . . . P
1'P2
''Pn' and
n–1
the curve thus created will act an offset path of tool center for the commanded spline
curve.
1)
P0'
P1'
r
P
0
P2'
P3'
P
2
r
P
1
r
P
3
Pn'
P
'
n-1
P
P
'
n+1
n
P
n+1
0P1
n+1
,
.
P
P2''
2)
P0'
P1'P
P2'
P
2
PP
r
P
P
''
3
P
3
3
r
n-1
P
'
'
n
P
P
'
n-1
n
n+1
P
n+1
r
P
Spline curve for commanded
3)
points offset
P0'
P
0
P1'
P
P2''
''
P
3
P
2
P
3
P
Spline curve for
commanded
n-1
n-1
''
P
'
Pn'
P
''
P
n-1
P
n-1
n
n+1
P
n+1
Fig. 6-17 Spline interpolation during tool-diameter offset
The spline curve created in the above-mentioned procedure is not the strict offset, indeed,
of the commanded spline curve, but an approximation of it.
6-35
6INTERPOLATION FUNCTIONS
Return to Library
2. 3-dimensional tool-diameter offset
In the 3-dimensional tool-diameter offset, each point defined with programmed coordinates
is first offset through the tool radius “r” in the direction of the specified normal vector (i, j, k)
and then, the serial points thus offset in the spline-interpolation section are connected in a
smooth curve, which will act as the path of tool-radius center for the 3-dimensional spline
interpolation.
F. Others
1.The spline interpolation targets the basic coordinate axes of X, Y and Z; however, it is not
always required to specify objective axes on commanding the spline interpolation.
Moreover, the spline-interpolation command code (G06.1) can be given in a block without
any movement command.
Example:
N100G06.1X_Y_Z0 →N100G06.1X_Y_
N200X_Y_Z_N200X_Y_Z_
N300X_Y_Z_N300X_Y_Z_
M M M M
N100G06.1F_ ( ← No movement commands)
N200X_Y_Z_
N300X_Y_Z_
M M
2.The spline-interpolation command (G06.1) falls under the G-code group 01.
3.In the single-block operation mode, the spline interpolation is cancelled and all the respective blocks will individually undergo the linear interpolation.
4. In tool-path check, the blocks of spline interpolation are not actually displayed in a spline
curve but in a polygonal line that connects linearly the repective points, which, in case of
tool-diameter offset, will have been offset in the same manner as described in the foregoing
article E.
5. During spline interpolation, when feed hold is executed, the block for which the feed hold
function has been executed will be interpolated, at the beginning of the restart operation
along the spline curve existing before the feed hold function was executed, and then the
spline curve in the next block onward will be re-created and interpolation executed.
6. Althouth spline interpolation can also be executed in the high-speed maching mode (G05P2
mode), curve shape correction by fairing becomes invalid in the G05P2 mode.
6-36
6-11 NURBS Interpolation: G06.2 (Option)
Return to Library
1. Function
The NURBS interpolation function provides interpolation by performing NURBS-defined CNCinternal computations on the command issued from the CAD/CAM system in the NURBS format.
With this optional function, a very smooth interpolation path can be obtained since the interpolation process is performed directly without dividing a NURBS-formatted free-form curve into
minute line segments.
2. Definition of the NURBS curve
NURBS, short for Non-Uniform Rational B-Spline, provides rationalization of the B-spline
function.
The NURBS curve is defined as follows:
P
2
P
1
INTERPOLATION FUNCTIONS6
P
n
n
N
(t)wiP
i,m
Σ
i=0
P
n–1
P(t) =
N
i,1
(t) =
n
N
Σ
i=0
1 (xi ≤ t ≤ x
0 (t < x
i,m
(t)w
, x
i
i
≤ t ≤ x
(x
m–1
i
)
i+1
< t)
i+1
n+1
)
P
0
Fig. 6-18 NURBS curve
P(t)
i,k
(t) =
(t – xi) N
x
i+k–1
N
i,k–1
– x
(t)
(x
– t) N
i+k
+
i
x
i+k
- “Pi” and “wi” denote respectively a control point and the weight on the control point.
- “m” denotes the rank, and the NURBS curve of rank “m” is a curve of the (m–1)-th order.
- “x
” denotes a knot (xi ≤ x
i
), and an array of knots [x0 x1 x2 ... x
i+1
] is referred to as the knot
n+m
vector.
- A variation in parameter “t” from x
- N
(t) is the B-spline basis function expressed by the above recurrence equation.
i, k
m–1
to x
produces NURBS curve P(t).
n+1
Thus the NURBS curve is uniquely defined from the weighted control points and the knot vector.
3. Programming format
G6.2[P]K_X_Y_Z_[R_][F_] ← NURBS interpolation ON
K_X_Y_Z_[R_]
K_X_Y_Z_[R_]
K_X_Y_Z_[R_]
M
K_X_Y_Z_[R_]
K_
K_
K_
K_
← NURBS interpolation OFF
P: Rank (omissible)
X, Y, Z : Coordinates of the control
point
R: Weight on the control point
(omissible)
K: Knot
F: Speed of interpolation
(omissible)
– x
i+1,k–1
i+1
MEP300
(t)
6-37
6INTERPOLATION FUNCTIONS
Return to Library
4. Detailed description
Set the G6.2 code to select the NURBS interpolation mode. Subsequently, designate the rank,
the coordinates and weights of the control points, and the knots to determine the shape of the
NURBS curve.
The modal code G6.2, which belongs to group 1 of G-codes, is of temporary validity and the
modal function relieved by a G6.2 code will automatically be retrieved upon cancellation
(termination) of the NURBS interpolation. The G6.2 code can only be omitted for an immediately
subsequent setting of the next NURBS curve.
Address P is used to set the rank, and the NURBS curve of rank “m” is of the (m–1)-th order, that
is, set as the rank
- P2 for a straight line (curve of the first order),
- P3 for a quadratic curve (of the second order) or
- P4 for a cubic curve (of the third order).
Setting another value than 2, 3 and 4 will cause an alarm, and P4 will be used in default of
argument P. The rank, moreover, should be specified in the first block (containing the G6.2
code).
Designate the control points in as many sequential blocks as required by specifying their
respective coordinates and weights at addresses X, Y, Z and R. Argument R denotes the weight
proper to each control point (R1.0 will be used in default), and the more the weight is applied, the
closer will be drawn the NURBS curve to the control point.
Address K is assigned to knots, and the NURBS curve of rank “m” for an “n” number of control
points requires an (n+m) number of knots. The required array of knots, referred to as knot vector,
is to be designated in sequential blocks, namely: the first knot in the same block as the first
control point, the second knot in the same block as the second control point, and so forth.
Following the “n” blocks entered thus, designate the remaining “m” knots in single-command
blocks. The leading single-command block of argument K also notifies the NC of the completion
of entering the control points, and the NURBS interpolation function itself will be terminated with
the last block for the “m” knots.
5. Remarks
1. Only the fundamental axes X, Y and Z can undergo the NURBS interpolation.
2. Do not fail to explicitly designate all the required axes X, Y and/or Z in the first block
(containing G6.2). Designating a new axis in the second block onward will cause an alarm.
3. Since the first control point serves as the starting point of the NURBS curve, set in the first
block (with G6.2) the same coordinates as the final point of the previous block. Otherwise,
an alarm will be caused.
4. The setting range for the weight (R) is from 0.0001 to 99.9999. For a setting without decimal
point, the least significant digit will be treated as units digit (for example, 1 = 1.0).
5. The knot (K) must be designated for each block. Omission results in an alarm.
6. Knots, as with the weight, can be set down to four decimal digits, and the least significant
digit of a setting without decimal point will be regarded as units digit.
7. Knots must be monotonic increasing. Setting a knot smaller than that of the previous block
will result in an alarm.
8. The order of addresses in a block can be arbitrary.
6-38
INTERPOLATION FUNCTIONS6
p
Return to Library
9. The shape of the NURBS curve can theoretically be modified very flexibly by changing the
rank, the positions and weights of the control points, and the knot vector (the relative
intervals of knots).
In practice, however, manual editing is almost impossible, and a special CAD/CAM system
should be used to edit the NURBS curve and create the program for the interpolation.
Generally speaking, do not edit manually the program created by a CAD/CAM system for
the NURBS interpolation.
6. Variation of curve according to knot vector
The NURBS curve, which in general passes by the control points, can be made to pass through
a specific control point by setting a certain number of knots in succession with the same value. In
particular, setting as many leading and trailing knots as the rank (value of P) with the respective
identical values will cause the NURBS curve to start from the first control point (P
the last one (P
).
5
0
The examples given below exhibit a variation of the NURBS curve according to the knot vector
with the control points remaining identical.
Example 1: Rank :4
Number of control points : 6
Knot vector :[ 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 ]
) and to end in
The starting point of t he
curve differs from the first
control point.
Fig. 6-19 NURBS curve for continuously increasing knots
P
1
P
0
P
2
P
3
P
5
P
4
Example 2: Rank :4
Number of control points : 6
Knot vector :[ 0.0 0.0 0.0 0.0 1.0 2.0 3.0 3.0 3.0 3.0
[1][2]
Point [1]: The first four (=rank) knots have the same value assigned.
Point [2]: The last four (=rank) knots have the same value assigned.
The curve starts from the
first control point.
P
P
1
2
P
5
The final point of the
curve differs from the
last control
oint.
MEP301
]
The curve ends in
the last control point.
P
0
Fig. 6-20 NURBS curve for some identical knots
6-39
P
P
3
4
MEP302
6INTERPOLATION FUNCTIONS
Return to Library
Note 1: The NURBS interpolation can be performed only for the NURBS curve that starts and
ends from the first and in the last control point. Do not fail, therefore, to set as many
leading and trailing knots as the rank with the respective identical values.
Note 2: The NURBS interpolation is executed at the designated feed rate (F-code). During the
shape correction mode, however, the interpolation speed is controlled in order that the
maximum available acceleration may not be exceeded in the section of a considerable
curvature.
7. Compatibility with the other functions
The tables in this section specify the compatibility of the NURBS interpolation with the other
functions. Pay attention to the incompatible functions, especially G-codes.
A. Preparatory, feed and auxiliary functions
The table below enumerates the G-codes, F-, M-, S-, T- and B-codes with regard to their
availability before, with and after G6.2.
FunctionCodebefore G6.2with G6.2after G6.2
G-codes of group 00all
G-codes of group 01all
G-codes of group 02
G-codes of group 04
G-codes of group 06
G-codes of group 09
G-codes of group 12G54 - G59
G-codes of group 13
G-codes of group 14
G-codes of group 16
High-speed machining
mode
Feed functionF
Auxiliary functionMSTB
": available ×: not available
"
"
G17
G18
G19
G22×××
G23
G93
G98G-codes of group 05
G99
G20
G21
G40
G41×××G-codes of group 07
G42×××
G80
the others×××
G61.1
G61.2
G61×××
G62×××
G63×××
G64
G66×××
G66.1×××
G66.2×××
G67
G68.5×××
G69.5
G5P0
G5P2×××
""
"
""
""
"
"
""
"
"
"
"
"
"
""
"
××
(Note)×
"
×
××
×
×
××
××
×
××
××
××
××
××
××
×
××
6-40
INTERPOLATION FUNCTIONS6
Return to Library
B. Skip instructions
The table below enumerates the skip instructions with regard to their availability before, with and
after G6.2.
": available ×: not available
Instructionbefore G6.2with G6.2after G6.2
Optional block skip
Control Out/In
""
""
×
×
Note: Designating another address than X, Y, Z, R and K in the mode of (i. e. after) G6.2 will
cause an alarm.
C. Interruption and restart
The table below enumerates the functions for interrupting and restarting the program flow with
regard to their availability before, with and after G6.2.
": available ×: not available
Functionbefore G6.2with G6.2after G6.2
Single-block operation
Feed hold
Reset
Program stop
Optional stop
Manual interruption
(Pulse feed and MDI)
Restart
Comparison stop
"
"
"""
"
"
"
"
"
×" (Note)
×
××
××
××
××
××
"
Note: The single-block stop only occurs between blocks with different knots.
D. Tool path check
The tool path in a section of the NURBS interpolation can only be displayed as if the control
points were linearly interpolated (in the mode of G01).
6-41
6INTERPOLATION FUNCTIONS
Return to Library
8. Sample program
The program section below refers to a NURBS interpolation of rank 4 (cubic curve) for seven
control points.
Fig. 6-21 NURBS interpolation and linear interpolation
1
P
2
P
3
X
NURBS interpolation
for the control points
Linear interpolation for
the control points
P
4
P
5
P
6
P
7
MEP303
6-42
9. Related alarms
Return to Library
The table below enumerates the alarms related to the NURBS interpolation.
Alarm list
Alarm
No.
806ILLEGAL ADDRESSAnother address than those for the
807ILLEGAL FORMAT
809ILLEGAL NUMBER
816FEEDRATE ZEROThe feed rate (F-code) has not yet been
936OPTION NOT FOUNDThe system is not equipped with the
955START AND END
956RESTART OPERATION
957MANUAL INTERRUPT
Alarm messageCauseRemedy
Clear the inadequate address.
nominated axes (X, Y and/or Z), the
weight (R) and the knot (K) is set in the
G6.2 mode.
INPUT
POINT NOT AGREE
NOT ALLOWED
NOT ALLOWED
1. The modal condition is not appropriate
to set G6.2.
2 A block in the G6.2 mode is set without
knot (K).
3. The number of blocks with the same
knot in succession does not reach the
rank.
1. The number of digits exceeds the
specification of axis commands (X, Y or
Z).
2. The rank (P) is not admissible.2. Set 2, 3 or 4 at address P.
3. The value of a knot is not admissible.3. Set a value in a range of 0.0001 to
4. The knot vector is not monotonic
increasing.
designated.
optional function of the NURBS
interpolation.
The axis coordinates designated in the
block of G6.2 do not correspond to the
final point of the previous block.
The designated restart block falls within
the mode of G6.2.
An interruption by pulse handle or MDI
operation is commanded in the midst of
the G6.2 mode.
1. Satisfy the modal condition with
2. Do not fail to set a knot in each block in
3. Set an appropriate knot vector with
1. Specify the axis command within eight
4. Check the blocks for a decreasing knot.
Set an F-code before or in the same block
as the G6.2 code.
Purchase and install the optional function.
Designate in the first block of the NURBS
interpolation the same position as the final
point of the previous block.
Restart operation is not allowed from the
midst of the NURBS interpolation.
Manual interruption is not allowed in the
midst of the NURBS interpolation.
INTERPOLATION FUNCTIONS6
reference to item 7-A.
the G6.2 mode.
reference to example 2 given in item 6.
digits.
99.9999.
6-43
6INTERPOLATION FUNCTIONS
r
Return to Library
6-12 Cylindrical Interpolation Command: G07.1
1. Function and purpose
Cylindrical interpolation function refers to a function by which the sides of a cylindrical workpiece
are machined. The cylindrical interpolation function capable of programming in the form in which
the sides of a cylinder are spread can very easily prepare programs including cylindrical camgrooving.
2. Programming format
G07.1 C_; Cylindrical interpolation mode (C: cylindrical radius)
G07.1 C0; Cylindrical interpolation cancel mode
(These G-codes should be commanded in an independent blo ck.)
* When the cylindrical radius (address C) is not commanded, a cylinder is defined taking as
radius current value of X-axis (treated as radius value) when G07.1 is commanded.
3. Operation
+X
l
+C
360°
C
+Z
180°
0°
l
D732S0010
2
r
π
+Z
The moving distance of rotational axis commanded with an angle is converted to the linear
distance on the circumference in CNC. After the conversion, linear interpolation or circular interpolation is given with the other axis. After the interpolation, the calculated movement is converted
again to the moving distance of rotational axis.
Relation of cylindrical interpolation mode to other functions
A. Feed rate designation
The feed rate commanded during cylindrical interpolation mode provides a speed on the plane
where cylindrical sides are spread.
Note: The example of programming shown on the right (F10)
realizes a C-axis feed of 143°/min [approximation of
10/(4 × 2π) × 360].
M
G98;
G07.1 C4;
G01 C_ F10;
M
B. Circular interpolation (G02, G03)
1.Plane selection
Giving the circular interpolation between the rotational axis and other linear axis during
cylindrical interpolation mode requires the command of plane selection (G17, G18, G19).
Example: When the circular interpolation is given between Z- and C-axes, the circular
interpolation command is
G18 Z_ C_ ;
G02/G03 Z_ C_ R_ ;
2.Radius designation
The circular radius by word address I, J or K cannot be commanded during cylindrical interpolation mode. The circular radius is commanded by address R. The radius must be
commanded not with angle, but with mm or inch.
6-45
6INTERPOLATION FUNCTIONS
Return to Library
C. Tool nose radius compensation
Giving the tool nose radius compensation during cylindrical interpolation mode requires the
command of plane selection as with the circular interpolation. However, giving the tool nose
radius compensation requires start-up and cancel during cylindrical interpolation mode.
Establishing a cylindrical interpolation mode with the tool nose radius compensation given does
not provide proper compensation.
D. Positioning
Positioning (including commands producing the cycle of rapid feed such as G28 and G80 to
G89) cannot be accomplished during cylindrical interpolation mode. Positioning requires
establishing a cylindircal interpolation cancel mode.
E. Coordinate system setting
The workpiece coordinate system (G50) cannot be commanded during cylindrical interpolation
mode.
6. Notes
1.The cylindrical interpolation mode cannot be re-established during cylindrical interpolation
mode. Re-establishment requires the cancel of cylindrical interpolation mode.
2.The cylindrical interpolation (G07.1) cannot be commanded during positioning mode (G00).
3.Accuracy
- Automatic operation
During cylindrical interpolation mode, the moving distance of rotational axis commanded
with an angle is once internally converted to the distance on the circumference. And after
arithmetic operation is performed on linear interpolation or circular interpolation with the
other axis, the calculated movement is again converted to the angle.
As a result, where the cylindrical radius is small, the actual moving distance may differ
from the commanded value. However, the error produced then is not accumulated.
Actual moving distance =
MOVE: Moving distance per rotation of rotational axis (Parameter)
r: Workpiece radius
( ) : Rounding to the least input increment
- Manual operation
Performing manual operation during cylindrical interpolation mode in manual absolute ON
status may cause an error for the above reason.
4.The hole machining fixed cycle (G83 to G89) cannot be commanded during cylindrical
interpolation mode.
MOVE
(
2 × 2πr
Command value ×
× (
2 × 2πr
MOVE
))
6-46
6-13 Threading
Return to Library
6-13-1 Constant lead threading: G32 [Series M: G33]
1. Function and purpose
The G32 command controls the feedrate of the tool in synchronization with the spindle rotation
and so this enables both the straight and scrolled thread cutting of constant leads and the
continuous thread cutting.
F/E
INTERPOLATION FUNCTIONS6
F/E
Straight thread
Scrolled thread
2. Programming format
G32 Zz/Ww Xx/Uu Ff;(Normal lead thread cutting commands)
Where Zz, Ww, Xx, Uu:Thread ending point addresses and coordinates
Ff:Lead of long axis (axis of which moving distance is the longest)
direction
G32 Zz/Ww Xx/Uu Ee;(Precision lead threading commands)
Where Zz, Ww, Xx, Uu:Thread ending point addresses and coordinates
Ee:Lead of long axis (axis of which moving distance is the longest)
direction
X-axis
u
2
z
Ending point
δ
w
α
2
Starting point
δ
1
F/E
Continuous thread
TEP026
Z-axis
x
TEP027
6-47
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.