You are on page 1of 207

CNC - Simulator Programmers Guide for Milling

Mathematisch Technische Software - Entwicklung GmbH Kaiserin-Augusta-Allee 101 D 10553 Berlin ( +49 / 30 / 34 99 600

Programmers 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 fr Normung e. V." MS-DOS is a trademark of Microsoft Corporation PAL:is short for "Prfungs- 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 _______________________________________

1. Geometry Basics

________________________________

9
9 10 11 13 15 17

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

2. Introduction into NC-Programming

_________________

19
19 20 21

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

3. Additional Functions _____________________________


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

22
23 23 23 23 23 25 26 26 26

4. DIN 66025 Programming Commands ________________


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

28
31 33 35 37 38 39 41 43 45 47 48 49

MTS GmbH 1998

Contents

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

51 52 53 54 55 57 59 59 61 62 65 67 68 69 70 71

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

73
75 77 79 81 83 84 85 87 89 91 93 95 97 99

6. Programming of Contour Strings ___________________ 102


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

Programmers Guide for CNC Milling

Contents

6.5 6.6 6.7 6.8 6.9 6.10

Three-Point String: Arc - Line ________________________________ Three-Point String: Line - Arc ________________________________ Three-Point String: Arc-Arc _________________________________ Four-Point String with Tangential Transitions ___________________ Open Contour Strings ______________________________________ Tangential Connection _____________________________________

130 136 143 148 154 161

7. Parameters _____________________________________ 164 8. Programming with Special Characters ______________ 166


167 167 169 169

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

9. Setup Form

____________________________________________________

174
177 178

9.1 Syntax ________________________________________________ Instructions and Addresses _________________________________

Appendix 1: Survey of Programmable Addresses _______ 185 Appendix 2: Tools Index


_______________________________________________

188

____________________________________________ 205

MTS GmbH 1998

Programmers Guide for CNC Milling

Introduction

Introduction
The present Programmers 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 manufacturers CNC control system. The programmers 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 Programmers 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 Programmers 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

1. Basic Geometry

Diagram 1.1 :

Coordinate System; Z-Axis Vertical

Diagram 1.2 :

"Right-Hand-Rule" for identification of the axes

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

Diagram 1.3 :

Three-Dimensional Coordinate System


Programmers 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 Coordinate System Coordinates The intersection point of the three axes is the origin (or zero point) of the coordinate system: (X=0, Y=0, Z=0) 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 Xdirection, the value 0 in the positive Y-direction and the value 40 in the positive Zdirection. See the table in Diagram 1.3 for the respective procedures of defining the coordinates of points P2, P3 and P4 .

MTS GmbH 1998

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

Programmers 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 Gcommands 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 (G-Command) G17 G18 G19

Coordinate Plane (Machining Plane) XY - Plane ZX - Plane YZ - Plane

Feed Axis Tool Axis Z Y X

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

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

G17 Plane Diagram 1.6 :

G18 Plane

G19 Plane

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

Programmers 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

Programmers 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 Compensation Cutter Radius Compensation The tool length compensation is the specification of the distance between the cutting point and the tool reference point in the Z-direction (see Diagram 1.9). Additionally the radius of each tool is specified in the compensation value storage. 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 / Equidistant With the cutter radius compensation (CRC) activated, the control system will 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).

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 Ydirection by a value of +45.

Diagram 1.13 :

Using Different Dimensioning Systems for Programming

16

Programmers 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 coordinate system, which is also called the dimensioning reference point. (Fixed Zero System)

Incremental Dimensioning

Contrary to the absolute system, the incremental dimensioning system is based on 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 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 X Y Coordinates of the Target Position Z F S T M


Diagram 2.1 : Feed Speed Tool Number/Turret Position Switches and Machine Functions (Spindle, Coolant ...)

Sequence of Words within an NC Block

18

Programmers 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 Address, Value Example As a rule an NC block is comprised of several words. Each word consists of an address (letter) and a value or code (numerals). 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
| Address

01
| Code

X
| Address

60
| Value

F
| Address

0.07
| 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 NCblocks, 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 N115 N120 N125 N130 Block-No. 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. F95 G00 G01 X+105 Y+80 S850 X+25 Z-8 M03 Y+30

Explanation: (See Diagram 2.2)

Diagram 2.2 :

Tool motions effected by modal commands (G01)

20

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

22

Programmers Guide for CNC Milling

3.1 Activate/Deactivate Spindle

3.1 Activate/Deactivate Spindle


M03 M04 M05
Activate Spindle - Right-Hand Rotation (Clockwise) Activate Spindle - Left-Hand Rotation (Counter-Clockwise) 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.

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 M08 M09
Activate 1st Coolant Pump Activate 2nd Coolant Pump 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. In the Simulator for Milling the M02 command effects the same functions as the M30 command. This command informs the control system that the current subprogram 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.

M02 M99

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

Programmers 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 M82 M83 M84 M85 M86

Mirroring the X-coordinates about the Y-axis

Mirroring the Y-coordinates about the X-axis

Inverting the signs of the Z-coordinate values

Mirroring about both the X- and Y-axes

Mirroring about the Y-axis and inverting the signs of the Z-coordinate values. 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 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
26

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

Programmers Guide for CNC Milling

3.9 Tool Change

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 G-command: M03/M04 M07/M08 M80 Activate spindle Activate coolant Cancel all mirroring operations Feedrate Speed Tool change

To be executed after the G-command M00 M02 M05 M09 M30 M99 Program hold Program end without backspacing De-activate spindle De-activate coolant Program end and backspacing Sub-program end

M81-M86 Mirrorings F S T

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 G01 G02 G03 G04 G09 G10 G11 G12 G13

Rapid Traverse Linear Interpolation in Slow Feed Motion Circular Interpolation Clockwise Circular Interpolation Counter-clockwise Dwell In-position Programming (Deceleration) Polar Coordinates for Rapid Traverse Polar Coordinates for Linear Interpolation Polar Coordinates for Clockwise Circular Interpolation Polar Coordinates for Counter-clockwise Circular Interpolation

G20 G21 G22 G23 G24 G25 G26 G40 G41 G42 G45 G46 G47

Unit of Measurement: (Inch) Unit of Measurement (mm)r Invocate Subprogram Repeated Program Part (Routine) Unconditional Jump Instruction Move to the Reference Point Move to the Tool Change Position Cancel Cutter Radius Compensation Cutter Radius Compensation to the Left of the Contour Cutter Radius Compensation to the Right of the Contour Contour-parallel Approach / Retreat Semi-circular Approach / Retreat Approach / Retreat in a Quadrant

28

Programmers Guide for CNC Milling

4. DIN 66025 Commands

G53 G54 - G57 G59 G90 G91 G94 G95

Cancel Incremental Zero Shift Set Absolute Zero Incremental Zero Shift Activate Absolute Dimensioning Activate Incremental Dimensioning Feedrate (mm/min) 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

Programmers 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 Optional Addresses

G00
X Y Z
1)

[X...]1)

[Y...]1)

[Z...]1)

[F...]

[S...]

[T...]

[M...]

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

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

Rapid Traverse Logic: -

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

Programmers 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 Optional Addresses

G01
X Y Z
1)

[X...]1)

[Y...]1)

[Z...]1)

[F...]

[S...]

[T...]

[M...]

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

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

Programmers 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 Zdirection is superimposed on the tool movement along the arc.

NC-Block

G02

[X...]1)

[Y...]1) [F...]

[Z...]1) [S...]

[I...]2) [T...]

[J...]2) [M...]

Optional Addresses

X Y Z
1)

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

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

Programmers 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 Zdirection is superimposed on the tool movement along the arc.

NC-Block

G03

[X...]1)

[Y...]1) [F...]

[Z...]1) [S...]

[I...]2) [T...]

[J...]2) [M...]

Optional Addresses

X Y Z
1)

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

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 NC-Block The tool movement is halted for the specified dwell time.

G04
X

X...
Dwell time in seconds

Addresses

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

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

X...

Z...

G09

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. The command G09 must be placed at the end of an NC-block.

Programming Hints

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

Programmers 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) [F...]

[J...]1) [S...]

(P070) [T...]

(P071) [M...]

Addresses

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. Distance from the origin to the target point 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.

B Optional Addresses I, J

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

Programmers 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) [F...]

[J...]1) [S...]

(P070) [T...]

(P071) [M...]

Addresses

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

Programmers 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) [F...]

(P070) [S...]

(P071) [T...] [M...]

Addresses

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

Optional Addresses

I, J

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

Programmers 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 counterclockwise 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) [F...]

(P070) [S...]

(P071) [M...]

[T...]

Addresses

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

Optional Addresses

I, J

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 Explanation

G20
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

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

G21
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

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

U...

[P...]

[Q...]

[S...]

[/...]

Addresses Optional Addresses

At the address U the name of the subprogram must be programmed. is the start block number at which the subprogram execution starts. is the end block number at which the subprogram execution ends. 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 NC-Block The command G23 causes the repetition of a program part.

G23
P Q

P...

Q...

[S...]

Addresses

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

Optional Addresses

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

Programmers 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

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.

Addresses

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

Explanation

Programming Hints

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

54

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

Programming Hints

MTS GmbH 1998

55

G40

Cancel Cutter Radius Compensation

NC-Block: G40 Diagram G40.1 : Cancel Cutter Radius Compensation / No Retreat Instruction

NC-Block: G40 A.. G45 Diagram G40.2 : Cancel Cutter Radius Compensation /Contourparallel Retreat

NC-Block: G40 A.. G46 Diagram G40.3 : Cancel Cutter Radius Compensation / Tangential Retreat: Semi-circle with the Radius A

NC-Block: G40 A.. G47 Diagram G40.4 : Cancel Cutter Radius Compensation / Tangential Retreat: Quadrant with the Radius A

56

Programmers 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 Programming Hints

G40
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 Programming Hints

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

G40
A

A..

G45

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 Addresses

G40
A

A...

G46

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 Addresses

G40
A

A...

G47

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.4 : Diagram G41.3 : At internal corners an arc is cut corresponding to the At external corners the cutter moves on a compensatory arc.. cutter radius.

58

Programmers 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 contourparallel 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 G42

Compensation to the left of the contour (in the cutting direction)

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: G41 G01 X.. Y.. Z.. Diagram G41.5 : Activate Cutter Radius Compensation Without Approach Instruction

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

NC-Block: G41 A.. G46 G01 X.. Y.. Z.. Diagram G41.7 : Activate Cutter Radius Compensation with Tangential Approach in a Semi-circle

NC-Block: G41 A.. G47 G01 X.. Y.. Z.. Diagram G41.8 : Activate Cutter Radius Compensation with Tangential Approach in a Quadrant

F
60

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

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

G41

G01

X..

Y..

Z..

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 Addresses

G41

A..

G45

G01

X..

Y..

Z..

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 Addresses

G41

A..

G46

G01

X..

Y..

Z..

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 Addresses

G41

A..

G47

G01

X..

Y..

Z..

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
The command G53 must be programmed as a separate NC-block

Programming Hints

62

Programmers 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 N050 G00 X+0 Y+0 Z+2 N060 G01 Z-12 N070 Y+30 N080 X-20 N090 G00 Z+2 N100 G56 X+115 Y+65 Z+55 N110 G23 P50 Q 90 N120 G57 N130 G23 P50 Q 90 N140 G00 Z100 M30 Diagram G54.2 :

Shifting the zero point to the starting position of the 1st contour Approaching the starting position Depth of cut Contour-milling Tool-retreat to the clearance plane Shifting the zero point to the starting position of the 2nd contour Routine (milling the 2nd contour) 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) Routine (milling the 3rd contour) Back-out, program end

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

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

[X...] [Y...] [Z...] [X...] [Y...] [Z...]

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

Addresses

X Y Z

X-Coordinate of the current workpart zero Y-Coordinate of the current workpart zero 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 setup 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

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

G59
X Y Z

X...

Y...

Z...

[I...]

[J...]

[A...]

value by which the intermediate coordinate system is shifted in the X-axis. value by which the intermediate coordinate system is shifted in the Y-axis. value by which the intermediate coordinate system is shifted in the Z-axis. X-coordinate of the rotation centre, incremental to the currently shifted intermediate origin. Y-coordinate of the rotation centre, incremental to the currently shifted intermediate origin. Rotation angle, incremental

Optional Addresses

I J A

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

Programmers 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

F...
Feedrate (mm/min)

Addresses

Programming Example: N120 G94 F500.000 In this example the feedrate is 500 millimeters per minute.

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

Programmers 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

F...
Feedrate (mm/rev)

Addresses

Programming Example: N080 G95 F000.300 In this example the feedrate is 0,3 millimeters per revolution.

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

Programmers Guide for CNC Milling

5. Cycles

5. Cycles
Complete Survey of Available Cycles

G61 G67 G77 G78 G79 G81 G82 G83 G84 G85 G86 G87 G88 G89

Drilling Pattern on a Divided Circle Milling a Rectangular Pocket Cycle Invocation on a Divided Circle Cycle Invocation on a Straight Line Cycle Invocation at a Point Drilling Cycle Drilling Cycle with Chip-Breaking Deep Drilling Cycle with Chip-Breaking and Chip-Removal Tapping Cycle Reaming of a Drilled Hole Boring Rectangular Pockets Cycle Circular Pockets Cycle Pins Cycle

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

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

Programmers 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

B...

K...

S...

[A...]

Addresses

Circle Radius In special cases the circle radius B may be programmed with a negative sign (see diagram G61.2).

K S

Drilling Depth - incremental to the current tool position 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 Explanation

Angle of the first drilled hole to the positive X-axis

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

Programmers Guide for CNC Milling

Milling of a Rectangular Pocket

G67

Milling of a Rectangular Pocket G67


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

G67
I J K

I...

J...

K...

E...

Addresses

Length of pocket in X - absolute Width of pocket in Y - absolute 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 Downfeed

E 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.
Programmers Guide for CNC Milling

80

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
B

[X...]

[Y...]

B...

D...

[A...]

[S...]

Addresses

Radius of the Circular Arc In special cases the radius B may be programmed with a negative sign (see Diagram G77.2).

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 Y A S

X-Coordinate of the arc centre Y-Coordinate of the arc centre Angle of the first cutting position to the positive X-axis 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

Programmers 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
A D

[X...]

[Y...]

( A...

D...

I...

J... ) 1)

[S...]

Addresses

Angle of the straight line to the positive X-Axis 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 J Optional Addresses X Y S Programming Hints

Offset in X (incremental dimensions) Offset in Y (incremental dimensions) X-Coordinate of the first cycle execution Y-Coordinate of the first cycle execution Number of repetitions

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

G79
X Y

[X...]

[Y...]

X-Coordinate of the target position 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

Programmers 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 Addresses Optional Addresses

G81
Z W

Z...

[W...]

Drilling depth, incremental to the clearance plane 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

Programmers 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 Addresses Optional Addresses

G82
Z W

Z...

[W...]

[B...]

[D...]

[K...]

Total drilling depth, incremental to the clearance plane 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. Dwell time (sec) at the drilling level for chip-breaking 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). 1st drilling depth

B D

K Explanation

In the first downfeed the hole is drilled down to the value K. For the purpose of chipbreaking 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

Programmers 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 Addresses Optional Addresses

G83
Z W

Z...

[W...]

[A...]

[B...]

[D...]

[K...]

Total drilling depth, incremental to the clearance plane 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. Dwell time (sec) at the first clearance plane after tool retreat for chip-removal Dwell time (sec) at the drilling level for chip-breaking 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). 1st drilling depth

A B D

K 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

Programmers 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 Addresses Optional Addresses

G84
Z W

Z...

[W...]

Total drilling depth, incremental to the clearance plane 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. 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

Programmers 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 Addresses Optional Addresses

G85
Z W

Z...

[W...]

Total drilling depth, incremental to the clearance plane 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 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

Programmers 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 Addresses Optional Addresses

G86
Z W

Z...

[W...]

Total drilling depth, incremental to the clearance plane 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 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

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

G87
X Y Z K

X...

Y...

Z...

[I...]

K...

[W...]

[B...]

Pocket Length in X - absolute Pocket Width in X - absolute Pocket Depth in X - incremental to the clearance plane. 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: - Sign: Clockwise machining 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. Radius of internal corner roundings

B 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

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

G88
Z B K

Z...

B...

[I...]

K...

[W...]

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

Optional Addresses

Feed adjustment in the X-Y-plane (% of cutter diameter) + Sign: - Sign: Clockwise machining 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

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

G89
Z B C K

Z...

B...

C...

[I...]

K...

[W...]

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

Optional Addresses

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.

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
Definition

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: 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 Npoint 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 Three-Point Strings Four-Point-Strings Consisting of one entity Consisting of two entities Consisting of three entities

102

Programmers 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. 2. 3. 4. line - line line - arc arc - line arc - arc

Diagram 6.2 :
MTS GmbH 1998

Three-Point-Strings

103

6. Programming of Contour Strings

Addresses for Contour String Programming

Line G71
X/Y A L Target point coordinates in the X- and Ydirection Angle of the line to the positive X-axis 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 : Example:

Diagram 6.3.2 :

Diagram 6.3.3 :

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 I/J A B E Target point coordinates in X- and Y Circle centre coordinates in X- and Y (incremental or absolute) Arc starting angle to the positive X-axis Arc radius 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.
Programmers Guide for CNC Milling

104

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 2nd. line Y-Coordinate of the end point X- and Y-Coordinate of the end point plus the angle A of the line to the positive X axis

NC-Block:

G71 G71

Y... 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 If A=0 or A=180 : no solution!

Diagram 6.6

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
P070 P000 P001/P002 C+ P011/P012 C-

Function
Absolute circle centre coordinates Tangential transition to the previous segment Selecting one of two possible solutions Insertion of a rounding between two segments Selecting one of two possible solutions with C+ Insertion of a chamfer between two linear segments

106

Programmers 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: Diagram 6.7

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

NC-Block:

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

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

Programmers Guide for CNC Milling

-
Example

6.1.2 Tangential Transitions

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

2nd solution:

Diagram 6.12

Diagram 6.13

Diagram 6.14

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

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

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 I/J X-Coordinate of the end point 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 I,J X,Y Length of the line Coordinates of the arc centre Coordinates of the arc end point

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

P070

Diagram 6.17 : Explanation

Angle criterion for selection of a solution 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 No solution depending on the length

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 if L equals the shortest distance between the circular arc and the starting point P0, a tangential point is established a single solution results the specified length L results in two intersection points P1-1 and P1-2 two solutions

Single solution

Two solutions

Angle Criterion for Selection

The alternative solutions are distinguished by the different angles to the positive Xaxis (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

Programmers 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 I,J X,Y Angle of the line to the positive X-axis Coordinates of the arc centre Coordinates of the arc end point

NC-block G71 A... G72 X...

P001 or P002 Y... I... J...

P070

Diagram 6.18 : Explanation

Line criterion for selection of a solution 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 No solution dependent on the angle

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

Single solution Two solutions

Line criterion for selection

The alternative solutions are distinguished by the different lengths of the line (line 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 X,Y L Coordinates of the arc centre Coordinates of the arc end point Length of the line

NC-block G72 I... J... (P070) P001 or P002 G71 X... Y... L...

Diagram 6.19 : Explanation

Arc criterion for selection of solutions 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 No solution dependent on the length

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 from the specified value L results exactly one tangential point single solution from the specified value L result the two intersection points P1-1 and P1-2 two solutions

Single solution Two solutions

Arc criterion for selection

The alternative solutions are distinguished by the different lengths of the arc (arc 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

Programmers 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. 2. the line joins the arc at the point P1-1 in the same direction as the circle orientation. 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 NCblock 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 G71 P002 G72 X... Y... I... J... P000

2nd solution P002:

F
MTS GmbH 1998

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.

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

Programmers 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 : Programming Hints

Example of a rounding between two lines 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 :
MTS GmbH 1998

Two solutions of a contour consisting of a line and an arc

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 xaxis, 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 solution P001

Alternative roundings possible with the second contour solution P002

G71 Y.. P001 P011 or P012 G72 X.. Y.. I.. J.. (P070) Diagram 6.23 :

G71 Y.. P002 P011 or P012 G72 X.. Y.. I.. J.. (P070)

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.
Programmers Guide for CNC Milling

118

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 G71 A.. X.. C-.. 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 Y L A X-Coordinate of the end point Y-Coordinate of the end point Length of the line Angle of the line to the positive X-axis

Optional addresses: X/Y L A Coordinates of the end point of the line Length of the line 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. 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).

Programming Hints

120

Programmers Guide for CNC Milling

6.2 Two-Point-String : Straight Line

G71

Survey of Available Two-Point-Strings:

Straight Line G71 G71 G71 G71 G71 G71 X X X Y Y L Y L A L A A

Selection of Solutions

Angle Criterion Angle Criterion

Examples of Alternative Solutions of Contour Strings

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

G71 Y.. L.. P001 or P002

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-Coordinate of the end point Y-Coordinate of the end point X-Coordinate of the circle centre Y-Coordinate of the circle centre 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 X Y I J A

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

B E

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

Programming Hints

122

Programmers Guide for CNC Milling

6.3 Two-Point String: Circular Arc

G72/G73

Survey of Available Two-Point-Strings: Arc G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 X X X X Y X X Y Y X Y X X Y Y Y Y I I I J I J A A Y B B I J A J J A A A A B B B E E
Selection of Solutions

Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion

MTS GmbH 1998

123

G72/G73
Examples of Two-Point Strings: Circular Arc with Alternative Solutions

6.3 Two-Point-String: Arc

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.. I.. A.. (P070) P001 or P002

G72 Y.. J.. 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

Programmers 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 Length of the first line L1 Angle of the first line to the positive A1 X-axis X2/Y2Coordinates of the end point of the second line Length of the second line L2 Angle of the second line to the A2 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. 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 P001. If two addresses are programmed in the first NC-block, the three-point string is split into two two-point strings.

Programming Hints

F
126

Programmers Guide for CNC Milling

6.4 Three-Point String: Line - Line

- Survey of Available Three-Point Strings: Line - Line G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 G71 X X X Y Y X Y X X X Y X L X L X L X L Y A X A X A X A Y X Y L Y L Y Y Y Y L L Y Y L L Y A A A A
Angle Criterion Selection of Solutions

G71G71

L
Angle Criterion

L
Angle Criterion

L
Angle Criterion

A
Angle Criterion

A
Angle Criterion

A
Line Criterion

L A A A 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 X.. Y.. L..

G71 Y.. P001 or P002 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 X.. Y.. L..

G71 L.. P001 or P002 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

Programmers Guide for CNC Milling

6.4 Three-Point String: Line - Line

G71G71

G71 L.. P001 or P002 G71 X.. L.. A..

G71 L.. P001 or P002 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 threepoint 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 A,I A,J A,B Centre coordinates Starting angle and centre coordinate in X Starting angle and centre coordinate in Y 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: Centre coordinatesof the arc 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 Angle of the line to the positive XA2 axis P000 Tangential transition between segments I/ J A1

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

Programming Hints

130

Programmers Guide for CNC Milling

6.5 Three-Point String: Arc - Line

G72G71 or G73G71

Survey of Available Three-Point Strings: Arc - Line G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 I X I X I X I Y J Y J Y J L J L A
Arc Criterion Selection of solutions Arc Criterion

L
Arc Criterion

A
Arc Criterion

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 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 I X I X I X I Y I Y I L B X J Y J A J L J A J L J A Y P000

Selection of Solutions

Tangent Criterion

P000
Arc Criterion

P000
Tangent Criterion

P000
Arc Criterion

P000
Tangent Criterion

P000
Arc Criterion

P000

F
MTS GmbH 1998

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.

131

G72G71 or G73G71
Examples of Three-Point Strings:

6.5 Three-Point String: Arc - Line

G72G71 with Alternative Solutions


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 G71 X.. Y.. A..

G72 I.. J.. (P070) P001 or P002 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 G71 X.. L.. A..

G72 I.. J.. (P070) P001 or P002 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

Programmers 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 G71 X.. L.. P000

G72 I.. J.. (P070) P001 or P002 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


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 G71 X.. A.. P000

G72 I.. J.. (P070) C+.. P002 P011 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 G71 Y.. A.. P000

G72 I.. J.. (P070) C+.. P002 P011 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

Programmers Guide for CNC Milling

6.5 Three-Point String: Arc - Line

G72G71 or G73G71

G72 I.. J.. (P070) P001 G71 L.. A.. P000

G72 I.. J.. (P070) C+.. P002 P011 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 G71G73

G71G72 or

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 threepoint 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. When alternative solutions occur, the desired contour must be determined by entering P001 or P002. 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.

Programming Hints

136

Programmers Guide for CNC Milling

6.6 Three-Point String: Line - Arc

- Survey of Available Three-Point Strings without Tangential Transition: Line - Arc G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 X X Y X X X X Y Y X Y Y L X L X L Y A X A X A Y Y Y I I I I Y I I Y I I I I J J J J I J J I J J J
Angle Criterion Selection of Solutions Angle Criterion

G71G72 or G71G73

J
Angle Criterion

B B B B J

Arc Criterion Angle Criterion Arc Criterion Angle Criterion Arc Criterion Angle Criterion Arc Criterion Angle Criterion Angle Criterion

B B J

Arc Criterion Angle Criterion Arc Criterion Line Criterion Line Criterion

B B

Arc Criterion Line Criterion Arc Criterion

F
MTS GmbH 1998

Priority of the Angle Criterion


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

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 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 A X X X Y A X A Y Y Y I I B B B I J J E E P000

Selection of Solutions Arc Criterion Tangent Criterion

J B B P000 P000

P000
Tangent Criterion

P000 P000

Arc Criterion Tangent Criterion Arc Criterion

Examples of Three-Point Strings: G71G72 with Alternative Solutions

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

G71 Y.. P001 or P002 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

Programmers 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 Y.. I.. J.. B.. (P070) P001 or P002 G72 X.. 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 Y.. I.. J.. B.. (P070) P001 or P002 G72 X.. 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 G72 X.. I.. J.. B.. (P070) P001 or P002

G71 L.. 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 G72 X.. I.. J.. B.. (P070) P001 or P002

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

Programmers Guide for CNC Milling

6.6 Three-Point String: Line - Arc

- Examples of Tangential Transitions

G71G72 or G71G73

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


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 G72 X.. Y.. I.. J.. (P070) P000

G71 C+.. P002 P011 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 G72 X.. I.. J.. B.. (P070) P000

G71 C+.. P002 P011 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 G72 Y.. I.. J.. B.. (P070) P000

G71 C+.. P002 P011 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

Programmers 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 A,I A,J A,B Coordinates of the arc centre Starting angle and centre coordinate in X Starting angle and centre coordinate in Y 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 Radius of the second arc B2 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. 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.

Programming Hints

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 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 I X I X I Y J Y J I J I I J J J
Arc Criterion Selection of Solutions Arc Criterion

B B

Arc Criterion Arc Criterion 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 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 I X I X I Y A X A Y J Y J B J B B B B B B P000

Selection of Solutions Arc Criterion Arc Criterion

E E E E

P000
Arc Criterion

P000
Arc Criterion

P000
Arc Criterion

P000

F
144

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.

Programmers Guide for CNC Milling

6.7 Three-Point String: Arc - Arc

G72G72

Examples of Three-Point Strings:

G72G72 with Alternative Solutions


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 X.. Y.. I.. J.. (P070)

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

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

G73 I.. J.. (P070) P001 or P002 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 X.. I.. J.. B.. (P070) P001 or P002

G72 I.. J.. (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

Programmers Guide for CNC Milling

6.7 Three-Point String: Arc - Arc

G72G72

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

G72 I.. J.. (P070) P001 or P002 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 X.. B.. E.. P000

G72 A.. B.. P001 or P002 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 A,I A,J A,B Centre coordinates Starting angle and centre coordinate in X Starting angle and centre coordinate in Y 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: Angle of the line to the positive Xaxis Radius of the first arc B1 I/J Centre coordinatesof the second arc Radius of the second arc B2 X Coordinate of the end point of the second arc P000 Tangential transition between segments A

Diagram: Number of solutions

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

Programming Hints

148

Programmers Guide for CNC Milling

- Survey of Available Three-Point Strings with Tangential Transitions:


Selection of Solutions

6.8 Four-Point String

G71 G72/G73 G72/G73 G71 G72/G73 G72/G73 G71 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G71 G72/G73 G71 G72/G73 G72/G73 G71 G72/G73 G72/G73 G71 G72/G73

A B X A B X A B Y I B X I B X I B Y I B X I P000 X I P000 X I P000 Y

Arc Criterion

P000 Y I P000 I J P000 I J P000 Y J P000 I J P000 I J P000 Y J Y J I J I

P000
Arc Criterion

P000

Arc Criterion Arc Criterion

P000

Arc Criterion Arc Criterion

P000
Arc Criterion

P000

Arc Criterion Arc Criterion

P000

Arc Criterion Arc Criterion

P000
Tangent Criterion

P000
Tangent Criterion

P000

Arc Criterion Tangent Criterion

P000

Arc Criterion

F
MTS GmbH 1998

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.

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 G73 B.. P000 G72 X.. I.. J.. B.. P000 (P070) P001 or P002

G71 A.. P001 or P002 G73 B.. P000 G72 Y.. I.. J.. B.. P000 (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 P3-1 (shorter arc), P002 is programmed to select P 3-2 (longer arc).

150

Programmers 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 G73 B.. P000 G72 X.. I.. J.. B.. P000 (P070) P001 or P002

G72 I.. J.. (P070) P001 or P002 G73 B.. P000 G72 Y.. I.. J.. B.. P000 (P070) 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


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 G71 P000 G72 X.. Y.. I.. J.. (P070) P000

G72 I.. J.. (P070) C+.. P002 P011 G71 C+.. P011 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

Programmers Guide for CNC Milling

6.8 Four-Point String

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

G72 I.. J.. C+.. (P070) P002 P011 G71 C+.. P011 P000 G72 X.. I.. J.. B.. P000 (P070) 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 G71 P000 G72 Y.. I.. J.. B.. P000 (P070) P001 or P002

G72 I.. J.. C+.. (P070) P002 P011 G71 C+.. P011 P000 G72 Y.. I.. J.. B.. P000 (P070) 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. 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).

Example

G72 I.. J.. P070 G71 A.. P000

G72 I.. J.. P070 G71 A.. P000 P001 G73 B.. P000 G72 X.. Y.. I.. J.. P070 P000 Diagram 6.9.2 In this example, alternatively the open contour string may be continued by programming G72 I.. J.. B..

Diagram 6.9.1

154

Programmers 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 Xaxis 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 contur 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. 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 A,I A,J A,B Centre coordinates Starting angle and centre coordinate in X Starting angle and centre coordinate in Y Starting angle and radius

Optional Addresses

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 G71 G72/G73 Two Entities G72/G73 G71 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G72/G73 G72/G73 Three Entities G72/G73 G71 G72/G73 G72/G73 G72/G73 G72/G73 G71 G72/G73 G72/G73 I P000 I I B I A B I J J J P000 J P000 J B P000
Arc Criterion Selection of Solutions

A I

J
Selection of Solutions

I A X I Y I A I L I I I I

J P000 J J J J J J J B

Tangent Criterion Line Criterion Line Criterion

B
Line Criterion

B
Angle Criterion

B
Tangent Criterion

B B

P000
Arc Criterion

Selection of Solutions Tangent Criterion

P000
Arc Criterion

F
156

P000

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.

Programmers Guide for CNC Milling

6.9 Open Contour Strings

Examples of Contour Strings with Alternative Solutions

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

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

Programmers Guide for CNC Milling

6.9 Open Contour Strings

Examples of Pointed Tangential Transitions

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 G71 A.. P000

G72 I.. J.. (P070) C+.. P002 P011 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 G72 I.. J.. B.. (P070) P000

G71 C+.. P002 P011 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 G71 P000 G72 I.. J.. B.. P000 (P070)

G72 I.. J.. C+.. (P070) P002 P011 G71 C+.. P011 P000 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

Programmers 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 I/J B Coordinates of the end point of the arc Coordinates of the arc centre 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 G71 G71 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73 G72/G73

X Y L X X X Y Y X Y

P000 P000 P000 Y I J I J B B P000 P000 P000 P000 P000 P000 P000
Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion

Examples of Contour Strings with Alternative Solutions

G72 X.. I.. P000 (P070) P001 or P002

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

162

Programmers 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

Programmers 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 parameter registers. Assignations of values to a parameter must either be programmed as a separate Nc-block or at the end of a block.

F
Example

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

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

F
MTS GmbH 1998

167

8. Programming with Special Characters

Diagram 8.2:

The "Temporary Free Format Mode" has been activated to program the NCblocks N045, N075 and N095 to N105. Furthermore arithmetic operations have been employed in the NC-blocks N45, N095 and N100.

168

Programmers 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

F
Addition

Among the additional programming possibilities of the free format mode are the 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:

To effect an addition, the sign "+" (plus) must be programmed: (=> X = R1 + 5)

N220 ) G00 XR1+5 Z+075.000

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 Operational Signs + By specifying a + (plus) or - (minus) sign, an entered value can be 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

Brackets []

R2 = 000.000 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]

Integer Value INT

R2 = 001.000 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: ) R1 = +010.000 ) R2 = -001.500 ) R1 = INT [R1 + R2] ) G23 P450 Q470 S3

N445 N450 N455 ... N480

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

170

R1 = 001.000
Programmers 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

SQRT To program the square root function, the character string "SQRT" is entered : N320 ) R06 = SQRT +016.000

Exponential Function

R06 = 004.000

EXP This exponential function, programmed by the character string EXP, is based on "Eulers 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
MTS GmbH 1998

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

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


Programmers Guide for CNC Milling

172

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. 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. 2. 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. R11=COS25 * 30 + 20, R11=COS25 * 30 + R11 usf. 3. 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!

F
MTS GmbH 1998

173

9. Setup Form

Diagram 9.1 :

Setup form, programming of data for automatic setup of the machine tool

174

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

Programmers 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 Indicator Line Start Indicator

The beginning and end of the setup form must be indicated by the character string "()" Deleting one of these indicators may lead to problems in the program run. The character "(" - otherwise used to denote a comment - must be entered at the beginning of each new line. Different entries within the same line must be separated by at least one blank character. 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. 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" . 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 ... 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

Break Character

Keywords

Parameters

Groups of Elements

Comments

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

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

Note

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]


[FILENAME1] Name of the machine configuration file [FILENAME2] Name of the control configuration file

Addresses

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 NC-block Addresses Rectangular parallelepipeds are used as blanks (please cf. the Operating Manual).

( BLANK DIMENSIONS
X Y Z Blank length

X... Y... Z...

(with G17)

Blank width (with G17) Blank height (with G17)

Example Note

( BLANK DIMENSIONS X+200.000 Y+100.000 Z+060.000 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

Programmers 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 Addresses Note

( BLANK FILE NAME [FILENAME.FWS]


[Filename.FWS] Name of the workpart file

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 Addresses

( WORKPART POSITION X... Y...


X Y Position in X (with G17) Position in Y (with G17)

The part reference point is the lower left front corner of the blank / part. Example Note ( WORKPART POSITION X+000.000 Y+000.000 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 Note

( MATERIAL

[Entering the type of material]

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... ...
No parameters are attached to the keyword "magnetic clamping" [Name] X Y Z POSX POSY POSZ Name of the vice X dimension of the clamping element Y dimension of the clamping element Z dimension of the clamping element Position of the clamping element in X: middle of the upper face of the clamping element, relative to the machine zero. Position of the clamping element in Y: middle of the upper face of the clamping element, relative to the machine zero. Position of the clamping element in X: middle of the upper face of the clamping element, relative to the machine zero.

Addresses

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

Programmers 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 Addresses Example Note

( CHUCKING HEIGHT E...


E Position of the blank / workpart ( CHUCKING HEIGHT E+010.000 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 Addresses Example Note

( SHIFTV...
V Vice Shift

( SHIFT V-010.000 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 Addresses

( ORIENTATION
A

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


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)

Note

182

Programmers 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 Addresses Note

( PLANE SELECTION G..


G Entry of machining plane G17, G18, G19 or MAHO G17, MAHO G18, MAHO G19

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

( CURRENT TOOL T..


T Entry of the magazine position (two-digit, e.g. "T07")

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. ( TOOLS ( T.. END MILL ( T.. TAP FLUTING CUTTER ( T.. T-SLOT CUTTER ( T.. SHELL END MILL ( T.. FACE END MILL ( T.. RADIUS END MILL ( T.. ANGULAR CUTTER TYPE A ( T.. ANGULAR CUTTER TYPE B ( T.. REAMER ( T.. TAP ( T.. REVERSIBLE TIP DRILL ( T.. STEP DRILL ( T.. COUNTERSINK ( T.. CONCAVE FORM CUTTER ( T.. DISC SIDE CUTTER ( T.. DRILL ( T.. VACANT

NC-block

[Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name] [Tool name]

MTS GmbH 1998

183

9. Setup Form

Addresses

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 Z R At D the (two-digit) register number is entered. Tool length compensation in Z 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

Programmers Guide for CNC Milling

Appendix 1: Survey of Programmable Addresses

F
Address
% A

Appendix 1: Survey of Programmable Addresses


If a different unit of measurement is not explicitly stated, all values are in millimeters (mm).

Value / Range
000001 bis 999999 - 360.000 to + 360.000

Explanation / Function
Identification of a Main Program 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 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

000.000 to 999.999

- 999.999 to + 999.999 000.000 to 999.999 - 360.000 to + 360.000 000.000 to + 999.999

Chamfer (C-) or rounding (C+) : Contour Strings G71, G72 and G73 Radius of the Circular Pocket : G89 Angle between cycle execution positions : Invocation of a Cycle on a Circular Arc G77 Angle between cycle execution positions : Invocation of a Cycle on a Straight Line G78 Degression : Drilling Cycles G82 and G83 Feed adjustment: Rectangular Pocket Cycle G67 Angle to the positive X-axis of the oriented tangent at the end point: Contour Strings G72/G73 Feedrate in mm/min G-Commands

000.001 to 999.999 - 360.000 to + 360.000

F G

010.000 to 999.999 00 to 99

MTS GmbH 1998

185

Appendix 1: Survey of Programmable Addresses

Address
I

Value / Range
- 999.999 to + 999.999

Explanation / Function
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 Pocket length in X : Rectangular Pocket Cycle G67 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 Pocket length in Y : Rectangular Pocket Cycle G67 Depth of the pocket, incremental to the current tool position Rectangular Pocket Cycle G67 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

000.000 to + 999.999 J - 999.999 to + 999.999

000.000 to + 999.999 K 000.000 to - 999.999 - 999.999 to + 999.999

L M N P

000.000 to + 999.999 00 to 99 001 to 999 001 to 999

Length of the line : Contour String G71 Additional Functions and Switches NC-Block Number Start block number : Subprogram Invocation G22 Start block number : Routine G23 Block number : Jump Instruction G24 Selection of Solutions : Contour Strings Selection of Solutions : Roundings with C+ in Contour Strings Absolute coordinates of circle centres :Contour Strings G72 and G73 Absolute polar origin coordinates I and J : G10 - G13 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 End Block Number :Subprogram Invocation G22 End Block Number : Routine G23 Address for Parameter Value Assignation 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

P001, P002 P011, P012 P070 P071

001 to 999

00 to 99 001 to 999

0001 to 9999 0101 to 1699

Spindle Speed in Rev/min The first two digits (01 - 16) denote the magazin position for tool
Programmers Guide for CNC Milling

186

Appendix 1: Survey of Programmable Addresses

Address

Value / Range

Explanation / Function
change the last two digits denote the Offset Value Storage (01 - 99)

U W

000000 to 999999 000.000 to 999.999 - 999.999 to + 999.999 000.000 to 999.999 - 999.999 to + 999.999 - 999.999 to + 999.999

Subprogram name : G22 2. Clearance plane :Cycles G81 to G89 Coordinate value in X Dwell (in seconds) : G04-Command Coordinate value in Y Coordinate value in Z

Y Z

MTS GmbH 1998

187

Appendix 2: Tool File Survey

Appendix 2: Tool File Survey

Tool Mounting

Name

Steep taper Length

Angle

Reception Length

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

Name

Engaging slot

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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Twist Drill

Sense of rotation: CLOCKWISE Offset = 0 Radius compensation = 0

Name

Shank-

Drill-

Flutelength

Tip angle

Overall length

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

Lead

Overall length

Tool 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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Conkave Form Cutter

Offset = 0

Name

Shank-

Large end head-

Head width

Radius

Overall lnge

Tool length compensation

Radiuscompens.

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 width

Head length

Overall length

Tool length compensation

Radiuscompens.

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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Radius End Mill

Offset = 0

Name

Shank-

Radius

Edge length

Overall length

Tool length compensation

Radiuscompens.

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 length

Min. drill-

Overall length

Tool length compensation

Radiuscompens.

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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Shank End Mill

Name

Shank-

Edge-

Edge length

Overall length

Tool length compensation

Offset

Radiuscompens.

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 length

Overall length

Tool length compensation

Offset

Radiuscompens.

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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Disc Side Cutter

DIN 855

Name

Shank-

Diameter

Width D1 D2 D3

S1 S2 S3

Tool length compensation

Offset

Radiuscompens.

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

Flute length

Counters. angle

Overall length

Tool length compensation

Offset

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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Step Drill

Name

Shank-

Drill-

Tip angle

Step length

Angle

Overall length

Tool length compens.

Radiuscomp.

D03.4/90 DIN 8378 D04.5/90 DIN 8378 D05.5/90 DIN 8378 D06.6/90 DIN 8378 D09.0/90 DIN 8378 D11.0/90 DIN 8378 D13.5/90 DIN 8378 D06/180 DIN 8376 D08/180 DIN 8376 D10/180 DIN 8376 D11/180 DIN 8376 D15/180 DIN 8376 D18/180 DIN 8376

3.4........... 2.5 ...........8.8 ...........70 ........ 118.......... 90 ............... 90 ...............1.7.... 4.5........... 3.3 ..........11.4 ..........80 ........ 118.......... 90 .............. 120 .............2.25... 5.5........... 4.2 ..........13.6 ..........93 ........ 118.......... 90 .............. 130 .............2.75... 6.6.............5 ...........16.5 .........142 ....... 118.......... 90 .............. 145 ..............3.3.... 9 ............ 6.8 ........... 21 ...........125 ....... 118.......... 90 .............. 140 ..............4.5.... 11 ........... 8.5 ..........25.5 .........142 ....... 118.......... 90 .............. 150 ..............6.5.... 13.5......... 10.2 .......... 30 ...........160 ....... 118.......... 90 .............. 160 .............6.75... 6 ............ 3.4 ............ 9 .............93 ........ 118......... 180 ............. 130 ............... 3 ..... 8 ............ 4.5 ........... 11 ...........117 ....... 118......... 180 ............. 150 ............... 4 ..... 10 ........... 5.5 ........... 13 ...........133 ....... 118......... 180 ............. 160 ............... 5 ..... 11 ........... 6.6 ........... 15 ...........142 ....... 118......... 180 ............. 160 ..............5.5.... 15 .............9 ............ 19 ...........169 ....... 118......... 180 ............. 170 ..............6.5.... 18 ............11 ........... 23 ...........191 ....... 118......... 180 ............. 200 ............... 6 .....

MTS GmbH 1998

199

Appendix 2: Tool File Survey

T-Slot Cutter

Name

Shank-

Head-

Head width

Overall length

Tool length compensation

Radiuscompens.

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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Shell End Mill

Name

Shank-

Head

Head width

Overall length

Hole step-

Hole step depth

Tool length compens.

Radiuscomp.

D040 DIN 1880 D050 DIN 1880 D063 DIN 1880 D080 DIN 1880 D100 DIN 1880 D125 DIN 1880

16 ..........40 .......... 32...........110 ........... 25 ................ 4 ................ 120 ............. 20 ..... 22 ..........50 .......... 36...........110 ........... 30 ................ 8 ................ 120 ............. 25 ..... 27 ..........63 .......... 40...........110 ........... 35 ................ 8 ................ 120 ............31.5 ... 27 ..........80 .......... 45...........110 ........... 35 ............... 10 ............... 140 ............. 40 ..... 32 .........100 ......... 50...........110 ........... 40 ............... 10 ............... 140 ............. 50 ..... 40 .........125 ......... 56...........110 ........... 50 ............... 15 ............... 140 ............62.5 ...

MTS GmbH 1998

201

Appendix 2: Tool File Survey

Reversible Tip Drill

Name

Shank-

Overall length

Tool length compensation

Offset

Radiuscompens.

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

Programmers Guide for CNC Milling

Appendix 2: Tool File Survey

Angular Cutter Type A

DIN 1833

Name

Shank-

Large end head -

Head width

Cutting- Overall edge angle length

Tool length compens.

Offset

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

Head width

Cutting Overall edge angle length

Tool length compens.

Offset

Radiuscompens.

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

Programmers Guide for CNC Milling

Index

A
Absolute Dimensioning 17 Absolute Dimensions Activate 68 De-Activate 69 Additional Functions 23 Addresses Mandatory Addresses 21 Optional Addresses 21 Survey of Addresses 185 Alternative Solutions with Contour Strings See Contour Strings Angle Criterion with Contour Strings See Contour Strings Approach Instructions with Cutter Radius Compensation See Cutter Radius Compensation Arc as a Contour Segment See Contour Strings Arc Criterion with Contour Strings See Contour Strings (ff Contour) Circle Centres Absolute 107 Four-Point String with Tangential Transitions 148 Line Segment 104 Open Contour Strings 154 Pointed Tangential Transitions 110 Rounding between Two Entities 117 See Contour Strings Selection of Solutions 111 Arc Criterion 114 Angle Criterion 112 Line Criterion 113 with Roundings 117 Tangential Connection to Previous Entity 161 Tangential Transitions 108 Three-Point String Arc - Arc 143 Arc - Line 130 Line - Arc 136 Line - Line 126 Two-Point-String Arc 122 Straight Line 120 Coolant Activate/Deactivate 23 Coordinate System 9, 62 Cartesian Coordinate System 9 Origin of the Coordinate System 9 Polar Coordinate System 10 Shift Coordinate System See Workpart Zero Three-dimensional Coordinate System 9 Cutter Centre Path 15 Cutter Radius 59 See Compensation Values Cutter Radius Compensation CRC 59 Approach Instructions with CRC Operative 61 Cancel Cutter Radius Compensation CRC 57 Retreat Instructions with CRC Cancel 57 Cycle Invocation on a Divided Circle 81 Cycles Boring of a Drilled Hole 95 Circular Pocket 99 Drilling Cycle 85 with Chip-Breaking 87 with Chip-Breaking and Chip-Removal 89 Drilling Pattern on a Divided Circle 77 Pin 101 Reaming of a Drilled Hole 93 Rectangular Cycle 79 Rectangular Pocket 97 Tapping Cycle 91

B
Basics of NC-Programming 19

C
Cancel Cutter Radius Compensation See Cutter Radius Compensation Cancel Mirroring 25 Cancel Zero Shift 62 Chamfer between Segments - See Contour Strings Circle Interpolation Circular Interpolation Clockwise 35 Counter-Clockwise 37 with Polar Coordinates 45, 47 Circular Pocket Cycle See Cycles Clearance Planes 75 Code (Number) See NC-Block Commands 20 Modal and Non-modal 20 Comments in NC-Blocks 167 Compensation Values Compensation Values Storage 15 Length 15 Radius 15 Contour Strings 102 Additional Addresses 106 Arc Segment 104 Chamfer between Two Lines 119

MTS GmbH 1998

205

Index

D
Data Input Inch 48 Millimeters 49 Define Workpart Zero - Incremental 67 Define/Shift Zero See Workpart Zero Drilling Cycle 85 with Chip-Breaking 87 with Chip-Breaking and Chip-Removal 89 Drilling Pattern on a Divided Circle 77 Dwell 38

L
Length Compensation See Compensation Values Line as a Contour Segment See Contour Strings Line Criterion with Contour Strings See Contour Strings Linear Interpolation in Slow Feed Motion 33 Linear Interpolation with Polar Coordinates 43

M
M-Functions 23 Machine Zero 13, 65 Machining Planes 11 Measuring Unit Millimeters 49 Inch 48 Mirroring about an Axis 25 Modal Commands 20 Motion Rapid 31

E
End Block Number in Subprograms See Subprograms End Block Number with Repeated Program Partsn See Repeated Program Parts Equidistant 15

F
Feedrate 26 Decelerate to Zero 39 Millimeters per Minute 70 Millimeters per Revolution 71 Four-Point String See Contour Strings

N
NC-Block 19 Addresses 19 Code 19 Format 19 Value 19 Word 19

I
In-Position Programming G09 39 Inch, Data Input 48 Incremental Dimensioning 17 Incremental Dimensions Activate 69 De-Activate 68 Incremental Zero Shift See Workpart Zero Invocation of a Cycle on a Straight Line 83 at a Point 84

O
Open Contour Strings See Contour Strings Optional Block Skip 51

P
Parameters Assign Parameters 165 Programming of Parameters 165 Pin Cycle 101 Pointed Tangential Transitions 110 Polar Coordinate System See Coordinate System Program End 23 Programmed Halt 23 Programming of Contour Strings See Contour Strings Programming of Parameters See Parameters

J
Jump Instruction - unconditional 53

206

Programmers Guide for CNC Milling

Index

R
Rapid Traverse 31 with Polar Coordinates 41 Rectangular Cycle See Cycle Rectangular Pocket Cycle See Cycles Reference Point 13 Move to the Reference Point 54 Relative Dimensioning 17 Repeated Program Parts 52 End Block Number 52 Start Block Number 52 Repetition of a Program Part See Repeated Program Parts Retreat Instructions with CRC Cancel See Cutter Radius Compensation Rounding of Contour Segments See Contour Strings Tool Change 26 Tool Changing Position 13 Tool Compensation Values See Compensation Values Tool Compensation Values Storage See Compensation Values Tool Geometry 15 Tool Reference Point 13, 15 Tool-Changing Position Move to the Tool-Changing Position 55 Two-Point String See Contour Strings

V
Value See NC-Block

S
Selection of Planes 11 Selection of Solutions with Pointed Tangents 115 Setup form 175 Code 177 Format 177 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

W
Words See NC-Block Workpart Zero 13, 65 Define - absolute 65 Zero Shift 67

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