0% found this document useful (0 votes)
2K views271 pages

MAHO Philips 432 M700 - Programming Manual

KNJIGA ZA RUCNO PROGRAMIRANJE NA PHISIPS 432 UPRAVLJACIMA

Uploaded by

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

MAHO Philips 432 M700 - Programming Manual

KNJIGA ZA RUCNO PROGRAMIRANJE NA PHISIPS 432 UPRAVLJACIMA

Uploaded by

Vanja Vlajkov
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
-~ CNC3000 Series C CNC3460/3560 M700 Programming manual 4822 873 20408 Numerical control 1 eo1025 PHILIPS ‘The publisher does not assume, on the basis of the information contained in this manual, any liability as to specifications. For the specitication of this numerical control system, reference ‘should be made to the ordering data and the specification catalogue exclusively. PHILIPS EXPORT B.V. EINDHOVEN, THE NETHERLANDS 1989 Al rights are reserved. Reproduction in whole or in part is prohibited without the written consent of the copyright owner. CONTENTS: Page 1 Part programming 14 4 12 12 13 14 4.3.4 14 14 Preparing a part program 15 1.44 Program identification, 18 1.42 16 1.43 17 15 17 2 Proparatory tunctions[G] 3. Programming a position The coordinate system a4 ‘Axis direction a The Z-aris ann 34 The X-axis. 32 The Y-axis. 32 Schematic drawings. 32 34 34 Polar coordinates 38 ‘One cartesian coo 345 Point definition(@78)... 347 Changing coordinate systoms{G180/G162}. 320 4 Establishing zero datum points . Zero datum points a +4 45 Zero datum point shits{G92/G93}.... 46 Establishing the zero datum point at program star. 43 Motion commands , Rapid traverse movements sn sommes Sef Rapid traverse [G0}. St Positioning logic... St Rapid averse to poston with regard to FUG74). 53 Linear interpolation{G1]. 55 521. One or two linear axes 55 2. Using a rotary axis. 56 523. 30-interpolation st 5231. Thee linear axes... a 5.2.32 Twolinear axes and a rotary axis. 513 5.2.4. Simultaneous movement ofthe linear and rotary axes 514 53. Circular interpolation 515 53.1. Direction of movement{G2/G3} 515 532. —_Acircle ina plane perpendicular to the toolaxis. 516 891025 Programming CNC3460/700 Index - 1 - [Link]. Programming a circular are. 516 5.3.22. Programming a full circle 521 53.3. circle not in the main plane..... 5-22 5.3.4. Using the linear axes U, V or 5-23 5.4. Circular arc with a simultaneous movement of the third axis. 5-25 55. Helix interpolation ...1nnnennnsnnn 5-27 56. Feed programming . 5-29 Feedrate in mm(inches)/min or mmi(inches)/reviG94/G35].. 5-29 Feed overide operative of fixed to 100%[G25/G26].... 5-30 Dwell 5-20 Movements 531 INPOSITIONI3=/14x].. 5-31 ‘Switching on/off the positioning logic {15=].. 5-32 6 ‘Tool compensation 61 Tool length compensation. 61 6.1.1. Tool in diferent axes and plane selection [G17/G19] 62 6.1.2. Too! in different directions of the tool axis [G66/G67}. 65 62. Tool radius compensation. 66 62.1. Axis parallel radius compensation [G43/G44] 67 Contouring radius compensation [G41/G42) 69 Starting contouring radius compensation . 612 Cancelling radius compensation{G40] 614 Feedrate with radius compensation(F'1=] . 616 Examples of contouring radius compensation... 616 Restrictions at the use of radius compensation 621 8D-tool correction(G141] 621 Introduction to 3D-tool correction. 621 Normalized vectors... . 622 Cutter parameters... 6-23 Calculation method... 6-23 Programming 30-tool correction. 6-24 Activating a tool 6-26 ‘Auxillary machine functions Spindle speed [SI.... 7A Coded spindle speed programming. 7A ‘Analog spindle speed programming 7A Too! numbers [T ] 72 ‘Automatic tool changers... 73 Random access tool memory{P] 73 Tool life monitoring .. TH ‘Spare tool assignment. 14 ‘Auxiliary function (H] 14 74, Miscellaneous functions [MI]. 75 7.44. Stop commands{MO&M30)..... 76 7.42. Spindle commands|M3/M4/MS/M19}. 78 7.43. Coolant commands{M7/MB/MS]... 7 Index - 2- Programming CNC3460/700 291025 95.3. ‘Combination of M-unetions [M19/M1 4) 77 ‘Tool change commandsiM6/M66/M67]. 78 ‘Machining cycles Cycles for hole operations{G81, G83 - G8é. at Cycle definitions for hole operations .. a1 Tool movements. se 83 ‘Activating a defined cycle on a point{G79] 86 Examples with machining cycles. 87 ‘Avoiding a collision with clamps. ett Cycle in different axes. et2 Bolt hole circlo{77]. 813 Milling cycles... 817 A rectangular pockat{ G87. ‘A groove|G88] A circular pocket{G89] Rotating pockets or groove: Special features Inch/metric programming[G70/G7 ot Call of a pant program{G23} 92 Parametric programming{E] 93 Relating a parameter to an address. 93 Setting parameter values 4 Calculations with parameters. 96 Subprograms or macros. 97 Identification of a subprogram 97 Calling up a subprogram{G22] 87 Parameter use in a subprogram.. 99 Repeat and jump functions.. ot ot ott 812 912 96.1 ‘Scaling[@72/G73] 9.6.2. Mirror image[G72/G73} 9.6.3. Axes rotation[G92/G33}.. 97. ‘Automation package... 874 ‘Too! performance monitor{ T1= } 972. —_Extemal part program selection 98. ‘Chamfer and rounding(@1 1 9.8.1. General remarks about G11 9.82. One point geometry with chamfer or rounding . 9:26 9.8.3. Two point geometry with chamter or rounding. 927 9.8.4. —_Intersection point calculation... $31 291025 Programming CNC3460/700 Index - 3 - Page 10. Geometry 10.4 General introduction 10-4 102. Using the geometry. « 10-4 Programming an endpoint or centre point 10-4 ‘Additional words with linear movements 105 ‘Additional words with circular movements 105 10.2.4, Definitions related to the additional words. 105 10.2. ‘Angle in the direction of movement 105 102.4.2. Left or right intersection point we 107 1024.3. A parallel ine. 108 [Link]. A support point on a line... 109 [Link]. Line parallel toa tangent line.. 10-10 102.5. Programming a linear movem« 10-10 102.6. Programming a circular movement 10-14 102.7. Conventions with the use of the geometry. 10-16 103. ‘Some examples... 10-18 10.3.1. Examples explaining some definitions. se 10-18 10.3.2. Commom tangent line between two circies... 10-21 10.3.3. Two tangent circles. o 10-23 10.3.4, Matching circle betwee! 10-25 103.5. Matching circles between circles 10-27 10.3.6. Chamfor programming... 10-28 10.3.7. Rounding between two intersecting lines .. 10-90 10.4. Discontinuous movements. 10-31 10.4.1. Tangent lines 10.4.2. Matching circles.. 10.4.3, Matching circle between line and circle 10-34 10.4.4. Matching circle between two circles... 10-96 10.45. Acircular connection between two geometric elements.. 10-41 Index - 4 - Programming CNC3460/700 991025 [Link]. [Link]. [Link]. Special options Incycle gauging. 114 Component inspection 114 Possible touch trigger 11-2 Measuring a point [G45]. 113 Measuring a circle [G46] 11-4 Processing the measuring results [G49/G50]. ‘ 16 Too! measurements [645+M25}.... 118 Touch probe calibration [G46+M26].. 119 Programming measuring cycle macros.. 11-9 G145 Operational modes 1411 Calling probe status [6148} 14-11 6148 Operational modes 11-11 Calling tool data and offsets (G149] Calling active too! Calling active offsets (G149 Operational modes... ‘Adapting tool data and offsets [G: .G150 Operational modes Graphics ne Introduction to graphical program test Graphios window [G96]... Component dimensions with graphics [G98]. 891025 Programming CNC3460/700 Index -5 - | Calculation extensions an @ 124 12:2 122 123 128 128 ‘Automatic type conversion. Goniometric functions. The angie.. ‘The functions sin, cos and tan. Inverse goniometric functions Expressions. 12-4 125 126 126 ve @ 127 12-7 128 128 Operating... 129 ‘The menu ED-EXPR. 129 Calculator function. 1240 Examples of the u 42:40 The intersection point of two lines 12:40 Datum point shift after axes rotation 12-43 AA circular pocket with spherical bottom 1246 Cylinder interpotation 194 ‘Axes and planes 134 Activating and car 192 General feMaNKS nner 32 @ Activating cylinder interpolation(@162) 13:3 Programming conventions. 133 Possibie G-tunctions.. 13:3 The plane of the surtace 19-4 Coordinates 134 195 135 185 135 135 Circular feed movements [62/43] 136 Radius compensation [440-G44] 196 Example of the use.. . 18-7 Index - 6 - Programming CNC3460/700 891025 PART PROGRAMMING 1.1. INTRODUCTION A part program is the complete set of data and instructions required for producing a particular workpiece ‘ona numerically controlled machine tool. ‘The instructions may contain different operations, such as milling, driling, tapping, etc. Each separate operation is considered as a unit and can be split up into smaller instructions. One complete operation, eg. the simultaneous movement of different axes, is called a block and its smaller instructions, e.g. the ‘movernent of one axis or a machine tool function, words. Preparing a part program means, that the proper sequence of the machining and all separate instructions, thus tool movements, machine tool functions, technological data, etc. have to be determined. ‘Once a part program is prepared and before it can be executed, it has to be stored in the memory of the ‘control. There are three ways in which to do this: = use the dialogue of the control; = enter the program manually via the control panel; ~ prepare on data terminal equipment a data carrier, such as a punched paper tape, a magnetic digital ‘cassette of a disk and read the data into the memory. For data storage the control has a RAM memory. Its divided into two sections: = System memory ; in this memory all settings for a particular machine tooVoontrol configuration are stored. = Usermemory — : this memory contains all data for running a part program. Part of the user mem- ‘oy Is reserved for tool dimensions, another part for the programs and sub pro- ‘grams (macros). ‘A memory back up battery is available, so that if the control is switched off, the-data is retained for up toa month. 891025 Programming CNC3460/700 Section 1 - 1 1.2. PROGRAM WORDS ‘The control employs the WORD ADDRESS system. ‘Aword is divided into two parts: 1. the address, + single address, that is one alpha character or = indexed address, that is an alpha character followed by an index ‘and the = sign, e.g. t= 2. amuiti digit number. ‘The leading zeros can be omitted for all words. If the value of a word is zero, then at least one zero must be written. The words giving dimensional information can have a sign (plus or minus). If no sign Is programmed, a positive value is assumed. For negative values a minus sign must be [Link] words can be written with a decimal point. In this case the trailing zeros can be omitted too. If the decimal point is not programmed, itis assumed to be situated atter the last entered digit. EXAMPLE 1.2.-1 Construction of a word (single) Xo a . 48 (indexed) Mie = at 43 Address: _ | Sign ‘Value before decimal point Decimal point Value after decimal point ‘Modal words ‘Modal words are active until the same word is programmed, with a different value. Therefore these words need only to be written in a block where a change of value is required. ‘Non-modal words Non-modal words are only active in the block in which they are programmed, and must be written into ‘every block in which they are required. Section 1-2 Programming CNC3460/700 991025 Frequently used words In table 1.2.-1 the frequently used words are listed. The meaning of the word format is : e word with decimal point and without sign word with sign and decimal point leading and (due to decimal point notation) trailing zeros can be omitted. ‘six digits before and three digits after the decimal point word without sign and decimal point leading zeros can be omitted maximum number of digits soe 2088 TABLE 1.2-4 Frequently used words and their format ‘Address. Description metric inch Block number 07 Program identification 07 Preparatory function 03 Dimension along X-axis Dimension along Y-axis Dimension along Z-axis + Dimension along 4. axis s Dimension along 5. axis 6 Dimension along 6. axis +4063 Radius of circular arc X centre coordinate +063 Y centre coordinate +4063 Z centre coordinate +063 Point number 03 4054 +054 +054 +054 BBBRRRE ebb888 wxc-a Feedrate Spindle speed 04 Too! number 03, ‘Auxiliary function 04 02 03 g 8 Miscellaneous function Parameter number mzxr407 * The address of the 4., . oF 6. axis can B,C,U,V,W Refer to Appendix A for a complete list of all words recognized by the control and the meaning of each ‘word in different occasions in a part program or in the memories. 991025 Programming CNC3460/700 Section 1-3 1.3. PROGRAM BLOCKS A block is a group of words considered as a unit and contains all information needed for one complete ‘operation (tool movement and/or machine tool function). € ‘The contol employs a VARIABLE BLOCK FORMAT. This means that the block length varies from block to block because of changes in the number and/or length of the words. Up to 80 characters are allowed in a block. EXAMPLE 1.3.-1 Construction of a block at X14 262.5 F300 $200 T12M3 sane) CT TT oO Preparatory function Dimensional information, —————J Technological data 1 ° ‘Machine functions ‘The words in a block Is given in table 1.2- be written in any order. The preferred sequence for the frequently used words Each word may only occur once in a particular block. Words such as E1= and E2= have different addresses and therefore can be used together in the same block. Blocks are separated by the character line feed [LF]. 1.3.1. THE BLOCK NUMBER [N] The fist word in a block is the block number. It is used to identity that block. Each block must have a @ separate [Link] block numbers range from N 0 to [Link] to remark'2 in section 1.4.1. for programs which should be downwards compatible with older software versions. In general it is not allowed to use the same block number twice in the same program. However, if the BTR possibility (part of the CAD-module of the CNC) is used, the check on the block numbers is automatically switched off. Block numbers may be used in any sequence. The execution will be in the programmed sequence. Eg. programmed sequence: N10, NSO, N30 executed sequence N10, N50, N30 With the re-number function of the control the block numbers can automatically be numbered in increasing order, starting from N1. When entering the program blocks via the control panel, the block numbers are automatically generated. Section 1-4 Programming CNC3460/700 891025 1.4. PREPARING A PART PROGRAM @ 1.4.1. PROGRAM IDENTIFICATION Each part program on a data cartier has to start with a memory recognition and an identification number (rogram number). The recognition for the part program memory is : %PM The program identification is a number ranging ftom 1 to 9996909. So numbers as 1, 125, 9001, 12945, 876543, 3451592 are valid ‘identification [Link] identfication number should be placed directly behind ®GPM and the part pro- {gram has to start with a block number equal to the identification number.(see example 1.4.1.-1). With the rename function of the control the identification number can be changed. | AA part program can be given a name written between the characters control out {(] and control in D] | ‘and directly after the block number of the first block. | With a MC-setting is determined, what will be displayed on the screen of the control, when the directory (clist) of the part programs (ID-DIR) is chosen: ~ the program numbers, together with the names or a ~ the program numbers, together with the size of each program in bytes and its status, EXAMPLE : 1.4.1.-1. Part program identification with name ‘%4PM9001 N9001 (PLATE NA. A334) or | %6PM19576 N19576 (GEAR BOX) Remarks: 1. Subprograms or macros are handeled in the same way as part programs, except for the memory recognition which is % MM. 2. If the program should also be used on a Philips Control with a lower software version (V400 or a 'V500), then: . = the block numbers in each program or macro should range from N1 to N8999, = _ the identification should range from N9000 to N9999990, = the memory recognition (%PM or %MM) on the data carrier is placed in front of all part programs or macros. 3. Ifa data carrier made with version V400 or V500 is read in, itis automaticaly recognized as such and the information propery transfered to the memory. ( 4.) The data transfer from the CNC to a data carer is controled by aMC-setting: (99! =0 :the programs or macros are writen as fr the older software versions. ‘ = :the programs or macros are writen as described. 891025 Programming CNC3460/700 Section 1 -5 ‘ | 1.42 PROGRAM SETUP ‘The following information is required for preparing a part program: 1. Determine the mounting of the workpiece and the position of the clamps; 2. Determine the machining operation sequer 3. Determine the toois required for the operations; 4. Determine per tool the relevant technological data; 5. Determine the workpiece dimensions and the necessary movements. ‘The points 1 to 4 are outside the scope of this manual. . ‘The movements on the machine are partly made by the tool and party by the workpiece. To simplify the Programming it is assumed that all movements are carried out by the tool. In the machine tool/control Configuration is fixed, how the movements are executed in really To establish the tool movements, an imaginary coordinate system is applied to the machine and has, as far as part programming Is concerned, a fixed relationship to the workpiece. The datum point (origin) of the system can be chosen quite arbitrarily. The directions of the axes are laid down in Intemational standards, such as ISO 841, DIN 66217 or EIA RS-267-A. Depending on the dimensions of the workpiece the required tool movements are then determined as points within this coordinate system. In the remainder of this manual is described how: + to set the datum point, to program coordinates and movements, to compensate for tool dimensions, 10 enter technological data and machine functions, 10 use special features of the control. Section 1-6 Programming CNC3460/700 991025 Oo aD ) 1.43. PROGRAM SHEET In preparing part programs it is recommended to use program sheets. Each line represents a block and every word in a block has its own column. PHILIPS NUMERICAL CONTROL SYSTEM 2490 PROGRAM SHEET PAGE... OF WoRKPIECE: MATERIAL: PROGRAMMER: ate: DRAWING NUMBER: (GEOMETRIC INFORMATION. TECHNOLOGICAL INFORMATION tw [w]e |x [v[z[wl[m[s[x«[lelelse][s][le NB6172 Fig. 1.4.31 A typical example of a program sheet 1.5 PROGRAM STORAGE . More than one program or sub program (macro) can be stored in the same part of the user memory. The actual number of stored programs and macros depends greatly on the size of each program and macro and on the available memory capacity. The maximum number is set in the MC-memory and ranges from 16 to 1000. With the /ock function it is possible to protect part programs and macros against unauthorised editing (on the control. 891025 Programming CNC3460/700 ‘Section 1 -7 2. PREPARATORY FUNCTIONS [G] ‘The second word of a block is the preparatory function (G-function). It presets the control for the required type of operation. Only one G-function may be programmed in a block. ‘The G-functions are classified into groups, of which only one function can be active. The active function is cancelled by programming a different one from the same group. ‘At CLEAR CONTROL, thus at resetting the control system, one preparatory function from each group is automatically preset by the control. . ‘The preparatory functions recognized by the control, are listed in table 2.-1. The groups are identified by the letters A, B,C, D, etc. These letters are in accordance with ISO DIS 6983 and DIN 66025. The preset functions are marked with the symbol *. ‘A function with no group letter (-) effects only the block in which itis programmed. TABLE 2.-1 List of Preparatory functions Funct [Group | Description Modal | Reset | Section - Page GO | A_ | Rapid traverse movement Y . 51 G1 | A_ | Linear teed movement Y 55 G2 | A_ | Circular feed movementscw Y 515 Helix interpotation,ciw G3 | A | Circular feed movement,cctw Y 515 Helix interpotation,cciw as | - | dwell : 5-30 Git | - | Chamfer and rounding : 924 G14 | - | Jump and repeat function : ott G17 | C | Plane selection xY-plane; tool Z Y 1) 62 Gig | C | Plane selection XZ-plane; tool ¥ Y 1) 62 Gis | C | Plane selection YZ-plane; tool X Y 1) 62 G20 | C_ | Plane selection xY-plane; tool W Y 1) G22 | - | Callofasubprogram : 97 G23 | - | Callofapartprogram : ‘ 92 G25 | G_ | Feed override operative Y . 5-30 G26 | G | Feed override fixed to 100% Y 5-30 G27 | H__ | Restore INPOSITION execution Y . 531 G28 | H_ | Movements with/without INPOSITION Y 531 G29 | - | Conditional jump : on G40 | D | Cancel radius compensation Y . 614 G41 | D | Radius compensation LEFT Y 69 G42 | D_ | Radius compensation RIGHT Y 69 G43] D | Radius compensation TO Y 67 G44 | D | Radius compensation PAST Y 67 G45 | - | Measuring a point : 14 891025 Programming CNC3460/700 Section 2-1 Funct |Group | Description Modal | Reset | Section - Page @as | - [Measuring a circle : 14 G47 | - | Process measuring results : Pa G49 | - | Check on tolerances : 117 G50 | - | Process the differences - G51 | R_| Ignore RESET AXES datum point Y 2) 45 G52 | R__| Activate RESET AXES datum point Y 2) 45 G53 | F | Cancel stored zero offsets Y "2) 44 54 | F | Activate [Link] zero offsot Y 2) 44 G55 | F | Activate [Link] zero offset y 2) 44 G56 | F | Activate [Link] zero offset Y 2) 44 57 | F _ | Activate [Link] zero offset y 2 44 G52 | F | Activate [Link] zero offset Y 2) “4 G59 | F | Activate [Link] zero offset Y 2) 44 G63 | N__ | Cancel geometric calculations Y . 10-1 G64 | N__ | Activate geometric calculations Y 10-4 G66 | P | Length compensation in *-" dir. Y "2) 65 67 | P| Length compensation in "+" Y 2) 65 G70 | M_| Program in inches Y 1) ot G71 | M_ | Program is metric Y ) ot G72 | Q__ | Cancel mirror image or scaling Y ‘ 913 G73 |__| Activate mirror image or scaling Y 913 G74 | - | Rapid traverse to position to R : 53 G77 | - _ | Execute cycle on circular pattern - 813 G7a_| - | Point definition - 317 G79 | - _ | Execute cycle on a point + 86 Get | € | Define ailing cycle Y at G83 | E | Define deephole driling cycle Y cal Ge4_| E | Define tapping cycle Y at G85 | E | Define reaming cycle Y at G86 | E | Define boring cycle Y a1 G87 | E _ | Define miling cycle rect. pocket Y 817 G88 | E | Define milling cycle groove Y 822 G89 | E | Define miling cycle circ. pocket y 8:25 G90 | J | Absolute cartesian dimensions. Y : a4 Section 2-2 Programming CNC3460/700 291025 Funct | Group] Description Modal | Reset | Section-Page G91 | J | Incremental cartesian dimensions, Y a4 @92_| - — | Datumpoint shitt from last datum : 46 ‘Axos rot. from last axis in use G93 | - | Datumpoint shift from fixed datum 46 ‘Axes rot. from machine tool axis G94 | K | Feed in mnvmin or inctvmin y : 5:29 @95 | K | Feedin mmvrev or inctvrev Y 5:29 98 | - | Graphics window 14-14 99 | - | Material dimensions 11-16 Gt41 | D | Activate 30-too! correction Y 621 G145 | - — | Basic measuring movement 11-9 Gt48 | - | Calling measuring probe status 4444 G143 | - | Calling tool data and offsets (measuring) 11-12 G150 | - | Processing tool data and offsets 11-13 @ia0 | 8 | Standard machine tool coordinates Y . 3-20 Gi82 | 8 | Cylinder interpolation Y 3-20 Gi96 | S| End graphic contour definitions Y . G197 | S_| First point of a contour Y Gi98 | S| First point of a contour Y Gisa.| S| Window for graphic contours Y 1) _Notinfluenced by CLEAR CONTROL. Preset functions determined by MC-setting 2) Not influenced by CLEAR CONTROL. *2)__ Preset function at switching on . 891025 Programming CNC3460/700 Section 2-3 3. PROGRAMMING A POSITION The following definitions of the coordinate system and the axis directions conform to the standards ISO 841, DIN 66217 and EIA RS-267-A. 3.1. THE COORDINATE SYSTEM The positions of the tool movements are determined in a rectangular, right-handed coordinate [Link] means, that the main linear axes X, Y and Z are at right angles to each [Link]- ‘handed means, that a rotation from +X to +Y is represented by a helix with right-handed thread in the +Z-direction. +Y¥ Ay ux VI wiz GC * +A “2 +Z NB6082_ Fig. 3.1.-1 A rectangular, right-handed coordinate system Figure 3.1.-1 shows : + the main linear axes X, Y and Z; ~ the rotary axes A, B and C for a rotation about one of the main axes; - additional linear axes U, V and W parallel to the main axes. . ‘The datum point (origin) of the coordinate system (X=0, Y=0, Z=0) can be any arbitrary point within the range of the control. Refer to chapter 4 for a detailed description of the datum points. 3.2. AXIS DIRECTIONS 3.24. THEZ-AXIS The Z-axis is always parallel to the machine main [Link] a machine with several spindles, the one at right angles to the workplece clamping surface is chosen as the main spindle. ‘The positive Z-direction runs from the centre of the workpiece to the centre of the tool. This means that ‘@ movement in the positive Z-direction increases the distance between the workpiece and the tool. 891025 Programming CNC3460/700 Section 3 - 4 3.2.2, THEX-AXIS ‘The X-axis runs horizontally and parallel to the clamping surface. ‘The positive X-direction is to the right, when looking from the spindle towards : = the workpiece with a horizontal Z-axis, + the column with a vertical Z-axis, ~ the left-hand column on a double column machine with a vertical spindle. 3.23. THE Y-AXIS ‘The Y-axis is at right angles to the X and Z-axis. ‘The positive Y-direction is so chosen that a right-handed coordinate system is produced. 3.24, SCHEMATIC DRAWINGS ‘The various axes together with their names and directions are shown in the figures 3.2.4-1, -2, -3. lf the movements are actually made by the tool, the direction of the machine motion and tool motion are ‘identical. if the movements are produced by the workpiece, then the direction of the machine motion ‘and tool motion are opposite to each other. In the figures the positive directions of the tool motion are shown by +X, +Y, +Z and of the machine motion by +X’, +¥', +2’ Fig. 3.2.4.-1. Milling machine with horizontal spindle Section 3-2 Programming CNC3460/700 891025 3.3. COORDINATES = a position with cartesian coordinates, = a position with polar coordinates, = alposition with one cartesian coordinate and an angle. For defining a position the following possibilities are available : a With the latter two possibilities a position is defined in a main plane, thus a plane parallel to either the XY- plane, the XZ-plane or the YZ-plane. The plane in use is programmable with one of the G-functions for plane selection. Tool in | Main plane G7 Zaxis XY-plane Gis Y-axis XZ-plane Gia Xaxis YZ-plane G20 Weaxis| | XY-plane Refer to section... for plane selection, | 3.3.1. CARTESIAN COORDINATES Absolute cartesian coordinates With the absolute cartesian coordinates the position is determined by the distances measured along the ‘axes from the program datum point W (= origin of the coordinate system) to the endpoint of the tool movement. NBes14 Fig. 3.3.1.-1 Absolute cartesian coordinates. Section 3-4 Programming CNC3460/700 891025 Incremental cartesian coordinates With the incremental cartesian coordinates the position is determined by the distances measured along the axes from the present tool position to the final one. NBe821 Fig. 3.3.12 Incremental cartesian coordinates. ‘Changing from absolute to incremental and vice versa Programming incremental cartesian coordinates is established by the modal function G91 and cancelled with G90. internally the control operates with absolute cartesian coordinates related to the program datum point. Therefore within a particular program it is possible to change arbitrarily from absolute to incremental and vice versa. The position on the display ofthe control is always absolute. ‘At the start of a program or at CLEAR CONTROL the control is automatically set for programming absolute cartesian [Link] function G90 only has to be programmed when changing from incremental cartesian coordinates to the absolute ones. Programming a cartesian coordinate ‘A cartesian coordinate in an axis (absolute or incremental) is programmed with : + The address -%¥, of Z for the main linear axes, U, V, of W fora linear axis parallel to a main axis, +A, B, of C fora rotation about a main axis. + The coordinate value. A coordinate value is programmed = fora linear axis in mm or inch = fora rotary axis in degrees. ‘The smallest programmable value is the unit of the measuring system, i.e. in general .001 mm , .0001" or .001 [Link] maximum programmable value is 999,999.99 mm’, 99,999.9999" or 999,999,999 de- grees. 991025 Programming CNC3460/700 Section 3-5 For a linear axis, however, the maximum programmable value depends also on the maximum displacement of the axis and the position of the program datum. An error message Is displayed and further processing of the program inhibited, if the maximum displacement of an axis is violated on the machine tool. For a rotary axis the maximum value corresponds with about 5555 revolutions. ‘The coordinate value can have a plus or minus [Link] absolute cartesian coordinates the sign indicates | the position on the axis. With incremental cartesian coordinates the sign indicates the direction of ‘movement in the axis. | EXAMPLE 3.3.1.-1 Using absolute cartesian coordinates Fig. [Link] Programming with absolute cartesian coordinates In figure 3.3.1-3 a mill has to’ move from point P1, to P2, to P3, to P4. With’ absolute cartesian coordinates these movements are programmed as follows: Nio Go X60 Y-20 1) Nit Gt X30 Y60 F1000 (P2) Ni2 X30 Y¥70 (P3) x90 y-20 (4) Explanation: N10 : A movement with rapid traverse rate (GO) to point P1. N11-N13 : Movements with feedrate (1000 mm/min) to the points P2, P3 and P4. Section 3 - 6 Programming CNC3460/700 991025 EXAMPLE [Link] Using incremental cartesian coordinates NBss22 . Fig. 3.3.1.-4 Programming with incremental cartesian coordinates With incremental cartesian coordinates the movements of figure 3.3.1.~4 can be programmed as follows : 2 NiO Go xX-60 Y-20 (Pt) Nit Got Ni2 G1 x30 Yeo F100 (P2) X60 Y 10 (P3) x60 Y-100 (Pa) Explanation: NiO Point Pt is programmed with absolute coordinates Nit Set the programming for incremental coordinates. N12-N14 : The movements to the points P2, P3 and P4 are programmed with incremental values. 891025 Programming CNC3460/700 Section 3-7 3.3.2. POLAR COORDINATES ‘Absolute polar coordinates ‘With absolute polar coordinates the position is determined by =the word B2= : the angle the line through the program datum point W and the endpoint makes with an axis, - the word L2= : — the distance from datum point to endpoint Fig.3.3.2.-1 Absolute polar coordinates Section 3 - 8 Programming CNC3460/700 291025 The angle 's programmed in decimal degrees and ranges trom +360 degr to -360 degr with a minimum value of 001 degree. NBest16 | @ Fig. 3.3.2.-2 The sign of the angle In the XY-plane. In the XY-plane (G17 or G20 active) the angle is measured with the positive X-axis. The angle is positive with a rotation from +X to +Y and negative with a rotation from +X to -Y | B2s- +2 B2=+ we P NB6817 Fig. [Link] The sign of the angle in the XZ-plane. In the XZ-plane (G18 active) the angle is measured with the positive X-axis. The angle is posttive with a rotation from +X to -Z and negative with a rotation from +X to +Z. 891025 Programming CNC3460/700 Section 3-9 NB6s18 Fig. [Link] The sign of the angle in the YZ-plane. In the YZ-plane (G19 active) the angle is measured with the negative Z-axis. The angle is positive with a rotation from -Z to +Y and negative with a rotation from -Z to -Y. Section 3 - 10 Programming CNC3460/700 991025 ‘The distance is programmed as a dimension word and with a sign. NB6B19 Fig. 9.328 The sign of thé word L2=. Incremental polar coordinates With incremental polar coordinates the position is determined by =the word B1=: the angle the line through the starting point and the endpoint makes with an axis, ~the word L1=: the distance from starting point to endpoint. Fig.[Link] Incremental polar coordinates Refer to the description of the word B2= for the axis to be used in the different planes and the sign ‘conventions. 891025 Programming CNC3460/700 Section 3-11 ‘The distance is programmed as a dimension word and with a sign. Fig 3.3.27 The sign of the word L1= @ Remark : Notice that the functions G90 and G91 do not influence the use of the absolute or incremental polar coordinates. These coordinates can be used arbitrarily in the program. ‘Section 3-12 Programming CNC3460/700 291025 EXAMPLE 3.3.2-1 Using absolute polar coordinates 3 7 .66%801 f\ 63.245 we NB820 Fig. [Link] Programming with absolute polar coordinates With absolute polar coordinates the movements of figure 3.3.2.-8 can be programmed as follows : Bae 161.565 2 =63.245 er B2= 116.565 2 F100 (2), B= 66.801 2 (P3) Be 18.495 B (P4) Explanation: N10 : Amovement with rapid traverse rate (GO) to point P1. @ Nitnis —: Movemonts with feedrate (1000 mmvmin) tothe points P2, P3 and P4., 991025 Programming CNC3460/700 Section 3 - 13 EXAMPLE [Link] — Using incremental polar coordinates 60.828, [ye Ay (7 Pt \\, NB6824 Fig. [Link] Programming with Incremental polar coordinates Section 3-14 Programming CNC3460/700 991025 With incremental polar coordinates the movements of figure 3.3.2.-9 can be programmed 2s follows : Nio Go x-60 Y-20 1) Nit Gt Bi=69.444 Li= 85.44 F100 (Pa) Ni2 Bt 9462 Li= 60.828 (3) B1--59.096 Listte6t9 (4) Explanation: N10: Point Pt is programmed with absolute cartesian coordinates NIT-N13_: The points P2, PS and P4 are programmed with incremental polar coordinates. 3.3.3. ONE CARTESIAN COORDINATE AND AN ANGLE ‘Apposition can also be defined with : = the word X, Y, or Z_: the cartesian coordinate of the main plane, = the word B1= : the angle which the line from starting point to endpoint makes with an axis ‘The cartesian coordinate can be programmed absolute (G90 active) or incremental (G91 active). For programming the angle refer to the description of the word B2= in section 3.3.2 for the axis to be used in the lfferent planes and the sign conventions. Pt Pt B1-| NB7858 Fig. [Link] One absolute cartesian coordinate and angle 891025 Programming CNC3460/700 ‘Section 3 - 15 Fg. 22-2 One incremental cartesian coordinate and angle @ EXAMPLE 3.3.3.-1 Endpoint coordinate and angle Fig, 9.3.3-9 Absolute cartesian coordinate and angle ‘The movement from point PO to P1 to P2 in figure 3.3.3.-3 can be programmed as follows : NiO Go X5 yto (Po) Nit Gi X15 Bix60 —-F1000«— (1) iz Yas. Bt=30 (P2) Explanation: NiO: Amovement with rapid traverse rate to PO N11-N12.: Movements with feedrate (1000 mm/min) to the points P1 (X-coordinate and angle) and P2 (coord end srg) e Section 3 - 16 Programming CNC3460/700 991025 EXAMPLE 3.3.3-2 Distance to move and angle NB6826 Fig. 3.3.3.-4 Incremental cartesian coordinate and angle ‘The movement from point PO to P1 to P2 in figure 3.3.3.-4 can’be programmed as follows : Go x5 Yto (Po) Gat Gt x25 Bi=30 F100 (P1) x10 B1=60 (Pa) Explanation: NiO: Amovement with rapid traverse rate to PO N11: Setthe programming for incremental coordinates N12-N13 : Movements with feedrate (1000 mmvmin) to the points P1 ahd P2 (both X increment and angle) 3.4. POINT DEFINITION [G78] ‘A symbolic name P1, P2, etc. can be given to the points on a drawing. Then a list can be prepared with these symbolic names and the associated absolute coordinates (cartesian or polar) of the points. With the point definition function (G78) the symbolic name and the coordinates of the point are stored in the oint memory of the control. The number of points which can be stored, is determined by a MC-setting, ‘The maximum number is 255. ‘A.G7B-block contains - the symbolic name of the point programmed with the P-word as P1, P2, up to P255 or as P= P2= etc. - the cartesian coordinates of the point for the possible axes. For the position in the main plane also absolute polar coordinates are allowed. No other words are allowed in a G78 block and only one point can be defined in it. 891025 Programming CNC3460/700 Section 3-17 x100 Y100 Zo In this case the symbolic name P1 and the associated coordinates X, Y and Z are stored in the point memory of the control. ‘The symbolic name is used later on in the part program. if the block is executed, the control automatically | picks up the associated coordinates. They are assumed to be related to the program datum W in use at | this particular moment. A point defined with polar coordinates is assumed to ly in the activated main plane. In the biocks with G2, G3, G77, G82 or G93 only one defined point can be written. Up to 10 previously defined points can be used in blocks with a GO, G1 or G79. ‘The defined points remain stored, unti: = the point is defined again in a G78-block; ~ the point memory is changed or cleared by the operator; - a data carrier with defined points is read in. ‘The point memory is not affected by CLEAR CONTROL. EXAMPLE 3.4.-1 Using point definitions, Fig. 3.4.-1 Point definition with cartesian coordinates With the function G78 the points P1, P2, P3 and P4 from figure 3.4.-1 and the associated coordinates are stored in the point memory of the [Link] movements from P1, to P2, to P3 and to P4 are programmed with only these symbolic names. Section 3 - 18 Programming CNC3460/700 291025 The part program could be : Nio G78 P1 X60 20 Nit G78 P2 X30 Yeo Ni2 G78 P3 X30 Y70 Ni. G7B P4 X90 Y30 Pt . P2 1000 P3 Between N13 and N90 any other operation can be programmed. EXAMPLE 3.4.2 Using point definitions and polar coordinates NB6820 Fig. 3.4..2 Pointe defined with polar coordinates ‘The movements from P1, to P2, to P3, to P4 using the point definition and the polar coordinates could be programmed as follows : N1O G78 P1 B=. 161.565 63.245 Ni1 G78 P2 B2= 116563 2 67.082 Ni2 G78 P3 B2= 66801 2 76.158 G78 P4 B2= 18435 2» 94.868 Go PI Gt 1000 238 Between N13 and N90 any other operation can be programmed. 891025 Programming CNC3460/700 Section 3 - 19 3.5. CHANGING COORDINATE SYSTEMS [G180/G182] Up to now was described, how to program a positon in the standard machine tool coordinate system. Hoaovon ts aso poseble to use ancier coordinate systom in which a postion can be programmed in @ the plane ofthe cyinder surface. “Two G-1unctions are provided to indicate which coordinate system is used: 4 = 180: machine tool coordinates “4 = G182: coordinates in the plane of the cylinder surface . m4 “The function G10 is automatically set at program start or CLEAR CONTROL. Refer to chapter 19 for programming in the plane ofthe cylinder surtace (cylinder interpolation). Section 3-20 Programming CNC3460/700 291025 - 4. _ ESTABLISHING ZERO DATUM POINTS 4.1. ZERO DATUM POINTS (On a machine tool five important zero datum points can be recognized: Machine reference datum point Geometric machine zero datum point ‘Secondary machine zero datum point Mounting zero datum point Program zero datum point seeps ‘Machine reference datum point (R) Symbol R Every axis of the machine has a fixed point depending on the machine design, the reference datum point of that axis. During REFERENCE POINT SEARCH (see operator's manual) the tool moves to the reference datum point of the selected axis (or axes ). When running over the datum point the axis is automatically zeroed by the control and the positions of the software limit switches are set. ‘The reference datum points of all axes form the machine reference datum point (R).. 2. Geometric machine zero datum point (Mo) Symbol 0 The geometric machine zero datum point is also a fixed point on the machine, e.g. the centre of the table. When the control system is commissioned, the distances from the machine reference datum point (R) to the geometric machine zero datum point (MO) are measured (along the axes) and stored in the machine constant memory. Per axis a MC is available. Once the machine reference datum point R is found after REFERENCE POINT SEARCH, the associated dimensions are picked up by the control from the MC memory. The geometric machine zero datum point MO is set as the origin of the coordinate system. The displayed positions are related to this datum point. 991025 Programming CNC3460/700 Section 4-4 e &, Fig. 4.1.-2 Schematic relation between R and MO 3. Secondary machine zero datum point (mi — : It the machine tool has several clamping stations, such as pallet stations or more than one rotary table, then each clamping station has its own fixed point in the geometry of the machine tool. These fixed points are the 0 called secondary machine zero datum points (Mi).The distances, measured ‘along the axes, from the geometric machine zero datum point MO to one of the secondary machine zero datum points Mi are stored in the zero offset memory. Six secondary points can be stored in this way. For activating these datum points: see section 4.2. R uM ™. 0 MC-DATA ZERO-OFFSETS _ Fig. 4.1.3 Schematle relation between R, MO and Mi 4. Mounting zero datum point © * ‘Once the secondary machine zero datum point Mi is determined the datum point on the mounting device has to be established. This datum point can coincide with the active Mi or can be set via PRESET AXIS. Refer to section 4.3. ‘Symbol: Section 4-2 Programming CNC3460/700 991025 *; ; e, 4; Fig. 4.1.4 Schematic relation between R, MO, Mi and C Remark : When using an external program call with offset values (part of the optional automation Package), point C is also automatically set by the control. 5. Program zero datum point w) ‘Symbol: The program zero datum point W is the datum point used to describe the part program. The position of point W depends very much on the workpiece. It is best selected in such a way, that programming involves the minimum additional calculations. With zero datum point shifts (see section 4.4.) point W can bbe located at any position of the machine tool. The shift values are either related to C (G93) or to the last datum point W (G92). - NB7978 Fig 4.1.-5 Schematic relation between R, MO, MI, C and W 891025 Programming CNC3460/700 Section 4-3 4.2. STORED ZERO OFFSETS [G53/G59] The stored zero offsets are used 10 relate the six secondary machine zero datum points (Mi) to the geometric machine zero datum point (MO).To each secondary machine zero datum point corresponds one of the preparatory functions G54 10 G59. The axial distances measured from MO to Mi together with the corresponding G-function are stored in the zero offset memory of the control. Seven G- functions for stored zero offsets (G53 to G59) are avaliable. They form one group and only one function can be active at a time, The meaning of the G-functions is: + G53 To cancel any active offset function, The control uses the offset 0 for all axes, so MO is the active machine zero datum point. At switching on the control or after REFERENCE POINT SEARCH the function G53 is automatically activated. -@54/59: To define in the oftset_ memory and to activate in the part program one of the six secondary machine zero datum points Mi (t<=i<=6) For activating stored zero offsets the associated G-function is programmed in a block. At the execution of that block the control picks up the corresponding stored offsets and uses these values for setting the required secondary machine datum point. This datum point remains valid until another function for the stored zero offsets is programmed and is not influenced by CLEAR CONTROL. After activating another function, any active datum point shift (G92 or G93) is cancelled. The offset values corresponding to an activated G52 (preset axis, section 4.3.) are not influenced. In a block with a G-function for a stored zero offset dimensions can be programmed. These dimensions are related to the new secondary machine zero datum point. Other words like F, S, T and M are also allowed in the block. Prior to the execution of the program the offset values must be stored in the zero offset memory of the control. This can be done via the operator's panel or a data carrier. EXAMPLE 4.2.-1 Stored zero offsets Part 2 Part 1 NB6O8S Fig. 4.2.1 Two parts with different datum points Section 4 - 4 Programming CNC3460/700 991025 ~ nN Figure 4.2.-1 shows two workpieces with secondary machine zero datum points M1 and M2 clamped to ‘[Link] table. ‘The distances between MO and M1 are as follows: X-400 Y-100 300 ‘The function G54 is associated with this datum point. This function together with the dimensions are stored in the zero offset [Link] part program for workpiece 1 starts with a G54-block for activating M1 . ‘The machine zero datum point of the second workpiece is related to preparatory function G55. ‘The distances between MO and M2 are as follows: x200 -Y-200 100 These dimensions together with the function GS5 are also stored in the zero offset [Link] part program for workpiece 2 starts with GSS for activating M2. 4.3, PRESET AXIS [G51/G52] It the position of the workpiece is not known very accurately, the position of the zero datum point of the mounting device (C) has to be determined by means of measuring clocks or a mill of known diameter. Once the exact position is thus established, the display shows the position of the tooltip (= centre of the mill). With PRESET AXIS (see operator's manual) the coordinates of the tooltip in the coordinate system with point C as datum point are entered. Alter finishing PRESET AXIS the control : ~ calculates the axial distances from the active machine datum point (MO or Mi) to point C, = stores the values in the zero offset memory together with the function G52, = activates the function G52. Point C is the datum point of the coordinate system now. With the function G51 the stored preset values are ignored. The function G51 is automatically activated at switching on the control or after REFERENCE POINT SEARCH. The functions G51 or G52 are not influenced by CLEAR CONTROL. If G51 or G52 is activated, any active datum point shift (G92 or G93) is cancelled. An active function for stored zero offsets (G54 to G58) is not influenced. 991025 Programming CNC3460/700 Section 4-5 ‘After switching off the control or in case of a power failure the datum point is lost. The datum point of the mounting C once found with PRESET AXIS can be re-established via TEACH IN and G52 without making new measurements for finding the datum point. if one of the functions G54 to G59 is used in the program, but not programmed, then that function has to be activated too. ‘The functions G51 or GS2 can also be used in the part program. In such a block dimensions can be programmed too. These dimensions are related to the zero datum point of the mounting. Other words Tike F, S, T and M are also allowed in the block. Remark: if the part can be mounted very precisely, then determining the ‘datum point of the mounting (C) via PRESET AXIS is avoided. In this case C coincides with the active machine zero datum point (MO or Mi). 4.4. ZERO DATUM POINT SHIFTS [G92/G93} The program zero datum point W can be established arbitrarily within the range of the control system. The position of W may optionally be changed, so as to simplify calculations at programming. Such modifications of the program zero datum point are called zero datum point shifts. After a zero datum point shift all absolute dimensions in a program are related to the last program zero datum point W. The display always indicates absolute cartesian dimensions which are related to W. ‘There are two preparatory functions for a zero datum point shift: =G92_: The coordinates of the new program zero datum point refer to the previous one. This function is preferred, if the program contains repeats. + G93 The coordinates of the new program zero datum point refer to the zero datum point of the ‘mounting (C). Function G93 is used: = For shifting the zero datum point from C to the program zero datum point W. = To canesi several consecutively performed zero datum point shifts, programmed with G92. Ablock with a zero datum point shift contains: = The preparatory function G92 or G93 = The coordinates of the new zero datum point: . Either cartesian or polar coordinates (B2=.. and L2=..) or a symbolic name (P-word see section 3.4) can be used to define the position of the new datum point. An axis of which the position of the zero datum point is not changed, does not need to be programmed, These coordinates refer to the previous program datum point W (G92) or the mounting datum point C (G93) - Auxiliary machine functions. These are normally processed. Section 4-6 Programming CNC3460/700 291025 When processing a block with a zero datum point shift, merely the coordinates of the tool position are recalculated to the new program zero datum point. In a part program the zero datum point can be changed several times and both ways of zero datum Point shifts may be used alternately. ‘At CLEAR CONTROL or if one of the G-functions G51 to G59 are executed, the datum point shifts are cancelled. EXAMPLE 4.4.-1 Zero datum point shift programmed with G92/G33 NB7956 Fig. 4.4.1 Zero datum point shitts ‘The four holes around point A and the four holes around B should be dried. In the program the zero datum point is located at A or at B. In this way calculations during programming are reduced to a minimum Refer to chapter 8 of this programming manual for the G-functions G81 and G79. 1. Program with G92 NiO Get Y1 240 F200 $500 M3 Nit Ga2__x90 ¥70 Ni2 G79 X20¥20 ZO N13. G79 X20 N14 G79 Y-20 N15 G79 X20 Ni6 G92 X200 Y-20 N17 G79 X-20 Y-20 N18 G79 X20 Nig G79 Y20 N20 G79. X.20 891025 Programming CNC3460/700 Section 4 - 7 Explanation N10 + A fixed cycle for driling a hole is defined. Nit : The zero datum point is shifted from C to A. (either G92 or G98 can be used in this block) N12N15__: The four holes (1, 2, 3 and 4) are drilled, with the workpiece surface defined as Z=0. Nie The zero datum point is shifted from A to B. N17-N20__: The four holes (5, 6, 7 and 8) are drilled. 2. Program with G93 Related to the mounting datum point C, the program looks as follows: NiO Gat Y1 210 F200 S500 M3 N11. G93 X90 -Y70 Ni2G79 X20 Y20 ZO Ni3 G79 X-20 N14 G79 Y-20 N15 G79 X20 N16 G33. X290 _Y 50 NI7 G79 X-20 Y-20 N18 G79 X20 Nig G79 Y20 N20 G79 X-20 Explanation: ‘The program is equivalent to the previous one, except the following modifications: N11 : The zero datum point is shifted from C to A. N16 : The zero datum point is shitted from C to B. . Ifthe points A and B have the same Y-coordinate, block N16 looks as follows: 1st program: N16 G92_x200 2nd program: N16 G93. x290 4.5. ESTABLISHING THE ZERO DATUM POINT AT PROGRAM START How the program datum point is established at program start depends very much on the mounting of the workpiece. Section 4-8 Programming CNC3460/700 891025 1. Precisely mounted workpiece With a series of the same products it is useful to make a special mounting so that the position of the part in the geometry of the machine tool is known very accurately. In this case the program can run each time with the less interference of the operator. The part program starts with a zero datum point shift (G93) from machine zero datum point (MO or Mi) to program zero datum point (W). EXAMPLE 4.5.-1. Program start with precisely mounted part 200 NB7955 Fig. 4.5.1 Precisely mounted workpiece - The machine zero datum point (MO or Mi) is situated in the centre of the table. The workpiece is clamped in such a way that its centre is also in the centre of the table. The program zero datum point (W) is selected in a comer of the workpiece. (One of the first blocks in the part program then could be: N20 G93. X-200 Y-100 After processing this block, W will be the program zero datum point. 2. Not precisely mounted workpiece It the position of the workpiece with respect to the machine zero datum point (MO or Mi) is not known to the part programmer, he indicates on the drawing of the mounting where the datum point of the mounting C should be and starts his program with the function G52. Before the execution of the program the operator has to determine - either with measuring clocks or a tool of known diameter - the position of C with respect to MO or Mi. With PRESET AXIS (see section 4.3 and the operator's manual) the position of C together with the function G52 is stored in the offset memory. 391025 Programming CNC3460/700 Section 4-9 EXAMPLE 4.5.-2 Mounting datum point setting NB7324 Fig. 4.5.-2 Determining datum point of mounting ‘A cutter @ 80 is moved so that it touches the workpiece on two sides. Once this position is reached, the datum point of the mounting C is established by entering the values X-40 and Y-40 via the keyboard (see operator's manual PRESET AXIS). After finishing PRESET AXIS, point C is the zero datum point and the function G52 automaticcaly activated. Remark: A zero datum point shift (G92 or G93) -entered in TEACH IN - will not work, because such zero point shift is cancelled at CLEAR [Link] the block with G92/G93 is in the art program, the block will be executed correctly. But after switching off the control the datum point is lost and has to be established again. Section 4 - 10 Programming CNC3460/700 991025 5. MOTION COMMANDS 5.1. RAPID TRAVERSE MOVEMENTS, 5.1.1. RAPID TRAVERSE [co ‘A movement with rapid traverse rate to the endpoint is programmed with the function GO. Refer to ‘chapter 3 for programming the endpoint. Absolute positions are programmed with regard to W. ‘The movement is executed with INPOSITION, i.e. all axes must have reached their position before the next movement starts. With @ parameter in a G28-block the movements in the next block can be forced to start without INPOSITION, thus without a stop between the blocks (See section 5.8.1 for INPOSITION). All six axes can be programmed in the block, but there is a fixed sequence in which the axes move, the 0 called positioning logic (See section 5.1.2.). The positioning logic can be switched off with a G28 (See section 5.8.2). In that case all programmed axes move simultaneously. The function GO is automatically preset at the start of a program or at CLEAR CONTROL. 5.1.2. POSITIONING LOGIC In a G0-block all axes recognized by the control, can be programmed, but there is a fixed sequence in which the axes will move. The fixed sequence (= the positioning logic) depends on the active G-function for the main plane and on the movement in the tool axis. 1. Tool towards the workpiece. With G66 active a movement in the negative direction and with G67 active in the positive direction of the tool axis, a7 | | G8 G19 1. movement 4. axis. 4. axis 4. axis ‘2, movement: Xand Y XandZ YandZ movement | Z-axis | Y-axis | x-axis 991025 Programming CNC3460/700 Section 5 - 1 2. Tool from the workpiece. With G66 active a movement in the positive direction and with G67 active in the negative direction of the tool axis. a7 ore G19 [Link] | Zaxis | Y-axis | X-axis . [Link] | XandY | Xandz | YandZ [Link] | [Link] | [Link] | [Link] Romark : 1. Ifthe axes 5 andor 6 ae also programmed, they move simultaneously with the 4.2, 2, The positioning logic can be switched off with a G28. 3, The movement in the main plane is under full control of the linear interpolator. 4. Refer to section 6.1.2 for the functions G66 and G67. EXAMPLE [Link] Programming a rapid traverse movement P2 (25, 15, 10) NB5788 Fig. 5.1.21 A positioning 1. Movement to the part ‘The posttioning trom P1 (10,10,20) to P2 (25,15,10) can be programmed as follows: N4o GO X25 Y15Z10 Section 5-2 Programming CNC3460/700 891025 In this case the actual movements are (G17 and G66 are assumed to be active): + amoverent in the main plane = the movement in the tool axis (Z-axis) 2. Movement away from the part The positioning trom P2 (25,15,10) to P1 (10,10,20) can be programmed as follows: N4o GO X10 Y 10 Z20 In this case the actual movements are (G17 and G66 are assumed to be active): + the movement in the tool axis (Z-axis) + a movement in the main plane 3. Movement without positioning logie lf the positioning logic is switched off, the positioning from P1 to P2 can be programmed as : Nao GO X25 Y15 Z10 Now the three axes X, Y and Z move simultaneously. 5.1.3, RAPID TRAVERSE TO A POSITION WITH REGARD TO R. [a74] For programming cycles for toolchangers, pallet stations, etc. a movement with rapid traverse rate to a Position with regard to the reference point R is introduced. This movement is programmed with G74. All datum point offsets (from R to MQ, fram MO to Mi, from Mi to C and from C to W) are suppressed during the execution of the G74-block. The programmed position is not influenced by axes rotation or scaling. All axes can be programmed in a block and they move simultaneously during the execution of the G74 [Link] movement is executed with INPOSITION, i.e. all axes must have reached their position before the next movement starts. (See section 5.8.1 INPOSITION ). 891025 Programming CNC3460/700 Section 5-3 ‘The L-word can be used to suppress or execute the length compensation: with LO (default value) or no L-word programmed the length compensation is suppressed; with L1 the length compensation is executed in the too! axis. ‘The radius compensation has to be cancelled before using the G74. G74 is only active in the block in which it is programmed. ‘Attar the execution of the G74-block all datum point offsets and the tool length (it Suppressed) become active again. The movement to the next position in the part program is executed with the previously programmed G-function of group A. Be sure that this is one of the functions GO or Gt. ‘An incremental position after a G74-block has to be programmed with regard to the position in the G74- block. ‘The function G74 is not allowed during the geometry (G64 active). EXAMPLE 5.1.3.-1 A rapid movement to a position with regard to R NB7980 Fig. [Link] A positioning with regard to R From point P in figure [Link] the coordinates are known with regard to R. The positioning to P is programmed as : NiO. GO X45 Y33 Nit G74 X130 Y120 Section 5-4 Programming CNC3460/700 991025 5.2, LINEAR INTERPOLATION Ion) In linear interpolation activated with the function G1, the tool moves with the programmed feedrate (F- word) along a straight line between the starting point, i.e. the actual tool position, and the programmed endpoint. For a position in the main plane defined by G17, G18 or G19 all possibilities from chapter 3 ‘can be used. A position outside the main plane can be programmed with cartesian coordinates only. Up to 10 previously defined points (P-word) are allowed in one G'1-block. The points are approached in the order in which they are written in the block. . ‘The next movement starts as soon as the programmed position is reached according to the calculations in the control. With a parameter in a G28-block the movements can be forced to actually reach the Position (See section 5.8.1 for INPOSITION). 5.2.1. ONE OR TWO LINEAR AXES With one or two linear axes in a G1-block a straight line in the plane defined by the endpoint coordinates is made, EXAMPLE 5.2.1.-1 Linear movements in the main plane NB7979 Fig. 5.2.1.-1 Milling a hexagon 991025 Programming CNC3460/700 Section 5-5 ‘The program for the part of figure 5.2.1.-1 could be : N9001 NI G54 TMG N2 Go X30 Y-57.52-12 ‘$500 M3 NB Gt F500 Na Gas Y-42.5 NS Gat Ne a . N7 NB No N10 Nit N12 Gao Nig GO X30 575 Nia Z 100 N15 M30 Explanation: Nt Set the datum point and load tool 1 (0/20) N2 1 Start the spindle Move too! frst to part and then to depth NB : Set linear interpolation and the fesdrate Na : Move too! with toolcompensation TO the part NS 2 Setradius compensation to LEFT Ne-N11 : Mill around the part Nt2 : Cancel radius compemsation Nig 2 Move tool away from part Nig Retract the tool N15 + End of program 8.2.2, USING A ROTARY AXIS Using a rotary axis only or with one linear axis results in a number of cases which are described Separately. For explaining the possibilities it is assumed that the rotation takes place about the Y-axis, thus the rotary axis is programmed with B. The tool is either in the Z- (X-) or Y-axis. The radius from the pivot centre to the surface is programmed with the word B40=.. (A40=.. for the A-axis and C40-.. for the C-axis). Remark 1. In stoad of the word B40= (A40= or C40=) the R-word can be used. 2. Instead of the axes X, Y and Z the parallel axes U, V and W (it available) can be used. Section 5-6 Programming CNC3460/700 891025 1. Fotarty axis only e ‘With a movement with the rotary axis only can be produced: + tool in the Y-axis a ciroular arc in the facing plane = tool in the 2-(X-) axis: a groove on the cylinder XQ a ‘NB7981 Fig. 5.2.21 A circular arc in the facing plane Nio a 8. Bé=. F. 8 the endpoint of the B-axis, B40=. 2 =the radius of the arc (igure 5.2. ~the radius of the oylinder (figure 5.2.2.-2). ‘The programmed feedrate (F..) is related to this radius. Tre radius is modal, Le. it remains active until cancelled (B40=0 is used then) by : = programming B40=0 ~ switching to another coordinate system = M30 or CLEAR CONTROL, 891025 Programming CNC3460/700 Section 5-7 the feedrate. With B40=0 or not programmed, F.. is the feedrate in degrees/min, Make sure that G94 has been previously activated. Otherwise, 2 Y-and Beaxis JES Fig. [Link] Movement with Y- and B-axis ‘The programming of this movement is as follows: NiO as. B Bao=.. F. Y..and B.. : the endpoint of the Y- and B-axis Béo=.. + the radius of the cylinder Refer to 1. "Rotary axis only" for cancelling the radius. It the pivot radius (B40=.) is programmed, the feedrate on the surface in mm (inches) /min or mm (inches) /rev. the surface feed in mm(inches)/min or mm (inches) /rev. If the pivot radius is not programmed, F.. iS the feed along the linear axis. The speed for the rotary axis, is calculated by the control and adapted, so that both axes have covered the same part of their distances to go in the same time. If the maximum feed of an axis (MC-setting) is exceeded, the actual feed is reduced, so that the movement is executed with the maximum feedrate. Refer to chapter 13 for programming more complicated movements in the plane of the cylinder surface. Section 5-8 Programming CNC3460/700 991025 3. X-orZ- and Beaxis Fig. 5.2.2.-4 A spiral In the facing plane ‘The programming of this movement is as follows: NiO a 2%. Bad=. F. Z.(X.) and B.. : the endpoint of the Z- (X-) and B-axis, Bao=.. the average radius of the path. This radius is used for speed calculations in the control. When Rb is the radius at the start and Re the radius at the end, then: Rb +Re B40 = 2 Refer to 1. "Rotary axis only" for cancelling the radius. Refer to 2. * ¥ and B-axis" for the F-word. EXAMPLE 5.2.2-1 Simultaneous movement of Y- and B-axis Fig. 5.2.2.-5 A hellx on a cylinder surtace 891025 Programming CNC3460/700 Section 5-9 ‘The helix of figure [Link] (pitch 6 mm ; 10 tums) should be made on the surface of a cylinder. The tool is in the Z-axis. The program for this helix could be: N10 Gi7 Tt M6 Nit Go x20 Y80Z22 80 $200 M3 iz a 248 F100 Nis Y20 89600 840-20 F200 Nia Go 2100 Explanation: N10; Load the tool (mill 0/3). Tool is in the Z-axis (G17). Nit Start the spindle and move too! to starting position N12: Move tool to depth N13: Mill the helix. Ten turns of the rotary axis are programmed (B-word). N14: Move tool away from part EXAMPLE [Link] Movements in the facing plane Fig. 5.2.26 A spiral in the facing plane ‘The spiral of figure [Link] (pitch 6 mm ; 4 tuins) should be made with the rotary table and a simultaneous movement of the Z-axis. The program could be: NiO Gis 1 M6 Nit Go x0 Y2 Z5 BO s200 M3 N12 Gt v2 F100 Nia 729 81440 B40=17 F200 Nia Go Y100 Explanation: NiO Load the too! (mill 0/3). Tool is in the Y-axis (418). NIT Start the spindle and move tool to starting position N12: Move tool to depth N13: Millthe spiral. (Rb=5 and Re=29, so B40=17) Four turns of the rotary axis are programmed (B-word), N14: Move tool away from part Section 5 - 10 Programming CNC3460/700 991025 5.2.3. 3D-INTERPOLATION If three axes are programmed in one block, these axes move simultaneously. Their motions are controlled by the linear interpolation. Two cases are considered: = three linear axes, see section [Link], = two linear axes and a rotary axis, see section [Link]. Refer to section 5.2.4 for linear movements with which more than one rotary axis is involved. 5.23.1, THREE LINEAR AXES If the three main axes X, Y and Z are programmed in one block, a straight line in space is made. The pro- grammed feedrate is the speed along the straight line In the main plane all possibilities for programming a position (see chapter 3) and the radius compensa- tion (see chapter 6) can be used. Included in the CAD-option of the control is a 3D-tool correction with normalized vectors. Refer to chapter 6 for a description of this option. REMARK : The linear axes U, V or W (if available on the machine too!) parallel to the main axes can be used in stead of X, Y or Z. The axes U, V and W are restricted to cartesian coordinates. EXAMPLE [Link].-1 3 D-interpolation NBS787A 891025 Programming CNC3460/700 Section 5-11 In figure [Link]. 100mm/min. With absolute dimensions the movement could be programmed as follows: Nig Go X10 Y 5 Z20 NS Gt X30 Y10 240 F100 In block N15 the three axes move simultaneously and reach their endpositions at the same time, EXAMPLE [Link].-2. 3D-movements with radius compensation Fig. [Link].-2 3 Denovements with radius compensation ‘Apart program for the workpiece from figure [Link].-2 using radius compensation could be: Na003 Tr. Me Ni x80 Y-20 Zo $2000 m3 NZ at F 1000 Na G43 X80 Yo N4 Gat X75 NB xo Y75 Z10 Ne x75 Y100 Zo N7 Gao NB 120 M30 the tool moves from point P1 (10, 5, 20) to point P2 (30, 10, 40) at a feedrate of Section 5 - 12 Programming CNC3460/700 891025 N9003—: Tool 1 is loaded. Ni 2 The spindle starts and then the tool moves to the starting position. Ne : Linear interpolation and the feedrate is set. Na : The too! moves TO the workpiece. N4 The too! moves to the starting point of the slope. NS The slope is followed; the path in the XY-plane is corrected for the radius. Ne : The second slope is followed. N7 : The radius compensation is cancelled. . NB : The tool moves away from part. 5.23.2. TWO LINEAR AXES AND A ROTARY AXIS Here too a rotaion about the Y-axis (B-axis) is assumed. at Fig [Link]-1 Movement with ¥-, X-and B-axle ‘The programming is as follows: NiO Go xX. Ye X./Y./B.. + the endpoint coordinates of the X-, Y- and B-axis the tool is standing in the Z-axis B40=.. = the average radius of the spiral in the XZ-plane. Refer to section 5.2.2 (1) for cancelling the radius, (2) for the F-word and (3) for calculating the average radius. 291025 Programming CNC3460/700 Section § - 13, 5.2.4, SIMULTANEOUS MOVEMENT OF THE LINEAR AND ROTARY AXES: a St plock, any combination of the three linear axes XU), Y- (V) or 2+ (W) and the three rotary ~ ‘axes A, B or C (If available) is allowed. A position in the main plane can be programmed as described in chapter 3. The programming of the other axes is restricted to cartesian coordinates. Fig. [Link] Machine tool with rotary table and titing table For feed calculations the radius of each rotary axis involved, can be programmed with A4Q= (for the A- axis), B40= (for the B-axis) and C40= (for the C-axis). If the radius of an axis is not programmed, the feed for that axis is calculated by the control. It no radius is programmed at all, the programmed feed is used on the path of the linear axes and a feed for each rotary axis calculated, so that all axes have covered the same part of their distances to go in the same time. If the maximum feed of an axis (MC- Setting) is exceeded, the actual feed is reduced, so that the movement is executed with the maximum feedrate. Section 5 - 14 Programming CNC3460/700 891025 5.3. CIRCULAR INTERPOLATION In circular interpolation, the tool moves with the programmed feedrate (F-word) along a circular arc between the starting point, i.e. the actual too! position, and the programmed endpoint. ‘The Next block starts as soon as the programmed position is reached according to the calculations in the control. With @ parameter in a G28-block the movements can be forced to actually reach the position (Gee section 5.8.1 INPOSITION). Circular interpolation is always executed in a plane parallel to one of the main planes, thus the XY-plane, the X2-plane or the YZ-plane and is restricted to linear axes only. ‘Two cases have to be considered: 2. the tool is perpendicular to the plane of the circle. Now it is parallel to the main plane defined by G17, G18 oF G19, This case is described in section 5.3.2. . the too! is not perpendicular to the plane of the circle. This case is described in section 5.3.3. Refer to section 5.3.4 for a linear axis parallel to a main axis. 5.3.1. DIRECTION OF MOVEMENT [e2a3] To determine the direction of movement one has to look in the negative direction of the axis Perpendicular to the plane of the circle. Then the movement is called clockwise (counterclockwise), when the direction of movement on the arc is clockwise (counterclockwise). The preparatory function G2 is Used to indicate the clockwise movement and G3 for counterclockwise. wes730 32 83 Fig. 6.3.1.-1 Direction of movement Remark: When the function G67 is active (see section 6.1.2), one has to look from the tool to the plane. > 991025 Programming CNC3460/700 Section 5 - 15 532A CIRCLEIN A PLANE PERPENDICULAR TO THE TOOLAXIS. The following description applies only, if the tool is perpendicular to the plane of the circle. In this case the radius compensation (see chapter 6) can also be used, Refer to section 5.3.3 ifthe tool is not perpendicular to the plane of the circle. [Link]. PROGRAMMING A CIRCULAR ARC ‘An arc up to 180 degrees can be programmed with: ~ the endpoint coordinates and the radius of the arc, programmed with the R-word (a dimension word without a sign); = the endpoint coordinates and centre point coordinates. For an arc greater than 180 degrees the endpoint and centre point coordinates have to be programmed. ‘An arc of any angle between 0 and 360 degrees can also be programmed with the centre point coordinates and the angle of the arc. The angle is programmed with the word B5= in decimal degrees. ‘The value is always positive and ranges from 0 to 960 degrees. ‘The endpoint of the arc All possibilities for programming a position, as described in the sections 3.3 and 3.4, can be used for defining the endpoint of a circular arc. ‘The centre point coordinates ‘The coordinates of the centre of the circle can be programmed with cartesian (absolute or incremental) coordinates or with polar coordinates (absolute only). Ht centre point coordinates are used, the radius of the circular movement at the start is compared with the one at the end. If the difference between these two radius values is greater than a MC-setting, an error is displayed and program execution stopped. Cartesian coordinates on ‘The cartesian coordinates are programmed with the words | for the X-axis, J for the Y-axis and K for the Z-axis If G90 is active, thus absolute cartesian coordinates, then |, J and K are also coordinates with regard to W. If G91 is active, |, J and K are incremental values from the starting point to the centre. (Only two centre point coordinates have to be programmed, Section 5 - 16 Programming CNC3460/700 291025 ry nN Cc c G90 | $a Fig. [Link].1 Cartesian centre point coordinates TABLE [Link].-1_ Centre point coordinates in the main planes a7 ais G9 plane XY-plane xZ-plane YZ-plane centre land J land kK Jand K Polar coordinates [B3= , L3e] ‘The (absolute) polar coordinates of the centre are programmed withthe words: -B3=: the angle the line through the program datum point W and the centre of the circle makes with an axis. ° the distance from datum point W to the centre. Fig. [Link] Absolute polar centre point coordinates Refer to section 3.3.2 the description of B2= and L2= for the programming conventions of the polar angle and length. 891025 Programming CNC3460/700 Section 5 - 17 EXAMPLE [Link].-1 Programming the radius of an arc Fig. §.[Link] Circular arc with radius ‘The are from figure [Link].-3 can be programmed as follows: N10 Gt x55 Y25 F100 N20 G3 X45 -Y35R10 Explanation: N1O : Allinear feedmovement to the starting point A of the arc N20 ‘The circular arc, counterclockwise (G3) with endpoint B and radius 10. EXAMPLE [Link].-2 Programming the angle of an arc ‘The circular movement from figure [Link].~4 can be programmed as follows: NiO at Fig.[Link]-4 An are of 120 degrees x30 Y30 F500 Ni G2 B5=120 140 J20 Section 5 - 18 Programming CNC3460/700 891025 Explanation: N10 : Alinear feed movement to starting point A. N11: Acircular movement in clockwise direction (G2); the angle of the arc is programmed (BS: Cartesian coordinates for the centre point are used. EXAMPLE [Link].-3 Cartesian centre point coordinates K (8.251 x oor tes, wer 8 us, 251 os7a1 Fig. [Link].-5 Circular arc greater than 180 degrees The arc of figure [Link].-6 is programmed twice: 1. With absolute cartesian coordinates: N10 Gi x425 YY 10.867 F200 Nit @ X19 ¥25 195 J25 Explanation: N10: Linear feed movement to the starting point A of the arc Nit: Circular are, counterclockwise (G3) with endpoint B and centre point coordinates | and J. Both the coordinates X and Y as well as the coordinates | and J are absolute values with regard to the program datum point W. . 2. With incremental cartesian coordinates: NiO Gi xX425 10.867 F200 NY Gat Ni2 G3 X235 1413375 J 14.133 991025 Programming CNC3460/700 ‘Section 5 - 19 Explanation: N10: Linear feed movement tothe starting point A of the arc (absolute dimensions are used) N11: Sot the programming for incremental coordinates N12: Here the coordinates X and Y are increments from point A to B. The coordinates | and J are Incremental values from A to the centre. EXAMPLE [Link].-4 Using polar coordinates Fig. [Link].-6 Circular interpolation with polar coordinates The cutter path from figure 5.3. Pt to P2 to P3, NiO Go Nit Gt F200 Ni2 G2 83245 L340 Nia Gt Explanation: N10: With rapid traverse to point Po. N11: Alinear feed movement from PO to P1. Incremental polar coordinates are used. N12: A clockwise (G2) circular feed movement from P1 to P2. For P2 incremental polar coordinates are [Link] centre is programmed with absolute polar coordinates N13: Alinear feed movement from P2 to P3. Section 5 - 20 Programming CNC3460/700 991025 ~ 5.3.22. PROGRAMMING A FULL CIRCLE After making a full cicle the tool is back at its starting point. Therefore making a full circle Is programmed with: = the direction of movement on the circle + the coordinates of the centre point, EXAMPLE [Link].-1 Milling a full circle Fig.[Link]-1 Milling a hole ‘The hole in figure [Link].-1 should be milled. ‘The program could be (part dimensions are used): NIO Go X60 Y90 Z10 “$1000 M3 Nit Gt F100 Ni2 Gas Y105 Nig Gat Nia G2 160 Jeo Nis Gao Nie a Y90 M7 Z100 . Explanation: N10: With rapid traverse to point A, where the tool enters the hole. Nit Set the function for a linear feed movement N12: Move with feed (100mmvmin) to the wall (G43) N13 Sot radius compensation for a tool moving on the left hand side (G41). Nia Mill the full circle in clockwise direction (G2) NI5 ‘Cancel radius compensation (G40) Ni Move tool away from the wall N17: Retract the tool out ofthe hole Refer to chapter 6 for an explanation of the functions for radius compensation (G40-G44). 891025 Programming CNC3460/700 Section § - 21 5.3.3, A CIRCLE NOT IN THE MAIN PLANE When @.9. a circle has to be made in the XZ-plane and the tool, e.g. a ball cutter, is standing in the Z- axis, then the tool is not perpendicular to the plane of the circle. The following description applies for () these occasions. Only cartesian coordinates (absolute or incremental) for the centre point or endpoint can be used. Also the use of a previously defined point for the endpoint is restricted to cartesian coordinates. Radius ‘compensation is not possible. For an arc up to 180 degrees either the radius (R-word) and both endpoint coordinates with which the lane of the circle is defined, or the cartesian coordinates of the centre point can be programmed. If the arc is greater than 180 degrees the cartesian coordinates of the centre point should be used. | the centre point coordinates are used, these two coordinates define the plane of the circle and are Programmed with the words | for the X-axis, J for the Y-axis and K for the [Link] G90 is active, thus absolute cartesian coordinates, then |, J and K are also coordinates with regard to [Link] G91 is active, |, and K are incremental values from the starting point to the centre. TABLE 5.3.3.-1 Endpoint and centre point coordinates XY-plane xZ-plane YZ-plane ‘endpoint Xand ¥ XandZ YandZ centre point land J and K Jand K EXAMPLE 5.3.3.-1 Circle not in the main plane Fig. 5.3.3.-1. Circle in the XZ-plane; tool in Z-axis Section 5 - 22 Programming CNC3460/700 991025 With @ ball cutter 0 / 10 the shape of figure [Link] should be milled. The cutter path has to be calculated and programmed. The program could be as follows: N10 1" M6 Nit Go x15 Yo zo $1000 M3 N12 Gi x20 F200 NI3 G3 X20 Zo R20 NI4 Gt X45 . Explanation: NiO: The toolis loaded. N11: Move tool to entrance point. N12 : Move too! to part. The toolradius Is considered in the programmed X-coordinate. N13: Make the circular movement. Both endpoint coordinates have to be programmed. N14: Move tool away from part. 5.3.4, USING THE LINEAR AXES U, VOR W It the machine tool is equipped with a linear axis parallel to one of the main axes, this linear axis can also ‘be used with circular interpolation. In the plane with such a linear axis polar coordinates and radius com- pensation are not defined and cannot be used. With the cartesian coordinates of the endpoint the plane of the circle is defined. So both coordinates of the endpoint have to be programmed. For an arc up to 180 degrees either the radius (R-word) or the cartesian coordinates (absolute or incremental) of the centre point can be programmed. If the arc is greater than 180 degrees the cartesian coordinates of the centre point should be used. . The centre point coordinates are programmed with the words | for the U-axis, J for the V-axis and K for the W-axis. Absolute coordinates have to be used,:it G90 is active and increments from the starting point to the centre, if G91 is active. 891025 Programming CNC3460/700 Section 5 - 23 From the tables 5.3.4.-1 to -4 can be derived, which centre point coordinates belong to which plane. TABLE 5.3.41, Main axis X and a linear axis, Xu-plane XV-plane XW-plane endpoint ” XandV Xand W centre point land J land K TABLE 5.3.4.-2. Main axis Y and a linear axis, ‘Yu-plane Yv-plane YW-plane endpoint YandU YandW centre point | Jand} 9 | ——-—~ Jand k TABLE 5.3.4-3. Main axis Z and a linear axis ZUplane ZV-plane ZW-plane endpoint ZandXx ZandY centre point | K and | Kand J ~ TABLE [Link] Combination of linear axes UV-plane UW-plane W-plane endpoint Uandv UandW Vand W contre point | | and J Jand k Section 5 - 24 Programming CNC3460/700 891025 © 5.4. CIRCULAR ARC WITH A SIMULTANEOUS MOVEMENT OF THE THIRD AXIS ‘A special interpolation procedure (2.50) is available to perform a circular movement and simultaneously a movement in the third axis. The total movement is executed in such a way, that the same part on the Circle and the linear axis is covered at each time. The programmed feedrate (F-word) is the surface speed. Circle in the main plane Hf the circular movement is made in the main plane, the circle can be programmed as described in section 5.3.2. The third axis is the toolaxis and programmed with the corresponding word, thus: G7 Gis aig plane xY-plane XZ-plane ‘Y2Z-plane toolaxis z y x ‘The radius compensation can be used with the circular movement. EXAMPLE 5.4. 1 2.5D-interpolation NB7983 Fig. 54-1 Arc and linear movement simultaneously ‘The program for the shape of figure 5.4.-1 could be: NiO NIT Ni2 Nia Nia Nis Nié NI7 ageggee x0 Y35 Y25 X25 YO X35 zo Z21 10 1 M6 81000 M3 Jo 991025 Programming CNC3460/700 Section 5 - 25 Load tool 1 (0/ 10) Start the spindle and move the tool to the part Set linear interpolation and the feedrate Move tool TO the workpiece Set radius compensation LEFT Make the simultaneous movement of the circle and the third axis Cancel radius compensation Move tool away from part Refer to chapter 6 for an explanation of the functions for radius compensation (G40-G44). Circle not in the main plane Refer to section 5.3.3. for programming a circle not in the main plane. The plane of the circle is defined by the cartesian coordinates of the centre point. Programming the radius of an arc (R-word) is not possible. Thus the programming is : Y-plane xZ-plane ‘YZ-plane ‘endpoint XandY XandZ YandZ centre point land J land K Jandk third axis z Y x Section 5 - 26 Programming CNC3460/700 891025 5.5, HELIX INTERPOLATION > in section 5.2.2 (point 2) is described how a helix-can be made on @ oylinder which axis coincides with the axis of the rotary table. With helix interpolation a helix on any cylinder surface can be milled and is Programmed with: the circular movement in the main plane as described in section 5.3.2, ~ the pitch of the helix, - (ifnecessary) the endpoint of the Linear movement. Gi7 ais Gis tool axis z Y x Vand J land K Jand K centre point or or or B= and L3= B3=andL3= | B3=and L3= e angle of arc B5= B5= ” B5= pitch of helix k J 1 With helix interpolation the word B5= ranges from 0° to 999999", This about 900 turns. During helix interpolation the radius compensation can be used. EXAMPLE 5.5.-1 Helix interpolation Fig. 5.5.-1 Making a thread M42 x15 991025 Programming CNC3460/700 Section 5 - 27 ‘The thread of figure 5.5.-1 should be made. The program could be as follows: Nto Gi7 TT M6 Nit Go x40 yao Z15 S400 M3 Ni2 Gi N13 Gas yes F120 Nia Ga2 NI5 G2 140 J40 K1.5 B5=4320 Nis Gao ‘ NI7 ai yao Nis Go 2100 Explanation: N10 : Load the tool(0 / 20) N11: Start the spindle and move too! to starting position N12: Set the function for a linear feed movement N13: Move tool with feed TO (G43) the part N14: Set radius compensation LEFT (G41) N15: Mill the helix. Programmed are: : ~ circle centre (I and J) A angle of the arc (B5= ) 12tums of 360°, = pitch of thread (Ky). N16 : Cancel radius compensation (G40) N17: Move tool away from part N18: Retract the tool Section 5 - 28 Programming CNC3460/700 991025 e ‘The helical movement can also be programmed with: Gi7 ais aie tool axis z Y x circle endpoint | Xandy | XandZ | YandZ ‘ centre point landJ | landk | Jandk pitch of helix K J 1 third axis Zz Y x In this case: 1. The movements have to be programmed in such a way that the circular movement and the tool axismovement reach their endposition at the same time. 2. If radius compensation is used, the contour should be entered and left tangentially ‘So block 15 of example 5.5.-1 can also read: N15 G2X 40 Y62.5 Z-16.5 140 J40 K1.5 Programmed are : = circle endpoint (X and Y), ~ depth (2), - circle centre (I and J), ~ pitch of thread (kK). . 5.6. FEED PROGRAMMING ‘The feedrate, thus the surface speed of the tool, is programmed with the F-word. 5.6.1. FEEDRATE IN MMINCHES)/MIN OR MM(INCHES)/REV . [e94a95] G04 active With G94 active the feedrate (F-word) is programmed directly in mmir activated function for metric (G71) or inch (G70). ‘or inch/min, depending on the ‘So F200 means a feedrate of 200 mm/min, ‘The function G94 is automatically set at CLEAR CONTROL. 991025 Programming CNC3460/700 Section 5 - 29 G95 active With G95 active the feedrate (F-word) is programmed in mmvrev or inctvrev, depending on the activated function for metric (G71) or inch (G70), ‘So F2 means a feedrate of 2 mmvrev. ‘The conversion to a feedrate in mm/min (inch/min) is carried out automatically by the control. if a spindle transducer is available the measured spindle speed is used for the calculation; otherwise the programmed speed. . 5.6.2, FEED OVERIDE OPERATIVE OR FIXED TO 100% [625/626] ‘The function G26 is used to make the feed override on the operator's panel inoperative and fixed to 100%. Thus all following feed movements (G1, G2, G3) are executed with the programmed feedrate. ‘The feed override remains operative during the rapid movements (GO, G74) and the machining cycles. With the function G25 the feed override is made operative again. ‘The function G25 is automatically set at the start of a program or at CLEAR CONTROL. 5.7. DWELL (eq ‘A regular pause in the part program with a programmable duration of time can be executed for some purpose. ‘The X-word is used for programming the time in seconds. ‘The maximum dwell time is 900 sec, the minimum time is .1 sec and the step size .1 sec. ‘The function is only effective in the block in which it is programmed. Any previously activated G- function, M-function, etc. remains valid for the subsequent blocks. - EXAMPLES.7.-1_ Programming a dwell NiO Gs xe5 In block N10 a dwell of 2.5 seconds is programmed. Section 5 - 30 Programming CNC3460/700 891025 a 9 5.8. MOVEMENTS WITH OR WITHOUT INPOSITION [G27/G28} 5.8.1. INPOSITION [3=/4e] During a movement the actual tool position is different from the position calculated by the control (commanded position). How much the tool lags, depends on the velocity of the tool and the characteristics of the machine tool. “position calculated by the control — actual too! position Fig.5.8.1.-1 Commanded and actual too! position ‘At the time 10 the programmed position is reached according to the calculations in the control. At this moment the calculations stop, but the tool is still moving. At the time t1 the programmed position is actually reached by the tool. At this moment the tool is at rest or *INPOSITION*. So a movement without INPOSITION means, that the next movement starts as soon as the programmed position is reached according to the calculations in the control. This is usually the case with feed movements (G1, G2 or G3), because there is no stop between the blocks. A movement with INPOSITION means, that the next movement starts as soon as the programmed position is actually reached by the tool. This is usually the case with rapid movements. ‘The words I3= and I4= in a G26-block are used to program how the tool has to reach the programmed position : 13=0 (default value): G1, G2, G3 are executed without INPOSITION Bet :G1, G2, G3 are executed with INPOSITION 1420 (default value): GO is executed with INPOSITION Maat : GO is executed without INPOSITION 991025 Programming CNC3460/700 Section 5 - 31 5.8.2. SWITCHING ON/OFF THE POSITIONING LOGIC 15] With the word I5= in a G26-block is programmed how the positioning logic in a GO-block has to be executed: 15=0 (default value) : GO is executed with positioning logic Set : GO is executed without positioning logic ‘The parameters of a G28-block are modal and remain active until the same parameter is programmed with the opposite value in another G28-block or until all parameters are set to their default values with a G27 or at CLEAR CONTROL. Section 5 - 32 Programming CNC3460/700 991025 PHILIPS MACHINE TOOL CNC3000 Series CONTROLS. UPDATES TO PROGRAMMING MANUAL CNC3460/3560/M600/M700 DATE: 900704 ‘Manual order code : M600 4822 873 20381, dated 891125, M700 4822 873 20404, dated 891025 @ Please add these two pages of chapter 6 to your manual. ‘Take out the old pages 5, 6 and 15, 16 of chapter 6 and insert the new pages. ‘The adapted taxt concems the two paragraphs on page 5 below figure 6.1.2.-1 ‘Also the text on page 16 is adapted, the description of F1=1 and F1=2 has changed. Already published updates : none (Order code for these updates 4822 873 29357 PHILIPS 6.1.2, TOOL IN DIFFERENT DIRECTIONS OF THE TOOL AXIS [ceaas7) ‘The calculation for the length compensation must be executed in the direction the tool is pointing. However, with @.9. an angular head in the X-axis, the tool can be pointing in either the positive or negative direction of the tool axis. This would mean that the length value in the tool memory should be positive or negative respectively. ‘Two preparatory functions (G66 and G67) are provided to indicate in which direction the tool is pointing: G66: The tool is pointing in the negative direction of the tootaxis, thus a movement in the negative direction is a movement towards the workpiece. G67: The tool is pointing in the positive direction of the toolaxis, thus a movement in the negative direction is a movement away from the workpiece. cia/cs7 2 ‘on7/066 2 ojos? re/oee x sas7a7 Fig. 6.1.21 G-codes for the tool in different axes With the use of these functions the operator can always enter a positive length value in the too! memory. ‘The direction of rotation for circular interpolation (G2/G3) is determined by looking from the tool at the plane for the circle, If necessary, a conversion is automatically performed by the control during the execution of the program. ‘The G-code for radius compensation (G41/G42) has to be determined by looking at the plane in the neg- ative direction of the toolaxis. ‘The last used function is not influenced by CLEAR CONTROL. The function G66 is automatically ‘activated after switching on. Because, in most cases the too! is pointing in either the negative Z- or with ‘an angular head in the negative Y-direction, there is no need to program the function G66. Only if the tool can be used in the "+" or °-" cirection, one of the functions Gé6 or G67 have to be programmed. 900704 Programming CNC3460/M600/M700 Section 6-5 6.2. TOOL RADIUS COMPENSATION With milling operations the tool radius must always be considered. With movements over a surface, the part programmer has to calculate and to program the cutter path, thus the path of the tool point. If any edge has to be machined, the part programmer can calculate and program the cutter path taking into account the tool radius. When that program is executed, a tool with the appropriate radius has to be used, for otherwise the wrong workpiece is made. To make the execution more flexible itis possible: = to store in the tool memory a correction-value on the radius: “+” for an oversized cutter and : for an undersized one. - to use the radius compensation as described in the following sections with this correction. ‘The tool radius compensation of the control permits programming the edge without knowing the tool radius. The calculation of the cutter path is left to the control which uses the stored radius of the active tool. The actual size of the tool is not used in the program, so at execution any radius can be used. ‘There are five preparatory functions (G40, G41, G42, G43, G44) for the radius compensation forming ‘one group of which only one function can be active at a time. The 3D-tool correction with normalized vectors is activated with G141 G40: Cancel radius compensation. All programmed positions are related to the tool tip. Refer to section 6.2.4. G41/G42_ : Contouring radius compensation Refer to section 6.2.2. G43/G44 : Axis parallel radius compensation Refer to section 6.2.1 G14: 30-tool correction with normalized vectors. Refer to section 6.3. Section 6 - 6 Programming CNC3460/M600/M700 900704 G40-block with a movement During the tool movements (see figure 6.2.4.-2) the radius compensation LEFT is active. At point 8 the radius compensation is cancelled and the programmed point E is a position of the tool tip. The control calculates the intersection point between the parallel pathes of AB and BE and the tool moves (N20 see sample program 2) to that point. In the G40-biock (N21) the tool moves directly from the intersection point to point E. Fig. 6.2.42 A movement in the G40-block ‘Sample program 2 or cancelling radius compensation with a movement in the G40-block. NiO G41 N.. N20 G1 X_ Yp Net G40 Nez Xe Ye Remark: If the control generates a circle between the movements AB and BE, this circle (from B’ to "in figure 6.2.4.-3) is executed and then the movement to point E takes place. Naso Fig. 6.2.43 G40 with a circle generated by the control 900704 Programming CNC3460/M600/M700 Section 6 - 15 6.2.5. FEEDRATE WITH RADIUS COMPENSATION [Ft] In general the feedrate on the surface of the tool is programmed. However, the velocity of the tooltip is controlled. With radius compensation active the control can adapt the programmed feedrate to the feed of the tool tip taking into account the used tool radius. With the word Fi= the type of feed adaptation is programmed. F120: - Fiat -Fie2 : No feed adaptation the programmed feedrate is the velocity of the tool tip. If the tool is moving on the inside of a circular arc, the feedrate is reduced taking into ac- count the used tool radius. It the tool is moving on the inside of a circular arc, the feedrate is reduced and with a movement on the outside the feedrate is increased. in both cases the used tool radius is taken into account. If the calculated feedrate is greater than a maximum value (MC-setting), the exeeded value is used. It the tool is moving on the outside of a circular arc, the feedrate is increased taking into ‘account the used tool radius. When the increased feedrate is greater than a maximum value (MC-setting). that value is used. The word F1= is modal; so its fuction remains active until changed by another word F1= or by CLEAR CONTROL. In the latter case F1=0 is set. 6.2.6. EXAMPLES FOR RADIUS COMPENSATION EXAMPLE 6.2.6.-1 Milling around a workpiece Fig. 6.2.6.-1. Milling around with contouring radius compensation Section 6 - 16 Programming CNC3460/M600/M700 900704 6. TOOL COMPENSATION The tool point or tool tip (point S in figure 6.-1), Le. the intersection point of the tool centre line with the too! face, is the important point of the tool. The movements of this point should be programmed. dg Ww Naweze Fig. 6-1 The tool point or too! tip However, the position of the tool tip depends: = with hole operations: on the tool length, =_ with milling operations: on the length and the radius. These dimensions differ from tool to tool and should be considered either with the programming or with the execution of the program. In the first case the path of the too! tip, the cutter path, is calculated and programmed. Fixed tools with the dimensions from the program have to be used during execution. In the second case the part dimensions are programmed directly from the drawing. The tool dimensions are stored in the tool memory of the control and taken into account during exedution. In the following sections are described: ~ the too! length compensation, = the tool radius compensation, = 3D-too! correction with normalized vectors. Remark: If fixed tools are used, the length and radius compensation can be used as a correction on the tool dimensions. 6.1. TOOL LENGTH COMPENSATION For movements in the tool axis the positions can be found in the drawing. Due to the different lengthes of the tools these positions are not related to a fixed point on the spindle. However, for controling it is Necessary to relate all movements in the tool axis to such a fixed point, e.g. the spindle nose. 991025 Programming CNC3460/700 Section 6 - 1 ne5669 ester Fig. 6.1.-1 Tool length For each tool the distance between the fixed spindle point and the tool point, the tool length, has to be measured and stored in the tool memory. Whilst executing the program, the control picks up the length of the activated tool and automatically converts all tool axis positions of the tool point to positions of the fixed spindle point. See section 6.4 for activating a tool. * ‘So with tool length compensation the part programmer can derive the positions of the tool axis directly from the drawing. 6.1.1. TOOL IN DIFFERENT AXES AND PLANE SELECTION [617/619] Normally the tool is standing in the Z-axis. On many machine tools it is possible to employ an angular head equipment to use the too! parallel to another main axis (X or ¥).. For the part programmer the axes configuration of the machine tool remains unaltered, when an angular head Is attached. With a preparatory function, G17 through G19, he can indicate in which axis the tool is used. The control uses this function to execute the length compensation and the fixed cycles in the axis the tool is standing. Perpendicular to the tool axis is the plane for polar coordinates, radius ‘compensation and geometry. G-function Tool axis, Plane for radius compensation Gi7 Zaxis XY-plane ais Y-axis XZ-plane Gis Xaxis YZ-plane ‘The functions G17 through G19 form one group and only one function from this group can be active at ‘atime. The active function is not influenced by CLEAR CONTROL. Section 6-2 Programming CNC3460/700 891025 One of the functions G17, G18 or G19 (a MC-setting) is automatically activated after switching on the ‘contol When an angular head is used or removed, the associated function (G17, G18 or G19) and the mensions of the angular head have to be programmed. The dimesions are taken into account with: = a zeropoint shift (G92 or G93), =a stored zero offset (G54 to G59). The latter possibility should be preferred, because in this case the part program remains independent of the dimensions of the angular head. After activating one of the functions G17, G18 or G19 the length compensation in the previous axis is ‘automatically cancelled and executed in the newly defined one. There is no movement in either axis. EXAMPLE 6.1.1.-1 The tool in different axes Fig. 6.1.1.-1 Two points in different planes ‘A hole in the XY-plane and one in the XZ-plane should be drilled (figure 6.1.1.-1). First the tool is standing in the Z-axis and with an angular head in the Y-axis. ‘The part program could be: NiO a7 1 M6 Nit Go x50 Y50 Z1 $1000 M3 Ni2 a Z40 F200 NI3 Go Zz4 Nia 200 M5 NIS Gis 12 M6 Nie G55 3 NI7 Go Yi01 2-50 Nis Gt Yat Nig Go yio1 991025 Programming CNC3460/700 Section 6-3 Explanation: Fig. 6.1.1.-2 Tool in the Z-axis (417) N10 : Load too! T1 and indicate that the tool is standing in the Z-axis (G17). N11 : The point in the XY-plane is approached . N12: The tool feeds to depth in the Z-axis. N13: The tool is retracted out of the hole. N14 : Remove the tool in Y so far that the angular head can be used and stop the spindle. N15 : Load tool T2 and indicate that the tool is standing in the Y-axis (G18). 4 ato Nas796 Fig. [Link] Angular head with tool In Y-axis (G18) N16 : Use a stored zero offset (G55) to consider the distances at and a2 of the angular head. These- values have to be stored in the zero offset memory prior to the start of the program. N17 : The point in the XZ-plane is approached. N18 : The tool feeds to depth in the Y-axis. N19 : The tool is retracted out of the hole. Section 6-4 Programming CNC3460/700 991025, 6.1.2. TOOL IN DIFFERENT DIRECTIONS OF THE TOOL AXIS {e66/067) The calculation for the length compensation must be executed in the direction the tool is pointing. However, with e.g. an angular head in the X-axis, the tool can be pointing in either the positive or negative direction of the tool axis. This would mean that the length value in the tool memory should be Positive or negative respectively. ‘Two preparatory functions (G66 and G67) are provided to indicate in which direction the tool is pointing . ‘G66: The tool is pointing in the negative direction of the toolaxis, thus a movement in the negative irection is a movement towards the workpiece. G67: The tool is pointing in the positive direction of the toolaxis, thus @ movement in the negative direction is a movement away from the workpiece, ” jora/ce7 orajoss ” nas7a7 Fig. [Link] G-codes for the too! In different axes ‘With the use of these functions: = the operator can always enter a positive length value in the tool memory - the part programmer can always look: from the tool at the plane for circular interpolation, radius compensation and geometry. ‘The necessary conversions are automatically performed by the contro! during the execution of the program. ‘The last used function is not influenced by CLEAR CONTROL. The function G66 Is automatically activated after switching on. Because, in most cases the tool is pointing in either the negative Z- or with {an angular head in the negative Y-direction, there is no need to program the function G66. Only if the tool can be used in the "+" or "" direction, one of the functions G66 or G67 have to be programmed. 291025 Programming CNC3460/700 Section 6 - 5 6.2. TOOL RADIUS COMPENSATION With miling operations the tool radius must always be considered. With movements over a surface, the ‘Part programmer has to calculate and to program the cutter path, thus the path of the tool point. If any edge has to be machined, the part programmer can calculate and program the cutter path taking into account the tool radius. When that program is executed, a tool with the appropriate radius has to be used, for otherwise the wrong workpiece is made. To make the execution more flexible it is possible: to store in the tool memory a correction-value on the radius: . for an oversized cutter and "for an undersized one. ~ 10 use the radius compensation as described in the following sections with this correction. The tool radius compensation of the control permits programming the edge without knowing the tool radius. The calculation of the cutter path is left to the control which uses the stored radius of the active ‘ool. The actual size of the tool is not used in the program, so at execution any radius can be used. There are five preparatory functions (G40, G41, G42, G43, G44) for the radius compensation forming ‘one group of which only one function can be active at a time. The 3D-tool correction with normalized vectors is activated with G141. G40: Cancel radius compensation. All programmed positions are related to the too! tip. Refer to section 6.2.4. G41/G42_: Contouring radius compensation Refer to section 6.2.2. G43/G44_: Axis parallel radius compensation Refer to section 6.2.1 G141 _: 3D-tool correction with normalized vectors. Refer to section 6.3, Section 6 - 6 Programming CNC3460/700 891025 6.21. AXIS PARALLEL RADIUS COMPENSATION [043/044] oO ‘The following two functions are available: G43: Radius compensation, TO. The tool is moving in a straight line from the point the tool is standing to the programmed endpoint. The cutter edge is on the endpoint and the too! tip the radius before it. The too! radius is subtracted from the programmed coordinate(s). G44: Radius compensation, PAST. The tool is moving in a straight line from the point the tool is ‘standing past the programmed endpoint. The cutter edge is on the endpoint and the tool tip the radius past it. The tool radius is added to the programmed coordinate(s) ous cu 93800 Fig. 6.2.1.-1. To (G43) and Past (44) Point A: Place the tool is standing Point B_ : Programmed endpoint Point B’ : Position of the tooltip. With both functions the calculation is performed on the programmed coordinate(s). So, if both coordinates are programmed the position in both axes is recalculated. This offers the possibility to enter ‘a contour on the normal of any contour element. See section 6.2.3. If only one coordinate is programmed, the position in this axis is changed, whereas the other one is not @ influenced. This means that the functions can be used with axis parallel milling. Hence in a block like: N20 G43 x100 the tool moves in the X-axis only TO the programmed position 100. There is no movement in the Y-axis. ‘The same holds for: N20 G44 Y100 In this case the too! moves in the Y-axis only PAST the programmed position and there is no movement in the X-axis. In a G40-block the tool tip moves to the programmed position. Because the radius compensation is ‘cancelled in both axes, this may result in a movement in an axis, which is not programmed in the G40- oe 991025 Programming CNC3460/700 Section 6-7 EXAMPLE 6. 1 Axis parallel milling with G43 and G44 | ©-© Fig. 6.2.1.-2 Axis paraltel milling ‘The part program for miling around the workpiece of figure 6.2.1.-2 could look like: No a M6 Nio x20 -Y20 0 25 $1000 M3 Nit G43. x150 Ni2 Gt F200 Ni3. G44 Yeo Nig xo NS Yo Nie x150 N17 Gdo Y-20 N18 Go x200 Explanation: N9_: The tools loaded. N10: Start the spindle and approach the starting position (A) N11": Rapid traverse movement TO point 1 N12: The feed movements are executed with a feedrate of 200 N13: Feed movement along the Y-axis PAST edge Y80 (point 2). The function G44 remains active in the following blocks. ' N14: Feed mevement along the X-axis PAST edge XO (point 3). Here the tool tip has a negative X- value. N15: Feed movement along the Y-axis PAST edge YO (point 4). N16: Feed movement along the X-axis PAST edge X150. N17_: Cancel radius compensation. The tool moves in the X-axis and Y-axis; the tool tip stops at X150 and Y-20. N18: Move tool away from the workpiece. Section 6-8 Programming CNC3460/700 991025 @ 6.2.2, CONTOURING RADIUS COMPENSATION [41G42) ‘The following two functions are available: G41: Radius compensation, LEFT. ‘When the part programmer is standing on the workpiece, looking in the direction of the cutter movement and the cutter is moving on his lefthand side, the function G41 has to be used. G42 ; Radius compensation, RIGHT. When the part programmer is standing on the workpiece, looking in the direction of the cutter ‘movement and the cutter is moving on his righthand side, the function G42 has to be used. out our Fig. 6.2.21. Left (G41) and right (G42) Point A: the place the part programmer is standing For the given definitions a positive tool radius is assumed at execution. With a negative radius value in the tool memory is: Gat and *-" radius = G42 and "+" radius G42 and *." radius = G41 and "+" radius G43 and *-" radius = G44 and "+" radius Gad and *-" radius = G43 and "+" radius ‘The cutter path with radius compensation ‘Once contouring radius compensation is ‘activated, the cutter path is automatically calculated by the control as a path parallel to the programmed one. In the following figures (6.2.2.-2 to 7) is: ~The programmed path from A to B to C. ~ Point E the intersection point between the path parallel to AB and the path parallel to BC. + Fithe tool radius stored in the tool memory. 891025 Programming CNC3460/700 Section 6-9 1. Inside or outside contours For an inside contour the intersection point is always calculated. For an outside contour the compensation method depends on the angle between the two programmed movements. If that angle is greater than a MC-setting, the intersection point is calculated. Refer to the figures 6.2.2.-2 to 4 for the intersection point. « 2 Line meets line Fig. 6.2.2-4 Circle meets circle Section 6 - 10 Programming CNC3460/700 891025 2. Outside contour with sharp angles If for an outside contour the angle between the two movements is less than the value of the machine constant, a circular movement between the calculated endpoint (B') of the path from A to B and the starting point (B") of the path from B to C is generated by the control, see the figures 6.2.2.-5 to 7. This connection circle is considered as part of the previous biock. This means that with SINGLE-BLOCK operation the movement in a block stops at the end of the generated circle. Fig. 6.2.26 Line meets circle or circle meets line Fig. 6.2.27 Circle meets circle 891025 Programming CNC3460/700 Section 6-11 The radius compensation is executed in the main plane defined by G17, G18 or G19 (see 6.1.1). A ‘simultaneous movement of the tool axis is allowed (see chapter 5 : 3D and helix interpolation). 6.2.3 STARTING CONTOURING RADIUS COMPENSATION ‘Two ways of starting the contouring radius compensation exist. 1. With the functions G41 or G42 When the function G41 (or G42) is used with the start of the radius compensation, the intersection point E between the parallel pathes of AB and BC, (figure 6.2.3.-1) is calculated and the tool moved to that point. N9s798 Oo Fig. 6.2.3.-1 First linear movement with a G41 ‘The same occurs when the movement BC is a circular arc. Here too a movement to the intersection point of the line parallel to AB and the parallel circular arc is executed (see figure 6.2.3.-2).. c A c A Fig. 6.2.3.-2 First movement with G41 Is a circular are {f the movement AB is a circular one, the centre of the circle is recalculated. The following movement will occur (figure 6.2.3.-3) M My + Fig. 6.2.3.-3 Starting radius compensation via a circular arc. Section 6 - 12 Programming CNC3460/700 991025 2. With the functions G43 or G44 ‘The two G-functions G43 and G44 can be used to enter a contour at any point in a well defined manner, contrary to the method described above. Now the tool is moved to a starting point from where tho Contour can be approached “TO" (G43) or "PAST" (G44). Thereafter the contour is milled LEFT (G41) or RIGHT (G42), EXAMPLE 6.2.3.-1 Starting the radius compensation with G43 Nes799 Fig. [Link] Entering a contour with G43 The program for entering the contour of figure [Link] at point B could be: N40 Go x120 YAS Z10 N41 Gt F500 N42 G43 Y20 N43 G41 X95 Naa x15 Y50 Explanation: N40: The tool moves to the starting point A and at depth. N41: Setthe code for feed movements and the feedrate. N42: The tool moves "TO the workpiece and the tool tip stays the tool radius before point B. N43. First milling movement along the lefthand side of the contour. 991025 Programming CNC3460/700 Section 6 - 13, 6.2.4. CANCELLING THE RADIUS COMPENSATION {G40 With the function G40 any kind of radius compensation is cancelled. After the G40 all programmed Positions are related to the tooltip. The function G40 is automatically effective: = at switching on the control + at CLEAR CONTROL ~ as soon as a fixed cycle is programmed. The function G40 does not produce a movement in itself, but the next commanded position is approached without radius compensation active. ‘Two cases are considered: 1. @40-block without a movement {In the last block (N20 see sample program 1) with radius compensation (see fig 6.2.4.-1) the tool moves to the calculated point (B’) on the normal in the programmed endpoint (B). In block N22 the tool moves from B'to E. esi Fig. [Link] No movement in the G40-block ‘Sample program 1 for cancelling radius compensation without a movement in the @40-block. oO NiO Gat N. No Gi Xx, N21 Gao N22 x Section 6 - 14 Programming CNC3460/700 991025 2. G40-block with a movement During the tool movements (see figure 6.2.4.-2) the radius compensation LEFT is active, At point B the radius compensation is cancelled and the programmed point E is a position of the tool tip. The control calculates the intersection point between the parallel pathes of AB and BE and the tool moves (N20 see sample program 2) to that point. In the G40-block (N21) the tool moves directly from the intersection point to point E. 908 Fig. 6.2.4.-2 A movement in the G40-block ‘Sample program 2 tor cancelling radius compensation with a movement in the G40-block. Nio G41 N.. N20 Gt X_ Yq N21 G40 Xe Ye Nez Remark: If the control generates a circle between the movements AB and BE, this circle (from B" to Bin figure 6.2.4.-3) is executed and then the movement to point E takes place. Nast70 Fig. 6.2.4.-3 G40 with a circle generated by the control 991025 Programming CNC3460/700 Section 6 - 15 625. FEEDRATE WITH RADIUS COMPENSATION {Fis} In general the feedrate on the surface of the tool is programmed. However, the velocity of the tool tip is controlied. With radius compensation active the contro! can adapt the programmed feedrate to the feed Of the tool tip taking into account the used too! radius. With the word F1= the type of feed adaptation is Programmed. -Fi=0 -Fi-t -Fie2 : -Fi=3 'No feed adaptation the programmed feedrate is the velocity of the tool tip. If the tool is moving on the inside of a circular arc, the feedrate is ‘reduced taking into ‘account the used tool radius. When the reduced feedrate is less than a minimum value (MC- setting), that value is used It the tool is moving on the inside of a circular arc, the feedrate is reduced and with a movement on the outside the feedrate is increased. In both cases the used tool radius is taken into account. If the calculated feedrate is greater than a maximum value (MC-setting) or less than a minimum value (MC-setting), the exeeded value Is used. Hf the tool Is moving on the outside of a circular arc, the feedrate is increased taking into ‘aocount the used tool radius. When the increased feedrate is greater than a maximum value (MC-setting), that value is used. . The word F1= is modal; so its fuction remains active until changed by another word F'i= or by CLEAR CONTROL. In the latter case F1=0 is sot 6.2.6. EXAMPLES FOR RADIUS COMPENSATION EXAMPLE 6.2.6.-1 Milling around a workpiece Fig. 6.2.6.-1 Milling around with contouring radius compensation Section 6 - 16 Programming CNC3460/700 991025 Hf milling around the workpiece from figure 6.2.6.-1 is required, then the part program could look as follows: Ni 1 M6 N2 Go x200 v.20 28 $500 M3 N4 Gi X150 F150 N7 Yo NB 150 NO G40 Y-20 N10 GO x20 Explanation: Ni: The tool is loaded. N2 ‘The tool moves at rapid traverse to the point (A). N3_—: Setradius compensation TO. N4 The tool moves wih a food of 180 mmvmin TO point 1. NS-NB_: The tool moves with feed along the righthand side of the workpiece as seen in the direction of ‘movement. N9 —: Ending the radius compensation. The too! point moves in the Y-axis to Y-20; no movement ‘occurs in the X-axis. Remark : Compare this program with the one given in example 6.2. EXAMPLE 6.2.6.-2 Milling a full circle 2, Fig. [Link] Milling a full circle with radius compensation 891025 Programming CNC3460/700 Section 6 - 17 ‘The full circle of figure 6.2.6.-2 has to be milled with radius compensation. For a smooth transition the circle is entered (NS) and left (N7) with a small one. ‘The part program could be: Nt x60 Yas zo T M6 N2 Gt 210 F500 $1000 M3 NO G43 X80 F300 Ne Gat : NS G3 X60 Y105 R20 N6 160 J60 N7 x40 85 R20 NB G40 No Go 200 M30 Explanation + The tool is loaded and positioned to the starting point 8. The spindle rotation is started and the tool moved to depth.. The tool is moved "TO" the starting point of the small circle. : Radius compensation LEFT is set. The small circle for entering the contour. N6 : The full cicrie. N7 : The small circle for leaving the contour. NB : The radius compensation is cancelled. N9 : The tool is retracted out of the hole. EXAMPLE 6.2.6. Milling a pocket The pocket of figure 6.2.6.-3 is already cleaned out and now the finishing has to be programmed. For a ‘smooth transition small circles are used for entering and leaving the contour. ‘Two programming methods are given: 1. Radius compensation, thus directly programming the workpiece dimensions. In figure 6.2.6.-3 the part dimensions and the cutter path of a mill 0/ 20 (-~..) is shown. 2. Radius correction, thus programming a calculated cutter path and using a correction on the pro- (grammed path. In figure 6.2.6.-3 the calculated path of a cutter 0 / 10 (-- --) is also shown. Section 6 - 18 Programming CNC3460/700 991025 1. Program with radius compensation Fig. 6.2.6.-3 Cleaning a pocket With radius compensation the programmed dimensions can directly be taken from the workpiece drawing. Prior to the execution of the program the radius of tool T1 (10 mm) has to be stored in the ‘tool memory. The program looks as follows: Nt N2 NB x80 Gt Gas G2 G2 at ge Gt Ge Gt Ge at G2 Gt G2 Gt qe G40 Go Y25 105, x80 x15, xo Y75 X15 X60 135 X75 X105 X118 182.68 165.36 x80 X55 zo Tr M6 240 F500 $1000 M3 Yo, R25 F300 VIS RIS Y90 RIS : 150 RIS 142.5 RIS Y30 Yo R20 Y25 R25 200 M30 891025 Programming CNC3460/700 Section 6 - 19 ‘The tool is loaded (ME) and positioned to point B. ‘The spindle rotation is started (M3). @ The tool is moved to the start of the entering circle. + The tool moves along the righthand side of the contour when looking in the direction of the tool movement. N18: The contour is left via a small circle. N19: The radius compensation is cancelled and thereatter the tool is retracted out of the pocket. 2. Program with radius correction For the same workpiece the cutter path of a mill 0 / 10 mm is calculated and accordingly programmed. A correction of 5 mm is used and this value has to be stored in the tool memory as the radius of T1 ‘The program looks as follows: Ni x80 Y25 zo T M6 N2 Gi Z10 F500 $1000 M3 NB G43 X95 N4 G42 @ N5 G2 X80 Ys R20 F300 Ne Gt X15 N7 G2 X5 v15 RIO NB Gt Y75 NO G2 X15 yes R10 NIOGIi X65 Nit Y135 Ni2G20 X75 vias, Rio Ni3. Gi X105 Ni4.G2X113.66 -Y140 R10 NI5 G1 x178.96 27.5 . NieG2 = x165.36 5 RIB, NI7G1 x80 NigG2 X60 Y25 R20 Ni9 G40 N20 GO 7200 M30 Explanation: : e@ Only the programmed dimensions are different from the dimensions in the first program. So refer to that program for the movements. Section 6 - 20 Programming CNC3460/700 991025 6.2.7, RESTRICTIONS AT THE USE OF RADIUS COMPENSATION If with inside circular movements the radius of the tool is greater than the radius of the circle, an error is © spayed cro Fe cocwen arte pegran nsnes In a few cases with inside linear movements, the tool can dammage the workpiece. In all these cases the used tool radius is too big for the programmed path. e Fig. 62.7-1 Tool to big ‘The path from AB to BC to CD has been programmed (see figure 6.2.7.-1). If the straight line BC is ‘smaller than 2x the tool radius, the contour will be damaged, when being processed. Nesais. S Fig. 6.2.72 Tool to big ‘The path from AB to BC to CD has been programmed (see figure 6.2.7.-2). Path BC is a circle. When the tool radius does not fit, the movement between point B’ and C’ will be a circle in the same direction ‘of movement as programmed for BC. 6.3. 3D-TOOL CORRECTION [G141] 6.3.1. INTRODUCTION TO 3D-TOOL CORRECTION ‘A CAD-system can calculate the toolpath of a programmed workpiece taking into account the tool shape and the tool dimensions. By running a so generated part program the cutter should have the same dimensions as used with the calculations, i.e. nominal cutters have to be used. The 3D-tool correction in the control offers the possibility to deviate from the dimensions of the nominal cutter. The corrections. are carried out using normalized vectors generated by the CAD-system. 3D-tool correction is part of the CAD-module of the CNC (software option $10) which also includes the BTA possibility for execut- e ing large programs. 891025 Programming CNC3460/700 Section 6 - 21 6.3.2. NORMALIZED VECTORS The normalized vectors are generated at the end of each movement and they are perpendicular to the ‘approximated surface. The tool correction is related to these vectors. Fig. 6.3.2.-1 Vectors normal to @ surface {tis a unit vector, which means that its components range from .001 to 1 Fig. [Link] Components |, J and K of a unit vector ‘The components of the vector are programmed with the words |, J and K. The input format of these words is restricted to three decimals behind the decimal point. In most cases this will be insufficient. To ‘norease the input accuracy of the vector components they have to be multiplied by a scaling factor {<=1000), before presenting them to the control system. So with a scaling factor of 1000 the input accuracy of the vactor components can be increased to 6 decimals. Whilst processing the first programmed normalized vector after activating the 3D-too! correction the ‘control automatically determines the used scaling factor. Part programs with different scaling factors ‘can be combined. In this case the function G141 (activating D-tool correction) has to be programmed at each transition. Section 6 - 22 Programming CNC3460/700 991025 | o| 63.3. CUTTER PARAMETERS Oo ‘Three types of cutters can be used: aca NBe2et ball cutter torus cutter cylinder cutter (Rec) (Pec) (C=0) Oo Fig. 6.3.31 Cutter types ‘The radius of the tool to be used is stored in the tool memory. For the cutter rounding an additional parameter (C) is stored: for a ball cutter Ceradius of the tool for a torus cutter Ceradius of the rounding «for acylinder cutter. C=0. If Cis not entered in the toolmemory, C=0 is assumed, thus a cylinder cutter. It the CAD-system generates the toolpath, the dimensions of the nominal cutter can be programmed in the block for activating 3D-tool corrections (G141). In this case the control makes a correction for the programmed too! dimensions and the stored dimensions. If the CAD-system generates the part dimensions, the tool dimensions stored in the toolmemory are used for the 3D-tooI correction. Undercuts are not detected by the control. Oo 6.3.4. CALCULATION METHOD For a bail cutter the used formulae are : xen XP +R" Yo=Yp+R'd Zo=Zp+R*(K-1) 91025 Programming CNC3460/700 Section 6 - 23, Fora torus cutter: Xe = Xp +0" 1+ (R-C)VSOAT(l + Jy) Yo= Yp+C*J+(R-C)'WSQAT(I"I + J*U) Zo=Zp+0"(K-1) For a cylinder cutter : Xc = Xp + R°VSQAT(I*I + J*) Yo= Yp + R°W/SQAT(I"! + J*u) Ze=Zp In these formulae are: A -C cutter radius cutter rounding for a ball cutter Ca for a cylinder cutter C=0 + Xe, Yo, Ze: the corrected endpoint + Xp, Yp, Zp: the programmed endpoint + I,J, K + components of the normalized vector With these formulae it is assumed that the mainplane is the XY-plane (G17 active) and the tool is in the Zaxis. It the main plane is the XZ-plane (G18 active) or the YZ-plane (G19 active) the necessary changes are automatically carried out by the control. Note that the components of the unit vectors are independent of the selected plano. 6.3.5. PROGRAMMING 3D-TOOL CORRECTION Activating 3D-tool correction is activated by means of G141. . The function is modal and is reset: - by G40, + by CLEAR CONTROL. {In the G141-block the nominal tool dimensions can be programmed with the words Rand Fit=. R_: the nominal tool radius Ri= : the nominal rounding radius one of these words is not programmed, the value zero is used. Section 6 - 24 Programming CNC3460/700 891025 lt G141 is programmed and the radius compensation in the main plane is stil active (G41 to G44), the radius compensation in the main plane is cancelled first and then G141 activated. @ wm scaling factor of the normalized vectors is calculated in the first block after the G141 containing a vector. The tool correction is also built up in this block. The cutter moves from the actual tool position to the corrected one. ‘The following functions may not be active, when G141 is programmed: = G64: Geometry + G73_: Mirror image or scaling ~ 182 : Cylinder interpolation Cancelling ‘The 3D-tool correction is cancelled with the function G40. The cutter halts at the corrected position and as a result, a non-programmed axis stays at its position. 3D-too! correction is also cancelled at CLEAR CONTROL. @ Programmable G-tunctions ‘When G141 is active, the following G-functions may be programmed: GO: Positioning (the positioning logic is not active) -G1_: Linear feed movements -G4_: Dwell G40 : Cancel 30-tooI correction G90 : Absolute cartesian dimensions -G91_: Incremental cartesian dimensions -G141: To recalculate the scaling factor to enter new dimensions of the nominal too! Other G-functions will cause an error message. : Programmable words Inthe blocks with a GO or a G1 the following words may be used: oe. the block number N + X.Y. Z, U,V, W (thus only linear axes are permitted). The coordinates are programmed with regard to the program datum point W at use at the activation of iat. ~ I,J, K components of the normalized vectors, is assigned to the X-axis or U-axis. Jo the Y-axis or V-axis. K to the Z-axis or W-axis. 991025 Programming CNC3460/700 Section 6 - 25 lt components are omitted in a block, they keep their last programmed value. if a component is not given in the first block with a movement after activating 3D-tool correction, the control takes the value O for the non-programmed component. ‘The control does not check if the vector is a unit vector. So vectors greater than the unit vector can be used. If with the activation of the 3D-too! correction the function G67 is active, the sign of each component in the too! axis is inverted by the control. : ‘The words F (feedrate) and S (spindle speed) may also be used. Words not mentioned, will cause an error message. With G04 the dwell time (X-word) is programmed, Ina block with G90 or G91 no additional words are allowed. Conventions 1. Any axes rotation ‘programmed before the activation of G141, is also executed during the 3D- tool correction. 2. Notallowed are : Point definitions - E-parameters = Polar coordinates = One cartesian coordinate and an angle = Rotary axes, 6.4. ACTIVATING A TOOL ‘The tool memory contains per tool the length and radius. These data must be stored in the memory before the part program is executed. During execution, there is always only one tool active, initiated by a tool change command (M06, M66 or M67). See section 7.4.5. ‘Once the M-function for tool changing is executed, the length of the newly loaded tool is immediately considered at each tool axis movement. The radius is used as soon as a G-function for radius ‘compensation is activated too. Section 6 - 26 Programming CNC3460/700 991025 7. AUXILIARY MACHINE FUNCTIONS Auxiliary machine functions are those functions as spindle speed, the tool number, miscellaneous functions etc, 7.1. SPINDLE SPEED Is] ‘The spindle speed is programmed with address S followed by a number with a maximum of four digits. 7.1.1. CODED SPINDLE SPEED PROGRAMMING ‘A machine tool can have a number of discrete spindle speeds selectable by clutches. These can be called up by the program. A code number is therefore allocated to each spindle speed. The relationship ‘between the code numbers and the actual spindle speeds appears in a table belonging to the machine tool. This table is not part of this programming manual. 7.1.2. ANALOG SPINDLE SPEED PROGRAMMING With an analog spindle its speed is programmed directly in rev./min with a step of 1 rev. The maximum programmable value is equivalent to 9999 rev. ‘Thus a spindle speed of 1000 r.p.m. is programmed as $1000. In the control the spindle speeds can be subdivided into four speed ranges which are covered by the M- functions M41 to M44. These functions form a separate group acting modally until another function from the same group is used. ‘The speed range can be selected: ~ automatically by the control. In this case the proper M-function is generated and can be omitted in the program. + by programming the proper M-unction. This is useful with overlapping speed ranges. ‘The figures 7.1.2.-1. and-2. show two typical examples for subdivision into ranges, one with and one without an overlap. They are treated in the same way: Range 4: M44 Range 3: M43 Range 2: M42 Range 1: M41 10 250 500 750 1000 Fig. 7.1.21 Spindle speed ranges with overlap 991025 Programming CNC3460/700 Section 7 - 1 Range 4: M44 Range 3: M43 Range 2: M42 Range 1: M41 10 250 500 750 1000 Fig. 7.1.2-2 Spindle speed ranges without overiap {f @ spindle speed of 50 rpm is required. This means that range 1 ( figure 7.1.2.-1 or 2) is chosen, and thus M-function M41 has to be used. The spindle speed is therefore programmed as follows (the ‘automatic range selection is not used): NiO $50 Mat ‘A speed of 800 rpm (range 4) is programmed as: N10 S800 Maa 7.2, TOOL NUMBERS m ‘The tool number identifies the tool and is programmed withthe address T. The tool number is used for: = Storing toot dimensions in the tool memory of the control Indicating which tool dimensions belong to the active tool during the execution ofthe part program. ~ _Initating the search ofthe next tool in the magazine, Too! dimensions (per tool a length and a radius) for maximum 255 tools (a MC-setting) can be stored in the tool memory. ‘Three possibilities are available for identifying a tool : 1. The tool number is a three digit number In this case the tool number corresponds with the location in the tool memory. The maximum tool ‘umber is 255 (a MC-setting). Section 7-2 Programming CNC3460/700 991025 2. The too! number is a four digit number ‘The maximum number of tools and magazine places is 99. Each tool has a fixed place in the magazine. xx | x Place in the tool magazine place in the tool memory In the program this compound number has to be used. So 71203 means, that: ~ the tool from place 12 in the too! magazine should be loaded ~ _ the too! dimensions from tool 3 in the tool memory should be used by the control. 3. The tool number is a seven digit number In this case the too! identification from the flour can be used in the program. In the tool memory are stored : =the identification number, ~ the place in the tool magazine of the machine tool. This number is also used for assigning the tool dimensions, + the tool jensions L and R. 7.2.1. AUTOMATIC TOOL CHANGERS ‘When the machine tool is equipped with an automatic tool changer allowing to place the tools randomly in the magazine (random access tool memory) or with a standby position, the next tool can be searched for in the too! magazine during the execution of the program. At the too! change (M6) the next tool is then immediately available for loading. ‘The tool number is used to activate searching for a tool in the magazine. Therefore after the block with the tool change (M6) a block containing the tool number (T-word) of the next tool is programmed to start the search procedure. 7.2.2. RANDOM ACCESS TOOL MEMORY ita When the tool magazine can be filed at random, a table containing for each tool its place in the magazine ‘and the corresponding tool number should be stored in the tool memory before the first run of the rogram. The three digit P-word is used for indicating the place of the tool in the magazine, where Pi ‘corresponds to place 1, P2 to place 2, etc. At a tool change (M6) the programmed tool is picked up and the used tool put back in the magazine at the empty place of the programmed tool. The table of places is automatically updated by the control. With TO M6 the spindle is unloaded and the tool is put back at the position it originally lft. Unloading the spindle is necessary: = Before a manual tool change (M66) ~ With tools occupying more than one position and therefore must be put back at the same position. 891025 Programming CNC3460/700 Section 7 - 3 7.23. TOOL LIFE MONITORING ‘The tools in the memory can be extended with the life time as a preset value entered in minutes in steps ‘of 1 minute and with a maximum of 99999 minutes. each time the tool is operative the total machining time is calculated. As soon as it exceeds the preset value, end of tool life is recognized and the operator ‘gets a warning on the display. ‘At loading this too! either ~ the program execution is interrupted, or = a spare tool selected (If defined see section 7.2.4). 7.24, SPARE TOOL ASSIGNMENT To each tool in the tool memory a spare tool can be assigned. If with the next tool change for the tool concerned the tool life (see 7.2.3.) or power limit (12.1.1.) is exceeded, the spare tool, it available in the tool magazine, is loaded instead of the original tool. If not available, an error message is displayed. In the part program only the tool number of the original tool is used. The number of tools and the ‘number of spare tools may not exceed the maximum number of tools in the tool memory. 7.3. AUXILIARY FUNCTION [H] ‘The auxiliary functions are programmed with the address H followed by a four digit number. ‘The relationship between these numbers and the associated functions is laid down by the machine tool builder. The relevant table is therefore not included in this programming manual. Section 7-4 Programming CNC3460/700 891025 7A. MISCELLANEOUS FUNCTIONS IM) Miscellaneous functions are entered as a two digit number following the address M. All functions from 0 to 99 are available as input signals for the interface of the machine tool, but only those functions, which are decoded in the interface, should be programmed. TABLE 7.4.-1 M-functions in accordance with ISO/DIS 6983/2 Output | Non- Description Explanation time modal in section Moo N Program stop 744 M3 Spindle, clockwise 742 Ma Spindle, counter-clockwise 742 MBL Spindle stop 742 Me N ‘Automatic tool change 745 M7 Coolant No.2ON 743 Me Coolant No. 1 ON7.4.3 Mook Coolant OFF 743 M13 Coolant 1 ON and Spindle, clw 74h M14 Coolant 1 ON and Spindle, coiw 744 Mig L Oriented spindie stop 742 M25 N Too! measurements 1223 M26 N ‘Touch probe calibration 12.2.4, M27 ‘Switch on measuring probe M28 ‘Switch off measuring probe M30. N End of program Mat Speed range Maz ‘Speed range Mag ‘Speed range - M44 Speed range Mee N Manual tool change Me7 N Change compensation values 1. M-funotions marked L only become effective when all the movements in the block have been ‘completed. The other functions and those not mentioned become effective before the movement in the block starts. 2, Most M-functions act modally. Those marked with an N are only effective in the block, in which they are programmed. ‘A number of commonly used M-functions, shown in table 7.4.1, is described separately. Depending on the meaning of the functions established by the machine tool manufacturer, differences may occur between these descriptions and the functions actually carried out on a particular machine. 891025 Programming CNC3460/700 Section 7-5 7.41. STOP COMMANDS [M0&m30) ‘Two commands are used to stop the execution of the part program: = MO : Program stop Program execution is interrupted after completion of the movement in a MO-block. Depending on the machine tool interface, spindle rotation and coolant can be suppressed 6 cancelled. The program execution continues after a START command. Spindle rotation ‘and coolant are restarted, if suppressed. : End of program Program execution is terminated after completion of the movement in a MO-block. A jump inthe program memory to the first block of the program is executed spindle rotation and coolant are cancelled. 7.4.2. SPINDLE COMMANDS [Ma7MaM519] Four M-functions are used for controlling the spindle: + MB: + MI9s Spindle rotation, clockwise : In this case the spindle rotation is such that a screw with clockwise thread would move towards the workpiece. The spindle rotation starts before the motion programmed in the block, and remains active until: = changed by the opposite direction of rotation (M4) ~ cancelled by a spindle stop command (M5 or M18) + by the function “end of program" (M30). Spindle rotation, counterclockwise This function has the same effect as M3 but in the opposite direction of rotation, ie. in thesense where a screw with clockwise thread would move away from the workpiece. Spindle stop This function stops spindle rotation and suppresses coolant supply when all the movements. in the block ave been processed. The spindle stop remains active and the coolant ‘Suppressed until the spindle starts rotating again. Oriented spindle stop ‘This command is identical in function to MS, but in this case the spindle stops either: in a specitic angular position as set on the machine if an analog spindle and a spindle transducer are used in a programmable angular position. In the latter case any angular position can be achieved by programming the desired position (O-word) measured from a fixed position (MC-setting). Moving the spindle to the programmed position always takes place in a fixed direction (MC-setting). D+ :the angle in the defined direction, D- : the angle 360°-(D-value) in the defined direction. Remark: The D-word can only be used if a MC is set. Section 7 - 6 291025 7.4.3. COOLANT COMMANDS IM7nasnns] ‘The following three M-functions apply to coolant supply: -M Coolant no. [Link] This M-function starts the coolant supply no. 2 (generally mist coolant). The command ‘becomes effective before the motion programmed in the block, and remains active until: = cancelled by “coolant off" (M9) ~ cancelled by "end of program” (M30). . Coolant no. 1 on This function is identical to that described for “coolant no.2 on* (M7). However, coolant no. 1 generally controls the main coolant supply. both coolant types can be active at the same time, Coolant off ‘This command cancels the functions coolant no. 2 on (M7) and coolant no. 1 on (M8). It becomes effective when all movements in the block have been completed and remains valid Until a coolant is activated again. 7.44. COMBINATION OF M-FUNCTIONS . (migiai4) ‘Two combinations of M-functions are provided: M13: M14: ‘The spindle runs in a clockwise direction (M3) and coolant no. 1 is turned on (M8). ‘The spindle runs in a counter clockwise direction (M4) and coolant no. 1 Is turned on (M8). In their action the functions are similar to M3, M4 and M8. 891025 Programming CNC3460/700 Section 7-7 748. TOOL CHANGE COMMANDS [Menmesn67] ‘There are three M-functions for tool changing: -M6: Automatic tool change ‘Machine tool with an automatic tool changer The function M6 is used to start the automatic tool change sequence on the machine tok: + fist the tool moves at rapid traverse to a tool change poston, established by a machine ‘constant (a fixed position with regard tothe reference point) ~ then the automatic tool change sequence is executed ~ and the new tool picked up. ‘The execution ofthe program continues with the programmed movement in the block. Machine tool without an automatic tool changer ‘The function M6 is used: to move the tool at rapid traverse to a tool change position established by a machine constant (a fixed position with regard to the reference point) ~ 10 nterupt the program execution, so that the tool can be changed manually. After the tool change, indicated by pressing START, the execution of the program Continues with the programmed movement in the block. When with an M6 the tool is retracted to a tool change position, it only leaves that position in an axis, when a movement in that axis has been programmed. -M66: Manual tool change Machine tool with an automatic tool changer It might occur that a tool must be loaded which is not contained in the tool magazine. In that case the function M66 is used. With M66 there is no retract to the tool change posi. tion and no execution ofthe tool change sequence. Before the manual too! change it might be necessary to unload, with TO M6, the spindle ‘and to put the tool from the spindle back in the magazine. Machine too! without an automatic tool changer ‘The function M68 is used to change a tool without a retract to a tool change postion. At the execution of MBG a program interrupt is generated by the control, so that the tool can be changed manually atthe positon where itis moved ton the preceding block. ‘After the tool change, indicated by pressing START, the execution of the program continues with the programmed movement in the block. Section 7-8 Programming CNC3460/700 891025 -M67: Change of compensation values When a tool with more than one cutting edge, e.g. a boring bar, is used, each cutting edge fhas its specific length and radius which must be stored in the tool memory with a separate tool number. When during the execution of the program a change from one cutting edge to another is necessary, there is no need to interrupt the program for a change of the physical tool. With M67 tool dimensions can be changed without interrupting the execution of the program. EXAMPLE [Link] Changing compensation values nes670 Fig. 7.4.5.-1 Boring bar with two cutting edges. ‘The boring bar in figure 7.4.5.-1 has two cutting edges. For cutting edge 1 : Tool number : 712 ; Tool length : XS4 For cutting edge 2 : Tool number : T31 ; Tool length : XS2 991025 Programming CNC3460/700 Section 7 - 9 Now the program could be: Woo 12 we oO Movements with T12 Ni50 731 M67 Movements with T31 . ;zz2 Explanation: N100 : Program execution is interrupted for a tool change. The boring bar is loaded and cutting edge 1is used. ‘Then follows the machining with cutting edge 1 of the boring bar. N18: Cutting edge 2 comes into action. There is no program interrupt, but from now on the ‘compensation values of cutting edge 2 are used by the control for its internal calculations. oO ‘Then follows the machining with cutting edge 2. Section 7 - 10 Programming CNC3460/700 8. MACHINING CYCLES ‘Arnumber of machining (fixed) cycles for hole operations and for milling are provided: ~ for hole operations: = G81 : Driling G83 : Deep hole driling + for milling: : A groove + G89 : A circular pocket The programming is as follows: + fist define a cycie, thus: ~ indicate the required operation with one of the mentioned G-functions, = program the dimensions for the tool movements in the cycle, = add, if necessary, the feed and speed for the operation. ~ activate with G79 the defined cycle at a position, thus: ~ Position the tool to the programmed position = execute the cycle in the tool axis, once the position is established. So a part program contains: = one block with the required cycle, ~ Several blocks with the positions where the cycle has to be executed. 8. CYCLES FOR HOLE OPERATIONS [G81, G83 - G86) 8.1.1. CYCLE DEFINITIONS FOR HOLE OPERATIONS: ‘The tool movements in a cycle are defined with the words X, Y, Z and B. For deep hole driling and tapping some additional words are used. Seé their tool sequences in séction 8.1.2. ‘The values programmed with the mentioned addresses are stored in the control and are automatically cancelled: + with the programming of a new cycle, . + at CLEAR CONTROL. ‘The words have the following meaning: - X-word :Dwell at the final depth, programmed in seconds in steps of 0.1 second. 891025 Programming CNC3460/700 Section 8 - 1 NB7974 Fig. 8.1.1.-1 Words In a cycle definition block - Z-word: Final depth of the hole measured from the workpiece surface. The Z-word is programmed as a dimension word. The sign indicates the drecion of tho depth movement in the tool @ axis: *-* in the negative direction, in most cases therefore into the hole, in the positive direction. - Y-word: The clearance distance: ~ defines a point above the workpiece surtace where the feed movement starts, ~ is measured from the workpiece surface - is programmed as a dimension word. Normally the clearance distance has a positive sign because it is a movement away from the workpiece. The Y-word can have a negative sign as well. + Beword: Additional retract distance: = defines the point to which the tool is moved at the end of the operation, - is measured from the point defined with the clearance distance, = can have a sign, which will normally be the positive one, 1t the additional retract distance is not defined in a cycle then retraction takes place automatically to the starting position of the feed movement, thus to the point defined by the clearance. e ‘The retract distance can be used, for example, when employing boring heads where the tool is not situat- €d right on the bottom face of the tool holder. NB6077 Fig. [Link] Boring head with too! not on the bottom Section 8 - 2 Programming CNC3460/700 891025 If after retraction to the clearance the tool point "A" (see figure 8.1.1.-2) is in the starting position, the actual tool holder is stil in the hole. The tool must therefore be retracted a further distance Oo remove the boring head from the hole. The value “a” is then programmed with the B-word. 8.1.2, TOOL SEQUENCES The following symbols are used for describing the sequences: —— + feed movement . ie = rapid traverse movement } + spindle rotates J = spindle stops —t— ~ dwell e 1. Drilling [cs] “7 | ‘The movements in the tool axis are: I = Feed to depth > = Dwell at depth (if programmed) y Rapid reaction 4 + Further retraction at rapid traverse rate 2. Deep hole dling [a83} ‘Three additional words are used in the G83-cycle: - Kword = bword: > deword : JO: Jeo ‘The depth of the first step measured from the surface. If the first step (K-word) is greater than the total depth (Z-word), the hole is drilled in one step at the total depth. ‘The degression value. This value is subtracted each time from the previous depth. It the calculated feed distance gets less than the degression value, constant steps of the degression value are used. The final step can be smaller than the degression value. All feed distances, except the final one, are the same and equal to the depth of the first step (K-word). . Special retract distance. the tool is retracted each step to the clearance. the tool is retracted each step over the distance of the J-word. ‘The words |, J and K are programmed as dimension words, but without sign. The direction of the too! ‘movement is determined by the sign of the Z-word (final depth). 991025 Programming CNC3460/700 Section 8-3 ‘Two tool sequences are possible: ‘a. Complete retract to the clearance ‘After each driling step, the tool is completely retracted to the clearance, thus out of the hole (J-word = 0). NB7975 Fig. 8.1.2.-1 JO, a retract to the clearance ‘The movements in the tool axis are: Feed over the distance of the first step (K-word). Rapid retraction to the clearance. Feed to the new depth. Distance = first step (K-word) - degression value (I-word).. = Rapid retraction to the clearance. = At rapid to a position the clearance distance before the preceding depth. + Feed to the new depth. Distance = preceding depth - degression value. = Rapid retraction to the clearance. = And so on for the following steps until the final depth is reached. ~ Dwell at depth, if programmed. = Rapid retraction to the clearance. ~ Further retraction at rapid traverse rate, if programmed. + -— ‘Z-SURFACE | ‘At rapid to a position the clearance distance before the preceding depth. @ Section 8 - 4 Programming CNC3460/700 891025 b. Retract over a programmable distance Woo} After each driling step the tool is retracted a programmable distance for chip-breakage, but remains in the hole (J-word <> 0). ‘Z-SURFACE NB5805 Fig. 8.1.22 J-word <> 0, a retract over the J-value ‘The movements in the tool axis are: Feed over the distance of the first step (K-word). Rapid retraction over a programmed distance (J-word). ‘At rapid to a position the clearance distance before the preceding depth. Feed to the new depth. Distance = first step (K-word) - degression value (|-word). + Rapid retraction over a programmed distance (J-word). = And 0 on for the following steps, until the final depth is reached, + Dwell at depth, if programmed. ~ Rapid retraction to the clearance. + Further retraction at rapid traverse rate, if programmed. 3. Tapping [84] In the G84-cycle two additional words can be used for slowing down the feed and speed so that the programmed depth is reached properly without damaging the thread. = Jword: The pitch of the thread in mm or inches. ~ Fword: The number of revolutions before the final depth where the slow down has to start. It and J are not programmed, a MC-setting is used for determining the point where the slow down starts. This MC-setting is a distance measured from the endpoint. 991025 Programming CNC3460/700 Section 8 - 5 The movements in the tool axis are: - Feed to depth = Slow down the feed and speed so ae the depth is reached properly Reversal of direction of spindle rotation | ‘Speed up the feed and speed Feed up to starting position } Reversal of spindle to original direction + Further retraction at rapid traverse rate : 4, Reaming [G85] | ‘The movements in the tool axis are: wr 4 - Feed to depth = Dwell at depth, if programmed - Feed retraction to starting position + Further retraction at rapid traverse rate 5. Boring (686) ‘The movements in the tool axis are: = Feed to depth = Dwell at depth, if programmed = Spindle stop + Retraction at rapid traverse rate to starting position - Start spindle again - Further retraction at rapid traverse rate 8.1.3. ACTIVATING A DEFINED CYCLE ON A POINT [G79] With the preparatory function G79 the last defined fixed cycle is executed in the tool axis after reaching the position programmed in the G78-block., The position is programmed as described in chapter 3. if symbolic names (defined points, see section 3.4) are used, the cycle is executed on the points in the ‘order they are written in the block. If the points where the defined cycle shouldbe executed, are lying in one plane, the tool axis has to be programmed once in the first block for activating the cycle. Ht the points are lying in different planes, for each plane the tool axis has to be programmed to get the ‘cycle executed in the right positions. To avoid a collision between workpiece and tool the positioning logic is always used. Refer to section 5.1.2 for a description of this logic. It can not be switched off with fixed cycles. Note that with the positioning logic a collision with other obstacies -like clamping devices- can not be detected.(see section 8.1.5.). Preparatory function G79 is only active in the block in which it is programmed and therefore has to be repeated in each block in which a cycle has to be activated. ‘As soon as a G79-block is executed, the radius compensation (it active) Is switched off, this means that G40 is automatically generated by the control. The active preparatory function from group A is ignored in the G79-block, but in any block without G79 the function is automatically active again Section 8-6 Programming CNC3460/700 991025 Remark 1. Remember that, when after a G79-block a movement is programmed in the plane only, a movement also will occur in the too! axis. So the tool point will “stand” on the surface. 2. A cycle is only executed with rotating spindle. If the spindle is not rotating, an error is displayed and the cycle is not executed. 8.1.4. EXAMPLES WITH MACHINING CYCLES . EXAMPLE 8.1.4.-1 Tapping four holes NB6O73 Fig. 8.1.4.-1 Four holes to be tapped ‘The four holes of figure 8.1.4.-1 are machined with the following tools: A s F tools rpm mmr maven " spot drill d 10x90 500 02 100 12 twist drill d 3.3 1000 02 200 13 tap Ma 560 07 390 991025 Programming CNC3460/700 Section 8 - 7 ‘The part program could look as follows: M Tt M6 N2 Gat Yt 22 F100 $500 M3 N3 G79 X60 -Y40 0 Né G79 80 N5 G78 X100 Ne G79 Yao N7 T2 M6 Ne Gat Yi 245 F200 $1000 . No G79 20 NiO G79 80 Nit G79 X60 Niz2 G79 yao N13 13 M6 Nig G84 Yo 24047 ‘$560 NiS G79 z0 Nis G79 Yeo N17 G79 x100 Nig G79 Yao N19 Z200 Explanation: M + Load the spot dril (71). N2 Define the spot drilling cycle. Additionally the spindle speed and the direction of spindle rotaion are programmed in this block. N3-N6__ : Spot driling the four holes; sequence 1, 2, 3, 4. N7 Load the twist dril (T2). Ne fine the driling cycle. N9-N12__ Drilling the four holes; sequence 4, 3, 2, 1 N13 : Load the tap (T3). Nia + Define the tapping cycle. The clearance distance should be large, otherwise the tool will not be removed far enough from the hole, when retracted in this cycle. The feed is: thread pitch (J) * spindle speed. . N15-N18_ : Tapping the four holes; sequence 1, 2,3, 4. N19 Retract the tool. EXAMPLE 8.1.4.-2 Using point definitions ‘The same operations as in the previous example have to be executed on the four holes from fg.8.1.4.-1. The four points are named P1 to P4 and are defined accordingly in G78-blocks. These symbolic names are used in the part program. Section 8-8 Programming CNC3460/700 991025 This could be: Ni G78 PI x60 4020 N2 G78 P2 X60 YB0.— 20. NS G78 P3 x100 ©8020 N4 G78 P4 X100 40-20 N5 Tr M6 Ne G81 YI Z2 F100 $500 Ma N7 G79 Pt -P2PS P4 NB Te . No G81 Yi 245 F200 $1000 NiO G79 P4 P3P2 Pt Nit 13 M6 Ni2 G84 You7 240 ‘S560 N13 G79 P1 P2P3 PA Nia 2200 Explanation: NN1-N4_—: The definition of the points P1 to Pa. NS + The spot drill is loaded. . N6 : The cycle for spot driling is defined. Additionally the spindle speed and spindle rotation are programmed. N7 : The four holes are spot drilled. NB : The drill is loaded. No + The oycle for drilling is defined. N10: The four holes are drilled. N11: The tap is loaded. N12: The cycle for tapping is defined. N13: The four holes are tapped. N14: The tool is retracted. EXAMPLE 8.1.4.-3 Deep hole drilling (G83) 31.5 NB5929 Fig. 8.1.4-2 Holes to be drilled ‘The four holes from figure 8.1.4.-2 should be drilled with the deep hole dling cycle, 891025 Programming CNC3460/700 Section 8-9 ‘The part program for the driling could be: Nt 1 N2 G83 Yi 2315 13 -K10 F200 $500 N3 G79 X30 30 20 N4 G79 x70 N5 G79 70 Né G79 x30 Explanation: Ni ‘The drill is loaded. N2 ‘The deep hole driling cycle is defined. Total depth 315 (Z-word) First step 210 (K-word) Degression value 13 (|-word) ‘Additionally the feedrate, spindle speed and direction of spindle rotation are set. N3-N6 : The four holes are dried. M6 M3 Each hole is drilled in 7 steps. The reached depth after each stop is:-10, -17, -21, -24, -27, -90, -31.5. EXAMPLE 8.1.4.~4 Holes in different planes Fig. [Link] Holes In different planes ‘The holes P1 to PB from figure 8.1.4.-3 should be drilled. In plane A: the points P1, P2, P7 and P8 In plane B: — the points P3, P4, P5 and P6 NB5928 Section 8 - 10 Programming CNC3460/700 891025 ‘The part program for the drilling operation could be: M Tr M6 N2 Gat Ys 245 F200 S120 M3 NB G79 X30 30 20 N4é G79. X70 NS G79 X130 2:25 Ne G79. X170 N7 G79 Y70 . NB G79. X130 No G79. X70 Zo NiO G79. X30 Explanation: M The dril is loaded. N2 The driling cycle is defined and additionally the spindle started at 120 rev/min, N3-N4—: Holes P1, P2 are dillad. N5 : The tool moves :- in plane A to point P3, thus in X - the clearance above plane B, then hole PS is drilled. N6-NB_—: The holes P4, PS and P6 are drilled. No The tool ++ retracts the clearance above plane A, = moves to hole P7, thus in X, then hole P7 is drilled. Here a collision between part and too! is avoided. NiO: Hole P8 is drilled. 8.1.5 AVOIDING A COLLISION WITH CLAMPS: tt a collision between any obstacie -like a clamping device- may occur, then the collision can be avoided by retracting the tool and thereafter moving towards the required position. EXAMPLE 8.1.5.-1 Avoiding a collision with a clamp 250 “Ta Fig. [Link]. A clamping device in the tool path 991025 Programming CNC3460/700 Section 8 - 11 Holes A and B in figure 8.1.5.-1 have to be drilled. However, a direct movement from A to B is obstructed by a clamping device. In the following manner a collision with the clamping device can be avoided: N3 G81 yt 2-29 F200 S120 M3 Na G78 x50 Y100.« 0 N5 Go 250 . Né G79. x300 20 Explanation: N3__: Define the cycle. Ne rill hole A. NS _: Retract the too! to enable a movement over the clamping device. The positioning logic oan not be used. NG —_: First move in the X-axis and then dril hole B 8.1.6 CYCLE IN DIFFERENT AXES ‘The defined cycle is always executed in the tool axis, thus the one indicated by the active G-function for plane selection. G-funetion Toolaxis Axis for cycle ai7 Zaxis Zaxis Gia Y-axis Y-axis Gia Xaxis Xaxis ‘The words used in the definition of the fixed cycle keep their meaning, Le.: the X-word remains the dwell time the Y-word is stil the clearance distance the B-word is the additional retract distance the Z-word remains the depth of the hole and its sign indicates the direction in which the cycle is executed: "in the negative direction of the tool axis . +" in the positive direction of the tool axis. ‘The direction of operation of the fixed cycle is not influenced by the functions G66 or G67, thus the functions indicating in which direction the tool is pointing. Refer to section 5.1.2. for the positioning logic in the different planes. Section 8 - 12 Programming CNC3460/700 891025 EXAMPLE 8.1.6.-1 Cycle in the Y-axis, LET eae Y=0 NB6O74 Fig. [Link] Four holes in the XZ-plano The four holes from figure 8.1.6.-1 are lying in the XZ-plane and should be drilled. The tool is standing inthe Y-axis, The part program could be: Ni G18 M6 N2 GBt Yi 210 F500 $1000 M3 NO G79 x25 YO _2.25 N4 G79 X75, NS. G79 275 Ne G79 x25 Explanation: Nt: Load tool T1. The tool is standing in the Y-axis (18). N2_: The spindle is started (M3) and rotates at 1000 rev/min. The fixed cycle is defined: ~The depth of the hole (Z-word) :-10 + Clearance above the workpiece (Y-word) : 1 NS: The pointis: + fitst approached in X and Z simultaneously = then in the Y-axis (tool axis) at clearance, then the defined driling cycle executed in the negative direction of the Y-axis. N4-N6: The second, third and fourth hole are drilled. 8.1.7 BOLTHOLE CIRCLE With the function G77 it is possible to execute a previously defined fixed cycle on a pattern of points equally spaced along a circular arc or a full circle. A circular pattern in the XY-plane is described with: - the coordinates of the centre, programmable with either: ~ the cartesian coordinates (X, ¥ ), ~ the polar coordinates (B1=.., L1=.. or B2=.., L2=..), =a symbolic name (P-word) 991025 Programming CNC3460/700 Section 8 - 13 he radius of the circle. he starting angle of the arc, thus the angle between the X-axis and the radius of the first point. + The total number of points in the pattern. |s.J1 programmed, only 1 hole will be executed. : The ending angle of the arc, thus the angle between the X-axis and the radius of the final point. It the points are equally spaced on a full circle, the K-word can be omitted. Both angles are programmed in degrees and decimal parts thereot. The maximum value is +/- 360° and the minimum value 0.0012. ‘The fixed cycle is executed on the points of the pattem moving in the counter clockwise direction. ‘The circular pattern is lying in the plane defined by the active function for plane selection. The fixed cycle Is always executad in the toolaxis (see section 8.1.6.). G-function Tool axis Plane for circular pattern Giz Z-axis XY-plane Gis Y-axis xZ-plane Gis Xaxis Yz-plane Refer to section 3.3.2. for: = the axis to be used for the angle in the different planes, = the sign of the angle. EXAMPLE 8.1. “1. Six points on a full circle. NBS5820 Fig. [Link] Six holes equally spaced on a circle Section 8 - 14 Programming CNC3460/700 891025 ‘The execution of a fixed cycle on the six equally spaced points on a full circle is: NiooGe PIX. Y. Z Nto1 Gat Yi 2:10 F100 $1000 M3 Nto2 G77 P10 Je Explanation: N100 : Define the centre of the circle, point P1 101 : Define the cycle to be executed on the 6 points N102 : The circular pattern with: ~ centre PY = radius 125 (R-word) - starting angle: 0 (|-word) = number of holes —: 6 (J-word) EXAMPLE 8.1.7.-2 Four points equally spaced on a circular arc NBSSI9A Fig. 8.1.72 Four equally spaced points ‘The block for executing a fixed cycle at the four equally spaced points on a circular arc, is: N110 G77P2 R25 120 KISO U4 N110 : The circular patter with: = centre P2 + radius 2 25. (Reword) + starting angle: 30 (word) + ending angie £150 (K-word) < numberof holes: 4 (J-word) Prior to the execution of this block a fixed cycle and the coordinates of P2 must be programmed. 891025 Programming CNC3460/700 Section 8- 15 EXAMPLE 8.1.7.-3 Tapping four holes NB6O72 Fig. [Link] Holes to be tapped Consider the four holes from figure 8.1.7.-3. e ‘The program for the three operations spot driling, drilling and tapping on the holes could be: Ni G78 x80 Y6o ZO PS N2 Tr M6 N3 Gat Yi Z2 F100 $500 M3 N4 G77 28.284 M5 Ja PS. NB 12 M6 Ne Get Yt 245 F200 $1000 N7 G77 26.284 45 J4 PS : NB 13 M6 No GB4 Yo 240 7 ‘$560 NiO G77 R28.284 M5 Jd PS. Nit Go Z200 Explanation: . Q Nt: Define the centre of the circle, point PS. N2_: Load the spot dril (tool T1). N3_: Define the spot driling cycle and set additionally the spindle speed and direction of spindle rotation. ‘The defined cycle is executed on each of the four holes along the circle. Load the dri (too! T2) Define the dling cycle. Execute the drilling cycle on each of the four holes. The order is the same as in block N4. - Load the tap (too! T3). Define the tapping cycle. Execute the tapping cycle on the four holes. Retract the tool. Section 8 - 16 Programming CNC3460/700 991025 8.2. FIXED CYCLES FOR MILLING OPERATIONS ‘Three special milling cycles are available for defining: = arectangular pocket (G87) = agroove (G8) + acircular pocket (G89) ~ the technological conditions for these milling operations ‘Another block is needed for activating the defined cycle. This activation block can be: = a G79-block in which the centre of the pocket or the entering point of the groove is programmed. - a G77-block when the centres of the pockets ly equally spaced on the circumference of a Circle (see section 8.1.7) Refer to section 8.2.4 for pockets or grooves not parallel to the main axes. 8.2.1. MILLING A RECTANGULAR POCKET[G87] The definition of the cycle: ‘The following words are used in a G87-block for defining @ rectangular pocket in the XY-plane and its machining: Fig. 8.2.1.-1 A rectangular pocket X-word The length of the pocket, i.e. the dimension parallel to the X-axis. The X-word has no sign. Y-word : The width of the pocket, ie. the dimension parallel to the Y-axis. The Y-word has no sign. Z-word : The total depth of the pocket, measured from the surface. ‘The sign of the Z-word indicates the direction of the movements in the tool axis. Normally the Z-word is negative. Reword : The radius in the corners of the pocket. ‘The R-word mustbe programmed in a G87-block. : The clearance distance measured from the surface. K-word : The depth for each cut when the pocket is machined in several layers. 91025 Programming CNC3460/700 Section 8 - 17 word: Maximum part of the tool diameter which is used to advance the tool into the material. 175 moans that as a maximum 3/4 of the diameter is used. If the |-word is not programmed, the value of a machine constant is used. J-word : The direction of miling, ot Milling direction is counter clockwise looking from the tool towards the workplace. Also Hf J is not programmed. J: Miling direction is clockwise 3 ~ 2 2 > 3 c I o- { c | 4 1 wo4 + 4 | NB6O75 J+ counter clockwise J+ clockwise Fig. 8.2.1.-2 Direction of milling ‘The other words as F, S, T and M can be added to a G87-block. e If the pocket is lying in another plane than the XY-plane, then: ~ the sign of the Z-word indicates the direction of movement in the tool axis, ~ the X-word and Y-word are parallel to the main axes defined by the G-funection of the plan a7 Gis G9 \ X-word parallel to Xaxis Xaxis Zaxis ‘Y-word parallel to Y-axis Zaxis Yeaxis Z-word (tool axis) Zaxis Y-axis Xaxis Section 8 - 18 Programming CNC3460/700 891025 The tool sequence The tool sequence for milling the pocket is: b. With rapid traverse to the centre (C) of the pocket and stay the clearance distance (B-word) ‘above the workpiece. With half the programmed feed to the first depth (K-word).. Fig. 8.2.1.-3 Pocket milling sequence Move the tool from the centre to point 1 and mill around from 1 to 2, 3, 4 and back to 1. (see figure 8.2.1.-3.) Point 1 is calculated by the control and depends on the X-word, Y-word and the radius of the active tool. Move the tool to point 5. The point is calculated by the control. ‘The distances parallel to the axes are: |-word x tooldiameter Move the tool around from 5 to 6, 7, 8 and back to 5. Repeat the steps d and e -if necessary: unti the layer is cleaned out. Finally follow the programmed contour and stop in the centre of the corner. It the programmed depth is reached, retract the tool to the clearance. If the programmed depth is not reached, move, with three times the programmed feed, to the centre (C) of the pocket. 991025 Programming CNC3460/700 Section 8 - 19 i Clean out another layer by repeating the steps b to i. After the cleaning out, a finishing for the sides of the pocket might be necessary. The best way to proceed is to store in the tool memory, for the actual tool, a radius being the stock removal greater than the actual radius of the tool. Once the cycle is totally executed this stock removal remains for finishing, ‘The finishing of the pocket is programmed by activating the tool radius compensation and using the Tegular G1 and G2/G3 blocks. EXAMPLE 8.2.1.-1 Milling three pockets. NB5810 QO Figure 8.2.1.-4 Example with three pockets. Section 8 - 20 Programming CNC3460/700 891025 ‘The three pockets of figure 8.2.1.~4 are to be machined with an end mill d 10 mm. ‘The program could be: Ni Tt M6 N2 G87 X55 30 7-6 BY K6 175 F200 $500 M3 NS G79.-x42.5 Y25 Z0 Né G79 Yao NS GB7_-X40.-Y55 2-6 = BY Ke 175 . Ne G79.-X115. Ya2.5 N7 GO 200 Explanation: Prior tothe execution of the program the tool radius (5mm) Is store. Ni: Load the tool N2_: The geometry of the pocket and the technological conditions are defined. N3_: Clean out the first pooket. N4 = Clean out the second pocket. NS: Define the geometry of the third pocket. @ NE | Geanourte rir pocket N7_: Retract the tool 8.2.2. MILLING A GROOVE [89] ‘The definition of the cycle ‘The following words are used in a GBB-biock for defining a groove in the XY-plane and its machining: NB7976 Fig. 8.2.2.-1 A groove parallel to the X-axis. 991025 Programming CNC3460/700 ‘Section 8 - 21 X-word : The dimension of the groove parallel to the X-axis. Y-word : The dimension of the groove parallel to the Y-axis. d axis (figure 8.2.2.-2); in this case the sign of the X-word indicates on which side of the entering point (B) the groove is lying. we Fig, [Link] The sign of the X-word. * parallel to the Y-axis (figure [Link]) the entering point (B) the groove is lying. i ff NBS812 in this case the sign of the Y-word indicates on which side ot @ Fig. 8.2.2.-3 The sign of the Y-word. Z-word : The total depth of the groove measured from the surface. The sign of the Z-word indicates the direction of the movements in the tool axis. Normally the Z-word is negative. B-word : The clearance distance measured from the surface. K-word : The depth for each cut when the groove is milled in a number of steps through the centre. J-word: The direction of miling. +1: Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is ‘not programmed. +1: Milling direction is clockwise. ‘The other words as F, S, T and M can be added to a G88-block. Ifthe groove is lying in another plane than the XY-plane, then: the sign of the Z-word indicates the direction of movement in the tool axis, + the X-word and Y-word are parallel to the main axes defined by the G-function of the plane: Section 8 - 22 Programming CNC3460/700 891025 e a7 ats Gig X-word parallel to X-axis X-axis Zaxis ‘Y-word parallel to Y-axis Zaxis Yaxis Z-word (tool axis) Zaxis Y-axis Xaxis ‘The tool sequence ‘The too! sequence for milling the groove is (figure 8.2.2.~4): a t. With rapid to point B where the tool enters the groove and stay the clearance distance (B- word) above the workpiece. ‘With half the programmed feed to the first depth (1).. \Wath the programmed feed through the centre ofthe groove to point E (2). With half the programmed feed to the second depth (3). With the programmed feed through the centre of the groove back to point B (4). ‘So the tool moves to and from, each time at another depth until the final depth is reached. Fig. 8.2.2.-4 Depth movements in the groove. ‘Once the final depth is reached, the sides of the groove are milled from B to 1, 2, 3, 4, 1, and back to B in a counter clockwise direction (see figure 8.2.2.-5) or a clockwise direction if J-1 is, programmed. Here the tool radius compensation is automatically activated by the control and cancelled when the cycle is completed. The radius of the tool is used with the radius compensa- tion. 891025 Programming CNC3460/700 Section 8 - 23, NB5S14A Fig. 8.2.2.-5 Cutter path for the sides. he At the end of the cycle the tool is retracted out of the groove and stopped the clearance above the workpiece. EXAMPLE 8.2.2.-1 Milling throe grooves 15, 55, ig 55 NBSB15 Fig. 8.2.2.-6 Grooves to be milled. ‘The three grooves of figure 8.2.2.-6 have to be machined with an end mill d 10. ‘The part program could be: Ni mT M6 N2 GBB XESS VIS zs B1 KS F100 $500 M3 NS G79 x225 225 Zo N&é G79 62.5 NS -G79._X7.5 42.5 Ne Go Z200 Explanation: Prior to the execution of the program the tool radius (Smm) is stored. N1: Load too! T1 'N2: Define the geometry of the groove and the technological conditions for miling. N3: Enter at point B and mill groove 1. Né: Mill groove 2. Section 8 - 24 Programming CNC3460/700 891025 NS: Mill groove 3. N6: Retract the tool. 8.2.3. MILLING A CIRCULAR POCKET [e89] ‘The definition of the cyclo The following words are used in a G89-block for defining a circular pocket in the XY-plane and its machining: . Fig.8.2.3-1 A circular pocket Reword : The radius of the pocket. Z-word : The total depth of the pocket measured from the surface. ‘The sign of the Z-word indicates the direction of the movements in the tool axis. Normally the Z-word is negative. B-word : The clearance distance measured from the surface. K-word : The depth of each cut when the pocket is machined in several layers. word: Maximum part of the too! diameter, that is used to advance the tool into the material, 175 means that as a maximum 75% of the diameter is used. If the word is not programmed, a MC-value is used. J-word : The direction of miling. J+1 The milling direction is counter clockwise looking from the tool towards the workpiece. Also if Jis not programmed. J41 The milling direction is clockwise. ‘The other words as F, S, T and M can be added to a G89-block. If the pocket is lying in another plane than the XY-plane, then: ~ the sign of the Z-word indicates the direction of movement in the tool axi - the plane is indicated by one of the G-functions for plane selection: 91025 Programming CNC3460/700 Section 8 - 25 Gi7 Gis ate Plane of the pocket XY-plane | XZ-plane | YZ-plane Z-word (tool axis) Zaxis Y-axis Xaxis Tool sequence The tool sequence for milling the circular pocket is: a With rapid to the centre (C) of the pocket and stay the clearance distance (B-word) above the workpiece b. With half the programmed feed to the first depth (K-word) <> NBS5817 Fig. 8.2.3.-2 Tool sequence for a circular pocket. « With the programmed feed from C to 1 (see figure [Link]). The distance to move is: tooldiameter x |-word. 4. Make with the programmed feed a full circle in clockwise direction (J-1) or counter clockwise direction (J+) as seen from the tool. ° The steps c and d are repeated until all material is cleaned out from the first layer. is Go with three times the programmed feed back to point C. o If the programmed depth is not reached, another movement over the depth (K-word) takes place and then another layer is cleaned out. h. It the total depth is reached, retract the too! out of the pocket and stop the clearance above the workpiece. After cleaning out, a finishing for the side of the pocket might be necessary. The best way to proceed is to store in the tool memory for the actual tool a radius, being the stock removal greater than the actual radius of the tool. Once the cycle is totally executed this stock removal remains for finishing. The finishing of the pocket is programmed by activating the tool radius compensation and using the regular G1 and G2/G3-blocks. Section 8 - 26 Programming CNC3460/700 991025 EXAMPLE 8.2.3.-1 Milling a circular pocket. NBSBI8 Fig. [Link]. Pocket to be milled. ‘The part program for miling the circular pocket with an end-mill d 10 mm could be: NM 1 M6 N2 G89 Z15 BI R25 175 KB F200 $1000 M3 NB G79 x50 Y50 20 Na GO 2200 NS Explanation: Prior to the execution of the program the tool radius (Smm) is stored. Nt: Load tool T1 N2 : Define the circular pocket and the technological conditions for machining it. N3_: Cleaning out the pocket in three steps: = Step 1 atZ-6 + Step 2 at 2-12 = Step 3 atZ-15, N4 : Retract of the tool. 8.2.4 ROTATING POCKETS OR GROOVES Bi=] Normally the defined pookets or grooves are milled with their sides parallel to the axes of the plane in which the pockets or grooves are executed. The G79 or G77-blocks can be extended with an additional word B1= which indicates the angle of rotation for the pocket or groove. In this case the incremental polar coordinates (B1z.., Li=..) or the combination of one coordinate (X, Y or Z) and angle (Bt=..) ‘cannot be used in a G77 or a G79 block. 991025 Programming CNC3460/700 Section 8 - 27 G79-block With a G79-block two possibilities are available: B1=0 (or not programmed) The pocket or groove is milled as described in the sections 8.2.1 to 8.2.3, thus parallel to the axes. Bi= Under this word the angle, the axis of the pocket or groove makes with the X-axis (G17, G18) or the negative Z-axis (G19), can be programmed. The angle is measured in ‘degrees and decimal parts thereof and ranges from -360° to 360°. EXAMPLE 8.2.4.-[Link] a pocket Fig. [Link] Rotating a pocket. Miling the pocket from figure 8.2.4.-1 at a depth of 5 mm can be programmed as: N2 G79 X55 32.20 B1=60 - { NI G87 X30 Y20 2-5 BI RS e Explanation: N1__: The pocket is defined as if its sides are parallel to the X- and Y-axis. N2_: The pocket is milled. In this block the centre of the pocket (X, Y, Z) and the angle (60°) the axis of the pocket makes with the X-axis are programmed. G77-block With a G77-block three possibilities are available: 1. Bt= not programmed: ‘The centres of the pockets or the entering points of the grooves are lying on the defined pitch ci Cle. The sides of the pockets or grooves are parallel to the coordinate axes of the plane. Section 8 - 28, Programming CNC3460/700 891025 > 2 Bt=0: ‘The pockets or the entering points of the grooves are lying on the defined pitch circle. The axis of ‘each pocket or groove is radial as seen from the centre of the pitch circle. 8. Bise0: ‘The word B1= indicates the angle, the axis of the pocket or groove makes with the radius from the ‘centre of the pitch circle to the centre of a pockat or the entering point of a groove. EXAMPLE 6.2.4.-2 Radial grooves . wasses Fig. 8.2.4.-2 Entering points of grooves on a circle (B1=0) Milling the grooves from figure 8.2.4.-2 at a depth of 10 mm can be programméd as: Ni GB X20 -YIO Z10 BI N2 G77 X78 Y56 ZO R24 Bt=0 106 Explanation: N1_: The first groove is defined with its sides parallel to the X-and Y-axis. N2_: The grooves are milled + The contre of the pitch circle (X.Y.Z) ~ The radius of the pitch circle (R) = The angle the first groove makes with the X-axis (|) + The number of grooves (J) = The grooves are radially located (B1=0) 9891025 Programming CNC3460/700 Section 8 - 29 EXAMPLE [Link]. Grooves under an angle Nossée Fig.8.2.4.-3 Entering points of grooves on a circle (B1=30) Milling the grooves from fig. 8.2.4.-3 at a depth of 10 mm can be programmed as: Ni GBB X20 -YI0 «2-40 BI N29 G77 X78 56 ZO R24 B1=90 10/6 Explanation: q N1_ : One groove is defined as it its sides are parallel to the X-and Y-axis. N2_: The grooves are milled. Programmed are: = The contre of the pitch circle (X.Y.2) ~The radius of the pitch circle (R) = The angle the first groove makes with the X-axis (I). The axis of the groove is not yet rotated. + The number of grooves (J) . = The angle the axis of the groove makes with the radius (81=20). Section 8 - 30 Programming CNC3460/700 891025 9. SPECIAL FEATURES ‘The following special features are described: Inctvmetric programming Call of a part program in a part program Parametric programming ‘Subprograms or macros + Jump and repeat function = Conditional jump in a program + Coordinate transformation = The automation package + Chamfer and rounding 9.1. INCH/METRIC PROGRAMMING [G70/G71] After switching on, a machine constant sets the control to either inch or metric mode to enable the following: ~ toenter a part program manually in either metric or inch units, = to execute a part program writen in either metric or inch units, = to convert a program from metric to inch inch units or vice versa during reading in, Units Units for metric inch Dimensions 001 mm, 0001 inch Feedrate —F (G94) 001 mm/min .0001 inch/min F (G95) .001 mmv/rev 0001 inch/rev Memories The tool dimensions, stored zero offstes, parameter values have to be stored in the units of the active CNC-mode. Therefore, when the machine constant is changed, so the other system selected, these ‘memories must be cleared by the operator and loaded with the correct units, before they can be used again. " art program can be written in either metric or inch units. ‘Two G-functions are available to indicate the used units for the programmed dimensions: =G70: in inch values -G71: inmm values 891025 Programming CNC3460/700 Section 9-1 The function G70 or G71 must be written in the same block as the program identification and , if used, behind the program name, Unit conversion at reading in {t the control is in one mode and the part program written with the other units, then the programmed Units are converted to the units of the active mode as the program is being read into the user memory ‘and the G-function converted accordingly. part program CNC mode | stored program ‘conversion G70 (inch) ie metric (G71) yes G70 (inch) inch ‘inch no G71 (metric) metric no G71 (metric) inch G70) yes: Execution of a program t G70 or G71 Is not programmed, the contro! assumes’ that the program is in the same units (inclvmetric) as set for the CNC-mode. 1 G70 or G71 is written into the program, the control checks if the same units are used in the program and the CNC-mode. if not, an alarm is generated. stored program | CNC-mode | alarm G70 (inch) metric yes G70 (inch) inch no G74 (metric) metric n0 G71 (metric) inch yes 9.2. CALL OF A PART PROGRAM [G23] ‘Apart program can be called from another part program with: + the function G23 + the identification number of the called program (N=). ‘So a call from the programs N99998 and N98889 in program NES8888 is programmed ike: Neseses N10 G23 Nq99998 N20 G23. Ness99 N30 M30 Section 9-2 Programming CNC3460/700 891025 In the calling program conditional jumps (see sections 9.5.2 and 9.5.3) can be used to indicate which Program will be called. @ Exch program can run separately. A called program is not closed with M30, so the program is terminated by the control with "END OF PROGRAM " in the display. Via MANUAL CLEAR CONTROL a Jump to the start of the program has to be performed. It @ program Is called from a main program and program execution terminated via CLEAR CONTROL, the called program remains the active one. For a return to the calling program the operator has to enter M30 in TEACH IN mode. After this command program control is in the main program at the block with the call. ‘The function G23 is not allowed: + in a program called with G23 + ina macro, 9.3. PARAMETRIC PROGRAMMING fe) Instead of using values for the words it is possible to write the part program with symbols or Parameters. They have nodefinite meaning at the moment of writing the program, but receive their actual value before the program is executed. In this way itis possible to solve a problem in quite general terms @]_ 72172" He tal xcuton can be adaned to specie equremons Up to 255 parameters (a MC-setting) can be stored in a special part of the user memory. Parameters ‘and their associated values can be displayed and changed directly in this memeory. Also data transfer to and from a data carrier is possible (see operator's manual). 9.3.1. RELATING A PARAMETER TO AN ADDRESS ‘The parameters are written with address E and a number from 0 to the number of parameters available in the control. So the word E12 signifies a parameter carrying the number 12. ‘All words, except N, can be written with a parameter as follows: = the address of the word, e.g. X, Z ete > the character "=" - the address E = the parameter number. Oo Thus: XeE12 ‘means that at the execution of the block, the X-coordinate gets the value of parameter E12. ‘A sign can be programmed after the address and before the *=" character. With a positive sign (or not Programmed) the word gets the value of the parameter. A negative sign results in a sign opposite to that of the parameter value. Thus: X=£12 means that at the execution of the block, the X-coordinate gets the value of parameter E12, but with ‘opposite sign. 891025 Programming CNC3460/700 Section 9-3 So in a block tke: N50 G3 X=E1 Y=E2 10 JO the endpoint coordinates (X and Y) of the circular movement are programmed with parameters E1 and E2, The circle centre coordinates (| and J) are written without parameters. Remark : 1. When at reading in program conversion from metric to inch or vice versa is used, all parameter values are converted. For non-dimension words this may result in faulty values and in this case it is recommend- ed to restrict the use of parameters to dimension words only. 2. The earlier method for using a negative parameter with an address (e.g. X-=E1) is not allowed anymore. At reading in a program these expressions are automatically converted Et). (toeg. 9.3.2. SETTING PARAMETER VALUES In each block of a part program or subprogram a parameter can be given its value by programming: ~The Evaddress and the parameter number . ~The character "=" and the parameter value written with a sign and the decimal point ‘The parameter value can be: - a 15 digit integer value, thus without decimal point = a 15 digit fixed point value with an acouracy of at least 6 decimals and a maximum of 15 decimals be- hind the decimal point. Internally fixed point values are stored either as entered or in the so called scientific notation, thus with ‘exponent (see chapter 12, section 12.2.1.). ‘More than one parameter can be given a value in one block and they can be entered in any order. The ‘same block may contain other words t00, €.9. N70 GO x100 E12+200.15 E13=-300 ‘The maximum number of characters in a block Is 80 and this value limits the number of words and parameter settings in a block. Parameters act modally, ie. once a parameter value has been allocated, this value is maintained until itis changed: = by another setting, ~ by recalculation, = via the operator's panel, = by reading in the parameter memory. ‘They are not influenced by CLEAR CONTROL. It should be noted that identical parameter numbers can be used in different part programs or subprograms. During the execution of the program the value stored in the parameter table is used. So if the parameter value is not correctly set at the macro call, an arbitrary value, @.g. returned in the memory {from a previous program or subprogram, can be taken, Ita parameter is not defined at all, an error massage is displayed. EXAMPLE [Link] A parametric program AA tull circle has to be milled. A program is written with two parameters: + E1: the depth of in-teed - E2: the circle radius. Section 9-4 Programming CNC3460/700 891025 2 esos Fig. 9.3.2.-1 The circle to be milled ‘The part program looks as follows: 9001 1 M6 Ni x75 Yeo 22 ‘$1000 M3 N2 G91 Et=18 E2=30 N30 GI F100 Né G43 XxE2 N5 Ga2 Ne G2 I3€2 Jo Nz OG NB G40 X=-E2 Na -GO) Et Nio G90 Explanation: N9001: ‘The program is identified by block number N9001. In the same block the tool is loaded. Ni: The required position (X75, Y80,.Z2) is approached. In the Z-axis a clearance of 2 mm is programmed. ‘N2__ : The incremental programming is activated and the two parameters E1 and E2 are set. N3__: The tool moves to depth. N4 The too! moves to the circle. NS: The radius compensation to right is activated. N6 —: The full circle is milled. The radius of the circle equals E2. N7__ : Circular interpolation is cancelled. N@_—_: The radius compensation is cancelled and the tool retums to the circle centre. N9_—_: The tool is retracted out of the hole, back to the clearance. N10: Absolute programming is activated again. 891025 Programming CNC3460/700 Section 9-6 9.3.3. CALCULATIONS WITH PARAMETERS The control allows to perform some caloulations with parameter values. The following arithmetical Oo ‘operations are possible: = Addition (+) + Subtraction () + Multiplication (*) + Division (:) ‘These operations can be performed between the parameter value and any fixed value or between two parameter values. ‘The accuracy of these calculations is with 15 decimals. An arithmetical expression contains: - The parameter which is associated with the end result of the calculation = The character "=" ~ Aparameter or a fixed value - The arithmetical operation, thus "+", "-", "*" or "2" ~ The fixed value or the second parameter ‘A combination of operations in an arithmetical expression is not allowed. a Itis also posssible to make two parameters equal to each other by writing, ¢.9. E12=E13. ‘An arithmetical expression can be written in stead of a value on those places where the setting of rameter is allowed. If necessary the value is automatically rounded to the number of decimals bel to the word, Remark : Refer also to chapter 12 in which the software option “Calculation Extension" is described. With this option: ~ a parameter can be entered as a floating point value, with the so called scientific notation, - a number of mathematical functions is available, = compound arithmetic expressions can be used, ~ relational expressions for a conditional jump are introduced. EXAMPLE 9.3.3.-1 Calculations with parameters E12=E4+100: The value 100 is added to the value of parameter E4 and the result is stored under E12. E12E4-E3 : The value of parameter E3 is subtracted from the value of parameter E4 and the result is stored under E12. e E8=E4x3_—_: The value of parameter E4 is multiplied by 3 and the result is stored under E8. E8=E4:3 _ : The value of parameter E4 is divided by 3 and the result is stored under ES. E8-E4:£2 —: The value of parameter E4 is divided by the value of the parameter E2 and the result is stored under E8. ‘A combination of operations in an arithmetical expression is not allowed. ‘An arithmetical expression can be written in stead of a value on those places where the setting of a Parameter is allowed, Section 9-6 Programming CNC3460/700 891025 9.4. SUBPROGRAMS OR MACROS ‘A subprogram is a “closed” program section, which is programmed once only and stored in a separate part of the user memory. The subprogram is executed, when it is called by the main program (=part rogram) or another subprogram. The same subprogram can be called up any number of times. With the aid of parametric programming (see section 9.3.) generalized subprograms can be written. ‘Any function, except G23, which can be used in a part program, can also be programmed in a subprogram. . ‘The same block numbers can be used in different subprograms. 9.4.1. IDENTIFICATION OF A SUBPROGRAM ‘A subprogram starts with a block number and ranges from N1 to N9999999. With this number the subprogram is identified. ‘A subprogram is automatically closed by the control it: = im EDIT mode a change is made to ID-DIR for entering another subprogram, or = another memory than the subprogram memory is selected. * Refer to section 1.4.1. for = Identitying a macro on a data carrier, + numbering macros downwards compatible with older software versions. 9.4.2. CALLING UP ASUBPROGRAM [G22] ‘A subprogram is called up trom the part program or another subprogram with: = preparatory function G22 = the identification number of the subprogram (N=). (Only the block number and value settings for parameters may be added to a G22-block. Thus, in block: N50 G22 N=9001 the subprogram with the identification N9001 is called, ‘The subprogram call is entered at that point in the program where the blocks of the subprogram have to be processed. In @ subprogram it is possible to call another subprogram in which another subprogram can be called. This is known as nesting of subprograms. Up to 8 nests are possible. EXAMPLE 9.4.2.-1 Tapping four holes using a sub program 991025 Programming CNC3460/700 Section 9-7 az BOB Fig. [Link] Four tapped holes ‘The four holes shown in figure 9.4.2.-1 have to be spot dried, driled and tapped. A subprogram is used for: + activating a fixed cycle (G79) =. for indicating the four positions where the cycle should be executed. ‘The subprogram looks as follows: N9001 G79 X-40 YO ZO Ne G79.X0.-¥.40 N3 G79. X40 YO N4 G79. XO. Y-40 ‘The three fixed cycles are defined in the part program and after every definition the subprogram is called. ‘The part program looks as follows: Ni m1 Me N20 Get Y.5 Z2 F100 $500 M3 N3 G22 N=9001 NA 12 N5 Gat 20 F200 $1000 Né G22 N=9001 N7 3 M6 Ne Ga Yo 2-15 F390 $590 NQ G22, N=9001 Section 9-8 Programming CNC3460/700 991025 a Explanation: Ni: Load the spot drit N2: Defines the fixed cycle for spot driling. N3: Calls up the subprogram. The four holes are spot drilled. N4: Load the dit. NS: Defines the fixed cycle for drilling. N6 : Calls up the subprogram and the four holes are drilled. N7 = Load the tap. N8 : Defines the cycle for tapping. N9 : Again calls up the subprogram and the four holes are tapped. 9.4.3. PARAMETER USE IN A SUBPROGRAM ‘As stated before a subprogram can also be written with the aid of parameters. The same parameters can be used in different subprograms. ‘The setting of the parameters can be done: = Inthe main program or subprogram. + Via the operator's panel, + By reading in the parameter memory Calculations with parameter values as described in section 9.3.3. are also allowed in a subprogram. EXAMPLE 9.4.3.-1 A parametric subprogram In this example a general subprogram for milling a full circle is shown. To achieve a smooth transition the circle is entered and left with a small circle. Tool radius compensation is used so that the workpiece contour can be programmed directly. * Fig.9.4.3.-1.A subprogram for milling a full circle 891025 Programming CNC3460/700 Section 9-9 The following parameters must be set in the program: ~ E1: Radius R1 of the full circle - E2: Radius R2 of the approach and retraction circle - E4: The depth, including a clearance distance. ‘The following parameter is calculated: + E3: The distance (R1-R2) ‘The subprogram is written with incremental dimensions and looks as follows: N9002 G91 E3-E1-E2 Ni Gt Z€4 F100 N2 Y=E3 N3 G43. X=-E2 N4é G42 N5 G2. XeE2Y=E2 ReE2 N6 10 Jeet N7 XeE2 YaE2 REQ NB G40. N9 GO X=E2 Y=E3 = ZsE4 Nio G90 Explanation: 9002: The subprogram is identified by block number N9002. In this block incremental programming is set and parameter E3 is calculated. Ni: The too! feeds to depth. In E4 a clearance from the workpiece must be considered, N2 The tool moves to the centre of the approach circle. N3__: The tool feeds axis parallel to the starting point of the approach circle. N4_: Radius compensation right is activated. NS: The radial arc is contoured, Both the end N6 —_: The full circle is milled. The circle centre is programmed, ‘and the radius are programmed with parameters. N7 _: The arc of the retraction circle is milled. Both the endpoint and the radius are programmed with parameters. N@_—_: The radius compensation is cancelled. N9_—: The tool moves with rapid traverse to the starting point of the subroutine and retracts from depth. N10: The control is set back to absolute programming. If this subprogram is used the calling program must contait = Atool movement to the circle centre (N200) + A definition of the parameters (N201) + Acalllof the subprogram (N201) ‘The calling program looks as follows: Noo02 G17 Tr oMé Ni 2000 M3 200 Go x75 800 Not G22. N-9002 E1=30 £2-15 E415 N00 M30 ‘After calling the subprogram a circle with a diameter of 60 mm is milled inthe required position (X75, Ye0). Section 9 -10 Programming CNC3460/700 891025 9.5. REPEAT AND JUMP FUNCTIONS Normally in a program or subprogram the blocks are processed in the sequence in which they are @ reoremod. "Ths seauonce canoe rtuonced wih ~ the jump and repeat function with which any number of blocks from the program can be repeated, = the conditional jump with which a jump to any block in the program is executed if a condition is fulfilled. ‘A special input is provided to influence these functions from outside the program. 9.6.1, JUMP AND REPEAT [a14] With the jump and repeat feature any number of blocks out of a part program -or subprogram- can be repeated. ‘A block for jump and repeat is programmed with: = the preparatory function G14, ~ the number of the first block ofthe repeat sequence (N1=), ~ the number of the last blook of the repeat sequence (N2=), = the number of repeats, (J-word or E-word). Whilst executing a G14-block a jump in the program occurs to the block indicated with N1= . This block @ araithe folowing biocks incuding the. ono. Inoatod: wih N3e a repeated the number of times indicated by the J-word or E-word. Once the repeats are finished, the program continues with the block after the G14, Notice that: + the starting (N1= ) and ending (N2= ) block number must be in the same program or subprogram, - Ni= must be before N2= , so that the order of executing the blocks in the repeat sequence is the same as the order originally programmed. lt no number of repeats is programmed (J-word and E-word are missing). the sequence is repeated once. It Is possible to have a repeat of one or more blocks in a repeat sequence. Up to 4 sequences can be Used in this way. If the last block (N2= ) is not programmed only the block indicated by N1= is executed. In this way we have a block-repeat. Here too the J-word or E-word indicates the number of repeats of that block. Refer to the examples 9.6.12 and 9.6.2.-1 for the use of the jump and repeat function. @ 252. conomionat JUMPIN A PROGRAM [G29] With a conditional jump a jump to any block in the program is executed if a condition is fulfilled. ‘A conditional jump is programmed with: = Preparatory function G29 - Aparameter, its value indicates the condition: >0 —:ajump in the program or subprogram <=0 _:nojumpis executed ~The jump target programmed with N= . its value is the block number at which the process continues when the condition is fulfiled, 891025 Programming CNC3460/700 Section 9-11 ‘The target must be in the same program or subprogram as the G29. it is however irrelevant whether the jump is in the reverse or forward direction. Soa block: Oo N100 G29 £2 N=50 ‘means : - E2>0 : jump to block number NSO and continue the execution of the program from that blook in sequential order. * + E2<=0: continue the execution of the program with the next block after the G29-block. The function can be used to jump back to the block from which a repeat of programmed blocks has to start and to execute the blocks up to the G29-block once more. in this case the parameter value Indicates the number of repeats, thus the number of times the intermediate blocks have to be executed. ‘At each jump the parameter value is automatically reduced by 1. It is also possible to calculate the parameter value and to use it as the jump condition. To influence the reduction of the parameter value the K-word is used: + K-word not programmed, the parameter value is reduced by 1. = KO programmed, the parameter value is not reduced. - K<> 0, the K-value is used to reduce the parameter value, Refer to example 9.6.1.-2 for the use of G29. 9.5.3, EXTERNAL JUMP CONDITION ‘A special input is provided to influence the functions G14 and G29 from outside the part program: ~ input *high* :the functions G14 and G29 are executed as programmed, = input "iow" the programmed jumps are ignored. If the signal gets "low" during the execution of a repeat sequence, the sequence is normally finished, but the jump is ignored and the next block of the program is executed. The remaining number of repeats is cancelled. ‘A machine constant has to be sot to activate this input. 9.6. COORDINATE TRANSFORMATIONS The following coordinate transformations are described: 6 1, Scaling of a program or a section of a program. 2. Mirroring about one of the main axes. 3. Axes rotation. Section 9-12 Programming CNC3460/700 991025 9.6.1. SCALING {G72/G73) AA part program or a section of a part program can be increased or decreased in shape (=scaled) by a factor. Scaling is activated in a block with: = preparatory function G73, any combination of scaling and mirror image is allowed, ~ a scale factor programmed with Ad= . Depending on a MC-setting the scale factor is either a factor (format 2.6) or a percentage (format 3.4). . ‘So a dimension increase of 1.25% is programmed as: + afactor 173. A4=1.0125, + a percentage : G73 A4=101.25 With another MC-setting is indicated, if only the coordinates of the main plane or all linear axes, including the tool axis, are influenced by the scaling. All so indicated dimensions after a G73-block, except the tool dimensions and the stored zero offsets which are machine dependent values, are scaled until the scaling is terminated by: ~ G72. In this case an activated mirror image is cancolled too. + aG73 Ad=1 or A4=100, depending on the MC-setting . + CLEAR CONTROL. ‘The centre of multiplication with the scaling is the program datum point W, so that without precautions rot only the shape but also the position of the workpiece on the table is influenced. Fig. 9.6.1.-1 Place of a scaled shape on the table If zero datum point shifts are used in the scaled section, these shifts are scaled too. They do not influence the centre of multiplication. Refer to example 9.6.1.-1 in which is shown how: = [Link] of multiplication is determined, so that the part remains on a fixed place of the table, = a datum point more convenient for a part programmer still can be used. 991025 Programming CNC3460/700 Section 9-13 Scaling can also be used to mill a part a number of times with the same tool, but at different distances from the part. This is explained in section 9.6.1.-2. EXAMPLE 9.6.1.-1 Scaling a part 6a Fig. [Link] Acam ‘The part programmer should like to use point W as the datum point of his program for the cam of figure 9.6.1.-2. However, this datum can not be used as the centre of multiplication with a scaling, because the location of the part on the table will be changed too. Now a point CM on the symmetry axis of the part and at a distance of 47.5=(115-20)/2 from the X-axis is determined. With this point as centre of multiplication the position of the part remains unchanged with the scaling. So the part program starts with: = adatum point shift from W to CM, = an activation of the scaling, = a datum point shift from CM back to W, = the part program related to W. To avoid the calculations for the points of tangency between the lines and circles in figure 9.6.1.-2, the (optional) geometry package is used (Refer to chapter 10). ‘The part program could be: Noz10 G54 1 M6 Ni Gs2 vars N2 G73 Ad=8 Na as2 Y-a75 Na x50 Y-20 Z10 $100 m3 NS ai 210 F1000 Ne Gas Yo N7 Gat X35, NB Gea X1=-95 Y1=0 B1=120 Ji-2 NO G2 R15 NiO IIS, lo K-20 diet Nit G2 AIS Niz2 0 Gt x35 YO B1=-120 N13. Z10 Nia G40 Nis G63. 30 Section 9-14 Programming CNC3460/700 891025 Explanation: 9210; Identify the part program, set the datum point W and load the tool. Nt + Shift the datum point from W to CM. No + Activate the scaling. The part is decreased with a factor .8. NB Datum point shift from CM back to W. Na Move too! to its starting position and start the spindle. N5 + Move tool to depth. N6 + Move tool TO the part . N7 + Set the radius compensation LEFT and move along the X-axis. NB + Start the geometric calculations. Move along the straight line defined by one point (X1s.. and Y1=..) and angle to the second intersection point. No: Make the rounding between line and circle. Nio ‘Make the arc of the circle. Nit ‘Make the second rounding. Ni2 Move along the line to the point on the X-axis. N13 Retract the tool from the part. Nia Cancel the radius compensation, N15: Cancel the geometry calculations and end of program. EXAMPLE 9.6.1.-2. Moving around a part at equal distances ze Fig. [Link] Cleaning a pocket ina number of steps For milling the pocket from figure 9.6.13 in a number of steps at equal distances parametric programming is used for: = calculating the distance to the part after each step = calculating the scaling factor = checking to see ifthe milling at equal distances Is finished. ‘The following parameters must be set by the user: + Et : the total number of steps + E2:the step size 991025 Programming CNC3460/700 Section 9-15 The following parameters are used in the program: 3 : the distance to the part after each step + E4: the scaling factor + ES: used for comparison ~ EG: the total size - one step + 7 :the total size The contour is programmed without radius compensation. For frising the contour is caled with a G14 and the miling executed with radius compensation, ‘The program looks as follows: Noga G54 1 M6 Ni E2=5 N2 E2 E3e0 NB 2 Na Ya75 S100 M3 NS 2-10 F1000 Ne ESaE3+E2 N7 G93 XO Ya75 NB E4-E3:E7 No G73 AdaEs Nio G92 475 Nit Yo Ni2 X35 YO Nis Gea X1=35Y120 Bi=120 We2 Nig G2 R15 NiS G2 R145 10 J-20 Jiet Nie G2 RIS, NZ Gt x35 YO Nig G63 Nig xo YO N20 G73 Adet N21 E5=E6-£3 N22 G29.E5 KO N=é N23 G93 Yo Nea Y5 N25 Gag Yo N26 G42 N27 G14 Ni=12 N2=19 N28 G40 N29 GO Z 100 N30 30 Explanation: Nege9 + Identity the part program Set the datum point W and load the tool. Ni : Set the user parameters E1 and E2 N2 : Rleset parameter E3 and calculate the total distance NB : For comparison in G29 calculate 6 Na ‘movement to the centre of multiplication NS + Feed to depth Né : Caloulate the distance to the part for this step N7 ‘A datum point shift to the multiplication centre CM NB Compute the scaling factor NO ‘Switch on the scaling N10 + Datum point shift back to the original datum W Nit Move to the part N12-N19 Mill the contour Section 9-16 Programming CNC3460/700 991025 N20 : Reset the scaling N21-N22 + Check to see if all pathes are executed if not (E5>0), jump back to block N6 N23 All pathes are executed, restore the datum point N24-N2B Moving around the contour with radius compensation N29 Retract the tool N30 End of the program 9.6.2. MIRROR IMAGE . AA part program or a section of a part program can be mirrored about one or more than one of the coordinate axes ‘The mirror image is activated with: ~ the function G73, any combination of mirror image and scaling is allowed. ~ the address of the axis of which the sign of the dimension words in the subsequent blocks should be inverted. = the value -1. This means: +1: mirroring about Y-axis with G17 active. : mirroring about Z-axis with G18 active. Y-1 + mirroring about X-axis with G17 active. 2 mirroring about Z-axis with G19 active. Z-1_ + mirroring about X-axis with G18 active, mirroring about Y-axis with G19 active, Programmed datum point shifts are mirrored too. The direction of movement on a circle and LEFT or RIGHT of the contouring radius compensation are influenced, if the mirroring takes place about one axis. ‘Not infiuenced are the stored zero offsets, because they are machine dependent. Mirror image is cancelled + with G72. - |i this case sign inversion of all axes is terminated. if the scaling was activated, itis cancelled too. ~ per axis with G73, the address of the axis and +1. In this case the sign inversion of the programmed axis is terminated, - atCLEAR CONTROL. EXAMPLE 9.6.2.-1. Mirroring a pattern 991025 Programming CNC3460/700 Section 9 -17 ‘A program for tapping the holes of fi Fig. [Link] Same pattern in four quadrants function could look like: N9056 M6 Ni Gat Yt 23 F200 $500 M3 Ne G79 x20 Y10 0 Ns G79 x40 N4é G79 90 N5 G79 x20 Ne G73 x4 N7 G14 Nie2 N25 Ne G73 YA No Gia Ni=2 N2=5 NiO G73 xi M1 G14 Ni=2 N2=5 M2 G73 vt Nig Gat Yi 215 F200 $1000 Te M6 Ni4 G14 Nie2 N2=12 NiS G84 Yo 2-40 F990 $560 T3 M6 Nie Gia Ni=2 N2=12 M7 M30 Explanation: N9056 ‘The panprogram is identified with N9056. In the same block the spot drill (T1) is loaded. Ni +The fixed cycle for spot drilling is defined and the spindle is started. N2-N5 + The defined fixed cycle is executed on the four holes in the first quadrant. Ne Mirroring about the Y-axis, N7 + The blocks N2 to NS are repeated, but the signs of the X-coordinates are inverted, thus the patter is drilled in the second quadrant. NB + Additional mirroring about the X-axis. The mirroring about the Y-axis is still valid. No ‘The blocks N2 to NS are repeated again. The signs of the X- and Y-coordinates are inverted, thus the pattern is drilled in the third quadrant. N10 Cancelling the sign inversion of the X-axis. Nit + The blocks N2 to NS are repeated again. The signs of the Y-coordinates are inverted, thus the patter is dried in the fourth quadrant. Ni2 + Cancelling the sign inversion of the Y-axis. Section 9-18 Programming CNC3460/700 91025 re 962-1 making uso of he minor mage and to reat @ Nig. + The fixed cycle for driling the holes to depth is defined. The second tool is loaded and a new spindle speed is set. Nia The blocks N2 to N12 are repeated, thus the defined diiling cycle of block N13 is oO ‘executed on the 16 holes. Nis + The fixed cycle for tapping the holes is defined, the third tool is loaded and the new spindle speed is set. Nie 1 The blocks N2 to N12 are repeated. This time the tapping cycle (block N16) is executed on the 16 holes. M7 End of partprogram. 9.6.3. AXES ROTATION ‘A part program or a section of a part program in the main plane can be rotated about an angle. To this ‘end the functions G92 and G93 are extended with a word (B4= ) indicating the angle about which the coordinate axes are rotated. In both cases the angle is programmed in degrees and decimal parts thereof and ranges from -360° to 360°. The sign is defined as with polar coordinates (see section 3.3.2). ‘The centre of rotation isthe datum point W in use atthe moment the rotation Is activated. ‘Two possiblities are provided. @ +. Rotation about an (absolute) angle which is defined with respect to a main axis of the machine-tool ‘Thus X-axis with G17 or G18 active and -2-axis with G19. ‘The function G93 is extended with the word B4= for programming the absolute angle of rotation. Fig. [Link] Absolute angle of rotation 2, Rotation about an (incremental) angle which is defined with respect to the previously rotated main axis in use. The function G92 Is extended with the word B4= which indicates the incremental angle of rotation. 891025 Programming CNC3460/700 Section 9-19 Fig. 9.6.32 Incremental angle of rotation ‘A combination of a datum point shift and a rotation is allowed in one block, both absolute with G93 or incremental with G92. The order of execution is: ~ First the datum point shift + Then the rotation So the new datum point is the centre of rotation. ‘Acombination of mirror image and/or scaling and axes rotation is allowed. The order of execution: = First scaling and/or mirroring = Then rotating ‘Axes rotation is terminated with a block containing: + G93 B1=0 + M30 + oratCLEAR CONTROL, In the rotated program sequence a datum point shift is not allowed, Remark: Refer to section 12.9.2 for a macro with which a datum point shift in a rotated sequence can be performed. For the use of this macro the software option S06 (Calculation Extension) must be available in the control. EXAMPLE 9.6.3.-1 Datum point shift and rotation Fig. [Link] Absolute datum point shift and rotation Section 9 -20 Programming CNC3460/700 991025 a ‘The datum point shift and rotation from figure 9.6.3.-3 is programmed as: N.. G93. X65. Y90 B4=30 EXAMPLE 9.6.3.-2 Rotation of a program section NBeBOE Fig. [Link] Wheel Lo To avoid the calculations for the points of tangency between the lines and circles of figure 9.6.3.-4 the (optional) geometry package is used. (Refer to chapter 10). Just one section is programmed. The other sections are made by rotating the first section. ‘The part program could be: N9208 G54 1 M6 Ni $100 M3. N2 xa75 YI0Z10 NS Gt 2-40 F4000 Na G43 3 NB G41 N6é G64 X1=0 Yie3 B1=0 Jt=2 N7 G3 AS NB G3_-RE7.5 0 JO tet No [Link] NiO. Gt X1=3.464 Yi=0 B1=-120 N11 G3 RIO Ni2 Gt x375 Y3 BI=0 N13 Go Z10 N14 G40 Ni5 G63 Ni6 G92 B4=60 Ni7 G14 Nt=2 N2=16 J5 Nis M30 891025 Programming CNC3460/700 Section 9-21 Nez08 + Identity the program, set the datum point and load too! 1. Ni Start the spindle N2 Move the too! to its starting position. NB ! Move tool to depth. Na : Move tool TO the part. N5 Set radius compensation LEFT. Ne Activate the geometric calculations. Move along the line til the rounding starts. For the line an arbitrary point (X1= and Y= )is used. In thiscase itis the intersection point with the Y-axis. N7 : Make the rounding of radius 5. : Make the circular arc of radius 67.5 ‘Make the second rounding of radius 5. N10 + Move along the line to the point of tangency with the circle of radius 10. For the line the angle (B1=-120) in the direction of movement and an arbitrary point on the line is used. Its the intersection point ofthe line with the X-axis. Nit + Make the rounding of radius 10. Ni2 ‘Move along the line to the starting point on the ine. Ni3 ‘Move tool above the workpiece. Nia : Cancel the radius compensation N15 Cancel the geometric calculations. Nig : Rotate the coordinate axes over 60°. NI7 : Repeat the section in the rotated coordinate system. N18 End of program. 9.7, AUTOMATION PACKAGE Though hardly any information for the automation package has to be written in the part program, some knowiedge of it might be useful for the part programmmer. ‘The automation package consists of: = Tool pertormancs monitor + External program selection ~ External error codes, these are described in the Interfacing Manual of the control. 9.7.1. TOOL PERFORMANCE MONITOR m=] The control can be equipped with a tool performance monitor, @.g. Valenite, in which the power ‘consumption of the spindle drive is measured and compared with three levels, a maximum value and two threshold values. in this way the performance of a tool is monitored against overload conditions, by ‘which damage of tool or workpiece is avoided. Up to 99 groups of power levels can be stored in this monitor and to each group a two-decade number ranging from 1 to 99 is assigned. Section 9 -22 Programming CNC3460/700 Depending on the type of the tool, the material of the workpiece and the operation to be executed, a group of power levels can be chosen for a particular tool. In a block with a tool change (M6 or M66) the group of power levels is programmed with the word T1= and via a two decade BCD output transferred to the tool performance monitor. Htwith the comparison in the monitor: ~ the lowest threshold value is exceeded, a warning is generated by the control but machining with the tool continues. If the same tool is loaded again, an error is generated or if available a spare tool is loaded instead. . > the next threshold value is exceeded, an error and a feed/speed hold are generated, the machining stops and the operator has to intervene. - the maximum allowed power consumption is exceeded, an emergency stop occurs. After programming T1=0 the tool performance monitor is switched off. 9.7.2. EXTERNAL PROGRAM SELECTION With automatic workpiece changers, e.g. pallet stations, itis necessary to activate and to execute a new part program without the interference of the operator. ‘The external part program selection allows: = to assign to each part program a special identification, = to store the identification of the next program during the execution of a part program, + to activate the requested part program after finishing the running program (at M30), = to execute the program after an external start command. ‘Two possibilities are provided for the external selection of a part program. A fixed assignment The last three digits of the identification number of the part program can be entered into the control via a BCD-input. In the part program the relation between the mounting zero datum point © and the machine datumpoint M, can be established with one of the functions for the stored zero oftsets (G54- G59) and the preset values (G52). A variable assignment A special three digit identification number is assigned to a part program. These three digits can be entered into the control via the BCD- input. ‘There is a special memory of the control, the external program call memory in which are stored: the special identitication number (E-word). ‘The E-word ranges from 0 to 999, so 1000 programs can be assigned. The E-words are stored in the memory in increasing order. With a MC-setting is determined how many assignments can be stored in the memory. - the program identification (N-word) of the part program which is activated when the E-word is selected. = the pallet offsets belonging to the pallet used with the part. The pallet offsets are related to the secondary machine zero datum point M,. With these offsets the zero datum point of the mounting C is defined. 891025 Programming CNC3460/700 Section 9 -23 ™ c PALLET OFFSETS Fig. [Link] The pallet offsets ‘After an external activation of a program the preset values belonging to a G52 are zeroed. Then the pallet offsets are loaded in the zero offset memory under G52 and that function is automatically activated. Remark : If the variable assignment is used and the programs are activated extemally or via the con- ‘rol panel after a MANUAL BLOCK SEARCH (see operator's manual), it is advisable to ‘end each part program with the function G51. In this way it is always avoided, that the pal let offsets of a previous program are used in the next one. 9.8. CHAMFER AND ROUNDING [G11] 9.8.1 GENERAL REMARKS ABOUT G11 ‘The function G11 can be used for programming: = Alinear movement with an additional chamfer or rounding with the next linear movement. = Atwo point geometry element with additional chamfers and/or roundings. ‘All movements in a G11 block are executed with the programmed feedrate. The radius compensation can be active, ‘The function G11 is only active in the block in which it is programmed. Alter a G11-block the G-function belonging to the last movement is active, thus G1 with a chamfer and G2 or G3 with a rounding. Polar coordinates In a G11-block polar coordinates can; be used, but these coordinates are slightly different from the polar coordinates as described in section 3.3.2, The latter coordinates and programming one cartesian coordinate and an angle can not be used in a G11-block. The following description applies only to polar coordinates used in a G11-block (G17 is assumed to be active). Absolute polar coordinates When a G90 (absolute coordinates) is active, the polar coordinates in a G11-block are absolute too, thus defined with: - the angle (B-word) which the connection line of the datum point W and the end point makes with the X-axis, ~ the distance (L-word) from W to the end point. Section 9 -24 Programming CNC3460/700 991025 cry Fig. $.8.1.-1 Absolute polar coordinates with G11. Incremental polar coordinates With G91 active (incremental dimensions) the polar coordinates are defined with respect to the previous tool position. This means, that: ~ the angle (B-word) is determined with a line through the previous tool position and parallel to the X- axis and the line along which the tool is moving, @ - troaistance (L-word) is measured along the too! path from the too! position to the new one. Fig. 9.8.1.-2 incremental polar coordinates with G11. The angle (B-word) and the distance (L-word) are programmed in exactly the same way as the polar @ coorainates introduced in section 3.3.2. So rter to tat section for: ~ the sign of the angle ~ the sign of the distance ~ the axis to be used with the definition of the angle in the different planes. 891025 Programming CNC3460/700 Section 9 -25 9.8.2. ONE POINT GEOMETRY WITH CHAMFER OR ROUNDING Between a linear movement programmed with the function G11, and a linear movement in the next block, either a chamfer or @ rounding can automatically be generated by the control. The following two words are used for it: K-word: The length of the chamfer, programmed as a dimension word, but without a sign. The chamfer is symmetrically located around the end point. Reword: The radius of the rounding Po nee Fig. 9.8.21 Chamfer or rounding between two linear blocks |i figures [Link] the linear movement is from Po to P and in the next block from P, to Po. Betwoen these two movements a chamfer or rounding is generated. Though point P, is not reached, its position must be programmed with: ~ Either the X and Y-coordinate (XY-plane) = Orits polar coordinates (B and L) Depending if G90 (absolute) or G91 (incremental) is active, the coordinates are absolute or incremental dimensions. In both cases the next movement from P1 to P2 must be linear, thus a block containing G1 or G11. EXAMPLE 9.8.2.-1 Chamier programming Fig. [Link] Milling a regular hexagon Section 9 -26 Programming CNC3460/700 891025 The regular hexagon of figure 9.8.2.-2 has to be milled on the outside. Absolute polar coordinates are used. The sides 2 and 4 are programmed as chamfers. The part program could be: @ x00 NO Gi7 Tt M6 N2 GO xt00 Yio 240 $1000 M3 N38 Gt F300 N4 G43. X60 N5 Gai Yo . N6 Git 880 103.923 k60 NZ Git 8150 103.923. K60 NB Git B60 Leo No Git Bo Leo Nio G40 Nit G1 x100 10 Nt2 210 M30 Explanation: Ng010 Identification of the program. M + Set the plane and load the tool. N2 : Start the spindle; move tool to point P and then at depth @ » Set the feed mode and the feedrate, Na ‘Move the too! to the corner of the hexagon. NS Set radius compensation LEFT. NB Mill along side 1 and 2. Programmed is the intersection point of side 1 and 3 and the chamfer (K-word) around this point. N7 + Mill along side 3 and 4. Programmed is the intersection point of side 3 and 5 and the ‘chamfer around this point. Ne + Mill along side 5. No il along side 6. ' Nio Cancel the radius compensation. Nit Move tool away from part. Nz + End of the program. 9.8.3 TWO POINT GEOMETRY WITH CHAMFER OR ROUNDING The function G11 allows to program two points in one block, e.g. Py and Pp. A linear feed movement is made from Pq to Py and from P, to Pp, Between these movements a chamfer or rounding is possible @ _ 2x adsitionay a chamfer or rounding between a linear movement in the next block. Though with a chamfer or rounding the points P1 and P. are not reached, their coordinates have to be programmed. 91025 Programming CNC3460/700 Section 9-27 Patxts;Y1=) Fig. [Link] Two point geometry The following words are used: Xand ¥ 2 The X and Y-coordinate of point P, © wand. 1 The polar coordinates of point P, XtzandY1= The Xand Y-coordinate of point Pp. © Bie and t= ‘The polar coordinates of point P., ‘These coordinates are programmed with absolute or incremental dimensions depending on the active function G90 or G91. Between the two linear movements either a chamfer or a rounding can be programmed (refer also to sec- tion 9.8.2) K The length of the chamfer RR: The radius of the rounding Fig. [Link] Chamfer or rounding between the linear movements Between the linear movement from P, to Pp and the linear movement in the next block ( a G1 or Git block) a chamfer or rounding can be made, programmed with the words (refer also to section 9.8.2): Ki The length of the chamfer i=: The radius of the rounding. Section 9 -28 Programming CNC3460/700 891025 ° P 1 | NAL ; 1% P a 96408 Fig. [Link] Chamfer or rounding between two linear blocks In the figures 9.8.3.-2 and -3 the linear movements from Py to P, to Py to P3 are programmed in a G11-block (P1 and P2) and in the next block (P3). Between the linear movement from PO to P1 and the one from P, to P2 a chamfer (K) or rounding (R) {is defined. Also a chamfer (K1=) or rounding (R=) is defined between the linear movement from P to Pp and the one from Pp to Pa in the next block. @ tre actual iting goes trom Po via the first chamfer or rounding to jhe second chamfer or rounding to point P of the next block. ‘Any combination of the described movements is allowed. This results in the following possibilities: 1. A chamfer between the linear movements in the G11-block and a chamfer or rounding between the G11-block and the next one. e Fig. [Link] Chamfer and chamfer or rounding 2. A rounding between the linear movements in the G11-block and a chamfer or rounding between the G11-block and the next one. Fig. [Link] Rounding and chamfer or rounding e EXAMPLE 9.8.3.-1 A two point geometry element with a chamfer 891025 Programming CNC3460/700 Section 9-29 Fig. [Link] Milling a regular hexagon ‘The regular hexagon of figure [Link] has to be milled on the outside. A two point geometry element is é@ used. The sides 2 and 5 are programmed as chamfer. The part program could be: NoO11 Ni Gi7 1 M6 N2 GO xt00 Yi0 2-10 $1000 M3 N30 Gt F300 N4 G43. X60 N5 Gat Yo Ne Gat N7 GIT 8-120 L120 K60 Bi=-60 L1=-120 Ne Git B60 L120 K60 81-120 L1=-120 No Gao Nio G90 Nit G1 X10 Y10 Ni2 210 30 Explanation: NoO11 identification of the program. Ni Sot the plane and load the tool. NZ + Start the spindle, move tool to point P and then at depth. NB Sot the feed mode and the feedrate. Na Move the tool TO the corner of the hexagon. NS Sot radius compensation LEFT. Ne Set the incremental mode. The polar coordinates in the next blocks are programmed with incremental values measured from the previous tool position. N7 + Mill along side 1, 2 and 3. Programmed is the intersection point of side 1 and 3 (B and LL), the endpoint of side 3 (B1= and L1) and the chamfer (K-word) around this point. NB : Mill along side 4, 5 and 6. NO : Cancel the radius compensation. Nio + Set the absolute mode. Nit Move tool away from part. Ni2 ad of the program. Section 9-30 Programming CNC3460/700 891025 9.8.4. INTERSECTION POINT CALCULATION ‘The function G11 allows to program two different linear movements in one block. The first movement defined by its starting point (= the endpoint of the previous movement) and the angle the line makes with the X-axis. The second movement is defined by its endpoint programmed in the G11-block and the angle the second line makes with the X-axis. Pinay Fig. [Link] Two line geometry For the two line geometry the following words are used: XandY : The Xand Y-coordinate of point Py ‘These coordinates can be programmed with absolute or incremental dimensions depending Cn the active function G90 or G91. The incremental values are related to point P. B : The angle the line from PO to P1 makes with the positive X-axis. Bi= —:Theangle the line from P2 to P1_ makes with the positive X-axis, Between the linear movement from PO to P1 and the second on, from P, to P, either a chamfer or a rounding can be programmed. Also between the linear movement from P, to P, and a linear movement in the next block a chamfer or rounding is possible. Refer to section 9.8.3. for the programming of a chamfer or rounding. EXAMPLE 9.8.4.-1 A two line geometry element Fig. 9.8.42 Inside pocket with two line geometry elements 991025 Programming CNC3460/700 Section 9-31 The inside pocket of figure 9.8.4.-2 can be programmed using the G11-function with two line geometry elements. Compare this program with the program of example 6.2.6.-3. N9012 G17 Nt x80 Y25 0 TH M6 N2 Gt Z10 F500 $1000 M3 N3 G43 X105, NO Ga2 : N5 G2 x80 Yo R25 F300 Ne Git XO Y90 BOB 1=90 AIS R1=15 N7 G11 X60 Yi50 BO 81-90 Rt=15, N8 G11 X200 Yo BO B1=120 R15 Rt=20 No Gt X80 Yo Nio G2 XS5 25 R25, Nit G40 Ni2 GO Z200 30 Explanation: N9012 : Identification of the part program. Set the XY-plane. Ni: Load tool T1. Move the tool to point B and above the workpiece. N2 _: Start the spindle and move the too! with feed to depth. NB Move the tool TO the starting point of the entering circle. Né Sot radius compensation RIGHT. NS: Move to the contour via the entering circle. Né —: Miill- along the X-axis - along the radius (R15) + along the Y-axis - along the second radius (R15). N7 = Mill- parallel to the X-axis, - parallel to the Y-axis - follow the second radius. NB = Mill- parallel to the X-axis, - follow the first radius, ~ mill along the slope of 60° - follow the second radius (R20). ‘No: Mill along the X-axis to the starting point of the circle for leaving the contour. N10: Leave the contour with a circle. N11: Cancel the radius compensation. N12: Retract the tool and end of program. Section 9 -32 Programming CNC3460/700 891025 10. GEOMETRY [G63/G64] 10.1. GENERAL INTRODUCTION ‘The option GEOMETRY offers an easy way of programming a lot of geometric cases like : - tangential geometric elements, + matching circles, = achamier or rounding, ~ intersection points. Each movement is programmed in a separate biock using the standard G-tunctions for linear (GO and G1) and circular movements (G2 and G3). With some additional words is achieved that most calculations are avoided. ‘Two G-functions are introduced for starting (G64) and stopping (G63) the geometric calculations. So the conventions in the use of the geometry are kept to a well defined section of the program. These functions form one group of which just one function can be active at a time. At CLEAR CONTROL the function G3 is automatically activated O° The following possibilities can be programmed: 1. Two tangential geometric elements: a. ine and circle or circle and line b. two circles Nes = Ww ¢ Na7a90 Fig. 10.1.1. Two tangential geometric elements With the word 1=0 in the block of the first element is indicated, that that element is tangent to the ‘second one. 891025 Programming CNC3460/700 Section 10-1 2, Amatching circle inserted between: a. line and circle or circle and line b. two circles Fig. 10.1.-2a. A matching circle between line and circle Na7993 Fig. 10.1.-2¢, A matching circle between two concentric circles Section 10-2 Programming CNC3460/700 891025 Amaiching circle is: ~ always tangent to the geometric elements (line or circle) from the previous block and the next one + programmed with : - G2 or G3 indicating the direction of movement = the radius (R-word) of the circle With concentric circles the word B1= has to be added to the block. It is the angle which the line through the common centre and the centre of the matching circle makes with the X-axis. 3. The Intersection between: @. two straight ines b. ine and circle or circle and line c. two circles P2 NB7995 Fig. 10.1.-3. An intersection point With the word J1= is indicated which intersection point between the programmed elements (line and Circle or two circles) should be used: + Jit : the left intersection point (P1) + Jt=2: the right intersection point (P2) ‘A chamter inserted between two intersecting lines, 87996 Fig. 10.1.~4. A chamfer 991025 Programming CNC3460/700 Section 10-3 The chamfer is: + symmetrically located around the intersection point + programmed with: - Gt + the length of the chamfer (I-word) 5. Arounding between: 2. two intersecting lines b. ine and circle or circle and line c. two intersecting circles K Bk . a a \ - ASN | Na7a96 Fig. 10.1.-5. A rounding ‘A rounding is = _ always tangent to the geometric elements (line or circle) from the previous block and the next one = programmed with = [Link] G3 indicating the direction of movement + the radius (R-word) of the rounding Remark: A rounding or matching circle is inserted between two movements and is always disregarded with the use of tangential or intersecting geometric elements. 10.2. USING THE GEOMETRY 10.2.1. PROGRAMMING AN ENDPOINT OR CENTRE POINT The endpoint of a movement can be programmed with: absolute cartesian coordinates (X.. and Y...), ~ absolute polar coordinates and L2=..), + one cartesian coordinate Y..) and angle (B1=..), + a previously defined point The centre point of a circle can be programmed with: ~ absolute cartesian coordinates (Land J. ~ absolute polar coordinates (83=.. and L3=.. ). Section 10 - 4 Programming CNC3460/700 891025 Refer to oe hep 3 fr programing a postion seen gating a cnte point 10.2.2. ADDITIONAL WORDS WITH LINEAR MOVEMENTS The olonng words are used ood th GO- and Hk: - B= the angle which the straight line makes with the positive X-axis when looking in the direction of movement. See section 10.2.4, Rt the straight line is tangent to the circle from the next block . See section 10.3.2. sue the straight line cuts the circle from the next block in the left (J1=1) or right (J1=2) intersection point. See section [Link]. the straight line is parallel to a programmed line at a distance !1= from that line. See section 10.2.4. e = XY,I1=0: the coordinates of a support point on the line. See section [Link]. -l : the chamfer between two intersecting lines. See section 10.3.1 10.2.3. ADDITIONAL WORDS WITH CIRCULAR MOVEMENTS ‘The following words are used to extend the G2- and G3-blocks: R 0 the circle is tangent to the straight line from the next block. See section 10.3.2. te the circle cuts the straight line or circle from the next block in the left (J1=1) or Fight (J1=2) intersection point. See section [Link]. - Biz the angle which the line through the common centre of two concentric circles and the centre of the matching circle makes with the X-axis. 10.2.4, DEFINITIONS RELATED TO THE ADDITIONAL WORDS: [Link]. ANGLE IN DIRECTION OF MOVEMENT Programming an angle in the direction of movement along the line means the use of: + the positive angle (B1=+ ) with an increasing Y-value, + the negative angle (B1=- ) with a decreasing Y-value. 891025 Programming CNC3460/700 Section 10-5 96001 Fig. [Link].-1. Increasing (a) and decreasing (b) Y-value It the movement is parallel to the X-axis, the following words should be used: + B1=0 : with an increasing X-valu + B1=180 : with a decreasing X-value. B10 B1=160 Po Pt Pr Po y ce - - Naess Fig. [Link].-2. Movements parallel to the X-axis. Section 10-6 Programming CNC3460/700 991025 [Link]. LEFT OR RIGHT INTERSECTION POINT Line intersects a circle or vice versa Fig. [Link].. . Left (P1) or right (P2) Intersection point For determining left or right in this case: 1. draw through K a line perpendicular to the line of the linear movement, 2. look from K to the linear movement, 3. point PY is on the left ofthe line through K and point P2 on the right. Line through the centre Ne80z2 Fig. 10.24.22. Line through the centre In this case the lett intersection point is the point on the same side from the centre as: = the starting point with a line to a circle the end point with a circle to a line 991025 Programming CNC3460/700 Section 10-7 Two circles: Na8o2s Fig. [Link].-, Lett (P1) or right (P2) intersection point For determining left or right inthis case: 1. draw a line through both centre points, 2. look from the first centre point to the second one, ‘3, point Pt is on the left of the line through the centre points and point P2 on the right. [Link]. A PARALLEL LINE Sometimes, a line is drawn parallel to a known line. The distance between the required line and the known one is programmed with the word I1= . The word It= has a sign: Na8002 Fig. [Link].-[Link] sign of the distance It= the line to the right of the known line the line to the left Left and right as seen in the direction of movement. Section 10-8 Programming CNC3460/700 891025 [Link]. A SUPPORT POINT ON A LINE In many cases the endpoint of a linear movement is not known, but another point on the line can be found in the drawing. This point, a support point on the ing, can be used to define the line. The ‘Support point is programmed as an absolute endpoint, ‘The block should also contain the word I1=0. NB@010 X.Y. Heo | Ba L220 PL itz0 Fig. [Link].-1. A support point on the line Remark : 1. The absolute cartesian coordinates of a support point can also be programmed with the words {10 can be omitted): = X1= absolute X-coordinate + Y1= absolute Y-coordinate 2. Using an absolute position without I1=0 causes the tool to move to the programmed point without executing a chamfer, rounding or matching circle. 891025 Programming CNC3460/700 ‘Section 10-9 [Link], LINE PARALLEL TO A TANGENT LINE ‘A support point can also be used with a line parallel to a tangential line of a circle. In this case the programming is: ~ use the centre of the circle as support point on a line through the centre and parallel to the tangential line, ~ make I1= equal to the distance between the parallel lines and the radius. nB8002 Fig. [Link].-[Link] parallel to @ tangential line 10.2.5. PROGRAMMING A LINEAR MOVEMENT AA linear movement is programmed with a GO or G1 and some additional information. Four cases are considered: 1. Starting point is known ‘The starting point is: a. the programmed endpoint of the previous block, b. the point of tangency with the circle from the pravious block. In this case the linear movement is programmed with: only the angle with the X-axis the endpoint Fi1=Oindicating that the line is tangent to the circle in the next block. the angle with the X-axis (B1= ) and J1=1 oF Zindicating the intersection point between the line and the circle in the next block. pogp Section 10 - 10 Programming CNC3460/700 891025 Fig. 10.2.5.-1. Possibilities a b Bi= Bis 0 Ja Po ee PE \ ° PO PO R R \ R PO c PO NB8017 @,,c with known starting point Fig. 10.2.5.-2. Possibility d with known starting point NBBOIS 891025 Programming CNC3460/700 Section 10-11 2. Starting point is a calculated intersection point In this case the linear movement can be programmed with: > the angle with the X-axis (B1= and (if required) some additional words. See the remark after 4 a PE BI= NBB019 Fig. 10.2.5.-3. Possibilities with intersection point 3. Aline parallel to a known tine In this case the linear movement is programmed with: + the angle made with the X-axis (B: aan absolute position on the known line, programmed as an end point the distance between the required line and the known one, programmed withthe word It= Section 10 - 12 Programming CNC3460/700 991025 PI Y| i= B2e.. Las.. He.. PLooite.. NBso12 Fig. 10.2.5.-4, Programming a parallel line 4. A support point on the line is known In this case the linear movement is programmed with: + the angle made with the X-axis (B1=), + @ Support point on the line. les PA Y| Yt= y 5 B2= . x xt < £ x Ww w * Xe. Ye. Med B22 Ws M0 PL Heo Xie... Vie. NB010 Fig. 10.2.5.-5. A support point on the line Remark Inthe cases 2, 3 and 4 some words (if required) can be added to the block: = R1=0 indicating that the line is tangent to the circle in the next block. or -J1=1/2 _ indicating the intersection point between the line and the circle in the next block. 991025 Programming CNC3460/700 Section 10-13 10.2.6. PROGRAMMING A CIRCULAR MOVEMENT ‘Accircular movement (not a rounding or matching circle) is programmed with: G2 / Gaindicating the direction of movement on the circle and some additional information. 1. Centre point Is known ‘The centre point is programmed with either absolute cartesian or absolute polar coordinates (see section 10.2.1.). In addition comes: ‘a. the absolute coordinates of the endpoint (see section 10.2.1) , the radius (R..) of the circle ‘and (if required) one of the additional words Fi1=0 or J1=1/2. See section 10.2.3. L L it. 4 4 Fig. 10.2.6.-1. Known centre point 2. Starting point of the circle Is known The starting point is: ‘a. the programmed endpoint of the previous block, b. the point of tangency with the line or circle from the previous block. In this case is programmed: a. the radius (R..) of the circle b. the absolute cartesian or polar coordinates of the centre ‘and (if required) one of the additional words Fi1=0 or J1=1/2. See section 10.2.3. | rtf Te Ue ie —4 14 : " 4 Fig, 10.2.6.-2. Known starting point Section 10 - 14 Programming CNC3460/700 891025

You might also like