PROGRAMMING MANUAL - Eurotech Sales Tools
Transcription
PROGRAMMING MANUAL - Eurotech Sales Tools
PROGRAMMING MANUAL Volume 1 THIS MANUAL DOES NOT REPLACE THAT FROM GE FANUC, 18i BUT IS AN EASY-TO-CONSULT COMPLEMENT WITH PRACTICAL EXAMPLES MANUAL WITH "G" CODES TYPE "B" Cod. : … T140-00129-IM01 Data : … 01.04.05 - T140-00129-IM01 - Officine E. BIGLIA e C. S.p.A. Via Martiri della Libertà, N° 31 TEL. FAX. E.mail Internet : : : : -14045 INCISA SCAPACCINO (ASTI) ITALY- 01417831 0141783327 [email protected] www.bigliaspa.it Registered office: C.so Genova, 24 -20123 MILANO- FOREWORD Biglia has paid great care in the preparation of this manual to make it an exhaustive and easy-to-use tool for the user. This manual describes and illustrates the various procedures to execute a machining program, on a C.N.C. lathe. The operator is required to read this manual attentively and follow the general procedures described herein and heed the danger warnings when performing the setting up of the cycle. A hierarchy criterion has been adopted to classify the manual subjects and the table of contents drawn up accordingly. The sections of the manual are identified by a letter of the alphabet. The classification within each section uses figures and dots to identify the hierarchical grades. Example : A 1. 1.1 1.1.1 Section A of the manual Chapter 1 of Section A Paragraph 1, Chapter 1, Section A Sub-paragraph 1, Paragraph 1, Chapter 1, Section A To keep identification references as short as possible, chapter, paragraph and sub-paragraph figures are not preceded by the letter identifying the manual section which is instead shown in bold type on the page edge. -2- - T140-00129-IM01 - OPERATING WORK SEQUENCE The following operating sequence should always be followed when machining a part 1° DEFINING THE WORK CYCLE Define the machining according to the part Select the tools to use Define the locking device and other fixtures if necessary Enter the program 2° TOOLING-UP THE MACHINE AND SETTING-UP THE PROGRAM Enter the program in the CNC memory Mount the clamping device, replace the collet, turn the jaws Adjust clamping pressure of part clamping and tailstock Mount the tools on the turret Perform tool-setting (geometry value) Set the part zero-point Dry-run the program (without axes movements) Modify the program if necessary Trial run of the machining cycle Perform a cutting test, a no-load test, and a single-block test to check machining conditions Modify the program if necessary 3° PRODUCTION Machine the parts in the automatic mode Measure the part and adjust the dimensions acting on the offset TOOL WEAR Check the parts very often and maintain the clearance modifying the offset TOOL WEAR if necessary -3- - T140-00129-IM01 - SYMBOLS USED The following symbols have been used in the manual to make its consultation easier NOTE Indicates practical recommendations to be followed EXAMPLE It shows the functions previously described PROCEDURE Indicates the procedures to be followed Warning It shows a machine condition which could occur Indicates the reference page number or manual Indicates that the description continues on the next page -4- - T140-00129-IM01 - HANDBOOK SECTIONS A BASIC FUNCTIONS B SIMPLIFIED PROGRAMMING C CANNED CYCLES D ADVANCED PROGRAMMING The Programming Manual consists of two volumes. The second volume "T140-00130-IM01" deals with the following items: Motor-driven tools, C-axis Sub-spindle, B-axis Y-axis Four-axes - two turrets -5- - T140-00129-IM01 - -6- - T140-00129-IM01 - SECTION -A- ------------ Chapter Date Modifications Paragraph Description BASIC FUNCTION 4. 1. General functions ............................................... 1.1 Description of "G" functions ................... 1.2 "M" functions ............................................. 1.3 Variables for verifying ................................ page 8 page 8 page 10 page 12 2. Basic programming ............................................ 2.1 Start and end of program .......................... 2.2 Sequence number ..................................... 2.3 Machine axes definition ............................. 2.4 Logic in the choice of the workpiece zero point ............................................... 2.5 Axis movement .......................................... 2.6 Summary program ..................................... page page page page 3. Axis movement .................................................. 3.1 Rapid traverse ........................................... 3.2 Cylindrical and taper linear interpolation ... 3.3 Circular interpolation ................................. 3.4 Turret rotation and offset enabling ............. 3.5 Spindle rotation ......................................... 3.6 Limitation of the max. spindle speed ......... 3.7 Spindle stop .............................................. 3.8 Gear change .............................................. 3.9 Lock and release of the clamping device... 3.10 Programmable part clamp pressure .......... 3.11 Axis feed .................................................... 3.12 Coolant ...................................................... 3.13 Summary program ..................................... 3.14 Dwell ......................................................... 3.15 Temporary program stop ............................ 3.16 Optional temporary program stop .............. 3.17 Message .................................................... 3.18 Skip block .................................................. 3.19 Accurate stop ............................................. 3.20 Front door automatic opening and closing. page page page page page page page page page page page page page page page page page page page page page Parting off and unloading ................................... -7- 13 13 13 14 page 14 page 15 page 16 17 17 18 18 21 22 23 23 24 24 25 26 27 27 28 29 29 30 30 31 32 page 32 BASIC FUNCTIONS A - T140-00129-IM01 - 1. GENERAL FUNCTIONS 1.1 Description of "G" functions Code G ( Note f. ) A Function Group of mutually exclusive functions A B G00 G01 G02 G03 G00 G01 G02 G03 01 Rapid traverse Linear interpolation (turning) Clockwise circular interpolation (turning) Counter-clockwise circular interpolation (turning) G04 G10 G04 G10 00 Dwell Data input G18 G18 16 - Xp Zp - plane selection radius center I and K G20 G21 G20 G21 06 Programming in inches Programming in millimetres G22 G23 G22 G23 09 Safety areas control ON Safety areas control OFF G28 G28 00 Return to reference point G32 G33 01 Threading G40 G41 G42 G40 G41 G42 07 Cancel tool tip radius compensation Left tool tip radius compensation ON Right tool tip radius compensation ON G50 G52 G53 G92 G52 G53 00 Max. spindle speed setting Local coordinate system setting Machine coordinate system selection G54 G55 G56 G57 G58 G59 G54 G55 G56 G57 G58 G59 14 Workpiece coordinate system 1 selection Workpiece coordinate system 2 selection Workpiece coordinate system 3 selection Workpiece coordinate system 4 selection Workpiece coordinate system 5 selection Workpiece coordinate system 6 selection G65 G65 00 Macro calling G66 G67 G66 G67 12 Macro modal call Macro modal call cancel BASIC FUNCTIONS -8- - T140-00129-IM01 - Code G ( Note f. ) Function Group of mutually exclusive functions A B G70 G71 G72 G73 G74 G75 G76 G70 G71 G72 G73 G74 G75 G76 00 Finishing cycle Roughing cycle in Z axis Roughing cycle in X axis Roughing cycle on forged shape Face peck drilling in Z axis or Z axis grooves cycle X axis grooves cycle Multiple threading cycle G80 G83 G84 G80 G83 G84 10 Cancel canned drilling cycle Canned axial drilling cycle Canned axial tapping cycle G90 G92 G94 G77 G78 G79 01 Internal/external diameter cutting cycle Threading cycle Facing cycle G96 G97 G96 G97 02 Constant cutting speed ON Constant spindle speed ON G98 G99 G94 G95 05 Per minute feed (mm) Per revolution feed (mm) --- G90 G91 03 Absolute programming Incremental programming ----- G100 G101 G102 G103 NOTE End of recording program G101-G102-G103 Start of recording first program B axis Start of recording second program B axis Start of recording third program B axis a. The -G- codes marked with a are -G- active on power-on. For -G20 and G21-, the one that was operational at shut-down remains effective. b. The group 00 -G- codes are not modal. They are only valid for the block in which they are commanded. c. Several -G- codes can be specified in the same block. If several -G- codes belonging to the same group are specified, an alarm signal is generated. d. If a group 01 -G- ode is specified when canned cycle mode is active, the canned cycle is cancelled automatically and the system switches to the -G80- condition. The group 01 -G- codes, however, are not affected by the programming of a canned cycle -Gcode. e. One -G- code is displayed for each group. f. In the present manual and for all machine types Biglia uses the code numbers in the shaded column B . If you wish to use code numbers in column A, set parameter 3401 bit 6-7=00, otherwise for code numbers in column B, set parameter 3401 bit 6=1 and bit 7=0 (in order to enable these parameters it is necessary to switch the C.N.C. off and then on). -9- BASIC FUNCTIONS A - T140-00129-IM01 - 1.2 "M" functions A M00 M01 M02 Program stop Optional stop End of program and reset M03 M04 M05 Clockwise spindle rotation Counterclockwise spindle rotation Spindle rotation stop M07 M08 M09 High pressure coolant ON Low pressure coolant ON Coolant OFF M10 M11 M12 M13 M14 M15 Spindle indexing at 30° Spindle indexing at 60° Spindle indexing at 90° Spindle indexing at 120° Spindle indexing at 150° Spindle indexing at 180° M17 M18 Tool setter down (in setting position only for some models) Tool setter up (in rest position only for some models) M19 M20 Spindle indexing at 0° Spindle indexing reset M21 Automatic tailstock position manual search e lunetta M22 M23 Parts-catcher up Parts-catcher down M24 M25 Chuck open Chuck closed M26 M27 Sleeve tailstock forward with LS control Sleeve tailstock backward with LS control M28 M29 M30 Slide lubrication Clear buffer (background) End of program and reset M31 M32 Bypass override, axes and spindle speed = 100% Reset "M31" M33 M34 Steady-rest open (option) Steady-rest closed (option) M35 Rigid tapping M36 M37 Sleeve tailstock forward without limit switch control Sleeve tailstock backward without limit switch control M38 M39 Accurate stop ON (point to point movement) Accurate stop OFF (continuous movement) M40 M41 Gear range 1:1 Gear range 1:4 BASIC FUNCTIONS - 10 - - T140-00129-IM01 - M42 M43 M44 M45 Call program for B axis movement from PMC (from G101 to G100) Call program for B axis movement from PMC (from G102 to G100) Call program for B axis movement from PMC (from G103 to G100) Check B axis end of program from PMC M46 M47 Release tailstock from guides and hook axis Z to shift Lock tailstock on guides M50 M51 Block automatic tailstock on slide Release automatic tailstock on slide M51 M52 Load new bar End of bar check M56 M57 Release steady-resttailstock from guides and hook axis Z to shift slide Block steady-rest on M58 M59 Tool load monitoring ON (selected) Tool load monitoring OFF (deselected) M68 M69 Front door automatic opening Front door automatic closing M72 M78 M79 B axis torque limitation enabled Check load in B axis (selected) Check load in B axis (deselected) M80 M81 M82 M83 End of lathe cycle - Call for unloading (automatic loader) Workpiece released (automatic loader) Call for loading (automatic loader) Workpiece locked (automatic loader) M87 M88 M89 B axis high pressure coolant ON (drilling operations) Washing coolant on spindle ON Both "M88" and "M87" OFF M90 Piece counter increment M91 M92 B axis unslaved B axis slaved M98 M99 Call subprogram Return to program start / Unconditional jump M100 M101 Auxiliary 1 ON Reset "M100" M102 M103 Auxiliary 2 ON Reset "M102" M104 M105 Pulse 1 [200msec] Pulse 2 [200msec] M106 M107 Enable bar-feeder [KEEPRL K5/4 = 1] Disable bar-feeder [KEEPRL. K5/4 = 0] M113 M114 M115 Limiting thrust on X-axis Limiting thrust on Z-axis Limiting thrust on B-axis (for B1000 only) (for B1000 only) Value digited in variable #1133 - 11 - BASIC FUNCTIONS A - T140-00129-IM01 - M116 M117 Synchronism of the steady-rest movement with "Z" axis Synchronism reset M120 Programmable clamping pressure 1.3 Variables for verifying A #1000 Check of bar end #1001 Check of bar replacement completed #1004 Check of bar-feeder alarm #1005 Check of tool life end #1006 Check of families change completed #1133 Setting of torque value in sub-spindle B axis #1134 Value of the part clamping pressure by proportional valve BASIC FUNCTIONS - 12 - - T140-00129-IM01 - 2. GENERAL FUNCTIONS 2.1 Start and end of program ADDRESS "O" Used to number programs and input as follows: O1234 ; ( max. 4 digits ) the digits after the letter "O" identify the program number. FUNCTION "M30" Shows the end of the program and commands an automatic return to the first block of the program. This function automatically stops spindle rotation and coolant and switches off the micro for sliding door locking. EXAMPLE N150 G0X100 N160 Z100 N170 M30 2.2 Sequence number ADDRESS "N" The letter"N" is used to number the blocks in a program with the aim of facilitating automatic searching. The data set written in a line after the "N", is called a block. On inputting the program from the keyboard, numbering is automatic in feeds of 10. If it is required to add another block to an existing program, it is advisable to number it progressively, even if this is not compulsory. The important thing is to avoid signing the same number to two blocks - on performing a seek, the N.C. would select that block it meets first, which might not be the one required. NOTE a. Parameter 3216 increases the sequence numbers which have been inserted automatically. b. If you do not want blocks being numbered automatically, just move to parameter input and enter Ø su No. SEQUENCE =. c. A program with both numbered and not numbered blocks is also accepted. EXAMPLE N10 N20 N30 N40 T1 G97S800M3 G0X50 Z 2M8 G1...................... N10 N20 N30 N35 N40 - 13 - T1 G97S800M3 G0X50M8 Z2 (additional block) G1.................... BASIC FUNCTIONS A - T140-00129-IM01 - 2.3 Machines axes definition ADDRESS "X - Z " The names of the machine axes are: X Z to identify the transverse axis (diameters) to identify the longitudinal axis (lengths) 2.4 Logic in the choice of the workpiece zero point To start with, a reference point must be identified on the piece to be processed which allows the programming, in a simple and unambiguous way, of the extent of the movement and, at the same time, of the direction that it must take. This point for X axis (X zero) is positioned on the spindle rotation axis, while for Z axis (Z zero) it is convenient to assume at the finished surface of the piece furthest way from the selfcentering chuck. The coordinates of the end point relative to the workpiece zero point are programmed in the absolute commands. In programming, the coordinates must be followed by a + (positive) or – (negative) sign, which defines the direction of the movement. The + (positive) sign can be omitted since it is recognized automatically by the control unit. EXAMPLE X+ workpiece 0 point Z+ Z- X- Point of origin of the axes (workpiece zero point) relative to which the dimensions of the piece and the tool movements for both X axis and Z axis must be referred. A BASIC FUNCTIONS - 14 - - T140-00129-IM01 - 2.5 Axis movement ADDRESS "X (U) - Z (W)" In absolute command the end point of the tool is programmed relative to the workpiece zero point. In incremental command the distance to be covered relative to the last programmed point is programmed. NOTE Absolute command Incremental command Notes X Z U W X axis movement command Z axis movement command "U" value is diametrical as address "X" EXAMPLE G0 X40 W–40 Incremental command (Z axis movement) Absolute diametrical command (X axis movement) NOTE Absolute and incremental commands can be specified in the same block. ø 20 ø 30 ø 20 ø 30 EXAMPLE 20 20 25 X0Z0 X20 Z-20 X30 Z-25 25 X0Z0 Abs. U20 Increm. W-20 " U10 " W-5 " - 15 - X0Z0 X20 X30 Z-20 Z-25 BASIC FUNCTIONS X0Z0 Abs. U20 Increm. U10W-20 " W-5 " A - T140-00129-IM01 - 2.6 Summary program This program shows the application of the functions previously described. EXAMPLE 17 5 14 11 12,5 9 10,5 P7 Shape description in absolute Shape description mixed absolute-incremental X0 Z0 X40 Z - 10.5 X57 Z - 19.5 Z - 32 X77 Z - 43 X99 Z - 57 X127 Z - 62 X105 Z - 79 Z - 89 X140 Z - 95 X123 Z - 113.5 X0 Z0 X40 (U40) W - 10.5 X57 W - 9 W - 12.5 X77 W - 11 X99 W - 14 X127 (U28) W-5 X105 W - 17 (U-22 W-17 ) W - 10 X140 (U35) W-6 X123 W - 18.5 BASIC FUNCTIONS - 16 - ø 99 ø 77 ø 57 ø 40 P0 0 19,5 10,5 32 43 62 57 79 95 89 113,5 A P1 P2 ø 105 ø 123 ø 127 ø 140 P4 P3 P6 P5 P8 P11 P12 P15 P10 P9 P14 P13 18,5 6 10 - T140-00129-IM01 - 3. AXIS MOVEMENT FUNCTIONS "G00 - G01 - G02 - G03" The type of movement which the axes can perform in the machining area is defined by four "G" functions (MODAL) which are permanent and mutually exclusive. Included in the program, they confer a determined type of movement on the axes, which can only be modified by programming a different "G" function of the same group. G0 G1 G2 G3 NOTE Rapid traverse Linear interpolation Clockwise circular interpolation (CW) Counterclockwise circular interpolation (CCW) The first ZERO is meaningless and can be omitted. 3.1 Rapid traverse FUNCTION "G0" Used to quickly position or withdraw the tool from the workpiece in times which vary depending on the machine model and on the screw pitch; this is why the rapid traverse has no linear interpolation and the axis which first reaches the programmed point stops while the others continue. Word: G0 followed by the end point coordinate/s EXAMPLE G0X50 G0Z3 G0X 50 Z3 NOTE (transverse movement) (longitudinal movement) (combined oblique movement without interpolation) If a fast (G0) oblique movement has been programmed, the axes move simultaneously, but independently, until the required point is reached. - 17 - BASIC FUNCTIONS A - T140-00129-IM01 - 3.2 Cylindrical and taper linear interpolation FUNCTION "G1" Used for cylindrical and taper turning processes and facing. Word: G1 followed by the end point coordinate/s EXAMPLE G0X100 G1X50 F.2 G0X100Z2 G1Z-50 F.3 G0X100Z2 G1Z0 F.25 X60Z-30 (facing) (cylindrical turning) (taper turning) 3.3 Circular interpolation FUNCTION "G2 - G3" Used for programming arcs (spherical sectors). ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Words: G2 for clockwise (CW) arcs G3 for counterclockwise (CCW) arcs Block format: N___ G2___X___Z___R___ F ___ G2___X___Z___ I___ K___ F ___ N = block number G2 = G code of the direction of the arc (choice between G2, G3) X / Z = end point of the arc R = radius of the arc F = feed rate I / K = radius center incremental with respect to the radius start point ○ ○ ○ ○ ○ ○ ○ ○ ○ (For further details see FANUC manual, chapter 4.3) NOTE When programming with "I" and "K" , in case the difference between start and final radius outweighs the value digited in parameter 3410, a FANUC alarm is signalled. A BASIC FUNCTIONS - 18 - - T140-00129-IM01 - Programming radius tangential to two straight lines. The example shows a series of radii tangential to two straight lines at 90°. Thus the calculation of the radius start and end points is easy. EXAMPLE N100 .................. N110 G0X14Z2 N120 G1Z0F.3 N130 X18Z-2 N140 Z-10 N150 G2X22Z-12R2F.2 (or G2X22Z-12I2K0) N160 G1X30 N170 X38Z-25 N180 Z-31 N190 G2X42Z-33R2F.15 (or G2X42Z-33I2K0) N200 G1X48 N210 G3X54Z-36R3F.25 (or G3X54Z-36I0K-3) N220 G1Z-40F.2 N230 G0X200Z200 N240 M30 R3 R2 ø 54 ø 38 ø 30 12 2 0 40 33 25 ø 18 R2 Programming radius intersecting one or two straight lines, and radius tangential to and/or intersecting another radius. The figures show radii tangential to each other, intersecting straight lines and intersecting radii. All these cases must be programmed, using G2 - G3 radius intersecting two straight lines radius intersecting one straight line and tangential to the other two radii tangential to each other two radii intersecting to each other For programming, the start and end points of each radius must be known. - 19 - BASIC FUNCTIONS A - T140-00129-IM01 - EXAMPLE Secant R11 EXAMPLE A BASIC FUNCTIONS R13 R13 R13 - 20 - 6 0 36 30 60 83 93 ø 56 N330 G0X56Z2 N340 G1Z-6 N350 G3X56Z-30R13 N360 G1Z-36 N370 G2X56Z-60R13 N380 G3X56Z-83R13 N390 G1Z-94 N400 G0X100 N410 Z100 N420 M30 ø 122 ø 102 6 0 45 55 66 R16 ø 80 ø 53 Tangent ø 154 N190 N200 G0X0Z2 N210 G1Z0F.2 N220 X53 N230 G3X80Z-6R16F.15 N240 G1X102Z-45F.25 N250 G2X122Z-55R11 N260 G1X154Z-66F.1 N270 G0X200Z200 N280 M30 - T140-00129-IM01 - 3.4 Turret rotation and offset enabling FUNCTION "T" The N.C. is set up for the use of an automatic turret with a total of 12 positions (or 8, depending on the type of machine). "T " is the function for calling the tool position and must be followed by one or two digits, which show which of the 12 positions has been selected. The standard version of the N.C. is equipped with 32 offsets which are automatically linked to the tool position in the turret. Thus writing function T1 , automatically links to offset "01". If, however, it is required to link a different offset to a tool one must enter: "T121", which thus links offset 21 to tool 1. "T525" offset 25 to tool 5. OFFSETS Information given to the N.C. which allows every tool to identify the workpiece zero point. For more information on offset, consult the "OPERATING MANUAL" section "D". We recommend: - to always program function " T " in an independent block with G40 (see note at the foot of the page) - to use automatic tool offset linking. EXAMPLE N 80 G0Z100 N 90 T3M8 N100 G97S200M4 N110 G0X50Z2 N120 G1Z-50F.2 N130 G0Z150 N140 T12M8 N150 ............................... NOTE a. See instructions in -Volume 2- for tools which use the sub-spindle. b. Turret rotation is done using the shortest route. There is no possibility of selecting the direction of rotation. It is possible to rotate the turret while the axes are moving: this operation is dangerous but it cuts down idle time, T1G0X100Z4G40. c. Rotation and rapid traverse are performed simultaneously and the program will only continue when the two movements are completed. Warning If in the tool change block G4 is mistakenly entered instead of G40 there will be no control of the axis movement with possible collision of the tool against the spindle. - 21 - BASIC FUNCTIONS A - T140-00129-IM01 - 3.5 Spindle rotation FUNCTIONS "G96 S.... - G97 S.... M3 - M4" ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Three functions must be programmed in the same block to rotate the spindle: G… S… M… G96 constant cutting speed (m/min.) G97 constant spindle speed (rpm) G96 S.. G97 S.. M3 M4 metres per minute (normally used in turning medium/big pieces) revs per minute (normally used in drilling, tapping, threading or for pieces with small dimensions) clockwise rotation (normally used with right-hand tools) counterclockwise rotation (normally used with left-hand tools) ○ ○ ○ ○ ○ ○ ○ The direction of rotation (M3 or M4) is defined by looking at the spindle from the rear. "S" gives either the cutting speed or the number of fixed spindle revs, depending on the G96 - G97 address which precedes it: ○ ○ ○ ○ ○ ○ ○ If preceded by "G96" the "S" shows the constant cutting speed in m/min. G96 S150 is equivalent to a cutting speed (Vc) of 150 m/min, so far each variation of the piece diameter there will be an immediately corresponding variation of the spindle revs. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ If preceded by "G97" the "S" shows the absolute number of fixed revs. G97 S1300 the spindle will always turn at 1300 revs per minute no matter what diameter the ○ ○ ○ ○ ○ ○ ○ tool encounters. The functions G96 - G97 - M3 and M4 are permanent and mutually exclusive. In the same way "S" is permanent and can be changed by entering a new "S" value. EXAMPLE Calculation of the spindle revs as a function of the cutting speed (Vc) and of the tip, plug, thread or Vt x 1000 of the diameter of the piece to be machined (D): N = xD A BASIC FUNCTIONS - 22 - - T140-00129-IM01 - 3.6 Limitation of the max. spindle speed FUNCTION "G92 S...." The function "G92 S..." is used to limit the spindle speed during constant cutting speed processes. Warning This function must be programmed in a block of its own: if programmed with other functions (coordinates), an uncontrolled movement will occur with possible collisions between tool and part. EXAMPLE G92 S1800 (always write in a block of its own) --------------------------(conform to this sequence) G96 S150 M3 The example refers to a constant cutting speed process at 150 m/min. with a limitation of 1800 giri/min.rpm, a limit which cannot be exceeded. "G92 S..." is stored in memory and must only be programmed once, at the start of the program. NOTA a. When using a constant cutting speed (G96) it is recommended to always limit the spindle speed. Otherwise, during center facing, the spindle will reach its maximum revs. Warning -- "G92 S...." does not limit the rotation commanded by G97--- Reset and "M30" function cancel the spindle revs limit -- In case you have to restart the processing from an intermediate position of the program, it is necessary to set the spindle revs limit. 3.7 Spindle stop FUNCTION "M5" Spindle rotation is stopped by programming "M5 " in a block on its own or together with a rapid traverse. EXAMPLE G0 X250 Z150 M5 To reverse spindle rotation there is no need to go through "M5" but it could be advisable to reduce spindle speed, for e.g. G97 S500. - 23 - BASIC FUNCTIONS A - T140-00129-IM01 - 3.8 Gear change FUNCTIONS "M40 - M41" ○○ ○ ○ ○ ○ If the machine is fitted with gear change, the functions "M40 and M41" must also be programmed. M41 is used for roughing operations (gear ratio 1:4) M40 is used for finishing operations (direct gear ratio 1:1) ○ ○ ○ NOTE a. When a rapid traverse (G0) is selected with constant cutting speed (G96 ), the spindle speed is calculated on the dimension (X) input in the program. Thus the spindle speed will no longer progressively change and the idle time is also slightly reduced. 3.9 Lock and release of the clamping device FUNCTIONS M24 : M25 : NOTE "M24 - M25" Part lock by clamping device Part release by clamping device a. The lock pressure can be adjusted manually by a knob and it is displayed on the gauge. b. In order to invert the lock direction of the tie rod, when there is a change from a chuck to a collet unit, or from an inner socket to an outer one, it is necessary to consult the Operating Manual (MO 010 section "F" paragraph 1.2). A BASIC FUNCTIONS - 24 - - T140-00129-IM01 - 3.10 Programmable part clamp pressure FUNCTIONS "M120 - #1134" By means of the programmable clamping device with proportional valve it is possible to set the clamping pressure of the part in the collet. In this way the operator will not adjust manually the pressure anymore, but the value of the clamping pressure has to be written inside the part programme. This device is also used to vary the pressure of the part clamping between the roughing and the finishing phases. The same system works both for increasing and decreasing this pressure. In order to increase pressure it is enough to set a greater value, whereas for decreasing it, it is essential to open and then to clamp the part again. Be careful during the opening phase since it is necessary to hold up the part by means of a tailstock, ○○ ○ ○ ○ ○ or a sub-spindle or a special tool. #1134 M120 M25 ○ ○ ○ (pressure value in bar) activates the pressure previously set by #1134 collet clamping EXAMPLE O100 machining with programmed clamping pressure N10 #1134=20 (defines the clamping pressure at 20 bar) N20 M120 (activates the pressure previously set) N30 M25 (part clamping at 20 bar pressure) N40 part programme NOTE a. When the machine is set in motion it is necessary to perform the opening or closing of the clamping device, otherwise alarm “ALL 67” will be created. - 25 - BASIC FUNCTIONS A - T140-00129-IM01 - 3.11 Axis feed FUNCTIONS "G94 - G95 - F" The feed value during the various processing phases is defined by function "F" which gives both the feed in mm/rev and the feed in mm/min. The choice is made using the function "G94 - G95 ". Programming G95 sets a feed F in mm. per rev (modal). EXAMPLE F 0.2 = 0,2 mm per rev F 0.35 = 0.35 mm per rev F 1.5 = 1.5 mm per rev Programming G94 cases normally used in turning processes sets a feed F in mm. per minute (modal). EXAMPLE F 10 = 10 mm per minute F 350 = 350 mm per minute F 4000 = 4000 mm per minute cases normally used in milling processes Function F is modal, thus once input into the program it remains valid for all G1-G2-G3 process movements made with any tool. Variations can be made by programming a new F value. EXAMPLE N50 G1Z-30G95F.15 N60 X100 F.3 N70 G3 X110Z-35 R5 F.15 The programmed feed value can be modified manually, using the potentiometer -F- located on the control panel, by any position between 0 and 150% (feeding stops at 0). During the constant cutting speed phase it is recommended that the feed speed be programmed in mm/rev (G95), so as to obtain a constant chip section at any spindle speed. A BASIC FUNCTIONS - 26 - - T140-00129-IM01 - 3.12 Axis feed FUNCTIONS M7 M8 M9 "M7 - M8 - M9" (they are all modal functions) : High pressure coolant enable command. It is active at the start of the block. : Coolant enable command. It is active at the start of the block. : Coolant stop command. It is active at the end of the block. NOTE Selecting M8 or M7 the other pump is automatically excluded. The two pumps can be run simultaneously see section "D" chapter 12. 3.13 Summary program This program shows the application of the functions described in the preceding chapters. EXAMPLE O50 N10 N20 N30 N40 N50 N60 N70 N80 N90 N100 N110 N120 N130 N140 N150 N160 N170 N180 N190 N200 N210 N220 ø 74 ø 20 ø blank 78 25 G92S1800 T1M7G40 (20 diam. drilling) 30 G97S800G95F.15M3 (technological block) G0X0Z5 G1Z-30 G0Z10 X200Z100M4 (M4 anticipates the spindle reversing) T2M8 (external roughing) G96S180G95F0.25M4 (technological block) G0X80Z0 G1X17 (facing) G0X75Z1 G1Z-24.8F0.35 X80 G0X200Z200 T3M8 (external finishing) G96S220G95F.15M4 (technological block) G0X74Z2 G1Z-25 X80 G0X200Z200M9 M30 - 27 - BASIC FUNCTIONS A - T140-00129-IM01 - 3.14 Dwell FUNCTION " G4U ……" When the block preceding the dwell has been performed, the subsequent block will be performed after the time programmed in secs. Dwells could be needed when a program is running (e.g. at the bottom of a groove or after an M function to close/open a collet, parts-catcher, etc.). This is made possible by the G4, function which is operational at the end of the programmed block and only applies to it (maximum time 99999,99 sec.). Dwell duration is always given in seconds by the value "U" following address G4, written in an independent block. The duration in seconds can be converted to number of revs using the following formula: 60 (sec.) 60 Time for rev. = = S (Spindle speed) = 0. 20 300 If you want a 4 rev. dwell, digit: G4U0.8 G0X 41Z-15 G1X30F.15 G4U2 (two second dwell) G0X41 Z-30 G1X30 G4U1 (one second dwell) G0X100 Z100 M30 30 15 ø 40 N 500 N 510 N 520 N 530 N 540 N 550 N 560 N 570 N 580 N 590 Dwell at the bottom of a groove ø 30 EXAMPLE Function "G4" without the letter "U" is also used for cutting sharp edges. Facing down to diameter 100, stop and immediate restart in Z N200 G1........ N210 X100F.2 N220 G4 (momentary dwell) N230 Z-55 Warning "G4 U...." must always be programmed in a block of its own to avoid any collision between tool and workpiece. NOTE A 55 ø 100 EXAMPLE Letter U can also be replaced by letter X BASIC FUNCTIONS - 28 - - T140-00129-IM01 - 3.15 Temporary program stop FUNCTION "M00" Function "M0" , recognized as “program stop”, has the scope of stopping execution of the program at the end of the block in which it is programmed. Spindle rotation stops, the coolant halts and the micro switch is turned off. To restart the push-button CYCLE must be pressed and the functions preceding "M0" are resumed. EXAMPLE N100 T3M8 N110 G97S280M4 N120 G0X40Z1 N130 G1Z-15F.3 N140 X50 N150 Z-25 N160 X70 N170 G0X100Z200 N180 M0 (place turn-over for 2nd process phase) N190 T1M8 N200 ............................ 3.16 Optional temporary program stop FUNCTION "M01" It works like "M0", but it is switched on by key 49 on BIGLIA’s operator’s panel (see the Operation ○○ ○ ○ Manual). With push-button indicator lit, cycle is stopped. ○ ○ ○ ○ ○ ○ Press push-button CYCLE to restart; the functions preceding "M01" are resumed. - 29 - BASIC FUNCTIONS A - T140-00129-IM01 - 3.17 Message FUNCTION " (....)" It is possible to include messages which will be displayed during processing. Every message must be contained within round brackets ( Max. 31 characters ). Messages can only be input from the N.C. keyboard in the version with the complete keyboard FULL-KEY while for the version with the dedicated keyboard the program and messages must be input on personal computer and then transmitted to the N.C. by cable. EXAMPLE O10 N20 N30 N40 N50 (gear dwg. 102534 customer Rossi) G92S2000 T1M8 (drilling dia. 22) G97S800M3 .................................. 3.18 Skip block FUNCTION "/" It is always programmed after the block number (Example: N 120/ X .......... ); its scope is to permit execution or exclusion of the marked block using key 50 on BIGLIA’s keyboard (see the Operation ○ ○ ○ ○ ○ Manual). With the key indicator OFF the marked blocks are performed. With the key indicator ON the marked blocks are skipped. ○ ○ ○ ○ Boring of the ø 40 after the tool replacement and verification of the bored diameter A BASIC FUNCTIONS - 30 - ø 60 20 ø 40 N100 T6M8 (dia. 40 finishing) N110 G96S200G95F0.15M4 N120/G0X39.7Z1 N130/G1Z-10 N140/G0X38Z10 N150/X200Z100M0 (checking dia. 39.7) N160 G0X40Z1M8T6 (offset confirmation to compensate tool wear) N170 G1Z-20 N180 X36 N190 G0Z10M9 N200 X200Z100 N210 M30 ø 37 EXAMPLE - T140-00129-IM01 - 3.19 Accurate stop FUNCTIONS "M38" enabled - "M39" disabled (modal functions) Tool movement between one block and another can be done in two different ways: M38 POINT-TO-POINT execution with deceleration at the end of the block. The axes between block and block decelerate to reach the dimension and the restart. This gives a “perfect” shape with sharp edges. M39 CONTINUOUS execution without deceleration. The axes do not decelerate between block and block and so, if the feed is very large, there will be an “error” with rounding of the edges, as in the sketch as a function of the speed which has been programmed. NOTE a. It is recommended to use function M38 where a precise tolerance on profiles is required, even on chamfers, cones and corner rounds. b. The numerical control arises in M39 and is mutually exclusive with M38. c. M38 is not compatible with G0, therefore it has to be always cleared in rapid traverse. Feeding Acceleration 0,20 M 38 0,15 0,10 0,05 0 1 2 3 4 Program blocks Deceleration Feeding Acceleration 0,20 M 39 0,15 0,10 0,05 0 1 2 3 - 31 - 4 Program blocks BASIC FUNCTIONS A - T140-00129-IM01 - 3.20 Front door automatic opening and closing FUNCTION M68 : M69 : "M68 - M69" (optional) Front door automatic opening Front door automatic closing EXAMPLE O100 N10 ......... ......... ......... N800 N810 N820 NOTE M69 (workpiece program) G0X200Z200M5M9 (stop spindle rotation) M68 (opening is possible only if the spindle is stopped) M30 a. Block N820 is necessary only on machines with automatic feeder (robot) b. If the machine is equipped with socket for the automatic feeder and it is used with manual feed, it is necessary to insert block N815 M00 between blocks N810 and N820 4. PARTING OFF AND FUNCTIONS UNLOADING "M22 - M23" Hydraulic operation Functions : Parts-catcher up "M23" : Parts-catcher down Semi-parting, parts-catcher up, parting off and unloading ................. ................. G0X42Z-30 G1X8F.1 M22 X0F0,07 G0X100M23 ø 40 EXAMPLE "M22" ................. ................. A BASIC FUNCTIONS - 32 - (parting up to 8 dia.) (parts-catcher up) (cutting to the center) (tool withdrawal and parts-catcher down) - T140-00129-IM01 - SECTION -B- 1. Direct programming ........................................... 1.1 Angle ........................................................... 1.2 Chamfer ...................................................... 1.3 Corner round ............................................... 1.4 Rules for using direct programming ............ 1.5 Direct programming of single blocks ........... 1.6 Direct programming of double blocks .......... page page page page page page page 34 34 36 36 37 37 40 2. Taper turning ..................................................... page 42 3. Circular turning................................................... page 43 4. Tool tip radius compensation ............................. 4.1 Types of tools T and offset values .............. page 44 page 46 5. Tool load monitoring .......................................... 5.1 Description .................................................. 5.2 Monitoring ON/OFF from Part-program ....... page 48 page 48 page 48 ----- - -- - - - - - Paragraph Chapter Date Modifications Description SIMPLIFIED PROGRAMMING - 33 - SIMPLIFIED PROGRAMMING B - T140-00129-IM01 - 1. DIRECT PROGRAMMING FUNCTIONS "A - ,C - R " With direct programming it is possible to include straight line stretches, chamfers and round corners without defining them by points but using the data from the mechanical drawing. The definitions possible using direct programming are: A ,C R = Angle = Chamfer = Round corner 1.1 Angle FUNCTION "A" The inclination (Angle) of straight lines can be programmed directly. To establish the value of angle "A" , the axes in figure A or B must be positioned, without rotating them, on the taper start point with reference to the tool’s working direction. Start nizioof onicità taper 90 Start nizioof conicità taper A+ A+ 180 -270 A+ 0 -180 0 A– AA- 270 A: Value of angle defined in a counterclockwise direction -90 B: Value of angle defined in a clockwise direction The block will be built by declaring only dimension X or Z and the taper A (single block), or the taper A of the first straight line, the taper A of the second straight line and the X and Z coordinates relative to the end point of the second straight line (double block). Angle "A" must be programmed with a maximum format of 3 integers and 4 decimals, with an expression in degrees for the integers and hundredths for the remainder. EXAMPLE 50° 10° 30 ' 30° 40' 12" B = = = A 50 A 10.5 A 30,67 (see table on page 35) SIMPLIFIED PROGRAMMING - 34 - - T140-00129-IM01 - CONVERSION OF MINUTES AND SECONDS TO DECIMAL PARTS OF ONE DEGREE TABLE - A - MINUTES DECIMALS OF ONE DEGREE 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 EXAMPLE 0,01666 0,03333 0,05000 0,06666 0,08333 0,10000 0,11666 0,13333 0,15000 0,16666 0,18333 0,20000 0,21666 0,23333 0,25000 0,26666 0,28333 0,30000 0,31666 0,33333 0,35000 0,36666 0,38333 0,40000 0,41666 0,43333 0,45000 0,46666 0,48333 0,50000 TABLE - B - SECONDS DECIMALS OF ONE DEGREE 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 DECIMALS OF ONE DEGREE 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 0,51666 0,53333 0,55000 0,56666 0,58333 0,60000 0,61666 0,63333 0,65000 0,66666 0,68333 0,70000 0,71666 0,73333 0,75000 0,76666 0,78333 0,80000 0,81666 0,83333 0,85000 0,86666 0,88333 0,90000 0,91666 0,93333 0,95000 0,96666 0,98333 1,00000 0,00028 0,00055 0,00083 0,00111 0,00138 0,00166 0,00194 0,00222 0,00250 0,00277 0,00305 0,00333 0,00361 0,00388 0,00416 0,00444 0,00472 0,00500 0,00527 0,00555 0,00583 0,00611 0,00638 0,00666 0,00694 0,00722 0,00750 0,00777 0,00805 0,00833 DECIMALS OF ONE DEGREE 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 0,00861 0,00888 0,00916 0,00944 0,00972 0,01000 0,01027 0,01055 0,01083 0,01111 0,01138 0,01166 0,01194 0,01222 0,01250 0,01277 0,01305 0,01333 0,01361 0,01388 0,01416 0,01444 0,01472 0,01500 0,01527 0,01555 0,01583 0,01611 0,01638 0,01666 Convert 35° 16' 22" to a decimal number 35 ° 16 ' (tab. A) 22 " (tab. B) 35° 16' 22" = = = 35° 0°,26666 0°,00611 35 ,27277 In the program write A 35.273 (rounded off) - 35 - SIMPLIFIED PROGRAMMING B - T140-00129-IM01 - 1.2 Chamfer FUNCTION ",C" It is possible to automatically program the chamfer between two linear segments, directly setting the required dimension. The value of ",C" gives the length to be removed from the straight line preceding it and from the straight line following it. Thus an isosceles triangle is built where the two equal oblique give the value ",C" to be removed. Graphical diagrams of ",C" chamfers EXAMPLE ,C ,C ,C ,C ,C ,C 1.3 Corner round FUNCTION "R" By using the same logic as chamfers, corners can also be programmed automatically, setting the value of the radius directly, with which the control unit will build a circular interpolation tangential to the straight line preceding it and to the straight line following it. Graphical diagrams of "R" fillets EXAMPLE R R NOTE R a. Chamfers and corners programmed as per ",C" and "R" , can only be present in cases where the straight lines intersect each other. b. In programming, coordinates X and Z will always refer to the intersection points between the straight lines. B SIMPLIFIED PROGRAMMING - 36 - - T140-00129-IM01 - 1.4 Rules for using direct programming Direct programming is only compatible with G1 movements since its scope is to meet, in the best way possible, the problems of counterturning. The circular sections can be defined as corner rounds "R" whenever the tangential condition is present on both the straight line preceding the corner round and the straight line following it. When the initial or final tangential condition is absent, functions G2 and G3 in traditional format must be used; these are completely compatible with direct programming. Chamfers and corners ",C" and "R" can only exist between linear segments (performed in G1) of sufficient length to contain them. For the same reason the first or last process movement must never be ",C" or "R" because the linear segment able to contain and locate the chamfer or the corner would be totally absent. This problem can be eliminated by programming a preceding or following segment whose length is equal to ",C" or "R" and which will be covered by the chamfer or corner during execution. 1.5 Direct programming of single blocks EXAMPLE 70 50 N100 ............................. N110 G0X20Z1 N120 G1Z-20 N130 X50R10 N140 X70Z-40 N150 ............................ R10 20 0 20 40 0 5 x 45° N100 ............................. N110 G0X20Z1 N120 G1Z-20 N130 X50,C5 N140 Z-40 N150 ............................ 50 20 0 20 40 0 - 37 - SIMPLIFIED PROGRAMMING B - T140-00129-IM01 - 5 5 70 N100 ............................. N110 G0X30Z1 N120 G1Z-10 N130 X70Z-20,C5 N140 Z-40 N150 ............................ 30 0 10 20 40 0 70 N100 ............................. N110 G0X30Z1 N120 G1Z-10 N130 X70Z-20R7 N140 Z-40 N150 ............................ R7 30 0 10 20 40 0 70 60° N100 ............................. N110 G0X30Z1 N120 G1Z-16 N130 A120X70 N140 ............................ 30 0 16 0 5 5 70 N100 ............................. N110 G0X30Z1 N120 G1Z-16 N130 A120X70,C5 N140 Z-42 N150 ............................ 60° 30 B SIMPLIFIED PROGRAMMING 0 16 42 0 - 38 - - T140-00129-IM01 - 70 N100 ............................. N110 G0X30Z1 N120 G1Z-16 N130 A120X70R8 N140 Z-42 N150 ............................ R8 60° 30 0 42 16 0 80 N100 ............................. N110 G0X33Z1 N120 G1Z-16R6 N130 A150Z-35 N140 ............................ R6 30° 33 0 16 35 0 sm 2 80 R12 sm 2 30° 33 0 16 35 47 0 N100 ............................. N110 G0X29Z1 N120 G1Z0 N130 X33,C2 N140 Z-16 N150 A150Z-35R12 N160 X80,C2 N170 Z-47 N180 .............................. R6 80 50 R12 N100 ............................. N110 G0X50Z1 N120 G1Z-16 N130 A195Z-35R12 N140 X80R6 N150 Z-47 N160 ............................. 15° 0 16 35 47 0 - 39 - SIMPLIFIED PROGRAMMING B - T140-00129-IM01 - 1.6 Direct programming of double blocks EXAMPLE A150 90 30° R6 2 60° 33 10° 0 16 50 64 0 N100 ............................. N110 G0X29Z1 N120 G1Z0 N130 A170X33 N140 Z-16R6 N150 A120 N160 A150X90Z-50 N170 Z-64 N180 ............................. 5 90 5 30° 3 x 45° 60° 33 0 30° 16 50 64 0 R13 3 x 45° N100 ............................. N110 G0X70Z1 N120 G1Z0 N130 X76,C3 N140 Z-16 N150 A195R13 N160 A150X90Z-50 N170 Z-64 N180 ............................. 15° 90 76 SIMPLIFIED PROGRAMMING 0 16 50 64 0 B N100 ............................. N110 G0X27Z1 N120 G1Z0 N130 X33,C3 N140 Z-16 N150 A120,C5 N160 A150X90Z-50 N170 Z-64 N180 ............................. - 40 - - T140-00129-IM01 - 5 5 90 N100 ............................. N110 G0X33Z1 N120 G1Z-16R6 N130 A120R12 N140 A150X90Z-50,C5 N150 Z-64 N160 .............................. 30° R6 R12 60° 33 0 16 50 64 0 5 30° 90 5 N100 ............................. N110 G0X33Z1 N120 G1Z-16 N130 A120,C5 N140 A150X90Z-50R7 N150 Z-64 N160 .............................. R7 60° 33 0 16 50 64 0 R13 30° 90 76 15° N100 ............................. N110 G0X76Z1 N120 G1Z-16 N130 A195R13 N140 A150X90Z-50R7 N150 Z-64 N160 .............................. R7 0 16 50 64 0 - 41 - SIMPLIFIED PROGRAMMING B - T140-00129-IM01 - 2. TAPER TURNING It should be remembered that, in taper turning (including chamfers), the tool will only shape the piece as programmed in the case when the tool’s tip is sharp edged. One normally works with radiused tipped tools and consequently the result is a piece shape displaced in parallel from the programmed one by an amount which varies depending on the radius of the tool and the angle of inclination of the shape to be cut. It is therefore necessary to program the correct shape by the same amount as mentioned above, so that the tool cuts the required shape. The corrections to be made to the start and end points of the shaped piece to achieve the required shape can be calculated as follows: EXAMPLE Correct shape T.R. ²Z ß Wrong shape ²X 2 T.R. = Tool tip radius ß = Angle of inclination of shape X = Axis X increment Z = Axis Z increment Calculate X 2 X 2 X and 90° - ß )] 2 X 2 = R.U. - [ R.U. x tg. ( X = R.U. - [ R.U. x tg. ( Z = 1,2 - [ 1,2 x tg. ( Z = 1,2 - [ 1,2 x tg. 15° ] ß 2 )] Z with T.R. = 1,2 and ß = 30° 90° - ß )] 2 = 1,2 - [ 1,2 x tg. ( = 1,2 - [ 1,2 x tg. 30° ] X 2 = 1,2 - 0,70 Z = 1,2 - 0,33 X 2 = 0,5 - - - Z = 0,87 X=1 30° )] 2 Data derived from the calculation which can be normally used in the case of 45° chamfers Sm. 2 x 45° 0,5 1,6 0,23 0,29 0,47 0,58 0,7 0,93 Chamfer value increased to 45° B SIMPLIFIED PROGRAMMING - 42 - Tool used R = 0,8 ................. G1 X50 ,C2.47 ................. ø 50 0,4 Tip radius 0,8 1,0 1,2 - T140-00129-IM01 - 3. CIRCULAR TURNING As with taper processing, circular turning has the same problems as regards the tool radius. This problem can be overcome by programming the required radius, decreased or increased by the tool radius value depending on whether a concave or convex shape is being processed. The center of this circumference will be displaced relative to that of the shape to be machined by an amount equal to the tool radius, both along axis X and along axis Z. EXAMPLE Outside tool Tool offset point T.R. Inside tool Convex radius Concave radius Max. error Programmed radius T.R. New circumference centre Programmed radius Radius obtained Radius obtained Wrong detail Spindle axis Correct detail to obtain the required radius the concave radii should be reduced and the convex radii increased by the T.R. value. - 43 - SIMPLIFIED PROGRAMMING B - T140-00129-IM01 - 4. TOOL TIP RADIUS COMPENSATION FUNCTIONS "G40 - G41 - G42" Often, during shape turning (it can be checked when the process is finished), errors can be encountered in the geometry of the piece. Error should not be understood as having turned an over-tolerance diameter or shoulder (errors which can generally be recovered from with an intervention of the offset linked to the tool itself) but the fact of having programmed tool movements with the scope of obtaining a piece of a certain “shape” without actually obtaining it. These errors which will only be encountered for chamfers, taper turning and corners or spheres (as shown in the previous pages) are due to the tool tip radius. The error can be recovered from by programming a tool path different to the theoretical one but this compels the programmer to make calculations which are sometimes complex (compensation obtained manually). With automatic compensation of the tool radius all this work is eliminated since it will be the control unit to directly and suitably modify the programmed dimensions, eliminating the error due to the tool tip radius. Thus the programmer must provide: 1. The actual points of the shape: The programmed dimensions of the shape must be the actual dimensions of the finished piece (as per drawing); 2. The tool tip radius: The size of the tool tip radius is input to the page called with the "OFFSET SETTING" key (see page 46 or OPERATING MANUAL section "D"). 3. The direction of the imaginary tool tip: The type of tool is input to the same page as value "T" (see page 46). 4. The position in which the tool will be working on the shape, The position of the tool with respect to the shape is defined by function G41 when the tool is onthe left of the piece looking in the feeding direction; by G42 when it is on the right. This function must be included in the part-program. TOOL ON THE RIGHT: G42 TOOL ON THE LEFT: G41 G42 G41 B SIMPLIFIED PROGRAMMING - 44 - - T140-00129-IM01 - NOTE The following should be borne in mind when programming a shape with radius compensation: a. It is advisable to include "G41" or "G42" in the fast approach block (G0) before the start of the finishing process. b. It is compulsory to cancel the "G41" or "G42" at the end of the finishing pass with function "G40" to be included in the fast withdrawal block. c. It is advisable to start every program with the inclusion of function "G40". d. Both the approach stroke of the tool to the piece and the withdrawal one, during which radius compensation is enabled and disabled, must be greater than double the T.R. . e. Within a shape there are no blocks with only M,S,T, functions which do not generate axes movements. f. T.R. offset should only be used in the finishing passes when there are tapers and circular interpolations or corner rounds, and only in the case of real need. g. Do not specify G41" or "G42" if already active. If called a second time, it doubles compensation. EXAMPLE R11 R0.8 ø 122 ø 102 ø 80 ø 34 T7M8G40 (finishing) G96S180G95F.2M4 G0X30Z2G42 (enable) G1Z0 X53 G3X80Z-6R16F.15 G1X102Z-45 G2X122Z-55R11 G1X154Z-66F.25 G0X200Z200G40 (cancel) M30 6 0 45 66 55 ø 53 6 ø 154 R1 N180 N190 N200 N210 N220 N230 N240 N250 N260 N270 N280 NOTE In the "Tool Geometry" table, set:: OFFSET / GEOMETRY NO X …… ……… …… ……… …… ……… - 45 - SIMPLIFIED PROGRAMMING O1000 N1000 Z R T ……… ……… … ……… ……… … ……… 0.800 3 B - T140-00129-IM01 - 4.1 Types of tools T and offset values The value of "T" for every finishing tool to be included in the "offset geometry" table may be derived from this table. External backward turner External neutral turner 4 Neutral backward facer 8 5 3 7 0 6 1 External turner Neutral facer 2 Reamer Backward reamer Internal neutral turner OFFSET / GEOMETRY COMPENSAZ / GEOMETRY Input te value of tool radius B SIMPLIFIED PROGRAMMING - 46 - Input the typology of the tool according to the table above - T140-00129-IM01 - OFFSET / WEAR COMPENSAZ / USURA Values always ZERO NOTE The same value T as the GEOMETRY table is loaded a. For input of the R and T see the relevant procedures on the "OPERATING MANUAL". b. The radius offset value is the sum of the radii read in GEOMETRY and WEAR. For this reason the R value in WEAR must always be 0. c. Tool wear increment ± 0,999 max. - 47 - SIMPLIFIED PROGRAMMING B - T140-00129-IM01 - 5. TOOL LOAD MONITORING This matter is dealt in the "SBS" manual, in this chapter only functions M58 and M59 are described. 5.1 Description This function displays the torque used by axes and spindle motors, thus allowing to detect tools machining load. Machining load monitoring is conducted in accordance with the limit levels entered by the operator; the machine stops as soon as these limits are exceeded. For each tool two limit values can be preset: -- If the load exceeds the preset first limit, an overload alarm occurs and the machine stops at the end of the machining cycle; -- If the load exceeds the preset second limit, a tool breakage alarm occurs and the machining cycle is immediately interrupted. In both cases the alarm description and the relevant tool number are displayed on the screen. 5.2 Monitoring ON/OFF from Part-program To switch the tool load monitoring on and off enter M58 and M59 functions in the program. These functions have to be always inserted in one block. Functions M58 M59 : Tool Load Monitoring ON : Tool Load Monitoring OFF N10 G0X100Z50; N20 T101; N30 M58; N40 G1X200Z150F100; N50 X300Z200; N60 M59; .............................. .............................. N100 T505; N110 G0X300Z500; N120 M58; N130 G1X350Z400; N140 X360; N150 M59; .............................. .............................. N300 M30; NOTE B (enabling) (disabling) (enabling) (disabling) During axes rapid traverse tool load monitoring is automatically disabled. SIMPLIFIED PROGRAMMING - 48 - - T140-00129-IM01 - SECTION -C- CANNED CYCLES page page page page page page page page page page page page page 50 50 51 52 54 57 59 62 63 64 65 66 68 page 74 page 78 page 78 ----- -------- Paragraph Chapter Date Modifications Description 1. Canned repetitive cycles .................................... 1.1 Paraxial roughing cycle along Z axis ........ 1.2 Finishing cycle .......................................... 1.3 Summary program ..................................... 1.4 Paraxial roughing cycle along X axis ........ 1.5 Pattern repeating ....................................... 1.6 Finishing cycle with machining allowance 1.7 Face peck drilling ...................................... 1.8 Deep drilling with swarf conveying (axial) . 1.9 Face groove ............................................... 1.10 Radial groove ............................................ 1.11 Constant lead threading ............................ 1.12 Canned simple threading cycle ................ 1.13 Automatic threading and multiple-start threading cycle ......................................... 1.14 Canned axial tapping cycle ....................... 1.15 Rigid axial tapping cycle ........................... - 49 - CANNED CYCLES C - T140-00129-IM01 - 1. CANNED REPETITIVE CYCLES 1.1 Paraxial roughing cycle along axis "Z" FUNCTION "G71" Starting from a blank perform roughing with consecutive passes and a mandatory pass for semifinishing. Used for both external and internal roughing. If the shape A - B - C is programmed, as in the figure, the area specified is removed with equal passes D 45° Blocks format A C R (1st block) U (1st block) (F) U (machining allowance in X) ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ with the possibility of leaving a machining allowance in X and Z . B Finished shape G 0 X..... Z..... (A) (see note a.) G 71 U..... R..... (1st block) G 71 P..... Q..... U..... W..... F..... (2nd block) W U/2 (2nd block) (machining allowance in Z) 1st BLOCK : G 71 U..... R..... U: Depth of pass in radii in mm without sign R : Tool retraction amount during the return phase in mm without sign 2nd BLOCK : G 71 P..... Q..... U..... W..... F..... P : Sequence number relative to the first block of the shape (point B) Q : Sequence number relative to the last block of the shape (point C) U : Machining allowance for finishing in X, expressed in mm, diameter with sign (positive if external, negative if internal) W : Machining allowance for finishing in Z in mm with sign (see figure on page 51) F : Feed used during all the roughing cuts. Possible F addresses contained in the shape definition blocks from "P" to "Q" are ignored and only made active in finishing cycle G70. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Two modes of operation are possible with cycle G 71 Mode a: roughing of a shape without grooves processes pre-finishing cut. In the block following the second G71 specifiy the X value only (see examples on page 52 and page 53). Mode b: roughing of a shape with or without grooves does not process pre-finishing cuts since at each pass the tool exits in line with workpiece shape. In the block following the second G71 put both X and Z value (see examples on page 56 and page 57). ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ NOTE a. Point "D", starting cycle, is defined by the "X" and "Z" values specified in the block preceding G71, G72 and G73, plus the machining allowance set with "U" and "W" in the second block. C CANNED CYCLES - 50 - - T140-00129-IM01 - Wrong sequence numbers set under P and Q, may be the cause of collisions, more Warning likely so if higher values are set under P than under Q as the cycle makes no controls on said blocks and processing continues up to the block set from Q with the same tool called before the roughing cycle. The same rule applies also to cycles G72 and G73. The following four shapes can be processed. Processing is always parallel to Z axis and the signs for U and W are as follows: C U (+) ... W (+) ... A A External process. +X External process. B B B B Internal process. C U (+) ... W (-) ... C U (-) ... W (+) ... A +Z Both linear and circular interpolations are possible Internal process. A U (-) ... W (-) ... C The path of the tool from A to B in G0 or G1 is the 1st block of the shape and is programmed in the block following the second G71; its sequence number represents the P value. When the movement from A to B is programmed with G0 or G1 , the feed increase is performed in G0 or G1 mode accordingly. NOTE a. The blocks between P and Q cannot include subprograms calling. b. The tool always returns to point A at the end of the cycle. Finishing cycle FUNCTION "G70" After roughing performed with G71, G72 and G73 the following command allows finishing. ○○ ○ ○ ○ ○ ○ 1.2 G70 P.....Q..... P : sequence number relative to the first block of the shape Q : sequence number relative to the last block of the shape. ○ ○ ○ ○ ○ Warning At the end of cycle "G70" the tool is reset to the starting point in fast mode so it is advisable to locate the finishing tool in the same position as the roughing one (diameter of the blank). - 51 - CANNED CYCLES C - T140-00129-IM01 - 1.3 Summary program This program shows the application of the functions G70 - G71 e G72 described in the preceding chapters. EXAMPLE Machining a shaft end using a roughing and finishing tool 2 Machining allowance W =0,10 R=1mm (retraction amount) 62 ø54 44 ø42 26 17 ø30 ø18 Machining allowance U/2=0,5mm on the radius Sm 1 x 45° 0 13 26 39 34 48 58 0 O2 N10 G92S2000 N20 T1M8G40 (Z axis paraxial roughing) N30 G96S180G95M4 * N40 G0X64Z2 (positioning at start of "A" roughing cycle) N50 G71U6R1 N60 G71P70Q150U1W0.1F0.35 P N70 G0X15 NOTE a. and b. N80 G1Z0 N90 X17,C1 N100 Z-13 N110 X26Z-26 N120 Z-34F0.15 (feed used only for finishing) N130 X44 Z-39F0.2 (feed used only for finishing) N140 Z-48 Q N150 X62Z-58 N160 G0X200Z150 N170 T2M8G40 (finitura) N180 G96S200M4G95F0.25 N190 G0X64Z2G42 (positioning as for roughing block 40) N200 G70P70Q150 (G70 switches on functions M-S-F as written in block 120 and 130) N210 G0G40X200Z150 N220 M30 NOTE a. If only X axis is set in block N70 (as in the example), roughing leaves "steps" (shaded areas on the sketch) which are removed by a final prefinishing cut. b. If both X and Z axes are set in block N70 (e.g. N70 X15Z2), roughing leaves no "steps" and no final prefinishing cut is performed. C CANNED CYCLES - 52 - - T140-00129-IM01 - EXAMPLE Internal-external roughing and finishing with four tools Blank ø 130 x 75 130 R5 R6 100 R4 15° 70 60° 54 3° 34 30 Sm 2 Sm 2 0 0 O4 N10 T1M8G40 (dia 30 tip) N20 G92S1800 N30 G97S1000G95F0.15M3 N35 M58 N40 G0X0Z6 N50 G83Z-85Q15000 N60 G0G80X200Z100M4 N65 M59 N70 T3M8 (external roughing) N80 G92S1800 N90 G96S200G95F0.35M4 N95 M58 N100 G0X133Z0 N110 G1X27 (facing) N120 G0X132Z1 (pos. start roughing) N130 G71U3.5R1 (ext. roughing) N140 G71P150Q210U1W0.1 P N150 G0X66 N160 G1Z0 N170 X70Z-2 N180 Z-20R4 N190 A120X100R6 N200 A180R5 Q N210 A105X130Z-50 N220 G0X200Z200 N225 M59 N230 T5M8 (internal roughing) - 53 - 0 20 50 73 C4 N240 G92S2000 N250 G96S180G95F0.3M4 N260 G0X30Z2 (pos. start roughing) N265 M58 N270 G71U3R1 N280 G71P290Q340U-1W0.1 P N290 G0X58 N300 G1Z0 N310 X54Z-2 N320 Z-20R4 N330 A-90 , C2 Q N340 A183X34Z-73 N350 G0Z100 N355 M59 N360 T7M8 (internal finishing) N370 G92S2500 N380 G96S250G95F0.2M4 N390 G0G41X32Z3M38 N400 G70P290Q340 N410 G0G40X200Z100M39 N430 T9M8 (external finishing) N440 G96S280G95F0.25M4 N450 G0G42X132Z3M38 N460 G70P150Q210 N470 G0G40X200Z200M39 N480 M30 CANNED CYCLES C - T140-00129-IM01 - 1.4 Paraxial roughing cycle along X axis "G72" FUNCTION As seen from the figure below, this cycle is similar to G71 except that the processing is parallel ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ to X axis. W Blocks format C Tool path B A R (Machining allowance) in Z 45° W Finished shape U (Machining allowance) in X U/2 C G0 X.. Z..... (A) G72 W.. R..... (1st block) G72 P..... Q.... .U..... W..... F..... (2nd block) The meaning of the addresses in the two G72 blocks is the same as for G71. ○ ○ ○ ○ ○ ○ ○ ○ ○ It is possible to machine the following four shapes. Machining is always parallel to X axis; U and W signs are as follows : U (-) ... W (+) ... U (-) ... W (-) ... C C +X Internal process. Internal process. B A A B A A External process. +Z B Both linear and circular interpolations B are possible External process. C C U (+) ... W (+) ... U (+) ... W (-) ... The path of the tool from A to B is specified in the block with sequence number P with G00 or G01 and the increments for each pass will be performed in G0 or G1. The path from B to C can also include a shape with grooves. See note for cycle G71 on pages 50-51-52. C CANNED CYCLES - 54 - - T140-00129-IM01 - Roughing along X axis EXAMPLE Rough. cut W 3 see block N50 Retraction amount R 1mm 150 ø 200 Machining 0.5mm allowance U/2 see block N60 ø 162 ø 40 0 2 20 60 50 40 ø 80 ø 120 ø 160 Machining allowance W 0.1 see block N60 O3 N10 T1M8G40 (X axis paraxial roughing) N20 G92S1500 N30 G96S190G95M4 * N40 G0X162Z2 (positioning at start of "A" roughing cycle) N50 G72W3R1 N60 G72P70Q130U1W0.1F0.35 See NOTE a. and b. page 52 P N70 G0Z-60 N80 G1X160 N90 X120 N100 Z-50 N110 X80Z-40 N120 Z-20 Q N130X40Z0 N140 G0X200Z150 N150 T2M8 (finitura) N160 G92S1800 N170 G96S230G95F0.25M4 N180 G0G41X162Z2 (positioning as for roughing block 40) N190 G70P70Q130 (G70 switches on functions M-S-F) N200 G0G40X200Z150 N210 M30 NOTE The rules given for G71 apply. - 55 - CANNED CYCLES C - T140-00129-IM01 - EXAMPLE External roughing-finishing of a pin with pockets, performed using two tools Sm 1 x 45° NOTE b. R20 16 10 0 31 50 46 66 Sm 1,5 x 45° 92 84 108 Sm 1 x 45° 128 ø 40 ø 25 ø 26,46 R3 ø 20 ø 30 ø 40 ø 45 R2 R5 C7 O10 N10 G92S1500 N20 T1M8G40M26 (sgrossatura ut. 35°) N30 G96S180G95F0.25M4 N40 G0X100Z10 N50 X46Z2 (positioning at start of "A" roughing cycle) N60 G71U2R1 N70 G71P80Q210U1.5W0.1 NOTE a. (in presence of Z carry out pockets) P N80 G0X18Z2 N90 G1A135X25 N100 Z-10R3 N110 X40,C1 N120 Z-16 N130 G2X40Z–46R20 N140 G1Z-50 NOTE b. N150 X20Z-66 N160 Z-84R5 N170 X30Z-92 N180 Z-108R2 N190 X40,C1 N200 Z-128 Q N210 X45 N220 G0X200Z10 NOTE c. N230 T2M8 (finitura RU0.8T3) N240 G96S220G95F0.15M4 N250 G0G42X48Z3 (positioning at start of finishing cycle) N260 G70P80Q210 N270 G0G40X200Z10M9 N280 M30 NOTE a. Position in Z outside the piece 2,5 times the tool radius otherwise the finishing tool will penetrate the workpiece because of radius correction. b. At bottom of groove - it is not possible to program a radius by direct programming but only with G2 or G3, otherwise the 057- lack of data alarm appears. c. The finishing tool is of the T3 type with tip radius R = 0,8 C CANNED CYCLES - 56 - - T140-00129-IM01 - 1.5 Pattern repeating FUNCTION "G73" This function allows a defined shape to be repeated several times, shifiting it by the programmed value each time. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Using this cycle it is possible to process pieces derived from pressings and castings efficiently. Blocks format W (2nd Block) A C Blank shape U (1st Block) Finished shape * see note at page bottom B U/2 (2nd Block) W (1st Block) The cycle should be programmed as follows: A B C G0 X.... Z.... (A) G73 U.... W.... R.... (1st block) G73 P.... Q.... U.... W.... F.... (2nd block) 1st BLOCK G73 U.... W.... R.... U : material to be removed in X, in mm in radii with sign W : material to be removed in Z, in mm with sign R : number of passes 2nd BLOCK G73 P.... Q.... U.... W.... F.... sequence number relative to the first block of the shape sequence number relative to the last block of the shape machining allowance for finishing in X, in diameters in mm with sign machining allowance for finishing in Z, in mm with sign feed used during the roughing passes. P: Q: U: W: F: ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Four types of shape are considered. Attention should be paid to the signs of U and W (refer to the figure on page 51) The tool returns to point A at the end of the cycle. Warning Using this roughing cycle for a shape having excessive shoulders (greater than the insert) could result in the insert breaking or the workpiece escaping from the chuck damaging the machine or causing injury to the operator. See note on pages 50-51-52-56-57 for cycle (G71). - 57 - CANNED CYCLES C - T140-00129-IM01 - Machining a forged piece with three roughing cuts EXAMPLE 16 16 W 0,1 X A ø 250 ø 210 U1 : 2 = 0,5 U1 : 2 = 0,5 ø 80 ø 120 ø 160 ø 180 ø 185 R20 O1 N10 G92S1500 N20 T1M8G40 (roughing) N30 G96S200G95F0.35 M4 N40 G0X210Z20 N50 G73U14W14R3 N60 G73P70Q120U1W0.1 P N70 G0X80Z2 N80 G1Z-20F0.15 N90 X120Z-30F0.25 N100 Z-50 N110 G2X160Z-70R20 Q N120 G1X180Z-80 N130 G0X250Z150 N140 T2M8 (finishing) N150 G96S230G95F0.25 M4 N160 G0G42X190Z2 N170 G70P70Q120 N180 G0G40X250Z150 N190 M30 C CANNED CYCLES - 58 - 150 20 0 30 20 50 80 70 120 Z - T140-00129-IM01 - 1.6 Finishing cycle with machining allowance FUNCTION "G70 P.... Q.... U.... W... " After roughing a shape with pockets with cycles G71, G72 and G73, this function allows further ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ finishing passes with constant machining allowance along the shape. G 70 P.....Q.....U.....W..... P: Q: U: W: sequence number relative to the first block of the shape sequence number relative to the last block of the shape machining allowance for finishing in X, expressed in mm, diameter with sign (positive if external, negative if internal) machining allowance for finishing in Z in mm with sign (see figure on page 51) ○ ○ ○ ○ ○ ○ NOTE a. It is possible to leave a machining allowance only in X or only in Z or in X and in Z at the same time. Warning At the end of cycle G70 the tool is reset to the starting point. For this reason it is advisable to locate the finishing tool in a position that does not cause any collision between tool and part. - 59 - CANNED CYCLES C - T140-00129-IM01 - EXAMPLE External roughing-finishing of a shape with pockets performed using two tools, roughing cycle “G71” and finishing cycle “G70” with constant machining allowance on the shape and further finishing passes with radius correction ON. Sm 1 x 45° NOTE b. R20 16 10 0 31 50 46 66 Sm 1,5 x 45° 92 84 108 128 Sm 1 x 45° ø 40 ø 25 ø 26,46 R3 ø 20 ø 30 ø 40 ø 45 R2 R5 C7 O10 N10 G92S1500 N20 T1M8G40M26 (roughing tool 35°) N30 G96S180G95F0.25M4 N40 G0X100Z10 N50 X46Z2 (positioning at start of "A" roughing cycle) N60 G71U2R1 N70 G71P80Q210U2W0.1 P N80 G0X18Z2 N90 G1A135X25 N100 Z-10R3 N110 X40,C1 N120 Z-16 N130 G2X40Z–46R20 N140 G1Z-50 N150 X20Z-66 N160 Z-84R5 N170 X30Z-92 N180 Z-108R2 N190 X40,C1 N200 Z-128 Q N210 X45 N220 G0X200Z10 N230 T2M8 (finishing RU0.8T3) N240 G96S220G95F0.15M4 N250 G0G42X48Z3 (positioning at start of pre-finishing and finishing cycle) NOTE b. N260 G70P80Q210U1W0.1 N270 G70P80Q210U0.5W0.1 N280 G70P80Q210 N290 G0G40X200Z10M9 N300 M30 NOTE a. The rules already given for roughing and finishing cycles apply also for this cycle. b. “U” and “W” represent the machining allowance left with radius correction ON in finishing cycle G70. C CANNED CYCLES - 60 - - T140-00129-IM01 - EXAMPLE External roughing-finishing of a shape with pockets performed using two tools, roughing cycle “G72” and finishing cycle “G70” with constant machining allowance on the shape and further finishing passes with radius correction ON. 1x 45 ° 3 ° 5° R x415x4 1 3 X180 X160 X140 X120 X100 X76 X60 X42 X28 X90 ø16 Z 22 Z 0 Z-20 Z-20 Z-15 Z-15 Z-10 Z-10 Z-6 Z-6 0 O20 N10 G92S1000 N20 T1M8G40 (roughing tool 35°) N30 G96S180G95F0.25M4 N40 G0X184Z4 (positioning at start of "A" roughing cycle) N50 G72W2R1 N60 G72P70Q190U0.1W2 P N70 G0X184Z-18 N80 G1A-45Z-15 N90 X160R3 N100 Z-6,C1 N110 X140 N120 X120Z-15 N130 X100 N140 X90Z-10 N150 X76 N160 X60Z-20 N170 X42 N180 X28Z0 Q N190 X14 N200 G0X220Z100 N210 T2M8 (finishing R.UT.O.8T3) N220 G96S220G95F0.2M4 N230 G0G41X186Z3 (positioning at start of pre-finishing and finishing cycle) NOTE b. N240 G70P70Q190U0.2W1 N250 G70P70Q190U0.2W0.3 N260 G70P70Q190 N270 G0G40X220Z100M9 N280 G30 NOTE a. The rules already given for roughing and finishing cycles apply also for this cycle. b. “U” and “W” represent the machining allowance left with radius correction ON in finishing cycle G70. - 61 - CANNED CYCLES C - T140-00129-IM01 - 1.7 Face peck drilling FUNCTION "G74" ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Using this cycle the swarf can be broken when drilling along the "Z" axis. Blocks format G0 X.... Z.... (starting and ending cycle position) G74 R.... (1st block) G74 Z.... Q.... F.... (2nd block) R: Z: Q: F: tip retraction distance in mm total hole depth in mm with sign next drilling depth before each retraction, without sign in thousandths of a mm. feed rate. ○ ○ ○ ○ ○ ○ ○ ○ ○ NOTE a. At the end of drilling the tip will be positioned outside the piece. EXAMPLE 58 R = 1 Retraction distance 2 Workpiece zero point 8 8 8 C CANNED CYCLES - 62 - ………… T1M8 G97S600G95M3 G0X0Z2 G74R1 G74Z-58Q8000F.12 ………… - T140-00129-IM01 - Deep drilling with swarf conveying (axial) FUNCTION "G83" Using this cycle the swarf from deep drilling along axis "Z" can be ejected. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 1.8 Blocks format G0 X.... Z.... (starting and ending cycle position) G83 Z.... Q.... P.... F.... G80 (G83 disable) Z: Q: P: F: hole depth in mm with sign drilling section after which there is a rapid withdrawal from the piece for swarf ejection, expressed in thousandths without sign. dwell at bottom of hole, expressed in thousandths of a second feed, expressed in mm/rev. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ NOTE a. Parameter 5101 bit 2 = 1 . The safety distance from the material to be worked, when the tip is reentering after each conveyance, can be set in parameter 5114. The normal value is 500, i.e. 0.5. EXAMPLE 2 NOTE a. 92 Workpiece zero point 14 NOTE 20 20 20 ………… T1M8 G97S800G95M3 G0X0Z2 NOTE a. G83Z-92Q20000P1000F.2 G80G0X100Z100 ………… 20 a. Fast positioning point: it defines the start of drilling position, the swarf ejection position, and cycle end position. - 63 - CANNED CYCLES C - T140-00129-IM01 - 1.9 Face grooves FUNCTION "G74" This cycle is used to cut a face groove wider than the tool with several cuts automatically established ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ by the N.C. with the possibility of breaking chips. Blocks format G0 X.... Z.... (starting and ending cycle position) G74 R.... G74 X... Z.... P.... Q.... F.... R: X: Z: P: the tool retraction distance in mm. If ZERO is set there is no retraction. the final diameter of the groove, taking into account twice the width of the tool, in mm. the depth of the groove in mm. the tool displacement along axis X to perform the subsequent cuts (this is a value less than the tool width expressed in radii in thousandths of a mm. without sign) successive depths of penetration before each retraction, without sign in thousandths of a mm. If chip breaking is not desired, set this value to the groove depth +1 (e.g. 12+2+1=15). feed rate. Q: F: ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ EXAMPLE 1 2 Tool offset point 4 5 N80 N90 N100 N110 N120 N130 N140 6 ø 30 ø 40 6 ø 116 2 12 C CANNED CYCLES - 64 - T2M8 G96S100G95M4 G0X116Z2 G74R1 G74X40Z-12P4000Q6000F0.05 G0X200Z200 M30 - T140-00129-IM01 - 1.10 Radial grooves FUNCTION "G75" This cycle is used to cut a radial groove wider than the tool with several cuts automatically established by the N.C. with the possibility of breaking chips. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Blocks format G0 X.... Z.... (starting and ending cycle position) G75 R.... G75 X.... Z.... P.... Q.... F.... R: X: Z: P: Q: F: the tool retraction distance in mm. If ZERO is set there is no retraction. the end diameter of the groove in mm. the end point of the groove in Z, taking into account the tool offset side. successive depths of penetration before each radial retraction without sign inthousandths of a mm. If chip breaking is not desired, set this value to the groove depth + 1 (e.g.13+1+1=15). the tool displacement along axis Z to perform the subsequent cuts (this is a value less than the tool width expressed in thousandths of a mm. without sign). feed rate. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ EXAMPLE Tool offset point ……………………… T11M8 G96S100G95M4 G0X152Z-31 G75R1 G75X124Z-70P6500Q5000F0.1 G0X200Z200 1 6,5 6,5 1 6 ø 152 ø 150 0 25 31 70 ø 124 1 13 5 - 65 - CANNED CYCLES C - T140-00129-IM01 - 1.11 Constant lead threading FUNCTION "G33" It is possible to program cylindrical,frontal and taper threading programming single movements using function "G33". The lead is given using address F . F3 CYLINDRICAL THREADING Example of constant lead cylindrical threading with a length of 100 mm pitch 3: G33 Z-100 F3 FRONTAL THREADING F2.5 Example of frontal threading, constant pitch 2,5: F2 G33 X50 F2,5 TAPER THREADING Example of taper threading pitch 2: G33 X150 Z-200 F2 NOTE a. The feeding potentiometer is switched off during threading. b. Thread undercut, where they are not required, can be ignored since the tool moves away from the piece rapidly at the end of the thread without creating a groove. c. The result of multiplying the spindle revs by the lead must not exceed 10000 or the value specified by Biglia in parameter 1422. Otherwise the lead will be different from that programmed, but no errors will be signalled by C.N.C. d. When the HOLD push-button is pressed the tool will only stop at the end of the cut. e. The spindle speed must be programmed with G97S... and must be the same for both roughing and finishing (G96 would generate an imperfect threading). f. The thread lead is inaccurate near the starting (L) and finishing (L1)points due to the acceleration and deceleration of the axis. To avoid this error the threading pass should be started about 3 ÷ 5 times the lead away from the piece. C CANNED CYCLES - 66 - - T140-00129-IM01 - The length of sections L and L1 is calculated using the following rules: L1 L= PxN 500 L1 = PxN 1800 L P = thread lead (mm) N = spindle speed (rpm) The value L obtained by the rule above must always be rounded off to the the higher integer and then doubled, to be on the safe side. There is also a practical system to calculate L i.e. multiplying the lead value by 3 ÷ 5 namely: L = P x 3 or L = P x 5 depending on the number of spindle speed and on the machine type. EXAMPLE Threading ø20 x 1 in three cuts plus a polishing one, vertical penetration L L= 0.3 ø 20 0.2 ø 19.4 ø 18.72 M 20 x 1 30 ø 19 0.14 35 SxF 800 x 1 = = 1.6 -- 1.6 x 2 = 3.2 (rounded off to 4) 500 500 N 220 N 230 N 240 N 250 N 260 N 270 N 280 N 290 N 300 N 310 N 320 N 330 N 340 N 350 N 360 N 370 N 380 N390 T4M8 G97S800M3 G0X19,4Z4 G33Z-30F1 (1st pass) G0X22 Z4 X19 G33Z-30F1 (2nd pass) G0X22 Z4 X18.72 G33Z-30F1 (3rd pass) G0X22 Z4 X18.72 G33Z-30F1 (polishing) G0X100 Z10 - 67 - CANNED CYCLES C - T140-00129-IM01 - 1.12 Canned simple threading cycle FUNCTION "G78" It is possible to create cylindrical and taper threadings by programming the cut depths. This is the ideal solution when cycle G76, described further below, cannot be used. As command "G78" automatically generates an A - B - C - D modal path, in the following blocks only the diameter of the subsequent cuts needs being specified. ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ CYLINDRICAL THREADING Blocks format G0 X(A) Z(A) G78 X(C) Z-(C) F(lead) A B C D = = = = D Point of tool location before threading starts Diameter of the 1st threading cut End point of threading in Z. Location established by CNC automatically as a function of point A and point C A C B See examples of threading on pages 71 and 72 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ C Blocks format +X D A = Point of tool location before threading C B = C = D = E = starts Location established by CNC automatically as a function of E End point of taper threading in X Location established by CNC automatically as a function of point A and point C It defines the inclination of the thread expressed in mm; it represents the difference between the end diameter and the initial diameter divided by 2, with negative sign for external threads and without sign for internal threads. A E G0 X(A) Z(A) G78 X(C) Z(C) R(E) F(lead) X ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ TAPER THREADING See examples of threading on pages 73 and 74 ○ ○ ○ ○ ○ ○ ○ ○ ○ CANNED CYCLES - 68 - Z B +Z - T140-00129-IM01 - ISO Table for external threads R H0 H Surface finished by the shaving tool Tool with crest shaver Turned diameter "H0" defines the thread’s depth as a function of the lead and the bottom radius, while the number of cuts is given as an indication only and must be optimized according to the material being machined and the type of tool being used. Lead H H0 R 1 2 3 4 5 6 7 8 9 10 11 12 NOTE 0.5 0.38 0.32 0.06 0.75 0.56 0.47 0.09 1.0 0.76 0.63 0.13 1.25 0.95 0.79 0.16 1.5 1.14 0.95 0.19 1.75 1.33 1.11 0.22 2.0 1.52 1.27 0.25 2.5 1.89 1.58 0.31 3.0 2.28 1.90 0.38 0.15 0.12 0.10 0.05 (0.42) 0.18 0.14 0.10 0.10 0.05 (0.57) 0.25 0.20 0.13 0.10 0.05 (0.73) 0.25 0.20 0.15 0.14 0.10 0.05 (0.89) 0.30 0.25 0.20 0.15 0.10 0.05 (1.05) 0.30 0.25 0.20 0.16 0.15 0.10 0.05 (1.21) 0.30 0.25 0.20 0.20 0.15 0.12 0.10 0.05 (1.37) 0.30 0.28 0.25 0.20 0.20 0.15 0.15 0.10 0.05 (1.68) 0.35 0.30 0.25 0.20 0.20 0.15 0.15 0.15 0.10 0.10 0.05 (2,00) a. The sum of the various cuts in the table is increased by 0.10 to take into account tool flexion and stress. b. A practical way of calculating the depth of the external metric thread is to multiply the lead value by the fixed numbers 0.60 ÷ 0.63; for the internal thread multiply by 0.55 ÷ 0.58; with Whitworth threads multiply the screw and internal thread values by 0.65. c. Calculating the insert inclination as a function of the thread diameter and the lead P Tgα = xD P = thread lead D = diameter of the piece to thread α = insert inclination (check the correspondence on the insert holder) - 69 - CANNED CYCLES C - T140-00129-IM01 - EXAMPLE External thread M24 x 1.5 material C40, cutting speed 120 m/min. Calculating the spindle speed.: N = Vt x 1000 120 x 1000 = = 1592 (rounded off to 1600) xD 3.14 x 24 From the table we get 6 passes and their deep. 6 30 N100 N110 N120 N130 N140 N150 N160 N170 N180 N190 C ø 26 ø 22,22 M 24 X 1,5 0,89 4 (4 times the lead) T8M8 (external thread with G78) G97S1600G95M3 G0X26Z6 (position of retraction and thread start) G78X23.5Z-31F1.5 1st cut X= 24–(0.25 x 2) X23.1 2nd cut X=23.5–(0.2 x 2) X22.8 3rd cut X=23.1–(0.15 x 2) X22.52 4th cut X=22.8–(0.14 x 2) X22.32 5th cut X=22.52–(0.1 x 2) X22.22 6th cut X=22.32–(0.05 x 2) G0X100Z100 CANNED CYCLES - 70 - - T140-00129-IM01 - EXAMPLE Internal thread M24 x 1.5 material C40, cutting speed 100 m/min. Calculating the spindle speed: N = Vt x 1000 100 x 1000 = = 1326 (rounded off to 1300) xD 3.14 x 24 From the table we obtain 6 cuts and their depths. Said depths must be slightly reduced as the depth of the internal thread is less than the external thread’s. Lead x 0.56 = 1.5 x 0.56 = 0.84 6 Indicative value ø 21 ø 22,32 L 0,84 M 24 x 1,5 35 (4 times the lead) N100 N110 N120 N130 N140 N150 N160 N170 N180 N190 T5M8 (internal thread with G78) G97S1300G95M3 G0X21Z6 G78X22.8Z-36F1.5 1st cut depth 0.25 X23.22 2nd cut depth 0.20 X23.52 3rd cut depth 0.15 X23.76 4th cut depth 0.12 X23.90 5th cut depth 007 X24.00 6th cut depth 0.05 G0X100Z100 - 71 - was 0.30 on the table was 0.25 on the table was 0.20 on the table was 0.15 on the table was 0.10 on the table was 005 on the table CANNED CYCLES C - T140-00129-IM01 - EXAMPLE External taper threading M24 x 1,5 Radial taper over 36 mm ø 2,40 ø 19,2 ø 26 ø 20 ø 22,22 0,89 M 24 x 1,5 6 30 36 N200 N210 N220 N230 N240 N250 N260 N270 N280 N290 NOTE T7M8 G97S1600G95M3 G0X26Z6 G78X23.5Z-30R-2.4F1.5 X23.1 X22.8 X22.52 X22.32 X22.22 G0X100Z100 a. For calculating the number of cuts, consult the example on cylindrical external threading given in the previous pages C CANNED CYCLES - 72 - - T140-00129-IM01 - Quadruple external threading, lead 8 mm, performing cuts on the four threads before each increment in X and angle phase for the different starts. EXAMPLE G78 : Canned threading cycle F : Lead Q : Defines the angle shift between two neighbour threads (in thousandths) Indicative value ø 26 30 24 - Pitch 8 with 4 starts 4 ø 21,26 1,37 L= 20 Workpiece program: N100 N110 N120 N130 N140 N150 N160 N170 N180 N190 N200 N210 N220 N230 N240 N250 N260 N270 N280 NOTE T7M8 (ext. thread with 4 starts) G97S700G95M3 G0X26Z20 G78X23.4Z-31F8Q0 Q90000 Q180000 Q270000 X22.9Q0 Q90000 Q180000 Q270000 X22.5Q0 Q90000 Q180000 Q270000 X22.1Q0 Q90000 Q180000 Q270000 N290 N300 N310 N320 N330 N340 N350 N360 N370 N380 N390 N400 N410 N420 N430 N440 N450 N460 X21.8Q0 Q90000 Q180000 Q270000 X21.56Q0 Q90000 Q180000 Q270000 X21.36Q0 Q90000 Q180000 Q270000 X21.26QO Q90000 Q180000 Q270000 G0X100Z100 M30 a. This system allows to start threading always from the same Z point to perform the different threading and each pass. - 73 - CANNED CYCLES C - T140-00129-IM01 - 1.13 Automatic threading and multiple-start threading cycle "G76" FUNCTION Allows a thread to be cut by programming only two blocks with function G76 (not modal) G0 X..... Z..... (Starting and ending cycle position) 1st BLOCK G76 P……………………… Q..... R..... 2nd BLOCK G76 X..... Z..... R..... P..... Q..... F..... (R) E Tool positioning (R) A (R) Thread end point Plunge (R) (F) X D 1st cut B R Thread depth C To be set for conical thread only Workpiece Zero point Exit taper (R) = Rapid (F) = Work Z Tool a 1st 2nd 3nd n-th Qx n 2nd block P R C CANNED CYCLES - 74 - - T140-00129-IM01 - Description of blocks ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 1° 3° G76 P……………………… Q… R… 1st BLOCK P: 2° Is always followed by 6 digits with the following meaning: The 1st pair of digits: show the number of finishing passes. During the first pass the machining allowance shown by the R in the same block is removed, subsequent passes are polishing ones. Values normally used: 00 : no finishing pass 01 : one finishing pass 02 : two finishing passes. The 2nd pair of digits: show the tool exit method at the end of each threading pass. Values normally used: 00 : is the most used with stripping exit 06 : exit inclined by 45° where the length of the exit taper is approximately equal to the thread depth (for metric or Whitworth threading). The 3rd pair of digits: show the entry angle of the tool for cutting the thread. Only the following values can be selected: 80 60 : entry along the right-hand side for metric threading 55 : entry along the right-hand side for Whitworth threading 30 29 00 : vertical entry Q: Shows the minimum cutting depth bearing in mind that the initial pass depth (shown by letter Q in the 2nd block of G76) decreases automatically according to the rule given on the next page. When this minimum cutting depth value has been reached the cycle continues with constant cutting depths until threading is complete. The value is given in radii in thousandths of a mm. without sign Values normally used: Q100 Q120 R: Shows the machining allowance which is removed during the 1st finishing cut. Given in radii in mm. without sign. Values normally used: R0 : no finishing allowance foreseen R0,05 : 5 hundredths in radius of finishing allowance. ○ ○ ○ ○ ○ ○ ○ ○ ○ - 75 - CANNED CYCLES C ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ - T140-00129-IM01 - NOTE G 76 X..... Z..... R..... P..... Q..... F..... 2nd BLOCK : X: Z: R: Diameter in mm of the thread bottom. If threading is tapered it is that of the thread end. Thread end coordinate Radius variation between the starting point and the thread end in mm. with sign: for threading on the main-spindle with movement from right to left, -- negative for external threads (e.g.: R–0.15) -- positive for internal threads (e.g.: R 0.15 ) NOTE a. The letter R is not given for cylindrical threading b. C.N.C. does not accept: positivo R for external threads negativo R for internal threads Thread angle R Length of pass "a" P: Q: F: Thread depth in radii in thousandths of a mm, without sign. For metric threads the rule P = pitch x 0.6 - for Whitworth P = pitch x 0.65 Depth of the 1st pass given in radii, thousandths of a mm, no sign indicative values: Q200 - Q300 Thread pitch given in mm, without sign. ○ ○ ○ ○ ○ ○ ○ ○ ○ a. The number of passes depends on the two values given under letter Q. Increasing one or both of the two values reduces the number of passes, reducing them increases it. b. The depth of the first pass decreases according to the following mathematical rule: Initial pass depth x square root of the x Q300 3° 4° 0,60 2° 0,52 0,3 1° 0,42 EXAMPLE n° of cuts . 1st pass : 0,3 mm radius 2nd pass : 0,3 x 2 = 0,42 3rd pass : 0,3 x 3 = 0,52 4th pass : 0,3 x 4 = 0,60 If the passes are to be equal with a constant depth, two equal Q values are programmed. c. Threading is performed only with G97 (fixed revs). d. In the block preceding G76 function, it is required to place the tool with rapid feed in X and Z; (X on the return diameter which is normally distant 1 mm radius from the thread crest and in Z equal approximately 3÷4 times the pitch. If revs increase this value should increase too). e. Fixed cycle G76 automatically recognizes internal or external threading from the fast tool positioning to X. f. By pressing HOLD, the threading pass is complete and the tool returns to the starting point before stopping. By pressing START the threading cycle starts again. C CANNED CYCLES - 76 - - T140-00129-IM01 - EXAMPLE External and internal threading ø 24 x 2 and quadruple starts external threading. External threading 6 Thread’s depth P=1200 (approx. 3 times the pitch) 30 T11M8 G97S1600G95M3 NOTE a. G0X26Z6 G76P010060Q150R0.02 G76X21.6Z-31P1200Q300F2 G0X100Z100 ø 26 ø 21,6 M 24 x 2 1,2 4 Internal threading 6 (approx. 3 times the pitch) T10M8 G97S1400G95M3 NOTE a. G0X21Z6 G76P010060Q100R0.01 G76X24Z-31P1200Q250F2 G0X100Z100 ø 21 ø 21,6 M 24 x 2 1,2 Thread’s depth P=1200 Quadruple starts external threading, pitch 8mm (approx. No.3 times the pitch) 24 Thread’s depth P=1200 30 ø 26 ø 21,6 ø 24 x 8 1,2 4 T10M8 (4-start threading) G97S1000G95M3 G0X26Z24 (1st start) G76P010060Q150R0.02 G76X21.6Z-31P1200Q300F8 G0X26Z26 (2nd start) G76P010060Q150R0.02 G76X21.6Z-31P1200Q300F8 G0X26Z28 (3rd start) G76P010060Q150R0.02 G76X21.6Z-31P1200Q300F8 G0X26Z30 (4th start) G76P010060Q150R0.02 G76X21.6Z-31P1200Q300F8 G0X100Z100 To calculate distance between starts, divide the pitch by the number of starts (ex. 8:4=2), therefore positioning in Z will be Z24, Z26, Z28 and Z30, the thread end position remains unchanged. NOTE a. Starting and ending cycle position, when the thread is cut the tool automatically returns to the starting point. - 77 - CANNED CYCLES C - T140-00129-IM01 - 1.14 Canned axial tapping cycle FUNCTION "G84" As an alternative to the previous example, it is possible to use the "G84" canned cycle which allows tapping to be performed in a single block and thus it is possible to test the first piece without having to move to continuous running mode. EXAMPLE Tapping M14 x 2 N550 N560 N570 N580 N590 T9M8 (tap M14x2) G0X0Z8G97S450G95M3 G84Z-20F2 G0G80X200Z200 …………… 8 0 20 30 M 14 x 2 Workpiece Zero point 1.15 Rigid axial tapping cycle FUNCTION "M35" It is possible to create a tap by fitting a rigid tap (like a drill bit). To do this function "M35" and the use of "G84" , as described above, is required. EXAMPLE Rigid tapping M14 x 2 NOTE N550 N560 N570 N580 N590 T9M8 (tap M14x2) G0X0Z3G97S450G95M3 M35 (rigid tapping) G84Z–20F2 G0G80X200Z200 8 0 20 30 M 14 x 2 Workpiece Zero point a. G80 cancels G84 and M35. b. For left-hand threads digit M4, in place of M3, in block N560. c. To avoid tap rotation, use special collet with security dowel (DIN 6499/B). d. Function "M35" must be written in a block of its own. C CANNED CYCLES - 78 - - T140-00129-IM01 - SECTION -D- ADVANCED PROGRAMMING ----- - -- - - - - - Paragraph Chapter Date Modifications Description 1. Subprograms ................................................. 1.1 Subprogram configuration ......................... 1.2 Programs and subprogram protection ....... 1.3 Calling a subprogram ................................ 1.4 Calling a subprogram specifying the number of the coming block ....................... 1.5 Specifying the block number to return to the main program ................................... 1.6 Using M99 in the main program ................. 1.7 Calling blocks in the main program ........... 1.8 Calling and repeating blocks in the main program ................................... page page page page 81 81 81 82 page 82 page 83 page 83 page 85 page 87 2. Changing the work coordinate system ............... page 89 3. Changing work coordinates ............................... page 91 4. Varying tool offset .............................................. page 92 5. Local coordinates setting ................................... page 93 6. Machine coordinates system setting .................. page 94 7. Rapid position to machine zero point ................. page 95 8. Tailstock and steady-rest ................................... 8.1 Using the tailstock in a fixed position ........... 8.2 Using the tailstock in a cycle and steady-rest 8.3 Using the tailstock with a face driver ......... 8.4 Steady-rest connected with tool feed ......... page page page page page 9. Custom macro and arithmetic operations ........... 9.1 Custom macro ........................................... 9.2 Arithmetic operations ................................. 9.3 Conditional and unconditional jump instructions ....................................... page 99 page 99 page 100 - 79 - 96 96 97 98 98 page.102 ADVANCED PROGRAMMING D - T140-00129-IM01 - 10.Using variable #3000 ......................................... 10.1 Using variable #3000 for alarms definition in a program with or without skip block ...................................... 10.2 Part-counting and cycle stop with variables ............................................ 11.Bar feeder ................................................. 11.1 Programming of the one-bar feeder ........... 11.2 Programming with bar-feeder .................... 11.3 Programming with bar-feeder .................... 11.4 Programming with bar-feeder .................... 11.5 Programming with bar-feeder .................... 11.6 Programming with bar-feeder and spindle hunting cycle for an easy insertion of shaped bars ............................ 11.7 Programming with bar-feeder and automatic switch off at bar end .................. 11.8 Parametric programming for bar-feeder use ...................................... 12.Automatic tailstock with B axis ........................... 12.1 Workpiece support with rotating tailstock and B axis .................................... 12.2 Cycle G131 enabling ................................. 12.3 Piece support with turning tailstock without quill and B axis .............................. 12.4 Piece support with B axis, turning tailstock and quill ................................................. 12.5 Peck drilling cycle with swarf conveying (Optional) ................................. 12.6 Tool load monitoring (asse "B") inl cycle G183 ........................... 12.7 Drilling with B axis simultaneously with external turning without thrust check B axis using the cycle G83 ........................ D ADVANCED PROGRAMMING - 80 - page 103 page 103 page 104 page 105 page 106 page 107 page 108 page 109 page 110 page 111 page 112 page 113 page 115 page 116 page 119 page 121 page 122 page 124 page 126 page 129 - T140-00129-IM01 - 1. SUBPROGRAMS FUNCTIONS "M98 - M99" A program can be divided into main program and subprograms. Normally the CNC operates under the control of the main program when a command is encountered which calls a subprogram, control is passed to the subprogram. Then, when a returning command is encountered, control is held again by the main program. Faced, repetitive sequences can be loaded into memory as subprograms simplifying programming. A subprogram can be called from the main program. A subprogram can call another subprogram. A subprogram called only by the main program is considered as single level nesting. Up to four levels of nesting can be achieved, as shown in the figure below. Main program Subprogram Subprogram Subprogram Subprogram O0001 ; " " " " M98P1000 ; " " " " M30 ; O1000 ; " " " " M98P2000 ; " " " " M99 ; O2000 ; " " " " M98P3000 ; " " " " M99 ; O3000 ; " " " " M98P4000 ; " " " " M99 ; O4000 ; " " " " ( Level 1 ) ( Level 2 ) ( Level 3 ) ( Level 4 ) " " " " M99 ; 1.1 Subprogram configuration A subprogram is a common program ending with "M99" O ; Subprogram number ...................................................; M99 ............................................; End of program 1.2 Programs and subprograms protections It is possible to protect programs and subprograms, so that they cannot be modified or cancelled unintentionally by unauthorised people. Protection of programs from 8000 to 8999 parameter 3202 BIT 0=1 Protection of programs from 9000 to 9999 parameter 3202 BIT 4=1 - 81 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 1.3 Calling a subprogram A subprogram is performed when it is called by the main program or by another subprogram. To call a subprogram, use: M98P subprogram name number of repetitions (9999 max.) When a number of repetitions is omitted, 1 is assumed. EXAMPLE M98P51002 Subprogram number 1002, is called 5 times consecutively X100M98P1002 Subprogram number 1002, is called once only at the end of the axis movement MAIN PROGRAM O13 N10 ........... N20 ........... N30 ........... N40 M98P1010 N50 ........... N60 ........... N70 ........... 1.4 SUBPROGRAM O1010 N10 ........... N20 ........... N30 ........... N40 ........... N50 ........... N60 M99 Calling a subprogram specifying the number of the coming block "Q......" defines the coming block in the machining starting subprogram. MAIN PROGRAM O13 N10 ........... N20 ........... N30 ........... N40 M98P1010Q30 N50 ........... N60 ........... N70 ........... SUBPROGRAM O1010 N10 ........... N20 ........... N30 ........... N40 ........... N50 ........... N60 M99 NOTE a. When the subprogram number specified in P is not in memory, the alarm N 78 will occur. Subprograms cannot be called in MDI. To call a subprogram create the following program in EDIT mode and run it in automatic mode: O0; M98Pxxxx; M30; D ADVANCED PROGRAMMING - 82 - - T140-00129-IM01 - 1.5 Specifying the block number to return to the main program If in the last block of the sub-program a P is added to M99 followed by a block number, the control does not return straight to the calling block but to the block number with P in the main program. EXAMPLE MAIN PROGRAM N0010 …… N0020 …… N0030 M98P1010 N0040 …… N0050 …… N0060 …… SUBPROGRAM O1010 …… N1020 …… N1030 …… N1040 …… N1050 …… N1060 M99P0060 1.6 Using M99 in the main program If M99P… is included in the main program, control will skip to the block the sequence number of which is specified in P… , and the skip is considered as an unconditional branch. EXAMPLE O50 N10 …… N20 …… /M99P70 N40 N50 N60 N70 N80 N90 (used to optionally skip the section of a program see description of skip block) …… …… …… …… …… M30 If M99 is included in the main program, control returns to the beginning of the program itself. This rule is used in continuous automatic cycle processes (processing from bars or with a loader). EXAMPLE O13 N10 N20 N30 …… N800 N810 O13 N10 …… N20 …… N30 …… …… N800 /M30 N810 M99P30 …… …… …… /M30 M99 - 83 - (return to block N30) ADVANCED PROGRAMMING D - T140-00129-IM01 - EXAMPLE Repetition of a process or of a series of operations "N" times Cutting 4 grooves at fixed distances 10 10 10 10 Tool zero setting in "Z" MAIN PROGRAM N250 T4M8 (grooves L3) N260 G0X42Z0G97S800G95M4 N270 M98P41250 N280 G0X150Z100 N290 …… NOTE At the end of the 4th process ø 42 ø 40 ø 30 3 SUBPROGRAM O1250 N10 W-10 N20 G1X30F.1 N30 G4U.2 N40 G0X42 N50 M99 a. If the cycle stops during execution of a subprogram and RESET is performed, the cycle does not resume from the point of interruption - restart must be from block N250 in the main program. D ADVANCED PROGRAMMING - 84 - - T140-00129-IM01 - 1.7 Calling blocks in the main program FUNCTION "M98 Q...." It is possible to call a series of blocks within the main program only in case they are digited in the queue of the main program after function "M99" or "M30". To call a block, use: M98Q block number for starting repetition digited after M99 or M30 NOTA NOTE a. The series of blocks to repeat must absolutely end with function "M99". EXAMPLE ESEMPIO MAIN PROGRAM O100 N10 ........... N20 ........... N30 ........... N40 M98Q1500 (skip to block N1500 with return to block N50 after performing blocks from N1500 to N2000) N50 ........... N60 ........... N70 M98Q1500 N80 ........... .................... N1480 ......... N1490 M99 N1500 ......... N1510 ......... .................... N1990 ......... N2000 M99 (skip to block N1500 with return to block N80 after performing blocks from N1500 to N2000) MACHINING MACHINING BLOCKS (return to block following M98Q1500) - 85 - ADVANCED PROGRAMMING D - T140-00129-IM01 - Cutting a series of similar grooves on different diameters and distances 3 Tool zero setting in "Z" ø 42 ø 30 0 15 45 60 78 ø 40 1 x 45° ø 40 ø 50 1 x 45° 3 32 EXAMPLE O100 (external grooves machining) N10 G10L2P1Z..... (part origin) N20 T1M8G40 (external roughing) N30 G92S..... (spindle revs limitation) N40 N.... roughing program N190 N200 T2M8 (external finishing) N210 N.... finishing program N390 N400 T3M8 (groove cutting) N410 G96S180G95F0.08M4 N420 G0X42Z-15 (X position at +2mm compared to finished diameter) N430 M98Q1000 (calling of blocks 1st groove cutting) N440 G0Z-32 N450 M98Q1000 (calling of blocks 2nd groove cutting) N460 G0X52 (X position at +2mm compared to finished diameter) N470 Z-60 N480 M98Q1000 (calling of blocks 3rd groove cutting) N490 G0Z-78 N500 M98Q1000 (calling of blocks 4th groove cutting) N510 G0X200Z200M9 N520 M30 (end of program) N1000 G1U-12 (starting of the blocks to repeat programmed with incremental movements) N1010 G4U0.5 N1020 G0U12 N1030 W-2 N1040 G1U-4W2 N1050 G0U4 N1060 W2 N1070 G1U-4W-2 NOTE a. N1080 G0U4 NOTE b. N1090 M99 NOTE a. In this phase the tool must be in starting cycle position. b. Digit further blocks to repeat in M99 queue. D ADVANCED PROGRAMMING - 86 - - T140-00129-IM01 - 1.8 Calling and repeating blocks in the main program FUNCTION "M98 P.... Q...." It is possible to call and repeat a series of blocks within the main program only in case they are digited in the queue of the main program after function "M99" or "M30". Up to four levels of nesting can be achieved and they follow the same rules as subprograms described in chapter 1. In this case it is necessary to subdivide the blocks to repeat with function "M99" and to give them a correct number since they define the skip position. To call a block, use: M98P Q block number for starting repetition digited after M99 or M30 subprogram name (it must absolutely be ON) number of repetitions (max. 9999) NOTE a. The series of blocks to repeat must absolutely end with function "M99". - 87 - ADVANCED PROGRAMMING D - T140-00129-IM01 - Cutting 4 grooves at fixed distances with chamfer 10 10 Tool zero setting in "Z" 1 1 x 45° ø 30 3 10 O2000 N10 N20 N30 N40 N50 N60 N70 N80 N90 N100 N110 N120 N130 N140 N150 N160 N170 N180 N1000 N1010 N1020 N1030 N1040 N1050 N1060 N1070 N1080 N1090 N1090 NOTE 1 1 2 (equidistant external grooves) G10L2P1Z..... (part origin) T1M8G40 (external process) G92S1500 G96S200G95F0.25M4 G0X45Z0 G1X-1.6 G0X36Z1 G1A135X40 Z-45 G0X200Z100 T2M8 (grooves L3 and chamfer 1x45° process) G96S150G95F0.1M4 G0X42Z0 (X position at +2mm compared to finished diameter) M98P42000Q1000 G0X150Z100M9 M90 M1 M99 W-10 G1X30 G4U0.5 G0X42 W-2 G1X38W2 G0X42 W2 G1X38W-2 NOTE a. G0X42 NOTE b. M99 a. In this phase the tool must be at the groove beginning. b. Digit other blocks to repeat in M99 queue. D ø 42 10 ø 40 Example ADVANCED PROGRAMMING - 88 - ø42 ø40 ø38 - T140-00129-IM01 - CHANGING THE WORK COORDINATE SYSTEM FUNCTIONS "G54 - G59" TO DEFINE THE WORKPIECE ZERO POINT Z axis traverse value carried to No.00 (EXT) e.g.: Z-500.000 X axis traverse value carried to No.00 (EXT) e.g.: X-310.000 2. Z X Turret position on MACHINE ZERO POINT WORKPIECE ZERO POINT consequent to the value carried to Work shift No.00 (EXT) P.N. These values have been set by Biglia and must not be cancelled or modified. Work coordinate screen page WORK COORDINATES WORK COORDINATES NOTE a. Position No.00(EXT) defines the shift from machine zero point to the workpiece zero point set by BIGLIA; values in origins G54 - G59 are set by customer in relation to workpiece and clamping device (see example below). b. Origin G54 is enabled at switching on the machine or after pressing RESET. c. It is necessary to confirm origins G55÷G59 every time there is a tool change, otherwise possible collisions between part and tool may occur. - 89 - ADVANCED PROGRAMMING D - T140-00129-IM01 - Workpiece zero point set by BIGLIA Z200 “Z” value digited in G54 X Z axis workpiece zero point digited in G54 work coordinates Z 1 st operation 30 Z170 “Z” value digited in G55 X Z axis workpiece zero point digited in G55 work coordinates Z 2 nd operation Machining using No.2 workpiece origins: "G54 - G55" EXAMPLE N10 T1M8G40 (1st phase process) N20 G54 (values set in G54 are called) N30 G92S2000 N40 G0G96S180G95F0.35M4 N.... N.... } 1st phase program N.... N400 G0X200Z200M0 (rotate piece) N410 T1M8 (2nd phase process) N420 G55 (values set in G55 are called) N.... N.... } 2nd phase program N.... M30 NOTE a. For machine setting of the values of origins G54 and G55 see the OPERATING MANUAL section "D" chapter 7. D ADVANCED PROGRAMMING - 90 - - T140-00129-IM01 - 3. CHANGING WORK COORDINATES FUNCTION "G10" It is possible to set values in work coordinates G54÷G59 by digiting G10L2P1Z200 in an independent block. Therefore, by digiting - P1 - the value Z200 is set in work coordinates with reference to G54; for the other work coordinates digit - P2 - for G55 write - P2 - and so on to - P6 - for work coordinates G59. NOTE a. Never digit - P0 - as this would change the dimensions of work coordinates No. 00 (EXT) set by BIGLIA with the risk of possible collision. - 91 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 4. VARYING TOOL OFFSETS FUNCTION "G10" ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Tool offset values can be input from program through the following format: G10 oppure G10 P…X…Y…Z…R…Q…; ------ Absolute values P…U…V…W…C…Q…; ------ Incremental values P: 1..64: Offset number Wear offset P specifies offset number directly 10000 + ( 1..64 ): Geometry offset P specifies offset number plus 10000 X : Y : Z : U : V : W: R : C : Q : X axis offset value (absolute) Y axis offset value (absolute) Z axis offset value (absolute) X axis offset value (incremental) Y axis offset value (incremental) Z axis offset value (incremental) Tool tip radius compensation value (absolute) Tool tip radius compensation value (incremental) Imaginary tool tip number ○ ○ ○ ○ ○ ○ ○ ○ ○ EXAMPLE G10P10001X50Z10 G10P1U0.2W0.1 NOTE D Value X50 and Z10 will be digited in Geometry offset No. 1. Tool wear offset No. 1 will be increased by 0.2 mm in X and by 0.1 mm in Z. a. To activate the new value it is necessary to call the offset again, ex. : T10. ADVANCED PROGRAMMING - 92 - - T140-00129-IM01 - 5. LOCAL COORDINATES SETTING FUNCTION "G52" Using function "G52" it is possible to influence the system of work coordinates G54÷G59 from partprogram. This proves helpful when the six origins G54÷G59 are not enough. It is also used in repetitive operations in various points of the workpiece or as a subprogram, especially if parameterized. NOTE a. This command only works on the absolute mode and is ignored in the incremental mode. EXAMPLE Machine 3 pieces obtained from a bar with one feed only 30 MAIN O1 N10 N20 N30 N40 N50 N60 N70 N.... N.... N.... N120 N130 N140 N150 N160 N170 PROGRAM #100=30 (shift of G52) #101=0 (variable zeroing) G54 (call origin G54) G52Z0 (clear local coord.) G92S2000 T12M9G40 (bar stopper) G0G97S200M4 30 SUBPROGRAM O1000 N10 T1M8G40 (drilling) N.... N.... } piece machining program N.... N500 N510 #101=#101+#100 N520 G52Z-#101 N530 M99 } bar positioning program G0X200Z100 M98P31000 (call subprogram N1000 three times) G52Z0 (clear local coordinates) /M30 M90 M99 - 93 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 6. MACHINE COORDINATES SYSTEM SETTING FUNCTION "G53" When code "G53" is commanded there is a rapid positioning of the tool relative to the machine coordinates. This command only works in the absolute mode and is ignored in the incremental mode. It is useful to position the tool in the tool change point without collision. Such points must be taken from the screen page"machine location". Distance -B- Z axis Distance -A- Z axis Z X Tool position to machine zero point Tool position for turret rotation EXAMPLE Distance A = X-50 - Distance B = Z-150 digit G53X-50Z-150 in the program before tool change command. NOTE a. Coordinates X and Z can be parameterized, e.g.: G53X#100Z#101 b. For machines with Y axis a doppia slitta it is necessary to position first on G0Y0, otherwise there might be override problems or collisions between tool and part. D ADVANCED PROGRAMMING - 94 - - T140-00129-IM01 - 7. RAPID POSITIONING TO MACHINE ZERO POINT FUNCTION "G28" If "G28U0W0" is commanded in the same block, the tool positions in X and in Z simultaneously. When code "G28U0" is commanded and then "G28W0", is commanded in the next block, there is a rapid positioning of the tool first to the machine zero point in X and then to the machine zero point in Z. This programming is useful to prevent cutting tool colliding against sub-spindle during the piece picking phase prior to cutting. Z X Possible conditions: G28U0 = rapid positioning X-axis on machine zero point G28W0 = rapid positioning Z-axis on machine zero point G28V0 = rapid positioning Y-axis on machine zero point G28C0 = rapid positioning C-axis on machine zero point G28B0 = rapid positioning B-axis on machine zero point - 95 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 8. TAILSTOCK AND STEADY-REST FUNCTIONS "M21 - M26 - M27 - M33 - M34- M36 - M37 - M46 M47 - M50 - M51 - M56 - M57" The tailstock and the automatic steady-rest are not equipped by independent screws for their movement, but they use the axis Z slide for their positioning. Therefore, at the beginning it will be necessary to look for their position by function M21 M26 M27 M33 M34 M36 M37 M46 M47 M50 M51 M56 M57 M21. Automatic tailstock position manual search and steady-rest Sleeve tailstock forward with LS control Sleeve tailstock backward with LS control Steady-rest open (for all the machines equipped with Steady-rest) Steady-rest closed (for all the machines equipped with Steady-rest) Sleeve tailstock forward without limit switch control Sleeve tailstock backward without limit switch control Release tailstock from slideways and lock to axis Z slide for positioning Block tailstock on slideways Block automatic tailstock on slide (for B1000 only) Release automatic tailstock on slide (for B1000 only) Release steady-rest tailstock from guides and hook axis Z to shift Release steady-rest on slide 8.1 Using the tailstock in a fixed position Machining a shaft with the center already cut, locked in the self-centering chuck and supported by the tailstock on lathe model B1200 EXAMPLE O100 (main program) G92S1000 M47 (lock tailstock on guides) G4U0.5 M26 (tailstock quill forward) T1G40 G97S500M4 G0X....Z.... ...... ...... } piece machining ...... G0X200Z10M9M5 (withdrawal of the last tool) M27 (tailstock quill backward) M30 D ADVANCED PROGRAMMING - 96 - - T140-00129-IM01 - 8.2 Using the tailstock in a cycle and steady-rest Machining starts with tailstock in backward position and workpiece supported by the steady-rest, then the spot-center drilling and tailstock hooking and positioning are performed, followed by complete machining of the workpiece, and ends with tailstock in its backward position. EXAMPLE Backward position Z-100 and forward position Z-300 are considered. O10 (Main program) G28U0 (position X axis slide to machine zero point) M47 (lock tailstock on guides) M27 (tailstock quill backward) M34 (steady-rest closed) T1M8G40 (centering bore) G0G97S500G95F0.08M3 G0Z5 X0 G1Z-8 G0Z5 G28U0 T0100G40M5 (cancel tool offset and stop spindle) G0Z-100 (position to hook tailstock) M46 (unlock tailstock from guides) G4U0.5 st G1G94Z-110F500 (1 slow shift to avoid stripping) Z-300F3000 (work area forward position) M47 (lock tailstock on guides) G4U0.5 M26 (tailstock quill forward) G4U0.5 M33 (steady-rest open) T8G40M8 G0G96S....G95F0.3M4 ...... ...... } piece machining ...... G0Z10M5M9 G28U0 T0100G40M34 (call tool without offset and close steady-rest) G0Z-300M27 (position of slide to hook tailstock and withdraw quill) G4U0.5 M46 (unlock tailstock from guides) G4U0.5 G1G94Z-290F500 Z-100F3000 (tailstock position rest area) G95M47 (lock tailstock on guides) - 97 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 8.3 Using the tailstock with a face driver Machining a shaft locked between the face driver and the rotating tailstock. EXAMPLE O100 (main program) G92S1000 M47 (lock tailstock) M26 (confirm sleeve tailstock forward) T1G40 ...... ...... } piece machining ...... GOX200Z10M9 (end of cycle) M30 NOTE a. In this case the cursor of OPR referred to CHK-TS (chuck-tailstock) must be on ON (see OPERATING MANUAL section "F" chapter 1). 8.4 Steady-rest connected with tool feed Machining a long shaft where the steady-rest follows the turning tool with the same feed. EXAMPLE O1200 (SHAFT B11200) ...... T4M9G40 (EXTERNAL MACHINING) G97S400G94F1400M3M40 M33 (steady-rest opening) G0B400 (steady-rest positioning) G0Z-90 X52M34 (steady-rest closing) G1X50Z-93 ...... ...... } part machining with steady-rest in fixed position ...... GOX280Z2M33 (steady-rest opening) T8M9 (THREAD P2) G97S300M3 G0Z10B450 (steady-rest positioning at synchronism start) M116 (steady-rest synchronism movement with “Z” axis) X42M34 (steady-rest closing) M29 G76P011060Q350R0.02 G76X37.6Z-38P1200Q400F4 (thread machining by steady-rest with tool feed) G0X200 M117 (synchronism reset) M33 ...... D ADVANCED PROGRAMMING - 98 - - T140-00129-IM01 - 9. CUSTOM MACRO AND ARITHMETIC OPERATIONS 9.1 Custom macro Subprograms are used to repeat an operation several times, using functions and coordinates inside them which the operator already knows. Custom macro functions allow subprograms to be run where the following will be used: variables, arithmetic and logic operations and conditional branches. This makes it possible to develop general use programs, such as customized deep drilling cycles, special threading and web cycles, special automatic tool wear compensation cycles, as shown in the example below. Variables Four types of variables are available: #1 ÷ #33 #100 ÷ #149 Local variables Local variables can only be used within a macro and cannot be shared with other macros. At switch-on these variables have no value as they are volatile variables. Use RESET to restore original conditions. Common variables Common variables can be shared among more macros. At switch-on these variables have no value as they are volatile variables. Use RESET to restore original conditions. Common variables Like variables #100 ¸ #149, except that they are stable variables and retain their value even when the machine is switched off. System variables LSystem variables are used to read and digit various CNC data, such as tool and axis position, tool offset values, etc. (option. #199) #500 ÷ #531 (opzion. #999) #1000 ÷ ........ NOTE a. To read variables block by block set parameter 6000 bit 5=1 - 99 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 9.2 Arithmetic operations D No. EXPRESSION 1 #i = #j Definition, replacement 2 #i = #j + #k Addition 3 #i = #j – #k Subtraction 4 #i = #j 5 #i = #j / #k Division 6 #i = SQRT [#j] Square root 7 #i = SIN [#j] Sine 8 #i = COS [#j] Cosine 9 #i = TAN [#j] Tangent 10 #i = ATAN [#j]/[#k] Arctangent * #k ADVANCED PROGRAMMING FUNCTION Multiplication - 100 - - T140-00129-IM01 - EXAMPLE (1) Definition and replacement of variables #i = #j Example: #101 = 1005 #101 = #110 #101 = - #112 (2) Addition #i = #j + #k Example: #101 = #102 + #103 (3) Subtraction #i = #j – #k Example: #101 = #102 – #103 (4) Multiplication #i = #j * #k Example: #101 = #102 (5) * #103 or or #101 = SIN [30] or #101 = COS [30] or #101 = TAN [30] Tangent #i = TAN [#j] Example: #101 = TAN [#102] (10 ) #101 = SQRT [3] Cosine #i = COS [#j] Example: #101 = COS [#102] (9) or Sin #i = SIN [#j] Example: #101 = SIN [#102] (8) #101 = #102 / 360 Square root #i = SQRT [#j] Example: #101 = SQRT [#102] (7) #101 = #102 * 5 Division #i = #j / #k Example: #101 = #102 / #103 (6) or Arctangent #i = ATAN [#j] / [#k] Example: #101 = ATAN [#102] / [#103] - 101 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 9.3 Conditional and unconditional jump instructions No. EXPRESSION FUNCTION DEFINITION 1 GOTO.... Unconditional branch GOTO.... 2 IF [#j EQ #k] GOTO.... Conditional branch (equal to) IF #j = #k GOTO.... 3 IF [#j NE #k] GOTO.... Conditional branch (not equal to) IF #j <> #k GOTO.... 4 IF [#j GT #k] GOTO.... Conditional branch (greater than) IF #j > #k GOTO.... 5 IF [#j LT #k] GOTO.... Conditional branch (less than) 6 IF [#j GE #k] GOTO.... Conditional branch (greater than O or =)IF #j > #k GOTO.... 7 IF [#j LE #k] GOTO.... Conditional branch (less than O or =) IF #j < #k GOTO.... IF #j < #k GOTO.... EXAMPLE (1) Unconditional branch GOTO 1000 oppure GOTO #100 Example: GOTO 1000 (skip to block N1000) (2) Conditional branch equal to IF [#i EQ #j] GOTO ....... Example: IF [#101 EQ #102] GOTO 1000 if #101 = #102, skip to block N1000 if #101 <> #102, continue with the next block. (3) Conditional branch not equal to IF [#i NE #j] GOTO ....... Example: IF [#101 NE #102] GOTO 1000 if #101 <> #102, skip to block N1000 if #101 = #102, continue with the next block. (4) Conditional branch greater than IF [#i GT #j] GOTO ....... Example: IF [#101 GT #102] GOTO 1000 if #101 > #102,skip to block N1000 if #101 < #102, continue with the next block. (5) Conditional branch less than IF [#i LT #j] GOTO ....... Example: IF [#101 LT #102] GOTO 1000 if #101 < #102,skip to block N1000 if #101 > #102, continue with the next block. (6) Conditional branch greater than or equal to IF [#i GE #j] GOTO ....... Example: IF [#101 GE #102] GOTO 1000 if #101 > #102, skip to block N1000 if #101 < #102, continue with the next block. (7) Conditional branch less than or equal to IF [#i LE #j] GOTO ....... Example: IF [#101 LE #102] GOTO 1000 if #101 < #102, skip to block N1000 if #101 > #102, continue with the next block. D ADVANCED PROGRAMMING - 102 - - T140-00129-IM01 - 10. USING VARIABLE #3000 10.1 Using variable #3000 for alarms definition in a program with or without skip block When a value from 0 to 200 is given to variable #3000, CNC stops in alarm. If an alarm message (max. 26 characters) is digited after the value, CRT displays an alarm number by summing 3000 to variable #3000 value and the screen displays a red alarm message. NOTA NOTE a. If #3000=1 (WORN OUT TOOL) is digited in the program, the alarm screen page will display "3001 WORN OUT TOOL". EXAMPLE Using function "GOTO" for alarm definition with skip block N950 N960 #501=#501+1 IF[#501EQ#500]GOTO1000 (when the result of the verification is Yes, the program jumps to block 1000 and stops in alarm condition with message "3001 PROCESSED PARTS") N970 M90 N980 M01 N990 M99 N1000 #3000=1 (PROCESSED PARTS) EXAMPLE N950 N960 N970 N980 N990 NOTE Using function "THEN....." for alarm definition without skip block #501=#501+1 IF[#501EQ#500]THEN#3000=1 (PEZZI REALIZZATI) (when the result of the verification is Yes, the program stops in alarm condition with message "3001 PROCESSED PARTS") M90 M01 M99 a. Function "THEN" allows an immediate alarm without skip block, and sometimes it is easier to manage. b. To restart processing after alarm #3000 reset the machine and clear alarm conditions. - 103 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 10.2 Part-counting and cycle stop with variables EXAMPLE N10 #500=100 N20 IF[#501GE#500]GOTO1000 N30 T1M8G4 ...... ...... PIECE MACHINING ...... N950 N960 G0X200Z200 N970 #501=#501+1 N980 IF[#501GE#500]GOTO1000 N990 M99 oppure M99P30 N1000 M0 (Pezzi realizzati) N1010 #501=0 (N° of pieces to process. It is recommended this block to cancel and set the value directly in variable #500) (by this variant machining cannot be restarted until piece-counting #501 is set to zero) (increment) (conditional skip) (return to block N10 or N30) (Zeroise variable #501. It is recommended to cancel this block and set the variable to zero manually) N1020 M30 NOTE a. For safety reasons set variable #501 to zero before machining starts. b. In case should be displayed and/or modified variable, see "OPERATING MANUAL" section "F" chapter 1. and press the key soft MACRO . D ADVANCED PROGRAMMING - 104 - - T140-00129-IM01 - 11. BAR FEEDER The lathe can be fitted with various kinds of bar feeder. For each type or operating mode there is a type of programming. Cutting tool T10 Piece locked ø38 4 40 Piece 44 NOTE a. Following are some programming examples being used in relation to the type of bar feeder, all referred to the figure shown above. - 105 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 11.1 Programming of the one-bar feeder EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 The cycle requires the machine to stop at bar end G10L2P1Z… M64 G28U0 G92S2500 T1G40M9(puntalino) G97S200M3 G0X0Z2 G1G94Z-40F2500 (shift origin as required) (select main spindle as required) (return to reference point in X) (spindle revs limitation) (spindle rotation) (bar stopper positioned near the piece) (controlled bar stopper feed, see bar length) N90 M24 (open collet) N100 G1Z0F1300 (conduct bar to workpiece zero point) N110 M29 (clear buffer) N120 IF[#1000EQ1]GOTO1000 (check end of bar signal, if OK skip to block 1000) N130 M25 (close collet) N140 G4U1 (dwell) N150 G0G95X200Z100 (bar stopper withdrawal) N160 ..................... ............................... (program blocks for workpiece machining) N890 ..................... N900 M90 (piece counter) N910 M01 (optional stop) N920 M99 (return to program start) N1000 G28U0 (return to reference point in X) N1010 M52 (end of bar) N1020 M30 D ADVANCED PROGRAMMING - 106 - - T140-00129-IM01 - 11.2 Programming with bar-feeder EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 The cycle loads the new bar with discharge of billet inside the machine without bar stopper and without billet cutting. G10L2P1Z… M64 G28U0 G92S2500 T1G40M9 (bar stopper) G97S200M3 G0X0Z2 G1G94Z-40F2500 (shift origin as required) (select main spindle as required) (return to reference point in X) (spindle revs limitation) (spindle rotation) (bar stopper positioned near the piece) (controlled bar stopper feed, see bar length) N90 M24 (open collet) N100 G1Z0F1300 (conduct bar to workpiece zero point) N110 M29 (clear buffer) N120 IF[#1000EQ1]GOTO1000 (check end of bar signal, if OK skip to block 1000) N130 M25 (close collet) N140 G4U1 (dwell) N150 G0G95X200Z100 (bar stopper withdrawal) N160 ..................... ............................... (program blocks for workpiece machining) N890 ..................... N900 M90 (piece counter) N910 M01 (optional stop) N920 M99 (return to program start) N1000 G28U0 (return to reference point in X) N1010 G0Z50 N1020 M51 (load new bar and discharge billet inside the new machine) N1030 M25 (close collet) N1040 G4U1 (dwell) N1050 M99 (return to program start) - 107 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 11.3 Programming with bar-feeder EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 The cycle features discharge of billet from rear side of main spindle and loading of the new bar against bar stopper without billet cutting. G10L2P1Z… M64 G28U0 G92S2500 T1G40M9 (bar stopper) G97S200M3 G0X0Z2 G1G94Z-40F2500 (shift origin as required) (select main spindle as required) (return to reference point in X) (spindle revs limitation) (spindle rotation) (bar stopper positioned near the piece) (controlled bar stopper feed, see bar length) N90 M24 (open collet) N100 G1Z0F1300 (conduct bar to workpiece zero point) N110 M29 (clear buffer) N120 IF[#1000EQ1]GOTO1000 (check end of bar signal, if OK skip to block 1000) N130 M25 (close collet) N140 G4U1 (dwell) N150 G0G95X200Z100 (bar stopper withdrawal) N160 ..................... ............................... (program blocks for workpiece machining) N890 ..................... N900 M90 (piece counter) N910 M01 (optional stop) N920 M99 (return to program start) N1000 G1Z-44F500 (controlled bar stopper feed to piece parting position) N1010 M51 (load new bar) N1020 M25 (close collet) N1030 G4U1 (dwell) N1040 G0X200Z100 (withdrawal of bar stopper) N1050 M99 (return to program start) D ADVANCED PROGRAMMING - 108 - - T140-00129-IM01 - 11.4 Programming with bar-feeder EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 The cycle features discharge of billet from rear side of main spindle and loading of the new bar against bar stopper with billet cutting. G10L2P1Z… M64 G28U0 G92S2500 T1G40M9 (bar stopper) G97S200M3 G0X0Z2 G1G94Z-40F2500 (shift origin as required) (select main spindle as required) (return to reference point in X) (spindle revs limitation) (spindle rotation) (bar stopper positioned near the piece) (controlled bar stopper feed, see bar length) N90 M24 (open collet) N100 G1Z0F1300 (conduct bar to workpiece zero point) N110 M29 (clear buffer) N120 IF[#1000EQ1]GOTO1000 (check end of bar signal, if OK skip to block 1000) N130 M25 (close collet) N140 G4U1 (dwell) N150 G0G95X200Z100 (bar stopper withdrawal) N160 ..................... ............................... (program blocks for workpiece machining) N890 ..................... N900 M90 (piece counter) N910 M01 (optional stop) N920 M99 (return to program start) N1000 G1Z-34F500 (controlled bar stopper feed to piece parting position) N1010 M51 (load new bar) N1020 M25 (close collet) N1030 G4U1 (dwell) N1040 G0X200Z100 (withdrawal of bar stopper) N1050 T10G40 (troncatore) N1060 G97S1000G95M4M8 (spindle revs. and coolant) N1070 G0X40Z-44 (position parting tool to parting start point) N1080 G1X0F0.08 (billet cutting) N1090 G0X100 (parting tool withdrawal) N1100 X200Z100 N1110 M01 (optional stop) N1120 M99 (return to program start) - 109 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 11.5 Programming with bar-feeder EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 The cycle loads the new bar without bar-stopper, with billet cutting (discharge of billet, if required). G10L2P1Z… M64 G28U0 G92S2500 T1G40M9 (bar stopper) G97S200M3 G0X0Z2 G1G94Z-40F2500 (shift origin as required) (select main spindle as required) (return to reference point in X) (spindle revs limitation) (spindle rotation) (bar stopper positioned near the piece) (controlled bar stopper feed, see bar length) N90 M24 (open collet) N100 G1Z0F1300 (conduct bar to workpiece zero point) N110 M29 (clear buffer) N120 IF[#1000EQ1]GOTO1000 (check end of bar signal, if OK skip to block 1000) N130 M25 (close collet) N140 G4U1 (dwell) N150 G0G95X200Z100 (bar stopper withdrawal) N160 ..................... ............................... (program blocks for workpiece machining) N890 ..................... N900 M90 (piece counter) N910 M01 (optional stop) N920 M99 (return to program start) N1000 G0X200Z100 (withdrawal of bar stopper) N1010 T10G40 (parting tool) N1020 G0X42Z-44 (position parting tool to parting start point) N1030 M51 (wait for loading of new bar and discharge of billet if required) N1040 M25 (close collet) N1050 G4U1 (dwell) N1060 G97S1200G95M4M8 (spindle revs. and coolant for billet cutting operation) N1070 G1X0F0.08 (billet cutting) N1080 G0X100 (parting tool withdrawal) N1090 X200Z100 N1100 M01 (optional stop) N1110 M99 (return to program start) D ADVANCED PROGRAMMING - 110 - - T140-00129-IM01 - 11.6 Programming with bar-feeder and spindle hunting cycle for an easy insertion of shaped bars EXAMPLE The cycle discharges the billet before the spindle and loads the new bar with alternate reversal of the spindle for an easier insertion of shaped bars without bar stopper. N90 G10L2P1Z151.231 (set piece origin) N100 M64 (select main spindle) N110 G53X-40Z-100 (bar stopper positioned near the piece) N120 G92S2500 (spindle revs limitation) N130 T1G40M9 (bar stopper) N140 G97S200M3 (spindle rotation) N150 G0X0Z2 (bar stopper positioned near the piece) N160 G1G94Z-40F2500 (controlled bar stopper feed) N170 M24 (open collet) N180 G1Z0.5F1300 N190 M29 N200 IF[#1000EQ1]GOTO1000 (check end of the bar signal) N210 M25 (close collet) N220 G4U1 (dwell) N230 G0G95X200Z100 N240 ............................... (program blocks for workpiece machining) ............................... N900 M90 (piece counter) N910 M01 (optional stop) N920 M99 (return to program start) N1000 G53X-40Z-100 (turret withdrawal for frontal billet discharge) N1010 G97S20M4 N1020 G4U0.5 N1030 M3 N1040 G4U0.5 N1050 IF[#1001EQ0]GOTO1010(check bar load signal, if NO skip to block N1010) N1060 M25 (close collet) N1070 G4U1 (dwell) N1080 M99 (return to program start) NOTE a. This program works if parameter #1001 is not impulsive but held for at least 3 sec., or in any case for not less than the cycle time from block N1010 to block N1040. b. The bar-feeder must change the bar as soon as it gets the end of bar signal, without waiting for M51 consent. - 111 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 11.7 Programming with bar-feeder and automatic switch off at bar end EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 The cycle loads the new bar without bar stopper and without billet cutting. G10L2P1Z… M64 G28U0 G92S2500 T1G40M9 (bar stopper) G97S200M3 G0X0Z2 G1G94Z-40F2500 (shift origin as required) (select main spindle as required) (return to reference point in X) (spindle revs limitation) (spindle rotation) (bar stopper positioned near the piece) (controlled bar stopper feed, see bar length) N90 M24 (open collet) N100 G1Z0F1300 (conduct bar to workpiece zero point) N110 M29 (clear buffer) N120 /IF[#1000EQ1]GOTO1000 (check end of bar signal, if OK skip to block 1000 -See note for skip blocks-) N130 IF[#1000EQ1]GOTO2000 (check end of bar signal, if OK skip to block 2000 in alarm state, after a preset time the machine automatically switches off totally or partially, see automatic switch off option) N140 M25 (close collet) N150 G4U1 (dwell) N160 G0G95X200Z100 (bar stopper withdrawal) N170 ..................... ............................... } (program blocks for workpiece machining) N890 ..................... N900 M90 (piece counter) N910 M01 (optional stop) N920 M99 (return to program start) N1000 G28U0 (return to reference point in X) N1010 M51 (load of new bar) N1020 M25 (close collet) N1030 G4U1 (dwell) N1040 M99 (return to program start) N2000 #3000=1 (end of barre) N2010 M30 NOTE a. To enable automatic switching off, see the "OPERATING MANUAL" section"F" page 98. D ADVANCED PROGRAMMING - 112 - - T140-00129-IM01 - 11.8 Parametric programming for bar feeder use EXAMPLE The cycle features discharge of billet from rear side of main spindle and loading of the new bar against bar stopper with billet cutting MAIN PROGRAM N10 G10L2P1Z… (shift origin as required) N20 M64 (select main spindle as required) N30 G92S2500 (spindle revs limitation) * N40 G65P9010T1Z40F2500S200M4 where : G65P9010 = call subprogram O9010 for bar positioT1 Z40 F2500 S200 M4 = = = = = ning (see following page) toll No. for bar positioning length of finished workpiece bar stopper feed rate in mm/min. spindle speed spindle rotation direction * N60 G65P9011T10X38Z40S1200F0.08M4H4 where : G65P9011 = call subprogram O9011 for billet cutting T10 X38 Z40 S1200 F0,08 M4 H4 = = = = = = = (see following page) toll No. for billet cutting bar diameter length of finished workpiece spindle speed for billet cutting feed rate in mm/rev. for billet cutting spindle rotation direction width of parting tool * N70 T…M8G40 N80 G0G96S…G95F…M4 ............................... (program blocks for workpiece machining) N890 ..................... N900 G0X200Z200M9 N910 M90 N920 M1 N930 M99 NOTE a. The numbering of blocks N40-N60-N70 in the main program and bloc N150 in the subprogram O9010, cannot be changed since they are used as skip bloc during processing. - 113 - ADVANCED PROGRAMMING D - T140-00129-IM01 - EXAMPLE BAR STOPPER SUBPROGRAM O9010 N10 G28U0 (return to reference point in X) N20 T#20M9G40 (call bar stopper) N30 G97S#19M#13 (spindle rotation) N40 G0X0Z2 (bar stopper positioned near the workpiece) N50 G1G94Z-#26F#9 (bar stopper feed, -see piece length-) N60 M24 (open collet) N70 G1Z0F[#9–1000] (conduct bar stopper to Z0) N80 M29 N90 IF[#1000EQ1]GOTO150 (check end of bar with conditional block skip) N100 M25 (close collet) N110 G4U1 (dwell 1 sec.) N120 G0G95W50 (50 mm backward in Z - indicative value) N130 G28U0 (return to reference point in X) * N140 M99P70 (return to block N°70 in the main program) N150 G1Z-[#26-5] (pos. bar stopper 5 mm backward for billet cutting) N160 M51 (wait for new bar loading) N170 M25 (close collet) N180 G4U1 N190 G0G95W50 (50 mm backward in Z - indicative value) N200 G28U0 (return to reference point in X) * N210 M99P60 (return to block N60 in the main program and call parting tool) BILLET CUTTING SUBPROGRAM O9011 N10 G28U0 (return to reference point in X) N20 T#20G40M8 (call parting tool) N30 G97S#19G95F#9M#13(spindle rotation and feed setting) N40 G0X[#24+2]Z-[#26+#11](rapid positioning to cutting start point) N50 G1X-1 (workpiece parting) N60 G28U0 (return to reference point in X) N70 G0Z100 (100 mm backward in Z - indicative value) * N80 M99P40 (return to block N40 in the main program) D ADVANCED PROGRAMMING - 114 - - T140-00129-IM01 - 12. AUTOMATIC TAILSTOCK WITH B AXIS Tailstock with B axis is used to support the workpiece after the center spot has been drilled or to drill simultaneously with external turning. Code Function M7 High pressure coolant B axis - ON To have high pressure on B axis it is necessary to modify KEEPRL K4/7=1, so that the two pumps M8 and M7 can run simultaneously; through manual valve divert high pressure coolant flow to the tailstock M42 M43 M44 M45 Call B axis program recorded from G101 to G100; for two-axis lathes Call B axis program recorded from G102 to G100; for two-axis lathes Call B axis program recorded from G103 to G100; for two-axis lathes End of B axis program, for two-axis lathes M55 M56 Call B axis program recorded from G101 to G100; for four-axis lathes End of B axis program, for four-axis lathes M78 M79 Enables control of B axis load Disables control of B axis load M115 Limiting thrust on B axis (see #1133) G80 G83 Disables cycle G83 Deep drilling cycle with decreasing swarf discharge G101 G102 G103 G100 Recording 1st program B axis Recording 2nd program B axis Recording 3rd program B axis End of B axis program recording G101-G102-G103 G131 G183 Call cycle for workpiece support with tailstock (B-axis) Call deep drilling cycle with decreasing swarf discharge (B-axis) #1133=... Recording in channel No. 1 Variable where the value of B-axis is written; it can vary between 0÷250. This value defines the motor torque limit and must be assigned before calling M78 and M115 (it is recommended not to exceed 150) (set this value only from channel No.1) - 115 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 12.1 Workpiece support with rotating tailstock and B axis FUNCTION "G131 B.... D.... J.... F...." When the length of the piece to be machined is three times the diameter, a centering bore has to be drilled to avoid vibrations, and a tailstock should be used. To avoid possible interference between piece and tailstock it is useful to use automatic B axis type. This function allows to set B axis thrust and check its position before and during work cycle and it stops machining in case of: ˆ Short piece ˆ Long piece (e.g. short or absent centering bore / blocked tailstock) ˆ Piece shift during machining This function allows also a stiffer process as the tailstock quill does not come out. It can also be applied to lathes with counter-spindle using an ejector instead of a tailstock, or to machines equipped with a flange for drill or rotating tailstock mounting. P1 B-90 P3 P2 B-106 B-100 P4 B-110 D-1 P1 = Starting point cycle G131 (10÷15 mm before the piece) P2 = Contact point of the tailstock with the piece (see #530) P3 = (P2+D) Max. point of the tailstock on the piece. If this point is exceeded the alarm AXIS MIS POSITIONING is signalled (see on the next pages) P4 = Final point of B axis in piece absence to be set in G131. This value (P4+D) defines B axis max. position and in piece absence it signals alarm ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ AXIS B MIS POSITIONING. D Block format B.... : B axis distance point P4. D.... : Max. piece shift during machining (from -0,001 to -2 mm). J.... : Thrust limitation for B axis tailstock to support the piece (see table on the next page). F.... : B axis feed in cycle G131 expressed in mm/min. ADVANCED PROGRAMMING - 116 - - T140-00129-IM01 - Table of J indicative values as a function of the motor and the screw pitch of B-axis ○○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ (values to optimise in cycle "G131"). Value of 6 Nm Motor Screw pitch 6 mm 12 Nm Motor Screw pitch 12 mm J Power KgF Power KgF J=20 30% 60 30% 135 J=40 60% 125 60% 310 J=60 100% 220 80% 420 J=80 135% 280 100% 570 J=100 180% 370 135% 750 ○ ○ ○ ○ ○ ○ ○ ○ ○ NOTE a. Do not modify nor use these variables inside part program: #148 Reserved. #530 Tailstock contact position as noted in self-learning. #531 Max permitted position (it is equal to #530 value + the value sent with “D”). b. Before using G131 check the following parameter: 1826/B=2000. c. P1 must always be at least 10 ÷ 15 mm less than P2 (e.g. P1=-90 P2=-106 difference 16 mm) , in order to have an exact and repetitive contact point of the tailstock relative to the piece. d. Always program B-axis with absolute values relative to machine offset. e. G131 cycle is disabled through function "M79" or from reset. f. In case the tailstock does not reach the piece, B axis stops in alarm at B + D distance. Warning a. Cycle G131 must be enabled following the procedure described at paragraph 12.2 section "D" (see page 130). b. If it is not enabled, no check on tailstock position is performed, B axis does not remain under thrust and alarms are not generated. - 117 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 12.1.1Using tailstock to workpiece support Machine zero point B-axis EXAMPLE # 500 (E.g. B-195) Max. dimension # 502 (E.g. B-200) Sample dimension # 501 (E.g. B-205) Min. dimension O100 (with system to * N10 #500=-195 * N20 #501=-205 * N30 #502=-200 N40 G0Y0 N50 G53X-20 N60 G0B-185G94 * * * * * * check piece length) (max. dimension) (min. dimension) (sample dimension) (for Y axis machines only) (rapid positioning at 20 mm from X override) (rapid positioning outside the piece, in any case at not less than 10 mm from sample position) N70 G131B-#501D-1J50F400 (calling the piece support cycle) N80 IF[#530GE#500]THEN#3000=1 (LONG PIECE OR B AXIS BLOCKED) N90 IF[#530GE#501]THEN#3000=2 (SHORT PIECE) ........................... ........................... (part program) ........................... N300 G94 (mm/min feed) N310 G1B#530F300 (return to initial contact point of tailstock compulsory block to be written before M79 and G28B0) N320 M79 (disable torque limit) N330 G28B0 (tailstock positioning at B0) Warning a. Blocks marked by * are compulsory for a correct working of cycle "G131". b. Enable "G131" by the procedure described at paragraph 12.2 section D. D ADVANCED PROGRAMMING - 118 - - T140-00129-IM01 - 12.2 Cycle G131 enabling PROCEDURE 1. Press key "MDI". 2. Press key 3. Optional screen page "BIGLIA" appears, press soft key 4. A new screen page appears "B-AXIS CHECK" showing a spindle and a sub-spindle and, at MDI CUSTOM "CUSTOM". AXIS B . the bottom of the page, a number of soft keys. POS. C Press soft key POS. C B. OFF EXIT LIM. C A. SET to enable position check during workpiece support; the following message comes on display, in red: POSITION CHECK, and a sketch of the tailstock appears on the drawing. P.N.: The effective power absorption of B axis motor can be displayed, while working, under: "AXIS CURRENT ABSORPTION". The value appears in three colours: GREEN : ideal working conditions YELLOW : 100% motor absorption RED : 130% motor absorption B-axis (P.N.: this condition can be maintained only for short periods). NOTE a. The use of the motor in the red area for too long causes a system alarm. If the key RESET "RESET" is pressed when tailstock is supporting the workpiece, B-axis returns to maximum thrust (nominal torque) in an attempt to go back to maximum admitted position (#531). This could cause inconveniences (workpiece movement, system alarms) to avoid which just manually move tailstock away from workpiece by 2 ÷ 3 mm before pressing key RESET "RESET". - 119 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 12.2.1 Cycle G131 disabling PROCEDURE 1. Repeat points - 1. - 2. - 3. of the previous paragraph. 2. Press soft key B. OFF to disable position control during workpiece support, B-axis. The word "OFF" appears on display in red and the red-coloured tailstock disappears from the tailstock sketch. 4. D Press soft key EXIT to return to the initial page "BIGLIA". ADVANCED PROGRAMMING - 120 - - T140-00129-IM01 - 12.3 Piece support with turning tailstock without quill and B axis NOTE P1 B-90 P5 B-104 P2 B-106 "G31 P98" P4 B-110 FUNCTION a. B axis position is automatically digited in #5065 when the tailstock reaches the piece. b. Check B axis absorption in the operator panel in "MONI" position. c. Check table on page 117 and notes on page 118 for the value to set on #1133 as a function of the motor and of the screw of B axis. d. P1 and P2 positions: see the description of cycle G131. e. P2 position: theoretical point of tailstock with complying centering bore. f. P4 position: final B axis point in piece absence (value digited within G131). g. P5 position: point used to check centering bore compliance and B axis tolerance position. EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 N90 N95 N100 N110 N120 N130 N140 N150 N160 N170 N180 N190 G0X150Z2 (rapid positioning B axis) B-90G94 #1133=50 (thrust limit B axis) M115 (it defines torque limit on B axis) M72 (torque limit B axis ON) G1G31P98B-110F300 (call piece support cycle) G1B[#5065-2] G4U0.5 M29 IF[#5065GE-104]THEN#3000=1 (LONG PIECE OR B AXIS BLOCKED) IF[#5065LE-110]THEN#3000=2 (SHORT PIECE) G97S500M4 (piece process blocks) (end of process) G0X150 M5 G1G94F500B[#5065+1] (1 mm backward tailstock ) M79 (torque limit B-axis OFF) G28B0 (sub-spindle return to 0 position) - 121 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 12.4 Piece support with B axis, turning tailstock and quill NOTE P1 B-200 P2 B-250 P5 B-245 "G31 P98" P4 B-255 FUNCTION a. B axis position is automatically digited in #5064 and #5065 when the tailstock reaches the piece during cycle G31. b. Check B axis absorption in the operator panel in "MONI" position. c. Check table on page 117 and notes on page 118 for the value to set on #1133 as a function of the motor and of the screw of B axis. d. Position P1 defined with the quill withdrawn must allow the piece support by the tailstock quill traverse during the part loading phase (see block N30). e. Position P2: theoretical point of tailstock with complying centering bore. f. Position P4: final B axis point without piece (the greater value of P2 must be written in cycle G31). g. Position P5: the point used to check the centre conformity prevents from processing with small centering bore, moreover it intervenes when the tailstock is blocked since the #1133 value is too low (see block N110). EXAMPLE N10 N20 N30 N40 N50 N60 N70 N80 N90 D (tailstock quill withdrawal with end-of-stroke check) (rapid positioning B axis with withdrawn quill) (piece loading) - P.N.: B-200 position must allow the piece support by the tailstock quill intervention #1133=50 (thrust limit B axis - indicative value) M115 (it defines torque limit on B axis) M72 (torque limit B axis ON) G1G31P98B-255F400 (calling the piece support cycle, in this phase the tailstock quill must return, therefore the thrust pressure must be adjusted at 5 bar) - P.N.: excessive pressures may create operation problems G1B[#5065-1] G4U0.5 M27 G0G94B-200 M0 ADVANCED PROGRAMMING - 122 - - T140-00129-IM01 - N100 N110 N120 N130 N...... N...... N...... N250 N260 N270 N280 N290 M29 IF[#5065GE-245]THEN#3000=1 (LONG PIECE OR B AXIS BLOCKED) IF[#5065LE-255]THEN#3000=2 (SHORT PIECE) G97S500M4/M3 (piece process blocks) (end of process) G0X150 M5 G4U1 (torque limit B-axis OFF) M79 M36G1G94F600B-200 (tailstock withdrawn, see block N20, in this phase the tailstock quill intervenes to support the piece) N300 M1 N310 M30 - 123 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 12.5 Peck drilling cycle with swarf conveying (Optional) FUNCTION "G183 B.... C.... D.... I.... K.... A.... F...." This function generates, through the use of the variables from #100 to #147, a deep peck drilling parametric with swarf conveying, (18 ejections max.), which can be carried out at the same time as the external machining. It is also possible to link, for B axis, the axis load control using the two threshold: tool wear threshold 2nd tool breakage threshold ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 1st Blocks format B.... : B-axis value ejection point (absolute values referred to axis zero point). C.... : B-axis value drilling start point (absolute values referred to axis zero point). D.... : depth of first drilling length (incremental value). I.... : B-axis value drilling end point (absolute values referred to axis zero point). K.... : coefficient of reduction of "D" value (lower value at 1). A.... : value of minimum cut depth. F.... : Feed rate as a function of "G94" F mm/min or "G95" F mm/rev. In the next block G183 must be selected and one of the two sub-programs defining the type of feed rate in drilling. M98P8094 (selects drilling sub-program "G101" with feed rate in "G94" F mm/min.). M98P8095 (selects drilling sub-program "G101" with feed rate in "G95" F mm/rev.). ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 3rd cut 2nd cut 1st cut 4th cut Minimum value A10 D 20 EXAMPLE Zero workpiece Calculation of the cutting depth reduction with reduction cutting coefficient = 0.8(K) 1st cut = 20 2nd cut = 20 x 0.8 = 16 3rd cut = 16 x 0.8 = 12.8 4th cut = 12.8 x 0.8 = 10.24 D ADVANCED PROGRAMMING B-100 (B) B-90 (C) B-148 (I) B-250 5th cut = 10 Minimum value Last section (random length) - 124 - the next passes will be 10mm depth, except the last pass. - T140-00129-IM01 - ESEMPIO O110 N10 N20 N30 (drilling simultaneous with B-axis turning) G28B0 (B-axis positioning on machine offset) G0Y0 (for Y-axis machines only) G53X-20 (rapid positioning at 20 mm from X limit switch) F0.1 (linked to P8095 of block N50) N40 G183B-90C-148I-250D20K0.8A10 F300 (linked to P8094 of block N50) P8095 (selects drilling program with mm/rev. feed rate) N50 M98 P8094 (selects drilling program with mm/min. feed rate) N60 G10L2P1Z... (piece origin) N70 T1M8G40 (external roughing simultaneous with drilling) N80 G92S2000 (spindle revs limitation) N90 G0G97S1000G95F0.3M4 (technological block fixed revs machining) - P.N.: using M4 the tip must be left-handed N100 M7 (pressure pump on B-axis tip) N110 M42 (selects B-axis drilling program) - P.N.: for multiple-axis models with 2 turrets, write M55 N120 ........... ....................... (external machining program simultaneous with B-axis drilling) N250 ........... N260 M45 (B-axis end of program check) - P.N.: for multiple-axis models with 2 turrets, write M56 N270 M9 (stops pumps M8 and M7) - P.N.: this block is compulsory if a B-axis shift has to be programmed immediately after M45 (B-axis end of program) N280 M8 (confirm M8 for coolant on turret) N290 G28B0 (B-axis positioning on machine offset) - P.N.: after a M45 command programming of a B-axis movement is not allowed unless other operations have been made, and namely: X and Z axes movements or "M" functionsN300 G0X72Z0.2 (piece facing after drilling) N310 G1X18 N320 G0X200Z100 N330 T3M8G40 (internal roughing) N... ................ N... ................ N1800 /M30 N1810 M90 N1820 M99P60 (jumps to block N60 and G183 drilling program needs no longer being worked out anew. This cycle will have to be worked out anew only if values inside cycle G183 are changed) NOTE a. The use of variables #100 and #147 in the same program is possible only after the block containing selection of sub-programs P8094 or P8095, i.e. after block 60, has been read. b. In the case of a M99P... or of a G0T0... blocks G183B... and M98P... will have to be both read or boht skippeds. - 125 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 12.6 Tool load monitoring (B axis) in cycle G183 PROCEDURE 1. Program the cycle according to the requested machining and execute it at first with reduced speed without workpiece. Adjust possible program errors and then try to process the workpiece with reduced speed. 2. Perform workpiece machining at 100% capacity both in terms of revs and feed If everything is correct, go on with point - 3., otherwise perform the necessary modifications. 3. Press key "MDI". 4. Press key 5. Optional screen "BIGLIA" appears, press soft key 6. A new screen page appears "B-AXIS CHECK" showing a spindle and a sub-spindle and, at the MDI CUSTOM "CUSTOM". AXIS B . bottom of the page, a number of soft-keys. POS. C B. OFF EXIT LIM. C A. SET Press soft key A. SET (AUTO SET) to define in self-learning the work load during drilling B axis. P.N.: A red drill appears on the sub-spindle. 7. Select "AUTO" by pressing 8. Perform the workpiece machining at 100% for all the axis, in this way two work load limits will AUTO . be created automatically by C.N. as a function of the performed machining. 9. Repeat points - 3. - 4. - 5. - 6. . Again and press key 10. Press soft key 11. Press AUTO MDI "MDI". LIM. C (POWER CONTROL) to enable B axis load check. "AUTO" again to perform the machining with automatic cycle with B axis load check. NOTE D If point - 10. is skipped, the machining takes place without B axis load control. ADVANCED PROGRAMMING - 126 - - T140-00129-IM01 - 12.6.1 Considerations on cycle G183 1. Cycle G183 generates 2 sub-programs O8094 and O8095, as a function of feed rate "G94" and "G95". 2. Inside the sub-programs O8094 and O8095 there is a code "G101" (start of recording of B-axis program). Inside the a.m. sub-programs there are all the codes required to monitor B-axis load. 3. Monitoring of B-axis load has two thresholds, which stop the machine. Example: 1st threshold with worn tool: In this case the tool stops at the end of the cycle in the presence of M90 or M30. 2nd threshold with broken tool: In this case the cycle stops immediately. These two limits are automatically calculated by the N.C.; using the self-learning cycle (A. SET) the values can be optimised based on experience. 12.6.2 Cycle G183 disabling PROCEDURE 1. Repeat points - 3. - 4. - 5. - 6. above. 2. Press soft key B. OFF to disable load check on B-axis. The word "OFF" appears on display in red and the red-coloured drilling tip disappears from the sub-spindle sketch. 3. Press soft key EXIT to return to the initial page “BIGLIA”. - 127 - ADVANCED PROGRAMMING D - T140-00129-IM01 - 12.6.3 Modifying the parameters taken in slef-learning PROCEDURE 1. Repeat points - 3. - 4. - 5. - 6. above. 2. Use cursor arrows , to move to the desired limits "LIMIT 1" and "LIMIT2" or "TIMER 1 - 2". P.N.: Timer determines the frequency of C.N.C. checks of the two limits and can range between 200÷600. It is normally set between 300÷400. 3. Press key NOTE AUTO "AUTO" and try again. A way to know the effective absorption value of B axis motor is to read it during machining on the page "B-AXIS CHECK" described above, repeating points - 3. - 4. - 5. - 6. under "AXIS CURRENT ABSORPTION". In case of alarm on the same page, under "EXCEEDED LIMIT", the maximum absorption value can be read and used to modify pre-set values. D ADVANCED PROGRAMMING - 128 - - T140-00129-IM01 - 12.7 Drilling with B axis simultaneously with external turning without thrust check B axis using the cycle G83 R3 Sm 3 x 45° ø70 ø60 ø50 ø40 ø30 ø20 Sm 2 x 45° B-210 NOTE 0 15 35 55 80 110 100 130 0 2 B-98 a. Turning must be performed in G97 (constant spindle speed) as it is simultaneous with drilling with B axis. The example uses a fixed cycle G83 with swarf discharge every 10 mm of drilling. The cycle so defined only applies to the B axis written between G101-G100, which means that if said cycle is defined outside G101-G100 workpiece and tool could collide. b. The cycle only works if parameter 8022 "X axis" has a value of 6000. c. Dimensions of B axis must be defined in the absolute mode relative to the MACHINE ZERO POINT. Warning Do not write G28B0 in G101 and G100 EXAMPLE O100 N10 G101 N20 G0B-98G95F0.15 N30 G83B-210R-98Q10 (enable storing in memory of program B axis) (rapid positioning to start point and feed setting mm/rev di 0,15) Where : G83 = drilling cycle with swarf discharge B-210 R-98 = = Q10 = bore depth absolute dimension swarf ejection position in B-98 absolute dimensions and mahcining start value in mm, it defines the length at each ejection (incremental value in mm) (G80 cancels fixed cycle and positions on machine zero point B axis) N50 G100 (end of storing of program B axis) N60 G28B0 (rapid positioning on machine zero point B axis) N70 T1M8G40 (external roughing with simultaneous drilling) N80 G92S1200 N90 G0G97S1200G95F0.35M3 (canned cycles machining - verification of the helical tip) N100 M42 (M55) (calls program B axis from G101 to G100, write M55 for four-axis machines) N110 G0X72Z6M7 (high pressure B axis) N120 G71U3R1 N40 G0G80B0 - 129 - ADVANCED PROGRAMMING D - T140-00129-IM01 - N130 * N140 N150 N160 N170 N180 N190 N200 N210 N220 N230 * N240 N250 N260 N270 N280 N290 N300 N310 N320 N330 N340 N350 N360 N370 N380 N390 NOTE G71P140Q240U1W0.1 G0X26 G1Z0 X30Z-2 Z-15 X40Z-35 Z-55 X50,C3 Z-80 X60R3 Z-100 X70Z-110 G0X33Z0.1 (start facing position) M45 (M56) (check end of program B axis from G101 to G100, processing continues with the following block in M45 only if said program has been completed, write M56 for four-axis machines). G1X17F0.2 (workpiece facing) G0X200Z100M9 (stop high pressure B axis and stop normal pump on turret) T2M8G40 (finishing) G0G96S200G95F0.2M3 X33Z0 G1X17 G0Z3 G42X72Z2 G70P140Q240 G0G40X200Z100M9 M90 (increment piece counter) M1 M99P60 a. For machines with four axis and two turrets, M42 and M45 must be replaced respectively by M55 and M56. D ADVANCED PROGRAMMING - 130 -