Milling Programming Manual

download Milling Programming Manual

of 207

Transcript of Milling Programming Manual

  • 7/22/2019 Milling Programming Manual

    1/207

    CNC - Simulator

    Programmers Guide for Milling

    Mathematisch Technische Software - Entwicklung GmbH

    Kaiserin-Augusta-Allee 101 D 10553 Berlin +49 / 30 / 34 99 600

  • 7/22/2019 Milling Programming Manual

    2/207

    Programmers GuideCNC-Simulator for Milling

    MTS Mathematisch Technische Software-Entwicklung GmbHKaiserin-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.comBerlin, May 1995ofp, May 1998 akss, ofp

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

    DIN: (Deutsche Industrie Norm), is the German Standard Specification as defined by the "Deutsches Institut fr Normung e. V."MS-DOS is a trademark of Microsoft CorporationPAL:is short for "Prfungs- Aufgaben und Lehrmittelentwicklungsstelle" (Institute for the Development of Examination Standards andTraining Aids), a division of the "IHK Mittlerer Neckar" (Chamber of Industry and Commerce of the Middle-Neckar Region)

  • 7/22/2019 Milling Programming Manual

    3/207

    Contents

    MTS GmbH 1998 3

    Table of Contents

    Introduction _______________________________________ 7

    1. Geometry Basics ________________________________ 9

    1.1 The Coordinate System ____________________________________ 91.1.1 Polar Coordinate System ___________________________ 10

    1.2 Selection of Planes ________________________________________ 111.3 Reference Points _________________________________________ 131.4 Tool Geometry and Compensation Values _____________________ 151.5 Absolute Dimensions and Incremental (Relative) Dimensions ______ 17

    2. Introduction into NC-Programming _________________ 19

    2.1 NC-Block Format __________________________________________ 192.2 Modal and non-modal commands ____________________________ 202.3 Application and Representation of Addresses ___________________ 21

    3. Additional Functions _____________________________ 22

    3.1 Activate/Deactivate Spindle _________________________________ 23

    3.2 Mounting a Pre-Selected Tool _______________________________ 233.3 Coolant ________________________________________________ 233.4 Programmed Halt _________________________________________ 233.5 Program End ____________________________________________ 233.6 Mirroring in Axes in a Plane _________________________________ 253.7 Feedrate ________________________________________________ 263.8 Spindle Speed ___________________________________________ 263.9 Tool Change _____________________________________________ 26

    4. DIN 66025 Programming Commands ________________ 28

    Rapid Traverse G00 ___________________________________________ 31

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

  • 7/22/2019 Milling Programming Manual

    4/207

    Contents

    4 Programmers Guide for CNC Milling

    Subprogram InvocationG22 ______________________________________ 51Repeated Program Parts (Routines) G23 ___________________________ 52Unconditional Jump Instruction G24 _______________________________ 53Move to the Reference Point G25 _________________________________ 54

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

    5. Cycles _________________________________________ 73

    Clearance Planes ______________________________________________ 75Drilling Pattern on a Divided Circle G61 ____________________________ 77Rectangular Pocket G67 ________________________________________ 79Invocation of a Cycle on a Divided Circle G77 ________________________ 81Invocation of a Cycle on a Straight Line G78 _________________________ 83Invocation of a Cycle at a Point G79 _______________________________ 84Drilling Cycle G81 _____________________________________________ 85Drilling Cycle with Chip-Breaking G82 ______________________________ 87Drilling Cycle with Chip-Breaking and Chip-Removal G83 ______________ 89Tapping Cycle G84 ____________________________________________ 91

    Reaming of a Drilled Hole G85 ___________________________________ 93Boring of a Drilled Hole G86 _____________________________________ 95Rectangular Pocket Cycle G87 ___________________________________ 97Circular Pocket Cycle G88 _______________________________________ 99Pin Cycle G89 ________________________________________________

    101

    6. Programming of Contour Strings ___________________ 102

    6.1 Additional Addresses _______________________________________ 1066.1.1 Circle Centres Absolute ____________________________ 1076.1.2 Tangential Transitions ______________________________ 1086.1.2.1 Pointed Tangential Transitions _______________________ 1106.1.3 Selection of Solutions ______________________________ 1116.1.3.1 Selection of Solutions - Angle Criterion _________________ 1126.1.3.2 Selection of Solutions - Line Criterion __________________ 1136.1.3.3 Selection of Solutions - Arc Criterion __________________ 1146.1.3.4 Selection of Solutions - Tangential Transitions ___________ 1156.1.4 Rounding Between Two Entities ______________________ 1176.1.5 Chamfer Between Two Lines ________________________ 119

    6.2 Two-Point String: Line ______________________________________ 1206.3 Two-Point String: Arc _______________________________________ 1226.4 Three-Point String: Line - Line ________________________________ 126

  • 7/22/2019 Milling Programming Manual

    5/207

    Contents

    MTS GmbH 1998 5

    6.5 Three-Point String: Arc - Line ________________________________ 1306.6 Three-Point String: Line - Arc ________________________________ 1366.7 Three-Point String: Arc-Arc _________________________________ 1436.8 Four-Point String with Tangential Transitions ___________________ 148

    6.9 Open Contour Strings ______________________________________ 1546.10 Tangential Connection _____________________________________ 161

    7. Parameters _____________________________________ 164

    8. Programming with Special Characters ______________ 166

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

    9. Setup Form ____________________________________________________ 174

    9.1 Syntax ________________________________________________ 177Instructions and Addresses _________________________________ 178

    Appendix 1: Survey of Programmable Addresses _______ 185

    Appendix 2: Tools _______________________________________________ 188

    Index ____________________________________________ 205

  • 7/22/2019 Milling Programming Manual

    6/207

    6 Programmers Guide for CNC Milling

  • 7/22/2019 Milling Programming Manual

    7/207

    Introduction

    MTS GmbH 1998 7

    Introduction

    The present Programmers Guide covers all available NC commands of the MTS

    Programming Code. In addition to the DIN 66025 commands, the programming ofmaching cycles and of contour strings will be explained. The MTS ProgrammingCode is not depending on any specific manufacturers CNC control system.

    The programmers guide is structured as follows:

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

    Part Two, which is far more extensive, serves to explain all commands which arepart of the MTS programming code. For reasons of clarity these have beenarranged 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 theunskilled user. The expert programmer may use the clearly structured listing ofcommands as a quick-reference manual when confronted with complicated tasks.

    The general idea with the present Programmers Guide is to explain and supportthe process of manual programming. To effect this, all mandatory and optionalparameters will be exemplified by a corresponding NC-Block and graphicallyrepresented.

    All in all the Programmers Guide is thought to provide comprehensive support ingenerating NC-programs, either by using the editor or by employing the "automaticmode" for interactive programming. The Manual may of course also serve fortesting and optimizing NC-programs in the "automatic mode" - thus contributing to abetter understanding of technical circumstances.

    Furthermore a number of improvements on Version 4.1 of the MTS ProgrammingCode have been made:

    - Up to four different zero points can be defined, stored and activated withinthe 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.

  • 7/22/2019 Milling Programming Manual

    8/207

    1. Basic Geometry

    8 Programmers Guide for CNC Milling

    Diagram 1.1 : Coordinate System; Z-Axis Vertical

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

    Examples :

    P1: X= 60, Y= 0, Z= 40

    P2: X= 0, Y= 40, Z= 40

    P3: X= 60, Y= 40, Z= 40

    P4: X= 60, Y= 40, Z= 0

    Diagram 1.3 : Three-Dimensional Coordinate System

  • 7/22/2019 Milling Programming Manual

    9/207

  • 7/22/2019 Milling Programming Manual

    10/207

    1. Basic Geometry

    10 Programmers Guide for CNC Milling

    1.1.1 Polar Coordinate System

    In the cartesian coordinate system, a point in the machining plane is defined by itsX- and Y-coordinates. With rotary symmetric workpart contours (see Diagram 1.4),

    however, a considerable amount of calculation would be necessary to establishthese coordinate values. Therefore, in most cases, polar coordinate systems areused 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 arule, is the X- axis.

    The coordinates of the drilled holes B1 to B6 areestablished by their distances from the centre andtheir 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,623mm) from the origin of the polar coordinate systemand the radius angle (29,745) to the X- axis.

    Diagram 1.5 : Coordinate Systems in Comparison

  • 7/22/2019 Milling Programming Manual

    11/207

  • 7/22/2019 Milling Programming Manual

    12/207

    1. Basic Geometry

    12 Programmers Guide for CNC Milling

    Diagram 1.7 : Reference points of a CNC Milling Machine

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

  • 7/22/2019 Milling Programming Manual

    13/207

    1.3 Reference Points

    MTS GmbH 1998 13

    1.3 Reference Points

    To ensure that a machine control system will read the programmed coordinatescorrectly and effect the corresponding movements of the tool carriage, each

    machine tool must have its own "coordinate system". Within this machine referencesystem there are several predefined reference points, namely the following (seeDiagram 1.7):

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

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

    Reference Point The reference point serves to calibrate the position measuring systems. To makesure 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, thetool must be moved to the reference point after each re-starting of the machine.

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

    In the CNC Simulator the position of the reference point relative to the machinezero can be determined in the configuration program (cf. the ConfigurationManual).

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

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

    Workpart Zero The workpart zero can be determined at will, always relating to the machine zero. Itis 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 thedimensions can be adopted directly from the drawing in the course of programminga contour.

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

  • 7/22/2019 Milling Programming Manual

    14/207

    1. Basic Geometry

    14 Programmers Guide for CNC Milling

    The compensation value in Z is determined bythe the distance between the the cutting pointand the tool reference point.

    Diagram 1.9 : Tool length- and cutter radius compensation

    Cutter radius compensation is necessary toensure that the programmed contour will beidentical with the executed contour.

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

    When the cuttter radius compensation (CRC) isactive, the control system will establish anappropriate tool centre path (equidistant),accounting for the cutter radius.

    Diagram 1.11 : Cutter Centre Path (Equidistant)

  • 7/22/2019 Milling Programming Manual

    15/207

  • 7/22/2019 Milling Programming Manual

    16/207

  • 7/22/2019 Milling Programming Manual

    17/207

    1.5 Absolute/Relative Dimensioning

    MTS GmbH 1998 17

    1.5 Absolute Dimensioning,

    Incremental Dimensioning (Relative Dimensioning)

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

    Absolute Dimensioning(Fixed Zero System)

    In the absolute system all dimensions refer to the origin (zero point) of thecoordinate system, which is also called the dimensioning reference point.

    IncrementalDimensioning

    Contrary to the absolute system, the incremental dimensioning system is based onspecifying 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 calledincremental.

    When generating an NC-program, the tool motions can be programmed either inthe absolute or in the relative dimensioning system, depending on the system usedin the design drawing (see Diagram 1.13).

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

  • 7/22/2019 Milling Programming Manual

    18/207

    2. Introduction into NC-Programming

    18 Programmers Guide for CNC Milling

    N Block Number

    G G- Command

    Coordinates of the Target Position

    F Feed

    S Speed

    T Tool Number/Turret Position

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

    Diagram 2.1 : Sequence of Words within an NC Block

  • 7/22/2019 Milling Programming Manual

    19/207

    2.1 NC-Block Format

    MTS GmbH 1998 19

    2. Introduction into NC-Programming

    A distinct program structure is essential to the generation of NC-programs. Forinstance the process of detecting eventual program errors will be much facilitated

    by a clear structure - especially when this task is carried out by anotherprogrammer.

    2.1 Structure of an NC-Block (Format)

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

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

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

    WordsAddress, Value

    As a rule an NC block is comprised of several words. Each word consists of anaddress (letter) and a value or code (numerals).

    Example N110 G01 X+60 M03| | | |

    Block No. Word Word Word

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

    G 01 | | Address Code

    X 60 | | Address Value

    F 0.07 | | Address Value

    WordWordWord

  • 7/22/2019 Milling Programming Manual

    20/207

    2. Introduction into NC-Programming

    20 Programmers Guide for CNC Milling

    2.2 Modal Commands and Non-modal Commands

    Modal commands are self-retentive, i.e. they will take effect in consecutive NC-blocks, until they are deleted or overwritten by a command at the same address.

    Non-modal commands instead are "block-oriented", they will be active only in theblock in which they are programmed.

    Examples of modal commands are: speed, feedrate, sense of rotation, toolselection etc. Once entered, these commands will remain active also with thesubsequently programmed blocks.

    Example: N110 F95 S850 M03N115 G00 X+25 Y+30N120 G01 Z-8N125 X+105N130 Y+80

    Explanation:(See Diagram 2.2)

    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)tN120 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=105N130 The tool moves in the Y-axis to the target position Y=80

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

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

  • 7/22/2019 Milling Programming Manual

    21/207

    2.3 Programming and Denotation of Addresses

    MTS GmbH 1998 21

    2.3 Programming and Denotation of Addresses

    As a rule, an NC-command contains several addresses. These addresses must bediscriminated 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 presentprogrammers guide the following mode of denotation will be applied:

    Addresses that have to be programmed with a specific NC-command ("mandatoryaddresses"),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 specificcommand ("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 thedrilling depth. Optionally a clearance plane may be programmed at the

    address W.

  • 7/22/2019 Milling Programming Manual

    22/207

  • 7/22/2019 Milling Programming Manual

    23/207

    3.1 Activate/Deactivate Spindle

    MTS GmbH 1998 23

    3.1 Activate/Deactivate Spindle

    M03 Activate Spindle - Right-Hand Rotation (Clockwise)

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

    M05 De-Activate Spindle

    3.2 Mounting a Pre-Selected Tool

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

    It will depend on the tool changing device employed, whether M06 must beprogrammed to effect the tool change. The user may determine in theconfiguration, whether M06 shall be mandatory for a tool change (see theConfiguration Manualfor 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, theprogram execution will be halted, to allow gauging of the workpart or amanual tool change.

    3.5 Program End

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

    M02 In the Simulator for Milling the M02 command effects the samefunctions as the M30 command.

    M99 This command informs the control system that the current sub-

    program run has been completed. The control system will return to themain program and continue the program run from the program linewhich is subsequent to the subroutine invocation.

  • 7/22/2019 Milling Programming Manual

    24/207

    3.6 Mirroring in the Axes

    24 Programmers Guide for CNC Milling

    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 ProgrammedRoutine

    N090 G00 X+20 Y+30

    N095 G01 Z-16N100 X+90

    N105 X+20 Y+75

    N110 G00 Z+2

    N115 M84

    N120 G23 P090 Q110

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

  • 7/22/2019 Milling Programming Manual

    25/207

  • 7/22/2019 Milling Programming Manual

    26/207

    3.7 Feedrate

    26 Programmers Guide for CNC Milling

    3.7 Feedrate

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

    Example: F080.000Here 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: S500Here 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 themagazine, the last two positions indicate the tool compensationstorage.

    Example: T0808

    This command effects the loading of the tool to position No.8 of thecurrent tool magazine and the reading-in of the correspondingcompensation value storage No.8.

    In the CNC Simulator there is a maximum of 99 magazine positionsavailable, as well as 99 compensation value registers. This providesthe opportunity, for example, to assign the compensation valueregister No. 36 to the tool in the magazine position No. 12 (providedthat 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 commandM06 must be programmed seperately. In the MTS Simulator the desired mode oftool-changing can be determined in the configuration (see the Configuration Manual).

  • 7/22/2019 Milling Programming Manual

    27/207

  • 7/22/2019 Milling Programming Manual

    28/207

    4. DIN 66025 Commands

    28 Programmers Guide for CNC Milling

    4. Programming Commands in Compliance withDIN66025

    Survey of available DIN commands:

    G00 Rapid Traverse

    G01 Linear Interpolation in Slow Feed Motion

    G02 Circular Interpolation Clockwise

    G03 Circular Interpolation Counter-clockwise

    G04 Dwell

    G09 In-position Programming (Deceleration)

    G10 Polar Coordinates for Rapid Traverse

    G11 Polar Coordinates for Linear Interpolation

    G12 Polar Coordinates for Clockwise Circular Interpolation

    G13 Polar Coordinates for Counter-clockwise Circular

    Interpolation

    G20 Unit of Measurement: (Inch)

    G21 Unit of Measurement (mm)r

    G22 Invocate Subprogram

    G23 Repeated Program Part (Routine)

    G24 Unconditional Jump Instruction

    G25 Move to the Reference Point

    G26 Move to the Tool Change Position

    G40 Cancel Cutter Radius Compensation

    G41 Cutter Radius Compensation to the Left of the Contour

    G42 Cutter Radius Compensation to the Right of the Contour

    G45 Contour-parallel Approach / Retreat

    G46 Semi-circular Approach / Retreat

    G47 Approach / Retreat in a Quadrant

  • 7/22/2019 Milling Programming Manual

    29/207

  • 7/22/2019 Milling Programming Manual

    30/207

  • 7/22/2019 Milling Programming Manual

    31/207

    Rapid Traverse G00

    MTS GmbH 1998 31

    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 beprogrammed in the absolute system (G90) or in the incremental system (G91).

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

    Optional Addresses X X-Coordinate of the Target Point

    Y Y-Coordinate of the Target Point

    Z Z-Coordinate of the Target Point

    1) If a tool movement parallel to one or two axes is desired, the respective targetcoordinate will be identical with that of the current tool position. It does not have tobe programmed separately, as the coordinate address is self-retentive.If none of the coordinates in X Y and Z has been programmed, only the rapidtraverse 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), thetool 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 toolwill move first in the XY plane and then in the Z-direction.

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

  • 7/22/2019 Milling Programming Manual

    32/207

  • 7/22/2019 Milling Programming Manual

    33/207

  • 7/22/2019 Milling Programming Manual

    34/207

    G02 Circular Interpolation Clockwise

    34 Programmers Guide for CNC Milling

    The tool moves at the specified feedrate from itscurrent position (starting point) to the programmedtarget 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-5N100 G02 X+95 Y+75 I+30 J+10

    Diagram G02.2 : Programming of Absolute Dimensions

    Programming Example

    of Incremental Dimensioning:

    N085 G00 X+55 Y+35 Z+2

    N090 G91

    N095 G01 Z-7

    N100 G02 X+40 Y+40 I+30 J+10

    Diagram G02.3 : Programming of Incremental Dimensions

  • 7/22/2019 Milling Programming Manual

    35/207

  • 7/22/2019 Milling Programming Manual

    36/207

    G03 Counter-Clockwise Circle Interpolation

    36 Programmers Guide for CNC Milling

    The tool moves at the specified feedrate from itscurrent position (starting point) to the programmedtarget point.

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

    Programming Example

    for Absolute Dimensioning:

    N085 G90

    N090 G00 X+55 Y+25 Z+2

    N095 G01 Z-5

    N100 G03 X+100 Y+70 I+15 J+30

    Diagram G03.2 : Programming of Absolute Dimensions

    Programming Example

    for Incremental Dimensioning:

    N085 G00 X+55 Y+25 Z+2

    N090 G91

    N095 G01 Z-7

    N100 G03 X+45 Y+45 I+15 J+30

    Diagram G03.3 : Programming of Incremental Dimensions

  • 7/22/2019 Milling Programming Manual

    37/207

    Counter-Clockwise Circular Interpolation G03

    MTS GmbH 1998 37

    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 eitherbe programmed in the absolute system (G90) or in the incremental system (G91). Ifa Z-value different from the Z-coordinate of the starting point is programmed, thetool will move on a path called a helical interpolation: a linear feed motion in the Z-direction is superimposed on the tool movement along the arc.

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

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

    Optional Addresses X X-Coordinate of the target point

    Y Y-Coordinate of the target point

    Z Z-Coordinate of the target point

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

    I Circle Centre Incremental (distance between the starting position and the circlecentre in the X-direction).

    J Circle Centre Incremental (distance between the starting position and the circlecentre 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 Iand J is incremental (relative to the starting point). In the configuration program thecentre 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 rapidtraverse function will be retentive.

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

    A maximum of three M-commands may be programmed; their respective order ofexecution is described inSection 3 ("Additional Functions").

  • 7/22/2019 Milling Programming Manual

    38/207

    G04 Dwell

    38 Programmers Guide for CNC Milling

    Dwell G04

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

    NC-Block G04 X...

    Addresses X Dwell time in seconds

    Programming Example:

    N120 G04 X+2

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

  • 7/22/2019 Milling Programming Manual

    39/207

    In-Position Programming (Deceleration) G09

    MTS GmbH 1998 39

    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 preciselythe programmed position, the tool motion is resumed and the next contour point, asprogrammed in the subsequent NC-block, is approached.

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

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

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

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

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

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

    X... Y... G09

  • 7/22/2019 Milling Programming Manual

    40/207

    G10 Rapid Traverse with Polar Coordinates

    40 Programmers Guide for CNC Milling

    Programming Example:

    N110 G00 X+65 Y+25

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

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

    are programmed incremental.

    Programming Example:

    N110 G00 X+65 Y+25

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

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

  • 7/22/2019 Milling Programming Manual

    41/207

  • 7/22/2019 Milling Programming Manual

    42/207

  • 7/22/2019 Milling Programming Manual

    43/207

    Linear Interpolation With Polar Coordinates G11

    MTS GmbH 1998 43

    Linear Interpolation with Polar Coordinates G11

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

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

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

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

    B Distance from the polar centre to the target point

    Optional Addresses I, J Polar coordinates incremental from the starting point; (see Diagram G11.1)With the standard configuration of the Simulator (circle centres incremental)the polar coordinates may be programmed absolute (i.e. relative to theworkpart zero) by adding the address P070 (see Diagram G11.2).If absolute circle centres have been configurated, the coordinates I and J arealways 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 absolutecircle centres have been configurated, the coordinates of the starting point (theactual 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 havebeen programmed in the same NC-block, these commands will be executed priorto moving the tool to the target position.A maximum of three M-commands may be programmed; their respective order ofexecution is described in Section 3("Additional Functions").

  • 7/22/2019 Milling Programming Manual

    44/207

  • 7/22/2019 Milling Programming Manual

    45/207

    Circular Interpolation with Polar Coordinates G12

    MTS GmbH 1998 45

    Circular Interpolation with Polar Coordinates G12

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

    NC-Block

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

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

    Addresses A Angle of that line to the X-axis (absolute), which connects the origin with thetarget point ; (See diagr. G12.1)With the standard configuration of the Simulator (circle centres incremental)the angle A may be programmed incremental byadding the address P071,i.e. the angle between the line from the origin to the starting point and the linefrom the origin to the target point (see Diagram G12.2).If absolute circle centres have been configurated, the specified angle isalsways 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 theworkpart zero) by adding the address P070(see Diagram G12.2).If absolute circle centres have been configurated, the coordinates I and J arealways interpreted as absolute.

    1) With the standard configuration of the Simulator, when I or J have not beenprogrammed, zero will be assumed as the respective coordinate value. If absolutecircle centres have been configurated, the coordinates of the starting point (theactual 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 HintsIf a tool change, a change of the feedrate and/or a a change of spindle speed havebeen programmed in the same NC-block, these commands will be executed priorto moving the tool to the target position.A maximum of three M-commands may be programmed; their respective order ofexecution is described in Section 3("Additional Functions").

  • 7/22/2019 Milling Programming Manual

    46/207

  • 7/22/2019 Milling Programming Manual

    47/207

  • 7/22/2019 Milling Programming Manual

    48/207

  • 7/22/2019 Milling Programming Manual

    49/207

  • 7/22/2019 Milling Programming Manual

    50/207

  • 7/22/2019 Milling Programming Manual

    51/207

    Subprogram Invocation G22-

    MTS GmbH 1998 51

    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 inthe program line, where the subprogram has been invocated.

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

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

    Optional Addresses P is the start block number at which the subprogram execution starts.

    Q is the end block number at which the subprogram execution ends.

    S states the number of repetitions of the subprogram execution

    / The slash code serves to denote those NC-blocks which are to be omitted inthe current execution of a subprogram (see explanation below).

    Explanation Programming subroutines is recommended to effect the repeated execution ofcetrain program parts, e.g. to repeat the machining of a contour with different tooladjustments or after one ore several zero shifts. Executed as a subroutine, theapplicable cycle must be programmed but once.

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

    Optional Block Skip The address "/" (slash code) causes the control system to omit("skip") certain NCblocks (marked at will) during a subprogram run. Such a selection of blocks

    marked to be skipped constitutes a "level" of block omissions, several of whichmay be defined for each subprogram. E.g.: Those blocks which have been skippedin the first execution of the subprogram (level 1) will be executed during the secondrun of the same subprogram (level 2). Or, conversely: The set of blocks executedat the first invocation of the applicable subprogram will be marked to be skipped inthe second run.

    Example (see Diagram G22.2on 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 subprogramfrom which the current subprogram has been invocated. This return condition maybe edited in the configuration program (cf.. Configuration Manual: Subprograms).

  • 7/22/2019 Milling Programming Manual

    52/207

    G23 Repeated Program Parts

    52 Programmers Guide for CNC Milling

    Repeated Program Parts G23

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

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

    Addresses P Start Block Number:Number of the main program block at which the repeated part starts.

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

    Optional Addresses S Number of repetitions:The value programmed at the address S determines the desired number of

    repetitions of the the program part.

    Programming Example:

    N190 G23 P160 Q180

    Programming Hints Programming the addresses P and Q is mandatory. If the address S is notprogrammed, 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.

  • 7/22/2019 Milling Programming Manual

    53/207

    Unconditional Jump G24

    MTS GmbH 1998 53

    Unconditional Jump G24

    Function The command G24 instructs the control system to continue the machining from the

    NC block programmed at the address P.

    NC-Block G24 P...

    Addresses P Target Block Number:At this address the number of the main program block must be specified,from which the program execution shall be resumed.

    Programming Example:

    N110 G24 P185

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

  • 7/22/2019 Milling Programming Manual

    54/207

    G25 Referencing

    54 Programmers Guide for CNC Milling

    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 thereference point, the sequence of motions being in the Z-axis first and subsequentlyin the X- and Y-axes..

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

  • 7/22/2019 Milling Programming Manual

    55/207

    Approach the Tool-Changing Position G26

    MTS GmbH 1998 55

    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, nocoordinate values must be specified with the command G26.

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

  • 7/22/2019 Milling Programming Manual

    56/207

  • 7/22/2019 Milling Programming Manual

    57/207

  • 7/22/2019 Milling Programming Manual

    58/207

  • 7/22/2019 Milling Programming Manual

    59/207

    Cutter Radius Compensation Left / Right G41 / G42

    MTS GmbH 1998 59

    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", withcontour-milling the cutter radius must be considered in establishing the contour-parallel cutter centre path (equidistant) (see Diagram G41.1).

    Function When the cutter radius compensation (CRC) is operative, only the workpart contourpoints are programmed and the control system must be informed whether thecutter 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 DiagramG41.2).

    The following two commands will activate the cutter radius compensation:

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

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

    Programming Hints If the cutter radius compensation (CRC) has been activated for a program part, thefollowing 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.

  • 7/22/2019 Milling Programming Manual

    60/207

    G41 / 42 Approach Instructions With Cutter Radius Compensation

    60 Programmers Guide for CNC Milling

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

    Diagram G41.5 :Activate Cutter Radius Compensation WithoutApproach Instruction

    NC-Block:

    G41 A.. G45 G01 X.. Y.. Z..

    Diagram G41.6 :Activate Cutter Radius Compensation with Contour-parallel Approach Instruction

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

    Diagram G41.7 :Activate Cutter Radius Compensation withTangential Approach in a Semi-circle

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

    Diagram G41.8 :Activate Cutter Radius Compensation withTangential Approach in a Quadrant

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

  • 7/22/2019 Milling Programming Manual

    61/207

  • 7/22/2019 Milling Programming Manual

    62/207

    G53 Cancel Zero Shift

    62 Programmers Guide for CNC Milling

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

  • 7/22/2019 Milling Programming Manual

    63/207

    MTS GmbH 1998 63

  • 7/22/2019 Milling Programming Manual

    64/207

    G54 - G57 Define Zero Points

    64 Programmers Guide for CNC Milling

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

    Programming Example:

    N010 G54 X+30 Y+20 Z+55N020 T0202 S800 F200 M03N030 G00 Z+100N040 G55 X+70 Y+40 Z+55 Shifting the zero point to the starting position of the 1st contourN050 G00 X+0 Y+0 Z+2 Approaching the starting positionN060 G01 Z-12 Depth of cutN070 Y+30 Contour-millingN080 X-20N090 G00 Z+2 Tool-retreat to the clearance plane

    N100 G56 X+115 Y+65 Z+55 Shifting the zero point to the starting position of the 2nd contourN110 G23 P50 Q 90 Routine (milling the 2nd contour)N120 G57 Shifting the zero point to the starting position of the 3rd contour

    (Zero point determined by touching the workpart: X+160 Y+90 Z+55)N130 G23 P50 Q 90 Routine (milling the 3rd contour)N140 G00 Z100 M30 Back-out, program end

    Diagram G54.2 : The example shows the programming of a contour by application of aprogram part repetition (routine) (G23). Alternatively this contour descriptionmay be stored as a sub-program to be invocated by (G22).

  • 7/22/2019 Milling Programming Manual

    65/207

    Define Zero Points G54 - G57

    MTS GmbH 1998 65

    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 maybe defined and stored.

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

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

    Addresses X X-Coordinate of the current workpart zero

    Y Y-Coordinate of the current workpart zero

    Z Z-Coordinate of the current workpart zero

    Explanation After the set-up has been completed, the control system of the machine tool refers

    to the machine zero as the predefined origin of the coordinate system. In theprogramming of tool motions, however, the workpart zero will constitute the origin ofthe applicable coordinate system. It follows that the reference point must be shiftedfrom the machine zero to the workpart zero.

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

    To facilitate the programming task in the case of complex or iterant contours, up tofour different workpart zero points (G54, G55, G56 und G57) may be defined (seeDiagram G54.2). The coordinates of the respective zero point may either be

    specified in the applicable program line, or already be defined and stored in the set-up mode, by setting the axes to zero or touching the workpart (for details, see theCNC Simulator Manual). Each stored zero point will be activated by thecorresponding address in the NC program (e.g.: N... G56) .

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

    The defined zero points are retentive: they will remain operative, even after achange 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 theconfiguration program(see the Configuration Manual).

  • 7/22/2019 Milling Programming Manual

    66/207

    G59 Incremental Zero Shift

    66 Programmers Guide for CNC Milling

    Programming Example:

    N110 G59 X+100 Y+40

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

    Programming Example:

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

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

  • 7/22/2019 Milling Programming Manual

    67/207

  • 7/22/2019 Milling Programming Manual

    68/207

    G90 Absolute Dimensions

    68 Programmers Guide for CNC Milling

    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, isprogrammed in absolute coordinates,regardless of the current tool position.

    NC-Block G90

    Programming Example

    with Absolute Coordinates:

    N085 G90

    N090 G00 X+30 Y+30 Z+2

    N095 G01 Z-6

    N100 G01 X+110 Y+75

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

  • 7/22/2019 Milling Programming Manual

    69/207

    Incremental Dimensions G91

    MTS GmbH 1998 69

    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 therespective axis from the current position.

    NC-Block G91

    Programming Example

    with Incremental Dimensions:

    N085 G00 X+30 Y+30 Z+2

    N090 G91

    N095 G01 Z-8

    N100 G01 X+80 Y+45

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

  • 7/22/2019 Milling Programming Manual

    70/207

    G94 Feedrate (mm/min)

    70 Programmers Guide for CNC Milling

    Feedrate (Millimeters per Minute) G94

    Function The command G94 serves to program the feedrate. The unit of measurement is

    "Millimeters per Minute".

    NC-Blocks G94 F...

    Addresses F Feedrate (mm/min)

    Programming Example:

    N120 G94 F500.000

    In this example the feedrate is 500 millimeters per minute.

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

  • 7/22/2019 Milling Programming Manual

    71/207

  • 7/22/2019 Milling Programming Manual

    72/207

  • 7/22/2019 Milling Programming Manual

    73/207

  • 7/22/2019 Milling Programming Manual

    74/207

    Clearance Planes

    74 Programmers Guide for CNC Milling

    Diagram : Clearance Planes:W = Distance Between the Withdrawal Plane and the Clearance PlaneZ = Depth of Contour + Clearance Distance

  • 7/22/2019 Milling Programming Manual

    75/207

    Clearance Planes

    MTS GmbH 1998 75

    Clearance Planes

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

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

    At the address W the distance between the 1st and the 2nd clearance plane mustbe 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 therapid-traverse mode from the withdrawal plane down to the clearance plane.Thesign to W will be ignored. If the address W is not programmed, both clearanceplanes are interpreted as identical.

    The downfeed motion in the Z-axis must be specified incremental (with theappropriate 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 withdrawalplane.

  • 7/22/2019 Milling Programming Manual

    76/207

  • 7/22/2019 Milling Programming Manual

    77/207

    Drilling Pattern on a Divided Circle G61

    MTS GmbH 1998 77

    Drilling Pattern on a Divided Circle G61

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

    circle.

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

    Addresses B Circle Radius

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

    K Drilling Depth - incremental to the current tool position

    S Number of Drilled Holes

    The angle between the drilled holes is arrived at by dividing 360 degrees bythe 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 drillingoperations shall be executed. The order of succession of the drilling is alwayscounterclockwise. After completion of the cycle the tool will stay in the clearanceplane 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.

  • 7/22/2019 Milling Programming Manual

    78/207

    G67 Milling of a Rectangular Pocket

    78 Programmers Guide for CNC Milling

    Programming Example:

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

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

  • 7/22/2019 Milling Programming Manual

    79/207

  • 7/22/2019 Milling Programming Manual

    80/207

  • 7/22/2019 Milling Programming Manual

    81/207

    Cycle Invocation on a Divided Circle G77

    MTS GmbH 1998 81

    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. Themachining operations will be executed at an equal distance on a divided circular arcwith a defined centre (see Diagram G77.1). The centre of the arc is eitherdetermined by the actual tool position or programmed by the X- and Y-coordinatesin the cycle invocation.

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

    Addresses B Radius of the Circular Arc

    In special cases the radius B may be programmed with a negative sign (seeDiagram G77.2).

    D Angle between cycle executions

    The rotational sense of the execution sequence is determined by the signprogrammed at D (see diagram G77.3).

    Optional Addresses X X-Coordinate of the arc centre

    Y Y-Coordinate of the arc centre

    A Angle of the first cutting position to the positive X-axis

    S Number of repetitions

    Programming Hints If one or both coordinates of the arc centre have not been programmed, therespective coordinate of the current tool position will be set in. It follows that theactual tool position determines the arc centre, in the case that neither Y nor X havebeen 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 withdrawalplane W (2nd clearance plane) is desired, it must have been programmedaccordingly in the cycle.

  • 7/22/2019 Milling Programming Manual

    82/207

  • 7/22/2019 Milling Programming Manual

    83/207

  • 7/22/2019 Milling Programming Manual

    84/207

  • 7/22/2019 Milling Programming Manual

    85/207

    Drilling Cycle G81

    MTS GmbH 1998 85

    Drilling Cycle G81

    Function The command G81 serves to define a drilling cycle. The cycle is invocated for

    execution by one of the commands G77, G78 or G79.

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

    Addresses Z Drilling depth, incremental to the clearance plane

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

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

    Programming Example:

    N090 G81 Z-30 W+10

    N095 G79

    Diagram G81 : Drilling Cycle

  • 7/22/2019 Milling Programming Manual

    86/207

    G82 Drilling Cycle With Chip-Breaking

    86 Programmers Guide for CNC Milling

    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 = 100K = 35D = 10

    In this example the 1st drilling depth K is set to 35mm, the degression D is 10 mm.Accordingly, after both the first and seconddownfeed the drilling depth is reduced by 10 mm to25 mm and 15 mm respectively. As the drillingdepth must not fall short of the value D, thesubsequent drillings (after the 3rd downfeed) willbe executed with a drilling depth of 10 mm.With a total drilling depth of 100 mm, the drillingdepth of the last operation is 5 mm.

    Diagram G82.2 : Reduction of drilling depth - degression

  • 7/22/2019 Milling Programming Manual

    87/207

    Drilling Cycle With Chip-Breaking G82

    MTS GmbH 1998 87

    Drilling Cycle with Chip-Breaking G82

    Function The command G82 serves to define a cycle of multiple drilling passes. The cycle is

    invocated for execution by one of the commands G77, G78 or G79.

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

    Addresses Z Total drilling depth, incremental to the clearance plane

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

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

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

    K 1st drilling depth

    Explanation In the first downfeed the hole is drilled down to the value K. For the purpose of chip-breaking the tool remains on this level for the programmed dwell time B, then it willbe lifted by 1 mm. With each subsequent downfeed the drilling depth is reduced bythe 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 withdrawalplane.

    Programming Hints If the addresses D and K are not programmed, the hole is drilled down, in a singleuninterrupted 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.

  • 7/22/2019 Milling Programming Manual

    88/207

    G83 Drilling Cycle With Chip-Breaking and Chip Removal

    88 Programmers Guide for CNC Milling

    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 = 100K = 35D = 10

    In this example the 1st drilling depth K is set to 35mm, the degression D is 10 mm.Accordingly, after both the first and second

    downfeed the drilling depth is reduced by 10 mm to25 mm and 15 mm respectively. As the drillingdepth must not fall short of the value D, thesubsequent drillings (after the 3rd downfeed) willbe executed with a drilling depth of 10 mm.With a total drilling depth of 100 mm, the drillingdepth of the last operation is 5 mm.

    Diagram G83.2 : Reduction of Drilling Depth - Degression

  • 7/22/2019 Milling Programming Manual

    89/207

    Drilling Cycle With Chip-Breaking and Chip-Removal G83

    MTS GmbH 1998 89

    Drilling Cycle with Chip-Breaking and Chip-RemovalG83

    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 thefirst clearance plane after each downfeed, for chip-removal. The cycle can beinvocated by one of the commands G77, G78 or G79.

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

    Addresses Z Total drilling depth, incremental to the clearance plane

    Optional Addresses W Distance between the clearance plane and the withdrawal plane.If W is not programmed or set to zero, the clearance plane and thewithdrawal 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 - DegressionWith reference to the 1st drilling depth K the drilling depth is reduced aftereach downfeed by the value D; it must however not fall short of D(see Diagram G83.2).

    K 1st drilling depth

    Explanation In the first downfeed the hole is drilled down to the value K at the programmed

    speed and feedrate. For the purpose of chip-breaking the tool remains on this levelfor the programmed dwell time B, then it will retreat to the first clearance plane forchip-removal. Next the tool is moved down again in rapid motion to a position of1mm above the drilling level before the drilling to the applicable programmed levelis executed. As described above, with each downfeed the drilling depth is reducedby the programmed degression D.

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

    Programming Hints If the addresses D and K are not programmed, the hole is drilled down, in a singleuninterrupted 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.

  • 7/22/2019 Milling Programming Manual

    90/207

  • 7/22/2019 Milling Programming Manual

    91/207

    Tapping Cycle G84

    MTS GmbH 1998 91

    Tapping Cycle G84

    Function The command G84 serves to define a tapping cycle. To execute the cycle it can be

    invocated by one of the commands G77, G78 or G79.

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

    Addresses Z Total drilling depth, incremental to the clearance plane

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

    Explanation Prior to the cycle invocation, the sense of spindle rotation must be programmedaccording 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 senseof spindle rotation at the programmed speed and feedrate to the specified tappingdepth Z. As a next step the rotation sense is automatically inversed and the tool isretracted 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 planein rapid traverse motion.

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

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

  • 7/22/2019 Milling Programming Manual

    92/207

  • 7/22/2019 Milling Programming Manual

    93/207

    Reaming of a Drilled Hole G85

    MTS GmbH 1998 93

    Reaming of a Drilled Hole G85

    Function The command G85 serves to define a cycle for reaming a drilled hole. To execute

    the cycle it must be invocated by one of the commands G77, G78 or G79.

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

    Addresses Z Total drilling depth, incremental to the clearance plane

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

    Explanation Prior to the cycle invocation, the sense of spindle rotation must be programmedaccording 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 theprogrammed speed and feedrate to the specified depth Z. As a next step the tool isretracted in feed motion to the clearance plane with the rotation sense unaltered. Ifa 2nd clearance plane (withdrawal plane) has been defined, the tool will return tothis plane in rapid traverse motion.

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

  • 7/22/2019 Milling Programming Manual

    94/207

    G86 Boring of a Drilled Hole

    94 Programmers Guide for CNC Milling

    Programming Example:

    N090 G86 Z-47 W+5

    N095 G79

    Diagram G86

  • 7/22/2019 Milling Programming Manual

    95/207

    Boring of a Drilled Hole G86

    MTS GmbH 1998 95

    Boring of a Drilled Hole G86

    Function The command G86 serves to define a cycle for boring a drilled hole. To execute the

    cycle it must be invocated by one of the commands G77, G78 or G79.

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

    Addresses Z Total drilling depth, incremental to the clearance plane

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

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

    to the withdrawal plane with the spindle at standstill.

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

  • 7/22/2019 Milling Programming Manual

    96/207

  • 7/22/2019 Milling Programming Manual

    97/207

    Rectangular Pocket Cycle G87

    MTS GmbH 1998 97

    Rectangular Pocket Cycle G87

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

    pocket.

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

    Addresses X Pocket Length in X - absolute

    Y Pocket Width in X - absolute

    Z Pocket Depth in X - incremental to the clearance plane.

    K Feed adjustment in Z after each pass. Only non-zero input is valid.

    +: If a positive sign is programmed, the pocket will be broached on each feedlevel from the centre outwards.

    -: If a negative sign has been programmed with K , first a slot is milled to thefinished size, then the pocket will be broached to the programmed depth in asingle uninterrupted operation.

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

    + Sign: Clockwise machining- Sign: Counterclockwise machining

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

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

    B Radius of internal corner roundings

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

    This procedure will be repeated until the pocket has been broached to theprogrammed total depth Z. The NC system computes the number of passesrequired according to the programmed pocket depth Z and the programmed infeedK. After completion of a cycle the tool is retracted in rapid motion to the originalposition in the withdrawal plane.

  • 7/22/2019 Milling Programming Manual

    98/207

    G88 Circular Pocket Cycle

    98 Programmers Guide for CNC Milling

    Programming Example:

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

    N125 G79 X+85 Y+65

    Diagram G88

  • 7/22/2019 Milling Programming Manual

    99/207

  • 7/22/2019 Milling Programming Manual

    100/207

    G89 Pin Cycle

    100 Programmers Guide for CNC Milling

    Programming Example:

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

    N125 G79 X+85 Y+65

    Diagram G89

  • 7/22/2019 Milling Programming Manual

    101/207

    Pin Cycle G89

    MTS GmbH 1998 101

    Pin Cycle G89

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

    a pin.

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

    Addresses Z Depth of the pocket in Z, incremental to the clearance plane

    B Radius of the pin

    C Radius of the pocket

    K Feed adjustment in Z after each cutting operation. Only non-zero values arevalid.

    The cutting operation is executed from the centre outwards

    + Sign: Circular cutter path

    - Sign: Helical cutter path

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

    + Sign: Clockwise machiningSign: Counterclockwise machining

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

    W Distance between the clearance plane and the withdrawal plane.

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

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

    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 theprogrammed pocket depth Z and the programmed downfeed K. After completion ofa cycle the tool is retracted in rapid motion to the original position in the withdrawalplane.

  • 7/22/2019 Milling Programming Manual

    102/207

  • 7/22/2019 Milling Programming Manual

    103/207

    6. Programming of Contour Strings

    MTS GmbH 1998 103

    Two-Point-Strings (N=2)

    Two-Point-Strings define a single entity, either a straight line or a circular arc. Withthe starting point P0 given, the end point P1 will be computed according to thedimensions specified.

    Diagram 6.1 : Two-Point-Strings

    Three-Point-Strings(N=3)

    Three-Point-Strings consist of two entities. The following combinations are possible:

    1. line - line2. line - arc3. arc - line4. arc - arc

    Diagram 6.2 : Three-Point-Strings

  • 7/22/2019 Milling Programming Manual

    104/207

    6. Programming of Contour Strings

    104 Programmers Guide for CNC Milling

    Addresses for Contour String Programming

    Line G71

    X/Y Target point coordinates in the X- and Y-direction

    A Angle of the line to the positive X-axisL Length of the line

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

    Diagram 6.3.1 : Diagram 6.3.2 : Diagram 6.3.3 :

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

    Circular arc G72 or G73

    X/Y Target point coordinates in X- and YI/J Circle centre coordinates in X- and Y

    (incremental or absolute)A Arc starting angle to the positive X-axisB Arc radiusE Arc end angle

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

  • 7/22/2019 Milling Programming Manual

    105/207

  • 7/22/2019 Milling Programming Manual

    106/207

    6.1 Additional Addresses

    106 Programmers Guide for CNC Milling

    6.1 Additional Addresses

    In addition to the addresses for geometric dimensioning, as specified above, thesystem 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 tangentialtransitions to a line or to an arc.

    Address C serves to insert a chamfer or rounding between to consecutive straightlines, without any additional computing.

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

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

  • 7/22/2019 Milling Programming Manual

    107/207

  • 7/22/2019 Milling Programming Manual

    108/207

  • 7/22/2019 Milling Programming Manual

    109/207

  • 7/22/2019 Milling Programming Manual

    110/207

  • 7/22/2019 Milling Programming Manual

    111/207

    6.1.3 Selection of Solutions-

    MTS GmbH 1998 111

    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 (seeDiagram 6.16). Consequently the control system must be informed on the desiredcontour. 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 selectthe second alternative.

    Priority of the Angle Criterion

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

    Programmed addresses:

    X X-Coordinate of the end point

    I/J Centre coordinates

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

    1-1

    and P1-2

    are possible end points of thecontour.

    Diagram 6.16 : Example for application of the arc criterion

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

  • 7/22/2019 Milling Programming Manual

    112/207

    6.1.3.1 Selection of Solutions - Angle Criterion-

    112 Programmers Guide for CNC Milling

    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 anexample of applying the angle criterion to select one of the alternative solutions.

    Given addresses:

    L Length of the lineI,J Coordinates of the arc centreX,Y Coordinates of the arc end point

    NC-block

    G71 L... P001 or P002

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

    Diagram 6.17 : Angle criterion for selection of a solution

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

    coordinates) and by its (absolute) end point coordinates X and Y.

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

    Solutions depending on the length L

    No solution if the specified value L is either too small or too great, the

    end point of the line will not be situated on the arc no

    solution; results from the computation and an appropriateerror message will appear

    Single solution if L equals the shortest distance between the circular arcand 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-1and P1-2two solutions

    Angle Criterion forSelection

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

    To select the first solution (smaller angle to the X-axis) P001 is programmedCourse of the contour:P -> P - -> P

    To select the second solution (greater angle to the X-axis) P002 is programmedCourse of the contour:P -> P - -> P

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

  • 7/22/2019 Milling Programming Manual

    113/207

    6.1.3.2 Selection of Solutions - Line Criterion-

    MTS GmbH 1998 113

    6.1.3.2 Selection of Solutions- Line Criterion

    In the following a three-point-string, consisting of a line and an arc, serves as an

    example of applying the line criterion to select a solution.

    Given addresses:

    A Angle of the line to the positive X-axisI,J Coordinates of the arc centreX,Y Coordinates of the arc end point

    NC-blockG71 A... P001 or P002G72 X... Y... I... J... P070

    Diagram 6.18 : Line criterion for selection of a solution

    Explanation - The end point of the line starting at P0is situated on a half line at an angle Ato the positive X-axis.

    - The position of the arc is determined by its centre (I and J, as absolute

    coordinates) and by its (absolute) end point coordinates X and Y.

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

    Solutions dependent on the angle A

    No solution with the specified angle A neither a tangential point nor an

    intersection point will result no solution - an appropriate

    error message will appear

    Single solution with the specified angle A exactly one tangential point will

    result a single solution (tangent to the arc)

    Two solutions with the specified angle A the half line will intersect the arc

    at both the points P1-1and P1-2two solutions

    Line criterion forselection

    The alternative solutions are distinguished by the different lengths of the line ( linecriterion):

    To select the first solution (shorter line) P001 is programmedCourse of the contour:P0 -> P1-1 -> P2

    To select the second solution (longer line) P002 is programmedCourse of the contour:P0 -> P1-2 -> P2

    Programming Hints To select a solution, P001 or P002 must be programmed in an NC-block together

    with the applicable line.

  • 7/22/2019 Milling Programming Manual

    114/207

  • 7/22/2019 Milling Programming Manual

    115/207

  • 7/22/2019 Milling Programming Manual

    116/207

  • 7/22/2019 Milling Programming Manual

    117/207

    6.1.4 Rounding between Two Entities-

    MTS GmbH 1998 117

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

    Roundings can be inserted between any combination of the contour entities lineand arc, provided that the entities do intersect or touch at a tangential point. If twopossible 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 (greaterarc) to select one of the alternatives.

    G71 A.. C+.. P011 or P012G71 X.. Y.. A..

    Diagram 6.21 : Example of a rounding between two lines

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

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

    Example According to the addresses programmed with a three-point-.string, consisting of aline and an arc, two mathematical solutions are possible (see Diagram 6.22: P1-1and P1-2).

    G71 Y.. P001 or P002G72 X.. Y.. I.. J.. (P070)

    Diagram 6.22 : Two solutions of a contour con