M300 M300-V Programming Manual
M300 M300-V Programming Manual
343B-E
USA-E99051-017-*
MITSUBISHI CNC
MELDllS 300/3004/ Series
PROGRAMMING MANUAL
320M1330M/330HM/335M(CNC)
320M-V/330M-V/330HM-V/335M-V(CNC) >
INTRODUCTION
This manual has been prepared for the MELDAS 320M/330M/330HM/335M/320M-V/330M-V/
330HM-V/335M-V systems which are software-freed configuration types of computerized numerical
controllers (CNC) designed for executing high-performance contouring control mainly with milling
machines and machining centers.
This manual details the programming of the above systems and it should therefore be read prior to the use
of these systems.
This manual has been written on the assumption that all the system functions have been provided although
not all the functions may be featured when the CNC in question is supplied. For use, therefore, check the
table of functions provided for each system on the following page and also consult the specifications manual
issued by the machine builder.
CONTENTS
I
CONT.ENTS
8. DWELL ......................................................................................................................................................... 76
v
C’0NTEN7’)S.
;,.
,.:
VI
INTR(XXK770N
Item
No. Description I I 320M
330M
330HM
335M
-1 CONTROL AXES
1.1 COORDINl 4TE WORD o 0
2. MMA~
INPUT CO1.. _-.. UNIT
2.1 [NPUT COMMA] W) UNIT 1P o 0
2.2 [NPUT SE~”n’”
I J.NU UNIT O.lu A A
2.3 COMl””’-
M.ANJ) UNIT X 10 A A
3. DAT4 4 FORMAT
3.1 TAPE CODES (ISO/EI LA) o 0
.-. ——-—
———
3.2 PROGRAM FORMATS (WORDS/ADDR .ESSES) 0 0
3.4 OPTIONAL BL04CK SKIP o 0
3.5 PROGRAM/SEQUENCE/BLOCK NUMBERS
3.6
-. -—-. -.—.
o I o
I
4.
4.1
4.2
-5
5.1
5.2
5.3
6.
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
—
(V only)
7. FEED FUNCTIONS
7.1 RAPID TRAVERSE o 0
7.2 CUTTING FEED o 0
7.3 F l-DIGIT FEED A A
7.4 SYNCHRONOUS FEED (G94, G95) Per-minute feed
o 0
(G94)
Per-revolution feed
A A
(G95)
7.6 EXACT STOP CHECK (G09) o 0
7.7 EXACT STOP CHECK MODE (G61) o 0
INTRODUCTION
330M
tern
Description 320M 330HM
No.
335M
~ 4UTOMATIC CORNER OVERRIDE (G62) I A I A
7.9 rAPPING MODE (G63) o 0
7.10 XJTTING MODE (G64) o 0
7.11 +IGH-PRECISION CONTROL MODE (G61.1) A A
(V only) (V only)
IWELL I
‘ER-SECOND DWELL (G94/G04) o 0
‘ER-REVOLUTION DWELL (G95/G04) — o
MISCELLANEOUS FUNCTIONS
tiISCELLANEOUS FUNCTIONS (M2-DIGITS) o 0
MISCELLANEOUS FUNCTIONS (M4-DIGITS) o 0
MISCELLANEOUS FUNCTIONS (M8-DIGITS) — o
;ECONDARY MISCELLANEOUS FUNCTIONS
A A
‘B/A/c8-DIGrrs)
$PINDLE FUNCTIONS
SPINDLE FUNCTIONS (S2-DIGITS) o 0
;PINDLE FUNCTIONS (S5-DIGITS ANALOG) A A
10.3 SPINDLE FUNCTIONS (S8-DIGITS) — o
10.4 SONSTANT PERIPHERAL SPEED CONTROL (G96, G97) — A
1. rOOL FUNCTIONS
11.1 rOOL FUNCTIONS (T2-DIGITS) o 0
11.2 rOOL FUNCTIONS (T8-DIGITS) o 0
12. rOOL OFFSET FUNCTIONS
12.1 rOOL OFFSET IMemory type I o 0
Memory type 11 — A
No. of sets 40 0 0
INo. of set~ 100 I IA IA
No. of set~ zoo I I — I A
No. of set~ 400 I — A
No. of setx 800 I — A
-12.J TOOL LENGTH OFFSET (G43, G44/G49) o 0
12.3 TOOL POSITION OFF3ET (G45 – G48) o 0
12.4 CUTTER COMPENSATION (G38 – G42) A A
12.5 3-DIMENSIONAL CUTTER COMPENSATION (G40 – G42) — A
g PROGRAMMED TOOL COMPENSATION INPUT (G1O) A A
~ PROGRAM SUPPORT FUNCTIONS
13.1 CANNED CYCLE CANCEL (G80) A A
DRILLING/SPOT DRILLING CANNED CYCLE (G81) A A
DRILLING/[ COUNTER BORING CANNED CYCLE (G82) A A
DEEP HOLE DRILLING CANNED } CYCLE (G83) A A
TAPPING CANNED CY(CLE (G84) A A
BORING CANNED CYCLE (G85) I A A
BORING CANNED CYCLE (G86) A A
BACK BORING CANNED CYCLE (G87) I A A
lNTRODUCTION
330M
I
Item
Description 320M 330HM
No.
335M
13.1 BORING CANNED CYCLE (G88) A A
BORING CANN.IED CYCLE (G:
. -89) I A I A
STEPPING CANNED CYCLE (G73) A A
REVERSE TAPPING CANNE1 3 CYCLE (G74) A A
FINE BORING CANNEI D CYCLE (G76) A A
INITIAL POINT, REFERENCE POINT LEVEL RETURN
A A
(G98, G99)
13.2 SPECIAL CANNED CYCLE BOLT HOLE CIRCLE (G34) A A
LINE-AT-ANGLE (G35) A A
ARC (G36) A A
GRID (G37.1) A A
13.3 SUBPROGRAM CONTROL (M 98, M99) o 0
13.4 VARIABLE COMMANDS (#n) A A
13.5 PATTERN ROTATION (M98) — A
13.6 PATTERN ROTATION (G68, G69) Parameter . A
IProgram — A
13.7 USER MACROS (G65, G66, G66.1, G67) A A
MACRO INTERRUPT — A
13.8 USER MACROS I (G101 – Gllo, G200 – G202) A A
13.9 SCALING (G50, G51) — A
13.10 G COMMAND MIRROR IMAGE (G50.1, G51.1) o 0
13.11 CORNER CHAMFERING (,C_), — A
CORNER ROUNDING (,L) I
13.12 LINEAR ANGLE COMMAND o 0
13.13 GEOMETRIC COMMAND — A
13.14 G COMMAND COORDINATE ROTATION INPUT (G1O) A A
13.15 CIRCLE CUTTING (G12, G13) A A
14. COORDINATE SYSTEM SETTING FUNCTIONS
14.4 BASIC MACHINE COORDINATE SYSTEM o 0
14.5 COORDINATE SYSTEM SETTING (G92)
14.6 AUTOMATIC COORDINATE SYSTEM SE’ITING
14.7 AUTOMAT ‘IC REFERENCE POINT RETURN (G28, G29) o 0
14.8 SECOND, THIRD, FOURTH Seeond A A
REFERENCE POINT RETURN (G30) Third, Fourth
,x . . .
— ,’..
A ,
Item 330M
Description 320M 330HM
No. ---- .
17.1 AUTOMATIC TOOL LENGTH MEASUREMENT (G37) — A
17.2 SKIP FUNCTION (G31) A A
17.3 MULTI-STAGE SKIP FUNCTIONS (G31.1 – G31.3, G04) — A
18. AXIS CONTROL FUNCTIONS
18.1 CHOPPING FUNCTION ,— A
(V only)
,,
1. CONTROL AXIS
1.1 COORDINATE WORD AND CONTROL AXES
1. CONTROL AXIS
+2
+Z
+-Y
k
Programmed+c~ordinates
—
T#~iF~~n&~~
‘G3c Table rotation P;o~ammed coordinates
direction
-1-
1. CONTROL AXLS
1.2 COORDINATE SYSTEMS AND COORDINATE ZERO POINT
SYMBOLS
-x Machine
Basic machine coordinate system
u
w
x,
yl
L
Y2
1st re$erence
Work coordinate Work coordinate Work coordinate point
system 3 (G56) system 2 (G55) system 1 (G54)
Local com
I –Y
-2-
2. INPUT COMMAND UNITS
2.1 INPUT COMMAND UNITS
2. INPUT COMMAND
NOTE 1: Inch/metric conversion is performed in one of 2 ways: conversion from the parameter screen
~initial inch”: valid only when the power is switched on) and conversion using the G command
(G20 or G21).
However, when a G command is used for the conversion, the conversion applies only to the input
command units and not to the input setting units. Consequently, the tool offset amounts and
other compensation amounts as well as the variable data should be preset to correspond to
inches or millimeters.
NOTE 2 The millimeter and inch systems cannot be used together.
NOTE 3: Input setting units should be assigned for radial commands (R) and for center commands (I, J,
K) when conducting circular interpolation with axes having different input command units. (Use
a decimal point to avoid confusion.)
-3-
2. INPUT COMWD LL!VITS
2.3 COMMAND UNIT X 10
NOTE In the table, the fkures on the top level of the MELDAS-300 movement amounts apply to decimal
point input “type i and those on~he bottom level apply to decimal point input ~e-2. For rotary
axes, the type must be aligned with the command units when preparing the machining programs.
The parameters are changed by the machine parameter settings.
-4-
3. DATA FORMATS
3.1 TAPE CODES
3. DATA FORMATS
3.1 TAPE CODES
The command information used for this MELDAS series consists of combinations of alphabet letters (A,
B, C ... Z), numbers (O, 1, 2 ... 9) and signs (+, -, / ...). These alphabet letters, numbers and signs are
referred to as characters. Each character is represented by a combination of 8 holes which may, or may not,
be present on the paper tape.
These combinations make up what is called codes.
This MELDAS series employs two types of tape code~ the EIA code (RS–244–A) and the ISO code
(R–840).
NOTE 1: If a code not given in the tape code table in Fig. 1 is assigned, an illegal address error (P32)
results.
NOTE X The following codes which exist with ISO but not with EL4 can be designated by paramete~
[ (open parenthesis)
1# (closing parenthesis)
(sharp sign)
* (asterisk)
= (equals sign)
(colon)
Any codes which overlap with existing codes or codes which result in parity H cannot be designated.
NOTE 3 EIA/ISO conversion is done automatically by the first EOB/LF code after NC resetting.
NOTE 4 For the sake of convenience, a semicolon (;) has been used to indicate the end of block
(EOB/LF) which separates one block from another. Do not use the semicolon key, however, in
actual programming but use the keys in the following table instead.
EOB/130R keys and displays
Code used
EIA 1s0 CNC display
Key used
End of block EOB or CR LF or NL
End of record EOR % %
(1) Significant data section (label skip function)
After the power has been turned on or after operation has been reset, all data up to the first EOB (;),
is ignored during an automatic operation based on tape, a memory storage operation or during a
search operation. In other words, the significant data section of a tape extends from the character or
number code after the initial EOB (;) code after resetting to the point where the reset command is
issued.
E
‘hen “TEST1” has been set in the comment with title output available ~
6$0:049
@
96,9*
;@@@
e
*oe*
*O@
eeeee
:
● ;
@
a e
e 00090 @eee : 0: e
● OOa*@Ooo*. o ..amae.~.~.a *. @**~.*.@.* .
00 00 00 ● 0
-5-
3. DATA FORMATS
3.1 TAPE CODES
ECS
eo **O
P
oe:e
1 01!:
e
B
0000 @
m
e eo e 00
r’
~~
2m Initial block
(:,) (:)~
_ i “m
Last block
2m
L
If a tape handler is not used, there is no need for the 2-meter dummy at both
ends of the tape or for the head EOR (%) code.
-6-
3. DATA FORMATS
3.1 TAPE CODES
EIA or 1S0 code is automatically identified by the first EOB/LF code after NC resetting.
:
3
4
6
6
7
i
9
0
or NJ.,
ee eo. ee [
00 *e. o e ]
*O*
. ..”
O*
“~’
“:”””””””””4$
‘“~”g”””’:”
●
&
‘emea,te..k(.)dm.n.t
denote an E~c~e-bu;
~
‘is used simply
. Under the ISO code system,
J .F m
—. ..- Nl. is F.(X3 and
.—.-—-- -
@Under the 1S0 code system,
% is EOI
Codes (A) are stored on tape but an error results (except when they are used in the comment section)
during operation.
Codes (B) are non-working codes and are always ignored. (They are, however, subject to the parity V
check.)
There’are no EIA standard codes corresponding to the~%~areas. Fig. 1 Table of tape codes
-7-
3. DATA FORMATS
3.2 PROGRAM FORMA TS
Word
.- -.
❑000------0
2
Numerals
~ Alphabet (address)
Word configuration
The alphabet letter at the head of the word is the address. It defines the meaning of the numerical
inform~tion which follows it.
For details on the types of words and the number of significant digits in the words used with this MELDAS
series, refer to Table 1 containing the format abbreviations.
(2) Blocks
A block is a collection of words. It includes the information which is required for the numerically
controlled machine to execute specific operations. One block unit constitutes a complete command.
The end of each block is marked with an EOB (end-of-block) code.
(Example 1)
Gox-looo ;
GIX–2000F500
@xample 2)
;
1 2 blocks
(GOX–1OOO ;) (This counts as one block since the semicolon inside the parentheses
GIX–2000F500 ; does not denote EOB.)
}
(3) Programs
A program is a collection of several blocks.
-8-
3. DATA FORM4TS
3.2 PROGRAM FORMA TS
-9-
3. DATA FORMATS
3.3 TAPE STORAGE FORMA T
The example given below is a case where the X-axis is positioned (by the GOOcommand) at the
~
45.123 mm position in the absolute value (G90) mode.
GO OX45123;
3 digits below decimal point
T“~
-This denotes 5 digits above decimal point. However, since the actual value
is “ + 00045”, the leading zeros and “ + “sign are omitted.
GO may be pogrammed instead.
-1o-
3. DATA FORM4TS
3.5 PROGRAM, SEQUENCE AND BLOCK NUMBERS (0, N)
NC monitor display
NC input machining program
Program no. Sequence no. Block no.
012345678 (DEMO, PROG) ; 12345678 0 0
I G92XOY0 ; 12345678 I 01 1 I
G90G51X-150. Po. 75 ; 12345678 0 2
N1OOGOOX–5O. Y–25. ; 123456’78 100 0
N11OGO1X25O. moo ; 12345678 110 0
Y–225. ; 12345678 110 1
X–50. ; 12345678 110 2
Y–25. ; 12345678 110 3
I N120G51Y–125. PO. 5 ; 12345678 120 I o I
N13OGOOX–1OO. Y–75. ; 12345678 130 0
N140G01X–200. ; 12345678 140 0
Y–175. : 12345678 140 1
x–loo. ; 12345678 140 2
Y–75. ; 12345678 140 3
N150GOOG50XOY0 ; 12345678 150 0
! N160M02 : ! 12345678 i 160 \ o
-11-
3. DATA FORMATS
3.6 PARITY Hfl
@
e ● e
1
<
L This character causes a parity H error.
00* ● 00 ●* ● oe*
o
00
●0
O*
●:00000
● ● 0000
●000*:0000
●eeo*oo*o ::
●:000000
● ● 000006000
● 00
● 00 ● 00
c ● 0:00 ● ● 000 ● ●
r
i
1 Block
1 i
●
::
●
*e*em*m
*O *em ●
:
**********
so:.
● ☛
●
● *m**
●s
e*
● 00
*D**
●
● m***
●
● *: ● 000
00
● OO
0.:0:: ●
@ ●s
● 0 ● ● ● ●
● ● s
f /
I t I This unpunched character
denotes the parity.
-12-
3. DATA FORlk?ATS
3.6 PARITY Hfl
(2) Parity V
A parity V check is done during tape operation, tape input and sequence number search when the
parity V check function is turned on by the parameter screen setting on the setting and display unit.
It is not done during memory operation. -
A parity V error occurs in the following case: when the number of codes from the first significant code
to the EOB (;) in the significant data section in the vertical direction of the tape is an odd number,
that is, when’the numb&of characters in one block is odd.
When a parity V error is detected, the tape stops at the code following the EO13 (;).
kmmle 3)
t
This block causes a parity V error.
NOTE 1: Among the tape codes are both codes which are counted as characters for parity V and wales
which are not wunted as such. For details, refer to the tape wde table in Fig. 1 of Section 3.1.
NOTE 2 Any space wales which may appear within the section from the initial EOB wde to the address
code or “/” code are not counted for parity V check.
- 13 ‘-
,,
3. DATA FORMATS
3.7 TABLE OF G COMMANDS
G code G code
Group Function Group Function
system system
Special canned cycle
●OO 01 Positioning 34 00
(bolt hole circle)
*O1 01 Linear interpolation 35 00 Special canned cycle (line at angle)
02 01 Circular interpolation (clockwise) 36 00 Special canned cycle (arc)
Ckcular interpolation
03 01 37 00 Automatic tool length measurement
(counterclockwise)
02.1 00 Spiral interpolation (clockwise) 37.1 00 Special canned cycle (grid)
Spiral interpolation Cutter compensation vector
03.1 00 38 00
(counterclockwise) assignment
04 00 Dwell 39 00 Cutter compensation comer arc
Cutter compensation cancel/
05 00 High-speed mode *4O 07
3-D cutter compensation
Cutter compensation left/
06 (Spare) 41 07
3-D cutter compensation
Cutter compensation right/
07 00 Imaginary axis interpolation 42 07
3-D cutter compensation
08 (Spare) *40.1 15 Normal line control cancel
09 00 Exact stop check 41.1 15 Normal line control left
Program parameter input/compensa-
10 00 42.1 15 Normal line control right
tion input
11 00 Program parameter input cancel 43 08 Tool length offset (+)
12 00 Arc cutting (clockwise) 44 08 Tool length of&et (-)
13 00 Arc cutting (counterclockwise) 45 00 Tool position offset expansion
14 (Spare) 46 00 Tool position offset contraction
15 (Spare) 47 00 Tool position offset x 2 expansion
16 (Spare) 48 00 Tool position offset x 2 contraction
*17 02 Plane selection X — Y *49 08 Tool psition offset cancel
*18 02 Plane selection Z – X *5O 11 Scaling cancel
*19 02 Plane selection Y — Z 51 11 Scaling ON
*2O 06 Inch command *50.1 19 G command mirror image cancel
“21 06 Metric command 51.1 19 G command mirror image ON
22 04 Barrier check before movement ON 52 00 Local coordinate system setting
*23 04 Barrier check before movement OFF 53 00 Machine coordinate systemselection
24 (Spare) *54 12 Work coordinate system 1 selection
25 (Spare) 55 12 Work coordinate system 2 selection
26 (Spare) 56 12 Work coordinate systern 3 selection
27 00 Reference point check 57 12 Work coordinate w tern 4 selection
28 00 Reference point return 58 12 Work coordinate system 5 selection
29 00 Start point return 59 12 Work coordinate system 6 selection
30 00 2nd-4th reference point return 60 00 Unidirectional positioning
31 00 Skip function 61 13 Exact stop check mode
31.1 00 Multi-stage skip 1 61.1 13 High-precision control mode
31.2 00 Multi-stage skip 2 62 13 Automatic comer override
31,3 00 Multi-stage skip 3 63 13 Tapping mode
32 (Spare) %4 13 Cutting mode
33 01 Thread cutting 65 00 User macro simple call
-14-
3. DATA FORMATS
3.7 TABLE OF G COMMANDS
NOTE k The “*” asterisk denotes a ~de which should be se]ect~ or is se]@ed in the initi~ status.
The “*” asterisk denotes a code which should be selected or is selected in the initial status by a parameter.
NOTE 2 When two or more G codes in the same group have been assigned, the last G code is valid.
NOTE 3: G101 – G11O and G200 – G202 are user macro I codes. When they have been set by
parameter as G code call codes, the G code calls take precedence and the codes cannot be used
as user macro I codes.
NOTE 4 This list contains original NC G codes. Some machines may operate differently from these codes
using G code macro calls. Reference should be made to the operating instructions issued by the
machine builder.
-15-
4. BUFFER REGISTER
4.1 INPUT BUFFER
4. BUFFER REGISTER
Analysis processing
p ---------- ------ .---— —--- 1
(Buffer simx 248x 5 characters) ~ Max. 5 execution blocks
Input
& buffer
n @ ‘{ (.U ;= !
u
I
Memo~ J I
I
Keyboard
u
h #
MDI
data —
~ NOTE: Data equivalent to 1 block is stored ~
in one pre-read buffer. I
I
-— --- ——-— .——. -1
i____ -–-–
2) The input buffer has a memory capacity of 248 x 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 data sections are read into the input buffer.
● When codes (including “(” and “)”) are sandwiched in the control in or control out mode and
the optional block skip function is ON, the data extending from the “/” (slash) code up to the
EOB code is read into the input buffer.
● The input buffer contents are cleared by resetting.
-16-
4. BUFFER REGISTER
4.2 PRE-READ BUFFERS
-17-
,.
5. POSITION COM..S
5.1 POSITION COMMAND SYSTEMS (G90, G91)
5. POSI’HON COMMANDS
5.1 POSITION COMMAND SYSTEMS (G90, G91)
(1) Function and objective
Once the G90 or G91 command has been assigned, the following coordinate commands can be
executed as absolute or incremental value commands. Incremental commands, however, always apply
to R-specified arc radii and I, J, K arc centers.
(2) Command format
G9A XXI Yyl Zzl a al ; (“a” is optional axis)
Where G90: Absolute command
G91: Incremental command
(3) Detailed description
1) In the abhlute value mode, the tool can be
moved to the position of the work coordi- ‘..mo. ,
nate system assigned by the program re- II
gardless of its present position, Tool
::#--
lmfN1
IN 1 G90GOOX0 YO ; I
In the incremental value mode, the tool is
moved as a relative value by the amount of
the value equivalent to the program com-
mand, with its present position as the start
point (0).
-18-
5. POSIZ70N COMM4NDS
5.2 INCH/METRIC CONVERSION (G20, G21)
4 ) Whether the absolute or incremental commands are to apply when the power is switched on can
be selected by parameter setting on the setting and display unit.
5 ) When commands are issued by manual data input (MDI), they are treated as medals from the
block in question.
NOTE 1: When providing G20/G21 conversion by a program command, the tool length, tool position, tool
radius and other such offset amounts as well as variables and parameters must be converted into
the input setting units of the metric command input setting unit system (for each axis) and set
on the setting screen or by parameter tape input.
(Example 2) When input setting unit system “B” (initial inch) is OFE
Position command unit .....0.001 mm
Compensation amount setting unit ....0.001 mm when compensation amount is 0.05 mm
In the above case, the compensation amount must be set as 0.002 (0.05 + 25.4 # 0.002) with
G21 e G20 conversion.
NOTE 2 As a rule, G20/G21 conversion is performed before the work machining starts. However, for
conversion midway through a program, stop operation with the MOOor other such command
after the G20 (or G21) command and then proceed to change the compensation amount.
(Example 3) G21 G92 Xxl Yyl Zzl ;
:,. :
:,. :
: :
G20 G9; XX’2Yy2 ZZ2 ;
MOO ; - Compensation amount must be reset.
:
F1O ; ~“ New F command must be input.
Whether the G20 or G21 command is to apply when the power is switched on can be
selected by means of “initial inch” on the parameter page.
NOTE 3 When conversion takes place, the F feed rate command will execute the data prior to conversion
in the command unit system applying after conversion. This means that the proper feed rate
command for the command unit system applying after conversion should be assigned again.
-19-
., ,,, ,.
5. POSIITON COMkOiNDS
5.3 DECIMAL POINT INPUT
-20-
6. INl_i5RPOLA170N FVNCE?ONS
6.1 POSITIONING [RAPID TRA VERSE: GOOJ
6. INTERPOLATION FUNCTIONS
+ 300)
Unit: mm
NOTE 1: When the “GO non-intertmlation” user uarameter is OFF, the Path along which the tool is
positioned is the shortest-path connecting the start and end poi~ts. The ~ositioning speed is
automatically calculated so that the shortest distribution time is obtained in order that the
assigned speeds for each axis do not exceed the rapid traverse rate.
-23-
6. INTERPOLA170N FUNCTiONS
6.1 POSITIONING (RAPID TRA VERSE: GOO)
When, for instance, the X-axis and Y-axis rapid traverse rates are both 9600 mm/min, the tool will
follow the path in the figure below if the fol~owing is programmed:
G91 GOOX–300000 Y200000 ; (With an input setting unit of 0.001 mm)
, \HL
Y
fy
\ E
x
Start point
. WI h
‘x-r’
Actual X axis rate: 9600 mm/min
(Unit: mm)
NOTE 2 When the “GO non-interpolation” user parameter is ON, the tool will move along the path from
the start point to the end point at the rapid traverse rate of each axis.
When, for instance, the X-axis and Y-axis rapid traverse rates are both 9600 mm/min, the tool
will follow the path in the figure below if the following is programmed:
G91 GOOX–300000 Y200000 ; (With an input setting unit of 0.001 mm)
fy
\ \yi-
x
r W----lstartpoint
NOTE 3 The rapid traverse rate for each axis with the GOOcommand differs according to the individual
machine and so reference should be made to the machine specifications manual.
NOTE 4: Rapid traverse (GOO) deceleration check
Upon completion of rapid traverse (GOO), check that the remaining distances of the axes are
less than the regular values, and then execute the next block. (See Fig. 1)
The remaining distances are checked by the rapid traverse in-position width L~. “L~” is the
“ZRZ” setting on the servo parameter page.
The parameter “ZRZ setting unit is 0.001 mm or 0.0001 inch.
-24-
6. INIERPOLATION FUNCTIONS
6.1 POSITIONING {RAPID TRA VERSE: GOO)
Previous block
Next block
T,
r -
ZXTR
P
In Fig. 1, T~ is the rapid traverse acceleration/deceleration time constant and L~ is the in-position width.
The in-position width LR is the remaining distance of the previous block when the next block is started, as
shown in Fig. 1 (shaded area in the figure).
The rapid traverse acceleration/deceleration check is designed to reduce the positioning time. If the
parameter “ZRZ” setting is increased, the reduction time will also be increased but the remaining distance
of the previous block when the next block is started will also be increased, and this may interfere with the
actual machining.
The remaining distance check is conducted at regular time intervals. As a result, the effect of the
positioning time reduction may not correspond to the “ZRZ” setting.
,,
-25-
6. INTERPOL47TON FUNCTIONS
6.2 UNI-DIRECTIONAL POSITIONING (G60]
e— Start point _@
Start point
Stop once J y ‘
—
h
o C60-a
3) The above positioning operation is performed even when Z-axis commands have been assigned
for Z-axis cancel and machine lock. (Display only)
4) When the mirror image function is ON, the tool will move in the opposite direction as far as the
intermediate position due to the mirror image function but the creep distance operation during
its final advance will not be affected by mirror image.
5) The tool moves to the end point at the dry run speed during dry run when the GO dry run
function is valid.
6) Feed during creep distance movement with final positioning can be stopped by resetting,
emergency stop, interlock, feed hold and rapid traverse override zero.
The tool moves over the creep distance at the rapid traverse setting. Rapid traverse override is
valid.
7) Uni-directional positioning is not performed for the drilling axis during drilling canned cycles.
8) Uni-directional positioning is not performed for shift amount movements during the fine boring
or back boring canned cycle.
9) Normal positioning is performed for axes whose creep distance has not been set by parameter.
10) Uni-directional positioning is always a non-interpolation type of positioning.
11) When the same position (movement amount of zero) has been commanded, the tool moves
back and forth over the creep distance and is positioned at its original position from the final
advance direction.
12) Program error “P61” results when the G60 command is assigned with an NC system which has
not been provided with this particular specification.
-26-
6. INTERPOLA170N FUNCTIONS
6.3 LINEAR INTERPOLATION (GOI)
P*
L x
P,,
/
Unih mm
-20
/ Input setting uni~ 0.001 mm
I
Pa
-27-
6. INTERPOLATION FUNCTIONS
6.4 PLANE SELECTION (G I 7, G18, G19)
I
G18 ; Z — X plane selection
G19 ; Y — Z plane selection /}
X, Y and Z denote the individual coordinate axes or the parallel axes.
-28-
6. INTERPOLA~ON FUNCTIONS
6.4 PLANE SELECTION (G I 7, G18, G19)
NOTE 1: The planes set by the parameters (initial Z – X plane, initial Y – Z pkme) are selected when
the system is reset or when the power is switched on.
-29-
6. IN?ERPOLAIYON FUNCZ?ONS
6.5 CIRCULAR INTERPOLATION (G02, G03)
The arc commands use addresses X and Y (or Z or parallel axes ~ Y or Z) to give the coordinates
of the arc end point and addresses I and J (or K) to give the coordinates of the arc center.
Both absolute and incremental commands can be used together for the arc end point coordinates, but
incremental values must be assigned from the start point for the arc center coordinates.
The arc center coordinates are assigned with input setting units. Care is required with arc commands
for axes using different input setting units. Assign commands with a decimal point in order to avoid
confusion.
(.,3 ) Detailed description
G02 (or G03) & retained until another G command, that is GOO,GO1 or G33 in the 01 group that
changes the its mode, is assigned.
The direction of the arc rotation is differentiated by G02 and G03:
GOZ Clockwise (CW)
G(I3: Countercloctiise (CCW)
L
G03
G02
$
An arc which extends for more than one quadrant can be designated by a single block command.
The following information is needed for circular interpolation.
a Plane selection : Which of the XY, ZX and YZ planes is parallel to the arc
plane?
b Rotation direction : Clockwise (G02) or countercloclmvise (G03)?
c Arc end point coordinates : Given by addresses X, Y, Z
d Arc center coordinates : Given by addresses I, J, K (incremental commands)
e Feed rate : Given by address F
-30-
6. INTERPOLA770N FUNC170NS
6.5 CIRCULAR INTERPOLATION (G02, G03)
(Example 2) G91 G02 X50000 Y50000 J50000 F500 ; .... 3/4 circle command
Yaxis ]I+Y
x axis — +x
Start point
-31-
6. INTERPOLA170N FUNCTIONS
6.5 CIRCULAR INTERPOLATION (G02, G03)
NOTE 1. The terms “clockwise” (G02) and “counterclockwise” (G03) used for arc operations are
defined as a case where “the negative direction is viewed from the positive direction of the
coordinate axis, in a right-hand coordinate system, which is at right angles to the plane in
question.”
2. When all the end point coordinates are omitted or when the end point has the same position as
the start point, a 360° arc (full circle) is assigned when the center is assigned using I, J and K.
3. The following occurs when the start and end point radii do not match in an arc command:
1) Program error “P70” results at the arc start point when error A R is greater than the parameter.
(G91) G02X9.899 I 5. ;
2) Spiral interpolation in the direction of the assigned end point results when error A R is less than
the parameter value.
0 Spiral interpolation
Start point
Start pointradius I End pointradius
\ /
-32-
6. IN?ERPOLA7TON FWWTiONS
6.6 R -SPECIFIED CIRCULAR INTERPOLATION (G02, G03)
/’ \
~ Arc path when R sign is minus
f \ \
i \
I
I
\ Arc path when R sign is plus
\
\ /
\
The following condition must be met with an R-specified arc interpolation command:
L
~r
T
An error results if ~ - r > (yarameter: arc error).
Where L is the line from the start Doint to end noint
If an R specification and I, J, (K) s~ecification ~re assigned at the same time in the same block, the
arc command with the R specification is given priority. In the case of a full-circle command {where
the start and end points coincide), an R-specified arc command will be completed immediately if it
is issued and no operation will result. An I, J, (K) specification arc command should therefore be used
in such a case.
The plane selection is the same as for the I, J, K-specified arc command.
-33-
6. INIW?POLATION FUNCTIONS
6.6 R-SPECIFIED CIRCULAR INTERPOLATION (G02, G03)
‘ ,.
,!
,.,
.’34:
6. INll?RPOLAIYON FUNCTIONS
6.7 HELICAL INTERPOLATION {G17 – G19. G02. G03J
The arc center coordinates and radius are assigned with input setting units. Care is required with
helical interpolation commands for axes using different input setting units.
Assign commands with a decimal point in order to avoid confusion.
(3) Detailed description
z axis
Eik3.
r
. =p.
Y
‘. --%
L >—
2 times”
I
I
axis
1 ) Assign a linear axis (or a multiple number of axes) not including the circular axis for the arc
interpolation command.
2 ) Assign the combined speed of the X, Y and Z axis components for the feed rate F.
3 ) Pitch t is determined from the following formula
z,
k=
(2z” P,+e)/2z
ye
6’=@ e- Os=tan-’ —–
~ e
tan-t ~(0Sec2~)
Xs
Where XS,ys are the coordinates of the start point from the center of the arc
xe, ye are the coordinates of the end point from the center of the arc
NOTE The command range for pitch number P is O to 99. (See *1)
The pitch number (P command) cannot be assigned using an R-specified arc.
*1: Depending on the system version, the command range for pitch number P maybe O to 9999.
-35-
6. INTERPOLA770N FVNCTIONS
6.7 HELICAL INTERPOLATION (G17 – G19, G02, G03)
5 ) Plane selection
The selection of the arc plane for helical interpolation is determined by the plane selection
mode and axis addresses, as is the case for circular interpolation. The standard method of
assigning helical interpolation is to assign a circular interpolation plane with a plane selection
G code (G17, G18, G19) and to assign two axes for circular interpolation and one axis for linear
interpolation (axis perpendicular to the arc plane).
XY plane arc, Z axis line
Assign the addresses of the 3 axes ~ Y and Z in the G02 (G03) mode and G17 (@me
selection code) mode.
ZX plane arc, Y axis line
Assign the addresses of the 3 axes Z, X and Y in the G02 (G03) mode and G18 (plane
selection code) mode.
YZ plane arc, X axis line
Assign the addresses of the 3 axes Y, Z and X in the G02 (G03) mode and G19 (plane
selection code) mode.
Pkme selection of an additional axis can also be performed, as is the case for circular
interpolation.
UY plane arc, Z axis line
Assign the addresses of the 3 axes U, Y and Z in the G02 (G03) mode and G17 (plane
selection code) mode.
Besides the basic command methods given above, there are other methods as indicated in the
examples below. Refer to Section 6.4 on pkme selection for the arc planes which can be selected
by these methods.
(4) Examples of programs
(Example 1)
.
\
G17 ; ““””..XY plane
G03 Xx, Yy, Zz, lil Jjl PO Ff, ; “-”””=XY plane arc, Z axis line
NOTE Address P maybe omitted with a O pitch number.
(Example 2)
G02 XXI YYI ZZI Rrl Ffl ; ...... XY plane arc, Z axis line
-36-
6. INTERPOLATION FUNC7TONS
6.7 HELICAL INTERPOLATION (G I 7 – G19, G02, G03)
(Example 3)
\
(
z axis
I
I
Y axis
-\
‘\
L *@- -** I
u axis ! ZI
a,
(
G18G03 Xxl Uul Zzl Iil ml Ffl ; ...... ZX plane arc, U axis line
NOTE When the same system is present, perform circular interpolation for the standard
axes and linear interpolation for the additional axis.
(Example 5)
G18G02 XXl UU, Yyl Zz, Iil Jj, Kk, Ffl ; ...... Z’ plane ~c~ I-J,y ~S ]ine
(J command ]s ignored)
NOTE Two or more linear interpolation axes can be specified.
-37-
6. INTERPOLATION FUNCTIONS
6.8 SPIRAL INTERPOLATION (G2.1, G3.1)
(Spiral interpolation)
Start point
Center
G2. 1
G17{G3.1 } ~Xx -Yyli , Jj(aa)Ff
._____~ Pp;
G2. 1
‘lg{G~.~ } YyZz JjKk(aa)FfPp;
NOTE The helical interpolation function is required when assigning any axis (a) except a circular
interpolation axis.
*1: Depending on the system version, the command range for pitch number P maybe Oto 9999.
-38-
6. INTERPOLATION FUNCTIONS
6.8 SPIRAL INTERPOLATION (G2.1, G3.lJ
Clearance amount
Y
)-0
z
-39-
6. INl_ERPOLA7TON FUNCTIONS
6.8 SPIRAL INTERPOLATION (G2.1, G3.1)
o
z
<
Y
The values of X, Y and Z at this time are incremental values x, y and ZIfrom start point “s” to end
point “e”; the values of I and J are incremental values il and j~i rom
‘ start point “s” to the center; and
the value of P is assigned by the pitch number “p” eomman .
G3.1 Xxl Yyl Zzl Iil Jjl Ppl Ffl ;
Taper t and pitch t? are determined from the following formula:
Z(re–rs)
t=
xl
But Jrs= ilz+jlz re= J(xl–il) ‘+ (Y1–jl] 2
Z1
4=
(2z”p, +o)/2z
jl –“Y1 –jl
But @=@e– Os= tan-l –t an-’ —
jl –X1 –i]
Where rs, re are the radii at the start and end points
9s, de are the angles at the start and end points.
-40-
6. INTERPOLATION FUNCTIONS
6.8 SPIRAL INTERPOLATION (G2.1, G3.lJ
-41-
6. INIERPOLAITON FUNCTIONS
6.9 IMAGINARY AXIS INTERPOLATION (G07J
x axis
k
A
I
5.
-5.
---- ----
–10. - --
-42-
6. IN7ERPOLA170iV FUiVC170NS
6.10 THREAD CUTTING
ZI
ti
Bj
Tapered thread
LZ i J
section
a
I
LX ~x
I
When a <45°, lead is LZ
When a >45”, lead is LX
When a = 45°, lead can be LX or LZ
NOTE k It is not possible to assign a lead where the feed rate as converted into per-minute feed exceeds
the maximum cutting feed rate.
3 ) Thread cutting is started by the single rotation synchronized signal from the encoder which is
mounted on the spindle.
-43-
6. INTERPOLA170N FUNCTIONS
6.10 THREAD CUTTING
4) The spindle speed should be kept constant throughout from rough cutting until finishing.
5) If the feed hold function is employed during thread cutting the screw thread will lose its shape.
For this reason, feed hold does not function during thread-cutting.
If the feed hold switch is pressed during thread-cuttin~ block stop will result at the end point
of the block following the block in which thread-cutting is completed (that is, ceased to be in the
G33 mode).
6) If the cutting feed rate is changed, it will be compared with the cutting feed clamp rate when
thread-cutting starts and if it is found to exceed the clamp rate, an operation error will result.
7) A cutting feed rate which has been changed in order to guarantee the lead during thread-cutting
may sometimes exceed the cutting feed clamp rate.
8) An illegal lead is normally produced at the start of the thread and at the end of the cutting
because of servo system delay and other such factors.
Therefore, it is necessary to assign a thread length which is determined by adding the illegal lead
length to the required thread length.
9) The spindle speed is subject to the following restriction:
* i,
N11OG9OGOX–2OO.Y–200. S50M3;
N111Z11O. ;
N112G33Z40. F6. O ;
N113M19;
N114GOX–21O..:
N115Z110. MO:
N116X–200. :
M3 ;
N117G04X5. O :
N11BG33Z40. :
Description of operation
N11O,Nlll The spindle center is positioned at the workpiece center and the spindle rotates
in the forward direction.
N112 The first thread-cutting pass is performed; thread lead = 6.0 mm.
N113 The spindle is oriented by the M19 command.
N114 The tool is retracted in the X axis direction.
N115 The tool is returned to above the workpiece and the program is stopped by M1OO.
If nedessmy, the tool should be adjusted.
N116 Preparations are made for the second thread-cutting pass.
N117 If necessary, the dwell command is assigned and the spindle speed is stabilized.
N118 The second thread-cutting pass is performed.
-44-
6. ZN7ERPOLA770N FUNCTIONS
6.11 INCH THREAD CUTTING (G33)
\
~ -“
GSS
e 6
-. .—.—. —..
+x
-45-
6. 2N’Z??RPOLA710N FUNCTIONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40.1, G41.1, G42.1)
When the C axis moves at the block joins, this function serves to exercise control by turning the C axis
so that it points in the normal line direction at the next block start point.
C-axis rotation
There are two types of normal line direction control, type I and type II, in accordance with the C-axis
turning system during normal line direction control.
(The type is determined by the specifications of the machine builder.)
-46-
6. INTERPOLA170N FUNCl?ONS
6.12 NORMAL. LINE CONTROL FUNCTIONS (G4Q.1, G41.1, G42.1)
Y#
Programmed path
Programmed path
@
Center of rotation Center of rotation
[
\
G41.1 G42.1
C-axis normal line direction control left c-axis normal line direction control right
(-90° )
-47-
6. INTE~OLATION FUNCTIONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40.1, G41.1, G42S)
( 4 ) Operations
1 ) Start-up
The C axis is first turned so that it is at right
an@es to the advance direction at the start
G41.1 command pmnt of the block containing the C-axis nor-
mal line direction control. The X and Y
Ifi axes are then moved in accordance with the
ram commands.
or both normal line direction control types
I and II, the direction in which the C axis is
turned at start-up is the direction where the
angle is less than 180° (short-cut direction).
(x2, y2)
No movement for N2
2 ) Cancel
When the C-axis normal line direction con-
trol command is canceled, the C axis is not
G40.1 command turned, and the X and Y axes are then
ntoved in accordance with the program
commands.
G41. 1 ;
.
:
N1 XXI YY1:
N2 G40. 1 XX2 YY2; .-” ~s;m~;t~d
:.
(x2, y2)
No movement for N2
-48-
6. lNTERPOLATION FUNCTIONS
6.12 NORMAL LINE C’ONTR OL FUNCTIONS (G40.1, G41.1, G42.1)
3 ) In-mode operations
[Block operations]
1 ) In a line block
2 ) In an arc block
The C axis is not turned during line block interpolation.
(il. j 1) N1
\
(x,. Y*)’
[Block joins]
1 ) Without cutter compensation
After turning movement has been inserted for the C axis so that it is at right angles to the
X-axis/Y-axis movement direction in the next block, the movement in the next block com-
mences.
Cutter
comuenaa-
tion”path
Line-1ine Line-arc Arc-arc
-49-
,,
6, INTERPOLATION FVNCl_TONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40.1, G41. 1, G42. 1)
-50-
6. INIERPOLAITON FL?NCTTONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40. 1, G41.1, G42.1)
-51-
6. I’RPOLA~ON FUNC7TONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40.1, G41.1, G42.lj
(5) C-axis turning speed during C-axis normal line direction control
1 ) C-axis turning speed at a corner
1. Normal line direction control type I
The C axis is turned at a block join by the parameter-set speed. (This is set in the “C_feed”
parameter on the basic specification parameter screen by the machine builder.)
2. Normal line direction control type II
The C axis is turned at a block join by the speed (Fe) at which the feed rate at the tool nose
agrees with the F command.
/
●“
?’
Fc : Turning speed ~/min)
F,
F: Feed rate modal value (mm/min)
R: Parameter value (mm) ,/
(Value set in “C-axis turning diameter” parameter on
the machining parameter screen) R
t<
;j.tiq
F
However, if Fc should exceed the cutting feed clamp rate of the C axis, it is set to this
clamp rate instead.
The same applies for faped traverse.
Parameter R can be read and written using macro variable #1900.
2 ) C-axis turning speed during circular interpolation
1. Normal line direction control type I
The C axis turns at the circular interpolation speed during circular interpolation.
However, if the turning speed should exceed the cutting feed clamp rate of the C axis, the
feed rate (F command) for circular interpolation is clamped so that the turning speed is
set to the C-axis cutting feed clamp rate.
2. Normal line direction control type 11
The C axis turns at the circular interpolation speed during circular interpolation.
The circular interpolation speed is the speed at which the feed rate at the tool nose agrees
with the F command.
F
0
Fr : Circular interpolation speed (mm/min)
F: Feed rate modal value (mm/min)
r: Arc radius (mm)
R: Parameter value (mm)
(Value set in “C-axis turning diameter” parameter on
the machining parameter screen)
However, if the C-axis turning speed should exceed the cutting feed clamp rate of the C
axis, the feed rate (1?command) for circular interpolation is clamped so that the turning
speed is set to the C-axis cutting feed clamp rate.
-52-
6. INTERPOLATION FUNCl?ONS
6.12 NORMAL. LINE CONTROL. FUNCTIONS (G40.1, G41.1, G42.1)
<Supplementary notes>
@ Corner arcs cannot be inserted with line-arc, Corner R is not inserted.
arc-arc, line-no movement block or with no-
movement block-line. \
(A line shorter than the inserted arc radius is
treated as a no-movement block.)
Q During a cutter compensation modal, cutter com-
pensation is applied to the path in which a corner
arc has been inserted.
o During scaling, scaling is applied to the path in
which a corner arc has been inserted.
When cutter compensation is further assigned, it
is applied to the path after scaling.
Programmed path
Scaling
Cutter compensation
-53-
6. INl?RPOLATIONFUNCi’70NS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40.1, G41.1, G42.lj
r
G 3 X25. Y1O, R1O.;
20+
G40. 1 ;
G28XOY0 :
M02 ;
Subprogram
0501 ;
G3X8. Y9. R15. ;
G 2 X-8. R1O.:
G 3 Y-9. R-15. :
G2X8. R1O.;
f33X35. YO. R15:
M99 ;
-54-
6 INTERPOLATION FUiWl?ONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40.1, G41.1, G42.1]
-55-
6 INTERPOLATION FUNCHONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40.1,
. G41.1, G42.1].
( 9 ) Checkpoints
1) Operation stops at the start point of the C-axis stop point
turning movement in the case of single block stop,
cutting block start interlock and block start inter- .— . i
lock.
2) Do not rewrite C-axis work offlset or assign the
G92C ; command during C-axis normal line
directfin control (G41.1, G42.1 modal). C-axis
commands (for instance, G01C50. ;) are invalid in
a G41.1 or G42.1 modal.
3) When mirror image has been applied to the X or
the Y axis, the direction normal line direction control will be reversed.
v
Programmed path
-56-
6. INl_ERPOLATfON FUNCTIONS
6.12 NORMAL LINE CONTROL FUNCTION’S (G40.1, G41.1, G42.1)
11 ) When C-axis control is exercised over the spindle for normal line direction control, switching
from spindle + C axis (servo ON) and C axis+ spindle (servo OFF) is done by the machine
sequence. (Refer to the operating instructions issued by the machine builder for details of the
command method.)
(10 ) Parameters
1 ) Machining parameters
-57-
.,,
6. 1.TERPOLA170N FUNCTIONS
6.12 NORMAL LINE CONTROL FUNCTIONS (G40. 1, G41. 1, G42. 1)
Item Normal line direction control type I Normal line direction control type II
Direction in which angle is less than G41.1: – direction
hxis turning
180° (short-cut direction) (Cw)
Iirection at block
G42.1: + direction
oins
(Ccw)
No restrictions apply Restrictions apply
(Short-cut direction)
However le l<&
Iol<e No turning
No turning
360– E= 6 >180+ E
0 : Turning angle 0188 operation alarm
e : Parameter (“C_min” on ba- 0 : Turning angle
sic specification parameter
O-axis turning screen) e : Parameter (“C-rein” on ba-
mgle at block
oins ,800@;g ,:&,ning
270° Operation
alarm
C-axis turning Parameter (C-axis turning speed) Speed at which feed rate at tool nose
speed at block speed agrees with F command
joins
C axis turns at circular interpolation C axis turns at circular interpolation
speed. speed.
When the C-axis turning speed The circular interpolation speed is the
exceeds the C-axis cutting feed rate, speed at which the feed rate at the tool
the circular interpolation speed is nose agrees with the F command.
clamped so that the turning speed is
C-axis turning
set to the C-axis cutting feed clamp
speed during
rate.
circular
interpolation
However, when the C-axis turning
speed exceeds the C-axis cutting feed
rate, the circular interpolation speed is
clamped so that the turning speed is
set to the C-axis cutting feed clamp
rate.
Automatic Available Not available
insertion of arc
at corners
-58-
Z FEED FUNCTIONS
7.1 RAPID TRA VERSE RATE
7. FEED FUNCIK)NS
Feed rate
G1 Xloo. Yloo. F200 ; 200.0 mm/min F200. or F200.000 gives the same rate.
G1 Xloo. Yloo. F123.4 ; 123.4 mm/min
G1 Xloo. Yloo. F56.789 ; 56.789 mm/min
Available speed ranges (with 1P or 10~ input setting unit)
FJOTE 1: A program error (“P62”) results when there is no F command in the first cutting command
(GO1, G02, G03, G2.1, G3.1) after the power has been switched on.
NOTE 2 The maximum speed for both rapid traverse and cutting feed is 2362 inch/rein when a metric
system machine is used with inch commands.
-59-
Z FEED FUNCTIONS
7.3 F1-DIGIT FEED
-60-
% FEED FUNCTIONS
7.3 F1-.D.lGIT FEED
(manual handle valid switch ON at machine side)* (MDI mode + tape mode + memory mode) ●
-61-
Z FEED FUNCTIONS
7.4 SYNCHRONOUS FEED (G94, G95)
NOTE 1: The effective rate (mm/minor inch/rein), which is produced by converting the assigned speed,
the spindle speed and the cutting feed override into the per-minute speed, appears as FC on the
monitor page of the setting and display unit.
NOTE 2 When the above effective rate exceeds the cutting feed clamp rate, it is clamped at that clamp
rate.
NOTE 3 If the spindle speed is zero when synchronous feed is executed, operation alarm “105” results.
NOTE ~ During machine lock high-speed processin~ the rate will be 60,000 mm/min (or 2,362 inch/rein,
60,000 ofmin) regardless of the assigned speed and spindle speed. When high-speed processing
is not undertaken, the rate will be the same as for non-machine lock conditions.
NOTES: Under d~ run conditions, asynchronous speed applies and movement results at the externally set
rate (mm/min, inch/rein or O/rein).
NOTE b Canned cycle commands G84 (tapping cycle) and G74 (reverse tapping cycle) are executed in
accordance with the feed mode which has already been assigned.
NOTE ‘Z Whether asynchronous feed (G94) or synchronous feed (G95) is to be established when the
power is switched on or when M02 or M30 is executed can be selected by means of the initial
synchronous feed setting on the parameter page.
NOTE 8 The F command assigned without a decimal point can be reduced to one-tenth or one-hundredth
by setting the “F command scaling type” parameter.
-62-
Z FEED FUNCTIONS
7.5 FEED RATE DESIGNATION AND EFFECTS ON CONTR OL
AXES
Y
A
p (’1’colstart point) x x
When only linear axes are to be controlled, it is sufficient to assign the cutting feed in the program.
The assigned rate is broken down into components corresponding to the movement amounts, and
each of these components constitutes the feed rate for each axis.
In the above example:
x
Feed rate for X axis = f x
W
-63-
“., . .
Z FEED FUN~ONS
7.5 FEED RATE DESIGNATION AND EFFECTS ON CONTROL
AXES
(Example) When the feed rate is designated as “f” and rotary axis (C)is to be controlled
(“f’ units = O/rein) -
In this case, in order to make the cutting feed (linear feed) in the tool advance direction “fc”:
fc=fx=r
180
Therefore, the feed rate to be designated in the program must be:
f= fcxw
7r. r
NOTE When the circular interpolation function is used and the tool is moved along the circumference bv
the linear control axis,-the rate in the tool advance clirection, or in othe~ wor&j the ta.ngenti~l
direction, will be the feed rate designated in the program.
(
1
Y
I P,
‘Izzl!r’inear
speed
@xamrde)
.,
LWhen the
using the
x i x
-64-
7. FEED FUNCTIONS
7.5 FEED RATE DESIGNATION AND EFFECTS ON CONTR OL
AXES
(Example) When the feed rate is designated as “f” and linear axis (X) and rotary axis (C) are to be
controlled simultaneously
If the X-axis incremental command value is “x” and the C-axis incremental command value is “c”:
Rotation center
X-axis feed rate (linear speed) “&” and C-axis feed rate (angular speed) “a” are expressed
w c
fx=fx x ““””””o u=fx ......@
X2 +c~ x~ +C*
Linear speed “fc” based on 7r*r
C-axis control is expressed as: fc=o’ ““”””””””Q
180
If the speed in the tool advance direction at start point PI is “ft” and the component speeds in the
X-axis and Y-axis direction are “ftx” and “fly/’ respectively, then these can be expressed a%
ftX=-rsin(& e) XL ~+ f ~ .........@
180 180
fty=-rcos( 9) x~oY
~Jo .....Q
180
Where r is the distance between center of rotation and tool (in mm units)
9 is the angle between the P, point and the X axis at the center of rotation (in 0 units)
The composite speed “ft” according to formulae (l), (2), (3), (4) and (5) is:
:f t=d ftx’+fty ’
4X’ +C’
f=ftx ...............0
xz –x*c*rsin( J6) :+( ‘;:o*c )’
]80
“ft” in formula (6) is the speed at the PI point and the value of 9 changes as the C axis rotates, which
means that the value of “ft” will also change. Consequently, in order to keep the cutting feed “ft” as
constant as possible, the angle of rotation which is assigned in one block must be reduced as low as
possible and the extent of the change in the 6 value must be minimized.
-65-
Z FEED FUNCTIONS
7.6 EXACT STOP CHECK (G09)
NOO1 G09 GO1 X1OO.000 F150 : .................. The commands in the following
block are started once the im-
position state has been checked
NO02 Y 100.000 ; after the machine has decelerated
and stopped.
Tool
With G09
f Assigned speed)
d
/’
I NOO1 1
I
NOO1 -J
I Without G09
I NO02
~
I /#--- 7 Time
I \
[ /1/ \
\
1/’ : NO02 I
Solid line indicates speed pattern with G09 command.
Broken line indicates speed pattern without G09 command.
Fig. 1 Exact stop check result
Previous block
Following block
Tc Tc
.- W *
Fig. 2 Block join with cutting feed deceleration check
-66-
Z FEED FUNCTIONS
7.7 EXACT STOP CHECK MODE (G61)
Tc
‘Cur
When a deceleration check is desired at a canned cycle cutting block, the G09 command should be
inserted into the canned cycle subprogram.
To eliminate corner roundness, set the “ZRZ” servo parameter to zero and perform a deceleration
check or assign the dwell command (G04) between blocks.
-67-
Z FEED FUMZ!70NS
7.8 AUTOMATIC CORNER OVERRIDE (G62)
\
Pro~ammed path
Machining allowance (fimshed shape)
Workpiece surface
shape
Fig. 1
1 ) Operation
a. When automatic corner override is not to be amlied
When the tool moves in the order of (1) + (2)-L (3) in Fig. 1, the machining allowance
at (3) increases by an amount equivalent to the area of shaded section S and so the tool
load increases.
b. When automatic corner override is to be applied
When the inside corner angle 0 in Fig. 1 is less than the angle set in the parameter, the
override set into the parameter is automatically applied in the deceleration range Ci.
-68-
Z FEED FUNCl?ONS
7.8 AUTOMATIC CORNER OVERRIDE (G62]
2) Parameter setting
The following parameters are set into the user parameters.
a. Override :0–100[%1
b. Maximum angle 8 of inside corner :0 — 180 ~] -
c. Deceleration range Ci :0 – 99999.999 [mm] or
O – 3937.000 [inch]
For details of the settings refer to the sections in the Operating Instructions dealing with the
operation of the setting and display unit and with the parameter items.
[11] With automatic corner R
Corner R center
.-
#a
I
I Machining allowance
(1) Ot)eration
Tfie override set in the parameter is automatically applied at the deceleration range Ci and corner R
section for inside offset with automatic corner R. (There is no angle check.)
-69-
Z FEED FUNCTIONS
7.8 AUTOMATIC CORNER OVERRIDE (G62)
\ /
The override set in the parameter is applied at Ci.
( 2 ) Line - arc (outside offset) corner
f Programmed 7
tool path Tool nose
center
4
/
#
\ )
The override set in the parameter is applied at Ci.
( 3 ) Arc (inside offset) - line corner
Programmed
tool path
Tool Tool
N1
\
--.-
Tool nose center
\
The override set in the parameter is applied at Ci.
-70-
Z FEED FUNCTIONS
7.8 A UTOMA TIC CORNER O VERRI.E (G62)
-71-
,>, ,,,,,.:, ,.. .
Z FEED FUNCTIONS
7.8 AUTOMATIC CORNER OVERRIDE (G62)
7.8.4 Checkpoints
(1) Automatic corner override is valid only in the GO1, G02 and G03 modes; it is not effective in the GOO
mode. When switching from the GOO mode to the GO1 (or G02, G03) mode at a corner (or vice
versa), automatic corner override will not be applied at that corner in the GOOblock.
(2) Even in the automatic corner override mode, automatic corner override will not be applied until the
cutter compensation mode is established.
(3) Automatic corner override will not be applied at a corner where cutter compensation starts or is
canceled.
(4) Automatic corner override will not be applied at a corner having the cutter compensation I and J (K)
vector commands.
( \
Programmed tool path
,.
-72-
Z FEED FUNCTIONS
7.9 TAPPING MODE (G63j
-73-
Z FEED FUNCTli3NS
7.11 HIGH-PRECISION CONTROL MODE (G61.lJ
T .
The radial error amount Assigned tool path
during arc cutting is
reduced.
control mode ON
.-.
{ >
Corners are automatically High-precision High-precision
identified and the opti- control mode OFF ~ control mode ON
mum deceleration is pro-
vided before corners. This
enables sharp comers to
be machined. F+nr
& z
/
In microscopic segment
programs, the smooth sec-
tions and corner areas are Assigned tool path
automatically identified.
Interpolation with smooth Deceleration
curves is provided at the [
smooth sections and sharp
corners are machined at
the corner areas by provid-
ing optimum comer decel-
eration.
-74-
Z FEED FVNCI?ONS
7.11 HIGH-PRECISION CONTROL MODE (G61.1)
NOTE 1: The feed rate applying in the high-precision control mode may be slower than the assigned
speed. This means that machining may take longer or that it may take longer than the time
calculated with the machining time calculation function.
NOTE 2 The time taken for machining may increase in direct proportion to the size of the precision
compensation coefficient.
NOTE 3 Although the precision of the control path is improved in the high-precision control mode, the
precision of the tool and machine are included in the machining precision so that the actual
machining precision drops below the control precision. Therefore, the display precision should
be considered as a reference value for the machining precision.
-75-
8. DWELL
8.1 PER-SECOND D WELL (G94/G04)
8. DWELL
The G04 command can delay the start of the next block. Whether the assignment should be as a time or
speed can be automatically selected by the feed mode (G94: per-minute feed; G95: per-revolution feed)
when the G04 command is assigned. The remaining time for dwell can also be canceled by adding the
multi-stage skip function.
Input
Command range based on address X Command range based on address P
setting unit
0.01/0.001 mm 0.001 — 99999.999 (see) 1 — 99999999 (SW) (x 0.001 see)
0.0001 inch 0.001 — 99999.999 (see) 1 — 99999999 (see) (x 0.001 see)
2 ) When a cutting command is in the previous block, the dwell command starts calculating the
dwell time after the machine has decelerated and stopped.
If it is assigned in the same block as an M, S, T or B command, it starts simultaneously.
3 ) The dwell function during interlock is valid.
4 ) Dwell is valid even for machine lock but it can be completed immediately by the “machine lock
high speed” control parameter.
5 ) The per-second dwell can be established regardless of the G94 or G95 mode by means of the
“G04 time freed” control parameter. -
Previous block I
cutting command I
I
I Next block
1
I
Dwell command I
I
I
I Dwell time
(5 See)
-76-
8. DWELL
8.2 PER -REVOLUTION D WELL (G95/G04)
Input
Command range based on address X Command range based on address P
setting unit
0.01/0.001 mm 0.001 — 99999.999 (rev) 1 — 99999999 (x 0.001 rev)
0.0001 inch 0.001 – 99999.999 (rev) 1 — 99999999 (x 0,001 rev)
2) When a cutting command is in the previous block, the dwell command starts calculating the
dwell time after the machine has decelerated. If it is assigned in the same block as an M, S, T
or B command, it starts simultaneously.
3) The dwell function during interlock is valid. (Dwell is executed even during interlock.)
4) Dwell is valid even for machine lock but it can be completed immediately by the “machine lock
high speed” control parameter.
5) Dwell also stops during spindle stop. It is resumed when the spindle starts to rotate again.
6) ‘I’he per-second dwell can be fried by means of the “G04 time fwed” control parameter.
7) This function cannot be used unless a position detection encoder has been mounted on the
spindle.
I
Previous block
cutting command !
Next block
!
I
Dwell command
I
I
1 4 w
I Dwell time
(12.345 rev)
-77-
9. MISCE~OUS FUNCTIONS
9.1 MISCELLANEOUS FUNCTIONS (M2-DIGITS BCD)
9. MISCELLANEOUS FUNCTIONS
-78-
9. MISCELLANEOUS FUNCTIONS
9.1 MISCELLANEOUS FUNCTIONS (M2-DIGITS BCD)
lWYI131: MOO,MO1, M02 and M30 are also output as independent signals and these independent outputs
are reset by pressing the reset key.
NOTE 2 M02 or M30 can be assimed bv manual data immt (MDIk
At this time, commands ~an be<assigned simult~eo~sly ~th other commands just as with the
tape.
(4) Subprogram call/termination: M98, M99
These commands are used as the return instructions from branch destination subprograms and
branches to subprograms.
M98 and M99 are processed inside the NC unit and so M code signals and strobe signals are not
output.
(5) NC internal processing with MOO/MOl/M02/M30 commands
NC internal processing suspends pre-reading when the MOO,MO1, M02 or M30 command has been
read. Other tape rewinding operations and the initialization of medals by resetting differ according
the machine builder.
‘i
!!
,,
,’
-79-
9. MISCE~OUS FUNC170NS
9.2 MISCELLANEOUS FUNCTIONS t_M4-DIGITS BCDJ
NOTE The commands for multiple sets within a single block are regulated by the specifications of the
machine.
NOTE: When A has been assigned as the secondary miscellaneous function address, the following
commands cannot be used.
1 ) Linear, angle commands
2 ) Geometric commands
-80-
10. SPINDLE FUNGI?ONS
10.1 SPINDLE FUNCTIONS {S2-DIGITS BCD)
-81-
10. SPINDLE FVNCTIONS
10.4 CONSTANT PERIPHERAL SPEED CONTROL {G96, G97)
Detailed description
1) The constant peripheral speed control axis is set by parameter (basic “G96 ax” machine
parameter)
O: Fixed at 1st axis (P command invalid)
1: 1st axis
2: 2nd axis
3: 3rd axis
2) When the above-mentioned parameter is not zero, the constant peripheral speed control axis
can be assigned by address P.
Example: With G96 ax (1)
Program Constant peripheral speed control axis
G96 S1OO; + 1st axis
G96 S1OOP3; + 3rd axis
NOTE The above operation cannot be guaranteed in the event that the rotary axis has been
assigned as the constant peripheral speed control axis. It is therefore not advisable to
assign the rotary axis as the constant peripheral speed control axis.
3 ) Example of selection program and operation
J
G97G01X50. Z 100. F300S500 ; The spindle speed is controlled at 500 rpm.
1
I
G92~ $&;
P Maximum clamp speed
I
~ Minimum clamp speed
To accommodate gear selection between the spindle and spindle motor, parameters can be used to set the
rotational speed range up to 4 stages in rpm units.
The lowest upper limit and highest lower limit are valid among the rotational speed ranges based on the
parameters and based on G92 Ss Qq;.
*1: This function is available for some system versions.
-82-
11. T(WL FUNCTIONS
11.1 TOOL FUNCTIONS (T2-DIGITS BCD)
-83-
12. TOOL OFFSET FU?WTTONS
12.1 TOOL OFFSET
12.1.1 Outline
There are 3 types of basic tool offset functions, as shown in the figure below: tool position offset, tool length
offset and cu~ter (tool radius) compensation. The offset amo;nts are assign~ by tool offset numbers.
These amounts are entered from the setting and display unit or from the program tape.
(. i ,;>
Tool position offset .pa .t
,%* .0
[
+: *,; “ ------ ------ - . ,G:+.> “
1! a. ---
%.’
I*
L2 L1 ‘
I
4
r r
I
L1–r ‘
L2+2r (x 2 expansion) (miuction)
Reference
+
. I
r- -*
+:~u~’en”h
(Side view)
Cutter compensation
~. ~---
-”---— —-- -------
------- -aat
0,f10
/0
4- Left compensation
-84-
12. TOOL 0FFSETFUNC170NS
12.1 TOOL OFFSET
Type I
If the H command and D command have
the same number, the offset amount will be
identical.
I--Q-l
-85-
12. TOOL OFFSET FUNCITONS
12..1 TOOL OFFSET
Reference point
—. —.—. — - -
Reference
1 tool
- -. . / Tool lengtl
,0~- -.
\ shape offset
I .
i
i 1
I I
I
I
-—= -
1’-
+: i —. ‘2 .—.2. ]1 -
---- ~---- *~’
Wear Shape Wear
amount Cutter
amount
cmnpemwtion-
M’ -
-’86-
12. TOOL OFFSET FMWITONS
12.1 TOOL OFFSET
Type I
As indicated by the table on the right, each offset amount
corresponds to an offset number. Therefore, the numbers
can be used without distinction between the length offset
amounts, cutter compensation amounts, shape offset
amounts and wear compensation amounts. ● ●
✎ ✎
(Dl)=al, (Hl)=al
(D2) ‘at, (H2) =at
:. :.
(Hl)=bl+cl, (Dl)=dl+el
(1-12 )= b2+c2, (D2)=d2+e2
:. :.
n bn cn dn en
-87-
12. TOOL 0FRSETFiVNC170NS
12.1 TOOL OFFSET
NOTE The figure for the optional specifications is not the additional number of sets but the total number
including the sets under the standard specifications.
*1: The maximum number of tool offset sets differs according to the system version.
-88-
12. TOOL OFFSET FUNCHONS
12.2 TOOL LENGTH OFFSET/CANCEL (G43, G44/G49)
G4~Zz Hh; Tool length offset + start G4~Zz Hh; Tool length offset – start
. .
● .
G4;Z Z ; Tool length offset cancel G4~Z Z ;
.
(Example 1)
With an absolute value command HO1=–1OOOOO !
N1 G28 20 TO1 M06 ;
N2 G90 G92 20 ; I
N 3 G43 25000 HO1 ; ~
I
N4 GO1 2–50000 F500 :
Tool length
(Example 2)
offset i
With an incremental value command HO1= – 100000 Iiol=-loo.
‘—–50.(MJ
1
.
-89-
12. TOOL OFFSET FWCITONS
12.2 TOOL LENGTH OFFSET/CANCEL (G43, G44/G49)
I
The I R 1,
When G43 Hhl ; is assigned, offset amount
t?hl assigned by offset number hi will be
common to tool length offset, cutter com-
pensation, shape offset and wear compensa-
tion. lh,
Worlcpiece
~-
Table
Type II
When G43 Hhl ; is assigned, offset amount
thl assigned by offset number hl will be the
shape offset + wear compensation (see
NOTE).
2) The valid range of the offset numbers depends on the specifications (number of offset sets).
Standard specifications :40 sets H1 ~ H40
Optional specifications (max.) : 8@l sets H1 - H800
(For further details, refer to Section 12.1.5.)
3) Program error “P170” results when the offset number assigned exceeds the range of the
specifications.
4) The tool length offset is canceled by assigning HO.
5) An offset number assigned in the same block as G43 or G44 will subsequently remain valid as
a modal.
(Example 3)
G43 : Zzl Hhl ; .... .......... . Tool length offset is provided by hl.
G45 ; Xxl Yyl Hh6 :
G49: 222 ; ... .... ...... ......... .. Tool length offset is canceled.
G43: 222 ; .......””.”.......”.... Tool length offset is provided again by hl.
.
6) When G43 is further assigned while G43 is still modal, offset is provided by an amount
equivalent to the difference in the data of the offset number.
(Example 4)
G43 . Zzl Hhl ; ............ ... Z1 + ({hi) movement
-90-
12. TOOL OFFSET FUNCTIONS
12.2 TOOL LENGTH OFFSET/CANCEL (G43, G44/G49)
(Example 5)
G43 , Xxl Hhl ; .“.o”so”.””.””+ offset for X axis
G49 ‘ Xx2 ;
G44 . YY1 Hh2 ; . .... ......... . _ offset for Y axis
G49 : YY2 ;
G43: aal Hh3 ; ““”.””””.”””+ offset for additional axis
G49” aal ;
G43 : Xxi YY3 ZZ3 ; .“”.””Offset is applied to Z axis.
G49 “ ;
Additional axes are handled in accordance with the setting of the “plane selection” basic axis/parallel
axis machining parameters.
When tool length offset is to be assigned with a rotary axis, set the name of the rotary axis into any
of the parallel axes.
3) Offset will apply to the Z axis if the offset number (H) is not assigned in the same block as the
G43 command,
(Example 6)
(3.4) Operations when other commands are assigned while tool length offset is modal
1) When reference point return is performed by G28 or by manual means, tool length offset is
canceled upon completion of the return.
(Example 7)
G43 : Zzl Hhl ;
G28; ZZ2 ; ............ .... .. Cancel mode established when reference point
reached. (Same as G49)
G43 : ZZ2 Hh2 ;
G49 a G28 ZZ2 ; ......... Reference point return is performed after Z-axis
cancel operation.
2) When a movement command is assigned to the G-53 machine coordinate system, movement
follows to the machine position with the tool offset amount canceled. When a return has been
made to one of the work coordinate systems (G54 — G59), the tool returns to the coordinates
which ‘have been shifted again by an amount equivalent to the tool offset.
-91-
12. TOOL Ol?l?SETFUNCHONS
12.3 TOOL POSITION OFFSET (G45 – G48J
11
a
P
@ *0= =$
(Program command value) (Offset amount) (Movement amount after offset)
-92-
12. TOOL OFFSET FUNCITONS
12.3 TOOL POSITION OFFSET (G45 – G48J
d= 10 x= 1010
G45XX Dd x {X+11
1 =–lo x= 990
J?= 10 X=– lolo
G45X– X Dd x– {X+41
4 =-lo x= -990
J2= 10 x= 990
G46XX Dd x {x–l}
E =–lo x= 1010
fl = 10 x= -990
G46X– X Dd x– {x-l)
1!=–lo X=– lolo
a= 10 x= 1020
G47XX Dd x“{x+2”l}
J! =-lo x= 980
Q= 10 X=–102O
G47X-X Dd x– {X+2”4)
fl =-10 X= –980
1= 10 x= 980
G48XX Dd x {X–2*4}
Q=-10 x= 1020
Q= 10 X= –980
G48X– X Dd x– {X–2*4}
Q=–lo X=–102O
-93-
12. TOOL 0FFSETFUNC170NS
12.3 TOOL POSITION OFFSET (G45 – G48J
Start point
.::::.
Programmed command
Offset
Tool movement
G48X20. 000;
Offset amount = +15.000
Actual movement = X–10.OOO
When a zero movement amount has been specified in the incremental value command (G91)
mode, the result is as follows.
I I I I I 1
NC command G45X ODO1 ; G45X– ODO1 ; G46X ODO1 ; G46X– ODO1 ;
Equivalent
command X1234; X–1234; X–1234; X1234;
--,
However, in this case, offset must already be provided in the desired direction at the arc start
point. (If an offset command is assigned for the arc independently, the arc start point and end
point radii will shift by an amount equivalent to the offset amount.)
b
Programmed path ‘~, G45 G45 for compensation outside the circle
\ G46 for compensation inside the circle
1/4 circle -., \
G40 \\ \\
&&
L Programmed path
-94-
12. TOOL OFFSET FUNCHONS
12.3 TOOL POSITION OFFSET (G45 – G48)
3/4
G91G45G03X –1OOOY1OOO
1 –1OOOF1000DO1 ;
Y
End point , Tool nose center path
Programmed
1000 path 200
H k- Tool
ti~int
Programmed arc
center
Even if the offset numbers are not assigned in the same block as the G45 – G48 command, offset
is provided with the tool position offset number previously stored in the memory.
Program error “170” results when the specified offset number has exceeded the specification range.
These G codes are unmodal and are effective only in the command block,
Even with an absolute value command, the amount of the movement is extended or reduced for each
axis with respect to the direction of movement from the end .rmint of the preceding block to the
position assi~ed by the G45 – G48 block.
In other words, even for an absolute value command, offset can be applied to movement amounts
(incremental values) in the same block.
-95-
:-.
When a command for “n” number of simultaneous axes is given, the same offset will apply to all axes. It
is valid even for the additional axes (but it must be within the range of the number of axes which can be
controlled simultaneously.) ‘
1/
110. /
/f 50’
60.
)50.
Start point Programmed end point
x
m. no.
NOTE 1: If offset is applied to two axes, over-cutting or under-cutting will result, as shown in the figures
below. In cases like this, use the cutter compensation commands (G40 – G42).
7F
Desired shape GO IC45 XX, Dd, ;
xx, Yy, ;
G45Y Y,. ;
B
“/”:
L offset amount setting
GO1 ~ x, ;
Machined shape Yy , Dd,
G45 X x, :
Y Y, ;
: amount setting
-96-
12. TOOL OFFSET FUN~ONS
12.3 TOOL POSITION OFFSET (G45 – G48)
(Example 2)
Y GO1 Xx4 ;
Ik
L
x
(Example 3)
When the G45 – G48 command is assigned, the offset amount for each pass is the amount assigned by the
offset number. and the tool does not move for the difference from the previous offset as it would do with
the tool length offset command (G43).
40
IOR
N1OI N1 02
40
;tart point
-97-
12. TOOL 01?FSETFUNC170NS
12.4 CUTTER COMPENSATION
12.4.1 Outline
(1) Function andobjective
This function serves to compensate for the tool radius (cutter compensation). A tool can be offset in
any vector direction by the tool radius amount assigned bythe Gcommand(G38 — G42) andD
command.
(2) Commandformat
-98-
12. TOOL OFFSET FUl?CITONS
12.4 CUTTER COMPENSATION
Machining
program
ahead
Pre-read buffer
Execution block
There are two wavs of starting cutter com~ensation: tvoe A and tvDe B.
The type can be s&cted or de~selected by {he control &rameter “~’tter &mpensation type B“.
This type is used in common with the compensation cancel type,
In the following explanatory figure, “S” denotes the single block stop point.
-99-
12. TOOL 0FFSETFUNCZ70NS
12.4 CUTTER COMPENSATION
Point of Point of
intersection intersection
s ---—. —-. + s
Tool nose center path
j,j r Tool nose
\ center path
/ Programmed path G411~
G 4 1,# \
/’ \
/ \
I
Start point \
Start Programmed
point Center of arc
path
12. TOOL OFFSET FUW7TONS
12.4 CUTTER COMPE.N’SA TION
s.. .. . ——
-- -—- ~ Center
; of arc
. 1
#
I
!
~1
,
Tool nose center path
Programmed path
.—. —
Start point
“---– –”---
Tool nose center path
*
v, Programmed path
path
\
\
\
\
\
Start point
Start point
NOTE When, after the G41 or G42 command has been assigned, the cancel G40 command is assigned
without the movement of the axes within the offset plane yet designated, cutter compensation will
not start up and the P152 alarm (no intersection pdnt) will result.
(Example) G41X_Y_; .... P152 (no intersection point)
G40;
-101 -
12. TOOL OFFSET FUNCTIONS
12.4 CUTTER COMPENSATION
Line ~ line (90° 50< 180°) Line - line (0° < @ < ~)
---- —--- -
I Tool nose center path
s
x, \ g Programmed path
\
\ Programmed path
\ \
\ \
\
———- -——. \
Point ofs Tool nose center path \
\
intersection
‘\
Line ~ arc (90° ~ @ < 180°) Line + arc (0° < @ < 90°)
a---.——-—— —— --
.“
Center of arc i
d.
Center of arc
/’
Center of arc
●
I
Y
Progra&red path ‘%
\ /
\
\ ie \
\
\
: /i \
\
Tool nose\\ ~ ‘-- ,’
center path “1 r / Tool nose \\\ r
.“’ center path S
s
Y< ,
Point of
intersection SW
- 102-
12. TOOL OFFSET FUN’IONS
12.4 CUTTER COMPENSATION
---%
/ \
..’ s
..
.“‘“ Point of center path “~-... center path
...
intersection + ““”””””9
Center”of arc
s-Zi Center of arc
Programmed path
Programmed
path
rool nose /“
“’HH :
xmter path ~ ~
//- t Pointof’ ~fl
~ inter-
b ---D
Cente; of arc
Tool nose
-103-
12. TOOL OFFSET FUNCTIONS
12.4 CUTTER COMPENSATION
Programmed path
Center of arc
Programmed path *
-104-
12. TOOL OFFSET FUNC170NS
12.4 CUTTER COMPE.NSA TION
Programmed path
$3 e .—. —. —.—
r = compensation amount
-———— -.
G40,J’
/
- 105-
,:. ,.. .,, ,,
End point
End point
. Center of
-— -- —.-— —-- ; arc
,
1
Tool nose ! Tool nose
~center path
10
Programmed path
,/
s
G 4 O..N
‘\\
End point
\
End ~int
12. TOOL OFFSET FUNCITONS
12.4 CUTTER COMPENSATION
Tool nose
center path N5 C28XOY0
;
N1
N2 G91GOIG42X20.
Y20.D1F1OO
;
path N3 G39X40,;
N6 N4 N4 G39Y40.;
N5 G39X-40.;
1‘ N6 Y-40. ;
N7
N7 C40X-20.Y20. ;
N8 !402;
J D 1 =5. 000
N1
-107-
12. TOOL OFFSET FUN~ONS
12.4 CUTTER COMPENSATION
4 is+ja
r~=
j
0“
Tool nose center path /#--
N 11
\ /
-!!/
NIIGIXX, 1:N12G28YYI
1;N13G38XX,I;N14G36XXI
,YY14:N15G38XX,
S1iJjDd*:N16G40Xx,‘Yy,,;
Line 4 line
\
If there is no point of
intersection when the
compensation direction
path is changed
G41 G41 G42
-108-
12. TOOL OFFSET FUNCHONS
12.4 CUTTER COMPENSA TIQN
\
Line + arc
Arc + ~c
Center of arc
0 \
0
/
G41 G42
Programmed
path
G41
m
Center of arc
G41 G41 G42
Line return
G41
Tool nose center –-------–+
---.-—- ---- --
path G42
r
1
Programmed path ~
-109-
12. TOOL 0FFSETFUNC170NS
12.4 CUTTER COMPENSATION
J$’.-J
1 an area where the arc is duplicated
Tool nose ,
center path , due to compensation. An uncut area
/’ will therefore result.
G41 ~1’
G42 “x+ /
--- /
Uncut section
- 110-
12. TOOL OFFIJETFUN~ONS
12.4 CUTTER COMPENSATION
s
s
*
0’ \ #
\
/
/ /’ \ 0
0
0
,0 \
/
Intermediate point
r-
(G41)
N5
1
N6
m s-l-d
lS5 G91 GO1 X60. Y30. ;
Temnorarilv no offset vectors at
hJ6 t228 X500 Y–40. ; +’
interamedia~e point
N7 X30, Y-60. ; (Reference point when there is no
intermediate point)
N8 X70, Y40. ;
t
G33
*’
-- —.- —-—— ..-
I?rogrammed path
\ d
3) The offset vectors are cleared temporarily with the G53 command (basic machine coordinate
system selection).
The offset vectors are not changed by the coordinate system setting command (G92).
-111-
,,, .!
N2
N1 X30. Y60. ;
N2 G41 D1O ;
‘*ock ‘lthout ‘ovement N1
N3 X2O, Y –5o. ;
N4 XW. Y –2o. :
When 4 or more blocks without movement follow in succession and there is no M command
prohibiting pre-readin~ the offset vectors will not be created.
-112-
12. TOOL OFFSET FVNCTIONS
12.4 CUTTER COMP.ENSA TION
N2-N5
NI G41 X30. Y60. DIO ;
N2 G4 X1OOO;
1
N] , (Point of intersection)
N3 Floo;
Block Mthout movement
N4 S500 ;
N5 M3 ;
N6 X20. Y–50. :
IU7 X5O. Y –20. ;
1
N6 G91X1OO. Y200. ; N7 N8
N7 G04X P 1000; ..s----- Block without movement
N8 X200. ; . . . ..- ----
N6
Block N7 is
exeeuted here.
When 4 or more blocks without movement follow in succession and when there is an M
command prohibiting pre-reading, the offset veetors are created perpendicularly at the end
point of the previous block.
Nll
N 6 X1OO. Y200, ;
N7 G4 X1OOO;
N8 Floo; N6
N9 S500; Block without movement
N1O M4 ;
1
Nll X1OO. ;
In this case, cutting results.
-113-
,.
N6 X1OO.Y200. ;
N7 G40 GO4P1OOO;
N8 X1OO. Y50. ;
(a, b)
(i, fi ‘
/-
/“ -
Imaginary tool nose
center path
-114-
12. TOOL OFFSET FUNCTIONS
12.4 CUTTER COMPENSATION
When the size of the offset vectors increases in the extreme as a result of the intersection point
calculation, a vertical vector is created in the block before G40.
K \
--—. . . . .
G41
---..-.-
(i, j) r
—.—. —.— . —- —. —. —
Imaginary tool nose center path
L J
2) Care should be taken with the G40 command after an arc command since there is a danger of
duplicated cutting when the arc exceeds 360° due to the contents of 1, J, K.
0’ Uncut section
0
f~
/
I N1 (G4Z G91) G01X200. ;
\ N2 G02 J150. ;
Programmed * Ii
N3 G40 G1X150. Y-150. I –100. J1OO. ;
path
Tool nose
center path
N3
.-.
f”1
., J Corner movement
When a multiple number of offset vectors are created at the joins between movement command
blocks, the tool will move in a straight line between those vectors.
This action is called corner movement.
When the vectors do not coincide, the tool moves in order to turn the corner althouti this movement
is part and parcel of the join block. Consequently, operation in the single block mod> will execute the
previous block + corner movement as a single block and the remaining joining movement +
following block will be executed as a single block in the following operation.
#-
\
\ N2
N
\
Tool nose center pat; ~\
Center of arc
\\
This movement and
feed rate fall under
block N2.
L Stop point with single block
- 115-
,,, ,
t
NIICI (G40)
N130
NM $
Y N140 NIXJ *
N1OO G91 G41 X1OO. Y1OO. I 150. D1 ;
L —x
Nloo NIIO
N120
G04
GO1 F1OOO;
X1OOO;
N130 S500;
- Programmed path, N 140 M03 ;
Tool now center N150 X150. ;
path
$
4
Y (GW
1- N2
x
N3
N1
N2
G41
G91
1150. D1 ;
5
X1OO. Y1OO, ;
N3 X150. ;
\
D1 Nl
I
-116-
12. TOOL OFFSET FUNCHONS
12.4 CUTTER COMPENSATION
----- -
1
NIoo (G17 G41 G91)
NIL?)
N 100 G41 GOOX150. J 50. ,
Nllo G02 1150. ;
(N120)
Y N120 GOO X–150. ;
(Reference)
@ G18 plane
\
(GM G41 G91)
N 100 G41 GOO Z 150.
N11O G02 K50. ;
NL20 GOO z – 150. ;
$
. G19 plane
1
(G19 G41 G91)
N1OO G41 GOOY150. K50. ;
N11O G@ J 50. ;
N120 GOO Y-150. ;
5
- 117-
12. TOOL 01?ESETFVNC170NS
12.4 CUTTER COMPENSATION
[
N3 N4
N5
N1 G41 D1 GO1 F1OOO;
N2 G91 X1OO. Y1OO. ;
N3 G41 150. ;
N4 X150. ;
N5 G40 ;
L
(3) Offset vector direction
1 ) In G41 mode
The direction assigned by I, J is the direction rotated 90° counterclockwke, with the zero point
as seen from the positive direction of the Z axis (3rd axis).
(Example 1) With I 100. (Example 2) With I -100.
(– 100 01~ direction
D -. (100, O) IJ direction ‘q
Direction of offset vector
2 ) In G42 mode
‘ The direction assigned by I, J is the direction rotated 90° rotated clockwise with the zero point
as seen from the positive direction of the Z axis (3rd axis).
(Example 1) With I 100. (Example 2) With I -100.
, . ~ (100, O)IJ direction Direction of offset vector
t-’
Y N1 G26 XOYO ;
I N2 G41 D1 F1OOO ;
Lx N3 GO1 G91 X1OO. Y1OO. ;
N4 G42 X1OO. 1100. J – 100.
N4
N3 D2 ;
N5 X1OO. Y–1OO. ;
N2
N5 N6 G40 ;
D1
\“
N7 M02 ;
%
-118-
12. TOOL OFFSET FUNCT!TONS
124 CUTTER COMl?ENSATION
(
<Example 1>
------ -----
D] (G41 D1 G91)
$
~ NIW
N1OO G41 X150. 150. ;
NI1O N11O X1OO. Y–1OO. ;
t- x
5
Vector (A) is the offset amount registered in offset number modal D1 in the N1OOblock.
f
<Example 2>
(G41 D1 G91)
D1 5
N200 G41 X150. 150. D2 ;
Y
N21O X1OO. Y -100. ;
N21O
\
L x
Vector (B) is the offset amount registered in offset number modal D2 in the N200 block.
(6) Checkpoints
1) Assign the I, J type vector in a linear mode (GO, Gl). A program error (P151: G2,3 CMP. ERR)
occurs if it is assigned in an arc mode at the start of compensation.
An IJ assignment in an offset mode or arc mode is equivalent to an arc center assignment.
2) When an IJ type vector has been assigned, it is not erased (interference avoidance) even when
interference occurs.
In this case, therefore, over-cutting may occur.
l-- x Cutting
N1 G26
N2 G42
N3 G91
XOYO
D1
X1OO. :
F1OOO :
:
N5 XMO, Y -100. ;
N6 G40 :
N7 M02 ;
- 119-
12. TOOL OFFSET FUNCITONS
12.4 CUTTER COMPENSATION
G38 G411G42
\ $
(G41) (G41)
$ {
G38 G91 X1OO. 150. J 50. ; G41 G91 X1OO. 150. J 50. ;
$ \
zx-
ample
-y:::..,,
(@ffsetxS”J)
-120-
12. TOOL OFFSET FVN~ONS
12.4 CUTTER COMPENSATION
/’ N2 N3
/ K
“J
2) Interrupt with movement
The offset vectors are automatically re-calculated at the movement block after interrupt.
K
-.
// N 3\.
/ N2 v
- 121 -
12. TOOL OFFSET FUNCTIONS
12.4 CUTTER COMPENSATION
~m
-1
switch OFF ,/ r f
The tool path is shifted by an
amount equivalent to the interrupt
amount.
\v
\ /,/
/’
F
.— -—- ~
2) Interrupt with manual absolute t 0
switch ON
In the incremental value mode, the . //
/
‘)
same operation results as when the
manual absolute switch is OFF.
In the absolute value mode, how-
ever, the tool returns to its original
\
/
k’””’; “/’ /’”
path at the end point of the block
following the interrupted block, as
shown in the figure. /’
\\ J
“\
\ h
i Interrupt
Interrupt ‘
\
-122-
12. TOOL 0.FFSETFUW7’HONS
12.4 CUTTER COMPENSATION
‘~ff@~O1nOseceiCaolnosecenterpat_
G41 offset amount (-)
or G42 offset amount (-) or G42 o~~d amount ( + )
(a)
,, “
-123-
12. TOOL OFFSET FUNCTIONS
12.4 CUTTER COMPENSATION
Cz=o, 1, 2, 3
N101 GOa Xxl YY1 ;
N102 GOa Xx2 YY2 Dr2 ; “.””””””.
”..””...”--”Offset number change
N103 XX3 Yy3 ;
1) Line + line
)
Tool nose .“.
center path _ z
R- \
~~~ \{ 1
rl
Programmed path
r2
-124-
12. TOOL OFFSET FUNCITONS
12.4 CUTTER COMPEN’SA TION
2) Line - arc
~---- -.
Tool nose center path /--
/
0 r2
+%\ /
“\
N 101
- ..
Tool nose center path ‘~ Center of arc
Programmed
of arc
3)
------ rl
#/
0 rl
0
0
0
/
II
Tool nose center path’
Programmed path
4 Center of arc
-125-
,. .,,,
If programmed in this way, it is possible to read Up to the N6 block at N1 compensation start, determine
the relationship between N1 and N6 and proceed with compensation properly as shown in the above figure.
Next, when the N4 block in the above program has been divided into two:
It is not possible here to read as far as the N6 block at N1 compensation start since there are four blocks
(N2–N5) without a command on the XY plane.
Compensation is therefore based on the information in N1 block only, and the NC system cannot create
offset vectors at compensation start. Over-cutting therefore results, as shown in the above figure.
-126-
12. TOOL 01WSETFUNC170NS
124 CUTTER COMPENSATION
In cases like this, by taking the calculations performed inside the NC system into prior consideration, it is
possible to safeguard against over-cutting provided that, after the Z axis has descended, the command in
the same direction at the advance direction is already assigned immediately before the Z axis cutting.
The same direction as the N6 advance direction is assigned in N2 so that compensation is performed
properly.
-127-
12. TOOL 01?llSETFVNC170NS
12.4 CUTTER COMPENSATION
(G41)
N1 G90 G1 X5O. Y–1OO. ; Outer
[ 7?
N2 X7O. Y–KKL ;
N3 X 12o. YO ;
%
\
Cutting with N2
\\\
\
-128-
12. TOOL OFFSET FUNCIIONS
124 CUX!’ER CCMl?ENSA~ON
- 129-
12. TOOL OFFSET FUNCHONS
12.4 CUTTER COMPENSATION
\
(2) Detailed description
Conditions regarded as interference
Interference is regarded as occurring when the ot%et calculated vectors, which have been created at
the point of contact with movement commands, intersect in a case where there are movement
commands in 3 bloclm among the 5 pre-read blocks.
w
\- , Tool nose center path
\ / Programmed path
ilr
y
N1 - N3
Vectors intersect here.
11n
Programmed path
////,,,,,,
NI
No interference check possible
N2
N3
L
Operation during interference avoidance
The following operation is undertaken when the interference avoidance function is available.
[
Tool nose qmter path
w v Programmed path
b
ft’\
N1 N3
N2 ‘
-130-
12. TOOL OFFSET FUNCllONS
12.4 CUTTER COMPENSATION
m“ho”t
Avoidance
Programmed path (
/1
Whenall the intetierence
avoidancelinevectom )(
have been deleted,
new avoidance vectors
are created as shown
in the figureon 4)
the rij$htand interference
is avoided.
*-
b
Programmedpath
5!! ~’ r
- 131 -
12. TOOL OFFSET FUN~ONS
12.4 CUTTER COMPENSATION
N2
-132-
12. TOOL OEFSETFUN~ONS
124 CUTTER COMPENSA#llON
NI
h12
\
\
intersection
4) When the program advance direction and the advance direction after compensation are
reversed
In the following case, interference is still regarded as occurring even when there is actual~y no
interference.
When grooves with a bottom width, or parallel grooves, which are narrower than the tool nose
diameter are programmed
Programm
- 133-
12. TOOL OFFSET FUNCTIONS
12.5 3-DIMENSIONAL CUTTER COMPENSATION
12.5.1 Function
Tool
Z(K)
A
radius
ector
I)
Y(J)
As shown in the figure above, the tool is moved by the tool center coordinates (x’, y’, z’) which have been
offset by cutter radius “r” from the programmed coordinates (x, y, z) in accordance with the surface normal
vector (I, J, K). Unlike 2-dimensional cutter compensation which creates the vectors at right angles to the
(I, J, K) direction, 3-dimensional cutter compensation creates the vectors in the (I, J, K) direction. (The
vectors are created at the end noint of the block.1
The axis components for the 3~dimensional vecto~s (offset) are as follows.
I
H~= r
tiI’ +J2 +Kz ●
J.
Hy= r
~12 +J’ +Kz “
K
Hz= r
/12 +Jz +Kz ●
Therefore, the tool center coordinates (x’, y’, z’) are expressed respectively as
X’=X+HX
y’=y+Hy
Z’=Z+HZ
However, (x, y, z) are the programmed coordinates.
NOTE 1: Three-dimensional offset vectors (Hx, Hy, Hz) are surface normal vectors with cutter radius “r”
and with the same direction as surface normal vectors (I, J, K).
NOTE 2 When parameter “P3D’ has been set to any value except zero, its value is used as the value of
ti12 + J2 + K2
- 134-
12. TOOL OH?SETFVNCITON$
12.5 3-DIMENSIONAL CUTTER COMPENSATION
-135-
,–. ,—,– —
3-dimensional
Tool nose center path compensation veetor
,/
Tool nose center path ,‘
z ‘3-dimensional compensation vector
/
/
/
u’
Start point
-
//
Programmed tool path
Start point
- 136-
12. TOOL OIV’SETFUN~ONS
12.5 3-DIMENSIONAL CUTTER COMPENSATION
(Example 2) When the new normal vector commands are not present
The new vector is the same as the old vector.
f
xx, Yy4zz4;
I
Old vector ~
“1 i’
/
Programmed tool path
Start point
{
(Example 3) With arc or helical cuttin~
The vector is the same as-the old vector.
Start point
-137-
12. TOOL OFFSET FUNCITONS
12.5 3-DIMENSIONAL CUTTER COMPENSATION
Start point
- 138-
12. TOOL Ol?RSETFUNCTIONS
12.5 3-DIMENSIONAL CUTTER COMPENSATION
G40 XX7YY72Z7;
.P--H- \
Tool nose center path
Old vector ‘t
\
--, ----
Start point
Programmed tool path End point
\
(Example 2) When the movement commands are not present
*----I’ I
Old vector ~ Tool nose center path
t!’
..-J;
---- Programmed tool path
- 139-
12. TOOL OFFSET FUIWTIONS
12.5 3-DIMENSIONAL CUTTER COMPENSATION
(4) A program error (P170) results if the offset number D commands are beyond the D1 – D40 range
for the standard specifications or beyond the D1 — D800 range (maximum) for the optional
specifications.
(5) Use only the G40 or DOOcommand to cancel 3-dimensional cutter compensation.
It will not be canceled with the NC reset button or by external resetting.
( 6 ) A pro~am error (P35) results when the size (12+J2 + K’) of the vector assigned by I, J, K overflows.
.,
.,
,.
J.
-140-
12. TOOL OFFSET FUNCHONS
12.6 Pi? OGRAMMED CUTTER COMPENSATION INPUT {GlO)
-141-
12. TOOL ~OFFSET FUNCTIONS
12.6 PROGRAMMED CUTTER COMPENSATION INPUT (G1O)
7 ) A work coordinate system which has been updated by the work coordinate offset input follows
the previous modal (G54 – G59) or same block modal (G54 – G59).
8 ) L2 can be omitted with work offset input.
9 ) When the “programmable dimension x1O” parameter is ON, the work offset amount is
multiplied by 10 but the tool offset amount is not multiplied by 10.
(4) Examples of programs
1 ) Entering the offset amounts from tape
(Example 2) It is assumed that H1O has already been set to equal -1000.
Main program
N 1 GOOX1OOOO()
; ............... a
N2 # 1=–1000;
N3 M98P1111L4 ;-.,b, , b~s bs, bt
Subprogram 01111
N 1 G01G91G43Z OH1OF1OO ; .“...””..””.C 1 , CZ . C3 , C4
GO1X1OOO; ..”...”.-... dl,d~,ds.dd
#1=#1–looo;
G90GloLloPloR# 1 ;
M99 ;
- 142-
12. TOOL OFFSET FVNCITONS
126 PROGRAMME D CUTTER COMPENrSA7TONLNPUT@6’)
Subprogram
O1lllN 1
GOi G91G43Z O H1OF1OO;
N 2 GO1X1OOO;
N3 G1OL1OP1OR-1OOO;
N4 M99;
3 ) When updating work coordinate system offset amounts
It is assumed that the previous work coordinate system offset amounts are as follows.
x= –lo. 000 Y= – 10.000
M02 ;
-x -20. –lo. 1
N 100
/
Ci54 coordinate
_ ~ before change
–lo.
G54 coordinate
_ ~ after change
I -Y ‘–20.
-Y
“Y
#1 = –50. # 2 =10. ;
M98 P200 L 5 ;
Main program
M02 ;
[ %.
N1 G90 G54 G1O L2 PI X#l Y#l;
N2 GOO XO YO;
N3 x–5. F1OO;
Subprogram N4 XO Y–5. ;
0200 N5 YO;
N6 #l=#l+#2;
N7 M99;
\ .%
- -
5th
G54”’ t- W pass: –20.
1 . .
( 5 ) Checxpomm
1 ) Even when the commands appears on the CRT, the contents of the offset numbers and variables
will not be updated until the commands are executed.
‘N1 G9OG1OL1OP1OR-1WI;
‘N2 G43Z–1OOOOH1O
;
N3 G OX-1OOOOY-1OOOO;
‘N4 G9OG1OL1OP
LOR–200 ; .’..-...”..’ The H1O offset amount is updated by executing the N4 block
- 144-
13. PROGRAM SUPPORT FUN~OIW
13.1 CANNED CYCLES
m
— Fomard rotation Cutting feed Back boring cycle
Yes stop Rapid traverse Boring cycle
Yes — Cutting feed Boring cycle
Yes — Rapid traverse Step eycle
Yes Forward rotation Cutting feed Reverse tap cycle
Spindle stop
I G76
I
Cutting feed —
at oriented point
Rapid traverse Pine boring cycle
A canned cycle mode is canceled when the G80 or any G command in the 01 group (GOO,GOI, G02, G03,
G2.1, G3.1-or G33) is assigned. The various data will also be cleared simultaneously to zero.
-145-
13. PROGRAM SUPPORT FUiVC170NS
13.1 CANNED CYCLES
G8A
(7A)X Y Z R Q p F —, L *R_ :
Operation 2
Operation 3
R point
Operation 5
-146-
13. PROGRAM SUPPORT FUNCITONS
13.1 CANNED CYCLES
These G commands are modal. Once, for instance, G98 is assigned, it will remain valid until the G99
command is assigned. The G98 mode is established in the initialized state when the NC system is
ready to operate.
The hole machining data is ignored if the X, Y, Z or R command is not present.
This function is used primarily in combination with the special canned cycles.
4 ) Canned cycle addresses and meaning
R point R point
-147-
13. PROGRAM SUPPORT FVNCHONS
13.1 CANNED CYCLES
Xp, Yp and Zp denote the basic axes X, Y and Z or the parallel axes of these basic axes.
Any axis except the drilling axis can be assigned for the positioning.
The drilling axis is determined by the axis address of the drilling axis commanded in the same block
as G81 — G89, G73, G74 or G76. The basic axis serves as the drilling axis if the axis address is not
designated.
(Example 1) When G17 (X—Y plane) has been selected and the W axis has been made the axis
parallel to the Z axis
G81 .... Z_; Z axis is made the drilling axis.
G81 .... W_; W axis is made the drilling axis.
G81 .... ; (no Z or W) Z axis is made the drilling axis.
NOTE L The Z axis can be fixed as the drilling axis by parameter setting.
NOTE 2 The drilling axis should be selected in the canned cycle cancel mode.
In the following descriptions of the operations in the various canned cycle modes, the positioning
plane is assumed to be the XY plane and the drilling axis is assumed to be the Z axis.
It should be noted that all command values are incremental, XY is the positioning plane and that the
Z axis is the drilling axis.
(5) Canned cycles and unidirectional positioning (G60)
Using canned cycles and the unidirectional positioning (G60) command in combination enables a tool
to be positioned with a high degree of precision at the drilling point without any backlash error.
%
G91 G60 G81 X1(L YiO. R-5. 2-10. F300 L 2 ;
G60 Xlo, Ylo. L 2 ;
7 ,-
060 shift amount (axis parameter)
.x .
-148-
13. PROGRAM SUPPORT FUNCHONS
13.1 c~D CYCLES
@
@ Go Xx, Yy,
@ GoZr,
@ GIZZI Ff,
@ G98mode Go Z- (z, +r,]
G99mode GO Z-Zt
The stop position during single block operation applies upon completion of the (1), (2) and (4)
commands.
b) G82 (drilling, counterboring)
Program
G82 XX, YY1 Zzl Rr, Ff, Ppl :
@ Go Xx, Yy,
@ GO!3r,
@ GIZZ, Ff,
@ G4P p , (dwell)
@ G98mode GOZ-(z, +r,
G99rnode G02–z I,
‘Ilh:Il:d- during single block operation applies upon completion of the (l), (2) and (5)
.
-149-
13. PROGRAM SVPPORTFUN~ONS
13.1 CANNED CYCLES
ql
ql m
ql
@ Go Xx, Yy,
@ GOZr,
@ GIZq, Ff,
@ Go Z-q,
@ GOZ (q, -m)
@ GIZ(q, +m)Ff,
m GO Z–2*q,
@ GoZ (Z”q, –m)
@ GIZ(q, +m)Ff,
@ GO Z–3mct,
:
:
i G98mode GO Z- (z, +rl)
G99mode GO Z-Z,
Using the G83 command, the tool can be switched from rapid traverse to cutting feed in front
of “m” mm from the oosition machined immediately before for the second and subsequent
passes. When the tool ~eaches the hole bottom, it will ~eturn in accordance with theG980;G99
mode.
The value of “m” depends on the parameter setting. Proceed with programming so that ql> m.
The stop position during single block operation applies upon completion of the (l), (2) and (n)
commands.
- 150-
13. PROGRAM SUPPORT FUN~ONS
13.1 CANNED CYCLES
@ Go Xx, Yy,
@ GIZZ, Ff,
@
@ M 4 (spindlereverserotatiin
@ Gl z-z, Ff,
@ M3 (spindleforwardrotation
Q@ $ $ G98rnode G02-rl
83 @
co m [ G99 mode
83 No movement
The synchronous tap mode applies when “rz” is 1; the asynchronous tap mode applies when “rz” is
o.
Override is canceled while G84 is being executed and the override is automatically set to 100%.
Dry run is also ignored. When the feed hold button is pressed while G84 is being executed, the tool
will not stop with sequences (3) to (6) but will stop immediately upon completion of (6). It will stop
immediately with sequence (l), (2) and (9) rapid traverse.
The stop position during single block operation applies upon completion of the (l), (2) and (9)
commands.
The “in-tapping” NC output signal is output while GM is modal.
The M3, M4, M5 and S codes are not output in the G84 synchronous tapping modal.
e ) G85 (boring)
Program
G35 XX, YY] Zzl Rri Ffi :
The stop position during single block operation applies upon completion of the (l), (2) and (4) or (5)
commands.
-151-
13. PROGRAM SUPPORT FUNCZ70NS
13.1 CANNED CYCLES
f) G86 (boring)
Program
G86 xx, Yy, Zz, Rr, Ff, Ppl ;
@
A @ GO XYC, Yyl
rl @ GOZrj
@
@ @ Glzzl Ff,
\ f
Q G4Pp1
@ M 5 (spindle stop)
@ z,
G98mode GOZ– (z, +r,
1
@,
@@*+ I G99 mode Go Z–Z,
~a
m m @ M 3 (spindle forward rotation)
33
The stop position during single block operation applies upon completion of the (1), (2) and (7) commands.
@ GO xx, Yy,
@ M19 (spindle orient)
~~~xq’(yq’) ~~~!~~~~~~hift
@ rl @ M 3(spindle forward rotatiom
@@ @ G1 Zz, Ff,
@ M19 (spindle orient)
@
@ GO Xq, (Y’,) (shift)
@ Z1 G98modeG0Z– (r, +z,~
@
& [ G99modeGo
(!9Q Z- (r, +z,
@ Go X-q,(Y–q,) (shift)
43 M 3 (spindle forwardrotatiom
-152-
13. PROGRAM SUPPORT FUNCTIONS
13.1 CANNED CYCLES
The stop position during single block operation applies upon completion of the (l), (4), (6) and (11)
commands.
This command can be used to perform high-precision boring without leaving scratches or marks on
the machining surface.
(The tool is positioned as far as the hole bottom and is retracted (returned) after cutting in the shifted
state in the reverse direction to the tool nose.)
The shift amount is assigned as follows by addresses I, J and K
‘ ‘Shiftamount
The shift amount is exeeuted by linear interpolation and the feed rate accords with the F command.
I, J and K should be assigned with incremental values in the same block as the hole positioning data.
I, J and K are treated as medals during canned cycles.
NOTE When the parameter fiing ~hedrilling-axis as the Z axis has been set, the shift amount can
also be assigned by address Q and not by I and J. In a case like this, the shift direction is
set by parameter to +X, -X, + Y or -Y. The sign of the Q value is ignored and treated
as plus.
The Q value is modal during a canned cycle and care should be taken since it is also used
as the G83, G73 and G76 cut amount.
- 153-
,.,
h ) G88 (boring)
Program
GM XXI Yy, Zzl Rr, Ff] PPI ;
@ Go Xx, Yy,
@ GOZr,
@ GIZZ, Ff,
@ G4Pp,
Q M5 (spindle stop)
The stop position during single block operation applies upon completion of the (l), (2), (6) and (9)
commands.
i ) G89 (boring)
Program
G89 Xx, Yy, Zz, Rr, Ff, PPI :
f 9
@ Go Xx, Yy,
@ GOZr,
@ GIZZ, Ff,
Q
@ G4 PP,
@ GIZ– Z, Ff,
G98mode Go Z–r,
@+f
aa @
m a G99 mode
I No movement
33
\
The stop position during single block operation applies upon completion of the (l), (2) and (5) or (6)
commands.
- 154-
13. PROGRAM SUPPORT FUNCITONS
13.1 CANNED CYCLES
@ (.
@ Go Xx, Yy,
@ G(i Zrt
Q GIZq, Ff,
@ G4Pp,
@ GO Z-m
@ GIZ(ql+m) Ff,
.
:
Using the G73 command, the tool can be returned by rapid traverse by an amount equivalent to “m” mm
and then switched to cutting feed for the seeond and subsequent passes. The value of return “m” depends
on the parameter setting.
The stop position during single block operation applies upon completion of the (1), (2) and(n) commands.
-155-
13. PROGRAM SUPPORT FUNCTIONS
13.1 CANNED CYCLES
@) Go Xx, Yy,
@ GOZr,
@ GIZZ, Ff,
@ G4 Pp,
@ M 3 (spindleforwardrotation)
@ GIZ– Z, Ff,
@I G4Pp,
@ M 4 (spindlereverserotation)
G98mode GO Z–r,
@@ * 4
i 3 @
m ul I G99 mode No movement
8 8
When “rz” is 1, the synchronous tapping mode is established; when it is zero, the asynchronous
tapping mode is established.
berrfie is canceled while G74 is being executed and the override is automatically set to 100%.
Dry run is also ignored. When the feed hold button is pressed while G74 is being executed, the tool
will not stop immediately with sequences (3) to (6) but will stop upon completion of (6). It will stop
immediately with sequence (l), (2) and (9) rapid traverse.
The stop position during single block operation applies upon completion of the (l), (2) and (9)
commands.
The “in-tapping” NC output signal is output while G74 and GM are modal.
The M3, M4, M5 and S codes are not output while the G74 synchronous tapping command is modal.
-156-
13. PROGRAM SUPPORT FUNC770NS
13.1 CANNED CYCLES
@ @ GO Zr,
@ Cl “Zz, Ff,
(Q M19 (spindle orient)
@ GI Xq, (Yq,)Ff, (shift)
@
G98mode GO Z-(zl+ r,)
@
@
[ G99mode GO Z-z,
~ GO X–q, (Y–q,) (shift)
@@$+ ~ M3 (spindl~ forward rotation)
88
gm
08
The stop position during single block operation applies upon completion of the (1), (2), (7)
commands.
This command can be used to perform high-precision boring without leaving scratches or marks on
the machining surface.
(After cutting the tool is retracted (returned) as shifted in the reverse direction to the tool nose.)
Tnnl
.““.
m.~d for
-“.
Tool after
cutting 1. cutting The shift amount is assigned as follows by
addresses I, J and K.
I and J with G17
Tool nose%//2 K and I with G18
J and K with G19
Spindle The shift amount is executed by linear interpola-
orient p
position -! b. tion and the feed rate accords with the F com-
\ ,sflj mand.
% Shif~ hole -
1, J and K should be assigned with incremental values in the same block as the hole positioning data.
1, J and K are treated as modak during canned cycles.
NOTE When the parameter fiing the drilling axis as the Z axis has been set, the shift amount can
also be assigned by address Q and not by I and J. In a case like this, the shift direction is
set by parameter to +X, -X, + Y or –Y. The sign of the Q value is ignored and treated
as plus.
The Q value is modal during a canned cycle and care should be taken since it is also used
as the G83, G87 and G73 cut amount.
- 157-
13. PROGRAM SUPPORT FUNCTIONS
13.1 CANNED CYCLES
Gn Gm X_Y_Z_R_Q_P_L_F_;
Ignored Executed Ignored Stored
In the case of the G02 and G03 commands, R is treated as the arc radius.
5) When a miscellaneous function is assigned in the same block as the canned cycle command, the
M code and MF are output at the first positioning operation. A move is made to the next
operation by the finish (FIN) signal.
When the speed has been assigned, the above control is exercised for the first pass only.
6) When another control axis (for instance, rotary or additional axis) is assigned in the same block
as the canned cycle control axis, the other control axis moves first and then the canned cycle is
executed.
7) An instance where repetition number L has not been assigned is treated as L1. When LO is
assigned in the same block as the canned cycle G code, the hole machining data will be stored
but drilling will not result.
(Example)
G73x_Y_z_R_Q_P_F_L o_ ;
Recuted Codeswithaddressonlyare stored
8) A modal command assigned in a canned cycle program when a canned cycle is executed is valid
only in the canned cycle subprogram. It has no effect on the medals of the program which has
called the canned cycle.
9) It is not possible to call any other subprogram from a canned cycle subprogram.
10) The decimal points in the movement commands of a canned cycle subprogram are ignored.
11) When repetition number L is 2 or more in the incremental mode, positioning is also
incremented with each pass.
(Example) G91G81X1O.Z–5O.R–2O.F1OO.L3 ;
“—l 7\ f- Y.
-158-
13. PROGRAM SUPPORT FUNC170NS
13.1 CANNED CYCLES
No. of G98
hilling [when power is switched on, when
?asaes &le of program cancelled by M@ M30 or when G99
reset button is pressed]
G81XIO0. YIOO.
he pass
mly Z -50. R25. F1OOO;
~-.--,,,,r
txeeuted ~f,,,,:
G81X1OO.Y 100.
2 or Z -50. R25. L5F1ooo :
more
passes
executed
:1!3!-11.
‘-[\lrl\ 1st pass 2nd pass Last pass
~~ -
1st pass 2nd pa&s Last pass
Initial level return results in all eases.
( 4 ) Example of program
(Example 1) G82 ~ ~~ ~1 ~o~i~ ~~illed
Holeinmachining
G82 modedata is stored only (no exeeution)
1 “ ....
The number of canned cycle repetitions is assigned by address L. The canned cycle will be executed
once with the L1 or no L assignment. The assignment range is 1 through 9999,
When LO is assigned, the hole machining data is stored only.
G8A (7A) Xxl Yyl Zzl Rrl Ppl Qql Ffl Lll;
-159-
13. PROGRAM SUPPORT FUNC170NS
13.1 CANNED CYCLES
Depending on the absolute (G90) and incremental (G91) value modes, the approach to the data changes,
as shown in the following diagrams.
J------? z-axis
Q-----
3
I
5
[R absolute R
R point I
R point value zero
4 ~ point
Y
II 1’
I ,1 z
I
!
NOTE The Z address and R must be re-programmed even if they are the same value when the work
coordinates are changed.
(Example) GM XX, Yy, Zz] ;
G81 Xx, YY~ ZZ2 Rr~ ;
:
:
:
G55 Xx, YY, Zz, R r 2 : ‘----- Z and R must be re-programmed even if
they are the same as the previous time.
xx, YY4 ;
Xxs YYS ;
:
:
:
-160-
13. PROGN SUPPORT FUN~ONS
13.2 SPECIAL CANNED CYCLES (G34, G35, G36, G37.1)
The circumference, with radius R and centered on the coordinates assigned by X and Y, is divided into “n”
divisions starting at the point where angle 9 is formed with the X axis and “n” number of holes are drilled
at “n.” The drilling data of the G81 or other standard canned cycle is retained for the hole drilling operation
at each hole position.
The GOO mode always applies for movement between hole positions. The data is not retained upon
completion of the G34 command.
(Example)
When input setting unit is 0.001 mm
NOOI G91 :
NO02 G81 Z –10000 R5000 L O F200 ;
N(N3 G90 G34 X200000 Y1OOOOO1100000 J 20000 K 6 ;
NO04 G80 ; .... ......... ..... (G81 cancel)
NO05 G90 G O X500000 YIOOOOO; Xl+m-kill
k *‘ n = 6 holes
W
.
T r
Yl=lmllm I =Ioomm
(k&Q, loomui)
/ +’‘“
Position prior to G34 GO command in NO05
execution block
As shown in the example, the tool position applying upon completion of the G34 command is above the
final hole. When it moves to the next position, the command is assigned as an incremental value so that
there is no need to calculate the coordinates. It is therefore more convenient to use the absolute value
mode.
- 161 -
13. PROGRAM SUPPORT FUNC170NS
13.2 SPECIAL CANNED CYCLES (G34, G35, G36, G37.1)
. .... ....... Angle 4; counterclockwise direction is taken to be positive. (The decimal point
J
denotes the degree position; O.OO1°applies as the unit for a number without a
decimal point.)
Number “n” of holes including the start point. Any number from 1 to 9999 can be
K ....... ... .. assigned
“n” number of holes are drilled at distance “d” in the direction forming angle 9 with the X axis, with the
position assigned by X and Y serving as the start point. The drilling data (hole machining mode and hole
machining data) must be retained first since the hole drilling operation at each hole position is dependent
upon the standard canned cycle. The GOOmode always applies for movement between hole positions. The
data is not retained upon completion of the G35 Cornm;;d.
(Example) T
/
I When input setting unit is 0.001 mm
I
G91 ;
G81 Z–1OOOO R5000 L O F1OO : d ==lGUmn
G35 X200000 Y1OOOOOI 100000
J 30000 K 5 ; f
y l=lmm
Position =..–.
nrior to
-–- ~ x 1”1200mm
●
G35 execution F
NOTE 1: Program error P221 results when the K command is KO is when it is absent.
NOTE 2 The-last 4 digits are valid when the value of K is more than 4 digits.
NOTE 3 Any address except G, L, N, X, Y, I, J, ~ M, S, T or B programmed in the same block as the
G35 command will be ignored.
(Example) G35 Xxl Yyl Iil Jj, Kk, Hh, ;
~ored
NOTE 4 Any G command in group Oassigned subsequently in the same block as the G35 command takes
precedence.
(Example) G35 G28 Xxl Yyl Iil Jjl Kk, ;
G35 ~~ored and G28 Xxl Yyl is executed.
NOTE S When a G22 or G23 command is programmed in the same block as the G35 command, it will
be ignored and the G35 command will be executed.
NOTE 6: If a G72—G89 command is assigned in the same block as the G35 command, the canned cycle
will be ignored and the G35 command will be executed.
-162-
13. PROGRAM SUPPORT FUNCITONS
13.2 SPECIAL CAMV’ED CYCLES (G34, G35, G36, G37.1)
“n” number of holes are drilled at angle distance Ad starting at the point where angle Ois formed with the
X axis along a circumference with radius %“ and centered on the coordinates assigned by X and Y. AS with
the bolt hole circle canned cycle, the drilling data must be retained beforehand since the hole drilling
operation at each hole position depends on the standard canned cycle.
The GOO mode always applies for movement between hole positions. The data is not retained upon
completion of the G36 command.
NOO1 G91 :
NO02 G81 Z -10000 R5000 F 100 ;
NO03 G36 X300000 Y1OOOOO
? 300000J 10000
P 15000 K 6 ;
Position prior to G36 execu-
tion
\~ Y1=lwrm -
- 163-
13. PROGRAM SUPPORT FUNC?TONS
13.2 SPECIAL CANNED CYCLES (G34, G35, G36, G37.1)
(Example)
When input setting unit is 0.001 mm 1
......
G91 ;
G“81 Z -10000 R5000 F 20 ; ------ 2
v
AX.=~krn
K
x ,=Wm n x = 10 holes
NOTE 1: Promun error P221 results when the P or K command is PO or KO is when it is absent. The last
4 d~its are valid when the value of P or K is more than 4 digits.
NOTE 2 Any address except G, L, N, ~ Y, I, P, J, ~ F, M, S or B programmed in the same block as the
G37.1 command will be ignored.
(Example) G37.1 Xxl Yyl Iil Ppl Jjl Kkl Qql ;
~ Ignored
NOTE 3 Any G command in group O assigned subsequently in the same block as the G37.1 command
takes precedence.
NOTE k When a G22 or G23 command is programmed in the same block as the G37.1 command, it will
be ignored and the G37.1 command will be executed.
NOTE 5: If a G72 — G89 command is assigned in the same block as the G37.1 command, the canned cycle
will be ignored and the G37.1 command will be executed.
- 164-
13. PROGRAM SUPPORT FUNCTIONS
13.3 SUBPROGRAM CONTROL (M98, M99)
FKFkFu: (Levll 1)
~
(Level 2)
Nesting depth
(Level 3) (Level 8)
The table below shows the functions which can be executed by adding and combining the tape storing
and editing functions, subprogram control functions and canned cycle functions.
~~~ k “0” denotes a function which can be used and “~’ a finction which cannot be used.
NOTE 2 Variables cannot be transferred with the M98 command but variable commands in subprograms
can be used provided that the variable command option is available.
NOT’E % A maximum of 8 nesting levels form the nesting depth.
- 165-
13. PROGRAM SUPPORT FUW170NS
13.3 SUBPROGRAM CONTROL {M98. M99J
M98 P H L
TTZ; Number of subprogram repetitions (LI if omitted)
~ Sequence number in subprogram to be called (head block if omitted)
Program number of subprogram to be called (own program if omitted)
P can only be omitted during memory operation and MDI operation.
M99 P .
~‘ Sequence number of return destination (returned to block following
block to be called if omitted)
(3) Preparing and entering subprograms
Subprograms have the same format as machining programs for normal memory operation except that
the subprogram completion instruction M99 (P_); is entered as an independent block at the last
block. If it is removed, the format is the same as that for ordinary memory operation machining
programs.
M99 ;
%
;
OAAAA ;
...... .................. ; Subprogram B
:
: I
M99 :
% J
-166-
13. PRaMAM suF!PcluTmJNmONs
13.3 SUBPROGRAM CONTROL (M9$, M99)
Olmrn ;
... .... ............ .....
.
:.
: 1
:.
: Subprogram C
M99 ;
% >
Main programs can be entered during memory, tape, MDI or BTR operation but subprograms
must be entered in the memory.
Besides the M98 command, subprogram nesting is subject to the following commands:
G65: Macro call
G66: Modal Cd
G66.1: Modal call
G code call
Miscellanems function call (M, S, T, etc.)
Macro interrupt
MDI interrupt
Automatic tool length measurement
Multi-stage skip function
Subprogram nesting is not subject to the following commands which can be called even beyond
the 8th nesting level.
Canned cycles
-167-
13. PROGRAM SUPPORT FUNCTIONS
13.3 SUBPROGRAM CONTROL (M98, M99)
( 4 ) Subprogram execution
M98: Subprogram call command
M99: Subprogram return command
Command format
M98 P P1 H h, L 1, ;
Subprogram number Sequence number No. of repetitions
M96P1 ;
For nesting, the M98 and M99 commands should always be paired off on a 1:1 basis (l)’ for (l), (2)’
for (2), etc.
Modal information can be rewritten according to the execution sequence without distinction between
main programs and subprograms. This means that after calling a subprogram, care should be taken
with the modal data status when programming.
-168-
13. PROGRAM SUPPORT FUNC?70NS
13.3 SUBPROGRAM ICONTR OL (M98, M99]
(Example 2) M98H_ ; M99P. ; assign the sequence numbers in a program with a call instruction.
M93H3 ;
~)
N3_;
) b M99P1(!0 :
-M99:
J
:Example. 3) Main program M98 P.
01 ;
:
:
: Subprogram 1
:.
M99 ;
%
02 ;
:.
N200 ; Subprogram 2
:.
M99 ;
%
03 ;
:.
N200 ; Subprogram 3
:.
M99 ;
%
NOTE k When the 02 N200 block is searched with the memory search function, the modal data from 02
through N200 is updated.
NOTE 2 The same sequence number can be used with different subprograms.
NOTE % When the subprogram is to be repeatedly used, it will be repeatedly executed for 11 times
provided that M98 Ppl Lll ; is programmed.
( 5 ) Other cautions
1) Program error P232 results when the assigned program number (P) is not located.
2) Single block stop does not occur with M98P_; M99;. If any address except O, N, P, L or H is
used, single block stop can be executed. (With X1OO.M98 P1OO;, operation branches to 0100
after X1OO.is executed.)
3) When M99P ; is assigned by the main program, operation returns to the head. (This is same for
MIX.)
4) Operation can branch from tape or BTR operation to a subprogram by M98P_ ; but the
sequence number of the return destination cannot be assigned with M99P_;. (“P_” is ignored.)
5) Bear in mind that the search operation will take time when the sequence number is assigned by
M99P_ ;.
- 169-
13. PROG~ SUPPORT FTliWTIONS
13.4 VARIABLE COMMANDS (#n]
Type of
No. Function Remarks
variable
100-149,500-549 Can be used in common throughout Type A 100 sets
Common
100-199,500-599 main, sub and macro programs. Type B: 200 sets
variable
10P199, 50W699 me C 300 sets
Can be used for local variables in User macro specifica-
Local variable 1—33 (See *1)
macro programs. tions required
System Application is f~ed by system. User macro specifica-
1ooo-
variable tions required
Canned cycle ~_32 Local variables in canned cycle pro- Canned cycle specifica-
variable gram tions required
NOTE 1: All common variables are retained even when the power is switched off. (See *2)
*1: Number of variables may be 1 — 32 depending on the system version. (1 — 33 for V series)
*2: Depending on the system version, it is possible to set a common variable to by power-off or resetting
in accordance with the parameter set. (This can be done with the V series.)
-170-
13. PROGRAM SUPPORT FUNCHONS
13.4 VARIABLE COMMANDS (#n)
c. Variable quotations
Variables can be used for till addresses except O, N and / (slash).
1 ) When the variable value is used directly
x#l .... Value of #l is used as the X value.
2 ) When the complement of the variable value is used
X—#2 .... Value with the #2 sign changed is used as the X value.
3 ) When defining variable~
#3 = #5 ,... Variable #3 uses the equivalent variable #5.
#1 = 1000 .... Variable #1 uses the equivalent value 1000 (which is treated as 1000.).
4 ) When defining the variable arithmetic formulae:
#1 = #3 + #2 -100 .... The value of the arithmetic result of #3 + #2 -100 is used as the
#l value.
x [#l + #3 + 1000] .... The value of the arithmetic result of #1 + #3 + 1000. is used as the
X value.
IW3TE 1: A. variable cannot be defined in the same block as an address. It must be defined in a separate
block
Incorrect Correct
x#l=#3+loo; + #l=#3+loo;
x#l;
NOTE 2 Up to five sets of square parentheses [ ] maybe used.
#543 = -[[[[[#120] /2 + 15.] *3 – #100.] /#520+ #125+ #128] *#130 + #132]
IWITE % There are no restrictions on the number of characters and number of variables for variable
definition.
NOTE 4 The variable values should be within a range from O to *99999999.
If this range is exceeded, the arithmetic calculations may not be conducted properly.
NOTE S Variable definition is valid from the following commands.
#1= 100 ‘9 ................................................................... #l= 100, valid from next command
#l=200#2=#l+200” Y...................... #1= 200, #2= 400, valid from next command
#3=#l+300 ,“ ..........................................................#3= 500, valid from next command
IWM’E t% Variable quotations are always regarded as having a decimal point at the end.
When #lOil = 10, then X#100 ; is treated as XIO.
-171 -
13. PROGRAM SUPPORT FUNCTIONS
13.5 PATTERN ROTA TION {M98)
NOTE 1: Pattern rotation is conducted on the work coordinate system and so the system can be shifted by
the G92, G52 and G54 – G59 (work coordinate system shift) commands.
-172-
13. PROGRAM SUPPORT FUNC170NS
13.5 PATTERN R CITATION (.98)
NOTE 2 Pattern rotation is conducted on the work coordinate ~stem and so the functions on the
machine workpiece system (such as zero point return and uni-direction positioning) do not
rotate.
NOTE 3 Program error P251 results with pattern rotation Commmds assigned during pattern rotation.
r’wrE 4 It is not possible to assign pattern rotation and programmed coordinate rotation at the same
time. Program error P252 will result in this case.
(4) Example of program
(Example 1) Gear cutting Machining for one tooth is programmed with a subprogram and the
number of teeth is specified when calling the subprogram.
G92XOYO: 1
I
G90GOOX50000: Mainprogram
M98P 7 L 38 I -50000 ; Start point positioning and pattern rotation
call for gear cutting
GOOXOYO;
M02 ; J
07;
G03X5435BY190J50000F 100 ; 1
X54135Y4927 I –54354J –190 ;
Subprogram (07)
X4981OY435814353J -49810 ; Basic shape data of gear
1
X49240Y8682 I –49810 J –4358 ;
M99 ;
% I
-173-
13. PROGRAM SUPPORT FUNCHONS
13.5 PATTERN ROTA TION (M98)
..
.. ..
x
ii
>
0 o 0 o
x z x x x
“Z
2
/
\x
.O-eaea-f
- 174-
13. PROGRAM SUPPORT FUNG!TONS
13.5 PATTERN ROTA TTON (M98)
(Example 3) Use of canned eycle~ Machining data only with positioning data for a canned cycle is
programmed with a subprogram, and if the canned cycle hole machining data is stored
and exeeuted when the subprogram called, the positioning of the subprogram can be
rotated and utilized for such purposes as the machining of bolt hole circles.
o)
G92XOYOZO;
G91X50000 ;
G90G81Z –IOOOOR–50000F100 LO
M98P 101 I –50000L 8 ;
GOOXOYO
M02 ;
;
‘iJ Main program
Hole machining data storage and subprogram
call
% .
0101 ;
Subprogram (0101)
X35355 Y35355 ; Positioning data (absolute values)
M99 ;
% /
- 175-
13. PROGRAM SUPPORT FUNCTIONS
13.5 PATTERN ROTA TION (i&f98)
v -5
1
Main program
M98P1021–i J–j L5 ; Start point positioning, hole
M02 ; machming pattern rotation
call
%
0102 ;
xx
M99 ;
%
YY ;
1 Subprogram (0102)
F’osltioning data
-176-
13. PROGRAM SUPPORT FUNCHOIW
13.6 COORDINATE ROTA TION
-x __— —-.
–Y — — _.— — -——
———- ———- ——— .——
Basic machine coordinate system
yls -1
\I
\
\
Xp
+
Coordinate
ystem zem point
rotation center)
J
Programm[ coordinate path
Ap*Bp4Cp4Dp-+Ep+Fp -+Ap
Machine coordinate path after coordinate rotation
A.maBmeCmaDm~Em~ Fm~Am
- 177-
13. PROGRAM SUPPORT FUNC770NS
13.6 COORDINATE ROTA TION
NOTE 1: There is no rotation with creep feed during uni-direction positioning even in automatic
operation.
NOTE 2 When these modes have interrupted (coordinate rotation axis) an automatic operation mode
with the manual absolute switch at the ON position, do not allow subsequent absolute value
commands to be issued during automatic operation.
NOTE 3 Coordinate rotation applies to the intermediate point in reference point return.
( 2 ) Processing sequence in programmed coordinate rotation
1 ) Offset processing is computed last of all. In other words, the programmed coordinate rotation
is processed first, and then cutter compensation, tool length offset or tool pition offset is
conducted.
2 ) The coordinate rotation function has precedence over the mirror image function. Therefore,
when both functions have been specified, mirror image processing is conducted after coordinate
rotation processing.
3 ) The cancel mode is established when the M02, M30 or MOO (only when reset function is
provided) is assigned during programmed coordinate rotation. It is also established when a
reset signal has been input.
4 ) The present position display indicates the movements after coordinate rotation. Therefore,
when coordinate rotation is processed for a simultaneous single axis command, the display will
indicate a simultaneous 2-axis operation.
(3) Coordinate rotation amount setting and display (parameter coordinate rotation)
1 ) The coordinate rotation amounts are set and indicated by the coordinate rotation settings on the
parameter page of the setting and display unit. (Reference should be made to the operation of
the setting and display unit for further details on the operational procedures.)
2 ) The coordinate rotation amount settings are valid only in the block stop mode.
3 ) Coordinate rotation is not executed when the plane valid for the coordinate rotation has not
been set.
4 ) The movements applying after coordinate rotation are indicated except on the present position
display screen 2. Consequently, the simultaneous 2-axis display appears when coordinate
rotation is processed for simultaneous l-axis commands.
-178-
13. PROGRAM SUPPORT FUNC170NS
13.6 COORDINATE ROTA TION
Gn G68 a_!l_R_;
Where n = Plane selection codw 17, 18 or 19
~, B : Coordinate values of rotation center:
these assign the two axes corresponding to the plane selected among X, Y and Z
R : Rotational angle:
+ for counterclockwise direction,
The –360.000” to 360.000° range is assigned in O.OO1°units.
This data is modal and will not change until a new angle command is assigned.
G69; (coordinate rotation cancel): This maybe assigned in the same block as other commands
even in an independent block.
The angle of rotation is set to zero when canceled.
(2) Detailed description
1) There is no need to assign the plane selection (G17, G18, G19) in the G68 block it will be valid
even if it has been assigned previously.
2) If the coordinate rotation coordinates (u, E) are omitted, the position with the G68 command
serves as the rotation center.
3) The coordinate rotation coordinates (a, p) and rotation angle (R) may be absolute or
incremental values, depending on whether the G90 or G91 command is used.
4) Coordinate rotation commands during coordinate rotation are processed as changes in the
center coordinates and rotation angle.
‘1
-179-
.,, ,: ”,,. .,,
5 ) The programmed coordinate rotation function is a function on the work coordinate system and
so the rotated coordinate system is characterized by the relationship shown in the figure below.
-~*;-----------
M
Basic machine coordinate system
6 ) Programmed coordinate rotation cannot be executed at the same time as pattern rotation.
Program error P2S2 results for pattern rotation commands assigned during coordinate rotation
and vice versa.
7 ) Program error Pill results when a plane selection code is assigned in the coordinate rotation
mode.
8 ) Program error P260 results when coordinate rotation is assigned when the coordinate rotation
speciilcations are not provided.
9 ) Program error P141 occurs when tool position offset is assigned in the coordinate rotation
mode.
Programmed coordinate rotation based on absolute commands
/
t N1 G69G92XOYO~;
Programmed tool path N6
without coordinate rotation N2 G90G17G68X30. Y1O. R45. :
/
N3 GOOX20.;
\ 11
I
N4 G01X40. F 1000;
N7 N5 G02X20. ;
(o. o) N6 G03YOR15. :
Y N8
N7 G69GOOXOYOM02;
N1, N2 N3
I
-180-
13. PROGRAM SUPPORT FUi’VCTIONS
13.6 CO ORDINA ?% ROTA TION
Parameter coordinate rotation is a function on the basic machine coordinate system and so the rotated
coordinate system is characterized by the relationship shown in the figure below.
-x
“.5(N. ..— —— —
1
——— ———— ———— ———— ——— ——— —.. .
I –Y ~. Basic machine coordinate system
- 181 -
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACROS
)
/
T \ M99:
‘ 1
Macro programs use variables, arithmetic instructions and control instructions to create subprograms
which function to provide special-purpose control.
These special-purpose control functions (macro programs) are called by the macro call instructions exactly
when required from the main program.
The following G codes are available for macro call commands.
I G code I Function i
G65 User macro simple call
G66 User macro modal call A (movement command call)
G66.1 User macro modal call B (each-block call)
I G67 IUser macro modal call cancel
Detailed description
1 ) When the G66 (or G66.1) command is entered, the specified user macro subprogram will be
called after the movement command in the block with the movement commands has been
executed (or after each-block execution) until the G67 (cancel) command is entered.
2 ) The G66 (or G66.1) and G67 commands must be paired in the same program.
-182-
13. PROGRAM SUPPORTFVNC170NS
13.7 USER MA c1? 0s
T
L No. of repetitions
~ Program no.
I
When <argument> must be transferred as a local variable to a user macro subprogram, the actual value
should be assigned after the address.
Regardless of the address, a sign and decimal point can be used in the argument. There are 2 ways in which
arguments are assigned.
a. Argument designation 1
Format: A_ B_ C. ... XL Y_ Z_
Detailed description
1) Arguments can be assigned using any address except G, L, N, O and P.
2) Except for 1, J and K, there is no need for assignment in alphabetical order.
3) 1, J and K must be assigaed in alphabetical order.
I- J– K_ ... Correct
J– I_ K_ ... Incorrect
4) Addresses which do not need to be assigned can be omitted.
5) The following table shows the correspondence between the addresses which can be assigned by
argument assignment I and the variable numbers in the user macro main body.
-183-
.
Address and variable number correspondence Call instructions and usable address
Argument assign-
Variable in macro G65, G66 G66.1
ment I address
A #l o 0
B #2 o 0
c #3 o 0
D #7 o 0
E #8 o 0
F #9 o 0
G #lo x x“
H #11 o 0
I #4 o 0
J #5 o 0
K #6 o 0
L #12 x x*
M #13 o 0
N #14 x x“
o #15 x x
P #16 x x*
Q #17 o 0
R #18 o 0
s #19 o 0
T #20 o 0
u #21 o 0
v #22 o 0
w #23 o 0
x #24 o 0
Y #25 o 0
z #26 o 0
0: Can be used
X Cannot be used
* : Can be used while G66.1 command is modal
-184-
13. PROGRAM SVPPORTFUN~ONS
13.7 USER’
iwlcl?os
b. Argument assignment II
Format: A_ B_ C. I._ J_ IL I_ J- K_ ,..
Detailed description
1 ) In addition to addresses A, B and C, up to 10 groups of arguments with 1, J, K serving as 1 group
can be assigned. (See *1)
2 ) When the same address is duplicated, assign the addresses in the specified order.
3 ) Addresses which do not need to be assigned can be omitted.
4 ) The following table shows the correspondence between the addresses which can be assigned by
argument assignment 11 and the vnriable numbers in the user macro main body.
Argument assignment Argument assignment
Variable within macro Variable within macro
11 address II address
A #1 J5 #17
R #2 K5 #U3
c #3 16 #19
11 #4 J6 #20
.J1 #5 K6 #21
K1 #6 17 #22
12 #7 J7 #23
J2 #8 K7 #24
K2 #9 18 #25
13 #lo J8 #26
J3 #11 K8 #27
K3 #12 19 #28
14 #13 J9 #29
J4 #14 K9 #30
K4 #15 110 #31
15 #16 J1O #32
K1O #33
NQTE 1: The subscripts 1 through 10 of I, J and K denote the sequence of the assigned groups and they
are not required for the actual instructions.
c. Using arguments assignments I and II together
If addresses corresponding to the same variable are assigned when both types I and II are used to
assign arguments, the latter address is valid.
.—r.. .,
Variable
#l: 1.1 --II
#2 :-2.2
#4: 4.4
#5:
#6:
#7: M ‘1
7.7
In the above example, the last 17.7 ar~ment is valid when both arguments D3.3 and 17.7 are assigned for
the #7 variable.
*1: Depending on the system, K1O (#33) of the tenth group, however, is ignored. (It is not ignored in the
V series.)
-185-
,., ,.,
!
G66PP1L11 <argument>; To s.tbpmgnm
: ,.C
:
, TOmainPIO~
I
G67;
k
When the block with a movement command is assigned between G66 and G67, the movement command
is first executed and then the assigned user macr~ subprogram is executed. The number of times the
subprogram is executed is U times for each call.
<argument> is the same as simple call.
t
Format : G66P_ L— <argument> ;
L No. of repetitions
I
~ Program no.
Detailed description
1 ) When the G66 command is entered, the specified user macro subprogram will be called after
the movement command in the block with the movement commands has been executed until the
the G67 (cancel) command is entered.
2 ) The G66 and G67 commands must be paired in the same program.
A program error will result when G67 is assigned without the G66 command.
,-
!.
-186-
13. PROGRAM SUPPORT .FUNCT70NS
13.7 USER MACROS
Main program
N1 C90 G54 GO XOY020
I
N2 G91 COO X-50. Y-50. 2-200. : Subprogram
N3 G66 P9010
N4 X-50. Y-so. :
R-10. Z-3 O. F1OO;
To subprogram after axin mmnand
I
Ii& been -ted
o 9010
INIO GOO Z *18 MO;
1
I
N5 x-so. ; 1 To s.tpv~ after axis command
hasbeenexecuted
N10
‘u N30
.Argwnent R
N20 ArgumentZ
( [E
ArgumentF
NKYF131: The subprogram is executed after the axis commands in the main program have been executed.
NOIT.? 2 The subprogram is not executed after the G67 block.
-’187-
13. PROGRAM SUPPORT FUNCHONS
13.7 USER MACROS
r
Format G66 .1 P_L_ <argument> ;
No. of repetitions
k Program no.
\
Detailed description
1 ) In the G66.1 mode, everything except the O, N and G codes in the various command blocks
which are read is handled as the argument without execution. tiy G code assigned last or any
N code assigned after anything except O and N will function as the argument.
2 ) The same applies as when G65P_ is assigned at the head of a block for all significant blocks in
the G66.1 mode.
(Example 1)
N1OOGO1 G90 X1OO.Y200. F400 R1OOO; in the G66.1 P1OOO; mode is the same a~
N1OOG65 P1OOOGO1 G90 X1OO.Y200. F400 R1OOO;.
NOTE 1: The call is performed even in the G66.1 command block in the G66.I mode, and the
correspondence between the argument address and the variable number is the same as for G65
(simple call).
3 ) The range of the G and N command values which can be used anew as variables in the G66.1
mode is subject to the restrictions applying to values as normal NC command values.
4 ) O, sequence numbers N and modal G codes are updated as modal information.
(4) G code macro call
User macro subprograms with prescribed program numbers can be called merely by assigning the G
code command.
f >
Format ~ : G x x <argument> ;
Detailed description
1) The above instruction functions in the same way as the instructions below, and parameters are
set for each G code to determine the correspondence with the instructions.
a. M98P AAAA ;
b. G65P AAAAA <argument> ;
c. G66P AMAA <argument> ;
d. G66.lP AAAAA <argument> ;
Assign the cancel command (G67) in the user macro or after the call code assignment in order
to cancel the modal call when a parameter corresponding to “c” or “d” above has been set.
2) The correspondence between the “XX’ which conducts the macro call and the program
number P AAAA of the macro to be called is set by parameter.
-188-
13. PROGRAM SU??PORTFUNCITONS
13.7 USER MACROS
3 ) Up to 10 G codes from G1OOto G255 can be used with this instruction. (GO1 to 99 can also be
used by machine parameter Gmac_P.)
NOTE 1: G1OI—G1IO and G200—G202 are user macro I codes. When thev. are set bv -,=.narameter as G
call codes, the G code calls take precedence and the codes cannot be used as user macro I codes.
4 ) These commands cannot be assigned in a user macro subprogram.- which has been called by a
G code.
/ .
Program example 09016
>~~ M99;
L“
(5) Miscellaneous command macro call {for M. S. T. B code macro calll
The user macro subprogram of the specified pro~am number can b: called merely by assigning an
M (or S, T, B) code. (Entered codes are covered by M codes; all codes are covered by S, T and B.)
Format : Mm ; (or Ss ;, Tt ;, Bb ;)
~ M (or S, T, B) code for macro call
Detailed description
1) The above instruction functions in the same way as the instructions below, and parameters are
set for each M code to determine the correspondence with the instructions. (Same applies for
S. T. B codes)
a; M98P d ;
M98 and Mm are not output.
b. G65P AAAA Mm ; }
c. G66P AAAA Mm ; ‘
d. G66,1P AAAA Mm ;
Assign the cancel command (G67) in the user macro or after the call code assignment in order
to cancel the modal call when a parameter corresponding to “c” or “d” above has been set.
2) The correspondence between the “Mm” which conducts the macro call and the program
number P AAAA of the macro to be called is set by parameter. Up to 10 M codes from MOOto
M95 can be entered.
Any code except the codes basically required by the machine and the MO, Ml, M2, M30 and
M96 — M99 codes can be entered.
3) As with M98, the display appears on the CRT screen of the setting and display unit but the M
cades and MF are not output.
4) Even if the miscellaneous command entered above is assigned during a user macro subprogram
called by the M code, macro call will not result and it will be handled as an ordinary
miscellaneous command.
5) All S, T or B codes call subprograms in the program numbers specifkl by the S, T or B
function.
6) Up to 10 M codes can be set. Set the parameters as follows when all 10 codes will not be used.
- 189-
13. PROGRAM SUPPORT FUNCl?ONS
13.7 USER MACROS
NOTE 1: When a G65, G66, G66.1 G code macro call or miscellaneous command macro call is conducted,
this is regarded as nesting level 1 and the level of the local variables is also incremented by one.
NOTE 2 The assigned user macro subprogram is called every time the movement command is executed
with modal call A. However, when the G66 command has been duplicated, the next user macro
subprogram is called every time an axis is moved even with movement commands in the macro.
Us~r m-acro subprogram; are called in sequence from the subprogram assigned last.
(Exande
. ., 1)
J
. Macro
ZZ3 ;
.After Z3 execution
) !
-190-
13. PROGRAM SU+??PORTFU?J’ONS
13.7 Uiwm MACROS
When the interrupt signal (UIT) is input, the movement being executed or dwell is suspended,
and the interrupt program is executed.
If there is a movement command or miscellaneous function command (MSTB) in the interrupt
program, the command in the block that was suspended will be lost, and the interrupt program
will be executed. Operation will continue from the block following the interrupt program.
If there is no movement command or miscellaneous function command (MSTB) in the
intemupt program, operation will be resumed and continue from the suspended block after
return from the interrupt program.
However, when an interrupt signal (UIT) is input while a miscellaneous function command
(M!M’B) is being executed, the NC system is set to the finish signal (FIN) status which means
that after tlm FIN input the movement or miscellaneous function command (MSTB) mmmand
will be executed.
[Ww 21
1) When the interrupt sigoal (UIT) is input, the interrupt program is executed without the
suspension of the command which is being executed.
2) If there is a movement command or miscellaneous function command (MSTB) in the interrupt
program, it will be executed afler the command in the block being executed is completed.
However, machining may be temporarily suspended if the interrupt program does not finish
even when the original block is finished.
Detailed description
1) User macro branch selection format
:
M96P_H_ ; (Branch mode ON)
:. When the user macro interrupt signal is input here,
operation is branched to the user macro sequence
:. ~m~dr~ the program number which is assigned by
.
M97 ; (Branch mode CWF) 1
.
:
2) A user macro interrupt can be processed even if the nesting level for the macro call when the
interrupt is generated is the maximum (level 4). The local variable level of the user macro used
with the interrupt will be the same as the user macro level when the interrupt was generated.
(This occurs when the “subprogram interrupt” control parameter has been selected.)
A program error results however, when the nesting exceeds 4 levels with the “subprogram
interrupt” cuntrol parameter OFF.
-191-
13. P..0GRAMSUPPORT Ft?NCTIONS
13.7 USER MACROS
Interrupt return
Interrupt branching (
/
Ifl
/ ;6P51OO;
1
[nterrupt GI X_;
Inter- GI Y_;
5 rupt
G65P
2100;
\
M97;
Yi
M99; M99; M99;
I I B !
I I
(Level 3) (Level 4) I
I
1
I
Local variables Local variables 1
I
1
I
u o I
I L.------—----J I
3 ) When modal information has been changed in an interrupt program, the information applying
after return from the interrupt program will be as follows.
a. With M99 ; return
The modal information changed in the interrupt program is made invalid and a return is made
to the modal information existing prior to the interrupt. However, when there is a movement
command or miscellaneous function command (MSTB) in the interrupt program, a return will
not be made to the modal information existing prior to the interrupt.
b. With M99P_ ; return
When modal information has been changed in an interrupt program, that information will
continue to be valid even after return from the interrupt program. This is the same as when a
return is made by M99P_; from a program called by the M98 or other such command.
4 ) Macro interrupts can be executed only during program execution (in automatic start); they have
no effed on manual operation.
-192-
—
13. PROGRAM SUPPORT FUNCITONS
13.7 USER MACROS
13.7.3 Variables
Both the variable specifications and user macro specifications are required for the variables which are used
with the user macros.
‘The offset amounts of all the local, common and system variables among the variables for this MELDAS
NC system except #33 are retained even when the system’s power is switched off. (Common variables can
also be cleared by the “COM-VAR PWR CL” control parameter.)
(1) Use of multiple variables
When the user macro specifications apply, variable numbers can be turned into variables (multiple
use of variables) or replaced by <formulae>.
Only one of the four basic arithmetic rule operations can be conducted with <formulae>.
(Example 1) Multiple use of variables
# 1 =10 #10=20 #20=30; [# [#l]]= # [#10] from #1 = 10.
# [#IO]= #20 from #10=20.
#5=# [#[#111 : Therefore, #5= #20 or #5 =30.
#l=#o ; “*””””.”””””s.””..”.”#
1 = <empty>
# 2 =# o + 1 ; ““”””””””””””””#
2= 1 It should be borne in mind that in an
arithmetic expression is handled in the
# 3 = 1 +* o ; ““”””””””””””””#
3= 1
same way as O.
#4=#o *lo; ““”””””””””””””#
4= o <empty> + <empty> = O
<empty> + <constant> = Constant
#5=#o+#o ; ““””””””””””i?
5= o <constant> + <empty> = Constant
2) Variable quotation
When undefined variables only are quoted, even the addresses themselves are ignored.
When #1 = <empty>
GOX #1 Y1OOO; .... Equivalent to GO Y1OOO;
GOX #1 + 10 Y1OOO; .... Equivalent to GO X1O Y1OOO;
- 193-
13. PROGRAM SVPPORTFUNCTIONS
13.7 USER MACROS
3 ) Conditional expressions
<Empty> and O are not equivalent for EQ and NE only. (#O signifies <empty>.)
Left side
Constant Empty Constant Empty Constant Empty Constant Empty Constant Empty constant
memk
Empty Eat. Eat. Eat. Eat. EM.
Constant Eat. Eat. Eat.
,,-
. 194 ‘:
13. PROGRAM SUPPORT FUNC~ONS
13.7 USER MACROS
The following table shows the correspondences between the addresses assigned by <argument> and
the local variable numbers used in the user macro main bodies.
Call command Call command
Argument Local variable Argument Local variable
G65 G65
(366.1 address number G66.1 address number
G66 G66
o 0 A #1 o 0 Q #17
o 0 B #2 o 0 R #18
o Q c #3 o 0 s #19
o 0 D #7 o 0 T #20
o Q E #8 o 0 u #21
o 0 F #9 o 0 v #22
x X* G #lo o 0 w #23
o 0 H #11 o 0 x #24
o 0 I #4 o 0 Y #25
o 0 J #5 o 0 z #26
o 0 K #6 — #27
x x* L #12 . #28
o 0 M #13 — #29
x X* N #14 . #30
x x o #15 — #31
x X* P #16 — #32
— #33
“X” in the above table denotes an argument address which cannot be used. However, provided that the
G66,1 mode has been established, an argument address denoted by the asterisk can be added for use.
<d–“ denotes that a corresponding address is not available.
- 195-
13. PROGRAM SUPPORT FUNC170NS
13.7 USER MACROS
MOZ; M99;
Y*5:
~ X-ul ;
Y*5:
M99;
in
fxlcalValiabks
mbpmgmm canbe
Local variablesset by argument changed.
Localvarinbledata table
7
F (*9) 500
(*30) . 3
-196-
13. PROGRAM SUPPORT FUNCITONS
13.7 USER MACROS
In the example of face milling given, argument J has been programmed with a milling Ditch of
10. mm but this is chrmged to 8.333 mm in order to provide in equal interval pitch. - -
In addition, the calculation results of the number of return machining passes is entered into
local variable #30.
3 ) Local variables can be used independently on each of the macro calls levels (4 levels),
Local variables are also provided independently for the main program (macro level O).
Arguments cannot be used for the level O local variables.
Main (level O) 01 (macro level 1) 010 (macro level 2) 0100 (macro level 3)
*1=0.1 $t2=o.2
#3=o.3;
5. \ {
G6S PIA1.B2.C3.; (X5P1OA1O.
B21CM.; G65P1WAKD. B200.:
$ < \
! \“
Mm M99 ; M%; MW ;
Local variables (0) Imcal variables (1) ha] variables (2) hat variables (3)
*1 0.100 A(#l)l .000 A(#l) 10.000 A(*l)loo. ooo
*2 0.200
B(*2) 2. 000 B(#2) 20. Ooo B (*2)200.000
*3 0.300
C(*3) 3. 000 C(*3) 30. 000 c (*3)
D (*7) D (#7)
/ ( !
Z (#26) Z (*26) Z (#26)
) ) ) )
*32 *32 *32 #32
The statuses of the local variables appear on the setting and display unit.
For details, refer to the Operating Instructions as well as to the sections covering the oDeration
*
of the setting and display ‘unit an~ the local variables.
- 197-
,,
(3)
., Macro interface inrmts (#1000 – #1035)
A. ,
The status of the interface input signals can be ascertained by reading out the values of variable
numbers 1000 through 1035. A variable value which has been read out can be only one of 2 value~
1 or O (1: contact closed, O: contact open). All the input signals from #1000 through #1031 can be
read at once by reading out the value of variable number 1032. Variable numbers #1000 through
#1035 are for readout only, and nothing can be placed in the left side member of their arithmetic
formulae.
No. of No. of
System variable Interface input signal System variable Interface input signal
points points
#looo 1 Register R72 bit O #1016 1 Register R73 bit O
#lool 1 Register R72 bit 1 #lo17 1 Register R73 bit 1
#loo2 1 Register R72 bit 2 #1018 1 Register R73 bit 2
#loo3 1 Register R72 bit 3 #lo19 1 Register R73 bit 3
#loo4 1 Register R72 bit 4 #lo20 1 Register R73 bit 4
#loo5 1 Register R72 bit 5 #lo21 1 Register R73 bit 5
#1006 1 Register R72 bit 6 #lo22 1 Register R73 bit 6
#loo7 1 Register R72 bit 7 #1023 1 Register R73 bit 7
#1008 1 Register R72 bit 8 #1024 1 Register R73 bit 8
#loo9 1 Register R72 bit 9 #1025 1 Register R73 bit 9
#lolo 1 Register R72 bit 10 #1026 1 Register R73 bit 10
#loll 1 Register R72 bit 11 #1027 1 Register R73 bit 11
#lo12 1 Register R72 bit 12 #1028 1 Register R73 bit 12
#lo13 1 Register R72 bit 13 #1029 1 Register R73 bit 13
#lo14 1 Register R72 bit 14 #lo30 1 Register R73 bit 14
#lo15 1 Register R72 bit 15 #lo31 1 Register R73 bit 15
No. of
System variable Interface input signal
points
~
(. 4 ). Macro interface outuuts (#1100 – #1135’)
The interface outpu~ signals can be sent by substituting values in variable numbers 1100 through
1135. The output signals are O or 1.
All the output signals from #1100 through #1131 can be sent at once by substituting a value in
variable number 1132. (2° — 231)
The status of the writing and output signals can be read in order to offset the #1100 through #1135
output signals. “Output” in this context refers to output from the NC system.
- 198-
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACROS
No. of No. of
$ystem variable Interfaee input signal lystem variable Interfaee input signal
points points
#lloo 1 Register R172 bit O #1116 1 Register R173 bit O
#llol 1 Register R172 bit 1 #1117 1 Register R173 bit 1
#llo2 1 Register IU72 bit 2 #1118 1 ‘Register R173 bit 2
#llo3 1 Register IU72 bit 3 #1119 1 Register R173 bit 3
#llo4 1 Register R172 bit 4 #l120 1 Register R173 bit 4
#llo5 1 Register IU72 bit 5 #1121 1 Register R173 bit 5
#llo6 1 Register R172 bit 6 #1122 1 Register R173 bit 6
#llo7 1 Register IU72 bit 7 #1123 1 Register R173 bit 7
#1108 1 Register R172 bit 8 #1124 1 Register R173 bit 8
#llo9 1 Register R172 bit 9 #1125 1 Register R173 bit 9
#lllo 1 Register R172 bit 10 #1126 1 Register R173 bit 10
#lIll 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 #l130 1 Register R173 bit 14
#1115 1 Register R172 bit 15 #1131 1 Register R173 bit 15
NOTE L The last value of the system variables #1100 through #1135 sent is retained as 1 or O.
(N is not cleared even when the Dower is switched on and off or reset.)
FUME 2: The following applies when any ~umber except 1 or Ois substituted into’ #1100 through #1131.
<Empty> is treated as O.
Any number except <Empty> and O is treated as 1.
Any value less than 0.00000001 is indefinite.
-199-
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACROS
+1-
-11-
-lt--
o 9
* e
●
--lgt--
--it-
---H--
---il--
S2 bi 32 bit
D-c 2K3
WC ala
ala
-200-
13. PROGRAM SU.PORTFUNCTIONS
13.7 USER MACROS
Tool data can be read and values substituted using the variable numbers.
The numbers in either the #10000 order or #2000 order can be used.
‘The last 3 digits of the variable numbers correspond to the tool offset number.
The tool offset data is configured as data with a decimal point in the same way as for other variables.
Consequently, this decimal point must be assigned when data below the decimal point is to be
entered.
Programming example Common variables Tool offset data
NOTE In this exam~le. no consideration is tiven to the delav in the skip sensor simud.
#5003 is th~ 2-axis start point pos~ion whereas #~063 is the’ Z-axis ski; coordinates, and it
indicates the position at which the skip signal is input while G31 is being executed.
-201 -
., ,
Axis no.
Axis 1 Axis 2 Axis 3 AxiS 6 Remarks
Coordinates name \
External External work offset specifications
#5201 #5202 #5203 #5206
work offset )) are required.
G54 #5221 #5222 #5223 // #5226
G55 #5241 #5242 #5243 #5246
G56 #5261 #5262 #5263 1) #5266
G57 #5281 #5282 #5283 #5286
G58 #5301 #5302 #5303 {( #5306
G59 #5321 #5322 #5323 #5326
(Example 1)
N1 GZS XOYOZO:
N2 a5z 21=-20. s5222=-20. ;
N3 G90 COO G54 XO YO;
-10.
-20.
5
NIO *S221=- 90. *5222 =-1O. ;
1
El
Nll C90 COO G.54 XOYO:
G54 work coor-
f dinate system
defined by N1O
M
M02: , defined by N2 ,
5
_..m----&’ ~
I
Coordinate I / I
W2 (G5S) 1
.!ystem be- )+
fore change ~ WI (GS4) I
I
N1OO #5221 =*5221 +#S 201:
I I
*S2’22= *S222+U5202; L ———— -——- ---—- t -—— —--- . J
This is an example where the external work offset values are added to the work coordinate (G54,
G55) system offset values without changing the position of the work coordinate system.
-202-
13. PROGRAM SUPPQRT.FUNC7TONS
13.7 USER M’/iCl? 0s
\
IF [*l NE Olco’ro 100:
‘,,.,,.,,=
#~=70(cALL*PRoG RAMMER *TEL*wi ;
Nloo
$ ‘=
IWJTE 1: Alarm number O is not displayed and any number exceeding 9999 cannot be indicated.
NOTE 2 The characters following the first alphanumeric in the right member is treated as the alarm
message. Therefore, a number cannot be assigaed as the first character of an alarm message. It
is recommended that the akwrn messages be enclosed in round ( ) parentheses.
-203-
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACROS
The integrating run time returns to zero in about 2.44x 1011 seconds (approximately 7.7 years).
09010
#3001=o;
\ wH1LE[#3 00 1LE*20]DOI ;
G65P90 1 OT(W*~~e)msec; f
\ D
To subprogmm
J
\
END] ;
M99;
I Local variable
lEntered in local ~ Allowable time oortion: DO1-ENDI is repeated
+’*’O — I
and when allow~ble time is =ched, oper&ions
jumps to M99.
( 9 ) Suppression of single block stop and miscellaneous function finish signal waiting
By substituting the values below in variable number 3003, it is possible to suppress single block stop
in the subsequent blocks or to advance to the next block without waiting for the miscellaneous
function (M, S, T, B) finish (FIN) signal.
-204-
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACROS
L_ Message
I
The message should not be longer than 31 characters and it should be enclosed within round
( ) parentheses.
(12 )Mirror image
By reading variable number 3007, it is possible to ascerttin the status of mirror image at a particular
point in time for each axis.
The axes correspond to the bits of #3007.
When the bits are O, it means that the mirror image function is not va[id
when they are 1, it means that it is valid.
#3007
Bit 15 14 13 12 11 10 9 8 7 (j 5 4 3 2 1 ()
nth axis 6 5 4 3 2 1
-205-
., ,,
Variable number
Function
Pre-read block Execution block
Interpolation mode: GOCkO, GOl: 1, G02: 1, G03: 3, G33: 33
#4001 #4201
G2.1: 2.1, G3.1: 3.1
#40i)2 #4202 Plane selection: G17: 17, Gl& 18, G19: 19
#4003 #4203 Absolute/incremental: G90: 90, G91: 91
#4004 #4204 Program soft limit: G22: 22, G23: 23
#4005 #4205 Feed assignment: G94 94, G95: 95
#4006 #4206 Inch/metric conversion: G20: 20, G21: 21
#4007 #4207 Cutter compensation: G40: 40, G41: 41, G42: 42
#4008 #4208 Tool length offset: G43: 43, G44: 44, G49: 49
Canned cycle: G80 80, G73 – 74:73 – 74, G76 76,
#4009 #4209
G81 – G89: 81 – 89
#4010 #4210 Return level: G9tk 98, G99 99
#401 1 #4211 Scaling G50: 50, G51: 51
#4012 #4212 Work coordinate system: G54 – G59: 54 – 59
#4013 #4213 Acceleration/deceleration: G61 – G64 61 – 64
#4014 #4214 Macro modal call: G66 66, G66.1: 66.1, G67: 67
#4015 #4215 Normal line control: G40.1: 40.1, G41.1: 41.1, G42.1: 42.1
#4016 #4216 Coordinate rotation: G68 68, G69 69
#4017 #4217 Constant peripheral speed control: G96: 96, G97: 97
#4018 #4218
#4019 #4219 Mirror image: G50.1: 50.1, G51.1: 51.1
#4020 #4220
#4021 #4221
(Example)
G28XOYOZO;
G90G 1 X1OO.F1OOO;
G91 G65P 3OOX1OO.
Y1OO. ;
M02 ;
0300 ;
#l=#4003; .- Group 3 G modal (pre-read) #1 = 91.O
# 2 =#4203 ; ~ Group 3 G modal (now being executed) #2 =90.0
G#l X#24Y#25;
M!39;
%
-206-
13. PROGRAM SIJPPORTFUNCTIONS
13.7 USER MACROS
I!?QTE 1: The number of axes which can be controlled differs according to the NC system specifications.
NOTE A The value equivalent to the G45 – G48 position offset amount only serves for the tool position
offset position.
-207-
,,
====)Ft
nates and skip coordinates are the po-
sitions in the work coordinate system.
2 ) The end point coordinates, skip coordi-
nates and servo deviation amounts can
Q be read even during movement. How-
GQ ever, it must first be checked that
movement has stopped before reading
GO1
the machine coordinates, work coordi-
nates, and the tool position offset posi-
tion.
d’”
cEnd point
coordinates ,
I 1
i $X1 Work
“coordinates Read
: command Gauge, etc.
Work coordi-
nate system
- q -\
Machine 4 ‘io I
Machine coordi- M coordinate Skip coordinates
nate system d’
3 ) The position where the skip signal is turned ON in the G31 block is indicated for the skip
coordinates. The end point position is indicated when the skip signal has not been turned ON.
(For further details, refer to the section on tool length measurement.)
4 ) The tool nose msition
. where the tool offset and other such factors are not considered is
‘ indicated as the end point position. The tool reference point position with consideration given
to tool offset is indicated for the machine coordinates, work coordinates and skip coordinates.
Skip signal
\
7 \
The position of the skip signal input coordinates is the position in the work coordinate system.
The coordinates in variable numbers #5061 through #5066 memorize the moments when the
skip input signal during movement was input and so they can be read at any subsequent time.
For further details, reference should be made to the section on the skip function.
-208-
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACR 0s
Nl *1ao=*4003;
x(#24)loo.000 !JZ #30se5001 *31=*5002:
Main program
Y(*25)100. OOO ?43 G91 GOl z@2S P@9:
Z(*26)-10. OOO N4 c21 X*Z4 Y#ZS F#9:
N5 C90 COO XS30 YIr31:
Skip input
m :::::::
I
Start point N4 *102
N3 *Iiui
z ~s \
LA
Y -25-87.7
L x
m
-209-
,, >, .4. , ::,.,.,.,
“d’ is the error caused by the response delay. (For further details, refer to the section on the skip
function.)
#122 is the N4 skip signal input coordinates since there is no Y command in N7.
(16 ) Variable name setting and quotation
Any name (variable name) can be given to common variables from #500 to #519. It must be
composed of not more than 7 alphanumerics and it must begin with a letter.
Command format
( 7
SE TVNn [NAME1 ,NAME2 ,“”””””] ;
“Zz:i::;i:
[COM-VAR] .
*500 –12345.678 A 234567
*501 5670.000 KYORI
X502 –156.500 TOOL 25
COM-VAR #(502)~ATA(-153,5)NAM@TOOL25)
~
(17 ) Parameters
-210-
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACROS
% d
NOTE 3: The <formula> after a function must be enclosed in square [ ] parentheses.
-211 -
13. PROGRAM SUPPORT FUNC1l’ONS
13.7 USER MACROS
,.. .
-212-
13. PROGRAM 5’UPPORTFUNCT?ONS
13.7 USERM-A(X? 0s
-213-
13. PROGRAM SUPPORT FUNCTIONS
13.7 USER MACROS
-214-
13. PROGRAM SV?!PORTFUNC7TONS
13.7 USER MAC%! $9$
-215 -
13. PROGRAM SUPPORTIWN~ONS
13.7 USER MACROS
-216-
13. PROGRAM StlPPO.RTFUNCITONS
13.7 USER MACROS
,.. ------,
!
N1O
IFC*2
1
#22=*20
EQ1IGOTO1OO;
*23=*21:
Branching to N1OO
u: I
#
1
1
$$22=*20-*3: when contents of #2 is 1 Branch Brancl
t
*
-h senrch 8
*23=*21-*4; 1
1
( Wtlh 1
10 N1O 1
N1OO X*22 Y# 23:
I
*1=*1+1:
TO 1
head 1
1
I
1
1
‘[ [: I
%-.. -..’
NOTE When the sequence number of the branch destination is searched, the search will be conducted
from the block following IF .... ; as far as the program end (% code). If the number cannot be
found, then the head of the program to the block before IF ... . will be searched. Therefore, branch
searches in the opposite direction to the program flow will take longer to execute compared with
branch searches in the forward direction.
-217-
13. PROGRAM SUPPORT FUNCHONS
13.7 USER MACROS
(2) Repeat
END m;
\ I
While the conditional expression is satisfied, the next block to ENDm block is repeatedly executed;
when it is not satisfied, the block after ENDm is executed. DOm may come before WHILE.
WHILE [ecmditional expression] DOm and ENDm must be used as a pair. If WHILE [conditional
expression] is omitted, these blocks will be repeated as infinitum. The repeat identification numbers
range from 1 through 127. (DO1, D02, D03, .... D0127) Up to 27 nesting levels can be used.
WHILE-DO 1 ; m
1
Possible ~WHILE-D03 ; 1
1
I 1
t I
END1 ; ~ENDs ;
u ----- --- J
Possible I
~ WHILE-D02 ; 1
1/ I
WHILE-DO1 ; 1
~END2
----- ; --- ~
Possible i
~ WHILE-DO1 ; a
END 1 ; t i I
u ~ENDI ; J
----- ---
~ Up-to 27 nesting levels for WNILE ~ DOm- @Thcl%~mJer of WNILE – DOm nesting levels cannot
“m” is any number from 1 to 127 for the nesting depth.
-218-
13. PROGRAM SVPPORTFVNCTIONS
L?. 7 USER MACR 0s
~ ~ILE – DOm must be assigned first and ENDm @ WHILE – DGm and ENDm must Correspxid on a M
(@ring) basis in the sameprogram,
r- WHI}E-DO1 : --n
I !
~-END 1 ;----T i t
t I
\
Not pcsaible ~- WHILE-DO 1 ; ‘-~
I I
I \
t~ ENK)lj ---- ;
------
b TWOWWIfLE – DOm’s must not overlap. %!)Branching externally is pcssible from the WHfLE – DOm
range.
WifILE-DO I ;
r WHILE-DO I ;
H
\ 1
p-elm
Not pcsible WHILE-.DO2 : ,
I
I
\ I
END1
----,--- . -_!
I
\ I
END2 : L-Nn
~ No branching is possible inside WHILE – DOm. ms can be called by M98, G65 or G66 between
0 %&%%?– DOm’s.
Lw
WHILE--DOD 2:
~ WHILE--DO:
Possible C65
I Ploo.
I \
m“~m III END2 ;
[ No
!IOt
ENO I ;
~ssible ~ \
M02: M99;
~ Macro calls can be initiated by G65 or G66 between DA pro~m error results with M99 unless WHILE and END
WHILE – DOm’s and commands can be issued are paned within the subprograms (including macm subpro-
again from 1. IJp to 27 nesting levels are possible for grams).
the main program and subprograms.
h%
(
Ploo; ti
Possible G63 To mJL&ogram
Ploo: \ \
\ ‘r. subpl’ogra
!2~D1 : END 1 : M02; I
I
!
! \
1.- Don~ndn co&ti~tes
M02 M99: illegal usage.
NQ’I’Ik Canned cycles G73 and G83 as well as special canned cycle G34 use WHILE, and so are not added
to the nesting levels.
-219-
13. PROGRAM SUPPORT FVNC’HONS
13.7 USER MACROS
e >
I
I I
BPRNT K)PRNT .... ..... Data output
commands
I I
[
....... ..... Close command
-220-
13. PROGRAM SUPPORT FUiVCITONS
13.7 USER MACROS
~ch~acterstring
I ! Variable number
Necessary number of digits ) Variable v~ue x 10C1
below decimal point
Detailed description
1 ) This provides the character output and binary output of the variable values.
2 ) The assigned character string is output as is by the 1S0 code.
Alphanumerics (A – Z, O – 9) and special characters (+, -, *,/) can be used.”x” is output
as the space code.
3 ) All variables are stored with decimal points and so the number of digits required below the
decimal point is assigned inside square [ ] parentheses. The variable values are handled as
4-byte (32-bit) data and they are output as binary data from the high-order bits. Minus (–) data
is handled as the complement.
(Example 1) If 3 digits are specified for 12.3456, the fourth decimal place will be rounded up and the
following will be output as binary data
[12.346 X Id] = 12346 (OOO0303A)
(Example 2) If O digits are specified with -100.0, the following will be output as binary data:
-1oo (FFFFFF9C)
4 ) After the specified data has been output, the EOB code is output as 1S0 code.
5 ) M <empty> variable is treated as zero.
(5) Data output command: DPRNT
Command format
‘-;%;:,,, C-t-dSifl
decimal point
Detailed description
1 ) The character output and variable value decimal output are conducted by 1S0 codes.
2 ) The assigned character strings are output as they are by 1S0 codes.
Alphanumerics (A – Z, O – 9) and special characters (+, -, *,/) can be used.
3 ) The required digits above and below the decimal point in the variable values are assigned within
square [ ] parentheses. As a result, the variable values in digits equivalent to the number of
digits assigned in decimal notation from the high-order digits including the decimal point are
output in 1S0 code. Trailing zeros are not omitted.
4 ) Leading zeros are omitted.
Spaces can be output instead of the omitted leading zeros by setting the “mparaml” basic
machine parameter. The last line of the data output to the printer can be aligned.
-221 -
13. PROGRAM SUPPORT FUN~ONS
13.7 USER MACROS
13.7.8 Checkpoints
(1) When the user macro commands are employed, it is possible to use the MST and other NC control
. .
commands together with the arithmetic, dwision, branching and other macro commands ror
preparing the machining programs. When the former commands are made into NC executable
statements and the latter commands into macro statements, the macro statement processing should
be accomplished as soon as possible in order to minimize the machining time, because such
processing is not directly related to machine control.
As a result, the parameter (“macro single” on the parameter screen) can be decided upon and the
macro statements can be processed in parallel with the execution of the NC executable statement.
(The parameter can be set OFF during normal machining to process all the macro statements
together or set ON during a program check to execute the macro statements block by block. This
enables the setting to be made iri accordance with the intended objective in mind.)
/ \
Example of program
N1 C91G28XOYOZO;
t42 C92XOYOZO;
N3 COOX-1OO.Y- IOO.:
N4 slo]=lOO. XCOS(21 O.];
- Macro statement
N5 *102= 100. XSINC210,);
J
N6 GO1XSIOIYS1O2F8OO:
L J
Macro statements are
1. Arithmetic commands (blocks including =)
2. Control commands (blocks including GOTO, DO – END, etc.)
3. Macro call commands (including macro calls based on G codes and cancel commands (G65.
G66. G66.1, G67))
NC statements are all the statements which are not macro statements.
Flow of processing
Program analysis
Nlm N2 t&~&&
&
Macro statement pmeessing t 8 I
t i t N4 NS 1 I
a
NC statement processing it I 1 i
! ! N2 , IN ~ I N6 I N7
, J I
Next command block II I
; N1 !N2; N3 I N6
Blodk being exeeuted i
Program analysi8
N1 N2 ~x3 N4 N5 N6 N7
,
Macro statement processing ; i 1 I I I
I 1 eN4 I ~N5 ; I
II
II # 8 t II
NC statement processing I N2 1N3 I N6 b I t N7
Next command block . 4
8 tN2:
I I
I
N1 N3 A NG
Block being execyted ! , i
-222 -
13. PROGRAM SUPPORT FVNCTJ?ONS “
13.7 USER MACROS
-223-
13. PROGRAM SUPPORT FUNCITONS
13.7 USER MACROS
SIN#) ,
a 1 : kitia] value @
b I ; Final value 360°
C 1; Rof R* SINr9
f 1: Feedrate
*E *1=0
WHILE C*1LE*2]D01:
*101=*2* SlNC*ll
G90Gol X#l
*1=*1 +1O. ;
Y#10F#9:
:
}
NOTE
ENDI;
Mal variable *2=360. 000
M99;
*3=100. 000
-224-
13. PROGRAM SUPPORT FUNC7TONS
13.7 USER MACROS
a.
h
-x x1
1 w
Main program a 1 ; Start angle
b 1 : No.Of holes
I
Fs
r I ; RadiW I al
x 1 ; X-axis center – !-7- ‘- ‘1
position
y 1 ; y~s @nt~t.
position -Y
w
~lol=o; o+ #loi # 101 = Hole number count
tl.f12=#4003; G90,G91mode
*103= *5 OO1; NOTE 1 Read .+* I 02 #] 0z=G900r G91
kt104=*5002: Leadingof coordinate
mnediatetybefore
KI1l=*I; x -*103 # 103 = X-axis pnxsent position
1 Y +$$ 104 # 104 = Y-axis present position
WHILE f*101LT*2)D01: hart angle - #11 1 * 1 11 = Start angle
#122= t$120-*103;
NOTE 1 Radius *SIN [#ill] * 12 I =Hole position Y
$!123=$$12 I-*104; \ + cmrtercoordinateY coordinate
I + #121 I
$t103=$$120 #120 4*122 $$122 = X-axis absolute value
NOTE 1 #121 -*123 # I 23 = Y-axis abaolute value
*104=*121 }
1
-225-
13. PROGRAM SUPPORT FUNC?70NS
13.7 USER MACROS
G28 XO YO ZO
T] M06; -x -500.
G90 (243 Z.1OO. HOI; I
!
5
-J
I -Y
i
(Example 3) Grid
The macro call is assigned as the hole position command after the hole data has been defined with the
canned cycle (G72 — G89).
?
G28 XO YO .ZO:
TI M06;
G90 G43 ZICKr.HOI;
GS4 Gal Xo Yo;
G81Z-1OO.
( R3. Fl@I LO M03;
G65P8930 XO YO I -100. J -75. A5B3;
,9
(
subprogram
G64 Z-9J. it3. F250 MCG;
G65P8830 XO 1-100. J-75. A5B3 ;
.-
(
subprogram
1 1-
-226-
13. PROGRAM SUPPORT FUNCITONS
13.7 USER MACROS
09930
g ~ 30 (subprogram) r 1
start point x
caerdinate X,-41OI #lol==x-*st~Po~t
#101 -=#24: stall intY y,-9#lo2 #l 02-Y-axise.faItpoint
cm J’”mate
#lo2-#25; X-axkiatewal iI+*l~3 #1 03=xd~iOn~te~a
#1 ot=yd~lon~ter+’a
#1 0t3-YdireciiOnhdeno,
#lo3-#4: NOTE 1
5#loft=#5:
#lo6-#2:
Yd@ctiondrilling
finish check
WIIILE[# i06GTO]DOl: Y
05 GTfl? D02:
#l ol=J#lol+#lo3:
NOTE 1 Positionin& drilling
#lo5=-#lo5-1: 1
X coordinate update
E!’JD2 :
1
X direction hole
1 #io5-l+#lo5 I number -1
#l ol=#lol-#lo3:
#102=#102+#104:
NOTE 1
#lo3--#lll3:
#lo6==#lo’6-1:
ENDI :
M99:
KYI’EkTh
e processing time canbe
shortened by. single-block
reduction in the programming. I
-227-
,, .,,
. ,,.. .,
... ,.
-228-
13. PROGRAM SUPPORT FUNCiVONS
13.8 USER MACROS I (G1OI – G11O, G200 – G2112)
-229-
13. PROGRAM SUPPORT IWNCl?ONS
13.8 USER MACROS I (GlOl – GllO, G200 – G202j
(Example 1)
!:
. ,’
,., .,
.,,.
. ,,. ,
-230-
13. PROGRAM SUPPORT FU!NCWONS
13.8 USER MACR 0s I (Glol – Gllo. G200 – G2t72)
NfYlT2 1. ‘I’he sequence numbers must be in the subprogram of the same program number. A program
error (R231) will result wlmn branching occurs when the assignment of a sequence number not
included in the subprogram of the same program number.
2. Assign decision branching instructions in an independent block.
3. Addresses A, R and C can be arranged in any order.
4. Ikeimal paints are provided in each case with address A, B and C arguments.
5. Always assign codes G200 – G202 ahead of addresses A, B and C.
6. When codes G200 – G202 are used, the subprogram nesting count and number of local
variable nesting levels iricrease.
-231 -
13. PROGRAM SUPPORT NNCTIONS
13.8 USER MACROS I (GlOl – G11O, G200 – G202)
0 o
-232-
13. PROGRAM SUPPORT FUNCTIONS
13.9 SCALING @50, G51)
,,,
-233-
13. PROGRAM SUPPORT FUN~ONS
13.9 SCALING (G50, G51)
Scaling magnification: ~
Programmed shape
I
Scaling center
When the magnification has not been assigned in the same block as G51, the magnification set by the
parameter is used. However, this will not be valid in the scaling mode even if the parameter setting
is changed.
Only the value set when G51 was assigned is valid. When the magnification has not been assigned for
both the program and parameter, it is calculated as x 1.
A program error will result in the following cases.
o P350 when scaling has been assigned even though the scaling specifications are not available
e P35 when the upper limit of the magnification command range has been exceeded in the same
block as G51
(This is calculated as x 1 when it is less than 0.000001.)
(2) Scaling cancel
The scaling cancel mode is subsequently established when the G50 command is assigned.
(3) Checkpoints
1 ) Scaling does not apply to the cutter compensation, tool length offset, tool position offset and
other such offset amounts. (Offset is provided and calculated for shapes after scaling.)
2 ) Scaling is valid only for movement commands in the automatic operation mode (tape, memory
or MDI). It is not valid for manual movements.
3 ) The position display indicates the coordinates after scaling has been applied.
4 ) Scaling applies to all movements in the automatic operation mode undertaken by the scaling
valid axes (axes for which the center has been assigned by the G51 command).
5 ) Scaling applies with arc commands for the two axes configuring the arc plane even when only
one axis is a scaling valid axis.
6 ) The cancel mode i~established when the M02, M30 or MOOcommand (only with MO resetting)
is assigned in the scaling mode.
It is also canceled by the reset button (including external reset) when reset initial is selected.
7 ) The decimal points are valid only after the scaling command (G51) for the scaling magnification
P data.
G51 pO.5 ; ............... X 0.5
PO.5 G51 ; ............... x 1 (P is treated as O)
P500000G51 ; ........ X 0.5
G51 p500000 ; ........ X 0.5
8) The scaling center also shifts by the difference amount when the coordinate system is shifted
(G92, G52 commands) during waling.
9) When operation is manually interrupted during scaling, the manual ABS switch selection is
ignored and the same movement results as when the manual ABS switch is at the OPF position.
-234-
13. PROGRAM SUPPORT FUNCTIONS
13.9 SCALING (G50, G51)
-235-
,,. ,
NOI G92 XO YO ;
N02 G90 G51 - See (1) through (4) below.
Po. 5 ; ““””””””””””
N03 GOO X–50000 Y–50000 ;
N04 GOI X – 150000 F 1000;
N05 Y–150000 ;
N06 X–50000 ;
N07 Y –50000 :
N08 GOO G50 ;
N09 M02 ;
Y
b
-236-
13. PROGRAM SUPPORT FUNCIYONS
13.9 SCALING [G5’0. G51j
Y
-250. - m. -150. -125. -100. – 50.
Q --150.
-237-
13. PROGRAM SUPPORT FViVCTIONS
13.9 SCALING (G50, G51)
--
—-+”” r i 50.
-— . .- —-—
--
Scaling center
If the program calls for reference point arrival when sealing is not applied, the tool will arrive at the
reference point even if scaling is applied.
-238-
13. PROGRAM SUPPORT FUN’’ONS
13.9 SCALING (G50. G51 )
(5) Reference (zero) point return commands (G28, G29, G30) during scaling
When the G28 or G30 command for reference point return is assigned during scaling, scaling will be
canceled at the intermediate point and reference point return will be performed. Reference point
return will still be performed with’ the point where scaling is canceled serving as the intermediate
point even when there is no intermediate tmint.
men the G29 command is assigned dur(ng scaling, scaling is applied to the movements after the
intermediate point.
Sealing center I
-239-
,,. ,,:,
Y
A
–150. –loo. -50.
Creep amount.
In sealing
Scaling center I
-240-
13. PROGRAM SUPPORT FUNC7TONS
13.9 SCALING (G50, G51)
(i
d/ I
c’
I
W2
-241-
13. PROGRAM SUPPORT FUNCTIONS
13.9 SCALING (G50, G51)
-242-
13. PROGRAM S17PPORTFUNCT10NS
13.9 SCALING (_G50, G51]
Machining
program
r scaIing
-243-
,.
Y
-2.)0. -150. - la). –50.
x
Machining program
- -w.
I
I
I
- - 1(N).
Shift in sealing”
center due to
coordinate
rotation - –150.
Coordinate rotation
-244-
13. PROGRAM SVPPORTFUNC170NS
13.9 SCALING (G50. G51J
- -50.
- - Km.
Machining
program
I
I - -150.
I
I
I
1
1
I 1 - -m.
I 1
——— ———— —
-245-
.,, ,,
I
L .-.
< ,
‘\
.
x
Mirror image axis
-246-
13. PROGRAM SUPPORT FWCTIONS
13.10 G COMMAND MIRROR IMAGE (G50.1, G5LI)
3) When mirror image is applied to only one axis in the ~signed plane, the rotation direction or
offset direetion is reversed for arc or cutter compensation and coordinate rotation.
4) These functions are processed on the local coordinate system and so the mirror image center
will be moved by counter presetting or by any change in the work coordinates.
5) Zero point return during mirror image
‘when a zero point return command (G28 or G30) has been executed during mirror image, the
mirror image is valid for operations up to the intermediate point but not for operations from the
intermediate point to the ‘zero point.
-247-
.,,
fi;~~en5atio
Lwhe:=:
only is applied
Mirror axis
When mirror image only is applied
#
~ Original shape ~ When scaling and mirror image
Mirror image center are aPplid
/
L men ding is applied
The same path is traced as that when mirror image has been applied to the scaling center as
-248-
13. PROGRAM SUPPORT FUNCTIONS
13.11 CORNER CHAMFERING, CORNER RI
Chamferingstart point
1Iw. u
Xaxis
6 *
Xloo.o
-249-
13. PROGRAM SUPPORT FUNCTIONS
13.11 CORNER CHAMFERING, CORNER RI
OG91GO1X1OO., R1O. ;
@xloo.
— Yloo. :
b
Yaxis
Corner rounding
end point
Corner rounding T
start point Ylcn.o
@ v
A\ ~xaxis
< +
Xloo.o x 100.0
-250 -
,
13. PROGRAM StJPPORTFUNC170NS
13.12 LINEAR ANGLE COMMAND
Xj
(x,. y,)
xl
N1
X9
(X1, Y:)
L
-Y
( 3 ) Detailed description
1) ‘I’he angti is from the first axis (horizontal axis) + direction in the selected plane. The
counterclockwise (CCW) direction is considered to be + and the clockwise direction (CW) -.
2) Either of the axes in the selected plane is assigned for the end point.
3) ‘I’he angle is ignored when the angle and the coordinates of both axes are assigned.
4) when only the angle has been assigned, this is treated as a geometric command.
5) The angle can be used as either the start or end point arigle.
6) The function cannot be used when address A is used for the axis name or as the second
miscellaneous function.
7) This function is valid only for the GOl command; it is invalid for other interpolation and
positioning commands.
,,
-251-
13. PROGRAM SUPPORT FUNCHONS
13.13 GEOMETRIC COMMAND
N1
-252-
13. PROGRAM SU.l?PORTFUNC170N$
13.13 GEOMETRIC COMMAND
(Example 1) (x:.Y,)
L
NI Aal, Cc I ;
N2Xx~YY~A a:; N2
al
(Example 2)
.-. .
CL
NIA aI, Krt; N2
N2Xxt YY~Aa:;
(x,.Y,)
2) The geometric command I can be assigned after the corner chamfering or corner rounding
cnmmand.
(Example 3)
‘x’-
NlXx2YY~. Cc, :
N2Aa, ;
N3Xxa YY, Aaz: N2
al
‘P-
L
c,
(xt.Yt) ~, ‘1
(X,:YJ
3) The geometric command I can be assigned after the linear angle command.
(Example 4) (
NIXxaA a,;
lN2Aa~:
N3Xx~YY,Aax;
-253-
,,, ,. !,. ,,, ...
3* Yp
\
\
\
\ @
\ /’
\ /
\ /
,/
\
\ /
0
\ 0
\ / jl
- Xp
/t F
,/ () \ il
Zero point ~ Basic machine coordinate system
\
\
..
-254-
13. PROGRAM SUPPORT FUNC170NS
13.14 G COMMAND COORDINATE ROTATION INPUT (GM)
,,
-255-
,,, ..,,
@ G28 XO YO;
@ G92 XO YO;
@ G17 GIO I 100. J50. ;
@ G90 GOO X1OO. Y1OO.;
@ Go1 X200. F500 ;
@ Y200. ;
CD Xloo. ;
@ Yloo. :
@I GOOXO YO;
I@ M02;
(Description)
Due to (3), the coordinates are rotated counterclockwise by # which
is equivalent to tan-l 50/100 = 26.565°.
YR
,A
0 \. Programmed path after
q@ / coordinate rotation
/ \
‘\ i /
\ 200. .\ \
\ \ A Programmed path
\ \ ,,J without eoordmate
1 \ rotation
\ /“ *+
/
\ k 0’
0
\ /
/ /
\ 100.“ f
\
\ I
- Xp
/0/ ‘ 100 200
,0 \
\
,0’ \,
/
-256-
13. PROGRAM SUPPORT FUN~ONS
13.14 G COMMAND COORDINATE R OTA T..ON INPUT (GlO)
(D G28X0 YO;
@ G17 G1O KO; Subprogram
@ h198 P 100; @ 0100;
@ G1o K80. ; @ G90 GOOX1OO.Y1OO.;
@ M98 P 100: @ GOI X200. F500 ;
@ G1O K180. : @ Xloo. Y200. ;
@ M98 P 100; @ Yloo. ;
@ G 10 K240. : @ M99 ;
@ lv198 P 100; (Description) Due to (4), (6) and (8), the
@ GOO XO YO; coordinates are respectively
rotated counterclockwise
@ M02 : by 60°,180° and 240°.
-257-
13. PROGRAM SVl?PORTl%JNCHONS
13.14 G COMMAND COORDINATE ROTATION INPUT (G1O)
(6) Checkpoints
1 ) When a rotation angle of zero is assigned in the coordinate rotation status, the next movement
command on the rotation plane will caned the inordinate rotation, regardless of tmmmands
G90 or G91, and the tool will move to a position where the coordinates are not rotated.
(Example 1)
a ) Incremental cnmmands
@ G28 XO YO;
@ G17 G1O K20. ;
@ G91 GO1 Y50. F1OOO;
@ Xloo. ;
@ KO, . . .... .... ..... ........ ..... Zero rotation angle command
GIO
@l Y–50. ., ................ ..... ......... ... Movement to A (100, O)
@ x–loo. ;
@ M02 ;
b ) Absolute commands
@ G28 XO YO;
@ G17 G1O K20. ;
@ G90 “GO1 Y50. F 1000;
@ Xloo. ;
“@ G1O KO ; .. ..... .... ........ ........ Zero rotation angle command
@lYo, . .......... ...................... ....... Movement to A (100, O)
QIXo;
@ M02 ;
Y a
/4
>/” ~ pro~mmd path
eoor mate rotation
after
/4 \
/0 *
\
#
\: Programmed path without
\
~ coordinate rotation
a’, \
\
\
x
A (100. O)
@@
-258-
13. PROGRAM SUPPORTFUIWTHONS
13.14 G COMMAND COORDINATE ROTATION INPUT ifGIO)
(Example 2)
@ G28 Xo Yo;
@ G17 G 10 K30. ;
Q G91 GO1 X30. Y60. F1OO ;
@ Xlooq Y–60. ;
@ Glo Ko;
@ Xo Yo;
a X-130. ;
@ M02 ;
[
i
1
‘1 Programmed path without
coordinate rotation
-259-
!,. .
2 ) Assign the initial movement command after the coordinate rotation input command in the GOO
or G~l mode.
When, as shown in the figure, an arc command is assigned, the arc start point A will not rotate
although arc end point B will rotate to be positioned at B and a difference will arise between
the radii of the start and end points (P70 ARC ERROR).
(Example 1)
~ G28 XO YO;
@l G91 GO1 X50. F1OOO;
@ G17 G1O K20. ;
@ G02 X40. Y40. 140. ;
@ M02 :
Y
B’
/’
# Programmed path without
coordinate rotation
4/
(0$ 0) (D(Z)
,
3 ) Assign this command in the G40 mode.
-260 -
13. PROGRAM SUPPORT FUNCTIONS
13.15 ‘CIRCLE CUTTING (G12, G13)
I
#0=- -’
/$’”
Circleradius
5 -- -— - Offset amount sign +
\\ —-—-- Offset amount sign -
‘- ‘
.4
..
#
-.. -.-W
3
With G12 command (tool nose center path)
dl offset
amount + \ g/ * i)+I--D.2*a-Dl~s~6*7~O
*
With G13 command (tool nose center path)
0~7+6*5*4+3*2@l-O
dl offset amount - I
-261-
! .,,,:..,.
-262-
14. COORDINATE tlWfUEM SETTING FUNCITONS
14.1 COORDINA T%? WORDS AND CON-TV? O’L AXES
‘Three axes which can be controlle$ under the standard specifications but Up to six axes ean be ecmtrolled
by adding the additional axes and speeial additional axes. The machining directions are specified
accordingly and pre-determined alphabet coordinate words are used for this purpose.
+Z
+ H? +C
k?
+x
Table movement dirwc
Table Programmed coordinates
rotation
direetion
-263-
.,: ,,..,..,,.,.:.,.
R*1
w ‘Reference point
M“ W 1 (workcoordinatesystemI)
+ ‘Q ml
,- . ,. ,. .
* ~Daslc macnme coordinate system)
R*1
WI ,W2 +.
-264-
14. COORDINATE SYSTEM SE?TING FUNCITONS
14.3 MACHINE 225A?O POINT AND 2ND/3RD/4TH REFERENCE
{ZERO)POINTS
lfi-
x
x
4th reference point
T
, d%
W Work coordinate systems (G54 – G59)
x
-265-
14. COORDINATE SYSTEM SE1’’lTNG FUNC170NS
14.4 BASIC MACHINE COORDINATE SYSTEM
(500,SGQ)
–Y
*1 Depending on the system version, movement may proceed at the cutting feed or rapid traverse
depending on the G command modal.
-266-
14. COORDINATE SYSTEM SEITING FUNCTIONS
14.5 COORDINA T.. SYSTEM SETTING (G92J
(1) After the power has been switched on, the dog-type referenm point return is performed first and, upon
completion, the coordinate systems are set automatically. (Automatic coordinate system setting)
Reference
pointre-
R tumfinish tic machine omxiinate system R. M
WGS4 100. m.
(2) The absolute (work) coordinate systems and present position display values can be preset to the as-
signed values without the machine needing to move by assigning the G92 command.
NOTE 1: A return can be made to the proper work coordinate system as follows if the svstem has shtited
when tha manual absolute sfiitch is set OFF and the &is has been moved m&tually.
1 ) Proceed with reference point return with the coordinate system still shifted.
2 ) Then assign the G92G53XOYOZ0 ; commands. These commands will preset both the
work coordinates and present value display to the work coordinate system offset values.
NOTE 2: When an S command has been assigned in the same block as the G92 command, it will be treated
as the clamp speed for the spindle which is subject to constant peripheral speed control (G96),
and the normal S command will not be output. (For details, refer to Section 10.4.2 on setting the
spindle clamp speed.)
14. COORDINATE SYSTEM SETTING FUNCTIONS
14.6 A UTOMA TIC COORDINATE SYSTEM SETTING
Ya Y: Y1
1 t
L Work coordi-
nate system 3
(G56)
Work coordi-
~:f5~;m
Xs
2
Work coordi-
nate system 1
.1st reference point
Detailed description
(1) The coordinate systems created by this function areas follows:
1 ) Basic machine coordinate system
2 ) Work coordinate svstems (G54 – G59)
(2) The parameters set in th~ NC sys~em all provide the distance from the zero point of the basic machine
coordinate system. Therefore, it is decided at which position in the basic machine coordinate system
the first reference point should be set and then the zero point positions of the work coordinate
systems are set.
-268-
14. COORDINATE SYSTEM SElllNG FUNCTIONS
14.7 REFERENCE POINT (%?ER O POINT] RETURN {G28, cG29]
1 ) After the ~signed axes have been positioned by GO, they are returned respectively at rapid
traverse to the first reference (zero) point when G28 is assigned.
2 ) By assigning G29, the axes are first positioned independently at high speed to the G28 or G30
intermediate point and then positioned by GO at the assigned position.
A
2nd reference point
v
.$/ (x$, Ya, Z*, as)
..=0
.0
,*’/
GwP 2
G 28 ..’)]
G% ~.... .*”/ G 29
. ..
.. . ●’/
... ,,”/
-..
‘h “.. .“”>{xl, y,, 21, al)
Start point
. “-- “’~ Intermediate
G30 , point
0
/ G30P3
G3i)P 4
(xi, y:, z,, as)~~” ~\~
G 29°
3rd reference point
4th reference point
1“
In this case, xl, yl, ZI and al are the coordinates of the G28 or G30 intermediate point.
-269-
,;., ,,,
5) Program error P430 results when G29 is executed without performing automatic reference
(zero) point return (G28) after the power has been switched on.
6) The operation up to the intermediate point is ignored for the Z axis in Z-axis cancel and the
position display is updated for the subsequent positioning only. (The machine itself does not
move.)
7) The intermediate point coordinates (xl, yl, Zl, al) of the positioning point depend on the
position command modal (G90 or G91).
8) G29 is valid for either G28 or G30 but the assigned axes are positioned after a return has been
made to the latest intermediate Doint.
9) The tool offset will be canceled ~uring reference point return unless it is already canceled, and
the offset amounts will also be cleared.
(4) Examples of programs
(Example 1) G28 Xxl Zzl ;
R
Reference (zero)
mint position (#1)
1st operation after power -
has been switched on
./ GOXX*ZZ* ;
2nd and subsequent >
operations
f (x,, z,)
Intermediate point
#/
GOXX, ZZ, ;
Y
Return start position
Ist operation after power
has been switched on
2nd and subsequent
-270-
14. COORDINATE SYSTEM SET17NG FUNCI?ONS
14.7 REFERENCE POINT (ZERO POINT) RETURN (G28, G29)
GO XX, Zz, ;
(x:, 2s)
-271-
14. COORDINATE SYSTEM SETTING FUN~ONS
14.8 2ND/3RD/4TH REFERENCE (ZER 0) POINT RETURN (G30)
+- .4/
,“”;’
.’/
G30P 2 .,”;/
\ t-
G28a.. G~;;G29
....
.. . ..;>
. . ---\ I
. ..
..-..\ .“”/’ I a,)
Start point 0 * ““”’
.“ (xl, )’1,z,,
G30 ~, ~ Intermediate
/’ point
0
0 G30P3
#
G30P 4
OH” /\J
G29
4
I 3rd refere~ce point
4th reference point
I
-272-
14. Coordinate SYSTEM SEITi!NG FUNCITONS
1=4.82ND/3RD/4TH REFERENCE (ZERO) POINT RETURN (G30)
–x R#l
L
R#3
(%2, Y*)
–Y
3rd reference
(zero) point
5 ) Reference (zero) point return on a plane in cutter compensation causes the tool to move from
the intermediate point without cutter compensation (zero compensation). With a subsequent
G29 command, cutter compensation is performed from the intermediate point as far as the G29
command.
(xl, Y!)
\
\
\
\ -Y
G29Xx, Yy, :\% /
(X*: Y:)
6 ) The tool length offset amount for the axis involved is canceled after sewnd, third or fourth
reference (z;ro) point return.
7 ) With second, third or fourth reference (zero) point return in the machine lock status, control
from the intermediate point to the reference (zero) point will be ignored. When the assigned
axis reaches as far as the intermediate point, the next block will be executed.
8 ) With second, third or fourth reference (zero) point return in the mirror image mode, mirror
image will be valid from the start point to the intermediate point and movement will be in the
opposite direction to that of the command. However, mirror image is ignored from the
intermediate point to the reference (zero) point during the movement toward the reference
(zero) point.
-273-
,,.,
t’ F
-x
r ---
/
/
0
x-axis —\
<’”
\
mirror image \
G30P3XX, YY, ;
No mirror image
\ /
Check command
Check number
Pl: 1st reference point check
P2: 2nd reference point check
P3: 3rd reference point check
P4: 4th reference point check
I
-274-
14. COORDINATE SYSTEM SEll_?NG lTJiVCITC)NS
14.10 WORK CO QRDINA TE SYSTEM SETTING AN.. OFFSET
(G54 – G59)
(# 1 ) Reference (zero)
“x M point return position
Basic machine coordinate
-x (G54) (-500,
-x (G55) (–2000,
– 1000)
W2
-275-
. ~.,
,... ...-,,.,
., -. ,.,;,.,
6) The offset settings of work coordinate systems can be changed any number of times. (They can
also be changed by G1O L2 Ppl Xxl Zzl.)
7) A new work coordinate system 1 is set by assigning the G92 command in the G54 (work
coordinate system 1) mode. At the same time, the other work coordinate systems 2 through 6
(G55 – G59) will move in parallel and new work coordinates 2 through 6 will be set.
8) An imaginary machine coordinate system is formed at the position which deviates from the new
work reference (zero) point by an amount equivalent to the work coordinate system offset
amount.
Reference~?ero) point
-x
Basicmachinecoordmte
After the power has been switched on, the imaginary machine coordinate system is matched with
the basic machine coordinate system by the first automatic (G28) or manual reference (zero) point
return.
By setting the imagina~ basic machine coordinate system, the new work coordinate system will
))
be set at a position which deviates from that imaginaxy basic machine coordinate system by an
amount equivalent to the work coordinate svstem offset amount.
10) When the krst automatic (G28) or manual r~ference (zero) point return is completed after the
power has been switched on, the basic machine coordinate system and work coordinate systems
are set automatically in accordance with the parameter settings.
11) A program error (P62) results when G54zY_ ; is assign~- subsequent to reference point
return (automatic or manual) after the power is switched on. (A speed command is required
since the speed is controlled by GO1.)
(4) Examples of programs
\ /
-276-
14. COORDINATE? SYSTEM SEllTNG FUNCITONS
14.10 WORK COORDINATE SYSTEM SETTING AND OFFSET
(G54 – G59)
When the first reference point coordinate is zero, the basic machine coordinate system zero point and
reference (zero) point return position (#1) will coincide.
(Exam@ 2) @G28XOY0 ;
(#1) Reference (zero)
@G90GooG53xoYo ; point return *sition .
@G54X- 500Y-500 ;
@GOlG91X–5ooF 100; Prwentposition
@Y–5oo ;
@x-t500 ;
@Y+500 : -x( GM)
@G!30GooG%XOY0 ;
@lGOIX-500 F200 ;
@xoY-5oo ;
-Y
@G90G28XOY0 ; (G55) (6A)
(Example 3) When work coordinate system G54 has deviated (-500, -500) in example 2
(It is assumed that steps (3) through (10) in example 2 have been entered in subprogram
01111.)
@G28X OY O ;
@G90GOOG53X OY O : .....ss..... (Not required when there is no G53 offset.)
@G54X–500Y–500 : O..”.OSSOOSC Amountbywhichworkcoordinate ayatem deviates
@G92X OY O ; “’.”...”oco””””OQ”OQ....
Newwork coordinate system is set.
@M98Pllll ;
-Y
( G55) :Gy~’ )
–Y(G55’)
–Y
I?KYl%kThe work coordinate system will shift each time steps (3) through (5) are repeated. The reference
point return (G28) command should therefore be assigned upon completion of the program.
-277-
,,, .:,:,,
(Example 4)
It is assumed that 6 identical workpieees have been placed on the G54 — G59 work coordinate systems and
that each will be machined identically.
1 ) WorkPiece offset data setting
Workpieee I x=–1oo. 000 Y=–100. 000.----”””G54
2 X=–1OO. 000 Y=–5N.NO””””S....-..G55
3 X=–500. 000 Y=–lM. MO---.-.”G56-”
G56
4 X=–5OO. 000 Y=–500. M04...........G57
5 X= –900. 000 Y= –100. 000””-.”.-.;G58
6 X= –900. 000 Y =–5N. 000------G59
2 ) Machining program (subprogram)
0100 ;
N 1 G90G OG43X –50. Y –50. Z -100. H1O : Positioning
N 2 GOIX–200. F50 ;
Y –200. ; End face.cutting
x– 50. :
Y– 50. ; I
N3G28XOYOZO;
\
N 4 G98G81X–125. Y–75. Z–150. R–1OO. F40 ; Drilling 1
175. Y –125. ;
X – 2
X–125. Y–175. ; 3
x– 75. Y–125. : 1 4
G80 ;
N5G28XOYOZO;
\
N 6 G98G84X–125. Y–75. Z–150. R–1OO. F40 ; Tapping 1
X –175. Y – 125. ; 2
X–125. Y – 175. ; 3
X– 75. Y–125. ; 1 4
G80 ;
M99;
3) Positioning program (main)
G28XOYOZO;
When power is switched on
N 1 G9OG54M98P1OO ; 1
N2 G55M98P 100 ;
N3 G57M98P 100 ;
N4 G56M98P 100 ;
N5 G58M98P 100 ;
N6 G59M98P 100 ;
N7G28XOYOZO;
N8M02;
%
-278-
14. COORDINATE SYSI15M SETl17iVGFUNCTIONS
14.10 WORK CO ORDINA T! SYSTEM SETTING AN’ OFFSET
i(G54 – G59’
I
n
x
I
x
I
-279-
v
(Example 1) Local coordinate system in absolute value mode (the local coordinate system offset is
not accumulated)
~ G28XOY0 ;
~
@ GooG90XL Y1.; m
1’ I
@ G92XOY0 ; I @
The local coordinate system is formed by (5), is canceled by (9) and coincides with the
(3) coordinate system.
-280-
14. COORDINATE SYSTEM SEllTNG FUNCTIONS
14.11 LOCAL COORDINATE SYSTEM SETTING
@ G28XOY0 ;
Y“!
1%00
~
Y ‘“
@ G92XOY0 ; Y I
I *
@ G91G52X500W500: I
I
(Q M98P 100; I I
@ G52XL Y1. :
@ M98P1oo ; I
I
Q G52X-1. 5 Y-1. 5; IWO“ I -—-~x”
I Lmal coordinatesystem
@ GooG90XOY0 ; I
M02 ; 1000. I
I
@ 0100:
@ G90GOOXOY0; 500-.
@
Q G01X500 ;
Q Y500;
lm 1500 ‘‘m250030W
@ G91 ;
R* I
@ M99 ; WI Present position localcoordinatesystem formed by (7)
Description)
L3c al coordinate system X’Y’ is formed at the XY comdinate Wstem (500, 5CN))position by (3),
I..mal coofllnate system X“Y” is formed at the X’Y’ ccmrdinate system (1OCO,1000 position by (.5
The local coordinate qstem is formed at the X“Y’ comtfinate system (-1500, -15 J ) position by ~’ ), In other
wotd~ the local ccmrdmate ~tem and the XY coordinate system coincide, which is the same as w en the local
coordinate system is canceled.
-281 -
14. COORDINATE SYSTEM SEITING FUNCITONS
14.11 LOCAL COORDINATE SYSTEM SETTING
@
looo1500m2500m
R* I
(Description)
The local coordinate system is created at the position of the G54 coordinate system (500, 500) by (3)
but not at the G55 coordinate system.
The tool returns to the G54 local coordinate system reference (zero) point in movement (7).
The command to cancel the local coordinate system is G90G54G52XOY0 ;.
-282-
14. COORDINATE SYS127MSE?173JGFUN~ONS
14.11 LOCAL CO ORDJNA 1%?SYSTEM SETTING
(Example 4) Combination of work coordinate system G54 and multiple local coordinate systems
Q G28XOY0 ;
@ GooG90G!MXOY0; X 500 Work ~ordinate system offset
@
Q M98P300 ; Y 5001 (parweter setting)
@ G52X1, YL ;
@ M98P300 ;
@ G52X2, Y2. ;
I
@ M98P300 ;
4!I$$
@ G52XOY0 ;
i 2500 .
@ Local coordinate system
M02 ;
CW1JL2 formedby(6)
@0300 ; moo,
@moxoYo ;
5
t3G01X500FuJ0 ; 1500..
Localcoordinate
system
QY!joo ; [W1]L1 formedby (4]
@xoYo ; lm %
,
03M99 :
% G54
(Description)
A local coordinate system is created at the position of the G54 coordinate system (1000, 1000) by (4).
A local coordinate system is created at the position of the G54 coordinate system (2000, 2000) by (6).
The load coordinate systems coincide with the G54 coordinate system by means of (8).
15. PRO’TECCION FUNCZIONS
15.1 STROKE CHECK BEFORE MOVEMENT (G22, G23)
Command format
G22x_Y_z_I_J_K_’
~— > (These assign the inside machining inhibit area.)
Upperlimit l.mverlimit
a.wgnment assignment
G23 ; (Cancel)
Detailed description
1 ) The values on the machine coordinate system are used for the upper and lower limits.
2 ) The upper limit of the inhibit area is assigned by X, Y and Z and-~he lower limit by I, J and K.
However, when ~ Y, Z <I, J, ~ X, Y and Z assign the lower limit and I, J and K the upper
limit.
3 ) Stroke check is not performed for axes having the same setting.
4 ) When G23 ; or G22; is assigned, the stroke check before movement function will be canceled.
5 ) When G23 X_ Y_ 2; is assigned, this will be treated as G23 ; 1 Y_;. Therefore, execute X
and Y with the previous movement medals after having canceled the stroke check before
movement function.
NOTE Whenever the G22 command is to be assigned, the machine should first be moved outside the
inhibit range and then the command should be assigned.
-284-
16 iW4CHINING MODES
16.1 HIGH-SPEED MACHINING MODE (G05]
-285-
16, MACHINING MODES
16.1 HIGH-SPEED MACHINING MODE (G05)
2 ) 13ample of program
G28XOYOZO;
G91G OX-1OO. Y-1OO.;
G43Z-5. H03 ;
GO1F 3000;
G05P 1 ; High-speed machining mode
I ON
Xo. 1;
X().lYO. 001;
Xo. lYO. 002;
●
XO.1 F200;
G05P0 ; High-speed machining mode
I OFF
G49Z O ;
M02 ;
NOTE 1: The high-speed machining mode I can be used in computer link tape or memory operation.
(The speed will fall below the limit of the communication rate for computer link and tape
operation.)
NOTE 2 The performance of the high-speed machining mode I cannot be guaranteed when it is used
under conditions other than no cutter compensation provided (incremental 001 mode,
simultaneous 3 axes, 1 mm) and compensation provided (incremental 001 mode, simultaneous
2 axes, 1 mm).
. ‘2&5 .
16 MAC~NING MODES
16.1 HIGH-SPEED MACHINING MODE (“05)
2 ) Example of program
G28XOYOZO;
G91G OX-1OO, Y-1OO.;
G43Z-5. H03 ;
G01F3000 ;
G05P 1 ; High-speed machining
Xo. 1; mode IB ON
Xo. lYO. 001;
XO.IYO.002;
*
●
.
XO.IF200;
G05P O ; High-speed machining
G49Z O ; mode 113OFF
M02 ;
NOTE 1: The high-speed machining mode IB can be used in computer link, tape or memory operation.
(The speed will fall below the limit of the communication rate for computer link and tape
operation.)
NCYI’E2 The performance of the high-speed machining mode IB cannot be guaranteed when it is used
under conditions other than no cutter compensation movided (incremental GO1 mode,
simultaneous 3 axes, 1 mm) and compensation provided (i~crementa~ GOI mode, simultaneous
2 axes, 1 mm, in case of interference check invalid).
Program the blocks with axis names and incremental movement amounts only (example: X1O.
YO.1 ;). Although an error will not occur when a G command is contained, the analysis speed
may be reduced.
3 ) Relationship between interference check invalid parameter setting and interference avoidance
mrameter
#
Interference avoidance
#
Item OFF ON
This performs interference checking for cutter compensation.
When cutter compensation causes the
A program error results when cutter workpiece to be cut into, the tool can be
(IFF
compensationcauses the workpiece to be moved to the machine the workpiece
Interference cut into. along a path which does not cause the
44
check invalid cut.
This performs interference checkingfor cutter compensation.
Evenwhen cutter compensation causesthe workpiece to be cut into, a program error
ON
does not result, and the tool is moved along the path which results in the cutting.
-287-
16. MACHINING MODES
16.1 HIGH-SPEED MACHINING MODE (G05)
2 ) Example of program
I
G28XOYOZO;
G91G o x-loo. Y-loo. ;
G43Z-5. H03 ;
GO1F3000 ;
G05P 2 ; High-speed machining
+ mode II ON
Xo. 1;
Xo. lYO. 001;
Xo. lYO. 002;
. GO1 Incremental
movement
●
.
XO. 1F200; v
NOTE 1: Only axis names, movement amounts (not variables, arithmetic operations) using incremental
commands, and F commands can be assigned while the high-speed machining mode II is
established.
NOTE 2 The high-speed machining mode II can be used in computer link, tape or memory operation.
(The speed will fall below the limit of the communication rate for computer link and tape
operation.)
NOTE 3 Even while the high-speed machining mode 11 is modal, the override, maximum cutting rate
clamp, single block operation, dry run, manual interrupt, graphic trace and high-precision
control modes are valid.
-288-
16 MACHINING MODES
16-.1HIGH-SPEED
MACHINING MODE {4305)
3 ) Restrictions
1 ) While the high-speed machining mode II is modal, all movements are based on the
G91G01 commands regardless of the incremental/absolute. linehrc or other medals.
When G05P2 is assi~ed, cancel the cutter compensation, ~rror image, scaling,
coordinate rotation, imaginary axis interpolation and 3-dimensional cutter compensation
first.
If these functions are not canceled, all the medals will be stored even while the high-speed
machining mode 11 is modal. Ml the medals are valid again after the high-speed
machining mode 11 is set OFF. (Example 1)
2 ) A program error results while the high-speed machining mode H is modal if any command
other than axis names, incremental movement amounts, F commands and G05P0 are
assigned. Switch to the standard mode and assign such commands. (Example 1)
(Example 1)
(MAIN-PROGRAM)
G28XOYOZO;
G90G92XOY OZIOO.:
GOOX-lOO.Y-100.; Movement by G90, GOO,G43
G43Z-10.HOO1;
M98HO01;
G49Z O ; Movement by G90, GOO
G28XOY”OZ0 ;
M02;
(SUB-PROGRAM)
NoolF3000;
G05P 2 ; High-speed machining
mode 11 ON
Xo.1 ; T
x-o. lY-O. 001;
x-o. IY-O.002 ;
. Movement by G91, GOI
●
Xo. 1 ;
G5 PO; High-speed machining
mode 11 OFF
M99;
3) Automatic operation processing is given priority while the high-speed machining mode 11
is modal, and this means that the CRT response mav be slower.
4) Since the tool will decelerate in the G05fi or G05~ block, the high-speed machining
mode 11 should be set ON and OFF where the tool is distanced from the workpiece.
Speed
5) If computer link or tape operation is used during the high-speed machining mode 11, the
machining speed may be kept low due to the restrictions on the program transmission
rate.
-289-
16. MACHIN1..G MODES
16.1 HIGH-SPEED MACHINING MODE (G05)
Cutting feed clamp rate = min [cutting feed clamp rate of movement axes * movement amount/
movement amount of movement axes]
Consequently, the cutting feed clamp rate while the high-speed machining mode 11is modal maybe
dower than when the high-speed machining mode II is not modal.
(4) Checkpoints
1 ) PO,PI and P2 are the only valid address P commands.
A program error will result with any other P command.
2 ) Do not assign any addresses except N and P to the G05 blocks.
Otherwise, a program error (P32 ADDRESS ERROR) will result.
3 ) Decimal points are not valid with P addresses.
-290-
1% MEASUREMEW SVl?PORTFUNC170NS
17.1 A tJTOMA TIC TOOL LENGTH MEASUREMENT (“37)
-100 ~!
HOI=o
t
‘.rO1 ; 1
M06 T02 ;
G90 GOO G43 ZO HO1 ;
G37 Z –400 R200 D150 F 1 :
Cxmrdinate value when measurement position is reached = -3(!O
-300- (-400) = 100
0 + 10U = 100 HO1=1OO
-291-
1Z MEASUREMENT SUPPORT FUNCTIONS
17.1 A UTOMA TIC TOOL LENGTH MEASUREMENT (G37)
Operation1 ~ ~
Iii Normal completion
‘6A”: Measuring
position --------- &---L ---L–T~–—
2) The sensor signal (measuring position arrival signal) is used in common with the skip signal.
3) The feed rate will be 1 mm/min if the F command and parameter measurement speed are O.
4) An updated offset amount is valid from the Z axis (mea&rement axis) command f~llowingthe
G37 command.
5) 13xcludingthe values applying at the PLC side, the delay or fluctuations in the sensor signal
processing range from O to 0.2ms at the NC system side only.
Therefore, a measuring error will arise as follows:
0.2(msecl
Maximum measuring error (mm) = Measuring speed [inm/mi n) o&”
1000
6 ) The machine position coordinates are read by sensor signal detection, and the machine will
overtravel and stop at a position equivalent to the servo droop.
1
Maximum overtravel (mm) = Measuring speed [mm/mi n] ~ ● ●
-292-
lZ MEASUREMENT SUPPORT FUNCITONS ‘“
17.2 SKIP FUNCTION (G31]
17.2.1 Function
(1) Command format
G31 Xx Yy Zz a. I?f; (where a is the additional axis)
L Y,Z, a: tis coordinates; they are assigned as absolute or incremental values in accordance with the
G90 or G91 modal.
fi Feed rate (mm/min)
Linear interpolation can be executed using this function. If any of the skip signals (skip 1 through 3)
is input externally while this command is being executed, the machine will stop, the remaining
commands will be canceled and operation will be executed from the next block.
(2) Detailed description
1) If l?f is as~igned as the feed rate, command feed f will app~, if it not assigned, the “G31, G31.1
skip” set in the parameter will serve as the feed rate. In either case, the F modal will not be
updated.
2) Automatic acceleration and deceleration do not apply to the G31 block. The maximum speed
of G31 is determined by the machine specifications.
3) Override is invalid with the G31 command and it is fwed at 100.
I%y run is also invalid. The stop conditions (feed hold, interlock, override zero and stroke end)
are valid. External deceleration is also valid.
4) The G31 command is unmodal and so it needs to be assigned each time.
5) If any of the skip commands (skip 1 through 3) is input during G31 command start, the G31
command will be completed immediately.
When a skip signal has not been input until the G31 block completion, the G31 command will
also be completed upon completion of the movement commands.
6) When the G31 command is assigned during cutter compensation, program error P608 will
result.
7) When there is no F command in the G31 command and the parameter speed is also zero,
program error P603 will result.
8) With machine lock or with the Z-axis only command when the Z axis cancel switch is ON, the
skip signal will be ignored and execution-will continue as far as the end of the block.
(3) Parameter settings
The “G31, G31.1 skip conditions” are set on the parameter screen.
The “G31 or G31.1 skip speed” is set on the machine builder parameter screen.
For details, reference should be made to the section on parameters and cantrol instructions for the
setting and display unit in the Operating Instructions Manual.
-293-
1% MEASUREMENT SUPPORT FUNCITONS
17.2 SKIP FUNCTION {G31)
4
I -- -1-
Xo;
t G01
1-
1 -–~
G 31
1 --- –200000
1.lLL- –300000
t
—
17.2.2 Skip
The coordinate positions at which the skip signals are entered are stored in system variables #5061 (axis
1) through #5066 (axis 6). They can therefore be used with the user macros.
$
G90 GOO X–1OO. ;
=4
G31 X–200. F60 ; Skip command
# 101= # 5061 The skip command input coordinates (work coordinate
system) are read out m #101.
-294-
lZ MEASUREMENT SUPPORT FUN~ONS
17.2 SKIP FUNCTION (G31)
F’
Time (S)
tiktfl ‘1-p
Stop pattern with skip signal input
The relationship between the coasting amount and speed when Tp is 30ms and tl is 5ms is shown in the
following figure.
f
7
TP=O.03
~o.m. t 1 =0.00s Max.value
g
~ 0.040,
z
s
g o.~.
ba
“i O.WM.
8
0.010 “
o 10 m 30 # 50 @ ‘?0
Feed rate F (mm/min)
Relationship between coasting amount and feed rate (example)
-295-
1% MEASUREMENT SUl?PORTFUNCl?ONS
17.2 SKIP FUNCTION {G31J
-296-
1% MEASUREMENT SUPPORT FLZWJ!70NS
17.2 SKIP .FU..CTION (G31)
I
G31 X1OO.F 100 ; Skip command
#110 = Skip feed rate; G04 ; ~ Machinestop check
Skip signalinput coordinate
#ill = Response delay #lol=#5061 readout
time tl ; Coaatingbawd on response
#lo2=#llo* #111/60; delay time
# 105= # 101- # 102 ; Skip signal input
coordinates
5
I
7 1
\
I
-297-
1% MEASUREMENT SUPPORT FUiWITONS
17.3 MULTI-STAGE SKIP FUNCTION {G31.n, G04)
17.3.1 Function
The settingof combinations of skip signals to be input enables skipping under various conditions. The
actual skip operation is the same as for G31.
The G commands which can assign skipping are G31.1, G31.2, G31.3 and G04, and the correspondence
between the G commands and skip signals can be set by parameter.
(1) Command format
G31. 1X x Yy Z z a a F f : (Same for G31.2 and G31.3; Ff is not required with 004)
As with the G31 command, this command executes linear interpolation and when the preset skip
signal conditions have been met, the machine is stopped, the remaining commands are canceled and
the next block is executed.
(2) Detailed description.
1 ) The “G31, G31.1 skip speed” parameter corresponds to the G31.1 feed rate, “G31.2 skip
speed” to G31.2 and “G31.3 skip rate” to G31.3.
2 ) The various commands in question are skipped when the skip signal conditions have been met.
3 ) Apart from 1) and 2) above, the commands are the same in all other respects to G31.
(3) Parameter setting
1 ) The feed rates corresponding to the G31.1, G31.2 and G31.3 commands can be set by
parameter.
2 ) The skip conditions (logical sum of skip signals which have been set) corresponding to the
G31.1, G31.2 and G31.3 commands can be set by parameter.
Operation is the same as for G31 when parameter setting = 7.
-298-
1% MEASUREMENT SUPPORT FUNC’IIONS
17..3 MULTI-STAGE SKIP FUNCTION (G3Ln9 G(.I4)
17.3.2 Operation
( 1 ) The multi-skip function enables control to be exercised as follows and, while enhaneing the measuring
precision, it also allows the measuring time to be redueed.
z? -
Measurement
distance
1
I
I
I
i
!
I
IN20
–“----~l
(f,) l! N30
NOTE When, in the above operation, skip signal 1 is input before skip signal 2, N20 will be skipped at that
point and N30 will also be ignored.
( 2 ) Theremaining dwelltime will be canceled and the following block exeeuted unless the skip signal for
the eonditicm set in G04 (dwell) is input.
-299-
,,. .
-300-
18.AXIS CONTROL FUNCTIONS
18.1 C.O.FWNG FUNCTION
Start
Reference position
(2) (3)
Bottom dead point tic ---
1 ) When the chopping axis has stoppd, the chopping operation is started immediately.
*
X, Y axes
Chopping (3) \
axis (21
(1)
:;~;$ ~
2 ) When the chopping axis has been moved automatically, the chopping operation is started after
the completion of the movement.
3 ) An operation alarm results when the chopping axis has been moved manually, and the chopping
operation does not start.
t 3
.hoppingaxis~
Chopping command
Operation ahirm
k J
-301 -
18.AXIS CONTROL NNG?70NS
18.1 CHOPPING FUNCTION
~
control OFF point
as the bottom dead point. ? !
u)
(1) (2)
Movement as far as Bottom
bottom dead point dead point
Chopping
axis
Chopping operation
d
.,
-302-
18. AXE CONTROL FUNC?TUNS
18.1 CHOPPING FUNCTION
Item
Feed hold
~ Reference position
-303-
18. AXIS CONTROL FUNiXIONS
18.1 CHOPPING FUNCTION
Reference position
-304-
18. A.XIS CONTROL FUNCTIONS
18.1 CHOPPING FUNCTION
~~~:p~;,ad ;:,i;;:ad
Deceleration
point after
change
Duringmovement from
bottom to top dead point
Parameter
change
:p:d ~:”~~d
Bottom dead
point
-305-
18. AXIS CONTROL FUNC170NS
18.1 CHOPPING FUNCTION
-306-
APPENDIX 1. LIST OF FUNCTION CODES
* . “ . No key-in “ *
Program number addrma
(instead of O, 1S0 ordy)
* # “ “ , Key-in “ * Variable number
#
* * “ “ , . * * * Variable operator (x)
* . “ “ “ “ # * . Variable definition
‘h r . “ . “ . * 1 Variable ooerator
* 1 “ “ “ “ “ ‘k 1 Variable operalor
BS Bs .No “ Blank No key-in “
TAB H-r “ . “ . “
SF SP SPSstarting
witirROBand end.
“ 1! (T-Vauto- (T-Vauto- iogwhenfmt characteror num-
SP SP m Keyin “
nmtic ad- nmticad- ber codeappearsare not subject
juslmen!) justment) to parity V count.
CR “ . “ No key-ii “
Not Not .
DEL DEL No Not stored
counted displayed
An . * “ . #
space -L
M:k (DEL) “ “ “ “ “
‘@’
other I dhm I
Any
No
I Ciwnted
I (No!e 3) No key-in
I ‘tored
I /’1/l
IWY1’E1: The black asterisks (*) indicate that tlm corresponding code pattern can be set by paramettir.
NOTE 2: Codes not listed above are stored on tape but an error will result during operation if they are not
ccmments.
IWYTE 3 This denotes characters (including blanks) which are stored inside the CNC system and which
correspond to the command codes. @ is not displayed.
-307-
APPENDIX 2. LIST OF COMMD VALUE RANGES
-308-
APPENDIX 3. LIST OF DATA RETENTION STATUSES AND OUTPUT
S’GN~S W_illYlNC SHUTDOWN
r-d
-309-
,i\:; f,,-j!
0 x 0
— — —
0 0 0
— — —
0 0 0
— — —
0 0 0
0 x 0
0 0 0
0 0 0
— — —
x x
— — —
x 0
— —
-310-
Al?PENDIX3. LIST OF DATA RETEN~ON STATUSES AiYD OUTPUT
SIGN~ WIIH NC SHU7’DO W
0 x
0 o 0
0 0 0
snpm nom qv
-311-
,,,
k
IA
o
L
k
o
k
k
o
o x
—
-t
IA
Lu
o
114
-t-
I &
Snmls Ionuccl
-312-
APPENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNCI?TON
COMMANDS
-313-
APPENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNCITON
COA4MAN.DS
APPENDIX 4. SEQUENCE OF PRIORITY MMOiVG G FUNCHON
-315-
APPENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNC170N
COM~S
-316-
APPENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNCZION
COM&fANDS
AI?PENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNCTION
COM~S
APPEmIX 4. SEQUENCE OF PRIORITY AMONG G FUNCITON
C’0MM4NDS
-319-
APPENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNCITON
C’OMlkMNDS
-320-
APPENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNCITON
COMM41VDS
00 00
00 00 00 00 00 00
00 00
00 00 00 00 00
0 o o Q
00 00 00 00 00 00 00
00 00 00 00 00 00
-321-
APPENDIX 4. SEQUENCE OF PRIORITY AMONG G FUNCTION
coM’kL4NDs
00 00 00 00 00
.5
“w- 00 00 00 00 00 00
3
00 00 00 00 00
00 00 00 00 00 00
00 00 00
00 00 00 00 00
00 00 00
-322-
ARPENDIX5. ARC CUTTING RADIUS ERRORS
When arc cutting is performed, the follow-up delay in the smoothing circuit and servo system cause an error
between the assigned coordinates and traced coordinates, and the arc is cut with a smaller radius than that
assigned.
F
A; Assigned coordinate
B; Traced coordinate
R; Assigned radius (mm)
AR ; Radius error (mm)
Ae; Angle error (rad)
F; Cutting rate (m/min)
Thp_Iad~sM.mror AR ~nd angle error Ad are calculated from the following formulae.
Fxlfj; 2
‘I-J
Exponential lAR _ I . ~ 1 1
High-precision accelersliord ~TsZ+ —Tpl) . (— (mm)
control rnede OFF I deceleration R 2 60
acceleration
$ecelerationafter LineLar ‘ 1 1 1 FX103 Z
interpolation) I amleratiOn/ ~~=—. (— T,’+ —TP2) * (~1 (mm)
, dewleration , R 24 2
Higfr-precision
controlmodeON 1 FX103 *
(aaxleraliorr/deceleration
before lAR=~* (O+L Tpa (1-K f’)) ● {~) (mm)
interrrofalion) g
Assigned Traced
-323-
APPENDIX 6. ST~ARD CANNED CYCLE SUBPROGRAMS
-324-
APPENDIX 6. STANDARD C4NNED CYC~ SUBPROGRAMS
-325-
,.
#2=##5
!13003=t18
OK1; Single block stop inhibit
G1 Zi13;
C4 Pti4 ; Dwell
!45; Spindle stop
COZ-#3–#2 ; Return
#3003=#8 ;
M3; Spindle forward rotation
N1 M88X
G88(0880) Boring 3
-326-
APPENDIX 6. ST~ARD CMViYED CYCLE SUBPROGRAMS
GO2-#3-#2 ; Return
#3003=#8; Single block stop inhibit release
m; Spindle forward rotation
N1 KM%
-327-
APPENDIX 6. ST~ARD C~ED CYCLE SUBPROGRAMS
-328-
APPENDIX 7. DETAII.S OF USER MACRO INTERRUPT FUNCITON
The user macro interrupt function is established by the M96 and M97 commands in the program
which set the interrupt signal (WIT) to valid and invalid, respectively. It is started when the interrupt
signal (UIT) is supplied from the machine while the user macro interrupt is valid, that is, during the
period from the time M96 is assigned until the M97 command or until NC resetting, and it interrupts
the program, which was assigned by P_ and which is currently being run.
While the user macro interrupt function is valid or, alternatively, while it is invalid after the Ivf97
command or after NC resetting, the interrupt signal (UIT) is ignored until the M96 command.
If the user macro interrupt option is selected, M96 and M97 are processed internally as the user
macro interrupt control M codes. However, when they are not selected, they are handled as ordinary
M codes and output externally.
(2) Valid conditions
User macro interrupt can be executed only while a program is being run.
It is therefore valid only under the following conditions.
1 ) When the memory or tape automatic operation mode or MDI has been selected.
2 ) During automatic start
3 ) When user macro interrupt is not being processed.
4 ) When the “user macro interrupt valid” parameter is selected.
Macro interrupt is invalid during manual operation (jog, step or handle, etc.).
APPENDIX Z DETMZS OF USER M4CR0 IN133RRUPTFUNCT10N
M96PPI : P Opl;
Interrupt signal (UIT) cannot
User macro be acknowledged since it is in
interrupt signal
5
/
>
d;
M97
-330-
APPENDIX Z DET~LS OF USER MACRO INTERRUPTRV7WTICJN
[Type 1]
ordinary program ~ 1
block@ ! block(lll ~ block@
I
i i ~
Zzz
1
II
.
I I If a movemerttcommandor miscellaneous
I I fanctioncommandexistsinthe interrupt pro-
1 I I ~~ the remainder of block(2) willbe ig-
I
Interrupt program ~,
1
~ User placre int~pt I
; signall ~ If no movement command or miscellaneous func-
[ I tion command exists in the interrupt pqram,
I I
~ o ~tion continues fromwhatfollowsinbkk
II 1 I
I ($ (All the remaining commands are executed.)
block@ ~blo’ck@&l F Ck’@ block@
Intern
1 t
i
I
I
~ i
I
Interm
or miscellaneous furrc-
terrupt program is exe-
of theblockbeingexe-
Interrup
-331-
APPENDIX Z DET&LS OF USER iW4CR0 INTERRUPT FUNCTION
ON
OFF
I
I I
I I
i 1
I
/
(Status trigger type)
1
I User macro interrupt I
I I
I
(Edge trigger type) I
-332-
APPENDIX Z DETMLS OF USER MACRO INl13RRU.FUNCTTON
h496PP 1 ;
User macro
interrupt signal
(u I 1“) 5
Regeneration
of medals
prior to inter-
nlpt
.1
/-
,/
,/
,Z (With Pp2 assignment)
ND2 : K’
J
Retention of
medals
changed
in interrupt
program
[
-333-
.,.
-334-
A.PPE~IX Z DETAILS OF USER MACRO INTERRUPT FUNC770N
-335-
APPENDIX 8. LIST OF ALARMS
-336-
APPENDIX 8. LIST OF ALM?MS
-337-
.:;
.Ml=ccarr. I
..””.”~”
nptn;lc
- “.”...
I R
. ..
emdv
—--
-338-
APPENDIX 8. LIST OF ALARMS
!,
-339-
,,, i’
-340-
APPE~IX 8. LIST OF ALARMS
-341-
APPE~IX 8. LIST 0FALi4RMS
-342-
APPENDIX 8. LIST OF ALARMS
.’
-343-
.,,,,,.,
-344-
w
—----- Nn.
Error .-. I nl+ailc
- -.-... I R mmA.f
. ..um.u,
P420 NO PARM. IN SPC e Check the specifications.
A parameter input command was assigned
even though no such command exists in the
specifications.
P421 PARM. IN ERROR o Enter the correct parameter input data.
The parameter input data is illegal.
P430 AXIS NOT RET. O Perfom reference point return manually,
A command was assigned to move an axis,
which had not been returned to the refer-
ence POint, away from that reference POint.
P431 NO 2nd REF. SPC o Check the specifications.
A command for the second, third or fourth
reference point return was assigned even
though no such command exists in the
specifications.
P432 NO G29 SPEC ● Check the specifications.
A start position return command (G29) was
assigned even though no such command
exists in the specifications.
P433 NO G27 SPEC e Check the specifications.
A zero point collate command (G27) was
assigned even though no such command
exists in the specifications.
P434 COLLATION ERR o Reconsider the program.
One of the axes did not return to the start
position when the zero point collate com-
mand (G27) was assigned.
P435 G27/M ERROR e A independent M command cannot be
An independent M command was assigned assigned in a G27 command block, and so
simultaneously in a G27 command block. the G27 command and M independent
command must be placed in separate
blocks.
P436 G29/M ERROR ● h independent M command cannot be
An independent M command was assigned assigned in a G29 command block, and so
simultaneously in the G29 command block. the G29 command and M independent
command must be placed in separate
blocks.
P451 NO PROG. LIMIT o Check the specifications.
The stroke check function (G22) prior to
movement was assigned even though no
such command exists in the specifications.
-346-
APPENDIX 8. LIST OF ALARMS
-347-
,., . ,{>,,,
.,
-.
-348-
IIISTORY OF PAST REVISIONS
-349-