CNC3000 Series
CNC3460/3560 M700 Programming manual
USTRIAL &
CTRO ACOUST,r SYSTEMS
DIVISION  NUMERICAI
CONTROL
g 0 @
t3 ra
! i s iss a S2S
I

w
! *
s la m _
I[ SB S3
im (SSDCS
SS3C3G1
ffi
(USEJB S
a
, SJ s 
0 B000 00000
0 0 0 000
0 0 00Q 0 000
0 000 Q 0 0 0 0
0 0
00 0 0
SU
v CNC3000 Series
<U
CNC3460/3560 M700
Programming manual
4822 873 20404
1 891025 Numerical control
o
,
:
PHILIPS
i/
n
r\
The publisher does not assume, on the basis of the information contained in this manual, any
liability as to specifications. For the specification of this numerical control system, reference
should be made to the ordering data and the specification catalogue exclusively.
i
All rights are reserved. Reproduction in whole or in part is prohibited without the written
consent of the copyright owner.
n
CONTENTS Page
Part programming
2. Preparatory functions[G]
3. Programming a position
m 3.2.1
3.2.2
3.2.3
The Zaxis
The Xaxis
The Yaxis
31
32
32
3.2.4 Schematic drawings .... 32
5. Motion commands
5.3.2.1.
5.3.2.2.
Programming a circular arc.
Programming a full circle ....
516
521
m
5.3.3. A circle not in the main plane 522
5.3.4. Using the linear axes U, V or W 523
5.4. Circular arc with a simultaneous movement of the third axis. S' 525
5.5. Helix interpolation 527
5.6. Feed programming 529
6. Tool compensation
m 7.4.4.
7.4.5.
8.
Combination of Mfunctions [M13/M14]
Tool change commands[M6/M66/M67]
Machining cycles
77
78
9. Special features
10.1.
10.2.
General introduction
Using the geometry
101
104
m
10.2.1. Programming an endpoint or centre point . 104
10.2.2. Additional words with linear movements ... 105
10.2.3. Additional words with circular movements 105
s'
:
fr
12.1.
12.2.
Introduction
Parameter representation
121
121
m
12.2.1 Input 122
12.2.2 Converting floating point to fixed point. 122
12.2.3 Rounding 123
12.6.1
12.6.2
General definitions
Arithmetic expressions.
126
127
m
12.6.3 Relational expressions. 127
12.6.4 Legal expressions 128
12.7. Priorities 128

13.3.
13.3.1
13.3.2
Activating and cancelling cylinder interpolation
General remarks
Activating cylinder interpolation182]
132
132
133
m
13.4. Programming conventions 133
13.4.1 Possible Gfunctions 133
13.4.2 The plane of the surface ... 134
13.4.3 Coordinates . 134
1.1. INTRODUCTION
A part program is the complete set of data and instructions required for producing a particular workpiece
on a numerically controlled machine tool.
The instructions may contain different operations, such as milling, drilling, tapping, etc. Each separate
operation is considered as a unit and can be split up into smaller instructions. One complete operation,
e.g. the simultaneous movement of different axes, is called a block and its smaller instructions, e.g. the
movement of one axis or a machine tool function, words.
Preparing a part program means, that the proper sequence of the machining and all separate
instructions, thus tool movements, machine tool functions, technological data, etc. have to be
determined.
Once a part program is prepared and before it can be executed, it has to be stored in the memory of the
control. There are three ways in which to do this:
 use the dialogue of the control;
 enter the program manually via the control panel;
 prepare on data terminal equipment a data carrier, such as a punched paper tape, a magnetic digital
cassette or a disk and read the data into the memory.
For data storage the control has a RAM memory. It is divided into two sections:
 System memory : in this memory all settings for a particular machine tool/control configuration are
stored.
 User memory this memory contains all data for running a part program. Part of the user mem
ory is reserved for tool dimensions, another part for the programs and sub pro
grams (macros).
A memory back up battery is available, so that if the control is switched off, the data is retained for up
to a month.
1. the address,
The leading zeros can be omitted for all words. If the value of a word is zero, then at least one zero must
be written.
The words giving dimensional information can have a sign (plus or minus). If no sign is programmed, a
positive value is assumed. For negative values a minus sign must be entered.Dimension words can be
written with a decimal point. In this case the trailing zeros can be omitted too. If the decimal point is not
programmed, it is assumed to be situated after the last entered digit.
Address
Sign
Decimal point
Modal words
Modal words are active until the same word is programmed, with a different value. Therefore these
words need only to be written in a block where a change of value is required.
Nonmodal words
Nonmodal words are only active in the block in which they are programmed, and must be written into
every block in which they are required.
In table 1.2.1 the frequently used words are listed. The meaning of the word format is :
Programming format
N Block number 07
Program identification 07
G Preparatory function 03
X Dimension along Xaxis +063 +054
Y Dimension along Yaxis +063 +054
Z Dimension along Zaxis +063 +054
4* Dimension along 4. axis +063 +054
5* Dimension along 5. axis +063 +054
6* Dimension along 6. axis +063 +054
R Radius of circular arc 063 054
I X centre coordinate +063 +054
J Y centre coordinate +063 +054
K Z centre coordinate +063 +054
P Point number 03
Refer to Appendix A for a complete list of all words recognized by the control and the meaning of each
word in different occasions in a part program or in the memories.
The control employs a VARIABLE BLOCK FORMAT. This means that the block length varies from block
to block because of changes in the number and/or length of the words. Up to 80 characters are allowed
in a block.
Block number
Preparatory function
Dimensional information
Technological data
Machine functions
The words in a block can be written in any order. The preferred sequence for the frequently used words
is given in table 1.21.
Each word may only occur once in a particular block. Words such as E1= and E2= have different
addresses and therefore can be used together in the same block.
The first word in a block is the block number. It is used to identify that block. Each block must have a
separate number.The block numbers range from N 0 to N9999999.Refer to remark '2 in section 1.4.1.
for programs which should be downwards compatible with older software versions.
In general it is not allowed to use the same block number twice in the same program. However, if the
BTR possibility (part of the CADmodule of the CNC) is used, the check on the block numbers is
automatically switched off.
Block numbers may be used in any sequence. The execution will be in the programmed sequence.
Eg programmed sequence : N10, N50, N30
executed sequence :N10, N50, N30
With the renumber function of the control the block numbers can automatically be numbered in
.
increasing order, starting from N1
When entering the program blocks via the control panel, the block numbers are automatically generated.
With the rename function of the control the identification number can be changed.
A part program can be given a name written between the characters control out [0 and control in D]
and directly after the block number of the first block.
With a MCsetting is determined, what will be displayed on the screen of the control, when the directory
(=list) of the part programs (IDDIR) is chosen:
%PM9001
N9001 (PLATE NR. A334)
or
%PM13576
N13576 (GEAR BOX)
Remarks:
1. Subprograms or macros are handeled in the same way as part programs, except for the memory
recognition which is % MM.
2. If the program should also be used on a Philips Control with a lower software version (V400 or
r
t
n V500), then:
 the block numbers in each program or macro should range from N1 to N8999, '
 the identification should range from N9000 to N9999999,
 the memory recognition (%PM or %MM) on the data carrier is placed in front of all part
programs or macros.
3. If a data carrier made with version V400 or V500 is read in, it is automatically recognized as such
and the information properly transfered to the memory.
I 4. ! The data transfer from the CNC to a data carrier is controlled by a MCsetting: C 33 J
=0 :the programs or macros are written as for the older software versions.
=1 :the programs or macros are written as described.
2hf
I
7 S
The movements on the machine are partly made by the tool and partly by the workpiece. To simplify the
programming it is assumed that all movements are carried out by the tool. In the machine tool/control
configuration is fixed, how the movements are executed in reality.
To establish the tool movements, an imaginary coordinate system is applied to the machine and has, as
far as part programming is concerned, a fixed relationship to the workpiece. The datum point (origin) of
the system can be chosen quite arbitrarily. The directions of the axes are laid down in international
standards, such as ISO 841, DIN 66217 or EIA RS267A.
Depending on the dimensions of the workpiece the required tool movements are then determined as
points within this coordinate system.
fr"'S
In the remainder of this manual is described how:
 to set the datum point,
 to program coordinates and movements,
 to compensate for tool dimensions,
 to enter technological data and machine functions,
 to use special features of the control.
:
r
In preparing part programs it is recommended to use program sheets. Each line represents a block and
every word in a block has its own column.
DRAWING NUMBER:
NB6172
Fig. 1.4.3.1 A typical example of a program sheet
V
O 1.5 PROGRAM STORAGE
I
More than one program or sub program (macro) can be stored in the same part of the user memory. The
actual number of stored programs and macros depends greatly on the size of each program and macro
and on the available memory capacity. The maximum number is set in the MCmemory and ranges from
16 to 1000.
With the lock function it is possible to protect part programs and macros against unauthorised editing
on the control.
The Gfunctions are classified into groups, of which only one function can be active. The active function
is cancelled by programming a different one from the same group.
At CLEAR CONTROL, thus at resetting the control system, one preparatory function from each group
is automatically preset by the control.
The preparatory functions recognized by the control, are listed in table 2.1. The groups are identified by
the letters A, B, C, D, etc. These letters are in accordance with ISO DIS 6983 and DIN 66025. The
preset functions are marked with the symbol *.
A function with no group letter () effects only the block in which it is programmed.
G4 Dwell 530
G11 Chamfer and rounding 924
G14 Jump and repeat function 911
G17 C Plane selection XYplane; tool Z Y 1) 62
G18 C Plane selection XZplane; tool Y Y D 62
+Y
+B U//X
v// Y
w//z
+x
+A
+C
+z
NB6082
The datum point (origin) of the coordinate system (X=0, Y=0, Z=0) can be any arbitrary point within the
range of the control. Refer to chapter 4 for a detailed description of the datum points.
3.2.1. THEZAXIS
The Zaxis is always parallel to the machine main spindle.On a machine with several spindles, the one at
right angles to the workpiece clamping surface is chosen as the main spindle.
The positive Zdirection runs from the centre of the workpiece to the centre of the tool. This means that
a movement in the positive Zdirection increases the distance between the workpiece and the tool.
The positive Xdirection is to the right, when looking from the spindle towards :
#
 the workpiece with a horizontal Zaxis,
The various axes together with their names and directions are shown in the figures 3.2.41, 2, 3.
If the movements are actually made by the tool, the direction of the machine motion and tool motion are
identical. If the movements are produced by the workpiece, then the direction of the machine motion
and tool motion are opposite to each other.
In the figures the positive directions of the tool motion are shown by +X, +Y, +Z and of the machine
motion by +X( +Y\ +Z.
fl
ED
+ Y
'+
A
+ x A: Tool movement
B: Machine movement
n NB7959
+ z (W)
+X
+ Y
+2
+Y
i
I
Fig. 3.2.4.3 Double column milling machine
With the latter two possibilities a position is defined in a main plane, thus a plane parallel to either the XY
plane, the XZplane or the YZplane. The plane in use is programmable with one of the Gfunctions for
plane selection.
With the absolute cartesian coordinates the position is determined by the distances measured along the
axes from the program datum point W (= origin of the coordinate system) to the endpoint of the tool
movement.
P2
:
:
r y2
;
P1
yi y
O;
.
x
x1
x2
[ NB6814
fc With the incremental cartesian coordinates the position is determined by the distances measured along
the axes from the present tool position to the final one.
& P2
Ay
0:
% P1
y
I:' X
w A x
NB6821
<
Fig. 3.3.1.2 Incremental cartesian coordinates.
Programming incremental cartesian coordinates is established by the modal function G91 and cancelled
with G90. Internally the control operates with absolute cartesian coordinates related to the program
datum point. Therefore within a particular program it is possible to change arbitrarily from absolute to
incremental and vice versa. The position on the display of the control is always absolute.
At the start of a program or at CLEAR CONTROL the control is automatically set for programming
absolute cartesian coordinates.The function G90 only has to be programmed when changing from
incremental cartesian coordinates to the absolute ones.
The coordinate value can have a plus or minus sign.With absolute cartesian coordinates the sign indicates
the position on the axis. With incremental cartesian coordinates the sign indicates the direction of
movement in the axis.
P3
P2
60 70
y
20, 30 wx 30
v
P1 30
60 P4
80
I *
!:
NB6830
In figure 3.3.1.3 a mill has to move from point P1, to P2, to P3, to P4. With' absolute cartesian
coordinates these movements are programmed as follows:
Explanation:
60
50
30
P3
P2 10
100
80
y
20. w x
Av
& P1
60 P4
 : NB6822
With incremental cartesian coordinates the movements of figure 3.3.1.4 can be programmed as follows :
L
%. N10 GO X60 Y 20 (P1)
N11 G91
M2 G1 X 30 Y 80 F1000 (P2)
I' N13
TFJ14
X 60
X 60
Y 10
Y100
(P3)
(P4)
iv
Explanation:
"SS
P2
Si
L2=
P1
<
B2=
w X
P
NB6815
iJf. '
m.
<
Section 3  8 Programming CNC3460/700 891025
The angle is programmed in decimal degrees and ranges from +360 degr to 360 degr with a minimum
value of .001 degree.
y
B2=+
+x
w B2=
P
NB6816
%
Fig. 3.3.2.2 The sign of the angle In the XYplane.
S
In the XYplane (G17 or G20 active) the angle is measured with the positive Xaxis. The angle is positive
with a rotation from +X to +Y and negative with a rotation from +X to Y
B2= +z
B2=+ +X
w
P
NB6817
In the XZplane (G18 active) the angle is measured with the positive Xaxis. The angle is positive with a
rotation from +X to Z and negative with a rotation from +X to +Z.
+y
w
p
B2= B2=+ P
NB6818
In the YZplane (G19 active) the angle is measured with the negative Zaxis. The angle is positive with a
rotation from Z to +Y and negative with a rotation from Z to Y.
L2=+ P
L2= B2=+
W
P
NB6819
L1=. P2
B1=
y P1
X
w NB7957
Refer to the description of the word B2= for the axis to be used in the different planes and the sign
conventions.
m
891025 Programming CNC3460/700 Section 3 11
The distance is programmed as a dimension word and with a sign.
P1 B1=+
L1=+ P2
B1=+
y P1 L1=
P2
x
W
NB6899
Remark : Notice that the functions G90 and G91 do not influence the use of the absolute or incremental
polar coordinates. These coordinates can be used arbitrarily in the program.
P3
P2
76.158,
.67.082
.116563
11
W 18435
63.245
PI 161565 94.868
P4
NB6820
With absolute polar coordinates the movements of figure 3.3.2.8 can be programmed as follows :
Explanation:
60.828
P31
9462 59036
85.44, 116.619
y
69444
X
w 20.
PI
60 P4
NB6824
N10 GO X 60 Y 20 (P1)
N11 G1 B1= 69.444 L1= 85.44 F1000 (P2)
N12 B1= 9.462 L1= 60.828 (P3)
N13 B1=59.036 L1=116.619 (P4)
Explanation:
The cartesian coordinate can be programmed absolute (G90 active) or incremental (G91 active).
For programming the angle refer to the description of the word B2= in section 3.3.2 for the axis to be
used in the different planes and the sign conventions.
P1 P1
y
PI B1= B1=
y.
X X
w
x
a b
NB7&58
y
B1= B1=
x X
W W
x
a b
NB6829
X2
PI 30
45
P0
y
60
wx
15 NB6825
Explanation:
rf P1 60
y P0 30
o
mi:
X
5W 25 10
NB6826
& The movement from point P0 to P1 to P2 in figure 3.3.3.4 can'be programmed as follows :
% Explanation:
A symbolic name P1, P2, etc. can be given to the points on a drawing. Then a list can be prepared with
these symbolic names and the associated absolute coordinates (cartesian or polar) of the points. With
the point definition function (G78) the symbolic name and the coordinates of the point are stored in the
point memory of the control. The number of points which can be stored, is determined by a MCsetting.
The maximum number is 255.

A G78block contains :
the symbolic name of the point programmed with the Pword as P1, P2, up to P255 or as P1=
P2= .etc.
i
a the cartesian coordinates of the point for the possible axes. For the position in the main plane
also absolute polar coordinates are allowed.
No other words are allowed in a G78 block and only one point can be defined in it.
In this case the symbolic name P1 and the associated coordinates X, Y and Z are stored in the point
memory of the control.
The symbolic name is used later on in the part program. If the block is executed, the control automatically
picks up the associated coordinates. They are assumed to be related to the program datum W in use at
h this particular moment. A point defined with polar coordinates is assumed to ly in the activated main
plane.
In the blocks with G2, G3, G77, G92 or G93 only one defined point can be written.
tr
& P2
P3
70
60
y
20, 30 Vx
30
30
PI
60 P4
80
NB6830
With the function G78 the points P1, P2, P3 and P4 from figure 3.4.1 and the associated coordinates
are stored in the point memory of the control.The movements from P1, to P2, to P3 and to P4 are
programmed with only these symbolic names.
N90 GO P1
N91 G1 P2 F1000
* N92
N93
P3
P4
P3
P2
76.158,
,67.082
.116563
801
if
7 3435
63.245
P1 161565 94.868
P4
NB6820
The movements from P1, to P2, to P3, to P4 using the point definition and the polar coordinates could
be programmed as follows :
N90 GO P1
N91 G1 P2 F1000
N92 P3
N93 P4
Up to now was described, how to program a position in the standard machine tool coordinate system.
However, it is also possible to use another coordinate system in which a position can be programmed in
the plane of the cylinder surface.
Refer to chapter 13 for programming in the plane of the cylinder surface (cylinder interpolation).
; i
j

I
1
*
<
Symbol :
4T R
Every axis of the machine has a fixed point depending on the machine design, the reference datum
point of that axis.
During REFERENCE POINT SEARCH (see operators manual) the tool moves to the reference datum
point of the selected axis (or axes ). When running over the datum point the axis is automatically zeroed
by the control and the positions of the software limit switches are set.
The reference datum points of all axes form the machine reference datum point (R).
Symbol :
M
0
The geometric machine zero datum point is also a fixed point on the machine, e.g. the centre of the
table.
When the control system is commissioned, the distances from the machine reference datum point (R) to
the geometric machine zero datum point (MO) are measured (along the axes) and stored in the machine
constant memory. Per axis a MC is available.
Once the machine reference datum point R is found after REFERENCE POINT SEARCH, the
associated dimensions are picked up by the control from the MC memory. The geometric machine zero
datum point MO is set as the origin of the coordinate system. The displayed positions are related to this
datum point.
re
891025 programming CNC3460/700 Section 4  1
0
MCDATA
Symbol:
M
I
If the machine tool has several clamping stations, such as pallet stations or more than one rotary
table, then each clamping station has its own fixed point in the geometry of the machine tool. These
fixed points are the so called secondary machine zero datum points (Mi).The distances, measured
along the axes, from the geometric machine zero datum point MO to one of the secondary machine
zero datum points Mi are stored in the zero offset memory. Six secondary points can be stored in
this way. For activating these datum points: see section 4.2.
M M
0 I
MCDATA ZEROOFFSETS
Symbol:
Once the secondary machine zero datum point Mi is determined the datum point on the mounting
device has to be established. This datum point can coincide with the active Mi or can be set via
PRESET AXIS. Refer to section 4.3.
Remark: When using an external program call with offset values (part of the optional automation
package), point C is also automatically set by the control.
Symbol:
a w
The program zero datum point W is the datum point used to describe the part program. The position of
point W depends very much on the workpiece. It is best selected in such a way, that programming
involves the minimum additional calculations. With zero datum point shifts (see section 4.4.) point W can
be located at any position of the machine tool. The shift values are either related to C (G93) or to the
last datum point W (G92).
G92 G92
to
R
s M M
e~ C W
C0 W W
0 i
MCDATA ZEROOFFSETS PRESET AXIS , G93 (92)
G93
G93
NB7978
For activating stored zero offsets the associated Gfunction is programmed in a block. At the execution
of that block the control picks up the corresponding stored offsets and uses these values for setting
the required secondary machine datum point. This datum point remains valid until another function for
the stored zero offsets is programmed and is not influenced by CLEAR CONTROL. After activating
another function, any active datum point shift (G92 or G93) is cancelled. The offset values
corresponding to an activated G52 (preset axis, section 4.3.) are not influenced.
In a block with a Gfunction for a stored zero offset dimensions can be programmed. These dimensions
are related to the new secondary machine zero datum point. Other words like F, S, T and M are also
allowed in the block.
Prior to the execution of the program the offset values must be stored in the zero offset memory of the
control. This can be done via the operators panel or a data carrier.
Part 2
Part 1
+ yl
S9! \ + x
G54 M \\
1
r% + X
G55
r
Hi + X
M M
I 1 2
NB6085
The function G54 is associated with this datum point. This function together with the dimensions are
stored in the zero offset memory.The part program for workpiece 1 starts with a G54block for
activating M1.
The machine zero datum point of the second workpiece is related to preparatory function G55.
The distances between MO and M2 are as follows:
These dimensions together with the function G55 are also stored in the zero offset memory.The part
program for workpiece 2 starts with G55 for activating M2.
With the function G51 the stored preset values are ignored.The function G51 is automatically activated
at switching on the control or after REFERENCE POINT SEARCH.
The functions G51 or G52 are not influenced by CLEAR CONTROL. If G51 or G52 is activated, any
active datum point shift (G92 or G93) is cancelled. An active function for stored zero offsets (G54 to
G59) is not influenced.
re
891025 programming CNC3460/700 Section 4  5
After switching off the control or in case of a power failure the datum point is lost. The datum point of
the mounting C once found with PRESET AXIS can be reestablished via TEACH IN and G52 without
making new measurements for finding the datum point. If one of the functions G54 to G59 is used in
the program, but not programmed, then that function has to be activated too.
The functions G51 or G52 can also be used in the part program. In such a block dimensions can be
programmed too. These dimensions are related to the zero datum point of the mounting. Other words
like F, S, T and M are also allowed in the block.
Remark : If the part can be mounted very precisely, then determining the datum point of the
mounting (C) via PRESET AXIS is avoided. In this case C coincides with the active
machine zero datum point (MO or Mi).
There are two preparatory functions for a zero datum point shift:
G92 : The coordinates of the new program zero datum point refer to the previous one.
This function is preferred, if the program contains repeats.
 G93 : The coordinates of the new program zero datum point refer to the zero datum point of the
mounting (C). Function G93 is used:
 For shifting the zero datum point from C to the program zero datum point W.
 To cancel several consecutively performed zero datum point shifts, programmed
with G92.
In a part program the zero datum point can be changed several times and both ways of zero datum
point shifts may be used alternately.
At CLEAR CONTROL or if one of the Gfunctions G51 to G59 are executed, the datum point shifts are
cancelled.

40
40
aKfr
70
1+
4443

!4
40
Trbf
44
50 :6
40
*
w
90 200
Z=0
NB7956
The four holes around point A and the four holes around B should be drilled. In the program the zero
datum point is located at A or at B. In this way calculations during programming are reduced to a
minimum.Refer to chapter 8 of this programming manual for the Gfunctions G81 and G79.
Explanation:
The program is equivalent to the previous one, except the following modifications:
If the points A and B have the same Ycoordinate, block N16 looks as follows:
With a series of the same products it is useful to make a special mounting so that the position of the part
in the geometry of the machine tool is known very accurately. In this case the program can run each time
with the less interference of the operator.
The part program starts with a zero datum point shift (G93) from machine zero datum point (MO or Mi)
to program zero datum point (W).
+y
+x
100 +y M
'W + x
NB7955
The machine zero datum point (MO or Mi) is situated in the centre of the table. The workpiece is clamped
in such a way that its centre is also in the centre of the table. The program zero datum point (W) is
selected in a corner of the workpiece.
One of the first blocks in the part program then could be:
/
N20 G93 X200 Y100
After processing this block, W will be the program zero datum point.
If the position of the workpiece with respect to the machine zero datum point (MO or Mi) is not known
to the part programmer, he indicates on the drawing of the mounting where the datum point of the
mounting C should be and starts his program with the function G52.
Before the execution of the program the operator has to determine  either with measuring clocks or a
tool of known diameter  the position of C with respect to MO or Mi. With PRESET AXIS (see section
4.3 and the operator's manual) the position of C together with the function G52 is stored in the offset
memory.
I I
I i
'wmmmmmmm. dl
NB7324
A cutter 0 80 is moved so that it touches the workpiece on two sides. Once this position is reached, the
datum point of the mounting C is established by entering the values X40 and Y40 via the keyboard
(see operator s manual PRESET AXIS). After finishing PRESET AXIS, point C is the zero datum point
and the function G52 automaticcaly activated.
Remark : A zero datum point shift (G92 or G93) entered in TEACH IN  will not work, because such
a zero point shift is cancelled at CLEAR CONTROL.If the block with G92/G93 is in the
part program, the block will be executed correctly. But after switching off the control the
datum point is lost and has to be established again.
A movement with rapid traverse rate to the endpoint is programmed with the function GO. Refer to
chapter 3 for programming the endpoint. Absolute positions are programmed with regard to W.
The movement is executed with INPOSITION, i.e. all axes must have reached their position before the
next movement starts.
With a parameter in a G28block the movements in the next block can be forced to start without
INPOSITION, thus without a stop between the blocks (See section 5.8.1 for INPOSITION).
All six axes can be programmed in the block, but there is a fixed sequence in which the axes move, the
so called positioning logic (See section 5.1.2.). The positioning logic can be switched off with a G28 (See
section 5.8.2). In that case all programmed axes move simultaneously.
In a GOblock all axes recognized by the control, can be programmed, but there is a fixed sequence in
which the axes will move. The fixed sequence (= the positioning logic) depends on the active Gfunction
for the main plane and on the movement in the tool axis.
With G66 active a movement in the negative direction and with G67 active in the positive direction of
the tool axis.
With G66 active a movement in the positive direction and with G67 active in the negative direction of
the tool axis.
Remark :
1. If the axes 5 and/or 6 are also programmed, they move simultaneously with the 4.axis.
3. The movement in the main plane is under full control of the linear interpolator.
P1
10 (10, 10, 20)
5 
y  +y
x' +z
w 5 10 15 20 25 10 W '
20
NB5788
N40 GO X 25 Y 15 Z 10
N40 GO X 10 Y 10 Z 20
In this case the actual movements are (G17 and G66 are assumed to be active):
If the positioning logic is switched off, the positioning from P1 to P2 can be programmed as :
For programming cycles for toolchangers, pallet stations, etc. a movement with rapid traverse rate to a
position with regard to the reference point R is introduced. This movement is programmed with G74.
All datum point offsets (from R to M0, from M0 to Mi, from Mi to C and from C to W) are suppressed
during the execution of the G74block. The programmed position is not influenced by axes rotation or
scaling.
All axes can be programmed in a block and they move simultaneously during the execution of the G74
block.The movement is executed with INPOSITION, i.e. all axes must have reached their position before
the next movement starts. (See section 5.8.1 INPOSITION ).
After the execution of the G74block all datum point offsets and the tool length (if suppressed) become
active again. The movement to the next position in the part program is executed with the previously
programmed Gfunction of group A. Be sure that this is one of the functions GO or G1.
An incremental position after a G74block has to be programmed with regard to the position in the G74
block.
The function G74 is not allowed during the geometry (G64 active).
33
y
120
ih
W 45
G93
y
x
G54 M,
x
MC y M
o
R
"MC G54 G93
130
NB7980
Fig. 5.1.3.1 A positioning with regard to R
From point P in figure 5.1.3.1 the coordinates are known with regard to R. The positioning to P is
programmed as :
N10 GO X 45 Y 33
N11 G74 X130 Y120
f
Section 5  4 Programming CNC3460/700 891025
5.2. LINEAR INTERPOLATION [G1]
In linear interpolation activated with the function G1, the tool moves with the programmed feedrate (F
word) along a straight line between the starting point, i.e. the actual tool position, and the programmed
endpoint. For a position in the main plane defined by G17, G18 or G19 all possibilities from chapter 3
can be used. A position outside the main plane can be programmed with cartesian coordinates only.
Up to 10 previously defined points (Pword) are allowed in one G1block. The points are approached in
the order in which they are written in the block.
The next movement starts as soon as the programmed position is reached according to the calculations
in the control. With a parameter in a G28block the movements can be forced to actually reach the
position (See section 5.8.1 for INPOSITION).
With one or two linear axes in a G1 block a straight line in the plane defined by the endpoint
coordinates is made.
50 10
NB7979
N9001
N1
N2
N3
G54
GO
G1
X 30 Y57.5Z12 S500
F500
T1 M6
M3
N4 G43 Y42.5
N5 G41
N6 G1 X25
N7 B1= 120 L1=50
N8 B1= 60 L1=50
N9 X 25
N10 B1= 60 L1=50
N11 B1=120 L1=50
N12 G40
N13 GO X 30 Y57.5
N14 Z100
N15 M30
Explanation:
Using a rotary axis only or with one linear axis results in a number of cases which are described
separately. For explaining the possibilities it is assumed that the rotation takes place about the Yaxis,
thus the rotary axis is programmed with B. The tool is either in the Z (X) or Yaxis. The radius from
the pivot centre to the surface is programmed with the word B40=.. (A40=.. for the Aaxis and C40=..
for the Caxis).
Remark :
1. In stead of the word B40= (A40= or C40=) the Rword can be used.
2. In stead of the axes X, Y and Z the parallel axes U, V and W (if available) can be used.
x
W
z
NB7981
y z
W w
x x
NB7982
In both cases the programming of the movement with the rotary axis is as follows:
Otherwise, F.. is the feedrate on the surface in mm (inches) /min or mm (inches) /rev.
fl
2. Y and Baxis
\
\
\
i *
i
i t >
I
I
J /
/
$ /
J
B+
/
X+ <
Fig. S.2.2.3 Movement with Y and Baxis
If the pivot radius (B40=.) is programmed, F.. is the surface feed in mm(inches)/min or mm (inches) /rev.
If the pivot radius is not programmed, F.. is the feed along the linear axis. The speed for the rotary axis
is calculated by the control and adapted, so that both axes have covered the same part of their
distances to go in the same time. If the maximum feed of an axis (MCsetting) is exceeded, the actual
feed is reduced, so that the movement is executed with the maximum feedrate.
Refer to chapter 13 for programming more complicated movements in the plane of the cylinder surface.
LV
\\\
lV r I'll
IJ
i i h/
s?
1
y
Fig. 5.2.2.4 A spiral in the facing plane
B40=.. : the average radius of the path. This radius is used for speed calculations in the control.
When Rb is the radius at the start and Re the radius at the end, then:
Rb + Re
B40 =
2
111m
; 5 I !
:
I ; I i l
0
y i \\\'\\\\\ i
!
:
i i
I I
:
X
X \ I
I
I I
1 11 \ 1 I I !I
4 20_
n
891025 Programming CNC3460/700 Section 5  9
The helix of figure 5.2.2.5 (pitch 6 mm ; 10 turns) should be made on the surface of a cylinder. The tool
is in the Zaxis. The program for this helix could be:
N10 G17 T1 M6
N11 GO X 20 Y 80 Z 22 BO S200 M3
N12 G1 Z18 F100
N13 Y 20 B3600 B40=20 F200
N14 GO Z100
Explanation:
N10 : Load the tool (mill 0/3). Tool is in the Zaxis (G17).
N11 Start the spindle and move tool to starting position
N12 Move tool to depth
M3 : Mill the helix.
Ten turns of the rotary axis are programmed (Bword).
N14 Move tool away from part
The spiral of figure S.2.2.6 (pitch 6 mm ; 4 turns) should be made with the rotary table and a
simultaneous movement of the Zaxis. The program could be:
N10 G18 T1 M6
N11 GO X0 Y2 Z5 B0 S200 M3
N12 G1 Y2 F100
N13 Z29 B1440 B40=17 F200
N14 GO Y100
Explanation:
N10 : Load the tool (mill 0/3). Tool is in the Yaxis (G18).
N11 Start the spindle and move tool to starting position
N12 Move tool to depth
N13 : Mill the spiral. (Rb=5 and Re=29, so B40=17)
Four turns of the rotary axis are programmed (Bword).
N14 Move tool away from part
Refer to section 5.2.4 for linear movements with which more than one rotary axis is involved.
If the three main axes X, Y and Z are programmed in one block, a straight line in space is made. The pro
grammed feedrate is the speed along the straight line
In the main plane all possibilities for programming a position (see chapter 3) and the radius compensa
tion (see chapter 6) can be used.
Included in the CADoption of the control is a 3Dtool correction with normalized vectors. Refer to
chapter 6 for a description of this option.
REMARK : The linear axes U, V or W (if available on the machine tool) parallel to the main axes can be
used in stead of X, Y or Z. The axes U, V and W are restricted to cartesian coordinates.
20 
10.
ya
10 (20) 30
/
Z W /
10
/(20) /
P1 //
(5) l
20/ll> (40)
P2 /
/
30
(10)
(30)
j /
40
/
NB5787A
n
891025 Programming CNC3460/700 Section 511
In figure 5.2.3.1.1 the tool moves from point P1 (10, 5, 20) to point P2 (30, 10, 40) at a feedrate of
100mm/min. With absolute dimensions the movement could be programmed as follows:
N14 GO X 10 Y 5 Z 20
N15 G1 X 30 Y 10 Z 40 F100
In block N15 the three axes move simultaneously and reach their endpositions at the same time.
\
2
%r7 z>
A part program for the workpiece from figure 5.2.3.1.2 using radius compensation could be:
N9003 T1 M6
N1 X 80 Y20 ZO S2000 M3
N2 G1 F1000
N3 G43 X 80 YO
N4 G41 X 75
N5 XO Y 75 Z10
N6 X 75 Y100 ZO
N7 G40
N8 Y120 M30
\
r* \ \
\ i
i
l !
t
:
I
t 6
/ x
Refer to section 5.2.2 (1) for cancelling the radius, (2) for the Fword and (3) for calculating the
average radius.
In a G1block any combination of the three linear axes X(U), Y (V) or Z (W) and the three rotary
axes A, B or C (if available) is allowed. A position in the main plane can be programmed as described in
chapter 3. The programming of the other axes is restricted to cartesian coordinates.
o
ITi
It s
c*
X
v
Fig. 5.2.4.1 Machine tool with rotary table and tilting head
T Y
xJgz
*r
Fig. 5.2.4.2 Machine tool with rotary table and tilting table
For feed calculations the radius of each rotary axis involved, can be programmed with A40= (for the A
axis), B40= (for the Baxis) and C40= (for the Caxis). If the radius of an axis is not programmed, the
feed for that axis is calculated by the control. If no radius is programmed at all, the programmed feed is
used on the path of the linear axes and a feed for each rotary axis calculated, so that all axes have
covered the same part of their distances to go in the same time. If the maximum feed of an axis (MC
setting) is exceeded, the actual feed is reduced, so that the movement is executed with the maximum
feedrate.
n
Section 514 Programming CNC3460/700 891025
5.3. CIRCULAR INTERPOLATION
r In circular interpolation, the tool moves with the programmed feedrate (Fword) along a circular arc
between the starting point, i.e. the actual tool position, and the programmed endpoint.
The next block starts as soon as the programmed position is reached according to the calculations in the
control. With a parameter in a G28block the movements can be forced to actually reach the position
(See section 5.8.1 INPOSITION).
Circular interpolation is always executed in a plane parallel to one of the main planes, thus the XYplane,
the XZplane or the YZplane and is restricted to linear axes only.
a. the tool is perpendicular to the plane of the circle. Now it is parallel to the main plane defined by
G17, G18 or G19. This case is described in section 5.3.2.
b. the tool is not perpendicular to the plane of the circle. This case is described in section 5.3.3.
To determine the direction of movement one has to look in the negative direction of the axis
perpendicular to the plane of the circle. Then the movement is called clockwise (counterclockwise), when
the direction of movement on the arc is clockwise (counterclockwise). The preparatory function G2 is
used to indicate the clockwise movement and G3 for counterclockwise.
,Y ,Y
r z
NB5790
02 G3
Remark : When the function G67 is active (see section 6.1.2.), one has to look from the tool to the
plane.
r
' 891025 Programming CNC3460/700 Section 5 15
5.3.2.A CIRCLE IN A PLANE PERPENDICULAR TO THE TOOLAXIS
The following description applies only, if the tool is perpendicular to the plane of the circle. In this case
the radius compensation (see chapter 6) can also be used. n
Refer to section 5.3.3 if the tool is not perpendicular to the plane of the circle.
An arc of any angle between 0 and 360 degrees can also be programmed with the centre point
coordinates and the angle of the arc. The angle is programmed with the word B5= in decimal degrees.
The value is always positive and ranges from 0 to 360 degrees.
The coordinates of the centre of the circle can be programmed with cartesian (absolute or incremental)
coordinates or with polar coordinates (absolute only).
If centre point coordinates are used, the radius of the circular movement at the start is compared with
the one at the end. If the difference between these two radius values is greater than a MCsetting, an
error is displayed and program execution stopped.
The cartesian coordinates are programmed with the words I for the Xaxis, J for the Yaxis and K for
the Zaxis If G90 is active, thus absolute cartesian coordinates, then I, J and K are also coordinates with n
regard to W. If G91 is active, I, J and K are incremental values from the starting point to the centre.
r\
Section 5 16 Programming CNC3460/700 891025
r
rb
Y I
K
a=:
Y
t
K
A
x
o2
w w I
X
gao S9
The (absolute) polar coordinates of the centre are programmed with the words :
 B3= : the angle the line through the program datum point W and the centre of the circle makes
with an axis.
Y
B3
W X
Refer to section 3.3.2 the description of B2= and L2= for the programming conventions of the polar
angle and length.
B
n
3S
25 fA
15 .y
35 45 55
N10
N20
G1
G3
X 55
X 45
Y 25
Y 35 R 10
F100
n
Explanation:
B
o
o
Y
o
;
W * 30
(0 NB6827
:
N10 G1 X 30 Y 30 F500
N11 G2 B5=120 1 40 J 20
n
:]
Sections  18 Programming CNC3460/700 891025
Explanation:
40
K os s 25 )
30
25 ,<303 A 142.5; 10.0671
20
8 (19 ; 251
Y, A*
C W
20 30 j 40
!
r 35
NBS791
Explanation:
r
891025 Programming CNC3460/700 Section 5 19
Explanation:
i N10 Linear feed movement to the starting point A of the arc (absolute dimensions are used)
N11 Set the programming for incremental coordinates o
N12 Here the coordinates X and Y are increments from point A to B. The coordinates I and J are
incremental values from A to the centre.
PQ
[45
P1
CO 15
B
a K
P2*
Yi
:s
P3
NB6831
The cutter path from figure 5.3.2.1.6 can be programmed as follows using polar coordinates from PO to
P1 to P2 to P3.
N10 GO XO Y 56.568
N11 G1 B1=45 L1= 25 F200
N12 G2 B1=45 L1= 30 B3= 45 L3= 40
N13 G1 B1=45 L1= 25
Explanation:
n
Section 5  20 Programming CNC3460/700 891025
5.3.2.2. PROGRAMMING A FULL CIRCLE
After making a full circle the tool is back at its starting point. Therefore making a full circle is programmed
fs with:
 the direction of movement on the circle
the coordinates of the centre point.
I
I
*
s
i
1
r ii
AJ
JI.
Explanation:
N10 With rapid traverse to point A, where the tool enters the hole.
N11 Set the function for a linear feed movement
N12 Move with feed (100mm/min) to the wall (G43)
N13 Set radius compensation for a tool moving on the left hand side (G41).
N14 Mill the full circle in clockwise direction (G2)
N15 Cancel radius compensation (G40)
N16 Move tool away from the wall
N17 Retract the tool out of the hole
Refer to chapter 6 for an explanation of the functions for radius compensation (G40G44).
r
891025 Programming CNC3460/700 Section 5  21
5.3.3. A CIRCLE NOT IN THE MAIN PLANE
When e.g. a circle has to be made in the XZplane and the tool, e.g. a ball cutter, is standing in the Z
axis, then the tool is not perpendicular to the plane of the circle. The following description applies for
these occasions.
0
Only cartesian coordinates (absolute or incremental) for the centre point or endpoint can be used. Also
the use of a previously defined point for the endpoint is restricted to cartesian coordinates. Radius
compensation is not possible.
For an arc up to 180 degrees either the radius (Rword) and both endpoint coordinates with which the
plane of the circle is defined, or the cartesian coordinates of the centre point can be programmed. If the
arc is greater than 180 degrees the cartesian coordinates of the centre point should be used.
If the centre point coordinates are used, these two coordinates define the plane of the circle and are
programmed with the words I for the Xaxis, J for the Yaxis and K for the Zaxis.lf Q90 is active, thus
absolute cartesian coordinates, then I, J and K are also coordinates with regard to W.lf G91 is active, I,
J and K are incremental values from the starting point to the centre.
O
..2
V x
sfj
n
Section 5  22 Programming CNC3460/700 891025
With a ball cutter 0 / 10 the shape of figure 5.3.3.1 should be milled. The cutter path has to be
calculated and programmed. The program could be as follows:
N10 T1 M6
N11 GO X 15 YO ZO S1000 M3
M2 G1 X 20 F200
N13 G3 X20 ZO R20
N14 G1 X15
Explanation:
If the machine tool is equipped with a linear axis parallel to one of the main axes, this linear axis can also
be used with circular interpolation. In the plane with such a linear axis polar coordinates and radius com
pensation are not defined and cannot be used.
With the cartesian coordinates of the endpoint the plane of the circle is defined. So both coordinates of
the endpoint have to be programmed.
For an arc up to 180 degrees either the radius (Rword) or the cartesian coordinates (absolute or
incremental) of the centre point can be programmed. If the arc is greater than 180 degrees the cartesian
coordinates of the centre point should be used.
The centre point coordinates are programmed with the words I for the Uaxis, J for the Vaxis and K
for the Waxis.
Absolute coordinates have to be used, if G90 is active and increments from the starting point to the
centre, if G91 is active.
r
891025 Programming CNC3460/700 Section 5  23
From the tables 5.3.4.1 to 4 can be derived, which centre point coordinates belong to which plane.
O
Section 5  24 Programming CNC3460/700 891025
5.4. CIRCULAR ARC WITH A SIMULTANEOUS MOVEMENT OF THE THIRD AXIS
A special interpolation procedure (2.5D) is available to perform a circular movement and simultaneously a
movement in the third axis. The total movement is executed in such a way, that the same part on the
circle and the linear axis is covered at each time.The programmed feedrate (Fword) is the surface speed.
If the circular movement is made in the main plane, the circle can be programmed as described in section
5.3.2. The third axis is the toolaxis and programmed with the corresponding word, thus:
toolaxis Z Y X
y 25.
X
w
r NB7983
N10 T1 M6
N11 GO XO Y 35 ZO S1000 M3
N12 G1 F500
N13 G43 Y 25
N14 G41
N15 G2 X25 YO Z21 1 0 JO
N16 G40
N17 G1 X35
r
891025 Programming CNC3460/700 Section 5  25
Explanation:
Refer to chapter 6 for an explanation of the functions for radius compensation (G40G44).
Refer to section 5.3.3. for programming a circle not in the main plane. The plane of the circle is defined
by the cartesian coordinates of the centre point. Programming the radius of an arc (Rword) is not
possible. Thus the programming is :
third axis Z Y X
In section 5.2.2 (point 2) is described how a helix can be made on a cylinder which axis coincides with
the axis of the rotary table. With helix interpolation a helix on any cylinder surface can be milled and is
programmed with:
 the circular movement in the main plane as described in section 5.3.2,
 the pitch of the helix,
 (if necessary) the endpoint of the Linear movement.
tool axis Z Y X
r angle of arc
pitch of helix
B5=
K
B5=
J
B5=
With helix interpolation the word B5 ranges from 0 to 999999. This about 900 turns. During helix
interpolation the radius compensation can be used.
m /
r i
T
o Y
J4
w
X
15 40 
80
Z=0
r
891025 Programming CNC3460/700 Section 5  27
The thread of figure 5.5.1 should be made. The program could be as follows:
N10 G17 T1 M6
N11 GO X 40 Y 40 Z 1.5 S400 M3
N12 G1
N13 G43 Y 62.5 F120
N14 G42
N15 G2 140 J 40 K 1.5 B5=4320
N16 G40
N17 G1 Y 40
N18 GO Z100
Explanation:
* tool axis
circle endpoint
G17
Xand Y
G18
XandZ
G19
Y and Z
pitch of helix K J I
third axis Z Y X
In this case:
1. The movements have to be programmed in such a way that the circular movement and the tool
r 2.
axismovement reach their endposition at the same time.
If radius compensation is used, the contour should be entered and left tangentially
Programmed are :
 circle endpoint (X and Y),
 depth (Z),
 circle centre (I and J),
 pitch of thread (K).
G94 active
With G94 active the feedrate (Fword) is programmed directly in mm/min or inch/min, depending on the
activated function for metric (G71) or inch (G70).
C
891025 Programming CNC3460/700 Section 5  29
G95 active
With G95 active the feedrate (Fword) is programmed in mm/rev or inch/rev, depending on the
activated function for metric (G71) or inch (G70). r
V
The conversion to a feedrate in mm/min (inch/min) is carried out automatically by the control. If a spindle
transducer is available the measured spindle speed is used for the calculation; otherwise the programmed
speed.
The function G26 is used to make the feed override on the operator's panel inoperative and fixed to
100%. Thus all following feed movements (G1, G2, G3) are executed with the programmed feedrate.
The feed override remains operative during the rapid movements (GO, G74) and the machining cycles.
With the function G25 the feed override is made operative again.
The function G25 is automatically set at the start of a program or at CLEAR CONTROL.
A regular pause in the part program with a programmable duration of time can be executed for some
purpose.
The function is only effective in the block in which it is programmed. Any previously activated G
function, Mfunction, etc. remains valid for the subsequent blocks.
N10 G4 X2.5
During a movement the actual tool position is different from the position calculated by the control
(commanded position). How much the tool lags, depends on the velocity of the tool and the
characteristics of the machine tool.
position
A
/ 'A
r
position calculated by the control
At the time to the programmed position is reached according to the calculations in the control. At this
moment the calculations stop, but the tool is still moving. At the time t1 the programmed position is
actually reached by the tool. At this moment the tool is at rest or "INPOSITION".
So a movement without INPOSITION means, that the next movement starts as soon as the
programmed position is reached according to the calculations in the control. This is usually the case with
feed movements (G1, G2 or G3), because there is no stop between the blocks. A movement with
INPOSITION means, that the next movement starts as soon as the programmed position is actually
reached by the tool. This is usually the case with rapid movements.
r The words I3= and I4= in a G28block are used to program how the tool has to reach the programmed
position :
r
891025 Programming CNC3460/700 Section 5  31
5.8.2. SWITCHING ON/OFF THE POSITIONING LOGIC P5]
With the word 15= in a G28block is programmed how the positioning logic in a GOblock has to be
executed:
The parameters of a G28block are modal and remain active until the same parameter is programmed
with the opposite value in another G28block or until all parameters are set to their default values with a
G27 or at CLEAR CONTROL.
n
Section 5  32 Programming CNC3460/700 891025
 PHILIPS I I" PHTC 1
Lny
MACHINE
I TOOL I CNC3000 Series
1 CONTROLS 1
The adapted text concerns the two paragraphs on page 5 below figure 6.1.2.1.
Also the text on page 16 is adapted, the description of F1=1 and F1=2 has changed.
PHILIPS
PHILIPS
6.1.2. TOOL IN DIFFERENT DIRECTIONS OF THE TOOL AXIS [G66/G67]
The calculation for the length compensation must be executed in the direction the tool is pointing.
However, with e.g. an angular head in the Xaxis, the tool can be pointing in either the positive or
negative direction of the tool axis. This would mean that the length value in the tool memory should be
positive or negative respectively.
Two preparatory functions (G66 and G67) are provided to indicate in which direction the tool is
pointing:
G66 : The tool is pointing in the negative direction of the toolaxis, thus a movement in the negative
direction is a movement towards the workpiece.
G67 : The tool is pointing in the positive direction of the toolaxis, thus a movement in the negative
direction is a movement away from the workpiece.
G18/G67
.G19/G67
X
G17/G66 W G17/G67
X
G19/G66
G18/G66
N05797
With the use of these functions the operator can always enter a positive length value in the
tool memory.
The direction of rotation for circular interpolation (G2/G3) is determined by looking from the tool at the
plane for the circle.
If necessary, a conversion is automatically performed by the control during the execution of the program.
The Gcode for radius compensation (G41/G42) has to be determined by looking at the plane in the neg
ative direction of the toolaxis.
The last used function is not influenced by CLEAR CONTROL. The function G66 is automatically
activated after switching on. Because, in most cases the tool is pointing in either the negative Z or with
an angular head in the negative Ydirection, there is no need to program the function G66. Only if the
tool can be used in the V or direction, one of the functions G66 or G67 have to be programmed.
If any edge has to be machined, the part programmer can calculate and program the cutter path taking
into account the tool radius. When that program is executed, a tool with the appropriate radius has to
be used, for otherwise the wrong workpiece is made. To make the execution more flexible it is possible:
 to store in the tool memory a correctionvalue on the radius:
1
"+" for an oversized cutter and
for an undersized one.
 to use the radius compensation as described in the following sections with this correction.
The tool radius compensation of the control permits programming the edge without knowing the tool
radius. The calculation of the cutter path is left to the control which uses the stored radius of the active
tool. The actual size of the tool is not used in the program, so at execution any radius can be used.
There are five preparatory functions (G40, G41, G42, G43, G44) for the radius compensation forming
one group of which only one function can be active at a time. The 3Dtool correction with normalized
vectors is activated with G141.
G40 : Cancel radius compensation.
All programmed positions are related to the tool tip.
Refer to section 6.2.4.
A
B
N8S808
Sample program 2 for cancelling radius compensation with a movement in the G40block.
N10 G41
N..
N20 G1 XB YB
N21 G40 XE YE
N22
Remark : If the control generates a circle between the movements AB and BE, this circle (from B to
B" in figure 6.2.4.3) is executed and then the movement to point E takes place.
jr
/
/
/
/
/
E
NB6170
controlled. With radius compensation active the control can adapt the programmed feedrate to the feed
[F1=]
In general the feedrate on the surface of the tool is programmed. However, the velocity of the tool tip is
of the tool tip taking into account the used tool radius. With the word F1= the type of feed adaptation is
1
programmed.
 F1=0 : No feed adaptation the programmed feedrate is the velocity of the tool tip.
 F1=1 : If the tool is moving on the inside of a circular arc, the feedrate is reduced taking into ac
count the used tool radius.
 F1=2 : If the tool is moving on the inside of a circular arc, the feedrate is reduced and with a
movement on the outside the feedrate is increased. In both cases the used tool radius is
taken into account. If the calculated feedrate is greater than a maximum value (MCsetting),
the exeeded value is used.
 F1=3 : If the tool is moving on the outside of a circular arc, the feedrate is increased taking into
account the used tool radius. When the increased feedrate is greater than a maximum value
(MCsetting), that value is used.
The word F1= is modal; so its fuction remains active until changed by another word F1= or by CLEAR
CONTROL. In the latter case F1=0 is set.
150
0 2>
0
X X
o
i X
X
X
X
/
Y'X/
X
X
X
4 t
W X
B
00
Fig. 6.2.6.1 Milling around with contouring radius compensation
i
Section 6 16 Programming CNC3460/M600/M700 900704
6. TOOL COMPENSATION
The tool point or tool tip (point S in figure 6.1), i.e. the intersection point of the tool centre line with
the tool face, is the important point of the tool. The movements of this point should be programmed.
L
L L
R
S R s
D NB8222
In the first case the path of the tool tip, the cutter path, is calculated and programmed. Fixed tools with
the dimensions from the program have to be used during execution.
In the second case the part dimensions are programmed directly from the drawing. The tool dimensions
are stored in the tool memory of the control and taken into account during execution.
NC5669 NC5667
For each tool the distance between the fixed spindle point and the tool point, the tool length, has to be
measured and stored in the tool memory. Whilst executing the program, the control picks up the length
of the activated tool and automatically converts all tool axis positions of the tool point to positions of
the fixed spindle point. See section 6.4 for activating a tool.
So with tool length compensation the part programmer can derive the positions of the tool axis directly
from the drawing.
.
6.1.1 TOOL IN DIFFERENT AXES AND PLANE SELECTION [G17/G19]
Normally the tool is standing in the Zaxis. On many machine tools it is possible to employ an angular
head equipment to use the tool parallel to another main axis (X or Y).
For the part programmer the axes configuration of the machine tool remains unaltered, when an angular
head is attached. With a preparatory function, G17 through G19, he can indicate in which axis the tool
is used. The control uses this function to execute the length compensation and the fixed cycles in the
axis the tool is standing. Perpendicular to the tool axis is the plane for polar coordinates, radius
compensation and geometry.
The functions G17 through G19 form one group and only one function from this group can be active at
a time. The active function is not influenced by CLEAR CONTROL.
%
Section 6  2 Programming CNC3460/700 891025
One of the functions G17, G18 or G19 (a MCsetting) is automatically activated after switching on the
control.
When an angular head is used or removed, the associated function (G17, G18 or G19) and the
dimensions of the angular head have to be programmed. The dimesions are taken into account with:
 a zeropoint shift (G92 or G93),
 a stored zero offset (G54 to G59).
The latter possibility should be preferred, because in this case the part program remains independent of
the dimensions of the angular head.
After activating one of the functions G17, G18 or G19 the length compensation in the previous axis is
automatically cancelled and executed in the newly defined one. There is no movement in either axis.
100
NB579S
A hole in the XYplane and one in the XZplane should be drilled (figure 6.1.1.1). First the tool is
standing in the Zaxis and with an angular head in the Yaxis.
N10 G17 T1 M6
N11 GO X50 Y 50 Z 1 S1000 M3
N12 G1 Z10 F200
N13 GO Z 1
N14 Y200 M5
N15 G18 T2 M6
N16 G55 M3
N17 GO Y101 Z50
N18 G1 Y 91
N19 GO Y101
EE
!
N10 : Load tool T1 and indicate that the tool is standing in the Zaxis (G17).
N11 : The point in the XYplane is approached .
N12 : The tool feeds to depth in the Zaxis.
N13 : The tool is retracted out of the hole.
N14 : Remove the tool in Y so far that the angular head can be used and stop the spindle.
N15 : Load tool T2 and indicate that the tool is standing in the Yaxis (G18).
i.
Y
NB5796
N16 : Use a stored zero offset (G55) to consider the distances a1 and a2 of the angular head. These
values have to be stored in the zero offset memory prior to the start of the program.
N17 : The point in the XZ plane is approached.
N18 : The tool feeds to depth in the Yaxis.
N19 : The tool is retracted out of the hole.
The calculation for the length compensation must be executed in the direction the tool is pointing.
However, with e.g. an angular head in the Xaxis, the tool can be pointing in either the positive or
negative direction of the tool axis. This would mean that the length value in the tool memory should be
positive or negative respectively.
Two preparatory functions (G66 and G67) are provided to indicate in which direction the tool is
pointing:
G66 : The tool is pointing in the negative direction of the toolaxis, thus a movement in the negative
direction is a movement towards the workpiece.
G67 : The tool is pointing in the positive direction of the toolaxis, thus a movement in the negative
direction is a movement away from the workpiece.
G18/G67
.G19/G67
X
>
'
G17/G66 W G17/G67
X
G19/G66
G18/G66
NB5797
The last used function is not influenced by CLEAR CONTROL. The function G66 is automatically
activated after switching on. Because, in most cases the tool is pointing in either the negative Z or with
an angular head in the negative Ydirection, there is no need to program the function G66. Only if the
tool can be used in the "+" or direction, one of the functions G66 or G67 have to be programmed.
With milling operations the tool radius must always be considered. With movements over a surface, the
part programmer has to calculate and to program the cutter path, thus the path of the tool point.
If any edge has to be machined, the part programmer can calculate and program the cutter path taking
into account the tool radius. When that program is executed, a tool with the appropriate radius has to
be used, for otherwise the wrong workpiece is made. To make the execution more flexible it is possible:
 to store in the tool memory a correctionvalue on the radius:
"+" for an oversized cutter and
for an undersized one.
 to use the radius compensation as described in the following sections with this correction.
The tool radius compensation of the control permits programming the edge without knowing the tool
radius. The calculation of the cutter path is left to the control which uses the stored radius of the active
tool. The actual size of the tool is not used in the program, so at execution any radius can be used.
There are five preparatory functions (G40, G41, G42, G43, G44) for the radius compensation forming
one group of which only one function can be active at a time. The 3Dtool correction with normalized
vectors is activated with G141.
G43 : Radius compensation, TO. The tool is moving in a straight line from the point the tool is
standing to the programmed endpoint. The cutter edge is on the endpoint and the tool tip
the radius before it. The tool radius is subtracted from the programmed coordinate(s).
G44 : Radius compensation, PAST. The tool is moving in a straight line from .the point the tool is
standing past the programmed endpoint. The cutter edge is on the endpoint and the tool tip
the radius past it. The tool radius is added to the programmed coordinate(s).
/B,
B;
A G43
GU
NB5800
With both functions the calculation is performed on the programmed coordinate(s). So, if both
coordinates are programmed the position in both axes is recalculated. This offers the possibility to enter
a contour on the normal of any contour element. See section 6.2.3.
If only one coordinate is programmed, the position in this axis is changed, whereas the other one is not
influenced. This means that the functions can be used with axis parallel milling.
the tool moves in the Xaxis only TO the programmed position 100. There is no movement in the Yaxis.
In this case the tool moves in the Yaxis only PAST the programmed position and there is no movement
in the Xaxis.
In a G40block the tool tip moves to the programmed position. Because the radius compensation is
cancelled in both axes, this may result in a movement in an axis, which is not programmed in the G40
block.
'50
<3 3
Z Z
z z
o
i* z
/
z
z
z
t
l~ ('//////////////////
(<. *
w
Q
0
Fig. 6.2.1.2 Axis parallel milling
The part program for milling around the workpiece of figure 6.2.1.2 could look like:
N9 T1 M6
N10 X200 Y20 Z5 S1000 M3
N11 G43 X150
N12 G1 F200
N13 G44 Y 80
N14 X0
N15 Y0
N16 X150
N17 G40 Y20
N18 GO X200
Explanation:
*
in the following blocks.
N14 : Feed movement along the Xaxis PAST edge X0 (point 3). Here the tool tip has a negative X
value.
N15 : Feed movement along the Yaxis PAST edge YO (point 4).
N16 Feed movement along the Xaxis PAST edge X150.
N17 : Cancel radius compensation. The tool moves in the Xaxis and Yaxis; the tool tip stops at
X150 and Y20.
N18 Move tool away from the workpiece.
A
G41 G42
.
Fig. 6.2.2.1 Left (G41) and right (G42)
For the given definitions a positive tool radius is assumed at execution. With a negative radius value in
the tool memory is:
Once contouring radius compensation is activated, the cutter path is automatically calculated by the
control as a path parallel to the programmed one.
For an outside contour the compensation method depends on the angle between the two programmed
movements. If that angle is greater than a MCsetting, the intersection point is calculated. Refer to the
figures 6.2.2.2 to 4 for the intersection point.
A
R
vc
1
;E E\ B
R
R
C
J3L A
.A
FT
RN
E<
,A
C
Gil
,R1 iR
K2 fR ,C
Ajrj E
B E
K1 :1 R2 s
R2
Q
K1 IK 2
R
GM
>A
Fig. 6.2.2.>4 Circle meets circle
If for an outside contour the angle between the two movements is less than the value of the machine
constant, a circular movement between the calculated endpoint (B) of the path from A to B and the
starting point (B") of the path from B to C is generated by the control, see the figures 6.2.2.5 to 7.
This connection circle is considered as part of the previous block. This means that with SINGLEBLOCK
operation the movement in a block stops at the end of the generated circle.
M C
8)S
R A
G41
R C
B"
B,
B' R A
G 41
C
,R
r
3,
,R
R2
A
,R1
K2
When the function G41 (or G42) is used with the start of the radius compensation, the intersection
point E between the parallel pathes of AB and BC, (figure 6.2.3.1) is calculated and the tool moved to
that point.
c,
NB5798
The same occurs when the movement BC is a circular arc. Here too a movement to the intersection
point of the line parallel to AB and the parallel circular arc is executed (see figure 6.2.3.2).
B B
v
\
\ V
C A C A
Fig. 6.2.3.2 First movement with G41 is a circular arc
If the movement AB is a circular one, the centre of the circle is recalculated. The following movement will
occur (figure 6.2.3.3)
/
/
/
/
i,
M
Mc
M Mc I
Fig. 6.2.3.3 Starting radius compensation via a circular arc.
;
The two Gfunctions G43 and G44 can be used to enter a contour at any point in a well defined manner,
contrary to the method described above. Now the tool is moved to a starting point from where the
contour can be approached TO" (G43) or "PAST" (G44). Thereafter the contour is milled LEFT (G41)
or RIGHT (G42).
15
.0
8 B
\T
s Y
i%r
i
3s
120
NB5799
The program for entering the contour of figure 6.2.3.1 at point B could be:
Explanation:
With the function G40 any kind of radius compensation is cancelled. After the G40 all programmed
positions are related to the tool tip.
The function G40 is automatically effective:
 at switching on the control
 at CLEAR CONTROL
 as soon as a fixed cycle is programmed.
The function G40 does not produce a movement in itself, but the next commanded position is
approached without radius compensation active.
In the last block (N20 see sample program 1) with radius compensation (see fig 6.2.4.1) the tool moves
to the calculated point (B) on the normal in the programmed endpoint (B). In block N22 the tool moves
from B to E.
B'
8 .E
NB6171
Sample program 1 for cancelling radius compensation without a movement in the G40blpck.
N10 G41
N..
N20 G1 XB YB
N21 G40
N22 XE YE
1
2. G40block with a movement
During the tool movements (see figure 6.2A.2) the radius compensation LEFT is active. At point B the
radius compensation is cancelled and the programmed point E is a position of the tool tip. The control
calculates the intersection point between the parallel pathes of AB and BE and the tool moves (N20 see
sample program 2) to that point. In the G40block (N21) the tool moves directly from the intersection
point to point E.
A
B >6
N85808
Sample program 2 tor cancelling radius compensation with a movement in the G40block.
N10 G41
N..
N20 G1 XB YB
N21 G40 XE VE
N22
Remark : If the control generates a circle between the movements AB and BE, this circle (from B to
B" in figure 6.2.4.3) is executed and then the movement to point E takes place.
B'
A
/ V
/
/
/
/
/
/
E
NB6170
In general the feedrate on the surface of the tool is programmed. However, the velocity of the tool tip is
controlled. With radius compensation active the control can adapt the programmed feedrate to the feed
of the tool tip taking into account the used tool radius. With the word F1= the type of feed adaptation is
programmed.
 F1=0 No feed adaptation the programmed feedrate is the velocity of the tool tip.
 F1=1 If the tool is moving on the inside of a circular arc, the feedrate is reduced taking into
account the used tool radius. When the reduced feedrate is less than a minimum value (MC
setting), that value is used.
 F1=2 If the tool is moving on the inside of a circular arc, the feedrate is reduced and with a
movement on the outside the feedrate is increased. In both cases the used tool radius is
taken into account. If the calculated feedrate is greater than a maximum value (MCsetting)
or less than a minimum value (MCsetting), the exeeded value is used.
 F1=3 If the tool is moving on the outside of a circular arc, the feedrate is increased taking into
account the used tool radius. When the increased feedrate is greater than a maximum value
(MCsetting), that value is used.
The word F1= is modal; so its fuction remains active until changed by another word F1= or by CLEAR
CONTROL. In the latter case F1=0 is set.
1S0
0W////////////S///&3
X X
s l X
X
X
/
X
Y X
/
X
X
X
X
0 t
E w X
6
00 H
N1 T1 M6
N2 GO X200 Y20 Z5 S500 M3
N3 G43
N4 G1 X150 F150
N5 G42 Y80
N6 XO
N7 YO
N8 X150
N9 G40 Y20
N10 GO X200
Explanation:
Remark : Compare this program with the one given in example 6.2.1.1.
;
X'
r
t6
\ I
s K
SO
1
10
25
120
NBSMK
N1 X 60 Y 85 Z0 T1 M6
N2 G1 Z10 F500 S1CX)0 M3
N3 G43 X 80 F300
N4 G41
N5 G3 X 60 Y105 R20
N6 I 60 J 60
N7 X 40 Y 85 R20
N8 G40
N9 GO Z200 M30
Explanation:
The pocket of figure 6.2.6.3 is already cleaned out and now the finishing has to be programmed. For a
smooth transition small circles are used for entering and leaving the contour.

part dimensions and the cutter path of a mill 0 / 20 is shown.
2. Radius correction, thus programming a calculated cutter path and using a correction on the pro
grammed path. In figure 6.2.6.3 the calculated path of a cutter 0 / 10 ( ) is also shown.
! \\
Si r ITUAL JUOH/3
\v
N
\ 'XWWw
)
w PHOQftAMMCO
RADIUS
s N :i COSKTKJ*
N !i
X \N '
X \\
* XX ! I V'
X M
l
\
s
With radius compensation the programmed dimensions can directly be taken from the workpiece
drawing. Prior to the execution of the program the radius of tool T1 (10 mm) has to be stored in the
tool memory. The program looks as follows:
N1 X 80 Y 25 Z0 T1 M6
N2 G1 Z10 F500 S1000 M3
N3 G43 X105
N4 G42
N5 G2 X80 Y0, R25 F300
N6 G1 X15
N7 G2 X0 Y15 R15
N8 G1 Y 75
N9 G2 X 15 Y 90 R15
N10 G1 X 60
N11 Y135
N12 G2 X 75 Y150 R15
N13 G1 X105
N14 G2 X118 Y142.5 R15
N15 G1 X182.68 Y30
N16 G2 X165.36 Y0 R20
N17 G1 X 80
N18 G2 X 55 Y25 R25
N19 G40
N20 GO Z200 M30
For the same workpiece the cutter path of a mill 0/10 mm is calculated and accordingly programmed. A
correction of 5 mm is used and this value has to be stored in the tool memory as the radius of T1
N1 X 80 Y 25 Z0 T1 M6
N2 G1 Z10 F500 S1Q00 M3
N3 G43 X 95
N4 G42
N5 G2 X 80 Y 5 R20 F300
N6 G1 X 15
N7 G2 X 5 Y 15 R10
N8 G1 Y 75
N9 G2 X 15 Y 85 R10
N10 G1 X 65
N11 Y135
N12 G2 X 75 Y145 R10
N13 G1 X105
N14 G2 X113.66 Y140 R10
N15 G1 X178.36 Y 27.5
N16 G2 X165.36 Y 5 R15
N17 G1 X 80
N18 G2 X 60 Y 25 R20
N19 G40
N20 GO Z200 M30
Explanation:
Only the programmed dimensions are different from the dimensions in the first program. So refer to
that program for the movements.
in a few cases with inside linear movements, the tool can dammage the workpiece. In all these cases the
used tool radius is too big for the programmed path.
C WNWwVvW o
\ A
\ Bf A' D
\
\ tf
B VA ff C
C B
The path from AB to BC to CD has been programmed (see figure 6.2.7.1). If the straight line BC is
smaller than 2x the tool radius, the contour will be damaged, when being processed.
D A
B C*
C\\B
N 86015
The path from AB to BC to CD has been programmed (see figure 6.2.7.2). Path BC is a circle. When
the tool radius does not fit, the movement between point B and C will be a circle in the same direction
of movement as programmed for BC.
A CADsystem can calculate the toolpath of a programmed workpiece taking into account the tool shape
and the tool dimensions. By running a so generated part program the cutter should have the same
dimensions as used with the calculations, i.e. nominal cutters have to be used. The 3Dtool correction in
the control offers the possibility to deviate from the dimensions of the nominal cutter. The corrections
are carried out using normalized vectors generated by the CADsystem. 3Dtool correction is part of
the CADmodule of the CNC (software option S10) which also includes the BTR possibility for execut
ing large programs.
The normalized vectors are generated at the end of each movement and they are perpendicular to the
approximated surface. The tool correction is related to these vectors.
e
L
Fig. 6.3.2.1 Vectors normal to a surface
.
It is a unit vector, which means that its components range from .001 to 1
ik
H
A 3
4
Fig. 6.3.2.2 Components I, J and K of a unit vector
The components of the vector are programmed with the words I, J and K. The input format of these
words is restricted to three decimals behind the decimal point. In most cases this will be insufficient. To
increase the input accuracy of the vector components they have to be multiplied by a scaling factor
(<=1000), before presenting them to the control system. So with a scaling factor of 1000 the input
accuracy of the vector components can be increased to 6 decimals.
;
Whilst processing the first programmed normalized vector after activating the 3Dtool correction the
control automatically determines the used scaling factor. Part programs with different scaling factors
can be combined. In this case the function G141 (activating 3Dtool correction) has to be programmed
at each transition.
R R R
L L L
R
NB8221
If the CADsystem generates the toolpath, the dimensions of the nominal cutter can be programmed in
the block for activating 3Dtool corrections (G141). In this case the control makes a correction for the
programmed tool dimensions and the stored dimensions.
If the CADsystem generates the part dimensions, the tool dimensions stored in the toolmemory are
used for the 3Dtool correction.
xc = Xp + R*l
Yc = Yp + R * J
Zc = Zp + R * (K  1)
Xc = Xp + C * I + (RC)*I/SQRT(I*I + J*J)
Yc = Yp + C * J + (RC)*J/SQRT(ri + J*J)
Zc = Zp + C * (K  1)
Xc = Xp + R*I/SQRT(I*I + J*J)
Yc = Yp + R*J/SQRT(I*I + J*J)
Zc = Zp
R : cutter radius
C : cutter rounding
for a ball cutter C=R
for a cylinder cutter C=0
With these formulae it is assumed that the mainplane is the XYplane (G17 active) and the tool is in the
Zaxis. If the main plane is the XZplane (G18 active) or the YZplane (G19 active) the necessary
changes are automatically carried out by the control.
Note that the components of the unit vectors are independent of the selected plane.
Activating
The scaling factor of the normalized vectors is calculated in the first block after the G141 containing a
vector. The tool correction is also built up in this block. The cutter moves from the actual tool position to
the corrected one.
 G64 : Geometry
 G73 : Mirror image or scaling
 G182 : Cylinder interpolation
Cancelling
The 3Dtool correction is cancelled with the function G40. The cutter halts at the corrected position and
as a result, a nonprogrammed axis stays at its position.
3Dtool correction is also cancelled at CLEAR CONTROL.
Programmable Gfunctions
Programmable words
The control does not check if the vector is a unit vector. So vectors greater than the unit vector can be
used.
If with the activation of the 3Dtool correction the function G67 is active, the sign of each component
in the tool axis is inverted by the control.
The words F (feedrate) and S (spindle speed) may also be used. Words not mentioned, will cause an
error message.
Conventions
1. Any axes rotation programmed before the activation of G141, is also executed during the 30
tool correction.
 Point definitions
 Eparameters
 Polar coordinates
 One cartesian coordinate and an angle
 Rotary axes
Once the Mfunction for tool changing is executed, the length of the newly loaded tool is immediately
considered at each tool axis movement. The radius is used as soon as a Gfunction for radius
compensation is activated too.
k>
The spindle speed is programmed with address S followed by a number with a maximum of four digits.
A machine tool can have a number of discrete spindle speeds selectable by clutches. These can be called
up by the program. A code number is therefore allocated to each spindle speed. The relationship
between the code numbers and the actual spindle speeds appears in a table belonging to the machine
tool. This table is not part of this programming manual.
With an analog spindle its speed is programmed directly in rev./min with a step of 1 rev. The maximum
programmable value is equivalent to 9999 rev.
In the control the spindle speeds can be subdivided into four speed ranges which are covered by the M
functions M41 to M44. These functions form a separate group acting modally until another function
from the same group is used.
Range 4 M44
Range 3 M43
Range 2 M42
Range 1 M41
10 250 500 750 1000
Range 3 : M43
Range 2 : M42
Range 1 : M41
10 250 500 750 1000
If a spindle speed of 50 rpm is required. This means that range 1 ( figure 7.1.2.1 or 2) is chosen, and
thus Mfunction M41 has to be used. The spindle speed is therefore programmed as follows (the
automatic range selection is not used):
Tool dimensions (per tool a length and a radius) for maximum 255 tools (a MCsetting) can be stored in
the tool memory.
In this case the tool number corresponds with the location in the tool memory. The maximum tool
number is 255 (a MCsetting).
The maximum number of tools and magazine places is 99. Each tool has a fixed place in the magazine.
XX XX
In this case the tool identification from the flour can be used in the program.
In the tool memory are stored :
 the identification number,
 the place in the tool magazine of the machine tool. This number is also used for assigning the tool
dimensions.
 the tool dimensions L and R.
When the machine tool is equipped with an automatic tool changer allowing to place the tools randomly
in the magazine (random access tool memory) or with a standby position, the next tool can be searched
for in the tool magazine during the execution of the program. At the tool change (M6) the next tool is
then immediately available for loading.
The tool number is used to activate searching for a tool in the magazine. Therefore after the block with
the tool change (M6) a block containing the tool number (Tword) of the next tool is programmed to
start the search procedure.
When the tool magazine can be filled at random, a table containing for each tool its place in the magazine
and the corresponding tool number should be stored in the tool memory before the first run of the
program. The three digit Pword is used for indicating the place of the tool in the magazine, where P1
corresponds to place 1, P2 to place 2, etc.
At a tool change (M6) the programmed tool is picked up and the used tool put back in the magazine at
the empty place of the programmed tool. The table of places is automatically updated by the oontrol.
With TO M6 the spindle is unloaded and the tool is put back at the position it originally left.
Unloading the spindle is necessary:
Before a manual tool change (M66)
 With tools occupying more than one position and therefore must be put back at the same position.
#
891025 Programming CNC3460/700 Section 7  3
7.2.3. TOOL LIFE MONITORING
The tools in the memory can be extended with the life time as a preset value entered in minutes in steps
of 1 minute and with a maximum of 99999 minutes, each time the tool is operative the total machining
time is calculated. As soon as it exceeds the preset value, end of tool life is recognized and the operator
gets a warning on the display.
To each tool in the tool memory a spare tool can be assigned. If with the next tool change for the tool
concerned the tool life (see 7.2.3.) or power limit (12.1.1.) is exceeded, the spare tool, if available in the
tool magazine, is loaded instead of the original tool. If not available, an error message is displayed.
In the part program only the tool number of the original tool is used. The number of tools and the
number of spare tools may not exceed the maximum number of tools in the tool memory.
The relationship between these numbers and the associated functions is laid down by the machine tool
builder. The relevant table is therefore not included in this programming manual.
All functions from 0 to 99 are available as input signals for the interface of the machine tool, but only
those functions, which are decoded in the interface, should be programmed.
1. Mfunctions marked L only become effective when all the movements in the block have been
completed. The other functions and those not mentioned become effective before the movement in
the block starts.
2. Most Mfunctions act modally. Those marked with an N are only effective in the block, in which
they are programmed.
A number of commonly used Mfunctions, shown in table 7.4.1, is described separately. Depending on
the meaning of the functions established by the machine tool manufacturer, differences may occur
between these descriptions and the functions actually carried out on a particular machine.
Two commands are used to stop the execution of the part program:
M5 : Spindle stop
This function stops spindle rotation and suppresses coolant supply when all the movements
in the block have been processed. The spindle stop remains active and the coolant
suppressed until the spindle starts rotating again.
In the latter case any angular position can be achieved by programming the desired position
(Dword) measured from a fixed position (MCsetting). Moving the spindle to the
programmed position always takes place in a fixed direction (MCsetting). D+ :the angle in
the defined direction, D : the angle 360(Dvalue) in the defined direction.
M13 : The spindle runs in a clockwise direction (M3) and coolant no. 1 is turned on (M8).
 M14 : The spindle runs in a counter clockwise direction (M4) and coolant no. 1 is turned on (M8).
The function M6 is used to start the automatic tool change sequence on themachine tool:
 first the tool moves at rapid traverse to a tool change position, established by a machine
constant (a fixed position with regard to the reference point)
 then the automatic tool change sequence is executed
 and the new tool picked up.
The execution of the program continues with the programmed movement in the block.
After the tool change, indicated by pressing START, the execution of the program
continues with the programmed movement in the block.
When with an M6 the tool is retracted to a tool change position, it only leaves that position
in an axis, when a movement in that axis has been programmed.
It might occur that a tool must be loaded which is not contained in the tool magazine. In
that case the function M66 is used. With M66 there is no retract to the tool change posi
tion and no execution of the tool change sequence.
Before the manual tool change it might be necessary to unload, with TO M6, the spindle
and to put the tool from the spindle back in the magazine.
The function M66 is used to change a tool without a retract to a tool change position.
At the execution of M66 a program interrupt is generated by the control, so that the tool
can be changed manually at the position where it is moved to in the preceding block.
After the tool change, indicated by pressing START, the execution of the program
continues with the programmed movement in the block.
When a tool with more than one cutting edge, e.g. a boring bar, is used, each cutting edge
has its specific length and radius which must be stored in the tool memory with a separate
tool number.
When during the execution of the program a change from one cutting edge to another is
necessary, there is no need to interrupt the program for a change of the physical tool.
With M67 tool dimensions can be changed without interrupting the execution of the
program.
XS2
1
lli j5
J
XS1
NC5670
N100 T12 M6
N...
N... Movements with T12
N...
N150 T31 M67
N...
N... Movements with T31
N...
Explanation:
N100 : Program execution is interrupted for a tool change. The boring bar is loaded and cutting edge
1 is used.
Then follows the machining with cutting edge 1 of the boring bar.
N150 : Cutting edge 2 comes into action. There is no program interrupt, but from now on the
compensation values of cutting edge 2 are used by the control for its internal calculations.
A number of machining (fixed) cycles for hole operations and for milling are provided:
for milling:
 G87 : A rectangular pocket
 G88 : A groove
 G89 : A circular pocket
The programming is as follows:
 first define a cycle, thus:
indicate the required operation with one of the mentioned Gfunctions,
program the dimensions for the tool movements in the cycle,
add, if necessary, the feed and speed for the operation.
 activate with G79 the defined cycle at a position, thus:
 position the tool to the programmed position
execute the cycle in the tool axis, once the position is established.
The tool movements in a cycle are defined with the words X, Y, Z and B. For deep hole drilling and
tapping some additional words are used. See their tool sequences in section 8.1.2.
The values programmed with the mentioned addresses are stored in the control and are automatically
cancelled:
 with the programming of a new cycle,
 at CLEAR CONTROL.
The words have the following meaning:
Xword :Dwell at the final depth, programmed in seconds in steps of 0.1 second.
Y
p
Z
NB7974
Zword : Final depth of the hole measured from the workpiece surface. The Zword is programmed _
as a dimension word. The sign indicates the direction of the depth movement in the tool
axis:
M
in the negative direction, in most cases therefore into the hole,
"+" in the positive direction.
Yword : The clearance distance:
 defines a point above the workpiece surface where the feed movement starts
 is measured from the workpiece surface
 is programmed as a dimension word.
Normally the clearance distance has a positive sign because it is a movement away from
the workpiece. The Yword can have a negative sign as well.
The retract distance can be used, for example, when employing boring heads where the tool is not situat
ed right on the bottom face of the tool holder.
A
a
NB6077
Fig. 8.1.1.2 Boring head with tool not on the bottom
J  spindle rotates
J  spindle stops
 dwell
1. Drilling [G81]
Kword : The depth of the first step measured from the surface. If the first step (Kword) is
greater than the total depth (Zword), the hole is drilled in one step at the total depth.
lword : The degression value. This value is subtracted each time from the previous depth.
If the calculated feed distance gets less than the degression value, constant steps of the
degression value are used.
The final step can be smaller than the degression value.
I0 All feed distances, except the final one, are the same and equal to the depth of the first
step (Kword).
Jword Special retract distance.
J<>0 the tool is retracted each step over the distance of the Jword.
The words I, J and K are programmed as dimension words, but without sign. The direction of the tool
movement is determined by the sign of the Zword (final depth).
After each drilling step, the tool is completely retracted to the clearance, thus out of the hole
(Jword = 0).
Y
ZSURFACE
1 4
Kl
Z
K2xl
4
3
I #4
NB7975
After each drilling step the tool is retracted a programmable distance for chipbreakage, but remains in
the hole (Jword <> 0).
ZSURFACE
K
J
1
4
Z Kl
j
K2xl J A
3
I
NB5805
3. Tapping [G84]
In the G84cycle two additional words can be used for slowing down the feed and speed so that the
programmed depth is reached properly without damaging the thread.
lword : The number of revolutions before the final depth where the slow down has to start.
If I and J are not programmed, a MCsetting is used for determining the point where the slow down
starts. This MCsetting is a distance measured from the endpoint.
4. Reaming [G85] I
The movements in the tool axis are:
 Feed to depth
 Dwell at depth, if programmed
 Feed retraction to starting position
 Further retraction at rapid traverse rate
5. Boring
With the preparatory function G79 the last defined fixed cycle is executed in the tool axis after reaching
the position programmed in the G79block.. The position is programmed as described in chapter 3. If
symbolic names (defined points, see section 3.4) are used, the cycle is executed on the points in the
order they are written in the block.
If the points where the defined cycle should be executed, are lying in one plane, the tool axis has to be
programmed once in the first block for activating the cycle.
If the points are lying in different planes, for each plane the tool axis has to be programmed to get the
cycle executed in the right positions.
To avoid a collision between workpiece and tool the positioning logic is always used. Refer to section
5.1.2 for a description of this logic. It can not be switched off with fixed cycles.
Note that with the positioning logic a collision with other obstacles like clamping devices can not be
detected.(see section 8.1.5.).
Preparatory function G79 is only active in the block in which it is programmed and therefore has to be
repeated in each block in which a cycle has to be activated.
As soon as a G79block is executed, the radius compensation (if active) is switched off, this means that 
G40 is automatically generated by the control. j
The active preparatory function from group A is ignored in the G79block, but in any block without G79
the function is automatically active again.
1. Remember that, when after a G79block a movement is programmed in the plane only, a movement
also will occur in the tool axis. So the tool point will "stand" on the surface.
2. A cycle is only executed with rotating spindle. If the spindle is not rotating, an error is displayed and
the cycle is not executed.
3 4XM410 i
40
<S>1 4
xo y,
LC
w
60 Z=0
NB6073
Fig. 8.1.4.1 Four holes to be tapped
The four holes of figure 8.1.4.1 are machined with the following tools:
n s F
tools rpm mm/r mm/min.
N1 T1 M6
N2 G81 Y1 Z2 F100 S500 M3
N3 G79 X60 Y40 ZO
N4 G79 Y80
N5 G79 X100
N6 G79 Y40
N7 T2 M6
N8 G81 Y1 Z15 F200 S1000
N9 G79 ZO
N10 G79 Y80
N11 G79 X60
N12 G79 Y40
N13 T3 M6
N14 G84 Y9 Z10 J.7 S560
N15 G79 ZO
N16 G79 Y80
N17 G79 X100
N18 G79 Y40
N19 Z200
Explanation:
The same operations as in the previous example have to be executed on the four holes from fig.8.1.4.1.
The four points are named P1 to P4 and are defined accordingly in G78blocks. These symbolic names
are used in the part program.
Explanation:
10
70 r
30 y:
0
30 I 31,5
70 80
NB5929
The four holes from figure 8.1.4.2 should be drilled with the deep hole drilling cycle.
N1 T1 M6
N2 G83 Y1 Z31.5 I3 K10 F200 S500 M3
N3 G79 X30 Y30 ZO
N4 G79 X70
N5 G79 Y70
N6 G79 X30
Explanation:
151 l
i 25
!15 60
NB5928
N1 T1 M6
N2 G81 Y1 Z15 F200 S120 M3
N3 G79 X30 Y30 ZO
N4 G79 X70
N5 G79 X130 Z25
N6 G79 X170
N7 G79 Y70
N8 G79 X130
N9 G79 X70 ZO
N10 G79 X30
Explanation:
If a collision between any obstacle like a clamping device may occur, then the collision can be avoided
by retracting the tool and thereafter moving towards the required position.
Z=0
im> 15
25
I
4B
100
w x
50
In the following manner a collision with the clamping device can be avoided:
Explanation:
The defined cycle is always executed in the tool axis, thus the one indicated by the active Gfunction for
plane selection.
The words used in the definition of the fixed cycle keep their meaning, i.e.:
 the Xword remains the dwell time
 the Yword is still the clearance distance
 the Bword is the additional retract distance
 the Zword remains the depth of the hole and its sign indicates the direction in which the cycle is
executed:
in the negative direction of the tool axis
*+" in the positive direction of the tool axis.
The direction of operation of the fixed cycle is not influenced by the functions G66 or G67, thus the
functions indicating in which direction the tool is pointing.
Refer to section 5.1.2. for the positioning logic in the different planes.
50
4xM410
4 3
50
1 2
25 5
x
W
25 Y=0
NB6074
The four holes from figure 8.1.6.1 are lying in the XZplane and should be drilled. The tool is standing
in the Yaxis.
The part program could be:
N1 G18 T1 M6
N2 G81 Y1 Z10 F500 S1000 M3
N3 G79 X25 Y0 Z25
N4 G79 X75
N5 G79 Z75
N6 G79 X25
Explanation:
With the function G77 it is possible to execute a previously defined fixed cycle on a pattern of points
equally spaced along a circular arc or a full circle.
The fixed cycle is executed on the points of the pattern moving in the counter clockwise direction.
The circular pattern is lying in the plane defined by the active function for plane selection. The fixed cycle
is always executed in the toolaxis (see section 8.1.6.).
R=25,
P1
Cx
w
NB5820
Explanation:
150
y P2
R=25'
x
W
NB5819A
The block for executing a fixed cycle at the four equally spaced points on a circular arc, is:
Prior to the execution of this block a fixed cycle and the coordinates of P2 must be programmed.
#
891025 Programming CNC3460/700 Section 8 15
EXAMPLE 8.1.7.3 Tapping four holes
40
I
2 3( 4XM410
i P5
40
40 y
x
W
60 20 Z=0
NB6072
The program for the three operations spot drilling, drilling and tapping on the holes could be:
Explanation:
The following words are used in a G87block for defining a rectangular pocket in the XYplane and its
machining:
;RIC__
Y
+y
I K.
+X 2
W
NB5806A
Xword : The length of the pocket, i.e. the dimension parallel to the Xaxis. The Xword has no sign.
Yword : The width of the pocket, i.e. the dimension parallel to the Yaxis. The Yword has no sign.
Zword : The total depth of the pocket, measured from the surface.
The sign of the Zword indicates the direction of the movements in the tool axis. Normally
the Zword is negative.
Rword : The radius in the corners of the pocket.
The Rword must be programmed in a G87block.
Bword : The clearance distance measured from the surface.
Kword : The depth for each cut when the pocket is machined in several layers.
3 2 y 2 3
C C
4 1 wx 1 4
j
NB6075
*%
The tool sequence
a. With rapid traverse to the centre (C) of the pocket and stay the clearance distance (Bword)
above the workpiece.
11 W/////////mm/////ym//// 10
i
1
1
1 7 6 1
1 1
1
I
I 1
i
I 3
!
2 1
1
1
I i 1
1
i c * !
!
1 4
1
I
I 'ii**
1
I
1
1
I
8 X 5
I
1
1
i
12 9
NB6076
c. Move the tool from the centre to point 1 and mill around from 1 to 2, 3, 4 and back to 1. (see
figure 8.2.1.3.) Point 1 is calculated by the control and depends on the Xword, Yword and
the radius of the active tool.
f. Repeat the steps d and e if necessary until the layer is cleaned out.
9 Finally follow the programmed contour and stop in the centre of the corner.
i. If the programmed depth is not reached, move, with three times the programmed feed, to the
centre (C) of the pocket.
After the cleaning out, a finishing for the sides of the pocket might be necessary. The best way to
proceed is to store in the tool memory, for the actual tool, a radius being the stock removal greater than
the actual radius of the tool. Once the cycle is totally executed this stock removal remains for finishing.
The finishing of the pocket is programmed by activating the tool radius compensation and using the
regular G1 and G2/G3 blocks.
150
15 55 25 40
30 +
2
105 55
25 +
3
30 +
1
25
Hh
wx
Z=0
15
6 n
NB5810 4
N1 T1 M6
N2 G87 X55 Y30 Z6 B1 K6 I75 F200 S500 M3
N3 G79 X42.5 Y25 Z0
N4 G79 Y80
N5 G87 X40 Y55 Z6 B1 K6 I75
N6 G79 X115 Y42.5
N7 GO Z200
Explanation:
Prior to the execution of the program the tool radius (5mm) is stored.
N1 : Load the tool
N2 : The geometry of the pocket and the technological conditions are defined.
N3 : Clean out the first pocket.
N4 : Clean out the second pocket.
N5 : Define the geometry of the third pocket.
N6 : Clean out the third pocket
N7 : Retract the tool.
The following words are used in a G88block for defining a groove in the XYplane and its machining:

X
Y_
frrr _> =
vh
x
W K
z
NB7976
X X
iGEEZ X
W NB5811
 parallel to the Yaxis (figure 8.2.2.3); in this case the sign of the Yword indicates on which side of
the entering point (B) the groove is lying.
7T\
B
Y Y
i
.
IB i
y
w
X
w
NB5812
Zword : The total depth of the groove measured from the surface. The sign of the Zword indicates
the direction of the movements in the tool axis. Normally the Zword is negative.
Bword : The clearance distance measured from the surface.
Kword : The depth for each cut when the groove is milled in a number of steps through the centre.
Jword : The direction of milling.
J+1 : Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is
not programmed.
J1 : Milling direction is clockwise.
a. With rapid to point B where the tool enters the groove and stay the clearance distance (B
word) above the workpiece.
c. With the programmed feed through the centre of the groove to point E (2).
e. With the programmed feed through the oentre of the groove back to point B (4).
f. So the tool moves to and from, each time at another depth until the final depth is reached.
i
B
J 1
fl t 1
I
z 1
1 1
1
1
1 1
I 1
fijM
NB7977
9 Once the final depth is reached, the sides of the groove are milled from B to 1, 2, 3, 4, 1, and
back to B in a counter clockwise direction (see figure 8.2.2.5) or a clockwise direction if J1 is
programmed. Here the tool radius compensation is automatically activated by the control and
cancelled when the cycle is completed. The radius of the tool is used with the radius compensa
tion.
<
e*
'*2 %V
E\
y
**3
NB5814A
Fig. 8.2.2.5 Cutter path for the sides.
h. At the end of the cycle the tool is retracted out of the groove and stopped the clearance
above the workpiece.
I
15 V 4
V2
m
85 25 4 15
m
15
k
4B
1 ) 35
15
w z=o
NB5815
Fig. 8.2.2.6 Grooves to be milled.
The three grooves of figure 8.2.2.6 have to be machined with an end mill d 10.
The part program could be:
N1 T1 M6
N2 G88 X55 Y15 Z5 B1 K5 F100 S500 M3
N3 G79 X22.5 Y22.5 ZO
N4 G79 Y62.5
N5 G79 X87.5 Y42.5
N6 GO Z200
Explanation:
Prior to the execution of the program the tool radius (5mm) is stored.
N1: Load tool T1
N2: Define the geometry of the groove and the technological conditions for milling.
N3: Enter at point B and mill groove 1.
N4: Mill groove 2.
The following words are used in a G89block for defining a circular pocket in the XYpiane and its
machining:
R.
x K
W
z
NB5816
Tool sequence i
T C k
V \
NB5817
d. Make with the programmed feed a full circle in clockwise direction (J1) or counter clockwise
direction (J+1) as seen from the tool.
e. The steps c and d are repeated until all material is cleaned out from the first layer.
9 If the programmed depth is not reached, another movement over the depth (Kword) takes
place and then another layer is cleaned out.
h. If the total depth is reached, retract the tool out of the pocket and stop the clearance above
the workpiece.
After cleaning out, a finishing for the side of the pocket might be necessary. The best way to proceed is
to store in the tool memory for the actual tool a radius, being the stock removal greater than the actual
radius of the tool. Once the cycle is totally executed this stock removal remains for finishing. The
finishing of the pocket is programmed by activating the tool radius compensation and using the regular
G1 and G2/G3blocks.
100 30
50
I
25,
100
50
x Z=0
w
NB5818
The part program for milling the circular pocket with an endmiil d 10 mm could be:
N1 T1 M6
N2 G89 Z15 B1 R25 I75 K6 F200 S1000 M3
N3 G79 X50 Y50 Z0
N4 GO Z200
N5
Explanation:
Prior to the execution of the program the tool radius (5mm) is stored.
N1 : Load tool T1
N2 : Define the circular pocket and the technological conditions for machining it.
N3 : Cleaning out the pocket in three steps:
 Step 1 at Z6
 Step 2 at Z12
 Step 3 at Z15
N4 : Retract of the tool.
Normally the defined pockets or grooves are milled with their sides parallel to the axes of the plane in
which the pockets or grooves are executed. The G79 or G77blocks can be extended with an additional
word B1= which indicates the angle of rotation for the pocket or groove. In this case the incremental
polar coordinates (B1=.., L1=..) or the combination of one coordinate (X, Y or Z) and angle (B1*..)
cannot be used in a G77 or a G79 block.
B1= Under this word the angle, the axis of the pocket or groove makes with the Xaxis
(G17, G18)or the negative Zaxis (G19), can be programmed.The angle is measured in
degrees and decimal parts thereof and ranges from 360 to 360.
20
30 I
/ 5
/ 60
32
y
/
x
W 55
NB6566
N1
N2
G87 X30
G79 X55
Y20
Y32
Z5
Z0
B1
B1=60
R5
m
Explanation:
N1 : The pocket is defined as if its sides are parallel to the X and Yaxis.
N2 : The pocket is milled. In this block the centre of the pocket (X, Y, Z) and the angle (60) the axis
of the pocket makes with the Xaxis are programmed.
G77block
3. B1=<>0 :
The word B1= indicates the angle, the axis of the pocket or groove makes with the radius from the
centre of the pitch circle to the centre of a pocket or the entering point of a groove.
%> 20
S
\ /
u>
'//
Y,
IH1
* 'w NB6S6S
21
Milling the grooves from figure S.2.4.2 at a depth of 10 mm can be programmed as:
Explanation:
N1 : The first groove is defined with its sides parallel to the Xand Yaxis.
N2 : The grooves are milled
 The centre of the pitch circle (X.Y.Z)
 The radius of the pitch circle (R)
 The angle the first groove makes with the Xaxis (I)
 The number of grooves (J)
 The grooves are radially located (B1=0)
*
m
891025 Programming CNC3460/700 Section 8  29
1
EXAMPLE 8.2.4.3 Grooves under an angle
30 .
/ 
'
3b.
i
\
1
Y, ,
4
78 NB6564
Milling the grooves from fig. 8.2.4.3 at a depth of 10 mm can be programmed as:
Explanation:
N1 : One groove is defined as if its sides are parallel to the Xand Yaxis.
N2 : The grooves are milled.
Programmed are:
 The centre of the pitch circle (X.Y.Z)
 The radius of the pitch circle (R)
 The angle the first groove makes with the Xaxis (I). The axis of the groove is not yet rotated.
 The number of grooves (J)
 The angle the axis of the groove makes with the radius (B1=30).
Inch/metric programming
Call of a part program in a part program
Parametric programming
Subprograms or macros
Jump and repeat function
Conditional jump in a program
Coordinate transformation
The automation package
Chamfer and rounding
Units
Memories
The tool dimensions, stored zero offstes, parameter values have to be stored in the units of the active
CNCmode. Therefore, when the machine constant is changed, so the other system selected, these
memories must be cleared by the operator and loaded with the correct units, before they can be used
again.
If the control is in one mode and the part program written with the other units, then the programmed
units are converted to the units of the active mode as the program is being read into the user memory
and the Gfunction converted accordingly.
Execution of a program
If G70 or G71 is not programmed, the control assumes that the program is in the same units
(inch/metric) as set for the CNCmode.
If G70 or G71 is written into the program, the control checks if the same units are used in the program
and the CNCmode. If not, an alarm is generated.
So a call from the programs N99998 and N99999 in program N888888 is programmed like:
N888888
N30 M30
m
Section 9 2 Programming CNC3460/700 891025
In the calling program conditional jumps (see sections 9.5.2 and 9.5.3) can be used to indicate which
program will be called.
Each program can run separately. A called program is not closed with M30, so the program is
terminated by the control with "END OF PROGRAM " in the display. Via MANUAL CLEAR CONTROL a
jump to the start of the program has to be performed.
If a program is called from a main program and program execution terminated via CLEAR CONTROL,
the called program remains the active one. For a return to the calling program the pperator has to enter
M30 in TEACH IN mode. After this command program control is in the main program at the block with
the call.
Up to 255 parameters (a MCsetting) can be stored in a special part of the user memory. Parameters
and their associated values can be displayed and changed directly in this memeory. Also data transfer to
and from a data carrier is possible (see operators manual).
The parameters are written with address E and a number from 0 to the number of parameters available
in the control.
So the word E12 signifies a parameter carrying the number 12.
Thus: X=E12
means that at the execution of the block, the Xcoordinate gets the value of parameter E12.
A sign can be programmed after the address and before the "=" character. With a positive sign (or not
programmed) the word gets the value of the parameter. A negative sign results in a sign opposite to
that of the parameter value.
Thus: X=E12
means that at the execution of the block, the Xcoordinate gets the value of parameter E12, but with
opposite sign.
the endpoint coordinates (X and Y) of the circular movement are programmed with parameters E1 and
E2. The circle centre coordinates (I and J) are written without parameters. 1
Remark : 1. When at reading in program conversion from metric to inch or vice versa is used, all ]
parameter values are converted.
For nondimension words this may result in faulty values and in this ckse it is recommend
ed to restrict the use of parameters to dimension words only.
2. The earlier method for using a negative parameter with an address (e.g. X=E1) is not
allowed anymore. At reading in a program these expressions are automatically converted
(to e.g. X=E1).
In each block of a part program or subprogram a parameter can be given its value by programming:
 The Eaddress and the parameter number
 The character "=" and the parameter value written with a sign and the decimal point
More than one parameter can be given a value in one block and they can be entered in any order. The
same block may contain other words too, e.g.
The maximum number of characters in a block is 80 and this value limits the number of words and
parameter settings in a block.
Parameters act modally, i.e. once a parameter value has been allocated, this value is maintained until it is
changed:
 by another setting,
 by recalculation,
 via the operator's panel,
 by reading in the parameter memory.
They are not influenced by CLEAR CONTROL.
It should be noted that identical parameter numbers can be used in different part programs or
subprograms. During the execution of the program the value stored in the parameter table is used. So if
the parameter value is not correctly set at the macro call, an arbitrary value, e.g. returned in the memory
from a previous program or subprogram, can be taken.
If a parameter is not defined at all, an error message is displayed.
*_ZL
\y////A\
NB6084
N9001 T1 M6
N1 X75 Y80 Z2 S1000 M3
N2 G91 E1=15 E2=30
N3 G1 Z=E1 F100
N4 G43 X=E2
N5 G42
N6 G2 l=E2 JO
N7 G1
N8 G40 X=E2
N9 GO Z=E1
N10 G90
Explanation:
N9001: The program is identified by block number N9001. In the same block the tool is loaded.
N1 : The required position (X75, Y80, . Z2) is approached. In the Zaxis a clearance of 2 mm is
programmed.
N2 : The incremental programming is activated and the two parameters E1 and E2 are set.
N3 : The tool moves to depth.
N4 : The tool moves to the circle.
N5 : The radius compensation to right is activated.
N6 : The full circle is milled. The radius of the circle equals E2.
N7 : Circular interpolation is cancelled.
N8 : The radius compensation is cancelled and the tool returns to the circle centre.
N9 : The tool is retracted out of the hole, back to the clearance.
N10 : Absolute programming is activated again.
The control allows to perform some calculations with parameter values. The following arithmetical
operations are possible:
 Addition (+)
 Subtraction ()
 Multiplication (*)
 Division (:)
These operations can be performed between the parameter value and any fixed value or between two
parameter values.
An arithmetical expression can be written in stead of a value on those places where the setting of a pa
rameter is allowed. If necessary the value is automatically rounded to the number of decimals belonging
to the word.
Remark : Refer also to chapter 12 in which the software option "Calculation Extension" is described.
With this option:
 a parameter can be entered as a floating point value, with the so called scientific notation,
 a number of mathematical functions is available,
 compound arithmetic expressions can be used,
 relational expressions for a conditional jump are introduced.
E12=E4+100 : The value 100 is added to the value of parameter E4 and the result is stored under E12.
E12=E4E3 : The value of parameter E3 is subtracted from the value of parameter E4 and the result is
stored under E12.
E8=E4x3 : The value of parameter E4 is multiplied by 3 and the result is stored under E8.
i
E8=E4:3 : The value of parameter E4 is divided by 3 and the result is stored under E8.
E8=E4:E2 : The value of parameter E4 is divided by the value of the parameter E2 and the result is
stored under E8.
Any function, except G23, which can be used in a part program, can also be programmed in a
subprogram.
The same block numbers can be used in different subprograms.
A subprogram starts with a block number and ranges from N1 to N9999999. With this number the
subprogram is identified.
Only the block number and value settings for parameters may be added to a G22block.
Thus, in block:
The subprogram call is entered at that point in the program where the blocks of the subprogram have
to be processed.
In a subprogram it is possible to call another subprogram in which another subprogram can be called.
This is known as nesting of subprograms. Up to 8 nests are possible.
Mv t 3
X
0
y
\
\\
i
I i
4 w 4
i
N 66086
Fig. 9.4.2.1 Four tapped holes
The four holes shown in figure 9.4.2.1 have to be spot drilled, drilled and tapped.
The three fixed cycles are defined in the part program and after every definition the subprogram is called.
The part program looks as follows:
I
N1 T1 M6
N2 G81 Y .5 Z 2 F100 S500 M3
N3 G22 N=9001
N4 T2 M6
N5 G81 Z20 F200 S1000
N6 G22 N=9001
N7 T3 M6 
N8 G84 Y9 Z15 F390 S590
N9 G22 N=9001
As stated before a subprogram can also be written with the aid of parameters. The same parameters can
be used in different subprograms.
In this example a general subprogram for milling a full circle is shown. To achieve a smooth transition the
circle is entered and left with a small circle. Tool radius compensation is used so that the workpiece
contour can be programmed directly.
E4
22
E1
I
E2
E3
I
*
+y
+x
W
Explanation:
N9002 : The subprogram is identified by block number N9002. In this block incremental programming is
set and parameter E3 is calculated.
N1 : The tool feeds to depth. In E4 a clearance from the workpiece must be considered.
N2 : The tool moves to the centre of the approach circle.
N3 : The tool feeds axis parallel to the starting point of the approach circle.
N4 : Radius compensation right is activated.
N5 : The radial arc is contoured. Both the endpoint and the radius are programmed with parameters.
N6 : The full circle is milled. The circle centre is programmed.
N7 : The arc of the retraction circle is milled. Both the endpoint and the radius are programmed with
parameters.
N8 : The radius compensation is cancelled.
N9 : The tool moves with rapid traverse to the starting point of the subroutine and retracts from
depth.
N10 : The control is set back to absolute programming.
N9002 G17 T1 M6
N1 S2000 M3
N500 M30
After calling the subprogram a circle with a diameter of 60 mm is milled in the required position (X75,
Y80).
With the jump and repeat feature any number of blocks out of a part program or subprogram can be
repeated.
Whilst executing a G14block a jump in the program occurs to the block indicated with N1= This block .
and the following blocks including the one indicated with N2= are repeated the number of times
indicated by the Jword or Eword. Once the repeats are finished, the program continues with the block
after the G14.
Notice that:
 the starting (N1= ) and ending (N2= ) block number must be in the same program or subprogram,
 N1= must be before N2= , so that the order of executing the blocks in the repeat sequence is the
same as the order originally programmed.
If no number of repeats is programmed (Jword and Eword are missing), the sequence is repeated once.
It is possible to have a repeat of one or more blocks in a repeat sequence. Up to 4 sequences can be
used in this way.
If the last block (N2= ) is not programmed only the block indicated by N1= is executed. In this way we
have a blockrepeat. Here too the Jword or Eword indicates the number of repeats of that block.
Refer to the examples 9.6.1.2 and 9.6.2.1 for the use of the jump and repeat function.
With a conditional jump a jump to any block in the program is executed if a condition is fulfilled.
So a block:
means :
 E2 > 0 : jump to block number N50 and continue the execution of the program from that block in
sequential order.
 E2 <= 0 : continue the execution of the program with the next block after the G29block.
The function can be used to jump back to the block from which a repeat of programmed blocks has to
start and to execute the blocks up to the G29block once more. In this case the parameter value
indicates the number of repeats, thus the number of times the intermediate blocks have to be executed.
At each jump the parameter value is automatically reduced by 1.
It is also possible to calculate the parameter value and to use it as the jump condition. To influence the
reduction of the parameter value the Kword is used:
 Kword not programmed, the parameter value is reduced by 1.
 KO programmed, the parameter value is not reduced.
 K <> 0, the Kvalue is used to reduce the parameter value.
Refer to example 9.6.1.2 for the use of G29.
A special input is provided to influence the functions G14 and G29 from outside the part program:
 input "high" The functions G14 and G29 are executed as programmed,
 input "low" The programmed jumps are ignored.
If the signal gets "low" during the execution of a repeat sequence, the sequence is normally finished, but
the jump is ignored and the next block of the program is executed. The remaining number of repeats is
cancelled.
A part program or a section of a part program can be increased or decreased in shape (scaled) by a
factor.
With another MCsetting is indicated, if only the coordinates of the main plane or all linear axes,
including the tool axis, are influenced by the scaling.
All so indicated dimensions after a G73block, except the tool dimensions and the stored zero offsets
which are machine dependent values, are scaled until the scaling is terminated by:
 a G72. In this case an activated mirror image is cancelled too.
 a G73 A4=1 or A4=100, depending on the MCsetting .
 CLEAR CONTROL.
The centre of multiplication with the scaling is the program datum point W, so that without precautions
not only the shape but also the position of the workpiece on the table is influenced.
/
/
/
/
/
/
/
/
Y, /
ii1rW
If zero datum point shifts are used in the scaled section, these shifts are scaled too. They do not
influence the centre of multiplication.
Refer to example 9.6.1.1 in which is shown how:
 a centre of multiplication is determined, so that the part remains on a fixed place of the table,
 a datum point more convenient for a part programmer still can be used.
15 IS
\ C
\
\
O'
Y .60
60/
s
% X
70
NB6810
The part programmer should like to use point W as the datum point of his program for the cam of figure
9.6.1.2. However, this datum can not be used as the centre of multiplication with a scaling, because the
location of the part on the table will be changed too.
Now a point CM on the symmetry axis of the part and at a distance of 47.5=(11520)/2 from the Xaxis
is determined. With this point as centre of multiplication the position of the part remains unchanged with
the scaling.
N9210 G54 T1 M6
N1 G92 Y 47.5
N2 G73 A4=.8
N3 G92 Y47.5
N4 X 50 Y20 Z 10 S100 M3
N5 G1 Z10 F1000
N6 G43 Y0
N7 G41 X35
N8 G64 X1=35 Y1=0 B1=120 J1=2
N9 G2 R15
N10 R115 I0 K20 J1=1
N11 G2 R15
N12 G1 X 35 Y0 B1=120
N13 Z10
N14 G40
N15 G63 M30
1
Section 9 14 Programming CNC3460/700 891025
Explanation:
N9210 : Identify the part program, set the datum point W and load the tool.
N1 : Shift the datum point from W to CM.
N2 : Activate the scaling. The part is decreased with a factor .8.
N3 : Datum point shift from CM back to W.
N4 : Move tool to its starting position and start the spindle.
N5 : Move tool to depth.
N6 : Move tool TO the part
N7 : Set the radius compensation LEFT and move along the Xaxis.
N8 : Start the geometric calculations.
Move along the straight line defined by one point (X1=.. and Y1=..) and angle to the second
intersection point.
N9 : Make the rounding between line and circle.
N10 : Make the arc of the circle.
N11 : Make the second rounding.
N12 : Move along the line to the point on the Xaxis.
N13 : Retract the tool from the part.
N14 : Cancel the radius compensation.
N15 : Cancel the geometry calculations and end of program.
15 15
\ Knc
\ s
S0/ Yi .60
% X
70
NB6810 2=o
For milling the pocket from figure 9.6.1.3 in a number of steps at equal distances parametric
programming is used for:
 calculating the distance to the part after each step
 calculating the scaling factor
 checking to see if the milling at equal distances is finished.
N9999 G54 T1 M6
N1 E1=8 E2=5
N2 E7=E1* E2 E3=0
N3 E6=E7 E2
N4 GO XO Y47.5 S100 M3
N5 G1 Z10 F1000
N6 E3=E3+E2
N7 G93 XO Y47.5
N8 E4=E3:E7
N9 G73 A4=E4
N10 G92 Y47.5
N11 YO
N12 X35 YO
N13 G64 X1=35 Y1=0 B1=120 J1=2
N14 G2 R15
N15 G2 R115 I0 J20 J1=1
N16 G2 R15
N17 G1 X35 YO B1=120
N18 G63
N19 XO YO
N20 G73 A4=1
N21 E5=E6E3
N22 G29 E5 KO N=6
N23 G93 YO
N24 Y5
N25 G43 YO
N26 G42
N27 G14 N1=12 N2=19
N28 G40
N29 GO Z100
N30 M30
Explanation:
N9999 Identify the part program Set the datum point W and load the tool.
N1 Set the user parameters E1 and E2
N2 Reset parameter E3 and calculate the total distance
N3 For comparison in G29 calculate E6
N4 A movement to the centre of multiplication
N5 Feed to depth
N6 Calculate the distance to the part for this step
N7 A datum point shift to the multiplication centre CM
N8 Compute the scaling factor
N9 Switch on the scaling
N10 Datum point shift back to the original datum W
N11 Move to the part
N12N19 Mill the contour
A part program or a section of a part program can be mirrored about one or more than one of the
coordinate axes.
The mirror image is activated with:
 the function G73, any combination of mirror image and scaling is allowed.
 the address of the axis of which the sign of the dimension words in the subsequent blocks should be
inverted.
 the value 1. This means:
+ + + +r
2 1 O
+ + Y *#* 2
+ + + +
3 U
+ + + NB6083
A program for tapping the holes of figure 9.6.2.1 making use of the mirror image and the repeat
function could look like:
N9056 T1 M6
N1 G81 Y1 Z3 F200 S500 M3
N2 G79 X20 Y10 Z0
N3 G79 X40
N4 G79 Y30
N5 G79 X20
N6 G73 X1
N7 G14 N1=2 N2=5
N8 G73 Y1
N9 G14 N1=2 N2=5
N10 G73 X1
N11 G14 N1=2 N2=5
N12 G73 Y1
N13 G81 Y1 Z15 F200 S1000 T2 M6
N14 G14 N1=2 N2=12
N15 G84 Y9 Z10 F390 S560 T3 M6
N16 G14 N1=2 N2=12
N17 M30
Explanation:
N9056 The partprogram is identified with N9056. In the same block the spot drill (T1) is
loaded.
N1 The fixed cycle for spot drilling is defined and the spindle is started.
N2 N5 The defined fixed cycle is executed on the four holes in the first quadrant.
N6 Mirroring about the Yaxis.
N7 The blocks N2 to N5 are repeated, but the signs of the Xcoordinates are inverted,
thus the pattern is drilled in the second quadrant.
N8 Additional mirroring about the Xaxis. The mirroring about the Yaxis is still valid.
N9 The blocks N2 to N5 are repeated again. The signs of the X and Ycoordinates are
inverted, thus the pattern is drilled in the third quadrant.
N10 Cancelling the sign inversion of the Xaxis.
N11 The blocks N2 to N5 are repeated again. The signs of the Ycoordinates are inverted,
thus the pattern is drilled in the fourth quadrant.
N12 Cancelling the sign inversion of the Yaxis.
A part program or a section of a part program in the main plane can be rotated about an angle. To this
end the functions G92 and G93 are extended with a word (B4= ) indicating the angle about which the
coordinate axes are rotated. In both cases the angle is programmed in degrees and decimal parts
thereof and ranges from 360 to 360. The sign is defined as with polar coordinates (see section 3.3.2).
The centre of rotation is the datum point W in use at the moment the rotation is activated.
1. Rotation about an (absolute) angle which is defined with respect to a main axis of the machinetool.
Thus Xaxis with G17 or G18 active and Zaxis with G19.
The function G93 is extended with the word B4= for programming the absolute angle of rotation.
lY
Y'
X"
,Y"
84 = .. X'
B4 = .
VW
N 06809
2. Rotation about an (incremental) angle which is defined with respect to the previously rotated main
axis in use. The function G92 is extended with the word B4= which indicates the incremental angle
of rotation.
i IY
Y' X"
X'
,Y" B4 =
iB4 s
NB6807
A combination of a datum point shift and a rotation is allowed in one block, both absolute with Q93 or
incremental with G92. The order of execution is:
 First the datum point shift
 Then the rotation
So the new datum point is the centre of rotation.
A combination of mirror image and/or scaling and axes rotation is allowed. The order of execution:
 First scaling and/or mirroring
 Then rotating
Remark : Refer to section 12.9.2 for a macro with which a datum point shift in a rotated sequence
can be performed. For the use of this macro the software option S06 (Calculation
Extension) must be available in the control.
Y
y
X'
30
,w X
Y
O
65 N86808
m
The datum point shift and rotation from figure 9.6.3.3 is programmed as:
7/15 7,5
/j
10, 5
6
150
A
/
NB6806
To avoid the calculations for the points of tangency between the lines and circles of figure 9.6.3.4 the
(optional) geometry package is used. (Refer to chapter 10). Just one section is programmed. The other
sections are made by rotating the first section.
N9208 G54 T1 M6
N1 S100 M3
N2 X37.5 Y10 Z10
N3 G1 Z10 F1000
N4 G43 Y3
N5 G41
N6 G64 X1=0 Y1=3 B1=0 J1=2
N7 G3 R5
N8 G3 R67.5 I0 JO J1=1
N9 G3 R5
N10 G1 X1=3.464 Y1=0 B1=120
N11 G3 R10
N12 G1 X37.5 Y3 B1=0
N13 GO Z10
N14 G40
N15 G63
N16 G92 B4=60
N9208 Identify the program, set the datum point and load tool 1.
N1 Start the spindle
N2 Move the tool to its starting position.
N3 Move tool to depth.
N4 Move tool TO the part.
N5 Set radius compensation LEFT.
N6 Activate the geometric calculations.
Move along the line till the rounding starts. For the line an arbitrary point (X1= and
Y1= ) is used. In thiscase it is the intersection point with the Yaxis.
N7 Make the rounding of radius 5.
N8 Make the circular arc of radius 67.5
N9 Make the second rounding of radius 5.
N10 Move along the line to the point of tangency with the circle of radius 10. For the line
the angle (B1=120) in the direction of movement and an arbitrary point on the line
is used. It is the intersection point of the line with the Xaxis.
N11 Make the rounding of radius 10.
N12 Move along the line to the starting point on the line.
N13 Move tool above the workpiece.
N14 Cancel the radius compensation.
N15 Cancel the geometric calculations.
N16 Rotate the coordinate axes over 60.
N17 Repeat the section in the rotated coordinate system.
N18 End of program.
The control can be equipped with a tool performance monitor, e.g. Valenite, in which the power
consumption of the spindle drive is measured and compared with three levels, a maximum value and two
threshold values. In this way the performance of a tool is monitored against overload conditions, by
which damage of tool or workpiece is avoided.
Up to 99 groups of power levels can be stored in this monitor and to each group a twodecade number
ranging from 1 to 99 is assigned.
tool continues. If the same tool is loaded again, an error is generated or if available a spare tool is
loaded instead.
 the next threshold value is exceeded, an error and a feed/speed hold are generated, the machining
stops and the operator has to intervene.
 the maximum allowed power consumption is exceeded, an emergency stop occurs.
After programming T1=0 the tool performance monitor is switched off.
With automatic workpiece changers, e.g. pallet stations, it is necessary to activate and to execute a new
part program without the interference of the operator.
Two possibilities are provided for the external selection of a part program.
A fixed assignment
The last three digits of the identification number of the part program can be entered into the control via
a BCDinput. In the part program the relation between the mounting zero datum point C and the
machine datumpoint Mf can be established with one of the functions for the stored zero offsets (G54
G59) and the preset values (G52).
A variable assignment
A special three digit identification number is assigned to a part program. These three digits can be
entered into the control via the BCDinput.
There is a special memory of the control, the external program call memory in which are stored:
The pallet offsets are related to the secondary machine zero datum point Mj. With these offsets the zero
datum point of the mounting C is defined.
PALLET OFFSETS
After an external activation of a program the preset values belonging to a G52 are zeroed. Then the
pallet offsets are loaded in the zero offset memory under G52 and that function is automatically
activated.
Remark : If the variable assignment is used and the programs are activated externally or via the con
trol panel after a MANUAL BLOCK SEARCH (see operators manual), it is advisable to
end each part program with the function G51. In this way it is always avoided, that the pal
9.8.
let offsets of a previous program are used in the next one.
All movements in a G11 block are executed with the programmed feedrate. The radius compensation can
be active.
The function G11 is only active in the block in which it is programmed. After a G11block the Gfunction
belonging to the last movement is active, thus G1 with a chamfer and G2 or G3 with a rounding.
Polar coordinates
In a G11block polar coordinates can, be used, but these coordinates are slightly different from the polar
coordinates as described in section 3.3.2. The latter coordinates and programming one cartesian
coordinate and an angle can not be used in a G11block.
The following description applies only to polar coordinates used in a G11block (G17 is assumed to be
active).
When a G90 (absolute coordinates) is active, the polar coordinates in a G11block are absolute too,
thus defined with:
 the angle (Bword) which the connection line of the datum point W and the end point makes with the
Xaxis,
 the distance (Lword) from W to the end point.
' Y PO
,B
TW X N 86105
With G91 active (incremental dimensions) the polar coordinates are defined with respect to the previous
tool position. This means, that:
 the angle (Bword) is determined with a line through the previous tool position and parallel to the X
axis and the line along which the tool is moving,
 the distance (Lword) is measured along the tool path from the tool position to the new one.
L PI
B
PO
Yi,
N8M04
Between a linear movement programmed with the function G11, and a linear movement in the next
block, either a chamfer or a rounding can automatically be generated by the control.
The following two words are used for it:
Kword : The length of the chamfer, programmed as a dimension word, but without a sign. The chamfer
is symmetrically located around the end point.
PI, K
K PI
P2
P2
i V.
PO
NB6413 NS6412
In both cases the next movement from P1 to P2 must be linear, thus a block containing G1 or G11.
60
v s
\
\ 6'
\ >Y
\ P
A
w
1
7
2
\ /
\ /
\ /
\ / $/
N86412
N9010
N1 G17 T1 M6
N2 GO X100 Y10 Z10 S1000 M3
N3 G1 F300
N4 G43 X 60
N5 G41 Y0
N6 G11 B90 L103.923 K60
N7 G11 B150 L103.923 K60
N8 G11 B60 L60
N9 G11 BO L60
N10 G40
N11 G1 X100 Y10
N12 Z10 M30
Explanation:
The function G11 allows to program two points in one block, e.g. P1 and Pg. A linear feed movement is
made from PQ to P1 and from P1 to Pg. Between these movements a chamfer or rounding is possible
and additionally a chamfer or rounding between a linear movement in the next block. Though with a
chamfer or rounding the points P1 and P2 are not reached, their coordinates have to be programmed.
G90
NB6411 W** X1= NB6U1
G91
These coordinates are programmed with absolute or incremental dimensions depending on the active
function G90 or G91.
Between the two linear movements either a chamfer or a rounding can be programmed (refer also to sec
tion 9.8.2)
K, PI
I
,R
Y P2 Y P2
PO PO
w N66410 N66410
Between the linear movement from P1 to P2 and the linear movement in the next block ( a G1 or G11
block) a chamfer or rounding can be made, programmed with the words (refer also to section 9.8.2):
R1=
Section 9 28
: The radius of the rounding.
Y
/
'Kir
Y<
VP2
v V PO P2 PO
w N86409 N86409
In the figures 9.8.3.2 and 3 the linear movements from PQ to P1 to P2 to P3 are programmed in a
G11block (P1 and P2) and in the next block (P3).
Between the linear movement from PO to P1 and the one from to P2 a chamfer (K) or rounding (R)
P1
is defined. Also a chamfer (K1=) or rounding (R1=) is defined between the linear movement from
P1 to
P2 and the one from P2 to Pg in the next block.
The actual milling goes from PQ via the first chamfer or rounding to {he second chamfer or rounding to
point P3 of the next block.
Any combination of the described movements is allowed. This results in the following possibilities:
1. A chamfer between the linear movements in the G11block and a chamfer or rounding between the
G11block and the next one.
PI P3 PI <P3
j
R \R R1r
Y< Y
PO Kir' P2 PO P2
X
N064O8 w N86408
2. A rounding between the linear movements in the G11block and a chamfer or rounding between the
G11block and the next one.
PI P3 PI P3
/
j
R ,R Rlr
Yi Y
PO K1> 'P2 PO P2
NC6406 W N06406
60
fU 6'
y
w
M20
1
/
2
\
\
/
\
'
\
'
N86108
fr
The regular hexagon of figure 9.S.3.6 has to be milled on the outside. A two point geometry element is
used. The sides 2 and 5 are programmed as chamfer. The part program could be:
N9011
N1 G17 T1 M6
N2 GO X100 Y10 Z10 S1000 M3
N3 G1 F300
N4 G43 X 60
N5 G41 Y0
N6 G91
N7 G11 B120 L120 K60 B1=60 L1=120
N8 G11 B60 L120 K60 B1=120 L1=120
N9 G40
N10 G90
N11 G1 X100 Y10
N12 Z10 M30
Explanation:
N9011
N1
N2
: Identification of the program.
: Set the plane and load the tool.
: Start the spindle, move tool to point P and then at depth.
N3 : Set the feed mode and the feedrate.
N4 : Move the tool TO the corner of the hexagon.
N5 : Set radius compensation LEFT.
N6 : Set the incremental mode. The polar coordinates in the next blocks are programmed
with incremental values measured from the previous tool position.
N7 : Mill along side 1, 2 and 3. Programmed is the intersection point of side 1 and 3 (B and
L), the endpoint of side 3 (B1= and L1=) and the chamfer (Kword) around this point.
N8 : Mill along side 4, 5 and 6.
N9 : Cancel the radius compensation.
N10 : Set the absolute mode.
N11 : Move tool away from part.
N12 : End of the program.
The function G11 allows to program two different linear movements in one block. The first movement is
defined by its starting point (= the endpoint of the previous movement) and the angle the line makes
with the Xaxis. The second movement is defined by its endpoint programmed in the G11block and the
angle the second line makes with the Xaxis.
PI
B1 =
B P2(X;Y)
Y
PO
NB6407
For the two line geometry the following words are used:
B The angle the line from PO to P1 makes with the positive Xaxis.
B1= The angle the line from P2 to P1 makes with the positive Xaxis.
Between the linear movement from PO to P1 and the second on0 from P1 to Pg either a chamfer or a
rounding can be programmed. Also between the linear movement from
P1 Jo P2 and a linear movement
in the next block a chamfer or rounding is possible. Refer to section 9.8.3. for the programming of a
chamfer or rounding.
\ \W\WV
Y
\y
. s;I \V
RAOUS
j v: wn
HAOIUS
I
N
\ V'
X
N
t
N \\
NISI
I
\
\
N9012G17
N1 X80 Y25 ZO T1 M6
N2 G1 Z10 F500 S1000 M3
N3 G43 X105
N4 G42
N5 G2 X80 YO R25 F300
N6 G11 XO Y90 BO B1=90 R15 R1=15
N7 G11 X60 Y150 BO B1=90 R1=15
N8 G11 X200 YO BO B1=120 R15 R1=20
N9 G1 X80 YO
N10 G2 X55 Y25 R25
N11 G40
N12 GO Z200 M30
Explanation:
Each movement is programmed in a separate block using the standard Gfunctions for linear (GO and
G1) and circular movements (G2 and G3). With some additional words is achieved that most
calculations are avoided.
Two Gfunctions are introduced for starting (G64) and stopping (G63) the geometric calculations. So
the conventions in the use of the geometry are kept to a well defined section of the program. These
functions form one group of which just one function can be active at a time. At CLEAR CONTROL the
function G63 is automatically activated.
R
<7YO
Y
a. a. b.
ik x
NB7990
With the word R1=0 in the block of the first element is indicated, that that element is tangent to the
second one.
/ A. V
R /
R
R
l R
NB7991
R / X
\
\
Y7
R
R \ R l
R
\ I
R
I I
/ \ /
/
X
/
/ (
/ x I
/ R z' \
R
R]
\ R /
V
\
NB7992
C\
R1
\ R1 \
\ M*
R
\
K
p0
\
\ L >
R2/K
\ J A
\
P0
/ /
\ / \ /
Y Y
NB7993
Fig. 10.1.2c. A matching circle between two concentric circles
With concentric circles the word B1= has to be added to the block. It is the angle which the line
through the common centre and the centre of the matching circle makes with the Xaxis.
a.
P2 P2_
/ \ \ P1
P1
/ /
/ V /
Y
/ vP2
b. c.
NB7995
Fig. 10.1.3. An intersection point
With the word J1= is indicated which intersection point between the programmed elements (line and
circle or two circles) should be used:
 J1=1 : the left intersection point (P1)
 J1=2 : the right intersection point (P2)
NB7996
5. A rounding between:
/
A /
R X /
\
1/
Y
b. c.
NB7994
A rounding is:
 always tangent to the geometric elements (line or circle) from the previous block and the next one
programmed with :
 G2 or G3 indicating the direction of movement
 the radius (Rword) of the rounding
Remark: A rounding or matching circle is inserted between two movements and is always
disregarded with the use of tangential or intersecting geometric elements.
The following words are used to extend the GO and G1blocks:
 B1= the angle which the straight line makes with the positive Xaxis when looking in the
direction of movement. See section 10.2.4.1.
 R1=0 the straight line is tangent to the circle from the next block . See section 10.3.2.
 J1= the straight line cuts the circle from the next block in the Jgfi (J1=1) or right (J1=2)
intersection point. See section 10.2.4.2.
 11= the straight line is parallel to a programmed line at a distance 11= from that line. See
section 10.2.4.3.
 X.Y.I1=0: the coordinates of a support point on the line. See section 10.2.4.4.
The following words are used to extend the G2 and G3blocks:
R1=0 the circle is tangent to the straight line from the next block. See section 10.3.2.
J1= the circle cuts the straight line or circle from the next block in the left (J1=1) or right
(J1=2) intersection point. See section 10.2.4.2.
 B1= the angle which the line through the common centre of two concentric circles and the
centre of the matching circle makes with the Xaxis.
Programming an angle in the direction of movement along the tine means the use of:
 the positive angle (B1=+ ) with an increasing Yvalue,
 the negative angle (B1= ) with a decreasing Yvalue.
p1 Pt
Y PO PO PO
PO PO
B1
Y PI PI P1
N86891
If the movement is parallel to the Xaxis, the following words should be used:
 B1=0 : with an increasing Xvalue,
 B1=180 : with a decreasing Xvalue.
B1 =0 B1=180
PO PI PI PO
NB6892
P2
pi
YK
Y\ rpi
po
SrT
NB6915
PI
PE
P2 K
K
pr
PO P2
*
NB8022
In this case the left intersection point is the point on the same side from the centre as:
 the starting point with a line to a circle
 the end point with a circle to a line
PI
R
/\ R
/
K1
'\/
K2
Y a
/V
P2
Ww *
NB8023
Sometimes, a line is drawn parallel to a known line. The distance between the required line and the
known one is programmed with the word 11= .
n=
n= +
NB8002
In many cases the endpoint of a linear movement is not known, but another point on the line can be
found in the drawing. This point, a support point on the line, can be used to define the line. The
support point is programmed as an absolute endpoint.
The block should also contain the word 11=0.
L2=
P1
Y Y1=
y y y
B2=
X w X X
w
X
4
X1=
.
Fig. 10.2.4.4.1 A support point on the line
Remark :
1. The absolute cartesian coordinates of a support point can also be programmed with the words
(11=0 can be omitted):
 X1= absolute Xcoordinate
 Y1= absolute Ycoordinate
2. Using an absolute position without 11=0 causes the tool to move to the programmed point
without executing a chamfer, rounding or matching circle.
A support point can also be used with a line parallel to a tangential line of a circle. In this case the
programming is:
 use the centre of the circle as support point on a line through the centre and parallel to the
tangential line,
 make 11 = equal to the distance between the parallel lines and the radius.
11 =
11= +
NB8002
A linear movement is programmed with a GO or G1 and some additional information. Four cases are
considered:
B1 =
B1 =
0
a PO
PE
>PE
b PO
PO
R R
\
R
PO
c
PO
NB8017
K
\ R
\
J J
,B1= 11 =
d
PO PO
NB8018
a b .
PE ,PE
B1 =
B1 =
R, R.
l l
B1 =
B1=
b
R
,R
y
1
y
B1 = !1 =
NB8019
P1
Y Y1=
y y y
B2=
\r
W x w x w x
X
4
X1=
NB8012
L2=
P1
Y Y1=
y y y
B2=
w X w X w X
X
X1=
Remark :
In the cases 2, 3 and 4 some words (if required) can be added to the block:
 R1=0 indicating that the line is tangent to the circle in the next block.
or
 J1=1/2 indicating the intersection point between the line and the circle in the next block.
G2 / G3indicating the direction of movement on the circle and some additional information.
The centre point is programmed with either absolute cartesian or absolute polar coordinates (see
section 10.2.1.).
In addition comes:
a. the absolute coordinates of the endpoint (see section 10.2.1)
b. the radius (R..) of the circle
and (if required) one of the additional words R1=0 or J11/2. See section 10.2.3.
T 5 r R
r
R1
J J J
r Y Y
r <kr
i I
NB8020
Y
r
* ir Y J
R
Y
J
NB8021
In this case the circle has to be programmed with the coordinates of the centre. So refer to point 1.
4. Endpoint Is known
y,
J
y
Y Y
'w x
w x I
X X
NB8026
i
891025 Programming CNC3460/700 Section 1015
10.2.7. CONVENTIONS WITH THE USE OF THE GEOMETRY
In this manual the geometry is described in the XYplane. If the movements are carried out in another
plane, then the angle B1=.. is defined with respect:
 to the +Xaxis in the XZplane (G18 active),
 to the Zaxis in the YZplane (G19 active).
Y Z Y
7 x 7 x 7 z
f
Y Z Y
NB6927
G17 G18 G19
(
:
Section 10  16 Programming CNC3460/700 891025
General conventions
ft First activating scaling, mirror image or program rotation and then using the geometric calculations is
allowed and results in the required operation on the program section. See also example 9.6.3.1.
P1 P0
40
B1=120
60*
.60"
Y P0 ] Yf P1
+ +
30 30
i
30
a b NB8048
The movement from Po to P1 in figure 10.3.1.1. with increasing Yvalue (a) is programmed as:
(
Section 10  18 Programming CNC3460/700 891025
EXAMPLE 10.3.1.2. Parallel movements
60 40
y
ea
x
w NB8004
N10 GO XO YO
N11 G64
N12 G1 B1=0
N13 XO YO B1=60 11=40
N14 XO YO B1=180 11=60
N15 XO YO B1=120
N16 G63
Explanation
m Y
CN
/
*
o
ii
80
<
NB8005
The movement from the straight line, via the left intersection point over the circle can be programmed
as follows:
N10 G1 X0 Y25
N11 B1=0 J1=1
N12 G2 I80 J10 R25
7
/ / \
Y
<N in
ik,r
2
ii
I
60
80
>
> NB8006
The movement from the first circle, via the left intersection point to the second one can be
programmed as follows:
N10 G1 X0 Y25
N11 G2 I60 J15 R15 J1=1
N12 G2 I80 J10 R25
/S \W
s
Y
25 65
NB6963
The program for the part from figure 10.3.2.1. could be:
N99974 G54 T1 M6
N1 GO X110 Y30 Z10 S100 M3
N2 G1 Z10 F1000
N3 G43 Y40
N4 G41
N5 G3 X100 Y30 R10
N6 G64
N7 G2 I90 J30 R10 R1=0
N8 G1 R1=0
N9 G2 I25 J30 R15 R1=0
N10 G1 R1=0
N11 G2 X100 Y30 190 J30
N12 G3 X110 Y20 R10
N13 G63
N14 G40
N15 G1 Y30
N16 GO Z100
Explanation:
N99974 : Set the datum point and load the first tool.
N1 : Start the spindle and move the tool to a position outside the workpiece.
N2 : Move tool at depth.
N3 : Move tool TO the starting point of the entering circle.
N4 : Activate the radius compensation LEFT.
N5 : Make the entering circle.
N6 : Activate the geometric calculations.
N7 : The circular movement to the point of tangency between the circle and the common
tangent line from block N8.
N8 : The linear movement to the point of tangency between the line and the circle from block
N9.
N9 : The circular movement to the point of tangency between the circle and the line from block
N10.
N10 : The linear movement to the point of tangency between the line and the circle from block
N11.
N11 : Final circular movement. The coordinates of the centre point and the endpoint are
programmed.
There are two other common tangent lines (see figures 10.3.2.2a and 2b).
P1
m
" Y PO'
> *
P:
NB6961
25
80
a (
P2
K1
a
fjt
y
PI
P3
NB6962
25
80
b
Figure 10.3.2.2 Inside common tangent lines
N1 : the circle (K1,R15) and the indication (R1=0) that the circle is tangent to the line from
the next block.
N the tangent line and the indication (R1=0) that the line is tangent to the circle from the
next block.
N+1 : the second circle
Notice that the difference between these programs is the direction of movement on the circles
(G2 orG3).
I
Section 1022 Programming CNC3460/700 891025
10.3.3. TWO TANGENT CIRCLES
The point of tangency between two circles can be calculated by the control.
In case a either R1=0 or J1=1 or 2 has to be programmed to let the control calculate the endpoint of
the circle.
From the nine possible combinations, two combinations are. not allowed (2.a. and 2.b). These are the
combinations:
ft  first circle
second circle
: radius only
: centre point and radius
or
: centre point andendpoint
If the second circle is programmed with endpoint and radius (1.b. and 3.b.), the word R1=0 has to be
used in the block of the first circle, indicating that the circle is tangent to the circle in the next block.
Combination 1.a.
*
i
ikr NB8007
I2
N10G2I1 J1 R1
N11 G2I... J... R...
ft
891025 Programming CNC3460/700 Section 10 23
Combination 2.c.
n NB8007
I2
N10 X1 Y1
N11 G2 R1 R1=0
N12 G2 X2 Y2 I2 J2
Combination 3.c.
Y2
Y1
J1
J2
I
J 11
12
NB8009
X2
N10 X1 Y1
N11 G2 11 J1
N12 G2 X2 Y2 I2 J2
150*
&
& X
150*
o,
in
&
8 Y 8
80
110
NB6972
The program for the part from figure 10.3.4.1. could be:
N99973 G54 T1 M6
N1 GO X0 Y20 Z10 S100 M3
N2 G1 Z10 F1000
N3 G43 YO
N4 G42
N5 G64 XO YO 11=0 B1=0
N6 G3 R40
N7 G3 155 J20 R15 R1=0
N8 G1 B1=150
N9 G3 R10
I N10
N11
G2 I0 J45
G3
R15
R10
N12 G1 B1=150 R1=0
N13 G3 I55J20 R15
N14 G3 R40
N15 G1 XO YO B1=0
N16 Z10
N17 G63
N18 G40
I
891025 Programming CNC3460/700 Section 10  25
Explanation:
N99973
N1
N2
N3
Identify the program, set the datum point and load the tool.
Start the spindle and move the tool to a position outside the workpiece.
Move tool at depth.
Move tool TO the workpiece.
<
N4 Set radius compensation RIGHT.
N5 Activate the geometric calculations.
Move along the Xaxis, programmed with the datum point as a support point on it and
the angle 0, till the point of tangency beteen the line and the matching circle.
N6 Move along the matching circle till the point of tangency with the circle in the next block.
N7 Move along the circle to the point of tangency with the line in the next block.
N8 Move along the line till the matching circle.
N9 Make the matching circle between line and circle.
N10 Make the circle till the matching circle.
N11 Make the matching circle between circle and line.
N12 Move along the line to the point of tangency with the circle in the next block.
N13 Make the circle till the matching circle.
N14 Make the matching circle between circle and line.
N15 Move along the Xaxis to the datum point W.
N16 Retract the tool from the part.
N17
N18
Cancel the geometric calculations.
Cancel the radius compensation. i
ft
s
<b
Y 1.5
to
6 W\ X 5 o s
12
44
65
110'
NB6928
N99969 G54 T1 M6
N1 X120 Y35 Z10 S100 M3
N2 G1 Z10 F1000
N3 G64
N4 G43 Y15
N5 G41 X110 Y15 11=0 B1=180
N6 G3 R5
N7 G1 X65 Y22 11=0 B1=90 J1=1
N8 G3 I65 J72 R50
N9 G2 R65
N10 G2 I0 JO R40 R1=0
N11 G1 R1=0
N12 G2 I0 J50 R10 R1=0
N13 G1 R1=0
N14 G3 I0 JO R6
N15 G3 R24
N16 G3 112 JO R6 J1=1
N17 G2 R1.5
N18 G2 I44 J10 R36 R1=0
N19 G1 X65 Y22
N20 X65 Y22 11=0 B1=90
N21 G3 R5
N22 G1 X110 Y15 B1=180
N23 Y40
N24 G63 X120
N25 G40
N26 GO Z100 M30
(
/ \
10
r
>1
80
NB6897
.
Fig. 10.3.6.1 Sample part for chamfer programming
The part program for the part of figure 10.3.6.1. could be:
YO
Z5 F1000
S100 M3
N5 G42
N6 G64 X60 YO 11=0
N7 no
N8 X60 Y60 11=0
N9 110
N10 XO Y60 11=0
N11 110
N12 XO YO 11=0
N13 no
N14 X10 YO
N15 G40
N16 G63 X10 Y20
N17 GO Z100
Explanation:
N99987
N1 N5
Program identification
These blocks are obvious
N6 Activate the geometry calculations.
The movement parallel to the Xaxis is executed, till the starting point of the chamfer.
Here a support point on the line must be programmed, so that the control can calculate
the intersection point between the lines and the starting point of the chamfer.
N7 The chamfer.
N8 N14 The other sides and chamfers.
N15N17 Cancel the radius compensation and the geometric calculations and remove the tool away
from the part.
I
891025 Programming CNC3460/700 Section 1029
1
:
10.3.7. ROUNDING BETWEEN TWO INTERSECTING UNES
8 9
A 4?, 10
60
5 6
s
11
I
3 Jo i
y, S
60
"V2
80
200
NB8049
The part program for the part from figure 10.3.7.1. with the use of the geometry could be:
N99986
N1 G54 T1 M6
N2 GO X80 Y25 Z10 S100 M3
N3 G1 Z10 F1000
N4 G43 X105
N5
N6
G42
G64 X105 YO 11=0
(
N7 G2 R25
N8 G1 XO YO 11=0
N9 G2 R15
N10 G1 XO Y90 11=0
N11 G2 R15
N12 G1 X60 Y90 11=0
N13 X60 Y150 11=0
N14 G2 R15
N15 G1 XO Y150 11=0
N16 G2 R15
N17 G1 X200 YO 11=0
N18 G2 R20
N19 G1 XO YO 11=0
N20 G2 R25
N21 G1 X55 Y25
N22 G63
N23 G40
N24 GO Z100
N99986
N1 N5
N6
Program identification
These blocks are obvious
Activate the geometric calculations. The first line is programmed with a support point on it.
N7 Make the rounding between the line from block N6 and block N8.
N8 Move along the line till the starting point of the rounding in the next block.
N9 Make the rounding between the line from block N8 and block N10.
N10 Move along the line till the starting point of the rounding in the next block. '
N11N18 Mill the other sides and roundings
N19 Move along the line till the starting point of the circle for leaving the contour.
N20 Leave the contour via a small circle, which is programmed as a rounding between the line
from block N19 and block N21 .
N21 The final linear movement.
N22N24 These blocks are obvious.
In the previous sections all kinds of continuous movements, between line and circle or two circles and
The control offers the possibility to program the so called discontinuous movements too. This means:
 that for each circular movement, including a rounding or matching circle, either G2 or G3 can be
used,
 that one of the two tangent lines of a circle can be programmed.
In some milling applications the discontinuous movements have to be used (see example 10.4.4.1) or
can be used.
In other applications, like laser cutting, these movements can be very usefully.
From a point two lines can be drawn tangent to a circle. With the word R1= in the block with the
with a movement from line to circle by looking from the starting point to the centre,
with a movement from circle to line by looking from the centre to the endpoint.
Programmed are:
\ PO
R
\ %
K
R'
K /
PO
v
"w
NB8024
a b
Fig. 10.4.1.1. Left (a) and right (b) tangent line
i
Section 1032 Programming CNC3460/700 891025
10.4.2. MATCHING CIRCLES
I In general:
 two types of matching circles between a line and a circle,
 six types of matching circles between two circles can be recognized and from each circle the centre
can be :
left from the line through the centre perpendicular to the line and looking from the centre
to the line
or
from the connection line of the centres and looking from the first centre to the second one,
In stead of using one of the matching circles as explained previously the other possible movements can
also be programmed.
Therefore each type of matching circle has its own number ranging from 0 to 7.
K1= X X
1 = left
2 = right
I
891025 Programming CNC3460/700 Section 1033
10.4.3. MATCHING CIRCLE BETWEEN LINE AND CIRCLE
In case 1 one and in case 2 two types of matching circles are possible. Each circle can be on the left or
on the right from the line through the centre perpendicular to the line and looking from the centre to
the line.
Programmed are:
 K1=20
\ N
/ \ \
a b
NB6964
.
Fig. 10.4.3.1 Left (a) and right (b) matching circle
(
Section 1034 Programming CNC3460/700 891025
Line does not meet the circle
The linear movement is programmed as described in section 10.2.5, the cases 1, 3 anct 4.
B1 =
A"" A
K1= 20
A'"'
B1=
K1=10
\
<?>>K
\
/
/
/
a b
NB6966
/
\ <?> \
\
/
i K1= 21
\
/
Y
K1= 11
a b
NB6967
Fig. 10.4.3.3. Left (a) and right (b) surrounding circle
all combinations of the direction of movement on the circles (G2 or G3) are allowed,
the block with the matching circle contains the word K1= .
Remark : In the figures 10.4.4.1. and 2. a few cases are drawn. The other cases can be
programmed in a similar way.
I
Section 1036 Programming CNC3460/700 891025
Both circles outside each other
I K1 = 1 K1=2
K 1 =12
K1 t
/
<?/ I K2
t I
/ I *
o
i K2
' fi
K1
Y
K1*22
ow X
PO
7 p Y'?\
I K113 +
<*/ \
K123
K1 A K2 )
b
f K1 \/ K2 I
110
Y
' <P
PO
oV X
K1=14

<*>
P3 , 'v
PO
K2 \ / /
c
K1 J/ PO
K1
i
J
\
I Y 2
I
AP K2
P3
'
i K124
K115
i
j
j
J A
PO i K2
K1
& K1
j P3
d
PO \
P3 8/
K2
j
Y j \
v
*x
> NB8050
K1=25
Fig. 10.4.4.1. Matching circle with outside circles
The word K1= for a matching circle surrounding both circles (see figure 10.4.4.1b) is:
The word K1= for a matching circle surrounding the first circle (see figure 10.4.4.1d.) is:
Remark If both circles are concentric, the programming is the same as with one circle in the other 4
one, except that it is also necessary to program the angle (B1=..) which the line through
the centre point of both circles and the centre point of the matching circle makes with the
X axis.
I
Section 1038 Programming CNC3460/700 891025
K1=1 K1=2
I X \
\ / \
S$, K116
P04
/ \
\
K2 \ K1 K2
)
K1
POJ
\ R
Ki2e
/ s
X X
Y
I <*y
/
X' \
PO
A / \ \
\
K1 !
K1 v
\* K127 v
PO
'X,
'
Y
NB805
The word K1 = for a matching circle surrounding the smaller circle (see figure 10.4.4.2f.) is:
Although most of the cases described in sections 10.4.3. and 10.4.4. appear with discontinuous (
movements, the word K1= has to be used in a few cases where the movements are continue but the
control will take the other possibility.
This may happen e.g. with a matching circle surrounding both circles and the greater arc has to be used
or in an occasion found in this example
/ 100
25
10
o
10 I
co
14
o 15
ro
LT> Y 15 LD
o
CN
W X
10
45
85
NB8028
N99970 G54 T1 M6
N1 X115 Y60 Z10 S100 M3
N2 G1 Z10 F1000
N3 G43 X100
N4 G41
N5 G64 R1=0
N6 G2 I85 J15 R15
N7 G3 R10 K1=22
N8 G2 I45 J20 R15 R1=0
N9 G1 R1=0
N10 G2 110 J15 R10
N11 G3 R14
N12 G2 110 J30 R10 R1=0
N13 G1 X25 Y60
N14 X115
N15 G40
N16 G63 Z10
I
Section 1040 Programming CNC3460/700 891025
Explanation:
N99970N4
N5
N6
:
:
:
These blocks are obvious.
A tangent line of which the startpoint is known.
A circular arc.
N7 : A matching circle with its centre on the right of the line through the centres.
The word K1=22 must be programmed. If omitted the matching circle on the left is
used.
N8N10 : Common tangent line.
N11 : Matching circle with the centre on the left.
N12N16 : These blocks are obvious.
Between two intersecting geometric elements a circular connection can be inserted. In general four
circles are possible which are numbered 1 to 4. The centre points of the circles with the numbers 1 and
2 are lying at the right from the first geometry element, when looking in the direction of tool
movement.
In some cases with K1=1 or K1=4 the connection circle is the rounding between the geometric
elements. In these cases the proper word K1= can be used in the block or can be omitted from it. In
the latter case the rounding is automatically used by the control.
In some cases the contour intersects itself (K1=2 or K1=3). It depends on the part to be made, if the
part programmer can use these cases or has to avoid them.
Two lines
/
/
3
i
\
/
/
4 +
R
Or
R
2
\
!
\
/ Ct y
\
i
N
1 j N+ 1
B1= y
Bt =
Y
NB6946
i
891025 Programming CNC3460/700 Section 1041
With K1=1, 2, 3 or 4 the following movements are possible:
/ /
/ N+1 / I
* * L
N+1 N+1
\
N1 N1
N
N1 N1
N
\
b d
NB8056
X N+1 N+1
X N
xv
N
N N
N+1 N+1 X X
X
'NI 'N1 'N1
X
X 'N1 \ i
Y
b d
NB8057
N+1 N+1
\
N1 N1 N1 N1
V.
b d
<
NB8058
N. N+1 N+1
X
v /
N
N
V NI NV'X
X X
X
X
N1 N1 N1 N1
b d
NBB059
Cases a and c
N10 G1 ....
N11 G2 K1=1,2,3,4 FL
Cases b and d
N10
N11
G1 ....
G3 K1=1,2,3,4 R..
N12 G1 .... N12 G1 ....
Remark :
1. In the cases c and d with K1=2 (fig. 10.4.5.3.) and a and b with K1=3 (fig. 10.4.5.4.), the
contour intersects itself.
2. Case a with K1=1 and case d with K1=4 are the roundings between the two lines.
Line to circle
+4
\
+3
y
j
+2
I j
+1
/
NB6909
The circular connections between line and circle can be programmed according to the following scheme:
Remark :
/ N\
{ +4
\
t \
( +3
)
+ 2
)
 (
+1
+3
7
\
+2
! f
+1
y
)
+4
\ /j
Y
NB6910
The circular connections between circle and line can be programmed according to the following scheme:
Remark :
K
Section 1044 Programming CNC3460/700 891025
;
Circle to circle
> / \
/
>o
J2
A
H
/
3
K1
K2
s
\
k \\
x
PO.
> NB8060
!
K2
/
/
V
2
I ""x
\
2
NB8061
Remark :
1. In a few cases the contour intersects itself. This may happen with the circles K1=2 or K1=3.
i
Section 1046 Programming CNC3460/700 891025
11. SPECIAL OPTIONS
I 11.1. IN CYCLE GAUGING
With touch trigger probes in cycle gauging is possible, which means that:
 component inspection can be performed,
 the job set up can be simplified by measuring the position of the component on the table,
 the tool dimensions can be measured
Component inspection is performed with a touch trigger probe placed in the spindle.
F A
'
/
/
R

/
X1= / MC
NB6901
When the probe touches the workpiece during this rapid movement, an error is displayed and the
movement stopped.
After reaching this position the probe moves with a fixed feedrate (MCsetting) in the programmed
direction to a position a fixed distance (MCsetting) past the point to be measured.
During this movement the probe should encounter the workpiece. If not, an error is displayed.
An output is provided to initiate an airflow to clean the surface, once the probe has reached the
starting point for measuring. The blow time is set by a machine constant.
I
891025 Programming CNC3460/700 Section 111
11.1.2. POSSIBLE TOUCH TRIGGER PROBES
For signal transfer between probe and control the following possibilities are available:
Inductive probe
Spindle
These probes are active, as soon as they are loaded in the spindle.
Battery
;
*
o ; Spindle
LJ
o
o
o
q?
Photodiodes
Fig.11.1.2.2 A remote signalling probe
These probes are switched on with the function M27. Two types can be handled by the control:
 automatically switching on via a signal to the probe electronics,
 switching on by spinning the probe a short time.
In this case the signal transfer is via a cable. This type of probe is switched on via M27 and switched
off via M28.
The deviation between the actual position of a point of the workpiece and the programmed position
can be measured.
C
/////
a A
k
7
A
/ / / / /
a
a
NB6900
The cycle for measuring a point on a line parallel to an axis is programmed with G45 and in the same
I block:
T
If X1= is not programmed a fixed value (MC setting) is used for it.
The tool number corresponding with the dimensions of the probe which are
stored in the tool memory.
The measured value is automatically corrected for the probe dimensions.
N= : Number of the point in the point memory, where the measured coordinate,
recalculated by the control to a position related to W, is stored.
So N=10 means that the measured coordinate is stored as the X, Y, Z or B
coordinate, depending on the used axis, of point P10.
Move the probe with rapid traverse rate to the starting point defined by the premeasuring
distance.
Move the probe with the fixed feedrate in the programmed direction.
During the feed movement the probe should encounter the workpiece. If not, an error is displayed.
If the probe touches the workpiece, the measured position is stored and the probe moves with
rapid traverse rate back to the starting point.
Calculate the difference between the measured and programmed position and store it in the
memory of the control.
The deviation between the actual circle centre and radius and the programmed centre and radius can be
measured.
to a l=C
NB6902
P: Instead of the coordinates the Pword can be used, indicating a previously defined
point (G78).
I, J and K: The plane for measuring the circle. The sign indicates the type of circle to be
measured:
+1 : Inner circle
1 : Outer circle
Both words for the plane should have the same sign.
F The feed used on the path between the four measuring points. See figure
11.1.4.3.
T The tool number corresponding with the dimensions of the probe, which are
stored in the tool memory.
The measured value is automatically corrected for the probe dimensions.
N= Number of the point in the point memory where the calculated centre point coor
dinates related to W, are stored.
So N=12 means that the centre point is stored at P12.
Measuring sequence
4 t
GO
GO
Startpoint R
Startpoinl
r~4
I R
+y
t 1+1
4
J+1 11
+x J1
NB6903
Figure 11.1.4.3 Measuring a circle on quadrant points
Move the probe with rapid traverse rate to the first starting point defined by the premeasuring
distance.
Move the probe with the fixed feedrate (MCsetting) in one axis past the first calculated measuring
point.
During the feed movement the probe should encounter the workpiece. If not, an error is displayed.
Move the probe with the programmed feedrate along the circle in clockwise direction to the
starting point of the second measuring point.
Measure the second position of the circle and store the data.
Move in the same way to the third position, measure this position and store the data.
Move in the same way to the fourth position, measure this position and store the data.
Once the four positions are measured, the circle centre and radius are calculated out of the
measured data.
The coordinates of the calculated circle centre are stored in the point memory. The calculated radius
is stored as a parameter.
PP
d  d+
NB6889
Pp is the programmed position on the axis, then the measured point should be between Pp
If point
and (Pp + d+) or between Pp and (Pp  d). Here d+ and d are the limits (tolerances) in the positive
and negative direction of the axis, resp.
2. A conditional jump
E : Parameter indicating that a jump is executed if E>0.
N= : Block number of the block to which is jumped if the condition (E>0) is fulfilled.
3. An error on the display of the control if neither a repeat nor a conditional jump is programmed.
When the various differences are between the programmed limits the block following the G49block, is
executed.
Once it is found that the calculated differences are between the programmed limits the differences can
be used for:
 A change of a secondary machine datum point, thus the stored zero offsets, resulting in a change
of the program datum;
If the G50block is used to change the secondary machine datum point with the differences, the
following words are used:
> N= The number of the Gfunction for the stored zero offsets (G52 or G54 to G59). The
offset value for the programmed axis is corrected with the difference for that axis.
Only those axes are programmed of which the coordinates have to be changed. So a change of only
the Xcoordinate is programmed as:
The multiplication factor can have a sign and ranges from 9999.999 to .001. If no factor is
programmed a value +1 is assumed.
So 1.8 means a muliplication factor of .8.
For measuring corrections on tool dimensions a square probe mounted at a fixed position of the
machine tool is used.
1+1 or 11 Measure in the positive (+1) or negative direction of the Xaxis.
J+1 or J1 Measure in the positive (+1) or negative direction of the Yaxis.
K+1 or K1 Measure in the positive (+1) or negative direction of the Zaxis.
L+1 or L1 Measure in the positive (+1) or negative direction of the fourth axis.
In both cases the multiplication factor can have a sign and ranges from 9999.999 to .001. If no factor
is programmed the value +1 is assumed.
) With a ring gauge mounted on a fixed position of the machine tool, it is possible to calibrate the touch
probe.
Depending on the type of ring it can be measured from the in or outside.
T : The tool number corresponding with the place in the tool memory in which the radius of
the probe is stored.
The difference between the measured centre point and the centre point stored in the machine
constants is calculated and can be used in a G50block to change the datum point.
Four functions (G145,G148,G149,G150) are available which allow subprograms (macros) to be writ
ten for controlling measuring cycles.
The cycle for a basic measuring movement uses the following words:
X,Y,Z,A : The coordinates of the point to be measured. These coordinates are related to datum point
W.
etc.
E : This word indicates the status of the measuring probe, by containing one of three possible
values after a G145function has been executed.
If E = 0 after a G145function has finished the programmed position has been reached but
no measurements have been made; the assigned Eparameters which contain measurement
ft values are therefore unaltered.
F2= : Feed of measuring movement. If F2= is not programmed, the feedrate value stored in
MC843 (version 700 onwards) will be used.
K : KO is the default mode. The measured positions are corrected for the tool length and radi
us (point B). The measured positions of rotary axes do not incorporate tool dimensions.
K1 results in the measured positions not being corrected for tool length and radius (point
A).
e A
C/O
X
s e i
X 5
B
NB8257
L1 results in the movement being terminated when the programmed position is reached or
i
when the probe arrives at its rest position (Untripped mode).
X7= : This word states the number of the Eparameter which will contain the measured position
of the Xaxis, eg. X7=2 states that parameter E2 will contain the measured Xaxis posi
tion. This word can also have a complete Eparameter stated, eg. X7=E1 (with E1=5) will
result in E5 containing the measured value.
This method of storing the results of measuring movements can also be used for other axes:
Demo
In this mode the G145 movement is towards the programmed position. If an Eparameter is pro
grammed with G145, the parameter will be given the value 2. The signals from the probe are ignored in
this mode however, the programmed axis positions are stored in the assigned Eparameters.
Block Search
In this mode a G145 movement towards the programmed movement is simulated. If an Eparameter is
programmed with G145 the parameter will be given the value 2. The signals from the probe are ignored
in this mode and the assigned Eparameters remain unaltered.
Testruns
In this mode a G145movement towards a programmed position will be at the test feedrate. If a test is
run without movement, the G145 movement will be simulated; the programmed axis positions will also
be stored in the assigned Eparameters. If a G145 Eparameter is programmed it will be given the value
I 2 by the CNC.
If the probe is triggered whilst travelling to the programmed position the movement will be aborted a
collision error message generated,and the contents of the Eparameters unaltered. The error code gen
erated during a G145movement will be P36, and 024 if outside the G145movement.
Intervention
When an intervention command is issued during a G145movement the Eparameter will be unaltered.
When restarting after an intervention, a repositioning movement towards the starting point of the
G145 movement will occur. The repositioning movement will happen in the same manner as a G01
movement. After a successful repositioning movement, the G145movement will recommence. If,after
reaching the starting point, the probe status is not the same as it was before the intervention, the
CNC will generate an 0171 (probe status invalid) error code.
If the probe is triggered during a repositioning movement, a collision error (024) will be generated.
The Eparameter has the value 2 in the Demo, Block Search, and Testrun modes.
I
891025 Programming CNC3460/700 Section 1111
11.1.10. Calling tool data and offsets [G149]
T : States the number of the tool for which tool data must be fetched. If an FMS system is be
ing used the complete tool number must be stated.
L1= : States which Eparameter has to contain the tool length, eg. L1=3 states that E3 will con
tain the tool length.
N1= : States which offset value must be placed in the parameter. N1= can have a value from 51
to 59, or a choice of either 92 or 93. If G92 or G93 are not active the Eparameter will
contain the value 0.
X7= : States which Eparameter has to contain the Xaxis tool offset.
Other similar *7= type words can be programmed; the range of choice depends upon the 
configuration of the axes.
<
NB8258
The number of the active tool is called (accessed) by programming : G149 TO E ; the number of the ac
tive tool will be stored in the Eparameter.
<
Section 1112 Programming CNC3460/700 891025
11.1.10.2. Calling active offsets
I The offset is called by programming : G149 N1=E ; depending on the offset required N1=' is given the
value 0 or 1.
N1=1 : The Eparameter will be given the value of the currently active offset G54...G59.
If a G54...G59 type offset is not active, the Eparameter is given the value 53.
The CNC will operate as normal in the Demo, Block Search, and Testrun modes.The G149 function can
not be interrupted by the use of the interruption command.
.
11.1.11 Adapting tool data and offsets [G150]
T : Tool whose data must be adapted. If a FMS system is being used, the tool number must be
stated completely.
L1= : Value to be assigned to the length of the tool in the tool memory.
R1= : Value to be assigned to the radius of the tool in the tool memory.
X7= : States the amount by which the X value of the selected offset is to be altered.
I Other offsets can be altered by the use of the same *7= format,
for example : G150 N1=57 X7=E1 Y7=E6 Z7=10.
G57 is the type of offset.
The new value of the Xaxis offset is stated in E1.
The new value of the Yaxis offset is stated in E6.
10 is the new value of the Zaxis offset.
The CNC will operate as normal in the Demo,Block Search, and Testrun modes.The G150 function can
not be interrupted by the use of the interruption command.
I
891025 Programming CNC3460/700 Section 1113
11.2. GRAPHICS
(
11.2.1. INTRODUCTION TO GRAPHICAL PROGRAM TESTS
Once the programming is finished, the program has to be tested. To this end a special test menu on
the control is available. With this menu can be chosen amongst other possibilities visualising the
programmed movements on the display of the control without any actual movement on the machine
tool. So the program can be checked for correct movements.
For visualising the movements a so called representation space with which the scale of the display is
defined, and the blank of the component have to be:
 set in the graphics memory of the control,
 defined in the part program with two Gfunctions:
 G98 : for the representation space,
 G99 : for the blank of the component.
Remark :
1. There are a few other parameters which can only be defined in the graphics memeory.
3. The functions G98 and G99 are ignored during the actual execution of the part program on the
machine tool.
4. Graphic simulation requires per tool the definition of the tool image and the color on the
graphics. This information is stored in the tool memory (Gword).
The representation space is a box of which the walls are used for defining windows for the three main i
planes, so that by scaling the programmed dimensions, as much as possible from the display of the
control is occupied with the visualisation. In the representation space the blank of the component is
defined.
The lower left rear corner point of the box corresponds with the lower left point of the display. This
point has to be related to the datum point W of the part program too.
I
Section 1114 Programming CNC3460/700 891025
>
J
Y
W.
< X
X"
K
NB8052
The sizes of the representation space are defined with the words:
 I : the length of the box parallel to the Xaxis
 J : the length of the box parallel to the Yaxis
 K : the length of the box parallel to the Zaxis
I
891025 Programming CNC3460/700 Section 1115
In some plotting modes the part can be rotated about the X and Yaxis.
Remarks :
1. If the representation space is not defined, neither in the graphics memeory nor in the part
program, the limit switches of the axes are used for defining the box.
2. The zooming facility allows to enlarge a section of the program, so that a closer look at the
programmed movements is possible.
For visualising the machining on the graphics display, the part dimensions must be defined too. To this
end a box is defined in exactly the same way as with the representation space:
 the left rear corner point with respect to W with the words X, Y and Z,
 the sizes of the box with the words I, J and K.
Up to 10 G99blocks can be used in a part program for defining irregular shapes or clamping fixtures.
Only that section of a program which fits in the representation space, is displayed. So visualising just a
section is possible.
If the total program has to be visualised, the blank of the part has to fit entirely in the representation
space.
i
Section 1116 Programming CNC3460/700 891025
12. CALCULATION EXTENSIONS
12.1. INTRODUCTION
Standard the control can perform some arithmetic with Eparameters or with one parameter
and a value.
With the option Calculation Extensions (software option S06) the parameters are stored as:
 integer values, thus without decimal point,
 fixed point values with an accuracy of at least 6 decimals and a maximum of 15 decimals behind the
decimal point,
 floating point values with an accuracy of 15 digits.
The type is automatically determined by the control. All calculations with parameters are performed
with increased accuracy.
The operations and functions can be combined to one compound expression which may be programmed
at any place where an Eparameter can be used.
 a data carrier
 a special menu (EDEXPR)I for editing an expression.
In this menu the operations and functions can be chosen and any compound expression generated. A
special calculator function is enclosed, so that calculations can be performed during the input.
Internally in the control parameters are stored as integer, fixed point or floating point values. The type is
automatically determined by the control.
I
891025 Programming CNC3460/700 Section 12 1
12.2.1 INPUT
With the input of a fixed point value up to 15 significant digits can be used. The decimal point, if required,
can be at any place between the 15 digits. A sign may precede the fixed point value.
So:
E1=1
E1=200.009
E1=9999.99999 are all valid fixed point values.
The input of a floating point value is with the so called scientific notation, thus with a mantissa and an
exponent (= a power of 10).
The mantissa is programmed as a fixed point value.
The exponent is preceded by e followed by a sign and an integer between 99 and +99. The sign is
optional and if not programmed, + is assumed.
So:
E1=1.976125e5 (i.e., 1.976125*100000=197612.5)
or
E1=1.976125e5 (i.e., 1.976125*.000001=.00001976125)
The function Int is used to convert a floating or a fixed point value to an integer value.
So
E1=int(E2)
In the place of E2 any parameter, value or legal expression can be programmed Parameter E1 is an
example too.
12.2.3 ROUNDING
Parameters or computed values are automatically rounded by the control on each place where they are
used as words with a limited number of decimals.
I
Section 12 2 Programming CNC3460/700 891025
12.3. ARITHMETICAL OPERATIONS
In the place of E2 and E3 any parameter, value or legal expression can be programmed. Parameter E1 is
an example too.
) 12.3.2 SQUARING
step 1 : 3A2=9
step 2 : 9
N.. E1=E2A2
With the function sqrt the parameter must be positive or zero. Otherwise an error message is displayed.
So E1=sqrt (E2) or
E1=sqrt (5) or
E1=sqrt (E2A2+E3A2)
are valid expressions with the function sqrt.
12.3.4 EXPONENTIATION
To Keep enough significant digits all calculations are executed with floating point values, except for those
cases where calculations with fixed point values do not give loss of accuracy, thus in most cases with (
add, subtract or evaluating abs.
If necessary the type is automatically converted by the control.
With the goniometric functions an angle has to be programmed. Three possibilities are available:
A conversion from an angle in degrees, minutes and seconds, e.g. 44 12' 33.5" to an angle in decimal
degrees can be programmed in the following way :
E1=44+12:60+33.5:3600 i
2. Angle in degrees, minutes, seconds
It is not allowed :
 to perform any calculations with an angle programmed in degrees, minutes and seconds
 to use it outside a goniometric function
 to use it as a parameter
 to use it in a relational expression.
if such use is required, the angle has to be converted to either decimal degrees (refer to 1.) or radians
(refer to 5.).
3. Radians
I
A third possibility is to program the angle in radians. In a goniometric function the value is terminated
with rad. This word is not allowed outside these functions.
4. The constant pi
The value of pi is stored in the control and at each place where a value or Eparameter is allowed, the
word pi can be used.
PI is stored in the control with an accuracy of 15 digits.
4
Section 1 2 4 Programming CNC3460/700 891025
5. Converting degrees to radians and v. v.
For converting degrees to radians or radians to degrees one has to remember that 360 degrees = 2*pl
I radians. So :
((44.209303:360)*2*pi)rad
If the angle is known as 44, 12, 33.5" the conversion to radians has to be programmed in a different
way :
E1=44+12:60+33.5:3600
and then :
angle = ((E1:360)*2*pi)rad
The reason for introducing a parameter (E1) is that one compound expression with the conversion to
decimal degrees followed by the conversion to radians, exceeds the maximum number of characters (40)
in one line.
I A conversion from radians to decimal degrees is programmed as :
(.7715979*360):(2*pi)
The functions for sine (sin), cosine (cos), and tangent (tan) are available. They are programmed as :
sin (E..)
cos (E..)
tan (E..)
The parameter E.. must be an angle programmed as described in the previous section. A value or any
legal expression between the parentheses is also allowed.
An error is generated, if odd multiples of 90 degrees are used with the function tan.
So
or
or
E1=Sin (44.209303)
E1=sin (4412"33.5)
E1=sin (,7715979rad) are allowed expressions.
E1=sin (44+12:60+33.5:3600)
or
E1=44+12:60+33.5:3600
E2=sin (E1*2*pi:360rad)
or
E3=2*pi:360
E2=sin (E1*E3rad)
i
891025 Programming CNC3460/700 Section 12 5
12.5. INVERSE GONIOMETRIC FUNCTIONS ASIN, ACOS AND ATAN
The inverse functions for sine (asin), cosine (acos) and tangent (atan) are available. They are
programmed as : I
asin (E..)
acos (E..)
atan (E..)
The input parameter E.. can also be a value or any legal expression. For asin and acos its final value
should ly between 1 and +1. For atan the input parameter can have any value.
The angle determined by the control is always in degrees and decimal parts thereof. With the function
asin or atan the angle lies between 90 and +90 and with the function acos between 0 and +180.
So E1=asin (.6972815) is a valid expression. After evaluating the function : E1=44.209303 (degrees
and decimal parts thereof).
12.6. EXPRESSIONS
For an expression with one operand the programming sequence can be:
1. operand  operator only with the operator A ;
2. operator  operand with all functions.
A compoundexpression consists of any combination of simple expressions. Two types are possible:
(
Section 12 6 Programming CNC3460/700 891025
12.6.2 ARITHMETIC EXPRESSIONS
1. All desired computations must be specified explicitly. That is, if more than onq operand appears in
an arithmetic expression, they must be seperated from one another by an arithmetic operator.
So a construction like E3=E1E2 has no meaning.
2. No two arithmetic operators may appear consecutivily in the expression. For example, an
expression like E1*:E2 is invalid. However, an expression like E1*E2 is allowed.
3. The order of executing the operations is from left to right. With parentheses the order can be
influenced. See 12.7.
A relational expression is formed by combining two arithmetic expressions with a relational operator. If
the relation is satisfied (or the expression is true), a programmed parameter is set to 1, otherwise to 0.
1. E1=E2=E3 : E2 equal to E3
2. E1=E2oE3 : E2 not equal to E3
3. E1=E2>E3 : E2 greater than E3
4. E1=E3>=E3 : E2 greater than or equal to E3
5. E1=E2<E3 : E2 less than E3
6. E1=E2<=E3 : E2 less than or equal to E3
In the place of E2 and E3 any parameter, value or legal expression can be programmed. Parameter E1 is
an example too.
Programming a jump condition in a G29block is much easier with a relational expression than with the
I usual programming.
means that a jump to N400 is executed, if E2 is greater than E3, for in this case parameter E1 is set 1
and this parameter is used as the jump condition.
To satisfy a relational expression all digits are compared and have to be the same. When parameter
values are results from calculations, this may cause difficulties. In this case limits have to be set and
checks performed to assure that the value is between these limits. Refer to section 12.9.1 for an
example.
I
891025 Programming CNC3460/700 Section 127
12.6.4 LEGAL EXPRESSIONS
A legal expression consists of a simple or a compound expression and can be programmed at any place
where a parameter may be used.
<
The space character is used to terminate a legal expression and is therefore not allowed in it. If the
expression is the last word in a block, the character EOB [LF] is used for terminating it.
The maximum number of characters in one line (40) restricts the size of a legal expression.
More than one legal expression is allowed in one block, as long as the maximum number of characters
(80) in that block is not exceeded.
12.7. PRIORITIES
The priority for evaluating a legal expression is:
1. evaluate a function sin, cos, tan, asin, acos, atan, sqrt, abs, int.
2. calculate reciprocal, square or exponentiation
3. multiply or divide
4. add or subtract
5. evaluate relational expression
If the operations have the same priority, such as multiply and divide, the evaluation is from left to right.
4A2=16 step 1
7:2=3.5 step 2
5*6=30 step 3
3+3.5=6.5 step 4
6.516=9.5 step 5
9.5+30=20.5 step 6
Parentheses can be used to group operations and thus impose a different order of computation. The
expression between the parentheses is evaluated before the result is used. In this case an arithmetic
expression is "nested" in another arithmetic expression. The computation proceeds from the innermost
nest to the outermost. Within any one set of parentheses the normal sequence for evaluating an
expression applies. Up to 4 nests can be used in an expression.
1
Section 12 8 Programming CNC3460/700 891025
EXAMPLE 12.7.1 Calculating absolute polar coordinetes
I P
L2=
15
y B2=
/
wx
10
NB7960
Fig. 12.7.1 Absolute polar coordinates
I If for some reason the absolute polar coordinates of point P have to be calculated, the programming
could be :
12.8. OPERATING
In the MENUG input mode for editing part programs or macros a softkey EDEXPR is available to jump
to a special menu for entering an expression via the control panel.
Via this menu the required operations together with the parameter number (E..) or the values for the
operands can be entered.
If the required expression is completed :
 press ENTER to accept the expression,
 press the softkey RETURN to go back to MENUG,
 press ENTER to get the expression in the block.
I
891025 Programming CNC3460/700 Section 129
12.8.2 CALCULATOR FUNCTION
If only values are used as operands, the softkey CALC allows to evaluate the entered expression and to
store the calculated value.
The other possibility is to enter the expression atan(15:10) and then press the softkey CALC. Now the
angle is calculated. After pressing ENTER the calculated angle is used in stead of the original
expression.
I
Section 1210 Programming CNC3460/700 891025
Output parameters
E20 :
E21 :
first coordinate of intersection point
second coordinate of intersection point
(E1; E2)
(E3; E4)
(E7; E8)
(E5; E6)
\
E21
y
/
i wx
E20 NB7961
The macro
Explanation
N15  N16:
891025
calculate the coordinates of the intersection point
Input parameters
Output parameters
YM
y X
w
E72
E74
y X E71
VW XM
NB7962
Explanation
N1 cancel axes rotation
N2 set E80 for the unconditional jumps,
calculate the total angle with the machine tool axis
N3 check the main plane
N4N7 datum point shift in the XYplane
N8 no tool axis
N10N11 no datum point shift in the main plane
N12 datum point shift in tool axis
N15N18 datum point shift in the XZplane
N19 no tool axis
N21  N22 no datum point shift in the main plane
N23 datum point shift in tool axis
N25  N28 datum point shift in the YZplane
N29 no tool axis
N31  N32 no datum point shift in the main plane
N33 datum point shift in tool axis
N34 perform the datum point shift
N35 activate axes rotation again
1. If a datum point shift in the tooiaxis only is required, just the shift value for the toolaxis has to be
programmed.
2. The shift values for the axes which are not used, are set to 0.
3. The sign should be considered for all distances. The shift values are coordinates in the rotated
system.
4. The coordinates in the position display refer to the non rotated coordinate system.
5. The Gfunction for the plane (G17, G18 or G19) should be set before the macro is called.
6. The alignment angle (E70) is determined with job set up. If not used, it should be set to 0.
YM
y X
w
30
30
y X 100
VW xM
NB7963
After the macro call (N101) point W2 is the new datum point.
Input parameters
Output parameter
E91
y,
X
W
E90
E61
E51
E92
E52
NB7964
Explanation
Remark
1. Notice the use of a calculated target block number (E85) for the conditional jump in N8 and
N18.
2. Parameter E79 can be used to handle the error in the calling program or macro.
40
y
x
W
40
1
*/
o 7
a 15
NB7965
N9003
N1 G98 X30 Y30 Z30 I60 J60 K60
N2 G99 X35 Y35 Z35 I70 J70 K25
N3 G17 T1 M06
N4 E51=1 E52=15 E53=500 E54=17 S100 M03
N5 E56=5 E61=25 E63=1 E64=1.5
N6 E90=40 E91=40 E92=0
N7 G22 N=99700
N8 M30
Explanation
N1N2 : define the window (G98) and the material (G99) for running the program in graphics
mode.
N3 : set the plane (XYplane) and load the tool.
N4N6 : start the spindle and define the parameters
N7 : call the macro for milling the pocket
N8 : end of the program
<
Section 1218 Programming CNC3460/700 891025
13. CYLINDER INTERPOLATION
I 13.1. INTRODUCTION
For cylindrical cams, contours have to be made on the surface of a cylinder. The surface can be
developped to a plane, the plane of the cylinder surface. In general the required contours are drawn in
this plane and with the option cylinder interpolation programmable as movements in this plane. The usual
Gfunctions for linear or circular interpolation can be used. During the execution .of the program these
movements are converted to movements with a linear (= the axis of the cylinder) and a rotary axis. The
tool must be perpendicular to the wall of the cylinder. With movements in the toolaxis the depth on the
cylinder wall is controlled. Two new Gfunctions (G182/G180) are introduced to activate and cancel the
cylinder interpolation.
Rotation about the Xaxis (Aaxis). The plane of the cylinder surface is the AXplane. The toolaxis
can be Y or Z.
+Y
Tool
<ZH +X EEK +x
A+ A+
+z +z Tool NB7966
Fig. 13.2.1 Rotation about the Xaxia
Rotation about the Yaxis (Baxis). The plane of the cylinder surface is the BYplane. The toolaxis
can be X or Z.
+Y +Y
B+ B+
Tool S'T'
I I
+ +
+X
Tool
T +x
+z +z NB7967
Fig. 13.2.2 Rotation about the Yaxis
I
891025 Programming CNC3460/700 Section 131
Rotation about the Zaxis (Caxis) The plane of the cylinder surface is the CZplane. The toolaxis can
be X or Y.
+Y +Y 4
Tool
+X +x
s s
Tool
C+. C+
+z +z NB7968
Cylinder interpolation is activated with G182. In this block can also be programmed:
 the cylinder axis (X1.Y1.Z1 ),
 the rotary axis (A1, B1, C1 ),
 the tool axis (Y1/Z1, X1/Z1, X1/Y1 ).
So a block with G182 Y1 B1 Z1 means:
 Yaxis : the cylinder axis
 Baxis : the rotary axis,
 Zaxis : the tool axis.
In this case the plane of the surface is the BYplane.
Because a machine tool often has one rotary table, it is possible to define the configuration for cylinder
interpolation at installation. These settings are stored in the machine constant memory and are used by
the control as default values, in case the axes are not programmed in the G182 block.
With the Rword in the G182 block the radius of the cylinder is programmed. The radius is used for feed
i
calculations. If the Rword is omitted, an error is displayed. The cylinder radius must be between 5mm
and 500 mm.
The radius is used as long as it is not cancelled by another G182block with a different Rword. In this
block all parameters not corresponding with a MCsetting have to be repeated.
At the execution of the G182 block the position of the rotary axis is not recalculated.
These functions can also be programmed. Their meaning is not influenced by the cylinder
interpolation.
G4 Dwell 530
G14 Jump and repeat function 2) 911
G22 Call of a subprogram 97
G29 Conditional jump 2) 911
G94 K Feed in mm/min or inch/mm Y 1) 529
G95 K Feed in mm/rev or inch/rev Y D 529
ft
891025 Programming CNC3460/700 Sedion 133
Remarks :
1. The active function at the moment of activating cylinder interpolation is not influenced by G182.
2. The block to which is jumped during the execution of the functions G14 or G29, must be in the
i
program section for cylinder interpolation.
3. The use of a Gfunction not contained in the tables 13.4.1.1 or 2, will cause an error message.
The plane of the surface is called either AX , BY or CZ , depending on which cylinder the contour has to
be made.
Cylinder axis
Z Y X
i
+
B Rotary axis
NB7969
The horizontal axis is the rotary axis and is programmed in degrees and decimal parts thereof. <
The vertical axis is the linear axis (=the axis of the cylinder) and is programmed in mm (or inches).
13.4.3 COORDINATES
A position on the cylinder axis is programmed with the address for that axis, thus X, Y or Z.
<
Section 134 Programming CNC3460/700 891025
In both cases the dimension is
 either absolute, thus with regard to the datum point W
 or incremental, thus with regard to the previous tool position.
I The functions G90 and G91 are used for programming the rotary axis, cylinder axis and the tool axis as
well, with absolute (G90) or incremental (G91) cartesian dimensions.
At activating cylinder interpolation the tool position in the rotary axis is recalculated to a position
between 0 and 360. This position defines the datum of the rotary axis.
The datum of the cylinder axis is the datum at use at activating cylinder interpolation, thus defined by the
active function for stored zero offset (G53G59), (p)reset axis (G51G52) and a datum point shift
(G92G93).
I An entire program is written with either metric or inch dimensions. So also the section for cylinder
interpolation is programmed with this unit, thus:
 the cylinder axis metric or in inches
 the rotary axis in degrees.
The function G70 or G71 must be programmed before the section for cylinder interpolation.
13.4.6 MOVEMENTS
A movement with rapid traverse rate of both axes to the programmed endpoint.
If all three axes are programmed in one block there is a fixed sequence for moving the axes:
 first tool axis
 then movement in the plane of the cylinder surface
Two or three axes can be programmed in one block. All axes move simultaneously and reach their
endpoint at the same time.
I
891025 Programming CNC3460/700 Section 135
13.4.6.3 CIRCULAR FEED MOVEMENTS [G2/G3]
The Gfunctions G2/G3 are used for indicating a circular movement in the plane of the cylinder surface :
G2 : a circular movement from the linear axis to the rotary axis
G3 : a circular movement from the rotary axis to the linear axis.
Z/Y/X Z/Y/X
G3
G2
A/B/C A/B/C
NB7970
I
Fig. 13.4.6.3.1 Direction of rotation in the cylinder surface
Only programming of the circle endpoint and the radius (Rword) can be used.
A
A
X
R.
B
B
Z/Y/X Z/Y/X
X
A A
w B w B
C
A
c
A
I
NB7971
Fig. 13.4.6.3.2 Circle with endpoint and radius
For radius compensation the five preparatory functions (G40, G41, G42, G43, G44) can be used.
The meaning of these functions is the same as for operations in a main plane (refer to chapter 6). For
defining LEFT or RIGHT one should look in the negative direction of the tool axis towards the cylinder.
From the control side of view there is no restriction on the size of the tool radius. But using large tools
may cause undercuts which depend on :
 the shape of the tool,
 the size of the tool,
 the depth of the operation. i
Section 136 Programming CNC3460/700 891025
13.5. EXAMPLE OF THE USE
200.
180. 20
20
45/ 45
20 20
60
40
NB7972
The part program for the cylindrical cam of figure 13.5.1 could be:
N9011
N1 G54 T1 M6
N2 G182 R114.6
N3 GO Y180 B0 S1000 M3
N4 G43 Y200
N5 G1 Z114 F300
N6 G42
N7 B30
N8 G2 Y194.142 B37.071 R20
N9 G1 Y45.858 B112.929
N10 G3 Y40 B120 R20
N11 G1 B240
N12 G3 Y45.858 B247.071 R20
N13 G1 Y194.142
J N14
N15
G2
G1
Y200
B322.929
B330
B360
R20
N16 G40
N17 GO Z150
Explanation:
I
891025 Programming CNC3460/700 Section 137