You are on page 1of 271

PHILIP

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

I PHILIPS EXPORT B.V. EINDHOVEN, THE NETHERLANDS 1989

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

1.1 Introduction 1-1


1.2 Program words 1-2
1.3 Program blocks 1-4
1.3.1 The block number[N] 1-4
1.4 Preparing a part program 1-5

1.4.1 Program identification. 1-5


1.4.2 Program setup 1-6
1.4.3 Program sheet 1-7
1.5 Program storage 1-7

2. Preparatory functions[G]

3. Programming a position

3.1 The coordinate system 3-1


3.2 Axis direction .. 3-1

m 3.2.1
3.2.2
3.2.3
The Z-axis
The X-axis
The Y-axis
3-1
3-2
3-2
3.2.4 Schematic drawings .... 3-2

3.3 Coordinates 3-4


3.3.1 Cartesian coordinates[G90/G91] 3-4
3.3.2 Polar coordinates 3-8
3.3.3 One cartesian coordinate and an angle 3-15
3.4 Point definition[G78] 3-17
3.5 Changing coordinate systems[G180/G182] 3-20

4. Establishing zero datum points

4.1 Zero datum points 4-1


4.2 Stored zero offsets[G53/G59]......: 4-4
4.3 Preset axis[G51/G52] 4-5
4.4 Zero datum point shifts[G92/G93] 4-6
4.5 Establishing the zero datum point at program start. 4-8

5. Motion commands

5.1. Rapid traverse movements 5-1


5.1.1. Rapid traverse [GO] 5-1
5.1.2. Positioning logic 5-1
5.1.3. Rapid traverse to position with regard to R[G74] 5-3
5.2. Linear interpolation1] 5-5

5.2.1. One or two linear axes 5-5


5.2.2. Using a rotary axis 5-6
5.2.3. 3D-interpolation 5-11
5.2.3.1. Three linear axes 5-11
5.2.3.2. Two linear axes and a rotary axis. 5-13

5.2.4. Simultaneous movement of the linear and rotary axes 5-14


5.3. Circular interpolation 5-15
5.3.1. Direction of movement[G2/G3] 5-15

m 5.3.2. A circle in a plane perpendicular to the toolaxis 5-16

891025 Programming CNC3460/700 Index - 1 -


Page

5.3.2.1.
5.3.2.2.
Programming a circular arc.
Programming a full circle ....
5-16
5-21
m
5.3.3. A circle not in the main plane 5-22
5.3.4. Using the linear axes U, V or W 5-23
5.4. Circular arc with a simultaneous movement of the third axis. S' 5-25
5.5. Helix interpolation 5-27
5.6. Feed programming 5-29

5.6.1. Feedrate in mm(inches)/min or mm(inches)/rev[G94/G95] 5-29


5.6.2. Feed overide operative or fixed to 100%[G25/G26] 5-30
5.7. Dwell[G4] 5-30
5.8. Movements with or without INPOSITION[G27/G28] 5-31
5.8.1. INPOSITION[l3=/l4=] 5-31
5.8.2. Switching on/off the positioning logic [I5=] 5-32

6. Tool compensation

6.1. Tool length compensation 6-1


6.1.1. Tool in different axes and plane selection [G17/G19] 6-2
6.1.2. Tool in different directions of the tool axis [G66/G67] 6-5
6.2. Tool radius compensation 6-6
6.2.1. Axis parallel radius compensation [G43/G44] 6-7

6.2.2. Contouring radius compensation [G41/G42] 6-9


6.2.3. Starting contouring radius compensation 6-12
6.2.4. Cancelling radius compensation[G40] 6-14
6.2.5. Feedrate with radius compensation[F1=] 6-16
6.2.6. Examples of contouring radius compensation 6-16

6.2.7. Restrictions at the use of radius compensation 6-21


6.3. 3D-tool correction[G141] 6-21
6.3.1. Introduction to 3D-tool correction 6-21
6.3.2. Normalized vectors 6-22

6.3.3. Cutter parameters 6-23


6.3.4. Calculation method 6-23
6.3.5. Programming 3D-tool correction 6-24
6.4. Activating a tool 6-26

7. Auxiliary machine functions

7.1. Spindle speed [S] 7-1


7.1.1. Coded spindle speed programming. 7-1
7.1.2. Analog spindle speed programming 7-1
7.2. Tool numbers [ T ] 7-2
7.2.1. Automatic tool changers 7-3

7.2.2. Random access tool memory[P] 7-3


7.2.3. Tool life monitoring 7-4
7.2.4. Spare tool assignment 7-4
7.3. Auxiliary function [H] 7-4

7.4. Miscellaneous functions [M] 7-5


7.4.1. Stop commands[M0&M30] 7-6
7.4.2. Spindle commands[M3/M4/M5/M19] 7-6
7.4.3. Coolant commands[M7/M8/M9] 7-7
m
Index - 2 - Programming CNC3460/700 891025
Page

m 7.4.4.
7.4.5.

8.
Combination of M-functions [M13/M14]
Tool change commands[M6/M66/M67]

Machining cycles
7-7
7-8

r 8.1. Cycles for hole operations[G81, G83 - G86] 8-1


8.1.1. Cycle definitions for hole operations 8-1
8.1.2. Tool movements 8-3
8.1.3. Activating a defined cycle on a point[G79] ... 8-6
8.1.4. Examples with machining cycles 8-7

8.1.5. Avoiding a collision with clamps 8-11


8.1.6. Cycle in different axes 8-12
8.1.7. Bolt hole circle[G77] 8-13
8.2. Milling cycles 8-17

8.2.1. A rectangular pocket[G87].... 8-17


8.2.2. A groove[G88] 8-22
8.2.3. A circular pocket[G89] 8-25
8.2.4. Rotating pockets or grooves. 8-27

9. Special features

9.1. Inch/metric programming[G70/G71] 9-1


9.2. Call of a part program[G23] 9-2
9.3. Parametric programming[E] 9-3
9.3.1. Relating a parameter to an address 9-3
9.3.2. Setting parameter values 9-4

9.3.3. Calculations with parameters 9-6


9.4. Subprograms or macros 9-7
9.4.1. Identification of a subprogram ... 9-7
9.4.2. Calling up a subprogram[G22] ... 9-7
9.4.3. Parameter use in a subprogram 9-9

9.5. Repeat and jump functions. 9-11


Si 9.5.1. Jump and repeat [G14] 9-11
9.5.2. Conditional jump[G29] 9-11
9.5.3. External jump condition 9-12
9.6. Coordinate transformations 9-12

9.6.1. Scaling[G72/G73] 9-13


9.6.2. Mirror image[G72/G73] 9-17
9.6.3. Axes rotation[G92/G93] 9-19
9.7. Automation package 9-22
9.7.1. Tool performance monitorj T1= ] 9-22

9.7.2. External part program selection 9-23


9.8. Chamfer and rounding[G11] 9-24
9.8.1. General remarks about G11 9-24
9.8.2. One point geometry with chamfer or rounding 9-26
9.8.3. Two point geometry with chamfer or rounding 9-27
9.8.4. Intersection point calculation 9-31

891025 Programming CNC3460/700 Index - 3 -


E
I Page
10. Geometry

10.1.
10.2.
General introduction
Using the geometry
10-1
10-4
m
10.2.1. Programming an endpoint or centre point . 10-4
10.2.2. Additional words with linear movements ... 10-5
10.2.3. Additional words with circular movements 10-5

10.2.4. Definitions related to the additional words 10-5


10.2.4.1. Angle in the direction of movement 10-5
10.2.4.2. Left or right intersection point 10-7
10.2.4.3. A parallel line 10-8
10.2.4.4. A support point on a line 10-9

10.2.4.5. Line parallel to a tangent line 10-10


10.2.5. Programming a linear movement 10-10
10.2.6. Programming a circular movement 10-14
10.2.7. Conventions with the use of the geometry. 10-16
10.3. Some examples 10-18

10.3.1. Examples explaining some definitions 10-18


10.3.2. Commom tangent line between two circles 10-21
10.3.3. Two tangent circles 10-23
10.3.4. Matching circle between line and circle 10-25
10.3.5. Matching circles between circles 10-27

10.3.6. Chamfer programming 10-28


10.3.7. Rounding between two intersecting lines 10-30
10.4. Discontinuous movements 10-31
10.4.1. Tangent lines . 10-31
10.4.2. Matching circles . 10-33

10.4.3. Matching circle between line and circle 10-34


10.4.4. Matching circle between two circles 10-36
10.4.5. A circular connection between two geometric elements. 10-41

s'
:

Index - 4 - Programming CNC3460/700 891025


Page
11. Special options

11.1. In cycle gauging 11-1


11.1.1. Component inspection 11-1
11.1.2. Possible touch trigger probes 11-2
11.1.3. Measuring a point [G45] 11-3
11.1.4. Measuring a circle [G46] 11-4
f
11.1.5. Processing the measuring results [G49/G50], 11-6
11.1.6. Tool measurements [G45+M25] 11-8
11.1.7. Touch probe calibration [G46+M26] 11-9
11.1.8. Programming measuring cycle macros 11-9
11.1.8.1. G145 Operational modes 11-11

11.1.9. Calling probe status [G148] 11-11


11.1.9.1. G148 Operational modes 11-11
11.1.10. Calling tool data and offsets [G149] 11-12
11.1.10.1. Calling active tool 11-12
11.1.10.2. Calling active offsets 11-13

$ 11.1.10.3. G149 Operational modes 11-13


11.1.11. Adapting tool data and offsets [G150] 11-13
11.1.11.1. G150 Operational modes 11-13
11.2. Graphics 11-14
11.2.1. Introduction to graphical program tests . 11-14
11.2.2. Graphics window [G98] 11-14
11.2.3. Component dimensions with graphics [G99] 11-16

fr

891025 Programming CNC3460/700 Index - 5 -


Page
12. Calculation extensions

12.1.
12.2.
Introduction
Parameter representation
12-1
12-1
m
12.2.1 Input 12-2
12.2.2 Converting floating point to fixed point. 12-2
12.2.3 Rounding 12-3

12.3. Arithmetical operations 12-3


12.3.1 The operations 12-3
12.3.2 Squaring 12-3
12.3.3 Square root 12-3
12.3.4 Exponentiation 12-3
12.3.5. Automatic type conversion. 12-4

12.4. Goniometric functions 12-4


12.4.1 The angle 12-4
12.4.2 The functions sin, cos and tan 12-5
12.5. Inverse goniometric functions asin, acos and atan, 12-6
12.6. Expressions 12-6

12.6.1
12.6.2
General definitions
Arithmetic expressions.
12-6
12-7
m
12.6.3 Relational expressions. 12-7
12.6.4 Legal expressions 12-8
12.7. Priorities 12-8

12.8. Operating 12-9


12.8.1 The menu ED-EXPR 12-9
12.8.2 Calculator function 12-10
12.9. Examples of the use 12-10
12.9.1 The intersection point of two lines 12-10
12.9.2 Datum point shift after axes rotation 12-13
12.9.3 A circular pocket with spherical bottom 12-16

13. Cylinder Interpolation

13.1. Introduction 13-1


13.2. Axes and planes 13-1

-
13.3.
13.3.1
13.3.2
Activating and cancelling cylinder interpolation
General remarks
Activating cylinder interpolation182]
13-2
13-2
13-3
m
13.4. Programming conventions 13-3
13.4.1 Possible G-functions 13-3
13.4.2 The plane of the surface ... 13-4
13.4.3 Coordinates . 13-4

13.4.4 The datum point 13-5


13.4.5 Inch/metric 13-5
13.4.6 Movements 13-5
13.4.6.1 Positioning [GO] 13-5
I 13.4.6.2 Linear feed movements [G1] 13-5

13.4.6.3 Circular feed movements [G2/G3] 13-6


13.4.7 Radius compensation [G40-G44] . 13-6
13.5 Example of the use 13-7

Index - 6 - Programming CNC3460/700 891025


1. PART PROGRAMMING

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.

891025 Programming CNC3460/700 Section 1 - 1


1.2. PROGRAM WORDS
The control employs the WORD ADDRESS system.
A word is divided into two parts:

1. the address,

single address, that is one alpha character


or
indexed address, that is an alpha character followed by an index 'and the = sign, e.g.
E1=

2. a multi digit number.

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.

EXAMPLE 1.2.-1 Construction of a word


(single) X 21 43
(indexed) X1= 21 43

Address

Sign

Value before decimal point

Decimal point

Value after 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.

Non-modal words

Non-modal words are only active in the block in which they are programmed, and must be written into
every block in which they are required.

Section 1 - 2 Programming CNC3460/700 891025


Frequently used words

In table 1.2.-1 the frequently used words are listed. The meaning of the word format is :

063 word with decimal point and without sign


+063 word with sign and decimal point
0 leading and (due to decimal point notation) trailing zeros can be omitted.
63 six digits before and three digits after the decimal point

04 word without sign and decimal point


0 leading zeros can be omitted
4 maximum number of digits

TABLE 1.2-1 Frequently used words and their format

Programming format

Address Description metric inch


0.001 0.0001

N Block number 07
Program identification 07
G Preparatory function 03
X Dimension along X-axis +063 +054
Y Dimension along Y-axis +063 +054
Z Dimension along Z-axis +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

F Feedrate 043 034


S Spindle speed 04
T Tool number 03
H Auxiliary function 04
M Miscellaneous function 02
E Parameter number 03

* The address of the 4., 5. or 6. axis can be: A, B, C, U, V, W

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.

891025 Programming CNC3460/700 Section 1 -3


1.3. PROGRAM BLOCKS
A block is a group of words considered as a unit and contains all information needed for one complete
operation (tool movement and/or machine tool function).

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.

EXAMPLE 1.3.-1 Construction of a block

N20 G1 X14 Z62.5 F300 S200 T12 M3

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.2-1.

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.

Blocks are separated by the character line feed [LF].

1.3.1. THE BLOCK NUMBER [N]

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 CAD-module 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 re-number 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.

Section 1 - 4 Programming CNC3460/700 891025


1.4. PREPARING A PART PROGRAM

1.4.1. PROGRAM IDENTIFICATION


y
Each part program on a data carrier has to start with a memory recognition and an identification number
(program number).The recognition for the part program memory is : %PM The program identification is
a number ranging from 1 to 9999999. So numbers as 1, 125, 9001, 12345, 876543, 3451592 are valid
identification numbers.The identification number should be placed directly behind %PM and the part pro
gram has to start with a block number equal to the identification number.(see example 1.4.1.-1).

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 MC-setting is determined, what will be displayed on the screen of the control, when the directory
(=list) of the part programs (ID-DIR) is chosen:

the program numbers, together with the names


or
n - the program numbers, together with the size of each program in bytes and its status.

EXAMPLE : 1.4.1.-1 Part program identification with name

%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 MC-setting: 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.

2h-f

I
7 S

891025 Programming CNC3460/700 Section 1 -5


1.4.2 PROGRAM SETUP
'

The following information is required for preparing a part program:


1. Determine the mounting of the workpiece and the position of the clamps;
2. Determine the machining operation sequence;
3. Determine the tools required for the operations;
4. Determine per tool the relevant technological data;
5. Determine the workpiece dimensions and the necessary movements.
The points 1 to 4 are outside the scope of this manual.

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 RS-267-A.

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

i Section 1 - 6 Programming CNC3460/700 891025


1.4.3. PROGRAM SHEET

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.

ff PHILIPS NUMERICAL CONTROL SYSTEM 3460 PROGRAM SHEET PAGE. .. OF....

WORKPIECE: MATERIAL: PROGRAMMER: DATE:

DRAWING NUMBER:

GEOMETRIC INFORMATION TECHNOLOGICAL INFORMATION

LC. N G X Y 2 W/B l/R J K P F S T M E

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 MC-memory 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.

I 891025 Programming CNC3460/700 Section 1 -7


2. PREPARATORY FUNCTIONS [G]
The second word of a block is the preparatory function (G-function). It presets the control for the
required type of operation. Only one G-function may be programmed in a block.

The G-functions 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.

TABLE 2.-1 List of Preparatory functions

n Fund Group Description Modal Reset Sedion - Page

GO A Rapid traverse movement Y 5-1


G1 A Linear feed movement Y 5-5
G2 A Circular feed movement,clw Y 5-15
Helix interpolation,clw
G3 A Circular feed movement,cclw Y 5-15
Helix interpolation,cclw

G4 Dwell 5-30
G11 Chamfer and rounding 9-24
G14 Jump and repeat function 9-11
G17 C Plane selection XY-plane; tool Z Y 1) 6-2
G18 C Plane selection XZ-plane; tool Y Y D 6-2

G19 C Plane selection YZ-plane; tool X Y D 6-2


G20 C Plane selection XY-plane; tool W Y D
n G22
G23
Call of a subprogram
Call of a partprogram
9-7
9-2
G25 G Feed override operative Y 5-30

G26 G Feed override fixed to 100% Y 5-30


G27 H Restore INPOSITION execution Y 5-31
G28 H Movements with/without INPOSITION Y 5-31
G29 Conditional jump 9-11
G40 D Cancel radius compensation Y 6-14

G41 D Radius compensation LEFT Y 6-9


G42 D Radius compensation RIGHT Y 6-9
G43 D Radius compensation TO Y 6-7
G44 D Radius compensation PAST Y 6-7
G45 Measuring a point 11-1

891025 Programming CNC3460/700 Section 2- 1


Funct Group Description Modal Reset Section - Page m
G46 Measuring a circle 11-3
G47 Process measuring results PQ
G49 Check on tolerances 11-7
G50 Process the differences
G51 R Ignore RESET AXES datum point Y *2) 4-5

G52 R Activate RESET AXES datum point Y 2) 4-5


G53 F Cancel stored zero offsets Y 2) 4-4
G54 F Activate 1.stored zero offset Y 2) 4-4
G55 F Activate 2.stored zero offset Y 2) 4-4
G56 F Activate 3.stored zero offset Y 2) 4-4

G57 F Activate 4.stored zero offset Y 2) 4-4


G58 F Activate 5.stored zero offset Y 2) 4-4
G59 F Activate 6.stored zero offset Y 2) 4-4
G63 N Cancel geometric calculations Y 10-1
G64 N Activate geometric calculations Y 10-1

G66 P Length compensation in dir. Y *2) 6-5


G67 P Length compensation in "+" dir. Y 2) 6-5
G70 M Program in inches Y D 9-1
G71 M Program is metric Y D 9-1
G72 Q Cancel mirror image or scaling Y 9-13

G73 Q Activate mirror image or scaling Y 9-13


G74 Rapid traverse to position to R 5-3
G77 Execute cycle on circular pattern 8-13
G78 Point definition 3-17
G79 Execute cycle on a point 8-6

G81 E Define drilling cycle Y 8-1


G83 E Define deephole drilling cycle Y 8-1
G84 E Define tapping cycle Y 8-1
G85 E Define reaming cycle Y 8-1
G86 E Define boring cycle Y 8-1

G87 E Define milling cycle rect. pocket Y 8-17


G88 E Define milling cycle groove Y 8-22
G89 E Define milling cycle circ. pocket Y 8-25
G90 J Absolute cartesian dimensions Y 3-4

Section 2 - 2 Programming CNC3460/700 891025


Fund Group Description Modal Reset Section-Page

G91 J Incremental cartesian dimensions Y 3-4

G92 Datumpoint shift from last datum 4-6


Axes rot. from last axis in use
G93 Datumpoint shift from fixed datum 4-6
Axes rot. from machine tool axis
G94 K Feed in mm/min or inch/min Y 5-29

G95 K Feed in mm/rev or inch/rev Y 5-29


G98 Graphics window 11-14
G99 Material dimensions 11-16
G141 D Activate 3D-tool correction Y 6-21

G145 Basic measuring movement 11-9


Pi G148
G149
Calling measuring probe status
Calling tool data and offsets (measuring)
11-11
11-12
G150 Processing tool data and offsets 11-13
G180 B Standard machine tool coordinates Y 3-20

G182 B Cylinder interpolation Y 3-20


G196 S End graphic contour definitions Y
G197 S First point of a contour Y
G198 S First point of a contour Y
G199 S Window for graphic contours Y

1) Not influenced by CLEAR CONTROL.

Preset functions determined by MC-setting

2) Not influenced by CLEAR CONTROL.

n 2) Preset function at switching on

891025 Programming CNC3460/700 Section 2 - 3


3. PROGRAMMING A POSITION
The following definitions of the coordinate system and the axis directions conform to the standards ISO
841, DIN 66217 and EIA RS-267-A.

3.1 . THE COORDINATE SYSTEM


The positions of the tool movements are determined in a rectangular, right-handed coordinate
system.Rectangular means, that the main linear axes X, Y and Z are at right angles to each other.Right-
handed means, that a rotation from +X to +Y is represented by a helix with right-handed thread in the
+Z-direction.

+Y

+B U//X
v// Y
w//z

+x
+A
+C

+z
NB6082

Fig. 3.1.-1 A rectangular, right-handed coordinate system

Figure 3.1.-1 shows :


- the main linear axes X, Y and Z;
- the rotary axes A, B and C for a rotation about one of the main axes;
n - additional linear axes U, V and W parallel to the main axes.

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. AXIS DIRECTIONS

3.2.1. THEZ-AXIS

The Z-axis 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 Z-direction runs from the centre of the workpiece to the centre of the tool. This means that
a movement in the positive Z-direction increases the distance between the workpiece and the tool.

891025 Programming CNC3460/700 Section 3 - 1


3.2.2. THE X-AXIS

The X-axis runs horizontally and parallel to the clamping surface.

The positive X-direction is to the right, when looking from the spindle towards :
#
- the workpiece with a horizontal Z-axis,

the column with a vertical Z-axis,

- the left-hand column on a double column machine with a vertical spindle.

3.2.3. THE Y-AXIS

The Y-axis is at right angles to the X and Z-axis.

The positive Y-direction is so chosen that a right-handed coordinate system is produced.

3.2.4. SCHEMATIC DRAWINGS

The various axes together with their names and directions are shown in the figures 3.2.4-1, -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

Fig. 3.2.4.-1 Milling machine with horizontal spindle

Section 3 - 2 Programming CNC3460/700 891025


+ z
+ X
+ Y

+ Y
'+
A

+ x A: Tool movement
B: Machine movement

n NB7959

Fig. 3.2.4.-2 Milling machine with vertical spindle

+ z (W)
+X
+ Y

+2
+Y

i
I
Fig. 3.2.4.-3 Double column milling machine

891025 Programming CNC3460/700 Section 3-3


3.3. COORDINATES
For defining a position the following possibilities are available :
- a position with cartesian coordinates,
- a position with polar coordinates,
- a position with one cartesian coordinate and an angle.

With the latter two possibilities a position is defined in a main plane, thus a plane parallel to either the XY-
plane, the XZ-plane or the YZ-plane. The plane in use is programmable with one of the G-functions for
plane selection.

Tool in Main plane

G17 Z-axis XY-plane


G18 Y-axis XZ-plane
G19 X-axis YZ-plane
G20 W-axis| XY-plane

Refer to section .... for plane selection.

3.3.1. CARTESIAN COORDINATES

Absolute cartesian coordinates

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

Fig. 3.3.1.-1 Absolute cartesian coordinates.

Section 3 - 4 Programming CNC3460/700 891025


Incremental cartesian coordinates

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.

Changing from absolute to incremental and vice versa

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.

Programming a cartesian coordinate

A cartesian coordinate in an axis (absolute or incremental) is programmed with :


- The address
. X, Y, or Z for the main linear axes,
. U, V, or W for a linear axis parallel to a main axis,
. A, B, or C for a rotation about a main axis.
- The coordinate value.

A coordinate value is programmed :


- for a linear axis in mm or inches,
- for a rotary axis in degrees.
The smallest programmable value is the unit of the measuring system, i.e. in general .001 mm , .0001* or
.001 degree.The maximum programmable value is 999,999.999 mm , 99,999.9999" or 999,999.999 de
grees.

891025 Programming CNC3460/700 Section 3- 5


For a linear axis, however, the maximum programmable value depends also on the maximum
displacement of the axis and the position of the program datum. An error message is displayed and
further processing of the program inhibited, if the maximum displacement of an axis is violated on the
machine tool. 4
For a rotary axis the maximum value corresponds with about 5555 revolutions.

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.

EXAMPLE 3.3.1.-1 Using absolute cartesian coordinates

P3
P2

60 70
y

20, 30 wx 30
v
P1 30
60 P4
80
I *

!:
NB6830

Fig. 3.3.1.-3 Programming with absolute cartesian coordinates

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:

N10 GO X-60 Y-20 (P1)


N11 G1 X-30 Y 60 F1000 (P2)
:] N12 X 30 Y 70 (P3)
N13 X 90 Y-30 (P4)

Explanation:

N10 : A movement with rapid traverse rate (GO) to point P1.


N11-N13 : Movements with feedrate (1000 mm/min) to the points P2, P3 and P4.

Section 3 - 6 Programming CNC3460/700 891025


EXAMPLE 3.3.1.-2 Using incremental cartesian coordinates

60
50
30
P3
P2 10

100
80
y

20. w x
Av
& P1
60 P4

- : NB6822

v Fig. 3.3.1.-4 Programming with incremental cartesian coordinates

With incremental cartesian coordinates the movements of figure 3.3.1.-4 can be programmed as follows :

L
%. N10 GO X-60 Y- 20 (P1)
N11 G91
M2 G1 X 30 Y 80 F1000 (P2)
I' N13
TFJ14
X 60
X 60
Y 10
Y-100
(P3)
(P4)
iv
Explanation:

N10 : Point P1 is programmed with absolute coordinates


N11 : Set the programming for incremental coordinates
N12-N14 : The movements to the points P2, P3 and P4 are programmed with incremental values.

891025 Programming CNC3460/700 Section 3 - 7


3.3.2. POLAR COORDINATES

Absolute polar coordinates

With absolute polar coordinates the position is determined by


i
- the word B2= : the angle the line through the program datum point W and the endpoint makes with
an axis,
- the word L2= : the distance from datum point to endpoint.
'

"SS

P2
S-i
L2=
P1

<
B2=

w X

P
NB6815

iJf. '

m.

Fig.3.3.2.-1 Absolute polar coordinates

<
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 XY-plane.

S
In the XY-plane (G17 or G20 active) the angle is measured with the positive X-axis. 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

Fig. 3.3.2.-3 The sign of the angle in the XZ-plane.

In the XZ-plane (G18 active) the angle is measured with the positive X-axis. The angle is positive with a
rotation from +X to -Z and negative with a rotation from +X to +Z.

891025 Programming CNC3460/700 Section 3 - 9


+z

+y
w
p
B2=- B2=+ P

NB6818

Fig. 3.3.2.-4 The sign of the angle In the YZ-plane.

In the YZ-plane (G19 active) the angle is measured with the negative Z-axis. The angle is positive with a
rotation from -Z to +Y and negative with a rotation from -Z to -Y.

Section 3-10 Programming CNC3460/700 891025


The distance is programmed as a dimension word and with a sign.

L2=+ P

L2=- B2=+
W

P
NB6819

Fig. 3.3.2.-5 The sign of the word L2s .


Incremental polar coordinates

With incremental polar coordinates the position is determined by


- the word B1= : the angle the line through the starting point and the endpoint makes with an axis,
- the word L1= : the distance from starting point to endpoint.

L1=. P2

B1=
y P1

X
w NB7957

Fig.3.3.2.-6 Incremental polar coordinates

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

Fig 3.3.2.-7 The sign of the word Lis

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.

Section 3 - 12 Programming CNC3460/700 891025


EXAMPLE 3.3.2.-1 Using absolute polar coordinates

P3
P2
76.158,
.67.082

.116563
11

W 18435
63.245
PI 161565 94.868
P4

NB6820

Fig. 3.3.2.-S Programming with absolute polar coordinates

With absolute polar coordinates the movements of figure 3.3.2.-8 can be programmed as follows :

N10 GO B2=- 161.565 L2 * 63.245 (P1)


N11 G1 B2= 116.565 L2 =67.082 F1000 (P2)
N12 B2= 66.801 L2 =76.158 (P3)
N13 B2=- 18.435 L2 = 94.868 (P4)

Explanation:

N10 A movement with rapid traverse rate (GO) to point P1 .


N11-N13 Movements with feedrate (1000 mm/min) to the points P2, P3 and P4. ,

H 891025 Programming CNC3460/700 Section 3 - 13


EXAMPLE 3.3.2.-2 Using incremental polar coordinates

60.828
P31

9462 59036
85.44, 116.619

y
69444
X
w 20.

PI
60 P4

NB6824

Fig. 3.3.2.-9 Programming with incremental polar coordinates

Section 3 - 14 Programming CNC3460/700 891025


With incremental polar coordinates the movements of figure 3.3.2.-9 can be programmed as follows :

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:

N10 : Point P1 is programmed with absolute cartesian coordinates


N11-N13 : The points P2, P3 and P4 are programmed with incremental polar coordinates.

3.3.3. ONE CARTESIAN COORDINATE AND AN ANGLE

A position can also be defined with :


- the word X, Y, or Z : the cartesian coordinate of the main plane,
- the word B1= : the angle which the line from starting point to endpoint makes with an axis

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

Fig. 3.3.3.-1 One absolute cartesian coordinate and angle

891025 Programming CNC3460/700 Section 3 -15


P1 P1

y
B1= B1=

x X
W W
x
a b
NB6829

Fig. 3.3.3.-2 One Incremental cartesian coordinate and angle

EXAMPLE 3.3.3.-1 Endpoint coordinate and angle

X2

PI 30
45

P0
y
60

wx
15 NB6825

Fig. 3.3.3.-3 Absolute cartesian coordinate and angle

The movement from point P0 to P1 to P2 in figure 3.3.3.-3 can be programmed as follows :

N10 GO X5 Y10 (PO)


N11 G1 X15 B1=60 F1000 (P1)
N12 Y45 B1=30 (P2)

Explanation:

N10 : A movement with rapid traverse rate to PO


N11-N12 : Movements with feedrate (1000 mm/min) to the points P1 (X-coordinate and angle) and P2
(Y-coordinate and angle)

Section 3 -16 Programming CNC3460/700 891025


EXAMPLE 3.3.3.-2 Distance to move and angle

r-f P1 60
y P0 30
o

mi:
X
5W 25 10

NB6826

Fig. 3.3.3.-4 Incremental cartesian coordinate and angle

& The movement from point P0 to P1 to P2 in figure 3.3.3.-4 can'be programmed as follows :

N10 GO X5 Y10 (PO)


N11 G91
N12 G1 X25 B1=30 F1000 (PI)
N13 X10 B1=60 (P2)

% Explanation:

N10 : A movement with rapid traverse rate to PO


N11 : Set the programming for incremental coordinates
1 N12-N13 : Movements with feedrate (1000 mm/min) to the points P1 and P2 (both X increment and
angle)

3.4. POINT DEFINITION [G78]

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 MC-setting.
The maximum number is 255.

-
A G78-block contains :
the symbolic name of the point programmed with the P-word 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.

891025 Programming CNC3460/700 Section 3- 17


So the point P1 is defined as follows :

N100 G78 P1 X100 Y100 ZO

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.

Up to 10 previously defined points can be used in blocks with a GO, G1 or G79.

The defined points remain stored, until:


- the point is defined again in a G78-block;
- the point memory is changed or cleared by the operator;
- a data carrier with defined points is read in.
The point memory is not affected by CLEAR CONTROL.

EXAMPLE 3.4.-1 Using point definitions


-

tr
& P2
P3

70
60
y

20, 30 Vx
30
30
PI
60 P4
80

NB6830

Fig. 3.4.-1 Point definition with cartesian coordinates

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.

Section 3- 18 Programming CNC3460/700 891025


The part program could be :

N10 G78 P1 X-60 Y-20


N11 G78 P2 X-30 Y 60
N12 G78 P3 X 30 Y 70
'
:J N13 G78 P4 X 90 Y-30

N90 GO P1
N91 G1 P2 F1000

* N92
N93
P3
P4

Between N13 and N90 any other operation can be programmed.

EXAMPLE 3.4.-2 Using point definitions and polar coordinates

P3
P2
76.158,
,67.082

.116563

801

if
7 3435
63.245
P1 161565 94.868
P4

NB6820

Fig. 3.4.-2 Points defined with polar coordinates

The movements from P1, to P2, to P3, to P4 using the point definition and the polar coordinates could
be programmed as follows :

N10 G78 P1 B2=- 161.565 L2= 63.245


N11 G78 P2 B2= 116.563 L2= 67.082
N12 G78 P3 B2= 66.801 L2= 76.158
N13 G78 P4 B2=- 18.435 L2= 94.868

N90 GO P1
N91 G1 P2 F1000
N92 P3
N93 P4

Between N13 and N90 any other operation can be programmed.

891025 Programming CNC3460/700 Section 3- 19


3.5. CHANGING COORDINATE SYSTEMS [G180/G182]

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.

Two G-functions are provided to indicate which coordinate system is used:

- G180: machine tool coordinates


- G182: coordinates in the plane of the cylinder surface
The function G180 is automatically set at program start or CLEAR CONTROL.

Refer to chapter 13 for programming in the plane of the cylinder surface (cylinder interpolation).

; i

j
-

I
1
*

<

Section 3 - 20 Programming CNC3460/700 891025


4. ESTABLISHING ZERO DATUM POINTS
4.1. ZERO DATUM POINTS

On a machine tool five important zero datum points can be recognized:

1. Machine reference datum point


2. Geometric machine zero datum point
3. Secondary machine zero datum point
4. Mounting zero datum point
5. Program zero datum point

1. Machine reference datum point (R)

Symbol :

4-T 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).

2. Geometric machine zero datum point (MO)

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
MC-DATA

Fig. 4.1.-2 Schematic relation between R and MO

3. Secondary machine zero datum point (Mi)

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
MC-DATA ZERO-OFFSETS

Fig. 4.1.*3 Schematic relation between R, MO and Ml

4. Mounting zero datum point (C)

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.

Section 4 - 2 Programming CNC3460/700 891025


to*
T R
M M C
0 I
MC-DATA ZERO-OFFSETS PRESET AXIS

Fig. 4.1.*4 Schematic relation between R, MO, Mi and C

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.

5. Program zero datum point (W)

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
MC-DATA ZERO-OFFSETS PRESET AXIS , G93 (92)

G93

G93

NB7978

Fig 4.1.-5 Schematic relation between R, MO, Ml, C and W

891025 Programming CNC3460/700 Section 4 - 3


4.2. STORED ZERO OFFSETS [G53/G59]
The stored zero offsets are used to relate the six secondary machine zero datum points (Mi) to the
geometric machine zero datum point (MO).To each secondary machine zero datum point corresponds
one of the preparatory functions G54 to G59. The axial distances measured from MO to Mi together
with the corresponding G-function are stored in the zero offset memory of the control. Seven G-
functions for stored zero offsets (G53 to G59) are available. They form one group and only one
function can be active at a time.

The meaning of the G-functions is:


- G53 To cancel any active offset function.
The control uses the offset 0 for all axes, so MO is the active machine zero datum point. At
switching on the control or after REFERENCE POINT SEARCH the function G53 is
automatically activated.
- G54/59 : To define in the offset memory and to activate in the part program one of the six
secondary machine zero datum points Mi (1<=i<=6).

For activating stored zero offsets the associated G-function 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 G-function 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.

EXAMPLE 4.2.-1 Stored zero offsets

Part 2
Part 1
+ yl

S9! \ + x
G54 M \\
1
r% + X
G55
r
Hi + X
M M
I 1 2

NB6085

Fig. 4.2.-1 Two parts with different datum points

Section 4 - 4 Programming CNC3460/700 891025


Figure 4.2.-1 shows two workpieces with secondary machine zero datum points M1 and M2 clamped to
a common table.

The distances between MO and M1 are as follows:

X-400 Y-100 Z300

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 G54-block 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:

X 200 Y-200 Z100

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.

4.3. PRESET AXIS [G51/G52]


If the position of the workpiece is not known very accurately, the position of the zero datum point of
the mounting device (C) has to be determined by means of measuring clocks or a mill of known
diameter. Once the exact position is thus established, the display shows the position of the tooltip (=
centre of the mill). With PRESET AXIS (see operators manual) the coordinates of the tooltip in the
coordinate system with point C as datum point are entered.

After finishing PRESET AXIS the control :


- calculates the axial distances from the active machine datum point (MO or Mi) to point C,
- stores the values in the zero offset memory together with the function G52,
- activates the function G52.
Point C is the datum point of the coordinate system now.

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 re-established 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).

4.4. ZERO DATUM POINT SHIFTS [G92/G93]


The program zero datum point W can be established arbitrarily within the range of the control system.
The position of W may optionally be changed, so as to simplify calculations at programming. Such
modifications of the program zero datum point are called zero datum point shifts. After a zero datum
point shift all absolute dimensions in a program are related to the last program zero datum point W. The
display always indicates absolute cartesian dimensions which are related to W.

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.

A block with a zero datum point shift contains:


The preparatory function G92 or G93
The coordinates of the new zero datum point:
Either cartesian or polar coordinates (B2=.. and L2=..) or a symbolic name (P-word see
section 3.4) can be used to define the position of the new datum point. An axis of which the
position of the zero datum point is not changed, does not need to be programmed.
These coordinates refer to the previous program datum point W (G92) or the mounting
datum point C (G93)
Auxiliary machine functions. These are normally processed.

Section 4 - 6 Programming CNC3460/700 891025


When processing a block with a zero datum point shift, merely the coordinates of the tool position are
recalculated to the new program zero datum point.

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 G-functions G51 to G59 are executed, the datum point shifts are
cancelled.

EXAMPLE 4.4.-1 Zero datum point shift programmed with G92/G93

--
40
40

-aKf-r
70
1-+
4443
|

!4
40

Trbf--
44
50 :6
40
*

w
90 200

Z=0

NB7956

Fig. 4.4.-1 Zero datum point shifts

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 G-functions G81 and G79.

1. Program with G92

N10 G81 Y 1 Z-10 F200 S500 M3


N11 G92 X 90 Y 70
N12 G79 X 20 Y 20 Z 0
N13 G79 X-20
N14 G79 Y-20
N15 G79 X 20
N16 G92 X200 Y-20
N17 G79 X-20 Y-20
N18 G79 X 20
N19 G79 Y 20
N20 G79 X-20

891025 Programming CNC3460/700 Section 4 - 7


Explanation:

N10 : A fixed cycle for drilling a hole is defined.


N11 : The zero datum point is shifted from C to A. (either G92 or G93 can be used in this block)
N12-N15 : The four holes (1, 2, 3 and 4) are drilled, with the workpiece surface defined as Z=0.
N16 : The zero datum point is shifted from A to B.
N17-N20 : The four holes (5, 6, 7 and 8) are drilled.

2. Program with G93

Related to the mounting datum point C, the program looks as follows:

N10 G81 Y 1 Z-10 F200 S500 M3


N11 G93 X 90 Y 70
N12 G79 X 20 Y 20 Z 0
N13 G79 X-20
N14 G79 Y-20
N15 G79 X 20
N16 G93 X290 Y 50
N17 G79 X-20 Y-20
N18 G79 X 20
N19 G79 Y 20
N20 G79 X-20

Explanation:

The program is equivalent to the previous one, except the following modifications:

N11 : The zero datum point is shifted from C to A.

N16 : The zero datum point is shifted from C to B.

If the points A and B have the same Y-coordinate, block N16 looks as follows:

1st program: N16 G92 X200

2nd program: N16 G93 X290

4.5. ESTABLISHING THE ZERO DATUM POINT AT PROGRAM START


How the program datum point is established at program start depends very much on the mounting of
the workpiece.

Section 4 - 8 Programming CNC3460/700 891025


1. Precisely mounted workpiece

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).

EXAMPLE 4.5.-1 Program start with precisely mounted part


200

+y

+x
100 +y M

'W + x

NB7955

Fig. 4.5.-1 Precisely mounted workpiece

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 X-200 Y-100

After processing this block, W will be the program zero datum point.

2. Not precisely mounted workpiece

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.

891025 Programming CNC3460/700 Section 4 - 9


EXAMPLE 4.5.-2 Mounting datum point setting

I I
I i
'wmmmmmmm. dl

NB7324

Fig. 4.5.-2 Determining datum point of mounting

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 X-40 and Y-40 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.

Section 4- 10 Programming CNC3460/700 891025


5. MOTION COMMANDS

5.1 . RAPID TRAVERSE MOVEMENTS

5.1.1. RAPID TRAVERSE [GO]

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 G28-block 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.

The function GO is automatically preset at the start of a program or at CLEAR CONTROL.

5.1.2. POSITIONING LOGIC

In a GO-block 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 G-function
for the main plane and on the movement in the tool axis.

1. Tool towards the workpiece.

With G66 active a movement in the negative direction and with G67 active in the positive direction of
the tool axis.

G17 G18 G19

1. movement 4. axis 4. axis 4. axis


2. movement XandY X and Z Y and Z
3. movement Z-axis Y-axis X-axis

891025 Programming CNC3460/700 Section 5 - 1


2. Tool from the workpiece.

With G66 active a movement in the positive direction and with G67 active in the negative direction of
the tool axis.

G17 G18 G19

1. movement Z-axis Y-axis X-axis


2. movement XandY XandZ Y and Z
3. movement 4. axis 4. axis 4. axis

Remark :

1. If the axes 5 and/or 6 are also programmed, they move simultaneously with the 4.axis.

2. The positioning logic can be switched off with a G28.

3. The movement in the main plane is under full control of the linear interpolator.

4. Refer to section 6.1.2 for the functions G66 and G67.

EXAMPLE 5.1.2.-1 Programming a rapid traverse movement

P2 (25, 15, 10)


15

P1
10 (10, 10, 20)

5 -
y | +y

x' +z
w 5 10 15 20 25 10 W '

20

NB5788

Fig. 5.1.2.-1 A positioning

1. Movement to the part

The positioning from P1 (10,10,20) to P2 (25,15,10) can be programmed as follows:

N40 GO X 25 Y 15 Z 10

Section 5 - 2 Programming CNC3460/700 891025


In this case the actual movements are (G17 and G66 are assumed to be active):

a movement in the main plane


the movement in the tool axis (Z-axis)

2. Movement away from the part

The positioning from P2 (25,15,10) to P1 (10,10,20) can be programmed as follows:

N40 GO X 10 Y 10 Z 20

In this case the actual movements are (G17 and G66 are assumed to be active):

- the movement in the tool axis (Z-axis)


- a movement in the main plane

3. Movement without positioning logic

If the positioning logic is switched off, the positioning from P1 to P2 can be programmed as :

N40 GO X25 Y15 Z10

Now the three axes X, Y and Z move simultaneously.

5.1.3. RAPID TRAVERSE TO A POSITION WITH REGARD TO R [G74]

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 G74-block. 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 ).

891025 Programming CNC3460/700 Section 5 - 3


The L-word can be used to suppress or execute the length compensation:

- with LO (default value) or no L-word programmed the length compensation is suppressed;


- with L1 the length compensation is executed in the tool axis.
The radius compensation has to be cancelled before using the G74.

G74 is only active in the block in which it is programmed.

After the execution of the G74-block 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 G-function of group A. Be sure that this is one of the functions GO or G1.

An incremental position after a G74-block has to be programmed with regard to the position in the G74-
block.

The function G74 is not allowed during the geometry (G64 active).

EXAMPLE 5.1.3.-1 A rapid movement to a position with regard to R

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 (P-word) are allowed in one G1-block. 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 G28-block the movements can be forced to actually reach the
position (See section 5.8.1 for INPOSITION).

5.2.1 . ONE OR TWO LINEAR AXES

With one or two linear axes in a G1 -block a straight line in the plane defined by the endpoint
coordinates is made.

EXAMPLE 5.2.1.-1 Linear movements in the main plane

50 10

NB7979

Fig. 5.2.1.-1 Milling a hexagon

891025 Programming CNC3460/700 Section 5 - 5


The program for the part of figure 5.2.1.-1 could be :

N9001
N1
N2
N3
G54
GO
G1
X 30 Y-57.5Z-12 S500
F500
T1 M6
M3
N4 G43 Y-42.5
N5 G41
N6 G1 X-25
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 Y-57.5
N14 Z100
N15 M30

Explanation:

N1 Set the datum point and load tool 1 (0/20)


N2 Start the spindle
Move tool first to part and then to depth
N3 Set linear interpolation and the feedrate
N4 Move tool with toolcompensation TO the part
N5 Set radius compensation to LEFT
N6-N11 Mill around the part
N12 Cancel radius compemsation
M3 Move tool away from part
N14 Retract the tooj
N15 End of program

5.2.2. USING A ROTARY AXIS

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 Y-axis,
thus the rotary axis is programmed with B. The tool is either in the Z- (X-) or Y-axis. The radius from
the pivot centre to the surface is programmed with the word B40=.. (A40=.. for the A-axis and C40=..
for the C-axis).

Remark :

1. In stead of the word B40= (A40= or C40=) the R-word 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.

Section 5 - 6 Programming CNC3460/700 891025


1. Rotarty axis only

With a movement with the rotary axis only can be produced:

tool in the Y-axis : a circular arc in the facing plane

tool in the Z-(X-) axis : a groove on the cylinder

x
W

z
NB7981

Fig. 5.2.2.-1 A circular arc In the facing plane

y z
W w
x x

NB7982

Fig. 5.2.2.-2 A groove on the cylinder

In both cases the programming of the movement with the rotary axis is as follows:

N10 G1 B.. B40=.. F..

B.. : the endpoint of the B-axis

B40=.. : - the radius of the arc (figure 5.2.2.-1),


- the radius of the cylinder (figure 5.2.2.-2).
The programmed feedrate (F..) is related to this radius.
The radius is modal, i.e. it remains active until cancelled (B40=0 is used then) by :
- programming B40=0
- switching to another coordinate system
- M30 or CLEAR CONTROL

891025 Programming CNC3460/700 Section 5-7


F.. : the feedrate.
With B40=0 or not programmed, F.. is the feedrate in degrees/min. Make sure that G94 has been
previously activated.

Otherwise, F.. is the feedrate on the surface in mm (inches) /min or mm (inches) /rev.
fl
2. Y- and B-axis

\
\
\
i *
i
i t >
I

I
J /
/
$ /

J
B+
/

X+ <
Fig. S.2.2.-3 Movement with Y- and B-axis

The programming of this movement is as follows:

N10 G1 Y.. B.. B40=.. F..

Y.. and B.. : the endpoint of the Y- and B-axis

B40=.. : the radius of the cylinder

Refer to 1. "Rotary axis only" for cancelling the radius.

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 (MC-setting) 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.

Section 5 - 8 Programming CNC3460/700 891025


3. X- or Z- and B-axis
i
r"

LV
\\\
lV r I'll
IJ
i i h/
s?
1

y
Fig. 5.2.2.-4 A spiral in the facing plane

The programming of this movement is as follows:

N10 G1 Z..(X..) B.. B40=.. F..

Z..(X..) and B.. : the endpoint of the Z- (X-) and B-axis

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

Refer to 1. "Rotary axis only" for cancelling the radius.

Refer to 2. " Y and B-axis" for the F-word.

EXAMPLE 5.2.2.-1 Simultaneous movement of Y- and B-axis


y

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_

Fig. 5.2.2.-5 A helix on a cylinder surface

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 Z-axis. The program for this helix could be:

N10 G17 T1 M6
N11 GO X 20 Y 80 Z 22 BO S200 M3
N12 G1 Z-18 F100
N13 Y 20 B3600 B40=20 F200
N14 GO Z100

Explanation:

N10 : Load the tool (mill 0/3). Tool is in the Z-axis (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 (B-word).
N14 Move tool away from part

EXAMPLE 5.2.2.-2 Movements in the facing plane

H ftff/y> \\\ \il


\ Iji
(Ji
AY /// //,
III
CTI
rv.

Fig. 5.2.2.-6 A spiral in the facing plane

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 Z-axis. The program could be:

N10 G18 T1 M6
N11 GO X0 Y2 Z5 B0 S200 M3
N12 G1 Y-2 F100
N13 Z29 B1440 B40=17 F200
N14 GO Y100

Explanation:

N10 : Load the tool (mill 0/3). Tool is in the Y-axis (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 (B-word).
N14 Move tool away from part

Section 5-10 Programming CNC3460/700 891025


5.2.3. 3D-INTERP0LATI0N
If three axes are programmed in one block, these axes move simultaneously. Their motions are controlled
by the linear interpolation. Two cases are considered:
- three linear axes, see section 5.2.3.1,
- two linear axes and a rotary axis, see section 5.2.3.2.

Refer to section 5.2.4 for linear movements with which more than one rotary axis is involved.

5.2.3.1. THREE LINEAR AXES

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 CAD-option of the control is a 3D-tool 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.

EXAMPLE 5.2.3.1.-1 3 D-interpolation

20 --

10-.

ya
10 (20) 30
/
Z W /
10
/(20) /
P1 //
(5) l
20/ll> (40)
P2 /
/
30
(10)
(30)
j /
40
/
NB5787A

Fig. 5.2.3.1.-1 Three dimensional movement

n
891025 Programming CNC3460/700 Section 5-11
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.

EXAMPLE 5.2.3.1.-2 3D-movements with radius compensation


__
__ _____
za
u

\
2

%-r7 z>

Fig. 5.2.3.1.-2 3 D-movements with radius compensation

A part program for the workpiece from figure 5.2.3.1.-2 using radius compensation could be:

N9003 T1 M6
N1 X 80 Y-20 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

Section 5-12 Programming CNC3460/700 891025


Explanation:

N9003 : Tool 1 is loaded.


N1 : The spindle starts and then the tool moves to the starting position.
N2 : Linear interpolation and the feedrate is set.
N3 : The tool moves TO the workpiece.
N4 : The tool moves to the starting point of the slope.
N5 : The slope is followed; the path in the XY-plane is corrected for the radius.
N6 : The second slope is followed.
N7 : The radius compensation is cancelled.
N8 : The tool moves away from part.

5.2.3.2. TWO LINEAR AXES AND A ROTARY AXIS

Here too a rotaion about the Y-axis (B-axis) is assumed.

\
r* \ \
\ i
i
l !
t
:
I
t 6
/ x

Fig 5.2.3.2.-1 Movement with Y-, X- and B-axis

The programming is as follows:

N10 G1 X.. Y.. B.. B40=..F..


r
X../ Y../ B.. : the endpoint coordinates of the X-, Y- and B-axis the tool is standing in the Z-axis

B40=.. : the average radius of the spiral in the XZ-plane.

Refer to section 5.2.2 (1) for cancelling the radius, (2) for the F-word and (3) for calculating the
average radius.

891025 Programming CNC3460/700 Section 5-13


5.2.4. SIMULTANEOUS MOVEMENT OF THE LINEAR AND ROTARY AXES

In a G1-block 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

xJg-z
*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 B-axis) and C40= (for the C-axis). 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 5-14 Programming CNC3460/700 891025
5.3. CIRCULAR INTERPOLATION

r In circular interpolation, the tool moves with the programmed feedrate (F-word) 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 G28-block 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 XY-plane,
the XZ-plane or the YZ-plane and is restricted to linear axes only.

Two cases have to be considered:

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.

Refer to section 5.3.4 for a linear axis parallel to a main axis.

5.3.1. DIRECTION OF MOVEMENT [G2/G3]

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

Fig. 5.3.1.-1 Direction of movement

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.

5.3.2.1. PROGRAMMING A CIRCULAR ARC

An arc up to 180 degrees can be programmed with:


- the endpoint coordinates and the radius of the arc, programmed with the R-word (a dimension word
without a sign);
- the endpoint coordinates and centre point coordinates.
For an arc greater than 180 degrees the endpoint and centre point coordinates have to be programmed.

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 endpoint of the arc n


All possibilities for programming a position, as described in the sections 3.3 and 3.4, can be used for
defining the endpoint of a circular arc.

The centre point coordinates

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 MC-setting, an
error is displayed and program execution stopped.

Cartesian coordinates [I. J. K]

The cartesian coordinates are programmed with the words I for the X-axis, J for the Y-axis and K for
the Z-axis 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.

Only two centre point coordinates have to be programmed.

r\
Section 5 -16 Programming CNC3460/700 891025
r
rb
Y I
K
a=:
Y
t
K
A

x
o-2
w w I
X
gao S9

Fig. 5.3.2.1.-1 Cartesian centre point coordinates

TABLE 5.3.2.1.-1 Centre point coordinates in the main planes

r G17 G18 G19

plane XY-plane XZ-plane YZ-plane

centre i and J I and K J and K

Polar coordinates [B3= , L3=]

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.

- L3= r the distance from datum point W to the centre.


r

Y
B3

W X

Fig. 5.3.2.1.-2 Absolute polar centre point coordinates

Refer to section 3.3.2 the description of B2= and L2= for the programming conventions of the polar
angle and length.

891025 Programming CNC3460/700 Sections - 17


EXAMPLE 5.3.2.1.-1 Programming the radius of an arc

B
n
3S

25- fA

15 .y

35 45 55

Fig. 5.3.2.1.-3 Circular arc with radius

The arc from figure 5.3.2.1.-3 can be programmed as follows:

N10
N20
G1
G3
X 55
X 45
Y 25
Y 35 R 10
F100
n
Explanation:

N10 : A linear feedmovement to the starting point A of the arc


N20 : The circular arc, counterclockwise (G3) with endpoint B and radius 10.

EXAMPLE 5.3.2.1.-2 Programming the angle of an arc

B
o
o
Y
o
;
W * 30
(0 NB6827

Fig. 5.3.2.1.-4 An arc of 120 degrees


!

The circular movement from figure 5.3.2.1.-4 can be programmed as follows:

:
N10 G1 X 30 Y 30 F500
N11 G2 B5=120 1 40 J 20

n
:]
Sections - 18 Programming CNC3460/700 891025
Explanation:

N10 : A linear feed movement to starting point A.


r N11 : A circular movement in clockwise direction (G2);
the angle of the arc is programmed (B5=).
Cartesian coordinates for the centre point are used.

EXAMPLE 5.3.2.1.-3 Cartesian centre point coordinates

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

Fig. 5.3.2.1.-5 Circular arc greater than 180 degrees

The arc of figure 5.3.2.1.-5 is programmed twice:

1. With absolute cartesian coordinates:

N10 G1 X 42.5 Y 10.867 F200


N11 G3 X 19 Y 25 I 35 J 25

Explanation:

N10 : Linear feed movement to the starting point A of the arc


N11 : Circular arc, counterclockwise (G3) with endpoint B and centre point coordinates I and J.
r Both the coordinates X and Y as well as the coordinates I and J are absolute values with
regard to the program datum point W.

2. With incremental cartesian coordinates:

N10 G1 X 42.5 Y 10.867 F200


N11 G91
N12 G3 X-23.5 Y 14.133 I- 7.5 J 14.133

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.

EXAMPLE 5.3.2.1.-4 Using polar coordinates

PQ
[45

P1
CO 15
B
a K
P2*
Yi
:s
P3
NB6831

Fig. 5.3.2.1.-6 Circular interpolation with polar coordinates

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:

N10 : With rapid traverse to point PO.


N11 : A linear feed movement from PO to P1.
Incremental polar coordinates are used.
N12 : A clockwise (G2) circular feed movement from P1 to P2.
For P2 incremental polar coordinates are used.The centre is programmed with absolute polar
coordinates
N13 : A linear feed movement from P2 to P3.

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.

EXAMPLE 5.3.2.2.-1 Milling a full circle

I
I
*
s
i
1
r ii
AJ
JI.

Fig. 5.3.2.2.-1 Milling a hole

The hole in figure 5.3.2.2.-1 should be milled.


The program could be (part dimensions are used):

N10 GO X 60 Y 90 Z-10 S1000 M3


N11 G1 F100
N12 G43 Y105
N13 G41
N14 G2 I 60 J 60
N15 G40
N16 G1 Y 90
N17 Z100

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 (G40-G44).

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 XZ-plane 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 (R-word) 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 X-axis, J for the Y-axis and K for the Z-axis.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.

TABLE 5.3.3.-1 Endpoint and centre point coordinates

XY-plane XZ-plane YZ-plane

endpoint XandY X and Z Y and Z

centre point I and J and K J and K

EXAMPLE 5.3.3.-1 Circle not in the main plane

O
..2

V x
sfj-

Fig. 5.3.3.-1 Circle in the XZ-plane; tool in Z-axis

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 X-20 ZO R20
N14 G1 X-15

Explanation:

N10 : The tool is loaded.


N11 : Move tool to entrance point.
N12 : Move tool to part. The toolradius is considered in the programmed X-coordinate.
N13 : Make the circular movement. Both endpoint coordinates have to be programmed.
N14 : Move tool away from part.

r 5.3.4. USING THE LINEAR AXES U, V OR W

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 (R-word) 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 U-axis, J for the V-axis and K
for the W-axis.
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.

TABLE 5.3.4.-1 Main axis X and a linear axis n


XU-plane XV-plane XW-plane

endpoint XandV Xand W

centre point I and J I and K

TABLE 5.3.4.-2 Main axis Y and a linear axis

YU-plane YV-plane YW-plane

endpoint YandU Y and W

centre point J and I J and K

TABLE 5.3.4.-3 Main axis Z and a linear axis

ZU -plane ZV-plane ZW-plane

endpoint Z and X Zand Y

centre point K and I Kand J

TABLE 5.3.4.-4 Combination of linear axes

UV-plane UW-plane VW-plane

endpoint U and V UandW V and W

centre point I and J I and K J and K

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 (F-word) is the surface speed.

Circle in the mein plane

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:

G17 G18 G19

plane XY-plane XZ-plane YZ-plane

toolaxis Z Y X

0 The radius compensation can be used with the circular movement.

EXAMPLE 5.4.-1 2.5D-interpolation


Z=0 21

y 25.

X
w

r NB7983

Fig. 5.4.-1 Arc and linear movement simultaneously

The program for the shape of figure 5.4.-1 could be:

N10 T1 M6
N11 GO XO Y 35 ZO S1000 M3
N12 G1 F500
N13 G43 Y 25
N14 G41
N15 G2 X-25 YO Z-21 1 0 JO
N16 G40
N17 G1 X-35

r
891025 Programming CNC3460/700 Section 5 - 25
Explanation:

N10 : Load tool 1 (0/10)


N11 : Start the spindle and move the tool to the part O
N12 : Set linear interpolation and the feedrate
N13 : Move tool TO the workpiece
N14 : Set radius compensation LEFT
N15 : Make the simultaneous movement of the circle and the third axis
N16 : Cancel radius compensation
N17 : Move tool away from part

Refer to chapter 6 for an explanation of the functions for radius compensation (G40-G44).

Circle not In the main plane

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 (R-word) is not
possible. Thus the programming is :

XY-plane XZ-plane YZ-plane

endpoint XandY XandZ YandZ

centre point land J I and K J and K

third axis Z Y X

Section 5 - 26 Programming CNC3460/700 891025


5.5. HELIX INTERPOLATION

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.

G17 G18 G19

tool axis Z Y X

I and J I and K J and K


centre point or or or
B3= and L3= B3= and L3= B3= and L3=

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.

EXAMPLE 5.5.-1 Helix interpolation

m /

r i

T
o Y


J-4-
w
X
15 40 -
80
Z=0

Fig. 5.5.-1 Making a thread M42 x 1.5

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:

N10 Load the tool(0 / 20)


N11 Start the spindle and move tool to starting position
N12 Set the function for a linear feed movement
N13 Move tool with feed TO (G43) the part
N14 Set radius compensation LEFT (G41)
N15 Mill the helix. Programmed are:
- circle centre (I and J)
- angle of the arc (B5= ) 12turns of 360.
- pitch of thread (K).
N16 Cancel radius compensation (G40)
N17 Move tool away from part
N18 Retract the tool

Section 5 - 28 Programming CNC3460/700 891025


The helical movement can also be programmed with:

* tool axis

circle endpoint
G17

Xand Y
G18

XandZ
G19

Y and Z

centre point I and J I and K J and K

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

So block 15 of example 5.5.-1 can also read:

N15 G2X40 Y 62.5 Z-16.5 I 40 J40 K1.5

Programmed are :
- circle endpoint (X and Y),
- depth (Z),
- circle centre (I and J),
- pitch of thread (K).

5.6. FEED PROGRAMMING


The feedrate, thus the surface speed of the tool, is programmed with the F-word.

5.6.1 . FEEDRATE IN MM(INCHES)/MIN OR MM(INCHES)/REV [G94/G95]

G94 active

With G94 active the feedrate (F-word) is programmed directly in mm/min or inch/min, depending on the
activated function for metric (G71) or inch (G70).

So F200 means a feedrate of 200 mm/min.

The function G94 is automatically set at CLEAR CONTROL.

C
891025 Programming CNC3460/700 Section 5 - 29
G95 active

With G95 active the feedrate (F-word) is programmed in mm/rev or inch/rev, depending on the
activated function for metric (G71) or inch (G70). r
V

So F2 means a feedrate of 2 mm/rev.

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.

5.6.2. FEED OVERIDE OPERATIVE OR FIXED TO 100% [G25/G26]

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.

5.7. DWELL [G4]

A regular pause in the part program with a programmable duration of time can be executed for some
purpose.

The X-word is used for programming the time in seconds.


The maximum dwell time is 900 sec, the minimum time is .1 sec and the step size .1 sec.

The function is only effective in the block in which it is programmed. Any previously activated G-
function, M-function, etc. remains valid for the subsequent blocks.

EXAMPLE5.7.-1 Programming a dwell

N10 G4 X2.5

In block N10 a dwell of 2.5 seconds is programmed. n

Section 5 - 30 Programming CNC3460/700 891025


5.8. MOVEMENTS WITH OR WITHOUT INPOSITION [G27/G28]

5.8.1. INPOSITION [13=714=]

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

*o 'l -time Ncsin

r
position calculated by the control

actual tool position

Flg.5.8.1.-1 Commanded and actual tool position

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 G28-block are used to program how the tool has to reach the programmed
position :

I3=0 (default value) : G1, G2, G3 are executed without INPOSITION


13=1 : G1, G2, G3 are executed with INPOSITION

I4=0 (default value) : GO is executed with INPOSITION


14=1 : GO is executed without INPOSITION

r
891025 Programming CNC3460/700 Section 5 - 31
5.8.2. SWITCHING ON/OFF THE POSITIONING LOGIC P5-]

With the word 15= in a G28-block is programmed how the positioning logic in a GO-block has to be
executed:

15=0 (default value) : GO is executed with positioning logic


15=1 : GO is executed without positioning logic

The parameters of a G28-block are modal and remain active until the same parameter is programmed
with the opposite value in another G28-block 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

UPDATES TO PROGRAMMING MANUAL CNC3460/3560/M600/M700 DATE: 900704

Manual order code : M600 4822 873 20381, dated 891125


M700 4822 873 20404, dated 891025

Please add these two pages of chapter 6 to your manual.


Take out the old pages 5, 6 and 15, 16 of chapter 6 and insert the new pages.

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.

Already published updates : none

Order code for these updates : 4822 873 29357

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 X-axis, 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

Fig. 6.1.2.-1 G-codes for the tool in different axes

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 G-code 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 Y-direction, 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.

900704 Programming CNC3460/M600/M700 Section 6 - 5


6.2. TOOL RADIUS COMPENSATION
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 correction-value 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 3D-tool 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.

G41/G42 : Contouring radius compensation


Refer to section 6.2.2.

G43/G44 : Axis parallel radius compensation


Refer to section 6.2.1.

G141 : 3D-tool correction with normalized vectors.


Refer to section 6.3.

Section 6 - 6 Programming CNC3460/M600/M700 900704


T During the tool movements (see figure 6.2.4.-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 G40-block (N21) the tool moves directly from the intersection
W point to point E.

A-

B
N8S808

Fig. 6.2.4.-2 A movement in the G40-block

Sample program 2 for cancelling radius compensation with a movement in the G40-block.

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

Fig. 6.2.4.-3 G40 with a circle generated by the control

900704 Programming CNC3460/M600/M700 Section 6- 15


6.2.5. FEEDRATE WITH RADIUS COMPENSATION

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 (MC-setting),
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
(MC-setting), 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.

6.2.6. EXAMPLES FOR RADIUS COMPENSATION

EXAMPLE 6.2.6.-1 Milling around a workpiece

150

0 2>
0
X X
o
i X
X
X
X
/
Y'X/
X
X
X
4 t
W X

B
0-0
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

Fig. 6.-1 The tool point or tool tip

However, the position of the tool tip depends:


- with hole operations : on the tool length,
- with milling operations : on the length and the radius.
These dimensions differ from tool to tool and should be considered either with the programming or with
the execution of the program.

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.

In the following sections are described:


- the tool length compensation,
- the tool radius compensation,
- 3D-tool correction with normalized vectors.
Remark : If fixed tools are used, the length and radius compensation can be used as a correction on
the tool dimensions.

6.1 . TOOL LENGTH COMPENSATION


For movements in the tool axis the positions can be found in the drawing. Due to the different lengthes
of the tools these positions are not related to a fixed point on the spindle. However, for controlling it is
necessary to relate all movements in the tool axis to such a fixed point, e.g. the spindle nose.

891025 Programming CNC3460/700 Section 6 - 1


1
L

NC5669 NC5667

Fig. 6.1.-1 Tool length

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 Z-axis. 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.

G-function Tool axis Plane for


radius compensation

G17 Z-axis XY-plane


G18 Y-axis XZ-plane
G19 X-axis YZ-plane

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 MC-setting) 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.

EXAMPLE 6.1.1.-1 The tool in different axes

100

NB579S

Fig. 6.1.1.-1 Two points in different planes

A hole in the XY-plane and one in the XZ-plane should be drilled (figure 6.1.1.-1). First the tool is
standing in the Z-axis and with an angular head in the Y-axis.

The part program could be:

N10 G17 T1 M6
N11 GO X50 Y 50 Z 1 S1000 M3
N12 G1 Z-10 F200
N13 GO Z 1
N14 Y200 M5
N15 G18 T2 M6
N16 G55 M3
N17 GO Y101 Z-50
N18 G1 Y 91
N19 GO Y101

891025 Programming CNC3460/700 Section 6 - 3


Explanation:

EE-
!

Fig. 6.1.1.-2 Tool In the Z-axIs (G17)

N10 : Load tool T1 and indicate that the tool is standing in the Z-axis (G17).
N11 : The point in the XY-plane is approached .
N12 : The tool feeds to depth in the Z-axis.
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 Y-axis (G18).

i.

-Y
NB5796

Fig. 6.1.1.-3 Angular head with tool in Y-axis (G18)

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 Y-axis.
N19 : The tool is retracted out of the hole.

Section 6 - 4 Programming CNC3460/700 891025


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 X-axis, 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

Fig. 6.1.2.-1 G-codes for the tool in different axes

With the use of these functions:


- the operator can always enter a positive length value in the tool memory
- the part programmer can always look from the tool at the plane for circular interpolation, radius
compensation and geometry.
The necessary conversions are automatically performed by the control during the execution of the
program.

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 Y-direction, 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.

891025 Programming CNC3460/700 Section 6 - 5


6.2. TOOL RADIUS COMPENSATION j

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 correction-value 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 3D-tool 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.

G41/G42 : Contouring radius compensation


Refer to section 6.2.2.

G43/G44 : Axis parallel radius compensation


Refer to section 6.2.1.

G141 : 3D-tool correction with normalized vectors.


Refer to section 6.3.

Section 6 - 6 Programming CNC3460/700 891025


6.2.1. AXIS PARALLEL RADIUS COMPENSATION [G43/G44]

The following two functions are available:

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

Fig. 6.2.1.-1. To (G43) and Past (G44)

Point A Place the tool is standing


Point B Programmed endpoint
Point B Position of the tool tip.

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.

Hence in a block like:

N20 G43 X100

the tool moves in the X-axis only TO the programmed position 100. There is no movement in the Y-axis.

The same holds for:

N20 G44 Y100

In this case the tool moves in the Y-axis only PAST the programmed position and there is no movement
in the X-axis.

In a G40-block 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.

891025 Programming CNC3460/700 Section 6 - 7


EXAMPLE 6.2.1.-1 Axis parallel milling with G43 and G44

'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 Y-20 Z-5 S1000 M3
N11 G43 X150
N12 G1 F200
N13 G44 Y 80
N14 X0
N15 Y0
N16 X150
N17 G40 Y-20
N18 GO X200

Explanation:

N9 The tool is loaded.


N10 : Start the spindle and approach the starting position (A)
N11 Rapid traverse movement TO point 1.
N12 : The feed movements are executed with a feedrate of 200
N13 : Feed movement along the Y-axis PAST edge Y80 (point 2). The function G44 remains active

*
in the following blocks.
N14 : Feed movement along the X-axis PAST edge X0 (point 3). Here the tool tip has a negative X-
value.
N15 : Feed movement along the Y-axis PAST edge YO (point 4).
N16 Feed movement along the X-axis PAST edge X150.
N17 : Cancel radius compensation. The tool moves in the X-axis and Y-axis; the tool tip stops at
X150 and Y-20.
N18 Move tool away from the workpiece.

Section 6 - 8 Programming CNC3460/700 891025


6.2.2. CONTOURING RADIUS COMPENSATION [G41/G42]

The following two functions are available:

G41 : Radius compensation, LEFT.


When the part programmer is standing on the workpiece, looking in the direction of the cutter
movement and the cutter is moving on his lefthand side, the function G41 has to be used.

G42 : Radius compensation, RIGHT.


When the part programmer is standing on the workpiece, looking in the direction of the cutter
movement and the cutter is moving on his righthand side, the function G42 has to be used.

A
G41 G42

.
Fig. 6.2.2.-1 Left (G41) and right (G42)

Point A : the place the part programmer is standing

For the given definitions a positive tool radius is assumed at execution. With a negative radius value in
the tool memory is:

G41 and radius = G42 and V radius


G42 and radius = G41 and V radius
G43 and radius = G44 and V radius
G44 and radius = G43 and "+" radius

The cutter path with radius compensation

Once contouring radius compensation is activated, the cutter path is automatically calculated by the
control as a path parallel to the programmed one.

In the following figures (6.2.2.-2 to 7) is:


- The programmed path from A to B to C.
- Point E the intersection point between the path parallel to AB and the path parallel to BC.
- R the tool radius stored in the tool memory.

891025 Programming CNC3460/700 Section 6 - 9


1. Inside or outside contours

For an inside contour the intersection point is always calculated.

For an outside contour the compensation method depends on the angle between the two programmed
movements. If that angle is greater than a MC-setting, 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

Fig. 6.2.2.-2 Line meets line

.A

FT
RN

E<

,A
C
Gil

Fig. 6.2.2.-3 Line meets circle or circle meets line

,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

Section 6-10 Programming CNC3460/700 891025


2. Outside contour with sharp angles

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 SINGLE-BLOCK
operation the movement in a block stops at the end of the generated circle.

M C

8)S

R A

G41

Fig. 6.2.2.-5 Line meets line

R C

B"
B,
B' R A
G 41

Fig. 6.2.2.-6 Line meets circle or circle meets line

C
,R
r
3,
,R
R2
A
,R1
K2

Fig. 6.2.2.-7 Circle meets circle

891025 Programming CNC3460/700 Section 6-11


1
The radius compensation is executed in the main plane defined by G17, G18 or G19 (see 6.1.1). A
simultaneous movement of the tool axis is allowed (see chapter 5 : 3D and helix interpolation).

6.2.3 STARTING CONTOURING RADIUS COMPENSATION

Two ways of starting the contouring radius compensation exist.

1. With the functions G41 or G42

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,

'//////;//////// /////////// ////' A

NB5798

Fig. 6.2.3.-1 First linear movement with a G41

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.
;

Section 6-12 Programming CNC3460/700 891025


2. With the functions G43 or G44

The two G-functions 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).

EXAMPLE 6.2.3.-1 Starting the radius compensation with G43

15

.0

8 B

\T
s Y

i%r
i

3s

120


NB5799

Fig. 6.2.3.-1 Entering a contour with G43

The program for entering the contour of figure 6.2.3.-1 at point B could be:

N40 GO X120 Y-15 Z-10


N41 G1 F500
N42 G43 Y 20
N43 G41 X 35
N44 X 15 Y 50

Explanation:

N40 The tool moves to the starting point A and at depth.


N41 Set the code for feed movements and the feedrate.
N42 The tool moves "TO" the workpiece and the tool tip stays the tool radius before point B.
N43 First milling movement along the lefthand side of the contour.

891025 Programming CNC3460/700 Section 6 - 13


6.2.4. CANCELLING THE RADIUS COMPENSATION [G40]

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.

Two cases are considered:

1. G40-block without a movement

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

Fig. 6.2.4.-1 No movement in the G40-block

Sample program 1 for cancelling radius compensation without a movement in the G40-blpck.

N10 G41
N..
N20 G1 XB YB
N21 G40
N22 XE YE

Section 6- 14 Programming CNC3460/700 891025

1
2. G40-block 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 G40-block (N21) the tool moves directly from the intersection
point to point E.

A-

B >6

N85808

Fig. 6.2.4.-2 A movement in the G40-block

Sample program 2 tor cancelling radius compensation with a movement in the G40-block.

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

Fig. 6.2.4.-3 G40 with a circle generated by the control

891025 Programming CNC3460/700 Section 6- 15


6.2.5. FEEDRATE WITH RADIUS COMPENSATION [F1]

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 (MC-setting)
or less than a minimum value (MC-setting), 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
(MC-setting), 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.

6.2.6. EXAMPLES FOR RADIUS COMPENSATION

EXAMPLE 6.2.6.-1 Milling around a workpiece

1S0

0W////////////S///&3
X X
s l X
X
X
/
X
Y X
/
X
X
X
X
0 t
E w X
6
0-0 H

Fig. 6.2.6.-1 Milling around with contouring radius compensation

Section 6- 16 Programming CNC3460/700 891025


If milling around the workpiece from figure 6.2.6.-1 is required, then the part program could look as
follows:

N1 T1 M6
N2 GO X200 Y-20 Z-5 S500 M3
N3 G43
N4 G1 X150 F150
N5 G42 Y80
N6 XO
N7 YO
N8 X150
N9 G40 Y-20
N10 GO X200

Explanation:

N1 : The tool is loaded.


N2 : The tool moves at rapid traverse to the point (A).
N3 : Set radius compensation TO.
N4 : The tool moves with a feed of 150 mm/min TO point 1.
N5-N8 : The tool moves with feed along the righthand side of the workpiece as seen in the direction of
movement.
N9 : Ending the radius compensation. The tool point moves in the Y-axis to Y-20; no movement
occurs in the X-axis.

Remark : Compare this program with the one given in example 6.2.1.-1.

EXAMPLE 6.2.6.-2 Milling a full circle

;
X'
r
t6
\ I

s K

SO
1
10
25
120
NBSMK

Fig. 6.2.6.-2 Milling a full circle with radius compensation

891025 Programming CNC3460/700 Section 6- 17


The full circle of figure 6.2.6.-2 has to be milled with radius compensation. For a smooth transition the
circle is entered (N5) and left (N7) with a small one.
The part program could be:

N1 X 60 Y 85 Z0 T1 M6
N2 G1 Z-10 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:

N1 : The tool is loaded and positioned to the starting point 6.


N2 : The spindle rotation is started and the tool moved to depth. -
N3 : The tool is moved "TO" the starting point of the small circle.
N4 : Radius compensation LEFT is set.
N5 : The small circle for entering the contour.
m
N6 : The full cicrle.
N7 : The small circle for leaving the contour.
N8 : The radius compensation is cancelled.
N9 : The tool is retracted out of the hole.

EXAMPLE 6.2.6.-3 Milling a pocket

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.

Two programming methods are given:


1. Radius compensation, thus directly programming the workpiece dimensions. In figure 6.2.6.-3 the

--
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.

Section 6 - 18 Programming CNC3460/700 891025


xWWWW

! \\
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

Fig. 6.2.6.*3 Cleaning a pocket

1. Program with radius compensation

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 Z-10 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

891025 Programming CNC3460/700 Section 6- 19


Explanation:

N1 : The tool is loaded (M6) and positioned to point B.


N2 : The spindle rotation is started (M3).
N3 : The tool is moved to the start of the entering circle.
N5-N17 : The tool moves along the righthand side of the contour when looking in the direction of the
tool movement.
N18 : The contour is left via a small circle.
N19 : The radius compensation is cancelled and thereafter the tool is retracted out of the pocket.

2. Program with radius correction

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

The program looks as follows:

N1 X 80 Y 25 Z0 T1 M6
N2 G1 Z-10 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.

Section 6 - 20 Programming CNC3460/700 891025


6.2.7. RESTRICTIONS AT THE USE OF RADIUS COMPENSATION 1
If with inside circular movements the radius of the tool is greater than the radius of the circle, an error is
displayed and the execution of the program stopped.
V

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

Fig. 6.2.7.-1 Tool to big

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

Fig. 6.2.7.-2 Tool to big

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.

6.3. 3D-TOOL CORRECTION [G141]

6.3.1 . INTRODUCTION TO 3D-TOOL CORRECTION

A CAD-system 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 3D-tool 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 CAD-system. 3D-tool correction is part of
the CAD-module of the CNC (software option S10) which also includes the BTR possibility for execut
ing large programs.

891025 Programming CNC3460/700 Section 6 - 21


6.3.2. NORMALIZED VECTORS

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 3D-tool 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 3D-tool correction) has to be programmed
at each transition.

Section 6 - 22 Programming CNC3460/700 891025


6.3.3. CUTTER PARAMETERS

Three types of cutters can be used:

R R R

L L L
R

NB8221

ball cutter torus cutter cylinder cutter


(R=C) (R>C) (C=0)

Fig. 6.3.3.-1 Cutter types

The radius of the tool to be used is stored in the tool memory.


For the cutter rounding an additional parameter (C) is stored:
. for a ball cutter C=radius of the tool
. for a torus cutter C=radius of the rounding
. for a cylinder cutter c=o.
If C is not entered in the toolmemory, C=0 is assumed, thus a cylinder cutter.

If the CAD-system generates the toolpath, the dimensions of the nominal cutter can be programmed in
the block for activating 3D-tool corrections (G141). In this case the control makes a correction for the
programmed tool dimensions and the stored dimensions.

If the CAD-system generates the part dimensions, the tool dimensions stored in the toolmemory are
used for the 3D-tool correction.

Undercuts are not detected by the control.. .

6.3.4. CALCULATION METHOD

For a ball cutter the used formulae are :

xc = Xp + R*l
Yc = Yp + R * J

Zc = Zp + R * (K - 1)

891025 Programming CNC3460/700 Section 6 - 23


1
For a torus cutter :

Xc = Xp + C * I + (R-C)*I/SQRT(I*I + J*J)

Yc = Yp + C * J + (R-C)*J/SQRT(ri + J*J)

Zc = Zp + C * (K - 1)

For a cylinder cutter :

Xc = Xp + R*I/SQRT(I*I + J*J)

Yc = Yp + R*J/SQRT(I*I + J*J)

Zc = Zp

In these formulae are:

-R : cutter radius
-C : cutter rounding
for a ball cutter C=R
for a cylinder cutter C=0

- Xc, Yc, Zc : the corrected endpoint


- Xp, Yp, Zp : the programmed endpoint
- I, J, K : components of the normalized vector

With these formulae it is assumed that the mainplane is the XY-plane (G17 active) and the tool is in the
Z-axis. If the main plane is the XZ-plane (G18 active) or the YZ-plane (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.

6.3.5. PROGRAMMING 3D-TOOL CORRECTION

Activating

3D-tool correction is activated by means of G'141.


The function is modal and is reset:
- by G40,
- by CLEAR CONTROL.
In the G141-block the nominal tool dimensions can be programmed with the words R and R1=.
R : the nominal tool radius
R1= : the nominal rounding radius
If one of these words is not programmed, the value zero is used. 'r

Section 6 - 24 Programming CNC3460/700 891025


If G141 is programmed and the radius compensation in the main plane is still active (G41 to G44), the
radius compensation in the main plane is cancelled first and then G141 activated.

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.

The following functions may not be active, when G141 is programmed:

- G64 : Geometry
- G73 : Mirror image or scaling
- G182 : Cylinder interpolation

Cancelling

The 3D-tool correction is cancelled with the function G40. The cutter halts at the corrected position and
as a result, a non-programmed axis stays at its position.
3D-tool correction is also cancelled at CLEAR CONTROL.

Programmable G-functions

When G141 is active, the following G-functions may be programmed:

-GO Positioning (the positioning logic is not active)


- G1 Linear feed movements
-G4 Dwell
-G40 Cancel 3D-tool correction
-G90 Absolute cartesian dimensions
-G91 Incremental cartesian dimensions
-G141 To recalculate the scaling factor to enter new dimensions of the nominal tool

Other G-functions will cause an error message.

Programmable words

In the blocks with a GO or a G1 the following words may be used:

the block number N

X, Y, Z, U, V, W (thus only linear axes are permitted).


The coordinates are programmed with regard to the program datum point W at use at the activation
of G141.

I, J, K components of the normalized vectors.


I is assigned to the X-axis or U-axis.
J to the Y-axis or V-axis.
K to the Z-axis or W-axis.

891025 Programming CNC3460/700 Section 6 - 25


If components are omitted in a block, they keep their last programmed value. If a component is not
given in the first block with a movement after activating 3D-tool correction, the control takes the value
0 for the non-programmed component.

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 3D-tool 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.

With G04 the dwell time (X-word) is programmed.

In a block with G90 or G91 no additional words are allowed.

Conventions

1. Any axes rotation programmed before the activation of G141, is also executed during the 30-
tool correction.

2. Not allowed are :

- Point definitions
- E-parameters
- Polar coordinates
- One cartesian coordinate and an angle
- Rotary axes

6.4. ACTIVATING A TOOL


The tool memory contains per tool the length and radius. These data must be stored in the memory
before the part program is executed. During execution, there is always only one tool active, initiated by a
tool change command (M06, M66 or M67). See section 7.4.5.

Once the M-function 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 G-function for radius
compensation is activated too.

k->

Section 6 - 26 Programming CNC3460/700 891025


7. AUXILIARY MACHINE FUNCTIONS
Auxiliary machine functions are those functions as spindle speed, the tool number, miscellaneous
functions etc.

7.1. SPINDLE SPEED [S]

The spindle speed is programmed with address S followed by a number with a maximum of four digits.

7.1.1 . CODED SPINDLE SPEED PROGRAMMING

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.

7.1.2. ANALOG SPINDLE SPEED PROGRAMMING

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.

Thus a spindle speed of 1000 r.p.m. is programmed as S1000.

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.

The speed range can be selected:


- automatically by the control. In this case the proper M-function is generated and can be omitted in
the program.
- by programming the proper M-function. This is useful with overlapping speed ranges.
The figures 7.1.2.-1. and-2. show two typical examples for subdivision into ranges, one with and one
without an overlap. They are treated in the same way:

Range 4 M44

Range 3 M43

Range 2 M42

Range 1 M41
10 250 500 750 1000

Fig. 7.1.2.-1 Spindle speed ranges with overlap

891025 Programming CNC3460/700 Section 7 - 1


Range 4 : M44

Range 3 : M43

Range 2 : M42

Range 1 : M41
10 250 500 750 1000

Fig. 7.1.2.-2 Spindle speed ranges without overlap

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 M-function M41 has to be used. The spindle speed is therefore programmed as follows (the
automatic range selection is not used):

N10 S50 M41

A speed of 800 rpm (range 4) is programmed as:

N10 S800 M44

7.2. TOOL NUMBERS m


The tool number identifies the tool and is programmed with the address T.

The tool number is used for:


- Storing tool dimensions in the tool memory of the control
Indicating which tool dimensions belong to the active tool during the execution of the part program.
- Initiating the search of the next tool in the magazine.

Tool dimensions (per tool a length and a radius) for maximum 255 tools (a MC-setting) can be stored in
the tool memory.

Three possibilities are available for identifying a tool :

1. The tool number is a three digit number

In this case the tool number corresponds with the location in the tool memory. The maximum tool
number is 255 (a MC-setting).

Section 7 - 2 Programming CNC3460/700 891025


2. The tool number is a four digit number

The maximum number of tools and magazine places is 99. Each tool has a fixed place in the magazine.

XX XX

place in the tool magazine

place in the tool memory

In the program this compound number has to be used.

So T1203 means, that:

the tool from place 12 in the tool magazine should be loaded


the tool dimensions from tool 3 in the tool memory should be used by the control.

3. The tool number is a seven digit number

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.

7.2.1. AUTOMATIC TOOL CHANGERS

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 (T-word) of the next tool is programmed to
start the search procedure.

7.2.2. RANDOM ACCESS TOOL MEMORY [PI

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 P-word 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.

At loading this tool either


the program execution is interrupted,
or
a spare tool selected (if defined see section 7.2.4).

7.2.4. SPARE TOOL ASSIGNMENT

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.

7.3. AUXILIARY FUNCTION [H]


The auxiliary functions are programmed with the address H followed by a four digit number.

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.

Section 7 - 4 Programming CNC3460/700 891025


7.4. MISCELLANEOUS FUNCTIONS [M]
Miscellaneous functions are entered as a two digit number following the address M.

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.

TABLE 7.4.-1 M-functions in accordance with ISO/DIS 6983/2

Output Non- Description Explanation


time modal in section

MO L N Program stop 7.4.1


M3 Spindle, clockwise 7.4.2
M4 Spindle, counter-clockwise 7.4.2
M5 L Spindle stop 7.4.2
M6 N Automatic tool change 7.4.5
M7 Coolant No. 2 ON 7.4.3
M8 Coolant No. 1 ON7.4.3
M9 L Coolant OFF 7.4.3
M13 Coolant 1 ON and Spindle, clw 7.4.4
M14 Coolant 1 ON and Spindle, cclw 7.4.4
M19 L Oriented spindle stop 7.4.2
M25 N Tool measurements 12.2.3
M26 N Touch probe calibration 12.2.4.
M27 Switch on measuring probe
M28 Switch off measuring probe
M30 L N End of program 7.4.1.
M41 Speed range 17.1.2.
M42 Speed range 27.1.2.
M43 Speed range 37.1.2.
M44 Speed range 47.1.2.
M66 N Manual tool change 7.4.5.
M67 N Change compensation values 7.4.5.

1. M-functions 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 M-functions act modally. Those marked with an N are only effective in the block, in which
they are programmed.

A number of commonly used M-functions, 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.

891025 Programming CNC3460/700 Section 7-5


7.4.1. STOP COMMANDS [M0&M30]

Two commands are used to stop the execution of the part program:

-MO : Program stop


Program execution is interrupted after completion of the movement in a MO-block.
Depending on the machine tool interface, spindle rotation and coolant can be suppressed
or cancelled. The program execution continues after a START command. Spindle rotation
and coolant are restarted, if suppressed.

-M30: End of program


Program execution is terminated after completion of the movement in a MO-block. A
jump in the program memory to the first block of the program is executed spindle
rotation and coolant are cancelled.

7.4.2. SPINDLE COMMANDS [M3/M4/M5/M19]

Four M-functions are used for controlling the spindle:

M3 : Spindle rotation, clockwise


In this case the spindle rotation is such that a screw with clockwise thread would move
towards the workpiece. The spindle rotation starts before the motion programmed in the
block, and remains active until:
changed by the opposite direction of rotation (M4)
cancelled by a spindle stop command (M5 or M19)
by the function "end of program" (M30).

M4 : Spindle rotation, counterclockwise


This function has the same effect as M3 but in the opposite direction of rotation, i.e. in
thesense where a screw with clockwise thread would move away from the workpiece.

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.

- M19 : Oriented spindle stop


This command is identical in function to M5, but in this case the spindle stops either:
in a specific angular position as set on the machine
or
if an analog spindle and a spindle transducer are used in a programmable angular position.

In the latter case any angular position can be achieved by programming the desired position
(D-word) measured from a fixed position (MC-setting). Moving the spindle to the
programmed position always takes place in a fixed direction (MC-setting). D+ :the angle in
the defined direction, D- : the angle 360-(D-value) in the defined direction.

Remark : The D-word can only be used if a MC is set.

Section 7 - 6 Programming CNC3460/700 891025


7.4.3. COOLANT COMMANDS [M7/M8/M9]

m The following three M-functions apply to coolant supply:

-M7 : Coolant no. 2 on


This M-function starts the coolant supply no. 2 (generally mist coolant). The command
becomes effective before the motion programmed in the block, and remains active until:
- cancelled by "coolant off" (M9)
- cancelled by "end of program" (M30).
-M8 : Coolant no. 1 on This function is identical to that described for "coolant no.2 on" (M7).
However, coolant no. 1 generally controls the main coolant supply, both coolant types can
be active at the same time.

-M9 : Coolant off


This command cancels the functions coolant no. 2 on (M7) and coolant no. 1 on (M8). It
becomes effective when all movements in the block have been completed and remains valid
until a coolant is activated again.

7.4.4. COMBINATION OF M-FUNCTIONS [M13/M14]

Two combinations of M-functions are provided:

-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).

In their action the functions are similar to M3, M4 and M8.

891025 Programming CNC3460/700 Section 7 - 7


r

7.4.5. TOOL CHANGE COMMANDS [M6/M66/M67]

There are three M-functions for tool changing:

-M6 : Automatic tool change

Machine tool with an automatic tool changer

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.

Machine tool without an automatic tool changer

The function M6 is used:


- to move the tool at rapid traverse to a tool change position established by a machine
constant (a fixed position with regard to the reference point).
- to interrupt the program execution, so that the tool can be changed manually.

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.

-M66: Manual tool change

Machine tool with an automatic tool changer

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.

Machine tool without an automatic tool changer

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.

Section 7-8 Programming CNC3460/700 891025


|
- M67 : Change of compensation values

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.

EXAMPLE 7.4.5.-1 Changing compensation values

XS2
1
lli j5
J
XS1

NC5670

Fig. 7.4.5.-1 Boring bar with two cutting edges.

The boring bar in figure 7.4.5.-1 has two cutting edges.

For cutting edge 1 : Tool number : T12 ; Tool length : XS1

For cutting edge 2 : Tool number : T31 ; Tool length : XS2

891025 Programming CNC3460/700 Section 7 - 9


Now the program could be:

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.

Then follows the machining with cutting edge 2.

Section 7-10 Programming CNC3460/700 891025


8. MACHINING CYCLES

A number of machining (fixed) cycles for hole operations and for milling are provided:

for hole operations:


- G81 : Drilling
- G83 : Deep hole drilling
- G84 : Tapping
- G85 : Reaming
- G86 : Boring

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 G-functions,
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.

So a part program contains:


- one block with the required cycle,
- several blocks with the positions where the cycle has to be executed.

8.1 . CYCLES FOR HOLE OPERATIONS -


[G81, G83 G86]

8.1.1. CYCLE DEFINITIONS FOR HOLE OPERATIONS

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:

X-word :Dwell at the final depth, programmed in seconds in steps of 0.1 second.

891025 Programming CNC3460/700 Section 8 - 1


B

Y
p
Z

NB7974

Fig. 8.1.1.-1 Words in a cycle definition block

Z-word : Final depth of the hole measured from the workpiece surface. The Z-word 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.
Y-word : 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 Y-word can have a negative sign as well.

- B-word : Additional retract distance:


defines the point to which the tool is moved at the end of the operation,
- is measured from the point defined with the clearance distance,
- can have a sign, which will normally be the positive one.
If the additional retract distance is not defined in a cycle then retraction takes place automatically to the
starting position of the feed movement, thus to the point defined by the clearance.

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

Section 8 - 2 Programming CNC3460/700 891025


If after retraction to the clearance the tool point "A" (see figure 8.1.1.-2) is in the starting position, the
actual tool holder is still in the hole. The tool must therefore be retracted a further distance "a" to
remove the boring head from the hole. The value "a" is then programmed with the B-word.

8.1.2. TOOL SEQUENCES

The following symbols are used for describing the sequences:


- - - feed movement
- rapid traverse movement

J - spindle rotates

J - spindle stops

- dwell
1. Drilling [G81]

The movements in the tool axis are:


Feed to depth
- Dwell at depth (if programmed) v
- Rapid retraction
- Further retraction at rapid traverse rate
2. Deep hole drilling [G83]

Three additional words are used in the G83-cycle:

K-word : The depth of the first step measured from the surface. If the first step (K-word) is
greater than the total depth (Z-word), the hole is drilled in one step at the total depth.

l-word : 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 (K-word).
J-word Special retract distance.

JO : the tool is retracted each step to the clearance.

J<>0 the tool is retracted each step over the distance of the J-word.

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 Z-word (final depth).

891025 Programming CNC3460/700 Section 8 - 3


Two tool sequences are possible:

a. Complete retract to the clearance [JO]

After each drilling step, the tool is completely retracted to the clearance, thus out of the hole
(J-word = 0).

Y
Z-SURFACE

1 4
K-l
Z

K-2xl
4
3
I #4
NB7975

Fig. 8.1.2.-1 JO, a retract to the clearance

The movements in the tool axis are:


- Feed over the distance of the first step (K-word).
- Rapid retraction to the clearance.
- At rapid to a position the clearance distance before the preceding depth.
- Feed to the new depth.
Distance = first step (K-word) - degression value (l-word).
- Rapid retraction to the clearance.
- At rapid to a position the clearance distance before the preceding depth.
- Feed to the new depth.
Distance = preceding depth - degression value.
- Rapid retraction to the clearance.
- And so on for the following steps until the final depth is reached.
- Dwell at depth, if programmed.
- Rapid retraction to the clearance.
- Further retraction at rapid traverse rate, if programmed.

Section 8 - 4 Programming CNC3460/700 891025


b. Retract over a programmable distance [J<>0]

After each drilling step the tool is retracted a programmable distance for chip-breakage, but remains in
the hole (J-word <> 0).

Z-SURFACE

K
J

1
4
Z K-l
j

K-2xl J A
3
I

NB5805

Fig. 8.1.2.-2 J-word <> 0, a retract over the J-value

The movements in the tool axis are:


- Feed over the distance of the first step (K-word).
- Rapid retraction over a programmed distance (J-word).
- At rapid to a position the clearance distance before the preceding depth.
- Feed to the new depth.
Distance = first step (K-word) - degression value (l-word).
- Rapid retraction over a programmed distance (J-word).
- And so on for the following steps, until the final depth is reached.
- Dwell at depth, if programmed.
- Rapid retraction to the clearance.
- Further retraction at rapid traverse rate, if programmed.

3. Tapping [G84]

In the G84-cycle 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.

- J-word : The pitch of the thread in mm or inches.

l-word : The number of revolutions before the final depth where the slow down has to start.

If I and J are not programmed, a MC-setting is used for determining the point where the slow down
starts. This MC-setting is a distance measured from the endpoint.

891025 Programming CNC3460/700 Section 8 - 5


The movements in the tool axis are:
1
- Feed to depth
- Slow down the feed and speed so
the depth is reached properly
- Reversal of direction of spindle rotation
- Speed up the feed and speed
- Feed up to starting position i'
11
- Reversal of spindle to original direction
- Further retraction at rapid traverse rate

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

The movements in the tool axis are:


- Feed to depth
[G86]
LH
- Dwell at depth, if programmed
- Spindle stop
- Retraction at rapid traverse rate
to starting position
- Start spindle again
- Further retraction at rapid traverse rate

8.1.3 ACTIVATING A DEFINED CYCLE ON A POINT [G79]

With the preparatory function G79 the last defined fixed cycle is executed in the tool axis after reaching
the position programmed in the G79-block.. 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 G79-block 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 G79-block, but in any block without G79
the function is automatically active again.

Section 8 - 6 Programming CNC3460/700 891025


Remark :

1. Remember that, when after a G79-block 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.

8.1.4. EXAMPLES WITH MACHINING CYCLES

EXAMPLE 8.1.4.-1 Tapping four holes


15
|ri
i
2
40

3 4XM4-10 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.

T1 spot drill d 10x90 500 0.2 100


T2 twist drill d 3.3 1000 0.2 200
T3 tap M4 560 0.7 390

891025 Programming CNC3460/700 -


Section 8 7
The part program could look as follows:

N1 T1 M6
N2 G81 Y1 Z-2 F100 S500 M3
N3 G79 X60 Y40 ZO
N4 G79 Y80
N5 G79 X100
N6 G79 Y40
N7 T2 M6
N8 G81 Y1 Z-15 F200 S1000
N9 G79 ZO
N10 G79 Y80
N11 G79 X60
N12 G79 Y40
N13 T3 M6
N14 G84 Y9 Z-10 J.7 S560
N15 G79 ZO
N16 G79 Y80
N17 G79 X100
N18 G79 Y40
N19 Z200

Explanation:

N1 : Load the spot drill (T1).


N2 : Define the spot drilling cycle. Additionally the spindle speed and the direction of spindle
rotaion are programmed in this block.
N 3 - N 6 : Spot drilling the four holes; sequence 1, 2, 3, 4.
N7 : Load the twist drill (T2).
N8 : Define the drilling cycle.
N 9 - N12 : Drilling the four holes; sequence 4, 3, 2, 1.
N13 : Load the tap (T3).
N14 : Define the tapping cycle. The clearance distance should be large, otherwise the tool will not
be removed far enough from the hole, when retracted in this cycle. The feed is: thread
pitch (J) * spindle speed.
N15 - N18 : Tapping the four holes; sequence 1, 2, 3, 4.
N19 : Retract the tool.

EXAMPLE 8.1.4.-2 Using point definitions

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 G78-blocks. These symbolic names
are used in the part program.

Section 8 - 8 Programming CNC3460/700 891025


This could be:

N1 G78 P1 X60 Y40 ZO


N2 G78 P2 X60 Y80 ZO
N3 G78 P3 X100 Y80 ZO
N4 G78 P4 X100 Y40 ZO
N5 T1 M6
N6 G81 Y1 Z-2 F100 S500 M3
N7 G79 P1 P2P3 P4
N8 T2 M6
N9 G81 Y1 Z-15 F200 S1000
N10 G79 P4 P3P2 P1
N11 T3 M6
N12 G84 Y9J.7 Z-10 S560
N13 G79 P1 P2P3 P4
N14 Z200

Explanation:

N1-N4 : The definition of the points P1 to P4.


N5 : The spot drill is loaded.
N6 : The cycle for spot drilling is defined. Additionally the spindle speed and spindle rotation are
programmed.
N7 : The four holes are spot drilled.
N8 : The drill is loaded.
N9 : The cycle for drilling is defined.
N10 : The four holes are drilled.
N11 : The tap is loaded.
N12 : The cycle for tapping is defined.
N13 : The four holes are tapped.
N14 : The tool is retracted.

EXAMPLE 8.1.4.-3 Deep hole drilling (G83)

10

70 r
30 y:
0
30 I 31,5
70 80

NB5929

Fig. 8.1.4.-2 Holes to be drilled

The four holes from figure 8.1.4.-2 should be drilled with the deep hole drilling cycle.

891025 Programming CNC3460/700 Section 8 - 9


The part program for the drilling could be:

N1 T1 M6
N2 G83 Y1 Z-31.5 I3 K10 F200 S500 M3
N3 G79 X30 Y30 ZO
N4 G79 X70
N5 G79 Y70
N6 G79 X30

Explanation:

N1 The drill is loaded.


N2 The deep hole drilling cycle is defined.
Total depth : -31.5 (Z-word)
First step : 10 (K-word)
Degression value : 3 (l-word)
Additionally the feedrate, spindle speed and direction of spindle rotation are set.
N3-N6 : The four holes are drilled.
Each hole is drilled in 7 steps: The reached depth after each step is:-10, -17, -21, -24, -27, -30, -31.5.

EXAMPLE 8.1.4.-4 Holes in different planes

P8 +P7 +P6 +P5


70
30 P1
+P2 +P3 +P4
Wx
30 40 60 40
i

151 l
i 25
!15 60

NB5928

Fig. 8.1.4.-3 Holes In different planes


I
The holes P1 to P8 from figure 8.1.4.-3 should be drilled.
In plane A : the points P1, P2, P7 and P8
In plane B : the points P3, P4, P5 and P6

Section 8- 10 Programming CNC3460/700 891025


The part program for the drilling operation could be:

N1 T1 M6
N2 G81 Y1 Z-15 F200 S120 M3
N3 G79 X30 Y30 ZO
N4 G79 X70
N5 G79 X130 Z-25
N6 G79 X170
N7 G79 Y70
N8 G79 X130
N9 G79 X70 ZO
N10 G79 X30

Explanation:

N1 The drill is loaded.


N2 The drilling cycle is defined and additionally the spindle started at 120 rev/min.
N3-N4 Holes P1, P2 are drilled.
N5 The tool moves : - in plane A to point P3, thus in X
- the clearance above plane B, then hole P3 is drilled.
N6-N8 : The holes P4, P5 and P6 are drilled.
N9 : The tool : - retracts the clearance above plane A.
- moves to hole P7, thus in X, then hole P7 is drilled.
Here a collision between part and tool is avoided.
N10 : Hole P8 is drilled.

8.1.5 AVOIDING A COLLISION WITH CLAMPS

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.

EXAMPLE 8.1.5.-1 Avoiding a collision with a clamp


250

Z=0
im> 15
25

I
4-B
100

w x
50

Fig. 8.1.5.-1 A clamping device in the tool path

891025 Programming CNC3460/700 Section 8-11


Holes A and B in figure 8.1.5.-1 have to be drilled. However, a direct movement from A to B is
obstructed by a clamping device.

In the following manner a collision with the clamping device can be avoided:

N3 G81 Y1 Z-29 F200 S120 M3


N4 G79 X50 Y100 ZO
N5 GO Z50
N6 G79 X300 ZO

Explanation:

N3 : Define the cycle.


N4 : Drill hole A.
N5 : Retract the tool to enable a movement over the clamping device. The positioning logic can not
be used.
N6 : First move in the X-axis and then drill hole B.

8.1.6 CYCLE IN DIFFERENT AXES

The defined cycle is always executed in the tool axis, thus the one indicated by the active G-function for
plane selection.

G-function Toolaxis Axis for cycle

G17 Z-axis Z-axis


G18 Y-axis Y-axis
G19 X-axis X-axis

The words used in the definition of the fixed cycle keep their meaning, i.e.:
- the X-word remains the dwell time
- the Y-word is still the clearance distance
- the B-word is the additional retract distance
- the Z-word 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.

Section 8- 12 Programming CNC3460/700 891025 3


;
EXAMPLE 8.1.6.-1 Cycle in the Y-axis

50

4xM4-10
4 3

50
1 2
25 5
x
W
25 Y=0
NB6074

Fig. 8.1.6.-1 Four holes in the XZ-plane

The four holes from figure 8.1.6.-1 are lying in the XZ-plane and should be drilled. The tool is standing
in the Y-axis.
The part program could be:

N1 G18 T1 M6
N2 G81 Y1 Z-10 F500 S1000 M3
N3 G79 X25 Y0 Z-25
N4 G79 X75
N5 G79 Z-75
N6 G79 X25

Explanation:

N1 Load tool T1. The tool is standing in the Y-axis (G18).


N2 The spindle is started (M3) and rotates at 1000 rev/min.
The fixed cycle is defined:
- The depth of the hole (Z-word) : -10
- Clearance above the workpiece (Y-word) : 1
N3 : The point is:
- first approached in X and Z simultaneously
- then in the Y-axis (tool axis) at clearance,
then the defined drilling cycle executed in the negative direction of the Y-axis.
N4 -N6: The second, third and fourth hole are drilled.

8.1.7 BOLT HOLE CIRCLE

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.

A circular pattern in the XY-plane is described with:


- the coordinates of the centre, programmable with either:
- the cartesian coordinates (X, Y ),
- the polar coordinates (B1=.., L1=.. or B2=... L2=..),
- a symbolic name (P-word)

891025 Programming CNC3460/700 Section 8- 13


- R-word : The radius of the circle.
- l-word : The starting angle of the arc, thus the angle between the X-axis and the radius of the
first point.
- J-word : The total number of points in the pattern.
Is J1 programmed, only 1 hole will be executed.
- K-word : The ending angle of the arc, thus the angle between the X-axis and the radius of the final
point.
If the points are equally spaced on a full circle, the K-word can be omitted. Both angles
are programmed in degrees and decimal parts thereof. The maximum value is +/- 360 and
the minimum value 0.001.

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.).

G-function Tool axis Plane for


circular pattern

G17 Z-axis XY-plane


G18 Y-axis XZ-plane
G19 X-axis YZ-plane

Refer to section 3.3.2. for:


- the axis to be used for the angle in the different planes,
- the sign of the angle.
EXAMPLE 8.1.7.-1 Six points on a full circle.

R=25,

P1

-Cx
w

NB5820

Fig. 8.1.7.-1 Six holes equally spaced on a circle

Section 8-14 Programming CNC3460/700 891025


The execution of a fixed cycle on the six equally spaced points on a full circle is:

N100 G78 P1 X.. Y.. Z..


N101 G81 Y1 Z-10 F100 S1000 M3
N102 G77 P1 R25 I0 J6

Explanation:

N100 : Define the centre of the circle, point P1


N101 : Define the cycle to be executed on the 6 points
N102 : The circular pattern with:
- centre P1
- radius : 25 (R-word)
- starting angle : 0 (l-word)
- number of holes : 6 (J-word)

EXAMPLE 8.1.7.-2 Four points equally spaced on a circular arc

150

y P2

R=25'
x
W

NB5819A

Fig. 8.1.7.-2 Four equally spaced points

The block for executing a fixed cycle at the four equally spaced points on a circular arc, is:

N110 G77P2 R25 I30 K150 J4

N110 : The circular pattern with:


- centre P2
- radius 25 (R-word)
- starting angle 30 (l-word)
- ending angle 150 (K-word)
- number of holes 4 (J-word)

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( 4XM4-10
i |P5
40

40 y

x
W
60 20 Z=0
NB6072

Fig. 8.1.7.-3 Holes to be tapped

Consider the four holes from figure 8.1.7.-3.

The program for the three operations spot drilling, drilling and tapping on the holes could be:

N1 G78 X80 Y60 Z0 P5


N2 T1 M6
N3 G81 Y1 Z-2 F100 S500 M3
N4 G77 R28.284 145 J4 P5
N5 T2 M6
N6 G81 Y1 Z-15 F200 S1000
N7 G77 R28.284 I45 J4 P5
N8 T3 M6
N9 G84 Y9 Z-10 J.7 S560
N10 G77 R28.284 145 J4 P5
N11 GO Z200

Explanation:

N1 Define the centre of the circle, point P5.


N2 Load the spot drill (tool T1).
N3 Define the spot drilling cycle and set additionally the spindle speed and direction of spindle
rotation.
N4 : The defined cycle is executed on each of the four holes along the circle.
N5 : Load the drill (tool T2).
N6 : Define the drilling cycle.
N7 : Execute the drilling cycle on each of the four holes. The order is the same as in block N4. r
N8 : Load the tap (tool T3).
N9 : Define the tapping cycle.
N10 : Execute the tapping cycle on the four holes.
N11 : Retract the tool.

Section 8-16 Programming CNC3460/700 891025


8.2. FIXED CYCLES FOR MILLING OPERATIONS
Three special milling cycles are available for defining:
- a rectangular pocket (G87)
- a groove (G88)
- a circular pocket (G89)
- the technological conditions for these milling operations
Another block is needed for activating the defined cycle.
This activation block can be:
- a G79-block in which the centre of the pocket or the entering point of the groove is
programmed.
- a G77-block when the centres of the pockets ly equally spaced on the circumference of a
circle (see section 8.1.7)
Refer to section 8.2.4 for pockets or grooves not parallel to the main axes.

8.2.1 MILLING A RECTANGULAR POCKET[G87]

The definition of the cycle:

The following words are used in a G87-block for defining a rectangular pocket in the XY-plane and its
machining:

;RIC__
Y

+y

I K.
+X 2
W

NB5806A

Fig. 8.2.1.-1 A rectangular pocket

X-word : The length of the pocket, i.e. the dimension parallel to the X-axis. The X-word has no sign.
Y-word : The width of the pocket, i.e. the dimension parallel to the Y-axis. The Y-word has no sign.
Z-word : The total depth of the pocket, measured from the surface.
The sign of the Z-word indicates the direction of the movements in the tool axis. Normally
the Z-word is negative.
R-word : The radius in the corners of the pocket.
The R-word must be programmed in a G87-block.
B-word : The clearance distance measured from the surface.
K-word : The depth for each cut when the pocket is machined in several layers.

891025 Programming CNC3460/700 Section 8- 17


l-word : Maximum part of the tool diameter which is used to advance the tool into the material.
175 means that as a maximum 3/4 of the diameter is used. If the l-word is not programmed,
the value of a machine constant is used.
J-word : The direction of milling.
J+1 : Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is
not programmed.
J-1 : Milling direction is clockwise.

3 2 y 2 3
C C
4 1 wx 1 4
j

NB6075

J+1 counterclockwise J-1 clockwise

Fig. 8.2.1.-2 Direction of milling ;

The other words as F, S, T and M can be added to a G87-block.

If the pocket is lying in another plane than the XY-plane, then:


- the sign of the Z-word indicates the direction of movement in the tool axis,
- the X-word and Y-word are parallel to the main axes defined by the G-function of the plane:

G17 G18 G19

X-word parallel to X-axis X-axis Z-axis


.
Y-word parallel to Y-axis Z-axis Y-axis

Z-word (tool axis) Z-axis Y-axis X-axis

Section 8-18 Programming CNC3460/700 891025

*%
The tool sequence

The tool sequence for milling the pocket is:

a. With rapid traverse to the centre (C) of the pocket and stay the clearance distance (B-word)
above the workpiece.

b. With half the programmed feed to the first depth (K-word).

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

Fig. 8.2.1.-3 Pocket milling sequence

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 X-word, Y-word and
the radius of the active tool.

d. Move the tool to point 5. The point is calculated by the control.


The distances parallel to the axes are: l-word x tooldiameter

e. Move the tool around from 5 to 6, 7, 8 and back to 5.

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.

h. If the programmed depth is reached, retract the tool to the clearance.

i. If the programmed depth is not reached, move, with three times the programmed feed, to the
centre (C) of the pocket.

891025 Programming CNC3460/700 Section 8- 19


j. Clean out another layer by repeating the steps b to i.

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.

EXAMPLE 8.2.1.-1 Milling three pockets.

150
15 55 25 40

30 +
2

105 55
25 +
3
30 +
1
25
Hh
wx
Z=0
15
6 n

NB5810 4

Figure 8.2.1.-4 Example with three pockets.

Section 8 - 20 Programming CNC3460/700 891025


The three pockets of figure 8.2.1.-4 are to be machined with an end mill d 10 mm.
The program could be:

N1 T1 M6
N2 G87 X55 Y30 Z-6 B1 K6 I75 F200 S500 M3
N3 G79 X42.5 Y25 Z0
N4 G79 Y80
N5 G87 X40 Y55 Z-6 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.

8.2.2. MILLING A GROOVE [G88]

The definition of the cycle

The following words are used in a G88-block for defining a groove in the XY-plane and its machining:

--
X

Y_
frrr- _> =
vh
x
W K

z
NB7976

Fig. 8.2.2.-1 A groove parallel to the X-axis.

891025 Programming CNC3460/700 Section 8 - 21


X-word : The dimension of the groove parallel to the X-axis.

Y-word : The dimension of the groove parallel to the Y-axis.

The groove is either:


- parallel to the X-axis (figure 8.2.2.-2); in this case the sign of the X-word indicates on which side of
<
the entering point (B) the groove is lying.

X -X

i-GEEZ X
W NB5811

Fig. 8.2.2.-2 The sign of the X-word.

- parallel to the Y-axis (figure 8.2.2.-3); in this case the sign of the Y-word 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

Fig. 8.2.2.-3 The sign of the Y-word.

Z-word : The total depth of the groove measured from the surface. The sign of the Z-word indicates
the direction of the movements in the tool axis. Normally the Z-word is negative.
B-word : The clearance distance measured from the surface.
K-word : The depth for each cut when the groove is milled in a number of steps through the centre.
J-word : The direction of milling.
J+1 : Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is
not programmed.
J-1 : Milling direction is clockwise.

The other words as F, S, T and M can be added to a G88-block.

If the groove is lying in another plane than the XY-plane, then:


- the sign of the Z-word indicates the direction of movement in the tool axis,
- the X-word and Y-word are parallel to the main axes defined by the G-function of the plane:

Section 8 - 22 Programming CNC3460/700 891025 ,


G17 G18 G19

X-word parallel to X-axis X-axis Z-axis

Y-word parallel to Y-axis Z-axis Y-axis

Z-word (tool axis) Z-axis Y-axis X-axis

The tool sequence

The tool sequence for milling the groove is (figure 8.2.2.-4):

a. With rapid to point B where the tool enters the groove and stay the clearance distance (B-
word) above the workpiece.

b. With half the programmed feed to the first depth (1).

c. With the programmed feed through the centre of the groove to point E (2).

d. With half the programmed feed to the second depth (3).

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

Fig. 8.2.2.-4 Depth movements in the groove.

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 J-1 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.

891025 Programming CNC3460/700 Section 8 - 23


:

<
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.

EXAMPLE 8.2.2.-1 Milling three grooves


150
I.
!5, 55 JS. 55 5,

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 Z-5 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.

Section 8 - 24 Programming CNC3460/700 891025


N5: Mill groove 3.
N6: Retract the tool.

8.2.3. MILLING A CIRCULAR POCKET [G89]

The definition of the cycle

The following words are used in a G89-block for defining a circular pocket in the XY-piane and its
machining:

R.

x K
W
z

NB5816

Fig. 8.2.3.-1 A circular pocket

R-word The radius of the pocket.


Z-word The total depth of the pocket measured from the surface.
The sign of the Z-word indicates the direction of the movements in the tool axis. Normally
the Z-word is negative.
B-word The clearance distance measured from the surface.
K-word The depth of each cut when the pocket is machined in several layers.
l-word Maximum part of the tool diameter, that is used to advance the tool into the material.
I75 means that as a maximum 75% of the diameter is used.
If the l-word is not programmed, a MC-value is used.
J-word The direction of milling.
J+1 The milling direction is counter clockwise looking from the tool towards the workpiece. Also if
J is not programmed.
J-1 The milling direction is clockwise.

The other words as F, S, T and M can be added to a G89-block.

If the pocket is lying in another plane than the XY-plane, then:


- the sign of the Z-word indicates the direction of movement in the tool axis,
- the plane is indicated by one of the G-functions for plane selection:

891025 Programming CNC3460/700 Section 8 - 25


-a

G17 G18 G19

Plane of the pocket XY-plane XZ-plane YZ-plane

Z-word (tool axis) Z-axis Y-axis X-axis

Tool sequence i

The tool sequence for milling the circular pocket is:


a. With rapid to the centre (C) of the pocket and stay the clearance distance (B-word) above the
workpiece

b. With half the programmed feed to the first depth (K-word)

T C k
V \

NB5817

Fig. 8.2.3.-2 Tool sequence for a circular pocket.

c. With the programmed feed from C to 1 (see figure 8.2.3.-2).


The distance to move is: tooldiameter x l-word.

d. Make with the programmed feed a full circle in clockwise direction (J-1) 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.

f. Go with three times the programmed feed back to point C.

9- If the programmed depth is not reached, another movement over the depth (K-word) 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/G3-blocks.

Section 8 - 26 Programming CNC3460/700 891025


EXAMPLE 8.2.3.-1 Milling a circular pocket.

100 30
50

I
25,
100

50

x Z=0
w
NB5818

Fig. 8.2.3.-3. Pocket to be milled.

The part program for milling the circular pocket with an end-miil d 10 mm could be:

N1 T1 M6
N2 G89 Z-15 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 Z-6
- Step 2 at Z-12
- Step 3 at Z-15
N4 : Retract of the tool.

8.2.4 ROTATING POCKETS OR GROOVES [B1= ]

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 G77-blocks 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.

891025 Programming CNC3460/700 Section 8 - 27


G79-block
1
With a G79-block two possibilities are available:
B1=0 (or not programmed)
The pocket or groove is milled as described in the sections 8.2.1 to 8.2.3, thus parallel to
the axes.

B1= Under this word the angle, the axis of the pocket or groove makes with the X-axis
(G17, G18)or the negative Z-axis (G19), can be programmed.The angle is measured in
degrees and decimal parts thereof and ranges from -360 to 360.

EXAMPLE 8.2.4.-1.Rotating a pocket

20

30 I

/ 5
/ 60
32

y
/
x
W 55
NB6566

Fig. 8.2.4.-1 Rotating a pocket.


S-
Milling the pocket from figure 8.2.4.-1 at a depth of 5 mm can be programmed as: !

N1
N2
G87 X30
G79 X55
Y20
Y32
Z-5
Z0
B1
B1=60
R5
m
Explanation:

N1 : The pocket is defined as if its sides are parallel to the X- and Y-axis.
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 X-axis are programmed.

G77-block

With a G77-block three possibilities are available:

1. B1= not programmed:


The centres of the pockets or the entering points of the grooves are lying on the defined pitch cir
cle. The sides of the pockets or grooves are parallel to the coordinate axes of the plane.

Section 8 - 28 Programming CNC3460/700 891025


1
2. B1=0 :
The pockets or the entering points of the grooves are lying on the defined pitch circle. The axis of
each pocket or groove is radial as seen from the centre of the pitch circle.

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.

EXAMPLE 8.2.4.-2 Radial grooves

%> 20
-S-

\ /
u>
'//
Y,

IH1
* 'w NB6S6S
21

Fig. 8.2.4.-2 Entering points of grooves on a circle (B1=0)

Milling the grooves from figure S.2.4.-2 at a depth of 10 mm can be programmed as:

N1 G88 X20 Y10 Z-10 B1


N2 G77 X78 Y56 Z0 R24 B1=0 I0 J6

Explanation:

N1 : The first groove is defined with its sides parallel to the X-and Y-axis.
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 X-axis (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

Fig.8.2.4.-3 Entering points of grooves on a circle (B1=30)

Milling the grooves from fig. 8.2.4.-3 at a depth of 10 mm can be programmed as:

N1 G88 X20 Y10 Z-10 B1


N2 G77 X78 Y56 Z0 R24 B1=30 I0J6

Explanation:

N1 : One groove is defined as if its sides are parallel to the X-and Y-axis.
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 X-axis (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).

Section 8 - 30 Programming CNC3460/700 891025


9. SPECIAL FEATURES
The following special features are described:

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

9.1. INCH/METRIC PROGRAMMING [G70/G71]


After switching on, a machine constant sets the control to either inch or metric mode to enable the
following:

to enter a part program manually in either metric or inch units,


to execute a part program written in either metric or inch units,
to convert a program from metric to inch inch units or vice versa during reading in.

Units

Units for metric inch

Dimensions .001 mm .0001 inch

Feedrate F (G94) .001 mm/min .0001 inch/min


F (G95) .001 mm/rev .0001 inch/rev

Memories

The tool dimensions, stored zero offstes, parameter values have to be stored in the units of the active
CNC-mode. 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.

The part program

An entire part program can be written in either metric or inch units.


Two G-functions are available to indicate the used units for the programmed dimensions:

- G70 : in inch values


- G71 : in mm values

891025 Programming CNC3460/700 Section 9 -1


The function G70 or G71 must be written in the same block as the program identification and , if used,
behind the program name.

Unit conversion at reading in

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 G-function converted accordingly.

part program CNC mode stored program conversion

G70 (inch) metric metric (G71) yes


G70 (inch) inch inch no

G71 (metric) metric metric no


G71 (metric) inch inch G70) yes

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 CNC-mode.

If G70 or G71 is written into the program, the control checks if the same units are used in the program
and the CNC-mode. If not, an alarm is generated.

stored program CNC-mode alarm

G70 (inch) metric yes


G70 (inch) inch no

G71 (metric) metric no


G71 (metric) inch yes

9.2. CALL OF A PART PROGRAM [G23]


A part program can be called from another part program with:
- the function G23
- the identification number of the called program (N=).

So a call from the programs N99998 and N99999 in program N888888 is programmed like:

N888888

N10 G23 N=99998

N20 G23 N=99999

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.

The function G23 is not allowed:


- in a program called with G23
- in a macro.
9.3. PARAMETRIC PROGRAMMING [E]
Instead of using values for the words it is possible to write the part program with symbols or
parameters. They have nodefinite meaning at the moment of writing the program, but receive their actual
value before the program is executed. In this way it is possible to solve a problem in quite general terms
where upon the actual execution can be adapted to specific requirements.

Up to 255 parameters (a MC-setting) 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).

9.3.1 . RELATING A PARAMETER TO AN ADDRESS

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.

All words, except N, can be written with a parameter as follows:


- the address of the word, e.g. X, Z etc
- the character "=
- the address E
- the parameter number.

Thus: X=E12

means that at the execution of the block, the X-coordinate 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 X-coordinate gets the value of parameter E12, but with
opposite sign.

891025 Programming CNC34S0/700 Section 9 -3


So in a block like:

N50 G3 X=E1 Y=E2 I0 JO

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 non-dimension 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).

9.3.2. SETTING PARAMETER VALUES

In each block of a part program or subprogram a parameter can be given its value by programming:
- The E-address and the parameter number
- The character "=" and the parameter value written with a sign and the decimal point

The parameter value can be:


- a 15 digit integer value, thus without decimal point
- a 15 digit fixed point value with an accuracy of at least 6 decimals and a maximum of 15 decimals be
hind the decimal point.
Internally fixed point values are stored either as entered or in the so called scientific notation, thus with
exponent (see chapter 12, section 12.2.1.).

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.

N70 GO X100 E12=200.15 E13=-300

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.

EXAMPLE 9.3.2.-1 A parametric program

A full circle has to be milled. A program is written with two parameters:

E1 : the depth of in-feed


E2 : the circle radius.

Section 9 -4 Programming CNC3460/700 891025


1
roi
34-''
o

*_ZL

\y////A\
NB6084

Fig. 9.3.2.-1 The circle to be milled

The part program looks as follows:

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 Z-axis 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.

891025 Programming CNC3460/700 Section 9 -5


9.3.3. CALCULATIONS WITH PARAMETERS

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.

The accuracy of these calculations is with 15 decimals.

An arithmetical expression contains:


- The parameter which is associated with the end result of the calculation
- The character "="
- A parameter or a fixed value
- The arithmetical operation, thus or
- The fixed value or the second parameter
A combination of operations in an arithmetical expression is not allowed.
It is also posssible to make two parameters equal to each other by writing, e.g. E12=E13.

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.

EXAMPLE 9.3.3.-1 Calculations with parameters

E12=E4+100 : The value 100 is added to the value of parameter E4 and the result is stored under E12.

E12=E4-E3 : 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.

A combination of operations in an arithmetical expression is not allowed.


An arithmetical expression can be written in stead of a value on those places where the setting of a
parameter is allowed.

Section 9 -6 Programming CNC3460/700 891025


9.4. SUBPROGRAMS OR MACROS
A subprogram is a "closed" program section, which is programmed once only and stored in a separate
part of the user memory. The subprogram is executed, when it is called by the main program (=part
program) or another subprogram. The same subprogram can be called up any number of times.
With the aid of parametric programming (see section 9.3.) generalized subprograms can be written.

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.

9.4.1 . IDENTIFICATION OF A SUBPROGRAM

A subprogram starts with a block number and ranges from N1 to N9999999. With this number the
subprogram is identified.

A subprogram is automatically closed by the control if:


- in EDIT mode a change is made to ID-DIR for entering another subprogram,
or
- another memory than the subprogram memory is selected.

Refer to section 1.4.1. for


- identifying a macro on a data carrier,
- numbering macros downwards compatible with older software versions.

9.4.2. CALLING UP A SUBPROGRAM [G22]

A subprogram is called up from the part program or another subprogram with:

preparatory function G22


the identification number of the subprogram (N= ).

Only the block number and value settings for parameters may be added to a G22-block.

Thus, in block:

N50 G22 N=9001

the subprogram with the identification N9001 is called.

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.

EXAMPLE 9.4.2.-1 Tapping four holes using a sub program

891025 Programming CNC3460/700 Section 9 -7


1

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.

A subprogram is used for:


- activating a fixed cycle (G79)
- for indicating the four positions where the cycle should be executed.
The subprogram looks as follows:

N9001 G79 X-40 YO ZO


N2 G79 XO Y 40
N3 G79 X 40 YO
N4 G79 XO Y-40

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 Z-20 F200 S1000
N6 G22 N=9001
N7 T3 M6 -
N8 G84 Y9 Z-15 F390 S590
N9 G22 N=9001

Section 9 -8 Programming CNC3460/700 891025


Explanation:

N1 Load the spot drill


N2 Defines the fixed cycle for spot drilling.
N3 Calls up the subprogram. The four holes are spot drilled.
N4 Load the drill.
N5 : Defines the fixed cycle for drilling.
N6 Calls up the subprogram and the four holes are drilled.
N7 Load the tap.
N8 Defines the cycle for tapping.
N9 Again calls up the subprogram and the four holes are tapped.

9.4.3. PARAMETER USE IN A SUBPROGRAM

As stated before a subprogram can also be written with the aid of parameters. The same parameters can
be used in different subprograms.

The setting of the parameters can be done:


- In the main program or subprogram.
- Via the operator's panel.
- By reading in the parameter memory
Calculations with parameter values as described in section 9.3.3. are also allowed in a subprogram.

EXAMPLE 9.4.3.-1 A parametric subprogram

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

Fig.9.4.3.-1.A subprogram for milling a full circle

891025 Programming CNC3460/700 Section 9 -9


The following parameters must be set in the program:
- E1 : Radius R1 of the full circle
- E2 : Radius R2 of the approach and retraction circle
- E4 : The depth, including a clearance distance.
The following parameter is calculated:
- E3 : The distance (R1-R2)
The subprogram is written with incremental dimensions and looks as follows:

N9002 G91 E3=E1-E2


N1 G1 Z=-E4 F1000
N2 Y=E3
N3 G43 X=-E2
N4 G42
N5 G2 X=E2 Y=E2 R=E2
N6 I0 J=-E1
N7 X=E2 Y=-E2 R=E2
N8 G40
N9 GO X-=E2 Y=-E3 Z=E4
N10 G90

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.

If this subprogram is used the calling program must contain:


- A tool movement to the circle centre (N200)
- A definition of the parameters (N201)
- A call of the subprogram (N201)
The calling program looks as follows:

N9002 G17 T1 M6
N1 S2000 M3

N200 GO X75 Y80 ZO


N201 G22 N=9002 E1=30 E2=15 E4=15

N500 M30

After calling the subprogram a circle with a diameter of 60 mm is milled in the required position (X75,
Y80).

Section 9-10 Programming CNC3460/700 891025


9.5. REPEAT AND JUMP FUNCTIONS
Normally in a program or subprogram the blocks are processed in the sequence in which they are
programmed. This sequence can be influenced with:
- the jump and repeat function with which any number of blocks from the program can be repeated,
- the conditional jump with which a jump to any block in the program is executed if a condition is
fulfilled.
A special input is provided to influence these functions from outside the program.

9.5.1. JUMP AND REPEAT [G14]

With the jump and repeat feature any number of blocks out of a part program -or subprogram- can be
repeated.

A block for jump and repeat is programmed with:


- the preparatory function G14,
- the number of the first block of the repeat sequence (N1=),
- the number of the last block of the repeat sequence (N2=),
- the number of repeats, (J-word or E-word).

Whilst executing a G14-block 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 J-word or E-word. 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 (J-word and E-word 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 block-repeat. Here too the J-word or E-word 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.

9.5.2. CONDITIONAL JUMP IN A PROGRAM [G29]

With a conditional jump a jump to any block in the program is executed if a condition is fulfilled.

A conditional jump is programmed with:


- Preparatory function G29
- A parameter, its value indicates the condition:
>0 : a jump in the program or subprogram
<= 0 : no jump is executed
- The jump target programmed with N= . Its value is the block number at which the process continues
when the condition is fulfilled.

891025 Programming CNC3460/700 Section 9 -11


The target must be in the same program or subprogram as the G29. It is however irrelevant whether the
jump is in the reverse or forward direction.

So a block:

N100 G29 E2 N=50

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 G29-block.
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 G29-block 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 K-word is used:
- K-word not programmed, the parameter value is reduced by 1.
- KO programmed, the parameter value is not reduced.
- K <> 0, the K-value is used to reduce the parameter value.
Refer to example 9.6.1.-2 for the use of G29.

9.5.3. EXTERNAL JUMP CONDITION

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 machine constant has to be set to activate this input.

9.6. COORDINATE TRANSFORMATIONS


The following coordinate transformations are described:

1. Scaling of a program or a section of a program.


2. Mirroring about one of the main axes.
3. Axes rotation.

Section 9 -12 Programming CNC3460/700 891025


9.6.1. SCALING [G72/G73]

A part program or a section of a part program can be increased or decreased in shape (scaled) by a
factor.

Scaling is activated in a block with:


- preparatory function G73, any combination of scaling and mirror image is allowed,
- a scale factor programmed with A4= . Depending on a MC-setting the scale factor is either a factor
(format 2.6) or a percentage (format 3.4).

So a dimension increase of 1.25% is programmed as:


- a factor : G73 A4=1.0125
- a percentage : G73 A4=101.25

With another MC-setting 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 G73-block, 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 MC-setting .
- 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

Fig. 9.6.1.-1 Place of a scaled shape on the table

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.

891025 Programming CNC3460/700 Section 9 -13


Scaling can also be used to mill a part a number of times with the same tool, but at different distances
from the part. This is explained in section 9.6.1.-2.

EXAMPLE 9.6.1.-1 Scaling a part

15 IS

\ C
\
\

O'
Y- .60
60/

s
% X

70
NB6810

Fig. 9.6.1.-2 A cam

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=(115-20)/2 from the X-axis
is determined. With this point as centre of multiplication the position of the part remains unchanged with
the scaling.

So the part program starts with:


- a datum point shift from W to CM,
- an activation of the scaling,
- a datum point shift from CM back to W,
- the part program related to W.
To avoid the calculations for the points of tangency between the lines and circles in figure 9.6.1.-2, the
(optional) geometry package is used (Refer to chapter 10).

The part program could be:

N9210 G54 T1 M6
N1 G92 Y 47.5
N2 G73 A4=.8
N3 G92 Y-47.5
N4 X 50 Y-20 Z 10 S100 M3
N5 G1 Z-10 F1000
N6 G43 Y0
N7 G41 X-35
N8 G64 X1=-35 Y1=0 B1=120 J1=2
N9 G2 R15
N10 R115 I0 K-20 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 X-axis.
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 X-axis.
N13 : Retract the tool from the part.
N14 : Cancel the radius compensation.
N15 : Cancel the geometry calculations and end of program.

EXAMPLE 9.6.1.-2. Moving around a part at equal distances

15 15

\ Knc

\ s
S0/ Yi .60

% X

70
NB6810 2=o

Fig. 9.6.1.*3 Cleaning a pocket in a number of steps

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.

The following parameters must be set by the user:


- E1 : the total number of steps
- E2 : the step size

891025 Programming CNC3460/700 Section 9 -15


The following parameters are used in the program:
- E3 : the distance to the part after each step
1
- E4 : the scaling factor
- E5 : used for comparison
- E6 : the total size - one step
- E7 : the total size
The contour is programmed without radius compensation. For finishing the contour is called with a G14
and the milling executed with radius compensation.

The program looks as follows:

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 Z-10 F1000
N6 E3=E3+E2
N7 G93 XO Y47.5
N8 E4=E3:E7
N9 G73 A4=E4
N10 G92 Y-47.5
N11 YO
N12 X-35 YO
N13 G64 X1=-35 Y1=0 B1=120 J1=2
N14 G2 R15
N15 G2 R115 I0 J-20 J1=1
N16 G2 R15
N17 G1 X35 YO B1=-120
N18 G63
N19 XO YO
N20 G73 A4=1
N21 E5=E6-E3
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
N12-N19 Mill the contour

Section 9-16 Programming CNC3460/700 891025


N20 : Reset the scaling
N21-N22 : Check to see if all pathes are executed if not (E5>0), jump back to block N6
N23 : All pathes are executed, restore the datum point
N24-N28 : Moving around the contour with radius compensation
N29 : Retract the tool
N30 : End of the program

9.6.2. MIRROR IMAGE

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:

X-1 : mirroring about Y-axis with G17 active.


: mirroring about Z-axis with G18 active.

Y-1 : mirroring about X-axis with G17 active.


: mirroring about Z-axis with G19 active.

Z-1 : mirroring about X-axis with G18 active.


: mirroring about Y-axis with G19 active.

Programmed datum point shifts are mirrored too.


The direction of movement on a circle and LEFT or RIGHT of the contouring radius compensation are
influenced, if the mirroring takes place about one axis.
Not influenced are the stored zero offsets, because they are machine dependent.

Mirror image is cancelled :


- with G72.
In this case sign inversion of all axes is terminated. If the scaling was activated, it is cancelled too.
- per axis with G73, the address of the axis and +1.
In this case the sign inversion of the programmed axis is terminated.
- at CLEAR CONTROL.

EXAMPLE 9.6.2.-1 Mirroring a pattern

891025 Programming CNC3460/700 Section 9 -17


20 20

+ + + +r
2 1 O

+ + Y *#* 2

+ + + +
3 U

+ + + NB6083

Fig. 9.6.2.-1 Same pattern In four quadrants

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 Z-3 F200 S500 M3
N2 G79 X20 Y10 Z0
N3 G79 X40
N4 G79 Y30
N5 G79 X20
N6 G73 X-1
N7 G14 N1=2 N2=5
N8 G73 Y-1
N9 G14 N1=2 N2=5
N10 G73 X1
N11 G14 N1=2 N2=5
N12 G73 Y1
N13 G81 Y1 Z-15 F200 S1000 T2 M6
N14 G14 N1=2 N2=12
N15 G84 Y9 Z-10 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 Y-axis.
N7 The blocks N2 to N5 are repeated, but the signs of the X-coordinates are inverted,
thus the pattern is drilled in the second quadrant.
N8 Additional mirroring about the X-axis. The mirroring about the Y-axis is still valid.
N9 The blocks N2 to N5 are repeated again. The signs of the X- and Y-coordinates are
inverted, thus the pattern is drilled in the third quadrant.
N10 Cancelling the sign inversion of the X-axis.
N11 The blocks N2 to N5 are repeated again. The signs of the Y-coordinates are inverted,
thus the pattern is drilled in the fourth quadrant.
N12 Cancelling the sign inversion of the Y-axis.

Section 9 -18 Programming CNC3460/700 891025


N13 : The fixed cycle for drilling the holes to depth is defined. The second tool is loaded and
a new spindle speed is set.
N14 : The blocks N2 to N12 are repeated, thus the defined drilling cycle of block N13 is
executed on the 16 holes.
N15 : The fixed cycle for tapping the holes is defined, the third tool is loaded and the new
spindle speed is set.
N16 : The blocks N2 to N12 are repeated. This time the tapping cycle (block N15) is
executed on the 16 holes.
N17 : End of partprogram.

9.6.3. AXES ROTATION

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.

Two possibilities are provided.

1. Rotation about an (absolute) angle which is defined with respect to a main axis of the machine-tool.
Thus X-axis with G17 or G18 active and -Z-axis 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

Fig. 9.6.3.-1 Absolute angle of rotation

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.

891025 Programming CNC3460/700 Section 9 -19


1

i IY

Y' X"

X'
,Y" B4 =

iB4 s

NB6807

Fig. 9.6.3.-2 Incremental angle of rotation

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

Axes rotation is terminated with a block containing:


- G93 B1=0
M30
or at CLEAR CONTROL.

In the rotated program sequence a datum point shift is not allowed.

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.

EXAMPLE 9.6.3.-1 Datum point shift and rotation

Y
y
X'
30
,w X
Y
O

65 N86808

Fig. 9.6.3.-3 Absolute datum point shift and rotation

Section 9 -20 Programming CNC3460/700 891025

m
The datum point shift and rotation from figure 9.6.3.-3 is programmed as:

N.. G93 X65 Y30 B4=30

EXAMPLE 9.6.3.-2 Rotation of a program section

7/15 7,5

/j
10, 5
6

150

A
/

NB6806

Fig. 9.6.3.*4 Wheel

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.

The part program could be:

N9208 G54 T1 M6
N1 S100 M3
N2 X37.5 Y10 Z10
N3 G1 Z-10 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

N17 G14 N1=2 N2=16 J5


N,e M30

891025 Programming CNC3460/700 Section 9 -21


Explanation:

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 Y-axis.
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 X-axis.
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.

9.7. AUTOMATION PACKAGE


Though hardly any information for the automation package has to be written in the part program, some
knowledge of it might be useful for the part programmmer.

The automation package consists of:


- Tool performance monitor
- External program selection
- External error codes, these are described in the Interfacing Manual of the control.

9.7.1 . TOOL PERFORMANCE MONITOR m=]

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 two-decade number
ranging from 1 to 99 is assigned.

Section 9 -22 Programming CNC3460/700 891025


Depending on the type of the tool, the material of the workpiece and the operation to be executed, a
group of power levels can be chosen for a particular tool.
In a block with a tool change (M6 or M66) the group of power levels is programmed with the word T1=
and via a two decade BCD output transferred to the tool performance monitor.

If with the comparison in the monitor:


the lowest threshold value is exceeded, a warning is generated by the control but machining with the

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.

9.7.2. EXTERNAL PROGRAM SELECTION

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.

The external part program selection allows:


- to assign to each part program a special identification,
- to store the identification of the next program during the execution of a part program,
- to activate the requested part program after finishing the running program (at M30),
- to execute the program after an external start command.

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 BCD-input. 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 BCD-input.

There is a special memory of the control, the external program call memory in which are stored:

- the special identification number (E-word).


The E-word ranges from 0 to 999, so 1000 programs can be assigned. The E-words are stored in the
memory in increasing order.
With a MC-setting is determined how many assignments can be stored in the memory.
- the program identification (N-word) of the part program which is activated when the E-word is
selected.
- the pallet offsets belonging to the pallet used with the part.

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.

891025 Programming CNC3460/700 Section 9 -23



M C
I

PALLET OFFSETS

Fig. 9.7.2.-1 The 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.

CHAMFER AND ROUNDING [G11]



9.8.1 GENERAL REMARKS ABOUT G11

The function G11 can be used for programming:


- A linear movement with an additional chamfer or rounding with the next linear movement.
- A two point geometry element with additional chamfers and/or roundings.

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 G11-block the G-function
belonging to the last movement is active, thus G1 with a chamfer and G2 or G3 with a rounding.

Polar coordinates

In a G11-block 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 G11-block.
The following description applies only to polar coordinates used in a G11-block (G17 is assumed to be

active).

Absolute polar coordinates

When a G90 (absolute coordinates) is active, the polar coordinates in a G11-block are absolute too,
thus defined with:
- the angle (B-word) which the connection line of the datum point W and the end point makes with the
X-axis,
- the distance (L-word) from W to the end point.

Section 9 -24 Programming CNC3460/700 891025


PI
L
'Gil

' Y PO
,B

TW X N 86105

Fig. 9.8.1.-1 Absolute polar coordinates with G11 .


Incremental polar coordinates

With G91 active (incremental dimensions) the polar coordinates are defined with respect to the previous
tool position. This means, that:
- the angle (B-word) 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 (L-word) is measured along the tool path from the tool position to the new one.

L PI

B
PO
Yi,

N8M04

Fig. 9.8.1.-2 Incremental polar coordinates with G11 .


The angle (B-word) and the distance (L-word) are programmed in exactly the same way as the polar
coordinates introduced in section 3.3.2. So refer to that section for:
- the sign of the angle
- the sign of the distance
- the axis to be used with the definition of the angle in the different planes.

891025 Programming CNC3460/700 Section 9 -25


9.8.2. ONE POINT GEOMETRY WITH CHAMFER OR ROUNDING

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:

K-word : The length of the chamfer, programmed as a dimension word, but without a sign. The chamfer
is symmetrically located around the end point.

R-word : The radius of the rounding

PI, K
K PI

P2
P2
i V.
PO

NB6413 NS6412

Fig. 9.8.2.-1 Chamfer or rounding between two linear blocks

In figures 9.8.2.-1 the linear movement is from PQ to


P1 and in the next block from P1 to P2-
Between these two movements a chamfer or rounding is generated.
Though point P1
is not reached, its position must be programmed with:
- Either the X and Y-coordinate (XY-plane)
- Or its polar coordinates (B and L)
Depending if G90 (absolute) or G91 (incremental) is active, the coordinates are absolute or incremental
dimensions.

In both cases the next movement from P1 to P2 must be linear, thus a block containing G1 or G11.

EXAMPLE 9.8.2.-1 Chamfer programming

60

-v s
\

\ 6'
\ >Y
\ P

A
w
1
7
2
\ /
\ /
\ /

\ / $/
N86412

Fig. 9.8.2.-2 Milling a regular hexagon


I
Section 9 -26 Programming CNC3460/700 891025
The regular hexagon of figure 9.S.2.-2 has to be milled on the outside. Absolute polar coordinates are
used. The sides 2 and 4 are programmed as chamfers. The part program could be:

N9010
N1 G17 T1 M6
N2 GO X100 Y10 Z-10 S1000 M3
N3 G1 F300
N4 G43 X 60
N5 G41 Y0
N6 G11 B-90 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:

N9010 : Identification of the program.


N1 : Set the plane and load the tool.
N2 : 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 : Mill along side 1 and 2. Programmed is the intersection point of side 1 and 3 and the
chamfer (K-word) around this point.
N7 : Mill along side 3 and 4. Programmed is the intersection point of side 3 and 5 and the
chamfer around this point.
N8 : Mill along side 5.
N9 : Mill along side 6. t
N10 : Cancel the radius compensation.
N11 : Move tool away from part.
N12 : End of the program.

9.8.3 TWO POINT GEOMETRY WITH CHAMFER OR ROUNDING

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.

891025 Programming CNC3460/700 Section 9 -27


I
1(X;Y) P1
B1= Y1=
P2(X1s;Y1s) Y
4 P2
PO Y PO
,B
iB1= \AJ.

G90
NB6411 W*-*- X1= NB6U1

G91

Fig. 9.8.3.-1 Two point geometry

The following words are used:

Xand Y The X and Y-coordinate of point P1.


or
Band L The polar coordinates of point i
X1= and Y1= The X and Y-coordinate of point ?2-
or
B1= and L1= The polar coordinates of point Pg.

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 The length of the chamfer

R The radius of the rounding

K, PI
I
,R

Y P2 Y P2
PO PO

w N66410 N66410

Fig. 9.8.3.-2 Chamfer or rounding between the linear movements

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):

K1= : The length of the chamfer

R1=

Section 9 -28
: The radius of the rounding.

Programming CNC3460/700 891025



PI P3
PI ,P3
,R1r

Y
/
'Kir
Y<
VP2
v V PO P2 PO

w N86409 N86409

Fig. 9.8.3.-3 Chamfer or rounding between two linear blocks

In the figures 9.8.3.-2 and -3 the linear movements from PQ to P1 to P2 to P3 are programmed in a
G11-block (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 G11-block and a chamfer or rounding between the
G11-block and the next one.

PI P3 PI <P3
j
R \R R1r

Y< Y
PO Kir' P2 PO P2

X
N064O8 w N86408

Fig. 9.8.3.-4 Chamfer and chamfer or rounding

2. A rounding between the linear movements in the G11-block and a chamfer or rounding between the
G11-block and the next one.

PI P3 PI -P3
/
j
R ,R Rlr

Yi Y
PO K1> 'P2 PO P2

NC6406 W N06406

Fig. 9.8.3.-5 Rounding and chamfer or rounding

EXAMPLE 9.8.3.-1 A two point geometry element with a chamfer

891025 Programming CNC3460/700 Section 9 -29


:

60

fU 6'
y

w
M20
1
/
2
\

\
/

\
'
\
'
N86108
-fr

Fig. 9.S.3.-6 Milling a regular hexagon

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 Z-10 S1000 M3
N3 G1 F300
N4 G43 X 60
N5 G41 Y0
N6 G91
N7 G11 B-120 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 (K-word) 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.

Section 9 -30 Programming CNC3460/700 891025


9.8.4. INTERSECTION POINT CALCULATION

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 X-axis. The second movement is defined by its endpoint programmed in the G11-block and the
angle the second line makes with the X-axis.

PI

B1 =

B P2(X;Y)
Y
PO

NB6407

Fig. 9.8.4.-1 Two line geometry

For the two line geometry the following words are used:

X and Y : The X and Y-coordinate of point P2


These coordinates can be programmed with absolute or incremental dimensions depending
on the active function G90 or G91. The incremental values are related to point PQ.

B The angle the line from PO to P1 makes with the positive X-axis.

B1= The angle the line from P2 to P1 makes with the positive X-axis.

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.

EXAMPLE 9.8.4.-1 A two line geometry element

\ \W\WV
Y
\y
. s;|I \V
RAOUS

|j v: wn
HAOIUS

I
N
\ V'
X
N
t
N \\
NISI
I
\
\

Fig. 9.8.4.-2 Inside pocket with two line geometry elements

891025 Programming CNC3460/700 Section 9 -31


The inside pocket of figure 9.8.4.-2 can be programmed using the G11-function with two line geometry
elements. Compare this program with the program of example 6.2.6.-3.

N9012G17
N1 X80 Y25 ZO T1 M6
N2 G1 Z-10 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:

N9012 : Identification of the part program. Set the XY-plane.


N1 : Load tool T1. Move the tool to point B and above the workpiece.
N2 : Start the spindle and move the tool with feed to depth.
N3 : Move the tool TO the starting point of the entering circle.
N4 : Set radius compensation RIGHT.
N5 : Move to the contour via the entering circle.
N6 : Mill - along the X-axis
- along the radius (R15)
- along the Y-axis
- along the second radius (R15).
N7 -
: Mill parallel to the X-axis,
- parallel to the Y-axis
- follow the second radius.
N8 : Mill - parallel to the X-axis,
- follow the first radius,
- mill along the slope of 60
- follow the second radius (R20).
N9 : Mill along the X-axis to the starting point of the circle for leaving the contour.
N10 : Leave the contour with a circle.
N11 : Cancel the radius compensation.
N12 : Retract the tool and end of program-

Section 9 -32 Programming CNC3460/700 891025


10. GEOMETRY [G63/G64]

10.1. GENERAL INTRODUCTION


The option GEOMETRY offers an easy way of programming a lot of geometric cases like :
- tangential geometric elements,
- matching circles,
- a chamfer or rounding,
- intersection points.

Each movement is programmed in a separate block using the standard G-functions for linear (GO and
G1) and circular movements (G2 and G3). With some additional words is achieved that most
calculations are avoided.

Two G-functions 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.

The following possibilities can be programmed:

1. Two tangential geometric elements:

a. line and circle or circle and line


b. two circles

R
<7YO
Y

a. a. b.
ik x
NB7990

Fig. 10.1.-1. Two tangential geometric elements

With the word R1=0 in the block of the first element is indicated, that that element is tangent to the
second one.

891025 Programming CNC3460/700 Section 10- 1


2. A matching circle inserted between:

a. line and circle or circle and line


b. two circles

/ A. V
R /
R
R
l R

NB7991

Fig. 10.1.-2a. A matching circle between line and circle

R / X
\
\

Y7
R

R \ R l
R
\ I
R
I I
/ \ /
/

X
/
/ (
/ x I
/ R z' \
R
R]

\ R /
V
\

NB7992

Fig. 10.1.-2b. A matching circle between two circles

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

Section 10-2 Programming CNC3460/700 891025


A matching circle 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 (R-word) of the circle

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 X-axis.

3. The intersection between:

a. two straight lines


b. line and circle or circle and line
c. two circles

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)

4. A chamfer inserted between two intersecting lines

NB7996

Fig. 10.1.-4. A chamfer

891025 Programming CNC3460/700 Section 10-3


The chamfer is:
- symmetrically located around the intersection point
- programmed with:
G1
- the length of the chamfer (l-word)

5. A rounding between:

a. two intersecting lines


b. line and circle or circle and line
c. two intersecting circles

/
A /
R X /
\
1/
Y

b. c.

NB7994

Fig. 10.1.-5. A rounding

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 (R-word) 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.

10.2. USING THE GEOMETRY

10.2.1. PROGRAMMING AN ENDPOINT OR CENTRE POINT

The endpoint of a movement can be programmed with:


- absolute cartesian coordinates (X.. andY.. ),
- absolute polar coordinates (B2=.. and L2=..),
- one cartesian coordinate (X.. or Y..) and angle (B1=.. ),
- a previously defined point (P..).

The centre point of a circle can be programmed with:


- absolute cartesian coordinates (I., and J..),
- absolute polar coordinates (B3=.. and L3=.. ).

Section 10-4 Programming CNC3460/700 891025


Refer to :
- chapter 3 for programming a position
- section 5.3.2.1. for programming a centre point

10.2.2. ADDITIONAL WORDS WITH LINEAR MOVEMENTS

The following words are used to extend the GO- and G1-blocks:

- B1= the angle which the straight line makes with the positive X-axis 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.

-I the chamfer between two intersecting lines. See section 10.3.1.

10.2.3. ADDITIONAL WORDS WITH CIRCULAR MOVEMENTS

The following words are used to extend the G2- and G3-blocks:

-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 X-axis.

10.2.4. DEFINITIONS RELATED TO THE ADDITIONAL WORDS

10.2.4. 1. ANGLE IN DIRECTION OFMOVEMENT

Programming an angle in the direction of movement along the tine means the use of:
- the positive angle (B1=+ ) with an increasing Y-value,
- the negative angle (B1=- ) with a decreasing Y-value.

891025 Programming CNC3460/700 Section 10-5


P1

p1 Pt

B1- + B1-90 B1--

Y PO PO PO

PO PO

PO 81- -90 B1-

B1

Y PI PI P1

N86891

Fig. 10.2.4.1.-1. Increasing (a) and decreasing (b) Y-value

If the movement is parallel to the X-axis, the following words should be used:
- B1=0 : with an increasing X-value,
- B1=180 : with a decreasing X-value.

B1 =0 B1=180

PO PI PI PO

NB6892

Fig. 10.2.4.1.-2. Movements parallel to the X-axis.

Section 10-6 Programming CNC3460/700 891025


10.2.4.2. LEFT OR RIGHT INTERSECTION POINT

Line intersects a circle or vice versa

P2

pi

YK
Y\ rpi

po

SrT
NB6915

Fig. 10.2.4.2.-1. Left (PI) or right (P2) Intersection point

For determining left or right in this case:

1. draw through K a line perpendicular to the line of the linear movement,


2. look from K to the linear movement,
3. point P1 is on the left of the line through K and point P2 on the right.

Line through the centre

PI
PE
P2 K
K
pr
PO P2

*
NB8022

Fig. 10.2.4.2.-2. Line through the centre

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

891025 Programming CNC3460/700 Section 10-7


Two circles

PI

R
/\ R

/
K1
'\/
K2

Y a
/V
P2

Ww *
NB8023

Fig. 10.2.4.2.-3. Left (P1) or right (P2) intersection point

For determining left or right in this case:

1. draw a line through both centre points,


2. look from the first centre point to the second one,
3. point P1 is on the left of the line through the centre points and point P2 on the right.

10.2.4.3. A PARALLEL LINE

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= .

The word 11= has a sign:

n=

n= +

NB8002

Fig. 10.2.4.3.-1.The sign of the distance 11s

I1=+ : the line to the right of the known line


I1=- : the line to the left

Left and right as seen in the direction of movement.

Section 10-8 Programming CNC3460/700 891025


10.2.4.4. A SUPPORT POINT ON A LINE

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=

X.. Y.. 11=0 B2= L2= 11=0 P1 11=0

X1= .. Y1= .. NB8010

.
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 X-coordinate
- Y1= absolute Y-coordinate
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.

891025 Programming CNC3460/700 Section 10-9


10.2.4.5. LINE PARALLEL TO A TANGENT LINE

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

Fig. 10.2.4.5.-1.Llne parallel to a tangential line

10.2.5. PROGRAMMING A LINEAR MOVEMENT

A linear movement is programmed with a GO or G1 and some additional information. Four cases are
considered:

1. Starting point is known

The starting point is:


a. the programmed endpoint of the previous block,
b. the point of tangency with the circle from the previous block.

In this case the linear movement is programmed with:


only
a. the angle with the X-axis
b. the endpoint
c. R1=0 indicating that the line is tangent to the circle in the next block.
d. the angle with the X-axis (B1= )
and
J1=1 or 2indicating the intersection point between the line and the circle in the next block.

Section 10-10 Programming CNC3460/700 891025


a b

B1 =

B1 =
0
a PO

PE
>PE

b PO
PO

R R

\
R
PO
c
PO

NB8017

Fig. 10.2.5.-1. Possibilities a,b,c with known starting point

K
\ R
\
J J
,B1= 11 =

d
PO PO

NB8018

Fig. 10.2.5.-2. Possibility d with known starting point

891025 Programming CNC3460/700 Section 10-11


2. Starting point is a calculated intersection point

In this case the linear movement can be programmed with:


- the angle with the X-axis (B1= )
and (if required) some additional words. See the remark after 4.

a b .
PE ,PE

B1 =

B1 =

R, R.
l l
B1 =
B1=
b

R
,R
y
1
y
B1 = !1 =

NB8019

Fig. 10.2.5.-3. Possibilities with intersection point

3. A line parallel to a known line

In this case the linear movement is programmed with:


- the angle made with the X-axis (B1= ),
- an absolute position on the known line, programmed as an end point
- the distance between the required line and the known one, programmed with the word 11 = .

Section 10-12 Programming CNC3460/700 891025


11=
11=
11=
L2=

P1
Y Y1=
y y y
B2=
\r

W x w x w x
X
4-
X1=

X.. Y.. 11=.. B2= .. L2= . . 11=.. P1 11=..

NB8012

Fig. 10.2.5.-4. Programming a parallel line

4. A support point on the line is known

In this case the linear movement is programmed with:


- the angle made with the X-axis (B1= ),
- a support point on the line.

L2=

P1
Y Y1=
y y y
B2=

w X w X w X
X
X1=

X.. Y.. 11=0 B2= L2= 11=0 PI 11=0

X1=.. Y1= .. NB8010

Fig. 10.2.5.-5. A support point on the line

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.

891025 Programming CNC3460/700 Section 10-13


10.2.6. PROGRAMMING A CIRCULAR MOVEMENT

A circular movement (not a rounding or matching circle) is programmed with:

G2 / G3indicating the direction of movement on the circle and some additional information.

1. Centre point Is known

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 J1-1/2. See section 10.2.3.

T 5 r R

r
R1

J J J
r Y Y

r <k-r
i I

NB8020

Fig. 10.2.6.-1. Known centre point

2. Starting point of the circle is known

The starting point is:


a. the programmed endpoint of the previous block,
b. the point of tangency with the line or circle from the previous block.

In this case is programmed:


a. the radius (R..) of the circle
b. the absolute cartesian or polar coordinates of the centre
and (if required) one of the additional words R1=0 or J1=1/2. See section 10.2.3.

Y
r
* ir Y J
R

Y
J

NB8021

Fig. 10.2.6.-2. Known starting point

Section 10 - 14 Programming CNC3460/700 891025


3. Starting point is point of intersection

In this case the circle has to be programmed with the coordinates of the centre. So refer to point 1.

4. Endpoint Is known

In this case the programming is:


- the absolute coordinates of the endpoint
and
a. the radius (R..) of the circle
b. the absolute cartesian or polar coordinates of the centre

y,
J
y
Y Y

'w x
w x I
X X

NB8026

Fig. 10.2.6.-3. Circle endpoint Is known

i
891025 Programming CNC3460/700 Section 10-15
10.2.7. CONVENTIONS WITH THE USE OF THE GEOMETRY

Geometry in different planes


I
The geometric calculations are always executed in the main plane, thus the plane defined with G17 (XY-
plane), G18 (XZ-plane) or G19 (YZ-plane).

In this manual the geometry is described in the XY-plane. If the movements are carried out in another
plane, then the angle B1=.. is defined with respect:
- to the +X-axis in the XZ-plane (G18 active),
- to the -Z-axis in the YZ-plane (G19 active).

Y -Z Y

B1= B1= B1=

7 x 7 x 7 -z
f
-Y Z -Y

NB6927
G17 G18 G19

Fig. 10.2.7.-1. Angle definition in different planes.

The positive direction of the angle is:


- In the XY-plane (G17) : from+Xto+Y
- In the XZ-plane (G18) : from +X to -Z
- In the YZ-plane (G19) : from -Z to +Y

A support point can be programmed with:

X1= and Z1= for the XZ-plane


Y1= and Z1= for the YZ-plane
(
All other definitions are the same in all three planes.

(
:
Section 10 - 16 Programming CNC3460/700 891025
General conventions

I An absolute position has to be programmed:


- before starting the geometric calculations,
- during the use of the geometry,
- at the end of the geometric calculations, so that the control can finish its calculations properly.
Besides the functions GO, G1, G2 and G3 also allowed are:
- Radius compensation (G40 to G44),
- Dwell (G4),
- Cancel geometric calculations (G63),
- Feed programming (G94, G95).
Once the geometric calculations are activated, then the following is not allowed:
- Incremental programming, this means incremental cartesian as well as incremental polar coordinates,
- Using more than one defined point in a block,
- Programming an absolute position with regard to R (G74),
- Helix interpolation,
- Coordinate transformations,
- scaling and/or mirror image (G72/G73),
- axes rotation (G92/G93),
- Datum point shifts (G92 or G93),
ft - Changing from stored zero offsets (G51 to G59),
- Changing from main plane (G17, G18 or G19),
- Defining a point (G78),
- Chamfer, rounding or intersection calculation with G11,
- Macro call (G22),
- Program call (G23),
- Jump and repeat functions (G14 or G29),
- Defining a fixed cycle (G81 to G89),
- Activating a fixed cycle (G77 or G79),
- Functions related to in-cycle gauging (G45 to G50),
- 3D-tool correction (G141),
- Activating cylinder interpolation (G182),
- Tool changes (M6, M66, M67).
Of course the use of the geometric calculations is allowed:
- in a macro,
- with a repeat function (G14 or G29).
All geometry blocks must be in the same macro or section to be repeated.

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.

891025 Programming CNC3460/700 Section 10- 17


10.3. EXAMPLES

10.3.1. EXAMPLES EXPLAINING SOME DEFINITIONS i


EXAMPLE 10.3.1.-1. Angle in direction of movement

P1 P0
40-
B1=120
60*

.60"

Y P0 ] Yf P1
+ +
30 30
i
30

a b NB8048

Fig. 10.3.1.-1. Movement with In- (a) or decreasing (b) Y-value

The movement from Po to P1 in figure 10.3.1.-1. with increasing Y-value (a) is programmed as:

N10 G1 X30 B1=60

and with decreasing Y-value (b) as:

N10 G1 Y10 B1=-120

(
Section 10 - 18 Programming CNC3460/700 891025
EXAMPLE 10.3.1.-2. Parallel movements

60 40

y
ea

x
w NB8004

i Fig. 10.3.1.-2. Milling a parallelogram

Milling the parallelogram from figure 10.3.1.-2. could be programmed as follows:

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

N10 : Move to the starting point


N11 : Start the geometric calculations
N12 : Move along the X-axis to the intersection point with the next line
N13 : Move along a line parallel to the line through W at an angle of 60 and to the right of that
line, to the intersection point with the next line
N14 : Move along a line parallel to the X-axis at a distance of 60 and to the right of the X-axis.
N15 : Move along a line at an angle of -120 as seen in the direction of movement, to the
programmed endpoint
N16 : Cancel geometric calculations

891025 Programming CNC3460/700 Section 10 - 19


EXAMPLE 10.3.1.-3. Intersection point line and circle

m Y
CN
/
*
o
ii
80
<
NB8005

Fig. 10.3.1.-3. Intersection point line and circle

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

EXAMPLE 10.3.1.-4. Intersection point two circles

7
/ / \
Y
<N in

ik-,r
2
ii
I
60
80
>
> NB8006

Fig. 10.3.1.-4. Intersection point two circles

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

Section 10-20 Programming CNC3460/700 891025


10.3.2. SAMPLE PART WITH COMMON TANGENT LINES

/S \W

s
Y

25 65
NB6963

Fig. 10.3.2.-1. Common tangent lines

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 Z-10 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.

891025 Programming CNC3460/700 Section 10-21


N12 Circular arc for leaving the contour.
N13 Cancel the geometric calculations.
N14 Cancel the radius compensation.
N15 Move tool to the starting point.
N16 Retract the tool. ,
REMARK :

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

The programming of these line is as follows:

For figure 10.3.2.-2a:

N-1 G2 I25 J25 R15


N
N+1 G3 I80 J15 R10
R1=0
R1=0 i
For figure 10.3.2.-2b:

N-1 G3 I25 J25 R15 R1=0


N R1=0
N+1 G2 I80 J15 R10

Explanation to both programs:

N-1 : 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 10-22 Programming CNC3460/700 891025
10.3.3. TWO TANGENT CIRCLES

The point of tangency between two circles can be calculated by the control.

The first circle can be programmed with:

1. the coordinates of the centre point and the radius


2. the radius (if the starting point is known)
3. the centre point (if the starting point is known)

The sg&Qd circle can be programmed with:

a. the coordinates of the centre point and the radius


b. the coordinates of the endpoint and the radius
c. the coordinates of the endpoint and centre point

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
ik-r NB8007
I2

Fig. 10.3.3.-1. Two tangent circles according to combination 1.a.

The programming for this combination is:

N10G2I1 J1 R1
N11 G2I... J... R...

ft
891025 Programming CNC3460/700 Section 10 -23
Combination 2.c.

n NB8007
I2

Fig. 10.3.3.-2. Two tangent circles according to combination 2.c.

The programming for this combination is:

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

Fig. 10.3.3.-3. Two tangent circles according to combination 3.c.


.
The programming for this combination is:

N10 X1 Y1
N11 G2 11 J1
N12 G2 X2 Y2 I2 J2

Section 10 -24 Programming CNC3460/700 891025


10.3.4. CIRCLE MATCHING LINE AND CIRCLE

150*
&
& X
-150*
o,
in

&
8 Y 8

80

110

NB6972

Fig. 10.3.4.-1. Circle matching line and circle

The program for the part from figure 10.3.4.-1. could be:

N99973 G54 T1 M6
N1 GO X0 Y-20 Z10 S100 M3
N2 G1 Z-10 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 I-55J20 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 X-axis, 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 X-axis to the datum point W.
N16 Retract the tool from the part.
N17
N18
Cancel the geometric calculations.
Cancel the radius compensation. i

Section 10-26 Programming CNC3460/700 891025


10.3.5. MATCHING CIRCLES BETWEEN CIRCLES

ft

s
<b
Y 1.5
to

6 W\ X 5 o s
12
44

65
110'

NB6928

Fig. 10.3.5.-1. Hook

The hook from figure 10.3.5.-1. could be programmed as:

N99969 G54 T1 M6
N1 X120 Y-35 Z10 S100 M3
N2 G1 Z-10 F1000
N3 G64
N4 G43 Y-15
N5 G41 X110 Y-15 11=0 B1=180
N6 G3 R5
N7 G1 X65 Y-22 11=0 B1=-90 J1=1
N8 G3 I65 J-72 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 J-10 R36 R1=0
N19 G1 X65 Y22
N20 X65 Y22 11=0 B1=90
N21 G3 R5
N22 G1 X110 Y15 B1=180
N23 Y-40
N24 G63 X120
N25 G40
N26 GO Z100 M30

891025 Programming CNC3460/700 Section 10-27


Explanation:

N99969-N4 : These blocks are obvious.


N5 : Linear movement parallel to the X-axis.
N6 : A rounding.
N7 : Linear movement parallel to the Y-axis.
N8 : Circular arc to the point of tangency with the connection circle.
N9 : Matching circle outside the first one and surrounding the second one. |
N10-N14 : Two common tangent lines between circles.
N15 : Circle surrounding both circles.
N16 : A circular arc till the rounding starts.
N17 : A rounding.
N18 : A circular arc to the point of tangency with the line from the next block.
N19-N26 : These blocks are obvious.

10.3.6. PROGRAMMING A CHAMFER

(
/ \

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:

Section 10-28 Programming CNC3460/700 891025


N99987
N1 G54 T1 M6
I N2
N3
N4
G0X-20
G1
G43
Y-20 Z10

YO
Z-5 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 Y-20
N17 GO Z100

Explanation:

N99987
N1 -N5
Program identification
These blocks are obvious
N6 Activate the geometry calculations.
The movement parallel to the X-axis 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.
N15-N17 Cancel the radius compensation and the geometric calculations and remove the tool away
from the part.

I
891025 Programming CNC3460/700 Section 10-29
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

Fig. 10.3.7.-1. Sample part for rounding programming

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 Z-10 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

Section 10-30 Programming CNC3460/700 891025


Explanation:

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. '
N11-N18 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.
N22-N24 These blocks are obvious.

10.4. DISCONTINUOUS MOVEMENTS

In the previous sections all kinds of continuous movements, between line and circle or two circles and

circular connections are explained.

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.

This programming method may result in:


- a tool moving backwards,
- a toolpath which intersects itself.

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.

10.4.1. TANGENT LINES

From a point two lines can be drawn tangent to a circle. With the word R1= in the block with the

tangent element is indicated which tangent should be used:

R1=1 : the Jgfi tangent line

R1=2 : the right tangent line

Left and right are determined:

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.

891025 Programming CNC3460/700 Section 10-31


Line and circle are tangent

Programmed are:

line tangent to a circle:


- a linear movement and the word R1=
- a circular movement with the required direction of movement (G2 or G3), its centre point and
radius.

circle tangent to line:


- a circular movement with the required direction of movement (G2 or G3), its centre point, the
radius and the word R1=
- a linear movement

\ 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 10-32 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,

right from the mentioned line.

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.

The required matching circle is programmed with:


- the direction of movement on the circle (G2 or G3),
- the radius of the circle (R-word),
- the word K1= indicating:
the type of matching circle
the left or right circle.

K1= X X

1 = left

2 = right

> Type of matching circle

I
891025 Programming CNC3460/700 Section 10-33
10.4.3. MATCHING CIRCLE BETWEEN LINE AND CIRCLE

Two cases are considered:

1. The line is tangent to the circle


2. The line does not meet the 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.

Line and circle are tangent

Programmed are:

line tangent to circle:


a linear movement of a line tangent to a circle,
the matching circle,
the circle to which the line is tangent.

circle tangent to a line:


a circular movement of a circle tangent to a line,
the matching circle,
the line to which the circle is tangent.

Two matching circles are possible:

- K1=20
\ N
/ \ \

s' K1=10l *>K


\
Or
/

a b
NB6964

.
Fig. 10.4.3.-1 Left (a) and right (b) matching circle

The left matching circle is programmed with : K1=10

The right matching circle with: K1=20

(
Section 10-34 Programming CNC3460/700 891025
Line does not meet the circle

In general a matching circle between a line and a circle can:


- touch the circle on the outside (two possibilities),
- surround the circle (two possibilities).
Here too a left or right matching circle can be recognized. Refer to section 10.4.2. for left and right.

The linear movement is programmed as described in section 10.2.5, the cases 1, 3 anct 4.

The ciicuJat movement is programmed as described in section 10.2.6, case 1 .


a. Touching on the outside

B1 =

A"" A
K1= 20

A'"'
B1=
K1=10
\

<?>>K
\

/
/
/

a b
NB6966

Fig. 10.4.3.-2. Left (a) and right (b) matching circle

The left matching circle is programmed with : K1=10

The right matching circle with : K1=20

891025 Programming CNC3460/700 Section 10-35


b. Surrounding the circle

/
\ <?> \
\
/
i K1= 21
\
/

Y
K1= 11

a b
NB6967
Fig. 10.4.3.-3. Left (a) and right (b) surrounding circle

The left matching circle is programmed with : K1=11

The right matching circle with: K1=21


I

10.4.4. MATCHING CIRCLE BETWEEN TWO CIRCLES

Six types of matching circles can be programmed between two circles.

For programming the three circles:

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 10-36 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 K1-13 +
<*/ \
K1-23
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 K1-24

K1-15

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

891025 Programming CNC3460/700 Section 10-37


a. Matching circle outside both circles
The word K1= for a matching circle outside both circles (see figure 10.4.4.-1a.) is:

for the jsft matching circle : K1=12

for the right matching circle : K1=22

b. Matching circle surrounds both circles

The word K1= for a matching circle surrounding both circles (see figure 10.4.4.-1b) is:

with the Igft matching circle : K1=13

with the right matching circle : K1=23

c. Matching circle outside the first circle


The word K1= for a matching circle outside the first circle (see figure 10.4*4.-10.) is:

with the lefl matching circle : K1=14

with the right matching circle : K1=24

d. Matching circle surrounds the first circle

The word K1= for a matching circle surrounding the first circle (see figure 10.4.4.-1d.) is:

with the ]fi matching circle : K1=15

with the right matching circle : K1=25

One circle inside the other one

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 10-38 Programming CNC3460/700 891025
K1=1 K1=2
I X \
\ / \
S$, K1-16
P04
/ \
\
K2 \ K1 K2
)
K1

POJ
\ R
Ki-2e
/ s
X X
Y

I <*y
/
X' \
PO
A / \ \
\
K1 !
K1 v
\* K1-27 v
PO

'-X,
'
Y

NB805

Figure 10.4.4.-2. Matching circle with an inside circle

e. Matching circle outside the smaller circle


The word K1= for a matching circle outside the smaller circle (see figure 10.4.4.-2e.) is:

with the left matching circle : K1=16

with the right matching circle : K1=26

f. Matching circle surrounds the smaller circle

The word K1 = for a matching circle surrounding the smaller circle (see figure 10.4.4.-2f.) is:

with the !ft matching circle : K1=17

with the rioht matching circle : K1=27

891025 Programming CNC3460/700 Section 10-39


1

EXAMPLE 10.4.4.-1. Matching circle outside

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

Fig. 10.4.4.-3. Sample part with outside matching circle

The sample part from figure 10.4.4.-3. could be programmed as:

N99970 G54 T1 M6
N1 X115 Y60 Z10 S100 M3
N2 G1 Z-10 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 10-40 Programming CNC3460/700 891025
Explanation:

N99970-N4
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.
N8-N10 : Common tangent line.
N11 : Matching circle with the centre on the left.
N12-N16 : These blocks are obvious.

10.4.5. A CIRCULAR CONNECTION BETWEEN TWO GEOMETRIC ELEMENTS

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.

The required connection circle is programmed with:


- the preparatory function G2 or G3 indicating the direction of rotation on the circle,
- the radius (R-word),
- the word K1=.. with the number of the circle.

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

Fig. 10.4.5.-1. Possible connection circles with two lines

i
891025 Programming CNC3460/700 Section 10-41
With K1=1, 2, 3 or 4 the following movements are possible:

/ /
/ N+1 / I
* * L
N+1 N+1
\
N-1 N-1
N
N1 N-1
N
\

b d

NB8056

Fig. 10.4.5.-2. Movements with circular connection and K1s1


i I
t
/
t

X N+1 N+1
X N
xv
N
N N

N+1 N+1 X X
X
'N-I 'N-1 'N-1
X
X 'N-1 \ i
Y

b d

NB8057

Fig. 10.4.5.-3. Movements with circular connection and K1=2


N / t N /
/ /
N+1
N

N+1 N+1
\
N-1 N-1 N-1 N-1

V.

b d
<
NB8058

Fig. 10.4.5.-4. Movements with circular connection and K1=3

N. N+1 N+1
X
v /
N
N
V NI NV'X
X X
X
X
N-1 N-1 N-1 N-1

b d

NBB059

Fig. 10.4.5.-5. Movements with circular connection and K1=4


(
Section 10-42 Programming CNC3460/700 891025
The programming in these cases is:

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

Fig 10.4.5.-6. Possible connection circles with line to circle

The circular connections between line and circle can be programmed according to the following scheme:

N10G1 J1= N10 G1 J1=


N11 G2(G3)K1=1,2,3,4 R.. N11 G3(G2) K1=1,2,3,4 R..
N12G2 N12 G3

Remark :

1. In a few cases the contour intersects itself:

N10 G1 J1= N10 G1 J1=


N11 G2(G3) K1=2 or N11 G2(G3) K1=3
N12 G2 N12 G3

2. In the following two cases the roundings are executed:

N10 G1 J1= N10 G1 J1=


N11 G2 K1=1 R.. N11 G3 K1=4 R..
N12 G3 N12 G2
\
891025 Programming CNC3460/700 Section 10-43
Circle to line

/ N\

{ +4

\
t \

( +3
)
+ 2
)
-- (
+1
+3
7

\
+2
! f
+1

y
)
+4
\ /j
Y

NB6910

Fig 10.4.5.-7. Possible connection circles with circle to line

The circular connections between circle and line can be programmed according to the following scheme:

N10G2 J1= N10G3 J1=


N11 G2(G3) K1=1,2,3,4 R.. N11G3(G2) K1=1,2,3,4 R..
N12G1 N12G1

Remark :

1. In a few cases the contour intersects Itself:

N10 G2 J1= N10 G3 J1=


N11 G2(G3) K1=2 or N11 G2(G3) K1=3
N12 G1 N12 G1

2. In the following cases the roundings are executed:

N10 G2 J1= N10 G2 J1=


N11 G2 K1=1 R.. N11 G3 K1=4 R..
N12 G1 N12 G1
or
N10 G3 J1= N10 G3 J1=
N11 G2 K1=1 R.. N11 G3 K1=4 R..
N12 G1 N12 G1

K
Section 10-44 Programming CNC3460/700 891025
;
Circle to circle

> / \

/
>o
J2
A

H
/
3
K1
K2
s
\
k \\
x
PO.

> NB8060

Fig 10.4.5.-8. Possible connection circles at left point

!
K2
/
/
V
2

I ""x
\
2

NB8061

Fig 10.4.5.-9. Possible connection circles at right point

891025 Programming CNC3460/700 Section 10-45


The circular connections between two circles can be programmed as follows:

N10 G2 (G3) J1= N10 G2 (G3) J1= I


N11 G2 K1=1,2,3,4 R.. N11 G3 K1=1,2,3,4 R..
N12 G2 or G3 N12 G2 or G3

Remark :

1. In a few cases the contour intersects itself. This may happen with the circles K1=2 or K1=3.

2. In the following cases the roundings are executed:

N-1 G2 J1= N-1 G2 J1=


N G2 K1=1 R.. N G2 K1=4 R..
N+1 G2 N+1 G3
or
N-1 G3 J1= N-1 G3 J1=
N G2 K1=1 R.. N G3 K1=4 R..
N+1 G2 N+1 G3
I

i
Section 10-46 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

11.1.1. COMPONENT INSPECTION

Component inspection is performed with a touch trigger probe placed in the spindle.

Two special measuring cycles are available:


- G45 : for measuring a point, parallel to an axis
- G46 : for measuring an inner or outer circle.
In both cycles the probe moves with rapid traverse to a position defined by the pre-measuring distance.

F A
'
/
/
R

--
/

X1= / MC

NB6901

Figure 11.1.1.-1 The pre-measuring distance

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 (MC-setting) in the programmed
direction to a position a fixed distance (MC-setting) 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 11-1
11.1.2. POSSIBLE TOUCH TRIGGER PROBES

For component inspection only an omnidirectional measuring probe can be used.

For signal transfer between probe and control the following possibilities are available:

Inductive probe

Spindle

Fig. 11.1.2.-1. An Inductive probe

These probes are active, as soon as they are loaded in the spindle.

Remote signalling probe (e.g. infra red probe)


Receiver

Battery
;
*
o ; Spindle
L-J
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.

Switching off is done:


- automatically by the probe electronics after a time set in that interface,
- by spinning. In this case the function M28 is used to initiate the spinning.

Hard wired probe

In this case the signal transfer is via a cable. This type of probe is switched on via M27 and switched
off via M28.

Section 11-2 Programming CNC3460/700 891025


11.1.3. MEASURING A POINT [G45]

The deviation between the actual position of a point of the workpiece and the programmed position
can be measured.

Programming the cycle

C
/////
a A
k
7
A
/ / / / /
a
a
NB6900

Figure 11.1.3.-1 Measuring a point, parallel to an axis

The cycle for measuring a point on a line parallel to an axis is programmed with G45 and in the same
I block:

X, Y, Z, B : The coordinates of the point to be measured.


These coordinates are related to the datum point W at use at the moment of
measuring.

P Instead of the coordinates the P-word can be used, indicating a previously


defined point (G78).

I, J, K, L : The axis and the direction in which actually is measured:


1+1 : In the positive direction of the X-axis
1-1 : In the negative direction of the X-axis
The same for the other axes:
J+1 or J-1 : For the Y-axis
K+1 or K-1 : For the Z-axis
L+1 or L-1 : For the B-axis

X1= : The pre-measuring distance

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.

E Number of the E-parameter where the measured coordinate, recalculated by the


control to a position related to W, is stored.
So E22 means that the measured coordinate is stored as the value of parameter
22. The E-value can be used to perform calculations with the measured value.

891025 Programming CNC3460/700 Section 11-3


Measuring sequence

Move the probe with rapid traverse rate to the starting point defined by the pre-measuring
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.

11.1.4. MEASURING A CIRCLE [G46]

The deviation between the actual circle centre and radius and the programmed centre and radius can be
measured.

Programming the cycle

to a l=C

NB6902

Figure 11.1.4.-1 Measuring an inner or outer diameter

The function G46 is used to execute this measuring operation.


The following words are used:

X, Y, Z, B: The coordinates of the centre of the circle to be measured.


These coordinates are related to the datum point W at use at the moment of
measuring.

P: Instead of the coordinates the P-word 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.

Section 11-4 Programming CNC3460/700 891025


Thus:

1+1 and J+1 : An inner circle in the XY-plane


J-1 and K-1 : An outer circle in the YZ-plane
1+1 and K+1: An inner circle in the XZ-plane

R The radius of the programmed circle.

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.

X1= The pre-measuring distance.


If X1= is not programmed a fixed value (MC-setting) is used for it.

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.

I E Number of the E-parameter where the calculated radius is stored.


So E45 means that the circle radius is stored as the value of parameter 45.

Measuring sequence

A circle is measured in four steps:


Endpoint Endpoint

4 t
GO

GO
Startpoint R
Startpoinl
r~4

I R

+y
t 1+1
4
J+1 1-1
+x J-1

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 pre-measuring
distance.

Move the probe with the fixed feedrate (MC-setting) 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.

If the probe touches the workpiece, the measured position is stored.

891025 Programming CNC3460/700 Section 11-5


Move the probe with the programmed feedrate (F-word) back to the starting position.

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.

11.1.5. PROCESSING THE MEASURING RESULTS [G49/G50]

Checking on tolerances [G49]

The preparatory function G49 allows:


- to compare the difference between a programmed value and the last measured value (established
with G45 or G46) with a limit in each direction of the axis,
- to continue the program depending on the result of the comparison.

PP
d - d+

NB6889

Figure 11.1.5.-1 Tolerances

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.

The limits are defined in a G49 block with the words:

X : Maximum allowable increase (d+) of the X-coordinate


X1= : Maximum allowable decrease (d-) of the X-coordinate

Y : Maximum allowable increase (d+) of the Y-coordinate


Y1= : Maximum allowable decrease (d-) of the Y-coordinate

Z : Maximum allowable increase (d+) of the Z-coordinate


Z1= : Maximum allowable decrease (d-) of the Z-coordinate

B : Maximum allowable increase (d+) of the B-coordinate


B1= : Maximum allowable decrease (d-) of the B-coordinate

R : Maximum allowable increase (d+) of the radius value


R1= : Maximum allowable decrease (d-) of the radius value

Section 11-6 Programming CNC3460/700 891025


If one of the differences is out of range, the program can continue with:

I 1. A repeat of a section of the part program


N1= : Block number of the first block of the section to be repeated.
N2= : Block number of the last block of the section to be repeated.

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 G49-block, is
executed.

Processing the differences [G50]

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;

A correction on the tool dimensions.

If the G50-block is used to change the secondary machine datum point with the differences, the
following words are used:

X1 A change of the X-coordinate.


I A multiplication factor for the X-difference.

Y1 A change of the Y-coordinate.


J The multiplication factor for the Y-difference.

Z1 A change of the Z-coordinate.


K The multiplication factor for the Z-difference.

B1 A change of the B-coordinate.


L The multiplication factor for the B-difference.

> N= The number of the G-function 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 X-coordinate is programmed as:

N.. G50 X1 I.8 N=54

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.

891025 Programming CNC3460/700 Section 11-7


11.1.6. TOOL MEASUREMENTS

The cycle for measuring a point can also be used for: (


- measuring corrections on the tool length
- measuring corrections on the tool radius.

For measuring corrections on tool dimensions a square probe mounted at a fixed position of the
machine tool is used.

In the machine constant memory are stored:


- The coordinates of the fixed position of the probe
- The dimensions of the square top of the probe.
For each tool the approximated length and radius value are stored in the tool memory.

The following words are used:


G45 : Indicating that a point should be measured.
M25 : Indicating that the special probe for measuring corrections on tool dimensions should be used.

1+1 or 1-1 Measure in the positive (+1) or negative direction of the X-axis.

J+1 or J-1 Measure in the positive (+1) or negative direction of the Y-axis.

K+1 or K-1 Measure in the positive (+1) or negative direction of the Z-axis.

L+1 or L-1 Measure in the positive (+1) or negative direction of the fourth axis.

X1= The pre-measuring distance (see 11.1.1.).


If the word X1= is not programmed, a fixed value (MC-setting) is used for it.

The measured dimensions are stored in the control.

A G50-block can be used:


- to recalculate the tool dimensions with the measured corrections
- to store the new dimensions in the tool memory.
The following words are used:

T Number of the tool of which the dimensions have to be corrected.

L1=1 A correction of the tool length.

I.J.K The multiplication factor for the length correction.


It is:
K : If the Z-axis is the tool axis; G17 active
J : If the Y-axis is the tool axis; G18 active
I : If the X-axis is the tool axis; G19 active

R1=1 A correction of the tool radius.

X1= The multiplication factor for the radius correction.

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.

Section 11-8 Programming CNC3460/700 891025


11.1.7. TOUCH PROBE CALIBRATION [G46+M26]

) 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.

In the machine constant memory are stored:


- The coordinates of the fixed position of the ring gauge
- The diameter of the ring gauge

The following words are used:


G46 Indicating that a circle should be measured
M26 Indicating that the ring gauge for the touch probe calibration should be used.

1+1 and J+1 : An inside ring is measured in the XY-plane


1-1 and J-1 An outside ring is measured in the XY-plane

J+1 and K+1: An inside ring is measured in the YZ-plane


J-1 and K-1 : An outside ring is measured in the YZ-plane
1+1 and K+1 : An inside ring is measured in the XZ-plane
1-1 and K-1 : An outside ring is measured in the XZ-plane
ft F : The feed used on the path between the four measuring points.

T : The tool number corresponding with the place in the tool memory in which the radius of
the probe is stored.

X1= : The pre-measuring distance (see 11.1.1.)


If the word X1= is not programmed, a fixed value (MC-setting) is used for it.

The difference between the measured centre point and the centre point stored in the machine
constants is calculated and can be used in a G50-block to change the datum point.

11.1.8. Programming measuring cycle macros

Four functions (G145,G148,G149,G150) are available which allow sub-programs (macros) to be writ
ten for controlling measuring cycles.

ft Basic measuring movement [G145]

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.

P : Instead of coordinates, a previously defined position can be used by stating a (G78) P-


word.

E : This word indicates the status of the measuring probe, by containing one of three possible
values after a G145-function has been executed.

If E = 0 after a G145-function has finished the programmed position has been reached but
no measurements have been made; the assigned E-parameters which contain measurement
ft values are therefore unaltered.

891025 Programming CNC3460/700 Section 11-9


If E = 1this indicates that before the programmed position had been reached the probe
was triggered and measurements taken and stored in the assigned E-parameters. I
If E = 2 this indicates that the G145-function was executed in the Block Search, Testrun,
or Demo mode.

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

When calculating these corrections the CNC assumes the following:


- the tool or probe is parallel to the tool axis;
- the tool tip or probe tip is perfectly spherical;
- the tool or the probe is perpendicular to the surface it is measuring.
L : L0 is the default mode. The movement is terminated when the programmed position has
been reached or when the probe has been triggered (Trip mode).

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 E-parameter which will contain the measured position
of the X-axis, eg. X7=2 states that parameter E2 will contain the measured X-axis posi
tion. This word can also have a complete E-parameter 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:

Y7= : the Y-axis A7= : the A-axis U7= : the U-axis

Z7= : the Z-axis B7= : the B-axis V7= : the V-axis

C7= : the C-axis W7= : the W-axis

The availability of these words depends on the axis configuration.


i
Section 11-10 Programming CNC3460/700 891025
11. 1.8. 1. G145 Operational modes

Demo

In this mode the G145 movement is towards the programmed position. If an E-parameter 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 E-parameters.

Block Search

In this mode a G145 movement towards the programmed movement is simulated. If an E-parameter 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 E-parameters remain unaltered.

Testruns

In this mode a G145-movement 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 E-parameters. If a G145 E-parameter 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 E-parameters unaltered. The error code gen
erated during a G145-movement will be P36, and 024 if outside the G145-movement.

Intervention

When an intervention command is issued during a G145-movement the E-parameter 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 G145-movement 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.

11.1.9. Calling probe status [G148]

E : The G148 E-parameter states the probe status.

When E has the value 0 the probe is at its rest position.


When E has the value 1 the probe is depressed.
When E has the value 3 the probe cannot be read because there is a probe error.

11. 1.9. 1. G148 Operational modes

The E-parameter has the value 2 in the Demo, Block Search, and Testrun modes.

The G148 function cannot be interrupted by the use of an interruption command.

I
891025 Programming CNC3460/700 Section 11-11
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 E-parameter has to contain the tool length, eg. L1=3 states that E3 will con
tain the tool length.

R1= : States which E-parameter is to contain the tool radius.

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 E-parameter will
contain the value 0.

X7= : States which E-parameter has to contain the X-axis tool offset.

Other similar *7= type words can be programmed; the range of choice depends upon the |
configuration of the axes.

Example: G149 N1=54 X7=1 Y1=2 Z7=3 B7=4 .


Offset G54 is active.
E1 contains X-axis offset; E2 contains Y-axis offset; E3 contains Z-axis offset;
E4 contains rotary B-axis offset.

<
NB8258

11.1.10.1. Calling active tool

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 E-parameter.

<
Section 11-12 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=0 : If G52 is active, the E-parameter is given the value 52.


If G52 is not active, the E-parameter is given the value 51.

N1=1 : The E-parameter will be given the value of the currently active offset G54...G59.
If a G54...G59 type offset is not active, the E-parameter is given the value 53.

11. 1. 10.3. G149 Operational modes

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.

Example: G150T1 L1=E2 R1=4


Tool No.1 data to be changed
Value in parameter E2 which has to replace current tool length offset.
New value which has to replace tool radius offset.

N1= : States which offset must be altered.


N1= can have the following values: 52,54,55,56,57,58,59.

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 X-axis offset is stated in E1.
The new value of the Y-axis offset is stated in E6.
10 is the new value of the Z-axis offset.

11.1.11. 1.G150 Operational modes

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 11-13
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 G-functions:
- 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.

2. The description in the next sections for:


- the representation space (section 11.2.2.) and I
- the blank of the component (section 11.2.3.)
apply to the G-functions as well as the settings in the graphics memory.

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 (G-word).

Refer to the operator's manual for:


- the possible graphic plots on the control and how to use them
- using the zooming facility and the cross hair,
- setting the graphic parameters.
- storing the tool image and color in the tool memory

11.2.2. GRAPHICS WINDOW [G98]

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.

The following words are used:


- X : the X-distance from W to the corner point
- Y : the Y-distance from W to the corner point
- Z : the Z-distance from W to the corner point

I
Section 11-14 Programming CNC3460/700 891025
>
J

Y
W.

< X


X"
K

NB8052

Fig. 11.2.2.-1 The representation space

The sizes of the representation space are defined with the words:
- I : the length of the box parallel to the X-axis
- J : the length of the box parallel to the Y-axis
- K : the length of the box parallel to the Z-axis

The dimensions (X, Y, Z, I, J, K) can be :


- stored in the graphics memory of the control (see operator's manual),
- inserted in a part program in a G98-block.

I
891025 Programming CNC3460/700 Section 11-15
In some plotting modes the part can be rotated about the X- and Y-axis.

These rotations can be:


- programmed in a G98-block with the words:
B : for a rotation about the X-axis
B1= : for a rotation about the Y-axis
- set in the graphics memory
- set with a softkey in the proper graphics mode.
If the angles of the rotations are not defined in one of the mentioned ways, default values are used:
- +60 for the rotation about the X-axis,
- -30 for the rotation about the Y-axis.

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.

11.2.3. COMPONENT DIMENSIONS WITH GRAPHICS [G99]

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.

These dimensions (X, Y, Z, I, J, K) can be :


- stored in the graphics memory of the control (see operators manual),
- inserted in a part program in a G99-block.

Up to 10 G99-blocks 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 11-16 Programming CNC3460/700 891025
12. CALCULATION EXTENSIONS

12.1. INTRODUCTION

Standard the control can perform some arithmetic with E-parameters 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.

A few new functions are added:


- exponentiation (A),
- square a parameter (A2),
- calculate the reciprocal of a parameter (A-1),
- extract square root of a parameter (sqrt),
- determine the absolute value of a parameter (abs),
- convert a floating or fixed point to an integer (Int),
- the goniometric functions sin, cos and tan,
- the inverse goniometric functions asin, acos and atan.
With the functions sin, cos and tan the angle can be expressed in:
- degrees and decimal parts thereof,
- degrees, minutes, secondes or
- radians.
For programming convenience pi is introduced as a constant.

Also added are a set of relational operators :


- "equal to" () or "not equal to" (*).
- "greater than" (>) or "greater than or equal to" (>=).
- "less than" (<) or "less than or equal to" (<=)

The operations and functions can be combined to one compound expression which may be programmed
at any place where an E-parameter can be used.

The input to the control can be via :

- a data carrier
- a special menu (ED-EXPR)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.

12.2. PARAMETER REPRESENTATION

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.976125e-5 (i.e., 1.976125*.000001=.00001976125)

are valid floating point values.

12.2.2 CONVERTING FLOATING OR FIXED POINT TO INTEGER

The function Int is used to convert a floating or a fixed point value to an integer value.
So
E1=int(E2)

means that E1 contains the integer value of E2.


Thus E1=int(1.976125e5) results in E1=1

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.

So if E1=101.74e-3 and X=E1 is programmed, then X.102 is used.

I
Section 12 -2 Programming CNC3460/700 891025
12.3. ARITHMETICAL OPERATIONS

} 12.3.1 THE OPERATIONS

The following arithmetical operations can be performed:

1. E1=E2 : equalize parameter E1 to E2


2. E1=E2+E3 : add parameter E3 to parameter E2
3. E1=E2-E3 : subtract parameter E3 from parameter E2
4. E1=E2*E3 : multiply parameter E2 with parameter E3
5. E1=E2:E3 : divide parameter E2 by parameter E3
6. E1=E2A2 : square parameter E2, so calculate E2*E2
7. E1=E2A-1 : reciprocal of parameter E2, so calculate 1:E2
8. E1=sqrt(E2) : extract square root of parameter E2
9. E1=abs(E2) : absolute value of parameter E2
10. E1=E2AE3 : erase E2 to the power E3

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

The sequence of operation for squaring a value with a sign is:


- first perform the squaring
- then consider the sign.
So E1=-3A2 is evaluated as :

step 1 : 3A2=9
step 2 : -9

so the result is E1=-9.

If -3 has to be squared, it should be programmed as : E1=(-3)A2


The expression between parentheses is evaluated first, so the result is E1=9.

It is also possible to program the squaring of -3 in the following way:


N.. E2=-3

N.. E1=E2A2

In this case the result is E1=9

12.3.3 SQUARE ROOT

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

With the exponentiation E2AE3 E2 and E3 are real values.

Not allowed are: 1. 0A0


2. E2AE3 with E2<0 and E3 real
I
891025 Programming CNC3460/700 Section 12-3
12.3.5 AUTOMATIC TYPE CONVERSION

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.

12.4. GONIOMETRIC FUNCTIONS

12.4.1 THE ANGLE

With the goniometric functions an angle has to be programmed. Three possibilities are available:

1. Angle in degrees and decimal parts thereof

In general an angle is programmed in degrees and decimal parts thereof.


So an angle of 44 degrees, 12 minutes, 33.5 seconds can be programmed as 44.209303.

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

A second possibility is to program the angle in degrees, minutes and seconds.


A degree is always an integer value with a sign. The sign is also used with the minutes and seconds.
A minute is an integer value between 0 and 59 and without a sign. The value starts with the character ().
A second is a real value between 0 and 59.9999 and without a sign. The value starts with the character
(*')

So an angle of 44, 12, 33.5" can be programmed as 4412"33.5.

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.

So an angle of 44, 12, 33.5" can be programmed as .7715979rad.

4. The constant pi

The value of pi is stored in the control and at each place where a value or E-parameter 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 :

1 degree = (2*pl):360 radians


1 radian = 360 :(2*pl) degrees.

So the angle of 44.209303 can also be programmed in radians :

((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)

12.4.2 THE FUNCTIONS SIN, COS AND TAN

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.

Also allowed are :

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

12.6.1 GENERAL DEFINITIONS


(
A simple expression consists of an operator indicating the type of operation, and one or two operands
indicating on which parameter or parameters, value or values the required operation has to be executed.

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.

For an expression with two operands the programming sequence in an expression is :


operandl - operator - operand2

A compoundexpression consists of any combination of simple expressions. Two types are possible:

arithmetic expression for computing a numerical value


relational expression for checking a relation between two arithmetic expressions.

(
Section 12 -6 Programming CNC3460/700 891025
12.6.2 ARITHMETIC EXPRESSIONS

In an arithmetic expression a numerical value is computed by executing a number of arithmetical


I operations. The intermediate results are stored with an accuracy of 64 bits. So during the evaluation of
an arithmetic expression there is no loss of accuracy.

The following rules apply for constructing an arithmetic expression:

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.

12.6.3 RELATIONAL EXPRESSIONS

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.

The following relational expressions are possible :

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

The meaning of these expressions is as follows :

if the relation between E2 and E3 is satisfied E1=1, otherwise E1=0.

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 G29-block is much easier with a relational expression than with the
I usual programming.

So a block: N.. G29 E1=E2>E3 N=400 E1

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 12-7
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.

So an expression like E1=3+7:2-4A2+5*6


is computed in the following order:

4A2=16 step 1
7:2=3.5 step 2
5*6=30 step 3
3+3.5=6.5 step 4
6.5-16=-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 :

N100 B2=atan (15:10) L2=sqrt (10A2+15A2)

For B2= the calculation is :


step 1 compute 15:10
step 2determine angle

For L2= the calculation is :


step 1 compute 10A2
step 2 compute 15A2
step 3 add 10A2 and 15A2
step 4extract the square root from the result of step 3.

12.8. OPERATING

I 12.8.1 THE MENU ED-EXPR

In the MENU-G input mode for editing part programs or macros a softkey ED-EXPR 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 MENU-G,
- press ENTER to get the expression in the block.

I
891025 Programming CNC3460/700 Section 12-9
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.

So an expression as B2=atan(15:10) can be entered and stored as written.

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.

12.9. EXAMPLES OF THE USE


With a few very useful macros the parameter programming with calculation extension is explained. The
following macros are described:
- macro N99401 for calculating the intersection point of two straight lines
- macro N99502 for a datum point shift after axes rotation
- macro N99700 for roughing a circular pocket with a spherical bottom

12.9.1 THE INTERSECTION POINT OF TWO LINES


(
Input parameters

E1 : first coordinate of first point on first line


E2 : second coordinate of first point on first line

E3 : first coordinate of second point on first line


E4 : second coordinate of second point on first line

E5 : first coordinate of first point on second line


E6 : second coordinate of first point on second line

E7 : first coordinate of second point on second line


E8 : second coordinate of second point on second line

I
Section 12-10 Programming CNC3460/700 891025
Output parameters

E20 :
E21 :
first coordinate of intersection point
second coordinate of intersection point

E79 =1 : an error detected in the macro


=0 : no error

(E1; E2)

(E3; E4)

(E7; E8)
(E5; E6)

\
E21
y
/

i wx
E20 NB7961

Fig. 12.9.1.-1 Parameters intersection point two lines

The macro

N99401 (CALCULATE INTERSECTION POINT TWO LINES)


N1 E11=E3-E1 E12=E4-E2 E79=0
N2 E13=sqrt (E11 A2+E12A2)
N3 E11=E11:E13 E12=E12:E13
N4 E13=E7-E5 E14=E8-E6
N5 E15=sqrt (E13A2+E14A2)
N6 E13=E13:E15 E14=E14:E15
fc N7 E16=E11*E13+E12*E14
W N8 G29 E15=abs(E16)<.99995 N=12 E15
N9 E79=1
N10 MO (LINES ARE PARALLEL)
N11 G29 E79 N=17
N12 E15=E1-E7 E16=E2-E8
N13 E17=(E15*E12-E16*E11)
N14 E17=E17:(E13*E12-E11*E14)
N15 E20=E7+E17*E13
N16 E21=E8+E17*E14
N17

Explanation

N1-N3 the unit vector of the first line is calculated


N4-N6 the unit vector of the second line
N7-N8 check to see if the unit vectors are not parallel
N9-N11 the lines are parallel; no calculation is performed
N12 - N14: compute the factor of the vector

N15 - N16:

891025
calculate the coordinates of the intersection point

Programming CNC3460/700 Section 12-11


Remark: Parameter E79 can be used to handle the error in the calling program or macro.

Example of the use

First line through the points ( 30;50) and (60;30).


Second line through the points (100;50) and (50;10).

The calculation of the intersection point could be programmed as :

N100 E1=30 E2=50 E3=60 E4=30


N101 E5=100 E6=50 E7=50 E8=10
N102 G22 N=99401
N103 G29 E79 KO N=
N104 GO X=E20 Y=E21

N100 : the points of the first line


N101 : the points of the second line
N102 : calculate the intersection point
N103 : if an error is detected, jump to the block with M30
N104 : move with rapid traverse to the intersection point

Section 12 -12 Programming CNC3460/700 891025


12.9.2 DATUM POINT SHIFT AFTER AXES ROTATION

Input parameters

E54 code for the main plane


17 : the XY-plane
18 : the XZ-plane
19 : the YZ-plane

E55 =0 : datum point shift in main plane only


=1 : datum point shift in toolaxis only
=2 : datum point shift in main plane and toolaxis

E70 : alignment angle


E71 : the shift value in the X-axis in the rotated coordinate system (G17 or G18) or the toolaxis
(G19).
E72 : the shift value in the Y-axis in the rotated coordinate system (G17 or G19) or the toolaxis
(G18)
E73 : the shift value in the Z-axis in the rotated coordinate system (G18 or G19) or the toolaxis
(G17)
E74 : the angle with the X-axis (G17 or G18) or with the -Z-axis (G19) of the machine tool.

Output parameters

E61 : the shift value in the X-axis of the machine tool


E62 : the shift value in the Y-axis of the machine tool
E63 : the shift value in the Z-axis of the machine tool

YM
y X
w

E72

E74
y X E71

VW XM
NB7962

Fig. 12.9.2.-1 Meaning of the parameters

891025 Programming CNC3460/700 Section 12-13


The macro

N99502 (DATUM POINT SHIFT AFTER AXES ROTATION)


N1 G93 B4=0
N2 E80=1 E81=E70+E74
N3 G29 E83=E54>17 E83 N=14
N4 G29 E83=E55=1 E83 N=10
N5 E61=E71*cos(E81)-E72*sin(E81)
N6 E62=E71*sin(E81)+E72*cos(E81)
N7 G29 E83=E55=2 E81 N=12
N8 E63=0
N9 G29 E80K0 N=34
N10 E61=0
N11 E62=0
N12 E63=E73
N13 G29 E80K0 N=34
N14 G29 E83=E54>18 E83 N=25
N15 G29 E83=E55=1 E81 N=21
N16 E61=E71*cos(E81)+E73*Sin(E81)
N17 E63=E71*sin(E81)+E73*cos(E81)
N18 G29 E83=E55=2 E81 N=23
N19 E62=0
N20 G29 E80 KO N=34
N21 E61=0
N22 E63=0
N23 E62=E72
N24 G29 E80 KO N=34
N25 G29 E83=E55=1 E83 N=31
N26 E63=E72*sin(E81)+E73*COS(E81)
N27 E62=E72*cos(E81)-E73sin(E81)
N28 G29 E83=E55=2 E83 N=33
N29 E61=0
N30 G29 E80 KO N=34
N31 E62=0
N32 E63=0
N33 E61=E71
N34 G92 X=E61 Y=E62 Z=E63
N35 G93 B4=E81

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
N4-N7 datum point shift in the XY-plane
N8 no tool axis
N10-N11 no datum point shift in the main plane
N12 datum point shift in tool axis
N15-N18 datum point shift in the XZ-plane
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 YZ-plane
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

Section 12 -14 Programming CNC3460/700 891025


Instruction for use

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 G-function 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.

Example of the use

YM
y X
w

30

30
y X 100

VW xM
NB7963

Fig. 12.9.2.-2. Datum point shift after axes rotation

The datum point shift from W1 to W2 can be programmed as follows:

N100 E70=30 E71=100 E72=30


N101 G22 N=99502

After the macro call (N101) point W2 is the new datum point.

891025 Programming CNC3460/700 Section 12 -15


12.9.3 A CIRCULAR POCKET WITH SPHERICAL BOTTOM

Input parameters

E51 clearance distance


E52 depth of the pocket
E53 feedrate
E54 code for the main plane
17 : the XY-plane
18 : the XZ-plane
19 : the YZ-plane
E56 tool radius
E61 radius of the sphere
E63 =-1 clockwise milling
= 1 counter clockwise milling
E64 depth per step
E90 the X-coordinate of the centre of the sphere part surface position in the toolaxis with
G19
E91 the Y-coordinate of the centre of the sphere part surface position in the toolaxis with
G18
E92 the Z-coordinate of the centre of the sphere part surface position in the toolaxis with
G17

Output parameter

E79 =1: an error detected in the macro


=0: no error

E91
y,
X
W
E90

E61

E51
E92
E52

NB7964

Fig. 12.9.3.-1. Meaning of the parameters I


Section 12-16 Programming CNC3460/700 891025
The macro

N99700 (ROUGHING A CIRC. POCKET WITH SPHERICAL BOTTOM)


N1 E79=0 E80=1 E81=E52 E84=17 E85=2*(E54-17)+9 E86=0
N2 E86-E86+E64
N3 E82=sqrt(2*E61*E81-E81A2)
N4 G29 E83=(E82-E56)>.01 E83 N=7
N5 E79=1 MO (TOOL RADIUS TOO LARGE)
N6 G29 E80 KO N=24
N7 G89 R=E82 Z=-E64 K=E64 J=E63 B=E51 F=E53
N8 G29 E80 KO N=24
N9 G79 X=E90 Y=E91 Z=(E92-E86)
N10 G29 E80 KO N=14
N11 G79 X=E90 Y=(E91-E86) Z=E92
N12 G29 E80 KO N=14
N13 G79 X=(E90-E86) Y=E91 Z=E92
N14 E81=E81-E64
N15 G29 E83=E81>E64 E83 N=2
N16 G29 E80 KO N=E84
N17 E81=E64 E84=E85+10 E86=E52
N18 G29 E80 KO N=3
N19 GO Z=(E92+E51)
N20 G29 E80 KO N=24
N21 GO Y=(E91+E51)
N22 G29 E80 KO N=24
N23 GO X=(E90+E51)
N24

Explanation

N2 calculate the depth of operation


N3 calculate the actual radius of the pocket
N4 -N6 check to see if the toolradius is not too large
N7 define the circular pocket
N8 jump to N9 with the XY-plane
N11 with the XZ-plane
N13 with the YZ-plane
N9 execute the pocket in the XY-plane
N10 jump to N14 for calculating the next step
N11 -N12 execute the pocket in the XZ-plane and jump to N14 to calculate the next step
N13 execute the pocket in the YZ-plane
N14 calculate the next step
N15 check to see if another milling step is required or the final step is reached.
N16 was this the final step?
N17 set E81 and E86 for the final step and calculate E84, the jump target after the fi
nal step
jump to N3 for milling the pocket with the final step
N19-N24 retract the tool out of the pocket; the toolaxis is plane dependent

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.

891025 Programming CNC3460/700 Section 12 -17


Example of the use

40
y

x
W
40

1
*/
o 7
a 15

NB7965

Fig. 12.9.3.-2. Circular pocket with spherical bottom

The partprogram for milling the spherical pocket could be :

N9003
N1 G98 X-30 Y-30 Z-30 I60 J60 K60
N2 G99 X-35 Y-35 Z-35 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

N1-N2 : define the window (G98) and the material (G99) for running the program in graphics
mode.
N3 : set the plane (XY-plane) and load the tool.
N4-N6 : start the spindle and define the parameters
N7 : call the macro for milling the pocket
N8 : end of the program

<
Section 12-18 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
G-functions 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 G-functions (G182/G180) are introduced to activate and cancel the
cylinder interpolation.

13.2. AXES AND PLANES

In general three rotary axes are possible:

Rotation about the X-axis (A-axis). The plane of the cylinder surface is the AX-plane. 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 X-axia

Rotation about the Y-axis (B-axis). The plane of the cylinder surface is the BY-plane. 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 Y-axis
I
891025 Programming CNC3460/700 Section 13-1
Rotation about the Z-axis (C-axis) The plane of the cylinder surface is the CZ-plane. The toolaxis can
be X or Y.

+Y +Y 4

Tool

+X +x
s s
Tool
C+. C+
+z +z NB7968

Fig. 13.2.-3 Rotation about the Z-axia

13.3. ACTIVATING AND CANCELLING CYLINDER INTERPOLATION i


13.3.1 ACTIVATING CYLINDER INTERPOLATION [G182]

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:
- Y-axis : the cylinder axis
- B-axis : the rotary axis,
- Z-axis : the tool axis.
In this case the plane of the surface is the BY-plane.

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 R-word in the G182 block the radius of the cylinder is programmed. The radius is used for feed
i
calculations. If the R-word 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 G182-block with a different R-word. In this
block all parameters not corresponding with a MC-setting have to be repeated.

At the execution of the G182 block the position of the rotary axis is not recalculated.

The following functions may not be active, when G182 is programmed:


- Radius compensation (G41-G44)
- Geometry (G64) :
- Mirror image or scaling (G73)
- Axes rotation (G92/G93)
- 3D-tool correction (G141)

Section 13-2 Programming CNC3460/700 891025


13.3.2 CANCELLING CYLINDER INTERPOLATION[G180]

Cylinder interpolation is cancelled with G180 or at CLEAR CONTROL.


m The position of the rotary axis is not recalculated.

13.4. PROGRAMMING CONVENTIONS

13.4.1 POSSIBLE G-FUNCTIONS

Two tables with G-fuctions are given :

1. Table 13.4.1-1 : G-funotions used with G182 active.

These functions are described separately in this chapter.

Fund Group Description Modal Reset Page

GO A Rapid traverse movement Y 5-1


G1 A Linear feed movements Y 5-5
ft G2
G3
A
A
Circular feed movement, clw
Circular feed movement, cclw
Y
Y
5-15
5-15
G40 D Cancel radius compensation Y 6-14
G41 D Radius compensation LEFT Y 6-9
G42 D Radius compensation RIGHT Y 6-9
G43 D Radius compensation TO Y 6-7
G44 D Radius compensation PAST Y 6-7
G90 J Absolute cartesian dimensions Y 3-4
G91 J Incremental cartesian dimensions Y 3-4
G180 B Standard machine tool coordinates Y 3-20
G182 B Plane of the cylinder surface Y 3-20

2. Table 13.4.1.-2 : Remaining programmable G-functlons

These functions can also be programmed. Their meaning is not influenced by the cylinder
interpolation.

Fund Group Description Modal Reset Page

G4 Dwell 5-30
G14 Jump and repeat function 2) 9-11
G22 Call of a subprogram 9-7
G29 Conditional jump 2) 9-11
G94 K Feed in mm/min or inch/mm Y 1) 5-29
G95 K Feed in mm/rev or inch/rev Y D 5-29

ft
891025 Programming CNC3460/700 Sedion 13-3
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 G-function not contained in the tables 13.4.1.-1 or -2, will cause an error message.

13.4.2 THE PLANE OF THE SURFACE

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

Fig. 13.4.2.-1 The plane of the cylinder surface

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

Only cartesian coordinates can be used.

A position on the cylinder axis is programmed with the address for that axis, thus X, Y or Z.

A position on the rotary axis is defined with the corresponding address A, B or C.

<
Section 13-4 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.

13.4.4 THE DATUM POINT

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 (G53-G59), (p)reset axis (G51-G52) and a datum point shift
(G92-G93).

Once cylinder interpolation is activated a datum point shift is not allowed.

13.4.5 INCH/METRIC [G70/G71]

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

13.4.6.1 POSITIONING [GO]

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

I 13.4.6.2 LINEAR FEED MOVEMENT [G1]

A linear movement with the programmed feed to the end point.


The feed is the surface feed on the cylinder at the radius in the G182-block.

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 13-5
13.4.6.3 CIRCULAR FEED MOVEMENTS [G2/G3]
The G-functions 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 (R-word) can be used.

The endpoint is programmed as described in section 13.4.3.

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

13.4.7 RADIUS COMPENSATION [G40-G44]

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 13-6 Programming CNC3460/700 891025
13.5. EXAMPLE OF THE USE

200.
180. 20
20

45/ 45
20 20
60
40

30 120 240 330 360


0

NB7972

Fig. 13.5.-1 A path In the cylinder surface

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:

N2 Activate cylinder interpolation; cylinder radius 114.6


N3 Position the tool to the start point of the contour
N4 Move tool TO the first point of the contour
N5 Move tool to the surface
N6 Set radius compensation RIGHT
N7-N15 Follow the contour; points of tangency are calculated.
N16 Cancel radius compensation
N17 Retract tool from the surface

I
891025 Programming CNC3460/700 Section 13-7