Programming Manual: Mazatrol Matrix Nexus
Programming Manual: Mazatrol Matrix Nexus
Programming Manual: Mazatrol Matrix Nexus
PROGRAMMING MANUAL
for
Serial No.:
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.
02. 2010
SAFETY PRECAUTIONS
SAFETY PRECAUTIONS
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 machine are explained below. Not only 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 the precautions to be observed as to the working methods and states
usually expected. Of course, however, unexpected operations and/or unexpected 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 contains as great an amount of information as it can, since it is not
rare for the user to perform the operations that overstep the manufacturer-assumed ones,
not all of “what the user cannot perform” or “what the user must not perform” can 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.
3. The meanings of our safety precautions to DANGER, WARNING, and CAUTION are as
follows:
HGENPA0044E S-1
SAFETY PRECAUTIONS
Basics
! 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 proceeding to the next operations, fully check that correct data has been entered
and/or set. If the operator performs operations without being aware of data errors,
unexpected operation of the machine will result.
! Before machining workpieces, perform operational tests and make sure that the machine
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 by operating the machine at no load. Also, fully utilize tool path check,
Virtual Machining, 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 are determined by the specifications of the tool to be used, those
of the workpiece to be machined, and various other factors, actual capabilities differ from
the machine specifications listed in this manual. If an inappropriate feed rate or rotational
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 standard machining conditions prior to shipping of the
machine from the factory. In principle, these settings should not be modified. If it becomes
absolutely necessary to modify the settings, perform modifications only after thoroughly
understanding the functions of the corresponding parameters. Modifications usually affect
any program. Unexpected operation of the machine will result if the settings are modified
without a thorough understanding.
S-2
SAFETY PRECAUTIONS
Programming
! 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
WARNING
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/ISO 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/ISO 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/ISO 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.
S-3
SAFETY PRECAUTIONS
! For the machines of INTEGREX e-Series, programmed coordinates can be rotated using
an index unit of the MAZATROL program and a G68 command (coordinate rotate com-
mand) of the EIA/ISO program. However, for example, when the B-axis is rotated through
180 degrees around the Y-axis to implement machining with the turning spindle No. 2, the
plus 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 program with the plus side of the X-axis oriented in an upward direction, use
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 Virtual Machining function, and other functions, and confirm that the
program operates properly. The modification of tool data may cause even a field-proven
machining program to change in operational status.
If the user operates the machine without being aware of any 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-including blank (unmachined workpiece) specified in the common unit
of the MAZATROL program, care is required since the tool will directly move from that
position to the approach point because of no obstructions being judged to be present 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.
S-4
SAFETY PRECAUTIONS
Operations
! 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
WARNING
notification to related persons. Also, the operator must check the settings of the system
variables before starting the above operations.
! If manual intervention during automatic operation, machine locking, the mirror image
function, or other functions are executed, the workpiece coordinate systems will usually be
shifted. When making machine restart after manual intervention, machine locking, the
mirror image function, or other functions, consider the resulting amounts of shift 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 machine for normal operation at no load. Since the
feed rate at this time becomes a dry run rate different from the program-designated feed
rate, the axes may move at a feed rate higher than the programmed value.
! After operation has been stopped temporarily 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.
! During manual operation, fully check the directions and speeds of axial movement.
! For a machine that requires manual homing, perform manual homing operations after
CAUTION 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 area.
As a result, serious machine damage will result.
! Do not designate an incorrect pulse multiplier when performing manual pulse handle 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
REQUEST TO THE USER
USB memory
MATRIX NEXUS (on the QTN, etc.) MATRIX NEXUS (on the HCN, etc.)
On machines with a random ATC feature, each actual ATC operation changes the tool data (in
pocket numbers). Be sure not to run the machine after loading the externally stored data of the
TOOL DATA display without having confirmed the data’s correspondence to the current tooling
on the magazine. Otherwise the machine cannot be be guaranteed to operate normally.
S-6
BEFORE USING THE NC UNIT
Limited Warranty
The warranty of the manufacturer does not cover any trouble arising if the NC unit is used for 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 purpose 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 commercially available computer
equipment
Operating Environment
1. Ambient temperature
During machine operation: 0° to 50°C (32° 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
deteriorate quickly.
S-7
BEFORE USING THE NC UNIT
- NOTE -
S-8 E
CONTENTS
Page
C-1
4-4 Polar Coordinate Input ON/OFF: G122/G123.....................................................4-6
5-11 Helical Interpolation: G17, G18, G19 and G02, G03 ........................................5-31
C-2
6 FEED FUNCTIONS .............................................................................. 6-1
C-3
9-3 Spindle Speed Range Setting: G50....................................................................9-3
11-3-4 Other operations during nose radius/tool radius compensation ......................... 11-15
C-4
12 PROGRAM SUPPORT FUNCTIONS ................................................. 12-1
12-2-8 General notes on the compound fixed cycles G70 to G76 ................................. 12-34
12-3-7 General notes on the hole machining fixed cycles ............................................. 12-44
12-3-8 Sample programs with fixed cycles for hole machining ...................................... 12-45
C-5
12-4 Hole Machining Pattern Cycles: G234.1/G235/G236/G237.1.........................12-46
12-10-8 External output command (Output onto the hard disk) ..................................... 12-114
C-6
13 COORDINATE SYSTEM SETTING FUNCTIONS.............................. 13-1
C-7
16 TWO-SYSTEM CONTROL FUNCTION ............................................. 16-1
C-8 E
UNITS OF PROGRAM DATA INPUT 1
1 UNITS OF PROGRAM DATA INPUT
Linear axis
Rotational axis
Metric system Inch system
Units of program data input 0.0001 mm 0.00001 in 0.0001 deg
Units of data setting 0.0001 mm 0.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 commands (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 cannot be used at the same time.
1-1
1 UNITS OF PROGRAM DATA INPUT
- NOTE -
1-2 E
DATA FORMATS 2
2 DATA FORMATS
2-1
2 DATA FORMATS
ECN N CE
O U P ROGR AM U NO . 1 0 1 O
BOL L I B
ECN D ND N N D N DNNCE
O U 1 1 E 1 1 U ERRRUORR / U 1 1 E 1 1 U 2 EUU O
BO L L L L L L L L L L L I B
EC S E
O G 0 0 X – 8 5 0 0 0 Y– 6 4 0 0 0 ( C U T T E R RE T U R N ) O
BR P B
2-2
DATA FORMATS 2
4. Tape creation method for tape operation (Only when a rewinding device is used)
The two meters of dummy at both ends and the EOR (%) at the head are not required when a
rewinding device is not used.
2-3
2 DATA FORMATS
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
0 0
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
K K
L L
M M
N N
O O
P P
Q Q
R R
S S
T T
U U
V V
W W
X X
Y Y
Z Z
+ +
– –
. .
, ,
/ /
EOR (End of Record) %
EOB (End of Block) or CR LF (Line Feed) or NL
CO (2+4+5) ( (Control Out)
CI (2+4+7) ) (Control In)
:
#
Definable in parameters ∗
=
[
]
BS (Back Space) BS (Back Space)
TAB HT (Horizontal Tab)
SP (Space) SP (Space)
& &
CR (Carriage Return)
$ [1]
’ (Apostrophe)
;
<
>
?
@
”
DEL (Delete) DEL (Delete)
AS (All Space=Feed)* NULL [2]
AM (All Mark=EOB+DEL)* DEL (Delete)
* The codes asterisked above are not EIA codes, LF or NL acts as EOB and %
but may be used for the convenience’s sake. acts as EOR.
MEP006
2-4
DATA FORMATS 2
Codes in section [1] will only be stored as tape data when they are present in a comment section,
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.
Word
Numeral
Alphabet (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 2-1 Type and format of words
2-5
2 DATA FORMATS
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 (α) denotes additional axis address. +44 will be used when α is specified for
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.
2-6
DATA FORMATS 2
2. Operating notes
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.
NC MONITOR display
NC input machining program
Program No. Sequence No. Block No.
O1234 (DEMO. PROG); 1234 0 0
N100 G00 X120. Z100.; 1234 100 0
G98 S1000; 1234 100 1
N102 G71 P210 Q220 I0.2 K0.2 D0.5 F600; 1234 102 0
N200 G98 S1200 F300; 1234 200 0
N210 G01 X0 Z95.; 1234 210 0
G01 X20.; 1234 210 1
G03 X50. Z80. K-15.; 1234 210 2
G01 Z55.; 1234 210 3
G02 X80. Z40. I15.; 1234 210 4
G01 X100.; 1234 210 5
G01 Z30.; 1234 210 6
G02 Z10. K-15.; 1234 210 7
N220 G01 Z0; 1234 220 0
N230 G00 X120. Z150.; 1234 230 0
N240 M02; 1234 240 0
% 1234 240 0
2-7
2 DATA FORMATS
2-6 Parity-H/V
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)
One block
If a parity-H error occurs, the tape will stop at the position next to the error code.
2-8
DATA FORMATS 2
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
1 2 3 4 5 6 7
Note 1: During a parity-V check, some types of code are not counted as characters. See Fig.
2-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.
2-9
2 DATA FORMATS
2-10
DATA FORMATS 2
Function G-code Group
Selection of workpiece coordinate system 2 G55 12
Selection of workpiece coordinate system 3 G56 12
Selection of workpiece coordinate system 4 G57 12
Selection of workpiece coordinate system 5 G58 12
Selection of workpiece coordinate system 6 G59 12
One-way positioning G60 00
Exact-stop check mode G61 13
Automatic corner override G62 13
Tapping mode G63 13
Cutting mode ▲G64 13
User macro single call G65 00
User macro modal call A G66 14
User macro modal call B G66.1 14
User macro modal call OFF ▲G67 14
Finishing cycle G70 09
Longitudinal roughing cycle G71 09
Transverse roughing cycle G72 09
Contour-parallel roughing cycle G73 09
Longitudinal cut-off cycle G74 09
Transverse cut-off cycle G75 09
Compound thread-cutting cycle G76 09
Fixed cycle OFF ▲G80 09
Front driling cycle G83 09
Front tapping cycle G84 09
Front synchronous tapping cycle G84.2 09
Front boring cycle G85 09
Outside driling cycle G87 09
Outside tapping cycle G88 09
Outside synchronous tapping cycle G88.2 09
Outside boring cycle G89 09
Fixed cycle A (Longitudinal turning cycle) G90 09
Threading cycle G92 09
Fixed cycle B (Transverse turning cycle) G94 09
Constant surface speed control ON ■G96 17
Constant surface speed control OFF ■G97 17
Feed per minute (asynchronous) ■G98 05
Feed per revolution (synchronous) ■G99 05
Single program multi-system control G109 00
Cross machining control ON G110 20
Cross machining control OFF G111 20
M, S, T, B output to opposite system G112 00
Polar coordinate input ON G122 18
Polar coordinate input OFF G123 18
X-axis radial command ON G122.1 00
X-axis radial command OFF ▲G123.1 00
Tornado cycle G130
Measurement macro, workpiece/coordinate measurement G136
Compensation macro G137
2-11
2 DATA FORMATS
Notes:
1. The codes marked with ▲ are automatically selected in each group upon switching-on or
resetting with initializing the modal conditions.
2. The codes marked with ! are able to be selected by a parameter as an initial modal
condition which is to become valid upon switching-on or resetting with initializing the modal
conditions. Changeover of inch/metric system, however, can be made valid only by
switching-on.
3. G-codes of group 00 are those which are not modal, and they are valid only for blocks in
which they are entered.
4. If a G-code not given in the G-code list is used, an alarm is displayed. And if a G-code
without corresponding option is used, an alarm is displayed (808 MIS-SET G CODE).
5. If G-codes belong to different groups each other, any G-code can be used 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 given in the same block, the G-code entered last is
valid.
2-12 E
BUFFER REGISTERS 3
3 BUFFER REGISTERS
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.
Preread
Tape Input buffer
buffer 5
Buffer 4
Mode
Memory selection Buffer 3
Buffer 2
Keyboard
Arithmetic
Buffer 1 operation
MDI data process
Note:
One block of data is stored in one buffer.
TEP010
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.
- 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.
3-1
3 BUFFER REGISTERS
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.
3-2 E
POSITION PROGRAMMING 4
4 POSITION PROGRAMMING
4-1
4 POSITION PROGRAMMING
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 Ι)
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 radius compensation data)
according to the unit of data input for the desired system (inch or metric) and 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 Xx1 Yy1 Zz1
M M
M M
M M
G20 G92 Xx2 Yy2 Zz2
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).
4-2
POSITION PROGRAMMING 4
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.
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.
4-3
4 POSITION PROGRAMMING
4. Sample programs
Command category
For 1 = 1 µ For 1 = 0.1 µ 1 = 1 mm
Program example
G0X123.45
(With the decimal point always given X123.450 mm X123.450 mm X123.450 mm
as the millimeter point)
G0X12345 X12.345 mm* X1.2345 mm** X12345.000 mm***
#111=123 #112=5.55 X123.000 mm
X#111 Y#112 Y5.550 mm
#113=#111+#112 (ADD) #113 = 128.550
#114=#111–#112 (SUBTRACT) #114 = 117.450
#115=#111#112 (MULTIPLY) #115 = 682.650
#116=#111/#112 #116 = 22.162
#117=#112/#111 (DIVIDE) #117 = 0.045
4-4
POSITION PROGRAMMING 4
B. Validity of decimal point for each address
Decimal Decimal
Address point Application Remarks Address point Application Remarks
command command
Rotary table
A Invalid Invalid Dwell time
Miscellaneous function code
Rotary table
C Invalid Valid Rank for NURBS curve
Miscellaneous function code
Cutting depth for
Valid Corner chamfering amount Valid
deep-hole drilling cycle
Offset number (tool position,
D Invalid Q Valid Shift amount for back boring
tool length and tool radius)
Note: The decimal point is valid in all the arguments for a user macroprogram.
4-5
4 POSITION PROGRAMMING
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.
Available G-codes
G00 Positioning
G01 Linear interpolation
G02 Circular interpolation (CW)
4-6
POSITION PROGRAMMING 4
G03 Circular interpolation (CCW)
G04 Dwell
G09 Exact-stop check
G13.1 Polar coordinate interpolation OFF
G40-G42 Nose radius/Tool radius compensation
G61 Exact-stop check mode
G64 Cutting mode
G65 User macro single call
G66 User macro modal call A
G66.1 User macro modal call B
G67 User macro modal call OFF
G80-G89 Fixed cycles for hole machining
G98 Asynchronous feed
G123 Polar coordinate input OFF
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
Counter indication on Modal indication on
POSITION display POSITION display
M
G122.1; ......X-axis radial data input ON
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.
4-7
4 POSITION PROGRAMMING
5. Even in the G122.1 mode the X-axis dimensions entered under the following modal
functions are always processed as diametrical values. Issuance of these G-code commands
also cancels G122.1 mode:
G7.1 Cylindrical interpolation
G12.1 Polar coordinate interpolation ON
G123 Polar coordinate input OFF
G22 Pre-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):
G122 Polar coordinate input ON
7. Various settings for software limits and barrier functions are not to be changed.
4-8 E
INTERPOLATION FUNCTIONS 5
5 INTERPOLATION FUNCTIONS
2. Programming format
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 rate of rapid
traverse of each axis.
- Nonlinear path
The tool is positioned according to the separate rapid traverse rate of each axis.
5. When no number following G address, this is treated as G00.
5-1
5 INTERPOLATION FUNCTIONS
4. Sample programs
+X
Chuck Jaw
Starting point
Ending point (+180, +300)
Workpiece (+100, +150)
+Z
(Unit: mm)
TEP012’
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 traverse rate of each axis.
For example, if you set a rapid traverse 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.
F91 bit 6 = 0
400
fx
X
300
fz Z
Starting point
(Unit: mm)
Z-axis effective feedrate: 9600 mm/min
TEP013
For inch-specification machines, the rapid traverse rate of the C-axis is limited to 89 min–1
(32000/360) even if item C of parameter M1 is set to a value greater than 32000.
5-2
INTERPOLATION FUNCTIONS 5
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 traverse rate of each axis.
For example, if you set a rapid traverse 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.
F91 bit 6 = 1
X-axis effective feedrate:
Ending point 9600 mm/min
400
fx
X
300
Z
fz Starting point
(Unit: mm)
Z-axis effective feedrate: 9600 mm/min
TEP014
3. The rapid traverse 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 traverse (G00) deceleration check
When processing of rapid traverse (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 ms)
The time required for the deceleration check during rapid traverse is the longest among the
rapid traverse deceleration check times of each axis determined by the rapid traverse
acceleration/deceleration time constants and by the rapid traverse acceleration/deceleration
mode of the axes commanded simultaneously.
5-3
5 INTERPOLATION FUNCTIONS
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 traverse.
G60 a Positioning point
Starting point
Temporary stop
3. The positioning pattern described above also applies during machine locking or for a Z-axis
command with the Z-axis cancellation activated.
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 traverse override to 0 (zero).
The creeping is performed according to the setting of the rapid traverse, and the rapid
traverse 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.
5-4
INTERPOLATION FUNCTIONS 5
2. Programming format
X-axis
z w
Command point
u
2
Current position
Z-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).
5-5
5 INTERPOLATION FUNCTIONS
4. Sample program
Example 1: Taper turning
X-axis
20.0
Current position
Z-axis
50.0
TEP016
Example 2: Program for moving the tool at a cutting feed rate of 300 mm/min via the route of
P1→P2 →P3 →P4 (where the sections P0→P1 and P4 →P0 form a positioning route
for the tool):
Turret +X
240
P1 P0
200 +Z
140
P4 Unit: mm
100
P2 P3
TEP017
5-6
INTERPOLATION FUNCTIONS 5
2. Programming format
G02 (G03) Xx/Uu Zz/Ww (Yy/Vv) Ii Kk (Jj) Ff ;
Coordinates of the Coordinates of Feedrate
ending point the arc center
Counterclockwise (CCW)
Clockwise (CW)
X/U: Arc ending point coordinates, X-axis (absolute value of workpiece coordinate system for 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
Center
X-axis
Ending point
i
u Starting
2 point
z w k
x
Z-axis
TEP018
5-7
5 INTERPOLATION FUNCTIONS
For machines with Y-axis control, arc interpolation is, additionally to ZX-plane, also available for
XY- and YZ-planes.
XY-plane G17;
G02 (G03) X_Y_I_J_F_; For milling on the face
ZX-plane G18;
G02 (G03) X_Z_I_K_F_; For normal turning
YZ-plane G19;
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) command 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 Turret
Chuck +X
CCW (G03)
CW (G02)
+Z
Work- +Z
piece
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.
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.
5-8
INTERPOLATION FUNCTIONS 5
4. Sample programs
X-axis
50.0
Coordinate
zero point 120.0
20.0 Z-axis
70.0 50.0
TEP020
G02 Z80.K50.;
+X
Alarm stop
+Z
TEP021
5-9
5 INTERPOLATION FUNCTIONS
- 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 Spiral interpolation
Ending
Starting Center point
point Radius at Radius at
starting point ending point ∆R
+Z
TEP022
The examples shown above assume that excessively large parameter data is given to
facilitate your understanding.
2. Programming format
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
5-10
INTERPOLATION FUNCTIONS 5
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.
Ending point
O2
O1
L O1, O2 : Center point
Starting point r
TEP023
To use the radius-designated arc interpolation commands, the following requirement must be
met:
L
≤1
2•r
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 center-
designation 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 Xx1 Zz1 Rr1 Ff1 ;
2. G02 Xx1 Zz1 Ii1 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.
5-11
5 INTERPOLATION FUNCTIONS
5-6-1 Outline
1. Function and purpose
Commands G17, G18 and G19 are used to select a plane for motion control.
Registering the three fundamental axes as parameters allows you to select a plane generated by
any two non-parallel axes.
Use these G-codes to select the plane for the following:
- Circular interpolation
- Nose radius compensation
- Polar coordinate interpolation
- Chamfering (or thread run-out)
- Positioning for fixed cycle operation
- Corner rounding/chamfering
2. Programming format
G17; (XY-plane selection)
X, Y, and Z denote respective coordinate axes
G18; (ZX-plane selection)
or their corresponding parellel axes.
G19; (YZ-plane selection)
Y X Z
X Z Y
G17 (XY) plane G18 (ZX) plane G19 (YZ) plane
TEP024’
X Z Y
TEP025’
5-12
INTERPOLATION FUNCTIONS 5
2. Automatic plane selection does not occur for blocks that do not have an issued plane-
selection command (G17, G18 or G19)
G18 X_ Z_; ZX-plane
Y_ Z_; ZX-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_; (ZX-plane = G18 XZ ;)
Note 1: The plane that is automatically selected upon power on or resetting depends on the
settings of bits 0 and 1 of parameter F92 as follows:
bit 1 bit 0 Plane selected
0 0 G17 plane
0 1 G18 plane
1 0 G19 plane
1 1 G18 plane
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.
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. The block of G12.1 must be preceded by a command of selecting the appropriate plane
(G17UH); otherwise an alarm will be caused (1802 ILLEGAL STARTUP CONDITION
G12.1). When turning on the power and resetting, the polar coordinate interpolation cancel
mode (G13.1) is provided.
5-13
5 INTERPOLATION FUNCTIONS
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 inter-
polation 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.
4. Absolute command and incremental command for the linear interpolation (G01) and the
circular interpolation (G02, G03) can be commanded during the polar coordinate inter-
polation 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.
C
(Virtual axis)
D732S0008
5-14
INTERPOLATION FUNCTIONS 5
4. Sample programs
C (Virtual axis)
N070
N080 N060
N050
X
N100
N090
Nose radius
center path
Programmed path
D732S0009
M
N001 G00 G97 G98;
N004 G28 U0 W0;
N008 M200;
N010 T001000;
N020 G00 X100.0 Z10.0 C0.0; Positioning to the start point
N030 G17UH; Selection of the XC-plane
G12.1; Polar coordinate interpolation start
N040 G42;
N050 G01 X50.0 F500;
N060 C10.0;
N070 G03 X-50.0 C10.0 I-25.0; Contour program
N080 G01 C-10.0; (Program with rectangular coordinate values
N090 G03 X50.0 C-10.0 R25.0; on XC-plane)
N100 G01 C0.0;
N110 G00 X100.0;
N120 G40;
N130 G13.1; Polar coordinate interpolation cancel
N140 M202;
M
5-15
5 INTERPOLATION FUNCTIONS
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 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 XpYp-plane.
- Command is given by J and K taking the linear axis as the Y-axis of YpZp-plane.
- Command is given by K and I taking the linear aixs as the Z-axis of ZpXp-plane.
The circular radius can also be designated by R command.
3. G-codes capable of command during G12.1 mode are G04, G65, G66, G67, G00, G01, G02,
G03, G98, G99, G40, G41 and G42.
4. Move command of an axis other than those on the selected plane during G12.1 mode is
executed independently of the polar coordinate interpolation.
5. 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.
6. 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.
7. Program restart cannot be made for a block during G12.1 mode.
5-16
INTERPOLATION FUNCTIONS 5
2. Programming format
G07 α0 To set a virtual axis
M To interpolate with the virtual axis
G07 α1 To cancel the virtual axis
3. Detailed description
1. Only helical 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.
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 Y0 ...... Sets the Y-axis as a virtual axis.
G17G2.1X0Y–5.I0J–10.Z40.P2F50 ...... Sine interpolation on XZ-plane
G07 Y1 ...... Resets the Y-axis to an actual axis.
X-axis
X-axis
10.
5.
Z-axis 40.
20. –5. –10.
Y-axis
–5.
–10.
MEP037
5-17
5 INTERPOLATION FUNCTIONS
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 block.)
* 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
+C
+X
l 360°
r
C 180° 2πr
+Z
0° l +Z
D732S0010
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 inter-
polation is given with the other axis. After the interpolation, the calculated movement is converted
again to the moving distance of rotational axis.
5-18
INTERPOLATION FUNCTIONS 5
4. Sample programs
In case of the figure on the right: P0→P1→P2→P3→P4→P5→P6→P7 (r = 50 mm)
G00 G98; +C
P7
G28 U0 W0; Unit:mm 360
T001001;
M200;
G18 W0 H0;
P6
X52. M203 S1000; P4 P5 280
G01 X40.F100; 270
G07.1 C50.;
G01 C80.F100; P0 → P1 P3 225
G03 Z-25.C90.R50.; P1 → P2
G01 Z-80.C225.; P2 → P3
G02 Z-75.C270.R55.; P3 → P4
G01 Z-25.; P4 → P5
G03 Z-20.C280.R80.; P5 → P6
G01 C360.; P6 → P7 90
P2
G07.1 C0.; 80
P1
G28 U0;
G28 W0 H0;
M202; P0
M30; +Z
–80 –75 –25 –20
5. Supplement
Relation of cylindrical interpolation mode to other functions
5-19
5 INTERPOLATION FUNCTIONS
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.
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.
MOVE 2 × 2πr
Actual moving distance = ( × (Command value × ))
2 × 2πr MOVE
5-20
INTERPOLATION FUNCTIONS 5
5-10 Threading
F/E
F/E F/E
TEP026
2. Programming format
G32 Zz/Ww Xx/Uu Ff Qq; (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
Qq: Shift angle of threading start
G32 Zz/Ww Xx/Uu Ee Qq; (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
Qq: Shift angle of threading start
w
X-axis
Ending point
u
2
α
Starting point
z δ2 δ1
Z-axis
TEP027
5-21
5 INTERPOLATION FUNCTIONS
3. Detailed description
1. The E command is also used for the number of threads in inch threading, and whether the
thread number or precision lead is to be designated can be selected by parameter setting.
(Bit 7 of address F91 is set to 0 for precision lead designation.)
2. Use an argument Q to specify the shift angle of threading start for multiple-thread cutting.
Omit the argument Q if no shifting of angular position for threading start is required at all
(shift by 0°).
3. The lead in the long axis direction is commanded for the taper thread lead.
X
Tapered thread section
u
2 a°
5-22
INTERPOLATION FUNCTIONS 5
10. The spindle speed is subject to the following restriction:
1 ≤ R ≤ Maximum feed rate/Thread lead
where R : Spindle speed (min–1) ≤ Permissible speed of encoder (min–1)
Thread lead = mm or inches
Maximum feed rate = mm/min or inches/min (this is subject to the restrictions
imposed by the machine specifications).
11. During threading, use or disuses of dry run can be specified by setting parameter F111 bit 1.
12. Synchronous feed applies for the threading commands even with an asynchronous feed
mode (G98).
13. Spindle override is valid even during threading. But the override value will not be changed
during threading.
14. When a threading command is programmed during tool nose radius compensation, the
compensation is temporarily cancelled and the threading is executed.
15. When the mode is switched to another automatic operation mode while G32 is executed,
the following block which does not contain a threading command is first executed and then
the automatic operation stops.
16. When the mode is switched to manual operation mode while G32 is executed, the following
block which does not contain a threading command is first executed and then the automatic
operation stops. In the case of the single block operation, the following block which does not
contain a threading command is first executed and then the automatic operation stops.
17. The threading command waits for the single rotation synchronization signal of the rotary
encoder and starts movement.
With this NC unit, however, movement starts without waiting for this signal when another
system issues a threading command during threading by one system.
Therefore, threading commands should not be issued by a multiple number of systems.
4. Sample programs
X-axis
20.0 Z-axis
90.0
40.0 50.0
TEP029
5-23
5 INTERPOLATION FUNCTIONS
2. Programming format
G32 Zz/Ww Xx/Uu Ee Qq;
Where Zz, Ww, Xx, Uu: Thread ending point addresses and coordinates
Ee: Number of threads per inch in direction of long axis (axis of which the
moving distance is the longest)
(Decimal point command can also be assigned.)
Qq: Shift angle of threading start
X-axis w
Ending point
u
2
α Starting point
z δ2 δ1
Z-axis
TEP030
3. Detailed description
1. The number of threads in the long axis direction is assigned as the number of threads per
inch.
2. The E code is also used to assign the precision lead length, and whether the thread number
or precision lead length is to be designated can be selected by parameter setting (allowed
by parameter F91 bit 7).
3. The E command value should be set within the lead value range when converted to the
lead.
4. Use an argument Q to specify the shift angle of threading start for multiple-thread cutting.
Omit the argument Q if no shifting of angular position for threading start is required at all
(shift by 0°).
5. See Subsection 5-10-1 on “Constant lead threading” for further details.
5-24
INTERPOLATION FUNCTIONS 5
4. Sample programs
X-axis
20.0
Z-axis
90.0
40.0 50.0
TEP031
G32 G32
G32
TEP032
5-25
5 INTERPOLATION FUNCTIONS
D732S0012
2. Programming format
G34 Xx/Uu Zz/Ww Ff/Ee Kk;
It is the same as the case of straight and taper threading of G32 (see Subsections 5-10-1 and -2)
except an address K.
A value commanded with K gives the increase or decrease of a lead per screw rotation.
Values which K can take are as follows:
Metric input: ±0.00001 to ±999.99999 mm/rev
Inch input: ±0.000001 to ±99.999999 in/rev
3. Notes
1. As a result of the increase or decrease of a lead, when exceeding the range of the
command value of screw lead or when cutting feed gets excessively high, the feed rate is
clamped at the rapid traverse rate.
2. “Feed hold during threading” function is invalid for G34.
5-26
INTERPOLATION FUNCTIONS 5
5-10-5 Threading with C-axis interpolation: G01.1
2. Programming format
G01.1 Zz/Ww Xx/Uu Ff Ss;
Where Zz, Ww, Xx, Uu: Thread ending point addresses and coordinates (mm or in)
Ff: Lead of long axis (axis of which moving distance is the longest)
direction
Ss: Rotational speed of C-axis (min–1)
Set parameter F111 bit 3 to select the direction of C-axis rotation:
F111 bit 3 = 0 : Normal rotation of C-axis
= 1 : Reversed rotation of C-axis
3. Detailed description
1. For tapered thread cutting, specify the lead in the long axis direction.
Scrolled thread
a U
+Z 2
Lead
Tapered
thread Lead
Tapered thread
section
5-27
5 INTERPOLATION FUNCTIONS
4. Sample programs
G98 G97;
G28 U0 W0;
T001001;
G50 X300.Z100.;
M200;
G00 X100.Z2.C0.;
G01.1 W-100.F2.S400;(*)
G00 U10.; Chuck Jaw
W100.C0.;
U-11.;
Workpiece
G01.1 W-100.F2.S400;(*)
G00 U11.;
W100.C0.;
G00 U-12.; +X
G01.1 W-100.F2.S400;(*)
G00 U12.;
+Z
W100.;
G28 U0 W0.;
M202;
M30;
(*) Command for threading with C-axis control, 2 mm lead and 400 min–1
5-28
INTERPOLATION FUNCTIONS 5
5-10-6 Automatic correction of threading start position (for overriding in a threading cycle)
2. Related G-codes
The automatic correction function is applicable to the following G-codes of threading:
Function G-code
Thread cutting (straight, taper) G32
Turning fixed cycle for threading G92
Compound fixed cycle for threading G76
3. Detailed description
1. The automatic correction function is an option.
5-29
5 INTERPOLATION FUNCTIONS
2. Even in the middle of a threading pass, operating the turning/milling spindle speed
overriding keys immediately changes the speed indication in percentages, indeed, but the
actual speed will not accordingly change till completion of the threading block (or a series of
the threading blocks in the case of “continuous threading”).
G00
G00 G00
3. The function for automatic correction of threading start position does not include corre-
sponding adjustment of the acceleration distance for threading. To use an overriding value
above 100%, therefore, specify in the machining program such an acceleration distance as
to allow for the maximum spindle speed.
4. As for the end of thread, the length of the upward cutting path on the workpiece will become
shorter, or greater, for a spindle override value below, or above, 100%.
Root of thread
Changes in the upward cutting path according to the spindle override value
4. Notes
1. This function is not valid for a threading by simultaneous cutting with both (upper and lower)
turrets.
2. This function is not valid for a threading by synchronization of both turning spindles.
3. This function is only valid for a longitudinal threading (by cutting feed on the Z-axis).
4. After changing the spindle override value the execution of a threading block should not be
started until spindle rotation has been stabilized; otherwise the starting section will only be
cut to an incomplete thread.
5. Do not allow a threading block to be executed with the spindle override value set to 0%;
otherwise the machine operation will be stopped at the beginning of that block.
5-30
INTERPOLATION FUNCTIONS 5
2. Programming format
G17 G02 Xx1 Yy1 Zz1 Ii1 Jj1 Pp1 Ff1 ;
Feed rate
(G03) Number of pitches
Arc center coordinates
Linear axis ending point coordinate
Arc ending point coordinates
or
3. Detailed description
z1
l X
X
θ
θs
θe
Y
Y
H734P0001
1. For helical interpolation, movement designation is additionally required for one to two linear
axes not forming the plane for circular interpolation.
2. The velocity in the tangential direction must be designated as the feed rate F.
3. The pitch l is calculated as follows:
z1
l = (2π • p + θ)/2π
1
–1 ye –1 ys
θ = θe – θs = tan – tan (0 ≤ θ < 2π)
xe xs
where (xs, ys): relative coordinates of starting point with respect to the arc center
(xe, ye): relative coordinates of ending point with respect to the arc center
5-31
5 INTERPOLATION FUNCTIONS
4. Sample programs
Example 1:
G28 U0 W0 Y0; X
G50 X0 Z0 Y0;
G17 G03 X100. Y50. Z-50. R50. F1000;
100.
Ending
point
–50.
Z
Starting
point
50.
Y H734P0002
Example 2:
G28 U0 W0 Y0;
X
G50 X0 Z0 Y0;
G17 G03 X100. Y50. Z-50. R50. P2 F1000;
100.
Ending
point
–50. Z
Starting
point
50.
H734P0003
5-32 E
FEED FUNCTIONS 6
6 FEED FUNCTIONS
Note: An alarm (No. 713) will result if a feed rate command is not set for the first cutting
command (G01, G02, G03, G32 or G34) that is read firstly after switching-on.
2. Programming format
G98: Feed per minute (/min) [Asynchronous feed]
G99: Feed per revolution (/rev) [Synchronous feed]
Since the command G99 is modal command, it will remain valid until the command G98 is given.
6-1
6 FEED FUNCTIONS
3. Detailed description
1. Feed rates that can be set using F-codes are listed in the table below.
The table below also lists synchronous feed rates, which are to be set in millimeters (or
inches) per spindle revolution using F-codes.
G98F_ (Feed per minute) G99F_ (Feed per revolution)
Input in mm 1 to 240000 mm/min (F1 to F240000) 0.0001 to 500.0000 mm/rev (F1 to F5000000)
Input in inches 0.01 to 9600.00 in/min (F1 to F960000) 0.000001 to 9.999999 in/rev (F1 to F9999999)
2. The effective feed rate per revolution, that is, the actual moving speed of the machine, can
be calculated as follows:
FC = F × N × OVR (Expression 1)
where FC: Effective feed rate (mm/min or inches/min)
F: Designated feed rate (mm/rev or inches/rev)
N: Spindle speed (min–1)
OVR: Overriding value for cutting feed
If multiple axes are selected at the same time, effective feed rate FC given by expression 1
above will become valid for the corresponding vectorial direction.
4. Remarks
1. An effective feed rate that is expressed in a feed rate per minute (mm/min or inches/min) is
displayed as FEED on the POSITION display.
2. If the effective feed rate is larger than the cutting feed clamping speed, that clamping speed
will become valid.
3. In the dry run mode, feed will become asynchronous and the machine will operate at an
externally preset feed rate (mm/min or inches/min).
4. According to the setting of bit 1 of parameter F93, synchronous or asynchronous feed mode
(G99 or G98) is automatically made valid upon switching-on or by execution of M02 or M30.
6-2
FEED FUNCTIONS 6
Z
P1 (Tool starting point) z
TEP033
When only linear axes are to be controlled, setting of a cutting feed rate itself is only required.
The feed rate for each axis refers to that component of the specified feed rate which cor-
responds with the ratio of movement stroke on the respective axis to the actual movement
distance.
In the example shown above:
x
X-axis feed rate = f ×
x2 + z2
z
Z-axis feed rate = f ×
x + z2
2
6-3
6 FEED FUNCTIONS
TEP034
In this case, the cutting speed in the moving direction of the tool (linear velocity) “fc” is
calculated by:
π•r
fc = f ×
180
Hence, the feed rate to be programmed for the required value fc is:
180
f = fc ×
π•r
Note: If the tool is to be moved by controlling linear axes along the circumference using the
circular interpolation function, the feed rate programmed is the velocity acting in the
moving direction of the tool, that is, in the tangential direction.
Example 2: If linear axes (X- and Z-axes) are to be controlled at a feed rate of f using the
circular interpolation function:
P2
x
“f” denotes this linear velocity.
P1
Z
z k
TEP036
In this case, the X- and Z-axis feed rates will change with the movement of the tool. The
resultant velocity, however, will be kept at the constant value, f.
6-4
FEED FUNCTIONS 6
3. Controlling a linear axis and a rotational axis at the same time
The NC unit controls linear axes and rotational axes in exactly the same manner.
For control of rotational axes, data given as a coordinate word (C or H) is handled as an angle,
and data given as a feed rate (F) is handled as a linear velocity. In other words, an angle of one
degree for a rotational axis is handled as equivalent to a moving distance of 1 mm for a linear
axis. Thus, for simultaneous control of a linear axis and a rotational axis, the magnitudes of the
individual axis components of the data that has been given by F are the same as those existing
during linear axis control described previously in Subparagraph 1. above. In this case, however,
the velocity components during linear axis control remain constant in both magnitude and
direction, whereas those of rotational axis control change in direction according to the movement
of the tool. Therefore, the resulting feed rate in the moving direction of the tool changes as the
tool moves.
Example: If a linear axis (X-axis) and a rotational axis (C-axis) are to be controlled at the same
time at a feed rate of f:
Center of rotation
MEP041
The linear velocity “fc” that relates to C-axis control is expressed as:
π•r
fc = ω • !!!!!!! [3]
180
If the velocity in the moving direction of the tool at starting point P1 is taken as “ft”, and its X- and
Y-axis components as “ftx” and “fty” respectively, then one can express “ftx” and “fty” as follows:
π π
ftx = –r sin (
180
θ) ×
180
ω + fx !!!!!!! [4]
π π
fty = –r cos (
180
θ) ×
180
ω !!!!!!! [5]
where r denotes the distance (in millimeters) from the rotational center to the tool, and q denotes
the angle (in degrees) of starting point P1 to the X-axis at the rotational center.
6-5
6 FEED FUNCTIONS
From expressions [1] through [5] above, the resultant velocity “ft” is:
ft = ftx2 + fty2
x2 – x • c • r sin ( π θ) π + ( π • r • c )2
180 90 180
=f× !!!!!!! [6]
x2 + c2
x2 + c2
f = ft × !!!!!!! [7]
x – x • c • r sin ( π θ) π + ( π • r • c )2
2
180 90 180
In expression [6], “ft” is the velocity at starting point P1 and thus the value of ft changes with that
of θ which changes according to the rotational angle of the C-axis. To keep cutting speed “ft” as
constant as possible, the rotational angle of the C-axis in one block must be minimized to ensure
a minimum rate of change of θ.
6-6
FEED FUNCTIONS 6
f f
Continuous Continuous
command command
TR TR t t
Td Tc Tc
TEP037
During rapid traverse and manual feed, the following block is executed after the command pulse
of the current block has become “0” and the tracking error of the acceleration/deceleration circuit
has become “0”. During cutting feed, the following block is executed as soon as the command
pulse of the current block becomes “0” and also the following block can be executed when an
external signal (error detection) can detect that the tracking error of the acceleration/deceleration
circuit has reached “0”. When the in-position check has been made valid (selected by machine
parameter) during the deceleration check, it is first confirmed that the tracking error of the
acceleration/deceleration circuit has reached “0”, then it is checked that the position deviation is
less than the parameter setting, and finally the following block is executed.
6-7
6 FEED FUNCTIONS
2. Programming format
G09 G01 (G02, G03) ;
Exact-stop check command G09 is valid only for the cutting command code (G01, G02, or G03)
that has been set in that block.
3. Sample program
N001 G09 G01 X100.000 F150; The next block is executed after an in-position status
check following machine deceleration and stop.
N002 Z100.000 ;
f (Selected feedrate)
Tool
X-axis
With G09
N001 available
N001
Time Without G09 N002
Z-axis
N002
The solid line indicates a feedrate pattern with the G09 available.
The dotted line indicates a feedrate pattern without the G09.
TEP038
6-8
FEED FUNCTIONS 6
4. Detailed description
Lc
Ts Ts
Ts: Cutting feed acceleration/deceleration
time constant
Lc: In-position width
TEP040
Fig. 6-3 Block-to-block connection in cutting feed in-position status check mode
As shown in Fig. 6-3, in-position width Lc represents the remaining distance within the block
immediately preceding the next block to be executed.
The in-position width helps keep any
rounding of workpieces during corner
cutting within a fixed level.
Lc Next block
If rounding of workpieces at corners is to
be completely suppressed, include dwell
command G04 between cutting blocks.
Preceding block
TEP041
6-9
6 FEED FUNCTIONS
Ts
Ts : Acceliration/deceleration time constant
Td Td : Deceleration check time
Td = Ts + (0 to 14 ms)
TEP042
Ts
Ts : Acceleration/deceleration time
Td constant
Td : Deceleration check time
Td = 2 × Ts + (0 to 14 ms)
TEP043
2 × Ts
Td Ts
Ts : Acceleration/deceleration time
constant
Td : Deceleration check time
Td = 2 × Ts + (0 to 14 ms)
TEP044
The time required for the deceleration check during cutting feed is the longest among the cutting
feed deceleration check times of each axis determined by the cutting feed accele-
ration/deceleration time constants and by the cutting feed acceleration/ deceleration mode of the
axes commanded simultaneously.
6-10
FEED FUNCTIONS 6
2. Programming format
G61;
2. Programming format
G62 ;
3. Detailed description
A. Inner-corner cutting
When inner corner of a workpiece is cut as shown in the figure below, the load on the tool
increases because of large amount of cutting. Using G62 in such a case allows the cutting feed
rate to be automatically overriden within the preset zone, and thus the tool load to be reduced to
accomplish appropriate cutting.
This function, however, is valid only for programming the as-finished shape of a workpiece.
Programmed path
(Finishing contour)
θ Cutting amount
Workpiece
S Workpiece surface shape
[3]
[1] [2]
Tool center path
Cutting
amount
Ci
Tool
θ : Inner-corner maximum angle
Ci : Deceleration zone (IN)
MEP046
6-11
6 FEED FUNCTIONS
<Machine operation>
- When the automatic corner override function is not used:
In the figure above, as the tool is moving in order of positions [1]→[2]→[3], the load on the tool
increases because the cutting amount at position [3] is larger than that of position [2] by the
area of hatched section S.
- When the automatic corner override function is used:
In the figure above, if maximum angle q of the inner corners is smaller than that preset in the
appropriate parameter, the feed rate is automatically overriden with the preset value for
movement through deceleration zone Ci.
<Setting parameters>
Set the following parameters as user parameters:
- E22: Override......................................... 0 to 100 (%)
- F21: Inner-corner maximum angle θ...... 0 to 180 (deg)
- F22: Deceleration zone Ci data ............. 0 to 99999.999 (mm) or to 3937.000 (inches)
For further details of parameter setting, refer to the description in the Parameter list.
Workpiece
surface shape
Cutting amount
TEP046
For inner corner cutting with automatic corner rounding, override will be effected as set in
parameter through the deceleration zone Ci and corner rounding section (No check made about
angle).
6-12
FEED FUNCTIONS 6
4. Operation examples
- Line-to-line corner
Programmed path
θ
Tool center path
Ci
Tool
MEP047
The feed rate is automatically overridden with the preset value by the parameter E22 through
deceleration zone Ci.
- Line-to-circular (outside offsetting) corner
Programmed
path
Tool center
path
θ
Ci
Tool
MEP048
The feed rate is automatically overridden with the preset value by the parameter E22 through
deceleration zone Ci.
- Arc(internal compensation)-to-line corner
Programmed path θ
Ci
Tool center path
Tool
Tool
MEP049
The feed rate is automatically overridden with the preset value by the parameter E22 through
deceleration zone Ci.
Note: Data of deceleration zone Ci at which automatic overriding occurs represents the
length of the arc for a circular interpolation command.
6-13
6 FEED FUNCTIONS
N2
N1 θ
Programmed path
Ci
Tool center path
MEP050
The feed rate is automatically overridden with the preset value by the parameter E22 through
deceleration zone Ci.
6. Precautions
1. Automatic corner override is valid only during the G01, G02 or G03 modes; it is invalid
during the G00 mode. Also, when the command mode is changed over from G00 to G01,
G02, or G03 (or vice versa) at a corner, automatic corner override is not performed on the
G00-containing block at that corner.
2. Even in the automatic corner override mode, automatic corner override is not performed
until the tool radius compensation mode has been set.
6-14
FEED FUNCTIONS 6
3. Automatic corner override does not occur at corners where tool radius compensation is to
start or to be cancelled.
TEP051
4. Automatic corner override does not occur at corners where I, J and K vector commands for
tool radius compensation are to be executed.
Programmed path
TEP052
5. Automatic corner override occurs only when crossing points can be calculated. Crossing
points can not be calculated in the following case:
- Four or more blocks that do not include move command appear in succession.
6. For circular interpolation, the deceleration zone is represented as the length of the arc.
7. The parameter-set angle of an inner corner is applied to the angle existing on the
programmed path.
8. Setting the maximum angle to 0 or 180 degrees in the angle parameter results in an
automatic corner override failure.
9. Setting the override to 0 or 100 in the override parameter results in an automatic corner
override failure.
6-15
6 FEED FUNCTIONS
2. Programming format
G63 ;
2. Programming format
G64 ;
6-16 E
DWELL FUNCTIONS 7
7 DWELL FUNCTIONS
The start of execution of the next block can be delayed using a G04 command.
2. Programming format
G98 G04 X/U_;
or
G98 G04 P_;
Data must be set in 0.001 seconds.
For address P, the decimal point is not available. Setting a decimal point will cause an alarm.
3. Detailed description
1. The setting range for dwell time is as follows:
2. The count for the dwell command which is preceded by a block with cutting-feed command
is not started until the movement of the preceding block has been brought to a complete
stop.
Cutting command in
the preceding block
Next block
Dwell command
Dwell time
TEP053
If the dwell command is given in one block together with an M-, S-, T- or B-code, the dwell
count and the execution of the respective code will be started at the same time.
3. If the bit 2 of parameter F92 is set to 1, dwell command value is always processed in time
specification irrespective of G98 and G99 modes.
7-1
7 DWELL FUNCTIONS
4. Sample programs
- When data is to be set in 0.01 mm, 0.001 mm or 0.0001 inches:
G04 X 500 ;..........................................Dwell time = 0.5 s
G04 X 5000 ;........................................Dwell time = 5.0 s
G04 X 5. ;.............................................Dwell time = 5.0 s
G04 P 5000 ;........................................Dwell time = 5.0 s
G04 P 12.345 ; ....................................Alarm
- When data is to be set in 0.0001 inches and dwell time is included before G04:
X5. G04 ;..............................................Dwell time = 50 s (Equivalent to X50000G04.)
2. Programming format
G99 G04 X/U_ ;
or
G99 G04 P_ ;
Data must be set in 0.001 revolutions.
For address P, the decimal point is not available. Setting a decimal point will cause an alarm.
3. Detailed description
1. The setting range for number of dwell revolutions is as follows:
2. The count for the dwell command which is preceded by a block with cutting-feed command
is not started until the movement of the preceding block has been brought to a complete
stop.
Next block
Dwell command
If the dwell command is given in one block together with an M-, S-, T- or B-code, the dwell
count and the execution of the respective code will be started at the same time.
7-2
DWELL FUNCTIONS 7
3. The dwell function is also valid during the machine lock mode.
4. During rest of the spindle, dwell count is also halted. When the spindle restarts rotating,
dwell count will also restart.
5. If the bit 2 of parameter F92 is set to 1, dwell command value is alway processed in time
specification.
6. This function cannot be used unless the position detecting encoder is provided to the
spindle.
7-3
7 DWELL FUNCTIONS
- NOTE -
7-4 E
MISCELLANEOUS FUNCTIONS 8
8 MISCELLANEOUS FUNCTIONS
8-1
8 MISCELLANEOUS FUNCTIONS
Automatic resetting by this command cancels both modal commands and offsetting data,
but the designated-position display counter is not cleared to zero.
The NC unit will stop operating when tape rewinding is completed (the automatic run mode
lamp goes out). To restart the NC unit, the cycle start button must be pressed.
Beware that if, during the restart of the NC unit following completion of M02 or M30
execution, the first movement command has been set in a coordinate word only, the valid
mode will be the interpolation mode existing when the program ended. It is recommended,
therefore, that the first movement command be given with an appropriate G-code.
4. Subprogram Call/End: M98, M99
Use M98 or M99 to branch the control into a subprogram or to recall it back to the calling
program.
As M99 and M99 are internaly processed by the NC M-code signals ans strobe signals are
not output.
<Internal processing by the NC unit when M00, M01, M02 or M30 is used>
After M00, M01, M02 or M30 has been read, data pre-reading is automatically aborted. Other
tape rewinding operations and the initialization of modals by resetting differ according to the
machine specification.
Note 1: M00, M01, M02 and M30 output independent signals, which will be cancelled by
pressing the RESET key.
Note 2: Tape rewinding is performed only when the tape reader has a rewinding function.
Additional axis
A B C
No. 2 miscellaneous functions
A × ! !
B ! × ○
C ! ! ×
Note: When A has been designated as the No. 2 miscellaneous function address, linear
angle commands cannot be used.
8-2 E
SPINDLE FUNCTIONS 9
9 SPINDLE FUNCTIONS
2. Programming format
G96 Ss Pp Rr; ..... Constant surface speed control ON
s: Surface speed
p: Axis for constant surface speed control
r: Spindle for constant surface speed control
G97; ..................... Constant surface speed control OFF
3. Detailed description
1. Axis for constant surface speed control is to be set by address P.
P1: First axis
P2: Second axis
X-axis (the first axis) is automatically selected if argument P is omitted.
9-1
9 SPINDLE FUNCTIONS
Turret
D740PB0011
4. Remarks
1. The initial modal state (G96 or G97) can be selecyed by parameter F93 bit 0.
F93 bit 0 = 0: G97 (Constant surface speed control OFF)
= 1: G96 (Constant surface speed control ON)
2. The function is not effective for blocks of rapid motion (G00).
The spindle speed calculated for the surface speed at the ending point is applied to the
entire motion of a block of G00.
3. The last value of S in the control mode of G96 is stored during cancellation of the control
(G97) and automatically made valid upon resumption of the control mode (G96).
Example: G96 S50; 50 m/min or 50 ft/min
G97 S1000; 1000 min–1
G96 X3000; 50 m/min or 50 ft/min
4. The constant surface speed control is effective even during machine lock.
5. Cancellation of the control mode (G96) by a command of G97 without specification of S
(revs/min) retains the spindle speed which has resulted at the end of the last spindle control
in the G96 mode.
Example: G97 S800; 800 min–1
G96 S100; 100 m/min or 100 ft/min
G97; x min–1
The speed x denotes the spindle speed of G96 mode at the end of the pre-
ceding block.
6. The constant surface speed control does not apply to the milling spindle.
9-2
SPINDLE FUNCTIONS 9
9-3 Spindle Speed Range Setting: G50
2. Programming format
G50 Ss Qq Rr;
s: Maximum spindle speed
q: Minimum spindle speed
r: Spindle for speed clamping
3. Detailed description
1. For gear change between the spindle and spindle motor, four steps of gear range can be set
by the related parameters in steps of 1 min–1. In range defined by two ways, parameter
setting and G50 SsQq setting, the smaller data will be used for the upper limit and the larger
data for the lower limit.
2. Spindle for speed clamping is to be set by address R.
R1: Turning spindle (see the figure below)
R2: Turning spindle (see the figure below)
Turret
D740PB0011
Note: The default value is “R1” (automatically set if argument R is omitted). Give another
command of G50 with argument R2 (G50S_R2) as required to prevent the speed of
turning spindle 2 from being raised up to the highest value in accordance with the
machine specification concerned.
9-3
9 SPINDLE FUNCTIONS
- NOTE -
9-4 E
TOOL FUNCTIONS 10
10 TOOL FUNCTIONS
Use two digits after the decimal point as follows to designate the tool ID code with reference to
the settings on the TOOL DATA display:
<Normal tools>
ID code w/o A B C D E F G H J K L M
◇◇ 00 01 02 03 04 05 06 07 08 09 11 12 13
ID code N P Q R S T U V W X Y Z
◇◇ 14 15 16 17 18 19 21 22 23 24 25 26
<Heavy tools>
ID code A B C D E F G H J K L M
◇◇ 61 62 63 64 65 66 67 68 69 71 72 73
ID code N P Q R S T U V W X Y Z
◇◇ 74 75 76 77 78 79 81 82 83 84 85 86
Only one T-code can be included in a block, and the available range of T-codes depends on the
machine specifications. For further details, especially on how to number the actual tools to be
used, refer to the operating manual of the relevant machine.
The T-code can be given with any other commands in one block, and the T-code given together
with an axis motion command is executed, depending upon the machine specifications, in one of
the following two timings:
- The T-code is not executed till completion of the motion command, or
- The T-code is executed simultaneously with the motion command.
10-1
10 TOOL FUNCTIONS
10-2 E
TOOL OFFSET FUNCTIONS 11
11 TOOL OFFSET FUNCTIONS
1. Outline
Tool offset must be set with the lower two or three digits of a four-digit or six-digit number
following address T (where the higher two or three digits are used to designate the tool number).
Whether the offset number is set by lower two or three digits is selected by parameter F162 bit 4.
One set of T command can be included in the same block.
The tool offset amount differs according to the combination of G53.5/G52.5 (MAZATROL
coordinate system selection/cancel) and parameter F111 bit 5 (MAZATROL tool wear compen-
sation data valid/invalid) as in the following table.
Program G53.5 (MAZATROL coordinate system) G52.5 (Cancellation of MAZATROL coord. sys.)
[1] - Tool of TNo. 1 [1] - Tool of TNo. 1 [1] - Tool of TNo. 1 [1] - Tool of TNo. 1
indexed indexed indexed indexed
- TOOL SET data (on - TOOL SET and
F111 bit 5 = 1 the TOOL DATA WEAR COMP. data
(Validation of display) of TNo. 1 (on the TOOL
MAZATROL tool validated DATA display) of
wear comp. data) TNo. 1 validated
[2] - Tool offset cancel [2]’ - Data of No. 1 on the [2] - Tool offset cancel [2]’ - Data of No. 1 on
TOOL OFFSET dis- the TOOL OFFSET
play validated display validated
[1] - Tool of TNo. 1
indexed
11-1
11 TOOL OFFSET FUNCTIONS
Programmed path
TEP054
Note 1: The movement when offsetting with the T command is rapid feed in a G00 modal and
cutting feed with other modals.
Note 2: When performing offset in T command execution, the path is made by linear
interpolation in an arc modal.
Note 3: When performing offset in T command execution, offset will not function until the arrival
of any command G except those listed below when the T command is included in the
same block as those commands G.
G04: Dwell
G10: Data setting
G50: Coordinate system setting
Offset amount
N1 Programmed path
TEP055
Note: When performing offset with a move command, offset is applied if the offset amount is
lower than the parameter value of “tolerance for radial value difference at starting and
ending points in arc command” when offset is performed for the first time with an arc
command. If the amount is higher, a program error will occur. (This also applies when
the arc command and T command are in the same block for offsetting with T
command.)
11-2
TOOL OFFSET FUNCTIONS 11
Reference position
(reference point)
Reference tool
Reference tool
Tool used for machining
TEP057
11-3
11 TOOL OFFSET FUNCTIONS
N3 G1 X10.0 Z20.0; N1
N3
In this case, offset is performed by the block
with the move command.
Offset
amount
Programmed path
TEP059
N3 G1 X10.0 Z20.0; N1
N3
In this case, offset is performed by the block
with the move command.
Offset
amount
Programmed path
TEP060
4. Remarks
- When G28, G29 or G30 is commanded, the movement is performed to the position where
offset is cancelled. But as offset amount remains stored in the memory, the positioning for the
succeeding move command is executed with the offset operation.
- The tool position offset is cleared by resetting and by emergency stop.
11-4
TOOL OFFSET FUNCTIONS 11
11-3-1 Outline
Machining shape
commanded in program Hypothetical tool nose point Nose R
TEP061
2. Programming format
11-5
11 TOOL OFFSET FUNCTIONS
3. Detailed description
1. G40 serves to cancel the tool nose radius compensation mode.
2. Tool nose radius compensation function prereads the data in the following two move
command blocks (up to 5 blocks when there are no move function commands) and controls
the tool nose radius center path by the intersection point calculation method so that it is
offset from the programmed path by an amount equivalent to the nose radius.
N3
TEP063
In the above figure, “r” is the tool nose radius compensation amount (nose radius).
3. The tool nose radius compensation amount corresponds to the tool length number and it
should be preset with the tool nose point.
4. If four or more blocks without move commands exist in five continuous blocks, overcutting or
undercutting will result. However, blocks in which optional block skip is valid are ignored.
5. Tool nose radius compensation function is also valid for fixed cycles (G77 to G79) and for
roughing cycles (G70, G71, G72 and G73).
However, in the roughing cycles, the tool nose radius compensation function applied for
finish shape is cancelled and upon completion of the roughing, NC unit will re-enter the
compensation mode.
6. With threading commands, compensation is temporarily cancelled in one block before.
7. The compensation plane, move axes and next advance direction vector follow the plane
selection command designated by G17, G18 or G19.
G17............... XY-plane X, Y, I, J
G18............... ZX-plane Z, X, K, I
G19............... YZ-plane Y, Z, J, K
11-6
TOOL OFFSET FUNCTIONS 11
11-3-2 Tool nose point and compensation directions
2 6 1
4 3 8
0, 9
7 5 P 5 7
+X P
Tool nose point 1 2 6
3 4
8 0 or 9
A. When the nose radius center has been aligned with the machining start position
G42
r
B. When the tool nose point has been aligned with the machining start position
G40
Machining shape without nose
radius compensation
G42 or G46
Tool nose point path with nose
radius compensation
+Z
11-7
11 TOOL OFFSET FUNCTIONS
Blocks executed
T_; S_; G00_; G41_; G01_; G02_;
TEP068
11-8
TOOL OFFSET FUNCTIONS 11
3. Start operation for nose radius/tool radius compensation
In the following figures, “s” denotes the single block stop point.
θ Programmed path θ
r Programmed path
r = Tool nose radius
θ Programmed path θ
G41 G41
s Arc center
Tool nose radius center path
r
s
θ Programmed path
r
r
Programmed path
G41
r θ
Tool nose radius
center path
Starting point G41
Note: When there is no axis move command in the same block, compensation is performed
perpendicularly to the movement direction of the next block direction.
11-9
11 TOOL OFFSET FUNCTIONS
11-10
TOOL OFFSET FUNCTIONS 11
A. For the corner exterior
Linear → linear (90° ≤ θ < 180°) Linear → linear (0° < θ < 90°)
Linear → arc (90° ≤ θ < 180°) Tool nose radius center path
r
θ
s
Programmed path
θ
Programmed path r
r
r
Arc center
Arc center
Arc → Linear (0° < θ < 90°) Arc → Linear (90° ≤ θ < 180°)
r θ
r Arc center
Tool nose radius r
center path Tool nose radius r
center path
s s
Point of
intersection
Arc → arc (90° ≤ θ < 180°) Arc → arc (0° < θ < 90°)
Arc center
Programmed path
Programmed path
θ θ
11-11
11 TOOL OFFSET FUNCTIONS
θ
θ
Programmed path Programmed path
r
r
s s
Tool nose radius center path r Tool nose radius
Point of
intersection center path
θ
θ
Programmed path Arc center
Programmed path
r
s s
Tool nose radius Tool nose radius center path
Point of
center path
intersection Point of r
r
intersection
Arc center
θ Arc center
θ
Programmed path
Programmed path
s
s Tool nose radius center path
r Point of Tool nose radius
Point of
intersection r center path
intersection
Arc center
Programmed
path Arc center
Arc center Arc center
s
11-12
TOOL OFFSET FUNCTIONS 11
C. For the arc on which the ending point is not found
If the error applied after compensation is within the “arc error” set by parameter, the area from
the arc starting point to the ending point is interpolated as a spiral arc.
Programmed path
Ending point of arc
s
r
R
Arc center
TEP074
r
Programmed path
A B Tool path can be normally
drawn through the calculated
intersection point.
TEP075
11-13
11 TOOL OFFSET FUNCTIONS
θ Programmed path θ
r Programmed path
r = Tool nose radius
TEP076
θ G40 θ
G40
Programmed path s
r θ Programmed path
r
G40
r θ
Tool nose radius
center path
Ending point G40
11-14
TOOL OFFSET FUNCTIONS 11
11-3-4 Other operations during nose radius/tool radius compensation
The compensation direction can be changed by changing the compensation command without
commanding compensation cancel in the compensation mode. However, no change is possible
in the compensation start block and the following block.
Linear → Linear
r
Arc → Linear
r
r
Programmed path
r r
11-15
11 TOOL OFFSET FUNCTIONS
Linear return
G41
Tool nose radius center path
G42
r
Programmed path
TEP080
In the following cases, it is possible that the arc may exceed 360°.
- Compensation direction is changed by the selection of G41 or G42.
- I, J, K are commanded with G40.
In such cases, compensation is provided as shown above and a section will be left uncut.
G42
Programmed
path
Tool nose radius
center path
G41
G42
G01 (G42)
Left G01 (G41)
G41
(G42)
given G41
G01
G01
G01
G01
(G41)
(G42)
Right
TEP084’
11-16
TOOL OFFSET FUNCTIONS 11
3. Command for temporarily canceling offset vectors
When the following command is set in the compensation mode, the current offset vectors are lost
temporarily and then the NC unit will re-enter the compensation mode.
In this case, the compensation is not cancelled, and the program control will be transferred from
one intersection point vector directly to the vectorless point, that is, to the programmed point.
Control will also be transferred directly to the next intersection point when the offset mode is re-
entered.
X
s s
Z
s
Intermediate point
N5 N6 N7 N8
(G41) M
N5 G01 U+30. W+60.;
N6 G28 U-40. W+50.; ← Temporarily vector 0 as compensation at intermediate
N7 U-60. W+30.; point (Reference point when the intermediate point is
N8 U+40. W+70.; not available)
M
TEP083
Note: The offset vectors do not change with the coordinate system setting command G52.
G32
Point of intersection
r
Programmed path
TEP084
11-17
11 TOOL OFFSET FUNCTIONS
A. When a block that does not include movement is set during the start of compensation
Vertical compensation will be performed on the next move block.
N1 U60.W30.T0101;
N2 G41; Move-free block N2
N3 U-50.W20.;
N4 U-20.W50.; N3
N1
N4
X
TEP085
Compensation vectors, however, will not be generated if four or more blocks that do not include
move commands appear in succession.
N1 U60.W30.T0101;
N2 G41;
N2 to N6
N3 G4 X1000;
N4 F100; Move-free block
N7
N5 S500;
N6 M3; (Point of intersection)
N1
N7 U-50.W20.;
X N8
N8 U-20.W50.;
TEP086
11-18
TOOL OFFSET FUNCTIONS 11
N1 T0101; N3 to N6
N2 G41 U60.W30.;
N3 G4 X1000; N7
N4 F100; Move-free block
N5 S500; N2 (Point of intersection)
N6 M3; N8
X
N7 U-50.W20.;
N8 U-20.W50.;
TEP086
B. When a block that does not include movement is set during the compensation mode
Usual intersection point vectors will be generated unless four or more blocks that do not include
movement appear in succession.
N6 U200.W100.;
N7 G04 X1000; Move-free block N7 N8
N8 W200.;
N6 N8
Block N7 is executed
N6 here
TEP087
Vertical compensation vectors will be generated at the end point of preceding block if four or
more blocks that do not include movement appear in succession.
N6 U200.W100.;
N11
N7 G4 X1000;
N8 F100;
Move-free block
N9 S500;
N10 M4; N6 N11
N11 W100.;
N7 to N10
In this case, excessive cutting may occur. N6
TEP089
11-19
11 TOOL OFFSET FUNCTIONS
C. When a block that does not include movement is set together with compensation
cancellation
Only offset vectors will be cancelled if the block that does not include movement contains G40.
X
N6 U200.W100.;
N7 G40 G04 P1000;
N8 U50.W100.; N8
Z
N7
N6
TEP089
N2
(i, k)
Tool nose radius
center path A
r
G41 r
N1
Programmed path
N1 (G41) G1 Z_;
N2 G40 Xa Zb li Kk;
TEP090
In this case, pay attention that, irrespective of the compensation direction, the coordinates of the
intersection point will be calculated even if wrong vectors are set as shown in the diagram below.
11-20
TOOL OFFSET FUNCTIONS 11
(a, b)
N2
Tool nose radius
center path
A
G41 r
N1
Programmed path Where I and K in the sample
r program shown above have
wrong signs
(i, k)
Virtual tool nose radius center path
TEP091
Also, pay attention that a vertical vector will be generated on the block before that of G40 if the
compensation vector cannot be obtained by intersection point calculation.
(a, b)
G40
X Tool nose radius
center path
A
G41
r
Programmed path
Z
(i, k) r
TEP092
Note: Part of the workpiece will be left uncut if the I/J/K command data in G40 preceded by
an arc command generates an arc of more than 360 degrees.
N2
(i, j)
r
N1
Programmed path
r
Tool nose radius
center path G42 G40
N3
TEP093
11-21
11 TOOL OFFSET FUNCTIONS
6. Corner movement
If multiple offset vectors are generated at connections between move command blocks, the tool
will move linearly between those vectors. This action is referred to as corner movement.
If the multiple vectors do not agree, the tool will move around the corresponding corners (but this
movement belongs to the connection block). During single-block operation, the section of
(Preceding block + Corner movement) is executed as one block and the remaining section of
(Remaining corner movement + Next block) is executed during next movement as another block.
N1
Programmed path
N2
θ
r
Tool nose radius center path r Arc center
1. Programming format
G18 (Z-X plane) G41/G42 X_ Z_ I_ K_ ;
Set a linear interpolation command (G00, G01) as move command.
11-22
TOOL OFFSET FUNCTIONS 11
A. When I, K is commanded at compensation start:
X (G40)
N110
N120 M
N130
N140 N150 N100 G41 U100.W100.K150.T0101;
Z N110 G04 X1000;
N120 G01 F1000;
D1
N100 N130 S500;
N140 M03;
N150 Z150.;
M
Programmed path
Tool nose radius center path
TEP095
N3
Z
(G40)
N2 M
N1 G41 K150.T0101;
N2 U100.W100.;
N3 W150.;
D1 N1 M
TEP096
B. When I, K has been commanded in the tool nose radius compensation mode (G18 plane)
M
(I, K) (G18 G41)
N110 N100 G41 G00 W150.I50.;
[2]
N100 D1 N110 G02 W100.K50.;
N120 G00 W150.;
[1] (N120) M
X
11-23
11 TOOL OFFSET FUNCTIONS
N3 N4
Z
N2 N5
(I, K)
A. In G41 mode
Direction produced by rotating the direction commanded by I, K vector through 90° to the left as
seen from the forward direction of the Y-axis (third axis) to the zero point.
I, K direction
Offset vector direction (0, –100)
B. In G42 mode
Direction produced by rotating the direction commanded by I, K vector through 90° to the right as
seen from the forward direction of the Y-axis (third axis) to the zero point
11-24
TOOL OFFSET FUNCTIONS 11
4. Selection of offset modal
The G41 or G42 modal can be selected at any time.
N1 G28 X0Z0;
X N2 G41 T0101 F1000;
N3 G01 U100.W100.;
N4 G42 W100.I-100.K100.T0102;
Z N5 U-100.W100.;
(I, K) N6 G40;
N7 M02;
N4 %
N3 D2
N2
D1 N5
N6
TEP101
T1 (A) T1
(G41 T0101)
(I, K)
M
X N100
N100 G41 W150.K50.;
N110 N110 U-100.W100.;
M
Z
TEP102
Vector (A) is the offset stroke entered in tool offset number modal 1 in the N100 block.
(B) T2
T1
(I, K)
X N200
(G41 T0101)
N210
M
N200 G41 W150.K50.T0102;
Z
N210 U-100.W100.;
M
TEP103
Vector (B) is the offset stroke entered in tool offset number modal 2 in the N200 block.
11-25
11 TOOL OFFSET FUNCTIONS
6. Notes
- Set the I, K type vector in a linear interpolation mode (G0, G1). If it is set in an arc interpolation
mode at the start of compensation, program error will result.
An I, K designation in an arc interpolation during the compensation mode functions as an arc
center designation.
- When the I, K type vector has been designated, it is not deleted (avoidance of interference)
even if there is interference. Consequently, overcutting may occur in such a case.
N1 G28 X0 Z0;
N2 G41 T0101 F1000;
Z
N3 W100.;
N3 N4 N4 G41 U-100.W100.K10.;
N5 N6 N5 U100.W100.;
N2
N6 G40;
N7 M02;
Overcutting
(I, K)
TEP104
7. Supplementary notes
Refer to the following table for the compensation methods based on the presence and/or
absence of the G41 and G42 commands and I, K (J) command data.
11-26
TOOL OFFSET FUNCTIONS 11
11-3-6 Interruptions during nose radius/tool radius compensation
1. Interruption by MDI
Nose radius/tool radius compensation is valid during automatic operation, whether it is based on
the tape, memory, or MDI operation mode.
The following diagrams show what will occur if tape or memory operation is interrupted using the
MDI function following termination of the program at a block:
N1 G41 T0101;
N2 U50.W20.; MDI interruption
Z N2
N3
TEP105
N1 G41 T0101; s
N2 U50.W20.; MDI interruption
N2
N3
N1 G40 T0101; s
N2 N3
TEP106
11-27
11 TOOL OFFSET FUNCTIONS
2. Manual interruption
Interruption
Tool path after compensation
Programmed path
TEP107
Interruption Interruption
TEP108
11-28
TOOL OFFSET FUNCTIONS 11
11-3-7 General precautions on nose radius/tool radius compensation
11-29
11 TOOL OFFSET FUNCTIONS
1. Overview
Even a tool whose nose radius has been compensated by usual tool nose R compensation
based on two-block prereading may move into the workpiece to cut it. This status is referred to
as interference, and a function for the prevention of such interference is referred to as inter-
ference check.
The following two types of interference check are provided and their selection is to be made
using the parameter.
Example:
Interference
(G41) prevention path
Full circle for the radius
N1 G1 X-100. Z50.; of the tool nose
N2 X-100. Z70.;
N3 X0. Z120.;
N1 N3
N2
Z
Cutting by N2 Cutting by N2
TEP109
11-30
TOOL OFFSET FUNCTIONS 11
2. Operation during interference prevention
Programmed path
N3
N2
N1
Programmed path
N3
N2
Arc center
N1 r
TEP110
In the case of the figure below, the groove will be left uncut.
Intererence
prevention path
Tool nose radius
center path
Programmed path
TEP111
11-31
11 TOOL OFFSET FUNCTIONS
3. Interference check/alarm
Cases that an interference check/alarm occurs are listed below.
N1
1
N2
2, 3
N3
4
TEP112
Alarm stop
N1 2 3
1 4
N4
N3
N2
TEP113
At this time, a program error will occur at the ending point of N1.
11-32
TOOL OFFSET FUNCTIONS 11
- For the diagram shown below, the direction of movement becomes opposite at N2.
At this time, a program error will occur before execution of N1.
1, 2, 3, 4
N1 N4
N2 N3
TEP114
N1 N1
N2 N2
N4
θ
N4 N3
θ: Intersection angle
N3
TEP115
- Prevention vectors may not be generated when preread prohibit blocks are interfered with
and so program error occurs.
(G41)
M
N10 G01 N10
Zz1;
N20 Xx1;
N30 M02 N20
M
TEP116
11-33
11 TOOL OFFSET FUNCTIONS
3. When the after compensating moving direction of the tool is opposite to that of the program:
- For a program for the machining of parallel or downwardly extending grooves narrower
than the tool diameter, interference may be regarded as occurring even if it is not actually
occurring.
TEP117
11-34
TOOL OFFSET FUNCTIONS 11
2. Programming formats
Metric Inch
Linear axis ±99999.9999 mm ±9999.99999 in
Rotational axis ±99999.9999° ±99999.9999°
11-35
11 TOOL OFFSET FUNCTIONS
Metric Inch
TOOL OFFSET Type A ±1999.9999 mm ±84.50000 in
TOOL OFFSET Type B Length Geom. ±1999.9999 mm ±84.50000 in
TOOL OFFSET Type B Length Wear ±99.9999 mm ±9.99999 in
TOOL OFFSET Type B Radius Geom. ±999.9999 mm ±84.50000 in
TOOL OFFSET Type B Radius Wear ±9.9999 mm ±0.99999 in
TOOL OFFSET Type C Geom. XYZ ±1999.9999 mm ±84.50000 in
TOOL OFFSET Type C Geom. Nose R ±999.9999 mm ±84.50000 in
TOOL OFFSET Type C Wear XYZ ±99.9999 mm ±9.99999 in
TOOL OFFSET Type C Wear Nose R ±9.9999 mm ±0.99999 in
TOOL OFFSET Type C Direction 0-9 0-9
11-36
TOOL OFFSET FUNCTIONS 11
C. Programming parameter data
G10 L50................ Parameter input mode ON
N_P_R_
N_R_
G11 ...................... Parameter input mode OFF
N: Parameter number
P: Axis number (for axis type parameter)
R: Data of parameter
Specify the parameters with address N as indicated below:
Note: As for the setting ranges of parameter data, refer to the separate Parameter List/Alarm
List/M-code List.
11-37
11 TOOL OFFSET FUNCTIONS
3. Detailed description
11-38
TOOL OFFSET FUNCTIONS 11
B. Tool offset data input
1. The G10 command is not associated with movement. However, do not use this command in
the same block with a G-code command other than: G21, G22, G54 to G59.
2. Do not use the G10 command in the same block with a fixed cycle command or a sub-
program call command. This will cause a malfunctioning or a program error.
3. Offset data (R) without a decimal point can be entered in the range from –999999 to
+999999 for geometric offset, or in the range from –99999 to +99999 for wear
compensation. The data settings at that time depend upon the data input unit.
Example: G10 L10 P1 R1000
The above command sets the following data:
Metric system 1.
Metric system (up to 4 dec. places) 0.1
Inch system 0.1
Inch system (up to 5 dec. places) 0.01
4. The offset data updated by a G10 command are not indicated as they are on the TOOL
OFFSET display until that display has been selected anew.
5. Setting an illegal L-code value causes an alarm.
6. A command of “G10 P_ R_” without an L-code is also available for tool offset data input.
7. Setting an illegal P-code value causes an alarm.
8. Setting an illegal offset value (R) causes an alarm.
9. The G10 command is invalid (or skipped) during tool path check.
11-39
11 TOOL OFFSET FUNCTIONS
7. Some specific bit-type parameters require selection of one of multiple bits. For the
parameter shown as an example below, set data that turns on only one of bits 2 to 5.
Example: Parameter K107
bit 7 6 5 4 3 2 1 0
Setting “1” for bits 2 and 3, for example, could not make valid a speed filter of 21.3 ms (= 7.1 + 14.2).
8. The parameter data updated by a G10 L50 command are not made valid till the execution of
a G11 command.
9. The parameter data updated by a G10 L50 command are not indicated as they are on the
PARAMETER display until that display has been selected anew.
10. Setting an illegal L-code value causes an alarm.
11. Setting an illegal N-code value (parameter No.) causes an alarm.
12. Omission of P-code for an axis type parameter causes an alarm.
13. Setting an illegal parameter value with address R causes an alarm.
14. The G10 command is invalid (or skipped) during tool path check.
15. As for parameters (BA and SU) with separate values for each system, a G10 command is
only effective for the values of the system to which the current program section belongs.
4. Sample programs
11-40
TOOL OFFSET FUNCTIONS 11
B. Updating the workpiece coordinate system offset data
Assume that the previous workpiece coordinate system offset data is as follows:
X = –10.000 Y = –10.000
M
N100 G00 G90 G54 X0 Y0
N101 G10 L2 P1 X–15.000 Y–15.000
N102 X0 Y0
M
M02
–20. –10. M
–X
Fundamental machine
coordinate system zero point
N100
Coordinate system of G54
before change
–X –10.
N101
(W1)
Coordinate system of
N102
G54 after change
–X
W1
–20.
–Y
–Y –Y
MEP135
Note 2: Prepare the following program to set workpiece coordinate system offset data in G54 to
G59:
G10L2P1X–10.000 Y–10.000
G10L2P2X–20.000 Y–20.000
G10L2P3X–30.000 Y–30.000
G10L2P4X–40.000 Y–40.000
G10L2P5X–50.000 Y–50.000
G10L2P6X–60.000 Y–60.000
11-41
11 TOOL OFFSET FUNCTIONS
C. Programming for using one workpiece coordinate system as multiple workpiece coordi-
nate systems
M
#1=–50. #2=10.
M98 P200 L5
Main program
M
M02
%
N1 G90 G54 G10 L2 P1 X#1 Y#1
N2 G00 X0 Y0
N3 X–5. F100
Subprogram N4 X0 Y–5.
(O200) N5 Y0
N6 #1=#1+#2
N7 M99
%
Fundamental
G54'''' W
–10. machine coordinate
system zero point
5th cycle
G54''' W
–20.
4th cycle
G54'' W
–30.
3rd cycle
G54' W
–40.
2nd cycle
G54 W
–50.
1st cycle
–Y
MEP136
11-42
TOOL OFFSET FUNCTIONS 11
5. Related alarms
11-43
11 TOOL OFFSET FUNCTIONS
1. Tool offsetting
Parameter
Data items used F93 F94 Programming format
bit 3bit 7
TOOL OFFSET Tool offset No. 0 0 T_
TOOL SET T_
TOOL DATA 1 1
TOOL SET + No. (Offset data No.) T_
(MAZATROL)
No. (Offset data No.) 0 1 T_
TOOL OFFSET +
Tool offset No. + TOOL SET 1 0 T_
TOOL DATA
Parameter
Data items used F92 F94 Programming format
bit 7 bit 7
TOOL OFFSET Tool offset No. 0 0 G41/G42 T_
Parameter
Data items used F92 F94 Programming format
bit 7 bit 7
TOOL OFFSET Tool offset No. 0 0 G41/G42 T_
11-44
TOOL OFFSET FUNCTIONS 11
11-5-2 Tool radius compensation
2. Parameter setting
Set bit 7 of parameter F92 to 1.
3. Detailed description
- Tool radius compensation uses as its offset amounts the half of the diameter data of the tool
which is mounted in the spindle at the issuance of G41/G42.
- Tool radius compensation is cancelled by G40.
Note 1: The tool used must be mounted in the spindle before restarting the program.
Note 2: Campensation based on tool diameter data will not occur if registered MAZATROL tool
diameter data is not present or if a tool for which tool diameter data cannot be entered
is to be used.
Note 3: To carry out for an EIA/ISO program the tool radius compensation operations using the
tool diameter data included in MAZATROL tool data, it is necessary to insert tool
change command blocks.
2. Parameter setting
Set parameter L57 to 1.
3. Detailed description
This function allows the entire tool data, except for spindle tools, to be updated during automatic
operation based on an EIA/ISO program.
Note 1: In the table given above, “Yes” indicates that you can update the data, and “No”
indicates that you cannot update the data.
Identification between MAZATROL programs and EIA/ISO programs is automatically
made by whether the program currently being executed, is MAZATROL or EIA/ISO,
irrespective of whether it is a main program or subprogram.
If, however, the main program is MAZATROL and its subprograms are EIA/ISO, then
the currently active set of programs is regarded as a MAZATROL program.
Note 2: An alarm 428 MEMORY PROTECT (AUTO OPERATION) will occur if the spindle tool
data is modified during automatic operation based on an EIA/ISO program.
11-45
11 TOOL OFFSET FUNCTIONS
- NOTE -
11-46 E
PROGRAM SUPPORT FUNCTIONS 12
12 PROGRAM SUPPORT FUNCTIONS
G-code Function
G90 Longitudinal turning cycle
G92 Threading cycle
G94 Transverse turning cycle
12-1
12 PROGRAM SUPPORT FUNCTIONS
1. Straight turning
Continuous straight turning operations can be initiated by the following instruction:
G90 X/U_ Z/W_ F_;
1(R) U
3(F)
2(F) 2
Z
W X
Z-axis
TEP118
2. Taper turning
Continuous taper turning operations can be initiated by the following instruction:
G90 X/U_ Z/W_ R_ F_;
X-axis 4(R)
1(R) R U
3(F) 2
2(F)
Z
W X
Z-axis
TEP119
12-2
PROGRAM SUPPORT FUNCTIONS 12
3. Remarks
- In the single-block operation mode, the tool stops either at the ending points of operations 1, 2,
3 and 4, or only on completion of one cycle (depending on bit 7 of parameter F111).
- Depending on the U, W and R signs, the following shapes are created.
W W
U 4 U 4 1
3
2 3 1 2 2
R
X 2 R X
Z Z
Z Z 2 R
R
U 2 U 1
3 3
2 1 2
4 4
W W
TEP120
A programming error (899 ILLEGAL TAPER LENGTH) occurs for shapes [2] and [3] unless the
following condition is satisfied.
U
| |≥|R|
2
12-3
12 PROGRAM SUPPORT FUNCTIONS
1. Straight threading
Straight or cylindrical threading operations can be initiated by the following instruction:
G92 X/U_ Z/W_ F/E_ ;
3(R) 1(R) U
2(F) 2
Z
W X
Z-axis
TEP121
2. Taper threading
Taper threading operations can be initiated by the following instruction:
G92 X/U_ Z/W_ R_ F/E_ ;
4(R)
X-axis
R U
3(R) 1(R)
2(F) 2
Z
W X
Z-axis
TEP122
12-4
PROGRAM SUPPORT FUNCTIONS 12
3. Remarks
- Details of thread run-out
α
α : Length of thread run-out
If the thread lead is assumed to be L, then the parameter can be set by 0.1 L in
the range 0 to 4.0.
θ : Run-out angle of threding
The parameter (F28) can be set in 45° or 60°. TEP123
- In the single-block operation mode, the tool stops either at the ending points of operations 1, 3
and 4, or only on completion of one cycle (depending on bit 7 of parameter F111).
- The feed hold function causes a non-threading operation (1, 3, or 4) to be stopped immediately,
but the threading operation (2) is either not stopped till completion of the next step (3) or
immediately changed into run-out and then stopped (according to the setting of bit 2 of
parameter F111).
- During threading, use or disuse of dry run will not be changed.
- Depending on the U, W and R signs, the following shapes are created.
W W
U 4 U 4 1
3 3
2 1 2 2
R
X 2 X
R
Z Z
X X
2 R
Z Z
R U
U 2 1
3 2 3
2 1
4 4
W W
TEP124
A programming error (899 ILLEGAL TAPER LENGTH) occurs for shapes [2] and [3] unless the
following condition is satisfied.
U
| |≥|R|
2
- For machines with the optional function for automatic correction of threading start position, the
thread cutting conditions can be changed by “overriding” the spindle speed.
See Subsection 5-10-6 for more information.
12-5
12 PROGRAM SUPPORT FUNCTIONS
1. Straight facing
Continuous straight facing operations can be initiated by the following instruction:
G94 X/U_ Z/W_ F_;
X-axis
1(R) (R) : Rapid motion
(F) : Cutting feed
2(F) 4(R) U
2
3(F)
Z
W X
Z-axis
TEP125
2. Bevel facing
Continuous bevel facing operations can be initiated by the following instruction:
G94 X/U_ Z/W_ R_ F_;
TEP126
12-6
PROGRAM SUPPORT FUNCTIONS 12
3. Remarks
- In the single-block operation mode, the tool stops either at the ending points of operations 1, 2,
3 and 4, or only on completion of one cycle (depending on bit 7 of parameter F111).
- Depending on the U, W and R signs, the following shapes are created.
R W R
1(R) 1(R)
U 2(F) U 2(F)
4(R) 4(R)
2 2
X X
3(F) 3(F)
Z W
Z
R W W
3(F) 3(F)
U U 2(F) 4(R)
2(F) 4(R)
2 2
X X
1(R) 1(R)
Z Z R
TEP127
A programming error (899 ILLEGAL TAPER LENGTH) occurs for shapes [2] and [3] unless the
following condition is satisfied.
|W|≥|R|
12-7
12 PROGRAM SUPPORT FUNCTIONS
G-code Function
G70 Finishing cycle
G71 Longitudinal roughing cycle (leaving finishing allowance)
Compound fixed cycles Ι
G72 Transverse roughing cycle (leaving finishing allowance)
G73 Contour-parallel roughing cycle
G74 Longitudinal cut-off cycle
G75 Transverse cut-off cycle Compound fixed cycles ΙΙ
G76 Compound threading cycle
- If the finish shape program has not been entered in the memory, any of the above functions for
the compound fixed cycles Ι (G70 to G73) cannot be used.
- The programming formats are as follows.
12-8
PROGRAM SUPPORT FUNCTIONS 12
12-2-1 Longitudinal roughing cycle: G71
1. Overview
With commands as shown below for the finishing contour between (A) to (H), roughing by cutting
depth ∆d will be executed by leaving finishing allowances U∆u and W.
(0 or 2 for TC4)
(G) (F)
(E)
45°
(C) (B)
TEP128
The parameter TC4 will determine escape pattern from wall at right angle, whether 45° escape or
feedrate accelerated at wall should be made during roughing cycle. By setting 2 for TC4,
chamfering speed can be changed. (Refer to parameter TC3.)
2. Programming format
G71 U∆d R_;
G71 A_ P_ Q_ U∆u W_ F_ S_ T_;
- ∆d and ∆u are both specified by address U. The differentiation depends on whether P and Q are
specified in the same block.
Note: Even if F- and S-codes exist in the program section designated by P and Q, they are
considered as for the finishing cycle only and, therefore, ignored in the roughing cycle.
12-9
12 PROGRAM SUPPORT FUNCTIONS
3. Detailed description
The contour of machining by G71 may be one of the four combinations below.
Machining is basically executed by feed motions along the Z-axis. Finishing allowances U∆u and
W may have different signs.
(B) (B)
+X
(B) (B)
+Z
∆u < 0 ∆u < 0
W>0 W<0
(C) (A) (A) (C)
TEP129
The section from A to B must be of a single-axis movement on the X-axis and is to be described
in the block designated with P.
For the section between B and C, a maximum of 32 recesses are allowed.
Depending upon whether the modal for the block of the motion from A to B is G00 or G01, the
infeed on the X-axis is repeated by rapid motion or cutting feed during the roughing cycle.
(C) (A)
Tool path
Programmed contour
∆u/2
(B) W
TEP130
12-10
PROGRAM SUPPORT FUNCTIONS 12
4. Remarks
1. Subprograms can be called from the program section designated by P and Q.
2. The last element of the contour described in the program section designated with P and Q
may be circular (G02 or G03). Do not fail to give the desired G-code explicitly for the section
next to the roughing cycle.
3. The maximum permissible number of blocks for the finishing contour is 100, including
blocks automatically inserted by the NC (e.g. for nose radius compensation).
100 blocks
TEP131
The Z-axis position, however, must be monotonic increasing or decreasing. For shapes as
shown below, the alarm 898 LAP CYCLE ILLEGAL SHAPE DESIGN. will occur and
machining stops.
Reverse motion
on the Z-axis
TEP132
12-11
12 PROGRAM SUPPORT FUNCTIONS
4. Monotonousness of the Z-axis motion is the only requirement for the finishing contour. Even
the initial cut-in may be of simultaneous control of the X- and Z-axis, as shown below.
Initial cut-in
TEP133
5. If a roughing cycle command is given in the mode of nose radius compensation, the
roughing cycle operations are executed for the finishing contour accordingly compensated.
6. Set “W0” in general for a contour if it is not monotonic changing on the X-axis. Otherwise
excessive cutting is caused on either side.
7. In the first block of repeating section, give a command for each of the pair X(U) and Z(W). If
no Z-axis movement is required, “W0” must be set.
8. If the machining contour from A through B to C should contain an intermediate point whose
X-position is not “below” A (as is the case with B’ in the figure below), the alarm 898 LAP
CYCLE ILLEGAL SHAPE DESIGN. will occur. Case (Ι) is correct, while case (ΙΙ) will cause
the alarm.
(Ⅰ)
(Ⅱ)
(B’)
(C)
(A) (A)
(C)
(B) (B)
TEP134
9. M-codes in the program section designated by P and Q are only effective in the mode of
G70 (finishing). They are ignored in the cycle of G71 (also G72 and G73).
12-12
PROGRAM SUPPORT FUNCTIONS 12
10. Cutting path is as shown below.
B
A
30
1
4 ∆d
3 29 5
13
19 2 14
12 6
24 20 10 9 8 18
7
11 21 A’
23 25 17 15
22
16
28 27 26
TEP135
5. Sample programs
Cutting depth: 5.
10 40 30 30 2 Escape distance: 1.
Workpiece Finishing allowance X: 2.
Z: 2.
Unit: mm
12-13
12 PROGRAM SUPPORT FUNCTIONS
1. Programming format
G72 W∆d R_;
G72 A_ P_ Q_ U_ W∆w F_ S_ T_;
W∆d: Depth of cut
For the other addresses and remarks see the description given for G71.
∆d
B A
Tool path
Programmed contour
U/2
C
∆w TEP136
In G72, parameter TC4 will determine whether escape at 45° from wall should be selected or not
in the cycle as in G71. By setting 2 for TC4, feed can be accelerated in up-going slope. (Refer to
parameter TC3.)
The contour of machining by G72 may be one of the four combinations below.
Machining is basically executed by feed motions along the X-axis. Finishing allowances U and
W∆w may have different signs.
X
(B) (A) (A) (B)
U<0 U>0
∆w < 0 (C) (C) ∆w < 0 TEP137
- The section from A to B must be of a single-axis movement on the Z-axis and is to be described
in the block designated with P.
- The maximum permissible number of blocks for the finishing contour from B to C is 100,
including blocks automatically inserted by the NC.
- Depending upon whether the modal for the block of the motion from A to B is G00 or G01, the
infeed on the Z-axis is repeated by rapid motion or cutting feed during the roughing cycle.
- Nose radius compensation amount will be added to the finishing allowances U and W∆w.
12-14
PROGRAM SUPPORT FUNCTIONS 12
2. Sample programs
8 10 11 20 21 10
+X
+Z
φ176 φ120 φ82 φ35
Unit: mm
12-15
12 PROGRAM SUPPORT FUNCTIONS
1. Overview
This function allows efficient execution in roughing when cast or forged parts are to be cut along
the finishing contour.
∆k + ∆w
∆w
∆i + ∆u/2
(A) ∆u/2
(C)
∆u/2
(B)
∆w
TEP138
2. Programming format
G73 U∆i W∆k Rd;
G73 P_ Q_ U∆u W∆w F_ S_ T_;
∆i : Escape distance and direction along the X-axis (in radius value)
The value is modal and remains valid until it is overwritten with a new value.
∆k : Escape distance and direction along the Z-axis
The value is modal and remains valid until it is overwritten with a new value.
d : Number of divisions
This denotes the number of roughing operations to be repeated. The value is modal and
remains valid until it is overwritten with a new value.
* For other addresses see the description given for G71.
Note: Even if F- and S-codes exist in the program section designated by P and Q, they are
considered as for the finishing cycle only and, therefore, ignored in the roughing cycle.
12-16
PROGRAM SUPPORT FUNCTIONS 12
3. Detailed description
- Finishing contour
The finishing program has to describe the contour A→B→C as shown in the figure below.
The section from B to C must be monotonic increasing or decreasing on both the X- and Z-axis.
- One cycle configuration
A cycle is composed as shown below.
[1]
[1]
C
[1]
[1]
B
TEP139
1 2 3 4
A1 A1 C C
A A C
Trace C
A A
A1 A1
TEP140
Initial X-axis “–” direction – + +
Overall Z-axis “–” direction + + –
X-axis cutting “+” direction + – –
Z-axis cutting “+” direction – – +
12-17
12 PROGRAM SUPPORT FUNCTIONS
4. Parameter
- The X-axis escape distance and direction can be set by parameter TC117, whose value will be
overridden with the programmed value.
- The Z-axis escape distance and direction can be set by parameter TC118, whose value will be
overridden with the programmed value.
- The number of divisions can be set by parameter TC72, whose value will be overridden with
the programmed value.
5. Remarks
- The contour-parellel roughing cycle is executed using the F-, M-, S- and T-functions specified
in or before the G73 block, in stead of those existing in the program section designated by P
and Q.
- There are four patterns of machining as shown below. Take care to asign correct signs to the
∆u, ∆w, ∆i and ∆k values.
∆u > 0 ∆u > 0
∆w < 0 ∆w > 0
∆i > ∆i > 0
∆k < 0 ∆k > 0
∆u < 0 ∆u < 0
∆w < 0 ∆w > 0
∆i < 0 ∆i < 0
∆k < 0 ∆k > 0
D732S0014
∆i and ∆k, and ∆u and ∆w, are both specified with addresses U and W, respectively. The
differentiation is given by whether P and Q are specified in the same block. That is, addresses
U and W without P and Q in a G73 block refer to ∆i and ∆k, while those with P and Q denote ∆u
and ∆w, respectively.
- When the cycle terminates, the tool is returned to point A.
- If the contour-parellel roughing cycle is executed in the nose radius compensation mode where
the tool nose center is aligned with the starting point, the amount of nose radius compensation
is added to ∆u and ∆w.
- Others are as with G71.
12-18
PROGRAM SUPPORT FUNCTIONS 12
6. Sample programs
90
75
50 2 3 3
30 5
φ170
φ150
4
4
2
+X
Unit: mm
12-19
12 PROGRAM SUPPORT FUNCTIONS
- The finishing cycle is executed using the F-, S- and T-functions specified in the program
section that is designated with A, P and Q.
- When a G70 cycle is completed, the tool returns to the starting point in rapid motion and the
next block is read.
Example 1: Designation of sequence
numbers only M
N100 G70 P200 Q300; N200!!!;
N110 M
N120 N300!!!;
M
N200
M Description of the finishing contour
N300
N310
M
In both examples 1 and 2, the N110 block is executed after the execution of the N100 cycle.
12-20
PROGRAM SUPPORT FUNCTIONS 12
12-2-5 Longitudinal cut-off cycle: G74
1. Overview
This function is used for smooth disposal of machining chips in longitudinal cut-off machining.
For SS materials which produce hard-to-cut machining chips this function can be managed for
easy machining chip disposal.
2. Programming format
G74 Re;
G74 Xx/Uu Zz/Ww P∆i Q∆k R∆d Ff Ss Tt;
e : Return distance
The value is modal and remains valid until it is overwritten with a new value.
x/u : Final X-axis position in absolute/incremental data
z/w : Final Z-axis position in absolute/incremental data
∆i : X-axis movement step (in an absolute value)
∆k : Z-axis depth of cut (in an absolute value)
∆d : Tool escape distance at the bottom of cut
Normally set in an absolute value. When omitting the arguments X/U and P, however, set
the value with a sign as required for the direction of escape.
f : Feed function (rate of feed)
s : Spindle function
t : Tool function
The distance “e” is set by parameter SU104 (pecking return distance in grooving process).
A ∆d
∆i
U
2
∆k
Z W
TEP141
12-21
12 PROGRAM SUPPORT FUNCTIONS
3. Detailed description
1. X (U), P and R (∆d) are not required for drilling.
15 15 15
G00 X0 Z5.0;
50 5 G74 Z-50.0 Q15.0 F0.2;
TEP142
(B) (A)
(D) (C)
TEP143
3. In the single-block operation mode, all the blocks are executed step by step.
12-22
PROGRAM SUPPORT FUNCTIONS 12
4. Remarks
1. In the single-block operation mode, all the blocks are executed step by step.
2. Omission of address X (U), P and R (∆d) provides the operation of Z-axis alone, resulting in
a deep-hole drilling cycle.
3. “e” and “∆d” are both specified with address R. The differentiation is given by whether Z (W)
is commanded together or not. That is, the R value given with Z (W) is processed as “∆d”.
4. The cycle operation is initiated by a G74 block containing the Z (W) data.
5. Sample programs
40
+X
(φ160)
φ50 φ100 +Z
Unit: mm
12-23
12 PROGRAM SUPPORT FUNCTIONS
1. Overview
This function is used for smooth disposal of machining chips in transverse cut-off machining.
This allows easy disposal of machining chips in face turning as well.
2. Programming format
G75 Re ;
G75 X(U)_ Z(W)_ P_ Q_ R∆d F_ S_ T_ ;
G75 executes cycle operaitons as shown below.
P
e
U
2
Q
Z W ∆d
X TEP144
12-24
PROGRAM SUPPORT FUNCTIONS 12
3. Detailed description
1. Z (W), Q, and R∆d are not required for grooving on the outside or inside cylinder surface.
φ100
60
φ90
TEP145
(C)
(A)
∆d ∆d
∆d ∆d
(D)
(B)
3. In the single-block operation mode, all the blocks are executed step by step.
12-25
12 PROGRAM SUPPORT FUNCTIONS
4. Remarks
1. Both G74 and G75, which are used for cutting off, grooving or drilling, are a cycle to give the
escape of a tool automatically. Four patterns which are symmetrical with each other are
available.
2. The return distance “e” can be set by parameter SU104, whose value will be overridden with
the programmed value.
3. In the single-block operation mode, all the blocks are executed step by step.
5. Sample programs
15 20
+X
+Z
φ70 φ100
Unit: mm
12-26
PROGRAM SUPPORT FUNCTIONS 12
12-2-7 Compound threading cycle: G76
1. Cycle configuration
U
2
∆d
i
X k
TC82
W
Z
Tool tip
a
∆d
∆d n
1. cut
2. cut k
d = SU105 3. cut
n-th cut
SU105: Thread finishing allowance
(Parameter) (Diameter value)
d/2
TEP148
12-27
12 PROGRAM SUPPORT FUNCTIONS
2. Programming format
G76 Pmra Rd; (omission allowed)
G76 Xx/Uu Zz/Ww Ri Pk Q∆d Fl S_ T_;
12-28
PROGRAM SUPPORT FUNCTIONS 12
3. Detailed description
- Length of thread run-out can be set by parameter TC82 by 0.1 × L units in a range 0.1 × L to
4.0 × L (L as lead).
- Depth of cut is determined with ∆d for initial cut, and ∆d n for n-th cut to have a constant
depth for each cut.
(C) (A)
(D) (B)
12-29
12 PROGRAM SUPPORT FUNCTIONS
z w
[6] [1]
[5]
U
[2]
2
[4]
[3]
(–i)
k
x r
a°/2
When R is negative TEP151
z w
S
[6] [1]
[5]
[2]
U
2
k
[4] [3]
a°/2 i
r
x
When Ri is positive TEP152
∆d for first
cutting pass
a°
Second
cutting n-th
pass cutting
k ∆d × 2 pass
∆d × n
TEP153’
12-30
PROGRAM SUPPORT FUNCTIONS 12
4. Remarks
1. When the feed hold button is pressed during execution of a G76 cycle, undergoing
threading is either not stopped till completion of the next step or immediately changed into
run-out and then stopped (according to the setting of bit 2 of parameter F111), as is the
case with G92. (The feed hold lamp will not light up at all.) If threading is not being carried
out, the feed hold state is immediately established and the feed hold lamp lights up.
2. During execution of a G76 cycle the machining does not stop till completion of operations [1],
[4] and [5] when the mode is switched to another automatic mode or to a manual operation
mode, or in the single-block operation mode.
3. During a G76 cycle, validity or invalidity of dry run will not be changed while threading is
under way.
4. In the single-block operation mode, all the blocks are executed step by step. For blocks of
threading, however, the subsequent block is continuously executed.
5. For machines with the optional function for automatic correction of threading start position,
the thread cutting conditions can be changed by “overriding” the spindle speed.
See Subsection 5-10-6 for more information.
+X
E
U A
B
2
a ∆d
D
B
i k k
x
2 C
r d/2
+Z C
z w
Rapid traverse
Cutting feed
D732S0016
5. Parameter
- The number of repeatitions of final finishing can be set by parameter TC81, whose value will be
overridden with the programmed value.
- Length of thread run-out can be set by parameter TC82, whose value will be overridden with
the programmed value.
- The tool tip angle can be set by parameter TC80, whose value will be overridden with the
programmed value.
- The finishing allowance can be set by parameter SU105, whose value will be overridden with
the programmed value.
12-31
12 PROGRAM SUPPORT FUNCTIONS
6. Detailed description
- Setting the tool tip angle provides the machining of a single tip, permitting the decrease in a
load applied to the tool tip.
- Cut amount is held constant by setting the first cut depth as ∆d and n-th cut depth as ∆d n.
Tool tip
a
B
∆d
First cut ∆d n
Second cut
Third cut k
n-th cut
d/2
D732S0017’
- According to the sign of each address, four patterns are available, and inside thread can also
be cut.
- Threading cycle provides the cutting feed designated by the F- or E-code only from C to D, and
rapid traverse for other movements.
- For the cycle shown above, the signs of increment are as follows:
u, w ...............According to the direction of paths A→C and C→D.
i......................According to the direction of path A→C.
k.....................Plus (always plus)
∆d ..................Plus (always plus)
- Finishing allowance (d; diameter value) can be set by parameter (SU105) within the range as
follows:
0 to 65.535 mm (6.5535 inches)
12-32
PROGRAM SUPPORT FUNCTIONS 12
7. Sample programes
+X
80 20
+Z
1.8
φ60.64
φ68 φ100 1.8
3.68
6
0.1
Unit: mm
12-33
12 PROGRAM SUPPORT FUNCTIONS
8. Notes
1. For G76 cycle, the notes on threading are as with G32 and G92 threading. The feed hold
function causes the threading operation to be changed immediately into run-out (when F111
bit 2 = 1), as described in item 3 below.
Refer to G92 threading cycle for details.
2. The angle of run-out can be set in parameter F28 within a range from 0° to 89°, but only 45°
or 60° can actually be applied.
Setting of 90° or more validates 45°.
Setting of 0° to 45° and of 46° to 89° is taken respectively as that of 45° and 60°.
3. According to a parameter (F111 bit 2), the feed hold function brings the current threading
operation in one of the following ways to a stop:
- After continued execution of the next block, or
- After run-out operation started immediately at an angle of 60°.
The feed is stopped immediately except during threading.
Pressing the cycle start button again causes the tool to be returned in rapid motion by
simultaneous control of the X- and Z-axis to the starting point, and the cycle operation is
continued.
4. An alarm occurs in the cases below.
- Either X or Z is not specified.
- The displacement distance on the X- or Z-axis is 0.
- The thread angle exceeds the range from 0° to 120°.
5. In the single-block operation mode, all the blocks are executed step by step. For blocks of
threading, however, the next block is also executed in sequence.
6. The data items designated with P, Q and R are differentiated by whether addresses X (U)
and Z (W) are specified in the same block.
7. The cycle operation is initiated by a G76 block containing the X (U) and Z (W) data.
8. For machines with the optional function for automatic correction of threading start position,
the thread cutting conditions can be changed by “overriding” the spindle speed.
See Subsection 5-10-6 for more information.
12-34
PROGRAM SUPPORT FUNCTIONS 12
7. N, F, S, M and T commands in the finishing contour section are ignored during roughing.
8. A programming error occurs if any of the following commands are present in the finishing
contour section.
- Commands related to reference point return (G27, G28, G29, G30)
- Threading (G33)
- Fixed cycles
- Skip functions (G31, G37)
9. Subprograms can be called from the blocks in the finishing contour section.
10. Except for threading cycles, operation stops at the ending (starting) point of each block in
the single-block operation mode.
11. Note that the next block upon completion of the G71, G72 or G73 cycle differs depending on
whether a program number or the sequence numbers only are designated.
- Designation of sequence numbers only:
The next block is that which follows the M
block designated by Q. N100 G71 P200 Q500 U_ W_!!!!;
The N600 block is executed in the N200
example upon completion of the cycle. N300 Description of the finishing contour
N400
N500
N600
13. Manual interruption can be applied during a compound fixed cycle (G70 to G76). However,
upon completion of the interruption, the tool must first be returned to the position where the
interruption was applied and then the compound fixed cycle must be restarted.
If it is restarted without the tool having been returned, all subsequent movements will
deviate by an amount equivalent to the manual interruption amount.
14. Compound fixed cycle commands are unmodal commands and so they must be set every
time they are required.
12-35
12 PROGRAM SUPPORT FUNCTIONS
15. Programming error LAP CYCLE ILLEGAL SHAPE DESIGN. is caused for G71 and G72 if,
because of nose radius compensation, there is no further displacement of the Z-axis in the
second block or a reverse motion on the Z-axis should be made.
16. Prohibited commands in the finishing contour program section (designated with P and Q in
a block of G70 to G73) are as follows:
M98/M99
T code
G20, G21, G94, G95, G52, G53, G68, G69
G32, G77, G78, G79
G10, G27, G28, G29, G30
17. Take care not to use twice in the program concerned the sequence numbers that are to be
designated with P and Q in the blocks of G70 to G73.
18. If the last motion command in the finishing contour program section (designated with P and
Q in a block of G70 to G73) is for corner chamfering (G01 X_ I_ ) (G01 Z_ K_ ) or corner
rounding (G01 Z_ R_ ) (G01 X_ R_ ), the alarm NO DIRECTIVE FOR NEXT MOVE R/C
occurs.
19. The block designated with P in a G71, G72 or G73 command must be in the G00 or G01
mode.
20. For a manual “handle” interruption (to shift the tool position) after feed hold during execution
of the G70 to G76 cycle, the tool must be returned to the original position before pressing
the cycle start button to continue the operation.
If the operation is restarted without the tool having been returned, all subsequent
movements will be shifted by the amount of the manual interruption.
Handle interruption values are cancelled by resetting the NC.
21. The example below is given to show the execution timing of an M- or T-function code
designated in the command block of G70 to G76.
N041 G00 X100.Z0;
N042 G71 P101 Q103 U0.5 W0.5
N041
D4000 F0.5 S150 M08;
M
N101 G01 X90.F0.5;
N102 Z-20.;
N103 X100.; N042 M08
execution point
TEP155
12-36
PROGRAM SUPPORT FUNCTIONS 12
12-3-1 Outline
A fixed cycle mode is cancelled when the G80 or any G-code in the 01 group is set. The various
data will also be cleared simultaneously to zero.
2. Programming format
C. Cancel
G80 ;
12-37
12 PROGRAM SUPPORT FUNCTIONS
Address Signification
G Selection of hole machining cycle sequence (G80, G83, G84, G84.2, G85, G87, G88, G88.2, G89)
X/U, (Z/W)*, C/H Designation of hole position initial point (absolute/incremental value)
Z/W, (X/U)* Designation of hole bottom position (absolute/incremental value from reference point)
R Designation of R(apid feed)-point position (incremental value from initial point) (sign ignored.)
Designation of cut amount for each cutting pass in G83 (G87); always incremental value, radial
Q value (sign ignored, decimal point can be commanded in T32 compatible mode, but not in
Standard mode)
Designation of dwell time at hole bottom point; relationship between time and designated value is
P
same as for G04.
F Designation of feed rate for cutting feed
K Designation of number of repetitions, 0 to 9999 (default = 1)
M Designation of M-code
* Addresses in parentheses apply for commands G87, G88 and G89.
12-38
PROGRAM SUPPORT FUNCTIONS 12
3. Outline drawing
The hole machining axes for the hole machining fixed cycle and the positioning are shown in the
outline drawing below.
q4 [1]
[2]
q2
x4 Rotary tool
r2
z2 for X-axis
+X +Z
x2
C
[1] G83 Xx1 Cc1 Zz1 Rr1 Qq1 Pp1 Ff1 Kk1 ;
[2] G83 Xx2 Cc2 Zz2 Rr2 Qq2 Pp2 Ff2 Kk2 ;
[3] G87 Zz3 Cc3 Xx3 Rr3 Qq3 Pp3 Ff3 Kk3 ;
4. Operations
There are 7 actual operations which are each described in turn below.
Operation 3
Operation 7
R-point
Operation 6
Operation 4
Operation 5
TEP156
Operation 1 : Positionning by rapid feed to the X(Z) and C-axis initial point
Operation 2 : Output of the M-code for C-axis clamping if it is set
Operation 3 : Positionning to the R-point by rapid feed
Operation 4 : Hole machining by cutting feed
Operation 5 : Operation at the hole bottom position which differs according to the fixed cycle
mode. Possible actions include rotary tools reverse rotation (M204), rotary tools
forward rotation (M203) and dwell.
Operation 6 : Return to the R-point
Operation 7 : Return to the initial point at rapid feed
(Operation 6 and 7 may be a single operation depending on the fixed cycle mode.)
Whether the fixed cycle is to be completed at operation 6 or 7 can be selected by the user
parameter F162 bit 3.
Parameter F162 bit 3 = 0: Initial level return
Parameter F162 bit 3 = 1: R-point level return
12-39
12 PROGRAM SUPPORT FUNCTIONS
Initial point
Initial point (Mβ) (Mα)
(Mα)
r
r
R-point
R-point q (Mβ)
q
d
d q
q d
d
q
q
(P)
(P) Z-point Z-point
D740PB0029
- Return distance “d” is set by the parameter (F13: Pecking return distance in drilling process).
The tool returns at rapid feed.
- (Mα): The C-axis clamping M-code (Mm) is outputted here if specified.
- (Mβ): The C-axis unclamping M-code (C-axis clamp M-code + 1 = Mm+ 1) is output
when there is a C-axis clamping M-code command (Mm).
- (P): Dwell is performed for the duration equivalent to the time designated by P.
Initial point
(Mβ) Initial point
(Mα) (Mα)
TEP158
12-40
PROGRAM SUPPORT FUNCTIONS 12
12-3-3 Face/Outside tapping cycle: G84/G88
G84 (G88) X(Z)_ C_ Z(X)_ R_ P_ F_ K_ M_ ;
R-point (Mβ)
R-point (Mβ)
R-point (Mβ)
R-point (Mβ)
f 2f f 2f
TEP160
12-41
12 PROGRAM SUPPORT FUNCTIONS
TEP159
1. Detailed description
- (Mα), (Mβ) and (P) are as with G83.
- The spindle is reversed at the hole bottom to perform tapping cycle. During tapping cycle
operation by G84.2 (G88.2), feed rate override is ignored. Even if feed hold is applied, the cycle
does not stop until the end of return operation.
- Specify the special argument C1 with a leading comma (,C1) when the direction of hole
machining, that is of the tool’s axial feed, is positive (+Z or +X).
- Tapping cycle and reverse tapping cycle can be performed by specifying spindle normal or
reverse rotation with M-codes (M03, M04, M203, M204).
Output to the machine side is as follows:
Programmed command Z point R point
M03 M04 M03
M04 M03 M04
M203 M204 M203
M204 M203 M204
- As for synchronous tapping on the face (G84.2), the combination of the direction of the Z-axis
movement (in the workpiece coordinate system) and that of the spindle rotation determines the
type of tapping: normal or reverse.
Z-axis movement Command for the
Type of tapping direction (in the workpiece direction of spindle
coordinate system) rotation
Negative M03/M203
Normal tapping
Positive M04/M204
Negative M04/M204
Reverse tapping
Positive M03/M203
Programming example:
1) G00 Z0.
G84.2 Z10. F0.1 M4 ......... Normal tapping
2) G00 Z0.
G84.2 Z–10. F0.1 M4 ....... Reverse tapping
12-42
PROGRAM SUPPORT FUNCTIONS 12
- When G84.2 is commanded by feed per revolution (G95), where the unit of cutting feed rate F
is set to mm/rev or in/rev, tap thread pitch can be commanded directly.
- Give a G88.2 command, in place of G84.2, to use the X-axis as a hole machining axis.
- In tapping cycle (G84), the feed rate of Z-axis per spindle rotation must be equal to the thread
pitch of a tap. This means that the most desirable tapping always fills the following conditions.
P = F/S
P : Tap thread pitch (mm)
F : Z-axis feed rate (mm/min)
S : Spindle speed (min–1)
Spindle rotation and Z-axis feed are independently controlled in tapping cycle (G84). Therefore,
the above condition are not always filled. Spindle rotation and Z-axis feed are both decelerated
and stopped particularly at the hole bottom, and then the spindle and Z-axis move in the
reverse direction, giving acceleration.
Since each acceleration and deceleration are independently performed, the above conditions
are not filled usually. As a result, for improving the accuracy of tapping, it is customary to
compensate the feed by mounting a spring in the tap holder.
On the other hand, for synchronous tapping cycle (G84.2), spinde rotation and Z-axis feed are
controlled so that they are always synchronized. In other words, for normal rotation, the spindle
is controlled only in relation to speed. However, for synchronous tapping, position control is
given also to spindle rotation. And spindle rotation and Z-axis feed are controlled as the linear
interpolation of two axes. This fills the condition of P = F/S even in deceleration and accele-
ration at the hole bottom, permitting tapping of high accuracy.
2. Remarks
1. Synchronous tapping cycle (G84.2) and tapping cycle (G84) differ only in the control method
of spindle when Z-axis moves from point R to point Z and when it does from point Z to point
R. In synchronous tapping, the movement of spindle is detected by the position coder as
shown below, and position control is given. Spindle motor is controlled like a servo motor to
give the linear interpolation of two axes of Z-axis and spindle.
The movement distance of linear interpolation of Z-axis and spindle as well as the feed rate
are as given below.
Synchronous tapping cycle is as with G84 except that it differs from tapping cycle in the
control method of spindle when Z-axis moves from point R to point Z and when it does from
point Z to point R. Refer to the section of fixed cycle G84 for the notes including
programming.
2. Z-axis is used as a hole machining axis in the above description. When X-axis is used as a
hole machining axis, G88.2 is commanded.
Example: G88.2 Z/W_ C/H_ X/U_ R_ F_ ; X-axis is used as a hole machining axis.
3. For synchronous tapping cycle (G84.2), feed rate override is invalid, and it is fixed to 100%.
4. Synchronous tapping cycle in the turning mode is not available on the side of secondary
spindle.
12-43
12 PROGRAM SUPPORT FUNCTIONS
5. Two types of synchronous tapping are provided: spindle synchronous tapping and mill
synchronous tapping. However, only either can be used.
12-44
PROGRAM SUPPORT FUNCTIONS 12
12-3-8 Sample programs with fixed cycles for hole machining
1. Face deep hole drilling cycle (G83) 5. Outside tapping cycle (G88)
G00 G97 G98; G00 G97 G98;
G28 UW; G28 UW;
M200; M200;
M203 S800; M203 S600;
X100.Z2.C0; X102.Z–50.C0;
G83 X50.H30.Z–20.R5.Q5000 P.2 F200 K3 M210; G88 Z–50.H30.X70.R5.P.2 F300 K3 M203 M210;
G80; G80;
G28 UW; G28 UW;
M30; M30;
4. Outside deep hole drilling cycle (G87) 8. Outside synchronous tapping cycle (G88.2)
G00 G97 G98; G00 G97 G98;
G28 UW; G28 UW;
M200; M200;
M203 S800; M203 S600
X102. Z–50. C0; X102. Z–50. C0;
G87 Z–50.H30.X70.R5.Q5000 P.2 F200 K3 M210; G88.2 Z–50.H30.X70.R5.F2.K3 M203 M210;
G80; G80;
G28 UW; G28 UW;
M30; M30;
12-45
12 PROGRAM SUPPORT FUNCTIONS
12-4-1 Overview
1. Programming format
G234.1 Xx Yy Ir Jθ Kn;
X, Y : Coordinates of the center of the circle.
I : Radius (r) of the circle. Always given in a positive value.
J : Central angle (θ) of the first hole. Positive central angles refer to counterclockwise
measurement.
K : Number (n) of holes to be machined. (Setting range: from –9999 to 9999)
The algebraic sign of argument K refers to the rotational direction of the sequential
machining of “n” holes. Set a positive and a negative number respectively for
counterclockwise and clockwise rotation.
12-46
PROGRAM SUPPORT FUNCTIONS 12
2. Sample programes
Given below is an example of G83 hole machining with a figure representing the hole positions.
N001 G122.1;
N002 G83 Z-10. R5. K0. F200;
N003 G234.1 U20. V-30. I20. J20. K-6;
N004 G80;
N005 G123.1;
θ = 20°
Y
r = 20
u = 20
n=6
Last position before v = –30
G234.1 execution
D740PB0022
Use the coordinate conversion function as follows to arrange hole positions in the ZY-plane:
N001 G122.1;
N002 G68.5 X0 Y0 Z0 I0 J1 K0 R90.;
N003 G17 X0 Y0 Z2.5;
N004 G83 Z-10. R5. K0 F200;
N005 G234.1 X20. Y-30. I20. J20. K-6;
N005 G80;
N006 G69.5;
N007 G123.1;
3. Notes
- Give a G122.1 command as required beforehand to specify in a radius value the X-axis
position in the block of hole machining pattern cycle.
- Use the appropriate axis addresses to designate the axis position in an incremental value.
- The last position of the G234.1 command is on the last one of the arranged holes. Use the
method of absolute data input, therefore, to specify the movement to the position for the next
operation desired. (An incremental command would require a more or less complicated
calculation with respect to that last hole.)
12-47
12 PROGRAM SUPPORT FUNCTIONS
1. Programming format
G235 Xx Yy Id Jθ Kn;
X, Y : Coordinates of the starting point.
I : Interval (d) between holes. Change of sign for argument I causes a centrically
symmetric hole arrangement with the starting point as the center.
J : Angle (θ) of the line. Positive angles refer to counterclockwise measurement.
K : Number (n) of holes to be machined (from 1 to 9999), inclusive of the starting point.
2. Sample programes
Given below is an example of G83 hole machining with a figure representing the hole positions.
N001 G122.1;
N002 G83 Z–10. R5. K0. F100;
N003 G235 U20. V-10. I25. J30. K3;
N004 G80;
N005 G123.1;
X
n=3
Y
d = 25
θ = 30°
u = 20
D740PB0023
Use the coordinate conversion function as follows to arrange hole positions in the ZY-plane:
N001 G122.1;
N002 G68.5 X0 Y0 Z0 I0 J1 K0 R90.;
N003 G17 X0 Y0 Z2.5;
N004 G83 Z-10. R5. K0 F200;
N005 G235 X20. Y-10. I25. J30. K3;
N005 G80;
N006 G69.5;
N007 G123.1;
12-48
PROGRAM SUPPORT FUNCTIONS 12
3. Notes
- Give a G122.1 command as required beforehand to specify in a radius value the X-axis
position in the block of hole machining pattern cycle.
- Use the appropriate axis addresses to designate the axis position in an incremental value.
- Omission of argument K or setting “K0” will result in a programming error. A setting of K with
five or more digits will lead to the lowest four digits being used.
- In a block with G235 any words with addresses other than G, L, N, X, Y, U, V, I, J, K, F, M, S, T
and B will simply be ignored.
- Giving a G-code of group 00 in the same block with G235 will cause an exclusive execution of
either code which is given later.
- In a block with G235 a G22 or G23 command will simply be ignored without affecting the
execution of the G235 command.
12-49
12 PROGRAM SUPPORT FUNCTIONS
1. Programming format
G236 Xx Yy Ir Jθ P∆θ Kn;
X, Y : Coordinates of the center of the arc.
I : Radius (r) of the arc. Always given in a positive value.
J : Central angle (θ) of the first hole. Positive central angles refer to counterclockwise
measurement.
P : Angular interval (∆θ) between holes. The algebraic sign of argument P refers to the
rotational direction of the sequential machining of “n” holes. Set a positive and a
negative value respectively for counterclockwise and clockwise rotation.
K : Number (n) of holes to be machined (from 1 to 9999).
2. Sample programes
Given below is an example of G83 hole machining with a figure representing the hole positions.
N001 G122.1;
N002 G83 Z–10. R5. K0. F100;
N003 G236 U30. V-20. I25. J-70. P30. K5;
N004 G80;
N005 G123.1;
n=5
Y
∆θ = 30°
θ = –70°
u = 30
Use the coordinate conversion function as follows to arrange hole positions in the ZY-plane:
N001 G122.1;
N002 G68.5 X0 Y0 Z0 I0 J1 K0 R90.;
N003 G17 X0 Y0 Z2.5;
N004 G83 Z-10. R5. K0 F200;
N005 G236 X30. Y-20. I25. J-70. P30. K5;
N005 G80;
N006 G69.5;
N007 G123.1;
12-50
PROGRAM SUPPORT FUNCTIONS 12
3. Notes
- Give a G122.1 command as required beforehand to specify in a radius value the X-axis
position in the block of hole machining pattern cycle.
- Use the appropriate axis addresses to designate the axis position in an incremental value.
1. Programming format
G237.1 Xx Yy I∆x Pnx J∆y Kny;
X, Y : Coordinates of the starting point.
I : Hole interval (∆x) on the X-axis. Set a positive and a negative value to arrange holes
in respective directions from the starting point on the X-axis.
P : Number (nx) of holes to be arranged on the X-axis (from 1 to 9999).
J : Hole interval (∆y) on the Y-axis. Set a positive and a negative value to arrange holes
in respective directions from the starting point on the Y-axis.
K : Number (ny) of holes to be arranged on the Y-axis (from 1 to 9999).
2. Sample programs
Given below is an example of G83 hole machining with a figure representing the hole positions.
N001 G122.1;
N002 G83 Z-10. R5. K0. F20;
N003 G237.1 U30. V20. I25. P3 J-30. K5;
N004 G80;
N005 G123.1;
X
ny = 5
∆x = 25
nx = 3
u = 30
∆y = –30
Last position before
v = 20 G237.1 execution
D740PB0025
12-51
12 PROGRAM SUPPORT FUNCTIONS
Use the coordinate conversion function as follows to arrange hole positions in the ZY-plane:
N001 G122.1;
N002 G68.5 X0 Y0 Z0 I0 J1 K0 R90.;
N003 G17 X0 Y0 Z2.5;
N004 G83 Z-10. R5. K0 F200;
N005 G237.1 X30. Y20. I25. P3 J30. K5;
N005 G80;
N006 G69.5;
N007 G123.1;
3. Notes
- Give a G122.1 command as required beforehand to specify in a radius value the X-axis
position in the block of hole machining pattern cycle.
- Use the appropriate axis addresses to designate the axis position in an incremental value.
- Omission of argument P or K, or setting “P0” or “K0” will result in a programming error. A setting
of K or P with five or more digits will lead to the lowest four digits being used.
- In a block with G237.1 any words with addresses other than G, L, N, X, Y, U, V, I, J, K, F, M, S,
T and B will simply be ignored.
- Giving a G-code of group 00 in the same block with G237.1 will cause an exclusive execution
of either code which is given later.
- In a block with G237.1 a G22 or G23 command will simply be ignored without affecting the
execution of the G237.1 command.
12-52
PROGRAM SUPPORT FUNCTIONS 12
N20;
M98P1000; M98P1200 M98P2000; M98P2500;
Q20;
N60;
M02; M99; M99; M99P60; M99;
Nesting depth
TEP161
The table below shows the functions which can be executed by adding and combining the tape
storing and editing functions, subprogram control functions and fixed cycle functions.
Notes:
1. “#” denotes a function which can be used and “×” a function which cannot be used.
2. The nesting depth can include as many as 8 levels.
12-53
12 PROGRAM SUPPORT FUNCTIONS
2. Programming format
Subprogram call
M98 <_> Q_ L_;
Number of subprogram repetitions (L1 if omitted)
Sequence number in subprogram to be called (head block if omitted)
Program name of subprogram to be called (own program if omitted).
Can only be omitted during memory operation.
Alternatively,
M98 P_ Q_ L_;
Number of subprogram repetitions (L1 if omitted)
Sequence number in subprogram to be called (head block if omitted)
Program number [composed of numerals only] of subprogram to be called (own program if
omitted). P can only be omitted during memory operation.
12-54
PROGRAM SUPPORT FUNCTIONS 12
;
O#### ;
.................; Subprogram A
M
M99;
%
;
O∆∆∆∆ ;
.................; Subprogram B
M
M99;
%
;
O"""" ;
.................; Subprogram C
M
M99;
%
Note 1: Main programs can be used during memory and tape operation but subprograms must
have been entered in the memory.
Note 2: The following commands are not the object of subprogram nesting and can be called
even beyond the 8th nesting level.
- Fixed cycles
- Pattern cycles
4. Subprogram execution
M98: Subprogram call command
M99: Subprogram return command
Programming format
M98 <_> Q_ L_; or M98 P_ Q_ L_;
Where < > : Name of the subprogram to be called (up to 32 characters)
P : Number of the subprogram to be called (up to 8 digits)
Q : Any sequence number within the subprogram to be called (up to 5 digits)
L : Number of repetitions from 1 to 9999 with numerical value of four figures; if L is
omitted, the subprogram is executed once ; with L0, there is no execution.
For example,
M98 P1 L3; is equivalent to the following :
M98 P1;
M98 P1;
M98 P1;
12-55
12 PROGRAM SUPPORT FUNCTIONS
For nesting, the M98 and M99 commands should always be paired off on a 1 : 1 basis [1]' for [1],
[2]' for [2], etc.
Modal information is rewritten according to the execution sequence without distinction between
main programs and subprograms. This means that after calling a subprogram, attention must be
paid to the modal data status when programming.
Example 2: The M98 Q_ ; and M99 P_ ; commands designate the sequence numbers in a
program with a call instruction.
M98Q_; M99P_;
O123;
M98Q3; N100__;
Search M98P123;
N200__;
N3__; N300__;
N400__;
M
M99; M
M99P100;
TEP163
12-56
PROGRAM SUPPORT FUNCTIONS 12
Example 3: Main program M98 P2 ;
O1;
M Subprogram 1
M99;
%
O2;
M
N200 Subprogram 2
M
M99;
%
O3;
M
N200 Subprogram 3
M
M99;
%
- When the O2 N200 block is searched with the memory search function, the modal data are
updated according to the related data of O2 to N200.
- The same sequence number can be used in different subprograms.
- When the subprogram (No. p1) is to be repeatedly used, it will be repeatedly executed for I1
times provided that M98 Pp1 Ll1 ; is programmed.
5. Other precautions
- Programming error occurs when the designated program number (P) is not found.
- Single block stop does not occur in the M98P _ ; and M99 ; block. If any address except O, N, P,
Q or L is used, single block stop can be executed. (With X100. M98 P100 ; operation branches
to O100 after X100. is executed.)
- When M99 is commanded in the main program, operation returns to the head.
- Operation can branch from tape or PTR operation to a subprogram by M98P_ but the
sequence number of the return destination cannot be designated with M99P_ ;. (P_ is ignored.)
- Care should be taken that the search operation will take time when the sequence number is
designated by M99P_ ;
- The Z- and C-offset values stored on the SET UP MANAG. display for the main program will
remain intact for the execution of a subprogram prepared in the EIA/ISO format.
12-57
12 PROGRAM SUPPORT FUNCTIONS
A. Overview
MAZATROL machining program can be called as a subprogram from the machining program
described with EIA/ISO codes.
EIA/ISO → MAZATROL (Program call)
MAZATROL (WNo. 1000)
EIA/ISO
MAZATROL machining program is called
from EIA/ISO program, and entire
machining program can be used.
M98P1000;
Note 1: When the execution of MAZATROL machining program is completed, the execution is
returned again to EIA/ISO program.
It should be noted that the used tool, current position and others are changed though
EIA/ISO modal information is not changed.
Note 2: The Z- and C-offset values used for the execution of a MAZATROL program as a
subprogram called up from an EIA/ISO program depend upon the setting of parameter
F161 bit 6 as follows:
F161 bit 6 = 0: Values of the subprogram (MAZATROL)
= 1: Values of the main program (EIA/ISO)
B. Programming format
M98 <_> L_; or M98 P_ L_;
< > or P:
- Name, or number, of the MAZATROL machining program to be called.
- When omitted, the alarm NO DESIGNATED PROGRAM will be displayed.
- Also, when the specified program is not stored, the alarm NO DESIGNATED PROGRAM
will be displayed.
L:
- Number of repetitions of program execution (1 to 9999).
- When omitted or L = 0, the called program will be executed one time (as if L = 1).
12-58
PROGRAM SUPPORT FUNCTIONS 12
C. Detailed description
1. END unit of the MAZATROL program
The END unit of the MAZATROL program to be called must have “1” specified under CONTI.
for correct return to the EIA/ISO main program.
As for the END unit’s items other than CONTI.: Even if WORK No. is specified, program
chain cannot be made with the MAZATROL program called from an EIA/ISO program.
EIA/ISO MAZATROL
M98
UNIT CONTI. WORK No.
END 1 ∗∗∗ Ignored
Impossible
MAZATROL
Also, REPEAT and SHIFT are ignored even if they are specified.
2. MAZATROL program execution
When MAZATROL program is called from EIA/ISO program, the MAZATROL program is
executed like automatic operation of MAZATROL.
MAZATROL program is executed independently of EIA/ISO program which has made the
call. In other words, it performs the same machining as MAZATROL program alone is
executed. When calling MAZATROL program, always place a tool outside the safety profile
beforehand. Failure to do this may cause interference of a workpiece with the tool.
Note: The END unit of the MAZATROL program to be called from an EIA/ISO program must
have “1” specified under CONTI. for correct return to the EIA/ISO main program. Never
use an M99 command for the return.
D. Remarks
1. MDI interruption and macro interruption signal during MAZATROL program execution are
ignored.
2. MAZATROL program cannot be restarted halfway.
3. MAZATROL program call in the mode of a fixed cycle results in an alarm.
4. MAZATROL program call in the mode of nose radius compensation results in an alarm.
5. MAZATROL program call is not available in the MDI operation mode (results in an alarm).
6. A MAZATROL program called by M98 cannot be executed but in its entirety (from the head
to the end).
7. Commands to addresses other than O, N, P, Q, L and H in a block of M98 for MAZATROL
program call will not be processed till completion of the called program.
12-59
12 PROGRAM SUPPORT FUNCTIONS
As shown below, the next program can be designated alternatively with address S if its
“name” consists of numerals only.
M998(999) S111 Q1;
Specification of execution or non-execution of parts count
(counting updated on POSITION display)
0: Parts count non-execution
1: Parts count execution
Number of the program to be executed next
M-code for program chain
M998: Continuous execution after parts count and work No. search
M999: Ending after parts count and work No. search
- M998<####>
EIA/ISO program
↓ ↓
↓ MAZATROL program ↓
↓ or ↓
EIA/ISO program
↓ ↓
↓ ↓
M998<####>
MAZATROL or EIA/ISO program is called from EIA/ISO program and executed as the next
program.
- M999<####>
EIA/ISO program
↓
↓ MAZATROL program
↓ or
EIA/ISO program
↓
↓
M999<####>
MAZATROL or EIA/ISO program is only called from EIA/ISO program and the operation is
terminated.
12-60
PROGRAM SUPPORT FUNCTIONS 12
Note 1: In order to prevent the machine operation from being inconveniently stopped, the NC
will process a block of M998Q1 automatically as that of M999Q1 in case the total
number of machined parts should amount to, or exceed, the preset number of parts
required.
Note 2: Omission of the designation of the next program, be it by name or number, will result in
the current main program being called up as the next one.
1. Overview
Chamfering or corner rounding can be commanded between two blocks specified by linear
interpolation (G01). For I, J and K, radial data must be always set.
70
30 (b)
C3
(c)
2. Detailed description
1. For chamfering or corner rounding, movement commanded by G01 must be displacement
in the X- or Z-axis only. In the second block, a command perpendicular to the first axis must
be given in the Z- or X-axis.
2. The starting point of the second block is the ending point of the first block.
Example: G01 Z270.0 R6;
X860.0 K–3; The starting point of this block has Z270.0 as Z coordinate.
3. The commands below will cause an alarm.
- I, J, K or R is commanded while two axes of X and Z are commanded in G01.
- Two of I, J, K or R are commanded in G01.
- X and I, Y and J or Z and K are commanded at the same time in G01.
- In a block commanding chamfering or corner rounding, movement distance in X- or Z-axis
is smaller than chamfering data or corner radius data.
- In a block next to the block commanding chamfering or corner rounding, command G01 is
not perpendicular to the command in the preceding block.
4. In threading block, chamfering or corner rounding command will be ignored.
5. Execution by single step mode will require two steps to complete the operation.
12-61
12 PROGRAM SUPPORT FUNCTIONS
6. When M, T commands are included in the same block, execution point must be considered.
12-62
PROGRAM SUPPORT FUNCTIONS 12
7. Chamfering and corner rounding programming format
d
Starting
r Specify the point “e”.
point c
G01 Z(W)e Rr; Specify the data only for X-axis
X(U)d; ・・・・・ Next block e in the next block.
a b
d ≥ e + 2r
Corner a→b→c→d
rounding
Z→X a b e
Specify the point “e”.
Starting
G01 Z(W)e R–r; point r c Specify the data only for X-axis
X(U)d; ........ Next block d in the next block.
d ≤ e – 2r
a→b→c→d
a
Starting
point
Specify the point “e”.
G01 X(U)e Rr; Specify the data only for Z-axis
r
Z(W)d; ........ Next block b in the next block.
c d d≥e+r
e a→b→c→d
Corner
rounding Starting Specify the point “e”.
a
X→Z point Specify the data only for Z-axis
r b in the next block.
G01 X(U)e R–r; d≤e–r
Z(W)d; ........ Next block d e
c
a→b→c→d
TEP171
12-63
12 PROGRAM SUPPORT FUNCTIONS
1. Function
The arbitrary corner is chamferred between two points on the two lines which form this corner
and displaced by the lengths commanded by “,C_” from their intersection point.
2. Programming format
N100 G01 X_ Z_ ,C_;
N200 G01 X_ Z_; Chamfering is performed at the point where N100 and N200
intersect.
Length up to chamfering starting point or ending point from virtual
corner intersection point
3. Example of program
(a) G01 W100.,C10.F100;
(b) U280.W100.;
(b)
Virtual corner
intersection point 140
Chamfering Chamfering
starting point ending point
(a) 10.0
10.0
Z
4. Detailed description
1. The starting point of the block following the corner chamfering is the virtual corner inter-
section point.
2. When the comma in “ , C ” is not present, it is considered as a C command.
3. When both, C_ and , R_ are commanded in the same block, the latter command is valid.
4. Tool offset is calculated for the shape which has already been subjected to corner
chamfering.
5. Program error occurs when the block following the block with corner chamfering does not
contain a linear interpolation command.
6. Program error occurs when the movement amount in the block commanding corner
chamfering is less than the chamfering amount.
12-64
PROGRAM SUPPORT FUNCTIONS 12
7. Program error occurs when the movement amount in the block following the block
commanding corner chamfering is less than the chamfering amount.
1. Funciton
The arbitrary corner is rounded with the arc whose radius is commanded by “,R_” and whose
center is on the bisecter of this corner angle.
2. Programming format
N100 G01 X_ Z_ ,R_;
N200 G01 X_ Z_; Rounding is performed at the point where N100 and N200
intersect.
Arc radius of corner rounding
3. Example of program
(a) G01 W100.,R10.F100;
(b) U280.W100.;
X-axis
Z-axis
4. Detailed description
1. The starting point of the block following the corner rounding is the virtual corner intersection
point.
2. When the comma in “ , R” is not present, it is considered as an R command.
3. When both , C_ and , R_ are commanded in the same block the latter command is valid.
4. Tool offset is calculated for the shape which has already been subjected to corner rounding.
5. Program error occurs when the block following the block with corner rounding does not
contain a linear command.
6. Program error occurs when the movement amount in the block commanding corner
rounding is less than the R value.
7. Program error occurs when the movement amount in the block following the block
commanding corner rounding is less than the R value.
12-65
12 PROGRAM SUPPORT FUNCTIONS
2. Programming format
N1 G01 Aa1 Zz1 (Xx1) Designate the angle and the coordinates of the X-axis or the Z-axis.
N2 G01 A–a2 Zz2 Xx2 (In stead of A–a2, Aa3 can be used for the same result.)
* A and ,A (with a prefixed comma) can be used for angle designation.
(z1, x1)
x1
–a2
N1 N2
a3
a1
x2
(z2, x2)
Z
MEP190
3. Detailed description
1. The angle denotes that relative to the plus (+) direction of the first axis (horizontal axis) on
the selected plane.
Assign the sign + for a counterclockwise direction (CCW) or the sign – for a clockwise
direction (CW).
2. Set the ending point on one of the two axes of the selected plane.
3. Angle data will be ignored if the coordinates of both axes are set together with angles.
4. If angles alone are set, the command will be handled as a geometric command.
5. For the second block, the angle at either the starting point or the ending point can be
specified.
6. Always give a linear angle command using A with a prefixed comma (,A) if address A is to
be used for an axis name or for the No. 2 miscellaneous function.
7. This function is valid only for G01 commands (for linear interpolation); it is not valid for other
interpolation or positioning commands.
12-66
PROGRAM SUPPORT FUNCTIONS 12
!!!!!!!!!!!! !!!!!!!!!!!!
Macroprogram call-
out command
M30 M99
MEP164
Detailed description
- When command G66 is entered, the designated user macro subprogram willbe called every
time after execution of the move commands within a block until G67 (cancellation) is entered.
- Command codes G66 and G67 must reside in the same programm in pairs.
12-67
12 PROGRAM SUPPORT FUNCTIONS
1. Single call
O01
to subprogram
G65P01Ll1 <argument>
M99
to main program
Format:
G65 <__> L__ <argument>
Repeat times
Repeat times
<Argument>
When argument is to be delivered to the user macro subprogram as a local variable, designate
the required data with the respective addresses. (Argument designation is not available for a
user macro subprogram written in MAZATROL language.)
In such a case, the argument can have a sign and a decimal point, irrespective of the address.
Arguments can be specified using method I or II, as shown below.
12-68
PROGRAM SUPPORT FUNCTIONS 12
A. Argument specification I
Format: A_B_C_ !!!!!!! X_Y_Z_
Detailed description
- An argument can be specified using all addresses, except G, L, N, O, and P.
- Except for I, J, and K, addresses does not need be specified in an alphabetical order.
- Addresses I, J, and K must be specified in an alphabetical order.
I_J_K_ ... Correct
J_I_K_ ... Wrong
- Addresses whose specification is not required can be omitted.
- The relationship between addresses that can be specified using argument specification I, and
variables numbers in a user macro unit, is shown in the following table:
Relationship between address and variables number Call commands and usable addresses
Address specified using Variable in macro-
G65, G66 G66.1
method I program
A #1 # #
B #2 # #
C #3 # #
D #7 # #
E #8 # #
F #9 # #
G #10 × ×*
H #11 # #
I #4 # #
J #5 # #
K #6 # #
L #12 × ×*
M #13 # #
N #14 × ×*
O #15 × ×
P #16 × ×*
Q #17 # #
R #18 # #
S #19 # #
T #20 # #
U #21 # #
V #22 # #
W #23 # #
X #24 # #
Y #25 # #
Z #26 # #
#: Usable ×: Unusable *: Usable in G66.1 modal
12-69
12 PROGRAM SUPPORT FUNCTIONS
B. Argument specification II
Format: A_B_C_I_J_K_I_J_K_!!!!!
Detailed description
- Up to a maximum of 10 sets of arguments that each consist of addresses I, J, and K, as well as
A, B, and C, can be specified.
- If identical addresses overlap, specify them in the required order.
- Addresses whose specification is not required can be omitted.
- The relationship between addresses that can be specified using argument specification II, and
variables numbers in a user macro unit, is shown in the following table:
Note: In the table above, the numerals 1 through 10 have been added to addresses I, J, and
J just to denote the order of arrangement of the designated sets of arguments: these
numerals are not included in actual instructions.
12-70
PROGRAM SUPPORT FUNCTIONS 12
2. Modal call, type A (Move command call)
Subprogram
Main program
O01
to subprogram
G66P01Ll1 <argument>
M99
to main program
G67
to subprogram
For a block that has a move command code between G66 and G67, the designated user macro
subprogram is executed after that move command has been executed. The subprogram is
executed an l1 number of times for the first call, or once for subsequent calls.
For modal call of type A, the methods of specifying <argument> are the same as used for single
call.
Format:
G66 <__> L__ <argument>
Repeat times
Program name
Alternatively,
Repeat times
Program No.
Detailed description
- When command G66 is entered, the designated user macro subprogram will be called every
time after execution of the move commands within a block until command G67 (cancellation) is
entered.
- Command codes G66 and G67 must reside in the same program in pairs.
Entry of a G67 command without a G66 command results in an alarm 857 INCORRECT USER
MACRO G67 PROG.
12-71
12 PROGRAM SUPPORT FUNCTIONS
Main program
N1G90G54G0X0Y0Z0
Subprogram
N2G91G00X–50.Y–50.Z–200.
N3G66P9010R–10.Z–30.F100 O9010
N4X–50.Y–50. To subprogram after execution of axis command N10G00Z#18M03
N5X–50. To subprogram after execution of axis command N20G09G01Z#26F#9
N6G67 N30G00Z–[#18+#26]
M M99
To main program
Y
Argument F
To subprogram
MEP165
Note 1: The designated subprogram is executed after the axis commands in the main program
have been executed.
Note 2: No subprograms are executed for the G67 block and its successors.
Format:
G66.1 <__> L__ <argument>
Repeat times
Program name
Alternatively,
Repeat times
Program No.
12-72
PROGRAM SUPPORT FUNCTIONS 12
Detailed description
- During the G66.1 mode, only the codes O, N, and G in each of the read command blocks are
executed. No other codes in those blocks are executed; codes other than O, N, and G are
handled as arguments. However, only the last G-code and the N-codes following a code other
than O or N become arguments.
- All significant blocks in the G66.1 mode are regarded as preceded by the command G65P_.
For example, the block of
N100G01G90X100. Y200. F400R1000
in the G66.1P1000 mode is handled as equivalent to
N100G65P1000G01G90X100. Y200. F400R1000.
Note: Call is executed even for the G66.1 command block of the G66.1 mode, with the
relationship between the addresses of the arguments and the variables numbers
being the same as for G65 (single call).
- The data range of the G, L, P, and N commands that you can set as new variables using the
G66.1 mode is the same as the data range of usual NC commands.
- Sequence number N, modal G-codes, and O are all updated as modal information.
Format:
G×× <argument>
Detailed description
- The instruction shown above performs the same function as those of the instructions listed
below. Which of these listed instructions will apply is determined by the parameter data to be
set for each G-code.
M98P∆∆∆∆
G65P∆∆∆∆ <argument>
G66P∆∆∆∆ <argument>
G66.1P∆∆∆∆ <argument>
- Use parameters to set the relationship between G×× (macro call G-code) and P∆∆∆∆ (program
number of the macro to be called).
- Of G00 through G255, up to a maximum of 10 command codes can be used with this
instruction unless the uses of these codes are clearly predefined by EIA/ISO Standards, such
as G00, G01, G02, etc.
- The command code cannot be included in user macro subprograms that have been called
using G-codes.
12-73
12 PROGRAM SUPPORT FUNCTIONS
5. Auxiliary command macro call (M-, S-, T-, or B-code macro call)
The user macro subprograms of the required program number can be called just by setting M-,
S-, T-, or B-codes.
Format:
Mm (or Ss, Tt and Bb)
Detailed description (The following description also applies to S-, T-, and B-codes.)
- The instruction shown above performs the same function as those of the instructions listed
below. Which of these listed instructions will apply is determined by the parameter data to be
set for each M-code.
M98P∆∆∆∆
G65P∆∆∆∆Mm
G66P∆∆∆∆Mm
G66.1P∆∆∆∆Mm
- Use parameter to set the relationship between Mm (macro call M-code) and P∆∆∆∆ (program
number of the macro to be called).
Up to a maximum of 10 M-codes, ranging from M00 to M95, can be registered. Do not register
the M-codes that are fundamentally required for your machine, nor M0, M1, M2, M30, and M96
through M99.
- If registered auxiliary command codes are set in the user macro subprograms that have been
called using M-codes, macro calls will not occur since those special auxiliary command codes
will be handled as usual ones (M-, S-, T-, or B-codes).
12-74
PROGRAM SUPPORT FUNCTIONS 12
7. Multiplexity of macro call commands
The maximum available number of levels of macro subprogram call is four, whether it is single or
modal. Arguments in macro call instructions become valid only within the level of the called
macro. Since the multiplexity of macro call is of up to a maximum of four levels, arguments can
be included in a program as local variables each time a macro call is made.
Note 1: When a G65, G66, or G66.1 macro call or an auxiliary command macro call is made,
nesting will be regarded as single-level and thus the level of local variables will also
increase by 1.
Note 2: For modal call of type A, the designated user macro subprogram is called each time a
move command is executed. If, however, multiple G66s are present, the next user
macro subprogram will be called even for the move commands in the macro each time
axis movement is done.
Note 3: User macro subprograms are cancelled in a reverse order to that in which they have
been arranged.
Example:
G66Pp2
Macro p1
(p2 call-out)
Zz2 x1 w1 x2 M99
After z2 execution
G67
(p2 cancel)
Macro p2 Macro p2 Macro p2
Macro p1
(p1 call-out)
Zz3 x1 w1 x2 M99
After z3 execution
G67
(p1 cancel)
Zz4
Zz5
12-75
12 PROGRAM SUPPORT FUNCTIONS
M
M96<_>L_ (or M96P_L_) (Branching mode on)
M When user macroprogram interruption signal is input
M during this space, the branch into the specified user
M97 (Branching mode off) macroprogram will be applied.
M
- User macro interrupts can be processed even when the number of levels of macro call
multiplexity during the occurrence of an interrupt is four. The local variables' level of the user
macros used for interruption is the same as the level of the user macros existing during the
occurrence of an interrupt.
Interruption branch
Interruption return
M97
M
M99 M99 M99
(Level 3) (Level 4)
12-76
PROGRAM SUPPORT FUNCTIONS 12
12-10-3 Variables
Of all types of variables available for the NC unit, only local variables, common variables, and
part of system variables are retained even after power-off.
1. Multiplexing of variables
Under user macro specifications, variables can have their identifiers (identification numbers)
either transformed into variables, which is referred to as multiplexing, or replaced with
<expression>.
For <expression>, only one arithmetic expression (for either multiplication, division, addition, or
subtraction) can be used.
Example 1: Multiplexing variables
#1=10 #10=20 #20=30 From #1 = 10, #[#[#1]] = #[#10] will result.
#5=#[#[#1]] From #10 = 20, #[#10] = #20 will result. Therefore #5 = #20, i.e. #5
= 30 will result.
#1=10 #10=20 #20=30 From #1 = 10, #[#[#1]] = #[#10] will result.
#5=1000 From #10 = 20, #[#10] = #20 will result. Therefore #20 = #5, i.e.
#[#[#1]]=#5 #20 = 1000 will result.
Example 2: Replacing variables identifiers with <expression>
#10=5
#[#10+1]=1000 #6 = 1000 will result.
#[#10–1]=–1000 #4 = –1000 will result.
#[#10∗3]=100 #15 = 100 will result.
#[#10/2]=–100 #2 = –100 will result.
2. Undefined variables
Under user macro specifications, variables remaining unused after power-on or local variables
that are not argument-specified by G65, G66, or G66.1 can be used as <empty>. Also, variables
can be forcibly made into <empty>.
Variable #0 is always used as <empty> one, and this variable cannot be defined on the left side
of the expression.
A. Arithmetic expression
#1=#0................. #1 = <empty>
#2=#0+1 ............ #2 = 1
#3=1+#0 ............ #3 = 1
#4=#0∗10 .......... #4 = 0
#5=#0+#0 .......... #5 = 0
Note: Be careful that <empty> is handled the same as 0 during processing of expressions.
<empty> + <empty> = 0
<empty> + <constant> = constant
<constant> + <empty> = constant
12-77
12 PROGRAM SUPPORT FUNCTIONS
B. Applying variables
Application of an undefined variable alone causes even the address to be ignored.
If #1 = <empty>
G0X#1Y1000 is equivalent to G0Y1000, and
G0X[#1+10]Y1000 is equivalent to G0X10Y1000.
C. Conditional expression
Only for EQ and NE, does <empty> differ from 0 in meaning.
Right side EQ NE GT LT GE LE
Left side Empty Constant Empty Constant Empty Constant Empty Constant Empty Constant Empty Constant
Empty H H H H H
Constant H H H
12-78
PROGRAM SUPPORT FUNCTIONS 12
12-10-4 Types of variables
G65Pp1Ll1 <argument>
Argument addresses marked as × in the table above cannot be used. Only during the G66.1
mode, however, can argument addresses marked with an asterisk (*) in this table be additionally
used. Also, the dash sign (–) indicates that no address is crosskeyed to the local variables
number.
12-79
12 PROGRAM SUPPORT FUNCTIONS
1. Local variables for a subprogram can be defined by specifying <argument> when calling a
macro.
To subprogram #5=#4010
G65P9900A60.S100.F800 G91G01 X[#19∗COS[#1]]
Y[#19∗SIN[#1]]F#9
M02 M99
F (#9)=800
Local variable
data table S (#19)=100.000
#30=FUP[#2/#5/2]
To subprogram
#5=#2/#30/2
M98H100L#30
G65P1A100.B50.J10.F500
X#1
M99
N100G1X#1F#9
Y#5
X–#1
Example of face milling X#5
M99
A (#1) 100.000
B (#2) 50.000
J
F (#9) 500
Local variable
J (#5) 10.000 → 8.333
data table
A (#30) → 3.
In the sample program for face-milling that is shown above, although the argument J has initially
been programmed as a machining pitch of 10 mm, it has been changed into 8.333 mm to ensure
equal-pitched machining.
Also, local variable #30 contains the calculated data about the number of times of reciprocal
machining.
12-80
PROGRAM SUPPORT FUNCTIONS 12
3. Local variables can be used for each of the four levels of macro call separately. For the
main program (macro level 0), separate local variables are also provided. The local
variables of level 0, however, cannot be designated with arguments.
Main (Level 0) O1 (Macro level 1) O10 (Macro level 2) O100 (Macro level 3)
#1=0.1#2=0.2#3=0.3
Local variable (0) Local variable (1) Local variable (2) Local variable (3)
#1 0.100 A(#1) 1.000 A(#1) 10.000 A(#1) 100.000
#2 0.200 B(#2) 2.000 B(#2) 20.000 B(#2) 200.000
#3 0.300 C(#3) 3.000 C(#3) 30.000 C(#3)
D(#7) D(#7)
How the local variables are currently being used is displayed on the screen.
For further details, refer to the Operating Manual.
12-81
12 PROGRAM SUPPORT FUNCTIONS
System variable Points Interface input signal System variable Points Interface input signal
#1000 1 Register R72, bit 0 #1016 1 Register R73, bit 0
#1001 1 Register R72, bit 1 #1017 1 Register R73, bit 1
#1002 1 Register R72, bit 2 #1018 1 Register R73, bit 2
#1003 1 Register R72, bit 3 #1019 1 Register R73, bit 3
#1004 1 Register R72, bit 4 #1020 1 Register R73, bit 4
#1005 1 Register R72, bit 5 #1021 1 Register R73, bit 5
#1006 1 Register R72, bit 6 #1022 1 Register R73, bit 6
#1007 1 Register R72, bit 7 #1023 1 Register R73, bit 7
#1008 1 Register R72, bit 8 #1024 1 Register R73, bit 8
#1009 1 Register R72, bit 9 #1025 1 Register R73, bit 9
#1010 1 Register R72, bit 10 #1026 1 Register R73, bit 10
#1011 1 Register R72, bit 11 #1027 1 Register R73, bit 11
#1012 1 Register R72, bit 12 #1028 1 Register R73, bit 12
#1013 1 Register R72, bit 13 #1029 1 Register R73, bit 13
#1014 1 Register R72, bit 14 #1030 1 Register R73, bit 14
#1015 1 Register R72, bit 15 #1031 1 Register R73, bit 15
Note: The following interface input signals are used exclusively in the NC system operation
(cannot be used for other purposes).
12-82
PROGRAM SUPPORT FUNCTIONS 12
4. Macro interface output system variables (#1100 to #1135)
You can send an interface output signal by assigning a value to the appropriate variables
number (#1100 to #1135).
All output signals can take either 0 or 1.
You can also send all output signals of the variables from #1100 to #1131 at the same time by
assigning a value to variables number 1132. In addition to the data writing for offsetting the
#1100 to #1135 output signals, the reading of the output signal status can be done.
System variable Points Interface output signal System variable Points Interface output signal
#1100 1 Register R172, bit 0 #1116 1 Register R173, bit 0
#1101 1 Register R172, bit 1 #1117 1 Register R173, bit 1
#1102 1 Register R172, bit 2 #1118 1 Register R173, bit 2
#1103 1 Register R172, bit 3 #1119 1 Register R173, bit 3
#1104 1 Register R172, bit 4 #1120 1 Register R173, bit 4
#1105 1 Register R172, bit 5 #1121 1 Register R173, bit 5
#1106 1 Register R172, bit 6 #1122 1 Register R173, bit 6
#1107 1 Register R172, bit 7 #1123 1 Register R173, bit 7
#1108 1 Register R172, bit 8 #1124 1 Register R173, bit 8
#1109 1 Register R172, bit 9 #1125 1 Register R173, bit 9
#1110 1 Register R172, bit 10 #1126 1 Register R173, bit 10
#1111 1 Register R172, bit 11 #1127 1 Register R173, bit 11
#1112 1 Register R172, bit 12 #1128 1 Register R173, bit 12
#1113 1 Register R172, bit 13 #1129 1 Register R173, bit 13
#1114 1 Register R172, bit 14 #1130 1 Register R173, bit 14
#1115 1 Register R172, bit 15 #1131 1 Register R173, bit 15
Note 1: Data of the system variables from #1100 to #1135 is saved according to the logical
level (1 or 0) of the signal that has been lastly sent. The saved data is cleared by
power-on/off automatically.
Note 2: The following applies if a data other than 1 or 0 is assigned to the variables from #1100
to #1131:
<empty> is regarded as equal to 0.
Data other than 0 and <empty> is regarded as equal to 1.
Data less than 0.00000001, however, is regarded as undefined.
12-83
12 PROGRAM SUPPORT FUNCTIONS
#1001 #1101
#1002 #1102
Read Read
#1003 #1103
only and write
#1028 #1128
#1029 #1129
Macro- #1130
#1030
instruction
#1031 #1131
5. Tool offset
TOOL OFFSET data of type C are provided for turning machines.
# : Available × : Unavailable
Range of variable Nos. Type A Type B Type C Type D
#100001 - #10001 - #2001 - # Length Geom.
# # Geom. offset Z # Length Z
#100000+n #10000+n #2000+n offset
#110001 - #11001 - #2201 - # Length Wear
× # Wear comp. Z
#110000+n #11000+n #2200+n comp.
#160001 - #16001 -
#160000+n #16000+n #2401 - # Dia. Geom. # Geom. offset
× # Radius R
*(#120001 - *(#12001 - #2400+n offset Nose-R
#120000+n) #12000+n)
#170001 - #17001 -
170000+n #17000+n #2601 - # Dia. Wear # Wear comp.
×
*(#130001 - *(#13001 - #2600+n comp. Nose-R
#130000+n) #13000+n)
#120001 - #12001 -
× × # Geom. offset X # Length X
#120000+n #12000+n
#130001 - #13001 -
× × # Wear comp. X
#130000+n #13000+n
#140001 - #14001 -
× × # Geom. offset Y # Length Y
#140000+n #14000+n
#150001 - #15001 -
× × # Wear comp. Y
#150000+n #15000+n
#180001 - #18001 - # Offsetting # Offsetting
× ×
#180000+n #18000+n direction direction
12-84
PROGRAM SUPPORT FUNCTIONS 12
Variable numbers Maximum of n
#100001 - #184000 4000
#10001 - #18999 999
#2001 - #2800 200
*: The numbers of variables used for tool offset depend upon a parameter:
F96 bit 0 = 0: #16001 to #16000+n, and #17001 to #17000+n
= 1: #12001 to #12000+n, and #13001 to #13000+n.
Note: Set bit 0 of parameter F96 to “0” to use the TOOL OFFSET type C data.
Using variables numbers, you can read tool data or assign data.
Usable variables numbers are of the order of either #10000 or #2000. For the order of #2000,
however, only up to 200 sets of tool offsets can be used.
The last three digits of a variables number denote a tool offset number.
As with other variables, tool offset data is to contain the decimal point. The decimal point must
therefore be included if you want to set data that has decimal digits.
Sensor
Note: The example shown above does not allow for any skip sensor signal delay. Also,
#5003 denotes the position of the starting point of the Z-axis, and #5063 denotes the
skip coordinate of the Z-axis, that is, the position at which a skip signal was input during
execution of G31.
12-85
12 PROGRAM SUPPORT FUNCTIONS
(Example 1) N1
M
N1 G28X0Y0Z0 –90.
N2 #5221=–20.#5222=–20.
N3
N3 G90G00G54X0Y0 –10.
W1 N11 –20.
W1
N10 #5221=–90.#5222=–10. Workpiece coordinate
system of G54 specified
N11 G90G00G54X0Y0
by N10
Workpiece coordinate system of
G54 specified by N2
M02
(Example 2)
Fundamental machine coordinate system
Coordinate shift
M
Coordinate
system G55
before G54
change
W2 (G55)
N100 #5221=#5221+#5201 W1 (G54)
#5222=#5222+#5202
#5241=#5241+#5201
#5242=#5242+#5202
#5201=0 #5202=0 Fundamental machine coordinate system
Coordinate M
system after G55
G54
change
W2 (G55)
W1 (G54)
MEP166
The example 2 shown above applies only when coordinate shift data is to be added to the offset
data of a workpiece coordinate system (G54 or G55) without changing the position of the
workpiece coordinate system.
12-86
PROGRAM SUPPORT FUNCTIONS 12
[Additional workpiece coordinate system offset]
Variables numbered 70001 to 75996 can be used to read or assign additional workpiece
coordinate system offsetting dimensions. The variable number for the k-th axis origin of the “Pn”
coordinate system can be calculated as follows:
70000 + (n – 1) × 20 + k
Note: The total number of controllable axes depends on the machine specifications.
Alternatively, variables numbered 7001 to 7956 can be used to read or assign additional work-
piece coordinate system offsetting dimensions. The variable number for the k-th axis origin of the
“Pn” coordinate system can be calculated as follows:
7000 + (n – 1) × 20 + k
Note: The total number of controllable axes depends on the machine specifications.
12-87
12 PROGRAM SUPPORT FUNCTIONS
9. NC alarm (#3000)
The NC unit can be forced into an alarm status using variables number 3000.
#3000 = 70 (CALL#PROGRAMMER#TEL#530)
*1 Refers to alarm Nos. 980 to 999 whose messages are preset as indicated in Alarm List.
*2 Display of a message as it is set in the macro statement.
M
IF[#1NE0]GOTO100 980 MACRO USER ALARM 1
Operation stop by
#3000=1
NC alarm
N100!!!!!!!!!!!!
M
M
IF[#2NE0]GOTO200 Operation stop
3021#ORIGINAL#ALARM#1
#3000=21(#ORIGINAL#ALARM#1) by NC alarm
N200!!!!!!!!!!
M
12-88
PROGRAM SUPPORT FUNCTIONS 12
10. Integrated time (#3001, #3002)
Using variables #3001 and #3002, you can read the integrated time existing during automatic
operation or assign data.
The integrated time is cleared to 0 after having reached about 2.44 × 1011 ms (about 7.7 years).
O9010
To subprogram #3001=0
WHILE[#3001LE#20]DO1
G65P9010T (Allowable time [ms])
END1
M99
12-89
12 PROGRAM SUPPORT FUNCTIONS
Format:
#3006 = 1 (CHECK OPERAT)
Additional setting of a character string (in 29 characters at maximum) in parentheses allows the
required stop message to be displayed on the monitor.
12-90
PROGRAM SUPPORT FUNCTIONS 12
15. G-command modal status
The G-command modal status in a pre-read block can be checked using variables numbers from
4001 to 4026. For variables numbers from #4201 to #4226, the modal status of the block being
executed can be checked in a similar manner to that described above.
Variable Nos.
Block Block Function
pre-read executed
#4001 #4201 Interpolation mode G0-G3 : 0-3, G2.1 : 2.1, G3.1 : 3.1
#4002 #4202 Plane selection G17 : 17, G18 : 18, G19 : 19
#4003 #4203
#4004 #4204 Pre-move stroke check G22 : 22, G23 : 23
#4005 #4205 Feed specification G98 : 98, G99 : 99
#4006 #4206 Inch/metric selection G20/21 : 20/21
#4007 #4207 Tool radius compensation G40 : 40, G41 : 41, G42 : 42
#4008 #4208 Tool length offset G43.4 : 43.4, G43.5 : 43.5
#4009 #4209 Fixed cycle G80 : 80, G73/74 : 73/74, G76 : 76, G83-G89 : 83-89
#4010 #4210
#4011 #4211
#4012 #4212 Workpiece coordinate system G54-G59 : 54-59, G54.1 : 54.1
#4013 #4213 Mode of machining (feed) G61-64 : 61-64, G61.1 : 61.1, G61.4 : 61.4
#4014 #4214 Macro modal call G66 : 66, G66.1 : 66.1, G67 : 67
#4015 #4215
#4016 #4216 Programmed coordinate conversion ON/OF G68.5/69.5 : 68.5/69.5
#4017 #4217 Constant surface speed control ON/OFF G96/97 : 96/97
#4018 #4218
#4019 #4219
#4020 #4220 Cross machining control G110 : 110, G110.1 : 110.1, G111 : 111
#4021 #4221
#4022 #4222
#4023 #4223 Polygonal machining G50.2 : 50.2, G51.2 : 51.2
#4024 #4224 M-/S-/T-/B-code output to opposite system G112 : 112
#4025 #4225
#4026 #4226 Polar coordinate interpolation ON/OFF G12.1/13.1 : 12.1/13.1
12-91
12 PROGRAM SUPPORT FUNCTIONS
Note 1: Use the variable #4315 from the second block of the program. If it is used in the first
block, the reading of the program number is not successful.
Note 2: The variables #4115 and #4315 are only effective for programs whose ID-number or
name consists of numerals only. During execution of a program whose name contains
even one single character other than numerals, the reading in question remains zero
(0).
12-92
PROGRAM SUPPORT FUNCTIONS 12
17. Position information
Using variables numbers from #5001 to #5116, you can check the ending-point coordinates of
the previous block, machine coordinates, workpiece coordinates, skip coordinates, tool position
offset coordinates, and servo deviations.
1. The ending-point coordinates and skip coordinates read will be those related to the
workpiece coordinate system.
2. Ending-point coordinates, skip coordinates, and servo deviations can be checked even
during movement. Machine coordinates, workpiece coordinates, and tool position offset
coordinates must be checked only after movement has stopped.
G00
G01
Read
command
End point
coordinates
W Workpiece
coordinate system
Workpiece
coordinates
Machine
coordinate system
Machine M
coordinates
MEP167
12-93
12 PROGRAM SUPPORT FUNCTIONS
3. Skip coordinates denote the position at which a skip signal has turned on at the block of
G31. If the skip signal has not turned on, skip coordinates will denote the corresponding
ending-point position.
Read
command
Gauge, etc.
MEP168
4. The ending-point position denotes the tool tip position which does not allow for any tool
offsets, whereas machine coordinates, workpiece coordinates, and skip coordinates denote
the tool reference-point position which allows for tool offsets.
Skip signal
G31
F (Speed)
W
Workpiece
coordinate system
Workpiece
Skip signal input coordinates
coordinates Machine
M coordinate system
Machine coordinates
Mark $: Read after confirmation of stop.
Mark #: Can be read during move. MEP169
The input coordinates of a skip signal denote the position within the workpiece coordinate
system. The coordinates stored in variables from #5061 to #5066 are those existing when
skip signals were input during movement of the machine. These coordinates can therefore
be read at any time after that. See Chapter 14 for further details.
12-94
PROGRAM SUPPORT FUNCTIONS 12
Example 1: Workpiece position measurement:
The following shows an example of measuring the distance from a reference
measurement point to the workpiece end:
N1 G91G28X0Y0
N2 G90G00X0Y0 –50
N3 X0Y–100.
N4 G31X–150.Y–50.F80 –75
N5 #111=#5061 #112=#5062
N6 G00Y0 –100
N7 G31X0
N8 #121=#5061 #122=#5062
N9 M02 –Y
Skip signal
MEP171
12-95
12 PROGRAM SUPPORT FUNCTIONS
19. Tool No. (#51999) and data line No. (#3020) of the spindle tool
Using variables numbers 51999 and 3020, you can check the tool number and TOOL DATA line
number of the tool mounted in the spindle.
12-96
PROGRAM SUPPORT FUNCTIONS 12
20. MAZATROL tool data
Using variables tabulated below, MAZATROL tool data can be read or written, as required.
Variables from #60001 ............. Tool quantity: 400 (maximum)
Variables from #600001 ........... Tool quantity: 4000 (maximum)
The maximum applicable tool quantity depends on the machine specifications.
(n = Number of index of the tool)
System variables MAZATROL tool data
#60001 to #60000+n #600001 to #600000+n Tool length (milling)/Length A (turning)
#61001 to #61000+n #610001 to #610000+n Tool diameter (milling)
#62001 to #62000+n #620001 to #620000+n Tool life flag
#63001 to #63000+n #630001 to #630000+n Tool damage flag
#64001 to #64000+n #640001 to #640000+n Wear compensation X
#65001 to #65000+n #650001 to #650000+n Wear compensation Y
#66001 to #66000+n #660001 to #660000+n Wear compensation Z
#67001 to #67000+n #670001 to #670000+n Group number
#68001 to #68000+n #680001 to #680000+n Length B (turning)
Note 1: During tool path check, tool data can be checked but cannot be assigned.
Note 2: Tool life flags (variables from #62001/#620001) and tool damage flags (variables from
#63001/#630001) can take either 1 or 0 as their logical states (1 for ON, 0 for OFF).
Note 1: During tool path check, tool data can be checked but cannot be assigned.
Note 2: Tool life flags (variables from #42001/#420001) and tool damage flags (variables from
#43001/#430001) can take either 1 or 0 as their logical states (1 for ON, 0 for OFF).
12-97
12 PROGRAM SUPPORT FUNCTIONS
The date stored in #3011 consists of 8 digits (4, 2, and 2 digits denote respectively year, month,
and day), and the time in #3012 is composed of three sets of two-digit data (for hour, minute, and
second in that order).
Example: If the date is December 15, 2006 and the time is 16:45:10, data is set as follows in
the corresponding system variables:
#3011 = 20061215
#3012 = 164510.
23. Total number of machined parts and the number of parts required
Variables numbered 3901 and 3902 can be used to read or assign the total number of machined
parts and the number of parts required.
Variable Nos. Description
#3901 Total number of machined parts
#3902 Number of parts required
Format:
SETVNn [NAME1, NAME2, .....]
12-98
PROGRAM SUPPORT FUNCTIONS 12
Example: Program SETVN500[ABC,EFG]
On the display
F46 0
F47 ABC ← Variables name assigned to #500
F48 EFG ← Variables name assigned to #501
F49 ← Variables name assigned to #502
F50
Example:
TNo. #3022 setting Reading in #3023
1 A 1.01 1
1 B 1.02 2
1 C 1.03 3
2 A 2.61 4
2 B 2.62 5
2 C 2.63 6
3 H 3.08 7
3 V 3.22 8
3 Z 3.26 9
: : : :
: : : :
Failure – 0
12-99
12 PROGRAM SUPPORT FUNCTIONS
Variable #3102 can take a value of the sum of multiple values enumerated above when the tool
life management is currently done on the basis of the respective data types.
31. Contents of the S12 or S23 parameters (#3200 and #3212 or #3223)
Variables numbered 3200, 3210 and 3223 can be used to read the settings of particular S
parameters. Use #3200 beforehand to specify the desired axis.
#3200 setting Description
0 to 15 Serial numbers of significant axis settings within the current system
65 to 90 Decimal notation of the ASCII code of axis name within the current system
Example 1: #3200 = 0;
Designation of the first significant axis setting (normally: X) within the system.
Example 2: #3200 = 67;
Designation of the C-axis (’C’ = 0x43 [Hexadecimal] = 67 [Decimal])
Variable Nos. S parameter
#3212 S12
#3223 S23
12-100
PROGRAM SUPPORT FUNCTIONS 12
Note 4: The setting for #3200 is not checked for the appropriateness (as to whether the
designated axis is preset properly) at the block of #3200, but results in an alarm (809
ILLEGAL NUMBER INPUT) being caused at the reading block of #3212 or #3223
when the setting is found inappropriate.
Note 1: The setting range is from –9999.999 to 0 for metric data input, or from –999.9999 to 0
for inch data input.
Note 2: “Position 1” and “Position 2” are the respective positions, to which the tailstock can be
moved by the miscellaneous functions M741 and M742.
12-101
12 PROGRAM SUPPORT FUNCTIONS
Machining on the
M99
turning spindle No. 2
END unit
Note: For a restart operation, based on a MAZATROL program of the above structure, from a
block of machining on the side of the turning spindle No. 2, enter a block of “#3024 =
1200.4” in the MDI mode before starting the operation.
12-102
PROGRAM SUPPORT FUNCTIONS 12
37. Data in register R (#500000 to #516383, #550000 to #566383)
Use the following variables to read and write 2-byte data of register R:
#500000 + No. of register R (#500000 to #516383)
Example 1: Use the variable numbered 500100 for the R100 register.
Use the following variables to read and write 4-byte data of register R:
#550000 + No. of register R (#550000 to #566383)
Example 2: Use the variable numbered 560100 for the R10100/R10101 register.
12-103
12 PROGRAM SUPPORT FUNCTIONS
[1] Definition/replacement of
#i=#j Definition/replacement
variables
[2] Additional-type operations #i=#j+#k Addition
#i=#j–#k Subtraction
#i=#jOR#k Logical additon (For each of 32 bits)
#i=#jXOR#k Exclusive OR (For each of 32 bits)
[3] Multiplicative-type #i=#j∗#k Multiplication
operations #i=#j/#k Division
#i=#jMOD#k Surplus
#i=#jAND#k Logical product (For each of 32 bits)
[4] Functions #i=SIN[#k] Sine
#i=COS[#k] Cosine
#i=TAN[#k] Tangent (tanq is used as sinq/cosq.)
#i=ATAN[#j] Arc-tangent (Either ATAN or ATN can be used.)
#i=ACOS[#j] Arc-cosine
#i=SQRT[#k] Square root (Either SQRT or SQR is available.)
#i=ABS[#k] Absolute value
#i=BIN[#k] BINARY conversion from BCD
#i=BCD[#k] BCD conversion from BINARY
#i=ROUND[#k] Rounding to the nearest whole number (Either ROUND or
RND is available.)
#i=FIX[#k] Cutting away any decimal digits
#i=FUP[#k] Counting any decimal digits as 1s
#i=LN[#k] Natural logarithm
#i=EXP[#k] Exponent with the base of e (= 2.718 ...)
Note 1: In principle, data without a decimal point is handled as data that has a decimal point.
(Example: 1 = 1.000)
Note 2: Offsets from variable #10001, workpiece coordinate system offsets from variable
#5201, and other data become data that has a decimal point. If data without a decimal
point is defined using these variables numbers, therefore, a decimal point will also be
assigned to the data.
Example:
Common variable
#101=1000
#101 1000
#10001=#101 Execution #102 1.000
#102=#10001
12-104
PROGRAM SUPPORT FUNCTIONS 12
1. Operation priority
Higher priority is given to functions, multiplicative operations, and additive operations, in that
order.
#101=#111+#112∗SIN[#113]
[1] Function
[2] Multiplicative
[3] Additional
One fold
Two fold
Three fold
12-105
12 PROGRAM SUPPORT FUNCTIONS
12-106
PROGRAM SUPPORT FUNCTIONS 12
[19]Counting any #21=FUP[14/3] #21 5.000
decimal digits as 1s #22=FUP[14./3] #22 5.000
FUP #23=FUP[14/3.] #23 5.000
#24=FUP[14./3.] #24 5.000
#25=FUP[–14/3] #25 –5.000
#26=FUP[–14./3] #26 –5.000
#27=FUP[–14/3.] #27 –5.000
#28=FUP[–14./3.] #28 –5.000
[20]Natural logarithm #101=LN[5] #101 1.609
LN #102=LN[0.5] #102 –0.693
#103=LN[–5] Alarm 860 CALCULATION IMPOSSIBLE
[21]Exponent #104=EXP[2] #104 7.389
EXP #105=EXP[1] #105 2.718
#106=EXP[–2] #106 0.135
4. Operation accuracy
The errors listed in the table below are generated by one arithmetic operation, and the error rate
increases each time an operation is performed.
a=b+c ε ε
2.33 × 10–10 5.32 × 10–10 Min. ,
a=b–c c b
a=b•c 1.55 × 10–10 4.66 × 10–10
ε
a = b/c 4.66 × 10–10 1.86 × 10–9 Relative error
a
a= b 1.24 × 10–9 3.73 × 10–9
a = sin b
5.0 × 10–9 1.0 × 10–8
a = cos b Absolute error ε degree
–1 –6 –6
a = tan b/c 1.8 × 10 3.6 × 10
A. Addition/subtraction
As for additional-type operations, if an absolute value is subtracted from the other, the relative
error cannot be reduced below 10–8.
For example, when the true values (such values, by the way, cannot be substitued directly) of
#10 and #20 are as follows:
#10 = 2345678988888.888
#20 = 2345678901234.567
then #10 – #20 = 87654.321 would not result from calculation of #10 – #20. This is because,
since the effective number of digits of the variable is eight (decimal), the approximate values of
#10 and #20 are:
#10 = 2345679000000.000
#20 = 2345678900000.000
More strictly, internal binary values slightly differ from these values. Actually therefore, a
significant error results as follows:
#10 – #20 = 100000.000.
12-107
12 PROGRAM SUPPORT FUNCTIONS
B. Logical relationship
As for EQ, NE, GT, LT, GE and LE, the processing is executed in a similar manner to addition
and substraction, so be careful to errors. For example, to judge whether #10 is equal to #20 of
the above example, the conditional expression
IF [#10EQ#20]
is not appropriate due to the errors. In such a case, therefore, give a macro-instruction as shown
below to allow for an acceptable tolerance in the judgement on the equality of two values.
IF [ABS[#10 – #20] LT200000]
C. Trigonometric functions
For trigonometric functions, although the absolute error is guaranteed, the relative error is not
below 10–8. Be careful, therefore, when carrying out multiplication, or division after trigonometric
function operations.
1. Branching
Format: IF [conditional expression] GOTO n
where n is a sequence number in the same program.
The branching will occur to the block headed by sequence number ‘n’ if the condition holds, or if
the condition does not hold, the next block will be executed.
An independent setting of GOTO statement without IF [conditional expression] will perform
unconditional branching to the specified block.
#i EQ #j = ( #i is equal to #j.)
#I NE #j ≠ (#i is not equal to #j.)
#i GT #j > (#i is larger than #j.)
#I LT #j < (#i is smaller than #j.)
#I GE #j ≥ (#i is equal to #j, or larger than #j.)
#I LE #j ≤ (#i is equal to #j, or smaller than #j.)
For GOTO n, n must be a sequence number within the same program. If the sequence number
does not exist in that program, an alarm 843 DESIGNATED SNo. NOT FOUND will occur. An
expression or a variable can be used instead of #i, #j, or n.
Sequence number designation Nn must be set at the beginning of the destination block.
Otherwise, an alarm 843 DESIGNATED SNo. NOT FOUND will result. If, however, the block
begins with “/” and Nn follows, the program can be branched into that sequence number.
12-108
PROGRAM SUPPORT FUNCTIONS 12
Note: During search for the branching destination sequence number, if the area from the
block after “IF ...” to the program end (% code) is searched (forward search) in vain,
then the area from the head down to the block before “IF ...” will be searched next
(backward search). It will therefore take more time to execute backward search
(searching in the opposite direction to the flow of the program) than to execute forward
search.
2. Looping
Format:
WHILE [Condition expression] DOm (m = 1, 2, 3 !!! 127)
ENDm
The area from the next block to the ENDm block loops while the conditional expression holds. If
the conditional expression does not hold, control will be tansferred to the block after ENDm. In
the format shown above, DOm can precede WHILE.
You must always use WHILE [conditional expression] DOm and ENDm in pairs. If you omit
WHILE [conditional expression], the area from DOm to ENDm will endlessly loop. In DOm, m (1
to 127) identifies the number of looping. (DO1, DO2, DO3, and so on up to DO127)
The maximum available number of degrees of multiplicity is 27.
12-109
12 PROGRAM SUPPORT FUNCTIONS
[1] Same identifying No. can be used repeatedly. [2] The identifying No. of WHILE ∼ DOm is arbitrary.
END1
Usable
END3
Usable
WHILE ∼ DO1 WHILE ∼ DO2
END2
Usable
END1
[3] Up to 27 levels of WHILE ∼ DOm can be used. [4] The total number of levels of WHILE ∼ DOm must not
m can be 1 to 127, independent of the depth of nesting. exceed 27.
WHILE ∼ DO1
WHILE ∼ DO1 DO1
WHILE ∼ DO2
WHILE ∼ DO2 DO2 M
% WHILE ∼ DO27
M %
%
WHILE ∼ DO27 DO27 WHILE ∼ DO28
Usable
END28 Unusable
END27
M END27
END2
M
END2
END1
END1
WHILE ∼ DO1
END1
[7] WHILE ∼ DOm must not overlap. [8] Outward branching from the range of WHILE ∼ DOm is
possible.
WHILE ∼ DO1
WHILE ∼ DO1
IF ∼ GOTOn
END1
Usable END1
END2
Nn!!!!!!!!
12-110
PROGRAM SUPPORT FUNCTIONS 12
[9] Branching into WHILE ∼ DOm is not allowed. [10] Subprogram can be called using M98, G65, G66, etc. from
WHILE ∼ DO1 the midway of WHILE ∼ DOm.
IF ∼ GOTOn
Unusable Main program Subprogram (O100)
IF ∼ GOTOn
WHILE ∼ DO1 WHILE ∼ DO2
WHILE ∼ DO1 END1
Unusable
G65 P100
Usable END2
WHILE ∼ DO1 To sub-
Nn!!!!!!!! program
END1
Nn!!!!!!!! M99
M02
END1
END1
[11] The looping can be independently programmed in a [12] If WHILE and END are not included in pairs in subprogram
subprogram which is called using G65/G66 from the (including macro subprogram), a program error will result at
midway of WHILE ∼ DOm. Up to 27 levels of nesting for M99.
both programs can be done.
Main program Subprogram (O100)
12-111
12 PROGRAM SUPPORT FUNCTIONS
1. Overview
In addition to standard user macros, the types of macros listed below are provided as external
output commands. These external output macros can be used to output character data or the
numerical data in variables to an external unit via an RS-232C interface. The data are outputted
in a data length of 7 bits with an even-parity bit added.
B. Programming order
12-112
PROGRAM SUPPORT FUNCTIONS 12
4. Data output command BPRNT
Programming format:
BPRNT[l1#v1[c1]l2#v2[c2]!!!!!!!!]
Detailed description
- The command BPRNT can be used to output characters or to output variable data in binary
form.
- The designated character string is outputted directly in the ISO coded format. Alphanumerics
(A to Z, and 0 to 9) and/or special characters (+, –, ∗, /) can be used. Of these characters, only
the asterisk (∗) is outputted as a space code.
- Since all variables are saved as those having a decimal point, the necessary number of
decimal digits must be enclosed in brackets ([ ]).
All variables are handled as data of four bytes (32 bits), and each byte is outputted as binary
data in the order of the most significant byte first. Minus data is processed as the complement
for that data.
Example 1: If three digits are specified for 12.3456, then
[12.346 × 103] = 12346 (0000303A)
will be outputted as binary data.
Example 2: If no digits are specified for –100.0, then
–100 (FFFFFF9C)
will be outputted as binary data.
- After the specified data has been outputted, the EOB (End Of Block) code is outputted in the
format of the appropriate ISO code.
- Variables containing <empty> are interpreted as 0s.
Detailed description
- Output of character data or decimal output of variable data is performed in the format of ISO
codes.
- The designated character string is outputted directly in the ISO coded format.
Alphanumerics (A to Z, and 0 to 9) and/or special characters (+, –, ∗, /) can be used. Of these
characters, only the asterisk (∗) is outputted as a space code.
- Of the data contained in a variable, the necessary number of digits above the decimal point and
that of digits below the decimal point must each be enclosed in brackets ([ ]). The variable
data will then have its total specified number of digits, including the decimal point, outputted in
the ISO coded format in the order of the most significant digit first. No trailing zeros will be left
out in that case.
12-113
12 PROGRAM SUPPORT FUNCTIONS
1. Overview
External output macros can also be used to output data in text file format into the predetermined
directory on the hard disk.
2. Related parameters
- DPR14: Selection of an output destination port
Set DPR14 to “4” (Output onto the hard disk) under OTHER on the DATA I/O PARAMETER
display.
- DPR15: Number of lines in feed section
Set the required number of lines to be fed.
- DPR8: Output file size
Use this parameter to specify the maximum permissible output file size.
Maximum permissible file size: DPR8 × 100 (KB)
A command for outputting a greater file will cause a corresponding alarm.
However, the file size limit is 100 KB if the value in DPR8 is 0.
Note: Output of a file of smaller size than the limit, however, may not be possible due to a
shortage of available area on the hard disk.
The DATA I/O PARAMETER display can be selected by pressing the [DATA I/O PARAM.]
menu key on the DATA I/O display.
3. Output file
The text file will be automatically outputted with a particular file name into the predetermined
directory.
Output directory: c:\MC_sdg\print\
Output file name: print.txt
(A file of this name will be automatically created, if required, or the text data
will be added to the current contents of the file.)
12-114
PROGRAM SUPPORT FUNCTIONS 12
File contents:
Given below on the right is an example of text file contents created by the execution of the
program shown on the left under the particular parameter settings.
POPEN %
DPRNT[OOOOOOOOOOOO] OOOOOOOOOOOO
DPRNT[XXXXXXXXXXXX] XXXXXXXXXXXX
DPRNT[IIIIIIIIIIII] IIIIIIIIIIII
PCLOS %
G0X100.Y100.Z100.
M30
[Parameter]
DPR14: 4
DPR15: No setting
4. Related alarms
The alarm given for text file output is described below.
12-115
12 PROGRAM SUPPORT FUNCTIONS
12-10-9 Precautions
Use of user macro commands allows a machining program to be created by combining arithmetic
operation, judgment, branchining, or other macro commands with conventional NC commands
such as move commands, M-, S-, T-commands, etc. The statement defined by these macro
commands and that of conventional NC commands are taken as a macro statement and an NC
execute statement, respectively. The treatment of a macro statement has no direct rerations with
machine control. Its treatment as short as possible is effective for shortening machining time.
Parallel processing of the NC execute statement and the macro statement becomes possible
according to the setting of bit 6 of parameter F93.
(It becomes possible to process all macro statements in batch form by setting the parameter bit
to OFF when machining the workpiece, or to execute the macro statements block-by-block by
setting the parameter bit to ON when checking the program. Therefore, set the parameter bit
according to your requirements.)
Sample program
N1 G91G28X0Y0Z0
N2 G92X0Y0Z0
N3 G00X–100.Y–100.
N4 #101=100.∗COS[210.] Macro statements
N5 #102=100.∗SIN[210.]
N6 G01X#101Y#102F800
A macro statement refers to a statement that consists of the following blocks:
- Arithmetic operation command block (compassing the equal sign =)
- Control command block (compassing GOTO, DO ∼ END, etc.)
- Macro call command block (compassing macro call or cancellation G-code commands G65,
G66, G66.1, or G67)
An NC execute statement refers to a non-macro statement.
12-116
PROGRAM SUPPORT FUNCTIONS 12
The flow of processing of these two types of statements is shown below.
N1 N2 N3 N4 N5 N6 N7
Program analysis
Macroprogram statement N4 N5
Parameter treatment
OFF N2 N3 N6 N7
Next command
NC statement
treatment N1 N2 N3 N6
In execution
N1 N2 N3 N4 N5 N6 N7
Program analysis
N4 N5
Macroprogram statement
Parameter treatment
ON N2 N3 N4 N7
Next command
NC statement
treatment N1 N2 N3 N6
In execution
12-117
12 PROGRAM SUPPORT FUNCTIONS
Y (sin θ)
A: Initial value 0°
B: Final value 360° X
C: R of R∗SINθ
0 90. 180. 270. 360.
F: Feed rate
–100.
MEP172
M WHILE[#1LE#2]DO1
G65P9910A0B360.C100.F100
M
To subprogram #10=#3∗SIN[#1]
Note
G90G1X#1Y#10F#9
#1=#1+10.
END1
#1 = 0 M99
Local variable set
in argument #2 = 360.000
#3 = 100.000
#9 = 100.000
Note: G90G01X#1Y[#3∗SIN[#1]]F#9
makes one block command available.
12-118
PROGRAM SUPPORT FUNCTIONS 12
Example 2: Bolt-hole circle
After hole data has been defined using fixed-cycle machining commands G72 to
G89, hole positions are to be designated using macro commands.
Main program –X x1
W
r1
a1 : Start angle
G81Z–100.R50.F300 b1 : Hole quantity a1
To sub- y1
G65P9920Aa1Bb1Rr1Xx1Yy1 r1 : Radius
program
x1 : X-axis center position
y1 : Y-axis center position –Y
MEP173
O9920
O9920 (Subprogram)
#120=#24+#18∗COS[#111]
Note
#121=#25+#18∗SIN[#111] No
#101 ≤ Hole END
quantity
#122=#120 #123=#121
IF[#102EQ90]GOTO100 Yes
END1 No
M99
#120 – #103 → #122 #122 = X-axis incremental value
#121 – #104 → #123 #123 = Y-axis incremental value
#120 → #103 X-axis present position renewal
#121 → #104 Y-axis present position renewal
12-119
12 PROGRAM SUPPORT FUNCTIONS
–X –500. W
G28X Y Z
T1 M06
G90 G43 Z100. H01
G54 G00 X0 Y0
To subprogram
G81 Z-100. R3. F100 M03
G65 P9920X-500. Y-500. A0 B8R100.
G65 P9920X-500. Y-500. A30. B8R200.
G65 P9920X-500. Y-500. A60. B8R300. 100.
–500.
200.
300.
–Y
MEP174
12-120
PROGRAM SUPPORT FUNCTIONS 12
Example 3: Grid
After hole data has been defined using fixed-cycle machining commands G72 to
G89, hole positions are to be designated using macro call commands.
MEP175
To subprogram –Y
G84 Z–90. R3. F250M03
G65P9930 X0 Y0 I–100. J–75. A5B3 –X
–100.
–Z
MEP176
12-121
12 PROGRAM SUPPORT FUNCTIONS
IF[#112EQ1]GOTO10
IF[#111NE1]GOTO10 X#101 Y#102 Drilling command
N10 #113=#103 No
For even times (#111 = 0), X
END1 No distance is same as command. For
#111 = 1 odd times (#111 = 1), X-axis drilling
N100 #106=#106–1
direction reverse switch on
#112=0 Note Yes
#110=#110+1
0 – #103 → #103
IF[#106LT0]GOTO200 1 → #112
#105=#1 N10
#102=#102+#104 Note
#111=#110 #103 → #113 X-axis drilling distance reset
#111=#111AND1 N
100
GOTO2 #106 – 1 → #106 Y-axis hole quantity – 1
0 → #112 X-axis drilling direction reverse switch on
N200 M99 #110 + 1 → #110 Y direction line count-up off
12-122 E
COORDINATE SYSTEM SETTING FUNCTIONS 13
13 COORDINATE SYSTEM SETTING FUNCTIONS
2. Programming format
3. Detailed description
For moving the tool by absolute programming data, the coordinate system needs to be deter-
mined in advance. The coordinate system can be set by a command of the following format.
G50 X_ Z_ C_ ;
This command sets a coordinate system in which a point on the tool, for example the tool tip
position, can be represented with coordinates (X, Z). This coordinate system is called workpiece
coordinate system.
Once a coordinate system is set, coordinates by absolute programming method will represent
the positions in this coordinate system.
The command need not have all axes specified. To change coordinate systems in the flow of the
program, give a command with only an argument for the axis for which change is required.
Example 1:
50 300
Chuck Jaw
+X
Workpiece
+Z
φ350
A
Workpiece
zero point
Unit: mm
13-1
13 COORDINATE SYSTEM SETTING FUNCTIONS
Example 2:
300
δX
δZ
Chuck Jaw
+X φ700
Workpiece
+Z
Workpiece
zero point
Unit: mm
13-2
COORDINATE SYSTEM SETTING FUNCTIONS 13
4. Coordinate system shift
A coordinate system can be shifted by a command of the following format:
G50 U_ W_ H_ ;
This command will create a new coordinate system where a point on a tool, for example, the tool
tip position represented by (X, Z) in the preceding coordinate system will be represented by (X +
U, Z + W). In other words, the above command is equivalent to the following:
G50 X Present X-coordn. + U Z Present Z-coordn. + W C Present C-coordn. + H ;
Example:
7.0
160.
(300.) T01
(φ700)
TEP190
13-3
13 COORDINATE SYSTEM SETTING FUNCTIONS
Note: Bit 2 of parameter K95 setting selects whether compensation movement is made on T
command (Yes = 1, No = 0).
13-4
COORDINATE SYSTEM SETTING FUNCTIONS 13
2. Detailed description
1. G52.5 must be commanded in an independent block. An alarm will be caused (807 IL-
LEGAL FORMAT) when G52.5 and move commands are given in the same block.
2. Program example
G50 X__ Z__;
M
G00 X__ Z__; POSITION counter with respect to the G50 system
G53.5; POSITION counter changed for the G53.5 system
G00 X__ Z__;
M
G00 X__ Z__; POSITION counter with respect to the G53.5 system
G52.5; POSITION counter changed for the preceding G50 system
3. It depends on a parameter (F114 bit 6) whether G52.5 or G53.5 is selected upon turning-on
or resetting.
F114 bit 6 = 0 : Initial selection of G52.5
F114 bit 6 = 1 : Initial selection of G53.5
Here, “reset” refers to the following:
- The reset key is pressed in the G53.5 mode.
- A program end code (M30, M998, M999, %) is executed in the G53.5 mode.
4. When a G52.5 command is given in the mode of nose radius compensation, compensation
data will be temporarily cancelled in the movement block preceding the G52.5 command. At
the time of the G52.5 command, the position of the virtual tool tip point is identical with the
programmed position.
G53.5
TEP183
13-5
13 COORDINATE SYSTEM SETTING FUNCTIONS
5. A G52.5 command given in the mode of tool position offset, however, does not cause any
cancellation of offset data.
G53.5;
N2 M
N3
Offset vector N1 G00 Z100.;
N1
N2 G52.5;
Programmed path N3 G01 X100. Z100.;
TEP184
13-6
COORDINATE SYSTEM SETTING FUNCTIONS 13
Machine
zero point
Reference workpiece
zero point
As shown above, the zero point of a MAZATROL coordinate system refers to positioning the tool
tip onto the point of intersection between the axis of rotation and the face of the workpiece. In
other words, a G53.5 command is equivalent to a “G50X0Z0;” command given after the above-
mentioned positioning.
- Command of G53.5 is ignored in the G53.5 mode.
- When a G53.5 command is given in the G52.5 mode, the current workpiece coordinate system
is cancelled, and a coordinate system appropriate to the currently selected tool is set, with the
POSITION indications accordingly changed.
- When a tool change command (T-code) is executed in the G53.5 mode, the coordinate system
is automatically changed with respect to the new tool.
- When in the G53.5 mode a T-code and a move command are given in the same block, the
coordinate system is always modified after the movement, irrespective of the programming
order of the two commands within the block in question.
- G53.5 should be commanded in an independent block. An alarm will be caused (807 ILLEGAL
FORMAT) when G53.5 and a move command are given in the same block.
13-7
13 COORDINATE SYSTEM SETTING FUNCTIONS
2. Detailed description
1. When a MAZATROL coordinate system is cancelled by G52.5 in the G53.5 mode, the
coordinate system is returned to the workpiece coordinate system of G54 to G59. The co-
ordinate system to be restored is that which was cancelled by the G53.5 command, not a
system which was set by a G50 command in the G53.5 mode.
When G53.5 is set as an initial condition, the first G52.5 command in a program establishes
the coordinate system of G54.
2. A command with G53.5 as well as G52.5, and a T-code in the G53.5 mode are internally
divided into two blocks. The first output block, however, does not cause a stop in the single
block operation mode.
3. Supplement
1. Selection of workpiece coordinate system (G54 to G59) is ignored in the G53.5 mode.
2. Selection of local coordinate system (G52) is ignored in the G53.5 mode.
3. When zero point return for all axes (other than the C-axis) is not yet finished using watchdog
method, a G53.5 command will cause an alarm. No alarm occurs, however, if a G53.5
command is given in the same block with a G28 command the execution of which will fulfill
the required condition.
4. When G53.5 and G50 commands are given in the same block, the commands are executed
in the order of G50 to G53.5, irrespective of the programming order of the two commands
within the block in question.
5. When multiple G50 commands have been given before the selection of the G53.5 mode,
the coordinate system established by the last G50 command will be restored upon can-
cellation of the G53.5 mode.
6. When in the G53.5 mode a T-code and a G50 command are given in the same block, the
coordinate system is modified with respect to the new tool after the execution of the G50
command.
7. When in the G53.5 mode a T-code and a G52.5 command are given in the same block, the
G52.5 command only is executed without modification of the coordinate system for the new
tool.
13-8
COORDINATE SYSTEM SETTING FUNCTIONS 13
Machine
zero point
G58
For the six workpiece coordinate systems, set the distance of each axis from the machine zero
point to the zero point of each coordinate system on the WORK OFFSET display.
2. Remarks
1. When G54 to G59 and move command are given in the same block, the coordinate system
is changed to the specified one to move to the specified position on a new coordinate
system.
2. When G54 to G59 are changed independently, the counter display of current position
changes to a value on the specified coordinate system. (Machine does not move.)
3. Workpiece coordinate systems 1 to 6 are correctly established after reference point return
after the power is turned on.
4. When the power is turned on or when the reset key is pressed, G54 is selected.
5. The distance when coordinate system is moved by G50 is added subsequently to all
workpiece zero point offset values. For example, when coordinate system is moved by “G50
U_ W_” command in the selection of G54, G55 to G59 also move by the same distance.
Therefore, take care when having changed to G55.
6. The coordinate system cannot be established exactly for the C-axis by a command of G54
to G59 if it is given with the C-axis not being connected. Do not fail, therefore, to select the
milling mode (for C-axis connection) before entering G54 to G59 as required for the C-axis.
13-9
13 COORDINATE SYSTEM SETTING FUNCTIONS
2. Programming format
3. Detailed description
13-10
COORDINATE SYSTEM SETTING FUNCTIONS 13
B. Precautions for programming
- Do not set together in a block of G54.1 or L20 any G-code that can refer to address P.
Such G-codes are for example:
G04 Pp Dwell
G30 Pp Reference-point return
G72 to G89 Fixed cycle
G65 Pp, M98 Pp Subprogram call
- Setting the G54.1-command without the option will cause the alarm 948 NO G54.1 OPTION.
- Setting “G10 L20” without the option will cause the alarm 903 ILLEGAL G10 L NUMBER.
- Local coordinate system setting is not available in G54.1 mode. Setting a G52-command
during G54.1 mode will cause the alarm 949 NO G52 IN G54.1 MODE.
The variable number for the k-th axis origin of the “Pn” coordinate system can be calculated as
follows:
70000 + 20 (n – 1) + k or 7000 + 20 (n – 1) + k
(n = 1 to 300, k = 1 to 16) (n = 1 to 48, k = 1 to 16)
13-11
13 COORDINATE SYSTEM SETTING FUNCTIONS
G58
All the six workpiece coordinate systems are shifted by the coordinate shift amount.
- When the shift amount is specified, the workpiece coordinate system is shifted immediately.
(The shift amount is reflected in the current position counter.)
- When “G50 X_ Z_” is specified after the shift amount has been specified, the shift amount is
ignored.
13-12
COORDINATE SYSTEM SETTING FUNCTIONS 13
2. Remarks
1. When G53 is commanded, tool offset and tool nose radius compensation must be cancelled.
(Because they are not incorporated when G53 is commanded.)
2. Since the machine coordinate system must be set before G53 is commanded, at least one
manual reference point return or automatic reference point return by G28 should be
executed after the power is turned on.
3. G53 with incremental command can be commanded, but it is meaningless.
4. Virtual axes such as Y-axis cannot be commanded. (The execution gives an alarm.)
5. This command is valid even with a MAZATROL coordinate system being selected (G53.5).
13-13
13 COORDINATE SYSTEM SETTING FUNCTIONS
G58 local
coordinate Machine zero point
system
G58
G56 local G57 local
coordinate coordinate
system system
Note: G52 can be used in place of G50 command. However, the distance through which
coordinate system is shifted by G52 is not added to other workpiece zero point offset
values.
13-14
COORDINATE SYSTEM SETTING FUNCTIONS 13
G28
(x2, z2, α2 ) G30
G29 G29
Starting point
G30 Intermediate point (x1, z1, α1)
(0, 0) G28
Machine zero point
Starting point
TEP191
2. Programming format
G28 Xx1 Zz1 αα1; (α: Additional axis) Automatic return to reference point
G29 Xx2 Zz2 αα2; (α: Additional axis) Return to start point
3. Detailed description
1. Command G28 is equivalent to the following commands:
G00 Xx1 Zz1 αα1;
G00 Xx3 Zz3 αα3;
Where x3, z3 and α3 denote the coordinates of the appropriate reference point, determined
by the parameter as the distance from the zero point of the machine coordinate system.
2. Along the axes for which the initial return to the reference point (zero point) has not been
completed in manual mode after switching-on, the return occurs using the watchdog method.
In that case, the direction of return is regarded as the same as the designated direction. For
the second time onward, the return occurs at high speed to the reference point that was
stored into the memory by the execution of the first return command. (The return using the
watchdog method can also be selected for the second time onward by a parameter.)
3. When return to reference point (zero point) is completed, a return completion signal will be
outputted and the monitor of the operation panel will display “#1” in the display field of the
axis name.
4. Command G29 is equivalent to the following commands:
G00 Xx1 Zz1 αα1;
This results in independent rapid motion of each axis.
G00 Xx2 Zz2 αα2;
Where x1, z1 and a1 are the coordinates of the intermediate point specified by G28 or G30.
5. A programming error will result if G29 is commanded without G28 (return to the reference
point) or manual return to the zero point being executed after switching-on.
13-15
13 COORDINATE SYSTEM SETTING FUNCTIONS
6. The coordinates of an intermediate point (x1, z1, α1) can be set with absolute as well as
incremental data.
7. G29 is valid for G28 as well as G30, and the positioning to the specified point occurs along
the axes concerned through the latest intermediate point.
8. Tool offset compensation is automatically cancelled (as required) for the path to the refer-
ence point, while it functions as appropriate for the positioning to the intermediate point.
9. During return to the reference point under a machine lock status, movement from the inter-
mediate point to the reference point is omitted. The next block is executed after positioning
to the intermediate point.
10. During return to the reference point in the mirror image mode, the mirror image is only valid
for the movement from the starting point to the intermediate point. That is, rapid positioning
is performed through the ‘mirrored’ intermediate point to the real reference point.
11. In the single-block operation mode, stop will be made also at the intermediate point.
4. Sample programs
Example 1: G28 Xx1 Zz1;
G0 Xx2 Zz2;
13-16
COORDINATE SYSTEM SETTING FUNCTIONS 13
Example 3: G28 Xx1 Zz1;
M From point A to reference point
M
G30 Xx2 Zz2;
M From point B to second reference point
M
G29 Xx3 Zz3;
From point C to point D
TEP193
G30P2 G28
G28
(x1, z1,α1) G29
Starting point
Intermediate
G30
point
G30P3
G30P4
G29
2. Programming format
G30 P2 (P3, or P4) Xx1 Zz1 αα1; (α: Addition axis.)
3. Detailed description
1. Use argument P2, P3, or P4 to designate returning to the second, third, or fourth reference
point (zero point). The return to the second reference point is automatically selected if
argument P is omitted or zero, one, five or a greater integer is set with address P.
13-17
13 COORDINATE SYSTEM SETTING FUNCTIONS
2. Return to the second, third, or fourth reference point is executed in the same manner as the
return to the first reference point via the specified intermediate point.
3. The machine coordinates of the second, third, and fourth reference point are to be preset in
the machine parameters M5, M6, and M7, respectively.
4. The intermediate point for a G29 command is always that which was specified by the
command given last for return to the reference point, be it the second, third, or fourth one.
–Z R#1
(x2, z2)
Second reference point +X
TEP196
5. As for return to the reference point in the plane of tool nose radius compensation, the
movement from the intermediate point to the reference point is performed with the com-
pensation being temporarily canceled, and the next G29 command is executed on a path
through the non-compensated intermediate point to the ‘compensated’ position as specified
in the G29 block.
Programmed path
for G30 Xx1 Zz1;
(x1, z1)
(x2, z2)
+X
TEP197
6. After return to the second reference point, the nose radius compensation values for the
axes concerned are temporarily cancelled.
7. During return to the second reference point under a mahcine lock status, movement from
the intermediate point to the reference point is omitted. The next block is executed after
positioning to the intermediate point.
13-18
COORDINATE SYSTEM SETTING FUNCTIONS 13
8. During return to the second reference point in the mirror image mode, the mirror image is
only valid for the movement from the starting point to the intermediate point. That is, rapid
positioning is performed through the ‘mirrored’ intermediate point to the real reference point.
–Z R#2
(x1, z1)
With mirror image
for the X-axis
Without mirror image
G30 P2 Xx1 Zz1;
+X
TEP198
9. In the single-block operation mode, no stop will be made at the intermediate point.
1. Outline
G30.1 X(U)_ Z(W)_ C(H)_ ;
The above command permits returning to the floating reference point. Floating reference point is
a reference position for operating the machine which can be easily changed as required.
The floating reference point’s machine coordinates, stored in machine parameter S31, can be
set arbitrarily and easily by using the [POSITION PRESET] menu function provided for the
POSITION display.
The execution of a G30.1 command occurs in rapid positioning on the designated axes to the
intermediate point first and then rapid return to the floating reference point. (The operation is
quite similar to that of a G30 command.)
Note 1: The mode of tool position offset or nose radius compensation must be cancelled before
giving a G30.1 command.
Note 2: Switching-off does not clear the currently stored data of the floating reference point.
2. Supplement
Tool change or turret indexing operation on a turning machine can be performed in general at
any position on condition that there is no fear of collision with the workpiece, tailstock, etc. How-
ever, for the purpose of shortening the cycle time, in particular, it is desirable that tool changes
should take place at a position as close as possible to the workpiece in question. This requires
modifying the tool change position according to the particular shape of the workpiece, which can
be facilitated by the function described here. That is, once a tool change position most suitable to
the workpiece is stored as the floating reference point, return to that tool change position can
easily be programmed with a G30.1 command.
13-19
13 COORDINATE SYSTEM SETTING FUNCTIONS
2. Programming format
G27 Xx1 Zz1 αα1 Pp1 ;
Check No.
P1 : First reference point check
P2 : Second reference point check
P3 : Third reference point check
P4 : Fourth reference point check
Return control axis
Check command
3. Detailed description
- The first reference point check will occur if argument P is omitted.
- The number of axes for which the reference point check can be done at the same time depends
on the number of simultaneously controllable axes.
- An alarm will result if the ending position on the specified axis is not the designated reference
point.
13-20
COORDINATE SYSTEM SETTING FUNCTIONS 13
1. Outline
This command is used to determine a new coordinate system through the translation of the origin
of the currently active workpiece coordinate system and the rotation on an axis of coordinate.
Use this command to specify freely a plane in space which is convenient for programming.
2. Programming format
G68.5 Xx0 Zz0 Yy0 Ii Jj Kk Rr ; ........... Programmed coordinate conversion ON
G69.5 ; ........... Programmed coordinate conversion OFF
Xx0 Zz0 Yy0 : Coordinates of the center of rotation
Specify in absolute dimensions the translation of the workpiece origin.
i, j, k : Designation of rotational axis (1: valid, 0: invalid)
I : X-axis
J : Y-axis
K : Z-axis
r: Angle and direction of rotation on the rotational axis
A positive value of angle refers to the left turn when seen from the positive
side of the rotational axis.
3. Detailed description
- It is impossible to change the coordinate system in the G68.5 mode.
- The coordinate system set by a command of G68.5 is as indicated here below.
–Y’
–Y
+Y’
30°
–Z +Z
+Y
–X
After the selection of the G17 (X-Y) plane, the workpiece origin is shifted to the point
(X, Z, Y) = (10, –5, 0)
and the plane is rotated by 30 degrees on the Y’-axis. The new coordinate system (X’, Y’, Z’)
has thus been established.
- The cancel command G69.5 will set again the coordinate system subjected to the translation
and rotation by the preceding G68.5 command.
- In the G68.5 mode all the dimensions must be entered in radius values.
13-21
13 COORDINATE SYSTEM SETTING FUNCTIONS
4. Sample program
G53.5;
N100 T003003;
G00 B30.; ................................................. Positioning on the B-axis
#100=200; ................................................. Distance btw. B-axis rotat. center and tool ref. position
#1=-SIN[30.]∗#100; .............................. X-axial variation due to the B-axial rotation
#3=#100-COS[30.]∗#100; ..................... Z-axial variation due to the B-axial rotation
G50 X[#1+#5041] Z[#3+#5043];........ Correction of coordinate system against B-axial rotation
G68.5 X10.Z10.Y0 I0 J1 K0 R30.; . Definition of coordinate system by translation of origin to
(X10. Z10. Y0) and rotation on Y’-axis by 30°
G17; ............................................................ Selection of the X-Y plane
G00 X0 Y0 Z20.;
G41;
G01 Z-5. F50;
X10.Y-10.;
G03 X10.Y10.R30.;
M
G40;
G69.5; ....................................................... Cancellation of program coord. system rotation mode
N200 T005000; ........................................ Tool change, which is inhibited in the G68.5 mode
G00 B30.;
G50 X[#1+#5041] Z[#3+#5043];........ Correction of coordinate system against B-axial rotation
G68.5 X10.Z10.Y0 I0 J1 K0 R30.;
G17;
G00 Z10.;
G83 X40.Y-30.Z-30.R5.P100 F80; ... Positioning on G17 plane and hole machining on Z-axis
G80;
G00 Z10.;
G69.5;
M
M30;
%
X’
Workpiece origin after G68.5
(on the X-Y plane)
Y’
X10.,Z10.,Y0
13-22
COORDINATE SYSTEM SETTING FUNCTIONS 13
5. Restrictions
1. The G68.5 command cannot be given in the following modes:
- Tool nose radius compensation (G40 mode not selected)
- Fixed cycle (G80 not selected in the G-code group 09)
- Opposite turret mirror image (G68 mode)
2. The G68.5 command cannot be given in the mode of cross machining.
3. No tool change commands by T-code can be given in the G68.5 mode. A T-code in this
mode will be processed as a programming error.
4. A block in the G68.5 mode cannot be designated as restart position. The search for such a
block as restart position will cause an alarm.
5. Certain G-codes cannot be given in the G68.5 mode. Refer to the table “Usable G-codes in
the G68.5 mode” that follows. An alarm will be caused if an unavailable G-code is given.
6. If the addresses X, Y and Z are all omitted, no translation of the origin will occur and the
rotation will be performed on an existing axis of coordinate.
7. All the arguments I, J and K must be specified in general as required. If one of the
arguments is omitted, such a block of G68.5 will be processed as a programming error.
Example 1: G68.5 X10.Z0 Y0 I0 J1 R30.; Format error
If, in particular, all the arguments are omitted, then the axis perpendicular to the currently
selected plane will be regarded as the axis of rotation.
Example 2: G17;
G68.5 X10.Z0 Y0 R30.; Equiv. to G68.5 X10. Z0 Y0 I0 J1 K0 R30.;
8. A block of G68.5 will be processed as a programming error if all the arguments I, J and K
are specified with zero (0).
Example: G68.5 X10.Z0 Y0 I0 J0 K0 R30.; Format error
9. The codes G68.5 and G69.5 are not available for a system without the optional function of
coordinate system rotation.
10. A MAZATROL program cannot be called up as subprogram in the G68.5 mode.
13-23
13 COORDINATE SYSTEM SETTING FUNCTIONS
13-24 E
MEASUREMENT SUPPORT FUNCTIONS 14
14 MEASUREMENT SUPPORT FUNCTIONS
Measurement by an EIA/ISO program is basically the same as that by a MAZATROL program.
Information given by a MAZATROL program may be executed by the following preparatory
function.
G31: Skip function
1. Overview
During linear interpolation by G31, when an external skip signal is inputted, the feed will stop, all
remaining commands will be cancelled and then the program will skip to the next block.
2. Programming format
G31 Xx/Uu Zz/Ww Yy/Vv Ff ;
x, z, y, u, w, v : The coordinates of respective axes. These coordinates are designated using
absolute or incremental data.
f: Feed rate (mm/min)
This command starts linear interpolation, and when an external skip signal is inputted, the feed
will stop, the remaining distance of movement will be cancelled and the next block will be
executed.
3. Detailed description
1. An asynchronous feed rate commanded previously will be used as feed rate. If an
asynchronous feed command is not made previously and if Ff is not commanded, the alarm
SKIP SPEED ZERO will be caused. F-modal command data will not be updated by the F-
command given in the G31 block.
2. Automatic acceleration/deceleration is not applied to command block G31.
3. If feed rate is specified per minute, override, dry run and automatic acceleration/de-
celeration will not be allowed. They will be effective when feed rate is specified per
revolution.
4. Command G31 is unmodal, and thus set it each time.
5. The execution of command G31 will immediately terminate if a skip signal is inputted at the
beginning.
Also, if a skip signal is not inputted until the end of command block G31, execution of this
command will terminate on completion of execution of move commands.
6. Setting this command code during tool nose radius compensation results in a program error.
7. Under a machine lock status the skip signals will be valid.
14-1
14 MEASUREMENT SUPPORT FUNCTIONS
4. Execution of G31
Example 1: When the next block is an incremental value command
G31 Z1000 F100;
G01 U2000 W1000;
Example 2: When the next block is a one axis move command with absolute value
G31 Z1000 F100;
G01 X1000;
TEP200
Example 3: When the next block is a two axes move command with absolute value
G31 Z1000 F100;
G01 X1000 Z2000;
TEP201
14-2
MEASUREMENT SUPPORT FUNCTIONS 14
14-1-2 Amount of coasting in the execution of a G31 block
The amount of coasting of the machine from the time a skip signal is inputted during G31
command to the time the machine stops differs according to the G31-defined feed rate or the F
command data contained in G31.
Accurate machine stop with a minimum amount of coasting is possible because of a short time
from the beginning of response to a skip signal to the stop with deceleration.
The amount of coasting is calculated as follows:
F F F F
δ0 = × Tp + (t1 ± t2) = × (Tp + t1) ± × t2
60 60 60 60
δ1 δ2
δ0 : Amount of coasting (mm)
F : G31 skip rate (mm/min)
Tp : Position loop time constant (s) = (Position loop gain)–1
t1 : Response delay time (s) = (The time from skip signal detection until arrival at NC
through PC)
t2 : Response error time = 0.001 (s)
When using command G31 for measurement purposes, measured data δ1 can be corrected.
Such corrections, however, cannot be performed for δ2.
Time (s)
t1 ± t2 Tp
Stop pattern during skip signal inputted
TEP202
The diagram shown below represents the relationship between the feed rate and the amount of
coasting that will be established if Tp is set equal to 30 ms and, t1 to 5 ms.
Amount of
coasting (δ) Tp = 0.03 Max. value
0.050
(mm) t1 = 0.005 Mean. value
0.030
0.020
0.010
Feed rate F
(mm/min)
0 10 20 30 40 50 60 70
Relationship between the amount of coasting and the feed rate (Example) TEP203
14-3
14 MEASUREMENT SUPPORT FUNCTIONS
F
ε=± × t2 ε : Reading error (mm)
60
F : Feed rate (mm/min)
t2 : Response delay time 0.001 (s)
+1
Reading error 0
ε (µ) 60 Feed rate (mm/min)
–1
TEP204
14-4 E
PROTECTIVE FUNCTIONS 15
15 PROTECTIVE FUNCTIONS
X-axis
M8
I2
Upper limt
for G22
(X, Z)
Z-axis
(I, K)
Lower limt for G22
I3
M9
2. Programming format
3. Detailed description
1. Both upper-limit and lower-limit values must be specified with machine coordinates.
2. Use X and Z to set the upper limit of the prohibit area, and I and K to set the lower limit. If the
value of X or Z is smaller than that of I or K, then the former and the latter will be used as the
lower-limit and the upper-limit, respectively.
3. No stroke limit checks will be performed if the upper- and lower-limit values that are
assigned to one and the same axis are identical.
G22X200.Z100.I200.K0
4. Give a G23 command to cancel the pre-move stroke limit check function.
15-1
15 PROTECTIVE FUNCTIONS
5. A block of G23 X_Z_ will cause the axis motion command X_Z_ to be executed in the
current mode of axis movement after cancellation of pre-move stroke limit check.
Note: Before setting G22, move the tool to a position outside the prohibit area.
15-2 E
TWO-SYSTEM CONTROL FUNCTION 16
16 TWO-SYSTEM CONTROL FUNCTION
1. Outline
Axis control of 2nd spindle side by 1st spindle side or that of 1st spindle side by 2nd spindle side
is referred to as cross machining control. Cross machining control axis is specified by G110 and
G111.
Specify after G110 an axis address and the number of the spindle controlling the axis.
2. Programming format
G110 X_ Z_ C_; ..............Cross machining control axis and spindle number are specified.
16-1
16 TWO-SYSTEM CONTROL FUNCTION
Prepare a program as follows to use a fixed cycle for hole machining on the 2nd spindle side:
Example:
M902; 2nd spindle selection
M300; Milling mode selection for 2nd spindle
G110 C2; Selection of 2nd spindle C-axis
G00 C0.; HD2 C-axis positioning
G87Z–5.0X5.0P0.2M310; Clamping; Deep-hole drilling cycle
C45.; Unclamping, positioning, clamping; Deep-hole drilling cycle
C90.; Unclamping, positioning, clamping; Deep-hole drilling cycle
M312; Unclamping on the 2nd spindle side
G80; Fixed cycle cancellation
G111; Cancellation of G110
M30; Program end
3. Sample programs
Examples of programming for the machine specifications with the secondary spindle
The major sections of a sample program for machines equipped with the secondary spindle are
shown below.
O1234
G53.5 MAZATROL coordinate system establishment
#101=124.750 (SP1 COF) 1st spindle side C-axis offset
#102=10.664 (SP2 COF) 2nd spindle side C-axis offset
16-2
TWO-SYSTEM CONTROL FUNCTION 16
(SUB SPINDLE SIDE) 2nd spindle machining program
N301(SP2 DRL)
M902 2nd spindle selection (enter for machining at the 2nd spindle side)
T003000 Tool selection
G98G97 Feed per minute and cancellation of constant peripheral speed control
M300 2nd spindle mill-point machining mode
M203S3184 Milling speed selection and milling spindle normal rotation
G110C2 2nd spindle C-axis selection
G0C#102 2nd spindle C-axis positioning (angle indexing)
M310 2nd spindle C-axis clamping
G00X25.Z-5. Positioning
G87Z-5.X5.Q5000P0.2F200 Longitudinal deep-hole drilling cycle
M312 2nd spindle C-axis unclamping
G80 Cancellation of fixed hole-drilling cycle
G00C[#102+180.] 2nd spindle C-axis positioning (angle indexing)
M310 2nd spindle C-axis clamping
G87Z-5.X5.Q5000P0.2F200 Longitudinal deep-hole drilling cycle
M312 2nd spindle C-axis unclamping
G80 Cancellation of fixed hole-drilling cycle
G111 2nd spindle C-axis selection revoking
G28U0V0W0 Return to zero point (X, Y, Z)
M30 End of program
4. Notes
1. After the axis is changed by G110 or G111, always specify the coordinate system by G50.
2. G110 and G111 must always be given in a single-command block.
3. When axis address is commanded by G110 in increment, (for example, U and W are used)
it causes an alarm. And when a value following the axis address includes a decimal point or
negative sign, it is ignored.
4. In the single-block operation mode, the stop is performed after execution of G110 and G111
blocks.
5. The tool information to be used in tool offsetting does not automatically change for the other
system on the occasion of designating for cross machining control an axis which is in direct
relation to tool movement. Use, therefore, a G53 command (for positioning in the machine
coordinate system) as required.
6. As long as an axis in direct relation to tool movement is controlled for cross machining, do
not change tools.
7. Give a command of G111 as required at the end of machining section in an EIA/ISO
program which is to be called from a MAZATROL program as a subprogram for point
machining.
8. The axis being under cross machining control in automatic mode of operation cannot be
controlled in manual mode. An attempt to do so will only result in the alarm ILLEGAL
COMMAND CROSS MACHINING.
9. Barrier is effective also during axis change. In other words, barrier is checked in the region
of HD1 side for the axis of HD1 side and in that of HD2 for the axis of HD2 independently of
the axis change by G110.
10. Synchronous feed with, or control of feed per, revolution of the milling spindle is not
available during cross machining control.
11. The alarm CROSS MACHINING IMPOSSIBLE will be caused when a command for cross
machining control is given under one of the following incompatible modal conditions:
- Nose radius/Tool radius compensation
- Polar coordinate interpolation
- Cylindrical interpolation
16-3
16 TWO-SYSTEM CONTROL FUNCTION
- Fixed cycle
- Tool tip point control
12. C-axis commands in the cross machining mode can only be given for the preparatory
functions (G-codes) enumerated below.
Usable G-codes for C-axis commands in the cross machining mode
13. When the axis (normally the X-axis) relevant to the constant peripheral speed control is
designated for cross machining control, the speed of the turning spindle may change
steeply in accordance with the change in positional information to be used in the calculation
of spindle speed for a particular peripheral speed.
14. The inclined Y-axis cannot be controlled for cross machining.
16-4
TWO-SYSTEM CONTROL FUNCTION 16
1. Outline
The function outputs M-, S-, T- and B-codes (second miscellaneous function) commanded after
G112 to the counterpart system.
2. Programming format
G112 L_ M_ M_ M_ M_ S_ T_ T_ B_;
3. Notes
1. Do not give any other G-code in one block with a G112 command; otherwise the alarm
ILLEGAL FORMAT wil be caused.
2. Do not enter any codes concerned (M, S, T or second miscellaneous function) before
G112L_ within a block; otherwise the alarm ILLEGAL FORMAT wil be caused.
3. Entering values with any other address than N, M, S, T, and that for second miscellaneous
function in one block with a G112 command will lead to the alarm ILLEGAL ADDRESS.
4. The alarm ILLEGAL NUMBER INPUT will be caused if any of the following commands is
given in one block with a G112 command:
M0, M1, M2, M30, M99, M-codes for waiting, and M-, S-, T- or second miscellaneous
function code for macroprogram call.
5. Entering a number for the self-system or non-existent system with address L as well as in
parameter BA71 will lead to the alarm ILLEGAL NUMBER INPUT.
6. An attempt to specify an offset number in the T-code format for turning machines will lead to
the alarm ILLEGAL NUMBER INPUT.
7. The T-code in a G112 block will only cause the corresponding code for tool designation to
be outputted (without information of tool offsetting).
8. The number of the codes concerned to be entered in a G112 block is limited as follows:
4 for M, 1 for S, 2 for T, and 1 for the second miscellaneous function.
Entering codes in excess will only result in the last ones within the limit being outputted.
9. The single-block stop can occur after the execution of a G112 block.
10. Use waiting M-codes so as to output the codes concerned (M, S, T or second miscellaneous
function) to one and the same system at one time from multiple systems.
16-5
16 TWO-SYSTEM CONTROL FUNCTION
- NOTE -
16-6 E
POLYGONAL MACHINING AND HOBBING 17
17 POLYGONAL MACHINING AND HOBBING
Polygonal machining has an advantage of machining polygonal workpieces in shorter time than
polar coordinate interpolation. However, it has a disadvantage of not giving an accurate polygon.
As a result, polygonal machining is usually used to machine bolt heads and nuts not requiring an
accurate polygon.
Quadrangle Octagon
17-1
17 POLYGONAL MACHINING AND HOBBING
2. Programming format
Starting polygonal machining
G51.2 P_ Q_ D_;
- Give a command so that addresses P and Q provide the following:
(Address P): (Address Q) = (Workpiece rotational speed) : (Rotary tool speed)
- Command the rotational direction of rotary tool with the sign of address Q as follows.
When the sign of Q is “+”, positive direction is selected.
When the sign of Q is “–”, negative direction is selected.
- Use address D to specify the workpiece spindle to be used. The arguments D available, 1 to 4,
refer to the settings of machine parameters (BA55 to BA58) as follows:
Argument D Workpiece spindle selected
1 As set by parameter BA55
2 As set by parameter BA56
3 As set by parameter BA57
4 As set by parameter BA58
- The default value of argument D is “1” (selection of workpiece spindle as set by BA55).
An alarm will be caused (809 ILLEGAL NUMBER INPUT) if the specified argument D is not
supported as appropriate by the parameter setting concerned. (For example: D3 or D4 is
entered with the parameters BA57 and BA58 being set to “–1” [Invalid].)
- The command range of addresses P, Q and D is as follows:
Address Command range
P 1 to 9
Q –9 to –1, 1 to 9
D 1 to 4
Command arguments P, Q and D with integers. They cannot be commanded with a value
including decimal fraction.
The designation of an address other than P, Q and D in a G51.2 block leads to an alarm (806
ILLEGAL ADDRESS), which will also be caused by designating any address in the G50.2
block.
Canceling polygonal machining
G50.2;
17-2
POLYGONAL MACHINING AND HOBBING 17
3. Sample program
G28 U0 W0;
T1100; Selection of tool No. 11 for polygonal machining
G98; Mode of feed per minute
M260; Polygonal machining mode selection
M3 S250; Normal rotation of spindle at 250 min–1
G51.2 P1 Q-2 D1; Reversed rotation of milling spindle at 500 min–1
G0 X100.Z30.;
G0 X46.6 Z3.;
G1 Z-20.F50;
G1 X60.F100;
G0 Z3.; Machining
G0 X46.0;
G1 Z-20.F30;
G1 X60.F100;
G0 X100.Z30.;
G50.2; Polygonal machining mode cancellation
M261; Polygonal machining mode cancellation
M205; Milling spindle stop
M5; Spindle stop
M30; End
4. Notes
1. Take care not to program in the following manners (otherwise the alarm 807 ILLEGAL
FORMAT will be caused):
- Giving G51.2/G50.2 with another command in the same block,
- Giving G51.2 in the mode of G96 (control for constant surface speed),
- Giving G51.2 in the mode of G51.2,
- Selecting the milling mode in the G51.2 mode, or giving G51.2 in the milling mode,
- Giving a synchronous tapping command in the mode of G51.2,
- Giving a command for spindle synchronization, orientation, or linkage in the G51.2 mode,
- Giving a fixed cycle command in the mode of G51.2, and vice versa.
2. Command a proper workpiece rotating speed and ratio of such workpiece rotating speed to
the rotary tool speed so that the maximum rotating speed of rotary tool cannot be exceeded.
3. Move command such as one for general control axis cannot be given to the rotary tool axis
except the command of reference point return.
4. A mahine coordinate value of rotary tool axis is displayed within a range from 0 to
“movement distance per rotation”. Relative coordinates and absolute coordinates are not
renewed.
5. An absolute position detector cannot be mounted on the rotary tool axis.
6. Jogging feed and handle feed for the rotary tool axis are ineffective during polygonal
machining.
7. Peforming thread cutting during polygonal maching makes the start point of thread cutting
be shifted. Therefore, cancel the polygonal machining before thread cutting.
8. Rotary tool axis during polygonal machining is not counted as a synchronous control axis.
9. During polygonal machining, it is possible, indeed, but not advisable at all to apply feed hold
or to change the override value for fear of deformation of the workpiece.
17-3
17 POLYGONAL MACHINING AND HOBBING
10. Avoid applying an emergency stop or resetting during polygonal machining for fear of
deformation of the workpiece due to a sudden stop of axis motions.
11. The alarm 956 RESTART OPERATION NOT ALLOWED will be caused when it is
attempted to start modal restart operation from a block in the G51.2 mode.
12. The gear for rotary tool, if provided, must be taken into account in setting the ratio of milling
spindle speed to spindle speed (Q : P).
13. Since phase matching between turning and milling spindles cannot be obtained, it is not
possible to start machining with the workpiece in a specific angular position.
14. Give the required commands for multiple cutting steps (e.g. roughing and finishing) in one
and the same program section of the G51.2 mode. If the mode is canceled, it is in genegal
no more possible to obtain the same machining surface.
15. The spindle speed can be changed in the mode of polygonal machining without fear of
disturbing the phase of machining surface.
17-4
POLYGONAL MACHINING AND HOBBING 17
1. Outline
A synchronization control of the milling spindle and the C-axis allows them to be used as the hob
spindle and the workpiece spindle, respectively, and thus enables the turning machine to
generate spur and helical gears on a level with a hob milling machine.
The hob milling function, however, is only available to machines equipped with the control
functions of the C- and Y-axis, and requires a special tool holder.
X-axis
Lead angle
Holder angle
Hob spindle
(Milling spindle)
Workpiece Workpiece
Helix angle
Z-axis
2. Programming format
G114.3 D±1 E_L_P_Q_R_; Start of hobbing
D .......Selection of the direction of workpiece spindle’s rotation
<When parameter K103 bit 0 = 0>
+1 : Rotation of the workpiece spindle in the reverse direction to the hob spindle.
–1 : Rotation of the workpiece spindle in the same direction as the hob spindle.
<When parameter K103 bit 0 = 1>
+1 : Rotation of the workpiece spindle in the same direction as the hob spindle.
–1 : Rotation of the workpiece spindle in the reverse direction to the hob spindle.
Note: Reverse the signs in the above description for the 2nd spindle since for it
the setting of one (1) in parameter M17 bit 5 functions as that of zero (0).
E .......Number of threads of the hob
L........Number of teeth on the gear
P .......Helix angle
Specify the desired helix angle for a helical gear.
Omit the argument, or specify 0 (degree) for a spur gear.
Q .......Module or Diametral pitch
Specify the normal module, or diametral pitch, for a helical gear.
Enter the module for metric specification.
Enter the diametral pitch for inch specification.
17-5
17 POLYGONAL MACHINING AND HOBBING
- The setting range and default value for each argument are as follows:
Address Setting range Default value
D ±1 +1
E 0 to 20 1
L 1 to 9999 1
P –90.000 to 90.000 [deg] 0 (Spur gear)
Ommision of Q causes an alarm (807 ILLEGAL
Q 100 to 25000 [0.001 mm or 0.0001 inch–1] FORMAT) if a significant argument P is specified
in the same block.
R 0 to 359.999 [deg] No phase matching
- The argument D leads to an alarm (809 ILLEGAL NUMBER INPUT) if a value outside the
setting range is specified.
- The workpiece spindle does not rotate wit the argument E (Number of hob threads) set to “0”.
Consequently, the designation of argument R for phase matching is not effective.
- The argument Q is ignored if the argument P is not specified in the same block.
3. Sample program
The preparation of a program for hobbing a spur gear is explained below with examples.
1. Details of the gear to be generated and the tool to be used
17-6
POLYGONAL MACHINING AND HOBBING 17
3. Holder angle
Hob
Workpiece
Lead angle
Perpendicular = 90°
D740PB0119
17-7
17 POLYGONAL MACHINING AND HOBBING
X+
Y+
Z+
D740PB0131
The right-handed hob used requires the milling spindle mounted with it to be rotated in the
normal direction (right-hand rotation).
The wave, so to say, of the cutting teeth moves upwards when the milling spindle rotates in
the normal direction. The workpiece spindle must be rotated, therefore, in the direction of
the arrow in the figure above so as to move the “surface to be cut” in the same direction as
the “wave of the cutting teeth”.
<For cutting on the 2nd spindle side>
Y+
Wave of the
cutting teeth Z+
D740PB0132
The right-handed hob used requires the milling spindle mounted with it to be rotated in the
normal direction (right-hand rotation).
The wave, so to say, of the cutting teeth moves upwards when the milling spindle rotates in
the normal direction. The workpiece spindle must be rotated, therefore, in the direction of
the arrow in the figure above so as to move the “surface to be cut” in the same direction as
the “wave of the cutting teeth”.
17-8
POLYGONAL MACHINING AND HOBBING 17
A. Generating a spur gear (without phase matching)
G53.5
G98G97 Feed per minute.
T012000 Tool change for TNo. 12 (hob).
G50S1000R3 Limiting the milling spindle speed to 1000 min–1.
M200 C-axis connection. (Milling mode selection)
M203S0 Start of the milling spindle’s normal rotation [M203] at a speed of zero [S0].
G0X100.Z5. Approach.
G1X[60+35-6.75+1.0]F1000 X-axis motion to the roughing position.
G114.3D+1E1L38P0Q1.5R0 Selection of the hob milling mode. Positive value of D for the same rotational
direction (normal in this case) of the workpiece spindle as the hob spindle.
S230 Start of the (hob) milling spindle’s rotation at 230 min–1 (for a cutting speed of
25 m/min, resulting from the hob cutter’s diameter [φ35 mm]).
G1Z-100.F18.
G0X100.
G0Z5.
G1X[60+35-6.75]F1000 X-axis motion to the finishing position. (See the figure below.)
G1Z-100.F6.
G0X100.
X150.Z100.
G113 Cancellation of the hob milling mode.
M205 Stop of the (hob) milling spindle.
M202 C-axis disconnection (Turning mode selection).
M30
Workpiece
diameter = φ60
Whole depth of teeth = 3.375,
Whole depth of Workpiece diameter = 60,
teeth = 3.375 and
Diameter of the hob = 35.
The finishing position on the X-
axis, therefore, is calculated as
Finishing position follows:
on the X-axis 60 + 35 – 3.375 × 2 = φ88.25
φ88.25
+X
Diameter of Unit: mm
+Z
the hob = φ35
D740PB0133
17-9
17 POLYGONAL MACHINING AND HOBBING
G53.5
G98G97 Feed per minute.
T012000 Tool change for TNo. 12 (hob).
G50S1000R3 Limiting the milling spindle speed to 1000 min–1.
M200 C-axis connection. (Milling mode selection)
M203S0 Start of the milling spindle’s normal rotation [M203] at a speed of zero [S0].
G0X100.Z5. Approach.
G1X[60+35-6.75+1.0]F1000 X-axis motion to the roughing position.
G114.3D+1E1L38P45Q1.5R0 Selection of the hob milling mode.
S230 Start of the (hob) milling spindle’s rotation at 230 min–1 (for a cutting speed of
25 m/min, resulting from the hob cutter’s diameter [φ35 mm]).
G1Z-100.F18.
G0X100.
G0Z5.
G1X[60+35-6.75]F1000 X-axis motion to the finishing position.
G1Z-100.F6.
G0X100.
X150.Z100.
G113 Cancellation of the hob milling mode.
M205 Stop of the (hob) milling spindle.
M202 C-axis disconnection (Turning mode selection).
M30
17-10
POLYGONAL MACHINING AND HOBBING 17
4. Detailed description
1. Give an S-code and M-code, respectively, to specify the rotational speed and direction of
the spindle selected as the hob spindle.
2. The block of G114.3 must be preceded by a command of “0” speed and a selection of the
rotational direction of the hob spindle. The synchronization cannot be established if a
command of G114.3 is given with the hob spindle already rotating or without its rotational
direction specified.
3. The rotational speed of the workpiece spindle is determined by the number of hob threads
and that of gear teeth, both specified in the block of G114.3.
Sw = Sh ∗ E/L
where Sw: Rotational speed of the workpiece spindle
Sh: Rotational speed of the hob spindle
E: Rotational ratio of the hob spindle (Number of hob threads)
L: Rotational ratio of the workpiece spindle (Number of gear teeth)
4. Once determined by the hob milling command (G114.3), the rotational relationship between
the workpiece spindle and the hob spindle is maintained in all operation modes until a hob
milling cancel command (G113) or spindle synchronization cancel command is given.
5. The synchronization of the workpiece spindle with the hob spindle is started by the hob
milling command (G114.3) at a speed of 0 revolutions per minute.
6. In the mode of hob milling the C-axis counter on the POSITION display does not work as the
indicator of actual motion.
7. Do not fail to give a milling mode cancel command (M202) after cancellation of the hob
milling mode by G113 unless milling mode selection (M200) is required for the next
machining process.
8. Use the preparatory function for asynchronous feed (G98) to cut a helical gear. Giving a
command for helical gear cutting in the G99 mode (synchronous feed) will only cause an
alarm (133 STOP SPINDLE).
5. Remarks
1. In order to prevent a phase mismatching at the start of cutting, keep the milling spindle
speed constant for repetitive feed operations of hob milling on one and the same machining
section.
2. If a motion command for the C-axis (workpiece spindle) is given in the middle of the hob
milling mode by a manual or MDI interruption, or even in the program, such a shifting motion
will be superimposed on the synchronized C-axis movement. In this case, however, the
synchronization between the C-axis and the milling spindle cannot be guaranteed.
3. The selection of the hob milling mode (G114.3) in the mode of polygonal machining (G52.1)
will result in an alarm. The polygonal machining cannot be selected in the hob milling mode,
either.
Giving commands for hob milling and polygonal machining in one and the same block will
cause an alarm (807 ILLEGAL FORMAT).
4. To use the 2nd spindle for hob milling, specify the cross machining control axis as required
(with G110) before selecting the hob milling mode (with G114.3).
5. A faulty machining could occur if the axis movement should come to a stop in the hob milling
mode by the activation of the single-block operation mode or the feed hold function.
17-11
17 POLYGONAL MACHINING AND HOBBING
6. A phase mismatching or an excessive error could occur if the milling spindle should be
stopped in the hob milling mode by a command of M205, M00, or M01.
7. The C-axis offset settings are ignored appropriately in the hob milling mode.
8. If the specified speed of the milling spindle is in excess of its upper limit, the milling spindle
speed will be set to that limit and the C-axis will rotate in accordance with the milling spindle
limit sped and the rotational ratio.
9. If the calculated speed of the C-axis rotation exceeds its upper limit, the C-axis speed will be
set to that limit and the milling spindle will rotate in accordance with the C-axis speed limit
and the rotational ratio.
17-12 E
MEASUREMENT MACROS 18
18 MEASUREMENT MACROS
This chapter describes the measurement macros provided for implementing MAZATROL
workpiece measuring, tool measuring and coordinate measuring functions on the EIA/ISO
program. The measurement macroprograms are to be called up with G136 (Measurement Macro
Call) and G137 (Correction Macro Call). The use of these G-codes requires the corresponding
settings of the relevant parameters (J).
1. Detailed description
Give special macro call instructions (with G136 and G137) to use the measurement macros.
The appropriate system of workpiece coordinates must be established beforehand for the macro
to operate correctly. Moreover, the B-axis positioning in an angle and linear positioning to an
intermediate point must be completed as appropriate before the macro call since such
operations are not provided for in the macroprogram.
Note that modal information on G90/G91 (absolute/incremental programming) and the F-code
(rate of feed) may be changed through the execution of the G136 measurement macro.
No.1 No.2 No.3 No.4 No.5 No.6 No.7 No.8 No.9 No.10 Description
J1 J5 J9 J13 J17 J21 J25 J29 J33 J37 Work No. of the called program
J2 J6 J10 J14 J18 J22 J26 J30 J34 J38 G-code for macro call
J3 J7 J11 J15 J19 J23 J27 J31 J35 J39 Type of macro call
J4 J8 J12 J16 J20 J24 J28 J32 J36 J40 Not used
18-1
18 MEASUREMENT MACROS
18-2
MEASUREMENT MACROS 18
E. Measurement patterns and required addresses
The arguments used in the measurement and correction macros are as tabulated below.
Use address Q to specify the measurement pattern.
Address
Pattern G-code
X Y Z A B C H I J K D M U V W R S T Q
X WIDTH G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! 1
Y WIDTH G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 2
Z WIDTH G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! 3
X GROOVE G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! 4
Y GROOVE G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 5
Z GROOVE G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! 6
+X STEP G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! 7
–X STEP G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 8
+Y STEP G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 9
–Y STEP G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 10
Workpiece
+Z STEP G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 11
–Z STEP G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 12
OUTER X G136 ! ! ! ! ! ! ! ! ! ! 13
OUTER Y G136 ! ! ! ! ! ! ! ! ! ! 14
INNER X G136 ! ! ! ! ! ! ! ! ! 15
INNER Y G136 ! ! ! ! ! ! ! ! ! 16
OUT. X (One-side) G136 ! ! ! ! ! ! ! ! ! ! ! ! 21
INN. X (One-side) G136 ! ! ! ! ! ! ! ! ! ! ! 22
IN WIDTH G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! 17
IN GROOVE G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! 18
EXT MILL G136 ! ! ! ! ∗ 19
EXT TURN G136 ! ! ! ! ! ∗ 20
Correction/Printout G137 ! ! ! ! ! ! —
TOOL EYE G136 ! ! ! ! 52
Tool
Correction/Printout G137 ! ! ! ! —
Z FACE G136 ! ! ! ! ! ! ! ! ! ! ! ! 81
Coordinate
C FACE G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 91
C GROOVE G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 92
C STEP G136 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 93
Correction/Printout G137 ! ! —
18-3
18 MEASUREMENT MACROS
- “Diameter” measuring movements must be performed on a YZ- or ZX-plane containing the axis
of turning operations. For this reason, be sure to set the workpiece origins of the X- and Y-axis
coordinates on the axis of the turning spindle.
- Omission of argument Q result in the alarm 994 MACRO MEASUREMENT ALARM 5.
Note 1: Argument K for EIA/ISO measurement has almost the same meaning as parameter
K19 for MAZATROL programs. “K” and K19 denote respectively a distance from the
center, and one from the contact point, of the probe, as shown below.
K19
Note 2: See the chapter entitled TOOL FUNCTIONS for more information on the tool specifying
method.
Example) T2.3 ・・・ Tool No. 2 with suffix C
Note 3: In the mode of “G10.9 X1” (Diameter data input for the X-axis), designate positions on
the Y-axis (with addresses Y, B, or U) in diameter values as well as positions on the
X-axis (with X, A, or U).
18-4
MEASUREMENT MACROS 18
B. Workpiece measurement - External (G136: Q19, Q20)
G136 Z1 M100. I9. J-9. D1 Q20 ・・・・・・・・・・・ [1]
G137 A1 B0 C0 V3.0 ・・・・・・・・・・・ [2]
[1] External Z measurement executed.
[2] Correction on the tool “T3” and the measurement results printed out.
Note: Setting a value other than 0 and 1 functions the same as setting “1”.
18-5
18 MEASUREMENT MACROS
Note 1: See the chapter entitled TOOL FUNCTIONS for more information on the tool specifying
method.
Note 2: Setting both H (offset No.) and V (tool for correction) results in the alarm 993 MACRO
MEASUREMENT ALARM 4.
Note 3: Setting a value other than 0 and 1 functions the same as setting “0” (for diameter).
Note 4: Setting a value other than 0 and 1 functions the same as setting “1”.
Note 5: “D0” for OD/ID measurement or “B1” for Width/Groove measurement leads to the
alarm 192 EXECUTION IMPOSSIBLE.
<Data item for correction>
1. For an argument V (Tool for correction)
Correction is conducted on the data of the TOOL DATA display.
- For milling tools: LENGTH or ACT-φ
- For turning tools: WEAR COMP. X or Z
2. For an argument H (Offset No. for correction)
Correction is conducted on the data of the TOOL OFFSET display.
- For type A: Data of the designated No.
- For type B: TOOL LENGTH/RADIUS GEOMETRY data of the designated No.
- For type C: Milling tools: GEOMETRIC OFFSET Z (as length) or NOSE-R (as dia.)
Turning tools: WEAR COMP. Z or X
- For type D: Milling tools: Geometric Offset Z (as length) or NOSE-R (as dia.)
Turning tools: Geometric Offset Z or X
18-6
MEASUREMENT MACROS 18
D. Tool measurement
1. TOOL EYE measurement (G136: Q52)
M283 ・・・・・・・・ TOOL EYE set in the measuring position.
G136 B1 I-9.J-9.M1 R0.2 Q52 ・・・・・・・・ TOOL EYE measurement #1 (with breakage check).
G137 A1 C0 V2.1 ・・・・・・・・ Correction and printout.
M284 ・・・・・・・・ TOOL EYE returned to the waiting position.
M Measurement section
Note 1: Setting a value other than 0 and 1 functions the same as setting “1”.
Note 2: Set the precise value of nose radius of the tool to be measured with address R;
otherwise the tool cannot be brought properly into contact with the TOOL EYE
sensor.
18-7
18 MEASUREMENT MACROS
Note 1: See the chapter entitled TOOL FUNCTIONS for more information on the tool specifying
method.
Note 2: Setting both H (offset No.) and V (tool for correction) results in the alarm 993 MACRO
MEASUREMENT ALARM 4.
Note 3: Setting a value other than 0 and 1 functions the same as setting “1”.
18-8
MEASUREMENT MACROS 18
F. Coordinate measurement [Reference surface Z] (G136: Q81)
G136 X50.Y0.Z-5.C45.R-10.M1 I0.J2.D0.Q81
- This type of measurement-macro call instruction is only available for G-code series T [Turning
machines]. Giving the instruction for G-code series M [Machining centers] leads to an alarm.
- Give a G53.5 command beforehand to set a MAZATROL coordinate system; otherwise the
measurement results may only be incorrect.
- Give beforehand a command of change for the desired sensor tool, and index the head as
required (for the application of the sensor tool).
- A G136 command with argument Q81 (for measurement of reference surface Z) is designed for
setting, or updating, the Z-OFFSET value on the SET UP MANAG. display.
- Giving the instruction in the mode of cylindrical interpolation (G7.1) leads to an alarm (808 MIS
SET G CODE).
- Take care not to give from another system (with G112) a command of spindle rotation to be
executed during measurement.
Note 1: Enter the coordinates in radius values.
Note 2: Setting a value other than 0 and 1 functions the same as setting “1”.
Note 3: Setting an angle other than 0°, 90°, or 180° causes an alarm.
Note 4: Setting a value other than 1 and 2, as well as the omission, functions the same as
setting “1”.
18-9
18 MEASUREMENT MACROS
- This type of measurement-macro call instruction is only available for G-code series T [Turning
machines]. Giving the instruction for G-code series M [Machining centers] leads to an alarm.
- Give a G53.5 command beforehand to set a MAZATROL coordinate system; otherwise the
measurement results may only be incorrect.
- Give beforehand a command of change for the desired sensor tool, and index the head as
required (for the application of the sensor tool).
- A G136 command with argument Q91 (for measurement of reference surface C) is designed
for setting, or updating, the C-OFFSET value on the SET UP MANAG. display.
- Giving the instruction in the mode of cylindrical interpolation (G7.1) leads to an alarm (808 MIS
SET G CODE).
- Take care not to give from another system (with G112) a command of spindle rotation to be
executed during measurement.
Note 1: Enter the coordinates in radius values.
Note 2: Setting a value other than 0 and 1 functions the same as setting “1”.
18-10
MEASUREMENT MACROS 18
Note 3: Setting an angle other than 0°, 90°, or 180° causes an alarm.
Note 4: Setting a value other than 1 and 2, as well as the omission, functions the same as
setting “1”.
The data item to be corrected on the SET UP MANAG. display is of the machining program
called up for the currently active system, and depends on the type of the preceding measure-
ment by G136 as follows:
- Reference surface Z ............................Correction on the Z-OFFSET item.
- Ref. surf. C, Groove/Step width C .......Correction on the C-OFFSET item.
Note: Setting a value other than 0 and 1 functions the same as setting “1”.
3. Illustration
A. Workpiece measurement
The example bellow refers to the measurement operation for Width X. The measuring tool path is
determined by the positional arguments (for starting and ending points, approach point, and
measurement stroke) designated in the macro-call block. The only difference from the corre-
sponding MAZATROL measurement is that the approach point can be designated as desired.
1. Programming
G54 ・・・・・・・・Coordinate system setting
T1 T0 M6 ・・・・・・・・[1] Change for the touch sensor
G0 Xx1 Yy1 Zz1 ・・・・・・・・[2] Intermediate point setting
G136 Xx Yy Zz Aa Bb Cc Ii Jj Kk Dd Uu Vv Ww Q1 ・・・・・・・・[3] Measurement of Width X
G137 A1 B0 C0 V2.0 ・・・・・・・・Correction and printout
18-11
18 MEASUREMENT MACROS
2. Tool path
[2] [2]
[3]
[3] [4]
k
k
[7]
[9]
k
k
X X
Z Y
D740PB0017
18-12
MEASUREMENT MACROS 18
D740PB0018
18-13
18 MEASUREMENT MACROS
B. Tool measurement
There are no differences in tool measurement between MAZATROL and EIA/ISO programming
types.
C. Coordinate measurement
There are three types of coordinate measurement to be executed by a G136 block as follows:
- Reference surface Z...........Measurement of Z-OFFSET
- Reference surface C ..........Measurement of C-OFFSET (by one-point measurement)
- Step/Groove width C ..........Measurement of C-OFFSET (by two-point measurement)
1. Reference surface Z
This type of measurement macro is designed for measuring the Z-offset value in order that
the workpiece coordinate Z of the reference surface may agree with the dimension specified
on the machining drawing.
A
C B
A: Approaching motion
B: Rapid motion to the meas. starting point
C: Motion at the rate of measurement feed
D: Return to the approach point
D740PB0019
2. Reference surface C
Use this type of macro to measure the C-axis coordinate of the reference surface when the
protrusion or groove has only one side to be measured.
Approach pt.
Starting pt. B
A: Preliminary measurement
A B: Return after preliminary
measurement
18-14
MEASUREMENT MACROS 18
3. Step/Groove width C
Use this type of macro for both-side measurement on a step or groove to obtain the center
coordinate of the step/groove.
The measurement on the first side is performed in the first step preliminarily at a higher
speed (of approaching) to quickly detect the target surface. Once the preliminary
measurement has been done successfully, a precise measurement is performed in the
second step slowly (at the rate of skip feed).
Since the step or groove has been detected, the measurement on the other side occurs in a
single step at the rate of skip feed.
Approach pt.
Starting pt. D E
C
A A: Preliminary measurement
B: Return after prel. measurement
B C: Real measurement
D: Return after real measurement
E: Transference to the starting point
of measurement on the other side
F F: Real measurement on the other
G side
G: Return after real measurement on
the other side
Axis of rotation
on the C-axis Target angular position
on the C-axis
D740PB0021
A. Workpiece measurement
The designated data of starting and ending points and tolerances in the program, and the related
data on the AUTO MEASURE display, are processed and indicated respectively as follows:
Note 1: The “G10.9X0” (Radius data input) mode is established upon completion of the work-
piece measurement.
Note 2: The K19 parameter functions as a radius value even in the OD/ID measurements.
18-15
18 MEASUREMENT MACROS
B. Tool measurement
Tolerance values X and Z refer to diameter and radius data, respectively. Tolerance X must
denote a radius value, however, if the X-axis is not currently set (*) to the axis of diameter values.
Moreover, preparatory functions G122.1 and G123.1 are not available.
* According to the setting in machine parameter M18 bit 5.
C. Coordinate measurement
All types of data are processed as radius values.
The mode of G122.1 (Radius data input for the X-axis) is automatically selected when the G136
macro concerned is called up.
18-16 E
TORNADO TAPPING (G130) 19
19 TORNADO TAPPING (G130)
2. Programming format
The following format refers to hole machining on the face [or O. D. surface].
G17 [or G19];
G130 R_Z_D_T_V_F_H_I_J_K_Q_E_M1 [or M0];
X [or Z] _Y_; (Setting of hole position)
G67;
R
E
Cutting surface
R: Position of R-point
I 45° Z: Position of hole bottom
D: Hole diameter
T: Tool diameter
H V: Hole depth
V
F: Feed rate
H: Chamfering amount
I: Pitch 1
J: Pitch 2
K: Bottom finishing (0: No, 1: Yes, Others: Yes)
Q: Machining direction (0: CW, 1: CCW)
J
Z E: Position of 2nd R-point
M: Hole machining axis (0: X, 1: Z or oblique)
D TEP300
19-1
19 TORNADO TAPPING (G130)
3. Description of movement
A. Hole machining
1. With chamfering
After moving from the current position to the R-point on the hole axis and then approaching
to a point on the 2nd R-point level, chamfering is performed by a spiral-helical interpolation
first, and then cylindrical machining is carried out to the bottom by a circular-helical
interpolation.
Cutting feed
Initial point Rapid traverse
R-point
Approach point
R 2nd R-point
E
Cutting
surface
Chamfer Pitch 1
Hole depth
Pitch 2
2. Without chamfering
After moving from the current position to the R-point on the hole axis and then approaching
through the hole radius and to a point on the 2nd R-point level, cylindrical machining is
carried out from the top to the bottom by a circular-helical interpolation.
Cutting feed
Initial point Rapid traverse
R-point
Approach point
2nd R-point
R
E
Cutting
surface
Hole depth
Pitch 2
19-2
TORNADO TAPPING (G130) 19
B. Movement on the bottom
1. With bottom finishing
After cutting down to the bottom of the hole by helical interpolation, the tool performs a
circular interpolation for full circle, and then escapes radially to the axis of the hole before
returning in the axial direction to the initial point or R-point at the rapid traverse.
Escape point
TEP303
Escape point
1/4 pitch
TEP304
19-3
19 TORNADO TAPPING (G130)
- NOTE -
19-4 E
EIA/ISO PROGRAM DISPLAY 20
20 EIA/ISO PROGRAM DISPLAY
This chapter describes general procedures for and notes on constructing an EIA/ISO program
newly, and then editing functions.
Cursor
- When INPUT key INPUTis pressed, the cursor is moved to the top of the next line, and then
the data of the next block can be entered.
(7) Press the [PROGRAM COMPLETE] menu key to end the editing.
20-1
20 EIA/ISO PROGRAM DISPLAY
20-2-1 General
Establishing a constructing mode on the PROGRAM (EIA/ISO) display allows the following
menu to be displayed as an initial one.
Terms [1] to [6] represent functions related to the program editing. Use of the functions permits
the following operations:
- Inserting and altering data at any position
Data can be inserted and altered at any position on the display.
- Erasing the data
Data displayed on the display can be erased.
- Searching for the data
Data can be searched in the following four ways.
1) Searching for the top line of the program
2) Searching for the bottom line of the program
3) Searching for any required line of the program
4) Searching for any character string
- Copying the data
Other EIA/ISO programs registered in the NC unit can be copied into the selected program, or
any data character string in the selected program can be copied into a given position of the
selecting program or a new EIA/ISO program.
- Moving the data
Any data character string can be moved to a given position of the selecting program or a new
EIA/ISO program.
- Replacing the data
Any data character string can be replaced by another character string.
20-2
EIA/ISO PROGRAM DISPLAY 20
2. Altering the data
(1) Press [ALTER] menu key to display ALTER.
- When ALTER is displayed, press the menu key to highlight the menu item.
(2) Move the cursor to the position where data must be altered.
- The cursor can be moved to any direction (vertically and horizontally).
(3) Enter the required data.
! Data is altered in sequence from the position where the cursor is placed.
! The character previously set at the cursor position is replaced in sequence by the new
data.
20-3
20 EIA/ISO PROGRAM DISPLAY
- To search for a character string in the area before the cursor position, press the [SEARCH
FORWARD] menu key, and for the area after the cursor position, press [SEARCH
BACKWARD] menu key.
(3) Set the character string to be searched for and press the input key.
! The cursor moves to the head of the character string which has been found first.
- Press the data cancellation key (CANCEL) to stop halfway the searching operation, whose
running state is indicated by the message CNC BUSY on the display.
Remark: Pressing the input key in sequence allows the cursor to move to the character string
which has been found next.
A. Copying a program
(1) Move the cursor to the position where the program is to be copied.
(2) Press the [COPY] menu key.
(3) Press the [PROGRAM COPY] menu key.
! [PROGRAM COPY] is highlighted and the WORK No. SELECT window appears.
(4) Set the work number of the program to be copied and press the input key.
! The program is inserted into the cursor position.
Note: MAZATROL programs cannot be copied.
20-4
EIA/ISO PROGRAM DISPLAY 20
(3) Press the [LINE(S) COPY] menu key.
! The character at the cursor position is highlighted and the [LINE(S) COPY] menu item
is also highlighted.
(4) Move the cursor to the position next to the end of the character string to be copied.
! The portion from the head of the character string specified in (1) to the position before
the cursor is highlighted, which indicates that the highlighted portion provides the
object of copying.
Example:
N001 G00 X10. IZ10.
G00 X100.
G00 Z20.
Cursor position in (1)
IN002 M08
M03 Cursor
20-5
20 EIA/ISO PROGRAM DISPLAY
Cursor
20-6
EIA/ISO PROGRAM DISPLAY 20
7. Replacing the data
(1) Move the cursor to the starting position of data replacement.
- Replacement is made downward from the cursor position. To make replacement through-
out the program, therefore, move the cursor to the first character of the top line.
(2) Press the [FIND & REPLACE] menu key.
! [FIND & REPLACE] is highlighted.
20-7
20 EIA/ISO PROGRAM DISPLAY
20-8
EIA/ISO PROGRAM DISPLAY 20
D740PB002E
- The editing operation can only be carried out in the part the title (WNo.) of which is highlighted.
- The display contents in the other part will remain unchanged even after the editing in the active
part. Press the [CHANGE PROGRAM] menu key to change the display in the other part
according to the editing operation.
20-9
20 EIA/ISO PROGRAM DISPLAY
D740PB003E
20-10
EIA/ISO PROGRAM DISPLAY 20
In the example below, the left-hand part is currently active.
D740PB002E
(1) Press the [CHANGE PROGRAM] menu key.
! The highlighting of the title is transferred from the left-hand to the right-hand part to
indicate that the latter has been made active.
- The contents in the right-hand part will have been modified at the same time according to
the editing operation performed for the left-hand part (of the same WNo.).
D740PB004E
20-11
20 EIA/ISO PROGRAM DISPLAY
! The menu item is highlighted and the DIRECTORY CHANGE window appears on the
screen.
- The options IC CARD PROGRAMS and ETHERNET OPE. PROGRAM will only be
presented for machines equipped with the corresponding optional functions.
(2) Use the cursor keys to select the desired storage area.
(3) Click the [OK] button, or press the INPUT key.
! With a memory area other than that of STANDARD PROGRAM being selected, the
color of the background of the PROGRAM display changes to yellow. Follow the same
creating and editing procedure, however, as for programs in the STANDARD PRO-
GRAM area to prepare a new program, or edit an existing one, for the selected memory
area.
- The area selection made from this window will be maintained till turning off the NC power.
- The title bar displays the current selection of the memory area.
20-12 E