0% found this document useful (0 votes)
5K views

MAHO Philips 432 M700 Programming Manual

MAHO Philips

Uploaded by

Dejan Drumac
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5K views

MAHO Philips 432 M700 Programming Manual

MAHO Philips

Uploaded by

Dejan Drumac
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 271

PHILIP

CNC3000 Series

CNC3460/3560 M700
USTRIAL

&

Programming manual

CTRO -ACOUST,r SYSTEMS


DIVISION - NUMERICAI
CONTROL

!
!
I[

g 0 @

i s iss
s

SB

S3

SS3C3G1

la

SJ

im

(USEJB S

t3

ra

S2S

(SSDCS

ffi

0
0 B000
0 0
0 0 00Q 0
000
000 Q
0
0
00 0 0
0 0

00000
0 000
0 0 0

SU

--v

<U

CNC3000 Series
CNC3460/3560 M700
Programming manual
4822 873 20404

891025

Numerical control

o
,
:

.
:

i/

PHILIPS

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.

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.

CONTENTS

Page

Part programming

1.1
1.2
1.3
1.3.1
1.4

Introduction
Program words
Program blocks
The block number[N]
Preparing a part program

1-1
1-2
1-4
1-4
1-5

1.4.1
1.4.2
1.4.3
1.5

Program identification.
Program setup
Program sheet
Program storage

1-5
1-6
1-7
1-7

2.

Preparatory functions[G]

3.

Programming a position

3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4

The coordinate system


Axis direction ..
The Z-axis
The X-axis
The Y-axis
Schematic drawings ....

3.3
3.3.1
3.3.2
3.3.3
3.4
3.5

Coordinates
Cartesian coordinates[G90/G91]
Polar coordinates
One cartesian coordinate and an angle
Point definition[G78]
Changing coordinate systems[G180/G182]

4.

Establishing zero datum points

4.1
4.2
4.3
4.4
4.5

Zero datum points


Stored zero offsets[G53/G59]......:
Preset axis[G51/G52]
Zero datum point shifts[G92/G93]
Establishing the zero datum point at program start.

5.

Motion commands

5.1.
5.1.1.
5.1.2.
5.1.3.
5.2.

Rapid traverse movements


Rapid traverse [GO]
Positioning logic
Rapid traverse to position with regard to R[G74]
Linear interpolation1]

5.2.1.
5.2.2.
5.2.3.
5.2.3.1.
5.2.3.2.

One or two linear axes


Using a rotary axis
3D-interpolation
Three linear axes
Two linear axes and a rotary axis.

5-5
5-6
5-11
5-11
5-13

5.2.4.
5.3.
5.3.1.
5.3.2.

Simultaneous movement of the linear and rotary axes


Circular interpolation
Direction of movement[G2/G3]
A circle in a plane perpendicular to the toolaxis

5-14
5-15
5-15
5-16

891025

3-1
3-1
3-1
3-2
3-2

3-2

Programming CNC3460/700

3-4
3-4
3-8
3-15
3-17
3-20

4-1
4-4

4-5
4-6
4-8

5-1
5-1
5-1
5-3

5-5

Index - 1 -

Page
5.3.2.1.
5.3.2.2.

Programming a circular arc.


Programming a full circle

5-16
5-21

5.3.3.

5.3.4.
5.4.
5.5.
5.6.

A circle not in the main plane


Using the linear axes U, V or W
Circular arc with a simultaneous movement of the third axis.
Helix interpolation
Feed programming

5-22
5-23
5-25
5-27
5-29

5.6.1.
5.6.2.
5.7.
5.8.
5.8.1.
5.8.2.

Feedrate in mm(inches)/min or mm(inches)/rev[G94/G95]


Feed overide operative or fixed to 100%[G25/G26]
Dwell[G4]
Movements with or without INPOSITION[G27/G28]
INPOSITION[l3=/l4=]
Switching on/off the positioning logic [I5=]

6.

Tool compensation

6.1.
6.1.1.
6.1.2.
6.2.
6.2.1.

Tool length compensation


Tool in different axes and plane selection [G17/G19]
Tool in different directions of the tool axis [G66/G67]
Tool radius compensation
Axis parallel radius compensation [G43/G44]

6.2.2.
6.2.3.
6.2.4.
6.2.5.
6.2.6.

Contouring radius compensation [G41/G42]


Starting contouring radius compensation
Cancelling radius compensation[G40]
Feedrate with radius compensation[F1=]
Examples of contouring radius compensation

6-16
6-16

6.2.7.
6.3.
6.3.1.
6.3.2.

Restrictions at the use of radius compensation


3D-tool correction[G141]
Introduction to 3D-tool correction
Normalized vectors

6-21
6-21
6-21
6-22

6.3.3.
6.3.4.

6-23

6.3.5.
6.4.

Cutter parameters
Calculation method
Programming 3D-tool correction
Activating a tool

7.

Auxiliary machine functions

7.1.
7.1.1.
7.1.2.

Spindle speed [S]


Coded spindle speed programming.
Analog spindle speed programming
Tool numbers [ T ]
Automatic tool changers

7.2.
7.2.1.

....
S'

5-29
5-30
5-30
5-31
5-31
5-32

6-1
6-2
6-5
6-6
6-7

6-9
6-12
6-14

6-23
6-24
6-26

7-1
7-1
7-1

7-2
7-3

7.2.2.
7.2.3.
7.2.4.
7.3.

Random access tool memory[P]


Tool life monitoring

Auxiliary function [H]

7-3
7-4
7-4
7-4

7.4.
7.4.1.
7.4.2.
7.4.3.

Miscellaneous functions [M]


Stop commands[M0&M30]
Spindle commands[M3/M4/M5/M19]
Coolant commands[M7/M8/M9]

7-5
7-6
7-6
7-7

Index - 2 -

Spare tool assignment

Programming CNC3460/700

891025

Page

m
r

7.4.4.
7.4.5.

Combination of M-functions [M13/M14]


Tool change commands[M6/M66/M67]

8.

Machining cycles

8.1.
8.1.1.
8.1.2.
8.1.3.
8.1.4.

Cycles for hole operations[G81, G83 - G86]


Cycle definitions for hole operations
Tool movements
Activating a defined cycle on a point[G79] ...
Examples with machining cycles

8.1.5.
8.1.6.
8.1.7.
8.2.

Avoiding a collision with clamps


Cycle in different axes
Bolt hole circle[G77]
Milling cycles

8-11
8-12
8-13

8.2.1.
8.2.4.

A rectangular pocket[G87]....
A groove[G88]
A circular pocket[G89]
Rotating pockets or grooves.

8-17
8-22
8-25
8-27

9.

Special features

9.1.
9.2.
9.3.
9.3.1.
9.3.2.

Inch/metric programming[G70/G71]
Call of a part program[G23]
Parametric programming[E]
Relating a parameter to an address
Setting parameter values

9.3.3.

9.4.1.
9.4.2.
9.4.3.

Calculations with parameters


Subprograms or macros
Identification of a subprogram ...
Calling up a subprogram[G22] ...
Parameter use in a subprogram

9.5.
9.5.1.
9.5.2.
9.5.3.
9.6.

Repeat and jump functions.


Jump and repeat [G14]
Conditional jump[G29]
External jump condition
Coordinate transformations

9-12
9-12

9.6.1.
9.6.2.
9.6.3.
9.7.
9.7.1.

Scaling[G72/G73]
Mirror image[G72/G73]
Axes rotation[G92/G93]
Automation package
Tool performance monitorj T1= ]

9-13
9-17
9-19
9-22
9-22

9.7.2.
9.8.
9.8.1.

External part program selection


Chamfer and rounding[G11]
General remarks about G11
One point geometry with chamfer or rounding
Two point geometry with chamfer or rounding
Intersection point calculation

9-23
9-24
9-24
9-26
9-27
9-31

8.2.2.

8.2.3.

9.4.

Si

9.8.2.
9.8.3.
9.8.4.

891025

7-7
7-8

8-1
8-1
8-3
8-6
8-7

8-17

9-1
9-2
9-3

9-3
9-4

9-6
9-7
9-7

9-7
9-9
9-11
9-11
9-11

Programming CNC3460/700

Index - 3 -

Page
10.

Geometry

10.1.
10.2.
10.2.1.
10.2.2.
10.2.3.

General introduction
Using the geometry
Programming an endpoint or centre point .
Additional words with linear movements ...
Additional words with circular movements

10-1
10-4
10-4
10-5
10-5

10.2.4.

Definitions related to the additional words


Angle in the direction of movement
Left or right intersection point
A parallel line
A support point on a line

10-5
10-5
10-7
10-8
10-9

10.2.7.
10.3.

Line parallel to a tangent line


Programming a linear movement
Programming a circular movement
Conventions with the use of the geometry.
Some examples

10-10
10-10
10-14
10-16
10-18

10.3.1.
10.3.2.
10.3.3.
10.3.4.
10.3.5.

Examples explaining some definitions


Commom tangent line between two circles
Two tangent circles
Matching circle between line and circle
Matching circles between circles

10-18
10-21
10-23
10-25

10.3.6.
10.3.7.
10.4.
10.4.1.
10.4.2.

Chamfer programming
Rounding between two intersecting lines
Discontinuous movements
Tangent lines
Matching circles

10-28
10-30
10-31
10-31
10-33

10.4.3.
10.4.4.
10.4.5.

Matching circle between line and circle


Matching circle between two circles
A circular connection between two geometric elements.

10-34
10-36
10-41

10.2.4.1.

10.2.4.2.
10.2.4.3.
10.2.4.4.

10.2.4.5.
10.2.5.
10.2.6.

.
.

10-27

s'
:

Index - 4 -

Programming CNC3460/700

891025

Page

11.

Special options

11.1.
11.1.1.
11.1.2.
11.1.3.
11.1.4.

In cycle gauging
Component inspection
Possible touch trigger probes
Measuring a point [G45]
Measuring a circle [G46]

11.1.5.
11.1.6.

Processing the measuring results [G49/G50],


Tool measurements [G45+M25]
Touch probe calibration [G46+M26]
Programming measuring cycle macros
G145 Operational modes

11-6
11-8
11-9
11-9
11-11

11.1.10.
11.1.10.1.
11.1.10.2.

Calling probe status [G148]


G148 Operational modes
Calling tool data and offsets [G149]
Calling active tool
Calling active offsets

11-11
11-11
11-12
11-12
11-13

11.1.10.3.
11.1.11.
11.1.11.1.
11.2.
11.2.1.
11.2.2.
11.2.3.

G149 Operational modes


Adapting tool data and offsets [G150]
G150 Operational modes
Graphics
Introduction to graphical program tests
Graphics window [G98]
Component dimensions with graphics [G99]

11-13
11-13
11-13
11-14
11-14
11-14
11-16

11.1.7.
11.1.8.
11.1.8.1.
11.1.9.
11.1.9.1.

11-1
11-1
11-2
11-3
11-4

fr

891025

Programming CNC3460/700

Index - 5 -

Page

12.

Calculation extensions

12.1.
12.2.
12.2.1
12.2.2
12.2.3

Introduction
Parameter representation
Input

12.3.

Arithmetical operations
The operations

12.3.1

Converting floating point to fixed point.


Rounding

12-1
12-1
12-2
12-2
12-3
12-3
12-3
12-3

12.3.2
12.3.3
12.3.4
12.3.5.

Square root
Exponentiation
Automatic type conversion.

12-3
12-3
12-4

12.4.
12.4.1
12.4.2
12.5.
12.6.

Goniometric functions
The angle
The functions sin, cos and tan
Inverse goniometric functions asin, acos and atan,
Expressions

12-4
12-4
12-5
12-6
12-6

12.6.1
12.6.2
12.6.3
12.6.4
12.7.

General definitions
Arithmetic expressions.
Relational expressions.
Legal expressions
Priorities

12-6
12-7
12-7
12-8
12-8

12.8.

12.8.1
12.8.2
12.9.
12.9.1
12.9.2
12.9.3

Operating
The menu ED-EXPR
Calculator function
Examples of the use
The intersection point of two lines
Datum point shift after axes rotation
A circular pocket with spherical bottom

13.

Cylinder Interpolation

13.1.
13.2.
13.3.
13.3.1
13.3.2

Introduction
Axes and planes
Activating and cancelling cylinder interpolation
General remarks
Activating cylinder interpolation182]

13-1
13-1
13-2
13-2

13.4.
13.4.1
13.4.2
13.4.3

Programming conventions
Possible G-functions
The plane of the surface ...
Coordinates

13-3
13-3
13-4
13-4

13.4.4
13.4.5
13.4.6
13.4.6.1
13.4.6.2

The datum point


Inch/metric
Movements
Positioning [GO]
Linear feed movements [G1]

13-5

13.4.6.3
13.4.7
13.5

Circular feed movements [G2/G3]


Radius compensation [G40-G44] .
Example of the use

Index - 6 -

Squaring

Programming CNC3460/700

12-9
12-9
12-10
12-10
12-10
12-13
12-16

13-3

13-5
13-5
13-5

13-5
13-6

13-6
13-7

891025

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.
this memory contains all data for running a part program. Part of the user mem
- User memory
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

PROGRAM WORDS

1.2.

The control employs the WORD ADDRESS system.


A word is divided into two parts:

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
(single)
(indexed)

Construction of a word
X
21
21
X1=

43
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
+063
0
63

04
0
4

TABLE 1.2-1

word with decimal point and without sign


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

word without sign and decimal point


leading zeros can be omitted
maximum number of digits

Frequently used words and their format


Programming format

Address

G
X
Y
Z
4*
5*
6*
R
I

J
K
P
F

S
T
H
M

Description
Block number
Program identification
Preparatory function
Dimension along X-axis
Dimension along Y-axis
Dimension along Z-axis
Dimension along 4. axis
Dimension along 5. axis
Dimension along 6. axis
Radius of circular arc
X centre coordinate
Y centre coordinate
Z centre coordinate
Point number

metric
0.001

inch
0.0001

+063
+063

+054
+054
+054
+054

07
07
03

+063
+063
+063

+054

+063
063
+063
+063
+063

+054
054

043

034

+054
+054
+054

03

Feedrate
Spindle speed
Tool number

04

Auxiliary function
Miscellaneous function
Parameter number

04
02
03

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.

Construction of a block

EXAMPLE 1.3.-1

G1

N20

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.
programmed sequence
: N10, N50, N30
Eg:N10, N50, N30
executed sequence

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

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

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

t-

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

4. ! The data transfer from the CNC to a data carrier is controlled by a MC-setting:
=0 :the programs or macros are written as for the older software versions.
=1 :the programs or macros are written as described.

2h-f

891025

33 J

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.

Section 1 - 6

Programming CNC3460/700

891025

PROGRAM SHEET

1.4.3.

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

PROGRAM SHEET

PHILIPS NUMERICAL CONTROL SYSTEM 3460

WORKPIECE:

MATERIAL:

PROGRAMMER:

PAGE.

..

OF....

DATE:

DRAWING NUMBER:

GEOMETRIC INFORMATION

LC.

W/B

l/R

TECHNOLOGICAL INFORMATION

NB6172
Fig. 1.4.3.-1 A typical example of a program sheet

1.5

PROGRAM STORAGE

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.

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

Fund Group

GO
G1
G2

A
A
A

G3

G4
G11
G14
G17
G18

G19
G20
G22

C
C
C
C

G23
G25

G26
G27

G28

G
H
H

G29
G40

G41

G42

D
D

G43

G44
G45

891025

Description

Modal

Rapid traverse movement


Linear feed movement
Circular feed movement,clw
Helix interpolation,clw
Circular feed movement,cclw
Helix interpolation,cclw

Reset

Sedion - Page

Y
Y
Y

5-1
5-5
5-15

5-15

1)

5-30
9-24
9-11
6-2

6-2

Plane selection YZ-plane; tool X


Plane selection XY-plane; tool W
Call of a subprogram
Call of a partprogram
Feed override operative

Y
Y

D
D

6-2

Feed override fixed to 100%


Restore INPOSITION execution
Movements with/without INPOSITION
Conditional jump
Cancel radius compensation

Y
Y
Y

Radius compensation LEFT


Radius compensation RIGHT
Radius compensation TO
Radius compensation PAST
Measuring a point

Dwell
Chamfer and rounding
Jump and repeat function
Plane selection XY-plane; tool Z
Plane selection XZ-plane; tool Y

Y
Y

Programming CNC3460/700

9-7
9-2
5-30
5-30
5-31
5-31
9-11
6-14

6-9
6-9
6-7

6-7
11-1

Section 2- 1

Funct Group Description

Modal

G46
G47
G49
G50
G51

Measuring a circle
Process measuring results
Check on tolerances
Process the differences
Ignore RESET AXES datum point

G52
G53
G54
G55
G56

R
F
F
F
F

G57
G58

G59
G63

G64
G66
G67
G70
G71
G72

G73
G74

G85
G86

G87
G88
G89
G90

Section 2 - 2

Section - Page
11-3
PQ
11-7

*2)

4-5

Activate RESET AXES datum point


Cancel stored zero offsets
Activate 1.stored zero offset
Activate 2.stored zero offset
Activate 3.stored zero offset

Y
Y
Y
Y

2)
2)
2)
2)
2)

4-5
4-4
4-4
4-4
4-4

F
F
F
N
N

Activate 4.stored zero offset


Activate 5.stored zero offset
Activate 6.stored zero offset
Cancel geometric calculations
Activate geometric calculations

Y
Y
Y
Y
Y

2)
2)
2)

4-4
4-4
4-4
10-1

P
P

Length compensation in
dir.
Length compensation in "+" dir.
Program in inches
Program is metric
Cancel mirror image or scaling

*2)
2)

Activate mirror image or scaling


Rapid traverse to position to R
Execute cycle on circular pattern
Point definition
Execute cycle on a point

9-13
5-3
8-13
3-17
8-6

E
E

Define drilling cycle


Define deephole drilling cycle
Define tapping cycle

8-1
8-1

Define reaming cycle


Define boring cycle

Y
Y
Y
Y
Y

8-1
8-1
8-1

Define milling cycle rect. pocket


Define milling cycle groove
Define milling cycle circ. pocket
Absolute cartesian dimensions

Y
Y
Y
Y

8-17
8-22
8-25
3-4

M
M
Q

G77
G78
G79
G81
G83
G84

Reset

E
E
E
E
E
E
J

Programming CNC3460/700

Y
Y
Y
Y

10-1

D
D

6-5
6-5
9-1
9-1
9-13

891025

Fund
G91

Group Description
J

Incremental cartesian dimensions

G94

Datumpoint shift from last datum


Axes rot. from last axis in use
Datumpoint shift from fixed datum
Axes rot. from machine tool axis
Feed in mm/min or inch/min

G95
G98
G99
G141

G92
G93

Pi

Modal

Feed in mm/rev or inch/rev


Graphics window
Material dimensions
Activate 3D-tool correction

G145
G148
G149
G150
G180

Basic measuring movement


Calling measuring probe status
Calling tool data and offsets (measuring)
Processing tool data and offsets
Standard machine tool coordinates

G182
G196

B
S

G197

S
S

G198
G199

Cylinder interpolation
End graphic contour definitions
First point of a contour
First point of a contour
Window for graphic contours

1)

Not influenced by CLEAR CONTROL.

Reset

Section-Page
3-4

4-6
4-6

5-29

Y
Y

5-29
11-14
11-16
6-21

11-9
11-11
11-12
11-13
3-20

Y
Y

3-20

Y
Y
Y

Preset functions determined by MC-setting

2)

Not influenced by CLEAR CONTROL.

2)

Preset function at switching on

891025

Programming CNC3460/700

Section 2 - 3

PROGRAMMING A POSITION

3.

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

+C

+A

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

A: Tool movement
B: Machine movement

NB7959

Fig. 3.2.4.-2 Milling machine with vertical spindle

+ Y

z (W)
+X

+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 XYplane, 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
G18
G19

Z-axis
Y-axis
X-axis

G20

W-axis|

XY-plane
XZ-plane
YZ-plane
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
:

y2

yi

P1

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:'

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

70

60

y
30

20,
v

P1

wx

30

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
N11
N12
N13

GO
G1

X-60
X-30
X 30
X 90

Y-20
Y 60
Y 70
Y-30

F1000

(P1)
(P2)
(P3)
(P4)

Explanation:
: A movement with rapid traverse rate (GO) to point P1.
N10
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

100

80

20.

&

10

w x
Av
P1

60

P4

NB6822

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

I'

N10
N11
M2
N13

GO

G91
G1

TFJ14

X-60

Y- 20

X 30
X 60

Y 80
Y 10
Y-100

X 60

(P1)

F1000

(P2)
(P3)
(P4)

iv
Explanation:
N10
: Point P1 is programmed with absolute coordinates
: Set the programming for incremental coordinates
N11
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
- 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=

P
iJf.

NB6815

'

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.

B2=+

+x

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

+z

B2=-

B2=+

+X

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

w
p

B2=-

+y

B2=+

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=+

B2=+

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

P2

L1=.
B1=
P1

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

P2

L1=+

B1=+

B1=+

P1

P2

L1=-

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

m
Section 3 - 12

Programming CNC3460/700

891025

EXAMPLE 3.3.2.-1

Using absolute polar coordinates

P3

P2
76.158,

.67.082
.116563
11

PI

63.245

161565

18435
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
N11
N12

GO
G1

N13

B2=B2=
B2=
B2=-

161.565
116.565
66.801

L2
L2
L2

18.435

L2

* 63.245
=67.082
=76.158
= 94.868

(P1)

(P2)
(P3)
(P4)

F1000

Explanation:

N10
N11-N13

891025

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


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

Programming CNC3460/700

Section 3 - 13

EXAMPLE 3.3.2.-2

Using incremental polar coordinates

60.828
P31

9462

59036

85.44,

116.619

69444

w
PI

20.

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
N11 G1
N12

N13

X- 60
B1= 69.444
B1= 9.462
B1=-59.036

Y- 20
L1= 85.44
L1= 60.828
L1=116.619

F1000

(P1)
(P2)
(P3)
(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

B1=

PI
X

B1=

y.

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=

b
NB6829

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

EXAMPLE 3.3.3.-1

Endpoint coordinate and angle

X2
30

PI
45

P0

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
N11
N12

GO
G1

X5
X15

Y10

Y45

B1=60
B1=30

F1000

(PO)
(P1)
(P2)

Explanation:

: A movement with rapid traverse rate to PO


N10
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

60

P1

r-f
y P0

30

mi:

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
N13

G1

X25
X10

B1=30

B1=60

F1000

(PI)

(P2)

Explanation:

: A movement with rapid traverse rate to PO


N10
: Set the programming for incremental coordinates
N11
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.
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
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

&

P3
P2

70

60

y
30

20,
PI

Vx

30

30

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 :

'

:J

N10
N11
N12
N13

G78
G78
G78
G78

N90
N91
N92
N93

GO
G1

X-60
X-30
X 30
X 90

P1
P2
P3
P4

Y-20
Y 60
Y 70
Y-30

P1
P2
P3
P4

F1000

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
P1

63.245

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
N11
N12
N13

G78
G78
G78
G78

P1
P2

N90
N91
N92
N93

GO
G1

P1
P2
P3
P4

P3
P4

B2=- 161.565
B2= 116.563
B2= 66.801
B2=- 18.435

L2= 63.245
L2= 67.082

L2= 76.158
L2= 94.868

F1000

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

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:


2.
3.
4.
5.

Machine reference datum point


Geometric machine zero datum point
Secondary machine zero datum point
Mounting zero datum point
Program zero datum point

1.

Machine reference datum point

1.

Symbol :

(R)

4T R

Every axis of the machine has a fixed point depending on the machine design, the reference datum
point of that axis.
During REFERENCE POINT SEARCH (see operators manual) the tool moves to the reference datum
point of the selected axis (or axes ). When running over the datum point the axis is automatically zeroed
by the control and the positions of the software limit switches are set.
The reference datum points of all axes form the machine reference datum point (R).
2.

Geometric machine zero datum point

(MO)

Symbol :

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:

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

M
I

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

M
I

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:

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

toR
MC-DATA

s-

M
0

ZERO-OFFSETS

M
i

-e~

PRESET AXIS

G92

-C0

, 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 Gfunctions 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

G54

S9! \ + x
M

\\

r%

G55
+

r
Hi

M
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 :

4.4.

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

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:
The coordinates of the new program zero datum point refer to the previous one.
-G92 :
This function is preferred, if the program contains repeats.
The coordinates of the new program zero datum point refer to the zero datum point of the
- G93 :
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
1-+
|

444

70

Trbf-44

40

40

!4

50

:6

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
N11 G92
N12 G79

N13
N14
N15
N16
N17
N18
N19
N20

891025

G79
G79
G79
G92
G79
G79

G79
G79

Y 1 Z-10
X 90 Y 70
X 20 Y 20 Z 0
X-20
Y-20
X 20
X200 Y-20
X-20 Y-20
X 20
Y 20
X-20

F200

S500 M3

Programming CNC3460/700

Section 4 - 7

Explanation:

N10
N11
N12-N15
N16
N17-N20

: A fixed cycle for drilling a hole is defined.


: The zero datum point is shifted from C to A. (either G92 or G93 can be used in this block)
: The four holes (1, 2, 3 and 4) are drilled, with the workpiece surface defined as Z=0.
: The zero datum point is shifted from A to B.
: 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
N11
N12
N13
N14

G81
G93
G79
G79
G79

N15
N16
N17
N18
N19
N20

G79
G93
G79

G79
G79
G79

X 90
X 20
X-20

Y 1
Y 70
Y 20

Z-10

F200 S500 M3

Z 0

Y-20
X 20

X290
X-20
X 20

Y 50
Y-20
Y 20

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:

4.5.

1st program:

N16 G92 X200

2nd program:

N16 G93 X290

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
M

+y

100

+x

'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

dl

'wmmmmmmm.

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.

1. movement
2. movement
3. movement

891025

G17

G18

G19

4. axis

4. axis

XandY
Z-axis

X and Z
Y-axis

4. axis
Y and Z
X-axis

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

Z-axis
XandY

Y-axis
XandZ

3. movement

4. axis

4. axis

X-axis
Y and Z
4. axis

Remark :

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
5

(10, 10, 20)

+y

x'
5

+z

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

Section 5 - 2

GO

X 25

Y 15 Z 10

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

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
P

33

ih

120

W
G93

45

x
M,

G54

MC y

"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
N11

GO X 45 Y 33
G74 X130 Y120

f
Section 5 - 4

Programming CNC3460/700

891025

LINEAR INTERPOLATION

5.2.

[G1]

In linear interpolation activated with the function G1, the tool moves with the programmed feedrate (Fword) 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

G54
GO
G1
G43
G41
G1

N2
N3
N4
N5
N6
N7
N8
N9

T1
X 30 Y-57.5Z-12

S500
F500

M6
M3

Y-42.5

X-25
B1= 120
B1= 60

L1=50
L1=50

B1=- 60
B1=-120

L1=50
L1=50

X 25

N10
N11
N12
N13
N14

G40
GO

X 30 Y-57.5

Z100

N15

M30

Explanation:
N1
N2

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


Start the spindle
Move tool first to part and then to depth
Set linear interpolation and the feedrate
Move tool with toolcompensation TO the part
Set radius compensation to LEFT
Mill around the part
Cancel radius compemsation
Move tool away from part
Retract the tooj
End of program

N3
N4
N5
N6-N11
N12
M3
N14
N15
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:

: a circular arc in the facing plane

tool in the Y-axis


tool in the Z-(X-) axis :

a groove on the cylinder

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

R
y

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

: the endpoint of the B-axis

B40=..

B..

B40=..

F..

- 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

>

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

Y.. and B..

: the endpoint of the Y- and B-axis

B40=..

: the radius of the cylinder

F..

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

i i

I'll

IJ

h/
s?

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

The programming of this movement is as follows:


G1

N10

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

i \\\'\\\\\ i

5 I

I
I

I I

11

!I

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
N11
N12
N13
N14

G17
GO
G1

GO

T1

X 20 Y 80 Z 22
BO
Z-18
Y 20
B3600 B40=20
Z100

S200

M6
M3

F100
F200

Explanation:

N10
N11
N12
M3
N14

: Load the tool (mill 0/3). Tool is in the Z-axis (G17).


Start the spindle and move tool to starting position
Move tool to depth
:

Mill the helix.


Ten turns of the rotary axis are programmed (B-word).
Move tool away from part

EXAMPLE 5.2.2.-2

Movements in the facing plane

H ftff/y>

Iji

AY

CTI

\\\ \il
(Ji

III

/// //,

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:
G18
GO
G1

N10
N11
N12
N13
N14

GO

T1
X0

Y2
Y-2

Z5

B0

Z29

B1440 B40=17

S200

M6
M3

F100
F200

Y100

Explanation:

N10
N11
N12
N13

N14

: Load the tool (mill 0/3). Tool is in the Y-axis (G18).


Start the spindle and move tool to starting position
Move tool to depth
: Mill the spiral. (Rb=5 and Re=29, so B40=17)
Four turns of the rotary axis are programmed (B-word).
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
Z

10

20/ll>

30

(20)

/(20)

P1 //
(5) l

P2

(40)

30
(10)

40

(30)

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
N15

GO
G1

X 10 Y 5 Z 20
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

__ _____
u
za

\
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
N1
N2
N3
N4

N5
N6
N7

T1
G1
G43
G41

X 80

Y-20 ZO

X 80
X 75

YO

XO
X 75

Y 75 Z10
Y100 ZO

S2000

M6
M3

F1000

G40

N8

Section 5-12

M30

Y120

Programming CNC3460/700

891025

Explanation:

N9003
N1
N2
N3
N4
N5
N6
N7
N8

5.2.3.2.

:
:
:
:
:

:
:
:
:

Tool 1 is loaded.
The spindle starts and then the tool moves to the starting position.
Linear interpolation and the feedrate is set.
The tool moves TO the workpiece.
The tool moves to the starting point of the slope.
The slope is followed; the path in the XY-plane is corrected for the radius.
The second slope is followed.
The radius compensation is cancelled.
The tool moves away from part.

TWO LINEAR AXES AND A ROTARY AXIS

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

r*

\
\

i
i
t

I
/

:
t

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

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.

ITi
It s
c*
X
v
N

Fig. 5.2.4.-1 Machine tool with rotary table and tilting head

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 Aaxis), 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 (MCsetting) 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

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

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.

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


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
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
a=:

K
rb

o-2
w

x
w

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

G17

G18

G19

plane

XY-plane

XZ-plane

YZ-plane

centre

i and J

I and K

J and K

[B3= , L3=]

Polar coordinates

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.

Y
B3
W

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

n
B

3S

25-

fA

15 .y

35

55

45

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

Explanation:

N10 :
N20 :

A linear feedmovement to the starting point A of the arc


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

G1
G2

X 30 Y 30
1 40 J 20
B5=120

F500

n
:]

Sections - 18

Programming CNC3460/700

891025

Explanation:

N10 :
N11 :

A linear feed movement to starting point A.


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

30

,<303

25
20

os

142.5; 10.0671

(19 ;

25 )

251

A*

Y,

20

30

j 40

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

With absolute cartesian coordinates:

N10
N11

G1

G3

X 42.5
X 19

Y 10.867

F200

I 35

Y 25

J 25

Explanation:

N10 :
N11 :

Linear feed movement to the starting point A of the arc


Circular arc, counterclockwise (G3) with endpoint B and centre point coordinates I and J.
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
N11
N12

G1
G91
G3

X 42.5

Y 10.867

X-23.5

Y 14.133

F200
I- 7.5

J 14.133

r
891025

Programming CNC3460/700

Section 5 -19

Explanation:

N10
N11
N12

Linear feed movement to the starting point A of the arc (absolute dimensions are used)
Set the programming for incremental coordinates
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

15

CO

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
N11
N12
N13

GO
G1
G2
G1

XO Y 56.568
B1=-45
L1= 25
B1=-45
L1= 30
L1= 25
B1=-45

B3= 45

F200
L3= 40

Explanation:
N10 :
N11 :

N12 :

N13 :

With rapid traverse to point PO.


A linear feed movement from PO to P1.
Incremental polar coordinates are used.
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
A linear feed movement from P2 to P3.

n
Section 5 - 20

Programming CNC3460/700

891025

5.3.2.2.

fs

PROGRAMMING A FULL CIRCLE

After making a full circle the tool is back at its starting point. Therefore making a full circle is programmed
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

i
1

*
s

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
N11
N12
N13
N14
N15
N16
N17

GO
G1
G43
G41
G2
G40
G1

X 60 Y 90

Z-10

S1000 M3

F100
Y105
I 60

J 60

Y 90
Z100

Explanation:

N10
N11
N12
N13
N14
N15
N16
N17

With rapid traverse to point A, where the tool enters the hole.
Set the function for a linear feed movement
Move with feed (100mm/min) to the wall (G43)
Set radius compensation for a tool moving on the left hand side (G41).
Mill the full circle in clockwise direction (G2)
Cancel radius compensation (G40)
Move tool away from the wall
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 Zaxis, then the tool is not perpendicular to the plane of the circle. The following description applies for
these occasions.

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

..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
N11
M2
N13
N14

T1

GO
G1
G3
G1

X 15
X 20
X-20
X-15

YO

S1000

ZO

M6
M3

F200

ZO

R20

Explanation:

N10
N11
N12
N13
N14

:
:
:
:
:

5.3.4.

The tool is loaded.


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

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


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

endpoint

Z and X

Zand Y

centre point

K and I

Kand J

ZW-plane

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:

plane

G17

G18

G19

XY-plane

XZ-plane

YZ-plane

toolaxis

The radius compensation can be used with the circular movement.

EXAMPLE 5.4.-1 2.5D-interpolation


Z=0

21

25.

r
NB7983
Fig. 5.4.-1 Arc and linear movement simultaneously

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


N10
N11
N12
N13
N14
N15
N16
N17

T1

GO
G1
G43
G41
G2
G40

G1

XO

Y 35

S1000

ZO

M6

M3

F500
Y 25

X-25

YO

Z-21 1 0

JO

X-35

r
891025

Programming CNC3460/700

Section 5 - 25

Explanation:

N10 :
N11 :

N12 :
N13 :
N14 :
N15 :
N16 :
N17 :

Load tool 1 (0/10)


Start the spindle and move the tool to the part
Set linear interpolation and the feedrate
Move tool TO the workpiece
Set radius compensation LEFT
Make the simultaneous movement of the circle and the third axis
Cancel radius compensation
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

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

tool axis

G18

G19

centre point

I and J
or
B3= and L3=

angle of arc

B5=

B5=

pitch of helix

I and K
or
B3= and L3=

J and K
or
B3= and L3=
B5=
I

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

T
o Y

J-4w

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:

G17

N10
N11
N12

GO
G1
G43
G42
G2
G40
G1
GO

N13
N14
N15
N16
N17
N18

X 40

Z 1.5

Y 40

S400

Y 62.5

T1
M3

M6

F120
140

J 40 K 1.5

B5=4320

Y 40

Z100

Explanation:
N10
N11
N12
N13
N14
N15

N16
N17
N18

Load the tool(0 / 20)


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

Section 5 - 28

Programming CNC3460/700

891025

The helical movement can also be programmed with:

G17

G18

G19

tool axis

circle endpoint

Xand Y

XandZ

Y and Z

centre point

I and J

I and K

J and K

pitch of helix

third axis

In this case:

1.

The movements have to be programmed in such a way that the circular movement and the tool
axismovement reach their endposition at the same time.

2.

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

FEED PROGRAMMING

5.6.

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 Gfunction, M-function, etc. remains valid for the subsequent blocks.
EXAMPLE5.7.-1
N10

G4

Programming a dwell
X2.5

In block N10 a dwell of 2.5 seconds is programmed.

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
*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.
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)
13=1

: G1, G2, G3 are executed without INPOSITION


: G1, G2, G3 are executed with INPOSITION

I4=0 (default value)


14=1

: GO is executed with INPOSITION


: 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
: GO is executed without positioning logic
15=1

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

I
1

PHILIPS
MACHINE
TOOL
CONTROLS

I
I CNC3000 Series
1

I" PHTC 1

Lny

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

[G66/G67]

6.1.2. TOOL IN DIFFERENT DIRECTIONS OF THE TOOL AXIS

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:
The tool is pointing in the negative direction of the toolaxis, thus a movement in the negative
G66 :
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

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:
"+" 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
W

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
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
N21 G40

XB YB
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

/
/

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

[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 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
o

2>
X

0
X

X
X
X
/

X
X
X

Y'X/
W

0-0

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

i
Section 6- 16

Programming CNC3460/M600/M700

900704

TOOL COMPENSATION

6.

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

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 :

6.1

If fixed tools are used, the length and radius compensation can be used as a correction on
the tool dimensions.

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
G18
G19

Z-axis
Y-axis
X-axis

XY-plane
XZ-plane
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
N11
N12
N13
N14
N15
N16
N17
N18
N19

891025

G17
GO X50 Y 50 Z 1
S1000
Z-10 F200
G1
Z 1
GO
Y200

T1

M6
M3

G18
G55
GO

T2

M6
M3

Y101 Z-50

G1
GO

Y101

M5

Y 91

Programming CNC3460/700

Section 6 - 3

Explanation:

EE!

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


N10
N11
N12
N13
N14
N15

:
:
:
:
:
:

Load tool T1 and indicate that the tool is standing in the Z-axis (G17).
The point in the XY-plane is approached .
The tool feeds to depth in the Z-axis.
The tool is retracted out of the hole.
Remove the tool in Y so far that the angular head can be used and stop the spindle.
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 :
N17 :
N18 :
N19 :

Use a stored zero offset (G55) to consider the distances a1 and a2 of the angular head. Thesevalues have to be stored in the zero offset memory prior to the start of the program.
The point in the XZ -plane is approached.
The tool feeds to depth in the Y-axis.
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.
The tool is pointing in the positive direction of the toolaxis, thus a movement in the negative
G67 :
direction is a movement away from the workpiece.
G18/G67

.G19/G67
X

>
'

G17/G66

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

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;

G43

-A

GU
NB5800

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


Point A
Point B
Point B

Place the tool is standing


Programmed endpoint
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 G40block.

891025

Programming CNC3460/700

Section 6 - 7

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

'50

<3
o

Z
z
z
z
z

Z
z
z

i*
/

l~ ('//////////////////
*

(<.

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
N10
N11
N12
N13
N14
N15
N16
N17
N18

T1

G43

X200
X150

Y-20

G1

Z-5

S1000

M6
M3

F200

G44

Y 80

X0
Y0

X150

G40
GO

Y-20

X200

Explanation:

N9
N10 :
N11
N12 :
N13 :

N14 :
N15 :
N16
N17 :
N18

The tool is loaded.


Start the spindle and approach the starting position (A)
Rapid traverse movement TO point 1.
The feed movements are executed with a feedrate of 200
Feed movement along the Y-axis PAST edge Y80 (point 2). The function G44 remains active
in the following blocks.
Feed movement along the X-axis PAST edge X0 (point 3). Here the tool tip has a negative Xvalue.
Feed movement along the Y-axis PAST edge YO (point 4).
Feed movement along the X-axis PAST edge X150.
Cancel radius compensation. The tool moves in the X-axis and Y-axis; the tool tip stops at
X150 and Y-20.
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.

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
G42 and
G43 and
G44 and

radius = G42 and V radius


radius = G41 and V radius
radius = G44 and V radius
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

vc
R

E\

;E
R

-C

J3L

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
B

iR

K2

fR
Ajrj

E
K1

R2
R

>A

R2

:1
K1

,C

IK 2

GM

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.

8)S

G41

Fig. 6.2.2.-5 Line meets line

B"

B,
B'

G 41

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

3,

,R

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

'//////;//////// /////////// ////'

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

v
\

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,

Mc

Mc

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

\T

i%r

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
N41 G1

X120

Y-15

Z-10
F500

N42 G43
N43 G41
N44

Y 20
X 35
X 15

Y 50

Explanation:

N40
N41
N42
N43

891025

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


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

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'

.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
N..
N20
N21
N22

G41
G1

XB

YB

XE

YE

G40

Section 6- 14

Programming CNC3460/700

891025

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-

>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
N21 G40

XB YB
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
/

/
/

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 (MCsetting), 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
s

X
X

X
X
X
X
/
X
Y X
/

X
X
X

0
X

0-0

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
N2
N3
N4
N5
N6
N7
N8
N9

T1

GO

G43
G1
G42

X200 Y-20

X150

Z-5

S500

M6
M3

F150
Y80

XO
YO

X150
G40

N10 GO

Y-20

X200

Explanation:

:
:
:
:
N4
N5-N8 :

N1

N2
N3

N9

The tool is loaded.


The tool moves at rapid traverse to the point (A).
Set radius compensation TO.
The tool moves with a feed of 150 mm/min TO point 1.
The tool moves with feed along the righthand side of the workpiece as seen in the direction of
movement.
: 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

10

SO

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
N2
N3
N4

N5
N6
N7
N8
N9

X 60 Y 85

Z0
Z-10

T1

F500

G1
G43
G41

X 80

G3

X 60 Y105

R20

X 40 Y 85

R20

M6
M3

F300

I 60

G40
GO

S1CX)0

J 60

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

\\

\v

'XWWw
)

ITUAL JUOH/3

-PHOQftAMMCO
RADIUS

N :i
N !i

\N '

* XX ! I

V'

COSKTKJ*

\\

M
l

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
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13

N14
N15
N16
N17
N18
N19
N20

891025

X 80
G1
G43
G42
G2

G1
G2
G1
G2
G1
G2
G1
G2
G1
G2
G1

G2
G40
GO

Y 25

Z0

T1
F500

Z-10

S1000

M6
M3

X105
X80

X15
X0
Y 75
X 15
X 60
Y135
X 75

Y0,

R25

Y15

R15

Y 90

R15

Y150

R15

F300

X105

X118
X182.68
X165.36
X 80
X 55

Y142.5 R15
Y30
Y0
R20
Y25

R25

Z200

Programming CNC3460/700

M30

Section 6- 19

Explanation:
N1
N2
N3
N5-N17
N18
N19

:
:
:
:

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


The spindle rotation is started (M3).
The tool is moved to the start of the entering circle.
The tool moves along the righthand side of the contour when looking in the direction of the
tool movement.
: The contour is left via a small circle.
: 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
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20

X 80

G1
G43
G42
G2
G1
G2
G1
G2

G1
G2
G1
G2
G1
G2
G1
G2
G40
GO

Y 25

Z0
Z-10

T1

F500 S1Q00

M6
M3

X 95
X 80
X 15
X 5

X 15
X 65
X 75
X105
X113.66
X178.36
X165.36
X 80
X 60

Y 5

R20

Y 15
Y 75
Y 85

R10

F300

R10

Y135
Y145

R10

Y140

R10

Y 27.5
Y 5

R15

Y 25

R20

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

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.

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
\

\
\

Bf

o
-A'

tf

\
B

ff

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

-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

6.3.1

[G141]

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.

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

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:

c
NB8221

ball cutter
(R=C)

torus cutter
(R>C)

cylinder cutter
(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 :
-C :

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

Section 6 - 24

Programming CNC3460/700

'r

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
- G1
-G4
-G40
-G90
-G91
-G141

Positioning (the positioning logic is not active)


Linear feed movements
Dwell
Cancel 3D-tool correction
Absolute cartesian dimensions
Incremental cartesian dimensions
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 30tool 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

AUXILIARY MACHINE FUNCTIONS

7.

Auxiliary machine functions are those functions as spindle speed, the tool number, miscellaneous
functions etc.
SPINDLE SPEED

7.1.

[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 Mfunctions 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

7.2.

S800

M44

TOOL NUMBERS

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.
The tool number is a seven digit number

3.

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
number of spare tools may not exceed the maximum number of tools in the tool memory.

7.3.

AUXILIARY FUNCTION

tools and the

[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

MISCELLANEOUS FUNCTIONS

7.4.

[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

MO
M3
M4
M5
M6
M7
M8
M9
M13
M14
M19
M25
M26
M27
M28
M30
M41
M42
M43
M44
M66
M67

Output
time

Nonmodal

Description

Explanation
in section

Program stop
Spindle, clockwise
Spindle, counter-clockwise
Spindle stop
Automatic tool change
Coolant No. 2 ON
Coolant No. 1 ON7.4.3
Coolant OFF
Coolant 1 ON and Spindle, clw
Coolant 1 ON and Spindle, cclw
Oriented spindle stop
Tool measurements
Touch probe calibration
Switch on measuring probe
Switch off measuring probe
End of program
Speed range
Speed range
Speed range
Speed range
Manual tool change
Change compensation values

7.4.1
7.4.2
7.4.2
7.4.2
7.4.5
7.4.3

L
N

L
N
N

N
N

7.4.3
7.4.4
7.4.4
7.4.2
12.2.3
12.2.4.

7.4.1.
17.1.2.
27.1.2.
37.1.2.
47.1.2.
7.4.5.
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

STOP COMMANDS

7.4.1.

[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]

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

j5

lli

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...
T31 M67
N150
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

MACHINING CYCLES

8.

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

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:
in the negative direction, in most cases therefore into the hole,
"+" in the positive direction.
M

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

8.1.2.

The following symbols are used for describing the sequences:


- feed movement
-

rapid traverse movement

spindle rotates

- spindle stops

- dwell
1. Drilling

[G81]

The movements in the tool axis are:


Feed to depth
- Dwell at depth (if programmed)
- 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
J-word

All feed distances, except the final one, are the same and equal to the depth of the first
step (K-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).

Z-SURFACE

K-l

2
K-2xl

#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-l
j

K-2xl

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:


- 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
- Reversal of spindle to original direction
- Further retraction at rapid traverse rate
4. Reaming

i'

[G85]

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

[G86]

The movements in the tool axis are:


- Feed to depth
- 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

11

ACTIVATING A DEFINED CYCLE ON A POINT

LH

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

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

|
j

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

40

3 4XM4-10

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:

tools

T1
T2
T3

891025

spot drill d
twist drill d
tap

10x90
3.3
M4

n
rpm

mm/r

F
mm/min.

500
1000
560

0.2
0.2
0.7

100
200
390

Programming CNC3460/700

Section 8 7

The part program could look as follows:


N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19

G81
G79 X60
G79
G79 X100
G79

Y1
Y40
Y80

G81

Y1

Z-2
ZO

F100

S500

Z-15

F200

S1000

T1

M6
M3

T2

M6

T3

M6

Y40

G79

ZO

G79
G79 X60
G79

Y80

G84
G79
G79
G79 X100
G79

Y9

Y40
Z-10 J.7
ZO

S560

Y80

Y40
Z200

Explanation:
: Load the spot drill (T1).
: 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.
: Load the twist drill (T2).
N7
: Define the drilling cycle.
N8
N 9 - N12 : Drilling the four holes; sequence 4, 3, 2, 1.
: Load the tap (T3).
N13
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.
: Retract the tool.
N19
N1
N2

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
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14

G78
G78
G78
G78

P1 X60
P2 X60
P3 X100
P4 X100

Y40
Y80
Y80
Y40

ZO
ZO
ZO
ZO

G81
G79 P1 P2P3 P4

Y1

Z-2

F100 S500

G81
G79 P4 P3P2 P1

Y1

Z-15

F200 S1000

G84
Y9J.7 Z-10
G79 P1 P2P3 P4
Z200

S560

T1

M6
M3

T2

M6

T3

M6

Explanation:

N1-N4
N5
N6

N7
N8
N9

N10
N11
N12
N13
N14

: The definition of the points P1 to P4.


: The spot drill is loaded.
: The cycle for spot drilling is defined. Additionally the spindle speed and spindle rotation are
programmed.
: The four holes are spot drilled.
: The drill is loaded.
: The cycle for drilling is defined.
: The four holes are drilled.
: The tap is loaded.
: The cycle for tapping is defined.
: The four holes are tapped.
: The tool is retracted.

EXAMPLE 8.1.4.-3 Deep hole drilling (G83)

10

70

30 y:

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
N2 G83
Y1
N3 G79 X30 Y30
N4 G79 X70
N5 G79
Y70
N6 G79 X30

T1

Z-31.5

I3

K10 F200 S500

M6
M3

ZO

Explanation:
N1

The drill is loaded.

The deep hole drilling cycle is defined.


(Z-word)
Total depth
: -31.5
First step
: 10
(K-word)
Degression value
(l-word)
: 3
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.

N2

EXAMPLE 8.1.4.-4 Holes in different planes

P8

+P7

+P6 +P5

P1

+P2

+P3 +P4

70
30

Wx
40

30

60

40

151

l
i

25

!15 60

NB5928

Fig. 8.1.4.-3 Holes In different planes

The holes P1 to P8 from figure 8.1.4.-3 should be drilled.


the points P1, P2, P7 and P8
In plane A :
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
N2
N3
N4
N5
N6
N7
N8
N9
N10

T1
G81
G79
G79
G79
G79
G79
G79
G79
G79

X30
X70
X130
X170

Y1
Y30

Z-15
ZO

F200 S120

M6
M3

Z-25

Y70

X130
X70
X30

ZO

Explanation:
N1
N2
N3-N4

N5
N6-N8
N9

N10

8.1.5

The drill is loaded.


The drilling cycle is defined and additionally the spindle started at 120 rev/min.
Holes P1, P2 are drilled.
The tool moves : - in plane A to point P3, thus in X
- the clearance above plane B, then hole P3 is drilled.
: The holes P4, P5 and P6 are drilled.
: - retracts the clearance above plane A.
: The tool
- moves to hole P7, thus in X, then hole P7 is drilled.
Here a collision between part and tool is avoided.
: Hole P8 is drilled.
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

im>
Z=0

15

25

4-B

100

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
N4
N5
N6

G81

G79 X50
GO
G79 X300

Y1
Y100

Z-29 F200 S120 M3


ZO
Z50
ZO

Explanation:
N3
N4
N5
N6

8.1.6

: Define the cycle.


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

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
G17
G18
G19

Toolaxis

Axis for cycle

Z-axis
Y-axis
X-axis

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

EXAMPLE 8.1.6.-1 Cycle in the Y-axis

50
4

4xM4-10

50

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
N2
N3
N4
N5
N6

G18
G81
G79 X25
G79 X75
G79
G79 X25

T1
Y1
Y0

Z-10
Z-25

F500

S1000

M6
M3

Z-75

Explanation:
Load tool T1. The tool is standing in the Y-axis (G18).
The spindle is started (M3) and rotates at 1000 rev/min.
The fixed cycle is defined:
(Z-word) : -10
- The depth of the hole
(Y-word) : 1
- Clearance above the workpiece
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.

N1
N2

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
- l-word
- J-word

- K-word

: The radius of the circle.


: The starting angle of the arc, thus the angle between the X-axis and the radius of the
first point.
: The total number of points in the pattern.
Is J1 programmed, only 1 hole will be executed.
: 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

G17
G18
G19

Tool axis
circular

Plane for
pattern

Z-axis
Y-axis

XY-plane
XZ-plane

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
N101 G81
N102 G77

P1
P1

X..

Z..
Z-10

Y..

Y1
R25 I0

F100 S1000 M3
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
: 25 (R-word)
- radius
: 0 (l-word)
- starting angle
- number of holes : 6 (J-word)

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

150
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
- starting angle
- ending angle
- number of holes

25 (R-word)
30 (l-word)
150 (K-word)
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

40

40

3(

4XM4-10

|P5

y
W

x
Z=0

20

60

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
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11

G78

X80

G81
G77

Y1
R28.284

Z-2

G81
G77

Y1
R28.284

G84
G77
GO

Y9
R28.284

Y60

Z0

P5

S500

J4

F100
P5

Z-15
I45

S1000

J4

F200
P5

Z-10
145

J.7
J4

145

T1

M6
M3

T2

M6

T3

M6

S560
P5

Z200

Explanation:

N1
N2
N3
N4 :
N5 :
N6 :
N7 :
N8 :
N9 :
N10 :
N11 :

Define the centre of the circle, point P5.


Load the spot drill (tool T1).
Define the spot drilling cycle and set additionally the spindle speed and direction of spindle
rotation.
The defined cycle is executed on each of the four holes along the circle.
Load the drill (tool T2).
Define the drilling cycle.
Execute the drilling cycle on each of the four holes. The order is the same as in block N4.
Load the tap (tool T3).
Define the tapping cycle.
Execute the tapping cycle on the four holes.
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:
X

;RIC__

+y

I
W

+X

K.
2

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

: 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.
: Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is
J+1

l-word

J-1

not programmed.
: Milling direction is clockwise.

C
4

wx

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

1
1
1
I
I
i
I
1
I
i
!
1
I
I
1
1
I

W/////////mm/////ym////

10

6
3

c *-
4

'ii**-

i
1
1
1
1
1
1
1
1
1
!
1
I
1
I
1
1
i

12

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

30

Hh
Z=0
15

25

wx
n

NB5810
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
N2
N3
N4
N5
N6
N7

T1

G87
G79
G79
G87
G79
GO

Y30 Z-6
X55
X42.5 Y25 Z0
Y80
X40
Y55 Z-6
X115 Y42.5
Z200

B1

K6

I75

B1

K6

I75

F200

S500

M6
M3

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:

--

Y_

frrr- _> =

vh

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

i-GEEZ
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

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.
: Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is
J+1
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 (Bword) 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

J
z

fl

1
I
1
1
1

1
1
1
1
I

1
fijM

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

9-

891025

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

Programming CNC3460/700

Section 8 - 23

e*
'*2

<

E\

%V

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

!5,

55

15

V2

I.

55

JS.

5,

I
4

85 25

4B

15

15

35

15

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
N2
N3
N4
N5
N6

T1
G88 X55
G79 X22.5
G79
G79 X87.5

GO

Y15
Y22.5
Y62.5
Y42.5

Z-5

B1

K5

F100 S500

M6
M3

ZO

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:
N6:

Mill groove 3.
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.

z
NB5816
Fig. 8.2.3.-1 A circular pocket

R-word
Z-word
B-word
K-word
l-word
J-word
J+1

J-1

The radius of the pocket.


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.
The clearance distance measured from the surface.
The depth of each cut when the pocket is machined in several layers.
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.
The direction of milling.
The milling direction is counter clockwise looking from the tool towards the workpiece. Also if
J is not programmed.
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

The tool sequence for milling the circular pocket is:


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

a.

workpiece

b.

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

k
\

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
T

I
I

25,

100

50

Z=0

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
N2
N3
N4
N5

T1

G89
G79 X50
GO

Y50

Z-15
Z0
Z200

B1

R25

I75

K6

F200

S1000

M6
M3

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

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.

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.

B1=

EXAMPLE 8.2.4.-1.Rotating a pocket

20

30

60

32

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

R5
B1=60

Explanation:
N1
N2

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

G88 X20
G77 X78

Y10
Y56

Z-10
Z0

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

*
891025

Programming CNC3460/700

Section 8 - 29

1
EXAMPLE 8.2.4.-3 Grooves under an angle
30 .

|
'

3b.
i

4-

Y, ,

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
N2

G88 X20
G77 X78

Y10
Y56

Z-10
Z0

B1
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

SPECIAL FEATURES

9.

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

.001 mm/min
.001 mm/rev

.0001 inch/min

Feedrate

F (G94)

F (G95)

.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)
G70 (inch)

metric
inch

metric (G71)
inch

no

G71 (metric)
G71 (metric)

metric
inch

metric
G70)
inch

yes

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

9.2.

stored program

CNC-mode

alarm

G70 (inch)
G70 (inch)

metric
inch

yes
no

G71 (metric)
G71 (metric)

metric
inch

no
yes

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.

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.

1
]

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

roi

34-''
o

*_ZL
\y////A\
NB6084

Fig. 9.3.2.-1 The circle to be milled

The part program looks as follows:


N9001
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10

X75
Y80
Z2
G91 E1=15 E2=30
G1
Z=-E1
G43 X=E2
G42
G2
G1
G40 X=-E2
GO
Z=E1
G90

S1000

T1 M6
M3

F100

l=E2 JO

Explanation:

N9001: The program is identified by block number N9001. In the same block the tool is loaded.
: The required position (X75, Y80, . Z2) is approached. In the Z-axis a clearance of 2 mm is
N1
programmed.
: The incremental programming is activated and the two parameters E1 and E2 are set.
N2
: The tool moves to depth.
N3
: The tool moves to the circle.
N4
N5
: The radius compensation to right is activated.
: The full circle is milled. The radius of the circle equals E2.
N6
N7
: Circular interpolation is cancelled.
: The radius compensation is cancelled and the tool returns to the circle centre.
N8
: The tool is retracted out of the hole, back to the clearance.
N9
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.

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

Mv

\\

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
N2
N3
N4

G79 X-40
G79 XO
G79 X 40
G79 XO

YO

ZO

Y 40
YO
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:
N1
N2
N3
N4
N5
N6
N7
N8
N9

Y .5
G81
G22 N=9001

Z- 2

G81
G22 N=9001

Z-20 F200

G84

Y9

F100

Z-15 F390

T1

M6
M3

T2

M6

T3

M6

S500
S1000

S590

G22 N=9001

Section 9 -8

Programming CNC3460/700

891025

Explanation:

N1
N2
N3
N4
N5 :
N6
N7
N8
N9

9.4.3.

Load the spot drill


Defines the fixed cycle for spot drilling.
Calls up the subprogram. The four holes are spot drilled.
Load the drill.
Defines the fixed cycle for drilling.
Calls up the subprogram and the four holes are drilled.
Load the tap.
Defines the cycle for tapping.
Again calls up the subprogram and the four holes are tapped.

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

+y

+x

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
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10

G91 E3=E1-E2
G1

Z=-E4

F1000

Y=E3

G43 X=-E2
G42
G2 X=E2

Y=E2

R=E2

Y=-E2

R=E2

I0

X=E2

G40
GO X-=E2
G90

Y=-E3

J=-E1

Z=E4

Explanation:

N9002 : The subprogram is identified by block number N9002. In this block incremental programming is
set and parameter E3 is calculated.
: The tool feeds to depth. In E4 a clearance from the workpiece must be considered.
N1
: The tool moves to the centre of the approach circle.
N2
: The tool feeds axis parallel to the starting point of the approach circle.
N3
N4
: Radius compensation right is activated.
: The radial arc is contoured. Both the endpoint and the radius are programmed with parameters.
N5
: The full circle is milled. The circle centre is programmed.
N6
: The arc of the retraction circle is milled. Both the endpoint and the radius are programmed with
N7
parameters.

N8
N9
N10

: The radius compensation is cancelled.


: The tool moves with rapid traverse to the starting point of the subroutine and retracts from
depth.
: 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
N1

N200 GO
N201 G22

T1

S2000
X75
Y80
N=9002

M6

M3

ZO
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:
: a jump in the program or subprogram
>0
<= 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,

-ii1r
W

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
2

15

IS

O'
Y-

60/

.60

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
N1
N2
N3
N4
N5
N6

G54
G92
G73 A4=.8
G92
X 50
G1

Y-47.5
Z 10
Y-20
Z-10

G43

Y0

N7
N8
N9
N10
N11
N12
N13

G41 X-35
G64
G2 R15
R115
G2 R15
G1
X 35

N14

G40
G63

N15

T1

M6

Y 47.5

S100

X1=-35 Y1=0
I0

M3

F1000

B1=120 J1=2

K-20

J1=1

Y0

B1=-120

Z10
M30

1
Section 9 -14

Programming CNC3460/700

891025

Explanation:
N9210
N1
N2
N3
N4
N5
N6
N8

:
:
:
:
:
:
:
:
:

N9
N10
N11
N12
N13
N14
N15

:
:
:
:
:
:
:

N7

Identify the part program, set the datum point W and load the tool.
Shift the datum point from W to CM.
Activate the scaling. The part is decreased with a factor .8.
Datum point shift from CM back to W.
Move tool to its starting position and start the spindle.
Move tool to depth.
Move tool TO the part
Set the radius compensation LEFT and move along the X-axis.
Start the geometric calculations.
Move along the straight line defined by one point (X1=.. and Y1=..) and angle to the second
intersection point.
Make the rounding between line and circle.
Make the arc of the circle.
Make the second rounding.
Move along the line to the point on the X-axis.
Retract the tool from the part.
Cancel the radius compensation.
Cancel the geometry calculations and end of program.

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

15

15

Knc

\
S0/

s
Yi

.60

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

N2
N3
N4
N5
N6
N7
N8
N9
N10
N11

N12
N13
N14

N15
N16
N17
N18
N19
N20
N21
N22
N23
N24

N25
N26
N27
N28
N29
N30

G54
E1=8
E7=E1*
E6=E7GO XO

T1

M6

E2=5
E2
E3=0
E2

Y47.5
G1
Z-10 F1000
E3=E3+E2
G93 XO
Y47.5
E4=E3:E7
G73 A4=E4
G92
Y-47.5
YO
X-35 YO
X1=-35 Y1=0 B1=120
G64
G2
R15
G2
R115 I0 J-20
G2
R15
X35 YO
G1
B1=-120
G63
XO

S100

M3

J1=2

J1=1

YO

A4=1
G73
E5=E6-E3
G29 E5
KO N=6
YO
G93
Y5
G43
YO
G42
G14 N1=12 N2=19
G40
GO

Z100
M30

Explanation:

N9999
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12-N19

Section 9-16

Identify the part program Set the datum point W and load the tool.
Set the user parameters E1 and E2
Reset parameter E3 and calculate the total distance
For comparison in G29 calculate E6
A movement to the centre of multiplication
Feed to depth
Calculate the distance to the part for this step
A datum point shift to the multiplication centre CM

Compute the scaling factor


Switch on the scaling
Datum point shift back to the original datum W
Move to the part
Mill the contour

Programming CNC3460/700

891025

N20
N21-N22
N23
N24-N28
N29
N30

9.6.2.

:
:
:
:
:
:

Reset the scaling


Check to see if all pathes are executed if not (E5>0), jump back to block N6
All pathes are executed, restore the datum point
Moving around the contour with radius compensation
Retract the tool
End of the program

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
1

*#*

+
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
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12

N13
N14
N15
N16
N17

G81
G79
G79
G79
G79
G73
G14

G73
G14
G73
G14
G73
G81
G14
G84
G14

X20
X40

Y1
Y10

Z-3
Z0

Y30
X20
X-1
N1=2 N2=5
Y-1
N1=2 N2=5
X1
N1=2 N2=5
Y1
Y1
Z-15
N1=2 N2=12
Y9
Z-10
N1=2 N2=12

T1

M6
M3

F200 S1000

T2

M6

F390 S560

T3

M6

F200 S500

M30

Explanation:

N9056
N1
N2 -N5
N6
N7
N8
N9
N10
N11

N12

Section 9 -18

The partprogram is identified with N9056. In the same block the spot drill (T1) is
loaded.
The fixed cycle for spot drilling is defined and the spindle is started.
The defined fixed cycle is executed on the four holes in the first quadrant.
Mirroring about the Y-axis.
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.
Additional mirroring about the X-axis. The mirroring about the Y-axis is still valid.
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.
Cancelling the sign inversion of the X-axis.
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.
Cancelling the sign inversion of the Y-axis.

Programming CNC3460/700

891025

N13
N14

N15
N16

N17

9.6.3.

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

IY

X"

Y'

,Y"

X'

B4 =

iB4 s
X
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

65

N86808
1

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

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:


T1

N9208 G54
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17

S100
X37.5 Y10

G1
G43
G41
G64 X1=0

Z10
Z-10 F1000

Y3

Y1=3 B1=0 J1=2


G3 R5
JO
I0
J1=1
G3 R67.5
G3 R5
Y1=0 B1=-120
G1 X1=3.464
G3 R10
B1=0
Y3
G1 X37.5
Z10
GO
G40
G63
G92 B4=60
G14 N1=2 N2=16 J5

M30

N,e

891025

M6
M3

Programming CNC3460/700

Section 9 -21

Explanation:

N9208
N1
N2
N3
N4
N5
N6

Identify the program, set the datum point and load tool 1
Start the spindle
Move the tool to its starting position.
Move tool to depth.
Move tool TO the part.
Set radius compensation LEFT.
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.
Make the rounding of radius 5.
Make the circular arc of radius 67.5
Make the second rounding of radius 5.
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.
Make the rounding of radius 10.
Move along the line to the starting point on the line.
Move tool above the workpiece.
Cancel the radius compensation.
Cancel the geometric calculations.
Rotate the coordinate axes over 60.
Repeat the section in the rotated coordinate system.
End of program.

N7
N8
N9

N10
N11
N12
N13
N14
N15
N16
N17
N18

AUTOMATION PACKAGE

9.7.

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 (G54G59) 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
datum point of the mounting C is defined.

891025

Programming CNC3460/700

Mj. With these offsets the zero

Section 9 -23


M
I

C
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
let offsets of a previous program are used in the next one.

9.8.

CHAMFER AND ROUNDING

9.8.1

GENERAL REMARKS ABOUT G11

[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

'

,B

'Gil
PO

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

PI

L
B
Yi,

PO

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,

PI

P2

P2

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
is not reached, its position must be programmed with:

P1

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

2
/

\
/

\ / $/
N86412

Fig. 9.8.2.-2 Milling a regular hexagon

Section 9 -26

Programming CNC3460/700

I
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
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12

G17

T1

GO X100
G1
G43 X 60
G41
G11

G11
G11
G11
G40
G1 X100

Y10

Z-10

M6
M3

S1000
F300

Y0

B-90
B150
B60
BO

L103.923 K60
L103.923 K60
L60
L60

Y10
Z10

M30

Explanation:
: Identification of the program.
: Set the plane and load the tool.
: Start the spindle; move tool to point P and then at depth.

N9010

N1
N2
N3
N4

N5
N6

:
:
:
:

N7

N8
N9
N10
N11
N12

:
:
:
:

9.8.3

Set the feed mode and the feedrate.


Move the tool to the corner of the hexagon.
Set radius compensation LEFT.
Mill along side 1 and 2. Programmed is the intersection point of side 1 and 3 and the
chamfer (K-word) around this point.
Mill along side 3 and 4. Programmed is the intersection point of side 3 and 5 and the
chamfer around this point.
Mill along side 5.
Mill along side 6.
t
Cancel the radius compensation.
Move tool away from part.
End of the program.

TWO POINT GEOMETRY WITH CHAMFER OR ROUNDING

The function G11 allows to program two points in one block, e.g.
made from

P1 and Pg. A linear feed movement is

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

PO

,B

B1=

P2(X1s;Y1s)

Y1=

P2

Y PO

iB1=

\AJ.

-*-

NB6411

X1=

W*

G90

NB6U1

G91

Fig. 9.8.3.-1 Two point geometry

The following words are used:

P1.

Xand Y

The X and Y-coordinate of point

Band L

The polar coordinates of point

X1= and Y1=

The X and Y-coordinate of point

B1= and L1=

The polar coordinates of point Pg.

or

or

?2-

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)

The length of the chamfer

The radius of the rounding

K,

PI
,R

P2

PO

PO

N66410

P2
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=

The radius of the rounding.

Section 9 -28

Programming CNC3460/700

891025

PI
PI

P3

,P3
,R1r
/

'Kir

VP2

Y<

P2

PO

PO

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

P1 to P2 to P3 are programmed in a

to

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)
is defined. Also a chamfer (K1=) or rounding (R1=) is defined between the linear movement from
P1 to

P1

P2 and the one from P2 to Pg in the next block.


The actual milling goes from
point

PQ via the first chamfer or rounding to {he second chamfer or rounding to

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

\R

R
Y<

Kir' P2

PO

P2

PO

N064O8

R1r

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

,R

R
Yi

PO

-P3

PI

P3

K1> 'P2
NC6406

Rlr

PO
W

P2
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
5

fU

6'

w
1

M20

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
N2
N3
N4

N5
N6
N7
N8
N9
N10
N11
N12

G17
GO X100
Y10 Z-10
G1
F300
G43 X 60
G41
Y0
G91
G11
L120 K60 B1=-60
B-120
G11
B60
L120 K60 B1=120
G40
G90
G1 X100 Y10
Z10

T1

S1000

M6
M3

L1=-120
L1=-120

M30

Explanation:

N9011
N1
N2
N3
N4
N5
N6

N7
N8
N9
N10
N11
N12

Section 9 -30

: Identification of the program.


: Set the plane and load the tool.
: Start the spindle, move tool to point P and then at depth.
: Set the feed mode and the feedrate.
: Move the tool TO the corner of the hexagon.
: Set radius compensation LEFT.
: Set the incremental mode. The polar coordinates in the next blocks are programmed
with incremental values measured from the previous tool position.
: 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.
: Mill along side 4, 5 and 6.
: Cancel the radius compensation.
: Set the absolute mode.
: Move tool away from part.
: End of the program.

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 =
P2(X;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

s;|I
|j

\y
RAOUS

\V

v:

wn

HAOIUS

N
\

V'

X
N

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
G1
N2
G43
N3
G42
N4
G2
N5
N6
G11
N7
G11
G11
N8
G1
N9
N10 G2
N11 G40
GO
N12

X80

Y25

ZO
Z-10

T1
F500

S1000

M6
M3

X105
YO
Y90
X60 Y150
X200 YO
X80 YO
X55 Y25
X80
XO

R25
BO
BO

BO

F300
B1=90 R15

R1=15
R1=15
R1=20

B1=90
B1=120 R15
R25

M30

Z200

Explanation:

N9012
N1
N2
N3
N4
N5
N6

N7

N8

N9
N10
N11
N12

: Identification of the part program. Set the XY-plane.


Load tool T1. Move the tool to point B and above the workpiece.
Start the spindle and move the tool with feed to depth.
Move the tool TO the starting point of the entering circle.
Set radius compensation RIGHT.
Move to the contour via the entering circle.
Mill - along the X-axis
- along the radius (R15)
- along the Y-axis
- along the second radius (R15).
: Mill parallel to the X-axis,
- parallel to the Y-axis
- follow the second radius.
: Mill - parallel to the X-axis,
- follow the first radius,
- mill along the slope of 60

:
:
:
:
:
:

:
:
:
:

- follow the second radius (R20).


Mill along the X-axis to the starting point of the circle for leaving the contour.
Leave the contour with a circle.
Cancel the radius compensation.
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:

Two tangential geometric elements:

a.
b.

line and circle or circle and line


two circles

<7YO

R
Y

ik

a.

a.

b.

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.

R
R

NB7991

Fig. 10.1.-2a. A matching circle between line and circle

\ I

Y7

I
/

z'

R]

NB7992

Fig. 10.1.-2b. A matching circle between two circles

C\

R1

\
Y

R
p0

P0

R1

/
/

>R2/K

M*

/
/

\
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.
The intersection between:

3.

a.
b.

c.

two straight lines


line and circle or circle and line
two circles

a.

P2_

P2

P1

P1

b.

vP2
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:

5.

symmetrically located around the intersection point


programmed with:
G1
- the length of the chamfer (l-word)

A rounding between:
a.
b.
c.

two intersecting lines


line and circle or circle and line
two intersecting circles

/
X /

1/

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:


(X.. andY.. ),
- absolute cartesian coordinates
- absolute polar coordinates
(B2=.. and L2=..),
(X.. or Y..) and angle (B1=.. ),
- one cartesian coordinate
- a previously defined point
(P..).
The centre point of a circle can be programmed with:
(I., and J..),
- absolute cartesian coordinates
- 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
Pt

p1

B1- +

B1-90

PO

PO

B1-PO

PO
PO

PO

81- -90

B1-

B1

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
PO

B1=180

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

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

2.
3.

draw through K a line perpendicular to the line of the linear movement,


look from K to the linear movement,
point P1 is on the left of the line through K and point P2 on the right.

Line through the centre

PI

PE

PO

pr

P2

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

/\

K1

'

K2

\/
/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.
2.
3.

draw a line through both centre points,


look from the first centre point to the second one,
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=+ :
I1=- :

the line to the right of the known line


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
B2=

X
X1=
X..
X1=

Y..

..

Y1=

11=0

B2=

L2=

11=0

..

P1

11=0
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,
the point of tangency with the circle from the previous block.
b.
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

B1 =
B1 =

0
PO

PE

>PE

PO

PO

\
R
PO

PO

NB8017
Fig. 10.2.5.-1. Possibilities a,b,c with known starting point

\
J

\
J

,B1=

11 =

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.

b .

a
PE

,PE

B1 =
B1 =
a

R.

R,

B1 =

B1=
b

,R

y
B1 =

y
!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
B2=

\r

X
X1=

4-

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
B2=

X
X1=

X..

Y..

X1=.. Y1=

11=0

B2=

L2=

11=0

..

PI

11=0
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.

5 r

T
J

R1

<k-r

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

* ir
Y

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

J
Y

y,

'w

w 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


The geometric calculations are always executed in the main plane, thus the plane defined with G17 (XYplane), 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).

-Z
B1=

B1=

-Y

B1=

-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

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

ft

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


EXAMPLE 10.3.1.-1. Angle in direction of movement

P1

40-

P0
B1=120

60*

.60"
Y

P0

Yf

P1

30

30

30
a

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

NB8004

Fig. 10.3.1.-2. Milling a parallelogram


Milling the parallelogram from figure 10.3.1.-2. could be programmed as follows:
N10
N11
N12
N13
N14
N15
N16

GO
G64
G1

XO

YO

XO
XO
XO

YO
YO

YO

B1=0
B1=60
B1=180
B1=-120

11=40
11=60

G63

Explanation

N10
N11
N12
N13
N14
N15
N16

:
:
:
:

Move to the starting point


Start the geometric calculations
Move along the X-axis to the intersection point with the next line
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
: Move along a line parallel to the X-axis at a distance of 60 and to the right of the X-axis.
: Move along a line at an angle of -120 as seen in the direction of movement, to the
programmed endpoint
: Cancel geometric calculations

891025

Programming CNC3460/700

Section 10 - 19

EXAMPLE

10.3.1.-3. Intersection point line and circle

7
/

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
N11
N12 G2

EXAMPLE

X0 Y25
I80 J10

B1=0
R25

J1=1

10.3.1.-4. Intersection point two circles

/
<N

Y
in

ik-,r

ii

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
N11 G2

N12 G2

X0 Y25
I60 J15
I80 J10

Section 10-20

R15
R25

J1=1

Programming CNC3460/700

891025

10.3.2. SAMPLE PART WITH COMMON TANGENT LINES

/S

\W

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
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16

G54
GO

T1
X110

Y30

Z10
Z-10

G1
G43
G41
G3
G64

G2
G1
G2
G1
G2

G3
G63
G40
G1
GO

S100

M6
M3

F1000

Y40

X100

Y30

I90

J30

R10
R10

R1=0
R1=0

I25

J30 R15

R1=0
R1=0

X100

X110

Y30 190 J30


Y20 R10
Y30

Z100

Explanation:

N99974
N1
N2
N3
N4

N5
N6
N7
N8

N9

N10
N11

891025

: Set the datum point and load the first tool.


: Start the spindle and move the tool to a position outside the workpiece.
: Move tool at depth.
: Move tool TO the starting point of the entering circle.
: Activate the radius compensation LEFT.
: Make the entering circle.
: Activate the geometric calculations.
: The circular movement to the point of tangency between the circle and the common
tangent line from block N8.
: The linear movement to the point of tangency between the line and the circle from block
N9.
: The circular movement to the point of tangency between the circle and the line from block
N10.
: The linear movement to the point of tangency between the line and the circle from block
N11.
: Final circular movement. The coordinates of the centre point and the endpoint are
programmed.
Programming CNC3460/700

Section 10-21

N12
N13
N14
N15
N16

Circular arc for leaving the contour.


Cancel the geometric calculations.
Cancel the radius compensation.
Move tool to the starting point.
Retract the tool.

REMARK :
There are two other common tangent lines (see figures 10.3.2.-2a and 2b).

P1

"

>

PO'-

P:

NB6961
25
80

P2

K1

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

For figure 10.3.2.-2b:

N-1 G3 I25 J25 R15


N
N+1 G2 I80 J15 R10

R1=0
R1=0

Explanation to both programs:

N-1 :
N

N+1 :

the circle (K1,R15) and the indication (R1=0) that the circle is tangent to the line from
the next block.
the tangent line and the indication (R1=0) that the line is tangent to the circle from the
next block.
the second circle

Notice that the difference between these programs is the direction of movement on the circles
(G2 orG3).
Section 10-22

Programming CNC3460/700

I
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
2.
3.

the coordinates of the centre point and the radius


the radius (if the starting point is known)
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.

ft

From the nine possible combinations, two combinations


combinations:
: radius only
- first circle
: centre point and radius
second circle
or
: centre point andendpoint

are. not allowed

(2.a. and 2.b). These are the

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.

S
n

NB8007

I2

Fig. 10.3.3.-2. Two tangent circles according to combination 2.c.

The programming for this combination is:


N10
N11 G2
N12 G2

X1

Y1

X2

Y2 I2 J2

R1 R1=0

Combination 3.c.

Y2

Y1
J1
J2

11

NB8009

12
X2

Fig. 10.3.3.-3. Two tangent circles according to combination 3.c.

The programming for this combination is:


N10
N11 G2
N12 G2

X1

Y1

X2

Y2

Section 10 -24

11
I2

J1
J2

Programming CNC3460/700

891025

10.3.4. CIRCLE MATCHING LINE AND CIRCLE

150*

&
&

-150*
o,

in

&

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:

N6
N7

G54
GO X0
G1
G43
G42
G64 XO
G3
G3 155

N8

G1

N9

G3
G2 I0 J45
G3
G1
G3 I-55J20
G3
G1 XO YO

N99973
N1
N2
N3
N4

N5

N10
N11
N12
N13
N14
N15
N16
N17
N18

T1

Y-20

Z10
Z-10

S100
F1000

M6
M3

YO

11=0

YO
J20

B1=0

R40
R15

R1=0

B1=150
R10
R15
R10
B1=150 R1=0

R15
R40
B1=0

Z10

G63
G40

I
891025

Programming CNC3460/700

Section 10 - 25

Explanation:
N99973
N1
N2
N3
N4
N5

N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18

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.
Set radius compensation RIGHT.
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.
Move along the matching circle till the point of tangency with the circle in the next block.
Move along the circle to the point of tangency with the line in the next block.
Move along the line till the matching circle.
Make the matching circle between line and circle.
Make the circle till the matching circle.
Make the matching circle between circle and line.
Move along the line to the point of tangency with the circle in the next block.
Make the circle till the matching circle.
Make the matching circle between circle and line.
Move along the X-axis to the datum point W.
Retract the tool from the part.
Cancel the geometric calculations.
Cancel the radius compensation.

<

Section 10-26

Programming CNC3460/700

891025

10.3.5. MATCHING CIRCLES BETWEEN CIRCLES

ft
s
<b

1.5

Y
to

W\ X

12
44

65

110'

NB6928

Fig. 10.3.5.-1. Hook


The hook from figure 10.3.5.-1. could be programmed as:
N99969
N1
N2
N3
N4

N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20

N21
N22
N23
N24
N25
N26
891025

G54

T1

X120
G1
G64
G43
G41
G3
G1
G3
G2
G2
G1
G2
G1

Y-35

Y-15
X110

Y-15

X65

Y-22

G3

G3
G1

G63
G40
GO

X65
X65

X110

Y22
Y22

S100

M6
M3

F1000

11=0 B1=180
R5
11=0 B1=-90 J1=1
I65
J-72
R65
I0
JO

I0

J50
R1=0
JO

112

JO

I44

J-10

I0

G3
G3
G2
G2
G1

Z10
Z-10

R50
R40
R1=0
R1=0
R10
R1=0
R6
R24
R6
R1.5
R36

J1=1

R1=0

11=0 B1=90
R5
Y15
B1=180
Y-40

X120
Z100

Programming CNC3460/700

M30

Section 10-27

Explanation:
N99969-N4
N5
N6
N7
N8
N9
N10-N14
N15
N16
N17
N18
N19-N26

:
:
:
:

:
:
:

:
:
:
:
:

These blocks are obvious.


Linear movement parallel to the X-axis.
A rounding.
Linear movement parallel to the Y-axis.
Circular arc to the point of tangency with the connection circle.
Matching circle outside the first one and surrounding the second one.
Two common tangent lines between circles.
Circle surrounding both circles.
A circular arc till the rounding starts.
A rounding.
A circular arc to the point of tangency with the line from the next block.
These blocks are obvious.

10.3.6. PROGRAMMING A CHAMFER

10

>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
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17

G54
G0X-20
G1
G43

Y-20 Z10
Z-5 F1000
YO

G42
G64 X60

YO

11=0

X60

Y60

XO

Y60

XO

YO

11=0
110
11=0
110
11=0

X10

YO

G40
G63 X10
GO

T1 M6
S100

M3

no

no

Y-20
Z100

Explanation:
N99987
N1 -N5
N6

N7
N8 -N14
N15-N17

Program identification

These blocks are obvious


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.
The chamfer.
The other sides and chamfers.
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


9

4?,

10

60

s
11

y,

Jo
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
N2
N3
N4

G54
GO X80
G1
G43 X105

N5

G42

N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
N21
N22
N23
N24

G64 X105
G2
G1 XO
G2
G1 XO
G2
G1 X60
X60
G2
G1 XO

T1

Y25

Z10

S100

Z-10 F1000

YO

11=0

YO

11=0

Y90

11=0

Y90
Y150

11=0

Y150

11=0

YO

11=0

YO

11=0

G40
GO

Section 10-30

(
R25
R15
R15

11=0
R15

G2
G1 X200
G2
G1 XO
G2
G1 X55
G63

M6
M3

R15
R20

R25
Y25

Z100
Programming CNC3460/700

891025

Explanation:

N99986
N1 -N5

N6
N7
N8
N9
N10
N11-N18
N19
N20

N21
N22-N24

Program identification
These blocks are obvious
Activate the geometric calculations. The first line is programmed with a support point on it.
Make the rounding between the line from block N6 and block N8.
Move along the line till the starting point of the rounding in the next block.
Make the rounding between the line from block N8 and block N10.
Move along the line till the starting point of the rounding in the next block. '
Mill the other sides and roundings
Move along the line till the starting point of the circle for leaving the contour.
Leave the contour via a small circle, which is programmed as a rounding between the line
from block N19 and block N21
The final linear movement.

These blocks are obvious.

10.4. DISCONTINUOUS MOVEMENTS

In the previous sections all kinds of continuous


circular connections are explained.

movements, between

line and circle or two circles and

The control offers the possibility to program the so called discontinuous movements too. This means:
- that for each circular movement, including a rounding or matching circle, either G2 or G3 can be

used,
that one of the two tangent lines of a circle can be programmed.

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

PO

"w

NB8024

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

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=

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


The line does not meet the circle

2.

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
\

s' K1=10l *>K


Or

\
/

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

B1=

<?>>K

K1= 20

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

K1= 11
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

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

K1 = 1

K1=2

K 1 =12

K1

<?/
t

/
I

K2

fi

'

K2

K1

t
I

ow

K1*22
X

PO

<*/

K1

'

K1

Y'?\
A
K2

K1-23

K1-13 +
b

\/ K2

110
I

<P
PO

oV

K1=14

|
PO

P3

<*>

'v

J/

K1

\ /

K2

K1

PO

K2

AP

P3
I

'

K1-24

K1-15

j
j

&

K1

K1

P3

PO

PO

8/

P3

K2

K2

*x

>

K1=25

NB8050

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

\
P04

S$, K1-16

K2

K1

K1

K2

POJ

R
Ki-2e

X
Y

<*y

X'

PO

\
K1

K1

\*

\
\

K1-27 v

PO

'-X,

'

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:

f.

with the left matching circle

: K1=16

with the right matching circle

: K1=26

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

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

10

o
co

14
o
ro

15
LT>

15

Y
W

LD

o
CN

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
N1
N2
G1
G43
N3
G41
N4
N5
G64
G2
N6
G3
N7
G2
N8
G1
N9
G2
N10
G3
N11
N12
G2
N13
G1
N14
G40
N15
G63
N16

Section 10-40

T1
X115 Y60

Z10
Z-10

S100

M6
M3

F1000

X100
R1=0

I85 J15 R15

R10 K1=22
R1=0
R1=0
110 J15
R10
R14
110 J30 R10
R1=0
X25 Y60
X115
I45 J20 R15

Z10

Programming CNC3460/700

I
891025

Explanation:

These blocks are obvious.


A tangent line of which the startpoint is known.
A circular arc.
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

N99970-N4
N5
N6
N7

:
:
:
:

N8-N10
N11
N12-N16

used.
: Common tangent line.
: Matching circle with the centre on the left.
: 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
/
/

Or

4
\

\
/

Ct
\

N-

B1=

N+ 1

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

N+1

N+1

N-1

I
\

N-1

N1

N-1

NB8056

Fig. 10.4.5.-2. Movements with circular connection and K1s1


I

t
t

N+1

xv

N+1

'N-I

N+1

N+1

'N-1

'N-1

X
X

'N-1

NB8057

Fig. 10.4.5.-3. Movements with circular connection and K1=2


t

N+1
N

N+1

N+1

N-1

N-1

N-1

N-1

<

V.

NB8058

Fig. 10.4.5.-4. Movements with circular connection and K1=3


t

N.

N+1

N+1
v

N-1

NI

X
N-1

N-1

NV'X
X

X
N-1

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

Cases b and d

N10 G1 ....
N11 G2 K1=1,2,3,4 FL
N12 G1

N10
N11
N12

....

....

G1
G3 K1=1,2,3,4 R..
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

+3

+4

+2
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=
N11 G2(G3)K1=1,2,3,4 R..
N12G2

N10
N11
N12

G1
J1=
G3(G2) K1=1,2,3,4 R..
G3

Remark :
1.

In a few cases the contour intersects itself:

N10 G1
J1=
N11 G2(G3) K1=2
N12 G2
2.

or

N10
N11
N12

G1
G2(G3)
G3

J1=
K1=3

In the following two cases the roundings are executed:

N10 G1
N11 G2
N12 G3

\
891025

J1=
K1=1 R..

N10
N11
N12

G1 J1=
G3 K1=4 R..
G2

Programming CNC3460/700

Section 10-43

Circle to line

N\

--

+4

+3

+1

+ 2

+3

+2

+1

+4

/j

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

N10G3

J1=
N11 G2(G3) K1=1,2,3,4 R..
N12G1

N11G3(G2)
N12G1

J1=
K1=1,2,3,4 R..

Remark :

In a few cases the contour intersects Itself:


N10 G2
J1=
N11 G2(G3) K1=2
N12 G1

2.

or

N10
N11
N12

G3
G2(G3)
G1

J1=
K1=3

In the following cases the roundings are executed:

N10 G2
N11 G2
N12 G1

J1=
K1=1 R..

N10 G2
N11 G3
N12 G1

J1=
K1=4 R..

N10 G3
N11 G2
N12 G1

J1=
K1=1 R..

N10 G3
N11 G3
N12 G1

J1=
K1=4 R..

or

K
Section 10-44

Programming CNC3460/700

891025
;

Circle to circle

>

J2

>o

H
/

K1

K2

\\

PO.

>

NB8060

Fig 10.4.5.-8. Possible connection circles at left point

!
/

K2

/
V
2

""x

(
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=
N11 G2 K1=1,2,3,4 R..
N12 G2 or G3

N10 G2 (G3) J1=


N11 G3 K1=1,2,3,4 R..
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
G2
N
N+1 G2

J1=
K1=1 R..

N-1
N
N+1

G2
G2
G3

J1=
K1=4 R..

N-1 G3
N
G2
N+1 G2

J1=
K1=1 R..

N-1
N
N+1

G3

J1=
K1=4 R..

or
G3
G3

i
Section 10-46

Programming CNC3460/700

891025

11.

SPECIAL OPTIONS

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.

'
/

--

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

o
o

L-J

Spindle

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

a
7

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
block:
X, Y, Z, B :

Instead of the coordinates the P-word can be used, indicating a previously


defined point (G78).

I, J, K, L :

The coordinates of the point to be measured.


These coordinates are related to the datum point W at use at the moment of
measuring.

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


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 Bcoordinate, depending on the used axis, of point P10.

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

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:

P:

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.

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

The radius of the programmed circle.

The feed used on the path between the four measuring points. See figure
11.1.4.-3.

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.

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

GO

t
GO

Startpoint

Startpoinl
r~4

+y

t
+x

1+1
J+1

1-1
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
and (Pp + d+) or between Pp and (Pp - d-). Here d+ and d- are the limits (tolerances) in the positive
If point

and negative direction of the axis, resp.


The limits are defined in a G49 block with the words:
X
X1=

: Maximum allowable increase (d+) of the X-coordinate


: Maximum allowable decrease (d-) of the X-coordinate

Y
Y1=

: Maximum allowable increase (d+) of the Y-coordinate


: Maximum allowable decrease (d-) of the Y-coordinate

Z
Z1=

: Maximum allowable increase (d+) of the Z-coordinate


: Maximum allowable decrease (d-) of the Z-coordinate

B
B1=

: Maximum allowable increase (d+) of the B-coordinate


: Maximum allowable decrease (d-) of the B-coordinate

R
R1=

: Maximum allowable increase (d+) of the radius value


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

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
I

A change of the X-coordinate.


A multiplication factor for the X-difference.

Y1

A change of the Y-coordinate.


The multiplication factor for the Y-difference.

Z1
K

A change of the Z-coordinate.


The multiplication factor for the Z-difference.

B1
L

A change of the B-coordinate.


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:


Indicating that a circle should be measured
G46
M26
Indicating that the ring gauge for the touch probe calibration should be used.

ft

1+1 and J+1 :


1-1 and J-1

An inside ring is measured in the XY-plane


An outside ring is measured in the XY-plane

J+1 and K+1:


J-1 and K-1 :
1+1 and K+1 :
1-1 and K-1 :

An inside ring is measured in the YZ-plane


An outside ring is measured in the YZ-plane
An inside ring is measured in the XZ-plane
An outside ring is measured in the XZ-plane

: The feed used on the path between the four measuring points.

: 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

[G145]

Basic measuring movement


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

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
values are therefore unaltered.

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

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

C/O

5
R

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

Section 11-10

Programming CNC3460/700

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

E :

[G148]

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

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


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.

space

with which the scale of the display is

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

W.

<

X"

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:
: for a rotation about the X-axis
B
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 :
() or "not equal to"
"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)

E1=1.976125e-5

(i.e., 1.976125*.000001=.00001976125)

or
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.
2.
3.
4.
5.
6.
7.
8.
9.
10.

E1=E2
E1=E2+E3
E1=E2-E3
E1=E2*E3
E1=E2:E3

E1=E2A2
E1=E2A-1
E1=sqrt(E2)
E1=abs(E2)

E1=E2AE3

: equalize parameter E1 to E2
: add parameter E3 to parameter E2
: subtract parameter E3 from parameter E2
: multiply parameter E2 with parameter E3
: divide parameter E2 by parameter E3
: square parameter E2, so calculate E2*E2
: reciprocal of parameter E2, so calculate 1:E2
: extract square root of parameter E2
: absolute value of parameter E2
: 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
step 2

: 3A2=9
: -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.
(E2)
E1=sqrt
or
or
E1=sqrt
(5)
(E2A2+E3A2)
E1=sqrt
are valid expressions with the function sqrt.

So

12.3.4

EXPONENTIATION

With the exponentiation E2AE3 E2 and E3 are real values.

Not allowed are:

I
891025

1.
2.

0A0
E2AE3 with E2<0 and E3 real

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

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
radians. So :
1 degree
1 radian

= (2*pl):360 radians
= 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.

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
cos
tan

(E..)
(E..)
(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 :

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:
operand - operator
only with the operator A ;
operator - operand
with all functions.

1.
2.

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


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
2. E1=E2oE3
3. E1=E2>E3
4. E1=E3>=E3
5. E1=E2<E3
6. E1=E2<=E3

:
:
:
:
:
:

E2 equal to E3
E2 not equal to E3
E2 greater than E3
E2 greater than or equal to E3
E2 less than 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
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
7:2=3.5
5*6=30
3+3.5=6.5
6.5-16=-9.5
-9.5+30=20.5

step 1
step 2
step 3
step 4
step 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

L2=

15
B2=

y
/

wx
10
NB7960

Fig. 12.7.-1 Absolute polar coordinates

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

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 :
E2 :

first coordinate of first point on first line


second coordinate of first point on first line

E3 :
E4 :

first coordinate of second point on first line


second coordinate of second point on first line

E5 :
E6 :

first coordinate of first point on second line


second coordinate of first point on second line

E7 :
E8 :

first coordinate of second point on second line


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
/

wx
E20

NB7961

Fig. 12.9.1.-1 Parameters intersection point two lines

The macro
N99401
N1
N2
N3
N4

fc
W

N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17

(CALCULATE INTERSECTION POINT TWO LINES)


E11=E3-E1
E12=E4-E2
E79=0
E13=sqrt
(E11 A2+E12A2)
E11=E11:E13
E12=E12:E13
E13=E7-E5
E14=E8-E6
E15=sqrt
(E13A2+E14A2)
E13=E13:E15
E14=E14:E15
E16=E11*E13+E12*E14
G29 E15=abs(E16)<.99995 N=12 E15
E79=1
MO (LINES ARE PARALLEL)
G29 E79
N=17
E15=E1-E7
E16=E2-E8
E17=(E15*E12-E16*E11)
E17=E17:(E13*E12-E11*E14)
E20=E7+E17*E13
E21=E8+E17*E14

Explanation

N1-N3
N4-N6
N7-N8
N9-N11
N12 - N14:
N15 - N16:

891025

the unit vector of the first line is calculated


the unit vector of the second line
check to see if the unit vectors are not parallel
the lines are parallel; no calculation is performed
compute the factor of the vector
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
N101
N102
N103
N104
N100
N101
N102
N103
N104

E1=30
E2=50 E3=60 E4=30
E5=100 E6=50 E7=50 E8=10
G22 N=99401
G29 E79
KO
N=
GO X=E20
Y=E21
: the points of the first line
: the points of the second line
: calculate the intersection point
: if an error is detected, jump to the block with M30
: 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 :
E71 :

E72 :

E73 :
E74 :

alignment angle
the shift value in the X-axis in the rotated coordinate system (G17 or G18) or the toolaxis
(G19).
the shift value in the Y-axis in the rotated coordinate system (G17 or G19) or the toolaxis
(G18)
the shift value in the Z-axis in the rotated coordinate system (G18 or G19) or the toolaxis
(G17)
the angle with the X-axis (G17 or G18) or with the -Z-axis (G19) of the machine tool.

Output parameters

E61 :
E62 :
E63 :

the shift value in the X-axis of the machine tool


the shift value in the Y-axis of the machine tool
the shift value in the Z-axis of the machine tool

YM

w
E72

E74

E71

VW

XM
NB7962

Fig. 12.9.2.-1 Meaning of the parameters

891025

Programming CNC3460/700

Section 12-13

The macro
(DATUM POINT SHIFT AFTER AXES ROTATION)
N99502
N1
G93 B4=0
E80=1 E81=E70+E74
N2
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
G29 E80K0 N=34
N9
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)
E63=E71*sin(E81)+E73*cos(E81)
N17
G29 E83=E55=2 E81 N=23
N18
N19
E62=0
G29 E80 KO N=34
N20
N21
E61=0
N22
E63=0
N23
E62=E72
N24
G29 E80 KO N=34
N25
G29 E83=E55=1 E83 N=31
E63=E72*sin(E81)+E73*COS(E81)
N26
E62=E72*cos(E81)-E73sin(E81)
N27
G29 E83=E55=2 E83 N=33
N28
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
G93 B4=E81
N35
Explanation

N1
N2
N3
N4-N7
N8
N10-N11
N12
N15-N18
N19
N21 - N22
N23
N25 - N28
N29
N31 - N32
N33
N34
N35

Section 12 -14

cancel axes rotation


set E80 for the unconditional jumps,
calculate the total angle with the machine tool axis
check the main plane
datum point shift in the XY-plane
no tool axis
no datum point shift in the main plane
datum point shift in tool axis
datum point shift in the XZ-plane
no tool axis
no datum point shift in the main plane
datum point shift in tool axis
datum point shift in the YZ-plane
no tool axis
no datum point shift in the main plane
datum point shift in tool axis
perform the datum point shift
activate axes rotation again

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

w
30

30

100

xM

VW

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
N101 G22

E70=30
N=99502

E71=100 E72=30

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
E52
E53
E54

E56
E61
E63
E64
E90

E91
E92

clearance distance
depth of the pocket
feedrate
code for the main plane
17 : the XY-plane
18 : the XZ-plane
19 : the YZ-plane
tool radius
radius of the sphere
=-1 clockwise milling
= 1 counter clockwise milling
depth per step
the X-coordinate of the centre of the sphere part surface position in the toolaxis with
G19
the Y-coordinate of the centre of the sphere part surface position in the toolaxis with
G18
the Z-coordinate of the centre of the sphere part surface position in the toolaxis with
G17

Output parameter

E79

=1:
=0:

an error detected in the macro


no error

E91

y,
X

W
E90

E61

E92

E51
E52

NB7964

Fig. 12.9.3.-1. Meaning of the parameters

Section 12-16

Programming CNC3460/700

891025

The macro
N99700
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
N21
N22
N23
N24

G29

G29
G89
G29
G79
G29
G79
G29
G79
G29
G29

(ROUGHING A CIRC. POCKET WITH SPHERICAL BOTTOM)


E79=0 E80=1 E81=E52 E84=17 E85=2*(E54-17)+9 E86=0
E86-E86+E64
E82=sqrt(2*E61*E81-E81A2)
E83=(E82-E56)>.01 E83 N=7
E79=1
(TOOL RADIUS TOO LARGE)
MO
E80
KO
N=24
R=E82 Z=-E64 K=E64 J=E63 B=E51 F=E53
E80 KO N=24
X=E90
Y=E91
Z=(E92-E86)
E80 KO N=14
X=E90
Y=(E91-E86)
Z=E92
E80 KO N=14
X=(E90-E86)
Y=E91
Z=E92
E81=E81-E64
E83=E81>E64 E83 N=2
E80
N=E84
KO
E81=E64 E84=E85+10 E86=E52
E80
KO
N=3

G29
GO
G29 E80 KO N=24
GO
G29 E80 KO N=24
GO X=(E90+E51)

Z=(E92+E51)

Y=(E91+E51)

Explanation
N2
N3
N4 -N6
N7
N8

N9
N10
N11 -N12
N13
N14
N15
N16
N17

N19-N24

calculate the depth of operation


calculate the actual radius of the pocket
check to see if the toolradius is not too large
define the circular pocket
jump to
N9 with the XY-plane
N11 with the XZ-plane
N13 with the YZ-plane
execute the pocket in the XY-plane
jump to N14 for calculating the next step
execute the pocket in the XZ-plane and jump to N14 to calculate the next step
execute the pocket in the YZ-plane
calculate the next step
check to see if another milling step is required or the final step is reached.
was this the final step?
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
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

x
40

*/
7

15

NB7965

Fig. 12.9.3.-2. Circular pocket with spherical bottom

The partprogram for milling the spherical pocket could be :


N9003
N1
N2
N3
N4
N5
N6
N7
N8

G98 X-30 Y-30 Z-30 I60


J60
K60
G99 X-35 Y-35 Z-35 I70
J70
K25
G17
E51=1 E52=15 E53=500 E54=17 S100
E56=5 E61=25 E63=-1 E64=1.5
E90=40 E91=40 E92=0
G22 N=99700

T1

M06
M03

M30

Explanation

N1-N2
N3
N4-N6
N7
N8

: define the window (G98) and the material (G99) for running the program in graphics
mode.
: set the plane (XY-plane) and load the tool.
: start the spindle and define the parameters
: call the macro for milling the pocket
: end of the program

<
Section 12-18

Programming CNC3460/700

891025

13.

CYLINDER INTERPOLATION

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.
AXES AND PLANES

13.2.

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

EEK

+X

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

S'T'

Tool

Tool

+X

+z

+z

+x

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

Tool

+x

+X
s

C+.

Tool
C+

+z

+z

NB7968

Fig. 13.2.-3 Rotation about the Z-axia

13.3.

ACTIVATING AND CANCELLING CYLINDER INTERPOLATION

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
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:
(G41-G44)
- Radius compensation
(G64)
- Geometry
image
scaling
or
Mirror
(G73)
- Axes rotation
(G92/G93)
(G141)
- 3D-tool correction

Section 13-2

Programming CNC3460/700

891025

13.3.2 CANCELLING CYLINDER INTERPOLATION[G180]

Cylinder interpolation is cancelled with G180 or at CLEAR CONTROL.


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 :

Table 13.4.1-1 : G-funotions used with G182 active.

These functions are described separately in this chapter.


Fund

ft

GO

G1
G2
G3
G40
G41

A
A
A
D
D
D

G42
G43

G44
G90

D
J

G91
G180
G182

J
B
B

2.

Group

Description

Modal Reset

Rapid traverse movement


Linear feed movements
Circular feed movement, clw
Circular feed movement, cclw
Cancel radius compensation
Radius compensation LEFT
Radius compensation RIGHT
Radius compensation TO
Radius compensation PAST

Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y

Absolute cartesian dimensions


Incremental cartesian dimensions
Standard machine tool coordinates
Plane of the cylinder surface

Page
5-1
5-5
5-15
5-15
6-14
6-9
6-9
6-7
6-7
3-4
3-4
3-20
3-20

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
G4
G14
G22
G29
G94
G95

Group

Description

K
K

Dwell
Jump and repeat function
Call of a subprogram
Conditional jump
Feed in mm/min or inch/mm
Feed in mm/rev or inch/rev

Modal Reset
2)

Y
Y

2)
1)

Page

5-30
9-11
9-7
9-11

5-29
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
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

i
+

A
B

Rotary axis

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

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]

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

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

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

Z/Y/X

Z/Y/X

A
B
C

w
A

A
B

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.
Section 13-6

i
Programming CNC3460/700

891025

13.5. EXAMPLE OF THE USE

200.
180.

20

20

45/

45
20

20

60
40

30

120

330

240

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
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17

G54
G182
GO
G43
G1

T1

M6

R114.6
Y180
Y200

B0

S1000
Z114

M3

F300

G42
B30

G2
G1
G3
G1
G3
G1
G2
G1
G40
GO

Y194.142
Y45.858
Y40

Y45.858
Y194.142

Y200

B37.071
B112.929
B120
B240
B247.071
B322.929
B330
B360

R20
R20

R20

R20

Z150

Explanation:
N2
N3
N4
N5
N6
N7-N15
N16
N17

Activate cylinder interpolation; cylinder radius 114.6


Position the tool to the start point of the contour
Move tool TO the first point of the contour
Move tool to the surface
Set radius compensation RIGHT
Follow the contour; points of tangency are calculated.
Cancel radius compensation
Retract tool from the surface

891025

Programming CNC3460/700

I
Section 13-7

You might also like