You are on page 1of 207

CNC - Simulator

Programmer’s Guide for Milling

Mathematisch Technische Software - Entwicklung GmbH


Kaiserin-Augusta-Allee 101 D • 10553 Berlin • ( +49 / 30 / 34 99 600
Programmer’s Guide
CNC-Simulator for Milling

© MTS Mathematisch Technische Software-Entwicklung GmbH

(
Kaiserin-Augusta-Allee 101 • D-10553 Berlin
+ 49 / 30 / 34 99 600 • Fax +49 / 30 / 34 99 60 25
eMail: mts@mts-cnc.com • WWW: http://www:mts-cnc.com
Berlin, May 1995ofp, May 1998 akss, ofp

All rights reserved, including photomechanical reproduction and storage on electronic media.

DIN: (Deutsche Industrie Norm), is the German Standard Specification as defined by the "Deutsches Institut für Normung e. V."
MS-DOS is a trademark of Microsoft Corporation
PAL:is short for "Prüfungs- Aufgaben und Lehrmittelentwicklungsstelle" (Institute for the Development of Examination Standards and
Training Aids), a division of the "IHK Mittlerer Neckar" (Chamber of Industry and Commerce of the Middle-Neckar Region)
Contents

Table of Contents

Introduction _______________________________________ 7

1. Geometry Basics ________________________________ 9


1.1 The Coordinate System ____________________________________ 9
1.1.1 Polar Coordinate System ___________________________ 10
1.2 Selection of Planes ________________________________________ 11
1.3 Reference Points _________________________________________ 13
1.4 Tool Geometry and Compensation Values _____________________ 15
1.5 Absolute Dimensions and Incremental (Relative) Dimensions ______ 17

2. Introduction into NC-Programming _________________ 19


2.1 NC-Block Format __________________________________________ 19
2.2 Modal and non-modal commands ____________________________ 20
2.3 Application and Representation of Addresses ___________________ 21

3. Additional Functions _____________________________ 22


3.1 Activate/Deactivate Spindle _________________________________ 23
3.2 Mounting a Pre-Selected Tool _______________________________ 23
3.3 Coolant ________________________________________________ 23
3.4 Programmed Halt _________________________________________ 23
3.5 Program End ____________________________________________ 23
3.6 Mirroring in Axes in a Plane _________________________________ 25
3.7 Feedrate ________________________________________________ 26
3.8 Spindle Speed ___________________________________________ 26
3.9 Tool Change _____________________________________________ 26

4. DIN 66025 Programming Commands ________________ 28


Rapid Traverse G00 ___________________________________________ 31
Linear Interpolation in Feed Motion G01 ___________________________ 33
Circular Interpolation Clockwise G02 ______________________________ 35
Circular Interpolation Countercklockwise G03 _______________________ 37
Dwell G04 ________________________________________________ 38
Deceleration (In-Position Programming) G09 _______________________ 39
Rapid Traverse With Polar Coordinates G10 ________________________ 41
Linear Interpolation with Polar Coordinates G11 _____________________ 43
Circular Interpolation with Polar Coordinates G12 ____________________ 45
Circular Interpolation with Polar Coordinates G13 ____________________ 47
Inch Data Input G20 ___________________________________________ 48
Metric Data Input (mm) G21 _____________________________________ 49

© MTS GmbH 1998 3


Contents

Subprogram InvocationG22 ______________________________________ 51


Repeated Program Parts (Routines) G23 ___________________________ 52
Unconditional Jump Instruction G24 _______________________________ 53
Move to the Reference Point G25 _________________________________ 54
Move to the Tool Changing Position G26 ___________________________ 55
Cancel Cutter Radius Compensation CRC G40 ______________________ 57
CRC to the Left of the Contour G41 _______________________________ 59
CRC to the Right of the Contour G42 ______________________________ 59
Approach Instructions With Cutter Radius Compensation ______________ 61
Cancel Incremental Zero Shift G53 ________________________________ 62
Define Workpart Zero - absolute: G54 - G57 _________________________ 65
Incremental Zero Shift G59 ______________________________________ 67
Activate Absolute Dimensioning G90 _______________________________ 68
Activate Incremental Dimensioning G91 ____________________________ 69
Feedrate (mm / min) G94 _______________________________________ 70
Feedrate (mm / rev) G95 ________________________________________ 71

5. Cycles _________________________________________ 73
Clearance Planes ______________________________________________ 75
Drilling Pattern on a Divided Circle G61 ____________________________ 77
Rectangular Pocket G67 ________________________________________ 79
Invocation of a Cycle on a Divided Circle G77 ________________________ 81
Invocation of a Cycle on a Straight Line G78 _________________________ 83
Invocation of a Cycle at a Point G79 _______________________________ 84
Drilling Cycle G81 _____________________________________________ 85
Drilling Cycle with Chip-Breaking G82 ______________________________ 87
Drilling Cycle with Chip-Breaking and Chip-Removal G83 ______________ 89
Tapping Cycle G84 ____________________________________________ 91
Reaming of a Drilled Hole G85 ___________________________________ 93
Boring of a Drilled Hole G86 _____________________________________ 95
Rectangular Pocket Cycle G87 ___________________________________ 97
Circular Pocket Cycle G88 _______________________________________ 99
Pin Cycle G89 ________________________________________________
101

6. Programming of Contour Strings ___________________ 102


6.1 Additional Addresses _______________________________________ 106
6.1.1 Circle Centres Absolute ____________________________ 107
6.1.2 Tangential Transitions ______________________________ 108
6.1.2.1 Pointed Tangential Transitions _______________________ 110
6.1.3 Selection of Solutions ______________________________ 111
6.1.3.1 Selection of Solutions - Angle Criterion _________________ 112
6.1.3.2 Selection of Solutions - Line Criterion __________________ 113
6.1.3.3 Selection of Solutions - Arc Criterion __________________ 114
6.1.3.4 Selection of Solutions - Tangential Transitions ___________ 115
6.1.4 Rounding Between Two Entities ______________________ 117
6.1.5 Chamfer Between Two Lines ________________________ 119
6.2 Two-Point String: Line ______________________________________ 120
6.3 Two-Point String: Arc _______________________________________ 122
6.4 Three-Point String: Line - Line ________________________________ 126

4 Programmer’s Guide for CNC Milling


Contents

6.5 Three-Point String: Arc - Line ________________________________ 130


6.6 Three-Point String: Line - Arc ________________________________ 136
6.7 Three-Point String: Arc-Arc _________________________________ 143
6.8 Four-Point String with Tangential Transitions ___________________ 148
6.9 Open Contour Strings ______________________________________ 154
6.10 Tangential Connection _____________________________________ 161

7. Parameters _____________________________________ 164

8. Programming with Special Characters ______________ 166


Comments ______________________________________________ 167
Skipping of NC-blocks _____________________________________ 167
Temporary Free Format Mode _______________________________ 169
Arithmetic Operations and Algorithms _________________________ 169

9. Setup Form ____________________________________________________ 174


9.1 Syntax ________________________________________________ 177
Instructions and Addresses _________________________________ 178

Appendix 1: Survey of Programmable Addresses _______ 185

Appendix 2: Tools _______________________________________________ 188

Index ____________________________________________ 205

© MTS GmbH 1998 5


6 Programmer’s Guide for CNC Milling
Introduction

Introduction

The present Programmer’s Guide covers all available NC commands of the MTS
Programming Code. In addition to the DIN 66025 commands, the programming of
maching cycles and of contour strings will be explained. The MTS Programming
Code is not depending on any specific manufacturer’s CNC control system.

The programmer’s guide is structured as follows:

Part One serves to exemplify the basic techniques of NC programming.

Part Two, which is far more extensive, serves to explain all commands which are
part of the MTS programming code. For reasons of clarity these have been
arranged in three subdivisions, namely the following:

- DIN-Commmands
- Machining Cycles
- Programming of Contour Strings

This structure is meant to provide an easy way into NC programming even for the
unskilled user. The expert programmer may use the clearly structured listing of
commands as a quick-reference manual when confronted with complicated tasks.

The general idea with the present Programmer’s Guide is to explain and support
the process of manual programming. To effect this, all mandatory and optional
parameters will be exemplified by a corresponding NC-Block and graphically
represented.

All in all the Programmer’s Guide is thought to provide comprehensive support in


generating NC-programs, either by using the editor or by employing the "automatic
mode" for interactive programming. The Manual may of course also serve for
testing and optimizing NC-programs in the "automatic mode" - thus contributing to a
better understanding of technical circumstances.

Furthermore a number of improvements on Version 4.1 of the MTS Programming


Code have been made:

- Up to four different zero points can be defined, stored and activated within
the same NC program.

Programming of contour strings:


- The end point of a circular arc can be programmed by specifying the tangent
angle at the end point.
- The address P000 serves for mandatory programming of tangential
transitions between contour entities.
- When a series of contour strings with tangential transitions is concerned,
alternative contours, including roundings, may be programmed.

© MTS GmbH 1998 7


1. Basic Geometry

Diagram 1.1 : Coordinate System; Z-Axis Vertical

Diagram 1.2 : "Right-Hand-Rule" for identification of the axes

Examples :

P1: X= 60, Y= 0, Z= 40
P2: X= 0, Y= 40, Z= 40
P3: X= 60, Y= 40, Z= 40
P4: X= 60, Y= 40, Z= 0

Diagram 1.3 : Three-Dimensional Coordinate System

8 Programmer’s Guide for CNC Milling


1.1 Coordinate System

1. Basic Geometry
To determine the geometry of the workpart and of the working area, reference
points and their respective coordinate systems must be defined. Coordinate axes
as well as movement directions will be designated in compliance with the German
Standard DIN 66217.

1.1 The Coordinate System


A right-handed, right-angled coordinate system is applied in the programming of
NC machine tools. Axes are designated as X, Y and Z (see Diagram 1.1).

The so-called "right-hand-rule" should help the user to realize the position of each
axis. (see Diagram 1.2):

No matter how the coordinate system is situated, the axes X, Y and Z are
positioned at right angles to each other, always in the same order of
succession. When thumb, index finger and middle finger of your right hand
are assumed to represent the X -, Y - and Z - axis respectively, each finger
will point to the positive axis direction.

Origin of the The intersection point of the three axes is the origin (or zero point) of the
Coordinate System coordinate system: (X=0, Y=0, Z=0)

Coordinates Part of NC programs is the description of cutter paths and target points. To ensure
correct execution of such commands, the applicable geometric dimensions must
be precisely defined, so as to effect the corresponding tool movement on the
machine tool.

The above described coordinate system serves to definitely locate each point, by
specifying its coordinates (in numerals) on the respective axes (see Diagram 1.3).

Example: The coordinates of point P1 are:

X=60 Y=0 Z=40

i.e. the position of the point is defined by entering the value 60 in the positive X-
direction, the value 0 in the positive Y-direction and the value 40 in the positive Z-
direction.

See the table in Diagram 1.3 for the respective procedures of defining the
coordinates of points P2, P3 and P4 .

© MTS GmbH 1998 9


1. Basic Geometry

1.1.1 Polar Coordinate System


In the cartesian coordinate system, a point in the machining plane is defined by its
X- and Y-coordinates. With rotary symmetric workpart contours (see Diagram 1.4),
however, a considerable amount of calculation would be necessary to establish
these coordinate values. Therefore, in most cases, polar coordinate systems are
used to program the target points of such workpart contours.

A point will be defined by its distance from the origin of the polar coordinate system
(i.e.a radial value) and by the angle of this radius to an identified axis, which, as a
rule, is the X- axis.

The coordinates of the drilled holes B1 to B6 are


established by their distances from the centre and
their respective angles to the X- axis

Diagram 1.4 : Dimensioning of rotary symmetric workparts by polar coordinates

Cartesian Coordinate System:

The coordinates of point P are: X=70 and Y=40

Polar Coordinate System:

Point P is defined by its distance (Radius = 80,623


mm) from the origin of the polar coordinate system
and the radius angle (29,745°) to the X- axis.

Diagram 1.5 : Coordinate Systems in Comparison

10 Programmer’s Guide for CNC Milling


1.2 Selection of Planes

1.2 Selection of Planes


A workpart can be machined in each of the three possible planes (X Y, Z X or Y Z).
The respective third axis is the feed axis and therefore also the tool axis. The G-
commands G17, G18 and G19 serve to select a machining plane.

In the below table the G-commands are listed with their corresponding machining
planes and downfeed axes.

Plane Selection Coordinate Plane Feed Axis


(G-Command) (Machining Plane) Tool Axis
G17 XY - Plane Z
G18 ZX - Plane Y
G19 YZ - Plane X

The definition of the maching plane and the feed axis is to be effected in the CNC-
Simulators Configuration Program (see Configuration Manual).

F Please note that all diagrams and programming examples in the present
Programmer’s Guide are based on the plane selection G17 (Feed Axis Z).

G17 Plane G18 Plane G19 Plane


Diagram 1.6 : Circular cutter movement in each of the three machining planes

© MTS GmbH 1998 11


1. Basic Geometry

Diagram 1.7 : Reference points of a CNC Milling Machine

Diagram 1.8 : All programmed coordinates relate to the tool reference point

12 Programmer’s Guide for CNC Milling


1.3 Reference Points

1.3 Reference Points


To ensure that a machine control system will read the programmed coordinates
correctly and effect the corresponding movements of the tool carriage, each
machine tool must have its own "coordinate system". Within this machine reference
system there are several predefined reference points, namely the following (see
Diagram 1.7):

Machine Zero The machine zero point (also called the machine datum) constitutes the origin of
the machine reference system. As a rule it has been defined by the manufacturer
and it cannot be altered.

With the CNC-Simulator for Milling the machine zero can be determined in the
configuration program (cf. the Configuration Manual).

Reference Point The reference point serves to calibrate the position measuring systems. To make
sure that the control system can identify the position of the tool carriage and can
execute all movements as intended, when an incremental system is employed, the
tool must be moved to the reference point after each re-starting of the machine.

When absolute measuring systems are employed, approaching the reference point
is not necessary.

In the CNC Simulator the position of the reference point relative to the machine
zero can be determined in the configuration program (cf. the Configuration
Manual).

Tool Reference Point All tool movements effected by the control system (according to the specified
coordinates) will refer to the tool reference point, which is situated on the front face
of the tool mounting (see Diagram 1.8).

When programming a contour, all entries must refer to the path of the pre-defined
cutting point. To ensure this, the control system must be informed of the
dimensions relative to the tool reference point of each tool employed - the so-called
tool compensation values (cf. Section 1.4 of this manual: Tool Geometry
Compensation Values).

Workpart Zero The workpart zero can be determined at will, always relating to the machine zero. It
is recommended, though, to define the workpart zero as identical with the origin
(zero point of the coordinate system) of the workpart design drawing -this way the
dimensions can be adopted directly from the drawing in the course of programming
a contour.

Please note that when no workpart zero has been defined, the control system will
read all coordinates specified as relative to the machine datum (after the reference
point has been approached).

© MTS GmbH 1998 13


1. Basic Geometry

The compensation value in Z is determined by


the the distance between the the cutting point
and the tool reference point.

Diagram 1.9 : Tool length- and cutter radius compensation

Cutter radius compensation is necessary to


ensure that the programmed contour will be
identical with the executed contour.

Diagram 1.10 : Accounting for the cutter radius with a contour to be generated

When the cuttter radius compensation (CRC) is


active, the control system will establish an
appropriate tool centre path (equidistant),
accounting for the cutter radius.

Diagram 1.11 : Cutter Centre Path (Equidistant)

14 Programmer’s Guide for CNC Milling


1.4 Tool Geometry and Compensation Values

1.4 Tool Geometry and Compensation Values


As already mentioned (see above: Reference Points) the control system will read
each programmed dimension as relative to the tool reference point. In some cases,
however, the target coordinates must be approached with reference to the cutting
point (e.g. with slot-milling). It follows, that the length of the cutter (see Diagram
1.9) must be accounted for when computing the tool motions. Length and radius
data of every tool is therefore written to a so-called Compensation Value Storage:

Tool Length The tool length compensation is the specification of the distance between the
Compensation cutting point and the tool reference point in the Z-direction (see Diagram 1.9).

Cutter Radius Additionally the radius of each tool is specified in the compensation value storage.
Compensation
If a tool-change is part of a programmed NC-program, the applicable compensation
value storage will automatically be invocated, so that the tool geometry can be
accounted for in the computing of the cutter path.

Cutter Centre Path / With the cutter radius compensation (CRC) activated, the control system will
Equidistant establish a rectified cutter centre path for each tool applied, according to the cutter
radius specified in the compensation value storage. This cutter path is called the
equidistant of the programmed contour, because its distance from the contour will
be the same at any point (see Diagram 1.11).

F Please see Section 4 ("Programming Commands") for a more detailed description


of programming cutter radius compensations.

© MTS GmbH 1998 15


1. Basic Geometry

Absolute Dimensioning:

All dimensions relate to the same origin, the


dimension reference point.

Incremental Dimensioning:

Starting from the origin of the coordinate


system, the distance between the current point
and the preceding point is measured.

Diagram 1.12 : Dimensioning Systems in Comparison

Tool motions according to the absolute


dimensioning system:

The cutter moves from the starting point X +30,


Y +30 to the target point X +110, Y +75.

Tool motions according to the incremental


dimensioning system:

The cutter moves from the starting point in the


X-direction by a value of +85 and in the Y-
direction by a value of +45.

Diagram 1.13 : Using Different Dimensioning Systems for Programming

16 Programmer’s Guide for CNC Milling


1.5 Absolute/Relative Dimensioning

1.5 Absolute Dimensioning,

Incremental Dimensioning (Relative Dimensioning)


The following dimensioning systems are commonly used with design drawings (see
Diagram 1.12):

Absolute Dimensioning In the absolute system all dimensions refer to the origin (zero point) of the
(Fixed Zero System) coordinate system, which is also called the dimensioning reference point.

Incremental Contrary to the absolute system, the incremental dimensioning system is based on
Dimensioning specifying the distance between a current point and its preceding point on an axis.
Because in this system a sequence of additive dimensions is produced, it is called
incremental.

When generating an NC-program, the tool motions can be programmed either in


the absolute or in the relative dimensioning system, depending on the system used

F
in the design drawing (see Diagram 1.13).

Please note that in the absolute system the target points must be programmed
according to their position in the coordinate system with reference to the origin of
that system. In the incremental system the coordinate values of the target points
must be programmed according to their position relative to the starting point, with
the appropriate positive or negative sign attached.

© MTS GmbH 1998 17


2. Introduction into NC-Programming

N Block Number
G G- Command

Y «¬ Coordinates of the Target Position

F Feed

S Speed

T Tool Number/Turret Position

M Switches and Machine Functions (Spindle, Coolant ...)

Diagram 2.1 : Sequence of Words within an NC Block

18 Programmer’s Guide for CNC Milling


2.1 NC-Block Format

2. Introduction into NC-Programming


A distinct program structure is essential to the generation of NC-programs. For
instance the process of detecting eventual program errors will be much facilitated
by a clear structure - especially when this task is carried out by another
programmer.

2.1 Structure of an NC-Block (Format)


Unlike the conventional milling machine, a modern machine tool will be equipped
with a numerical control system. The machining of a workpart can be executed
automatically, provided that each maching cycle has been described in a
"language" (code) which can be read by the control system.The total of coded
descriptions relating to a workpart is called an NC-program.

Blocks Each NC-program consists of a number of so-called blocks, which contain the
commands to be executed.

The blocks are consecutively numbered; each block number consisting of a letter
"N" plus a (e.g. three-digit) numeral. Block numbers appear at the beginning of
each program line.

Words As a rule an NC block is comprised of several words. Each word consists of an


Address, Value address (letter) and a value or code (numerals).

Example N110 G01 X+60 M03


| | | |
Block No. Word Word Word

A numeral can either represent a code (e.g. G01: Linear feed motion ) or a real
value (e.g. X+60 : Approaching the target coordinate X=60).

Word Word Word

G 01 X 60 F 0.07
| | | | | |
Address Code Address Value Address Value

© MTS GmbH 1998 19


2. Introduction into NC-Programming

2.2 Modal Commands and Non-modal Commands


Modal commands are self-retentive, i.e. they will take effect in consecutive NC-
blocks, until they are deleted or overwritten by a command at the same address.
Non-modal commands instead are "block-oriented", they will be active only in the
block in which they are programmed.

Examples of modal commands are: speed, feedrate, sense of rotation, tool


selection etc. Once entered, these commands will remain active also with the
subsequently programmed blocks.

Example: N110 F95 S850 M03


N115 G00 X+25 Y+30
N120 G01 Z-8
N125 X+105
N130 Y+80

Explanation: Block-No.
(See Diagram 2.2)
N110 A feedrate of 95 mm/min and a spindle speed of 850 U/min is programmed.
N115 The tool is moved in the rapid traverse motion from its current position to the
starting point ( X+25 Y+30)t
N120 Infeed in the Z-axis at the programmed feedrate (G01)
N125 Because G01 is a modal command, the tool will continue to move at the
programmed feedrate on a straight line to the target position X=105
N130 The tool moves in the Y-axis to the target position Y=80

The technology data programmed in block N110 (feedrate, speed and sense of
cutter rotation) will be retentive and take effect through blocks N120 to N130.

Diagram 2.2 : Tool motions effected by modal commands (G01)

20 Programmer’s Guide for CNC Milling


2.3 Programming and Denotation of Addresses

2.3 Programming and Denotation of Addresses


As a rule, an NC-command contains several addresses. These addresses must be
discriminated as mandatory addresses (which have to be programmed) and
optional addresses (which may be programmed).

To tell apart the mandatory and the optional addresses, in the present
programmer’s guide the following mode of denotation will be applied:

Addresses that have to be programmed with a specific NC-command ("mandatory


addresses"),will appear.without any additional program information.

Example G04 X...


When the G04 command (dwell time) is programmed, X plus the desired value
(specifying the dwell time in seconds) is a mandatory address.

Addresses which are not mandatory but may be programmed with a specific
command ("Optional Addresses") will appear in the program line in brackets.

Example G81 Z... [W...]


With the drilling cycle G81 the address Z must be programmed to specify the
drilling depth. Optionally a clearance plane may be programmed at the
address W.

© MTS GmbH 1998 21


3. Additional Functions (M-Functions)

3. Additional Functions (M-Functions)


With each NC-block a number of additional functions (M-Functions) can be
programmed, such as machine functions and switches, e.g. to specify the feedrate.
the spindle speed and the tool change.

Overview of available M-Functions:

M00 Programmed Halt


M02 Program End
M03 Activate Spindle - Right-Hand Rotation
M04 Activate Spindle - Left-Hand Rotation
M05 De-Activate Spindle
M06 Mounting a Pre-selected Tool (Configurable)
M07 Activate Coolant Pump 1
M08 Activate Coolant Pump 2
M09 De-Activate Coolant Pump
M30 Program End, Rewind Punched Tape
M80 Cancel Mirror Functions
M81 Mirror in the Y-Axis
M82 Mirror in the X-Axis
M83 Reverse Signs of the Z-Coordinates
M84 Mirror in the X- and Y-Axes
M85 Mirror in the Y-Axis and Reverse Signs of the Z-Coordinates
M86 Mirror in the X-Axis and Reverse Signs of the Z-Coordinates
M99 End of Subroutine
F Feedrate
S Speed
T Tool Change

22 Programmer’s Guide for CNC Milling


3.1 Activate/Deactivate Spindle

3.1 Activate/Deactivate Spindle


M03 Activate Spindle - Right-Hand Rotation (Clockwise)

M04 Activate Spindle - Left-Hand Rotation (Counter-Clockwise)

M05 De-Activate Spindle

3.2 Mounting a Pre-Selected Tool


M06 This command serves to mount a tool which has been activated by the
T-command in the previous NC-block.

F It will depend on the tool changing device employed, whether M06 must be
programmed to effect the tool change. The user may determine in the
configuration, whether M06 shall be mandatory for a tool change (see the
Configuration Manual for further details).

3.3 Coolant
M07 Activate 1st Coolant Pump

M08 Activate 2nd Coolant Pump

M09 De-Activate Coolant Pump

3.4 Programmed Halt


M00 After the execution of a block which contains the command M00, the
program execution will be halted, to allow gauging of the workpart or a
manual tool change.

3.5 Program End


M30 This command informs the control system that the current program
run has been completed. The spindle and the coolant pump will be
deactivated and the automatic program run is terminated. All mirroring
operations, incremental or rotary zero shifts (G59) are undone and the
punched tape will be rewound.

M02 In the Simulator for Milling the M02 command effects the same
functions as the M30 command.

M99 This command informs the control system that the current sub-
program run has been completed. The control system will return to the
main program and continue the program run from the program line
which is subsequent to the subroutine invocation.

© MTS GmbH 1998 23


3.6 Mirroring in the Axes

Programming Example:
N090 G00 X+20 Y+30
N095 G01 Z-16
N100 X+90
N105 X+20 Y+75
N110 G00 Z+2
N115 M81
N120 G00 X+20 Y+30
N125 G01 Z-16
N130 X+90
N135 X+20 Y+75
N140 ...
Diagram 3.1 : Mirroring of the X-Coordinates in the Y-Axis

Programming Example with a Sub-Program

N090 G22 U80


N095 M82
N100 G22 U80

Diagram 3.2 : Mirroring of the Y-Coordinates in the X-Axis

Programming Example with a Programmed


Routine

N090 G00 X+20 Y+30


N095 G01 Z-16
N100 X+90
N105 X+20 Y+75
N110 G00 Z+2
N115 M84
N120 G23 P090 Q110

Diagram 3.3 : Mirroring in the X- and Y-Axes

24 Programmer’s Guide for CNC Milling


3.6 Mirroring about Axes

3.6 Mirroring about Axes in a Plane


Function The commands M81 to M86 serve to mirror drilling patterns or contours about an
axis. To effect this transaction, the control system will invert the signs of the
coordinates of the respective other axis.

This means that the contour is represented

- mirror-inverted
- on the opposite side of the mirror-axis
- at the same size

It follows that the cutting direction of the milling tool is reversed.

Example Diagram 3.1 shows the effect of the M81 command: a mirror image of the contour
is created on the opposite side of the Y-axis, by mirroring the coordinate values of
the X-axis.

Further available mirror functions are:

NC-Block M81 Mirroring the X-coordinates about the Y-axis

M82 Mirroring the Y-coordinates about the X-axis

M83 Inverting the signs of the Z-coordinate values

M84 Mirroring about both the X- and Y-axes

M85 Mirroring about the Y-axis and inverting the signs of the Z-coordinate
values.

M86 Mirroring about the X-axis and inverting the signs of the Z-coordinate
values.

Programming Hints To avoid having to program the contour once again after each mirrorring, the
respective machining may be stored as a subprogram or be executed as a
repeated program part (routine) (G23).

Cancel Mirrorings M80


The commAnd M80 serves to cancel all mirroring operations. The system will then
refer again to the previously defined coordinate system.

© MTS GmbH 1998 25


3.7 Feedrate

3.7 Feedrate
F... The feedrate is programmed in millimeters per minute (mm/min).

Example: F080.000

F
Here the programmed feedrate is 80 millimeters per minute.

Alternatively the feedrate may be programmed in millimeters per revolution


(see commands G94 and G95).

3.8 Spindle Speed


S... The spindle speed is programmed in revolutions per minute (RPM) .

Example: S500
Here the programmed spindle speed is 500 revolutions per minute.

3.9 Tool Change


T... A tool change is programmed by a four-digit number at the address T.
The first two positions of that number indicate the tool position in the
magazine, the last two positions indicate the tool compensation
storage.

Example: T0808
This command effects the loading of the tool to position No.8 of the
current tool magazine and the reading-in of the corresponding
compensation value storage No.8.

In the CNC Simulator there is a maximum of 99 magazine positions


available, as well as 99 compensation value registers. This provides
the opportunity, for example, to assign the compensation value
register No. 36 to the tool in the magazine position No. 12 (provided
that the register has been defined).
The applicable NC-command would then be programmed as follows:
T1236

F With certain machine tools the T-command serves only to provide a specified tool
at the tool changing position. To mount this tool to the workspindle the command
M06 must be programmed seperately. In the MTS Simulator the desired mode of
tool-changing can be determined in the configuration (see the Configuration Manual).

26 Programmer’s Guide for CNC Milling


3.9 Tool Change

F When you decide to program an NC-block containing one or several M - functions


together with a G-command, please take care to observe the proper sequence of
command execution, as listed in the following table:

To be executed prior to the To be executed after the


G-command: G-command
M03/M04 Activate spindle M00 Program hold
M07/M08 Activate coolant M02 Program end without
backspacing
M80 Cancel all mirroring M05 De-activate spindle
operations
M81-M86 Mirrorings M09 De-activate coolant
F Feedrate M30 Program end and backspacing
S Speed M99 Sub-program end
T Tool change

An NC-block may contain a maximum of three M-commands.

© MTS GmbH 1998 27


4. DIN 66025 Commands

4. Programming Commands in Compliance withDIN


66025
Survey of available DIN commands:

G00 Rapid Traverse

G01 Linear Interpolation in Slow Feed Motion

G02 Circular Interpolation Clockwise

G03 Circular Interpolation Counter-clockwise

G04 Dwell

G09 In-position Programming (Deceleration)

G10 Polar Coordinates for Rapid Traverse

G11 Polar Coordinates for Linear Interpolation

G12 Polar Coordinates for Clockwise Circular Interpolation

G13 Polar Coordinates for Counter-clockwise Circular

Interpolation

G20 Unit of Measurement: (Inch)

G21 Unit of Measurement (mm)r

G22 Invocate Subprogram

G23 Repeated Program Part (Routine)

G24 Unconditional Jump Instruction

G25 Move to the Reference Point

G26 Move to the Tool Change Position

G40 Cancel Cutter Radius Compensation

G41 Cutter Radius Compensation to the Left of the Contour

G42 Cutter Radius Compensation to the Right of the Contour

G45 Contour-parallel Approach / Retreat

G46 Semi-circular Approach / Retreat

G47 Approach / Retreat in a Quadrant

28 Programmer’s Guide for CNC Milling


4. DIN 66025 Commands

G53 Cancel Incremental Zero Shift

G54 - G57 Set Absolute Zero

G59 Incremental Zero Shift

G90 Activate Absolute Dimensioning

G91 Activate Incremental Dimensioning

G94 Feedrate (mm/min)

G95 Feedrate (mm/rev)

© MTS GmbH 1998 29


G00 Rapid Traverse

The cutter moves from its current position (starting


point) to the programmed target position (end
point).

Diagram G00.1 : Rapid Traverse (Three-Dimensional Rapid Traverse Logic )

Programming Example
for Absolute Dimensioning:

N090 G00 X+30 Y+65 Z+12


N095 G90
N100 G00 X+105 Y+35 Z+2

Diagram G00.2 : Programming Absolute Dimensions

Programming Example
for Incremental Dimensioning:

N090 G00 X+30 Y+65 Z+12


N095 G91
N100 G00 X+75 Y-30 Z-10

Diagram G00.3 : Programming Incremental Dimensions

30 Programmer’s Guide for CNC Milling


Rapid Traverse G00

Rapid Traverse G00


Function The tool will move at the maximum possible speed to the target position as
programmed by the X- Y- and Z- coordinates. These coordinates may either be
programmed in the absolute system (G90) or in the incremental system (G91).

NC-Block G00 [X...]1) [Y...]1) [Z...]1) [F...] [S...] [T...] [M...]


Optional Addresses X X-Coordinate of the Target Point
Y Y-Coordinate of the Target Point
Z Z-Coordinate of the Target Point

1) If a tool movement parallel to one or two axes is desired, the respective target
coordinate will be identical with that of the current tool position. It does not have to
be programmed separately, as the coordinate address is self-retentive.
If none of the coordinates in X Y and Z has been programmed, only the rapid
traverse function will be retained.

F Feedrate (mm/min)
S Speed (RPM)
T Tool Change
M Additonal Function

Explanation The programmed feed adjustment Z, relative to the current tool position,
determines the order of tool movements in the axes.:

Rapid Traverse Logic: - if the infeed is in the positive Z-direction (from the current tool position), the
tool will move first in the Z-axis and subsequently in the X- and Y- direction..

- if the infeed is in the negative Z-direction (from the current tool position), the tool
will move first in the XY plane and then in the Z-direction.

Programming Hints If a tool change, a change of the feedrate and/or a a change of spindle speed have
been programmed within the same NC-block, these functions will be executed prior
to moving the tool to the target position.
A maximum of three M-commands may be programmed; their respective order of
execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 31


G01 Linear Interpolation in Slow Feed Motion

The tool moves at the specified feedrate from its


current position (starting point) to the programmed
target point.

Diagram G01.1 : Linear Interpolation in Three Axes

Programming Example
of Absolute Dimensioning:

N085 G90
N090 G00 X+30 Y+30 Z+2
N095 G01 Z-6
N100 G01 X+110 Y+75

Diagram G01.2 : Programming of Absolute Dimensions

Programming Example
for Incremental Dimensioning

N085 G00 X+30 Y+30 Z+2


N090 G91
N095 G01 Z-8
N100 G01 X+80 Y+45

Diagram G01.3 : Programming of Incremental Dimensions

32 Programmer’s Guide for CNC Milling


Linear Interpolation in Slow Feed Motion G01

Linear Interpolation in Slow Feed Motion G01


Function The tool will move at the programmed feedrate to the target position as
programmed by the X- Y- and Z- coordinates. These coordinates may either be
programmed in the absolute system (G90) or in the incremental system (G91).

NC-Block G01 [X...]1) [Y...]1) [Z...]1) [F...] [S...] [T...] [M...]


Optional Addresses X X-Coordinate of the target point
Y Y-Coordinate of the target point
Z Z-Coordinate of the target point

1) If a tool movement parallel to one or two axes is desired, the respective target
coordinate will be identical with that of the current tool position. It does not have to
be programmed, as the coordinate address is self-retentive.

If none of the coordinates in X Y and Z has been programmed, only the rapid
traverse function will be retentive.

F Feedrate (mm/min)
S Spindle Speed (RPM)
T Tool Change
M Additional Function

Programming Hints If a tool change, a change of the feedrate and/or a a change of spindle speed have
been programmed within the same NC-block, these commands will be executed
prior to moving the tool to the target position.
A maximum of three M-commands may be programmed; their respective order of
execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 33


G02 Circular Interpolation Clockwise

The tool moves at the specified feedrate from its


current position (starting point) to the programmed
target position.

Diagram G02.1 : Circular Interpolation in 3 Axes (Helical Interpolation)

Programming Example
for Absolute Dimensioning:

N085 G90
N090 G00 X+55 Y+35 Z+2
N095 G01 Z-5
N100 G02 X+95 Y+75 I+30 J+10

Diagram G02.2 : Programming of Absolute Dimensions

Programming Example
of Incremental Dimensioning:

N085 G00 X+55 Y+35 Z+2


N090 G91
N095 G01 Z-7
N100 G02 X+40 Y+40 I+30 J+10

Diagram G02.3 : Programming of Incremental Dimensions

34 Programmer’s Guide for CNC Milling


Clockwise Circular Interpolation G02

Clockwise Circular Interpolation G02


Function The tool will move at the programmed feedrate clockwise on a circular arc to the
target position as defined by the coordinates in X and Y. These coordinates may
either be programmed in the absolute system (G90) or in the incremental system
(G91).
If a Z-value different from the Z-coordinate of the starting point is programmed, the
tool will move on a path called a helical interpolation: a linear feed motion in the Z-
direction is superimposed on the tool movement along the arc.

NC-Block G02 [X...]1) [Y...]1) [Z...]1) [I...]2) [J...]2)

[F...] [S...] [T...] [M...]


Optional Addresses X X-Coordinate of the Target Point
Y Y-Coordinate of the Target Point
Z Z-Coordinate of the Target Point

1) If a target coordinate is identical with the corresponding coordinate of the current


tool position, it does not have to be programmed, as the coordinate address is self-
retentive.

I Circle Centre Incremental (distance between the starting position and the circle
centre in the X-direction).
J Circle Centre Incremental (distance between the starting position and the circle
centre in the Y-direction).

2) When I or J (as defined above) are not programmed, the respective centre
coordinate is set to zero.

F Feedrate (mm/min)
S Spindle Speed (RPM)
T Tool Change
M Additional Function

Programming Hints The coordinates X,Y,Z may either be programmed in the absolute system (G90) or
in the incremental system (G91). The default definition of centre coordinates I and J
is incremental (relative to the starting point). In the configuration program the centre
dimensioning can be set to the absolute system (see Configuration Manual)

If none of the coordinates in X, Y and Z has been programmed, only the rapid
traverse function will be retentive.

If a tool change, a change of the feedrate and/or a a change of spindle speed have
been programmed within the same NC-block, these commands will be executed
prior to moving the tool to the target position.

A maximum of three M-commands may be programmed; their respective order of


execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 35


G03 Counter-Clockwise Circle Interpolation

The tool moves at the specified feedrate from its


current position (starting point) to the programmed
target point.

Diagram G03.1 : Circular Interpolation in Three Axes (Helical Interpolation)

Programming Example
for Absolute Dimensioning:

N085 G90
N090 G00 X+55 Y+25 Z+2
N095 G01 Z-5
N100 G03 X+100 Y+70 I+15 J+30

Diagram G03.2 : Programming of Absolute Dimensions

Programming Example
for Incremental Dimensioning:

N085 G00 X+55 Y+25 Z+2


N090 G91
N095 G01 Z-7
N100 G03 X+45 Y+45 I+15 J+30

Diagram G03.3 : Programming of Incremental Dimensions

36 Programmer’s Guide for CNC Milling


Counter-Clockwise Circular Interpolation G03

Counter-Clockwise Circular Interpolation G03


Function The tool will move at the programmed feedrate clockwise on a circular arc to the
target point as defined by the coordinates in X and Y. These coordinates may either
be programmed in the absolute system (G90) or in the incremental system (G91). If
a Z-value different from the Z-coordinate of the starting point is programmed, the
tool will move on a path called a helical interpolation: a linear feed motion in the Z-
direction is superimposed on the tool movement along the arc.

NC-Block G03 [X...]1) [Y...]1) [Z...]1) [I...]2) [J...]2)

[F...] [S...] [T...] [M...]


Optional Addresses X X-Coordinate of the target point
Y Y-Coordinate of the target point
Z Z-Coordinate of the target point

1) If none of the coordinates in X Y and Z has been programmed, only the rapid
traverse function will be retentive.

I Circle Centre Incremental (distance between the starting position and the circle
centre in the X-direction).
J Circle Centre Incremental (distance between the starting position and the circle
centre in the Y-direction).

2) When I or J (as defined above) are not programmed, the respective centre
coordinate is set to zero.

F Feedrate (mm/min)
S Spindle Speed (RPM)
T Tool Change
M Additional Function

Programming Hints The coordinates X, Y ,Z may either be programmed in the absolute system (G90)
or in the incremental system (G91). The default definition of centre coordinates I
and J is incremental (relative to the starting point). In the configuration program the
centre dimensioning can be set to the absolute system (see Configuration Manual)

If none of the coordinates in X Y and Z has been programmed, only the rapid
traverse function will be retentive.

If a tool change, a change of the feedrate and/or a change of spindle speed have
been programmed in the same NC-block, these commands will be executed prior
to moving the tool to the target position.

A maximum of three M-commands may be programmed; their respective order of


execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 37


G04 Dwell

Dwell G04
Function The tool movement is halted for the specified dwell time.

NC-Block G04 X...

Addresses X Dwell time in seconds

Programming Example:

N120 G04 X+2

Programming Hints The dwell time must be speciefied in seconds, at the address X. The G04
command must be programmed in a separate NC-block.

38 Programmer’s Guide for CNC Milling


In-Position Programming (Deceleration) G09

In-Position Programming (Deceleration) G09


Function If G09 is programmed as part of an NC-block, the feedrate will be decelerated to
zero when the programmed contour point is reached. After the standstill at precisely
the programmed position, the tool motion is resumed and the next contour point, as
programmed in the subsequent NC-block, is approached.

NC-Block X... Z... G09


Explanation As NC-programs are executed continuously, i.e. without interrupting the feed
motion, position errors such as lags or overshoots may occur. To move the tool
with precision to the programmed coordinates, the G09 command must be
programmed.

Programming Hints The command G09 must be placed at the end of an NC-block.

Examples: G01 X... Y... G09

G02 X... Y... I... J... G09

G03 X... Y... I... J... G09

X... Y... G09

© MTS GmbH 1998 39


G10 Rapid Traverse with Polar Coordinates

Programming Example:

N110 G00 X+65 Y+25


N115 G10 A+32 B+65 I-25 J+20

Diagram G10.1 : The Angle A is programmed in the absolute system, the polar coordinates
are programmed incremental.

Programming Example:

N110 G00 X+65 Y+25


N115 G10 A+71 B+65 I+40 J+45 P070 P071

Diagram G10.2 : The Angle A is programmed incremental, the polar coordinates are
programmed in the absolute system.

40 Programmer’s Guide for CNC Milling


Rapid Traverse with Polar Coordinates G10

Rapid Traverse with Polar Coordinates G10


Function The tool moves to the programmed position at the maximum speed. The path is
specified by polar coordinates.

NC-Block G10 A... B... [I...]1) [J...]1) (P070) (P071)

[F...] [S...] [T...] [M...]


Addresses A Angle to the X-axis (absolute); (See diagr. G10.1)
With the standard configuration of the Simulator (circle centres incremental)
the angle A may be programmed incremental by adding the address P071,
i.e. the angle between the line from the origin to the starting point and the line
from the origin to the target point (see Diagram G10.2).
If absolute circle centres have been configurated, the specified angle is
alsways interpreted as absolute.

B Distance from the origin to the target point

Optional Addresses I, J Polar coordinates incremental from the starting point; (see Diagram
G10.1)
With the standard configuration of the Simulator (circle centres
incremental) the polar coordinates may be programmed absolute (i.e.
relative to the workpart zero) by adding the address P070 (see Diagram
G10.2).
If absolute circle centres have been configurated, the coordinates I and J
are always interpreted as absolute.
1) With the standard configuration of the Simulator, when I or J have not been
programmed, zero will be assumed as the applicable coordinate value. If absolute
circle centres have been configurated, the coordinates of the starting point (the
actual tool position) will be assumed as the polar coordinates I and J.

F Feedrate (mm/min)
S Spindle Speed (RPM)
T Tool Change
M Additional Function

Programming Hints If a tool change, a change of the feedrate and/or a a change of spindle speed have
been programmed within the same NC-block, these commands will be executed
prior to moving the tool to the target position.

A maximum of three M-commands may be programmed; their respective order of


execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 41


G11 Linear Interpolation With Polar Coordinates

Programming Example

N110 G00 X+55 Y+25


N115 G01 Z-5
N120 G11 A+27 B+72 I-30 J+25

Diagram G11.1 : Angle A is programmed in the absolute system , polar coordinates


incremental

Programming Example

N110 G00 X+55 Y+25


N115 G01 Z-5
N120 G11 A+66 B+72 I+25 J+50 P070 P071

Diagram G11.2 : Angle A is programmed incremental , polar coordinates in the absolute


system

42 Programmer’s Guide for CNC Milling


Linear Interpolation With Polar Coordinates G11

Linear Interpolation with Polar Coordinates G11


Function The tool will move at the determined feedrate to the programmed position. The tool
path is determined by polar coordinates.

NC-Block G11 A... B... [I...]1) [J...]1) (P070) (P071)

[F...] [S...] [T...] [M...]


Addresses A Angle to the X-axis (absolute); (See diagr. G11.1)
With the standard configuration of the Simulator (circle centres incremental)
the angle A may be programmed incremental by adding the address P071,
i.e. the angle between the line from the polar centre to the starting point and
the line from the polar centre to the target point (see Diagram G11.2).
If absolute circle centres have been configurated, the specified angle is
alsways interpreted as absolute.

B Distance from the polar centre to the target point

Optional Addresses I, J Polar coordinates incremental from the starting point; (see Diagram G11.1)
With the standard configuration of the Simulator (circle centres incremental)
the polar coordinates may be programmed absolute (i.e. relative to the
workpart zero) by adding the address P070 (see Diagram G11.2).
If absolute circle centres have been configurated, the coordinates I and J are
always interpreted as absolute.
1) With the standard configuration of the Simulator, when I or J have not been
programmed, zero will be assumed as the respective coordinate value. If absolute
circle centres have been configurated, the coordinates of the starting point (the
actual tool position) will be assumed as the polar coordinates I and J.

F Feedrate (mm/min)
S Spindle Speed (RPM)
T Tool Change
M Additional Function

Programming Hints If a tool change, a change of the feedrate and/or a a change of spindle speed have
been programmed in the same NC-block, these commands will be executed prior
to moving the tool to the target position.
A maximum of three M-commands may be programmed; their respective order of
execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 43


G12 Circular Interpolation with Polar Coordinates

Programming Example:

N110 G00 X+55 Y+40 Z+2


N115 G01 Z-5
N120 G12 A+72 I+30 J+10

Diagram G12.1 : The angle A is programmed in the absolute system, the polar coordinates
are programmed incremental

Programming Example:

N110 G00 X+55 Y+40 Z+2


N115 G01 Z-5
N120 G12 A+127 I+85 J+50 P070 P071

Diagram G12.2 : The angle A is programmed incremental, the polar coordinates are
programmed in the absolute system

44 Programmer’s Guide for CNC Milling


Circular Interpolation with Polar Coordinates G12

Circular Interpolation with Polar Coordinates G12


Function The tool will move to the programmed position at the determined feedrate
clockwise on a circular arc. The starting point is the actual tool position. The target
point is established from the polar coordinates and the programmed angle.

NC-Block
G12 A... [I...]1) [J...]1) (P070) (P071)

[F...] [S...] [T...] [M...]

Addresses A Angle of that line to the X-axis (absolute), which connects the origin with the
target point ; (See diagr. G12.1)
With the standard configuration of the Simulator (circle centres incremental)
the angle A may be programmed incremental by adding the address P071,
i.e. the angle between the line from the origin to the starting point and the line
from the origin to the target point (see Diagram G12.2).
If absolute circle centres have been configurated, the specified angle is
alsways interpreted as absolute.

Optional Addresses I, J Polar coordinates incremental from the starting point; (see Diagram G12.1)
With the standard configuration of the Simulator (circle centres incremental)
the polar coordinates can be programmed absolute (i.e. relative to the
workpart zero) by adding the address P070 (see Diagram G12.2).
If absolute circle centres have been configurated, the coordinates I and J are
always interpreted as absolute.
1) With the standard configuration of the Simulator, when I or J have not been
programmed, zero will be assumed as the respective coordinate value. If absolute
circle centres have been configurated, the coordinates of the starting point (the
actual tool position) will be assumed as the polar coordinates I and J.

F Feedrate (mm/min)
S Spindle Speed (RPM)
T Tool Change
M Additional Function

Programming Hints If a tool change, a change of the feedrate and/or a a change of spindle speed have
been programmed in the same NC-block, these commands will be executed prior
to moving the tool to the target position.
A maximum of three M-commands may be programmed; their respective order of
execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 45


G13 Circular Interpolation with Polar Coordinates

Programming Example:

N110 G00 X+55 Y+25 Z+2


N115 G01 Z-4
N120 G13 A+27 I+15 J+30

Diagram G13.1 : The angle A is programmed in the absolute system, the polar coordinates
are programmed incremental

Programming Example:

N110 G00 X+55 Y+25 Z+2


N115 G01 Z-4
N120 G13 A+143 I+70 J+55 P070 P071

Diagram G13.2 : The angle A is programmed incremental, the polar coordinates are
programmed in the absolute system

46 Programmer’s Guide for CNC Milling


Circular Interpolation with Polar Coordinates G13

Circular Interpolation with Polar Coordinates G13


Function The tool will move to the programmed position at the determined feedrate counter-
clockwise on a circular arc. The starting point is the actual tool position. The target
point is established from the polar coordinates (relative to the origin) and the
programmed angle.

NC-Block G13 A... [I...]1) [J...]1) (P070) (P071)

[F...] [S...] [T...] [M...]


Addresses A Angle of that line to the X-axis (absolute), which connects the origin with the
target point ; (See diagr. G13.1)
With the standard configuration of the Simulator (circle centres incremental)
the angle A may be programmed incremental by adding the address P071,
i.e. the angle between the line from theorigin to the starting point and the line
from the origin to the target point (see Diagram G13.2).
If absolute circle centres have been configurated, the specified angle is
alsways interpreted as absolute.

Optional Addresses I, J Polar coordinates incremental from the starting point; (see Diagram G13.1)
With the standard configuration of the Simulator (circle centres incremental)
the polar coordinates may be programmed absolute (i.e. relative to the
workpart zero) by adding the address P070 (see Diagram G13.2).
If absolute circle centres have been configurated, the coordinates I and J are
always interpreted as absolute.
1) With the standard configuration of the Simulator, when I or J have not been
programmed, zero will be assumed as the respective coordinate value. If absolute
circle centres have been configurated, the coordinates of the starting point (the
actual tool position) will be assumed as the polar coordinates I and J.

F Feedrate (mm/min)
S Spindle Speed (RPM)
T Tool Change
M Additional Function

Programming Hints If a tool change, a change of the feedrate and/or a a change of spindle speed have
been programmed within the same NC-block, these commands will be executed
prior to moving the tool to the target point coordinates.
A maximum of three M-commands may be programmed; their respective order of
execution is described in Section 3 ("Additional Functions").

© MTS GmbH 1998 47


G20 Inch Data Input

Inch Data Input G20


Function This command serves to switch the unit of measurement from millimeters to
inches.

NC-Block G20
Explanation When this function has been programmed, all coordinate values must be specified
in inches. Accordingly the technology data concerning the feedrate will be altered
from millimeters per minute (mm/min) to inches per minute (in/min)

Programming Hints The G20 command must be programmed in a separate NC-block.

Switching the unit of measurement only takes effect within the current NC-block.

Inches will be the active unit of measurement only until the system is switched back
to the millimeter unit.

At the end of each program (M30) the control system will automatically return to the
millimeter data input.

48 Programmer’s Guide for CNC Milling


Millimeter Data Input (mm) G21

Millimeter Data Input (mm) G21


Function This command serves to switch the unit of measurement from inches to
millimeters.

NC-Block G21
Explanation When this function has been programmed, all coordinate values must be specified
in millimeters (mm). Accordingly the technology data concerning the feedrate will be
altered from inches per minute (in/min) to millimeters per minute (mm/min).

Programming Hints The G21 command must constitute a separate NC-block.

Switching the unit of measurement only takes effect within the actual NC-block

Millimeters will be the active unit of measurement until the system is switched back
to inch data input by the G20 command.

© MTS GmbH 1998 49


G22 Subprogram Invocation

Programming Example:

N... G22 U1234


N...

Ú
NN...
N... G22 U5678

Diagram G22.1 : Invovation of various subroutines from a main program

Programming Example:

N... /01 G22 U1234


N...

Ú
NN...
N... /02 G22 U1234

Diagram G22.2 : Multiple invocation of a subprogram from a main program, while omitting
certain NC-blocks (optional block skip).

50 Programmer’s Guide for CNC Milling


Subprogram Invocation G22
-

Invocation of a Subprogram G22


Function A subprogram invocated by the command G22 is executed by the control system.
After this, the execution of the main program will be continued from the position in
the program line, where the subprogram has been invocated.

NC-Block G22 U... [P...] [Q...] [S...] [/...]

Addresses U At the address U the name of the subprogram must be programmed.

Optional Addresses P is the start block number at which the subprogram execution starts.
Q is the end block number at which the subprogram execution ends.
S states the number of repetitions of the subprogram execution
/ The slash code serves to denote those NC-blocks which are to be omitted in
the current execution of a subprogram (see explanation below).
Explanation Programming subroutines is recommended to effect the repeated execution of
cetrain program parts, e.g. to repeat the machining of a contour with different tool
adjustments or after one ore several zero shifts. Executed as a subroutine, the
applicable cycle must be programmed but once.

Further subprograms can be invocated from a subprogram; up to 11 subprograms


can be nested.

Optional Block Skip The address "/" (slash code) causes the control system to omit ("skip") certain NC
blocks (marked at will) during a subprogram run. Such a selection of blocks
marked to be skipped constitutes a "level" of block omissions, several of which
may be defined for each subprogram. E.g.: Those blocks which have been skipped
in the first execution of the subprogram (level 1) will be executed during the second
run of the same subprogram (level 2). Or, conversely: The set of blocks executed
at the first invocation of the applicable subprogram will be marked to be skipped in
the second run.

Example (see Diagram G22.2 on the previous page):


- In the first execution of the subprogram (/01 U1234) the control system will skip
all NC blocks marked by /01.
- In the second run of the same subprogram (/02 U1234) the control system will
skip all NC blocks marked by /02.

Programming Hints Programming of the addresses P, Q and S is not mandatory:


- if P and Q have not been programmed, the complete subprogram will be
executed.
- if S has not been programmed, only a single program run will be executed.

At the end of each defined subprogram the command M99 must be programmed,
to cause the control system to return to the main program, resp. to the subprogram
from which the current subprogram has been invocated. This return condition may
be edited in the configuration program (cf.. Configuration Manual: Subprograms).

© MTS GmbH 1998 51


G23 Repeated Program Parts

Repeated Program Parts G23


Function The command G23 causes the repetition of a program part.

NC-Block G23 P... Q... [S...]

Addresses P Start Block Number:


Number of the main program block at which the repeated part starts.
Q End Block Number:
Number of the main program block at which the repeated part ends.

Optional Addresses S Number of repetitions:


The value programmed at the address S determines the desired number of
repetitions of the the program part.

Programming Example:

N190 G23 P160 Q180

Programming Hints Programming the addresses P and Q is mandatory. If the address S is not
programmed, a single repetition of the specified program part will be executed.
Programming a repeated part of a subprogram is not allowed.
Modal commands are not affected by program part repetition.

52 Programmer’s Guide for CNC Milling


Unconditional Jump G24

Unconditional Jump G24


Function The command G24 instructs the control system to continue the machining from the
NC block programmed at the address P.

NC-Block G24 P...

Addresses P Target Block Number:


At this address the number of the main program block must be specified,
from which the program execution shall be resumed.

Programming Example:

N110 G24 P185

Programming Hints Programming a jump instruction as part of subprogram is invalid.

© MTS GmbH 1998 53


G25 Referencing

Move to the Reference Point G25


Function The spindle head moves to the reference point in rapid traverse motion.

NC-Block G25

Explanation The command G25-causes the control system to move the spindle head to the
reference point, the sequence of motions being in the Z-axis first and subsequently
in the X- and Y-axes..

Programming Hints As the position of the reference point is part of the configuration, G25 requires no
coordinate values.

54 Programmer’s Guide for CNC Milling


Approach the Tool-Changing Position G26

Move to the Tool-Changing Position G26


Function The command G26 causes the control system to move the spindle head to the
tool-changing position in rapid traverse motion.

NC-Block G26

Programming Hints As the tool-changing position has been determined in the configuration, no
coordinate values must be specified with the command G26.

The default configuration of the CNC Simulator only allows an approach to the tool
changing position in the Z-axis. The user may edit this configuration and determine
a specific order of movements along the axes to approach the tool changing
position (see the Configuration Manual).

© MTS GmbH 1998 55


G40 Cancel Cutter Radius Compensation

NC-Block: G40 NC-Block: G40 A.. G45


Diagram G40.1 : Diagram G40.2 :
Cancel Cutter Radius Compensation / No Retreat Cancel Cutter Radius Compensation /Contour-
Instruction parallel Retreat

NC-Block: G40 A.. G46 NC-Block: G40 A.. G47

Diagram G40.3 : Diagram G40.4 :


Cancel Cutter Radius Compensation / Tangential Cancel Cutter Radius Compensation / Tangential
Retreat: Semi-circle with the Radius A Retreat: Quadrant with the Radius A

56 Programmer’s Guide for CNC Milling


Cancel Cutter Radius Compensation G40

Cancel Cutter Radius Compensation CRC G40


Function The command G40 cancels the cutter radius compensation activated by
commands G41 or G42.

NC-Block G40
Programming Hints De-activation of the cutter radius compensation must be programmed in a separate
NC-block. Additionally the tool retraction path, after finishing the contour, may be
programmed. Possible retreat instructions are the following:

Tool Retreat Instructions When Cancelling CRC


If the cutter radius compensation is cancelled by the command G40 the tool will be
moved to the last defined contour point (see Diagram G40.1).

NC-Block G40
Programming Hints Please observe that the retreat point should not interfere with the contour.

Cancel CRC / Contour-parallel Retreat G45


When the cutter radius compensation is canceled, the tool will move parallel to the
contour, beyond the last defined contour point (see Diagram G40.2). If the last
entity is a circular arc, the tool will move parallel to the tangent to the contour at the
end point.

NC-Block G40 A.. G45


Addresses A The distance of linear tool movement beyond the last contour point.

Cancel CRC / Semi-circular Retreat G46


When the cutter radius compensation is cancelled, the tool will retreat from the
contour tangential in a semi-circle (see Diagram G40.3).

NC-Block G40 A... G46


Addresses A Diameter of the Semi-circle

Cancel CRC / Quadrant Retreat G47


When the cutter radius compensation is cancelled the tool will retreat from the
contour tangential in a -quadrant (see Diagram G40.4).

NC-Block G40 A... G47


Addresses A Radius of the Quadrant

© MTS GmbH 1998 57


G41 / G42 Cutter Radius Compensation Left / Right

Diagram G41.1 :

Diagram G41.2 : The qualifications "left of contour", resp "right of contour" apply to the
direction of the tool movement along the contour.

Diagram G41.3 : Diagram G41.4 :


At internal corners an arc is cut corresponding to the At external corners the cutter moves on a
cutter radius. compensatory arc..

58 Programmer’s Guide for CNC Milling


Cutter Radius Compensation Left / Right G41 / G42

Cutter Radius Compensation

- to the Left of the Contour G41

- to the Right of the Contour G42


As mentioned in Section 2.4 "Tool Geometry and Compensation Values", with
contour-milling the cutter radius must be considered in establishing the contour-
parallel cutter centre path (equidistant) (see Diagram G41.1).

Function When the cutter radius compensation (CRC) is operative, only the workpart contour
points are programmed and the control system must be informed whether the
cutter shall move left or right of the programmed contour.The qualifications left /
right apply to the direction in which the tool travels along the contour (see Diagram
G41.2).

The following two commands will activate the cutter radius compensation:

NC-Block G41 Compensation to the left of the contour (in the cutting direction)

G42 Compensation to the right of the contour (in the cutting direction)

Programming Hints If the cutter radius compensation (CRC) has been activated for a program part, the
following must be observed:

- As long as the cutter radius compensation is operative, no zero shifts (G53,


G54, G59) can be effected.
- No tool changing functions can be programmed.
- Machining cycles cannot be defined or invocated.
- Radii of internal corner roundings must be greater than the cutter radius.
- Two consecutive movements in Z cannot be programmed.

© MTS GmbH 1998 59


G41 / 42 Approach Instructions With Cutter Radius Compensation

NC-Block:
NC-Block:
G41 G01 X.. Y.. Z..
G41 A.. G45 G01 X.. Y.. Z..
Diagram G41.5 :
Diagram G41.6 :
Activate Cutter Radius Compensation Without
Activate Cutter Radius Compensation with Contour-
Approach Instruction
parallel Approach Instruction

NC-Block: NC-Block:
G41 A.. G46 G01 X.. Y.. Z.. G41 A.. G47 G01 X.. Y.. Z..

Diagram G41.7 : Diagram G41.8 :


Activate Cutter Radius Compensation with Activate Cutter Radius Compensation with
Tangential Approach in a Semi-circle Tangential Approach in a Quadrant

F The above examples represent the possible approach instructions for cutter radius
compensation to the left of the contour (G41). It stands to reason that the same
addresses equally apply to programming approach instructions for cutter radius
compensation to the right of he contour (G42).

60 Programmer’s Guide for CNC Milling


Approach Instructions With Cutter Radius Compensation G41 / 42

Approach Instructions with CRC


When the cutter radius compensation is activated (G41 resp. G42) the path can be
determined on which the tool shall approach the programmed contour. The
following approach instructions can be programmed:

Approach Instructions with CRC


If the cutter radius compensation is activated by G41 or G42 without additional
instructions, the tool will move on a straight line directly to the first contour point
(see Diagram G41.5).

NC-Block G41 G01 X.. Y.. Z..


Addresses X, Y Coordinates of the first contour point
Z Depth of cut

Contur-parallel Approach G45


The tool moves in the XY plane to the established cutting position. At this position
the tool is adjusted to the applicable Z-value, before it travels contour-parallel to the
first contour point (See Diagram G41.6).

NC-Block G41 A.. G45 G01 X.. Y.. Z..


Addresses A Distance between the cutting position and the first contour point
X, Y Coordinates of the first contour point
Z Depth of cut

Semicircular Approach G46


The tool moves in the XY plane to the established cutting position. At this position
the tool is adjusted to the applicable Z-value, before it approaches the first contour
point tangentially in a semicircle (See Diagram G41.7).

NC-Block G41 A.. G46 G01 X.. Y.. Z..


Addresses A Radius of the semicircle
X, Y Coordinates of the first contour point
Z Depth of cut

Approach in a Quadrant G47


The tool moves in the XY plane to the established cutting position. At this position
the tool is adjusted to the applicable Z-value, before it travels in a quadrant
tangential to the first contour point (vgl. Diagram G41.8).

NC-Block G41 A.. G47 G01 X.. Y.. Z..


Addresses A Radius of the quadrant
X, Y Coordinates of the first contour point
Z Depth of cut

© MTS GmbH 1998 61


G53 Cancel Zero Shift

Cancel Incremental Zero Shift G53


Function The command G53 serves to cancel an incremental zero shift (cf. G59). The
system will return to the original coordinate system as previously determined by
one of commands G54 to G57 or by touching the workpiece.

NC-Block G53

Programming Hints The command G53 must be programmed as a separate NC-block

62 Programmer’s Guide for CNC Milling


© MTS GmbH 1998 63
G54 - G57 Define Zero Points

Diagram G54.1 : The programmed zero point coordinates must always relate to the machine
datum.

Programming Example:

N010 G54 X+30 Y+20 Z+55


N020 T0202 S800 F200 M03
N030 G00 Z+100
N040 G55 X+70 Y+40 Z+55 Shifting the zero point to the starting position of the 1st contour
N050 G00 X+0 Y+0 Z+2 Approaching the starting position
N060 G01 Z-12 Depth of cut
N070 Y+30 Contour-milling
N080 X-20
N090 G00 Z+2 Tool-retreat to the clearance plane
N100 G56 X+115 Y+65 Z+55 Shifting the zero point to the starting position of the 2nd contour
N110 G23 P50 Q 90 Routine (milling the 2nd contour)
N120 G57 Shifting the zero point to the starting position of the 3rd contour
(Zero point determined by touching the workpart: X+160 Y+90 Z+55)
N130 G23 P50 Q 90 Routine (milling the 3rd contour)
N140 G00 Z100 M30 Back-out, program end
Diagram G54.2 : The example shows the programming of a contour by application of a
program part repetition (routine) (G23). Alternatively this contour description
may be stored as a sub-program to be invocated by (G22).

64 Programmer’s Guide for CNC Milling


Define Zero Points G54 - G57

Define Workpart Zero - Absolute: G54 - G57


Function The commands G54 to G57 serve to define the coordinates X, Y and Z of a
workpart zero relative to the machine zero. A total of four different zero points may
be defined and stored.

NC-Block G54 [X...] [Y...] [Z...] or G55 [X...] [Y...] [Z...] or

G56 [X...] [Y...] [Z...] or G57 [X...] [Y...] [Z...]


Addresses X X-Coordinate of the current workpart zero
Y Y-Coordinate of the current workpart zero
Z Z-Coordinate of the current workpart zero
Explanation After the set-up has been completed, the control system of the machine tool refers
to the machine zero as the predefined origin of the coordinate system. In the
programming of tool motions, however, the workpart zero will constitute the origin of
the applicable coordinate system. It follows that the reference point must be shifted
from the machine zero to the workpart zero.

The workpart zero may be defined at will. To avoid additional computing efforts in
the programming, however, the new origin of the coordinate system should be
positioned in a way that as many coordinate values as possible can be read in as
specified in the workshop drawing.

To facilitate the programming task in the case of complex or iterant contours, up to


four different workpart zero points (G54, G55, G56 und G57) may be defined (see
Diagram G54.2). The coordinates of the respective zero point may either be
specified in the applicable program line, or already be defined and stored in the set-
up mode, by setting the axes to zero or touching the workpart (for details, see the
CNC Simulator Manual). Each stored zero point will be activated by the
corresponding address in the NC program (e.g.: N... G56) .

Programming Hints Coordinate values of the current zero point always relate to the machine zero, even
when several origins are defined within the same NC-program, i.e. a workpart zero
is always determined in absolute coordinates.

The defined zero points are retentive: they will remain operative, even after a
change of program, until they are overwritten. After a restart of the CNC Simulator,
all coordinates are set to zero.

In the CNC Simulator the position of the machine zero can be defined in the
configuration program(see the Configuration Manual).

© MTS GmbH 1998 65


G59 Incremental Zero Shift

Programming Example:
N110 G59 X+100 Y+40

Diagram G59.1 : The origin is shifted to the absolute coordinates X=100 Y=40 .

Programming Example:
N110 G59 X+100 Y+20 I-30 J+20 A+120

Diagram G59.2 : In this example the coordinate system is first shifted to the point X=100 /
Y= 20 and then rotated by 120° about the point I=-30 / J=+20.

66 Programmer’s Guide for CNC Milling


Incremental Zero Shift G59

Incremental Zero Shift G59


Function The command G59 serves to shift and concurrently rotate the coordinate system
applied with an NC-program.

NC-Block G59 X... Y... Z... [I...] [J...] [A...]


Addresses X value by which the intermediate coordinate system is shifted in the X-axis.
Y value by which the intermediate coordinate system is shifted in the Y-axis.
Z value by which the intermediate coordinate system is shifted in the Z-axis.
Optional Addresses I X-coordinate of the rotation centre, incremental to the currently shifted
intermediate origin.
J Y-coordinate of the rotation centre, incremental to the currently shifted
intermediate origin.
A Rotation angle, incremental
Explanation In many cases the programming of complex workpart contours can be much
facilitated by defining a so-called "intermediate reference point" (i.e. a temporary
coordinate system, to which the dimensioning will relate, instead of the original
system). The command G59 serves to shift and/or rotate the coordinate system as
desired.

If only a shift of the coordinate system is intended, the origin of the temporary
system can be defined by setting in the applicable X, Y and Z-coordinates. In this
case it will not be necessary to program the addresses I, J and A (see Diagram
G59.1).

If additionally a rotation of the coordinate system about a specific point is desired,


this rotation centre must be programmed at the addresses I and J, as well as the
rotation angle at the address A. The applicable values for I and J are incremental,
relative to the shifted (intermediate) coordinate system (see Diagram G59.2). To
rotate the shifted coordinate system about its origin, only the angle A must be
programmed.

Subsequently programmed coordinate values relate to the shifted and/or rotated


coordinate system. They will be retained until the temporary system is cancelled or
a further shift is effected by the G59 command (cf. Command G53).

Programming Hints Any shift effected by the command G59 applies to the current origin (which itself
may have been set by a G59 shift).

Please note the adding-up of rotary angles when repeated zero shifts are effected
within the same program.

© MTS GmbH 1998 67


G90 Absolute Dimensions

Activate Absolute Dimensions G90


Function When the command G90 is programmed, all subsequent coordinate values relate
to the workpart zero. The target position, to which the tool shall move, is
programmed in absolute coordinates,regardless of the current tool position.

NC-Block G90

Programming Example
with Absolute Coordinates:

N085 G90
N090 G00 X+30 Y+30 Z+2
N095 G01 Z-6
N100 G01 X+110 Y+75

Programming Hints The absolute coordinate system remains operative until it is deactivated by G91
(activating the incremental dimensioning).

68 Programmer’s Guide for CNC Milling


Incremental Dimensions G91

Activate Incremental Dimensions G91


Function When the incremental system (also called the relative system) is activated, the
programmed coordinates of the target position relate to the actual tool position; i.e.
the values (distances) must be specified by which the tool shall move in the
respective axis from the current position.

NC-Block G91

Programming Example
with Incremental Dimensions:

N085 G00 X+30 Y+30 Z+2


N090 G91
N095 G01 Z-8
N100 G01 X+80 Y+45

Programming Hints The incremental coordinate system remains operative until it is deactivated by G90
(activating the absolute dimensioning)

© MTS GmbH 1998 69


G94 Feedrate (mm/min)

Feedrate (Millimeters per Minute) G94


Function The command G94 serves to program the feedrate. The unit of measurement is
"Millimeters per Minute".

NC-Blocks G94 F...

Addresses F Feedrate (mm/min)

Programming Example:

N120 G94 F500.000

In this example the feedrate is 500 millimeters per minute.

F
If the unit of measurement has been switched from millimeters to inches (see
NC-Command G20), the programmed feedrate will be interpreted accordingly in
inches per minute,

70 Programmer’s Guide for CNC Milling


Feedrate (mm / rev) G95

Feedrate (Millimeters per Revolution) G95


Function The command G95 serves to program the feedrate per revolution. The measuring
unit is millimeters.

NC-Block G95 F...

Addresses F Feedrate (mm/rev)

Programming Example:

N080 G95 F000.300

In this example the feedrate is 0,3 millimeters per revolution.

F If the user has switched the unit of measurement from millimeters to inches (see
NC-Command G20), the programmed feedrate will be interpreted accordingly in
inches per revolution,

© MTS GmbH 1998 71


72 Programmer’s Guide for CNC Milling
5. Cycles

5. Cycles
Complete Survey of Available Cycles

G61 Drilling Pattern on a Divided Circle

G67 Milling a Rectangular Pocket

G77 Cycle Invocation on a Divided Circle

G78 Cycle Invocation on a Straight Line

G79 Cycle Invocation at a Point

G81 Drilling Cycle

G82 Drilling Cycle with Chip-Breaking

G83 Deep Drilling Cycle with Chip-Breaking and Chip-Removal

G84 Tapping Cycle

G85 Reaming of a Drilled Hole

G86 Boring

G87 Rectangular Pockets Cycle

G88 Circular Pockets Cycle

G89 Pins Cycle

F Please note that for the below cycle descriptions the plane selection G17 is a
precondition.

© MTS GmbH 1998 73


Clearance Planes

Diagram : Clearance Planes:


W = Distance Between the Withdrawal Plane and the Clearance Plane
Z = Depth of Contour + Clearance Distance

74 Programmer’s Guide for CNC Milling


Clearance Planes

Clearance Planes
Frequently applied tasks such as drilling of holes or milling of pockets are stored as
so-called machining cycles.

Multiple repetition of these cycles is common e.g. with drilling holes on a divided
circle or on a straight line. In the execution of a repeated cycle the tool will be
retracted to the withdrawal plane (2nd. clearance plane) before moving (in rapid
traverse motion) to the next target position. Programming the Z-coordinate of this
plane (the Y- or X-coordinate accordingly, if G18 or G19 have been programmed in
the machining plane selection) is not necessary, it will be established from the
actual tool position at the moment of the cycle invocation. Please make sure that
the clearance plane (i.e. the position of the retracted tool) is defined sufficiently
above the workpart contour (see Diagram).

At the address W the distance between the 1st and the 2nd clearance plane must
be programmed. After the cycle is invocated, the tool must be positioned in the
withdrawal plane (2nd clearance plane). Subsequently the tool will be moved in the
rapid-traverse mode from the withdrawal plane down to the clearance plane.The
sign to W will be ignored. If the address W is not programmed, both clearance

F
planes are interpreted as identical.

The downfeed motion in the Z-axis must be specified incremental (with the
appropriate sign) relating to the (1st) clearance plane:

Z = Depth of the contour + clearance distance

After completion of the cycle the tool is retracted in a rapid motion to the withdrawal
plane.

© MTS GmbH 1998 75


G61 Drilling Pattern on a Divided Circle

Programming Example:

N090 G61 B+50 K+20 S9 A+20

Diagram G61.1 : Equidistant Drillings on a Divided Circle

Programming Example
with a Negative Circle Radius:

N090 G61 B-50 K+20 S9 A+20

Diagram G61.2 : If a negative sign is programmed to the circle radius B, the angle A will be set
in negative to the X-axis.

76 Programmer’s Guide for CNC Milling


Drilling Pattern on a Divided Circle G61

Drilling Pattern on a Divided Circle G61


Function The cycle G61 serves to execute a pattern of equidistant hole drillings on a divided
circle.

NC-Block G61 B... K... S... [A...]

Addresses B Circle Radius


In special cases the circle radius B may be programmed with a negative sign
(see diagram G61.2).
K Drilling Depth - incremental to the current tool position
S Number of Drilled Holes
The angle between the drilled holes is arrived at by dividing 360 degrees by
the number S. It will be computed by the system.

Optional Addresses A Angle of the first drilled hole to the positive X-axis

Explanation The current tool position determines the centre of the circle on wich the drilling
operations shall be executed. The order of succession of the drilling is always
counterclockwise. After completion of the cycle the tool will stay in the clearance
plane above the last drilled hole.

Programming Hints The cycle G61 is immediately executed, it does not have to be invocated by G77 or
G79.

Programming a clearance plane is not possible with the G61 cycle.

© MTS GmbH 1998 77


G67 Milling of a Rectangular Pocket

Programming Example:

N090 G67 I+130 J+80 K-75 E+25

Diagram G67 : Rectancular pocket - the internal corner roundings are determined by the
cutter radius

78 Programmer’s Guide for CNC Milling


Milling of a Rectangular Pocket G67

Milling of a Rectangular Pocket G67


Function The command G67 serves to define a cycle for milling of a rectangular pocket.

NC-Block G67 I... J... K... E...

Addresses I Length of pocket in X - absolute


J Width of pocket in Y - absolute
K Depth of pocket in Z - incremental to the current tool position reduced by 1
mm, e.g.:
current tool position: +2mm, depth of pocket ref. to workpart zero: 15mm:
= > K = -16
E Downfeed

Explanation The actual tool position at the cycle invocation determines the centre of the
rectangular pocket. The downfeed by the value E applies to this position, starting
from which the pocket will be broached (from the centre outwards). After each
cutting operation the tool returns in rapid motion to to the starting position and the
subsequent downfeed is effected.

This process will be repeated until the programmed depth K is arrived at. According
to this depth and the programmed downfeed E the control system will compute the
number of cutting operations necessary. The internal corner roundings are
determined by the cutter radius. After completion of the cycle the tool will return in
fast motion to its original position.

Programming Hints The cycle G67 is immediately executed, it does not have to be invocated by G79.

Programming a clearance plane is not possible with the G67 cycle.

© MTS GmbH 1998 79


G77 Cycle Invocation on a Divided Circle

Programming Example:

N085 G81 Z-40


N090 G77 X+95 Y+70 B+50 A+30 D+40 S4

Diagram G77.1 : Repeated Drilling Cycle on a Divided Circle

Programming Example,
Circle Radius Negative:

N085 G81 Z-40


N090 G77 X+95 Y+70 B-50 A+30 D+40 S4

Diagram G77.2 : If the circle radius B is programmed with a negative sign, the angle A will be
marked off to the negative direction of the Y-axis.

Programming Example,
Angle D Negative

N085 G81 Z-40


N090 G77 X+95 Y+70 B+50 A+30 D-40 S4

Diagram G77.3 : If D is programmed with a negative sign the drilling operations will be
executed clockwise.

80 Programmer’s Guide for CNC Milling


Cycle Invocation on a Divided Circle G77

Cycle Invocation on a Divided Circle G77


With the exception of cycles G61 and G67, machining cycles must be first
programmed in a separate NC-block, to be subsequently invocated for execution.

Function The command G77 effects the repeated execution of the last defined cycle. The
machining operations will be executed at an equal distance on a divided circular arc
with a defined centre (see Diagram G77.1). The centre of the arc is either
determined by the actual tool position or programmed by the X- and Y-coordinates
in the cycle invocation.

NC-Block G77 [X...] [Y...] B... D... [A...] [S...]

Addresses B Radius of the Circular Arc


In special cases the radius B may be programmed with a negative sign (see
Diagram G77.2).
D Angle between cycle executions
The rotational sense of the execution sequence is determined by the sign
programmed at D (see diagram G77.3).

Optional Addresses X X-Coordinate of the arc centre


Y Y-Coordinate of the arc centre
A Angle of the first cutting position to the positive X-axis
S Number of repetitions

Programming Hints If one or both coordinates of the arc centre have not been programmed, the
respective coordinate of the current tool position will be set in. It follows that the
actual tool position determines the arc centre, in the case that neither Y nor X have
been programmed.

If the angle A is not programmed, A is set to zero.

If S is not programmed, S is set to 1.

If, in the course of the cycle executions, a tool retreat to a specified withdrawal
plane W (2nd clearance plane) is desired, it must have been programmed
accordingly in the cycle.

© MTS GmbH 1998 81


G78 Invocation of a Cycle on a Straight Line

Programming Example:

N085 G81 Z-40


N090 G78 X+40 Y+30 A+30 D+40 S4

Diagram G78.1 : Repeated Execution of a Drilling Cycle on a Straight Line

G78 X+95 Y+70 A+37 D+25 S3 G78 X+95 Y+70 A+37 D-25 S3

Diagram G78.2 : The Orientation of the Straight Line is Determined by the Sign of the Value at D

G78 X+95 Y+30 D+25 J+15 S4 G78 X+95 Y+30 D-25 J+15 S4
Diagram G78.3 : The Orientation of the Straight Line is Determined by the Sign of the Value at D
82 Programmer’s Guide for CNC Milling
Invocation of a Cycle on a Straight Line G78

Invocation of a Cycle on a Straight Line G78


With the exception of cycles G61 and G67, machining cycles must be first
programmed in a separate NC-block, to be subsequently invocated for execution.

Function The command G78 effects a repeated execution of the last defined cycle. The
machining operations will be executed at an equal distance on a straight line (see
Diagram G78.1). The beginning point of the straight line can either be determined
by the actual tool position or programmed by the X- and Y-coordinates in the cycle
invocation.

NC-Block G78 [X...] [Y...] ( A... D... I... J... ) 1) [S...]

Addresses A Angle of the straight line to the positive X-Axis


D Distance between cycle execution positions
The orientation of the straight line is determined by the sign of the value at D
(see Diagram G78.2).
I Offset in X (incremental dimensions)
J Offset in Y (incremental dimensions)

Optional Addresses X X-Coordinate of the first cycle execution


Y Y-Coordinate of the first cycle execution
S Number of repetitions

Programming Hints If either X or Y or both coordinates are programmed, the respective coordinates of
the actual tool position will be set in. It follows that the first cycle execution starts
from the current tool position, in the case that neither Y nor X have been
programmed.

1) To determine the orientation of the straight line and the distance between cycle
invocation points on that line, two of the addresses (represented above in
parentheses) must be programmed. There is a single exception to this: if one of the
combined addresses I and J is not programmed, the respective value will be set to
zero, i.e an axially parallel straight line is defined.

If, in the combination of addresses A and D a negative sign is programmed with the
value at D, the orientation of the invocated cycles will be inversed (see Diagram
G78.2).

With the combination of addresses D, I and D, J (if D>I resp. D>J) the specified
sign of the value at D determines which of the two possible solutions will be
applied.(see Diagram G78.3).

If, in the course of the cycle executions, a tool retreat to a specified withdrawal
plane W (2nd clearance plane) is desired, it must have been programmed
accordingly in the cycle.

© MTS GmbH 1998 83


G79 Invocation of a Cycle at a Point

Invocation of a Cycle at a Point G79


With the exception of cycles G61 and G67, machining cycles must be first
programmed in a separate NC-block, to be subsequently invocated for execution.

Function When G79 is invocated, the last programmed cycle will be executed a single time
at a point which is determined by the coordinates X and Y.

NC-Block G79 [X...] [Y...]


Optional Addresses X X-Coordinate of the target position
Y Y-Coordinate of the target position

Programming Example:

N085 G81 Z-42 W+7

N090 G79 X+40 Y+30

Programming Hints If either X or Y or both coordinates have not been programmed, the respective
coordinates of the actual tool position are set in. It follows that the first cycle
execution starts from the current tool position in the case that neither Y nor X have
been programmed.

If, in the course of the cycle executions, a tool retreat to a specified withdrawal
plane W (2nd clearance plane) is desired, it will have to be programmed
accordingly in the cycle.

84 Programmer’s Guide for CNC Milling


Drilling Cycle G81

Drilling Cycle G81


Function The command G81 serves to define a drilling cycle. The cycle is invocated for
execution by one of the commands G77, G78 or G79.

NC-Block G81 Z... [W...]


Addresses Z Drilling depth, incremental to the clearance plane

Optional Addresses W Distance between the clearance plane and the withdrawal plane.
If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

Explanation The tool moves in rapid traverse motion from the withdrawal plane to the clearance
plane, then, in a single uninterrupted operation, a hole will be drilled down to the
drilling depth Z (specified incremental to the clearance plane). After completion of
the drilling operation the tool returns in rapid motion to the withdrawal plane.

Programming Example:

N090 G81 Z-30 W+10


N095 G79

Diagram G81 : Drilling Cycle

© MTS GmbH 1998 85


G82 Drilling Cycle With Chip-Breaking

Programming Example:

N090 G82 Z-47 W+5 B+0.5 D+5 K+20


N095 G79

Diagram G82.1 : Drilling Cycle, sequence of cutting operations with chip-breaking

Degression D
Example: Z = 100
K = 35
D = 10

In this example the 1st drilling depth K is set to 35


mm, the degression D is 10 mm.
Accordingly, after both the first and second
downfeed the drilling depth is reduced by 10 mm to
25 mm and 15 mm respectively. As the drilling
depth must not fall short of the value D, the
subsequent drillings (after the 3rd downfeed) will
be executed with a drilling depth of 10 mm.
With a total drilling depth of 100 mm, the drilling
depth of the last operation is 5 mm.

Diagram G82.2 : Reduction of drilling depth - degression

86 Programmer’s Guide for CNC Milling


Drilling Cycle With Chip-Breaking G82

Drilling Cycle with Chip-Breaking G82


Function The command G82 serves to define a cycle of multiple drilling passes. The cycle is
invocated for execution by one of the commands G77, G78 or G79.

NC-Block G82 Z... [W...] [B...] [D...] [K...]


Addresses Z Total drilling depth, incremental to the clearance plane

Optional Addresses W Distance between the clearance plane and the withdrawal plane.
If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

B Dwell time (sec) at the drilling level for chip-breaking

D Reduction of the drilling depth - Degression


With reference to the 1st drilling depth K the drilling depth is reduced after
each downfeed by the value D; it must however not fall short of D
(see Diagram G82.2).

K 1st drilling depth

Explanation In the first downfeed the hole is drilled down to the value K. For the purpose of chip-
breaking the tool remains on this level for the programmed dwell time B, then it will
be lifted by 1 mm. With each subsequent downfeed the drilling depth is reduced by
the programmed degression D.

This procedure is repeated until the programmed total drilling depth is arrived at.
After completion of the cycle the tool retreats in rapid motion to the withdrawal
plane.

Programming Hints If the addresses D and K are not programmed, the hole is drilled down, in a single
uninterrupted operation to the programmed total depth Z.
If only K is programmed, the drilling depth K will be the same at each downfeed.
If only D is programmed, the value D is set in as the drilling depth of each pass.

© MTS GmbH 1998 87


G83 Drilling Cycle With Chip-Breaking and Chip Removal

Programming Example:

N090 G83 Z-47 W+5 A+1 B+0.5 D+5 K+20


N095 G79

Diagram G83.1 : Cycle of Several Drilling Operations with Chip-Breaking and Chip-Removal

Degression D
Example:Z = 100
K = 35
D = 10

In this example the 1st drilling depth K is set to 35


mm, the degression D is 10 mm.
Accordingly, after both the first and second
downfeed the drilling depth is reduced by 10 mm to
25 mm and 15 mm respectively. As the drilling
depth must not fall short of the value D, the
subsequent drillings (after the 3rd downfeed) will
be executed with a drilling depth of 10 mm.
With a total drilling depth of 100 mm, the drilling
depth of the last operation is 5 mm.

Diagram G83.2 : Reduction of Drilling Depth - Degression

88 Programmer’s Guide for CNC Milling


Drilling Cycle With Chip-Breaking and Chip-Removal G83

Drilling Cycle with Chip-Breaking and Chip-Removal


G83
Function The command G83 effects the drilling of a hole by a number of consecutive
downfeed operations. Different from the G82 command, the tool is retracted to the
first clearance plane after each downfeed, for chip-removal. The cycle can be
invocated by one of the commands G77, G78 or G79.

NC-Block G83 Z... [W...] [A...] [B...] [D...] [K...]


Addresses Z Total drilling depth, incremental to the clearance plane

Optional Addresses W Distance between the clearance plane and the withdrawal plane.
If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

A Dwell time (sec) at the first clearance plane after tool retreat for chip-removal

B Dwell time (sec) at the drilling level for chip-breaking

D Reduction of the drilling depth - Degression


With reference to the 1st drilling depth K the drilling depth is reduced after
each downfeed by the value D; it must however not fall short of D
(see Diagram G83.2).

K 1st drilling depth

Explanation In the first downfeed the hole is drilled down to the value K at the programmed
speed and feedrate. For the purpose of chip-breaking the tool remains on this level
for the programmed dwell time B, then it will retreat to the first clearance plane for
chip-removal. Next the tool is moved down again in rapid motion to a position of
1mm above the drilling level before the drilling to the applicable programmed level
is executed. As described above, with each downfeed the drilling depth is reduced
by the programmed degression D.

This procedure (drilling and retreat to the clearance plane) is repeated until the
programmed total drilling depth will be arrived at. After completion of the cycle the
tool retreats in rapid motion to the withdrawal plane.

Programming Hints If the addresses D and K are not programmed, the hole is drilled down, in a single
uninterrupted operation to the programmed total depth Z.
If only K is programmed, the drilling depth K will be the same at each downfeed.
If only D is programmed, the value D is set in as the drilling depth of each pass.

© MTS GmbH 1998 89


G84 Tapping Cycle

Programming Example:

N090 G84 Z-47 W+5


N095 G79

Diagram G84

90 Programmer’s Guide for CNC Milling


Tapping Cycle G84

Tapping Cycle G84


Function The command G84 serves to define a tapping cycle. To execute the cycle it can be
invocated by one of the commands G77, G78 or G79.

NC-Block G84 Z... [W...]


Addresses Z Total drilling depth, incremental to the clearance plane

Optional Addresses W Distance between the clearance plane and the withdrawal plane.
If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

Explanation Prior to the cycle invocation, the sense of spindle rotation must be programmed
according to the type of tap to be employed (left-hand thread / right-hand thread). At
the invocation of the cycle the downfeed will be executed with the respective sense
of spindle rotation at the programmed speed and feedrate to the specified tapping
depth Z. As a next step the rotation sense is automatically inversed and the tool is
retracted in slow feed motion to the clearance plane. If a 2nd clearance plane
(withdrawal plane) has been defined, the tool will subsequently return to this plane
in rapid traverse motion.

F
At the end of each cycle the sense of spindle roatation is inversed once again.

Please note that, to avoid tool collision, a hole of appropriate depth and core
diameter must have been drilled prior to the tapping operation.

© MTS GmbH 1998 91


G85 Reaming of a Drilled Hole

Programming Example:

N090 G85 Z-47 W+5


N095 G79

Diagram G85

92 Programmer’s Guide for CNC Milling


Reaming of a Drilled Hole G85

Reaming of a Drilled Hole G85


Function The command G85 serves to define a cycle for reaming a drilled hole. To execute
the cycle it must be invocated by one of the commands G77, G78 or G79.

NC-Block G85 Z... [W...]


Addresses Z Total drilling depth, incremental to the clearance plane

Optional Addresses W Distance between the clearance plane and the withdrawal plane.
If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

Explanation Prior to the cycle invocation, the sense of spindle rotation must be programmed
according to the type of reamer to be employed. At the invocation of the cycle the
downfeed will be effected with the respective sense of spindle rotation at the
programmed speed and feedrate to the specified depth Z. As a next step the tool is
retracted in feed motion to the clearance plane with the rotation sense unaltered. If
a 2nd clearance plane (withdrawal plane) has been defined, the tool will return to

F
this plane in rapid traverse motion.

Please note that a hole of appropriate diameter must have been drilled prior to the
reaming operation, so as to insert the end face of the reamer.

© MTS GmbH 1998 93


G86 Boring of a Drilled Hole

Programming Example:

N090 G86 Z-47 W+5


N095 G79

Diagram G86

94 Programmer’s Guide for CNC Milling


Boring of a Drilled Hole G86

Boring of a Drilled Hole G86


Function The command G86 serves to define a cycle for boring a drilled hole. To execute the
cycle it must be invocated by one of the commands G77, G78 or G79.

NC-Block G86 Z... [W...]


Addresses Z Total drilling depth, incremental to the clearance plane

Optional Addresses W Distance between the clearance plane and the withdrawal plane.
If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

Explanation At the invocation of the cycle the drilled hole is bored at the programmed speed and
feedrate to the specified depth Z. As a next step the tool is retracted in rapid motion

F
to the withdrawal plane with the spindle at standstill.

Please note that a hole of appropriate diameter must have been drilled prior to the
boring operation, so as to insert the tool.

© MTS GmbH 1998 95


G87 Rectangular Pocket Cycle

Programming Example:
N120 G87 X+130 Y+80 Z-75 W+4 B+20 I+50 K+25
N125 G79 X+85 Y+65

Diagram G87

96 Programmer’s Guide for CNC Milling


Rectangular Pocket Cycle G87

Rectangular Pocket Cycle G87


Function The command G87 serves to determine a cycle for the milling of a rectangular
pocket.

NC-Block G87 X... Y... Z... [I...] K... [W...] [B...]


Addresses X Pocket Length in X - absolute
Y Pocket Width in X - absolute
Z Pocket Depth in X - incremental to the clearance plane.
K Feed adjustment in Z after each pass. Only non-zero input is valid.
+: If a positive sign is programmed, the pocket will be broached on each feed
level from the centre outwards.
-: If a negative sign has been programmed with K , first a slot is milled to the
finished size, then the pocket will be broached to the programmed depth in a
single uninterrupted operation.

Optional Addresses
I Feed adjustment in the X-Y-plane (% of cutter diameter)

+ Sign: Clockwise machining


- Sign: Counterclockwise machining

If I is not programmed, I = 75 will be the default value.

W Distance between the clearance plane and the withdrawal plane.


If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.
B Radius of internal corner roundings

Explanation The starting point (centre of the pocket) is programmed with the cycle invocation
(e.g. G79) by input of the coordinates X and Y. The tool will move in rapid motion to
this starting point at which the depth of cut is set and from which the cutting
operation starts, according to the values programmed at the addresses I and K.
Please note that different modes of cycle execution result from the respective sign
programmed at the address K. After each cutting pass the tool returns in rapid
motion to the starting position for execution of the next feed motion.

This procedure will be repeated until the pocket has been broached to the
programmed total depth Z. The NC system computes the number of passes
required according to the programmed pocket depth Z and the programmed infeed
K. After completion of a cycle the tool is retracted in rapid motion to the original
position in the withdrawal plane.

© MTS GmbH 1998 97


G88 Circular Pocket Cycle

Programming Example:

N120 G88 Z-75 W+4 B+55 I+50 K+25


N125 G79 X+85 Y+65

Diagram G88

98 Programmer’s Guide for CNC Milling


Circular Pocket Cycle G88

Circular Pocket Cycle G88


Function The command G87 serves to determine a cycle for the milling of a circular pocket.

NC-Block G88 Z... B... [I...] K... [W...]


Addresses Z Depth of the pocket in Z, incremental to the clearance plane
B Radius of the pocket
K Feed adjustment in Z after each cutting operation. Only non-zero values are
valid.
+ Sign: Circular cutter path
- Sign: Helical cutter path

Optional Addresses I Feed adjustment in the X-Y-plane (% of cutter diameter)

+ Sign: Clockwise machining


- Sign: Counterclockwise machining

If I is not programmed, I = 75 will be the default value.

W Distance between the clearance plane and the withdrawal plane.


If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

Explanation The starting point (centre of the pocket) is programmed with the cycle invocation
(e.g. G79) by input of the coordinates X and Y. The tool will move in rapid motion to
this starting point at which the depth of cut is set and from which the cutting
operation starts, according to the values programmed at the addresses I and K.
Please note that different modes of cycle execution result from the respective sign
programmed at the address K. After each cutting operation the tool returns in rapid
motion to the starting position for execution of the next feed motion.

This procedure will be repeated until the pocket has been broached to the
programmed total depth Z. The NC system computes the number of passes
required according to the programmed pocket depth Z and the programmed infeed
K. After completion of a cycle the tool is retracted in rapid motion to the original
position in the withdrawal plane.

© MTS GmbH 1998 99


G89 Pin Cycle

Programming Example:

N120 G89 Z-60 W+4 B+15 C+55 I+50 K+30


N125 G79 X+85 Y+65

Diagram G89

100 Programmer’s Guide for CNC Milling


Pin Cycle G89

Pin Cycle G89


Function The command G87 serves to define a cycle for the milling of a circular pocket with
a pin.

NC-Block G89 Z... B... C... [I...] K... [W...]


Addresses Z Depth of the pocket in Z, incremental to the clearance plane
B Radius of the pin
C Radius of the pocket
K Feed adjustment in Z after each cutting operation. Only non-zero values are
valid.
The cutting operation is executed from the centre outwards
+ Sign: Circular cutter path
- Sign: Helical cutter path

Optional Addresses I Feed in the X-Y-plane (% of cutter diameter)

+ Sign: Clockwise machining


Sign: Counterclockwise machining

If I is not programmed, I = 75 will be the default value.

W Distance between the clearance plane and the withdrawal plane.


If W is not programmed or set to zero, the clearance plane and the
withdrawal plane are identical.

Explanation The starting point (centre of the pin) is programmed with the cycle invocation (e.g.
G79) by input of the coordinates X and Y. The tool will move in rapid motion to this
starting point at which the depth of cut is set and from which the cutting operation
starts, according to the definition of the pin and the values programmed at the
addresses I K and B. Please note that different modes of cycle execution result
from the respective sign programmed at the address K. After each cutting operation
the tool returns in rapid motion to the starting position for execution of the next feed
motion.

This procedure will be repeated until the programmed pin depth Z has been
reached. The NC system computes the number of passes required according to the
programmed pocket depth Z and the programmed downfeed K. After completion of
a cycle the tool is retracted in rapid motion to the original position in the withdrawal
plane.

© MTS GmbH 1998 101


6. Programming of Contour Strings

6. Programming of Contour Strings


To meet the requirements of NC-machining, in a workpart dimensioning all
coordinates should be specified that are necessary in compliance with DIN 66025
for programming the end point of a straight line or a circular arc, or of the circle
centre. As a matter of fact, workshop drawings of workparts often lack some of the
required dimensions. This can lead to extensive mathematical calculation in
establishing the coordinates. In such cases the programming can be much
facilitated by employing the so-called programming of contour strings (also known
as segment contour programming).

A contour string is defined as an oriented succession of entities (segments),


namely straight lines and circular arcs, describing a workpart contour. In addition to
the above mentioned specification of coordinates of the starting and end points or
centre points, angles, lengths, tangential transitions roundings and chamfers, as
are necessary for geometric definitions without auxiliary calculations, may be
entered. When the segment contour programming is operative, transition points or
end points of entities will be computed by the control system, to the effect that
coordinates can be entered as specified in the workshop drawing.

G-Functions for Contour String Programming


G71 Linear Interpolation (analogous to G01)
G72 Circular Interpolation: Clockwise (analogous to G02)
G73 Circular Interpolation: Counterclockwise (analogous to G03)

F G71, G72 and G73 are non-modal commands, i.e. they take effect only in the
block in which they are programmed. Even if address values remain unchanged,
they must be programmed once again in the subsequent NC-block.

To structure the input of geometry, which will be necessary with a complex contour
string consisting of numerous entities, a so-called multi-point-string (N-point
string) is defined, namely as follows:

Definition An N-point string is defined as a sequence of N-1 entities with N points, from a
given starting point P0 to the end point PN-1, whose coordinates may either be
entered or computed by the the control system from the data specified for the N-
point string.

Specification of the dimensions of the last entity is required for the computing of the
previous entity and its end point coordinates. Starting out from the given point P0 a
closed N-point string can be computed. It follows that any contour can be
computed as a sequence of linked N-point strings.

Common multi-point strings are the following:

- Two-Point-Strings Consisting of one entity


- Three-Point Strings Consisting of two entities
- Four-Point-Strings Consisting of three entities

102 Programmer’s Guide for CNC Milling


6. Programming of Contour Strings

Two-Point-Strings (N=2)
Two-Point-Strings define a single entity, either a straight line or a circular arc. With
the starting point P0 given, the end point P1 will be computed according to the
dimensions specified.

Diagram 6.1 : Two-Point-Strings

Three-Point-Strings(N=3)
Three-Point-Strings consist of two entities. The following combinations are possible:

1. line - line
2. line - arc
3. arc - line
4. arc - arc

Diagram 6.2 : Three-Point-Strings

© MTS GmbH 1998 103


6. Programming of Contour Strings

Addresses for Contour String Programming

Line G71
X/Y Target point coordinates in the X- and Y-
direction
A Angle of the line to the positive X-axis
L Length of the line

Diagram 6.3 : As a rule a line is defined by two of the above addresses. The solution will
not neccessarily be uniquely defined, though.

Diagram 6.3.1 : Diagram 6.3.2 : Diagram 6.3.3 :

Example: The end coordinate X and the length L of a line are given. A circle with the centre
P0 and the radius L intersects the vertical line X at the points P1 and P2 (see
Diagram 6.3.1) If the distance between the vertical line X and P0 is exactly L, the
vertical line touches the circle and there will be a single possible solution. (see
Diagram 6.3.2). If the distance between the vertical line X and P0 is greater than L,
there will be no solution (see Diagram 6.3.3). If the distance between the vertical
line X and P0 is exactly L, the vertical line touches the circle and there will be a
single possible solution. (see Diagram 6.3.2). It follows that the number of possible
solutions is two, one or none.

Circular arc G72 or G73


X/Y Target point coordinates in X- and Y
I/J Circle centre coordinates in X- and Y
(incremental or absolute)
A Arc starting angle to the positive X-axis
B Arc radius
E Arc end angle

Diagram 6.4 : Three of the above addresses must be specified to define a circular arc.
Again the number of possible solutions will be two, one or none, as a rule.

104 Programmer’s Guide for CNC Milling


6. Programming of Contour Strings

Programming Hints Programming of the X, Y coordinates is not mandatory. It follows that the respective
values are not global, i.e. even identical values will have to be programmed once
again to define the next entity in a contour string.

To compute a contour segment. the control system will refer to the values specified
in the applicable NC-block. If these specifications should prove insufficient, the
conditions of transition to the previous or to the next contour entity will be
accounted for in the computing.

Example The chosen example is a three-point-string, consisting of two lines.


The following addresses have been defined:

1st. line Y-Coordinate of the end point

2nd. line X- and Y-Coordinate of the end point plus


the angle A of the line to the positive X axis

NC-Block: G71 Y...


G71 X... Y... A...
Although the first line has not been defined, the system will compute the contour
resulting from both lines:

Diagram 6.5 :
- The starting point P0 of the contour string is defined by the current tool
position.
- The end point of the first line P1 is situated on a parallel Y1 to the X - axis.
- The end point P2 and the position of the second line are determined by the
angle A and the X, Y coordinates.

Diagram 6.6 :
- The contour is uniquely defined, as the second line and the parallel line Y1
intersect at the point P1.

Diagram 6.5 Diagram 6.6

- If A=0 or A=180 : no solution!

- When Y1=Y2 : if A=0 or A=180: infinite number of solutions!

If A unequal 0 and unequal 180: no solution!

© MTS GmbH 1998 105


6.1 Additional Addresses

6.1 Additional Addresses


In addition to the addresses for geometric dimensioning, as specified above, the
system provides the addresses P und C for further simplification of contour
programming.

Address P serves to select one of two possible solutions and to program tangential
transitions to a line or to an arc.

Address C serves to insert a chamfer or rounding between to consecutive straight


lines, without any additional computing.

In the following table the available additional addresses are listed. More detailed
explanations are given in the subsequent sections.

Address Function
P070 Absolute circle centre coordinates
P000 Tangential transition to the previous segment
P001/P002 Selecting one of two possible solutions
C+ Insertion of a rounding between two segments
P011/P012 Selecting one of two possible solutions with C+
C- Insertion of a chamfer between two linear segments

106 Programmer’s Guide for CNC Milling


6.1.1 Circle Centres Absolute

6.1.1 Circle Centres Absolute


The coordinates of an arc centre (defined by addresses I and J) may either be
programmed incremental to the starting point of the arc (P0) or else relative to the
zero point (absolute) (see Diagram 6.7). Conforming to general standards the
default configuration of the CNC Simulator is the incremental programming of circle
centres.

If the input of the coordinates of both centres in the absolute system is desired, the
word P070 must be entered in that NC-block which contains the programmed
coordinates of the circular arc.

With multi-point-strings the programming of arc centres in the absolute


system is required, because the starting point of an arc will normally not be
given (except when the arc is the first entity of a contour) but instead be
computed by the control system.

Arc centres Incremental Arc centres absolute

NC-Block: G72 X.. Y.. I.. J.. NC-Block: G72 X.. Y.. I.. J.. P070

Diagram 6.7

Programming Hints When P070 is programmed, both centre coordinates (I and J) must be entered as
absolute values.

P070 is not a global entry, it must be entered once again with each of the
consecutive NC-Blocks.

If the circle centres (I and J) of the three-point and four-point strings, represented
below, are entered in the absolute system, the input applies to the starting point P0
of the N-point string.

If in the configuration the programming of circle centres has been set to the
absolute system, programming P070 will not be necessary.

© MTS GmbH 1998 107


6.1.2 Tangential Transitions

6.1.2 Tangential Transitions


When two entities touch at exactly one point of contact, this is called a tangential
transition. The below Diagram 6.8 exemplifies once more the difference between
two intersecting entities and a line and arc touching at a transition point.

Diagram 6.8

Tangential transitions are possible between line and circular arc as well as between
two circular arcs.(see Diagram 6.9).

Diagram 6.9

Explanation As a rule two addresses are required to determine a linear entity, three to
determine a circular arc. However if the line or arc is connected to the previous
contour segment by a tangential transition, the number of addresses to be
programmed can be reduced by one by a tangential transition, the number of
addresses to be. The control system will refer to the geometric definition of the
tangential transition of two entities to determine the next entity.

108 Programmer’s Guide for CNC Milling


6.1.2 Tangential Transitions
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

Example Next to a circular arc with the beginning point P0 and the end point P1 (see
Diagram 6.10 und 6.11) a straight line shall be programmed, of which only the end
point coordinate X is given. The beginning point of that line is determined by the
end point P1 of the arc.

- If only the X-coordinate of the line is given, the end point cannot be
determined, because an infinite number of solutions exist (see Diagram
6.10)

- If the line is connected tangentially to the arc, its direction is determined by the
tangent angle at point P1. The end point of the line is defined by the
intersection of the tangent with the given X coordinate (see Diagram 6.11).

Diagram 6.10 Diagram 6.11

Programming Hints A tangential transition between two contour entities is programmed by the
NC word P000. P000 must be entered in an NC block, together with the entity
tangentially connected to the previous entity.

With all contour strings including a tangential transition the programming of


the starting angle A (rise of a line or tangent angle at the starting point P0 in
the direction of the circle orientation) may be replaced by the instruction
P000 for tangential transition.

© MTS GmbH 1998 109


6.1.2.1 Pointed Tangential Transitions
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

6.1.2.1 Pointed Tangential Transitions


When specific combinations of addresses are programmed for tangential
transitions, a number of different mathematical solutions may result.

Example A straight line with a defined beginning point P0 as well as a circular arc (G72) with
a defined centre (I and J) and defined end point coordinates (X und Y) are given. If
a tangential transition of the straight line to the arc is desired, two possible solutions
may result from the computing (see. Diagram 6.12).

1st solution: the straight line is connected to the circle at the tangential
point P1-1, in the direction of the circle orientation (see
Diagram 6.13).

2nd solution: the straight line is connected to the circle at the tangential
point P1-2, opposite to the direction of the circle orientation
(see Diagram 6.14).

Diagram 6.12 Diagram 6.13 Diagram 6.14

F For reasons of clarification the contour resulting from the 2nd solution will be
denoted in the following as "pointed tangential transition".
Version 5.0 of the Simulator provides the option of programming both solutions
(cf.Section 6.1.3.4 Selection of Solutions - Tangential Transitions).
Furthermore roundings may be inserted between entities in the case of pointed
tangential transitions (see Diagram 6.15).

Diagram 6.15

110 Programmer’s Guide for CNC Milling


6.1.3 Selection of Solutions
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

6.1.3 Selection of Solutions


Depending on the addresses programmed with a contour string, in some cases
there may be two possible mathematical solutions for the definition of an entity (see
Diagram 6.16). Consequently the control system must be informed on the desired
contour. The following criteria serve to distinguish between the alternatives:

Angle Criterion:
- smaller or greater angle

Length Criteria:
- shorter or longer line (line criterion)

- smaller or greater arc (arc criterion)

To select the first of the alternatives, the word P001 is programmed, P002 to select
the second alternative.

F Priority of the Angle Criterion

If the two solutions have different angles as well as different lengths of line,
the angle criterion must be used in the selection.

Programmed addresses:

X X-Coordinate of the end point

I/J Centre coordinates

As only the X-coordinate of the end point is given,


both P1-1 and P1-2 are possible end points of the
contour.

Diagram 6.16 : Example for application of the arc criterion

Programming Hints If no selection of alternatives (P001 or P002) is programmed, the control system will
automatically select the first alternative (P001).
For clarity, it is recommended to specify P001 anyway, so as to indicate that there
are two possible solutions with a combination of addresses.

© MTS GmbH 1998 111


6.1.3.1 Selection of Solutions - Angle Criterion
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

6.1.3.1 Selection of Solutions - Angle Criterion


In the following a three-point-string, consisting of a line and an arc, serves as an
example of applying the angle criterion to select one of the alternative solutions.

Given addresses:

L Length of the line


I,J Coordinates of the arc centre
X,Y Coordinates of the arc end point

NC-block

G71 L... P001 or P002


G72 X... Y... I... J... P070

Diagram 6.17 : Angle criterion for selection of a solution

Explanation - The end point of the line is situated on a circle with the radius L .
- The position of the arc is determined by its centre (I and J, as absolute
coordinates) and by its (absolute) end point coordinates X and Y.

On these conditions to the given example, the following solutions may result:

Solutions depending on the length L


No solution if the specified value L is either too small or too great, the
end point of the line will not be situated on the arc ⇒ no
solution; results from the computation and an appropriate
error message will appear
Single solution if L equals the shortest distance between the circular arc
and the starting point P0, a tangential point is established
⇒ a single solution results
Two solutions the specified length L results in two intersection points P1-1
and P1-2 ⇒ two solutions

Angle Criterion for The alternative solutions are distinguished by the different angles to the positive X-
Selection axis (angle criterion):

To select the first solution (smaller angle to the X-axis) P001 is programmed
Course of the contour:P0 -> P1-1 -> P2

To select the second solution (greater angle to the X-axis) P002 is programmed
Course of the contour:P0 -> P1-2 -> P2

Programming Hints To select a solution, P001 or P002 must be programmed in an NC-block together
with the applicable line.

112 Programmer’s Guide for CNC Milling


6.1.3.2 Selection of Solutions - Line Criterion
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

6.1.3.2 Selection of Solutions- Line Criterion


In the following a three-point-string, consisting of a line and an arc, serves as an
example of applying the line criterion to select a solution.

Given addresses:

A Angle of the line to the positive X-axis


I,J Coordinates of the arc centre
X,Y Coordinates of the arc end point

NC-block
G71 A... P001 or P002
G72 X... Y... I... J... P070

Diagram 6.18 : Line criterion for selection of a solution

Explanation - The end point of the line starting at P0 is situated on a half line at an angle A
to the positive X-axis.
- The position of the arc is determined by its centre (I and J, as absolute
coordinates) and by its (absolute) end point coordinates X and Y.

On these conditions to the given example, the following solutions may result:

Solutions dependent on the angle A


No solution with the specified angle A neither a tangential point nor an
intersection point will result ⇒ no solution - an appropriate
error message will appear
Single solution with the specified angle A exactly one tangential point will
result ⇒ a single solution (tangent to the arc)
Two solutions with the specified angle A the half line will intersect the arc
at both the points P1-1 and P1-2 ⇒ two solutions

Line criterion for The alternative solutions are distinguished by the different lengths of the line (line
selection criterion):

To select the first solution (shorter line) P001 is programmed


Course of the contour:P0 -> P1-1 -> P2

To select the second solution (longer line) P002 is programmed


Course of the contour:P0 -> P1-2 -> P2

Programming Hints To select a solution, P001 or P002 must be programmed in an NC-block together
with the applicable line.

© MTS GmbH 1998 113


6.1.3.3 Selection of Solutions- Arc Criterion
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

6.1.3.3 Selection of Solutions - Arc Criterion


In the following a three-point-string, consisting of a line and an arc, serves as an
example of applying the arc criterion for selection of an alternative.

Given addresses:

I,J Coordinates of the arc centre


X,Y Coordinates of the arc end point
L Length of the line

NC-block

G72 I... J... (P070) P001 or P002


G71 X... Y... L...

Diagram 6.19 : Arc criterion for selection of solutions

Explanation - Position and radius of the arc are defined by the centre coordinates I and J
and by the starting point P0.
- The end point of the contour is determined by the coordinates X and Y.
- The starting point of the line is situated on a circle of the radius L.

On these conditions to the given example, the following solutions may result:

Solutions dependent on the length L


No solution if the value of L is either to small or to great, the starting
point will not be situated on the arc ⇒ no solution - a
corresponding error message will appear
Single solution from the specified value L results exactly one tangential
point ⇒ single solution
Two solutions from the specified value L result the two intersection
points P1-1 and P1-2 ⇒ two solutions

Arc criterion for The alternative solutions are distinguished by the different lengths of the arc (arc
selection criterion):

To select the first solution (shorter arc) P001 is programmed


Course of the contour:P0 -> P1-1 -> P2

To select the second solution (longer arc) P002 is programmed


Course of the contour:P0 -> P1-2 -> P2

Programming Hints To select a solution, P001 or P002 must be programmed in an NC-block together
with the applicable line.

114 Programmer’s Guide for CNC Milling


6.1.3.4 Selection of Solutions - Tangent Criterion

6.1.3.4 Selection of Solutions - Tangential


Transitions Tangent Criterion
Depending on the addresses programmed, different solutions of tangential
transitions between contour segments may occur.

Example A given line with a known starting point P0 is to be joined tangentially to a circular
arc (G72) which is determined by its centre (I and J) and ist end point coordinates
(X and Y). Two mathematical solutions are possible with this example (see
Diagram 6.20a).

1. the line joins the arc at the point P1-1 in the same direction as the circle
orientation.
2. the line joins the arc at the point P1-2 in the direction opposite to the circle
orientation (pointed tangent).

In previous versions of the Simulator only the first solution could be computed by
the control system (see Diagram 6.20b). The CNC Simulator now permits the
programming of both solutions in any given case.

Diagram 6.20a Diagram 6.20b Diagram 6.20c

To inform the control system on the desired course of the contour, the address
P001 must be programmed to select the first solution (tangent in the direction of the
circle orientation), respectively the address P002 is programmed to select the
second solution (tangent in the opposite direction). In an NC block the selected
solution (either P001 or P002) must always be programmed together in an NC-
block with the first contour entity whose orientation is determined by that selection.
Version 5.0 now permits the programming of both solutions in any given case.
Consequently the NC blocks of the example shown above (see Diagram 6.20c)
would have to be programmed as follows:

1st solution P001: G71 P001


G72 X... Y... I... J... P000

2nd solution P002: G71 P002

F
G72 X... Y... I... J... P000

When programming in the WOP mode (Workshop Oriented Programming), the


function key <F5> serves to decide whether the programming of pointed tangents
shall be permissible or not (cf. the WOP User Manual). If the option "pointed
tangential transition" is deactivated, the control system automatically computes the
contour solution P001. Separate programming of a solution will be not required.

© MTS GmbH 1998 115


6.1.3.4 Selection of Solutions - Tangent Criterion

Contrary to the "standard" tangential transitions, the "pointed" transitions may be


rounded (see Diagram 6.20d).

Programming Hints When programming in the WOP mode (Workshop Oriented Programming), the
option "pointed tangential transitions" must be operative to program a rounding
radius C+.

NC-Block:

G71 C+.. P002 P011


G72 X.. Y.. I.. J.. PO00

Diagram 6.20d : Rounding of a pointed tangential transition

116 Programmer’s Guide for CNC Milling


6.1.4 Rounding between Two Entities
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

6.1.4 Rounding between Two Entities


At the point of transition between two entities a rounding can be inserted, by
programming the address C+. The value entered at C+ determines the radius of the
rounding.

Roundings can be inserted between any combination of the contour entities line
and arc, provided that the entities do intersect or touch at a tangential point. If two
possible solutions for the rounding arc have been computed (see Diagram 6.21),
the arc criterion is applied by specificying either P011 (smaller arc) or P012 (greater
arc) to select one of the alternatives.

G71 A.. C+.. P011 or P012


G71 X.. Y.. A..

Diagram 6.21 : Example of a rounding between two lines

Programming Hints If no selection of alternative solutions (P011 or P012) is programmed, the control
system will establish the small arc P011.

If already two solutions of positioning the entities exist, the insertion of a rounding
may result in four different solutions.

Example According to the addresses programmed with a three-point-.string, consisting of a


line and an arc, two mathematical solutions are possible (see Diagram 6.22 : P1-1
and P1-2).

G71 Y.. P001 or P002


G72 X.. Y.. I.. J.. (P070)

Diagram 6.22 : Two solutions of a contour consisting of a line and an arc

© MTS GmbH 1998 117


6.1.4 Rounding between Two Entities

In the example shown above the angle criterion is used to determine the contour:
P001 is programmed to select the line situated at the smaller angle to the x-
axis, P002 to select the line with the greater angle.

If additionally a rounding radius C+is programmed, there are two possible rounding
radii to each contour solution. (see Diagram 6.23):
Analogous to defining the arc criterion, the desired rounding must be
programmed in the NC-block determining the contour, by either entering
P011 (smaller arc) or P012 (greater arc). Alternative roundings possible with
the first contour solution P001

Alternative roundings possible with the first contour Alternative roundings possible with the second
solution P001 contour solution P002

G71 Y.. P001 P011 or P012 G71 Y.. P002 P011 or P012
G72 X.. Y.. I.. J.. (P070) G72 X.. Y.. I.. J.. (P070)
Diagram 6.23 : Selection of solutions from four alternatives

If the specified rounding radius results in only one possible rounding arc with each
of the alternative contour solutions, programming P011 or P012 is not required (see
Diagram 6.24).

G72 I.. J.. C+.. (P070) P011 or P012


G72 X.. Y.. I.. Y..

Diagram 6.24 : In this example the specified rounding radius results in only one solution
respectively.

118 Programmer’s Guide for CNC Milling


6.1.5 Chamfer between Two Lines

6.1.5 Chamfer between Two Lines


At the additional address C a symmetrical chamfer between two consecutive lines
can be programmed. The contour course will be computed by the control system
according to the specified width of the chamfer (the value entered at C) (see
Diagram 6.25).

NC-Block:

G71 A.. C-..


G71 X.. Y.. A..

Diagram 6.25

© MTS GmbH 1998 119


G71 6.2 Two-Point-String : Straight Line

6.2 Two-Point-String: Straight Line G71


Two of the below addresses can be used to program a straight line as a two-point
string, provided that the starting point P0 is known:

X X-Coordinate of the end point


Y Y-Coordinate of the end point
L Length of the line
A Angle of the line to the positive X-axis

Optional addresses:

X/Y Coordinates of the end point of the


line
L Length of the line
A Angle of the line to the positive X-axis

Diagram 6.2.1 : Two-Point-String : Straight Line

Number of Solutions Depending on the programmed address values, the computation of the contour
may not always result in a single solution. When, for instance, the length or an
axially parallel angle have been entered, either two solutions or no solution may be
the result.for instance, the length or an axially parallel angle (cf. addresses for
segment contour programming) If no solution is found, a corresponding error
message will appear.

Programming Hints If two solutions result from the specified length L (cf. the table below), the desired
contour must be determined by using the angle criterion (P001 for the smaller
angle, P002 for the greater angle).

120 Programmer’s Guide for CNC Milling


6.2 Two-Point-String : Straight Line G71

Survey of Available Two-Point-Strings:

Straight Line Selection of Solutions

G71 X Y
G71 X L Angle Criterion
G71 X A
G71 Y L Angle Criterion
G71 Y A
G71 L A

Examples of Alternative Solutions of Contour Strings

G71 X.. L.. P001 or P002 G71 Y.. L.. P001 or P002

The angle criterion determines the selection:


P001 is programmed to select P1-1 (smaller angle),
P002 is programmed to select P1-2 (greater angle).

© MTS GmbH 1998 121


G72/G73 6.3 Two-Point-String: Arc

6.3 Two-Point-String: Arc G72/G73


Three of the below addresses can be used to program a circular arc as a two-point
string, provided that the starting point P0 is known:

X X-Coordinate of the end point


Y Y-Coordinate of the end point
I X-Coordinate of the circle centre
J Y-Coordinate of the circle centre
A Angle of the tangent in the direction of the circle orientation at the starting point
P0
B Arc radius
E Angle of the tangent in the direction of the circle orientation at the end point P1

Available Addresses:

X/Y Coordinates of the end point of the


arc
I/J Coordinates of the arc centre
A Angle to the X-axis of the tangent
in the direction of the circle
orientation at the starting point P0
B Arc radius
E Angle to the positive X-axis of the
tangent in the direction of the circle
orientation at the end point P1

Diagram 6.3.1 : Two-Point-String: Arc

Number of Solutions Depending on the programmed address values, the computation of the contour
may not always result in a single solution (cf. addresses for segment contour
programming). With some combinations of addresses either one or two solutions or
no solution may be the result. Please see the below table for a listing of cases
where two solutions may occur.

Programming Hints If the circle centre coordinates are programmed in the absolute system, the
address P070 must be programmed in the same NC-block.
To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic
representation of contour strings. All programming examples given are of course
applicable to counter-clockwise arcs (G73) as well.

122 Programmer’s Guide for CNC Milling


6.3 Two-Point String: Circular Arc G72/G73

Survey of Available Two-Point-Strings:

Arc Selection of Solutions

G72/G73 X Y I
G72/G73 X Y J
G72/G73 X Y A
G72/G73 X I J Arc Criterion
G72/G73 Y I J Arc Criterion
G72/G73 X I A Arc Criterion
G72/G73 X J A Arc Criterion
G72/G73 Y I A Arc Criterion
G72/G73 Y J A Arc Criterion
G72/G73 X A B Arc Criterion
G72/G73 Y A B Arc Criterion
G72/G73 X Y B Arc Criterion
G72/G73 X B E Arc Criterion
G72/G73 Y B E Arc Criterion

© MTS GmbH 1998 123


G72/G73 6.3 Two-Point-String: Arc

Examples of Two-Point Strings:


Circular Arc with Alternative Solutions

G72 X.. I.. J.. (P070) P001 or P002 G72 Y.. I.. J..(P070) P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 X.. I.. A.. (P070) P001 or P002 G72 X.. J.. A.. P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 Y.. J.. A.. (P070) P001 or P002


G72 Y.. I.. A.. (P070) P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

124 Programmer’s Guide for CNC Milling


6.3 Two-Point String: Circular Arc G72/G73

G72 X.. A.. B.. P001 or P002 G72 Y.. A.. B.. P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 X.. Y.. B.. P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select the shorter arc, P002
is programmed to select the longer arc.

G72 X.. B.. E.. P001 or P002 G72 Y.. B.. E.. P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

© MTS GmbH 1998 125


G71G71 6.4 Three-Point String: Line - Line

6.4 Three-Point String: Line - Line G71G71


Two consecutive straight lines can be programmed as a three-point string, provided
that the starting point P0 is known. According to the definition of a three-point string,
the first line is not determined until its end point is programmed in the subsequent
NC-block, describing the second line. A total of four addresses must be
programmed in both NC-blocks.

Optional Addresses:

X1/Y1 Coordinates of the end point of the


first line
L1 Length of the first line
A1 Angle of the first line to the positive
X-axis

X2/Y2Coordinates of the end point of the


second line
L2 Length of the second line
A2 Angle of the second line to the
positive X-axis

Diagram 6.4.1 : Three-point string consisting of two lines

Number of Solutions Depending on the programmed address values, the computation of the contour
may not always result in a single solution (cf. addresses for segment contour
programming). With some combinations of addresses either one or two solutions or
no solution may be the result. Please see the below table for a listing of cases
where on the programmed address values, the computation of two solutions may
occur - such cases are denoted "Arc Criterion" in the column "Selection of
Solutions", and explanatory diagrams will be provided.

Programming Hints If two solutions result from the programmed address values, and if a selection
(P001 or P002) is not programmed, the control system will assume the first solution

F
P001.

If two addresses are programmed in the first NC-block, the three-point string is split
into two two-point strings.

126 Programmer’s Guide for CNC Milling


6.4 Three-Point String: Line - Line G71G71
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

Survey of Available Three-Point Strings:

Line - Line Selection of Solutions

G71 X
G71 X Y A
G71 X
G71 Y L A
G71 Y
G71 X Y A
G71 Y
G71 X L A
G71 X Angle Criterion
G71 X Y L
G71 Y Angle Criterion
G71 X Y L
G71 L Angle Criterion
G71 X Y L
G71 L Angle Criterion
G71 X Y A
G71 L Angle Criterion
G71 X L A
G71 L Angle Criterion
G71 Y L A
G71 A Line Criterion
G71 X Y L
G71 A
G71 X Y A
G71 A
G71 X L A
G71 A
G71 Y L A
G71
G71 X Y L A

© MTS GmbH 1998 127


G71G71 6.4 Three-Point String: Line - Line

Examples of Three-Point Strings: G71G71 with Alternative


Solutions

G71 X.. P001 or P002 G71 Y.. P001 or P002


G71 X.. Y.. L.. G71 X.. Y.. L..

The angle criterion is used for selection of a solution:


P001 is programmed to select P1-1 (smaller angle), P002 is programmed to select P 1-2 (greater angle).

G71 L.. P001 or P002 G71 L.. P001 or P002


G71 X.. Y.. L.. G71 X.. Y.. A..

The angle criterion is used for selection of a solution:


P001 is programmed to select P1-1 (smaller angle), P002 is programmed to select P 1-2 (greater angle).

128 Programmer’s Guide for CNC Milling


6.4 Three-Point String: Line - Line G71G71
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

G71 L.. P001 or P002 G71 L.. P001 or P002


G71 X.. L.. A.. G71 Y.. L.. A..

The angle criterion is used for selection of a solution:


P001 is programmed to select P1-1 (smaller angle), P002 is programmed to select P 1-2 (greater angle).

G71 A.. P001 or P002


G71 X.. Y.. L..

The line criterion is used for selection of a solution:


P001 is programmed to select P1-1 (shorter line),
P002 is programmed to select P1-2 (longer line).

© MTS GmbH 1998 129


G72G71 or G73G71 6.5 Three-Point String: Arc - Line

6.5 Three-Point String: Arc - Line G72G71 or G73G71


A circular arc followed by a straight line can be programmed as a three-point string,
provided that the starting point P0 is known. According to the definition of a three-
point string, the arc is not determined until its end point is programmed in the
subsequent NC-block, describing the line.

Optional Addresses As a first contour entity a circular arc, starting at a known point P0, can be defined
by its centre and radius. One of the four alternative address combinations listed
below must be programmed:

I,J Centre coordinates


A,I Starting angle and centre coordinate in X
A,J Starting angle and centre coordinate in Y
A,B Starting angle and radius

For reasons of clarity, only the centre coordinates (I and J) of arcs will be shown in
the diagrams below.

Optional Addresses:

I/ J Centre coordinatesof the arc


A1 Angle of the tangent in the direction
of the circle orientation at the
starting point P0
B Radius of the arc
X/Y Coordinates of the end point of the
line
L Length of the line
A2 Angle of the line to the positive X-
axis
P000 Tangential transition between
segments

Diagram 6.5.1 : Three-point string consisting of a line and an arc

To determine a three-point string consisting of a line and an arc, a total of five of


the above addresses (with regard to both entities) must be programmed.

Number of solutions Depending on the programmed address values, the computation of the contour
may not always result in a single solution (cf. addresses for segment contour
programming). With some address values combinations of addresses either one or
two solutions or no solution may be the result.

Programming Hints In the case of contour strings with two possible solutions the arc criterion is used to
select the desired contour, by programming, in the first NC-block, either P001
(smaller arc) or P002 (greater arc).
If absolute circle centre coordinates are entered, the address P070 must be
programmed in the same NC-block.

130 Programmer’s Guide for CNC Milling


6.5 Three-Point String: Arc - Line G72G71 or G73G71

Survey of Available Three-Point Strings:

Arc - Line Selection of solutions

G72/G73 I J Arc Criterion


G71 X Y A
G72/G73 I J Arc Criterion
G71 X Y L
G72/G73 I J Arc Criterion
G71 X L A
G72/G73 I J Arc Criterion
G71 Y L A

With Tangential Transition to the Line

Programming Hints With the contour strings listed below, the word P000 must be programmed in the
second NC-block to define the tangential transition.
When the WOP mode is operative, pointed tangential transitions may only be
programmed if the applicable option has been selected (by function key <F5>).

Arc - Line Selection of Solutions

G72/G73 I J
G71 X Y P000
G72/G73 I J Tangent Criterion
G71 X A P000
G72/G73 I J Arc Criterion
G71 X L P000
G72/G73 I J Tangent Criterion
G71 Y A P000
G72/G73 I J Arc Criterion
G71 Y L P000
G72/G73 I J Tangent Criterion
G71 L A P000
G72/G73 B Arc Criterion
G71 X Y A P000

F Please note that a circular arc as a first contour segment may also be
programmed by the addresses A I, A J or A B, instead of programming the
centre coordinates I J. This applies to all examples.

© MTS GmbH 1998 131


G72G71 or G73G71 6.5 Three-Point String: Arc - Line

Examples of Three-Point Strings:


G72G71 with Alternative Solutions

F To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic
representation of contour strings. All programming examples given are of course
applicable to counter-clockwise arcs (G73) as well.

G72 I.. J.. (P070) P001 or P002 G72 I.. J.. (P070) P001 or P002
G71 X.. Y.. A.. G71 X.. Y.. L..

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 I.. J.. (P070) P001 or P002 G72 I.. J.. (P070) P001 or P002
G71 X.. L.. A.. G71 Y.. L.. A..

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

132 Programmer’s Guide for CNC Milling


6.5 Three-Point String: Arc - Line G72G71 or G73G71

Examples of a Tangential Transition


with Two Possible Solutions

G72 I.. J.. (P070) P001 or P002 G72 I.. J.. (P070) P001 or P002
G71 X.. L.. P000 G71 Y.. L.. P000

In each case the arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 B.. P001 or P002


G71 X.. Y.. A.. P000

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc),
P002 is programmed to select P1-2 (longer arc).

© MTS GmbH 1998 133


G72G71 or G73G71 6.5 Three-Point String: Arc - Line

Examples of Pointed Tangential Transitions

F When the WOP mode is operative, pointed tangential transitions may only be
programmed if the applicable option has been selected by the function key <F5>.

G72 J.. K.. (P070) P001 G72 I.. J.. (P070) C+.. P002 P011
G71 X.. A.. P000 G71 X.. A.. P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

G72 I.. J.. (P070) P001 G72 I.. J.. (P070) C+.. P002 P011
G71 Y.. A.. P000 G71 Y.. A.. P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

134 Programmer’s Guide for CNC Milling


6.5 Three-Point String: Arc - Line G72G71 or G73G71

G72 I.. J.. (P070) P001 G72 I.. J.. (P070) C+.. P002 P011
G71 L.. A.. P000 G71 L.. A.. P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

© MTS GmbH 1998 135


G71G72 or G71G73 6.6 Three-Point String: Line - Arc

6.6 Three-Point String: Line - Arc G71G72 or


G71G73
A straight line followed by a arc can be programmed as a three-point string,
provided that the starting point P0 is known. According to the definition of a three-
point string, the line is not determined until its end point is not determined
programmed in the subsequent NC-block, describing the arc.

Optional Addresses:

X1/Y1 Coordinates of the end


point of the line
L Length of the line
A Angle of the line to the
positive X-axis
X2/Y2 Coordinates of the end
point of the arc
I/J Coordinates of the arc
centre
B Radius of the arc
E Angle to the positive X-axis
of the directed tangent at
the end point P2
P000 Tangential transitions
between entities

Diagram 6.6.1 : Three-point string consisting of line and arc

Number of solutions Depending on the programmed address values, the computation of the contour
may not always result in a single solution (cf. addresses for segment contour
programming). With some combinations of addresses either one or two solutions or
no solution may be the result.

Programming Hints When alternative solutions occur, the desired contour must be determined by
entering P001 or P002.

F To determine a three-point string consisting of a line and an arc, a total of five of


the above addresses (with regard to both entities) must be programmed.

Please note that if more than one address is programmed for the line, this will
determine the line as a two-point string, consequently the three-point string
will be split up into two two-point strings.

If absolute circle centre coordinates are entered, the address P070 must be
programmed in the same NC-block.

To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic
representation of contour strings. All programming examples given are of course
applicable to counter-clockwise arcs (G73) as well.

136 Programmer’s Guide for CNC Milling


6.6 Three-Point String: Line - Arc G71G72 or G71G73
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

Survey of Available Three-Point Strings


without Tangential Transition:

Line - Arc Selection of Solutions

G71 X Angle Criterion


G72/G73 X Y I J
G71 Y Angle Criterion
G72/G73 X Y I J
G71 X Angle Criterion
G72/G73 X I J B Arc Criterion
G71 X Angle Criterion
G72/G73 Y I J B Arc Criterion
G71 Y Angle Criterion
G72/G73 X I J B Arc Criterion
G71 Y Angle Criterion
G72/G73 Y I J B Arc Criterion
G71 L Angle Criterion
G72/G73 X Y I J
G71 L Angle Criterion
G72/G73 X I J B Arc Criterion
G71 L Angle Criterion
G72/G73 Y I J B Arc Criterion
G71 A Line Criterion
G72/G73 X Y I J
G71 A Line Criterion
G72/G73 X I J B Arc Criterion
G71 A Line Criterion
G72/G73 Y I J B Arc Criterion

Priority of the Angle Criterion

F If the two solutions have different angles as well as different lengths of line,
always the angle criterion must be used in the selection.

© MTS GmbH 1998 137


G71G72 or G71G73 6.6 Three-Point String: Line - Arc

With Tangential Transition between Segments

Programming Hints With the contour strings listed below the word P000 is programmed in the second
NC-block, to define the tangential transition.
When the WOP mode is operative, pointed tangential transitions may only be
programmed if the applicable option has been selected by the function key <F5>.

Line - Arc Selection of Solutions

G71 A Arc Criterion


G72/G73 X Y B P000
G71 Tangent Criterion
G72/G73 X Y I J P000
G71 Tangent Criterion
G72/G73 X I J B P000 Arc Criterion
G71 Tangent Criterion
G72/G73 Y I J B P000 Arc Criterion
G71 A
G72/G73 X B E P000
G71 A
G72/G73 Y B E P000

Examples of Three-Point Strings:


G71G72 with Alternative Solutions

G71 X.. P001 or P002 G71 Y.. P001 or P002


G72 X.. Y.. I.. J.. (P070) G72 X.. Y.. I.. J.. (P070)

In each case the angle criterion is used to select a solution:


P001 is programmed to select P1-1 (smaller angle), P002 is programmed to select P 1-2 (greater
angle).

138 Programmer’s Guide for CNC Milling


6.6 Three-Point String: Line - Arc G71G72 or G71G73
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

G71 X.. P001 or P002 G71 X.. P001 or P002


G72 X.. I.. J.. B.. (P070) P001 or P002 G72 Y.. I.. J.. B.. (P070) P001 or P002
In the first block G71 the angle criterion is used to select a solution:
P001 is programmed to select P1-1 (smaller angle), P002 is programmed to select P 1-2 (greater
angle). In the second block G72 the arc criterion is used to select a solution: P001 is programmed to
select P2-1 (shorter arcs), P002 is programmed to select P 2-2 (longer arcs).

G71 Y.. P001 or P002 G71 Y.. P001 or P002


G72 X.. I.. J.. B.. (P070) P001 or P002 G72 Y.. I.. J.. B.. (P070) P001 or P002
In the first block G71 the angle criterion is used to select a solution:
P001 is programmed to select P1-1 (smaller angle), P002 is programmed to select P 1-2 (greater
angle). In the second block G72 the arc criterion is used to select a solution: P001 is programmed to
select P2-1 (shorter arc), P002 is programmed to select P 2-2 (longer arc).

G71 L.. P001 or P002


G72 X.. Y.. I.. J.. (P070)

The angle criterion is used to select a solution:


P001 is programmed to select P1-1 (smaller angle),
P002 is programmed to select P1-2 (greater angle).

© MTS GmbH 1998 139


G71G72 or G71G73 6.6 Three-Point String: Line - Arc

G71 L.. P001 or P002 G71 L.. P001 or P002


G72 X.. I.. J.. B.. (P070) P001 or P002 G72 Y.. I.. J.. B.. (P070) P001 or P002

In the first block G71 the angle criterion is used to select a solution: P001 is programmed to select P1-1
(smaller angle), P002 is programmed to select P 1-2 (greater angle).
In the second block G72 the arc criterion is used to select a solution: P001 is programmed to select
P2-1 (shorter arc), P002 is programmed to select P 2-2 (longer arc).

G71 A.. P001 or P002


G72 X.. Y.. I.. J.. (P070)

The line criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter line),
P002 is programmed to select P1-2 (longer line).

G71 A.. P001 or P002 G71 A.. P001 or P002


G72 X.. I.. J.. B.. (P070) P001 or P002 G72 Y.. I.. J.. B.. (P070) P001 or P002

In the first block G71 the line criterion is used to select a solution: P001 is programmed to select P1-1
(shorter line), P002 is programmed to select P1-2 (longer line).
In the second block G72 the arc criterion is used to select a solution: P001 is programmed to select
P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

140 Programmer’s Guide for CNC Milling


6.6 Three-Point String: Line - Arc G71G72 or G71G73
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

Examples of Tangential Transitions

G71 A.. P001 or P002


G72 X.. Y.. B.. P000

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc),
P002 is programmed to select P1-2 (longer arc).

Examples of Pointed Tangential Transitions

F When the WOP mode is operative, pointed tangential transitions may only be
programmed if the applicable option has been selected by the function key <F5>.

G71 P001 G71 C+.. P002 P011


G72 X.. Y.. I.. J.. (P070) P000 G72 X.. Y.. I.. J.. (P070) P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

© MTS GmbH 1998 141


G71G72 or G71G73 6.6 Three-Point String: Line - Arc

G71 P001 G71 C+.. P002 P011


G72 X.. I.. J.. B.. (P070) P000 G72 X.. I.. J.. B.. (P070) P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

G71 P001 G71 C+.. P002 P011


G72 Y.. I.. J.. B.. (P070) P000 G72 Y.. I.. J.. B.. (P070) P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

142 Programmer’s Guide for CNC Milling


6.7 Three-Point String: Arc - Arc G72G72

6.7 Three-Point String: Arc - Arc G72G72

or G72G73 or G73G72 or G73G73


Two consecutive circular arcs can be programmed as a three-point string, provided
that the starting point P0 is known. According to the definition of a three-point
string, the first arc is not determined until its end point is programmed in the
subsequent NC-block, describing the second arc.

Optional Addresses
As a first contour entity a circular arc, starting at a known point P0, can be defined
by its centre and radius. One of the four alternative address combinations listed
below must be programmed:

I,J Coordinates of the arc centre


A,I Starting angle and centre coordinate in X
A,J Starting angle and centre coordinate in Y
A,B Starting angle and radius

For reasons of clarity, only the centre coordinates (I and J) of arcs will be shown in
the diagrams below.

Optional Addresses:

I1/J1 Centre coordinates of the first arc


A Angle of the tangent in the direction
of the circle orientation at the
starting point P0
B1 Radius of the first arc
I2/J2 Centre coordinates of the second
arc
B2 Radius of the second arc
X/Y End point coordinates of the second
arc
E Angle to the positive X-axis of the
oriented tangent at the end point P2
P000 Tangential transition between
segments

Number of solutions Depending on the programmed address values, the computation of the contour
may not always result in a single solution (cf. addresses for segment contour
programming). With some combinations of addresses either four, three or two
solutions, as well as one solution or no solution may be the result.

Programming Hints When alternative solutions occur, the desired contour must be determined by
entering P001 or P002.
If absolute circle centre coordinates are entered, the address P070 must be
programmed in the same NC-block.

© MTS GmbH 1998 143


G72G72 6.7 Three-Point String: Arc - Arc
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

To determine a three-point string consisting of two arcs, a total of six of the above
addresses (with regard to both entities) must be programmed.

Survey of Available Three-Point Strings:

Arc - Arc Selection of Solutions

G72/G73 I J Arc Criterion


G72/G73 X Y I J
G72/G73 I J Arc Criterion
G72/G73 X I J B Arc Criterion
G72/G73 I J Arc Criterion
G72/G73 Y I J B Arc Criterion

With Tangential Transitions between Segments

Programming Hints With the contour strings listed below, the word P000 must be programmed in the
second NC-block to define the tangential transition.

Arc - Arc Selection of Solutions

G72/G73 I J Arc Criterion


G72/G73 X Y B P000
G72/G73 I J Arc Criterion
G72/G73 X B E P000
G72/G73 I J Arc Criterion
G72/G73 Y B E P000
G72/G73 A B Arc Criterion
G72/G73 X B E P000
G72/G73 A B Arc Criterion
G72/G73 Y B E P000

F Please note that a circular arc as a first contour segment may also be
programmed by the addresses A I, A J or A B, instead of programming the
centre coordinates I J. This applies to all examples.

144 Programmer’s Guide for CNC Milling


6.7 Three-Point String: Arc - Arc G72G72

Examples of Three-Point Strings:


G72G72 with Alternative Solutions

F To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic
representation of contour strings. All programming examples given are of course
applicable to counter-clockwise arcs (G73) as well.
To serve as a model, in the below diagrams all combinations of G72 and G73
possible with the first example are shown.

G72 I.. J.. (P070) P001 or P002 G72 I.. J.. (P070) P001 or P002
G72 X.. Y.. I.. J.. (P070) G73 X.. Y.. I.. J.. (P070)

G73 I.. J.. (P070) P001 or P002 G73 I.. J.. (P070) P001 or P002
G72 X.. Y.. I.. J.. (P070) G73 X.. Y.. I.. J.. (P070)

In each case the arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

© MTS GmbH 1998 145


G72G72 6.7 Three-Point String: Arc - Arc
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

G72 I.. J.. (P070) P001 or P002 G72 I.. J.. (P070) P001 or P002
G72 X.. I.. J.. B.. (P070) P001 or P002 G72 Y.. I.. J.. B.. (P070) P001 or P002

In each case the arc criterion is used to select a solution:


1st arc:
P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

2nd arc:
P001 is programmed to select P2-1 (shorter arc), P002 is programmed to select P 2-2 (longer arc).

Examples of Tangential Transitions

G72 I.. J.. (P070) P001 or P002


G72 X.. Y.. B.. P000

In each case the arc criterion is used to select a


solution:
P001 is programmed to select P1-1 (shorter arc),
P002 is programmed to select P1-2 (longer arc).

146 Programmer’s Guide for CNC Milling


6.7 Three-Point String: Arc - Arc G72G72

G72 I.. J.. (P070) P001 or P002 G72 I.. J.. (P070) P001 or P002
G72 X.. B.. E.. P000 G72 Y.. B.. E.. P000

In each case the arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 A.. B.. P001 or P002 G72 A.. B.. P001 or P002
G72 X.. B.. E.. P000 G72 Y.. B.. E.. P000

In each case the arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

© MTS GmbH 1998 147


6.8 Four-Point String

6.8 Four-Point String: with Tangential Transitions


Three contour segments (lines and arcs in any order of succession) can be
programmed as a four-point string, provided that the starting point P0 is known.
According to the definition of a four-point string, the first and second entity are not
determined until the third segment is defined.

Optional Addresses As a first segment of a contour, a circular arc, starting at a known point P0, can be
defined by its centre and radius. One of the four alternative address
combinations listed below must be programmed:

I,J Centre coordinates


A,I Starting angle and centre coordinate in X
A,J Starting angle and centre coordinate in Y
A,B Starting angle and radius

For reasons of clarity, only the centre coordinates (I and J) of arcs will be shown in
the diagrams below.

Optional Addresses:

A Angle of the line to the positive X-


axis
B1 Radius of the first arc
I/J Centre coordinatesof the second
arc
B2 Radius of the second arc
X Coordinate of the end point of the
second arc
P000 Tangential transition between
segments

Diagram: Line - Arc - Arc

Number of solutions Depending on the programmed address values, the computation of the contour
may not always result in a single solution (cf. addresses for segment contour
programming). With some combinations of addresses not resulting in a single
solution the number of resulting solutions may be four, three, two, one or none.

Programming Hints When alternative solutions occur, the arc criterion must be used to determine the
desired contour, by entering P001 (smaller arc) or P002 (greater arc).

If absolute circle centre coordinates are entered, the address P070 must be
programmed in the same NC-block.

With four-point strings the word P000 is programmed to define tangential


transitions.

148 Programmer’s Guide for CNC Milling


6.8 Four-Point String
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

Survey of Available Three-Point Strings


with Tangential Transitions:

Selection of Solutions
G71 A Arc Criterion
G72/G73 B P000
G72/G73 X Y I J P000
G71 A Arc Criterion
G72/G73 B P000
G72/G73 X I J B P000 Arc Criterion
G71 A Arc Criterion
G72/G73 B P000
G72/G73 Y I J B P000 Arc Criterion
G72/G73 I J Arc Criterion
G72/G73 B P000
G72/G73 X Y I J P000
G72/G73 I J Arc Criterion
G72/G73 B P000
G72/G73 X I J B P000 Arc Criterion
G72/G73 I J Arc Criterion
G72/G73 B P000
G72/G73 Y I J B P000 Arc Criterion
G72/G73 I J Arc Criterion
G72/G73 B P000
G71 X Y A P000
G72/G73 I J Tangent Criterion
G71 P000
G72/G73 X Y I J P000
G72/G73 I J Tangent Criterion
G71 P000
G72/G73 X I J B P000 Arc Criterion
G72/G73 I J Tangent Criterion
G71 P000
G72/G73 Y I J B P000 Arc Criterion

F Please note that a circular arc as a first contour segment may also be
programmed by the addresses A I, A J or A B, instead of programming the
centre coordinates I J. This applies to all examples.

To avoid repetition, as a rule only clockwise-oriented arcs (G72) are included in the
graphic representation of contour strings. All programming examples given are of
course applicable to counter-clockwise arcs (G73) and to any combination of G72
and G73 as well.

© MTS GmbH 1998 149


6.8 Four-Point String

Examples of Contour Strings with Alternative

Solutions and Tangential Transitions

G71 A.. P001 or P002


G73 B.. P000
G72 X.. Y.. I.. J.. P000 (P070)

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc),
P002 is programmed to µelect P 1-2 (longer arc).

G71 A.. P001 or P002 G71 A.. P001 or P002


G73 B.. P000 G73 B.. P000
G72 X.. I.. J.. B.. P000 (P070) G72 Y.. I.. J.. B.. P000 (P070)
P001 or P002 P001 or P002

In each case the arc criterion is used to select a solution:


1st arc:
P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).
2nd arc:
P001 is programmed to select P3-1 (shorter arc), P002 is programmed to select P 3-2 (longer arc).

150 Programmer’s Guide for CNC Milling


6.8 Four-Point String
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

G72 I.. J.. (P070) P001 or P002


G73 B.. P000
G72 X.. Y.. I.. J.. P000 (P070)

The arc criterion is used to select a solution:


2nd arc:
P001 is programmed to select P1-1 (shorter arc),
P002 is programmed to select P1-2 (longer arc).

G72 I.. J.. (P070) P001 or P002 G72 I.. J.. (P070) P001 or P002
G73 B.. P000 G73 B.. P000
G72 X.. I.. J.. B.. P000 (P070) G72 Y.. I.. J.. B.. P000 (P070)
P001 or P002 P001 or P002

In each case the arc criterion is used to select a solution:

2nd arc
P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

3rd arc:
P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 I.. J.. (P070) P001 or P002


G73 B.. P000
G71 X.. Y.. A.. P000

The arc criterion is used to select a solution:


2nd arc:
P001 is programmed to select P1-1 (shorter arc),
P002 is programmed to select P1-2 (longer arc).

© MTS GmbH 1998 151


6.8 Four-Point String

Examples of Pointed Tangential Transitions

F When the WOP mode is operative, pointed tangential transitions may only be
programmed if the applicable option has been selected by the function key <F5>.

If P002 (pointed tangential transition) is programmed in the first NC-block, this


selection of a solution applies to the second arc as well.

G72 I.. J.. (P070) P001 G72 I.. J.. (P070) C+.. P002 P011
G71 P000 G71 C+.. P011 P000
G72 X.. Y.. I.. J.. (P070) P000 G72 X.. Y.. I.. J.. (P070) P000

In the first NC-block (1st. arc) the tangent criterion is used to select a solution:
P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1 - P2-1)
P002 (right diagram) is programmed to select the pointed tangential transition (P1-2 -
P2-2)with roundings.

152 Programmer’s Guide for CNC Milling


6.8 Four-Point String
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

G72 I.. J.. (P070) P001 G72 I.. J.. C+.. (P070) P002 P011
G71 P000 G71 C+.. P011 P000
G72 X.. I.. J.. B.. P000 (P070) G72 X.. I.. J.. B.. P000 (P070)
P001 or P002 P001 or P002

In the first NC-block (1st. arc) the tangent criterion is used to select a solution:
P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1 - P2-1)
P002 (right diagram) is programmed to select the pointed tangential transition (P1-2 -
P2-2)with roundings.

In the third NC-block (2nd arc) the arc criterion is used to select a solution:
P001 is programmed to select P3-1 (shorter arc), P002 is programmed to select P 3-2 (longer arc).

G72 I.. J.. (P070) P001 G72 I.. J.. C+.. (P070) P002 P011
G71 P000 G71 C+.. P011 P000
G72 Y.. I.. J.. B.. P000 (P070) G72 Y.. I.. J.. B.. P000 (P070)
P001 or P002 P001 or P002

In the first NC-block (1st. arc) the tangent criterion is used to select a solution:
P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1 - P2-1)
P002 (right diagram) is programmed to select the pointed tangential transition (P1-2 -
P2-2)with roundings.

In the third NC-block (2nd arc) the arc criterion is used to select a solution:
P001 is programmed to select P3-1 (shorter arc), P002 is programmed to select P 3-2 (longer arc).

© MTS GmbH 1998 153


6.9 Open Contour Strings
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

6.9 Open Contour Strings


Describing contour strings of an optional number of entities as a multiple-point
string, would result in an optional number of arc and line combinations with an
according variety of address combinations. It stands to reason that only a limited
number of examples can be described in this manual, therefore the exemplification
of e.g. four-point strings has been confined to those with a tangential transition.

To describe a contour string of optional length, the so-called "open contour


strings" and the statement of tangential connections may be employed.

Definition An "open contour string" denotes a multiple-point string with all of its segments
geometrically determined. Only the end point of the final entity remains
undetermined.
Consequently, this final segment of an open contour string must be either a half line
or full circle. The end point of this entity can only be determined by entering the
following entity; it will then be computed by the control system. To this end point,
once established, the subsequent multiple-point string will be linked-up, i.e. the last
entity of the open contour string will be considered as the first entity of the new
multiple-point string.

Example - An open contour string with a tangential transition is given, consisting of an


arc and a line. The end point of the line remains undetermined (see Diagram
6.9.1).
- Subsequent entities are an arc (G73) with given radius and an arc (G72) with
its end point and centre given. Accounting for the known starting point P1of
the line a four-point string with tangential transitions is established, including
the line and both arcs (see Diagram 6.9.2).

G72 I.. J.. P070 G72 I.. J.. P070


G71 A.. P000 G71 A.. P000 P001
G73 B.. P000
G72 X.. Y.. I.. J.. P070 P000

Diagram 6.9.1 Diagram 6.9.2

In this example, alternatively the open contour string may be continued by


programming G72 I.. J.. B..

154 Programmer’s Guide for CNC Milling


6.9 Open Contour Strings

Optional Addresses:

X/Y Coordinates of the end point of the


line
L Length of the line
A Angle of the line to the positive X-
axis
I/J Coordinates of the arc centre
B Radius of the arc
P000 Tangential transition between
segments

Number of Solutions Depending on the programmed address values, the computation of the contþur
may not always result in a single solution (cf. addresses for segment contour
programming). With some combinations of addresses either four, three, two
solutions as well as one or no solution may be the result.

Optional Addresses As a first segment of a contour, a circular arc, starting at a known point P0, can be
defined by its centre and radius. One of the four alternative address combinations
listed below must be programmed:

I,J Centre coordinates


A,I Starting angle and centre coordinate in X
A,J Starting angle and centre coordinate in Y
A,B Starting angle and radius

For reasons of clarity, only the centre coordinates (I and J) of arcs will be shown in
the diagrams below.

Programming Hints When alternative solutions occur, the desired contour must be determined by
entering P001 or P002.

If no selection of a solution is programmed, the control system, will assume the first
solution P001.

If absolute circle centre coordinates are entered, the address P070 must be
programmed in the same NC-block.

To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic
representation of contour strings. All programming examples given are of course
applicable to counter-clockwise arcs (G73) as well.

© MTS GmbH 1998 155


6.9 Open Contour Strings
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

Survey of Contour Strings with Alternative Solutions

One Entity Selection of Solutions

G71 A
G72/G73 I J

Two Entities Selection of Solutions

G72/G73 I J Tangent Criterion


G71 A P000
G71 X Line Criterion
G72/G73 I J B
G71 Y Line Criterion
G72/G73 I J B
G71 A Line Criterion
G72/G73 I J B
G71 L Angle Criterion
G72/G73 I J B
G71 Tangent Criterion
G72/G73 I J B P000
G72/G73 I J Arc Criterion
G72/G73 I J B

Three Entities Selection of Solutions

G72/G73 I J Tangent Criterion


G71 P000
G72/G73 I J B P000
G72/G73 I J Arc Criterion
G72/G73 B P000
G72/G73 I J B P000
G71 A Arc Criterion
G72/G73 B P000
G72/G73 I J B P000

F Please note that a circular arc as a first contour segment may also be
programmed by the addresses A I, A J or A B, instead of programming the
centre coordinates I J. This applies to all examples.

156 Programmer’s Guide for CNC Milling


6.9 Open Contour Strings

Examples of Contour Strings with Alternative Solutions

G71 X.. P001 or P002 G71 Y.. P001 or P002


G72 I.. J.. B.. (P070) G72 I.. J.. B.. (P070)

The angle criterion is used to select a solution:


P001 is programmed to select P1-1 (smaller angle),P002 is programmed to select P 1-2 (greater angle).

G71 A.. P001 or P002


G72 I.. J.. B.. (P070)

In the first block G71 :

The line criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter line),
P002 is programmed to select P1-2 (longer line).

G71 L.. P001 or P002


G72 I.. J.. B.. (P070)

The angle criterion is used to select a solution:


P001 is programmed to select P1-1 (smaller angle),
P002 is programmed to select P1-2 (greater angle).

© MTS GmbH 1998 157


6.9 Open Contour Strings
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

G72 I.. J.. (P070) P001 or P002


G72 I.. J.. B.. (P070)

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc),
P002 is programmed to select P1-2 (longer arc).

G72 I.. J.. (P070) P001 or P002


G73 B.. P000
G72 I.. J.. B.. P000 (P070)

G71 A.. P001 or P002


G73 B.. P000
G72 I.. J.. B.. P000 (P070)

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), .
P002 is programmed to select P1-2 (longer arc)

158 Programmer’s Guide for CNC Milling


6.9 Open Contour Strings

Examples of Pointed Tangential Transitions

F When the WOP mode is operative, pointed tangential transitions may only be
programmed if the applicable option has been selected by the function key <F5>.

G72 I.. J.. (P070) P001 G72 I.. J.. (P070) C+.. P002 P011
G71 A.. P000 G71 A.. P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

G71 P001 G71 C+.. P002 P011


G72 I.. J.. B.. (P070) P000 G72 I.. J.. B.. (P070) P000

The tangent criterion is used to select a solution:


P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1) P002
(right diagram) is programmed to select the pointed tangential transition (P1-2)with a rounding

© MTS GmbH 1998 159


6.9 Open Contour Strings
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

G72 I.. J.. (P070) P001 G72 I.. J.. C+.. (P070) P002 P011
G71 P000 G71 C+.. P011 P000
G72 I.. J.. B.. P000 (P070) G72 I.. J.. B.. P000 (P070)

In the first NC-block (1st. arc) the tangent criterion is used to select a solution:
P001 (left diagram) is programmed to select the tangent directed to the circle orientation (P1-1 - P2-1)
P002 (right diagram) is programmed to select the pointed tangential transition (P1-2 -
P2-2)with roundings.

If P002 (pointed tangential transition) is programmed in the first NC-block, this selection of a solution
applies to the second arc as well.

160 Programmer’s Guide for CNC Milling


6.10 Tangential Connection

6.10 Tangential Connection


As a rule two addresses must be programmed to define a line, three addresses to
define an arc (see the description of two-point strings in Sections 6.2 and 6.3).
However if a contour segment is connected to the previous segment by a tangential
transition, one address will be sufficient to determine a line and two addresses to
determine an arc.

Cross Reference For more detailed instructions concerning tangential transitions between contour
segments, please see Section 6.1.2 "Tangential Transitions".

Optional Addresses:

Line:

X/Y
L Length of the line

Arc:

X/Y Coordinates of the end point of the arc


I/J Coordinates of the arc centre
B Arc radius

To program a tangential transition between two contour segments, the address


P000 is entered in the second NC-block. This address is equivalent to the starting
angle A, which must not be programmed.

Programming Hints If absolute circle centre coordinates are entered, the address P070 must be
programmed in the same NC-block.

To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic
representation of contour strings. All programming examples given are of course
applicable to counter-clockwise arcs (G73) as well.

© MTS GmbH 1998 161


6.10 Tangential Connection

Examples of Contour Strings with Tangential Connection

Selection of Solutions

G71 X P000

G71 Y P000

G71 L P000

G72/G73 X Y P000

G72/G73 X I P000 Arc Criterion

G72/G73 X J P000 Arc Criterion

G72/G73 Y I P000 Arc Criterion

G72/G73 Y J P000 Arc Criterion

G72/G73 X B P000 Arc Criterion

G72/G73 Y B P000 Arc Criterion

Examples of Contour Strings with Alternative Solutions

G72 X.. J.. P000 (P070) P001 or P002


G72 X.. I.. P000 (P070) P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

162 Programmer’s Guide for CNC Milling


6.10 Tangential Connection

G72 Y.. I.. P000 (P070) P001 or P002 G72 Y.. J.. P000 (P070) P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

G72 X.. B.. P000 P001 or P002 G72 Y.. B.. P000 P001 or P002

The arc criterion is used to select a solution:


P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).

© MTS GmbH 1998 163


7. Parameters

Assignation of
parameter values:

N020 R01=+020.000
N025 R02=+030.000
N030 R03=+025.000
N035 R04=+030.000
N020 R05=+005.000
...

Diagram 7.1: Assignation of parameter values

Diagram 7.2: NC-Program with parameters

164 Programmer’s Guide for CNC Milling


7. Parameters
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬

7. Parameters
In the MTS Programming Code, parameters are generally programmed at the
address R. A total of 100 registers "R00" to "R99" are available to the user.

Assignation of a Parameter Value


To assign a value to a parameter, the identification letter R as well as the number of
the register are entered. The assignation sign ( "=" as a rule) will be automatically
set in by the editor. After this the value must be entered which is to be assigned to
this register.

Example N020 R01=+020.000

The default parameter address and assignation sign may be edited in the
configuration program (e.g. to employ foreign programming codes). Please note
that this kind of modification should be effected only if a format file has been
created, which contains the applicable parameter entries, or if the NC Editor is
operated in the free format mode.

In the free format mode the option is provided to assign a complete command
(e.g. N20 R200= G0 X100) to a parameter register.
Moreover, the free format mode provides access to a maximum of 32000

F
parameter registers.

Assignations of values to a parameter must either be programmed as a separate


Nc-block or at the end of a block.

Programming with a Parameter


To program parameters within an NC-block, please enter, after the address, the
identification letter followed by the applicable parameter number.

Example N175 ) R01 = +020.000 R02 = +030.000

Ú
N185 G00 XR01 YR02 Z+001.000

According to the assignation programmed in block 175 the tool will be moved in X
to the value +020.000 and in Y to the value +030.000, when block 185 is executed.

If, in the free format mode, a command has been assigned to a parameter, no
address must be programmed for the invocation of the respective command.

Example N20 R200= G0 X100

Ú
N140 R200

Rapid positioning of the tool at X 100.

Cross-Reference Please see the following chapter and the User Manual of the CNC Simulator for
Milling for detailed instructions concerning the configuration and operation of the
the free format mode.

© MTS GmbH 1998 165


8. Programming with Special Characters

Diagram 8.1: NC blocks N010 - N040, N050 and N060 are programmed with comments.

166 Programmer’s Guide for CNC Milling


8. Programming with Special Characters

8. Programming with Special Characters

Comments
To keep the structure of a generated NC-program clear and intelligible,
explanations and comments concerning specific NC-blocks or program parts may
be included in the NC-program. Such comments must be flagged by special
characters so as to be distinguished from the program blocks. The flagged parts
will be identified by control system and skipped accordingly during the program
execution.

( The comment character "(" (opening parenthesis) can be used to explain


specific steps in the program run, such as G-commands and cycles.

Example
N015 ( ASSIGNATIONS OF VALUES TO PARAMETERS
...
N060 F100.000 S0450 T0505 M03 (DILL DIAM. 10MM ...

Depending on the position at which the comment character is inserted, either a


whole program line may be used as a comment, or else a comment may be
entered after e.g. a specific G-command. The text to be entered next to the
character is at the user’s choice.

Removing the comment sign will delete the whole line.

Skipping of NC-blocks
: The special character ":" (colon) serves to temporarily omit NC-blocks, e.g.
for test purposes. The applicable blocks will be skipped in the program
execution.

Example N075 G03 X-036.955 Y-049.150 I+012.000 J-000.000


N080 G01 X+037.045 Y-049.150
N085 : G03 X+049.045 Y-037.150 I+000.000 J+012.000
N090 G01 X+049.045 Y+001.502
N095 G40 A+020.000 G46

In this case the NC-block N085 will be skipped in the program execution.

Different from the parenthesis, the colon can be removed without deleting the line:
only the special character will disappear while the NC-block is re-integrated into the

F
program run.

The default configurated comment characters may be edited. Please note that this
kind of modification should be effected only if a format file has been created, which
contains the applicable entries, or if the NC Editor is operated in the free format
mode (see Configuration of the Simulator Control: Special Characters).

© MTS GmbH 1998 167


8. Programming with Special Characters

Diagram 8.2: The "Temporary Free Format Mode" has been activated to program the NC-
blocks N045, N075 and N095 to N105.
Furthermore arithmetic operations have been employed in the NC-blocks
N45, N095 and N100.

168 Programmer’s Guide for CNC Milling


8. Programming with Special Characters

Temporary Free Format


If the user wishes to dispense with syntax checking, automatic formatting etc., the
free format mode is the option to choose for NC-programming. In this pogramming
mode there are no limitations to entering characters and character strings. The free
format mode can either be activated from the configuration program (to apply to an
NC-program in general), or by entering the character ")" (to apply to specific
program lines). (Please see Ch. 7 of the CNC-Simulator Operation Manual for a
detailed description of the MTS-Format as well as the Free Format Mode.)

) The character ")" (closing parentheses) activates the free format mode for
the selected program line. As with the comment character (see above), after
the special character any sequence of characters (including blanks) can be
entered. All entries will take effect in the program run, while no syntax
checking is applied. Please make sure that your entries are logical and
interpretable!

Example N075 ) R11 = R01 R12 = R02

Among the additional programming possibilities of the free format mode are the

F
application of arithmetical operations and reciprocal assignation of parameters.

The option of activating the free format mode in each selected program line can be
used for condensed input of NC-blocks as well as for including arithmetic
operations in the programming:

Arithmetic Operations
In an NC program, a calculation may either be specified as an arithmetic operation
(e.g. XR1+1) or as a functional equation (e.g. R4=R1*R2). In this, the algebraic
rules (e.g. ’priority of multiplication and division’, ’priority of operations in brackets’)
are to be observed as well as addition theoremes, rules of calculation with powers
and logarithmic calculation etc.
The following operations can be programmed:

Addition + To effect an addition, the sign "+" (plus) must be programmed:

N220 ) G00 XR1+5 Z+075.000 (=> X = R1 + 5)

Subtraction - To effect a subtraction, the sign "-" (minus) must be programmed:

N045 ) R15 = R05 - 1

Multiplication * To effect a multiplication, the sign "*" (asterisk) must be programmed:

N320 ) G00 XR1*R2 Z +001.000 (=> X = R1 * R2)

Division / To effect a division, the sign "/" (slash) must be programmed:

N330 ) G00 XR2/R1 Z+001.000

© MTS GmbH 1998 169


8. Programming with Special Characters

Statement of + By specifying a + (plus) or - (minus) sign, an entered value can be


Operational Signs - interpreted as a real number, with up to three places behind the decimal
point. Values that have no sign will be interpreted as positive numbers:

N330 ) R1 = -005.500
N340 ) R2 = +005.500 + R1

Ú
R2 = 000.000

Brackets [] In addition to the above described operations, brackets can be used. The
applicable characters are "[" (opening bracket) and "]" (closing bracket).

N260 ) G01 X [R1 + R2] * 000.500

Absolute Value ABS To enter a number as an absolute value, the character string "ABS" must be
programmed prior to that number. This may serve to exclude negative
values:

N350 ) R1 = -005.500
N355 ) R2 = ABS [+004.500 + R1]

Ú
R2 = 001.000

Integer Value INT If, in the course of an arithmetic operation, only the numbers before the
decimal point shall be accounted for, the character string "INT" must be
programmed prior to the respective value:

N445 ) R1 = +010.000
N450 ) R2 = -001.500
N455 ) R1 = INT [R1 + R2]
...
N480 ) G23 P450 Q470 S3

Ú
R1’ = 008.000, R1’’ = 006.000, R1’’’ = 004.000
During the first execution of the program part repetition R1 is set to the value 8, in
the second execution it is set to 6 and in the third to 4.

"Modulo" Value % "Modulo" is the term for the remainder left with a division, when the result is
to be a value of integer numbers, e.g.:
5/2=2
4

1 (modulo-value)
The division sign for modulo calculation is "%" (percentage) , e.g.:
5 modulo 2: 5 % 2

N550 ) R1 = +010.000 % +003.000

Ú
R1 = 001.000

170 Programmer’s Guide for CNC Milling


8. Programming with Special Characters

Sine SIN The sine function applies to right-angled triangles, it is established by the
function "opposite cathetus/hypotenuse". The character string "SIN" must be
programmed prior to entering a sine value in angular degrees.:

N100 ) R12 = SIN R03 * R04 + R12

Cosine COS The cosine function applies to right-angled triangles, it is established by the
function "adjacent cathetus/hypotenuse". The character string "COS" must
be programmed prior to entering a cosine value in angular degrees.:

N095 ) R11 = COS R03 * R04 + R11

Tangent TAN The tangent function applies to right-angled triangles, it is established by the
function "opposite cathetus/adjacent cathetus". The character string "TAN"
must be programmed prior to entering a tangent value in angular degrees:

N210 ) R12 = COS R03 * R04 * TAN R03

Arc Tangent ATAN The arc tangent function applies to right-angled triangles, it establishes the
included angle of the adjacent cathetus and hypotenuse.
This functional equation is the inverse function of the tangent: "opposite
cathetus/adjacent cathetus". The character string must be entered to
program the arc tangent, which will be calculated in angular degrees:

N220 ) R03 = ATAN R11 / R12

Square Root SQRTTo program the square root function, the character string "SQRT" is entered :

N320 ) R06 = SQRT +016.000

Ú
R06 = 004.000

Exponential Function EXP This exponential function, programmed by the character string EXP, is based
on "Euler’s constant" (e = 2,71828...); it serves to calculate the ex. value for
each case.

N820 ) R20 = EXP +003.000

Natural Logarithm LN As the inverse of the above exponential function, programming "LN" serves
to calculate the logarithm to the base e :

F
N830 ) R21 = LN R20

Please observe that while employing arithmetical operations or programming


parameters, the entered values or intended functions must "make sense" in the
overall context of the NC programming. In case the arithmetical operations prove
invalid, a corresponding error message with the suffix "operation error..." will
appear (cf. the CNC Simulator Operating Manual).

© MTS GmbH 1998 171


8. Programming with Special Characters

Diagram and applicable


functions for the below
listed program:

R01 = X1
R02 = Y1
R03 = Â
R04 = c
...

Diagram 8.3: Including trigonometric functions in the programming (cf. above, diagr. 7.1)

Diagram 8.4: NC-program, including arithmetic operations in the programming of


parameters
172 Programmer’s Guide for CNC Milling
8. Programming with Special Characters

Example of Programming with Parameters and

Arithmetic Operations
In Diagram 7.1 (see above p.164) a drilling pattern on a straight line is shown, with
five parameters assigned to program the holes. Of course this machining operation
could be defined by simply programming the G78 cycle. As an alternative providing
the option of a maximum variety of solutions, the arithmetic operations can be
employed in programming this drilling pattern:
R01: X-coordinate of the first hole
R02: Y-coordinate of the first hole
R03: Angle of the straight line
R04: Distance between holes
R05: Number of holes
R15: Number of holes minus one.

NC-programming is now carried out in three operational steps:

1. As a first step the first hole is defined at the known position (R01/R02) :
N075 ) R11 = R01 R12 = R02
N080 ) G83 Z-026.000 K+007.000 D+001.000
N085 ) G00 XR11 YR12 Z+001.000
N090 ) G79
Note: In this example, to program the hole coordinates as a general function, the
parameters R11 and R12 are entered. In the first cutting pass the known
parameters R01 and R02 will be assigned.

2. As a second step a general function must be found to define the centres of


all subsequent holes. As the angle of the straight line is a known parameter,
the "sine" and "cosine" trigonometric functions can be applied (see Diagr.
8.3):
N095 ) R11 = COS R03 * R04 + R11
N100 ) R12 = SIN R03 * R04 + R12
Note: Through the sine and cosine functions the incremental coordinate values in X
and Y of the respective next hole are calculated. To establish the applicable
absolute values, in each calculation the coordinates of the previous hole will
be added. This way the straight line and the hole coordinates determining the
drilling pattern are functionally defined.

3. As a third operational step in this programming, the routine function (program


part repetition) is employed to determine the number of drilling passes.:
N105 ) G23 P80 Q100 SR15
Note: This entry (R15 in this example) determines the number of subsequent
drilling operations to be executed, i.e. the drilling cycle G83 will be repeated
accordingly. The centre coordinates of the respective next hole are
established by the above described sine and cosine functions - e.g.

F
R11’=COS25 * 30 + 20, R11’’=COS25 * 30 + R11’ usf.

Once a drilling pattern has been programmed by the above described NC blocks,
any number of drilling patterns can be defined by simply editing the parameter
values R01 - R05. All other blocks of the applicable program are not affected by this
editing. This means that NC-blocks created this way may be used as macros
to be inserted into other NC programs.
Warning: If such macros are to be used as subprograms, concurrent programming
of jump instructions or program part repetitions is not allowed!

© MTS GmbH 1998 173


9. Setup Form

Diagram 9.1 : Setup form, programming of data for automatic setup of the machine tool

174 Programmer’s Guide for CNC Milling


9. Setup Form

9. Setup Form
In the so-called setup form all data is collected that is necessary for the automatic
setup of a machine tool, as defined in the Simulator configuration, after invoking an
NC program. This data includes the following:
- Blank-/part geometry
- Clamping devices and clamping mode
- Tools in the magazine and current tool
- Offset values of the tools employed
Setup sheets representing the current machine status can be automatically
created or manually programmed. Each setup form is listed preceding the NC
program to which the described setup status applies, being distinctly separated
from the actual program lines. It is also possible to create and administrate an NC
program bound to a specific set of setup data.

If the setup form interpreter (see the CNC Simulator Operating Manual) is
operative, the CNC Simulator will be automatically set up according to the specified
setup data, each time the respective NC program is loaded in the automatic or in
the interactive programming mode.

If the user wishes to include the setup of a specific machine status in the start-up
routine of the CNC Simulator itself, the name of the NC program to which that setup
applies, must be specified in the configuration program. In cases where a setup
form as well as a status file have been specified in the configuration, the Simulator
will be set up according to the status file.

The setup form function considerably speeds up the programming, because


specific NC programs can be repeatedly edited without having to program the
Simulator setup once again for each work session. At the same time the setup form
serves to document the machine status, which can thereby be verified and edited at
any time. As an additional data backup, we recommend the user to make printed
copies of the NC programs generated.

Note Please note: When a setup form documenting a specific machine status is
automatically generated, it will be included in the current NC program without a
security prompt. If the selected NC program already has a setup form prefixed to it,

F
this will be overwritten without further notice.

When manually creating or editing a setup form, please check on the valid
input of words, parameters and values. Invalid keywords will be ignored and
missing parameters will be set to zero. Trouble-free execution of a program is
guaranteed only if there are no errors with value input and spelling.
If specific data of the setup form is missing or faulty, as a rule the respective
data from the previous definition of the machine status will be set in.

© MTS GmbH 1998 175


9. Setup Form

()
(( 8.11.1993 14:01
(
( BLANK DIMENSIONS X+100.000 Y+100.000 Z+019.000
( PART POSITION X+000.000 Y+000.000
(( Upper left front corner of the workpart: X+000.000 Y+000.000 Z+106.000
( MATERIAL ST 37-2 W-Nr: 1.0037
(
( VICE RS 110
( CLAMPING HEIGHT E+029.000
( SHIFT V+000.000
( ALIGNMENT A0°
(
( CURRENT TOOL T11
( TOOLS
( T01 DRILL ALT/303
( T02 RADIUS END MILL D20 DIN 844
( T03 TAP FLUTING CUTTER D10
( T04 TAP FLUTING CUTTER D10
( T05 FACE END MILL PMK-80
( T06 T-SLOT CUTTER T28 DIN 851T NUT DIN-650
( T07 REAMER D08 DIN 212
( T08 SHELL END MILL D040 DIN 1880
( T09 TAP M16 DIN 374
( T10 ANGULAR CUTTER TYPE A 32/45 DIN 1833
( T11 TAP FLUTING CUTTER D07
( T12 ANGULAR CUTTER TYPE B 16/60 DIN 1833 FORM B
( T13 TAP FLUTING CUTTER D20
( T14 COUNTERSINK 23.0/90 DIN 335
( T15 DRILL ALT/305
( T16 STEP DRILL D13.5/90 DIN 8378
(
( VALID COMPENSATION VALUES
(
( CONFIGURATION
( MACHINE MTS-Milling machine
( CONTROL MTS-CNCM
()

Diagram 9.2 : Setup data of the NC-program "%520.FNC"

176 Programmer’s Guide for CNC Milling


9. Setup Form

9.1 Syntax of the Setup Form


As with the generation of an NC program, the NC- editor or the interactive program
mode is activated to program the setup data. By an appropriate default entry in the
Simulator control configuration, the setup form data can be protected against
manual editing in the editor - this may be recommendable e.g. for training
purposes.
If instead the manual entry or editing of setup form data is desired, certain
conventions concerning the programming language ("syntax rules") must be
observed, of course, to ensure correct interpretation. The diagram on the previous
page shows an example: the setup form of the NC program "%520.DNC".

Beginning and End The beginning and end of the setup form must be indicated by the character string
Indicator "()" Deleting one of these indicators may lead to problems in the program run.

Line Start Indicator The character "(" - otherwise used to denote a comment - must be entered at the
beginning of each new line.

Break Character Different entries within the same line must be separated by at least one blank
character.

Keywords A number of pre-defined "keywords" can be used with the entry of setup data,
serving to denote that element of the machining space to which the subsequent
information relates. These keywords will be represented and explained in further
detail on the following pages.
e.g.: (BLANK DIMENSIONS X+100.000 Y+100.000 Z+019.000
The character"(" indicates the beginning of a new line and the character
string "BLANK DIMENSIONS" is the keyword for the definition of a blank.

Parameters After the keyword has been entered, the applicable elements can be specified
either by input of dimensions or by entering object or file names.
e.g.: ( T02 RADIUS MILL D20 DIN 844
The radius mill identified by "D20 DIN 844" is available at the magazine
position "T02" .

Groups of Elements For the sake of clarity, all entries relating to a common technical context, will be
arranged in "groups". Such grouping has a binding effect and must therefore be
observed in the subsequent programming. :
e.g.: ( TOOLS
( T01 DRILL ALT/303 group
( T02 RADIUS END MILL D20 DIN 844
...

Comments To include comments in the setup form, another opening parenthesis "(".must be
entered to indicate the beginning of the commenting text Specific comments - e.g.
"Right face of the workpart : ..." - will be set in automatically when a setup form is
created that represents a current machine status.
In cases where the character "(" is also used in naming an element, please make a
double entry of this character, so as to make sure it will not be interpreted as a
comment character.
e.g.: Vice name: "SX5(1" -> Setup form: ( VICE SX5((1

© MTS GmbH 1998 177


9. Setup Form

Setup Data: Beginning/End Indicator


Function The beginning and end of the setup form is indicated by the character string "()"
(opening/closing parenthesis)

NC-Block ()
...
()
Note Please note that the character strings indicating the beginning and end of the setup
form must be programmed to ensure a trouble-free program execution.

Setup Data: Configuration Files


Function For the sake of clarity the currently activated machine and control configuration files
can be specified in the setup form. This will facilitate the selection of the appropriate
configuration with later test runs of the NC program.

NC-Block ( CONFIGURATION
( MACHINE [FILENAME1]
( CONTROL [FILENAME2]
Addresses [FILENAME1] Name of the machine configuration file
[FILENAME2] Name of the control configuration file

Note Configuration files cannot be read-in while the CNC Simulator is operative; it is
therefore of no importance for the program run, whether such files have been
specified in the setup form. To edit the configuration, the current machining must
be interrupted and the desired configuration files must be identified in the selection
menu.

Setup Data: Blank


Function Rectangular parallelepipeds are used as blanks (please cf. the Operating Manual).

NC-block ( BLANK DIMENSIONS X... Y... Z...


Addresses X Blank length (with G17)
Y Blank width (with G17)
Z Blank height (with G17)

Example ( BLANK DIMENSIONS X+200.000 Y+100.000 Z+060.000

Note Please note that the coordinate value assignation will be different if the selected
plane is G18 or G19, instead of G17 (see below and cf. the Simulator Operating
Manual).

178 Programmer’s Guide for CNC Milling


9. Setup Form

Setup Data: Prefabricated Part


Function Instead of a blank, a prefabricated part may be inserted. This must be specified in
the setup form by entering the the file name after the keyword "blank file name".

NC-block ( BLANK FILE NAME [FILENAME.FWS]


Addresses [Filename.FWS] Name of the workpart file

Note The file extension for milling workparts is "*.FWS" .

Setup Data: Workpart Position


Function At this keyword the blank / part is positioned in the X and Y direction, relative to the
machine zero (with G17 selected, see above). This entry will also effect the
positioning of the selected clamping device at its appropriate position: entries after
the keyword "workpart position" thereby serve to concurrently define the location of
the blank / part and its fixture on the machine table .

NC-block ( WORKPART POSITION X... Y...


Addresses X Position in X (with G17)
Y Position in Y (with G17)
The part reference point is the lower left front corner of the blank / part.
Example ( WORKPART POSITION X+000.000 Y+000.000

Note Please take account of the selected plane (see above) when specifying
coordinates.
To facilitate the programming of the workpart zero, when a setup form is
automatically generated, the X/Y/Z values of the upper left front corner of the
blank/part will be set in as a comment. In such cases the positioning will always
refer to the blank, even if a prefabricated part has been selected for the machining.

Setup Data: Workpart Material


Function Subsequent to the keyword "material" the desired type of workpart material can be
entered. Currently no terms are defined for this entry.

NC-block ( MATERIAL [Entering the type of material]


Note Currently the specification of material has no effect on the program run.

© MTS GmbH 1998 179


9. Setup Form

Setup Data: Clamping Devices


Function Optional clamping devices in the setup of the Simulator for Milling are vices,
modular or magnetic clamping sets To select a clamping mode, the respective
keyword must be entered, followed by the specification of single elements
(modules) of a clamping set, if applicable.

NC-block ( VICE [Name]


( MAGNETIC CLAMPING
( MODULAR CLAMPING
( X... Y... Z... POSX... POSY... POSZ...
...
Addresses No parameters are attached to the keyword "magnetic clamping"
[Name] Name of the vice
X X dimension of the clamping element
Y Y dimension of the clamping element
Z Z dimension of the clamping element
POSX Position of the clamping element in X: middle of the upper face of the
clamping element, relative to the machine zero.
POSY Position of the clamping element in Y: middle of the upper face of the
clamping element, relative to the machine zero.
POSZ Position of the clamping element in X: middle of the upper face of the
clamping element, relative to the machine zero.

Example:

( MODULAR CLAMPING
( X+030.000 Y+030.000 Z+020.000
POSX+085.000 POSY+130.000 POSZ+095.000
( X+030.000 Y+030.000 Z+020.000
POSX+235.000 POSY+130.000 POSZ+095.000
( X+030.000 Y+030.000 Z+020.000
POSX+240.000 POSY+215.000 POSZ+095.000
( X+030.000 Y+030.000 Z+020.000
POSX+080.000 POSY+215.000 POSZ+095.000
...

Note Only one clamping mode at a time can be specified, and it must, of course be
applicable to the selected blank / workpart.
When a modular clamping has been selected, further elements may be defined -
e.g. to provide a more detailed collision monitoring.
Please refer to the chuck management for a listing of vice names.

180 Programmer’s Guide for CNC Milling


9. Setup Form

Setup Data : Chucking Height


Function This parameter is only relevant for vice chucking or modular chucking; it either
defines the distance between the upper face of the vice body and the bottom face
of the blank / workpart, or (with modular clamping) the distance between the
machine table and the bottom face of the blank / workpart.

NC-block ( CHUCKING HEIGHT E...


Addresses E Position of the blank / workpart

Example ( CHUCKING HEIGHT E+010.000

Note When the automatic setup mode is operative, there will be no check on the
consistency of the selected chucking height and chucking type. Therefore, please
make sure that your definition of the chucking height corresponds with the
appropriate chucking of the blank / workpart.
If no vice shift (see below) has been programmed, the blank / workpart will be
positioned flush down at the vice body or the machine table.

Setup Data : Re-positioning the Workpart in the Vice


Function If a vice is employed as the clamping device, the position of the blank / workpart
between the jaws can be changed, by shifting the vice, parallel to the jaws, by the
distance determined by the value entered at the address V after the keyword "shift".
This way the the defined position of the workpart in the work area remains the
same.

NC-block ( SHIFTV...
Addresses V Vice Shift
Example ( SHIFT V-010.000

Note When the automatic setup mode is operative, there will be no check on the
consistency of the selected chucking height and chucking type. Therefore, please
make sure that your definition of the chucking height corresponds with the
appropriate chucking of the blank / workpart.
If no chucking height (see above) has been defined, the blank / workpart will be
positioned centered between the chuck jaws.

© MTS GmbH 1998 181


9. Setup Form

Setup Data : Vice Orientation


Function A vice can be mounted to the machine table in four positions by rotating it by 90°
respectively. After the keyword "orientation" the desired rotation is specified:

NC-block ( ORIENTATION A...


Addresses A Angle of vice rotation: valid entries are 0°, 90°, 180° and 270°. If values other
than these are specified, the default standard value 0° will be set in.

Example:

( ORIENTATION A+000.000
...

Note If no vice orientation is defined, the default value 0° will be set in.

Setup Data: Flipping


Function The entry of the keywords "Flip" plus "Horizontal" or "Vertical" serves to re-chuck
the workpart.

NC-block ( FLIP HORIZONTAL


( FLIP VERTICAL
Note These entries have no parameters.
Please observe that only one flipping mode can be selected at a time - either
"horizontal" or "vertical".
Vertical flipping means rotating the workpart by 180° around a centre axis parallel
to the Y-axis (with G17)
Horizontal flipping means rotating the workpart by 180° around a centre axis
parallel to the X-axis (with G17)

182 Programmer’s Guide for CNC Milling


9. Setup Form

Setup Data: Selection of the Plane


Function Machine tools with vertical or horizontal spindle position and different coordinate
axes can be emulated in the CNC Simulator for Milling (see the Configuration
Manual). The desired coordinate system must therefore be defined by selecting a
machining plane (G17, G18 or G19, see above Ch. 1.2)

NC-block ( PLANE SELECTION G..


Addresses G Entry of machining plane G17, G18, G19 or
MAHO G17, MAHO G18, MAHO G19
Note The plane definition precedes the interpretation of the setup form data. Please
observe that further data entries must be consistent with the selected plane and
coordinate system.

Setup Data: Current Tool


Function This entry serves to program a selected tool in the magazine to be mounted to the
workspindle. Prior to this, the spindle head is moved to the reference point.

NC-block ( CURRENT TOOL T..


Addresses T Entry of the magazine position (two-digit, e.g. "T07")
Note Please make sure that the mounting of the selected tool to the spindle head will not
cause a collision.

Setup Data: Tools in the Magazine


Function The selection of tools to be available in the magazine is determined by entering,
subsequent to the group name "Tools", the two-digit position numbers, the
keywords of tool types and the tool names.

NC-block ( TOOLS
( T.. END MILL [Tool name]
( T.. TAP FLUTING CUTTER [Tool name]
( T.. T-SLOT CUTTER [Tool name]
( T.. SHELL END MILL [Tool name]
( T.. FACE END MILL [Tool name]
( T.. RADIUS END MILL [Tool name]
( T.. ANGULAR CUTTER TYPE A [Tool name]
( T.. ANGULAR CUTTER TYPE B [Tool name]
( T.. REAMER [Tool name]
( T.. TAP [Tool name]
( T.. REVERSIBLE TIP DRILL [Tool name]
( T.. STEP DRILL [Tool name]
( T.. COUNTERSINK [Tool name]
( T.. CONCAVE FORM CUTTER [Tool name]
( T.. DISC SIDE CUTTER [Tool name]
( T.. DRILL [Tool name]
( T.. VACANT

© MTS GmbH 1998 183


9. Setup Form

Addresses T Entry of the magazine position (two-digit, e.g. "T07")


The keyword "tools" is set in without a parameter.

Please use the tool management to find the applicable "tool name".

If you wish to have no tool mounted to a specific position of the magazine, please
enter "VACANT" after that position number.

Note The maximum of tools available in the magazine is 99 (please se the Configuration
Manual). As a matter of course, only tools can be selected that are included in the
tool management. If a tool type keyword has been spelled incorrectly no new tools
can be mounted. If the tool name is invalid, a corresponding error message will
appear.

Setup Data: Compensation Values


Function The compensation values of the active tools may either be automatically read in
from the tool management or the applicable offset value registers are "manually"
defined by the user, by entering the keyword "compensation values" followed by the
compensation values.

NC-Block ( VALID COMPENSATION VALUES

( COMPENSATION VALUES
( D.. Z... R...
Addresses The keyword "Valid Compensation Values" is entered without parameters. This
effects the setting in of the default compensation values to the respective registers,
denoted by numbers corresponding with the magazine position numbers, e.g. the
offset values for "T01" are stored in the register "01" etc.

For manual definition of the compensation value registers the keyword


"Compensation Values" is entered, subsequently the parameters are specified:

D At D the (two-digit) register number is entered.


Z Tool length compensation in Z
R Tool radius compensation
Note For a detailed description of the definition of compensation values, please see Ch.
1.4 above, as well as the Operating Manual of the CNC Simulator.

Setup Data : Tool Engagement Times


Function With each cutting run of an NC program, the engagement times of the applied tool
will be calculated.
The current keyword serves to define a setup status where the engagement times
of all tools available in the magazine are set to zero.

NC-block ( ZERO ENGAGEMENT TIMES

184 Programmer’s Guide for CNC Milling


Appendix 1: Survey of Programmable Addresses

Appendix 1: Survey of Programmable Addresses

F If a different unit of measurement is not explicitly stated, all values are in millimeters
(mm).

Address Value / Range Explanation / Function

% 000001 bis 999999 Identification of a Main Program

A - 360.000 to + 360.000 Input of angles (in degrees) when programming in the polar
coordinate system G10 - G13
Rotary angle for Incremental Zero Shift G59
Angle to the X-axis of the first drilled hole : Drilling pattern on a Circle
G61
Input of angles (in degrees) : Contour Strings G71, G72 and G73
Angle to the X-axis of the first pass : Invocation of a Cycle on a
Circular Arc G77
Angle of the line to the X-axis : Invocation of a Cycle on a Line G78
000.000 to 999.999 Path information for approach and retreat instructions with cutter
radius compensation G45, G46 und G47
Dwell time (in seconds) after tool retraction for chip removal : Deep
drilling cycle G83

B 000.000 to 999.999 Distance between the origin and the target point when programming
in the Polar Coordinate System G10 and G11
Circle radius : Drilling Pattern on a Circle G61
Radius : Contour Strings G72, G73
Radius of the circular arc : Invocation of a Cycle on a Circular Arc
G77
Dwell time (in seconds) at the drilling level for chip-breaking: Drilling
Cycles G82 und G83
Rounding radius of pocket corners: Rectangular Pocket Cycle G87
Radius of the circular pocket : G88
Radius of the pin : G89

C - 999.999 to + 999.999 Chamfer (C-) or rounding (C+) : Contour Strings G71, G72 and G73
000.000 to 999.999 Radius of the Circular Pocket : G89

D - 360.000 to + 360.000 Angle between cycle execution positions : Invocation of a Cycle on a


Circular Arc G77
000.000 to + 999.999 Angle between cycle execution positions : Invocation of a Cycle on a
Straight Line G78
Degression : Drilling Cycles G82 and G83

E 000.001 to 999.999 Feed adjustment: Rectangular Pocket Cycle G67


- 360.000 to + 360.000 Angle to the positive X-axis of the oriented tangent at the end point:
Contour Strings G72/G73

F 010.000 to 999.999 Feedrate in mm/min

G 00 to 99 G-Commands

© MTS GmbH 1998 185


Appendix 1: Survey of Programmable Addresses

Address Value / Range Explanation / Function

I - 999.999 to + 999.999 Centre coordinate in X : G02 and G03, as well as Contour Strings
G72 and G73
Origin coordinate in X incremental to the starting point : Programming
in the Polar Coordinate System, G10 - G13
Coordinate of the rotation centre in X : Incremental Zero Shift G59
Offset of cycle execution positions in X : Invocation of a Cycle on a
Straight Line G78
Feed adjustment in the X-Y-plane (in % of the cutter diameter) :
Cycles G87, G88 and G89
000.000 to + 999.999 Pocket length in X : Rectangular Pocket Cycle G67

J - 999.999 to + 999.999 Centre coordinate in Y : G02 and G03, as well as Contour Strings
G72 and G73
Origin coordinate in Y incremental to the starting point : Programming
in the Polar Coordinate System, G10 - G13
Coordinate of the rotation centre in Y : Incremental Zero Shift G59
Offset of cycle execution positions in Y : Invocation of a Cycle on a
Straight Line G78
000.000 to + 999.999 Pocket length in Y : Rectangular Pocket Cycle G67

K 000.000 to - 999.999 Depth of the pocket, incremental to the current tool position -
Rectangular Pocket Cycle G67
- 999.999 to + 999.999 First drilling depth, absolute :Drilling Cycles G82 and G83
Downfeed in Z after each pass : Cycles G87, G88 and G89
Circle centre coordinates : Selection of Planes

L 000.000 to + 999.999 Length of the line : Contour String G71

M 00 to 99 Additional Functions and Switches

N 001 to 999 NC-Block Number

P 001 to 999 Start block number : Subprogram Invocation G22


Start block number : Routine G23
Block number : Jump Instruction G24
P001, P002 Selection of Solutions : Contour Strings
P011, P012 Selection of Solutions : Roundings with C+ in Contour Strings
P070 Absolute coordinates of circle centres :Contour Strings G72 and G73
Absolute polar origin coordinates I and J : G10 - G13
P071 Angle A between the line connecting the origin and the starting point
and the line connecting the origin and the target point, incremental :
G10 - G13
001 to 999 End Block Number :Subprogram Invocation G22
End Block Number : Routine G23

R 00 to 99 Address for Parameter Value Assignation


001 to 999 Number of repetitions with subprograms G22 and part program
routines G23
Number of drilled holes :Drilling Pattern on a Circle G67
Number of passes : Invocation of Cycles G77 and G78
0001 to 9999 Spindle Speed in Rev/min
0101 to 1699 The first two digits (01 - 16) denote the magazin position for tool

186 Programmer’s Guide for CNC Milling


Appendix 1: Survey of Programmable Addresses

Address Value / Range Explanation / Function


change
the last two digits denote the Offset Value Storage (01 - 99)

U 000000 to 999999 Subprogram name : G22

W 000.000 to 999.999 2. Clearance plane :Cycles G81 to G89


- 999.999 to + 999.999 Coordinate value in X
000.000 to 999.999 Dwell (in seconds) : G04-Command

Y - 999.999 to + 999.999 Coordinate value in Y

Z - 999.999 to + 999.999 Coordinate value in Z

© MTS GmbH 1998 187


Appendix 2: Tool File Survey

Appendix 2: Tool File Survey

Tool Mounting

Steep taper Reception Capacity


Name ø Length Angle ø Length min. max.

SK-NR. 30 DIN 69871 .....31.75......... 47.8.........16.26 ............ 45............ 15.9..............10..............40 .....


SK-NR. 60 DIN 69871 ....107.95.........161 .........16.26 ........... 130............. 19 ................5...............30 .....
fan1 DIN 4612.................... 50 .............50 ............ 20............... 60.............. 30 ...............10..............55 .....
fan2 DIN 4612.................... 50 .............70 ............ 20............... 50.............. 40 ...............05..............40 .....
fan3 DIN 4612.................... 50 .............70 ............ 20............... 40.............. 40 ...............05..............30 .....

Engaging slot
Name ø Length Depth Width Angle

SK-NR. 30 DIN 69871 ......... 59.3...................... 19.1 ................ 2.85.................3.75 ................30 ............
SK-NR. 60 DIN 69871 .......... 155 ...................... 19.1 ................ 3.65.................3.75 ................30 ............
fan1 DIN 4612........................ 70 .........................20.....................6 ..................... 4...................30 ............
fan2 DIN 4612........................ 70 .........................20.....................6 ..................... 4...................30 ............
fan3 DIN 4612........................ 70 .........................20.....................6 ..................... 4...................30 ............

188 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Twist Drill

Sense of rotation: CLOCKWISE

Offset = 0

Radius compensation = 0

Name Shank-ø Drill-ø Flute- Tip Overall Tool length


length angle length compensation

D02 ..................... 5................... 2 ....................21 ............. 118................ 49 ...........................100 ............


D04 ..................... 5................... 4 ....................43 ............. 118................ 75 ...........................120 ............
D06 ..................... 6................... 6 ....................50 ............. 118................ 93 ...........................130 ............
D08 ..................... 8................... 8 ....................65 ............. 118............... 117 ..........................150 ............
D10 .................... 10................. 10 ...................75 ............. 118............... 133 ..........................150 ............
D12 .................... 12................. 12 ...................85 ............. 118............... 151 ..........................180 ............
D14 .................... 14................. 14 ...................37 ............. 118............... 107 ..........................140 ............
D16 .................... 16................. 16 ...................38 ............. 118............... 115 ..........................160 ............
D18 .................... 18................. 18 ...................40 ............. 118............... 123 ..........................160 ............
D20 .................... 20................. 20 ...................40 ............. 118............... 131 ..........................160 ............
D22 .................... 22................. 22 ...................50 ............. 118............... 131 ..........................160 ............
D24 .................... 24................. 24 ...................52 ............. 118............... 145 ..........................160 ............
D26 .................... 26................. 26 ...................54 ............. 118............... 147 ..........................160 ............
D28 .................... 28................. 28 ...................56 ............. 118............... 150 ..........................160 ............
D30 .................... 30................. 30 ...................58 ............. 118............... 155 ..........................165 ............
ALT/301.............. 6................... 2 ....................30 ............. 118................ 49 ...........................100 ............
ALT/302.............. 6................... 4 ....................35 ............. 118................ 55 ...........................100 ............
ALT/303.............. 6................... 6 ....................50 ............. 118................ 90 ...........................115 ............
ALT/304.............. 8................... 8 ....................50 ............. 118................ 90 ...........................115 ............
ALT/305............. 10................. 10 ...................50 ............. 118................ 90 ...........................115 ............
ALT/306............. 12................. 12 ...................80 ............. 118............... 120 ..........................145 ............
ALT/307............. 14................. 14 ...................80 ............. 118............... 120 ..........................145 ............
ALT/308............. 16................. 16 ...................80 ............. 118............... 120 ..........................145 ............
ALT/309............. 18................. 18 ...................80 ............. 118............... 120 ..........................145 ............
ALT/310............. 20................. 20 ...................80 ............. 118............... 120 ..........................145 ............
ALT/311............. 22................. 22 ..................100 ............ 118............... 140 ..........................165 ............
ALT/312............. 24................. 24 ..................100 ............ 118............... 140 ..........................165 ............
ALT/313............. 26................. 26 ..................100 ............ 118............... 140 ..........................165 ............
ALT/314............. 28................. 28 ..................100 ............ 118............... 140 ..........................165 ............
ALT/315............. 30................. 30 ..................100 ............ 118............... 140 ..........................165 ............
ALT/316............. 32................. 32 ..................120 ............ 118............... 160 ..........................185 ............
ALT/317............. 34................. 34 ..................120 ............ 118............... 160 ..........................185 ............
ALT/318............. 36................. 36 ..................120 ............ 118............... 160 ..........................185 ............
ALT/319............. 38................. 38 ..................120 ............ 118............... 160 ..........................185 ............
ALT/320............. 40................. 40 ..................120 ............ 118............... 160 ..........................185 ............

© MTS GmbH 1998 189


Appendix 2: Tool File Survey

Tap

Sense of rotation: CLOCKWISE

Offset = 0

Radius compensation = 0

Name Shank-ø Nominal Thread Lead Overall Tool length


-ø length length compensation

M03 DIN 374........ 2.2...............3 ..................9 .................... 0.35 .................. 56 ......................100 ...........
M04 DIN 374........ 2.8...............4 .................10 ................... 0.55 .................. 63 ......................110 ...........
M05 DIN 374........ 3.5...............5 .................12 .................... 0.5 ................... 70 ......................110 ...........
M06 DIN 374........ 4.5...............6 .................14 ................... 0.75 .................. 80 ......................120 ...........
M07 DIN 374........ 5.5...............7 .................14 ................... 0.75 .................. 80 ......................120 ...........
M08 DIN 374.......... 6 ................8 .................16 ................... 0.75 .................. 80 ......................120 ...........
M09 DIN 374.......... 7 ................9 .................16 ................... 0.75 .................. 90 ......................130 ...........
M10 DIN 374.......... 7 ...............10 ................18 ......................1 .................... 90 ......................130 ...........
M12 DIN 374.......... 9 ...............12 ................22 ......................1 ................... 100 .....................140 ...........
M14 DIN 374......... 11 ..............14 ................22 ......................1 ................... 100 .....................140 ...........
M15 DIN 374......... 12 ..............15 ................22 ......................1 ................... 100 .....................140 ...........
M16 DIN 374......... 12 ..............16 ................22 ......................1 ................... 100 .....................140 ...........
M17 DIN 374......... 12 ..............17 ................22 ......................1 ................... 100 .....................140 ...........
M18 DIN 374......... 14 ..............18 ................25 ......................1 ................... 110 .....................150 ...........
M20 DIN 374......... 16 ..............20 ................25 ......................1 ................... 125 .....................155 ...........
M22 DIN 374......... 18 ..............22 ................25 ......................1 ................... 125 .....................155 ...........
M24 DIN 374......... 18 ..............24 ................25 ......................1 ................... 125 .....................155 ...........
M25 DIN 374......... 18 ..............25 ................28 ......................2 ................... 145 .....................165 ...........
M26 DIN 374......... 18 ..............26 ................28 ......................2 ................... 140 .....................165 ...........
M27 DIN 374......... 20 ..............27 ................28 ......................2 ................... 140 .....................165 ...........
M28 DIN 374......... 20 ..............28 ................28 ......................2 ................... 140 .....................165 ...........
M30 DIN 374......... 22 ..............30 ................28 ......................2 ................... 150 .....................170 ...........

190 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Conkave Form Cutter

Offset = 0

Name Shank-ø Large end Head Radius Overall Tool length Radius-
head-ø width länge compensation compens.

D1.0 ..............10 .....................10 ............... 10........... 4.5............ 50 ................... 90 ........................ 1.......


D1.5 ..............10 .....................10 ............... 10.......... 4.25........... 50 ................... 90 .......................1.5 .....
D2.0 ..............10 .....................12 ............... 10.............5 ............. 55 ................... 90 ........................ 2.......
D2.5 ..............10 .....................14 ............... 10........... 4.5............ 57 ................... 90 .......................2.5 .....
D3.0 ..............10 .....................16 ............... 10.............5 ............. 57 ................... 90 ........................ 3.......
D3.5 ..............10 .....................18 ............... 10........... 5.5............ 59 ................... 90 .......................3.5 .....
D4.0 ..............10 .....................18 ............... 10.............5 ............. 59 ................... 90 ........................ 4.......
D5.0 ..............10 .....................20 ............... 10.............5 ............. 61 ................... 90 ........................ 5.......
D6.0 ..............20 .....................23 ............... 10........... 5.5............ 73 ................... 90 ........................ 6.......
D7.0 ..............20 .....................26 ............... 10.............6 ............. 75 ................... 90 ........................ 7.......

© MTS GmbH 1998 191


Appendix 2: Tool File Survey

Face End Mill

Offset = 0

Name Shank-ø Tool bit-ø Tool bit Head Overall Tool length Radius-
width length length compensation compens.

PMK-80......... 32 ................80 .................... 9 ............... 50............110 ................. 115 .................... 40 .......


PMK-100....... 32 ...............100 ................... 9 ............... 50............110 ................. 120 .................... 50 .......
PMK-125....... 32 ...............125 ................... 9 ............... 63............120 ................. 130 ...................62.5 .....
PMK-160....... 32 ...............160 ................... 9 ............... 63............130 ................. 130 .................... 80 .......
PMK-200....... 32 ...............200 ................... 9 ............... 63............130 ................. 130 .................... 80 .......

192 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Radius End Mill

Offset = 0

Name Shank-ø Radius Edge Overall Tool length Radius-


length length compensation compens.

D03 DIN 844......... 6................ 3.................... 5 .................... 49....................... 80 ........................... 3.........


D04 DIN 844......... 6................ 2.................... 7 .................... 49....................... 80 ........................... 2.........
D05 DIN 844......... 6...............2.5 .................. 8 .................... 52....................... 80 .......................... 2.5 .......
D06 DIN 844......... 6................ 3.................... 8 .................... 52....................... 80 ........................... 3.........
D08 DIN 844......... 8................ 4................... 11 ................... 61....................... 85 ........................... 4.........
D10 DIN 844........ 10............... 5................... 13 ................... 63....................... 90 ........................... 5.........
D12 DIN 844........ 12............... 6................... 26 ................... 83...................... 100 .......................... 6.........
D14 DIN 844........ 14............... 7................... 26 ................... 83...................... 100 .......................... 7.........
D16 DIN 844........ 16............... 8................... 32 ................... 92...................... 110 .......................... 8.........
D18 DIN 844........ 18............... 9................... 32 ................... 92...................... 110 .......................... 9.........
D20 DIN 844........ 20.............. 10.................. 38 .................. 104..................... 120 ......................... 10........
D22 DIN 844........ 22.............. 11.................. 38 .................. 104..................... 120 ......................... 11........
D25 DIN 844........ 25.............12.5 ................ 45 .................. 121..................... 140 ........................ 12.5 ......
D28 DIN 844........ 28.............. 14.................. 25 .................. 121..................... 130 ......................... 14........
D30 DIN 844........ 30.............. 15.................. 45 .................. 121..................... 140 ......................... 15........
D32 DIN 844........ 32.............. 16.................. 53 .................. 133..................... 150 ......................... 16........

© MTS GmbH 1998 193


Appendix 2: Tool File Survey

Reamer

Offset = 0

Name Shank-ø Edge Min. Overall Tool length Radius-


length drill-ø length compensation compens.

D01DIN212 ........ 1 ...................5.5 .................... 1 ................... 34..................... 80........................0.5 .......


D02DIN212 ........ 2 ................... 11 .................. 1.91................. 49..................... 90......................... 1.........
D03DIN212 ........ 3 ................... 15 .................. 2.95................. 61..................... 90........................1.5 .......
D04DIN212 ........ 4 ................... 19 .................. 3.76................. 75.................... 100........................ 2.........
D05DIN212 ........ 5 ................... 23 .................. 4.76................. 86.................... 110.......................2.5 .......
D06DIN212 .......5.6 ................. 26 ..................... 6 ................... 93.................... 120........................ 3.........
D07DIN212 .......7.1 ................. 31 ................... 7.0................. 109................... 130.......................3.5 .......
D08DIN212 ........ 8 ................... 33 ..................... 8 .................. 117................... 140........................ 4.........
D09DIN212 ........ 9 ................... 36 ..................... 9 .................. 125................... 140.......................4.5 .......
D10DIN212 ....... 10 .................. 38 .................... 10 ................. 133................... 140........................ 5.........

194 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Shank End Mill

Name Shank-ø Edge-ø Edge Overall Tool length Offset Radius-


length length compensation compens.

D02 DIN 844....... 6.................... 2 ..................... 7................ 51................... 77 ................ 0 ............... 1.......
D03 DIN 844....... 6.................... 3 ..................... 8................ 52................... 78 ................ 0 ............... 2.......
D04 DIN 844....... 6.................... 4 .................... 11............... 55................... 81 ................ 0 ............... 2.......
D05 DIN 844....... 6.................... 5 .................... 13............... 57................... 83 ................ 0 ..............2.5 .....
D06 DIN 844....... 6.................... 6 .................... 13............... 57................... 83 ................ 0 ............... 3.......
D07 DIN 844...... 10................... 7 .................... 16............... 66................... 86 ................ 0 ..............3.5 .....
D08 DIN 844...... 10................... 8 .................... 19............... 69................... 89 ................ 0 ............... 4.......
D09 DIN 844...... 10................... 9 .................... 19............... 69................... 89 ................ 0 ..............4.5 .....
D10 DIN 844...... 10.................. 10 ................... 22............... 72................... 92 ................ 0 ............... 5.......
D11 DIN 844...... 12.................. 11 ................... 22............... 79................... 92 ................ 0 ..............5.5 .....
D12 DIN 844...... 12.................. 12 ................... 26............... 83.................. 106 ............... 0 ............... 6.......
D13 DIN 844...... 12.................. 13 ................... 26............... 83.................. 106 ............... 0 ..............6.5 .....
D14 DIN 844...... 12.................. 14 ................... 26............... 83.................. 106 ............... 0 ............... 7.......
D15 DIN 844...... 12.................. 15 ................... 26............... 83.................. 106 ............... 0 ..............7.5 .....
D16 DIN 844...... 16.................. 16 ................... 32............... 92.................. 111 ............... 0 ............... 8.......
D18 DIN 844...... 16.................. 18 ................... 32............... 92.................. 111 ............... 0 ............... 9.......
D20 DIN 844...... 20.................. 20 ................... 38............... 98.................. 117 ............... 0 .............. 10......
D22 DIN 844...... 20.................. 22 ................... 38.............. 104................. 117 ............... 0 .............. 11......
D24 DIN 844...... 25.................. 24 ................... 45.............. 121................. 130 ............... 0 .............. 12......
D25 DIN 844...... 25.................. 25 ................... 45.............. 121................. 130 ............... 0 .............12.5 ....
D26 DIN 844...... 25.................. 26 ................... 45.............. 121................. 130 ............... 0 .............. 13......
D28 DIN 844...... 25.................. 28 ................... 45.............. 121................. 130 ............... 0 .............. 14......
D30 DIN 844...... 25.................. 30 ................... 45.............. 121................. 130 ............... 0 .............. 15......
D32 DIN 844...... 32.................. 32 ................... 53.............. 133................. 140 ............... 0 .............. 16......
D35 DIN 844...... 32.................. 35 ................... 53.............. 133................. 140 ............... 0 .............17.5 ....
D40 DIN 844...... 40.................. 40 ................... 63.............. 155................. 155 ............... 0 .............. 20......
ALT/001.............. 6.................... 1 ..................... 7................ 32................... 70 ................ 0 ..............0.5 .....
ALT/002.............. 6.................... 2 ..................... 7................ 53................... 75 ................ 0 ............... 1.......
ALT/003.............. 6.................... 3 ..................... 8................ 56................... 75 ................ 0 ..............1.5 .....
ALT/004.............. 6.................... 4 .................... 11............... 56................... 75 ................ 0 ............... 2.......
ALT/005.............. 6.................... 5 .................... 13............... 60................... 80 ................ 0 ..............2.5 .....

© MTS GmbH 1998 195


Appendix 2: Tool File Survey

Name Shank-ø Edge-ø Edge Overall Tool length Offset Radius-


length length compensation compens.

ALT/006 .............. 6 ....................6 .................... 13 ............... 60 ...................80 ................0 ...............3 .......


ALT/007 .............. 7 ....................7 .................... 16 ............... 67 ...................85 ................0 ............. 3.5......
ALT/008 .............. 8 ....................8 .................... 19 ............... 71 ...................90 ................0 ...............4 .......
ALT/009 .............. 9 ....................9 .................... 19 ............... 71 ...................90 ................0 ............. 4.5......
ALT/010 ............. 10 ..................10 ................... 22 ............... 71 ...................90 ................0 ...............5 .......
ALT/011 ............. 11 ..................11 ................... 22 ............... 71 ...................90 ................0 ............. 5.5......
ALT/012 ............. 12 ..................12 ................... 26 ............... 75 ...................95 ................0 ...............6 .......
ALT/013 ............. 13 ..................13 ................... 26 ............... 75 ...................95 ................0 ............. 6.5......
ALT/014 ............. 14 ..................14 ................... 26 ............... 75 ...................95 ................0 ...............7 .......
ALT/015 ............. 15 ..................15 ................... 26 ............... 82 ...................95 ................0 ............. 7.5......
ALT/016 ............. 16 ..................16 ................... 32 ............... 82 ..................100 ...............0 ...............8 .......
ALT/017 ............. 17 ..................17 ................... 32 ............... 82 ..................100 ...............0 ............. 8.5......
ALT/018 ............. 18 ..................18 ................... 32 ............... 85 ..................100 ...............0 ...............9 .......
ALT/019 ............. 19 ..................19 ................... 32 ............... 85 ..................100 ...............0 ............. 9.5......
ALT/020 ............. 20 ..................20 ................... 38 ............... 85 ..................110 ...............0 ..............10 ......
ALT/021 ............. 21 ..................21 ................... 38 ............... 85 ..................110 ...............0 ..............10 ......
ALT/022 ............. 22 ..................22 ................... 38 .............. 106 .................120 ...............0 ..............11 ......
ALT/023 ............. 23 ..................23 ................... 38 .............. 106 .................120 ...............0 ............ 11.5.....
ALT/024 ............. 24 ..................24 ................... 38 .............. 106 .................120 ...............0 ..............12 ......
ALT/025 ............. 25 ..................25 ................... 45 .............. 112 .................120 ...............0 ............ 12.5.....
ALT/026 ............. 26 ..................26 ................... 45 .............. 112 .................120 ...............0 ..............13 ......
ALT/027 ............. 27 ..................27 ................... 45 .............. 112 .................120 ...............0 ............ 13.5.....
ALT/028 ............. 28 ..................28 ................... 45 .............. 112 .................120 ...............0 ..............14 ......
ALT/029 ............. 28 ..................29 ................... 45 .............. 112 .................120 ...............0 ............ 14.5.....
ALT/030 ............. 30 ..................30 ................... 45 .............. 112 .................120 ...............0 ..............15 ......
ALT/031 ............. 31 ..................31 ................... 53 .............. 112 .................120 ...............0 ............ 15.5.....
ALT/032 ............. 32 ..................32 ................... 53 .............. 112 .................125 ...............0 ..............16 ......
ALT/033 ............. 33 ..................33 ................... 53 .............. 118 .................130 ...............0 ..............16 ......
ALT/034 ............. 34 ..................34 ................... 53 .............. 118 .................130 ...............0 ..............17 ......
ALT/035 ............. 35 ..................35 ................... 53 .............. 118 .................130 ...............0 ............ 17.5.....
ALT/036 ............. 36 ..................36 ................... 53 .............. 118 .................130 ...............0 ..............18 ......
ALT/037 ............. 37 ..................37 ................... 53 .............. 118 .................130 ...............0 ............ 18.5.....
ALT/038 ............. 38 ..................38 ................... 62 .............. 125 .................135 ...............0 ..............19 ......
ALT/039 ............. 39 ..................39 ................... 62 .............. 125 .................135 ...............0 ............ 19.5.....
ALT/040 ............. 40 ..................40 ................... 62 .............. 125 .................135 ...............0 ..............20 ......

196 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Disc Side Cutter

DIN 855

Name Shank-ø Dia- Width D1 D2 D3 S1 S2 S3 Tool length Offset Radius-


meter compensation compens.

D050/04....... 16........... 50 ...........4 ...... 25... 25 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 25.....
D050/10....... 16........... 50 ..........10 ..... 25... 25 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 25.....
D063/04....... 22........... 63 ...........4 ...... 25... 25 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............31.5 ...
D063/10....... 22........... 63 ..........10 ..... 25... 25 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............31.5 ...
D063/16....... 22........... 63 ..........16 ..... 25... 25 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............31.5 ...
D080/05....... 27........... 80 ..........16 ..... 35... 35 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 40.....
D080/10....... 27........... 80 ..........10 ..... 35... 35 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 40.....
D080/16....... 27........... 80 ..........16 ..... 35... 35 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 40.....
D080/20....... 27........... 80 ..........20 ..... 35... 35 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 40.....
D100/06....... 32.......... 100 ..........6 ...... 40... 40 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 50.....
D100/12....... 32.......... 100 .........12 ..... 40... 40 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 50.....
D100/20....... 32.......... 100 .........20 ..... 40... 40 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............. 50.....
D100/25....... 32.......... 100 .........25 ..... 40... 40 ... 10 .....5 ....4 .... 4........... 150 ................ 8 .............. 50.....
D125/08....... 32.......... 125 ..........8 ...... 40... 40 ... 10 .....3 ....3 .... 3........... 150 ................ 6 .............62.5 ...
D125/16....... 32.......... 125 .........16 ..... 40... 40 ... 10 .....5 ....4 .... 4........... 150 ................ 8 .............62.5 ...
D125/25....... 32.......... 125 .........25 ..... 40... 40 ... 10 .....5 ....4 .... 4........... 150 ................ 8 .............62.5 ...
D160/10....... 40.......... 160 .........10 ..... 55... 55 ... 10 .....5 ....4 .... 4........... 150 ................ 8 .............. 80.....
D160/18....... 40.......... 160 .........18 ..... 55... 55 ... 10 .....5 ....4 .... 4........... 150 ................ 8 .............. 80.....
D160/25....... 40.......... 160 .........25 ..... 55... 55 ... 10 .....7 .. 4.5 ..4.5 ......... 150 ................ 9 .............. 80.....
D200/20....... 40.......... 200 .........20 ..... 55... 55 ... 10 .....8 .. 4.5 ..4.5 ......... 150 ................ 9 ............. 100....

© MTS GmbH 1998 197


Appendix 2: Tool File Survey

Countersink

Name Shank-ø Max. Flute Counters. Overall Tool length Offset


hole -ø length angle length compensation

05.0/45 DIN 335......... 4 ................ 5................ 6............... 90............... 80................. 100 .................0 .......
08.0/60 DIN 334......... 5 ................ 8............... 10.............. 60............... 50.................. 80 ..................0 .......
12.5/60 DIN 334......... 8 ..............12.5 ............ 15.............. 60............... 56.................. 90 ..................0 .......
16.0/60 DIN 334........ 10 .............. 16.............. 20.............. 60............... 63.................. 95 ..................0 .......
20.0/60 DIN 334........ 10 .............. 20.............. 25.............. 60............... 67................. 100 .................0 .......
25.0/60 DIN 334........ 10 .............. 25.............. 30.............. 60............... 71................. 105 .................0 .......
06.0/90 DIN 335......... 5 ................ 6................ 8............... 90............... 45.................. 90 ..................0 .......
07.0/90 DIN 335......... 6 ................ 7................ 8............... 90............... 50.................. 90 ..................0 .......
08.0/90 DIN 335......... 6 ................ 8................ 8............... 90............... 50.................. 90 ..................0 .......
10.0/90 DIN 335......... 6 ................ 8............... 10.............. 90............... 50.................. 90 ..................0 .......
12.4/90 DIN 335......... 8 ..............12.4 ............ 10.............. 90............... 56.................. 90 ..................0 .......
15.0/90 DIN 335........ 10 .............. 15.............. 15.............. 90............... 60.................. 95 ..................0 .......
19.0/90 DIN 335........ 10 .............. 19.............. 15.............. 90............... 63................. 110 .................0 .......
23.0/90 DIN 335........ 10 .............. 23.............. 18.............. 90............... 67................. 110 .................0 .......
25.0/90 DIN 335........ 10 .............. 25.............. 18.............. 90............... 67................. 110 .................0 .......
30.0/90 DIN 335........ 12 .............. 30.............. 25.............. 90............... 71................. 115 .................0 .......

198 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Step Drill

Name Shank-ø Drill-ø Tip Step Angle Overall Tool length Radius-
angle length length compens. comp.

D03.4/90 DIN 8378 3.4........... 2.5 ...........8.8 ...........70 ........ 118.......... 90 ............... 90 ...............1.7....
D04.5/90 DIN 8378 4.5........... 3.3 ..........11.4 ..........80 ........ 118.......... 90 .............. 120 .............2.25...
D05.5/90 DIN 8378 5.5........... 4.2 ..........13.6 ..........93 ........ 118.......... 90 .............. 130 .............2.75...
D06.6/90 DIN 8378 6.6.............5 ...........16.5 .........142 ....... 118.......... 90 .............. 145 ..............3.3....
D09.0/90 DIN 8378 9 ............ 6.8 ........... 21 ...........125 ....... 118.......... 90 .............. 140 ..............4.5....
D11.0/90 DIN 8378 11 ........... 8.5 ..........25.5 .........142 ....... 118.......... 90 .............. 150 ..............6.5....
D13.5/90 DIN 8378 13.5......... 10.2 .......... 30 ...........160 ....... 118.......... 90 .............. 160 .............6.75...
D06/180 DIN 8376 6 ............ 3.4 ............ 9 .............93 ........ 118......... 180 ............. 130 ............... 3 .....
D08/180 DIN 8376 8 ............ 4.5 ........... 11 ...........117 ....... 118......... 180 ............. 150 ............... 4 .....
D10/180 DIN 8376 10 ........... 5.5 ........... 13 ...........133 ....... 118......... 180 ............. 160 ............... 5 .....
D11/180 DIN 8376 11 ........... 6.6 ........... 15 ...........142 ....... 118......... 180 ............. 160 ..............5.5....
D15/180 DIN 8376 15 .............9 ............ 19 ...........169 ....... 118......... 180 ............. 170 ..............6.5....
D18/180 DIN 8376 18 ............11 ........... 23 ...........191 ....... 118......... 180 ............. 200 ............... 6 .....

© MTS GmbH 1998 199


Appendix 2: Tool File Survey

T-Slot Cutter

Name Shank-ø Head-ø Head Overall Tool length Radius-


width length compensation compens.

T05 DIN 851 ............. 8 .................... 11...................... 5..................53.5 ................. 80................... 5.5.....
T06 DIN 851 ............. 8 ...................12.5 ................... 6.5 ................51.0 ................. 80.................. 6.25....
T08 DIN 851 ............. 8 ...................16.0 .................... 8..................62.0 ................. 80.....................8 ......
T10 DIN 851 ............. 8 ...................18.0 .................... 8..................70.0 ................. 80.....................9 ......
T12 DIN 851 ............ 10 ................... 21...................... 9..................74.0 ................. 90.................. 10.5....
T14 DIN 851 ............ 14 ................... 25..................... 14.................82.0 ................ 100................. 12.5....
T18 DIN 851 ............ 14 ................... 32..................... 14.................90.0 ................ 100...................16 .....
T22 DIN 851 ............ 23 ................... 40..................... 22................. 108 ................. 110...................20 .....
T28 DIN 851 ............ 30 ................... 50..................... 28................. 124 ................. 130...................25 .....
T36 DIN 851 ............ 30 ................... 60..................... 36................. 139 ................. 140...................30 .....
T45 DIN 851 ............ 16 ................... 45..................... 10................. 108 ................. 110................. 22.5....
ALT/201 .................... 6 ...................12.5 .................... 6................... 44 ................... 80.................. 6.25....
ALT/202 ................... 10 ................... 16...................... 8................... 49 ................... 80.....................8 ......
ALT/203 ................... 10 ................... 18...................... 8................... 52 ................... 85.....................9 ......
ALT/204 ................... 10 ................... 21...................... 9................... 72 ................... 90.................. 10.5....
ALT/205 ................... 16 ................... 25..................... 11.................. 74 ................... 90.................. 12.5....
ALT/206 ................... 16 ................... 28..................... 12.................. 76 ................... 90.................. 12.5....
ALT/207 ................... 22 ................... 32..................... 14.................. 71 ................... 90....................16 .....
ALT/208 ................... 22 ................... 36..................... 16................. 103 ................. 110...................18 .....
ALT/209 ................... 28 ................... 40..................... 18................. 110 ................. 115...................20 .....
ALT/210 ................... 32 ................... 45..................... 20................. 113 ................. 115................. 22.5....
ALT/211 ................... 40 ................... 50..................... 22................. 100 ................. 110...................25 .....
ALT/212 ................... 40 ................... 56..................... 24................. 100 ................. 110...................28 .....
ALT/213 ................... 15 ................... 45..................... 10................. 100 ................. 100................. 22.5....
ALT/214 ................... 15 ................... 45..................... 15................. 100 ................. 100................. 22.5....
T28 DIN 851 ............ 30 ................... 50..................... 28................. 124 ................. 130...................25 .....
T45 DIN 851 ............ 16 ................... 45..................... 10................. 108 ................. 110................. 22.5....

200 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Shell End Mill

Name Shank-ø Head Head Overall Hole Hole step Tool length Radius-
ø width length step-ø depth compens. comp.

D040 DIN 1880 16 ..........40 .......... 32...........110 ........... 25 ................ 4 ................ 120 ............. 20 .....
D050 DIN 1880 22 ..........50 .......... 36...........110 ........... 30 ................ 8 ................ 120 ............. 25 .....
D063 DIN 1880 27 ..........63 .......... 40...........110 ........... 35 ................ 8 ................ 120 ............31.5 ...
D080 DIN 1880 27 ..........80 .......... 45...........110 ........... 35 ............... 10 ............... 140 ............. 40 .....
D100 DIN 1880 32 .........100 ......... 50...........110 ........... 40 ............... 10 ............... 140 ............. 50 .....
D125 DIN 1880 40 .........125 ......... 56...........110 ........... 50 ............... 15 ............... 140 ............62.5 ...

© MTS GmbH 1998 201


Appendix 2: Tool File Survey

Reversible Tip Drill

Name Shank-ø Overall Tool length Offset Radius-


length compensation compens.

D15 ............................15 ..................... 116....................... 120........................0 ..........................0 ...........


D16 ............................16 ..................... 121....................... 125........................0 ..........................0 ...........
D17 ............................17 ..................... 121....................... 130........................0 ..........................0 ...........
D18 ............................18 ..................... 126....................... 146........................0 ..........................0 ...........
D20 ............................20 ..................... 131....................... 150........................0 ..........................0 ...........
D25 ............................25 ..................... 145....................... 165........................0 ..........................0 ...........
D30 ............................30 ..................... 160....................... 180........................0 ..........................0 ...........
D35 ............................35 ..................... 175....................... 175........................0 ..........................0 ...........
D40 ............................40 ..................... 188....................... 190........................0 ..........................0 ...........
D44 ............................44 ..................... 204....................... 205........................0 ..........................0 ...........

202 Programmer’s Guide for CNC Milling


Appendix 2: Tool File Survey

Angular Cutter Type A

DIN 1833

Name Shank-ø Large end Head Cutting- Overall Tool length Offset Radius
head -ø width edge angle length compens. compens.

16/45..........7 .................16 ................ 4................. 45.............60 ................90 ...............0 .............. 8 ......


16/60..........7 .................16 ............... 6.3 ............... 60.............60 ................90 ...............0 .............. 8 ......
20/45..........8 .................20 ................ 5................. 45.............63 ................90 ...............0 ............. 10 .....
20/60..........8 .................20 ................ 8................. 60.............63 ................90 ...............0 ............. 10 .....
25/45.........12 ................25 ............... 6.3 ............... 45.............67 ................90 ...............0 ............12.5 ...
25/60.........12 ................25 ............... 10................ 60.............67 ................90 ...............0 ............12.5 ...
32/45.........10 ................32 ................ 8................. 45.............71 ................90 ...............0 ............. 16 .....
32/60.........10 ................32 .............. 12.5 .............. 60.............71 ................90 ...............0 ............. 16 .....

© MTS GmbH 1998 203


Appendix 2: Tool File Survey

Angular Cutter Type B

DIN 1833

Name Shank-ø Large end Head Cutting Overall Tool length Offset Radius-
head -ø width edge angle length compens. compens.

16/45......... 7................. 16................. 4 ................. 45 ............ 60................ 90............... 4...............8 ......


16/60......... 7................. 16................6.3 ............... 60 ............ 60................ 90............... 3............. 5.5.....
20/45......... 8................. 20................5.3 ............... 45 ............ 63................ 90..............5.3 ............10 .....
20/60......... 8................. 20................. 8 ................. 60 ............ 63................ 90............... 8..............10 .....
25/45........ 12................ 25................6.3 ............... 45 ............ 67................ 90..............6.3 .......... 12.5....
25/60........ 12................ 25................ 10 ................ 60 ............ 67................ 90.............. 10........... 12.5....
32/45........ 10................ 32................. 8 ................. 45 ............ 71................ 90............... 8..............16 .....
32/60........ 10................ 32...............12.5 .............. 60 ............ 71................ 90............... 8..............16 .....

204 Programmer’s Guide for CNC Milling


Index

A
(ff Contour)
Absolute Dimensioning 17
Circle Centres Absolute 107
Absolute Dimensions
Four-Point String
Activate 68
with Tangential Transitions 148
De-Activate 69
Line Segment 104
Additional Functions 23
Open Contour Strings 154
Addresses
Pointed Tangential Transitions 110
Mandatory Addresses 21
Rounding between Two Entities 117
Optional Addresses 21
See Contour Strings
Survey of Addresses 185
Selection of Solutions 111
Alternative Solutions with Contour Strings
Arc Criterion 114
See Contour Strings
Angle Criterion 112
Angle Criterion with Contour Strings
Line Criterion 113
See Contour Strings
with Roundings 117
Approach Instructions with Cutter Radius
Tangential Connection to Previous Entity 161
Compensation
Tangential Transitions 108
See Cutter Radius Compensation
Three-Point String
Arc as a Contour Segment
Arc - Arc 143
See Contour Strings
Arc - Line 130
Arc Criterion with Contour Strings
Line - Arc 136
See Contour Strings
Line - Line 126
Two-Point-String
Arc 122
B Straight Line 120
Coolant
Basics of NC-Programming 19 Activate/Deactivate 23
Coordinate System 9, 62
Cartesian Coordinate System 9
C Origin of the Coordinate System 9
Polar Coordinate System 10
Cancel Cutter Radius Compensation Shift Coordinate System
See Cutter Radius Compensation See Workpart Zero
Cancel Mirroring 25 Three-dimensional Coordinate System 9
Cancel Zero Shift 62 Cutter Centre Path 15
Chamfer between Segments - See Contour Strings Cutter Radius 59
Circle Interpolation See Compensation Values
Circular Interpolation Cutter Radius Compensation CRC 59
Clockwise 35 Approach Instructions with CRC Operative 61
Counter-Clockwise 37 Cancel Cutter Radius Compensation CRC 57
with Polar Coordinates 45, 47 Retreat Instructions with CRC
Circular Pocket Cycle Cancel 57
See Cycles Cycle Invocation on a Divided Circle 81
Clearance Planes 75 Cycles
Code (Number) Boring of a Drilled Hole 95
See NC-Block Circular Pocket 99
Commands 20 Drilling Cycle 85
Modal and Non-modal 20 with Chip-Breaking 87
Comments in NC-Blocks 167 with Chip-Breaking and Chip-Removal 89
Compensation Values Drilling Pattern on a Divided Circle 77
Compensation Values Storage 15 Pin 101
Length 15 Reaming of a Drilled Hole 93
Radius 15 Rectangular Cycle 79
Contour Strings 102 Rectangular Pocket 97
Additional Addresses 106 Tapping Cycle 91
Arc Segment 104
Chamfer between Two Lines 119

© MTS GmbH 1998 205


Index

D L
Data Input Length Compensation
Inch 48 See Compensation Values
Millimeters 49 Line as a Contour Segment
Define Workpart Zero - Incremental 67 See Contour Strings
Define/Shift Zero Line Criterion with Contour Strings
See Workpart Zero See Contour Strings
Drilling Cycle 85 Linear Interpolation in Slow Feed Motion 33
with Chip-Breaking 87 Linear Interpolation with Polar Coordinates 43
with Chip-Breaking and Chip-Removal 89
Drilling Pattern on a Divided Circle 77
Dwell 38 M
M-Functions 23
E Machine Zero 13, 65
Machining Planes 11
End Block Number in Subprograms Measuring Unit
See Subprograms Millimeters 49
End Block Number with Repeated Program Partsn Inch 48
See Repeated Program Parts Mirroring about an Axis 25
Equidistant 15 Modal Commands 20
Motion Rapid 31

F
N
Feedrate 26
Decelerate to Zero 39 NC-Block 19
Millimeters per Minute 70 Addresses 19
Millimeters per Revolution 71 Code 19
Four-Point String Format 19
See Contour Strings Value 19
Word 19

I
O
In-Position Programming G09 39
Inch, Data Input 48 Open Contour Strings
Incremental Dimensioning 17 See Contour Strings
Incremental Dimensions Optional Block Skip 51
Activate 69
De-Activate 68
Incremental Zero Shift P
See Workpart Zero
Invocation of a Cycle
Parameters
on a Straight Line 83
Assign Parameters 165
at a Point 84
Programming of Parameters 165
Pin Cycle 101
Pointed Tangential Transitions 110
J Polar Coordinate System
See Coordinate System
Jump Instruction - unconditional 53 Program End 23
Programmed Halt 23
Programming of Contour Strings
See Contour Strings
Programming of Parameters
See Parameters

206 Programmer’s Guide for CNC Milling


Index

R
Tool Change 26
Rapid Traverse 31
Tool Changing Position 13
with Polar Coordinates 41
Tool Compensation Values
Rectangular Cycle
See Compensation Values
See Cycle
Tool Compensation Values Storage
Rectangular Pocket Cycle
See Compensation Values
See Cycles
Tool Geometry 15
Reference Point 13
Tool Reference Point 13, 15
Move to the Reference Point 54
Tool-Changing Position
Relative Dimensioning 17
Move to the Tool-Changing Position 55
Repeated Program Parts 52
Two-Point String
End Block Number 52
See Contour Strings
Start Block Number 52
Repetition of a Program Part
See Repeated Program Parts
Retreat Instructions with CRC V
Cancel
See Cutter Radius Compensation Value
Rounding of Contour Segments See NC-Block
See Contour Strings

S W
Selection of Planes 11 Words
Selection of Solutions with Pointed Tangents 115 See NC-Block
Setup form 175 Workpart Zero 13, 65
Code 177 Define - absolute 65
Format 177 Zero Shift 67
Programming 177
Special Characters 167
Spindle
Activate/Deactivate 23
Spindle Speed 26
Start Block Number in Subprograms
See Subprograms
Start Block Number with Repeated Program Parts
See Repeated Program Parts
Subprograms
End 51
End Block Number 51
Invocation 51
Start Block Number 51
Switching Functions 23

T
Tangential Transition with Contour Strings
See Contour Strings
Tangential Transitions 108
Tangents, Pointed 115
Tapping Cycle
See Cycles
Three-Point String
See Contour Strings

© MTS GmbH 1998 207

You might also like