CNC - Simulator. Programmer's Guide for Milling. Mathematisch Technische
Software - Entwicklung GmbH. Kaiserin-Augusta-Allee 101 D • 10553 Berlin • ( +
49 ...
CNC - Simulator Programmer’s Guide for Milling
Mathematisch Technische Software - Entwicklung GmbH Kaiserin-Augusta-Allee 101 D • 10553 Berlin • ( +49 / 30 / 34 99 600
Programmer’s Guide CNC-Simulator for Milling
© MTS Mathematisch Technische Software-Entwicklung GmbH Kaiserin-Augusta-Allee 101 • D-10553 Berlin + 49 / 30 / 34 99 600 • Fax +49 / 30 / 34 99 60 25 eMail:
[email protected] • WWW: http://www:mts-cnc.com Berlin, May 1995ofp, May 1998 akss, ofp
(
All rights reserved, including photomechanical reproduction and storage on electronic media.
DIN: (Deutsche Industrie Norm), is the German Standard Specification as defined by the "Deutsches Institut für Normung e. V." MS-DOS is a trademark of Microsoft Corporation PAL:is short for "Prüfungs- Aufgaben und Lehrmittelentwicklungsstelle" (Institute for the Development of Examination Standards and Training Aids), a division of the "IHK Mittlerer Neckar" (Chamber of Industry and Commerce of the Middle-Neckar Region)
Contents
Table of Contents
Introduction _______________________________________
7
1. Geometry Basics
9
________________________________
1.1 The Coordinate System ____________________________________ 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
_________________
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 _____________________________________________
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 _____________________________________
© MTS GmbH 1998
9 10 11 13 15 17
19 19 20 21
22 23 23 23 23 23 25 26 26 26
28 31 33 35 37 38 39 41 43 45 47 48 49
3
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 _________________________________________
73
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
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 ________________________________
4
106 107 108 110 111 112 113 114 115 117 119 120 122 126
Programmer’s 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
Comments ______________________________________________ Skipping of NC-blocks _____________________________________ Temporary Free Format Mode _______________________________ Arithmetic Operations and Algorithms _________________________
9. Setup Form
167 167 169 169
____________________________________________________
174
9.1 Syntax ________________________________________________ Instructions and Addresses _________________________________
177 178
Appendix 1: Survey of Programmable Addresses _______ 185 Appendix 2: Tools Index
© MTS GmbH 1998
_______________________________________________
188
____________________________________________ 205
5
6
Programmer’s Guide for CNC Milling
Introduction
Introduction The present Programmer’s Guide covers all available NC commands of the MTS Programming Code. In addition to the DIN 66025 commands, the programming of maching cycles and of contour strings will be explained. The MTS Programming Code is not depending on any specific manufacturer’s CNC control system. The programmer’s guide is structured as follows: Part One serves to exemplify the basic techniques of NC programming. Part Two, which is far more extensive, serves to explain all commands which are part of the MTS programming code. For reasons of clarity these have been arranged in three subdivisions, namely the following: -
DIN-Commmands Machining Cycles Programming of Contour Strings
This structure is meant to provide an easy way into NC programming even for the unskilled user. The expert programmer may use the clearly structured listing of commands as a quick-reference manual when confronted with complicated tasks. The general idea with the present Programmer’s Guide is to explain and support the process of manual programming. To effect this, all mandatory and optional parameters will be exemplified by a corresponding NC-Block and graphically represented. All in all the Programmer’s Guide is thought to provide comprehensive support in generating NC-programs, either by using the editor or by employing the "automatic mode" for interactive programming. The Manual may of course also serve for testing and optimizing NC-programs in the "automatic mode" - thus contributing to a better understanding of technical circumstances. Furthermore a number of improvements on Version 4.1 of the MTS Programming Code have been made: -
Up to four different zero points can be defined, stored and activated within the same NC program.
Programming of contour strings: The end point of a circular arc can be programmed by specifying the tangent angle at the end point. The address P000 serves for mandatory programming of tangential transitions between contour entities. When a series of contour strings with tangential transitions is concerned, alternative contours, including roundings, may be programmed.
© MTS GmbH 1998
7
1. Basic Geometry
Diagram 1.1 :
Coordinate System; Z-Axis Vertical
Diagram 1.2 :
"Right-Hand-Rule" for identification of the axes
Examples : P1: P2: P3: P4:
Diagram 1.3 :
8
X= X= X= X=
60, 0, 60, 60,
Y= Y= Y= Y=
0, 40, 40, 40,
Z= Z= Z= Z=
40 40 40 0
Three-Dimensional Coordinate System Programmer’s Guide for CNC Milling
1.1 Coordinate System
1. Basic Geometry To determine the geometry of the workpart and of the working area, reference points and their respective coordinate systems must be defined. Coordinate axes as well as movement directions will be designated in compliance with the German Standard DIN 66217.
1.1 The Coordinate System A right-handed, right-angled coordinate system is applied in the programming of NC machine tools. Axes are designated as X, Y and Z (see Diagram 1.1). The so-called "right-hand-rule" should help the user to realize the position of each axis. (see Diagram 1.2): No matter how the coordinate system is situated, the axes X, Y and Z are positioned at right angles to each other, always in the same order of succession. When thumb, index finger and middle finger of your right hand are assumed to represent the X -, Y - and Z - axis respectively, each finger will point to the positive axis direction. Origin of the Coordinate System
The intersection point of the three axes is the origin (or zero point) of the coordinate system: (X=0, Y=0, Z=0)
Coordinates
Part of NC programs is the description of cutter paths and target points. To ensure correct execution of such commands, the applicable geometric dimensions must be precisely defined, so as to effect the corresponding tool movement on the machine tool. The above described coordinate system serves to definitely locate each point, by specifying its coordinates (in numerals) on the respective axes (see Diagram 1.3).
Example:
The coordinates of point P1 are: X=60
Y=0
Z=40
i.e. the position of the point is defined by entering the value 60 in the positive 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
9
1. Basic Geometry
1.1.1 Polar Coordinate System In the cartesian coordinate system, a point in the machining plane is defined by its X- and Y-coordinates. With rotary symmetric workpart contours (see Diagram 1.4), however, a considerable amount of calculation would be necessary to establish these coordinate values. Therefore, in most cases, polar coordinate systems are used to program the target points of such workpart contours. A point will be defined by its distance from the origin of the polar coordinate system (i.e.a radial value) and by the angle of this radius to an identified axis, which, as a rule, is the X- axis.
The coordinates of the drilled holes B1 to B6 are established by their distances from the centre and their respective angles to the X- axis
Diagram 1.4 :
Dimensioning of rotary symmetric workparts by polar coordinates
Cartesian Coordinate System: The coordinates of point P are: X=70 and Y=40
Polar Coordinate System: Point P is defined by its distance (Radius = 80,623 mm) from the origin of the polar coordinate system and the radius angle (29,745°) to the X- axis.
Diagram 1.5 :
10
Coordinate Systems in Comparison
Programmer’s Guide for CNC Milling
1.2 Selection of Planes
1.2 Selection of Planes A workpart can be machined in each of the three possible planes (X Y, Z X or Y Z). The respective third axis is the feed axis and therefore also the tool axis. The 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)
Coordinate Plane (Machining Plane)
Feed Axis Tool Axis
G17
XY - Plane
Z
G18
ZX - Plane
Y
G19
YZ - Plane
X
The definition of the maching plane and the feed axis is to be effected in the CNCSimulators Configuration Program (see Configuration Manual).
F
Please note that all diagrams and programming examples in the present Programmer’s Guide are based on the plane selection G17 (Feed Axis Z).
G17 Plane Diagram 1.6 :
© MTS GmbH 1998
G18 Plane
G19 Plane
Circular cutter movement in each of the three machining planes
11
1. Basic Geometry
12
Diagram 1.7 :
Reference points of a CNC Milling Machine
Diagram 1.8 :
All programmed coordinates relate to the tool reference point
Programmer’s Guide for CNC Milling
1.3 Reference Points
1.3 Reference Points To ensure that a machine control system will read the programmed coordinates correctly and effect the corresponding movements of the tool carriage, each machine tool must have its own "coordinate system". Within this machine reference system there are several predefined reference points, namely the following (see Diagram 1.7): Machine Zero
The machine zero point (also called the machine datum) constitutes the origin of the machine reference system. As a rule it has been defined by the manufacturer and it cannot be altered. With the CNC-Simulator for Milling the machine zero can be determined in the configuration program (cf. the Configuration Manual).
Reference Point
The reference point serves to calibrate the position measuring systems. To make sure that the control system can identify the position of the tool carriage and can execute all movements as intended, when an incremental system is employed, the tool must be moved to the reference point after each re-starting of the machine. When absolute measuring systems are employed, approaching the reference point is not necessary. In the CNC Simulator the position of the reference point relative to the machine zero can be determined in the configuration program (cf. the Configuration Manual).
Tool Reference Point
All tool movements effected by the control system (according to the specified coordinates) will refer to the tool reference point, which is situated on the front face of the tool mounting (see Diagram 1.8). When programming a contour, all entries must refer to the path of the pre-defined cutting point. To ensure this, the control system must be informed of the dimensions relative to the tool reference point of each tool employed - the so-called tool compensation values (cf. Section 1.4 of this manual: Tool Geometry Compensation Values).
Workpart Zero
The workpart zero can be determined at will, always relating to the machine zero. It is recommended, though, to define the workpart zero as identical with the origin (zero point of the coordinate system) of the workpart design drawing -this way the dimensions can be adopted directly from the drawing in the course of programming a contour. Please note that when no workpart zero has been defined, the control system will read all coordinates specified as relative to the machine datum (after the reference point has been approached).
© MTS GmbH 1998
13
1. Basic Geometry
The compensation value in Z is determined by the the distance between the the cutting point and the tool reference point.
Diagram 1.9 :
Tool length- and cutter radius compensation
Cutter radius compensation is necessary to ensure that the programmed contour will be identical with the executed contour.
Diagram 1.10 :
Accounting for the cutter radius with a contour to be generated
When the cuttter radius compensation (CRC) is active, the control system will establish an appropriate tool centre path (equidistant), accounting for the cutter radius.
Diagram 1.11 :
14
Cutter Centre Path (Equidistant)
Programmer’s Guide for CNC Milling
1.4 Tool Geometry and Compensation Values
1.4 Tool Geometry and Compensation Values As already mentioned (see above: Reference Points) the control system will read each programmed dimension as relative to the tool reference point. In some cases, however, the target coordinates must be approached with reference to the cutting point (e.g. with slot-milling). It follows, that the length of the cutter (see Diagram 1.9) must be accounted for when computing the tool motions. Length and radius data of every tool is therefore written to a so-called Compensation Value Storage: Tool Length 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).
Cutter Radius Compensation
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).
F
Please see Section 4 ("Programming Commands") for a more detailed description of programming cutter radius compensations.
© MTS GmbH 1998
15
1. Basic Geometry
Absolute Dimensioning: All dimensions relate to the same origin, the dimension reference point.
Incremental Dimensioning: Starting from the origin of the coordinate system, the distance between the current point and the preceding point is measured.
Diagram 1.12 :
Dimensioning Systems in Comparison
Tool motions according to the absolute dimensioning system: The cutter moves from the starting point X +30, Y +30 to the target point X +110, Y +75.
Tool motions according to the incremental dimensioning system: The cutter moves from the starting point in the X-direction by a value of +85 and in the Ydirection by a value of +45.
Diagram 1.13 :
16
Using Different Dimensioning Systems for Programming
Programmer’s Guide for CNC Milling
1.5 Absolute/Relative Dimensioning
1.5 Absolute Dimensioning, Incremental Dimensioning (Relative Dimensioning) The following dimensioning systems are commonly used with design drawings (see Diagram 1.12): Absolute Dimensioning In the absolute system all dimensions refer to the origin (zero point) of the 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).
F
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 :
18
Feed Speed Tool Number/Turret Position Switches and Machine Functions
(Spindle, Coolant ...)
Sequence of Words within an NC Block
Programmer’s Guide for CNC Milling
2.1 NC-Block Format
2. Introduction into NC-Programming A distinct program structure is essential to the generation of NC-programs. For instance the process of detecting eventual program errors will be much facilitated by a clear structure - especially when this task is carried out by another programmer.
2.1 Structure of an NC-Block (Format) Unlike the conventional milling machine, a modern machine tool will be equipped with a numerical control system. The machining of a workpart can be executed automatically, provided that each maching cycle has been described in a "language" (code) which can be read by the control system.The total of coded descriptions relating to a workpart is called an NC-program. Each NC-program consists of a number of so-called blocks, which contain the commands to be executed.
Blocks
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
As a rule an NC block is comprised of several words. Each word consists of an address (letter) and a value or code (numerals).
Example
N110
G01
|
|
|
|
Word
Word
Word
Block No.
X+60
M03
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).
G | Address
© MTS GmbH 1998
Word
Word
Word
01 | Code
X | Address
60 | Value
F | Address
0.07 | Value
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:
Explanation: (See Diagram 2.2)
N110 N115 N120 N125 N130
F95 G00 G01 X+105 Y+80
S850 X+25 Z-8
M03 Y+30
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.
Diagram 2.2 :
20
Tool motions effected by modal commands (G01)
Programmer’s Guide for CNC Milling
2.3 Programming and Denotation of Addresses
2.3 Programming and Denotation of Addresses As a rule, an NC-command contains several addresses. These addresses must be discriminated as mandatory addresses (which have to be programmed) and optional addresses (which may be programmed). To tell apart the mandatory and the optional addresses, in the present programmer’s guide the following mode of denotation will be applied:
Addresses that have to be programmed with a specific NC-command ("mandatory addresses"),will appear.without any additional program information. Example
G04
X...
When the G04 command (dwell time) is programmed, X plus the desired value (specifying the dwell time in seconds) is a mandatory address.
Addresses which are not mandatory but may be programmed with a specific command ("Optional Addresses") will appear in the program line in brackets. Example
G81
Z...
[W...]
With the drilling cycle G81 the address Z must be programmed to specify the drilling depth. Optionally a clearance plane may be programmed at the address W.
© MTS GmbH 1998
21
3. Additional Functions (M-Functions)
3. Additional Functions (M-Functions) With each NC-block a number of additional functions (M-Functions) can be programmed, such as machine functions and switches, e.g. to specify the feedrate. the spindle speed and the tool change.
Overview of available M-Functions:
22
M00
Programmed Halt
M02
Program End
M03
Activate Spindle - Right-Hand Rotation
M04
Activate Spindle - Left-Hand Rotation
M05
De-Activate Spindle
M06
Mounting a Pre-selected Tool (Configurable)
M07
Activate Coolant Pump 1
M08
Activate Coolant Pump 2
M09
De-Activate Coolant Pump
M30
Program End, Rewind Punched Tape
M80
Cancel Mirror Functions
M81
Mirror in the Y-Axis
M82
Mirror in the X-Axis
M83
Reverse Signs of the Z-Coordinates
M84
Mirror in the X- and Y-Axes
M85
Mirror in the Y-Axis and Reverse Signs of the Z-Coordinates
M86
Mirror in the X-Axis and Reverse Signs of the Z-Coordinates
M99
End of Subroutine
F
Feedrate
S
Speed
T
Tool Change
Programmer’s Guide for CNC Milling
3.1 Activate/Deactivate Spindle
3.1 Activate/Deactivate Spindle M03
Activate Spindle - Right-Hand Rotation (Clockwise)
M04
Activate Spindle - Left-Hand Rotation (Counter-Clockwise)
M05
De-Activate Spindle
3.2 Mounting a Pre-Selected Tool M06
F
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
Activate 1st Coolant Pump
M08
Activate 2nd Coolant Pump
M09
De-Activate Coolant Pump
3.4 Programmed Halt M00
After the execution of a block which contains the command M00, the program execution will be halted, to allow gauging of the workpart or a manual tool change.
3.5 Program End
© MTS GmbH 1998
M30
This command informs the control system that the current program run has been completed. The spindle and the coolant pump will be deactivated and the automatic program run is terminated. All mirroring operations, incremental or rotary zero shifts (G59) are undone and the punched tape will be rewound.
M02
In the Simulator for Milling the M02 command effects the same functions as the M30 command.
M99
This command informs the control system that the current 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.
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 :
24
Mirroring in the X- and Y-Axes
Programmer’s Guide for CNC Milling
3.6 Mirroring about Axes
3.6 Mirroring about Axes in a Plane Function
The commands M81 to M86 serve to mirror drilling patterns or contours about an axis. To effect this transaction, the control system will invert the signs of the coordinates of the respective other axis. This means that the contour is represented -
mirror-inverted on the opposite side of the mirror-axis at the same size
It follows that the cutting direction of the milling tool is reversed. Example
Diagram 3.1 shows the effect of the M81 command: a mirror image of the contour is created on the opposite side of the Y-axis, by mirroring the coordinate values of the X-axis. Further available mirror functions are:
NC-Block
Programming Hints
M81
Mirroring the X-coordinates about the Y-axis
M82
Mirroring the Y-coordinates about the X-axis
M83
Inverting the signs of the Z-coordinate values
M84
Mirroring about both the X- and Y-axes
M85
Mirroring about the Y-axis and inverting the signs of the Z-coordinate values.
M86
Mirroring about the X-axis and inverting the signs of the Z-coordinate values.
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...
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.
F
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
With certain machine tools the T-command serves only to provide a specified tool at the tool changing position. To mount this tool to the workspindle the command M06 must be programmed seperately. In the MTS Simulator the desired mode of tool-changing can be determined in the configuration (see the Configuration Manual).
26
Programmer’s Guide for CNC Milling
3.9 Tool Change
F
When you decide to program an NC-block containing one or several M - functions together with a G-command, please take care to observe the proper sequence of command execution, as listed in the following table:
To be executed prior to the G-command:
To be executed after the G-command
M03/M04
Activate spindle
M00
Program hold
M07/M08
Activate coolant
M02
Program end without backspacing
M80
Cancel all mirroring operations
M05
De-activate spindle
M09
De-activate coolant
M81-M86 Mirrorings F
Feedrate
M30
Program end and backspacing
S
Speed
M99
Sub-program end
T
Tool change
An NC-block may contain a maximum of three M-commands.
© MTS GmbH 1998
27
4. DIN 66025 Commands
4. Programming Commands in Compliance withDIN 66025 Survey of available DIN commands:
G00
Rapid Traverse
G01
Linear Interpolation in Slow Feed Motion
G02
Circular Interpolation Clockwise
G03
Circular Interpolation Counter-clockwise
G04
Dwell
G09
In-position Programming (Deceleration)
G10
Polar Coordinates for Rapid Traverse
G11
Polar Coordinates for Linear Interpolation
G12
Polar Coordinates for Clockwise Circular Interpolation
G13
Polar Coordinates for Counter-clockwise Circular Interpolation
28
G20
Unit of Measurement: (Inch)
G21
Unit of Measurement (mm)r
G22
Invocate Subprogram
G23
Repeated Program Part (Routine)
G24
Unconditional Jump Instruction
G25
Move to the Reference Point
G26
Move to the Tool Change Position
G40
Cancel Cutter Radius Compensation
G41
Cutter Radius Compensation to the Left of the Contour
G42
Cutter Radius Compensation to the Right of the Contour
G45
Contour-parallel Approach / Retreat
G46
Semi-circular Approach / Retreat
G47
Approach / Retreat in a Quadrant
Programmer’s Guide for CNC Milling
4. DIN 66025 Commands
© MTS GmbH 1998
G53
Cancel Incremental Zero Shift
G54 - G57
Set Absolute Zero
G59
Incremental Zero Shift
G90
Activate Absolute Dimensioning
G91
Activate Incremental Dimensioning
G94
Feedrate (mm/min)
G95
Feedrate (mm/rev)
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 :
30
Programming Incremental Dimensions
Programmer’s Guide for CNC Milling
G00
Rapid Traverse
Rapid Traverse G00 Function
The tool will move at the maximum possible speed to the target position as programmed by the X- Y- and Z- coordinates. These coordinates may either be programmed in the absolute system (G90) or in the incremental system (G91).
NC-Block
G00
Optional Addresses
X
X-Coordinate of the Target Point
Y
Y-Coordinate of the Target Point
Z
Z-Coordinate of the Target Point
1)
[X...]1)
[Y...]1)
[Z...]1)
[F...]
[S...]
[T...]
[M...]
If a tool movement parallel to one or two axes is desired, the respective target coordinate will be identical with that of the current tool position. It does not have to be programmed separately, as the coordinate address is self-retentive. If none of the coordinates in X Y and Z has been programmed, only the rapid traverse function will be retained.
F Feedrate (mm/min) S Speed (RPM) T Tool Change M Additonal Function Explanation
The programmed feed adjustment Z, relative to the current tool position, determines the order of tool movements in the axes.:
Rapid Traverse Logic: -
if the infeed is in the positive Z-direction (from the current tool position), the tool will move first in the Z-axis and subsequently in the X- and Y- direction..
-
if the infeed is in the negative Z-direction (from the current tool position), the tool will move first in the XY plane and then in the Z-direction.
Programming Hints
© MTS GmbH 1998
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").
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 :
32
Programming of Incremental Dimensions
Programmer’s Guide for CNC Milling
G01
Linear Interpolation in Slow Feed Motion
Linear Interpolation in Slow Feed Motion G01 Function
The tool will move at the programmed feedrate to the target position as programmed by the X- Y- and Z- coordinates. These coordinates may either be programmed in the absolute system (G90) or in the incremental system (G91).
NC-Block
G01
Optional Addresses
X
X-Coordinate of the target point
Y
Y-Coordinate of the target point
Z
Z-Coordinate of the target point
1)
[X...]1)
[Y...]1)
[Z...]1)
[F...]
[S...]
[T...]
[M...]
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
© MTS GmbH 1998
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").
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 :
34
Programming of Incremental Dimensions
Programmer’s Guide for CNC Milling
G02
Clockwise Circular Interpolation
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...]
Optional Addresses
1)
[Z...]1) [S...]
X
X-Coordinate of the Target Point
Y
Y-Coordinate of the Target Point
Z
Z-Coordinate of the Target Point
[I...]2) [T...]
[J...]2) [M...]
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 :
36
Programming of Incremental Dimensions
Programmer’s Guide for CNC Milling
G03
Counter-Clockwise Circular Interpolation
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...]
Optional Addresses
1)
[Z...]1)
[I...]2)
[J...]2)
[S...]
[T...]
[M...]
X
X-Coordinate of the target point
Y
Y-Coordinate of the target point
Z
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
The tool movement is halted for the specified dwell time.
NC-Block
G04
Addresses
X
X... Dwell time in seconds
Programming Example: N120 G04 X+2
Programming Hints
38
The dwell time must be speciefied in seconds, at the address X. The G04 command must be programmed in a separate NC-block.
Programmer’s Guide for CNC Milling
G09
In-Position Programming (Deceleration)
In-Position Programming (Deceleration) G09 Function
If G09 is programmed as part of an NC-block, the feedrate will be decelerated to zero when the programmed contour point is reached. After the standstill at precisely the programmed position, the tool motion is resumed and the next contour point, as programmed in the subsequent NC-block, is approached.
NC-Block
X...
Explanation
As NC-programs are executed continuously, i.e. without interrupting the feed motion, position errors such as lags or overshoots may occur. To move the tool with precision to the programmed coordinates, the G09 command must be programmed.
Programming Hints
The command G09 must be placed at the end of an NC-block.
Examples:
G01 X... Y... G09
Z...
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 :
40
The Angle A is programmed incremental, the polar coordinates are programmed in the absolute system.
Programmer’s Guide for CNC Milling
G10
Rapid Traverse with Polar Coordinates
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
Addresses
Optional Addresses
1)
A...
B...
[I...]1)
[J...]1)
[F...]
[S...]
(P070) [T...]
(P071) [M...]
A
Angle to the X-axis (absolute); (See diagr. G10.1) With the standard configuration of the Simulator (circle centres incremental) the angle A may be programmed incremental by adding the address P071, i.e. the angle between the line from the origin to the starting point and the line from the origin to the target point (see Diagram G10.2). If absolute circle centres have been configurated, the specified angle is alsways interpreted as absolute.
B
Distance from the origin to the target point
I, J
Polar coordinates incremental from the starting point; (see Diagram G10.1) With the standard configuration of the Simulator (circle centres incremental) the polar coordinates may be programmed absolute (i.e. relative to the workpart zero) by adding the address P070 (see Diagram G10.2). If absolute circle centres have been configurated, the coordinates I and J are always interpreted as absolute.
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 :
42
Angle A is programmed incremental , polar coordinates in the absolute system
Programmer’s Guide for CNC Milling
G11
Linear Interpolation With Polar Coordinates
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
Addresses
Optional Addresses
1)
A...
B...
[I...]1)
[J...]1)
[F...]
[S...]
(P070) [T...]
(P071) [M...]
A
Angle to the X-axis (absolute); (See diagr. G11.1) With the standard configuration of the Simulator (circle centres incremental) the angle A may be programmed incremental by adding the address P071, i.e. the angle between the line from the polar centre to the starting point and the line from the polar centre to the target point (see Diagram G11.2). If absolute circle centres have been configurated, the specified angle is alsways interpreted as absolute.
B
Distance from the polar centre to the target point
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.
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
© MTS GmbH 1998
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").
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 :
44
The angle A is programmed incremental, the polar coordinates are programmed in the absolute system
Programmer’s Guide for CNC Milling
G12
Circular Interpolation with Polar Coordinates
Circular Interpolation with Polar Coordinates G12 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.
Function
NC-Block
G12 A...
[I...]1)
[J...]1) [F...]
(P070) [S...]
(P071) [T...]
[M...]
Addresses
A
Angle of that line to the X-axis (absolute), which connects the origin with the target point ; (See diagr. G12.1) With the standard configuration of the Simulator (circle centres incremental) the angle A may be programmed incremental by adding the address P071, i.e. the angle between the line from the origin to the starting point and the line from the origin to the target point (see Diagram G12.2). If absolute circle centres have been configurated, the specified angle is alsways interpreted as absolute.
Optional Addresses
I, J
Polar coordinates incremental from the starting point; (see Diagram G12.1) With the standard configuration of the Simulator (circle centres incremental) the polar coordinates can be programmed absolute (i.e. relative to the workpart zero) by adding the address P070 (see Diagram G12.2). If absolute circle centres have been configurated, the coordinates I and J are always interpreted as absolute.
1)
With the standard configuration of the Simulator, when I or J have not been programmed, zero will be assumed as the respective coordinate value. If absolute circle centres have been configurated, the coordinates of the starting point (the actual tool position) will be assumed as the polar coordinates I and J. F Feedrate (mm/min) S Spindle Speed (RPM) T Tool Change M Additional Function
Programming Hints
© MTS GmbH 1998
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").
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 :
46
The angle A is programmed incremental, the polar coordinates are programmed in the absolute system
Programmer’s Guide for CNC Milling
G13
Circular Interpolation with Polar Coordinates
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)
[T...]
[M...]
Addresses
A
Angle of that line to the X-axis (absolute), which connects the origin with the target point ; (See diagr. G13.1) With the standard configuration of the Simulator (circle centres incremental) the angle A may be programmed incremental by adding the address P071, i.e. the angle between the line from theorigin to the starting point and the line from the origin to the target point (see Diagram G13.2). If absolute circle centres have been configurated, the specified angle is alsways interpreted as absolute.
Optional Addresses
I, J
Polar coordinates incremental from the starting point; (see Diagram G13.1) With the standard configuration of the Simulator (circle centres incremental) the polar coordinates may be programmed absolute (i.e. relative to the workpart zero) by adding the address P070 (see Diagram G13.2). If absolute circle centres have been configurated, the coordinates I and J are always interpreted as absolute.
1)
With the standard configuration of the Simulator, when I or J have not been programmed, zero will be assumed as the respective coordinate value. If absolute circle centres have been configurated, the coordinates of the starting point (the actual tool position) will be assumed as the polar coordinates I and J. F Feedrate (mm/min) S Spindle Speed (RPM) T Tool Change M Additional Function
Programming Hints
© MTS GmbH 1998
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").
47
G20
Inch Data Input
Inch Data Input G20 Function
This command serves to switch the unit of measurement from millimeters to inches.
NC-Block
G20
Explanation
When this function has been programmed, all coordinate values must be specified in inches. Accordingly the technology data concerning the feedrate will be altered from millimeters per minute (mm/min) to inches per minute (in/min)
Programming Hints
The G20 command must be programmed in a separate NC-block. Switching the unit of measurement only takes effect within the current NC-block. Inches will be the active unit of measurement only until the system is switched back to the millimeter unit. At the end of each program (M30) the control system will automatically return to the millimeter data input.
48
Programmer’s Guide for CNC Milling
Millimeter Data Input (mm)
G21
Millimeter Data Input (mm) G21 Function
This command serves to switch the unit of measurement from inches to millimeters.
NC-Block
G21
Explanation
When this function has been programmed, all coordinate values must be specified in millimeters (mm). Accordingly the technology data concerning the feedrate will be altered from inches per minute (in/min) to millimeters per minute (mm/min).
Programming Hints
The G21 command must constitute a separate NC-block. Switching the unit of measurement only takes effect within the actual NC-block Millimeters will be the active unit of measurement until the system is switched back to inch data input by the G20 command.
© MTS GmbH 1998
49
G22
Subprogram Invocation
Programming Example:
N... G22 U1234 N...
Ú NN...
N... G22 U5678
Diagram G22.1 :
Invovation of various subroutines from a main program
Programming Example:
N... /01 G22 U1234 N...
Ú NN...
N... /02 G22 U1234
Diagram G22.2 :
50
Multiple invocation of a subprogram from a main program, while omitting certain NC-blocks (optional block skip).
Programmer’s Guide for CNC Milling
G22
Subprogram Invocation
-
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
Addresses
U
At the address U the name of the subprogram must be programmed.
Optional Addresses
P
is the start block number at which the subprogram execution starts.
Q
is the end block number at which the subprogram execution ends.
S
states the number of repetitions of the subprogram execution
/
The slash code serves to denote those NC-blocks which are to be omitted in the current execution of a subprogram (see explanation below).
Explanation
U...
[P...]
[Q...]
[S...]
[/...]
Programming subroutines is recommended to effect the repeated execution of cetrain program parts, e.g. to repeat the machining of a contour with different tool adjustments or after one ore several zero shifts. Executed as a subroutine, the applicable cycle must be programmed but once. Further subprograms can be invocated from a subprogram; up to 11 subprograms can be nested.
Optional Block Skip
The address "/" (slash code) causes the control system to omit ("skip") certain NC blocks (marked at will) during a subprogram run. Such a selection of blocks marked to be skipped constitutes a "level" of block omissions, several of which may be defined for each subprogram. E.g.: Those blocks which have been skipped in the first execution of the subprogram (level 1) will be executed during the second run of the same subprogram (level 2). Or, conversely: The set of blocks executed at the first invocation of the applicable subprogram will be marked to be skipped in the second run. Example (see Diagram G22.2 on the previous page): - In the first execution of the subprogram (/01 U1234) the control system will skip all NC blocks marked by /01. - In the second run of the same subprogram (/02 U1234) the control system will skip all NC blocks marked by /02.
Programming Hints
Programming of the addresses P, Q and S is not mandatory: if P and Q have not been programmed, the complete subprogram will be executed. if S has not been programmed, only a single program run will be executed. At the end of each defined subprogram the command M99 must be programmed, to cause the control system to return to the main program, resp. to the subprogram from which the current subprogram has been invocated. This return condition may be edited in the configuration program (cf.. Configuration Manual: Subprograms).
© MTS GmbH 1998
51
G23
Repeated Program Parts
Repeated Program Parts G23 Function
The command G23 causes the repetition of a program part.
NC-Block
G23
Addresses
P
Start Block Number: Number of the main program block at which the repeated part starts.
Q
End Block Number: Number of the main program block at which the repeated part ends.
S
Number of repetitions: The value programmed at the address S determines the desired number of repetitions of the the program part.
Optional Addresses
P...
Q...
[S...]
Programming Example:
N190 G23 P160 Q180
Programming Hints
52
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.
Programmer’s Guide for CNC Milling
G24
Unconditional Jump
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
Addresses
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.
Programming Example: N110 G24 P185
Programming Hints
© MTS GmbH 1998
Programming a jump instruction as part of subprogram is invalid.
53
G25
Referencing
Move to the Reference Point G25 Function
The spindle head moves to the reference point in rapid traverse motion.
NC-Block
G25
Explanation
The command G25-causes the control system to move the spindle head to the reference point, the sequence of motions being in the Z-axis first and subsequently in the X- and Y-axes..
Programming Hints
As the position of the reference point is part of the configuration, G25 requires no coordinate values.
54
Programmer’s Guide for CNC Milling
Approach the Tool-Changing Position
G26
Move to the Tool-Changing Position G26 Function
The command G26 causes the control system to move the spindle head to the tool-changing position in rapid traverse motion.
NC-Block
G26
Programming Hints
As the tool-changing position has been determined in the configuration, no coordinate values must be specified with the command G26. The default configuration of the CNC Simulator only allows an approach to the tool changing position in the Z-axis. The user may edit this configuration and determine a specific order of movements along the axes to approach the tool changing position (see the Configuration Manual).
© MTS GmbH 1998
55
G40
Cancel Cutter Radius Compensation
NC-Block: G40
NC-Block: G40 A.. G45
Diagram G40.1 : Cancel Cutter Radius Compensation / No Retreat Instruction
Diagram G40.2 : Cancel Cutter Radius Compensation /Contourparallel Retreat
NC-Block: G40 A.. G46
NC-Block: G40 A.. G47
Diagram G40.3 : Cancel Cutter Radius Compensation / Tangential Retreat: Semi-circle with the Radius A
Diagram G40.4 : Cancel Cutter Radius Compensation / Tangential Retreat: Quadrant with the Radius A
56
Programmer’s Guide for CNC Milling
G40
Cancel Cutter Radius Compensation
Cancel Cutter Radius Compensation CRC G40 Function
The command G40 cancels the cutter radius compensation activated by commands G41 or G42.
NC-Block
G40
Programming Hints
De-activation of the cutter radius compensation must be programmed in a separate NC-block. Additionally the tool retraction path, after finishing the contour, may be programmed. Possible retreat instructions are the following:
Tool Retreat Instructions When Cancelling CRC If the cutter radius compensation is cancelled by the command G40 the tool will be moved to the last defined contour point (see Diagram G40.1). NC-Block
G40
Programming Hints
Please observe that the retreat point should not interfere with the contour.
Cancel CRC / Contour-parallel Retreat G45 When the cutter radius compensation is canceled, the tool will move parallel to the contour, beyond the last defined contour point (see Diagram G40.2). If the last entity is a circular arc, the tool will move parallel to the tangent to the contour at the end point. NC-Block
G40
Addresses
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
G40
Addresses
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
G40
Addresses
A
© MTS GmbH 1998
A...
G47
Radius of the Quadrant
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
Programmer’s Guide for CNC Milling
Cutter Radius Compensation Left / Right
G41 / G42
Cutter Radius Compensation - to the Left of the Contour G41 - to the Right of the Contour G42 As mentioned in Section 2.4 "Tool Geometry and Compensation Values", with contour-milling the cutter radius must be considered in establishing the 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
Programming Hints
© MTS GmbH 1998
G41
Compensation to the left of the contour (in the cutting direction)
G42
Compensation to the right of the contour (in the cutting direction)
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.
59
G41 / 42
Approach Instructions With Cutter Radius Compensation
NC-Block: G41 G01 X.. Y.. Z..
NC-Block: G41 A.. G45 G01 X.. Y.. Z..
Diagram G41.5 : Activate Cutter Radius Compensation Without Approach Instruction
Diagram G41.6 : Activate Cutter Radius Compensation with Contourparallel Approach Instruction
NC-Block: G41 A.. G46 G01 X.. Y.. Z..
NC-Block: G41 A.. G47 G01 X.. Y.. Z..
Diagram G41.7 : Activate Cutter Radius Compensation with Tangential Approach in a Semi-circle
Diagram G41.8 : Activate Cutter Radius Compensation with Tangential Approach in a Quadrant
F
The above examples represent the possible approach instructions for cutter radius compensation to the left of the contour (G41). It stands to reason that the same addresses equally apply to programming approach instructions for cutter radius compensation to the right of he contour (G42).
60
Programmer’s Guide for CNC Milling
G41 / 42
Approach Instructions With Cutter Radius Compensation
Approach Instructions with CRC When the cutter radius compensation is activated (G41 resp. G42) the path can be determined on which the tool shall approach the programmed contour. The following approach instructions can be programmed:
Approach Instructions with CRC If the cutter radius compensation is activated by G41 or G42 without additional instructions, the tool will move on a straight line directly to the first contour point (see Diagram G41.5). NC-Block
G41
Addresses
X, Y Coordinates of the first contour point Z Depth of cut
G01
X..
Y..
Z..
Contur-parallel Approach G45 The tool moves in the XY plane to the established cutting position. At this position the tool is adjusted to the applicable Z-value, before it travels contour-parallel to the first contour point (See Diagram G41.6). NC-Block
G41
Addresses
A Distance between the cutting position and the first contour point X, Y Coordinates of the first contour point Z Depth of cut
A..
G45
G01
X..
Y..
Z..
Semicircular Approach G46 The tool moves in the XY plane to the established cutting position. At this position the tool is adjusted to the applicable Z-value, before it approaches the first contour point tangentially in a semicircle (See Diagram G41.7). NC-Block
G41
Addresses
A Radius of the semicircle X, Y Coordinates of the first contour point Z Depth of cut
A..
G46
G01
X..
Y..
Z..
Approach in a Quadrant G47 The tool moves in the XY plane to the established cutting position. At this position the tool is adjusted to the applicable Z-value, before it travels in a quadrant tangential to the first contour point (vgl. Diagram G41.8). NC-Block
G41
Addresses
A Radius of the quadrant X, Y Coordinates of the first contour point Z Depth of cut
© MTS GmbH 1998
A..
G47
G01
X..
Y..
Z..
61
G53
Cancel Zero Shift
Cancel Incremental Zero Shift G53 Function
The command G53 serves to cancel an incremental zero shift (cf. G59). The system will return to the original coordinate system as previously determined by one of commands G54 to G57 or by touching the workpiece.
NC-Block
G53
Programming Hints
The command G53 must be programmed as a separate NC-block
62
Programmer’s Guide for CNC Milling
© MTS GmbH 1998
63
G54 - G57
Diagram G54.1 :
Define Zero Points
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 :
64
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).
Programmer’s Guide for CNC Milling
G54 - G57
Define Zero Points
Define Workpart Zero - Absolute: G54 - G57 Function
The commands G54 to G57 serve to define the coordinates X, Y and Z of a workpart zero relative to the machine zero. A total of four different zero points may be defined and stored.
NC-Block
G54
[X...] [Y...] [Z...]
or G55 [X...] [Y...] [Z...] or
G56
[X...] [Y...] [Z...]
or G57 [X...] [Y...] [Z...]
Addresses
Explanation
X
X-Coordinate of the current workpart zero
Y
Y-Coordinate of the current workpart zero
Z
Z-Coordinate of the current workpart zero
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 :
66
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.
Programmer’s Guide for CNC Milling
G59
Incremental Zero Shift
Incremental Zero Shift G59 Function
The command G59 serves to shift and concurrently rotate the coordinate system applied with an NC-program.
NC-Block
G59
Addresses
X
value by which the intermediate coordinate system is shifted in the X-axis.
Y
value by which the intermediate coordinate system is shifted in the Y-axis.
Z
value by which the intermediate coordinate system is shifted in the Z-axis.
I
X-coordinate of the rotation centre, incremental to the currently shifted intermediate origin.
J
Y-coordinate of the rotation centre, incremental to the currently shifted intermediate origin.
A
Rotation angle, incremental
Optional Addresses
Explanation
X...
Y...
Z...
[I...]
[J...]
[A...]
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
68
The absolute coordinate system remains operative until it is deactivated by G91 (activating the incremental dimensioning).
Programmer’s Guide for CNC Milling
G91
Incremental Dimensions
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
© MTS GmbH 1998
The incremental coordinate system remains operative until it is deactivated by G90 (activating the absolute dimensioning)
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
Addresses
F
F... Feedrate (mm/min)
Programming Example: N120 G94 F500.000 In this example the feedrate is 500 millimeters per minute.
F
If the unit of measurement has been switched from millimeters to inches (see NC-Command G20), the programmed feedrate will be interpreted accordingly in inches per minute,
70
Programmer’s Guide for CNC Milling
G95
Feedrate (mm / rev)
Feedrate (Millimeters per Revolution) G95 Function
The command G95 serves to program the feedrate per revolution. The measuring unit is millimeters.
NC-Block
G95
Addresses
F
F... Feedrate (mm/rev)
Programming Example: N080 G95 F000.300 In this example the feedrate is 0,3 millimeters per revolution.
F
If the user has switched the unit of measurement from millimeters to inches (see NC-Command G20), the programmed feedrate will be interpreted accordingly in inches per revolution,
© MTS GmbH 1998
71
72
Programmer’s Guide for CNC Milling
5. Cycles
5. Cycles Complete Survey of Available Cycles
G61
Drilling Pattern on a Divided Circle
G67
Milling a Rectangular Pocket
G77
Cycle Invocation on a Divided Circle
G78
Cycle Invocation on a Straight Line
G79
Cycle Invocation at a Point
G81
Drilling Cycle
G82
Drilling Cycle with Chip-Breaking
G83
Deep Drilling Cycle with Chip-Breaking and Chip-Removal
G84
Tapping Cycle
G85
Reaming of a Drilled Hole
G86
Boring
G87
Rectangular Pockets Cycle
G88
Circular Pockets Cycle
G89
Pins Cycle
F
Please note that for the below cycle descriptions the plane selection G17 is a precondition.
© MTS GmbH 1998
73
Clearance Planes
Diagram :
74
Clearance Planes: W = Distance Between the Withdrawal Plane and the Clearance Plane Z = Depth of Contour + Clearance Distance
Programmer’s Guide for CNC Milling
Clearance Planes
Clearance Planes Frequently applied tasks such as drilling of holes or milling of pockets are stored as so-called machining cycles. Multiple repetition of these cycles is common e.g. with drilling holes on a divided circle or on a straight line. In the execution of a repeated cycle the tool will be retracted to the withdrawal plane (2nd. clearance plane) before moving (in rapid traverse motion) to the next target position. Programming the Z-coordinate of this plane (the Y- or X-coordinate accordingly, if G18 or G19 have been programmed in the machining plane selection) is not necessary, it will be established from the actual tool position at the moment of the cycle invocation. Please make sure that the clearance plane (i.e. the position of the retracted tool) is defined sufficiently above the workpart contour (see Diagram). At the address W the distance between the 1st and the 2nd clearance plane must be programmed. After the cycle is invocated, the tool must be positioned in the withdrawal plane (2nd clearance plane). Subsequently the tool will be moved in the rapid-traverse mode from the withdrawal plane down to the clearance plane.The sign to W will be ignored. If the address W is not programmed, both clearance planes are interpreted as identical.
F
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 :
76
If a negative sign is programmed to the circle radius B, the angle A will be set in negative to the X-axis.
Programmer’s Guide for CNC Milling
G61
Drilling Pattern on a Divided Circle
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
Addresses
B
B...
K...
S...
[A...]
Circle Radius In special cases the circle radius B may be programmed with a negative sign (see diagram G61.2).
K
Drilling Depth - incremental to the current tool position
S
Number of Drilled Holes The angle between the drilled holes is arrived at by dividing 360 degrees by the number S. It will be computed by the system.
Optional Addresses
A
Angle of the first drilled hole to the positive X-axis
Explanation
The current tool position determines the centre of the circle on wich the drilling operations shall be executed. The order of succession of the drilling is always counterclockwise. After completion of the cycle the tool will stay in the clearance plane above the last drilled hole.
Programming Hints
The cycle G61 is immediately executed, it does not have to be invocated by G77 or G79. Programming a clearance plane is not possible with the G61 cycle.
© MTS GmbH 1998
77
G67
Milling of a Rectangular Pocket
Programming Example:
N090 G67 I+130 J+80 K-75 E+25 Diagram G67 :
78
Rectancular pocket - the internal corner roundings are determined by the cutter radius
Programmer’s Guide for CNC Milling
G67
Milling of a Rectangular Pocket
Milling of a Rectangular Pocket G67 Function
The command G67 serves to define a cycle for milling of a rectangular pocket.
NC-Block
G67
Addresses
I
Length of pocket in X - absolute
J
Width of pocket in Y - absolute
K
Depth of pocket in Z - incremental to the current tool position reduced by 1 mm, e.g.: current tool position: +2mm, depth of pocket ref. to workpart zero: 15mm: = > K = -16
E
Downfeed
Explanation
I...
J...
K...
E...
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 :
80
If D is programmed with a negative sign the drilling operations will be executed clockwise. Programmer’s Guide for CNC Milling
G77
Cycle Invocation on a Divided Circle
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
Addresses
B
[X...]
[Y...]
B...
D...
[A...]
[S...]
Radius of the Circular Arc In special cases the radius B may be programmed with a negative sign (see Diagram G77.2).
D
Angle between cycle executions The rotational sense of the execution sequence is determined by the sign programmed at D (see diagram G77.3).
Optional Addresses
Programming Hints
X
X-Coordinate of the arc centre
Y
Y-Coordinate of the arc centre
A
Angle of the first cutting position to the positive X-axis
S
Number of repetitions
If one or both coordinates of the arc centre have not been programmed, the respective coordinate of the current tool position will be set in. It follows that the actual tool position determines the arc centre, in the case that neither Y nor X have been programmed. If the angle A is not programmed, A is set to zero. If S is not programmed, S is set to 1. If, in the course of the cycle executions, a tool retreat to a specified withdrawal plane W (2nd clearance plane) is desired, it must have been programmed accordingly in the cycle.
© MTS GmbH 1998
81
G78
Invocation of a Cycle on a Straight Line
Programming Example:
N085 G81 Z-40 N090 G78 X+40 Y+30 A+30 D+40 S4
Diagram G78.1 : Repeated Execution of a Drilling Cycle on a Straight Line
G78 X+95 Y+70 A+37 D+25 S3
G78 X+95 Y+70 A+37 D-25 S3
Diagram G78.2 : The Orientation of the Straight Line is Determined by the Sign of the Value at D
G78 X+95 Y+30 D+25 J+15 S4
G78 X+95 Y+30 D-25 J+15 S4
Diagram G78.3 : The Orientation of the Straight Line is Determined by the Sign of the Value at D
82
Programmer’s Guide for CNC Milling
G78
Invocation of a Cycle on a Straight Line
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
Addresses
A
Angle of the straight line to the positive X-Axis
D
Distance between cycle execution positions
[X...]
[Y...]
( A...
D...
I...
J... ) 1)
[S...]
The orientation of the straight line is determined by the sign of the value at D (see Diagram G78.2).
Optional Addresses
I
Offset in X (incremental dimensions)
J
Offset in Y (incremental dimensions)
X
X-Coordinate of the first cycle execution
Y
Y-Coordinate of the first cycle execution
S
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.
Programming Hints
1)
To determine the orientation of the straight line and the distance between cycle invocation points on that line, two of the addresses (represented above in parentheses) must be programmed. There is a single exception to this: if one of the combined addresses I and J is not programmed, the respective value will be set to zero, i.e an axially parallel straight line is defined. If, in the combination of addresses A and D a negative sign is programmed with the value at D, the orientation of the invocated cycles will be inversed (see Diagram G78.2). With the combination of addresses D, I and D, J (if D>I resp. D>J) the specified sign of the value at D determines which of the two possible solutions will be applied.(see Diagram G78.3). If, in the course of the cycle executions, a tool retreat to a specified withdrawal plane W (2nd clearance plane) is desired, it must have been programmed accordingly in the cycle.
© MTS GmbH 1998
83
G79
Invocation of a Cycle at a Point
Invocation of a Cycle at a Point G79 With the exception of cycles G61 and G67, machining cycles must be first programmed in a separate NC-block, to be subsequently invocated for execution. Function
When G79 is invocated, the last programmed cycle will be executed a single time at a point which is determined by the coordinates X and Y.
NC-Block
G79
Optional Addresses
X
X-Coordinate of the target position
Y
Y-Coordinate of the target position
[X...]
[Y...]
Programming Example: N085 G81 Z-42 W+7 N090 G79 X+40 Y+30
Programming Hints
If either X or Y or both coordinates have not been programmed, the respective coordinates of the actual tool position are set in. It follows that the first cycle execution starts from the current tool position in the case that neither Y nor X have been programmed. If, in the course of the cycle executions, a tool retreat to a specified withdrawal plane W (2nd clearance plane) is desired, it will have to be programmed accordingly in the cycle.
84
Programmer’s Guide for CNC Milling
G81
Drilling Cycle
Drilling Cycle G81 Function
The command G81 serves to define a drilling cycle. The cycle is invocated for execution by one of the commands G77, G78 or G79.
NC-Block
G81
Addresses
Z
Drilling depth, incremental to the clearance plane
Optional Addresses
W
Distance between the clearance plane and the withdrawal plane. If W is not programmed or set to zero, the clearance plane and the withdrawal plane are identical.
Explanation
The tool moves in rapid traverse motion from the withdrawal plane to the clearance plane, then, in a single uninterrupted operation, a hole will be drilled down to the drilling depth Z (specified incremental to the clearance plane). After completion of the drilling operation the tool returns in rapid motion to the withdrawal plane.
Z...
[W...]
Programming Example:
N090 G81 Z-30 W+10 N095 G79
Diagram G81 :
© MTS GmbH 1998
Drilling Cycle
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 :
86
Reduction of drilling depth - degression
Programmer’s Guide for CNC Milling
G82
Drilling Cycle With Chip-Breaking
Drilling Cycle with Chip-Breaking G82 Function
The command G82 serves to define a cycle of multiple drilling passes. The cycle is invocated for execution by one of the commands G77, G78 or G79.
NC-Block
G82
Addresses
Z
Total drilling depth, incremental to the clearance plane
Optional Addresses
W
Distance between the clearance plane and the withdrawal plane. If W is not programmed or set to zero, the clearance plane and the withdrawal plane are identical.
B
Dwell time (sec) at the drilling level for chip-breaking
D
Reduction of the drilling depth - Degression With reference to the 1st drilling depth K the drilling depth is reduced after each downfeed by the value D; it must however not fall short of D (see Diagram G82.2).
K
1st drilling depth
Explanation
Z...
[W...]
[B...]
[D...]
[K...]
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
© MTS GmbH 1998
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.
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 :
88
Reduction of Drilling Depth - Degression
Programmer’s Guide for CNC Milling
G83
Drilling Cycle With Chip-Breaking and Chip-Removal
Drilling Cycle with Chip-Breaking and Chip-Removal G83 Function
The command G83 effects the drilling of a hole by a number of consecutive downfeed operations. Different from the G82 command, the tool is retracted to the first clearance plane after each downfeed, for chip-removal. The cycle can be invocated by one of the commands G77, G78 or G79.
NC-Block
G83
Addresses
Z
Total drilling depth, incremental to the clearance plane
Optional Addresses
W
Distance between the clearance plane and the withdrawal plane. If W is not programmed or set to zero, the clearance plane and the withdrawal plane are identical.
A
Dwell time (sec) at the first clearance plane after tool retreat for chip-removal
B
Dwell time (sec) at the drilling level for chip-breaking
D
Reduction of the drilling depth - Degression With reference to the 1st drilling depth K the drilling depth is reduced after each downfeed by the value D; it must however not fall short of D (see Diagram G83.2).
K
1st drilling depth
Explanation
Z...
[W...]
[A...]
[B...]
[D...]
[K...]
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
© MTS GmbH 1998
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.
89
G84
Tapping Cycle
Programming Example:
N090 G84 Z-47 W+5 N095 G79
Diagram G84
90
Programmer’s Guide for CNC Milling
G84
Tapping Cycle
Tapping Cycle G84 Function
The command G84 serves to define a tapping cycle. To execute the cycle it can be invocated by one of the commands G77, G78 or G79.
NC-Block
G84
Addresses
Z
Total drilling depth, incremental to the clearance plane
Optional Addresses
W
Distance between the clearance plane and the withdrawal plane. If W is not programmed or set to zero, the clearance plane and the withdrawal plane are identical.
Explanation
Prior to the cycle invocation, the sense of spindle rotation must be programmed according to the type of tap to be employed (left-hand thread / right-hand thread). At the invocation of the cycle the downfeed will be executed with the respective sense of spindle rotation at the programmed speed and feedrate to the specified tapping depth Z. As a next step the rotation sense is automatically inversed and the tool is retracted in slow feed motion to the clearance plane. If a 2nd clearance plane (withdrawal plane) has been defined, the tool will subsequently return to this plane in rapid traverse motion.
Z...
[W...]
F
At the end of each cycle the sense of spindle roatation is inversed once again. Please note that, to avoid tool collision, a hole of appropriate depth and core diameter must have been drilled prior to the tapping operation.
© MTS GmbH 1998
91
G85
Reaming of a Drilled Hole
Programming Example:
N090 G85 Z-47 W+5 N095 G79
Diagram G85
92
Programmer’s Guide for CNC Milling
G85
Reaming of a Drilled Hole
Reaming of a Drilled Hole G85 Function
The command G85 serves to define a cycle for reaming a drilled hole. To execute the cycle it must be invocated by one of the commands G77, G78 or G79.
NC-Block
G85
Addresses
Z
Total drilling depth, incremental to the clearance plane
Optional Addresses
W
Distance between the clearance plane and the withdrawal plane. If W is not programmed or set to zero, the clearance plane and the withdrawal plane are identical.
Explanation
Prior to the cycle invocation, the sense of spindle rotation must be programmed according to the type of reamer to be employed. At the invocation of the cycle the downfeed will be effected with the respective sense of spindle rotation at the programmed speed and feedrate to the specified depth Z. As a next step the tool is retracted in feed motion to the clearance plane with the rotation sense unaltered. If a 2nd clearance plane (withdrawal plane) has been defined, the tool will return to this plane in rapid traverse motion.
Z...
[W...]
F
Please note that a hole of appropriate diameter must have been drilled prior to the reaming operation, so as to insert the end face of the reamer.
© MTS GmbH 1998
93
G86
Boring of a Drilled Hole
Programming Example:
N090 G86 Z-47 W+5 N095 G79
Diagram G86
94
Programmer’s Guide for CNC Milling
G86
Boring of a Drilled Hole
Boring of a Drilled Hole G86 Function
The command G86 serves to define a cycle for boring a drilled hole. To execute the cycle it must be invocated by one of the commands G77, G78 or G79.
NC-Block
G86
Addresses
Z
Total drilling depth, incremental to the clearance plane
Optional Addresses
W
Distance between the clearance plane and the withdrawal plane. If W is not programmed or set to zero, the clearance plane and the withdrawal plane are identical.
Explanation
At the invocation of the cycle the drilled hole is bored at the programmed speed and feedrate to the specified depth Z. As a next step the tool is retracted in rapid motion to the withdrawal plane with the spindle at standstill.
Z...
[W...]
F
Please note that a hole of appropriate diameter must have been drilled prior to the boring operation, so as to insert the tool.
© MTS GmbH 1998
95
G87
Rectangular Pocket Cycle
Programming Example: N120 G87 X+130 Y+80 Z-75 W+4 B+20 I+50 K+25 N125 G79 X+85 Y+65 Diagram G87
96
Programmer’s Guide for CNC Milling
G87
Rectangular Pocket Cycle
Rectangular Pocket Cycle G87 Function
The command G87 serves to determine a cycle for the milling of a rectangular pocket.
NC-Block
G87
Addresses
X
Pocket Length in X - absolute
Y
Pocket Width in X - absolute
Z
Pocket Depth in X - incremental to the clearance plane.
K
Feed adjustment in Z after each pass. Only non-zero input is valid.
X...
Y...
Z...
[I...]
K...
[W...]
[B...]
+: 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
B Explanation
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
The starting point (centre of the pocket) is programmed with the cycle invocation (e.g. G79) by input of the coordinates X and Y. The tool will move in rapid motion to this starting point at which the depth of cut is set and from which the cutting operation starts, according to the values programmed at the addresses I and K. Please note that different modes of cycle execution result from the respective sign programmed at the address K. After each cutting pass the tool returns in rapid motion to the starting position for execution of the next feed motion. This procedure will be repeated until the pocket has been broached to the programmed total depth Z. The NC system computes the number of passes required according to the programmed pocket depth Z and the programmed infeed K. After completion of a cycle the tool is retracted in rapid motion to the original position in the withdrawal plane.
© MTS GmbH 1998
97
G88
Circular Pocket Cycle
Programming Example: N120 G88 Z-75 W+4 B+55 I+50 K+25 N125 G79 X+85 Y+65 Diagram G88
98
Programmer’s Guide for CNC Milling
G88
Circular Pocket Cycle
Circular Pocket Cycle G88 Function
The command G87 serves to determine a cycle for the milling of a circular pocket.
NC-Block
G88
Addresses
Z
Depth of the pocket in Z, incremental to the clearance plane
B
Radius of the pocket
K
Feed adjustment in Z after each cutting operation. Only non-zero values are valid.
Optional Addresses
I
Z...
B...
[I...]
K...
+ Sign:
Circular cutter path
- Sign:
Helical cutter path
[W...]
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
Explanation
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.
The starting point (centre of the pocket) is programmed with the cycle invocation (e.g. G79) by input of the coordinates X and Y. The tool will move in rapid motion to this starting point at which the depth of cut is set and from which the cutting operation starts, according to the values programmed at the addresses I and K. Please note that different modes of cycle execution result from the respective sign programmed at the address K. After each cutting operation the tool returns in rapid motion to the starting position for execution of the next feed motion. This procedure will be repeated until the pocket has been broached to the programmed total depth Z. The NC system computes the number of passes required according to the programmed pocket depth Z and the programmed infeed K. After completion of a cycle the tool is retracted in rapid motion to the original position in the withdrawal plane.
© MTS GmbH 1998
99
G89
Pin Cycle
Programming Example: N120 G89 Z-60 W+4 B+15 C+55 I+50 K+30 N125 G79 X+85 Y+65 Diagram G89
100
Programmer’s Guide for CNC Milling
G89
Pin Cycle
Pin Cycle G89 Function
The command G87 serves to define a cycle for the milling of a circular pocket with a pin.
NC-Block
G89
Addresses
Z
Depth of the pocket in Z, incremental to the clearance plane
B
Radius of the pin
C
Radius of the pocket
K
Feed adjustment in Z after each cutting operation. Only non-zero values are valid.
Z...
B...
C...
[I...]
K...
[W...]
The cutting operation is executed from the centre outwards
Optional Addresses
I
+ Sign:
Circular cutter path
- Sign:
Helical cutter path
Feed in the X-Y-plane (% of cutter diameter) + Sign: Clockwise machining Sign: Counterclockwise machining If I is not programmed, I = 75 will be the default value.
W
Explanation
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.
The starting point (centre of the pin) is programmed with the cycle invocation (e.g. G79) by input of the coordinates X and Y. The tool will move in rapid motion to this starting point at which the depth of cut is set and from which the cutting operation starts, according to the definition of the pin and the values programmed at the addresses I K and B. Please note that different modes of cycle execution result from the respective sign programmed at the address K. After each cutting operation the tool returns in rapid motion to the starting position for execution of the next feed motion. This procedure will be repeated until the programmed pin depth Z has been reached. The NC system computes the number of passes required according to the programmed pocket depth Z and the programmed downfeed K. After completion of a cycle the tool is retracted in rapid motion to the original position in the withdrawal plane.
© MTS GmbH 1998
101
6. Programming of Contour Strings
6. Programming of Contour Strings To meet the requirements of NC-machining, in a workpart dimensioning all coordinates should be specified that are necessary in compliance with DIN 66025 for programming the end point of a straight line or a circular arc, or of the circle centre. As a matter of fact, workshop drawings of workparts often lack some of the required dimensions. This can lead to extensive mathematical calculation in establishing the coordinates. In such cases the programming can be much facilitated by employing the so-called programming of contour strings (also known as segment contour programming). A contour string is defined as an oriented succession of entities (segments), namely straight lines and circular arcs, describing a workpart contour. In addition to the above mentioned specification of coordinates of the starting and end points or centre points, angles, lengths, tangential transitions roundings and chamfers, as are necessary for geometric definitions without auxiliary calculations, may be entered. When the segment contour programming is operative, transition points or end points of entities will be computed by the control system, to the effect that coordinates can be entered as specified in the workshop drawing.
G-Functions for Contour String Programming G71 Linear Interpolation (analogous to G01) G72 Circular Interpolation: Clockwise (analogous to G02) G73 Circular Interpolation: Counterclockwise (analogous to G03)
F
G71, G72 and G73 are non-modal commands, i.e. they take effect only in the block in which they are programmed. Even if address values remain unchanged, they must be programmed once again in the subsequent NC-block.
To structure the input of geometry, which will be necessary with a complex contour string consisting of numerous entities, a so-called multi-point-string (N-point string) is defined, namely as follows:
Definition
An N-point string is defined as a sequence of N-1 entities with N points, from a given starting point P0 to the end point PN-1, whose coordinates may either be entered or computed by the the control system from the data specified for the 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: -
102
Two-Point-Strings Three-Point Strings Four-Point-Strings
Consisting of one entity Consisting of two entities Consisting of three entities
Programmer’s Guide for CNC Milling
6. Programming of Contour Strings
Two-Point-Strings (N=2) Two-Point-Strings define a single entity, either a straight line or a circular arc. With the starting point P0 given, the end point P1 will be computed according to the dimensions specified.
Diagram 6.1 :
Two-Point-Strings
Three-Point-Strings(N=3) Three-Point-Strings consist of two entities. The following combinations are possible: 1. 2. 3. 4.
Diagram 6.2 : © MTS GmbH 1998
line - line line - arc arc - line arc - arc
Three-Point-Strings
103
6. Programming of Contour Strings
Addresses for Contour String Programming
Line G71 X/Y A L
Diagram 6.3 :
Diagram 6.3.1 : Example:
Target point coordinates in the X- and Ydirection Angle of the line to the positive X-axis Length of the line
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.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
Diagram 6.4 :
104
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
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. Programmer’s Guide for CNC Milling
6. Programming of Contour Strings
Programming Hints
Programming of the X, Y coordinates is not mandatory. It follows that the respective values are not global, i.e. even identical values will have to be programmed once again to define the next entity in a contour string. To compute a contour segment. the control system will refer to the values specified in the applicable NC-block. If these specifications should prove insufficient, the conditions of transition to the previous or to the next contour entity will be accounted for in the computing.
Example
NC-Block:
The chosen example is a three-point-string, consisting of two lines. The following addresses have been defined: 1st. line
Y-Coordinate of the end point
2nd. line
X- and Y-Coordinate of the end point plus the angle A of the line to the positive X axis
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
Diagram 6.6 -
If A=0 or A=180 : no solution!
-
When Y1=Y2 : if A=0 or A=180: infinite number of solutions! If A unequal 0 and unequal 180: no solution!
© MTS GmbH 1998
105
6.1 Additional Addresses
6.1 Additional Addresses In addition to the addresses for geometric dimensioning, as specified above, the system provides the addresses P und C for further simplification of contour programming. Address P serves to select one of two possible solutions and to program tangential transitions to a line or to an arc. Address C serves to insert a chamfer or rounding between to consecutive straight lines, without any additional computing. In the following table the available additional addresses are listed. More detailed explanations are given in the subsequent sections.
106
Address
Function
P070
Absolute circle centre coordinates
P000
Tangential transition to the previous segment
P001/P002
Selecting one of two possible solutions
C+
Insertion of a rounding between two segments
P011/P012
Selecting one of two possible solutions with C+
C-
Insertion of a chamfer between two linear segments
Programmer’s Guide for CNC Milling
6.1.1 Circle Centres Absolute
6.1.1 Circle Centres Absolute The coordinates of an arc centre (defined by addresses I and J) may either be programmed incremental to the starting point of the arc (P0) or else relative to the zero point (absolute) (see Diagram 6.7). Conforming to general standards the default configuration of the CNC Simulator is the incremental programming of circle centres. If the input of the coordinates of both centres in the absolute system is desired, the word P070 must be entered in that NC-block which contains the programmed coordinates of the circular arc. With multi-point-strings the programming of arc centres in the absolute system is required, because the starting point of an arc will normally not be given (except when the arc is the first entity of a contour) but instead be computed by the control system.
Arc centres Incremental
Arc centres absolute
NC-Block:
NC-Block:
G72 X.. Y.. I.. J..
G72 X.. Y.. I.. J.. P070
Diagram 6.7
Programming Hints
When P070 is programmed, both centre coordinates (I and J) must be entered as absolute values. P070 is not a global entry, it must be entered once again with each of the consecutive NC-Blocks. If the circle centres (I and J) of the three-point and four-point strings, represented below, are entered in the absolute system, the input applies to the starting point P0 of the N-point string. If in the configuration the programming of circle centres has been set to the absolute system, programming P070 will not be necessary.
© MTS GmbH 1998
107
6.1.2 Tangential Transitions
6.1.2 Tangential Transitions When two entities touch at exactly one point of contact, this is called a tangential transition. The below Diagram 6.8 exemplifies once more the difference between two intersecting entities and a line and arc touching at a transition point.
Diagram 6.8 Tangential transitions are possible between line and circular arc as well as between two circular arcs.(see Diagram 6.9).
Diagram 6.9
Explanation
108
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.
Programmer’s Guide for CNC Milling
6.1.2 Tangential Transitions
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬ Example
Diagram 6.10
Programming Hints
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.11
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. 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).
Example
1st solution:
the straight line is connected to the circle at the tangential point P1-1, in the direction of the circle orientation (see Diagram 6.13).
2nd solution:
the straight line is connected to the circle at the tangential point P1-2, opposite to the direction of the circle orientation (see Diagram 6.14).
Diagram 6.13
Diagram 6.12
Diagram 6.14
F
For reasons of clarification the contour resulting from the 2nd solution will be denoted in the following as "pointed tangential transition". Version 5.0 of the Simulator provides the option of programming both solutions (cf.Section 6.1.3.4 Selection of Solutions - Tangential Transitions). Furthermore roundings may be inserted between entities in the case of pointed tangential transitions (see Diagram 6.15).
Diagram 6.15
110
Programmer’s Guide for CNC Milling
6.1.3 Selection of Solutions
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
6.1.3 Selection of Solutions Depending on the addresses programmed with a contour string, in some cases there may be two possible mathematical solutions for the definition of an entity (see Diagram 6.16). Consequently the control system must be informed on the desired contour. The following criteria serve to distinguish between the alternatives:
Angle Criterion: -
smaller or greater angle
Length Criteria: -
shorter or longer line (line criterion)
-
smaller or greater arc (arc criterion)
To select the first of the alternatives, the word P001 is programmed, P002 to select the second alternative.
F
Priority of the Angle Criterion If the two solutions have different angles as well as different lengths of line, the angle criterion must be used in the selection.
Programmed addresses: X
X-Coordinate of the end point
I/J
Centre coordinates
As only the X-coordinate of the end point is given, both P1-1 and P1-2 are possible end points of the contour.
Diagram 6.16 :
Programming Hints
© MTS GmbH 1998
Example for application of the arc criterion
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.
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...
Diagram 6.17 : Explanation
P001 or P002 Y... I... J...
P070
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:
Angle Criterion for Selection
Solutions
depending on the length
No solution
if the specified value L is either too small or too great, the end point of the line will not be situated on the arc ⇒ no solution; results from the computation and an appropriate error message will appear
Single solution
if L equals the shortest distance between the circular arc and the starting point P0, a tangential point is established ⇒ a single solution results
Two solutions
the specified length L results in two intersection points P1-1 and P1-2 ⇒ two solutions
L
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
112
To select a solution, P001 or P002 must be programmed in an NC-block together with the applicable line.
Programmer’s Guide for CNC Milling
6.1.3.2 Selection of Solutions - Line Criterion
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
6.1.3.2 Selection of Solutions- Line Criterion In the following a three-point-string, consisting of a line and an arc, serves as an example of applying the line criterion to select a solution.
Given addresses: A 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...
Diagram 6.18 : Explanation
P001 or P002 Y... I... J...
P070
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:
Line criterion for selection
Solutions
dependent on the angle
No solution
with the specified angle A neither a tangential point nor an intersection point will result ⇒ no solution - an appropriate error message will appear
Single solution
with the specified angle A exactly one tangential point will result ⇒ a single solution (tangent to the arc)
Two solutions
with the specified angle A the half line will intersect the arc at both the points P1-1 and P1-2 ⇒ two solutions
A
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
© MTS GmbH 1998
To select a solution, P001 or P002 must be programmed in an NC-block together with the applicable line.
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:
Arc criterion for selection
Solutions
dependent on the length
No solution
if the value of L is either to small or to great, the starting point will not be situated on the arc ⇒ no solution - a corresponding error message will appear
Single solution
from the specified value L results exactly one tangential point ⇒ single solution
Two solutions
from the specified value L result the two intersection points P1-1 and P1-2 ⇒ two solutions
L
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
114
To select a solution, P001 or P002 must be programmed in an NC-block together with the applicable line.
Programmer’s Guide for CNC Milling
6.1.3.4 Selection of Solutions - Tangent Criterion
6.1.3.4 Selection of Solutions - Tangential Transitions Tangent Criterion Depending on the addresses programmed, different solutions of tangential transitions between contour segments may occur. 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).
Example
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
2nd solution P002:
G71 P002 G72 X... Y... I... J... P000
F
When programming in the WOP mode (Workshop Oriented Programming), the function key serves to decide whether the programming of pointed tangents shall be permissible or not (cf. the WOP User Manual). If the option "pointed tangential transition" is deactivated, the control system automatically computes the contour solution P001. Separate programming of a solution will be not required.
© MTS GmbH 1998
115
6.1.3.4 Selection of Solutions - Tangent Criterion
Contrary to the "standard" tangential transitions, the "pointed" transitions may be rounded (see Diagram 6.20d). Programming Hints
When programming in the WOP mode (Workshop Oriented Programming), the option "pointed tangential transitions" must be operative to program a rounding radius C+.
NC-Block: G71 C+.. P002 P011 G72 X.. Y.. I.. J.. PO00
Diagram 6.20d :
116
Rounding of a pointed tangential transition
Programmer’s Guide for CNC Milling
6.1.4 Rounding between Two Entities
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
6.1.4 Rounding between Two Entities At the point of transition between two entities a rounding can be inserted, by programming the address C+. The value entered at C+ determines the radius of the rounding. Roundings can be inserted between any combination of the contour entities line and arc, provided that the entities do intersect or touch at a tangential point. If two possible solutions for the rounding arc have been computed (see Diagram 6.21), the arc criterion is applied by specificying either P011 (smaller arc) or P012 (greater arc) to select one of the alternatives.
G71 A.. C+.. P011 or P012 G71 X.. Y.. A..
Diagram 6.21 : 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)
G71 Y.. P002 P011 or P012 G72 X.. Y.. I.. J.. (P070)
Diagram 6.23 :
Selection of solutions from four alternatives
If the specified rounding radius results in only one possible rounding arc with each of the alternative contour solutions, programming P011 or P012 is not required (see Diagram 6.24).
G72 I.. J.. C+.. (P070) P011 or P012 G72 X.. Y.. I.. Y..
Diagram 6.24 :
118
In this example the specified rounding radius results in only one solution respectively. Programmer’s Guide for CNC Milling
6.1.5 Chamfer between Two Lines
6.1.5 Chamfer between Two Lines At the additional address C a symmetrical chamfer between two consecutive lines can be programmed. The contour course will be computed by the control system according to the specified width of the chamfer (the value entered at C) (see Diagram 6.25).
NC-Block: G71 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
Diagram 6.2.1 :
Coordinates of the end point of the line Length of the line Angle of the line to the positive X-axis
Two-Point-String : Straight Line
Number of Solutions
Depending on the programmed address values, the computation of the contour may not always result in a single solution. When, for instance, the length or an axially parallel angle have been entered, either two solutions or no solution may be the result.for instance, the length or an axially parallel angle (cf. addresses for segment contour programming) If no solution is found, a corresponding error message will appear.
Programming Hints
If two solutions result from the specified length L (cf. the table below), the desired contour must be determined by using the angle criterion (P001 for the smaller angle, P002 for the greater angle).
120
Programmer’s Guide for CNC Milling
G71
6.2 Two-Point-String : Straight Line
Survey of Available Two-Point-Strings:
Selection of Solutions
Straight Line G71 G71 G71 G71 G71 G71
X X X Y Y L
Y L A L A A
Angle Criterion Angle Criterion
Examples of Alternative Solutions of Contour Strings
G71 X.. L.. P001 or P002
G71 Y.. L.. P001 or P002
The angle criterion determines the selection: P001 is programmed to select P1-1 (smaller angle), P002 is programmed to select P1-2 (greater angle).
© MTS GmbH 1998
121
G72/G73
6.3 Two-Point-String: Arc
6.3 Two-Point-String: Arc
G72/G73
Three of the below addresses can be used to program a circular arc as a two-point string, provided that the starting point P0 is known: X Y I J A
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
Available Addresses: X/Y I/J A
B E
Diagram 6.3.1 :
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
Two-Point-String: Arc
Number of Solutions
Depending on the programmed address values, the computation of the contour may not always result in a single solution (cf. addresses for segment contour programming). With some combinations of addresses either one or two solutions or no solution may be the result. Please see the below table for a listing of cases where two solutions may occur.
Programming Hints
If the circle centre coordinates are programmed in the absolute system, the address P070 must be programmed in the same NC-block. To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic representation of contour strings. All programming examples given are of course applicable to counter-clockwise arcs (G73) as well.
122
Programmer’s Guide for CNC Milling
G72/G73
6.3 Two-Point String: Circular Arc
Survey of Available Two-Point-Strings: Selection of Solutions
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
© MTS GmbH 1998
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
Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion Arc Criterion
123
G72/G73
6.3 Two-Point-String: Arc
Examples of Two-Point Strings: Circular Arc with Alternative Solutions
G72 X.. I.. J.. (P070) P001 or P002
G72 Y.. I.. J..(P070) P001 or P002
The arc criterion is used to select a solution: P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).
G72 X.. I.. A.. (P070) P001 or P002
G72 X.. J.. A.. P001 or P002
The arc criterion is used to select a solution: P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).
G72 Y.. 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
Programmer’s Guide for CNC Milling
G72/G73
6.3 Two-Point String: Circular Arc
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.
Programming Hints
If two solutions result from the programmed address values, and if a selection (P001 or P002) is not programmed, the control system will assume the first solution P001.
F
If two addresses are programmed in the first NC-block, the three-point string is split into two two-point strings.
126
Programmer’s Guide for CNC Milling
G71G71
6.4 Three-Point String: Line - Line
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬ Survey of Available Three-Point Strings: Selection of Solutions
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
© MTS GmbH 1998
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
A
L
A
Y
A
L
A Angle Criterion
Y
L Angle Criterion
Y
L Angle Criterion
Y
L Angle Criterion
Y
A Angle Criterion
L
A Angle Criterion
L
A Line Criterion
Y
L
Y
A
L
A
L
A
Y
L
A
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
Programmer’s Guide for CNC Milling
G71G71
6.4 Three-Point String: Line - Line
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
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: I/ J A1
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
Diagram 6.5.1 :
Three-point string consisting of a line and an arc To determine a three-point string consisting of a line and an arc, a total of five of the above addresses (with regard to both entities) must be programmed.
Number of solutions
Depending on the programmed address values, the computation of the contour may not always result in a single solution (cf. addresses for segment contour programming). With some address values combinations of addresses either one or two solutions or no solution may be the result.
Programming Hints
In the case of contour strings with two possible solutions the arc criterion is used to select the desired contour, by programming, in the first NC-block, either P001 (smaller arc) or P002 (greater arc). If absolute circle centre coordinates are entered, the address P070 must be programmed in the same NC-block.
130
Programmer’s Guide for CNC Milling
G72G71 or G73G71
6.5 Three-Point String: Arc - Line
Survey of Available Three-Point Strings: Selection of solutions
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
Arc Criterion
A Arc Criterion
L Arc Criterion
A Arc Criterion
A
With Tangential Transition to the Line Programming Hints
With the contour strings listed below, the word P000 must be programmed in the second NC-block to define the tangential transition. When the WOP mode is operative, pointed tangential transitions may only be programmed if the applicable option has been selected (by function key ).
Selection of Solutions
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
P000 Tangent Criterion
P000 Arc Criterion
P000 Tangent Criterion
P000 Arc Criterion
P000 Tangent Criterion
P000 Arc Criterion
Y
A
P000
F
Please note that a circular arc as a first contour segment may also be programmed by the addresses A I, A J or A B, instead of programming the centre coordinates I J. This applies to all examples.
© MTS GmbH 1998
131
G72G71 or G73G71
6.5 Three-Point String: Arc - Line
Examples of Three-Point Strings: G72G71 with Alternative Solutions
F
To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic representation of contour strings. All programming examples given are of course applicable to counter-clockwise arcs (G73) as well.
G72 I.. J.. (P070) P001 or P002 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
Programmer’s Guide for CNC Milling
G72G71 or G73G71
6.5 Three-Point String: Arc - Line
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
F
When the WOP mode is operative, pointed tangential transitions may only be programmed if the applicable option has been selected by the function key .
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
Programmer’s Guide for CNC Milling
6.5 Three-Point String: Arc - Line
G72 I.. J.. (P070) P001 G71 L.. A.. P000
G72G71 or G73G71
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.
Programming Hints
When alternative solutions occur, the desired contour must be determined by entering P001 or P002.
F
To determine a three-point string consisting of a line and an arc, a total of five of the above addresses (with regard to both entities) must be programmed. Please note that if more than one address is programmed for the line, this will determine the line as a two-point string, consequently the three-point string will be split up into two two-point strings. If absolute circle centre coordinates are entered, the address P070 must be programmed in the same NC-block. To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic representation of contour strings. All programming examples given are of course applicable to counter-clockwise arcs (G73) as well.
136
Programmer’s Guide for CNC Milling
G71G72 or G71G73
6.6 Three-Point String: Line - Arc
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬ Survey of Available Three-Point Strings without Tangential Transition: Selection of Solutions
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
Angle Criterion
Y
I
J Angle Criterion
Y
I
J Angle Criterion
I
J
B
Arc Criterion Angle Criterion
I
J
B
Arc Criterion Angle Criterion
I
J
B
Arc Criterion Angle Criterion
I
J
B
Arc Criterion Angle Criterion
Y
I
J Angle Criterion
I
J
B
Arc Criterion Angle Criterion
I
J
B
Arc Criterion Line Criterion
Y
I
J Line Criterion
I
J
B
Arc Criterion Line Criterion
I
J
B
Arc Criterion
Priority of the Angle Criterion
F
If the two solutions have different angles as well as different lengths of line, always the angle criterion must be used in the selection.
© MTS GmbH 1998
137
G71G72 or G71G73
6.6 Three-Point String: Line - Arc
With Tangential Transition between Segments Programming Hints
With the contour strings listed below the word P000 is programmed in the second NC-block, to define the tangential transition. When the WOP mode is operative, pointed tangential transitions may only be programmed if the applicable option has been selected by the function key .
Selection of Solutions
Line - Arc G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73
A X
Arc Criterion
Y
B
P000 Tangent Criterion
X
Y
I
J
P000 Tangent Criterion
X
I
J
B
P000
Arc Criterion Tangent Criterion
Y A X A Y
I
J
B
B
E
P000
B
E
P000
P000
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
Programmer’s Guide for CNC Milling
6.6 Three-Point String: Line - Arc
G71G72 or G71G73
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
G71 X.. P001 or P002 G71 X.. P001 or P002 G72 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
G71 L.. P001 or P002 G72 X.. I.. J.. B.. (P070) P001 or P002
6.6 Three-Point String: Line - Arc
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
Programmer’s Guide for CNC Milling
G71G72 or G71G73
6.6 Three-Point String: Line - Arc
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬ Examples of Tangential Transitions
G71 A.. P001 or P002 G72 X.. Y.. B.. P000 The arc criterion is used to select a solution: P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P1-2 (longer arc).
Examples of Pointed Tangential Transitions
F
When the WOP mode is operative, pointed tangential transitions may only be programmed if the applicable option has been selected by the function key .
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
G71 P001 G72 X.. I.. J.. B.. (P070) P000
6.6 Three-Point String: Line - Arc
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
Programmer’s Guide for CNC Milling
G72G72
6.7 Three-Point String: Arc - Arc
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.
Programming Hints
When alternative solutions occur, the desired contour must be determined by entering P001 or P002. If absolute circle centre coordinates are entered, the address P070 must be programmed in the same NC-block.
© MTS GmbH 1998
143
G72G72
6.7 Three-Point String: Arc - Arc
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
To determine a three-point string consisting of two arcs, a total of six of the above addresses (with regard to both entities) must be programmed.
Survey of Available Three-Point Strings: Selection of Solutions
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
Arc Criterion
I
J Arc Criterion
J
B
Arc Criterion Arc Criterion
J
B
Arc Criterion
With Tangential Transitions between Segments Programming Hints
With the contour strings listed below, the word P000 must be programmed in the second NC-block to define the tangential transition.
Selection of Solutions
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
Arc Criterion
B P000 Arc Criterion
E
P000 Arc Criterion
E
P000 Arc Criterion
E
P000 Arc Criterion
E
P000
F
Please note that a circular arc as a first contour segment may also be programmed by the addresses A I, A J or A B, instead of programming the centre coordinates I J. This applies to all examples.
144
Programmer’s Guide for CNC Milling
G72G72
6.7 Three-Point String: Arc - Arc
Examples of Three-Point Strings: G72G72 with Alternative Solutions
F
To avoid repetition, only clockwise-oriented arcs (G72) are included in the graphic representation of contour strings. All programming examples given are of course applicable to counter-clockwise arcs (G73) as well. To serve as a model, in the below diagrams all combinations of G72 and G73 possible with the first example are shown.
G72 I.. J.. (P070) P001 or P002 G72 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
Programmer’s Guide for CNC Milling
G72G72
6.7 Three-Point String: Arc - Arc
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: A
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
Diagram:
Line - Arc - Arc
Number of solutions
Depending on the programmed address values, the computation of the contour may not always result in a single solution (cf. addresses for segment contour programming). With some combinations of addresses not resulting in a single solution the number of resulting solutions may be four, three, two, one or none.
Programming Hints
When alternative solutions occur, the arc criterion must be used to determine the desired contour, by entering P001 (smaller arc) or P002 (greater arc). If absolute circle centre coordinates are entered, the address P070 must be programmed in the same NC-block. With four-point strings the word P000 is programmed to define tangential transitions.
148
Programmer’s Guide for CNC Milling
6.8 Four-Point String
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬ Survey of Available Three-Point Strings with Tangential Transitions: Selection of Solutions
G71 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
J
P000 Arc Criterion
P000 I J
B
P000
Arc Criterion Arc Criterion
P000 I J P000 Y J P000 I J P000 I J P000 Y J
J
B
P000
Arc Criterion Arc Criterion
I
J
P000 Arc Criterion
J
B
P000
Arc Criterion Arc Criterion
J
B
P000
Arc Criterion Arc Criterion
A
P000 Tangent Criterion
Y J
I
I J
J
I
J
J
P000 Tangent Criterion
B
P000
Arc Criterion Tangent Criterion
B
P000
Arc Criterion
F
Please note that a circular arc as a first contour segment may also be programmed by the addresses A I, A J or A B, instead of programming the centre coordinates I J. This applies to all examples. To avoid repetition, as a rule only clockwise-oriented arcs (G72) are included in the graphic representation of contour strings. All programming examples given are of course applicable to counter-clockwise arcs (G73) and to any combination of G72 and G73 as well.
© MTS GmbH 1998
149
6.8 Four-Point String
Examples of Contour Strings with Alternative Solutions and Tangential Transitions
G71 A.. P001 or P002 G73 B.. P000 G72 X.. Y.. I.. J.. P000 (P070) The arc criterion is used to select a solution: P001 is programmed to select P1-1 (shorter arc), P002 is programmed to µelect P 1-2 (longer arc).
G71 A.. P001 or P002 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
Programmer’s Guide for CNC Milling
6.8 Four-Point String
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
G72 I.. J.. (P070) P001 or P002 G73 B.. P000 G72 X.. Y.. I.. J.. P000 (P070) The arc criterion is used to select a solution: 2nd arc: P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P1-2 (longer arc).
G72 I.. J.. (P070) P001 or P002 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
F
When the WOP mode is operative, pointed tangential transitions may only be programmed if the applicable option has been selected by the function key . 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
Programmer’s 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.
Example
-
-
An open contour string with a tangential transition is given, consisting of an arc and a line. The end point of the line remains undetermined (see Diagram 6.9.1). Subsequent entities are an arc (G73) with given radius and an arc (G72) with its end point and centre given. Accounting for the known starting point P1of the line a four-point string with tangential transitions is established, including the line and both arcs (see Diagram 6.9.2).
⇒
G72 I.. J.. P070 G71 A.. P000
Diagram 6.9.1
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..
154
Programmer’s Guide for CNC Milling
6.9 Open Contour Strings
Optional Addresses: X/Y
Coordinates of the end point of the line L Length of the line A Angle of the line to the positive 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 contþur may not always result in a single solution (cf. addresses for segment contour programming). With some combinations of addresses either four, three, two solutions as well as one or no solution may be the result.
Optional Addresses
As a first segment of a contour, a circular arc, starting at a known point P0, can be defined by its centre and radius. One of the four alternative address combinations listed below must be programmed: I,J 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. 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 Selection of Solutions
One Entity G71 G72/G73
A I
J Selection of Solutions
Two Entities G72/G73 G71 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G71 G72/G73 G72/G73 G72/G73
I A X I Y I A I L I
Tangent Criterion
J P000
Line Criterion
J
B Line Criterion
J
B Line Criterion
J
B Angle Criterion
J
B Tangent Criterion
I I I
J J J
B
P000 Arc Criterion
B Selection of Solutions
Three Entities
F
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
Tangent Criterion
J J J P000 J
B
P000 Arc Criterion
B
P000 Arc Criterion
P000 J
B
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.
156
Programmer’s 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
Programmer’s Guide for CNC Milling
6.9 Open Contour Strings
Examples of Pointed Tangential Transitions
F
When the WOP mode is operative, pointed tangential transitions may only be programmed if the applicable option has been selected by the function key .
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
Programmer’s Guide for CNC Milling
6.10 Tangential Connection
6.10 Tangential Connection As a rule two addresses must be programmed to define a line, three addresses to define an arc (see the description of two-point strings in Sections 6.2 and 6.3). However if a contour segment is connected to the previous segment by a tangential transition, one address will be sufficient to determine a line and two addresses to determine an arc. Cross Reference
For more detailed instructions concerning tangential transitions between contour segments, please see Section 6.1.2 "Tangential Transitions".
Optional Addresses:
Line: X/Y L
Length of the line
Arc: X/Y 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
X
P000
G71
Y
P000
G71
L
P000
G72/G73
X
Y
P000
G72/G73
X
I
P000
Arc Criterion
G72/G73
X
J
P000
Arc Criterion
G72/G73
Y
I
P000
Arc Criterion
G72/G73
Y
J
P000
Arc Criterion
G72/G73
X
B
P000
Arc Criterion
G72/G73
Y
B
P000
Arc Criterion
Examples of Contour Strings with Alternative Solutions
G72 X.. 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
Programmer’s Guide for CNC Milling
6.10 Tangential Connection
G72 Y.. I.. P000 (P070) P001 or P002
G72 Y.. J.. P000 (P070) P001 or P002
The arc criterion is used to select a solution: P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).
G72 X.. B.. P000 P001 or P002
G72 Y.. B.. P000 P001 or P002
The arc criterion is used to select a solution: P001 is programmed to select P1-1 (shorter arc), P002 is programmed to select P 1-2 (longer arc).
© MTS GmbH 1998
163
7. Parameters
Assignation of parameter values:
N020 R01=+020.000 N025 R02=+030.000 N030 R03=+025.000 N035 R04=+030.000 N020 R05=+005.000 ... Diagram 7.1:
Assignation of parameter values
Diagram 7.2:
NC-Program with parameters
164
Programmer’s Guide for CNC Milling
7. Parameters
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬-¬¬¬¬
7. Parameters In the MTS Programming Code, parameters are generally programmed at the address R. A total of 100 registers "R00" to "R99" are available to the user.
Assignation of a Parameter Value To assign a value to a parameter, the identification letter R as well as the number of the register are entered. The assignation sign ( "=" as a rule) will be automatically set in by the editor. After this the value must be entered which is to be assigned to this register. N020 R01=+020.000
Example
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.
F
Assignations of values to a parameter must either be programmed as a separate Nc-block or at the end of a block.
Programming with a Parameter To program parameters within an NC-block, please enter, after the address, the identification letter followed by the applicable parameter number.
Example
N175 ) R01 = +020.000 R02 = +030.000
Ú
N185 G00 XR01 YR02 Z+001.000 According to the assignation programmed in block 175 the tool will be moved in X to the value +020.000 and in Y to the value +030.000, when block 185 is executed. If, in the free format mode, a command has been assigned to a parameter, no address must be programmed for the invocation of the respective command. Example
N20 R200= G0 X100
Ú
N140 R200 Rapid positioning of the tool at X 100. Cross-Reference
© MTS GmbH 1998
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.
165
8. Programming with Special Characters
Diagram 8.1:
166
NC blocks N010 - N040, N050 and N060 are programmed with comments.
Programmer’s Guide for CNC Milling
8. Programming with Special Characters
8. Programming with Special Characters Comments To keep the structure of a generated NC-program clear and intelligible, explanations and comments concerning specific NC-blocks or program parts may be included in the NC-program. Such comments must be flagged by special characters so as to be distinguished from the program blocks. The flagged parts will be identified by control system and skipped accordingly during the program execution. (
The comment character "(" (opening parenthesis) can be used to explain specific steps in the program run, such as G-commands and cycles.
Example N015 ( ASSIGNATIONS OF VALUES TO PARAMETERS ... N060 F100.000 S0450 T0505 M03 (DILL DIAM. 10MM ... Depending on the position at which the comment character is inserted, either a whole program line may be used as a comment, or else a comment may be entered after e.g. a specific G-command. The text to be entered next to the character is at the user’s choice. Removing the comment sign will delete the whole line.
Skipping of NC-blocks :
Example
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.
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.
F
The default configurated comment characters may be edited. Please note that this kind of modification should be effected only if a format file has been created, which contains the applicable entries, or if the NC Editor is operated in the free format mode (see Configuration of the Simulator Control: Special Characters).
© MTS GmbH 1998
167
8. Programming with Special Characters
Diagram 8.2:
168
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.
Programmer’s Guide for CNC Milling
8. Programming with Special Characters
Temporary Free Format If the user wishes to dispense with syntax checking, automatic formatting etc., the free format mode is the option to choose for NC-programming. In this pogramming mode there are no limitations to entering characters and character strings. The free format mode can either be activated from the configuration program (to apply to an NC-program in general), or by entering the character ")" (to apply to specific program lines). (Please see Ch. 7 of the CNC-Simulator Operation Manual for a detailed description of the MTS-Format as well as the Free Format Mode.) )
Example
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!
N075 ) R11 = R01 R12 = R02 Among the additional programming possibilities of the free format mode are the application of arithmetical operations and reciprocal assignation of parameters.
F
The option of activating the free format mode in each selected program line can be used for condensed input of NC-blocks as well as for including arithmetic operations in the programming:
Arithmetic Operations In an NC program, a calculation may either be specified as an arithmetic operation (e.g. XR1+1) or as a functional equation (e.g. R4=R1*R2). In this, the algebraic rules (e.g. ’priority of multiplication and division’, ’priority of operations in brackets’) are to be observed as well as addition theoremes, rules of calculation with powers and logarithmic calculation etc. The following operations can be programmed:
Addition
+
To effect an addition, the sign "+" (plus) must be programmed:
N220 ) G00 XR1+5 Z+075.000
Subtraction
-
(=> X = R1 + 5)
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
Ú
R2 = 000.000
Brackets
[]
In addition to the above described operations, brackets can be used. The applicable characters are "[" (opening bracket) and "]" (closing bracket).
N260 ) G01 X [R1 + R2] * 000.500
Absolute Value
ABS To enter a number as an absolute value, the character string "ABS" must be programmed prior to that number. This may serve to exclude negative values: N350 ) R1 = -005.500 N355 ) R2 = ABS [+004.500 + R1]
Ú
R2 = 001.000
Integer Value
INT
If, in the course of an arithmetic operation, only the numbers before the decimal point shall be accounted for, the character string "INT" must be programmed prior to the respective value:
N445 N450 N455 ... N480
) R1 = +010.000 ) R2 = -001.500 ) R1 = INT [R1 + R2] ) G23 P450 Q470 S3
Ú
R1’ = 008.000, R1’’ = 006.000, R1’’’ = 004.000 During the first execution of the program part repetition R1 is set to the value 8, in the second execution it is set to 6 and in the third to 4.
"Modulo" Value
%
"Modulo" is the term for the remainder left with a division, when the result is to be a value of integer numbers, e.g.: 5/2=2 4
1 (modulo-value) The division sign for modulo calculation is "%" (percentage) , e.g.: 5 modulo 2: 5 % 2 N550 ) R1 = +010.000 % +003.000
Ú
R1 = 001.000
170
Programmer’s Guide for CNC Milling
8. Programming with Special Characters
Sine
SIN
The sine function applies to right-angled triangles, it is established by the function "opposite cathetus/hypotenuse". The character string "SIN" must be programmed prior to entering a sine value in angular degrees.:
N100 ) R12 = SIN R03 * R04 + R12
Cosine
COS The cosine function applies to right-angled triangles, it is established by the function "adjacent cathetus/hypotenuse". The character string "COS" must be programmed prior to entering a cosine value in angular degrees.: N095 ) R11 = COS R03 * R04 + R11
Tangent
TAN The tangent function applies to right-angled triangles, it is established by the function "opposite cathetus/adjacent cathetus". The character string "TAN" must be programmed prior to entering a tangent value in angular degrees: N210 ) R12 = COS R03 * R04 * TAN R03
Arc Tangent
ATAN The arc tangent function applies to right-angled triangles, it establishes the included angle of the adjacent cathetus and hypotenuse. This functional equation is the inverse function of the tangent: "opposite cathetus/adjacent cathetus". The character string must be entered to program the arc tangent, which will be calculated in angular degrees: N220 ) R03 = ATAN R11 / R12
Square Root
SQRTTo program the square root function, the character string "SQRT" is entered : N320 ) R06 = SQRT +016.000
Ú
R06 = 004.000
Exponential Function
EXP This exponential function, programmed by the character string EXP, is based on "Euler’s constant" (e = 2,71828...); it serves to calculate the ex. value for each case. N820 ) R20 = EXP +003.000
Natural Logarithm
LN
As the inverse of the above exponential function, programming "LN" serves to calculate the logarithm to the base e :
F
N830 ) R21 = LN R20 Please observe that while employing arithmetical operations or programming parameters, the entered values or intended functions must "make sense" in the overall context of the NC programming. In case the arithmetical operations prove invalid, a corresponding error message with the suffix "operation error..." will appear (cf. the CNC Simulator Operating Manual).
© MTS GmbH 1998
171
8. Programming with Special Characters
Diagram and applicable functions for the below listed program:
R01 = X1 R02 = Y1 R03 = Â R04 = c ...
Diagram 8.3:
Including trigonometric functions in the programming (cf. above, diagr. 7.1)
Diagram 8.4:
NC-program, including arithmetic operations in the programming of parameters
172
Programmer’s Guide for CNC Milling
8. Programming with Special Characters
Example of Programming with Parameters and Arithmetic Operations In Diagram 7.1 (see above p.164) a drilling pattern on a straight line is shown, with five parameters assigned to program the holes. Of course this machining operation could be defined by simply programming the G78 cycle. As an alternative providing the option of a maximum variety of solutions, the arithmetic operations can be employed in programming this drilling pattern: R01: X-coordinate of the first hole R02: Y-coordinate of the first hole R03: Angle of the straight line R04: Distance between holes R05: Number of holes R15: Number of holes minus one. NC-programming is now carried out in three operational steps: 1.
As a first step the first hole is defined at the known position (R01/R02) : N075 ) R11 = R01 R12 = R02 N080 ) G83 Z-026.000 K+007.000 D+001.000 N085 ) G00 XR11 YR12 Z+001.000 N090 ) G79 Note: In this example, to program the hole coordinates as a general function, the parameters R11 and R12 are entered. In the first cutting pass the known parameters R01 and R02 will be assigned. 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.
F
Once a drilling pattern has been programmed by the above described NC blocks, any number of drilling patterns can be defined by simply editing the parameter values R01 - R05. All other blocks of the applicable program are not affected by this editing. This means that NC-blocks created this way may be used as macros to be inserted into other NC programs. Warning: If such macros are to be used as subprograms, concurrent programming of jump instructions or program part repetitions is not allowed!
© MTS GmbH 1998
173
9. Setup Form
Diagram 9.1 :
174
Setup form, programming of data for automatic setup of the machine tool
Programmer’s Guide for CNC Milling
9. Setup Form
9. Setup Form In the so-called setup form all data is collected that is necessary for the automatic setup of a machine tool, as defined in the Simulator configuration, after invoking an NC program. This data includes the following: -
Blank-/part geometry Clamping devices and clamping mode Tools in the magazine and current tool Offset values of the tools employed
Setup sheets representing the current machine status can be automatically created or manually programmed. Each setup form is listed preceding the NC program to which the described setup status applies, being distinctly separated from the actual program lines. It is also possible to create and administrate an NC program bound to a specific set of setup data. If the setup form interpreter (see the CNC Simulator Operating Manual) is operative, the CNC Simulator will be automatically set up according to the specified setup data, each time the respective NC program is loaded in the automatic or in the interactive programming mode. If the user wishes to include the setup of a specific machine status in the start-up routine of the CNC Simulator itself, the name of the NC program to which that setup applies, must be specified in the configuration program. In cases where a setup form as well as a status file have been specified in the configuration, the Simulator will be set up according to the status file. The setup form function considerably speeds up the programming, because specific NC programs can be repeatedly edited without having to program the Simulator setup once again for each work session. At the same time the setup form serves to document the machine status, which can thereby be verified and edited at any time. As an additional data backup, we recommend the user to make printed copies of the NC programs generated. Note
Please note: When a setup form documenting a specific machine status is automatically generated, it will be included in the current NC program without a security prompt. If the selected NC program already has a setup form prefixed to it, this will be overwritten without further notice.
F
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 :
176
Setup data of the NC-program "%520.FNC"
Programmer’s Guide for CNC Milling
9. Setup Form
9.1 Syntax of the Setup Form As with the generation of an NC program, the NC- editor or the interactive program mode is activated to program the setup data. By an appropriate default entry in the Simulator control configuration, the setup form data can be protected against manual editing in the editor - this may be recommendable e.g. for training purposes. If instead the manual entry or editing of setup form data is desired, certain conventions concerning the programming language ("syntax rules") must be observed, of course, to ensure correct interpretation. The diagram on the previous page shows an example: the setup form of the NC program "%520.DNC".
Beginning and End 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.
Line Start Indicator
The character "(" - otherwise used to denote a comment - must be entered at the beginning of each new line.
Break Character
Different entries within the same line must be separated by at least one blank character.
Keywords
A number of pre-defined "keywords" can be used with the entry of setup data, serving to denote that element of the machining space to which the subsequent information relates. These keywords will be represented and explained in further detail on the following pages. e.g.: (BLANK DIMENSIONS X+100.000 Y+100.000 Z+019.000 The character"(" indicates the beginning of a new line and the character string "BLANK DIMENSIONS" is the keyword for the definition of a blank.
Parameters
After the keyword has been entered, the applicable elements can be specified either by input of dimensions or by entering object or file names. e.g.: ( T02 RADIUS MILL D20 DIN 844 The radius mill identified by "D20 DIN 844" is available at the magazine position "T02" .
Groups of Elements
For the sake of clarity, all entries relating to a common technical context, will be arranged in "groups". Such grouping has a binding effect and must therefore be observed in the subsequent programming. : e.g.: ( TOOLS ( T01 DRILL ALT/303 group ( T02 RADIUS END MILL D20 DIN 844 ...
Comments
To include comments in the setup form, another opening parenthesis "(".must be entered to indicate the beginning of the commenting text Specific comments - e.g. "Right face of the workpart : ..." - will be set in automatically when a setup form is created that represents a current machine status. In cases where the character "(" is also used in naming an element, please make a double entry of this character, so as to make sure it will not be interpreted as a comment character. e.g.: Vice name: "SX5(1" -> Setup form: ( VICE SX5((1
© MTS GmbH 1998
177
9. Setup Form
Setup Data: Beginning/End Indicator Function
The beginning and end of the setup form is indicated by the character string "()" (opening/closing parenthesis)
NC-Block
() ... ()
Note
Please note that the character strings indicating the beginning and end of the setup form must be programmed to ensure a trouble-free program execution.
Setup Data: Configuration Files Function
For the sake of clarity the currently activated machine and control configuration files can be specified in the setup form. This will facilitate the selection of the appropriate configuration with later test runs of the NC program.
NC-Block
( CONFIGURATION ( MACHINE [FILENAME1] ( CONTROL [FILENAME2]
Addresses
[FILENAME1] Name of the machine configuration file [FILENAME2] Name of the control configuration file
Note
Configuration files cannot be read-in while the CNC Simulator is operative; it is therefore of no importance for the program run, whether such files have been specified in the setup form. To edit the configuration, the current machining must be interrupted and the desired configuration files must be identified in the selection menu.
Setup Data: Blank Function
Rectangular parallelepipeds are used as blanks (please cf. the Operating Manual).
NC-block
( BLANK DIMENSIONS
Addresses
X
Blank length
Y
Blank width (with G17)
Z
Blank height
X... Y... Z...
(with G17)
(with G17)
Example
( BLANK DIMENSIONS X+200.000 Y+100.000 Z+060.000
Note
Please note that the coordinate value assignation will be different if the selected plane is G18 or G19, instead of G17 (see below and cf. the Simulator Operating Manual).
178
Programmer’s Guide for CNC Milling
9. Setup Form
Setup Data: Prefabricated Part Function
Instead of a blank, a prefabricated part may be inserted. This must be specified in the setup form by entering the the file name after the keyword "blank file name".
NC-block
( BLANK FILE NAME [FILENAME.FWS]
Addresses
[Filename.FWS]
Note
The file extension for milling workparts is "*.FWS" .
Name of the workpart file
Setup Data: Workpart Position Function
At this keyword the blank / part is positioned in the X and Y direction, relative to the machine zero (with G17 selected, see above). This entry will also effect the positioning of the selected clamping device at its appropriate position: entries after the keyword "workpart position" thereby serve to concurrently define the location of the blank / part and its fixture on the machine table .
NC-block
( WORKPART POSITION X... Y...
Addresses
X
Position in X (with G17)
Y
Position in Y (with G17)
The part reference point is the lower left front corner of the blank / part. Example
( WORKPART POSITION X+000.000 Y+000.000
Note
Please take account of the selected plane (see above) when specifying coordinates. To facilitate the programming of the workpart zero, when a setup form is automatically generated, the X/Y/Z values of the upper left front corner of the blank/part will be set in as a comment. In such cases the positioning will always refer to the blank, even if a prefabricated part has been selected for the machining.
Setup Data: Workpart Material Function
Subsequent to the keyword "material" the desired type of workpart material can be entered. Currently no terms are defined for this entry.
NC-block
( MATERIAL
Note
Currently the specification of material has no effect on the program run.
© MTS GmbH 1998
[Entering the type of material]
179
9. Setup Form
Setup Data: Clamping Devices Function
Optional clamping devices in the setup of the Simulator for Milling are vices, modular or magnetic clamping sets To select a clamping mode, the respective keyword must be entered, followed by the specification of single elements (modules) of a clamping set, if applicable.
NC-block
( VICE [Name] ( MAGNETIC CLAMPING ( MODULAR CLAMPING ( X... Y... Z... POSX... POSY... POSZ... ...
Addresses
No parameters are attached to the keyword "magnetic clamping" [Name]
Name of the vice
X
X dimension of the clamping element
Y
Y dimension of the clamping element
Z
Z dimension of the clamping element
POSX
Position of the clamping element in X: middle of the upper face of the clamping element, relative to the machine zero.
POSY
Position of the clamping element in Y: middle of the upper face of the clamping element, relative to the machine zero.
POSZ
Position of the clamping element in X: middle of the upper face of the clamping element, relative to the machine zero.
Example: ( MODULAR CLAMPING ( X+030.000 Y+030.000 Z+020.000 POSX+085.000 POSY+130.000 POSZ+095.000 ( X+030.000 Y+030.000 Z+020.000 POSX+235.000 POSY+130.000 POSZ+095.000 ( X+030.000 Y+030.000 Z+020.000 POSX+240.000 POSY+215.000 POSZ+095.000 ( X+030.000 Y+030.000 Z+020.000 POSX+080.000 POSY+215.000 POSZ+095.000 ...
Note
Only one clamping mode at a time can be specified, and it must, of course be applicable to the selected blank / workpart. When a modular clamping has been selected, further elements may be defined e.g. to provide a more detailed collision monitoring. Please refer to the chuck management for a listing of vice names.
180
Programmer’s Guide for CNC Milling
9. Setup Form
Setup Data : Chucking Height Function
This parameter is only relevant for vice chucking or modular chucking; it either defines the distance between the upper face of the vice body and the bottom face of the blank / workpart, or (with modular clamping) the distance between the machine table and the bottom face of the blank / workpart.
NC-block
( CHUCKING HEIGHT E...
Addresses
E Position of the blank / workpart
Example
( CHUCKING HEIGHT E+010.000
Note
When the automatic setup mode is operative, there will be no check on the consistency of the selected chucking height and chucking type. Therefore, please make sure that your definition of the chucking height corresponds with the appropriate chucking of the blank / workpart. If no vice shift (see below) has been programmed, the blank / workpart will be positioned flush down at the vice body or the machine table.
Setup Data : Re-positioning the Workpart in the Vice Function
If a vice is employed as the clamping device, the position of the blank / workpart between the jaws can be changed, by shifting the vice, parallel to the jaws, by the distance determined by the value entered at the address V after the keyword "shift". This way the the defined position of the workpart in the work area remains the same.
NC-block
( SHIFTV...
Addresses
V
Example
( SHIFT V-010.000
Note
When the automatic setup mode is operative, there will be no check on the consistency of the selected chucking height and chucking type. Therefore, please make sure that your definition of the chucking height corresponds with the appropriate chucking of the blank / workpart. If no chucking height (see above) has been defined, the blank / workpart will be positioned centered between the chuck jaws.
© MTS GmbH 1998
Vice Shift
181
9. Setup Form
Setup Data : Vice Orientation Function
A vice can be mounted to the machine table in four positions by rotating it by 90° respectively. After the keyword "orientation" the desired rotation is specified:
NC-block
( ORIENTATION
Addresses
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
Note
These entries have no parameters. Please observe that only one flipping mode can be selected at a time - either "horizontal" or "vertical". Vertical flipping means rotating the workpart by 180° around a centre axis parallel to the Y-axis (with G17) Horizontal flipping means rotating the workpart by 180° around a centre axis parallel to the X-axis (with G17)
182
Programmer’s Guide for CNC Milling
9. Setup Form
Setup Data: Selection of the Plane Function
Machine tools with vertical or horizontal spindle position and different coordinate axes can be emulated in the CNC Simulator for Milling (see the Configuration Manual). The desired coordinate system must therefore be defined by selecting a machining plane (G17, G18 or G19, see above Ch. 1.2)
NC-block
( PLANE SELECTION G..
Addresses
G
Note
The plane definition precedes the interpretation of the setup form data. Please observe that further data entries must be consistent with the selected plane and coordinate system.
Entry of machining plane G17, G18, G19 or MAHO G17, MAHO G18, MAHO G19
Setup Data: Current Tool Function
This entry serves to program a selected tool in the magazine to be mounted to the workspindle. Prior to this, the spindle head is moved to the reference point.
NC-block
( CURRENT TOOL T..
Addresses
T
Note
Please make sure that the mounting of the selected tool to the spindle head will not cause a collision.
Entry of the magazine position (two-digit, e.g. "T07")
Setup Data: Tools in the Magazine Function
The selection of tools to be available in the magazine is determined by entering, subsequent to the group name "Tools", the two-digit position numbers, the keywords of tool types and the tool names.
NC-block
( TOOLS ( T.. END MILL ( 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
© MTS GmbH 1998
[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]
183
9. Setup Form
Addresses
T
Entry of the magazine position (two-digit, e.g. "T07")
The keyword "tools" is set in without a parameter. Please use the tool management to find the applicable "tool name". If you wish to have no tool mounted to a specific position of the magazine, please enter "VACANT" after that position number. Note
The maximum of tools available in the magazine is 99 (please se the Configuration Manual). As a matter of course, only tools can be selected that are included in the tool management. If a tool type keyword has been spelled incorrectly no new tools can be mounted. If the tool name is invalid, a corresponding error message will appear.
Setup Data: Compensation Values Function
The compensation values of the active tools may either be automatically read in from the tool management or the applicable offset value registers are "manually" defined by the user, by entering the keyword "compensation values" followed by the compensation values.
NC-Block
( VALID COMPENSATION VALUES ( COMPENSATION VALUES ( D.. Z... R...
Addresses
The keyword "Valid Compensation Values" is entered without parameters. This effects the setting in of the default compensation values to the respective registers, denoted by numbers corresponding with the magazine position numbers, e.g. the offset values for "T01" are stored in the register "01" etc. For manual definition of the compensation value registers the keyword "Compensation Values" is entered, subsequently the parameters are specified:
Note
D
At D the (two-digit) register number is entered.
Z
Tool length compensation in Z
R
Tool radius compensation
For a detailed description of the definition of compensation values, please see Ch. 1.4 above, as well as the Operating Manual of the CNC Simulator.
Setup Data : Tool Engagement Times Function
With each cutting run of an NC program, the engagement times of the applied tool will be calculated. The current keyword serves to define a setup status where the engagement times of all tools available in the magazine are set to zero.
NC-block
( ZERO ENGAGEMENT TIMES
184
Programmer’s Guide for CNC Milling
Appendix 1: Survey of Programmable Addresses
Appendix 1: Survey of Programmable Addresses
F
If a different unit of measurement is not explicitly stated, all values are in millimeters (mm).
Address % A
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
B
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
000.000 to 999.999
Distance between the origin and the target point when programming in the Polar Coordinate System G10 and G11 Circle radius : Drilling Pattern on a Circle G61 Radius : Contour Strings G72, G73 Radius of the circular arc : Invocation of a Cycle on a Circular Arc G77 Dwell time (in seconds) at the drilling level for chip-breaking: Drilling Cycles G82 und G83 Rounding radius of pocket corners: Rectangular Pocket Cycle G87 Radius of the circular pocket : G88 Radius of the pin : G89
C
- 999.999 to + 999.999 000.000 to 999.999
Chamfer (C-) or rounding (C+) : Contour Strings G71, G72 and G73 Radius of the Circular Pocket : G89
D
- 360.000 to + 360.000
Angle between cycle execution positions : Invocation of a Cycle on a Circular Arc G77 Angle between cycle execution positions : Invocation of a Cycle on a Straight Line G78 Degression : Drilling Cycles G82 and G83
000.000 to + 999.999
E
000.001 to 999.999 - 360.000 to + 360.000
Feed adjustment: Rectangular Pocket Cycle G67 Angle to the positive X-axis of the oriented tangent at the end point: Contour Strings G72/G73
F
010.000 to 999.999
Feedrate in mm/min
G
00 to 99
G-Commands
© MTS GmbH 1998
185
Appendix 1: Survey of Programmable Addresses
Address
Value / Range
Explanation / Function
I
- 999.999 to + 999.999
Centre coordinate in X : G02 and G03, as well as Contour Strings G72 and G73 Origin coordinate in X incremental to the starting point : Programming in the Polar Coordinate System, G10 - G13 Coordinate of the rotation centre in X : Incremental Zero Shift G59 Offset of cycle execution positions in X : Invocation of a Cycle on a Straight Line G78
000.000 to + 999.999 J
- 999.999 to + 999.999
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
000.000 to + 999.999 K
000.000 to - 999.999 - 999.999 to + 999.999
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
L
000.000 to + 999.999
Length of the line : Contour String G71
M
00 to 99
Additional Functions and Switches
N
001 to 999
NC-Block Number
P
001 to 999
Start block number : Subprogram Invocation G22 Start block number : Routine G23 Block number : Jump Instruction G24
P001, P002
Selection of Solutions : Contour Strings
P011, P012
Selection of Solutions : Roundings with C+ in Contour Strings
P070
Absolute coordinates of circle centres :Contour Strings G72 and G73 Absolute polar origin coordinates I and J : G10 - G13
R
P071
Angle A between the line connecting the origin and the starting point and the line connecting the origin and the target point, incremental : G10 - G13
001 to 999
End Block Number :Subprogram Invocation G22 End Block Number : Routine G23
00 to 99 001 to 999
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
186
0001 to 9999
Spindle Speed in Rev/min
0101 to 1699
The first two digits (01 - 16) denote the magazin position for tool Programmer’s Guide for CNC Milling
Appendix 1: Survey of Programmable Addresses
Address
Value / Range
Explanation / Function change the last two digits denote the Offset Value Storage (01 - 99)
U
000000 to 999999
Subprogram name : G22
W
000.000 to 999.999 - 999.999 to + 999.999 000.000 to 999.999
2. Clearance plane :Cycles G81 to G89 Coordinate value in X Dwell (in seconds) : G04-Command
Y
- 999.999 to + 999.999
Coordinate value in Y
Z
- 999.999 to + 999.999
Coordinate value in Z
© MTS GmbH 1998
187
Appendix 2: Tool File Survey
Appendix 2: Tool File Survey
Tool Mounting
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
Programmer’s Guide for CNC Milling
Appendix 2: Tool File Survey
Twist Drill
Sense of rotation: CLOCKWISE Offset = 0 Radius compensation = 0
Name
Shank-ø
Drill-ø
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
Programmer’s Guide for CNC Milling
Appendix 2: Tool File Survey
Conkave Form Cutter
Offset = 0
Name
Shank-ø
Large end head-ø
Head width
Radius
Overall länge
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
Programmer’s 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
Programmer’s 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
Programmer’s 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
Programmer’s Guide for CNC Milling
Appendix 2: Tool File Survey
Step Drill
Name
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
© MTS GmbH 1998
Shank-ø
Drill-ø
Tip angle
Step length
Angle
Overall length
Tool length compens.
Radiuscomp.
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 .....
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
Programmer’s Guide for CNC Milling
Appendix 2: Tool File Survey
Shell End Mill
Name
D040 DIN 1880 D050 DIN 1880 D063 DIN 1880 D080 DIN 1880 D100 DIN 1880 D125 DIN 1880
© MTS GmbH 1998
Shank-ø
Head ø
Head width
Overall length
Hole step-ø
Hole step depth
Tool length compens.
Radiuscomp.
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 ...
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
Programmer’s 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
Programmer’s 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
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
(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
205
Index
D
L
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
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
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
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
J Jump Instruction - unconditional 53
206
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
N NC-Block 19 Addresses 19 Code 19 Format 19 Value 19 Word 19
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
Programmer’s 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
W
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
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