# Series 15i/150i - MA (Programming) Operators manual Page 548

Operators manual
14.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03
- 526 -
- Specification of parameters
The parameters used with this function are described below. Parameter
numbers are enclosed in brackets [ ].
Relationships between rotation axes and rotation planes [6080 to 6089]
These parameters set the relationships between rotation axes and
rotation planes. In general, the direction vector of a rotation axis has
components in three directions. This function, however, can perform
calculation on a rotation axis having a vector of components in any two
directions.
(1) For a component in a single direction ... type 1
(The rotation axis rotates about any of the three basic axes.)
Example:
Axis number of the rotation axis = 5 (C-axis)
Axis number of linear axis 1 = 1 (X-axis)
Axis number of linear axis 2 = 2 (Y-axis)
1) The rotation axis:
- Rotates about the axis orthogonal to the plane formed
by linear axes 1 and 2.
- Assumes that the rotation from the forward direction of
linear axis 1 to the forward direction of linear axis 2 is
the forward rotation of the rotation axis.
(2) For components in two directions ... type 2
(The rotation axis rotates about an axis on the plane formed by any
two of the three basic axes.)
Example:
Axis number of the rotation axis = 4 (B-axis)
Axis number of linear axis 1 = 1 (X-axis)
Axis number of linear axis 2 = 2 (Y-axis)
Axis number of linear axis 3 = 3 (Z-axis)
Angle = α
1) The linear axes 1, 2, and 3 are assumed to form a right-
handed system in that order.
2) The angle:
- Rotates on the plane formed by linear axes 3 and 1.
- Assumes that the rotation from the forward direction of
linear axis 3 to the forward direction of linear axis 1 is
the forward rotation of the angle.
- Assumed to be 0° when it matches the direction of
linear axis 3.
3) When the angle is equal to 0°, the rotation axis:
- Rotates about the axis orthogonal to the plane formed
by linear axes 1 and 2.
- Assumes that the rotation from the forward direction of
linear axis 1 to the forward direction of linear axis 2 is
the forward rotation of the rotation axis.
4) If 0 is set for linear axis 3, type 1 is assumed.
Y
X
Z
C
α
Y
X
Z
C
B

#### Contents Summary of Series 15i/150i - MA (Programming) Operators manual

• Page 1GE Fanuc Automation Europe Computer Numerical Controls Series 15i / 150i -MA Operator’s Manual (Programming) B-633324EN/03 TECHNOLOGY AND MORE
• Page 2
• Page 3B-63324EN/03 SAFETY PRECAUTIONS SAFETY PRECAUTIONS This section describes the safety precautions related to the use of CNC units. It is essential that these precautions be observed by users to ensure the safe operation of machines equipped with a CNC unit (all descriptions in this section assume thi
• Page 4SAFETY PRECAUTIONS B-63324EN/03 DEFINITION OF WARNING, CAUTION, AND NOTE This manual includes safety precautions for protecting the user and preventing damage to the machine. Precautions are classified into Warning and Caution according to their bearing on safety. Also, supplementary information is
• Page 5B-63324EN/03 SAFETY PRECAUTIONS GENERAL WARNINGS AND CAUTIONS WARNING 1. Never attempt to machine a workpiece without first checking the operation of the machine. Before starting a production run, ensure that the machine is operating correctly by performing a trial run using, for example, the single
• Page 6SAFETY PRECAUTIONS B-63324EN/03 WARNING 8. Some functions may have been implemented at the request of the machine-tool builder. When using such functions, refer to the manual supplied by the machine-tool builder for details of their use and any related cautions. NOTE Programs, parameters, and macro
• Page 7B-63324EN/03 SAFETY PRECAUTIONS WARNINGS AND CAUTIONS RELATED TO PROGRAMMING This section covers the major safety precautions related to programming. Before attempting to perform programming, read the supplied operator’s manual and programming manual carefully such that you are fully familiar with t
• Page 8SAFETY PRECAUTIONS B-63324EN/03 WARNING 6.Stroke check After switching on the power, perform a manual reference position return as required. Stroke check is not possible before manual reference position return is performed. Note that when stroke check is disabled, an alarm is not issued even if a st
• Page 9B-63324EN/03 SAFETY PRECAUTIONS WARNINGS AND CAUTIONS RELATED TO HANDLING This section presents safety precautions related to the handling of machine tools. Before attempting to operate your machine, read the supplied operator’s manual and programming manual carefully, such that you are fully famili
• Page 10SAFETY PRECAUTIONS B-63324EN/03 WARNING 7.Workpiece coordinate system shift Manual intervention, machine lock, or mirror imaging may shift the workpiece coordinate system. Before attempting to operate the machine under the control of a program, confirm the coordinate system carefully. If the machine
• Page 11B-63324EN/03 SAFETY PRECAUTIONS WARNING 13.Program editing If the machine is stopped, after which the machining program is edited (modification, insertion, or deletion), the machine may behave unexpectedly if machining is resumed under the control of that program. Basically, do not modify, insert, o
• Page 12SAFETY PRECAUTIONS B-63324EN/03 WARNINGS RELATED TO DAILY MAINTENANCE WARNING 1.Memory backup battery replacement When replacing the memory backup batteries, keep the power to the machine (CNC) turned on, and apply an emergency stop to the machine. Because this work is performed with the power on an
• Page 13B-63324EN/03 SAFETY PRECAUTIONS WARNING 2.Absolute pulse coder battery replacement When replacing the memory backup batteries, keep the power to the machine (CNC) turned on, and apply an emergency stop to the machine. Because this work is performed with the power on and the cabinet open, only those
• Page 14SAFETY PRECAUTIONS B-63324EN/03 WARNING 3.Fuse replacement For some units, the chapter covering daily maintenance in the operator’s manual or programming manual describes the fuse replacement procedure. Before replacing a blown fuse, however, it is necessary to locate and remove the cause of the blo
• Page 16TABLE OF CONTENTS B-63324EN/03 4.1 POSITIONING (G00) ...................................................................................40 4.2 SINGLE DIRECTION POSITIONING (G60) ................................................42 4.3 LINEAR INTERPOLATION (G01).........................................
• Page 17B-63324EN/03 TABLE OF CONTENTS 5.8 FEEDRATE SPECIFICATION ON A VIRTUAL CIRCLE FOR A ROTARY AXIS...........................................................................................................173 5.9 AUTOMATIC FEEDRATE CONTROL BY AREA.......................................177 6 REFERENCE P
• Page 18TABLE OF CONTENTS B-63324EN/03 10TOOL FUNCTION (T FUNCTION) .....................................................................242 10.1 TOOL SELECTION FUNCTION ................................................................243 10.2 TOOL LIFE MANAGEMENT FUNCTION ...................................
• Page 19B-63324EN/03 TABLE OF CONTENTS 13.2.2 Left-handed Rigid Tapping Cycle (G84.3).......................................................... 324 13.2.3 Rigid tapping Orientation Function..................................................................... 327 13.2.4 Peck Rigid Tapping Cycle (G84 or G74)
• Page 20TABLE OF CONTENTS B-63324EN/03 14.11.2 Tool Offset Based on Tool Numbers................................................................... 478 14.11.3 Relationships with Other Functions .................................................................... 482 14.12 TOOL AXIS DIRECTION TOOL LENGTH CO
• Page 21B-63324EN/03 TABLE OF CONTENTS 17.6.5 Macro Calls with G Codes (Specification of Multiple G Codes) ....................... 641 17.6.6 Macro Calls with G Codes with the Decimal Point (Specification of Multiple G Codes)...................................................................................
• Page 22TABLE OF CONTENTS B-63324EN/03 19.2.1 Tool Length Compensation in tool axis direction with Twin Table Control ...... 702 19.3 SYNCHRONIZATION CONTROL..............................................................705 19.4 TANDEM CONTROL .................................................................
• Page 23B-63324EN/03 TABLE OF CONTENTS F.6 OT ALARM ................................................................................................808 F.7 IO ALARM..................................................................................................810 F.8 PW ALARM (POWER MUST BE TURNED OFF THE
• Page 24I 
• Page 25B-63324EN/03 GENERAL 1.GENERAL 1 GENERAL Operator’s Manuals consist of the PROGRAMMING Manual and OPERATION Manual. About this Operator’s Manual OPERATOR’S MANUAL (PROGRAMMING) (B-63324EN) I. GENERAL Describes chapter organization, applicable models, related manuals, and notes for reading this manua
• Page 261.GENERAL GENERAL B-63324EN/03 P_ : Indicates a combination of axes such as X__ Y__ Z (used in PROGRAMMING.). ; : Indicates the end of a block. It actually corresponds to the ISO code LF or EIA code CR. Related manuals The table below lists manuals related to MODEL A of Series 15i, and Series 150i.
• Page 27B-63324EN/03 GENERAL 1.GENERAL 1.1 GENERAL FLOW OF OPERATION OF CNC MACHINE TOOL When machining the part using the CNC machine tool, first prepare the program, then operate the CNC machine by using the program. (1) First, prepare the program from a part drawing to operate the CNC machine tool. How t
• Page 281.GENERAL GENERAL B-63324EN/03 Tool Side cutting Face cutting Hole machining Prepare the program of the tool path and machining condition according to the workpiece figure, for each machining. -6-
• Page 29B-63324EN/03 GENERAL 1.GENERAL 1.2 NOTES ON READING THIS MANUAL NOTE 1 The function of an CNC machine tool system depends not only on the CNC, but on the combination of the machine tool, its magnetic cabinet, the servo system, the CNC, the operator’s panels, etc. It is too difficult to describe the
• Page 30
• Page 31II PROGRAMIN
• Page 32
• Page 33B-63324EN/03 PROGRAMMING 1.GENERAL 1 GENERAL - 11 -
• Page 341.GENERAL PROGRAMMING B-63324EN/03 1.1 TOOL MOVEMENT ALONG WORKPIECE PARTS FIGURE- INTERPOLATION The tool moves along straight lines and arcs constituting the workpiece parts figure (See II-4). Explanation The function of moving the tool along straight lines and arcs is called the interpolation. -To
• Page 35B-63324EN/03 PROGRAMMING 1.GENERAL Symbols of the programmed commands G01, G02, ... are called the preparatory function and specify the type of interpolation conducted in the control unit. B (a) Movement along straight line (b) Movement along arc G01Y ; G03X Y R ; XY; b m b X axis IInterpolation Too
• Page 361.GENERAL PROGRAMMING B-63324EN/03 1.2 FEED-FEED FUNCTION Movement of the tool at a specified speed for cutting a workpiece is called the feed. mm/min Tool F Workpiece Table Fig.1.2 (a) Feed function Feedrates can be specified by using actual numerics. For example, to feed the tool at a rate of 150
• Page 37B-63324EN/03 PROGRAMMING 1.GENERAL 1.3 PART DRAWING AND TOOL MOVEMENT 1.3.1 Reference Position (Machine-Specific Position) A CNC machine tool is provided with a fixed position. Normally, tool change and programming of absolute zero point as described later are performed at this position. This positi
• Page 381.GENERAL PROGRAMMING B-63324EN/03 1.3.2 Coordinate System on Part Drawing and Coordinate System Specified by CNC - Coordinate System Z Z Y Program Y X X Coordinate system Part drawing CNC Comman Tool Z Y Workpiece X Machine tool Fig.1.3.2 (a) Coordinate system Explanation -Coordinate system The fol
• Page 39B-63324EN/03 PROGRAMMING 1.GENERAL The positional relation between these two coordinate systems is determined when a workpiece is set on the table. Coordinate system on part drawing established on the workpiece Coordinate system specified by the CNC established on the table Y Y Workpiece X X Table F
• Page 401.GENERAL PROGRAMMING B-63324EN/03 2 Mounting a workpiece directly against the jig Program zero point Jig Meet the tool center to the reference position. And set the coordinate system specified by CNC at this position. (Jig shall be mounted on the predetermined point from the reference position.) 3
• Page 41B-63324EN/03 PROGRAMMING 1.GENERAL 1.3.3 How to Indicate Command Dimensions for Moving the Tool - Absolute, Incremental Commands Explanation Command for moving the tool can be indicated by absolute command or incremental command (See II-8.1). -Absolute command The tool moves to a point at "the dista
• Page 421.GENERAL PROGRAMMING B-63324EN/03 -Incremental command Z Tool A X=40.0 Y Z=-10.0 B Y-30.0 X G91 X40.0 Y-30.0 Z-10.0 Command specifying movement from point A to point B Distance and direction for movement along each axis Specify the distance from the previous tool position to the next tool position.
• Page 43B-63324EN/03 PROGRAMMING 1.GENERAL 1.4 CUTTING SPEED - SPINDLE SPEED FUNCTION The speed of the tool with respect to the workpiece when the workpiece is cut is called the cutting speed. As for the CNC, the cutting speed can be specified by the spindle speed in min-1 unit. Tool Spindle speed Tool diam
• Page 441.GENERAL PROGRAMMING B-63324EN/03 1.5 SELECTION OF TOOL USED FOR VARIOUS MACHINING - TOOL FUNCTION When drilling, tapping, boring, milling or the like, is performed, it is necessary to select a suitable tool. When a number is assigned to each tool and the number is specified in the program, the cor
• Page 45B-63324EN/03 PROGRAMMING 1.GENERAL 1.6 COMMAND FOR MACHINE OPERATIONS - MISCELLANEOUS FUNCTION When machining is actually started, it is necessary to rotate the spindle, and feed coolant. For this purpose, on-off operations of spindle motor and coolant valve should be controlled. The function of spe
• Page 461.GENERAL PROGRAMMING B-63324EN/03 1.7 PROGRAM CONFIGURATION A group of commands given to the CNC for operating the machine is called the program. By specifying the commands, the tool is moved along a straight line or an arc, or the spindle motor is turned on and off. In the program, specify the com
• Page 47B-63324EN/03 PROGRAMMING 1.GENERAL Explanation The block and the program have the following configurations. - Block 1 block Nxxxxx Gxx Xxxx.x Yxxx.x Mxx Sxx Txx ; Sequence Preparatory Dimension word Miscellaneous Spindle Tool number function function function function End of block Fig.1.7 (b) Block
• Page 481.GENERAL PROGRAMMING B-63324EN/03 - Main program and subprogram When machining of the same pattern appears at many portions of a program, a program for the pattern is created. This is called the subprogram. On the other hand, the original program is called the main program. When a subprogram execut
• Page 49B-63324EN/03 PROGRAMMING 1.GENERAL 1.8 TOOL FIGURE AND TOOL MOTION BY PROGRAM Explanation -Machining using the end of cutter - Tool length compensation function Usually, several tools are used for machining one workpiece. The tools have different tool length. It is very troublesome to change the pro
• Page 501.GENERAL PROGRAMMING B-63324EN/03 1.9 TOOL MOVEMENT RANGE - STROKE Limit switches are installed at the ends of each axis on the machine to prevent tools from moving beyond the ends. The range in which tools can move is called the stroke. Table Motor Machine zero point Limit switch Specify these dis
• Page 51B-63324EN/03 PROGRAMMING 2.CONROLLED AXES 2 CONROLLED AXES - 29 -
• Page 522.CONROLLED AXES PROGRAMMING B-63324EN/03 2.1 CONTROLLED AXES Series 15i/150i Item Standard type Multiple axes type No. of basic controlled axes 3 axes (2 axes) Controlled axes expansion Max. 10 axes (Cs axis is Max. 24 axes (total) 2 axes) Basic simultaneously 2 axes controlled axes Simultaneously
• Page 53B-63324EN/03 PROGRAMMING 2.CONROLLED AXES 2.2 AXIS NAME Names of axes can be optionally selected from X, Y, Z, A, B, C, U, V, and W. They can be set by parameter No. 1020. Explanation - Axis name expansion function With the optional axis name expansion function, I, J, K, and E can also be used as ax
• Page 542.CONROLLED AXES PROGRAMMING B-63324EN/03 2.3 INCREMENT SYSTEM The increment system uses least input increment (for input) and least command increment (for output). The least input increment is the least increment for programming the travel distance. The least command increment is the least incremen
• Page 55B-63324EN/03 PROGRAMMING 2.CONROLLED AXES By setting bit 0 (IM0) of parameter No. 1013 for ten-fold input unit, each increment system is set as shown in Table2.3 (b). Table2.3 (b) Name of Least input Least command increment Maximum stroke increment increment system 0.01 mm 0.001 mm 99999.999 mm IS-B
• Page 562.CONROLLED AXES PROGRAMMING B-63324EN/03 2.4 MAXIMUM STROKE Maximum stroke = Least command increment × 99999999 (For IS-D and IS-E, 999999999) See 2.3 Increment System. Table2.4 (a) Maximum stroke Increment system Maximum stroke Metric machine ±999999.99 mm system ±999999.99 deg IS-A Inch machine ±
• Page 57B-63324EN/03 PROGRAMMING 3.PREPARATORY FUNCTION (G FUNCTION) 3 PREPARATORY FUNCTION (G FUNCTION) A preparatory function is specified using a numeric value following address G. This determines the meanings of the commands specified in the block. G codes are divided into the following two types: Type
• Page 583.PREPARATORY FUNCTION (G FUNCTION) PROGRAMMING B-63324EN/03 Table3 G code list Code Group Function G00 Positioning G01 Linear interpolation G02 Circular interpolation/Helical interpolation CW G03 Circular interpolation/Helical interpolation CCW G02.1 Circular threading B CW G03.1 Circular threading
• Page 59B-63324EN/03 PROGRAMMING 3.PREPARATORY FUNCTION (G FUNCTION) Table3 G code list Code Group Function G33 01 Threading G37 Automatic tool length measurement G38 00 Cutter compensation C vector retention G39 Cutter compensation C corner rounding Cutter compensation cancel / Three dimensional G40 compen
• Page 603.PREPARATORY FUNCTION (G FUNCTION) PROGRAMMING B-63324EN/03 Table3 G code list Code Group Function G73 Peck drilling cycle G74 Counter tapping cycle G76 Fine boring cycle Canned cycle cancel / external operation function G80 cancel / Electronic gear box synchronous cancel (Command for hobbing machi
• Page 61B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS 4 INTERPOLATION FUNCTIONS - 39 -
• Page 624.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 4.1 POSITIONING (G00) The G00 command moves a tool to the position in the workpiece system specified with an absolute or an incremental command at a rapid traverse rate. In the absolute command, coordinate value of the end point is programmed. In the
• Page 63B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS This range is determined by the machine tool builder by setting to parameter (No. 1827). In-position check for each block can be disabled by setting bit 0 (CIP) of parameter No.1000 accordingly. Limitation (1) The rapid traverse rate cannot be specif
• Page 644.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 4.2 SINGLE DIRECTION POSITIONING (G60) For accurate positioning without play of the machine (backlash), final positioning from one direction is available. Overrun Start position Start position End position Temporary stop Fig.4.2 (a) Direction positio
• Page 65B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS (Example) When one-shot G60 commands When modal G60 command are used. is used. : : : : G90; G90 G60; Single direction G60 X0 Y0; X0 Y0; positioning mode start G60 X100; Single direction X100; Single direction G60 Y100; positioning Y100; positioning G
• Page 664.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 4.3 LINEAR INTERPOLATION (G01) Tools can move along a line Format G01 IP_ F_ ; IP_ : For an absolute command, the coordinates of an end point , and for an incremental commnad, the distance the tool moves. F_ : Speed of tool feed (Feedrate) Explanatio
• Page 67B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS (Example) G91 G01 X20.0 C40.0 F300.0 G This changes the unit of the C axis from 40.0 deg to 40mm with metric input. The time required for distribution is calculated as follows: 20 2 + 40 2 ≅ 0 . 14907 min 300 The feed rate for the C axis is 40 deg ≅
• Page 684.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 4.4 CIRCULAR INTERPOLATION (G02,G03) The command below will move a tool along a circular arc. Format Arc in the XpYp plane G02 I_ J_ G17 Xp_ Yp_ F_ ; G03 R_ Arc in the ZpXp plane G02 K_ I_ G18 Zp_ Xp_ F_ ; G03 R_ Arc in the YpZp plane G02 J_ K_ G19 Y
• Page 69B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS Explanation - Direction of the circular interpolation "Clockwise"(G02) and "counterclockwise"(G03) on the XpYp plane (ZpXp plane or YpZp plane) are defined when the XpYp plane is viewed in the positive-to-negative direction of the Zp axis (Yp axis or
• Page 704.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 - Arc radius The distance between an arc and the center of a circle that contains the arc can be specified using the radius, R, of the circle instead of I, J, and K. In this case, one arc is less than 180deg., and the other is more than 180deg. are c
• Page 71B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS - Cases where a spiral results When an end point does not lie on the arc, a spiral results, as shown below. End point γe γ(t) (γe − γs) ( t ) γ(t) = γs + ˘ Start point θ(t) γs Center radius Start point γs γe End point θ Center θ Fig.4.4 (d) Case Wher
• Page 724.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 Example Y axis 100 50R 60 60R 40 0 X axis 90 120 140 200 Fig.4.4 (e) Sample program The above tool path can be programmed as follows ; (1) In absolute programming G92X200.0 Y40.0 Z0 ; G90 G03 X140.0 Y100.0R60.0 F300.; G02 X120.0 Y60.0R50.0 ; or G92X2
• Page 73B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS 4.5 HELICAL INTERPOLATION (G02,G03) Helical interpolation which moved helically is enabled by specifying up to two other axes which move synchronously with the circular interpolation by circular commands. Format Synchronously with arc of XpYp plane G
• Page 744.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 Z Tool path X Y The feedrate along the circumference of two circular interpolated axes is the specified feedrate. Fig.4.5 (a) Feedrate When Parameter HTG = 0 When bit 2 (HTG) of parameter No. 1401 is set to 1, the speed command specifies the feedrate
• Page 75B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS 4.6 HELICAL INTERPOLATION B (G02,G03) Helical interpolation B allows the tool to move in helically. This can be done by specifying the circular interpolation command together with up to four axes. Format Synchronously with arc of XpYp plane G02 I_ J_
• Page 764.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 4.7 HYPOTHETICAL AXIS INTERPOLATION (G07) In helical interpolation, when pulses are distributed with one of the circular interpolation axes set to a hypothetical axis, sine interpolation is enabled. When one of the circular interpolation axes is set
• Page 77B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS - Handle interrupt Specify hypothetical axis interpolation only in the incremental mode. Limitation - Manual operation The hypothetical axis can be used only in automatic operation. In manual operation, it is not used, and movement takes place. - Mov
• Page 784.INTERPOLATION FUNCTIONS PROGRAMING B-63324EN/01 F 4.0 Xt Fig.4.7 (c) Changing the feedrate to from a sine curve isample j - 56 -
• Page 79B-63324EN/01 PROGRAMING 4.INTERPOLATION FUNCTIONS 4.8 POLAR COORDINATE INTERPOLATION (G12.1,G13.1) Polar coordinate interpolation is a function that exercises contour control in converting a command programmed in a Cartesian coordinate system to the movement of a linear axis (movement of a tool) and
• Page 804.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 CAUTION The plane used before G12.1 is specified (plane selected by G17, G18, or G19) is canceled. It is restored when G13.1 (canceling polar coordinate interpolation) is specified. When the system is reset, polar coordinate interpolation is cancele
• Page 81B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - Movement along axes not in the polar coordinate interpolation plane in the polar coordinate interpolation mode The tool moves along such axes normally, independent of polar coordinate interpolation. - Current position display in the polar coordina
• Page 824.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 WARNRING 1. Consider lines L1, L2, and L3. ∆X is the distance the tool moves per time unit at the feedrate specified with address F in the Cartesian coordinate system. As the tool moves from L1 to L2 to L3, the angle at which the tool moves per time
• Page 83B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS WARNRING 3. The following functions cannot be used for the rotation axis for polar coordinate interpolation. Using any of these functions results in abnormal operation. - Roll-over function - Multiple-rotary axis control - Index table indexing funct
• Page 844.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Example Example of Polar Coordinate Interpolation Program Based on X Axis(Linear Axis) and C Axis (Rotary Axis) C’(hypothetical axis) C axis Path after cutter compensation Program path N204 N203 N205 N200 N202 N201 X axis Tool N208 N206 N207 Z axis
• Page 85B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS 4.9 CYLINDRICAL INTERPOLATION (G07.1) The amount of travel of a rotary axis specified by an angle is once internally converted to a distance of a linear axis along the outer surface so that linear interpolation or circular interpolation can be perfor
• Page 864.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 - Circular interpolation (G02,G03) In the cylindrical interpolation mode, circular interpolation is possible with the rotation axis and another linear axis. Radius R is used in commands in the same way as described in II-4.4. The unit for a radius is
• Page 87B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS Limitation - Arc radius specification in the cylindrical interpolation mode In the cylindrical interpolation mode, an arc radius cannot be specified with word address I, J, or K. - Cutter compensation To perform cutter compensation, specify G41, G42,
• Page 884.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 - Multiple-rotary axis control function If the rotation axis for which the multiple-rotary-axis control function is used is specified as the rotation axis used with cylindrical interpolation, the multiple-rotary axis control function is disabled in c
• Page 89B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS 4.10 CYLINDRICAL INTERPOLATION CUTTING POINT CONTROL (G07.1) The conventional cylindrical interpolation function controls the tool center so that the tool axis always moves along a specified path on the cylindrical surface, towards the rotation axis
• Page 904.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 E Cutting point compensation (1) Cutting point compensation between blocks As shown in Fig.4.10 (b), cutting point compensation is achieved by moving between blocks N1 and N2. 1) Let C1 and C2 be the heads of the vectors normal to N1 and N2 from S1,
• Page 91B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS Y =− ( V )r 180 ∆V :Cutting point compensation value (∆V2 - ∆V1) for movement of ¢L ∆V1 :C-axis component of the vector normal to N1 from the tool center of the start point of ∆L ∆V2 :C-axis component of the vector normal to N1 from the tool center o
• Page 924.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 V FC-axis component of C2 - C1 C1 FCutting surface of block N1 Z-axis C2 FCutting surface after the end of block N1 Tool center path S1 S2 C2 C1 N1 C2 N2 V N3 Programmed path C-axis on the cylindrical surface Y-axis Fig.4.10 (d) When Bit 6 (CYS) of P
• Page 93B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS 3) When the amount of travel (L1) of block N2 is less than the value set in parameter No. 6113, as shown in Fig.4.10 (f), cutting point compensation is not applied between blocks N1 and N2. Instead, block N2 is executed with the cutting point compens
• Page 944.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 V FCutting point compensation between blocks N2 and N3 C1 FCutting surface of blocks N1 and N2 Z-axis C2 FCutting surface of block N3 L1 V R S2 S1 N2 C1 C2 N3 Tool center path C1 N1 Programmed path C-axis on the Y-axis cylindrical surface Fig.4.10 (g
• Page 95B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS (1) When the normal direction changes between blocks N1 and N2, cutting point compensation is applied between blocks N1 and N2. As shown in Fig.4.10 (i), cutting point compensation is applied according to (1) of cutting point compensation, described
• Page 964.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 V1 FA-axis component of C2 - C1’ A-axis on the cylindrical surface C1 FCutting surface of block N1 Tool C2’ FCutting surface at the end point of block N2 C2’ S2 N3 Normal direction vector Programmed path N2 C1 Y-axis ˘1 V1 C2 S1 N1 Tool center path (
• Page 97B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS V2 FA-axis component C3 - C1 C1 FCutting surface of block N1 A-axis on the cylindrical surface C1’ FCutting surface of block N2 L2 Tool C3 FCutting surface of block N3 Vector S2C1 = Vector S2C1' C1’ N3 S2 V2 N2 C3 Programmed path L1 C1 Y-axis V1 C2 S
• Page 984.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 Z-axis Fc’ Programmed path Ve Tool Vce Fz = Fz’ Vs Vcs Fc C-axis Y-axis Fig.4.10 (l) Actual Speed Indication during Circular Interpolation - Usable G codes (1) In any of the following G code modes, cylindrical interpolation cutting point compensation
• Page 99B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS Limitation - Overcutting during inner corner cutting Theoretically, when the inner area of a corner is cut using linear interpolation as shown in Fig. 4.10(m), this function slightly overcuts the inner walls of the corner. This overcutting can be avo
• Page 1004.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 Z-axis Z-axis (mm) C-axis on the 120 Tool Cylindrical (1) (2) (3) surface (4) 90 80 70 Programmed path 60 Tool center path 30 (5) Tool C-axis on the Cylindrical surface 20 30 60 70 (deg) Fig.4.10 (n) Path of Sample Program for Cylindrical Interpolati
• Page 101B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS Positional relationship between the Positional relationship between the workpiece and tool of (1) workpiece and tool of (2) Rotation Workpiece Rotation 0 0 20 Cutting surface Tool Y-axis Y-axis Tool center Positional relationship between the Position
• Page 1024.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 - Example of specifying cylindrical interpolation cutting point compensation and normal direction control at the same time Cutter compensation value No. 01 = 30 mm O0002(CYLINDRICAL INTERPOLATION2) ; N01 G00 G90 X100.0 A0 ; N02 G01 G91 G17 X0 A0 ; N0
• Page 103B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS 4.11 EXPONENTIAL INTERPOLATION (G02.3,G03.3) Exponential interpolation exponentially changes the rotation of a workpiece with respect to movement on the rotary axis. Furthermore, exponential interpolation performs linear interpolation with respect to
• Page 1044.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 Format positive rotation (ω=0) G02.3 X_ Y_ Z_ I_ J_ K_ R_ F_ Q_ ; Negative rotation (ω=1) G03.3 X_ Y_ Z_ I_ J_ K_ R_ F_ Q_ ; X_ : Specifies an end point with an absolute or incremental value. Y_ : Specifies an end point with an absolute or incrementa
• Page 105B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS Explanation - Exponential relational expressions Exponential relational expressions for a linear axis and rotary axis are defined as follows: θ 1 X (θ ) = R × (e k − 1) × Movement on the linear axis (1) tan(l ) ω θ A(θ ) = ( −1) × 360 × Movement on t
• Page 1064.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 - Rotation angle ˘ In exponential interpolation, the X coordinate and angular displacement θ of the A axis to X are expressed by equation (1). x × tan(I)  = K × ln( + 1) - - - - - - - - - - @(1) R where, I is the gradient. In equation (1), the por
• Page 107B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS - Gradient I The relationship between the machining profile and the sign of the gradient T is as follows: - For a slope going upward from left to right, T is a positive value. - For a slope going downward from left to right, T is a negative value. &
• Page 1084.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 Limitation - Cases where linear interpolation is performed Even when the G02.3 or G03.3 mode is set, linear interpolation is performed in the following cases: - When the linear axis specified in parameter(No.7636) is not specified, or the amount of m
• Page 109B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS Example EConstant helix machining for producing a tapered figure Z I A B r X J U X EConstant helix machining for producing a reverse tapered figure Z I A B r X J U X Fig.4.11 (e) Constant Helix Machining for Producing a Tapered Figure Relational expr
• Page 1104.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 ω : Helix direction (0: Positive, 1: Negative) θ : Workpiece rotation angle From expressions (3) and (4), the following is obtained ; Z (θ ) = tan( B ) × ( X (θ ) − U ) + Z (0) (5) The groove bottom taper angle (B) is determined from the end point po
• Page 111B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS 4.12 INVOLUTE INTERPOLATION (G02.2,G03.2) Involute curve machining can be performed by using involute interpolation. Involute interpolation ensures continuous pulse distribution even in high-speed operation in small blocks, thus enabling smooth and h
• Page 1124.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 Yp Yp Po Ps R I End point Start 0 J Pe point I Ps Po J 0 R Base circle Pe End point Xp Xp Clockwise involute interpolation (G02.2) Yp Yp Ro End point R Pe Start point End I 0 Ps point Pe Po J 0 R J I Ps Start point Xp Xp Counterclockwise involute int
• Page 113B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS Explanation - Involute curve An involute curve on the X-Y plane is defined as follows ; X(θ)=R[cos θ + (θ – θo) sin θ] + Xo Y(θ)=R[sin θ + (θ – θo) cos θ] + Yo where,   : Coordinates of the center of a base circle : Base circle radius θo : Angle
• Page 1144.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 - Choosing from two types of involute curves When only a start point and I, J, and K data are given, two types of involute curves can be created. One type of involute curve extends towards the base circle, and the other extends away from the base cir
• Page 115B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS - Modes that allow involute interpolation specification Involute interpolation can be specified in the following G code modes: G41:Cutter compensation left G42:Cutter compensation right G51:Scaling G51.1:Programmable mirror image G68:Coordinate rotat
• Page 1164.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 4.12.1 Involute Interpolation with a Linear Axis and Rotation Axis (G02.2,G03.3) In the polar coordinate interpolation mode, an involute curve can be machined using involute interpolation. The involute curve to be machined is drawn in the plane of th
• Page 117B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS - When the linear axis is the Z-axis or an axis parallel to the Z-axis, the Zp-Xp plane is assumed, and the center is specified using K and I. - Specifying end coordinates In polar coordinate interpolation mode, each position is represented by a dist
• Page 1184.INTERPOLATION FUNCIONS PROGRAMMING B-63324EN/03 O0001 ; : N010 T0101 ; : N100 G90 G00 X15.0 C0 Z0 ; Positioning to the start position N200 G12.1 ; Start of polar coordinate interpolation N201 G41 G00 X-1.0 ; N202 G01 Z-2.0 F @ ; N203 G02.2 X1.0 C9.425 I1.0 J0 R1.0 ; Involute interpolation during p
• Page 119B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCIONS 4.13 HELICAL INVOLUTE INTERPOLATION (G02.2,G03.3) This interpolation function applies involute Interpolation to two axes and directs movement for up to four other axes at the same time. This function is similar to the helical function used in circula
• Page 1204.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 4.14 SPLINE INTERPOLATION (G06.1) Spline interpolation produces a spline curve connecting specified points. When this function is used, the tool moves along the smooth curve connecting the points. The spline interpolation command eliminates the need
• Page 121B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - Specifying a G06.1 block or next block The axes to be specified in spline interpolation mode must all be specified in a block containing G06.1 or the next block. - When a tangent vector is specified in the G06.1 block, it is specified together wit
• Page 1224.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 - Modes in which spline interpolation can be specified The spline interpolation mode can be specified in the following G-code modes: G17 : Selection of the XY plane G18 : Selection of the ZX plane G19 : Selection of the YZ plane G20 : Input in inche
• Page 123B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS P2 P4 P1 P5 Pn Pn+1 P3 Fig.4.14 (a) Spline interpolation - Three-dimensional offset Spline interpolation can be executed in the three-dimensional tool compensation mode. The spline interpolation function automatically produces vectors for three-dime
• Page 1244.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 3) Three-dimensional tool compensation vector at the last point Position : The vector is on the plane containing the point, previous point, and next point. It is perpendicular to the straight line connecting the previous and next points. Direction :
• Page 125B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS angle of 90° or less, the vector may not be produced in the correct direction. Pi θ Pi-1 Pi+1 Fig.4.14 (d) Vector 3 - Sample program of three-dimensional tool offset The system is in the spline interpolation mode included in the three- dimensional t
• Page 1264.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Limitation - Modes not allowed Before specifying G06.1, cancel canned cycle mode, tool offset mode, and cutter compensation mode if these modes are set. - First block of the subprogram Specify a move command in the first block of the subprogram to b
• Page 127B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS 4.15 SPIRAL INTERPOLATION, CONICAL INTERPOLATION (G02,G03) Spiral interpolation is enabled by specifying the circular interpolation command together with a desired number of revolutions or a desired increment (decrement) for the radius per revolutio
• Page 1284.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 (*1) Either the number of revolutions (L) or the radius increment or decrement (Q) can be omitted. When L is omitted, the number of revolutions is automatically calculated from the distance between the current position and the center, the position o
• Page 129B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - Conical interpolation Xp-Yp plane G02 G17 X_ Y_ I_ J_ Z_ Q_ L_ F_ ; G03 Zp-Yp plane G02 G18 Z_ X_ K_ I_ Y_ Q_ L_ F_ ; G03 Yp-Zp plane G02 G19 Y_ Z_ J_ K_ X_ Q_ L_ F_ ; G03 X,Y,Z:Coordinates of the end point L :Number of revolutions (positive value
• Page 1304.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 radius increment/decrement (Q), and the number of revolutions (L) must be specified. The other two items can be omitted. ESample command for the Xp-Yp plane G02 K_ G17 X_ Y_ I_ J_ Z_ Q_ F_ ; G03 L_ If both L and Q are specified, but their values con
• Page 131B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS Explanation - Function of spiral interpolation Spiral interpolation in the XY plane is defined as follows: (X-X0)2+(Y-Y0)2=(R+Q’)2 X0 : X coordinate of the center Y0 : Y coordinate of the center R : Radius at the beginning of spiral interpolation Q’
• Page 1324.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Y 100.0 X -30.0 ¿ 20.0 -33.5 20.0 20.0 Q-20. G90 G02 X0 Y-33.5 I0 J-100. F300 ; L4 When the specified end point is (0, -33.5), the calculated end point is (0, -30.0). Specify a value greater than the difference (a : permissible error) in parameter 2
• Page 133B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - Tool offset The spiral interpolation function and conical interpolation function can be used in cutter compensation C mode. The same compensation is applied as that described in (d) Exceptional case, (3) Offset mode, II- 14.4.3 Detailed explanatio
• Page 1344.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 - Feedrate clamping by acceleration During spiral interpolation, the function for clamping the feedrate by acceleration (parameter No. 1663) is enabled. The feedrate may decrease as the tool approaches the center of the spiral. - Dry run When the dr
• Page 135B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS This sample path has the following values: - Start point : (0,100.0) - End point (X,Y) : (0,-30.0) - Distance to the center (I,J) : (0,-100.0) - Radius increment or decrement (Q) : -20.0 - Number of revolutions (L) :4 (1) With absolute values, the p
• Page 1364.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 4.16 SMOOTH INTERPOLATION (G05.1) Either of two types of machining can be selected, depending on the program command. 1) For those portions where the accuracy of the figure is critical, such as at corners, machining is performed exactly as specified
• Page 137B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS which precisely follows a programmed path, the uneven surfaces will be judged as being unsatisfactory when smooth surfaces are required. Table 4.16 (a) Profiles and Radius of Curvature Profile Small radius of Large radius of curvature curvature Exam
• Page 1384.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Interpolated by smooth curve N17 N16 N13 N12 N15 N14 N11 N10 N1 N2 N5 N6 N3 N4 N7 N8 N9 Interpolated by smooth curve Linear interpolation Linear interpolation N17 N16 N13 N12 N15 N14 N11 N10 N1 N2 N5 N6 N3 N4 N7 N8 N9 Fig.4.16 (c) Smooth Interpolati
• Page 139B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - Commands which cancel smooth interpolation When one of the following commands is specified, smooth interpolation is canceled: (1) G04 : Dwell G09 : Exact stop check G31,G31.1,G31.2,G31.3: Skip function G37 : Tool length measurement (2) M code that
• Page 1404.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Example Sample program of smooth interpolation G91 G5. 1 Q2 X0 Y0 Z0 N01 G01 X1000 Z-300 F500 N02 X1000 Z-200 N03 X1000 Z-50 N04 X1000 Z50 N05 X1000 Z50 N06 X1000 Z-25 N07 X1000 Z-175 N08 X1000 Z-350 N09 Y1000 N10 X-1000 Z350 N11 X-1000 Z175 N12 X-1
• Page 141B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - Intervals of specified points The intervals of specified points must be equal wherever possible. Otherwise, the path may rise greatly. The figure below shows an enlarged view of the rises of a curve. 1) If the intervals of specified points are equ
• Page 1424.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 4.17 NURBS INTERPOLATION (G06.2) Many computer-aided design (CAD) systems used to design metal dies for automobiles utilize non-uniform rational B-spline (NURBS) to express a sculptured surface or curve for the metal dies. This function enables NURB
• Page 143B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS way, the CNC automatically controls the speed in order to prevent excessive strain being imposed on the machine. Format G06.2 [P_ ] K_ IP_ [R_ ] [F_ ] ; K_ IP_ [R_ ] ; K_ IP_ [R_ ] ; K_ IP_ [R_ ] ; : K_ IP_ [R_ ] ; K_ ; … K_ ; G01… : G06.2 : Start N
• Page 1444.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Weight is always specified as a 9-digit absolute value of the minimum data unit of the reference axis. For example, if the unit of the reference axis is set as millimeter input at IS-B, then weight can be specified within the range -999999.999 to +9
• Page 145B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS generated by n successive control points, is referred to as a segment. When single block operation is performed, a single block stop occurs at each joint between the segments. Moreover, the valid speed command range is one segment. (For information
• Page 1464.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 - Valid speed command range An NUBRS curved line of rank n (degree (n-1)) that has m control points includes (m - n + 1) segments. The speed command (address F) for a block that ranges from the first control point to the (m-n+1)-th control point app
• Page 147B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS At a corner, automatic speed control is exercised so that speed changes on each axis do not exceed the allowable speed difference limit specified with parameter No. 1478. (See Fig.4.17 (f) j Speed mP m P m Q mQ Corner Time Fig.4.17 (f) Speed Determi
• Page 1484.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Alarm No. Display message Description PS1001 NURBS interpolation A rank specification is incorrect. error PS1002 NURBS interpolation No knot is specified. (In NURBS error interpolation mode, a block that is not related to NURBS interpolation is spec
• Page 149B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - PS1002 NO KNOT SPECIFIED A knot must be specified in each block of NURBS interpolation. If there is a block without address K, alarm PS1002 is issued. O0002 G06.2 P4 X0. Y0. Z0. K0. X10. Y10. Z10. K0. X20. Y20. Z20. K0. X30. Y30. Z30. K0. X40. Y40
• Page 1504.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 G06.2 P4 X0. Y0. Z0. K0. X10. Y10. Z10. K0. X20. Y20. Z20. K0. X30. Y30. Z30. K0. K1. K1. K1. K1. G01 O0005 G06.2 P4 X0. Y0. Z0. K0. X10. Y10. Z10. K0. X20. Y20. Z20. K0. X30. Y30. Z30. K0. K1. K1. K1. K1. G01 F1000 (No alarm is issued.) G06.2 P4 X0
• Page 151B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - PS1004 INSUFFICIENT SIMPLE KNOT BLOCKS In NURBS interpolation, the end of a NURBS curve command is determined by detecting as many knot commands as the number of orders. If the system encounters a command specifying another mode before detecting a
• Page 1524.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 N3 X20. Y20. Z20. K0. N4 X30. Y30. Z30. K0. (No alarm is issued.) N5 X40. Y40. Z40. K1. N6 X50. Y50. Z50. K2. N7 K3. N8 K3. N9 K3. N10 K3. (Alarm PS1007 is issued.) O0010 G06.2 P4 X0. Y0. Z0. K0. X10. Y10. Z10. K0. X20. Y20. Z20. K0. X30. Y30. Z30.
• Page 153B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS K2. knots are specified.) K2. K2. K2. - PS1009 WRONG FIRST CONTROL POINT The first control point of NURBS interpolation must be the start point of a NURBS curve, which is the current position when the previous block ends. O0013 G90 G01 X100. Y100. Z
• Page 1544.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 K1.0; G01 Y1.0; G06.2 ... ... G01 ... Z Y 1000. X 2000. Fig.4.17 (g) Sample Program - 132 -
• Page 155B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS 4.17.1 NURBS Interpolation Additional Functions The functions below are added to NURBS interpolation of the FANUC Series 15i. - Parametric feedrate control The maximum feedrate of each segment is determined by a specified feedrate and acceleration v
• Page 1564.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 X50. Y50. K2. K3. K3. K3. K3. 2. Specified feedrate Feedrate 2000 1800 1500 Time 3. Parametric feedrate control Feedrate 2000 1800 1500 Time 4. After acceleration/deceleration before interpolation, the actual feedrate is as follows: Feedrate 2000 18
• Page 157B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS When a high-precision knot command is used, the knot command format is as follows: K (A-digit number).(B-digit number) A command with the sum of A + B not exceeding 12 can be specified. Specify a command not longer than 14 characters including addre
• Page 1584.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 G06.2 [P_ ] [K_ ] [IP_ ] [R_ ] [F_ ] ; K_ IP_ [R_ ] ; K_ IP_ [R_ ] ; K_ IP_ [R_ ] ; c K_ IP_ [R_ ] ; K_ ; c K_ ; G01... ... \$%&' F    ( )* F   +)* F,  * F- .* F. /* F/  0  "12
• Page 159B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS / "  / / / /% / Fig. 4.17.1(a) An example of NURBS interpolation using the five axes X, Y, Z, A, and B is explained below. Here, the feedrate F is represented by vector F(t) (where t changes from 0 to 1 in one segment). Let Fx(t), Fy(t), Fz(
• Page 1604.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 So, F is clamped as follows: Fmax ( X ) Fmax (Y ) Fmax ( Z ) Fmax ( A) Fmax ( B ) F ≤ Min( , , , , ) F (t ) F y (t ) F (t ) F (t ) F (t ) Max( x ) Max( ) Max( z ) Max( a ) Max( b ) F (t ) F (t ) F (t ) F (t ) F (t ) (t=0 to 1) Note) In the expressio
• Page 161B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS (Travel distance along a NURBS curve. This distance does not always represent a travel distance if a rotation axis is involved.) The format of F code is F4.3 (0.001 to 9999.999) as with the ordinary inverse time command. The valid data range of a fe
• Page 1624.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 4.18 3-DIMENSIONAL CIRCULAR INTERPOLATION (G02.4 AND G03.4) General Specifying an intermediate and end point on an arc enables circular interpolation in a 3-dimensional space. Format 0  "" "4 G02.4 XX1 YY1 ZZ1 αα1 β β1 ; Fir
• Page 163B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS If the modal code is changed by specifying a code such as G01 with the end point not specified, the arc cannot be obtained, and alarm PS0712 is issued. During MDI operation, alarm PS0712 is also issued if a cycle start is applied with only the mid-p
• Page 1644.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 - Polar coordinate interpolation - Polar coordinate command - Normal direction control - Hypothetical axis interpolation - Cylindrical interpolation - Drilling canned cycle/electronic gearbox - Modal call - Exact stop mode - Automatic corner overrid
• Page 165B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS - Interrupt-type custom macro - Data setting (G10) - Cases in which linear interpolation is performed - If the start point, mid-point, and end-point are on the same line, linear interpolation is performed. - If the start point coincides with the mid
• Page 1664.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 4.19 THREADING (G33) The G33 command produces a straight or tapered thread having a constant lead. Format G33 IP_ F_ Q_ ; F_ : Larger component of lead Q_ : Angle by which the threading start angle is shifted (0 to 360deg.) Explanation In general, t
• Page 167B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS In general, the lag of the servo system, etc. will produce somewhat incorrect leads at the starting and ending points of a thread cut. To compensate for this, a thread cutting length somewhat longer than required should be specified. Table 4.19 (a)
• Page 1684.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 Example Z X Program N20 G90 G00 X100.0Y…S45 M3; N21 Z200.0; N22 G33 Z120.0 F5.0; N23 M19; N24 G00 X105.0; N25 Z200.0 M0; Y N26 X100.0 M3; N27 G04 X2.0; N28 G33 Z120.0 F5.0; : X N20,N21 The center of the tool is aligned with the center of a prepared
• Page 169B-63324EN/03 PROGRAMMING 4.INTERPOLATION FUNCTIONS 4.20 INCH THREADING (G33) When a number of thread ridges per inch is specified with address E, an inch thread can be produced with high precision. Format G33 IP_ E_ Q_; E_ : Number of thread ridges per inch Q_ : Number of thread ridges per inch at t
• Page 1704.INTERPOLATION FUNCTIONS PROGRAMMING B-63324EN/03 4.21 CONTINUOUS THREADING (G33) Continuous threading can be executed when multiple blocks containing the threading command are specified in succession. Explanation At the interface between blocks, the system keeps synchronous control of the spindle
• Page 171B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5 FEED FUNCTIONS - 149 -
• Page 1725.FEED FUNCTIONS PROGRAMMING B-63324EN/03 5.1 GENERAL The feed functions control the feedrate of the tool. The following two feed functions are available: - Feed functions 1. Rapid traverse When the positioning command (G00) is specified, the tool moves at a rapid traverse feedrate set in the CNC (p
• Page 173B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS - Tool path in a cutting feed If the direction of movement changes between specified blocks during cutting feed, a rounded-corner path may result (Fig.5.1 (b)). Y Programmed path Actual tool path 0 X Fig.5.1 (b) Example of Tool Path between Two Blocks In cir
• Page 1745.FEED FUNCTIONS PROGRAMMING B-63324EN/03 5.2 RAPID TRAVERSE Format G00 IP ; G00 : G code (group 01) for positioning (rapid traverse) IP ; Dimension word for the end point Explanation The positioning command (G00) positions the tool by rapid traverse. In rapid traverse, the next block is executed af
• Page 175B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5.3 CUTTING FEED Feedrate of linear interpolation (G01), circular interpolation (G02, G03), etc. are commanded with numbers after the F code. In cutting feed, the next block is executed so that the feedrate change from the previous block is minimized. Four m
• Page 1765.FEED FUNCTIONS PROGRAMMING B-63324EN/03 Y Y Start point End point F F Center End point Starting point X X Linear interpolation Circular interpolation Fig.5.3 (a) Tangential feedrate (F) - Feed per minute (G94) After specifying G94 (in the feed per minute mode), the amount of feed of the tool per m
• Page 177B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS (NOTE) *2:If bit 1 (F41) of parameter No. 2400 is set to 1, the units in parentheses are used. (For increment system IS-A, this setting is invalid.) (2) With a decimal point The position of the decimal point represents the position of "mm," "deg," or "inch."
• Page 1785.FEED FUNCTIONS PROGRAMMING B-63324EN/03 F code specification value FRN F1 0.001 F1 *1 1.000 F1.0 1.000 F9999999 9999.999 F9999 *1 9999.000 F9999.999 9999.999 (Note)*1 : Value specified in fixed-point format with bit 0 (DPI) of parameter No. 2400 set to 1 Explanation  For linear interpolation (G01
• Page 179B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS NOTE In the case of circular interpolation, the feedrate is calculated not from the actual amount of movement in the block but from the arc radius. G93 is a modal G code and belongs to group 05 (includes G95 (feed per revolution) and G94 (feed per minute)).
• Page 1805.FEED FUNCTIONS PROGRAMMING B-63324EN/03 The feedrate set or altered is kept even while the power is off. The current feed rate is displayed on the CRT screen. When more than one handle is provided, the first handle is always used. - Cutting feedrate clamp A common upper limit can be set on the cut
• Page 181B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5.4 OVERRIDE The rapid traverse rate and cutting feedrate can be overridden from the machine operator’s panel. 5.4.1 Feedrate Override A programmed feedrate can be reduced or increased by a percentage (%) selected by the override dial. This feature is used t
• Page 1825.FEED FUNCTIONS PROGRAMMING B-63324EN/03 -Override during thread cutting or tapping During threading or tapping, the override is ignored and the feedrate remains as specified by program. -Override Cancel When an override cancel switch is provided on the machine operator’s panel, the feedrate overri
• Page 183B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5.5 CUTTING FEEDRATE CONTROL Cutting feedrate can be controlled, as indicated in Table 5.5 (a). Table 5.5 (a) Cutting Feedrate Control Function name G code Validity of G code Description The tool is decelerated at the end point of a This function is valid fo
• Page 1845.FEED FUNCTIONS PROGRAMMING B-63324EN/03 Format Exact stop G09 IP ; Exact stop mode G61; Cutting mode G64; Tapping mode G63; Automatic corner override G62; 5.5.1 Exact Stop (G09, G61)Cutting Mode (G64)Tapping Mode (G63) Explanation The inter-block paths followed by the tool in the exact stop mode,
• Page 185B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5.5.2 Automatic Corner Override When cutter compensation is performed, the movement of the tool is automatically decelerated at an inner corner and internal circular area. This reduces the load on the cutter and produces a smoothly machined surface. 5.5.2.1
• Page 1865.FEED FUNCTIONS PROGRAMMING B-63324EN/03 - Override range When a corner is determined to be an inner corner, the feedrate is overridden before and after the inner corner. The distances Ls and Le, where the feedrate is overridden, are distances from points on the cutter center path to the corner (Fi
• Page 187B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS Programmed path d a Le Ls Le Ls C b (2) Cutter center path Tool Fig.5.5.2 (d) Override Range (Straight Line to Arc, Arc to Straight Line) - Override value An override value is set with parameter No. 6612. An override value is valid even for dry run and F1-di
• Page 1885.FEED FUNCTIONS PROGRAMMING B-63324EN/03 5.5.2.2 Circular Cutting Feedrate Change The feedrate along a programmed path is set to a specified feedrate (F) by setting a circular cutting feedrate with respect to F, as follows: (Fig. 5.5.2(e)) Rc F× Rp Rc : Cutter center path radius Rp : Programmed rad
• Page 189B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5.6 AUTOMATIC VELOCITY CONTROL 5.6.1 Automatic velocity control during involute interpolation To enhance the machining precision, the function for automatic velocity control during involute interpolation automatically overrides the specified feedrate as foll
• Page 1905.FEED FUNCTIONS PROGRAMMING B-63324EN/03 Rcp OVR =  × 100 (for internal offset) Rcp - Rofs Rcp : Radius of the involute curve at the center of the tool (The involute curve passes through the center of the tool.) Rofs :Radius of the tool - Lower override limit (OVRlo ) When an override is appl
• Page 191B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS If a resultant clamp feedrate is less than the minimum allowable feedrate specified in parameter No. 1491, the minimum allowable feedrate is used as a clamp feedrate. - 169 -
• Page 1925.FEED FUNCTIONS PROGRAMMING B-63324EN/03 5.6.2 Automatic Velocity Control During Polar Coordinate Interpolation If the feedrate component of a rotation axis exceeds a maximum allowable cutting feedrate in polar coordinate interpolation mode, an OT512 alarm (feedrate excess alarm) is issued. However
• Page 193B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS NOTE 1 The machine lock or interlock function sometimes does not work as soon as the corresponding switch is turned on while the automatic clamp function is being executed. 2 If the feed hold switch is turned on while the automatic clamp function is being ex
• Page 1945.FEED FUNCTIONS PROGRAMMING B-63324EN/03 5.7 DWELL Format DwellG04 X_ ; or G04 P_ ; X ; Specify a time (decimal point permitted) P ; Specify a time (decimal point not permitted) Explanation By specifying a dwell, the execution of the next block is delayed by the specified time. Bit 5 (DWL) of param
• Page 195B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5.8 FEEDRATE SPECIFICATION ON A VIRTUAL CIRCLE FOR A ROTARY AXIS The method of feedrate specification on a machine with a rotation axis is improved. [Conventional method] Y Specified feedrate Sample program: (deg/min) N1G91G01X10.F100. N2C10.F50 C N2 The fee
• Page 1965.FEED FUNCTIONS PROGRAMMING B-63324EN/03 [Method of feedrate specification on a virtual circle for a rotation axis] With the method of feedrate specification on a virtual circle for a rotation axis, feedrate control is exercised so that the time T’ calculated by the expression below is used to trav
• Page 197B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS Limitations - Unusable functions This function cannot be used with the following functions: - G functions of group 01 listed below Positioning Circular interpolation, helical interpolation, spiral interpolation, conical interpolation Circular threading B Inv
• Page 1985.FEED FUNCTIONS PROGRAMMING B-63324EN/03 Reference items FANUC Series Operator’s Manual U.5.3 Cutting Feed 15i/150i-MA (Programming) (B-63324EN) - 176 -
• Page 199B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS 5.9 AUTOMATIC FEEDRATE CONTROL BY AREA Overview When an area on the XY plane(*1) is specified in cutting mode in automatic operation, the area override can be applied to a specified feedrate(*2) if the tool is in the specified area. To do this, first set an
• Page 2005.FEED FUNCTIONS PROGRAMMING B-63324EN/03 If two diagonal vertexes have the same coordinates, the area is a point. - When two or more areas overlap, the area override for the area with the smallest area number is used for the overlapping portion. (See Fig. 5.9(c).) Y-axis Vertex pair 1 Vertex pair 2
• Page 201B-63324EN/03 PROGRAMMING 5.FEED FUNCTIONS (3) Move the tool manually to a desired position, then press CRT/MDI soft key [AREA SETTING] to record the position. Then, the coordinates of the current cursor position change. Setting an area override An area override is set within the range of 0% to 127%.
• Page 2026.REFERENCE POSITION PROGRAMMING B-63324EN/03 6 REFERENCE POSITION A CNC machine tool has a special position where, generally, the tool is exchanged or the coordinate system is set, as described later. This position is referred to as a reference position. - 180 -
• Page 203B-63324EN/03 PROGRAMMING 6.REFERENCE POSITION 6.1 REFERENCE POSITION RETURN The reference position is a fixed position on a machine tool to which the tool can easily be moved by the reference position return function. For example, the reference position is used as a position at which tools are autom
• Page 2046.REFERENCE POSITION PROGRAMMING B-63324EN/03 R (Reference position) Reference position return A ¤B ¤R Return from the reference position R ¤B ¤C B (Intermediate position) A (Start position for reference C (Destination of return from the position return) reference position) Fig.6.1 (b) Reference pos
• Page 205B-63324EN/03 PROGRAMMING 6.REFERENCE POSITION Explanation - Reference position return (G28) Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. Therefore, for safety, the cutter compensation, and tool length compensation should be cancelled b
• Page 2066.REFERENCE POSITION PROGRAMMING B-63324EN/03 - First return to the reference position after the power has been turned on (without an absolute position detector) When the G28 command is specified when manual return to the reference position has not been performed after the power has been turned on,
• Page 207B-63324EN/03 PROGRAMMING 6.REFERENCE POSITION 6.2 FLOATING REFERENCE POSITION RETURN (G30.1) Tools ca be returned to the floating reference position. A floating reference point is a position on a machine tool, and serves as a reference point for machine tool operation. A floating reference point nee
• Page 2086.REFERENCE POSITION PROGRAMMING B-63324EN/03 Example G30.1 G90 X50.0 Y40.0 ; Y Intermediate position (50,40) Floating reference position Workpiece X - 186 -
• Page 209B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM 7 COORDINATE SYSTEM By teaching the CNC a desired tool position, the tool can be moved to the position. Such a tool position is represented by coordinates in a coordinate system. Coordinates are specified using program axes. When three program axes, the X
• Page 2107.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.1 MACHINE COORDINATE SYSTEM The point that is specific to a machine and serves as the reference of the machine is referred to as the machine zero point. A machine tool builder sets a machine zero point for each machine. A coordinate system with a machin
• Page 211B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM Reference - Machine coordinate system When manual reference position return is performed after power-on, a machine coordinate system is set so that the reference position is at the coordinate values of (α,β) set using parameter No.1240. Machine coordinate
• Page 2127.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.2 WORKPIECE COORDINATE SYSTEM A coordinate system used for machining a workpiece is referred to as a workpiece coordinate system. A workpiece coordinate system can be set using one of the two methods described below. (1) Method using G92 A workpiece coo
• Page 213B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM 7.2.1 Setting a Workpiece Coordinate System (G92) A programmed command establishes a workpiece coordinate system according to the value after G92. Format (G90) G92 IP Explanation A workpiece coordinate system is set so that a point on the tool, such as th
• Page 2147.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.2.2 Setting Workpiece Coordinate System (G54 to G59) Explanation - Setting workpiece coordinate system Six workpiece coordinate systems can be set. These six systems are decided by setting the distances of each axis from the machine zero point to the ze
• Page 215B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM - Shifting workpiece coordinate system Six workpiece coordinate systems can be shifted by a specified value (common workpiece zero point offset value) Workpiece Workpiece Workpiece Workpiece coordinate coordinate system 1 coordinate system 2 coordinate sy
• Page 2167.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.2.3 Selecting Workpiece Coordinate System(G54 to G59) A set workpiece coordinate system is selected with a programmed command. Format G54 . . . . . . Workpiece coordinate system 1 G55 . . . . . . Workpiece coordinate system 2 G56 . . . . . . Workpiece c
• Page 217B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM 7.2.4 Changing Workpiece Coordinate System The six workpiece coordinate systems specified with G54 to G59 can be changed by changing an common workpiece zero point offset value or workpiece zero point offset value. Three methods are available to change an
• Page 2187.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 Explanation - Changing by G10 With the G10 command, each workpiece coordinate system can be changed separately. - Changing by G92 By specifying G92IP_;, a workpiece coordinate system (selected with a code from G54 to G59) is shifted to set a new workpiece
• Page 219B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM G54 Workpiece Suppose that a G54 workpiece coordinate Coordinate system system is specified. Then, a G55 workpiece Z’ G55 Workpiece coordinate system where the black circle on Coordinate system the tool (figure at the left) is at 1200.0 (600.0,12000.0) ca
• Page 2207.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.2.5 Adding Workpiece Coordinate Systems (G54.1) Besides the six workpiece coordinate systems (standard workpiece coordinate systems) selectable with G54 to G59, 48 additional workpiece coordinate systems (additional workpiece coordinate systems) can be
• Page 221B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM If a value not within the specifiable range is specified in a P code, an P/S alarm (PS0305) is issued. P codes other than workpiece offset numbers cannot be specified in a G54.1 (G54) block. Example jG54.1G04 P1000 ; - 199 -
• Page 2227.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.2.6 Workpiece Coordinate System Preset (G92.1) The workpiece coordinate system preset function presets a workpiece coordinate system shifted by manual intervention to the pre-shift workpiece coordinate system. The latter system is displaced from the mac
• Page 223B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM these operations is shifted from the machine coordinate system using the commands and operations listed following case. (a) Manual intervention performed when the manual absolute signal is off (b) Move command executed in the machine lock state (c) Moveme
• Page 2247.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.2.7 Automatically Presetting the Workpiece Coordinate System This function automatically presets the workpiece coordinate system to the position where machine lock is applied, after the machine is operated with machine lock set on and machine lock is re
• Page 225B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM 7.3 LOCAL COORDINATE SYSTEM When a program is created in a workpiece coordinate system, a child workpiece coordinate system can be set for easier programming. Such a child coordinate system is referred to as a local coordinate system. Format G52 IP ; Sett
• Page 2267.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 CAUTION 1 When an axis returns to the reference point by the manual reference point return function,the zero point of the local coordinate system of the axis matches that of the work coordinate system. The same is true when the following command is issued
• Page 227B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM 7.4 PLANE SELECTION Select the planes for circular interpolation, cutter compensation, and drilling by G-code. The following table lists G-codes and the planes selected by them. Explanation Table7.4 Plane selected by G code G code Selected plane Xp Yp Zp
• Page 2287.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 7.5 PLANE CONVERSION FUNCTION This function converts a machining program created on the G17 plane in the right-hand Cartesian coordinate system to programs for other planes specified by G17.1Px commands, so that the same figure appears on each plane when
• Page 229B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM (2) G17.1 P2 Z X Y G18 plane ~ indicates that the negative direction of the axis perpendicular to the page is the direction coming out the page (in this case, the Y-axis perpendicular to the XZ plane). (3) G17.1 P3 Z Y X G19 plane (4) G17.1 P4 Z X Y G18 p
• Page 2307.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 (5)      Program commands on the G17 plane are converted to the following commands by plane conversion: Command G17.1P1 G17.1P2 G17.1P3 G17.1P4 G17.1P5 X X X Y -X -Y Y Y Z Z Z Z Z Z -Y -X Y -X G02 G02 G03 G02 G02 G03 G03 G03 G02 G03 G03 G02
• Page 231B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM Example Y G17 Z Z Y Machine coordinate system X G54 X Y -Z Program coordinate system X G55 G17.1P2 Y Machine coordinate system X Y Y Y G55 G54 X X Z Machine coordinate system X -Z O1000 (MAIN PROGRAM) N10 G91 G28 X0 Y0 Z0 N20 G54 N30 G17 N40 M98 P2000 N50
• Page 2327.COORDINATE SYSTEM PROGRAMMING B-63324EN/03 CAUTION 1 Plane conversion can be performed only for commands for the X-, Y-, or Z-axis. 2 Plane conversion cannot be performed for manual operation. 3 Plane conversion cannot be performed for the following commands for moving the tool to a specified posi
• Page 233B-63324EN/03 PROGRAMMING 7.COORDINATE SYSTEM CAUTION 9 When 1 is set in NCM (bit 7 of parameter No. 2401), resetting the system in the plane conversion mode does not change the mode. Z Original program coordinate system origin Y X When bit 0 of parameter No. 2407 is 1 Y2 100.0 ... N100 G00 X0 Y0 Z0
• Page 2348.COORDINATE VALUE AND DIMENSION PROGRAMMING B-63324EN/03 8 COORDINATE VALUE AND DIMENSION This chapter contains the following topics. 8.1 ABSOLUTE AND INCREMENTAL PROGRAMMING (G90, G91) 8.2 POLAR COORDINATE COMMAND (G15, G16) 8.3 INCH/METRIC CONVERSION (G20, G21) 8.4 DECIMAL POINT INPUT/ POCKET CAL
• Page 235B-63324EN/03 PROGRAMMING 8.COORDINATE VALUE AND DIMENSION 8.1 ABSOLUTE AND INCREMENTAL PROGRAMMING There are two ways to command travels of the tool; the absolute command, and the incremental command. In the absolute command, coordinate value of the end position is programmed; in the incremental com
• Page 2368.COORDINATE VALUE AND DIMENSION PROGRAMMING B-63324EN/03 8.2 POLAR COORDINATE COMMAND (G15,G16) The end point coordinate value can be input in polar coordinates (radius and angle). The plus direction of the angle is counterclockwise of the selected plane first axis + direction, and the minus direct
• Page 237B-63324EN/03 PROGRAMMING 8.COORDINATE VALUE AND DIMENSION - When the radius is specified with incremental command The current position is used as the origin of the polar coordinate system. Command position Command position Angle Radius Angle Radius Actual position Actual position When the angle is s
• Page 2388.COORDINATE VALUE AND DIMENSION PROGRAMMING B-63324EN/03 - Specifying angles with incremental commands and a radius with absolute commands N1 G17 G90 G16; Specifying the polar coordinate command and selecting the XY plane Setting the zero point of the workpiece coordinate system as the origin of th
• Page 239B-63324EN/03 PROGRAMMING 8.COORDINATE VALUE AND DIMENSION 8.3 INCH/METRIC CONVERSION (G20,G21) Either inch or metric input can be selected by G code. Format G20 ; Inch input G21 ; mm input This G code must be specified in an independent block before setting the coordinate system at the beginning of
• Page 2408.COORDINATE VALUE AND DIMENSION PROGRAMMING B-63324EN/03 8.4 DECIMAL POINT INPUT/POCKET CALCULATOR TYPE DECIMAL POINT INPUT Numerals can be input with decimal points. Decimal points can be used basically in numerals with units of distance, speed, and angle. Following addresses can be commanded. X,
• Page 241B-63324EN/03 PROGRAMMING 8.COORDINATE VALUE AND DIMENSION NOTE 1 A value is rounded off to the number of decimal places of the least input increment. Example X1.23456: When the least input increment is 0.001 mm, the value is set to X1.235. When the least input increment is 0.0001 inch, the value is
• Page 2428.COORDINATE VALUE AND DIMENSION PROGRAMMING B-63324EN/03 8.5 DIAMETER AND RADIUS PROGRAMMING Since the section of a workpiece to be machined in a lathe is usually circular, the sectional dimensions can be programmed with diameters or radiuses in an NC unit. X-axis A B R2 D1 D2 R1 Z-axis D1 , D2 : D
• Page 243B-63324EN/03 PROGRAMMING 8.COORDINATE VALUE AND DIMENSION 8.6 PROGRAMMABLE SWITCHING OF DIAMETER/RADIUS SPECIFICATION Assume that diameter or radius specification has been selected for each controlled axis by using bit 3 (DIA) of parameter No. 1006. This function allows the use of a G code to switch
• Page 2448.COORDINATE VALUE AND DIMENSION PROGRAMMING B-63324EN/03 Example Program O0010 N01 T1001 N02 G10.9 X1 Z0 N03 S200 N04 M03 N05 G00 G90 X240. Z180. N06 X60. Z170. N07 G01 Z90. N08 X90. Z70. N09 G00 X240. N10 Z180. N11 M05 N12 T2002 N13 G10.9 X0 Z0 N14 G00 G90 X120. Z175. N15 X15. N16 G01 Z120. N17 G0
• Page 245B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) 9 SPINDLE SPEED FUNCTION (S FUNCTION) The spindle speed can be controlled by specifying a value following address S. 9.1 SPECIFYING THE SPINDLE SPEED WITH A CODE 9.2 CONSTANT SURFACE SPEED CONTROL (G96, G97) 9.3 SPINDLE POSITIONING FUNCT
• Page 2469.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 9.1 SPECIFYING THE SPINDLE SPEED WITH A CODE When a value is specified after address S, the code signal and strobe signal are sent to the machine to control the spindle rotation speed. A block can contain only one S code. Refer to the ap
• Page 247B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) 9.2 CONSTANT SURFACE SPEED CONTROL (G96, G97) Specify the surface speed (relative speed between the tool and workpiece) following S. The spindle is rotated so that the surface speed is constant regardless of the position of the tool. For
• Page 2489.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 spindle speed (min-1) The spindle speed (min-1) almost coincides with the surface speed (m/min) at approx. im/min j‚Ì ”’l‚ªˆê’v 160 mm (radius). Surface speed S is 600 m/min. radius (mm) Fig.9.2 (a) Relation between workpiece radius, spi
• Page 249B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) - Setting the workpiece coordinate system for constant surface speed control To execute the constant surface speed control, it is necessary to set the work coordinate system , and so the coordinate value at the center of the rotary axis,
• Page 2509.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 - Position coder-less feed per revolution and constant surface speed control These functions are enabled when bit 6 (FPR) of parameter No. 2405 is set to 1. On a machine on which no position coder is installed, feed per revolution is ena
• Page 251B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) Limitation - Constant surface speed control for threading The constant surface speed control is also effective during threading. If face threading or taper threading is performed in G96 mode, however, the spindle speed changes, and tool
• Page 2529.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 9.3 SPINDLE POSITIONING FUNCTION Turning is described as follows: The spindle connected to the spindle motor is rotated at a certain speed. As a result, the workpiece fixed to the spindle is rotated, and turning is performed. The spindle
• Page 253B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) Spindle control Error Spindle Spindle motor counter amplifier Gear ratio n:m Position Gear ratio n:m Spindle coder Fig.9.3 spindle control system - Least command increment(detection unit) The table below indicates the least command incre
• Page 2549.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 9.3.1 Spindle Positioning Explanation There are two programming methods: indexing at an arbitrary angle, and indexing at a semi-fixed angle. - Indexing at a semi-fixed angle with an M code This is specified with a two-digit numeric value
• Page 255B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) 9.3.2 Orientation Orientation must be performed before: - the spindle is positioned (indexed) for the first time after the spindle is used in normal machining. - the positioning of the spindle is suspended. Explanations Orientation can b
• Page 2569.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 9.3.3 Canceling the Spindle Positioning Mode Explanation The mode can be switched from spindle positioning mode to spindle rotation mode (with positioning cancelled) by specifying the M code set in parameter No. 5681. Positioning mode is
• Page 257B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) NOTE 11 The spindle positioning function is enabled only when the number of position coder pulses is 4096, and the gear ratio between the spindle and position coder is as follows: n 1 :2 n : Integer greater than 0 12 For a spindle positi
• Page 2589.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 9.4 SPINDLE SPEED FLUCTUATION DETECTION (G26, G25) General If the actual spindle speed becomes lower or higher than that specified because of the condition of the machine, an overheat alarm (SP0242) is issued, and spindle speed fluctuati
• Page 259B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) Command address Parameter number Q 5701 R 5702 I 5721 P 5722 If any of the P, Q, R, and I command addresses is omitted, spindle speed fluctuation detection is performed with the value set in the corresponding parameter (No. 5071, 5702, 5
• Page 2609.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 NOTE Even when the conditions for issuing an alarm related to spindle speed fluctuation detection have not been satisfied in spindle speed detection enabled mode (G26), a spindle speed fluctuation detection overheat alarm is issued if: -
• Page 261B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) 2) Analog spindle GS4s GS2s GS1s Maximum spindle speed parameter 0 0 0 No.5621 0 0 1 No.5622 0 1 0 No.5623 0 1 1 No.5624 1 0 0 No.5625 1 0 1 No.5626 1 1 0 No.5627 1 1 1 No.5628 - Actual spindle speed The actual spindle speed is calculate
• Page 2629.SPINDLE SPEED FUNCTION (S FUNCTION) PROGRAMMING B-63324EN/03 - Examples of alarms issued for spindle speed fluctuation detection 1) Example where an alarm is issued after the specified spindle speed is reached Actual spindle speed r i q Specified spindle speed A check No check is A check is made.
• Page 263B-63324EN/03 PROGRAMMING 9.SPINDLE SPEED FUNCTION (S FUNCTION) - System with more than one spindle In a system with more than one spindle, spindle speed fluctuation detection is performed for the spindle described below. 1) If the system has no spindle control switching function Spindle speed fluctu
• Page 26410.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 10 TOOL FUNCTION (T FUNCTION) Two tool functions are available. One is the tool selection function, and the other is the tool life management function. - 242 -
• Page 265B-63324EN/03 PROGRAMMING 10.TOOL FUNCTION (T FUNCTION) 10.1 TOOL SELECTION FUNCTION By specifying an up to 10-digit numerical value following address T, tools can be selected on the machine. One T code can be commanded in a block. Refer to the machine tool builder’s manual for the number of digits c
• Page 26610.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 10.2 TOOL LIFE MANAGEMENT FUNCTION Tools are classified into various groups, with the tool life (time or frequency of use) for each group being specified. The function of accumulating the tool life of each group in use and selecting and using th
• Page 267B-63324EN/03 PROGRAMMING 10.TOOL FUNCTION (T FUNCTION) 10.2.1 Tool Life Management Data Tool life management data consists of tool group numbers, tool numbers, codes specifying tool compensation values, and tool life value. Explanations - Tool group number The Max. number of groups and the number of
• Page 26810.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 10.2.2 Register, Change and Delete of Tool Life Management Data In a program, tool life management data can be registered in the CNC unit, and registered tool life management data can be changed or deleted. Explanations A different program forma
• Page 269B-63324EN/03 PROGRAMMING 10.TOOL FUNCTION (T FUNCTION) - Addition and change of tool life management data Format Meaning of command G10L3P1; G10L3P1: Addition and change of group P-L-; P-: Group number T-H-D-; L-: Life value T-H-D-; T-: Tool number : H-: Code specifying tool offset value (H code) P-
• Page 27010.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 Life values A life value can be registered as either a time or frequency, by using bit 3 (LTM) of parameter No. 7400 or setting the corresponding count type (with the Q command). The maximum values are as follows: Table 10.2.2 (a) Life Count Typ
• Page 271B-63324EN/03 PROGRAMMING 10.TOOL FUNCTION (T FUNCTION) 10.2.3 Tool Life Management Command in a Machining Program Explanations - Command The following command is used for tool life management: Txxxxxxxx ; Specifies a tool group number. The tool life management function selects, from a specified grou
• Page 27210.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 - Types For tool life management, the four tool change types (types A to D) indicated below are available. The type used varies from one machine to another. For details, refer to the appropriate manual of each machine tool builder. Table 10.2.3
• Page 273B-63324EN/03 PROGRAMMING 10.TOOL FUNCTION (T FUNCTION) Example - Tool change method A A tool group command (T code) specified in a block containing the tool change command (M06) functions as a command for returning the tool to the magazine. By specifying a tool group number with a T code, the number
• Page 27410.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 - Tool change methods B and C A tool group command (T code) specified in a block containing the tool change command (M06) functions as a tool group number command that performs life counting with the next tool change command. Example: Assume tha
• Page 275B-63324EN/03 PROGRAMMING 10.TOOL FUNCTION (T FUNCTION) - Tool change method D The life of the tool selected with a tool group command (T code) is counted with the tool change command (M06) specified in the same block. If the T command is not specified in the same block as M06, the T command is treat
• Page 27610.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 10.2.4 Tool Service Life Count and Tool Selection A count-based or time-based tool service life count system is selected using bit 3 (LTM) of parameter No. 7400. Service life counting is performed group by group. Service life count data is not l
• Page 277B-63324EN/03 PROGRAMMING 10.TOOL FUNCTION (T FUNCTION) - Time specification (LTM = 1) Once all the registered tool life management data has been deleted, programmed tool life management data is registered. When a tool group command (T code) is specified, a tool whose service life has not expired is
• Page 27810.TOOL FUNCTION (T FUNCTION) PROGRAMMING B-63324EN/03 10.2.5 Tool Life Count Restart M Code Explanations When the life count type is frequency, a tool-change signal is output if at least one tool group has expired when the tool life count restart M code is specified. After the tool life count resta
• Page 279B-63324EN/03 PROGRAMMING 11.AUXILIARY FUNCTION 11 General AUXILIARY FUNCTION There are two types of auxiliary functions ; miscellaneous function (M code) for specifying spindle start, spindle stop program end, and so on, and secondary auxiliary function (B code) for specifying index table positionin
• Page 28011.AUXILIARY FUNCTION PROGRAMMING B-63324EN/03 11.1 AUXILIARY FUNCTION (M FUNCTION) When a numeral is specified following address M, code signal and a strobe signal are sent to the machine. The machine uses these signals to turn on or off its functions. Usually, only one M code can be specified in o
• Page 281B-63324EN/03 PROGRAMMING 11.AUXILIARY FUNCTION NOTE The block following M00, M01, M02, or M30 is not pre-read (buffered). Similarly, eight M codes which do not buffer can be set by parameters (Nos. 2411 to 2418). Refer to the machine tool builder’s instruction manual for these M codes. - 259 -
• Page 28211.AUXILIARY FUNCTION PROGRAMMING B-63324EN/03 11.2 MULTIPLE M COMMANDS IN A SINGLE BLOCK In general, only one M code can be specified in a block. However, up to five M codes can be specified at once in a block. Up to five M codes specified in a block are simultaneously output to the machine. This m
• Page 283B-63324EN/03 PROGRAMMING 11.AUXILIARY FUNCTION 11.3 THE AUXILIARY FUNCTIONS When a numeric value is specified after address B, the code signal and strobe signal are output. This code is held until the next B code is output. A B code is used, for example, for rotation axis indexing on the machine. On
• Page 28412.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 12 General PROGRAM CONFIGURATION - Main program and subprogram There are two program types, main program and subprogram. Normally, the CNC operates according to the main program. However, when a command calling a subprogram is encountered in the main
• Page 285B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION - Program components A program consists of the following components: Table12 Program components Components Descriptions File start Symbol indicating the start of a program file Leader section Used for the title of a program file, etc. Program start S
• Page 28612.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 12.1 PROGRAM SECTION CONFIGURATION This section describes elements of a program section. See II-12.4 for program components other than program sections. Program number % TITLE ; O0001 ; N1 ... ; Sequence number Program section (COMMENT) M30 ; % Progr
• Page 287B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION be placed. Sequence numbers can be specified in a random order, and any numbers can be skipped. Sequence numbers may be specified for all blocks or only for desired blocks of the program. In general, however, it is convenient to assign sequence numbe
• Page 28812.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 Function Address Meaning Rate of feed per minute, Feed function F Rate of feed per revolution Spindle speed S Spindle speed function Tool function T Tool number M On/off control on the machine tool Auxiliary function B Table indexing, etc. Offset num
• Page 289B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION Table12.1 (c) Major addresses and ranges of command values Function Address Input in mm Input in inch *1 Program number O 1 to 99999999 1 to 99999999 Sequence number N 1 to 99999999 1 to 99999999 Preparatory function G 0 to 99.9 0 to 99.9 ±99999.999i
• Page 29012.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 *3 When a millimeter machine is used with inch input, the maximum specifiable range of a dimension word is as follows: Increment system The maximum specifiable range IS-A ±39370.078inch IS-B ±39370.0787inch IS-C ±3937.00787inch IS-D ±393.700787inch I
• Page 291B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION CAUTION 1 Position of a slash A slash (/) must be specified at the head of a block. If a slash is placed elsewhere, the information from the slash to immediately before the EOB code is ignored. 2 Disabling an optional block skip switch Optional block
• Page 29212.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 12.2 SUBPROGRAM (M98, M99) If a program contains a fixed sequence or frequently repeated pattern, such a sequence or pattern can be stored as a subprogram in memory to simplify the program. A subprogram can be called from the main program. A called s
• Page 293B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION A single call command can repeatedly call a subprogram up to 9999 times. For compatibility with automatic programming systems, in the first block, Nxxxx can be used instead of a subprogram number that follows O (or :). A sequence number after N is re
• Page 29412.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 Special Usage - Specifying the sequence number for the return destination in the main program If P is used to specify a sequence number when a subprogram is terminated, control does not return to the block after the calling block, but returns to the
• Page 295B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION - Using a subprogram only A subprogram can be executed just like a main program by searching for the start of the subprogram with the MDI. (See Operation II-10.3- for information about search operation.) In this case, if a block containing M99 is exe
• Page 29612.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 12.3 PROGRAM NUMBER The 8-digit program number function enables specification of program numbers with eight digits following address O (1 to 99999999). Explanation - Disabling editing of programs Editing of subprograms O00008000 to O00008999 and O000
• Page 297B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION 12.4 PROGRAM COMPONENTS OTHER THAN PROGRAM SECTIONS This section describes program components other than program sections. See Operation II-12.1 for a program section. Leader File start % TITLE ; Program start O0001 ; Program section (COMMENT) Commen
• Page 29812.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 - Program start The program start code is to be entered immediately after a leader section, that is, immediately before a program section. This code indicates the start of a program, and is always required to disable the label skip function. With SYS
• Page 299B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION CAUTION If a long comment section appears in the middle of a program section, a move along an axis may be suspended for a long time because of such a comment section. So a comment section should be placed where movement suspension may occur or no mov
• Page 30012.PROGRAM CONFIGURATION PROGRAMMING B-63324EN/03 12.5 EXTERNAL DEVICE SUBPROGRAM CALL (M198) During memory operation, subprograms registered in an external device (such as Handy File, data server, and so forth) connected to the CNC can be called and executed. Format M198 P[program-number (or file-n
• Page 301B-63324EN/03 PROGRAMMING 12.PROGRAM CONFIGURATION NOTE 3 External device subprograms can be called only during memory operation. If an attempt is made to call an external device subprogram in other than memory mode, an alarm (PS0081) is output. 4 An additional external device cannot be called from a
• Page 30213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13 FUNCTIONS TO SIMPLIFY PROGRAMMING This chapter explains the following items: 13.1 CANNED CYCLE 13.2 RIGID TAPPING 13.3 EXTERNAL MOTION FUNCTION 13.4 OPTIONAL ANGLE CHAMFERING AND CORNER ROUNDING 13.5 PROGRAMMABLE MIRROR IMAGE(G50.1,G51
• Page 303B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1 CANNED CYCLE Canned cycles make it easier for the programmer to create programs. With a canned cycle, a frequently-used machining operation can be specified in a single block with a G function; without canned cycles, normally more th
• Page 30413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Explanation A canned cycle consists of a sequence of six operations (Fig. 13.1 (a)) Operation 1 ..... Positioning of axes X and Y (including also another axis) Operation 2 ..... Rapid traverse up to point R level Operation 3 ..... Hole ma
• Page 305B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Drilling axis Although canned cycles include tapping and boring cycles as well as drilling cycles, in this chapter, only the term drilling will be used to refer to operations implemented with canned cycles. The drilling axis is a basic
• Page 30613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Travel distance along the drilling axis G90/G91 The travel distance along the drilling axis varies for G90 and G91 as follows: G90 (Absolute Command) G91 (Incremental Command) R Point R R Point R Z=0 Z Point Z Point Z Z Fig. 13.1 (b) Ab
• Page 307B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Return point level G98/G99 When the tool reaches the bottom of a hole, the tool may be returned to point R or to the initial level. These operations are specified with G98 and G99. The following illustrates how the tool moves when G98 o
• Page 30813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Symbols in figures Subsequent sections explain the individual canned cycles. Figures in these explanations use the following symbols: Positioning (rapid traverse G00) Cutting feed (linear interpolation G01) Manual feed OSS Oriented spin
• Page 309B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.1 High-speed Peck Drilling Cycle (G73) This cycle performs high-speed peck drilling. It performs intermittent cutting feed to the bottom of a hole while removing chips from the hole. Format G73 X_ Y_ Z_ R_ Q_ F_ L_ ; X_ Y_ : Hole pos
• Page 31013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Miscellaneous function When the G73 code and an M code are specified in the same block, the M code is executed at the time of the first positioning operation. When L is used to specify the number of repeats, the M code is executed for t
• Page 311B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.2 Left-handed Tapping Cycle (G74) This cycle performs left-handed tapping. In the left-handed tapping cycle, when the bottom of the hole has been reached, the spindle rotates clockwise. Format G74 X_ Y_ Z_ R_ P_ F_ L_ ; X_Y : Hole po
• Page 31213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Spindle rotation Before G74 is specified, turn the spindle in the reverse direction with a miscellaneous function (M code). When successive hole machining operations which involve a short distance from a hole position and the initial le
• Page 313B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Example M4 S100 ; Cause the spindle to start rotating. G90 G99 G74 X300. Y-250. Z-150. R -120. F120. ; Position, tapping hole 1, then return to point R. Y-550. ; Position, tapping hole 2, then return to point R. Y-750. ; Position, tapping
• Page 31413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.1.3 Fine Boring Cycle (G76) The fine boring cycle bores a hole precisely. When the bottom of the hole has been reached, the spindle stops, and the tool is moved away from the machined surface of the workpiece and retracted. Format G76
• Page 315B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Miscellaneous function When the G76 command and an M code are specified in the same block, the M code is executed at the time of the first positioning operation. When L is used to specify the number of repeats, the M code is executed fo
• Page 31613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Limitation - Axis switching Before the drilling axis can be changed, the canned cycle must be canceled. - Drilling In a block that does not contain X, Y, Z, R, or any additional axes, drilling is not performed. - I,J,KQ,R Specify I, J, K,
• Page 317B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.4 Drilling Cycle, Spot Drilling (G81) This cycle is used for normal drilling. Cutting feed is performed to the bottom of the hole. The tool is then retracted from the bottom of the hole in rapid traverse. Format G81 X_ Y_ Z_ R_ F_ L_
• Page 31813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Tool length compensation When a tool length offset (G43, G44, or G49) is specified in the canned cycle, the offset is applied at the time of positioning to point R. Restriction - Axis switching Before the drilling axis can be changed, t
• Page 319B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.5 Drilling Cycle Counter Boring Cycle (G82) This cycle is used for normal drilling. Cutting feed is performed to the bottom of the hole. At the bottom, a dwell is performed, then the tool is retracted in rapid traverse. This cycle is
• Page 32013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Tool length compensation When a tool length offset (G43, G44, or G49) is specified in the canned cycle, the offset is applied at the time of positioning to point R. Restriction - Axis switching Before the drilling axis can be changed, t
• Page 321B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.6 Peck Drilling Cycle (G83) This cycle performs peck drilling. It performs intermittent cutting feed to the bottom of a hole while removing shavings from the hole. Format G83 X_ Y_ Z_ R_ Q_ F_ L_ ; X_ Y_ : Hole position data Z_ : The
• Page 32213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Tool length compensation When a tool length offset (G43, G44, or G49) is specified in the canned cycle, the offset is applied at the time of positioning to point R. Limitation - Axis switching Before the drilling axis can be changed, th
• Page 323B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.7 Tapping Cycle (G84) This cycle performs tapping. In this tapping cycle, when the bottom of the hole has been reached, the spindle is rotated in the reverse direction. Format G84 X_ Y_ Z_ R_ P_ F_ L_ ; X_ Y_ : Hole position data Z_
• Page 32413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Spindle rotation Before G84 is specified, turn the spindle in the reverse direction with a miscellaneous function (M code). When successive hole machining operations which involve a short distance from a hole position and the initial le
• Page 325B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Example M3 S100 ; Cause the spindle to start rotating. G90 G99 G84 X300. Y-250. Z-150. R-120. P300 F120. ; Position, drill hole 1, then return to point R. Y-550. ; Position, drill hole 2, then return to point R. Y-750. ; Position, drill h
• Page 32613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.1.8 Boring Cycle (G85) This cycle is used to bore a hole. Format G85 X_ Y_ Z_ R_ F_ L_ ; X_ Y_ : Hole position data Z_ : The distance from point R to the bottom of the hole R_ : The distance from the initial level to point R level F_ :
• Page 327B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Tool length compensation When a tool length offset (G43, G44, or G49) is specified in the canned cycle, the offset is applied at the time of positioning to point R. Limitation - Axis switching Before the drilling axis can be changed, th
• Page 32813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.1.9 Boring Cycle (G86) This cycle is used to bore a hole. Format G86 X_ Y_ Z_ R_ F_ L_ ; X_ Y_ : Hole position data Z_ : The distance from point R to the bottom of the hole R_ : The distance from the initial level to point R level F_ :
• Page 329B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Miscellaneous function When the G86 command and an M code are specified in the same block, the M code is executed at the time of the first positioning operation. When L is used to specify the number of repeats, the M code is executed fo
• Page 33013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.1.10 Boring Cycle/Back Boring Cycle (G87) This cycle performs accurate boring. Format - Canned cycle I (boring cycle) G87 X_ Y_ Z_ R_ F_ L_ ; X_ Y_ : Hole position data Z_ : The distance from point R to the bottom of the hole R_ : The
• Page 331B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Canned cycle II (back boring cycle) G87 X_ Y_ Z_ R_ I_ J_ P_ F_ L_ ; (when the parameter SIJ(No.6200#2) is 1) or G87 X_ Y_ Z_ R_ Q_ P_ F_ L_ ; (when the parameter SIJ(No.6200#2) is 0) X_ Y_ : Hole position data Z_ : The distance from th
• Page 33213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 At point Z, the spindle is stopped at the fixed rotation position again, the tool is shifted in the direction opposite to the tool tip, then the tool is returned to the initial level. The tool is then shifted in the direction of the tool
• Page 333B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING G18 (ZpXp plane): To be specified by K and I G19 (YpZp plane): To be specified by J and K When the XY plane is selected, for example, a shift is made along the X-axis and Y-axis by linear interpolation for an incremental amount specified
• Page 33413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Example M3 S500 ; Cause the spindle to start rotating. G90 G87 X300. Y-250. Position, bore hole 1. Z-150. R-120. Q5. Orient at the initial level, then shift by 5 mm. P1000 F120. ; Stop at point Z for 1 s. Y-550. ; Position, drill hole 2.
• Page 335B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.11 Boring Cycle (G88) This cycle is used to bore a hole. Format G88 X_ Y_ Z_ R_ P_ F_ L_ ; X_ Y_ : Hole position data Z_ : The distance from point R to the bottom of the hole R_ : The distance from the initial level to point R level
• Page 33613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Miscellaneous function When the G88 command and an M code are specified in the same block, the M code is executed at the time of the first positioning operation. When L is used to specify the number of repeats, the M code is executed fo
• Page 337B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.12 Boring Cycle (G89) This cycle is used to bore a hole. Format G89 X_ Y_ Z_ R_ P_ F_ L_ ; X_ Y_: Hole position data Z_ : The distance from point R to the bottom of the hole R_ : The distance from the initial level to point R level P
• Page 33813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Limitation - Axis switching Before the drilling axis can be changed, the canned cycle must be canceled. - Drilling In a block that does not contain X, Y, Z, R, or any other axes, drilling is not performed. -R Specify R in blocks that perf
• Page 339B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.1.13 Canned Cycle Cancel (G80) G80 cancels canned cycles. Format G80 ; Explanation All canned cycles are canceled to perform normal operation. This means that R = 0 and Z = 0 in incremental mode. Other drilling data is also canceled (c
• Page 34013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.1.14 Example of Canned Cycle Offset value +200.0 is set in offset No.11, +190.0 is set in offset No.15, and +150.0 is set in offset No.31 N001G92X0Y0Z0; Coordinate setting at reference position N002G90G00Z250.0T11M6; Tool change N003G4
• Page 341B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Program example using tool length offset and canned cycles Reference position 350 #1 #11 #6 100 #7 200 #10 100 #2 #12 #5 100 #8 #9 Y 200 100 #3 #13 #4 X 400 150 250 250 150 # 1 to 6 Drilling of a 10mm diameter hole # 7 to 10 Drilling of a
• Page 34213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.2 RIGID TAPPING In tapping, an amount of travel per spindle revolution along the Z-axis must match the screw pitch of the tapper. This means that the optimum tapping must satisfy the following condition: P = F/S, where P: Tapper screw
• Page 343B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.2.1 Rigid Tapping (G84.2) When the spindle motor is controlled as if it were a servo motor, a tapping cycle can be sped up. The only difference from the reverse rigid tapping cycle (G84.3) is the spindle rotation direction in tapping.
• Page 34413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Thread lead In feed-per-minute mode, the thread lead is obtained from the expression, feedrate y spindle speed. In feed-per-revolution mode, the thread lead equals the feedrate speed. - Tool length compensation If a tool length compensa
• Page 345B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Feedrate command As indicated in the table below, the function of an F command with a decimal point depends on the setting of bit 3 (RFA) of parameter No. 6201 and bit 7 (RFE) of parameter No. 6201. Table 13.2.1 (b) Feedrate Command Exa
• Page 34613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.2.2 Left-handed Rigid Tapping Cycle (G84.3) When the spindle motor is controlled as if it were a servo motor, tapping cycles can be sped up. The only difference from the rigid tapping cycle (G84.2) is the spindle rotation direction dur
• Page 347B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Tool length compensation If a tool length offset (G43, G44, or G49) is specified in the canned cycle, the offset is applied at the time of positioning to point R. Limitation - Axis switching Before the drilling axis can be changed, the
• Page 34813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 CAUTION For inch inputs, an F command with no decimal point is assumed to have a decimal point in between its second and third places as counted from the lowest place. Note that the settings of RFA = 0 and RFE = 0 can produce the followin
• Page 349B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.2.3 Rigid tapping Orientation Function Before performing rigid tapping, the spindle can be oriented. Format G84.2 (or G84.3) X_Y_Z_R_P_F_L_I_ ; X_ Y_: Hole position data Z_ : Distance from point R to a hole bottom, and hole position R_
• Page 35013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 one-rotation signal from the position coder, the feedrate is automatically reduced to the FL feedrate set in parameter No. 5979 to perform reference position return. 2. For a serial spindle The orientation feedrate depends on the spindle.
• Page 351B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.2.4 Peck Rigid Tapping Cycle (G84 or G74) Tapping a deep hole in rigid tapping mode may be difficult due to chips sticking to the tool or increased cutting resistance. In such cases, the peck rigid tapping cycle is useful. So, the peck
• Page 35213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Retraction feedrate To the feedrate used for each retraction operation, an override value from 1% to 200% can be applied by using parameter No. 5883. During rigid tapping, the retraction feedrate override function is enabled even in ret
• Page 353B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.2.5 Three-dimensional rigid tapping When the machine is provided with axes for swiveling the tool, this function allows rigid tapping in the direction in which the tool is pointing after the tool is swiveled about the specified axes. T
• Page 35413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Z Z’ B A Y Y’ X X’ Y’     X’ Fig. 13.2.5 Three-dimensional rigid tapping - 332 -
• Page 355B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.3 EXTERNAL MOTION FUNCTION (G81) Upon completion of positioning in each block in the program, an external operation function signal can be output to allow the machine to perform specific operation. Concerning this operation, refer to t
• Page 35613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.4 OPTIONAL ANGLE CHAMFERING AND CORNER ROUNDING Chamfering and corner rounding blocks can be inserted automatically between the following: - Between linear interpolation and linear interpolation blocks - Between linear interpolation an
• Page 357B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Corner R After R, specify the radius for corner rounding. (1) G91 G01 X100.0 ,R10.0 ; (2) X100.0 Y100.0 ; Center of a circle with radius R R Radius R block to be inserted Fig.13.4 (b) Corner R Limitation - Next block A block specifying
• Page 35813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Coordinate system In a block that comes immediately after the coordinate system is changed (G92, or G52 to G59) or a return to the reference position (G28 to G30) is specified, neither chamfering nor corner rounding can be specified. -
• Page 359B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Example N001 G92 G90 X0 Y0 ; N002 G00 X10.0 Y10.0 ; N003 G01 X50.0 F10.0 ,C5.0 ; N004 Y25.0 ,R8.0 ; N005 G03 X80.0 Y50.0 R30.0 ,R8.0 ; N006 G01 X50.0 ,R8.0 ; N007 Y70.0 ,C5.0 ; N008 X10.0 ,C5.0 ; N009 Y10.0 ; N010 G00 X0 Y0 ; N011 M0 ; Y
• Page 36013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.5 PROGRAMMABLE MIRROR IMAGE (G50.1, G51.1) By a programmed command, the mirror image function can be used for each axis. Y Axis of symmetry (X=50) (2) (1) 100 60 50 Axis of symmetry (Y=50) 40 0 (3) (4) 0 40 50 60 100 X (1) Original ima
• Page 361B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Explanation - Mirror image by setting If the programmable mirror image function is specified when the command for producing a mirror image is also selected by a CNC external switch or CNC setting, the programmable mirror image function is
• Page 36213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Three-dimensional cutter compensation In mirror operation, there must be no conflict between the linear axes and rotation axes.  x        w         Example 1: XY Plane in a BC-Type Machine w x y a
• Page 363B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Three-dimensional coordinate conversion When three-dimensional coordinate conversion and programmable mirror image are used at the same time, programmable mirror image is applied to the coordinates in the program coordinate system, then
• Page 36413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 13.6 INDEX TABLE INDEXING FUNCTION By specifying indexing positions (angles) for the indexing axis (one arbitrary axis), the index table of the machining center can be indexed. Before and after indexing, the index table is automatically u
• Page 365B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Indexing direction If a value other than 0 is set in the M code for specifying negative direction rotation (parameter No.7632), movement in the negative direction is made only when a move command is specified together with the M code. I
• Page 36613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Item Explanation Operation during index table indexing Unless otherwise processed by the machine, feed hold, interlock, and axis movement emergency stop can be executed during index table indexing axis movement. Machine lock can be execut
• Page 367B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.7 FIGURE COPY (G72.1,G72.2) Machining can be repeated after moving or rotating the figure using a subprogram. Format - Rotational copy Xp-Yp plane (specified by G17) : G72.1 P_ L_ Xp_ Yp_ R_ ; Zp-Xp plane (specified by G18) : G72.1 P_
• Page 36813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Linear copy Xp-Yp plane (specified by G17) : G72.2 P_ L_ I_ J_ ; Zp-Xp plane (specified by G18) : G72.2 P_ L_ K_ I_ ; Yp-Zp plane (specified by G19) : G72.2 P_ L_ J_ K_; P : Subprogram number L : Number of times the operation is repeate
• Page 369B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Block end position The coordinates of a figure moved rotationally or linearly (block end position) can be read from #5001 and subsequent system variables of the custom macro of rotational or linear copy. - Disagreement between end point
• Page 37013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Limitation - Specifying two or more commands to copy a figure G72.1 cannot be specified more than once in a subprogram for making a rotational copy (If this is attempted, alarm PS0900 will occur). G72.2 cannot be specified more than once
• Page 371B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Example - Rotational copy Main program O1000 ; N10 G90 G00 X80. Y100. ; N20 Y50. ; (P0) N30 G01 G17 G42 X43.301 Y25. D01 F100 ; (P1) N40 G72.1 P1100 L3 X0 Y0 R120. ; N50 G90 G40 G01 X80. Y50. ; (P0) N60 G00 X80. Y100. ; N70 M30 ; Sub prog
• Page 37213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Rotational copy (Spot boring) Main program O2000 ; N10 G90 G00 G17 X250. Y100. Z100. ; (P0) N20 G72.1 P2100 L6 X100. Y50. R60. ; N30 G80 G00 X250. Y100. ; (P0) N40 M30 ; Sub program O2100 N100 G90 G81 X100. Y150. R60. Z10. F200. ; (P1)
• Page 373B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Linear copy Main program O3000 ; N10 G90 G00 X-30. Y0 ; N20 X0 ; N30 G01 G17 G41 X30. D01 F100 ; (P0) N40 Y20. ; (P1) N50 X40. ; (P2) N60 G72.2 P3100 L3 I90.0 J0 ; N70 G90 X310. Y0 ; (P8) N80 X0 ; N90 G40 G00 X-30.0 ; N100 M30 ; Sub pro
• Page 37413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Combination of rotational copying and linear copying (Bolt hole circle) Main program O4000 ; N10 G90 G00 G17 X240. Y230. Z100. ; (P0) N20 G72.1 P4100 X120. Y120. L8 R45. ; N30 G80 G00 X240. Y230. ; (P0) N40 M30 ; Sub program irotation c
• Page 375B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.8 NORMAL DIRECTION CONTROL (G40.1, G41.1, G42.1) When a tool with a rotation axis (C-axis) is moved in the XY plane during cutting, the normal direction control function can control the tool so that the C-axis is always perpendicular t
• Page 37613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Cutter center path Cutter center path Programmed path Center of the arc Programmed path Fig.13.8 (b) Normal direction control left (G41.1) Fig.13.8 (c) Normal direction control right (G42.1) Explanation - Angle of the C axis When viewed f
• Page 377B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING for rotation of the tool and a command for movement along the X- and Y-axes. A single-block stop always occurs after the tool is moved along the X- and Y-axes. Cutter center path S N1 S : Single block stop point Programmed path N2 S N3 S
• Page 37813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - C axis feedrate Movement of the tool inserted at the beginning of each block is executed at the feedrate set in parameter 1472. If dry run mode is on at that time, the dry run feedrate is applied. If the tool is to be moved along the X-
• Page 379B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING 13.9 THREE-DIMENSIONAL COORDINATE CONVERSION (G68,G69) Coordinate conversion about an axis can be carried out if the center of rotation, direction of the axis of rotation, and angular displacement are specified. This function is very usef
• Page 38013.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 NOTE 1 Use absolute programming for Xp, Yp, and Zp specified in G68. 2 When only one rotation is sufficient, the second G68 is not required. 3 If the second G68 does not specify Xp, Yp, or Zp, the center of the second rotation is the same
• Page 381B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Programmed values Xp, Yp, and Zp in N3 are regarded as being the coordinates in program coordinate system X", Y", and Z". Examble) G68 Xx0 Xy0 Zz0 10 JO K1 Rα G68 11 JO K0 Rβ Z’ Z Z’’ Y’’ X,Y,Z :Workpiece coordinate β system Y’ X’,Y’,Z’ :
• Page 38213.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 by resetting the CNC by the input of the ERS, ESP, or RRW signal from the PMC. NOTE Even if bit 4 (D3R) of parameter No. 6400 is set to 1, G69 mode is assumed when program execution is restarted. - Custom macro system variable If the work
• Page 383B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Z Z’ X Y Y X’ X, Y ,Z : Coordinate system before conversion (workpiece coordinate system) X’, Y’ ,Z’ : Coordinate system after conversion (program coordinate system) When manual movement is made along the Z-axis: (1) A movement is made in
• Page 38413.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 - Indication of remaining amounts of travel By setting bit 5 (D3D) of parameter No. 2208, the user can choose whether a remaining amount of travel in three-dimensional coordinate conversion mode is indicated in the program coordinate syst
• Page 385B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING Limitation - Increment system NOTE The same increment system must be used for all of the three basic axes used for three-dimensional coordinate conversion. - Rapid traverse command NOTE Set bit 4 (LRP) of parameter No. 1400 to 1 to specif
• Page 38613.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 (Example) G68 X100. Y100. Z100. I0. J0. K1. R45. ; : G41 D01 ; : G40 ; G90 G00 X100. Y100. Z0 ; Always use absolute programming. G69 ; - Parallel axis control Even if a parking signal is enabled for an axis in parallel axis control, three
• Page 387B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING n1 : Cosine of the angle made by the rotation axis and X-axis i i + j2 + k 2 n2 : Cosine of the angle made by the rotation axis and Y-axis j i + j2 + k 2 n3 : Cosine of the angle made by the rotation axis and Z-axis k i + j2 + k 2 θ : Ang
• Page 38813.FUNCTIONS TO SIMPLIFY PROGRAMMING PROGRAMMING B-63324EN/03 Example N1 G90 X0 Y0 Z0 ; (1) N2 G68 X10. Y0 Z0 I0 J1 K0 R30. ; (2) N3 G68 X0 Y-10. Z0 I0 J0 K1 R-90. ; (3) N4 G90 X0 Y0 Z0 ; (4) N5 X10. Y10. Z0 ; (5) (1) Carries out positioning to zero point H. (2) Forms new coordinate system X’Y’Z’. (
• Page 389B-63324EN/03 PROGRAMMING 13.FUNCTIONS TO SIMPLIFY PROGRAMMING - Programmable mirror image When three-dimensional coordinate conversion and programmable mirror image are used at the same time, programmable mirror image is applied to coordinates in the program coordinate system, then three- dimensiona
• Page 39014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14 General COMPENSATION FUNCTION This chapter describes the following compensation functions: 14.1 TOOL LENGTH OFFSET (G43,G44,G49) 14.2 TOOL OFFSET (G45 TO G48) 14.3 OVERVIEW OF CUTTER COMPENSATION C (G40 - G42) 14.4 DETAILS OF CUTTER COMPENSATION C
• Page 391B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.1 TOOL LENGTH OFFSET (G43,G44,G49) This function can be used by setting the difference between the tool length assumed during programming and the actual tool length of the tool used into the offset memory. It is possible to compensate the differen
• Page 39214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.1.1 General Format Tool length G43 α_H_ ; Explanation of each address offset G44 α_H_ ; G43 : Positive offset Tool length G49; G44 : Negative offset offset or H0;(when the parameter α : Address of a specified axis cancel LXY (No.6000#4) :s1) H : A
• Page 393B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION NOTE The tool length offset value corresponding to offset No. 0, that is, H0 always means 0. It is impossible to set any other tool length offset value to H0. - Performing tool length offset along two or more axes When bit 4 (LXY) of parameter No. 60
• Page 39414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Example Tool length offset (in boring holes #1, #2, #3 j #1 #3 20 (6) 30 +Y (13) (9) (1) #2 30 +X 120 30 50 +Z Actual position Offset value 3 (2) Programmed 35 (12) =4mm position (3) (5) (10) 18 (7) (8) 22 30 (4) (11) 8 - Program H1=-4.0 iTool length
• Page 395B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.2 TOOL OFFSET(G45-G48) The programmed travel distance of the tool can be increased or decreased by a specified tool offset value or by twice the offset value. The tool offset function can also be applied to an additional axis. Workpiece Tool cente
• Page 39614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Explanation - Increase and decrease As shown in Table 14.2(a), the travel distance of the tool is increased or decreased by the specified tool offset value. In the absolute mode, the travel distance is increased or decreased as the tool is moved from
• Page 397B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION WARNING 1 When G45 to G48 is specified to n axes (n=1-6) simultaneously in a motion block, offset is applied to all n axes. When the cutter is offset only for cutter radius or diameter in taper cutting, overcutting or undercutting occurs. Therefore,
• Page 39814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 NOTE 1 When the specified direction is reversed by decrease as shown in the figure below, the tool moves in the opposite direction. Movement of the tool Program command Example Start position End position G46 X2.50 ; Equivalent Tool offset value comm
• Page 399B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Example Program using tool offset N12 N11 30R N9 40 N10 N13 N8 N4 30R 40 N3 N5 N1 N2 N6 N7 Y axis 50 N14 80 50 40 30 30 X axis Origin Tool diameter : 20φ Offset No. : 01 Tool offset value : +10.0 Program N1 G91 G46 G00 X80.0 Y50.0 D01 ; N2 G47 G01 X5
• Page 40014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.3 OVERVIEW OF CUTTER COMPENSATION C (G40 - G42) When the tool is moved, the tool path can be shifted by the radius of the tool (Fig.14.3 (a)). To make an offset as large as the radius of the tool, CNC first creates an offset vector with a length e
• Page 401B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Format - Start up(Tool compensation start) G00 (or G01) G41 (or G42) IP_ D_ ; G41 : Cutter compensation left (Group07) G42 : Cutter compensation right (Group07) IP_ : Command for axis movement D_ : Code for specifying as the cutter compensation value
• Page 40214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Offset mode cancel In the offset mode, when a block which satisfies any one of the following conditions is executed, the CNC enters the offset cancel mode, and the action of this block is called the offset cancel. 1. G40 has been commanded. 2. 0 ha
• Page 403B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Positive/negative cutter compensation value and tool center path If the offset amount is negative (-), distribution is made for a figure in which G41’s and G42’s are all replaced with each other on the program. Consequently, if the tool center is p
• Page 40414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Specifying a cutter compensation value Specify a cutter compensation value with a number assigned to it. The number consists of 1 to 3 digits after address D (D code). The D code is valid until another D code is specified. The D code is used to spe
• Page 405B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Example N5 250R C1(700,1300) P4(500,1150) P5(900,1150) C2(1550,1550) C3(-150,1150) 650R 650R N4 N6 N3 N7 P3(450,900) P6(950,900) P2 P7 (1150,900) (250,900) N8 N2 P9(700,650) P1 P8 (250,550) (1150,550) N10 N9 N1 Y axis N11 X axis Unit Fmm Start positi
• Page 40614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 N10 X250.0 Y550.0 ; ¥¥¥¥¥¥¥¥¥¥¥¥¥¥Specifies machining from P9 to P1. N11 G00 G40 X0 Y0 ; ¥¥¥¥¥¥¥¥¥¥¥¥¥Cancels the offset mode. The tool is returned to the start position (X0, Y0, Z0) - 384 -
• Page 407B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.4 DETAILS OF CUTTER COMPENSATION C This section provides a detailed explanation of the movement of the tool for cutter compensation C outlined in Section 14.6. This section consists of the following subsections: 14.4.1 General 14.4.2 Tool Movement
• Page 40814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.4.1 General - Inner side and outer side When an angle of intersection created by tool paths specified with move commands for two blocks is over 180deg., it is referred to as "inner side." When the angle is between 0deg. and 180deg., it is referred
• Page 409B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION the tool cannot be positioned to the end point, but is instead moved away from the end point by the compensation vector. - Start of cutter compensation (start-up) If a block satisfying all the conditions listed below is executed in cancel mode, the m
• Page 41014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 CSC CSU Type Operation 1 perpendicular to the block after start-up or perpendicular to the block before cancellation. When the start-up block or cancellation block specifies movement, type A is selected if CSU is set to 0; type B is selected if CSU i
• Page 411B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - SS represents a point where single block operation is performed twice. - SSS represents a point where single block operation is performed three times. - L means that the tool moves linearly. - C means that the tool moves circularly. - r represents
• Page 41214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.4.2 Tool Movement in Start-up When the offset cancel mode is changed to offset mode, the tool moves as illustrated below (start-up): Explanation - Tool movement around an inner side of a corner(180deg.≤α) Linear ¤Linear α Workpiece Programmed path
• Page 413B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - When a start-up block involves an outer and obtuse movement(90deg. ≤α<180deg.) Tool path in start-up has two types A and B, and they are selected by parameter CSU (No. 6001#0). Linear→Linear Start position G42 α Workpiece L Programmed path r S L To
• Page 41414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Linear→Linear (Circular Start position connection type) G42 α Workpiece L r Programmed path r C L Tool center path S Type B Linear→Circular Start position (Circular connection type) G42 α L r Workpiece r C S C Tool center path Programmed path - 392 -
• Page 415B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - When a start-up block involves an outer and acute movement(α<90deg.) Tool path in start-up has two types A and B, and they are selected by parameter CSU (No.6001#0). Linear→Linear Start position G42 L α Workpiece Programmed path r S L Tool center p
• Page 41614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Linear→Linear (Circular Start position connection L type) G42 Workpiece r α Programmed path r C S L Tool center path Type B Linear→Circular (Circular Start position connection L type) G42 r α r Workpiece C S C Tool center path Programmed path - 394 -
• Page 417B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Tool movement around the outside linear"linear at an acute angle less than 1 degree (α<1deg.) S Tool center path L r L (G41) Programmed path G41 Less than 1deg. Start position - A block without tool movement specified at start-up When type A or typ
• Page 41814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 When type C is selected The programmed path is shifted by an offset, perpendicularly from the block specifying movement after start-up. No movement L S α Programmed path L Tool center path Intersection - 396 -
• Page 419B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.4.3 Tool Movement in the Offset Mode In offset mode, compensation is carried out for positioning commands as well as for linear and circular interpolation commands. To perform intersection calculation, it is necessary to read at least two blocks t
• Page 42014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Tool movement around the inside of a corner (180deg. ≤α) Linear to Linear α Workpiece Programmed path Intersection S L Tool center path L Linear to Circular α Workpiece Intersection S C Programmed path L Tool center path Circular to Linear Workpiec
• Page 421B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Tool movement around the inside (α<1deg.) with an abnormally long vector, linear to linear r Tool center path Intersection Programmed path r Intersection S r Also in case of arc to straight line, straight line to arc and arc to arc, the reader shou
• Page 42214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Tool movement around the outside corner at an obtuse angle (90° ≤ α < 180°) Linear to Linear (linear connection type) α Workpiece L Programmed path S Intersection L Tool center path Linear to Circular (linear connection type) α Workpiece L r S L C
• Page 423B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Linear to Linear (circular connection type) α Workpiece L Programmed path r r C L S Tool center path Linear to Circular (circular connection type) α r Workpiece L r C S C Tool center path Programmed path Linear to Circular (circular connection α Work
• Page 42414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Tool movement around the outside corner at an acute angle (α<90°) Linear to Linear (linear connection L type) Workpiece r α L Programmed path r L S L L Tool center path Linear to Circular (linear connection type) L r α L r Workpiece L S L C Tool ce
• Page 425B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Linear to Linear (circular L connection type) Workpiece r α Programmed path r C S L Tool center path Linear to Circular (circular connection type) L r α r Workpiece C S C Tool center path Programmed path Circular to Linear (circular connection type)
• Page 42614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - When it is exceptional End position for the arc is not on the arc If the end of a line leading to an arc is programmed as the end of the arc by mistake as illustrated below, the system assumes that cutter compensation has been executed with respect
• Page 427B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION There is no inner intersection If the cutter compensation value is sufficiently small, the two circular tool center paths made after compensation intersect at a position (P). Intersection P may not occur if an excessively large value is specified for
• Page 42814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Tool center path with an intersection Linear to linear Workpiece S G42 L r Programmed path r L G41 Tool center path Workpiece Linear to circular C Workpiece r G41 G42 Programmed path r Workpiece Tool center path L S Circular to linear Workpiece G42 P
• Page 429B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Tool center path without an intersection When changing the offset direction in block A to block B using G41 and G42, if intersection with the offset path is not required, the vector normal to block B is created at the start point of block B. Linear t
• Page 43014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 The length of tool center path larger than the circumference of a circle Normally there is almost no possibility of generating this situation. However, when G41 and G42 are changed, or when a G40 was commanded with address I, J, and K this situation
• Page 431B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Cutter compensation G code in the offset mode The offset vector can be set to form a right angle to the moving direction in the previous block, irrespective of machining inner or outer side, by commanding the cutter compensation G code (G41, G42) i
• Page 43214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Command canceling the offset vector temporarily During offset mode, if G92 (absolute zero point programming) is commanded, the offset vector is temporarily cancelled and thereafter offset mode is automatically restored. In this case, without moveme
• Page 433B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - If I, J, and K are specified in G00/G01 mode block When cutter compensation begins or is already being applied, specifying I, J, and K in a block specifying positioning mode (G00) or linear interpolation mode (G01) can make the compensation vector
• Page 43414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Example If I and J are specified in a block involving tool movement when compensation begins N50 N40 (G40) N30 N10 G91 G41 X100.0 Y100.0 N20 I1 D1 ; N20 G04 X1000 ; Tool center path N30 G01 F1000 ; D1 N40 S300 ; N50 M50 ; Programmed path N60 X150. ;
• Page 435B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION If I and J are specified in a block not involving tool movement during the compensation mode Tool center path S Startup/cancel type C N10 G41 D1 G01 F1000 ; (I, J) N20 G91 X100. Y100. ; Programmed N30 I10. ; path N40 X150. ; N50 G40 ; Restrictions If
• Page 43614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - A block without tool movement The following blocks have no tool movement. In these blocks, the tool will not move even if cutter compensation is effected. M05 ; : M code output S21 ; : S code output G04 X10.0 ; : Dwell G22 X100000 ; : Machining are
• Page 437B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Do not specify more than N-2 blocks not involving tool movement (where N is the number of blocks read in offset mode and which is specified by parameter No. 6009) continuously in offset mode. If commanded, a vector whose length is equal to the offset
• Page 43814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Corner movement If more than one offset vector is produced at the end point of a block, these vectors are connected using either a straight line or arc, depending on the specification made in parameter CCC (bit 2 of parameter No. 6008). This is cal
• Page 439B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION If the vectors are not judged as being almost equal (or cannot be removed), commands for movement around the corner are executed. Tool movement around the corner before the single-block stop point belongs to those blocks before the block for the corn
• Page 44014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.4.4 Tool Movement in Offset Mode Cancel Explanation - When a cancellation block involves an inner movement (180deg.≤α) Linear→Linear Workpiece α Programmed path r G40 Tool center path L S L Circular→Linear α Workpiece r G40 S C L Programmed path T
• Page 441B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - When a cancellation block involves an outer and obtuse movement (90≤α<180deg.) Two types are supported: type A and type B. The user can select from the two types by setting bit 0 (CSU) of parameter No. 6001. Linear ¤Linear G40 Workpiece α Programme
• Page 44214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Linear→Linear (Circular connection G40 type) Workpiece α L Programmed path r S C Tool center path Type B Circular→Linear (Circular connection type) G40 α L Workpiece r r S C C Programmed path Tool center path - 420 -
• Page 443B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - When a cancellation block involves an outer and acute movement (α<90deg.) Tool path has two types, A and B : and they are selected by parameter CSU (No. 6001#0) Linear→Linear Workpiece G40 L α Programmed path G42 r Tool center path L S Type A Circu
• Page 44414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Linear→Linear (Circular connection L type) Workpiece G40 S α r Programmed path C r Tool center path L Type B Circular→Linear (Circular connection L type) S r α C Workpiece r C Tool center path Programmed path - 422 -
• Page 445B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION When a cancellation block involves linear-to-linear movement around the outside of an acute angle not greater than 1° (α≤1°) S L Tool center path r L (G42) Programmed path G40 Less than 1 deg. - A block without tool movement specified together with o
• Page 44614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Block containing G40 and I_J_K_ The previous block contains G41 or G42 If a G41 or G42 block precedes a block in which G40 and I_, J_, K_ are specified, the system assumes that the path is programmed as a path from the end position determined by th
• Page 447B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION When an intersection is not obtainable, the tool comes to the normal position to the previous block at the end of the previous block. E G40 X Tool center path S r (G42) Programmed path (I, J) r The length of the tool center path larger than the circu
• Page 44814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.4.5 Overcutting by Cutter Compensation Explanations - Machining an inside corner at a radius smaller than the cutter radius When the radius of a corner is smaller than the cutter radius, because the inner offsetting of the cutter will result in ov
• Page 449B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Machining a step smaller than the tool radius When machining of the step is commanded by circular machining in the case of a program containing a step smaller than the tool radius, the path of the center of tool with the ordinary offset becomes rev
• Page 45014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Starting compensation and cutting along the Z-axis It is usually used such a method that the tool is moved along the Z axis after the cutter compensation is effected at some distance from the workpiece at the start of the machining. In the case abo
• Page 451B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION The move command in the same direction as that of the move command after the motion in Z axis should be programmed. N1 G91 G00 G41 X500.0 Y500.0 D1 ; N2 Y300.0 ; N3 Z-250.0 ; N5 G01 Z-50.0 F100 ; N6 Y700.0 F200 ; N6 After compensation Workpiece N2 N3
• Page 45214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.4.6 Interference Check Tool overcutting is called interference. The interference check function checks for tool overcutting in advance. However, not all instances of interference can be checked by this function. The interference check is performed
• Page 453B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Criterion 1 for detecting interference (direction check) Let N be the number of blocks that are read during tool compensation. The check method first checks the compensation vector group calculated between blocks 1 and 2 that are to be output at th
• Page 45414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Example for criterion 1 for detecting interference (when the vector at the end point of block 1 intersects with the vector at the end point of block 7) The directions differ by 180 degree. Tool center path Programmed path Block 2 Block 7 Block 1 Bloc
• Page 455B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Criterion 2 for detecting interference (arc angle check) In a check for interference between three adjacent blocks, that is, a check between the compensation vector group calculated between blocks 1 and 2 and the compensation vector group calculate
• Page 45614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - When interference is assumed although actual interference does not occur 1 Depression which is smaller than a cutter compensation value Programmed path Tool center path Stopped A C B There is no actual interference, but since the direction programm
• Page 457B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Correction of interference in advance If interference check detects interference (overcutting), the operation to be performed is selected from the following two types, according to the setting of parameter CAV (bit 5 of parameter No. 6008): CAV Funct
• Page 45814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Interference between three adjacent blocks If interference is detected between three adjacent blocks, the interfering vectors and those within them are removed, and a path is produced to connect the remaining vectors. In the following figure, V2 an
• Page 459B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Interference avoidance function - Overview Upon the issue of a command that satisfies a condition under which an interference alarm (PS272) is displayed by the interference check alarm function, selecting the interference avoidance function suppresse
• Page 46014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 If the post-compensation intersection vector between block 1 and gap vector intersects again with the post-compensation vector between the gap vector and block N, vector removal is carried out first using the same method as that for "Interference bet
• Page 461B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION If a cutter compensation value is larger than the radius of a specified arc and a compensation command is issued for the inside of the arc as shown below, interference is avoided by performing intersection calculation where the arc command is assumed
• Page 46214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - If there is no interference avoidance vector In parallel pocketing shown below, interference is detected between the vector at the end point of block 1 and that at the end point of block 2, and an attempt is made to calculate an intersection vector
• Page 463B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION In the circular pocketing shown below, interference is detected between the vector at the end point of block 1 and that of the end point of block 2, and an attempt is made to calculate an intersection vector between the post-compensation path for blo
• Page 46414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - If interference avoidance is judged as being dangerous In the acute-angle pocketing shown below, interference is detected between the vector at the end point of block 1 and that at the end point of block 2, and an attempt is made to calculate an in
• Page 465B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Stopped Tool center path Programmed Block 1 Block 3 Post-compensation intersection between the paths specified in blocks 1 and 3 - 443 -
• Page 46614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - If an interference avoidance vector may result in interference again In the pocketing shown below, interference is detected between the vector at the end point of block 1 and that at the end point of block 2 if three blocks are read, and a vector a
• Page 467B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.4.7 Cutter Compensation by Input from MDI Explanation - MDI operation If MDI operation is performed, that is, if a cycle is started from the reset state by a programmed command in MDI mode, an intersection calculation is performed to apply compens
• Page 46814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - MDI interrupt If an MDI interrupt is generated, that is, if a single block stop is caused during memory operation or DNC operation to enter the automatic operation stop state, then a cycle is started by a programmed command in MDI mode. No intersec
• Page 469B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.4.8 Vector Holding (G38) Issuing G38 in the offset mode when the cutter compensation C function is effective enables the offset vector at the end point for the previous block to be held without calculating the intersection. Format (In the offset m
• Page 47014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Example : : iIn offset mode j (G90) X axis N1 G38 X10.0 Y0.0 ; N2 G38 X15.0 Y5.0 ; N3 G38 X10.0 Y0.0 ; N4 X20.0 ; Y axis : : Block N2 Offset vector Block N1 Tool center path Programmed path (15.0, 5.0) (10.0, 0.0) Block N3 - 448 -
• Page 471B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.4.9 Corner Circular Interpolation (G39) By specifying G39 in offset mode during cutter compensation C, corner circular interpolation can be performed. The radius of the corner circular interpolation equals the compensation value. Format (In offset
• Page 47214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Example - G39 without I, J, or K : : (In offset mode) (G90) X axis N1 X10.0 ; N2 G39 ; N3 Y-10.0 ; : Y axis : Block N1 Offset vector Block N2 iCorner Circular j (10.0, 0.0) Block N3 Programmed path Tool center path (10.0, -10.0) - 450 -
• Page 473B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - G39 with I, J, and K : : (In offset mode) (G90) X axis N1 X10.0 ; N2 G39 I1.0 J-3.0 ; N3 X0.0 Y-10.0 ; : Y axis : Block N1 Offset vector Tool center path Block N2 (Corner Circular) (10.0, 0.0) Programmed path Block N3 (I=1.0, J=-3.0) (0.0, -10.0) -
• Page 47414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.5 THREE-DIMENSIONAL TOOL COMPENSATION (G40, G41) In cutter compensation C, two-dimensional offsetting is performed for a selected plane. In three-dimensional tool compensation, the tool can be shifted three-dimensionally when a three-dimensional o
• Page 475B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Format - Start up (Starting three-dimensional tool compensation) When the following command is executed in the cutter compensation cancel mode, the three-dimensional tool compensation mode is set: G41 Xp_Yp_Zp_ I_ J_ K_D_ ; Xp : X-axis or a parallel
• Page 47614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Explanation - Three-dimensional tool compensation vector In three-dimensional tool compensation mode, the following three - dimensional compensation vector is generated at the end of each block: Programmed path Path after three-dimensional tool compe
• Page 477B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Specifying I, J, and K Addresses I, J, and K must all be specified to start three-dimensional tool compensation. When even one of the three addresses is omitted, two-dimensional cutter compensation C is activated. When a block specified in three-di
• Page 47814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 NOTE 1 When bit 0 (ONI) of parameter No. 6029 is set to 1, the functions using the I, J, and K commands listed below must not be used in three-dimensional tool compensation mode. Otherwise, a PS0282 alarm is issued. Exponential interpolation (I, J, a
• Page 479B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Reference position return check (G27) Before specifying reference position return check (G27), cancel three- dimensional tool compensation. - Alarm during three-dimensional tool compensation If one of the following G codes is specified in the three
• Page 48014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.6 TOOL COMPENSATION VALUES Tool compensation values include tool geometry compensation values and tool wear compensation (Fig. 14.6 (a)). Reference position OFSG OFSW OFSG : Geometric compensation value OFSW : Wear compensation value Fig.14.6 Geom
• Page 481B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Explanation - Increment system and valid range of tool offset values The increment system and valid range of tool offset values depend on the following parameters: Parameter OFA(No.6002#0) Parameter OFC(No.6002#1) Parameter OFD(No.6004#0) Parameter O
• Page 48214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.6.1 Tool Compensation Memory A The memory for geometric compensation and that for wear compensation are not separated in tool compensation memory A. Therefore, the sum of the geometric compensation amount and wear compensation amount is set in the
• Page 483B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.7 NUMBER OF TOOL COMPENSATION SETTINGS (1) 32 tool compensation settings Applicable offset Nos. (D code/H code) are 0 to 32. D00 to D32 or H00 to H32 (2) 99 tool compensation settings Applicable offset Nos. (D code/H code) are 0 to 99. D00 to D99
• Page 48414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.8 CHANGING THE TOOL COMPENSATION AMOUNT The tool compensation amount can be set or changed with the G10 command. When G10 is used in absolute input (G90), the compensation amount specified in the command becomes the new tool compensation amount. W
• Page 485B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.9 SCALING (G50,51) A programmed figure can be magnified or reduced (scaling). Two types of scaling are supported. One type applies the same rate of magnification to all axes (X, Y, and Z). The other type applies a different rate of magnification t
• Page 48614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 NOTE 1 Specify G51 in a separate block. 2 After the figure is enlarged or reduced, specify G50 to cancel the scaling mode. 3 No decimal point must be used to specify rates of scaling magnification. Otherwise, an alarm (PS0006) is issued. 4 Even in th
• Page 487B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION a/b : Scaling magnification of X axis c/d : Scaling magnification of Y axis Y axis 0 : Scaling center Programmed figure d Scaled figure c O a X axis b Fig.14.9 (b) Scaling of each axis - Scaling of circular interpolation Even if different magnificati
• Page 48814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Scaling and coordinate system rotation When both scaling and coordinate system rotation are specified, the coordinate system is rotated after scaling is applied. In this case, scaling is effective for the center of rotation. Main program O1 G90 G00
• Page 489B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Scaling and optional angle chamfering and corner rounding Chanfering Scaling Twice along the X-axis Once along the Y-axis Corner rounding Scaling Twice along the X-axis Once along the Y-axis The center of scaling is not assumed to be specified for
• Page 49014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Invalid scaling Scaling is not applicable to the Z-axis movement in case of the following canned cycle. - Cut-in value Q and retraction value d of peck drilling cycle (G83, G73). - Fine boring cycle (G76) - -Shift value Q of X and Y axes in back bo
• Page 491B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.10 COORDINATE SYSTEM ROTATION (G68,G69) A programmed shape can be rotated. By using this function it becomes possible, for example, to modify a program using a rotation command when a workpiece has been placed with some angle rotated from the prog
• Page 49214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Explanation - G code for selecting a plane: G17,G18 or G19 The G code for selecting a plane (G17,G18,or G19) can be specified before the block containing the G code for coordinate system rotation (G68). CAUTION G17, G18 or G19 must not be designated
• Page 493B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Limitation - Coordinate system rotation command Specify the coordinate system rotation command (G68) in G00 or G01 mode. - Commands related to reference position return and the coordinate system In coordinate system rotation mode, G codes related to
• Page 49414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Cutter compensation and coordinate system rotation It is possible to specify G68 and G69 in cutter compensation mode. The rotation plane must coincide with the plane of cutter compensation. N1 G92 X0 Y0 ; N2 G42 G90 G01 X10.0 Y10.0
• Page 495B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Scaling and coordinate system rotation If a coordinate system rotation command is executed in the scaling mode (G51 mode), the coordinate value (α, β) of the rotation center will also be scaled, but not the rotation angle (R). When a move command i
• Page 49614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Repetitive commands for coordinate system rotation It is possible to store one program as a subprogram and recall subprogram by changing the angle. Sample program for when the RIN bit (bit 0 of parameter 6400) is set to 1. The specified angular dis
• Page 497B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.11 TOOL OFFSETS BASED ON TOOL NUMBERS Cutter compensation data, tool length compensation data, and the tool pot number can be set for a specific tool number (T code). Up to 300 sets of data can be set. If a certain tool number is specified, the po
• Page 49814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.11.1 Tool Data Registration, Modification, and Deletion Explanation - Setting tool data After all the registered tool data has been deleted, programmed tool data can be registered. - Adding or modifying tool data The tool data programmed for a gro
• Page 499B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Deleting tool data Format Meaning of command G10L72; G10L72 : Starts the deletion of registered tool data. T-; T- : Delete tool data for the specified tool number. : P- : Delete all tool data for the specified pot number. P-; T- P- : Delete tool data
• Page 50014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.11.2 Tool Offset Based on Tool Numbers Explanation - Tool pot number output When a tool number (T code) is specified, the corresponding tool pot number is read from the tool data file, then is output to the machine as a tool function code signal (
• Page 501B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Tool change methods The execution of an M code for tool change and tool number (T code) that are specified in the same block depends on the settings of bit 1 (CT2) and bit 0 (CT1) of parameter No. 7401, as indicated in the table below. The method t
• Page 50214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Example - Tool change method A Example: N01 T10 ; : The tool pot number corresponding to T10 is output as a code signal. N02 M06 T11 ; : The cutter compensation value and tool length compensation value corresponding to T10 become valid. The T11 tool
• Page 503B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Notification output to the machine when tools having the same pot number are specified If there are two or more programmed tool numbers having the same pot number, the pot number duplication signal (TDUP) is output to the machine. Example: Tool dat
• Page 50414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.11.3 Relationships with Other Functions Tool life management When tool offset based on tool numbers is enabled (when bit 5 (NOT) of parameter No. 0011 is set to 0), a D code and H code cannot be registered as tool life management data. Compensatio
• Page 505B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Automatic tool length measurement With the automatic tool length measurement command (G37), the tool length compensation value for the currently valid tool number is updated. Never specify the automatic tool length measurement command in a block in w
• Page 50614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.12 TOOL AXIS DIRECTION TOOL LENGTH COMPENSATION When a five-axis machine that has two axes for rotating the tool is used, tool length compensation can be performed in a specified tool axis direction on a rotation axis. When a rotation axis is spec
• Page 507B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Examples of machine configuration and rotation axis calculation formats Let Vx, Vy, Vz, Lc, a, b, and c be as follows : Vx,Vy,Vz : Tool compensation vectors along the X-axis, Y- axis, and Z-axis Lc : Offset value a,b,c : Absolute coordinates on the
• Page 50814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 (2) B-axis and C-axis, with the tool axis on the Z-axis B C Z Workpiece C B Y X Vx = Lc * sin(b) * cos(c) Vy = Lc * sin(b) * sin(c) Vz = Lc * cos(b) (3) A-axis and B-axis, with the tool axis on the X-axis A B Z A Workpiece X B Y Vx = Lc * cos(b) Vy =
• Page 509B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION (4) A-axis and B-axis, with the tool axis on the Z-axis, and the B-axis used as the master B A Z B X Workpiece Y A Vx = Lc * cos(a) * sin(b) Vy = -Lc * sin(a) Vz = Lc * cos(a) * cos(b) (5) A-axis and B-axis, with the tool axis on the Z-axis, and the
• Page 51014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Tool holder offset The machine-specific length from the rotation center of the tool rotation axes (A- and B-axes, A- and C-axes, and B- and C-axes) to the tool mounting position is referred to as the tool holder offset. Unlike a tool length offset
• Page 511B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Rotation axis offset Set offsets relative to the rotation angles of the rotation axes in parameter No. 7517. The compensation vector calculation formula is the same as that used for rotation axis origin compensation, except that Bp and Cp are chang
• Page 51214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Machine coordinate system positioning (G53) When machine coordinate system positioning (G53) is performed, the compensation vector is temporarily cancelled in the block, but is applied when movement is next performed. G53 Specified point G00 Specif
• Page 513B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.13 ROTARY TABLE DYNAMIC FIXTURE OFFSET The rotary table dynamic fixture offset function saves the operator the trouble of re-setting the workpiece coordinate system when the rotary table rotates before cutting is started. With this function the op
• Page 51414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Explanation - Fixture offset command When command G54.2 Pn is specified, a fixture offset is calculated from the rotary axis angular displacement and the data of n. The fixture offset becomes valid. If n is set to 0, the fixture offset becomes invali
• Page 515B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION (2) Setting the reference angle of the rotation axis and the corresponding reference fixture offset Set the reference angle of the rotation axis and the fixture offset that corresponds to the reference angle. Set the data on the fixture offset screen
• Page 51614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 (3) Reading and writing the data by the PMC window The data can be read and written as a system variable of a custom macro by the PMC window. NOTE The NC window function and custom macro function are required. (4) Outputting the data to an external d
• Page 517B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION  FAX   cos(− θ 0 ) 0 sin (− θ 0 ) cos(− φ 0 ) − sin (− φ 0 ) 0  F 0 X   FAY  =  0 1 0   sin (− φ 0 ) cos(− φ 0 ) 0  F 0Y         FAZ   − sin (− θ 0 ) 0 cos(− θ 0 )  0 0 1  F 0 Z   FX  cos(φ ) − sin (φ ) 0 
• Page 51814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - When compensation is applied to a rotation axis In calculation of the fixture offset, the coordinate of the rotation axis on the workpiece coordinate system is used. If a tool offset or another offset is applied, the coordinate before the offset is
• Page 519B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Y C C=90° N4 C=180° N5 N3 N2 [N3] X Zero POINT of the machine coordinate system Fig.14.13 (b) Example of fixture offset When G54.2 P1 is specified in the N2 block, the fixture offset vector (0, 10.0) is calculated. The vector is handled in the same w
• Page 52014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.14 THREE-DIMENSIONAL CUTTER COMPENSATION The three-dimensional cutter compensation function is used with machines that can control the direction of tool axis movement by using rotation axes (such as the B- and C-axes). This function performs cutte
• Page 521B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.14.1 Tool Side Compensation Tool side compensation is a type of cutter compensation that performs three-dimensional compensation on a plane (compensation plane) perpendicular to a tool direction vector. Programmed tool path Tool vector (before com
• Page 52214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Explanation - Operation at compensation start-up and cancellation (1) Type A Type A operation is similar to cutter compensation as shown below. Operation in linear interpolation : Tool center path : Programmed tool path Tool G40 G41.2 Operation in ci
• Page 523B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Operation in circular interpolation : Tool center path : Programmed tool path G40 G42.2 Tool Fig.14.14.1 (c) Operation at compensation start-up and cancellation (Type B) (3) Type C As shown in the following figures, when G41.2, G42.2, or G40 is speci
• Page 52414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 NOTE For type C operation, the following conditions must be satisfied when tool side compensation is started up or canceled : 1 The block containing G40, G41.2, or G42.2 must be executed in the G00 or G01 mode. 2 The block containing G40, G41.2, or G
• Page 525B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION : Tool center path Workpiece : Programmed tool path : Tool offcet value Actual tool Actual tool Reference tool Workpiece Reference tool Example(1)-3 Example(1)-4 Fig.14.14.1 (f) Operation in the compensation mode (1)-3, 4 (2) When the tool moves at a
• Page 52614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 : Tool center path : Programmed tool path Example(3)-1 Tool movement when Example(3)-2 Tool movement when the changing G41.2 to G42.2 G code is left unchanged (G41.2 mode) (G41.2 mode) G91 G01 X100.0 G91 G01 X100.0 G42.2 X-100.0 X-100.0 Fig.14.14.1 (
• Page 527B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Z Tool axis Tool Y Actual offset vector End point Start point X Move command Actual tool center path Projected Offset vector created in the compensation plane Tool center path created in the compensation plane (Compensation plane = XY plane) Fig.14.1
• Page 52814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 (0, 0, 1) - Coordinate system C2 : {O; e2, e3, e1} Cartesian coordinate system whose fundamental vectors are the following unit vectors : e2 e3 e1 where, e2, e3, and e1 are defined as follows : e1 = VT e2 = b2 / |b2| , b2 = a2 - (a2,e1)- e1 e3 = b3 /
• Page 529B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION e3 R’ VD’ P’ Q’ e2 Fig.14.14.1 (k) Compensation vector calculation The e1 component of VD’ is assumed to be always 0. The calculation is similar to the calculation of cutter compensation C. Although one vector is obtained in this example, up to four
• Page 53014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 : Vector calculation at the end point (Q) of block N2 - The tool vector (VT) and coordinate conversion matrix (M) are calculated using the coordinates (Bq, Cq) of the rotation axis at point Q. - The cutter compensation vector is calculated using the
• Page 531B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Q=R(N3) N4 VN2 =VN3 S N2 Q’=R’ S’ P N1 P’ O Fig.14.14.1 (m) When a rotation axis is specified alone - Interference check made when the compensation plane is changed An interference check is made when the compensation plane (plane perpendicular to a t
• Page 53214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Z C A Vb Va 45° 46° B Y Va: Tool direction vector when A = -46 Vb: Tool direction vector when A=45 A: End point of N3 B: End point of N4 C: End point of N6 Fig.14.14.1 (o) Tool Direction Vector e3 e2 V2 B’ C’ A’ V1 A’ : Point A projected onto the com
• Page 533B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Z C A Vb Va Ua Ub Wb Wa B Y X Ua: Vector AB Ub: Vector BC Va: Tool direction vector between A and B Vb: Tool direction vector between B and C Wa: Va × Ua Wb: Vb × Ub (Here, × represents an outer product operator.) Fig.14.14.1 (q) Conceptual Diagram e
• Page 53414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Wb : Direction of a compensation vector to be generated by the BC block. Wa = Va × Ua Wb = Vb × Ub (Wa,Wb) ≥ 0 (3) The path angle difference on the compensation plane is large. (Ra,Rb) < 0 (2) Suppressing the issue of the alarm with a Q command By in
• Page 535B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION (3) Q3 command By inserting a Q3 command, the issue of the alarm can be suppressed. Example) N4 Y-200 Z-200 Q3 e3 e2 V2 B’ C’ A’ V1 The two vectors (V1 and V2) are not deleted. Fig.14.14.1 (u) Q3 Command Limitation - G41.2, G42.2, and G41.3 modes G41
• Page 53614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Programmable mirror image In mirror operation, there must be no conflict between the linear axes and rotation axes. Second Y First quadrant quadrant X Third Fourth quadrant quadrant Example 1: XY Plane on a BC-Type Machine w x y a b First Normal No
• Page 537B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.14.2 Leading Edge Offset Leading edge offset is a type of cutter compensation that is used when a workpiece is machined with the edge of a tool. A tool is automatically shifted by a specified cutter compensation value on the line where a plane for
• Page 53814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Explanation - Operation at compensation start-up and cancellation Unlike tool side compensation the operation performed at leading edge compensation start-up and cancellation does not vary. When G41.3 is specified, the tool is moved by the amount of
• Page 539B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Tool center path (after compensation) VT2 VT1 VC1 VC2 Programmed tool path VM3 VM1 VM2 VMn : Movement vector of block n VTn : Tool vector at the end of block n VCn : Compensation vector of block n (that lies in the VTn- VMn+1 plane, and is perpendicu
• Page 54014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 (VT2) at the end point of block 2 and the movement vector (VM2) of block 2. - Method of compensation vector calculation In leading edge compensation, the compensation vector is calculated as follows : (1) Tool vector (2) Movement vector The movement
• Page 541B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION R = Offset value VTX  VTn = VTY  VTZ  VMX  V M n +1 = VMY  VMZ  V X  ( V = VY  = VM n +1 × VTn × VTn ) VZ  VTZ (VMZ VTX − VMX VTZ ) − VTY (VMX V TY −VMY VTX ) = VTX (VMX VTY − VMY VTX ) − VTZ (VMY V TZ −VMZ VTY ) 
• Page 54214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 (1) If 0 ≤ θ ≤ ∆θ, θ is regarded as 0deg. ∆θ VTn θ VMn+1 Fig.14.14.2 (i) Determination of θ=0deg. (2) If (180-∆θ) ≤ θ ≤ 180, θ is regarded as 180deg. θ ∆θ VTn VMn+1 Fig.14.14.2 (j) Determination of θ=180deg. (3) If (90-∆θ) ≤ θ ≤ (90+∆θ), θ is regarde
• Page 543B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Tool center path (after compensation) VT1 VT5 VC1 VC2 VC5 V VT2 VC3 VT3 VC4 V VM2 VM3 VM6 Programmed VM4 VM5 Path Fig.14.14.2 (l) When θ=0deg.Is Determined If the included angles between VT2 and VM3, VT3 andVM4, and VT4 and VM5 are regarded as 180deg
• Page 54414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Limitation - G41.2, G42.2, and G41.3 modes G41.2, G42.2, G41.3, and G40 are continuous-state G codes that belong to the same group. Therefore, the G41.2, G42.2, and G41.3 modes cannot exist at the same time. - Canned cycle command and reference posit
• Page 545B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.14.3 Three-dimensional Cutter Compensation at Tool Center Point For machines with a rotation axis for rotating a tool, this function performs three-dimensional cutter compensation at the tool tip position if the program-specified point is specifie
• Page 54614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 3D cutter compensation vector according to this specification Program-specified point (pivot point) Conventional 3D cutter compensation vector Vector from program-specified point (pivot point) to tool tip position (cutting point) Distance from progra
• Page 547B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION LC e3 Tool tip position R’ VT e1 Tool radius VD VD’ P’ e22 e3 Q’ e2 Coordinate system on the compensation plane The cutter compensation vector (VD’) is calculated on the compensation plane vertical to the tool direction. The cutter compensation vecto
• Page 54814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Specification of parameters The parameters used with this function are described below. Parameter numbers are enclosed in brackets [ ]. Relationships between rotation axes and rotation planes [6080 to 6089] These parameters set the relationships be
• Page 549B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Up to two sets of such parameter settings can be specified. Thus, it is possible to compensate a slant rotary head controlled with two rotation axes. For the calculation of the compensation amount, calculation is performed on the first rotation axis,
• Page 55014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.15 DESIGNATION DIRECTION TOOL LENGHT COMPENSATION In a five-axis machine tool having three basic axes and two rotation axes for turning the tool, tool length compensation can be applied in the direction of the tool axis. The tool axis direction is
• Page 551B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION NOTE 1 The format of specified-direction tool length compensation is the same as that for three- dimensional tool compensation. When using specified-direction tool length compensation, set bit 0 (DDT) of parameter No. 7711 to 1. 2 A three-dimensional
• Page 55214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 ( x, y, z ) x, y , z : Tool center position b, c : Rotation axis position X ,Y , Z : tip position (programmed position) l I, J, K : Tool axis direction l : Tool offset value (I , J , K ) All positions are represented by absolute coordinates. ( X ,Y ,
• Page 553B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Specification of the magnitude of a compensation vector By setting parameter No. 6011, the magnitude of a compensation vector can be specified. I x = X +l S J y =Y +l S K z = Z +l S where, x, y , z : Tool center position (absolute coordinates) X ,Y
• Page 55414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 (2) When the rotation axes are the B- and C-axes, and the tool axis is the Z-axis B C Z Workpiece C B Y X I2 + J2 b = tan −1 K J c = tan −1 I (3) When the rotation axes are the A- and B-axes, and the tool axis is the X-axis A B Z A Workpiece X B Y J
• Page 555B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION (4) When the rotation axes are the A- and B-axes, and the tool axis is the Z-axis (master axis : B-axis) B A Z B X Workpiece Y A −J a = tan −1 I + K2 2 I b = tan −1 K (5) When the rotation axes are the A- and B-axes, and the tool axis is the Z-axis (
• Page 55614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Limitation - Rotation axis specification A rotation axis must not be specified in specified-direction tool length compensation mode. Otherwise, an alarm (PS0809) is issued. - Commands related to reference position return The specified-direction tool
• Page 557B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.16 TOOL CENTER POINT CONTROL On a five-axis machine having two rotation axes that turn a tool, tool length compensation can be performed momentarily even in the middle of a block. This tool length compensation is classified into one of two types b
• Page 55814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 NOTE The length from the tool tip to tool pivot point must equal the sum of the tool length compensation amount and tool holder offset value. The difference between tool center point control (type 2) and designation direction tool length compensation
• Page 559B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Explanations - Specification of tool center point control The tool compensation vector changes in the following cases: Type 1 : The offset value is changed, or the rotation axis position (B, C) is specified. Type 2 : The offset value is changed, or t
• Page 56014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Programmed point In programming, the position of the tool tip center is specified. Ball-end mill Tool tip center Programmed path Flat-end mill Tool tip center Programmed path Corner-radius-end mill Tool tip center Programmed path - Linear interpola
• Page 561B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Specification of rotation axes (1) Type 1 When only the rotation axes are specified in tool center point control (type 1) mode, the feedrate of the rotation axes is set to the maximum cutting feedrate (parameter No. 1422). (2) Type 2 In tool center
• Page 56214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Operation of tool center point control (type 2) The following item is the same as for tool length compensation along the tool axis: - Tool holder offset The following items are the same as for tool length compensation in a specified direction: - Op
• Page 563B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION control, therefore, the compensation vector is calculated with B set to 30.0. - Look-ahead acceleration/deceleration before interpolation When using tool center point control, also use look-ahead acceleration/deceleration before interpolation. If loo
• Page 56414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 -Inverse time feed (G93) - Unavailable functions 1 In tool center point control mode, the functions listed below cannot be used. If these functions are used, the compensation vector of the previous block is used as is. -The following G functions of g
• Page 565B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.17 CONTROL POINT COMPENSATION OF TOOL LENGTH COMPENSATION ALONG TOOL AXIS Normally, the control point of tool length compensation along the tool axis is the point of intersection of the centers of two rotation axes. The machine coordinates also in
• Page 56614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 According to the machine type, set the values listed in the following table: Table 14.17 (a) Setting the Tool Holder Offset and Rotation Center Compensation Vector Machine type Tool holder offset Rotation center Parameter No. 7548 compensation vector
• Page 567B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Shifting the control point Conventionally, the center of a rotation axis was used as the control point. The control point can now be shifted as shown in the figure below. Then, when the rotation axis is at the 0-degree position also in tool length co
• Page 56814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 The method for shifting the control point can be selected using the following parameters: Table 14.17 (b) Methods of Shifting the Control Point Bit 5 (SVC) of Bit 4 (SBP) of Shift of control point parameter No. parameter No. 7540 7540 0 - As normal,
• Page 569B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 14.18 GRINDING WHEEL WEAR COMPENSATION On a specified compensation plane, a compensation vector is created on an extension of a straight line starting from a specified point (compensation center) toward a command end point. Compensation vector Compen
• Page 57014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Description - Grinding wheel wear compensation (start of grinding wheel wear compensation) Up to three compensation center positions can be set. Set the coordinates (in the workpiece coordinate system) of these compensation center positions in parame
• Page 571B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Canceling grinding wheel wear compensation When G40 and D0 are specified at the same time, the compensation vector is canceled, movement due to the cancellation occurs, and then grinding wheel wear compensation is canceled. When D0 has been cancele
• Page 57214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Compensation vector A compensation vector is created only on the plane (compensation plane) of the axes (compensation axes) set in parameter Nos. 6056 and 6057. On an extension of a straight line starting from the compensation center toward the com
• Page 573B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Compensation plane and plane selection by G17/G18/G19 The creation of a compensation vector is not related to plane selection by G17/G18/G19. For example, while circular interpolation is being performed on the XY (G17) plane, compensation can be ap
• Page 57414.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Circular interpolation/helical interpolation When circular interpolation (G02/G03) is specified in grinding wheel wear compensation mode, the radius at the start point of an arc differs from the radius at the end point, which prevents a correct arc
• Page 575B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION - Available compensation functions The commands listed below can be used in grinding wheel wear compensation mode. In these command modes, grinding wheel wear compensation can also be used. - Tool length compensation (G43, G44, G49) - Position offset
• Page 57614.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 - Relation with compensation functions The commands listed below cannot be used in grinding wheel wear compensation function mode. Before using these commands, cancel grinding wheel wear compensation. Also, grinding wheel wear compensation cannot be
• Page 577B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION Alarms and messages No. Message Description PS0618 ILLEGAL P-DATA (WHEEL WEAR The P data for selecting the compensation center in COMPENSATION) grinding wheel wear compensation is illegal. PS0619 ILLEGAL AXIS(WHEEL WEAR A compensation axis has been c
• Page 57814.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 14.19 CUTTER COMPENSATION FOR ROTARY TABLE Overview For machines having a rotary table, such as that shown in the figure below, cutter compensation can be performed. Y Z  Table coordinate system B X Y shows the direction in which the machine moves.
• Page 579B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION The selected plane, or two axes, must be included in the three linear axes (parameters Nos. 6140 to 6142) handled by this function. Select the plane vertical to the tool (XpYp plane in Fig.14.19 (a)). Description - Cutter compensation The cutter comp
• Page 58014.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Example - Parameter specification example On the machine shown in Fig.14.19 (a), parameters must be specified as follows: The axis numbers are assumed as follows: X = 1, Y = 2, Z = 3, A = 4, B =5 Parameter Setting Description No. 6140 1 (X) Axis numb
• Page 581B-63324EN/03 PROGRAMMING 14.COMPENSATION FUNCTION 1 0 0  cos b3 0 − sin b3   M 3 = 0 cos a3 sin a3   0 1 0  0 − sin a3 cos a3   sin b3 0 cos b3  (3) Calculation of three points P1 ’ , P2 ’ , P3 ’ used to calculate cutter compensation P1 , P2 , and P3 are converted to P1 ’ , P2 ’
• Page 58214.COMPENSATION FUNCTION PROGRAMMING B-63324EN/03 Alarm and message No. Message Description PS1062 ILLEGAL USE OF G41.4/G42.4 (1) Any of the parameters Nos. 6140 to 6146, related to the cutter compensation for Rotary table, is not correct. (2) At the start of the rotary table support of cutter compe
• Page 583B-63324EN/03 PROGRAMMING 15.PROGRAMMABLE PARAMETER INPUT (G10) 15 General PROGRAMMABLE PARAMETER INPUT (G10) The values of parameters can be entered in a lprogram. This function is used for setting pitch error compensation data when attachments are changed or the maximum cutting feedrate or cutting
• Page 58415.PROGRAMMABLE PARAMETER INPUT (G10) PROGRAMMING B-63324EN/03 WARNING 1 Before changing the pitch error compensation data or backlash compensation data, disable pitch error compensation or backlash compensation (return to the machine zero point). If the data is changed while compensation is enabled
• Page 585B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM 16 MEASUREMENT FUNCTIOM - 563 -
• Page 58616.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 16.1 SKIP FUNCTION (G31) Linear interpolation can be commanded by specifying axial move following the G31 command, like G01. If an external skip signal is input during the execution of this command, execution of the command is interrupted and the next
• Page 587B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM Pnc Q P Coordinate system origin Skip signal input position Pnc : Current position in the CNC when the skip signal is turned on (mm or inch) P : Distance to be measured (mm or inch) Q : Servo delay (mm or inch) When bit 7 (SEB) of parameter No. 7300 i
• Page 58816.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 Example - The next block to G31 is an incremental command G31 G91 X100.0 F100; Y50.0; Skip signal is input here 50.0 Y 100.0 Actual motion X Motion without skip signal Fig.16.1 (a) The next block is an incremental command - The next block to G31 is an
• Page 589B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM 16.2 SKIPPING THE COMMANDS FOR SEVERAL AXES Move commands can be specified for several axes at one time in a G31 block. If an external skip signal is input during such commands, the command is canceled for all specified axes and the next block is exec
• Page 59016.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 16.3 HIGH SPEED SKIP SIGNAL (G31) The skip function operates based on a high-speed skip signal (connected directly to the NC; not via the PMC) instead of an ordinary skip signal. In this case, up to eight signals can be input. B Delay and error of ski
• Page 591B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM 16.4 MULTISTAGE SKIP (G31.1 TO G31.4) The multistage skip function can be used for a block specifying G31.1 to G31.4. The function stores, in the custom macro variable, the coordinates when four normal skip signals or eight high-speed skip signals are
• Page 59216.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 - Correspondence to skip signals Parameter Nos. 7205 to 7208 can be used to specify whether the 4-point or 8-point skip signal is used (when a high-speed skip signal is used). Specification is not limited to one-to-one correspondence. It is possible t
• Page 593B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM 16.5 AUTOMATIC TOOL LENGTH MEASUREMENT (G37) By issuing G37 the tool starts moving to the measurement position and keeps on moving till the approach end signal from the measurement device is output. Movement of the tool is stopped when the tool tip re
• Page 59416.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 - Specifying G37 Specify the absolute coordinates of the correct measurement position. Execution of this command moves the tool at the rapid traverse rate toward the measurement position, reduces the federate halfway, then continuous to move it until
• Page 595B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM NOTE 1 When an H code is specified in the same block as G37, an alarm is generated. Specify H code before the block!of G37. 2 The measurement speed (parameter No. 7311), deceleration position (parameter No. 7321), and permitted range of the approach e
• Page 59616.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 Examples G92 Z760.0 X1100.0 ; Sets a workpiece coordinate system with respect G00 G90 X850.0 ; Moves the tool to X850.0. That is the tool is moved to a position that is a specified distance from the measurement position along the Z-axis. H01 ; Specifi
• Page 597B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM 16.6 TORQUE LIMIT SKIP If a move command is specified after G31 P99 (or G31 P98) when the servo motor torque limit(*1) is overridden, the same cutting feed as that achieved by linear interpolation (G01) is possible. If the servo motor torque reaches t
• Page 59816.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 Explanation - Skip operation condition Condition Command G31P98 G31P99 When a torque limit is reached A A When a skip signal is entered B A A : Skip operation is performed. B : Skip offset is not performed. - Torque limit skip operation In torque limi
• Page 599B-63324EN/03 PROGRAMMING 16.MEASUREMENT FUNCTIOM CNC position when the torque limit is reached is point B. Then, when torque limit skip is performed, the error is (A - B). - Torque limit command If a torque limit skip command specifies no torque limit override value in address Q, and no torque limit
• Page 60016.MEASUREMENT FUNCTIOM PROGRAMMING B-63324EN/03 either incorporates or does not incorporate a servo system error (positional deviation value). Positions in skip operation CNC current position Machine position Error Coordinate system origin Stop point Corrected position incorporating the delay Posit
• Page 601B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17 CUSTOM MACRO Although subprograms are useful for repeating the same operation, the custom macro function also allows use of variables, arithmetic and logic operations, and conditional branches for easy development of general programs such as pocketing and
• Page 60217.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.1 VARIABLES An ordinary machining program specifies a G code and the travel distance directly with a numeric value; examples are G100 and X100.0. With a custom macro, numeric values can be specified directly or using a variable number. When a variable numb
• Page 603B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Common variable #100 - #199, #500 - #999 Just as a local variable is used locally in the macro, a common variable is in common use throughout the main program, throughout each subprogram called from the main program, and throughout each macro. That is, #i u
• Page 60417.CUSTOM MACRO PROGRAMMING B-63324EN/03 n (1 to 9) of optional block skip/n cannot be replaced with a variable. No variable number can be specified directly using a variable. [Example] When replacing 5 of #5 with #30, specify #[#30] instead of ##30. Values exceeding the maximum allowable number for
• Page 605B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Original arithmetic expression #100=#1 #100=#1*5 #100=#1+#1 (example of common variable) Replacement result (if #1=) 0 0 Replacement result (if #1=0) 0 0 0 Original arithmetic expression #2001=#1 #2001=#1*5 #2001=#1+#1 (example of system variable
• Page 60617.CUSTOM MACRO PROGRAMMING B-63324EN/03 NOTE 1 If an unregistered variable name is specified, a PS0098 alarm is issued. 2 If an invalid value (such as a negative value) is specified as suffix n, a PS0099 alarm is issued. - Naming of common variables By specifying a variable name set with the SETVN
• Page 607B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.2 SYSTEM VARIABLES System variables can be used to read and write internal CNC data such as tool compensation values and current position data. System variables are essential for automation and general-purpose program development. System variables/constant
• Page 60817.CUSTOM MACRO PROGRAMMING B-63324EN/03 System variable System variable Attribute Description number name #2001 to #2200 [#_OFSG[n]] R/W Tool compensation values (geometric) in compensation memory B Note) Suffix n represents a compensation number (1 to 200). #10001 to #10999 These numbers can also
• Page 609B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Automatic operation and so forth System variable System variable Attribute Description number name #3000 [#_ALM] W Macro alarm #3001 [#_CLOCK1] R/W Clock 1 (Units : milliseconds) #3002 [#_CLOCK2] R/W Clock 2 (Units : hours) #3003 [#_CNTL1] R/W Single block
• Page 61017.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Modal information System variable System variable Attribute Description number name #4001 to #4030 [#_BUFG[n]] R Modal information of blocks up to the immediately preceding block (G code) Note) Suffix n represents a G code group number. #4102 [#_BUFB] R Mod
• Page 611B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO System variable System variable Attribute Description number name #4330 [#_ACTWZP] R Modal information of the block currently being executed (additional workpiece coordinate system number) #4401 to #4430 [#_INTG[n]] R Modal information of an interrupted block
• Page 61217.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Manual handle interrupt values System variable System variable Attribute Description number name #5121 to #5140 [#_MIRTP[n]] R Manual handle interrupt value Note) Suffix n represents an axis number (1 to 20). - Workpiece origin offsets System variable Syste
• Page 613B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Dynamic reference tool compensation values System variable System variable Attribute Description number name #16001 to #16020 [#_DOFS1[n]] R/W Dynamic reference tool compensation value (first pair) Note) Suffix n represents an axis number (1 to 20). #16021
• Page 61417.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Interface signals #1000 to #1031, #1032, #1033 to #1035 (Attribute : R) #1100 to #1115, #1132, #1133 to #1135 (Attribute : R/W) [Input signals] By reading the system variables, #1000 to #1032, for reading interface signals, the states of the interface input
• Page 615B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 30 i 31 #1032 = Σ # [1000 + i ] × 2 − #1031 × 2 i =0 30 { } 31 # [1032 + n ] = Σ 2 i × V − 2 × V i =0 i 31 where, Vi = 0 when UIni is 0 Vi = 1 when UIni is 1 n : 0 to 3 - 593 -
• Page 61617.CUSTOM MACRO PROGRAMMING B-63324EN/03 [Output signals] By assigning values to system variables #1100 to #1132, for outputting interface signals, interface output signals can be output. Variable Variable Number of Interface input signal number name points 0 #1100 [#_UO[0]] 1 UO000 (2 ) 1 #1101 [#_
• Page 617B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Variable Variable Number of Interface input signal number name points #1132 [#_UOL[0]] 32 UO000 to UO031 #1133 [#_UOL[1]] 32 UO100 to UO131 #1134 [#_UOL[2]] 32 UO200 to UO231 #1135 [#_UOL[3]] 32 UO300 to UO331 Variable value Input signal 1.0 Contact closed 0.
• Page 61817.CUSTOM MACRO PROGRAMMING B-63324EN/03 [Example] DI configuration 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Used for Sign 102 101 100 other purposes DO configuration 8 7 6 5 4 3 2 1 0 2 2 2 2 2 2 2 2 2 Not used Used for other purposes Address (1) Signed three BCD digits
• Page 619B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Tool compensation values #2000 to #2800, #10001 to #13999 (Attribute : R/W) Compensation values can be checked by reading system variables #2001 to #2800 and #10001 to #13999. Compensation values can be changed by assigning desired values to the system vari
• Page 62017.CUSTOM MACRO PROGRAMMING B-63324EN/03 - When the number of compensation values exceeds 200 (The values of the compensation numbers up to 200 can also be referenced using #2001 to #2400.) Compensation Geometric Wear number Variable Variable name Variable Variable name number number 1 #10001 [#_OFS
• Page 621B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - When the number of compensation values exceeds 200 (The values of the compensation numbers up to 200 can also be referenced using #2001 to #2800.) H code Compensation Geometric Wear number Variable Variable name Variable Variable name number number 1 #10001
• Page 62217.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Clocks #3001, #3002 (Attribute : R/W) By reading the system variables for clocks #3001 and #3002, the times of the clocks can be checked. The time of a clock can be preset by assigning a desired value to the system variable. Type Variable Variable Units Upo
• Page 623B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Variable number Value Single block stop Completion of an or variable name auxiliary function [#_M_SBK] 0 Enabled _ 1 Disabled _ [#_M_FIN] 0 _ To be awaited 1 _ Not to be awaited [Example] Drilling cycle (incremental programming) (Equivalent to G81) Macro call
• Page 62417.CUSTOM MACRO PROGRAMMING B-63324EN/03 By using the following variable names, feed hold, feedrate override, and exact stop in G61 mode or by G09 can be individually enabled or disabled. Variable Value Feed hold Feedrate Exact stop number override Variable name [#_M_FHD] 0 Enabled _ _ 1 Disabled _
• Page 625B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Mirror image state #3007 (Attribute : R) By reading #3007, the mirror image (setting or DI) state at that time can be checked for each axis. Value number Value name Description #3007 [#_MRIMG] Mirror image state In the binary representation below, each bit
• Page 62617.CUSTOM MACRO PROGRAMMING B-63324EN/03 Example 1 Reading of a cutting time: If #3016 is read when the cutting time is 5 hours, 45 minutes, and 18 seconds, 5.755 is read. Example 2 Presetting of a cutting time: If 5.755 is preset in #3016, 5.75 is actually set in #3016 because a value less than one
• Page 627B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Cumulative number of machined parts and number of required parts #3901, #3902 (Attribute : R/W) With the run time and part count display function, the number of required parts and the cumulative number of machined parts can be displayed on the screen. When
• Page 62817.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Modal information #4001 to #4130, #4201 to #4330, #4401 to #4530 (Attribute : R) By reading system variables #4001 to #4130, the modal information specified in the currently buffered block immediately preceding a macro statement that is also buffered and sp
• Page 629B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Classifi- Value Value name Description cation number (1) #4119 [#_BUFS] (2) #4319 [#_ACTS] Modal information (S code) (3) #4519 [#_INTS] (1) #4120 [#_BUFT] (2) #4320 [#_ACTT] Modal information (T code) (3) #4520 [#_INTT] (1) #4130 [#_BUFWZP] Modal information
• Page 63017.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Position information #5001 to #5080 (Attribute : R) By reading system variables #5001 to #5080, the end point positions of the immediately preceding block, the currently specified positions (machine coordinate system, workpiece coordinate system), and the s
• Page 631B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Tool length compensation #5081 to #5100 (Attribute : R) By reading system variables #5081 to #5100, the tool length compensation value of each axis in the block currently being executed can be checked. Variable Variable name Position information Read during
• Page 63217.CUSTOM MACRO PROGRAMMING B-63324EN/03 NOTE A variable value greater than the number of controlled axes is undefined. - Workpiece origin offsets #5201 to #5340, #7001 to #7960 (Attribute : R) Workpiece origin offsets can be checked by reading system variables #5201 to #5340 and #7001 to #7960. Wor
• Page 633B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO The workpiece origin offsets of additional workpiece coordinate systems can be handled as system variables as with a standard workpiece coordinate system. The system variable numbers are as follows : Variable Variable name Controlled axes Additional number wo
• Page 63417.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Reference fixture offset values #15001 to #15160 (Attribute : R/W) By reading system variables #15001 to #15160, the reference fixture offset values used with the rotary table dynamic fixture offset function can be checked. Reference fixture offset values c
• Page 635B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Dynamic reference tool compensation values #16001 to #16160 (Attribute : R/W) By reading system variables #16001 to #16160, the dynamic reference tool compensation values used with the rotary head dynamic tool compensation function can be checked. Dynamic r
• Page 63617.CUSTOM MACRO PROGRAMMING B-63324EN/03 NOTE A variable value greater than the number of controlled axes is undefined. - System constants #0, #3100 to #3102 (Attribute : R) Fixed values or constants used with the system can be handled in the same way as system variables. These constants are referre
• Page 637B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.3 ARITHMETIC COMMANDS A variety of arithmetic operations can be performed on variables. An arithmetic command must be specified the same as in general arithmetic expressions. , the right-hand-side of an arithmetic command is a combinatio
• Page 63817.CUSTOM MACRO PROGRAMMING B-63324EN/03 Explanation - Angle units The units of angles used with the SIN, COS, ASIN, ACOS, TAN, and ATAN functions are degrees. For example, 90 degrees and 30 minutes is represented as 90.5 degrees. - ARCSIN #i = ASIN[#j]; - The solution ranges from -90 to 90 deg. - #
• Page 639B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Natural logarithm #i = LN[#j]; - When the antilogarithm (#j) is zero or smaller, alarm PS0119 is issued. - A constant can be used instead of the #j variable. - Exponential function #i = EXP[#j]; - When the result (j) of the operation exceeds about 709, an o
• Page 64017.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Rounding up and down to an integer With CNC, when the absolute value of the integer produced by an operation on a number is greater than the absolute value of the original number, such an operation is referred to as rounding up to an integer. Conversely, wh
• Page 641B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Limitation - Data type The numeric data handled by custom macros are double-precision real data, as laid down in the applicable IEEE standard. Any errors associated with the execution of operations conform to the standard. - Cautions on reduced precision - Ad
• Page 64217.CUSTOM MACRO PROGRAMMING B-63324EN/03 #2=2.0000000000000000 but instead be equal to a slightly smaller value, such as #2=1.9999999999999997 To prevent this from occurring, change the N30 line as follows : N30 #3=FIX[#2+0.001]; In general, FIX[expression] must be changed to FIX[expression } ˆ] (wh
• Page 643B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.4 MACRO STATEMENTS AND NC STATEMENTS The following blocks are referred to as macro statements : - Blocks containing an arithmetic or logic operation (=) - Blocks containing a control statement (such as GOTO, DO, END) - Blocks containing a macro call comman
• Page 64417.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.5 BRANCH AND REPETITION In a program, the flow of control can be changed using the GOTO statement and IF statement. Three types of branch and repetition operations are used: Branch and repetition GOTO statement (unconditional branch) IF statement (conditio
• Page 645B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.5.2 Conditional Branch (IF Statement) A is specified after IF. IF[]GOTOn If the is satisfied (true), the processing branches to sequence number n. If the conditional expression is no
• Page 64617.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Relational operator A relational operator consists of two alphabetic characters as shown in the table below and is used to judge whether an operand is greater, smaller, or equal. The equal (=), greater than (>), and less than (<) signs cannot be used as rel
• Page 647B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.5.3 Repetition (While Statement) Specify a conditional expression after WHILE. While the specified condition is satisfied, the program from DO to END is executed. If the specified condition is not satisfied, program execution proceeds to the block after EN
• Page 64817.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Nesting The identification numbers (1 to 3) in a DO-END loop can be used as many times as desired. Note, however, when a program includes crossing repetition loops (overlapped DO ranges), alarm PS0124 occurs. 1.The identification numbers (1 3.DO loops can b
• Page 649B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Undefined variable In a conditional expression that uses EQ or NE, a and zero have different effects. In other types of conditional expressions, a is regarded as zero. Sample program The sample program below finds the total of numbers 1 to
• Page 65017.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.6 MACRO CALL A macro program can be called using the following methods: Macro call Simple call (G65) modal call (G66, G66.1, G67) Macro call with G code Macro call with M code Subprogram call with M code Subprogram call with T code Subprogram call with S c
• Page 651B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.1 Simple Call (G65) When G65 is specified, the custom macro specified at address P is called. Data (argument) can be passed to the custom macro program. G65 Pp LLambda < argument-specification > ; P : Number of the program to call Lambda : Repetition co
• Page 65217.CUSTOM MACRO PROGRAMMING B-63324EN/03 Variable Variable Variable Address Address Address number number number A #1 IK3 #12 J7 #23 B #2 I4 #13 K7 #24 C #3 J4 #14 I8 #25 I1 #4 K4 #15 J8 #26 J1 #5 I5 #16 K8 #27 K1 #6 J5 #17 I9 #28 I2 #7 K5 #18 J9 #29 J2 #8 I6 #19 K9 #30 K2 #9 J6 #20 I10 #31 I3 #10 K
• Page 653B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO NOTE 1 If address E is used as an axis name, using the program axis name expansion option, *2 and *3 apply. 2 The value of α differs with the increment system of the axis for which the address is set, as follows: IS-A:2, IS-B:3, IS-C:4, IS-D:5, IS-E:6 If the
• Page 65417.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Local variable levels - Local variables from level 0 to 5 are provided for nesting. - The level of the main program is 0. - Each time a macro is called (with G65, G66 or G66.1), the local variable level is incremented by one. The values of the local variabl
• Page 655B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Sample program (bolt hole circle) A macro is created which drills H holes at intervals of B degrees after a start angle of A degrees along the periphery of a circle with radius I. The center of the circle is (X,Y). Commands can be specified in either the abso
• Page 65617.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Program calling a macro program O0002; G90 G92 X0 Y0 Z100.0; G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500 I100.0 A0 B45.0 H5; M30; - Macro program (called program) O9100; #3=#4003; ......................Stores G code of group 3. G81 Z#26 R#18 F#9 L0; .....Drill
• Page 657B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.2 Modal Call : Move Command Call (G66) Once G66 is issued to specify a modal call a macro is called after a block specifying movement along axes is executed. This continues until G67 is issued to cancel a modal call. G66 Pp L Lambda P : Number of the pro
• Page 65817.CUSTOM MACRO PROGRAMMING B-63324EN/03 Sample program The same operation as the drilling canned cycle G81 is created using a custom macro and the machining program makes a modal macro call. For program simplicity,all drilling data is specified using absolute values. The canned cycle consists of th
• Page 659B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Macro program (program called) O9110; #1=#4001;............................. Stores G00/G01. #3=#4003;............................. Stores G90/G91. #4=#4109;............................. Stores the cutting feedrate. #5=#5003;............................. St
• Page 66017.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.6.3 Modal Call : Per-Block Call (G66.1) In this macro call mode, a specified macro is called unconditionally in each NC command block. All the commands in each block are regarded as being arguments, without being executed, except the O, N, and G codes. (Fo
• Page 661B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.4 Macro Call Using G Code By setting a G code number used to call a macro program in a parameter, the macro program can be called in the same way as for a simple call (G65). O0001 ; O9010 ; : : G81 X10.0 Y20.0 Z-10.0 ; : : : M30 ; N9 M99 ; Parameter @No.
• Page 66217.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Argument specification As with a simple call, two types of argument specification are available: Argument specificationIand argument specificationII. The type of argument specification is determined automatically according to the addresses used. Limitation
• Page 663B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.5 Macro Calls with G Codes (Specification of Multiple G Codes) By setting the first G code to be used for a macro program call, the number of the first program to be called, and the number of code and call combinations, macro calls can be defined with mu
• Page 66417.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.6.6 Macro Calls with G Codes with the Decimal Point (Specification of Multiple G Codes) By setting the first G code with the decimal point to be used for a macro program call, the number of the first program to be called, and the number of code and call co
• Page 665B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.7 Macro Call Using an M Code By setting an M code number used to call a macro program in a parameter, the macro program can be called in the same way as with a simple call (G65). O0001 ; O9020 ; : : M50 A1.0 B2.0 ; : : : M30 ; M99 ; Parameter @No.7080=50
• Page 66617.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.6.8 Macro Calls with M Codes with the Decimal Point (Specification of Multiple G Codes) By setting the first M code with the decimal point to be used for a macro program call, the number of the first program to be called, and the number of code and call co
• Page 667B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.9 Subprogram Call Using an M Code By setting an M code number used to call a subprogram (macro program) in a parameter, the macro program can be called in the same way as with a subprogram call (M98). O0001 ; O9001 ; : : M03 ; : : : M30 ; M99 ; Parameter
• Page 66817.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.6.10 Subprogram Call Using an M Code (Specification of Multiple G Codes) By setting the first M code to be used for a subprogram call, the number of the first program to be called, and the number of code and call combinations, subprogram calls can be defin
• Page 669B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.11 Subprogram Calls Using a T Code By enabling subprograms (macro program) to be called with a T code in a parameter, a macro program can be called each time the T code is specified in the machining program. O0001 ; O9000 ; : : T23 ; : : : M30 ; M99 ; Pa
• Page 67017.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.6.12 Subprogram Calls Using a S Code By enabling subprograms (macro program) to be called with a S code in a parameter, a macro program can be called each time the S code is specified in the machining program. O0001 ; O9029 ; : : S23 ; : : : M30 ; M99 ; Pa
• Page 671B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.6.13 Subprogram Calls Using a 2nd Auxiliary Function Code By enabling subprograms (macro program) to be called with a 2nd auxiliary function code in a parameter, a macro program can be called each time the 2nd auxiliary function code is specified in the ma
• Page 67217.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.6.14 Sample Program By using the subprogram call function that uses M codes, the cumulative usage time of each tool is measured. - Conditions - The cumulative usage time of each of tools T01 to T05 is measured. No measurement is made for tools with numbers
• Page 673B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Program that calls a macro program O0001; T01 M06; M03; : M05; .................................... Changes #501. T02 M06; M03; : M05; .................................... Changes #502. T03 M06; M03; : M05; .................................... Changes #503.
• Page 67417.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.7 PROCESSING MACRO STATEMENTS For smooth machining, the CNC prereads the NC statement to be performed next. This operation is referred to as buffering. In multi-buffer mode, which is specified by setting MBF (bit 6 of parameter No. 2401) to 1 or assumed in
• Page 675B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Buffering the next block in other than cutter compensation mode (G41, G42) > N1 X100.0 ; N1 N4 NC statement execution N2 #1=100 ; N3 #2=200 ; N2 N3 Macro statement execution N4 Y200.0 ; Buffer N4 > : Block being executed : Block read into the buffer When N1
• Page 67617.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.8 REGISTERING CUSTOM MACRO PROGRAMS Custom macro programs are similar to subprograms. They can be registered and edited in the same way as subprograms. The storage capacity is determined by the total length of tape used to store both custom macros and subp
• Page 677B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.9 CODES AND RESERVED WORDS USED IN CUSTOM MACROS The following codes can be used in custom macro programs, in addition to the codes used in ordinary programs. Explanation - Codes (1) ISO codes (represented by hole patterns in tape) Meaning 8 7 6 5 4 3 2 1
• Page 67817.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Reserved words The following reserved words can be used in custom macros: AND, OR, XOR, MOD, EQ, NE, GT, LT, GE, LE , SIN, COS, TAN, ASIN, ACOS, ATAN, ATN, SQRT, SQR, ABS, BIN, BCD, ROUND, RND, FIX, FUP, LN, EXP, POW, ADP, IF, GOTO, WHILE, DO, END, BPRNT, D
• Page 679B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.10 WRITE-PROTECTING COMMON VARIABLES By setting variable numbers for parameters Nos. 7029 to 7032, multiple common variables (#500 to #999 or #200 to #499) can be protected, with their attributes changed to READ-only. This protection is effective against i
• Page 68017.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.11 DISPLAYING A MACRO ALARM AND MACRO MESSAGE IN JAPANESE Explanation Kanji, katakana and hiragana characters as well as alphanumeric characters and special characters can be displayed on the alarm screen and external operator message screen using system v
• Page 681B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.12 EXTERNAL OUTPUT COMMANDS In addition to the standard custom macro commands, the following macro commands are available. They are referred to as external output commands. - BPRNT - DPRNT - POPEN - PCLOS These commands are provided to output variable valu
• Page 68217.CUSTOM MACRO PROGRAMMING B-63324EN/03 (ii) All variables are stored with a decimal point. Specify a variable followed by the number of significant decimal places enclosed in brackets. A variable value is treated as 2-word (32-bit) data, including the decimal digits. It is output as binary data st
• Page 683B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Data output command DPRNT DPRNT [ a #b [c d]...] Number of significant decimal places Number of significant digits in the integer part Variable Character The DPRNT command outputs characters and each digit in the value of a variable according to the code se
• Page 68417.CUSTOM MACRO PROGRAMMING B-63324EN/03 Example) DPRNT [ X#2 [53] Y#5 [53] T#30 [20] ] Variable value #2=128.47398 #5=-91.2 #30=123.456 (1) Parameter PRT(No.7000#7)=0 LF T sp 23 Y- sp sp sp 91200 sp sp sp 128474 (2) Parameter PRT(No.7000#7)=0 LF T23 Y-91.200 X128.474 - Close command PCLOS The PCLOS
• Page 685B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Required setting Specify the specification number use for I/O device specification number . According to the specification of this data, set data items (such as the baud rate) for the reader/punch interface. Never specify the output device FANUC Cassette or
• Page 68617.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.13 LIMITATIONS - Sequence number search A custom macro program cannot be searched for a sequence number. - Single block Even while a macro program is being executed, blocks can be stopped in the single block mode. A block containing a macro call command (G
• Page 687B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Reset With a reset operation, local variables and common variables #100 to #199 are cleared to null values. They can be prevented from clearing by setting, CLV (bit 6 of parameter 7000). System variables #1000 to #1132 are not cleared. A reset operation cle
• Page 68817.CUSTOM MACRO PROGRAMMING B-63324EN/03 17.14 INTERRUPTION TYPE CUSTOM MACRO When a program is being executed, another program can be called by inputting an interrupt signal (UINT) from the machine. This function is referred to as an interruption type custom macro function. Program an interrupt com
• Page 689B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO When the interrupt signal (UINT, marked by * in Fig. 17.14(a) is input during execution of the interrupt program or after M97 is specified, it is ignored. 17.14.1 Specification Method Explanations - Interrupt conditions A custom macro interrupt is available o
• Page 69017.CUSTOM MACRO PROGRAMMING B-63324EN/03 NOTE For the status-triggered and edge-triggered schemes, see Item "Custom macro interrupt signal (UINT)" of II-17.14.2. - 668 -
• Page 691B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 17.14.2 Details of Functions Explanations - Subprogram-type interrupt and macro-type interrupt There are two types of custom macro interrupts: Subprogram-type interrupts and macro-type interrupts. The interrupt type used is selected by MSB (bit 1 of parameter
• Page 69217.CUSTOM MACRO PROGRAMMING B-63324EN/03 Type I (when an interrupt is performed even in the middle of a block) (i) When the interrupt signal (UINT) is input, any movement or dwell being performed is stopped immediately and the interrupt program is executed. (ii) If there are NC statements in the int
• Page 693B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Type II (when an interrupt is performed at the end of the block) (i) If the block being executed is not a block that consists of several cycle operations such as a drilling canned cycle and automatic reference position return (G28), an interrupt is performed
• Page 69417.CUSTOM MACRO PROGRAMMING B-63324EN/03 - Custom macro interrupt during execution of a block that involves cycle operation For type I Even when cycle operation is in progress, movement is interrupted, and the interrupt program is executed. If the interrupt program contains no NC statements, the cyc
• Page 695B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO 1 0 Interrupt signal (UINT) Interrupt Interrupt Interrupt Interrupt execution execution execution execution Status-triggered scheme Interrupt execution Edge-triggered scheme Fig.17.14.2 (c) Custom macro interrupt signal - Return from a custom macro interrupt
• Page 69617.CUSTOM MACRO PROGRAMMING B-63324EN/03 O1000 ; M96 P1234 ; Interrupt O1234 Interrupt Gxx Xxxxx ; Interrupt M99 ; M96 P5678 O5678 Interrupt M97 Gxx Xxxxx ; M96 ; M99 ; M97 Fig.17.14.2 (d) Return from a custom macro interrupt NOTE When an M99 block consists only of address O, N, P, L, or M, this blo
• Page 697B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO - Custom macro interrupt and modal information A custom macro interrupt is different from a normal program call. It is initiated by an interrupt signal (UINT) during program execution. In general, any modifications of modal information made by the interrupt p
• Page 69817.CUSTOM MACRO PROGRAMMING B-63324EN/03 Modal information when control is returned by M99 The modal information present before the interrupt becomes valid. The new modal information modified by the interrupt program is made invalid. Modal information when control is returned by M99 Qxxxxxxxx The ne
• Page 699B-63324EN/03 PROGRAMMING 17.CUSTOM MACRO Tool center path Interrupt generated B B’ A A’ Offset vector Programmed tool path - Custom macro interrupt and custom macro modal call When the interrupt signal (UINT) is input and an interrupt program is called, the custom macro modal call is canceled (G67).
• Page 70018.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 18 HIGH-SPEED CUTTING FUNCTIONS - 678 -
• Page 701B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS 18.1 MULTIBUFFER (G05.1) While executing a block, the CNC usually calculates the next block to convert it to an applicable data form for execution (executable form). This feature is called buffering. The multi-buffer function increases the num
• Page 70218.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 Code Function *1 G52 Local coordinate system setting M00 Program stop M01 Optional stop M02 End of program M30 End of program In addition, M codes to suppress buffering can be set with parameters. (No.2411-2418) *1 To specify G52 as a G code t
• Page 703B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS NOTE 2 If many small blocks are specified in succession, an interruption in pulse distribution may occur between blocks. Such an interruption can be prevented if the time for executing blocks read in advance is longer than the time required fo
• Page 70418.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 NOTE 6 Processing performed at buffering The following processes performed at buffering are also performed at buffering in the multibuffer mode (1) Tool selection according to tool life management (2) Input of the park signal (Example) N1 G01
• Page 705B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS 18.2 DECELERATION BASED ON ACCELERATION DURING CIRCULAR INTERPOLATION When cutting is performed at high speed for circular, helical, or spiral interpolation, the actual tool path will vary slightly from that intended.. This error in circular i
• Page 70618.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 NOTE In fine HPCC mode, an optimum feedrate that causes the accelerations on individual axes to fall within the range of permissible acceleration is calculated even if the permissible accelerations specified for the axes are different. In a mo
• Page 707B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS 18.3 ADVANCED PREVIEW CONTROL(G05.1) With the FANUC Series 15i, the look-ahead acceleration/deceleration before interpolation function is used for high-speed, high-precision machining, instead of advanced preview control. The look-ahead accele
• Page 70818.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 18.4 LOOK-AHEAD ACCELERATION/DECELERATION BEFORE INTERPOLATION (G05.1) This function is designed to achieve high-speed, high-precision machining with a program including a combination of straight lines and arcs, like those used for parts machi
• Page 709B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS - Fine high precision contour control (fine HPCC) When the fine HPCC option is selected, fine HPCC mode is also set when look-ahead acceleration/deceleration before interpolation mode is set. - Dry run If the dry run signal switches from 0 to
• Page 71018.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 Limitation - Condition for performing look-ahead acceleration/deceleration before interpolation Even if look-ahead acceleration/deceleration before interpolation mode is specified, look-ahead acceleration/deceleration before interpolation is n
• Page 711B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS 18.5 FINE HPCC (G05.1) This function is designed to achieve high-speed, high-precision machining with a program involving a sequence of very small straight lines and NURBS curved lines, like those used for metal die machining. This function ca
• Page 71218.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 With the fine HPCC function, the additional functions listed below can be used to achieve high-speed, high-precision machining for very small straight lines and NURBS curved lines: 1) Feedrate determination based on acceleration on each axis 2
• Page 713B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS NOTE 1 Always specify G05P10000 and G01P0 as a pair. Fine HPCC mode, after being turned on by G05.1Q1, cannot be turned off by G05P0. Fine HPCC mode, after being turned on by G05P10000, cannot be turned off by G05.1Q0. 2 Setting the MBF bit (b
• Page 71418.HIGH-SPEED CUTTING FUNCTICNS PROGRAMMING B-63324EN/03 18.6 MACHINING TYPE IN HPCC SCREEN PROGRAMMING (G05.1 OR G10) General The high-speed high-precision machining setting screen supports three machining parameter sets (FINE, MEDIUM, and ROUGH). The parameter set to use can be selected in MDI mod
• Page 715B-63324EN/03 PROGRAMMING 18.HIGH-SPEED CUTTING FUNCTICNS - Program example O12345678 G05.1 Q1 R3 Operation is performed with "rough machining" settings. G05.1 Q1 R2 Operation is performed with "semifinish machining" settings. G10 L80 R1 Operation is performed with "finish" machining. G05.1 Q0 M30 -
• Page 71619.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19 AXIS CONTROL FUNCTIONS - 694 -
• Page 717B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.1 AXIS INTERCHANGE The machine axis on which the tool actually moves with the X, Y, or Z command specified by memory, DNC, or MDI operation can be changed by using the setting data (No. 1049) or the switches on the machine operator’s panel. This
• Page 71819.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 (2) Specification with the switches on the machine operator’s panel For an explanation of using the panel switches, refer to the manual provided by the machine tool builder. The relationships between the specification with the setting data and that
• Page 719B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS Example) If interchange number 4 is specified     G00 X100.0 Y200.0 Z30.0 ;    G00 X200.0 Y300.0 Z100.0 ;      NOTE 1 If the same program is used with and without axis interchange, the a
• Page 72019.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.2 TWIN TABLE CONTROL Two specified axes can be switched to synchronous, independent, or normal operation, using the appropriate switches on the machine operator’s panel. The following operating modes are applicable to machines having two tables d
• Page 721B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS The synchronous operation can be executed in automatic operation, continuous manual feed, manual handle feed, and incremental feed. It cannot be executed in manual return to the reference position. - Independent operation This mode is used to machin
• Page 72219.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 - Automatic reference position return check When the automatic reference position return check command (G27) is issued during synchronous operation, the V axis and Y axis move in tandem. If both the Y axis and the V axis have reached their respectiv
• Page 723B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS - Synchronous deviation compensation Synchronous deviation compensation cannot be performed. This would constantly monitor the master axis and a slave axis for any servo position deviation difference and compensate the servo motor of the slave axis
• Page 72419.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.2.1 Tool Length Compensation in tool axis direction with Twin Table Control For a machine that applies twin table control to two heads, tool length compensation along the tool axis can be performed simultaneously for both heads (synchronous opera
• Page 725B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS - Switching between synchronous and independent operation (1) Synchronous operation Tool length compensation along the tool axis performs simultaneously for both heads. The compensation value calculated using the positions of the master rotation axe
• Page 72619.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 Restrictions - Changing the tool length compensation value along the tool axis The tool length compensation value along the tool axis can be changed for both synchronous and independent operation by three-dimensional handle interruption. In synchron
• Page 727B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.3 SYNCHRONIZATION CONTROL When one axis is driven by two servo motors as in the case of a large gantry machine, a command for one axis can drive two motors synchronously. Moreover, for synchronization error compensation, feedback information from
• Page 72819.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.4 TANDEM CONTROL When enough torque for driving a large table cannot be produced by only one motor, two motors can be used for movement along a single axis. Positioning is performed by the main motor only. The submotor is used only to produce tor
• Page 729B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.5 CHOPPING FUNCTION (G80,G81.1) When contour grinding is performed, the chopping function can be used to grind the side face of a workpiece. By means of this function, while the grinding axis (the axis with the grinding wheel) is being moved vert
• Page 73019.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 Chopping is continued even when the mode is switched to the manual mode or the automatic operation is halted by the feed hold function. The chopping operation is stopped with the G80 command or a reset, after which the tool returns to point R and th
• Page 731B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS When movement according to the new data starts, the chopping delay compensation function stops the chopping delay compensation for the old data, and starts the chopping delay compensation for the new data. The following describes the operations perf
• Page 73219.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 (3) When the upper dead point is changed during movement from the lower dead point to the upper dead point New upper dead point Changing the upper dead point Previous lower dead point The tool first moves to the previous upper dead point, then to th
• Page 733B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS compensation amount, is specified. When a chopping command is specified, the feedrate is determined so that the chopping count per unit time equals the specified count. When the difference between the displacement of the tool from the upper dead poi
• Page 73419.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 - Reset during chopping When a reset is performed during chopping, the tool immediately moves to point R, after which chopping mode is canceled. If an emergency stop or servo alarm occurs during chopping, mode is canceled, and the tool stops immedia
• Page 735B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS - PMC axis When a chopping axis is selected as a PMC axis, chopping cannot be started. - Look-ahead acceleration/deceleration before interpolation Look-ahead acceleration/deceleration before interpolation cannot be applied to a chopping axis. Exampl
• Page 73619.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.6 PARALLEL AXIS CONTROL When a machine having two or more heads or tables is used to simultaneously machine two or more identical workpieces, parallel operation is executed. In parallel operation, the move command specified for a programmed axis
• Page 737B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS Explanation - Selection of the coordinate system in parallel axes An individual offset from the workpiece reference point can be specified for each of the control axes represented by a single programmed axis. The coordinate systems of the control ax
• Page 73819.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 (f) Automatic return from the reference position(G29) Positions the tool to the specified position on each axis via the mid point. (Example)G91 G29 X30. Y50.; - Tool length compensation and tool offset in parallel axes Tool length compensation can b
• Page 739B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS - Amounts of travel on parallel axes The amounts of travel on parallel axes differ depending on whether the command is incremental or absolute. (1) For an incremental command - Rapid traverse and linear interpolation The amounts of travel on all par
• Page 74019.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 Limitation - Synchronous control and twin table control Of the parallel axes with the same axis name, that having the smallest controlled axis number is called the master axis. Axes other than the master axis are called slave axes. When synchronous
• Page 741B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.7 ROTARY AXIS ROLL-OVER The roll-over function prevents coordinates for the rotation axis from overflowing. The roll-over function is enabled by setting bit 2 of parameter RDA 1009 to 1. When the rotation axis rollover function is used, the absol
• Page 74219.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 - Example of rollover with a manual intervention amount When this function is used in the absolute mode, if the manual absolute switch is turned on to make a manual intervention during automatic operation the manual intervention is converted to the
• Page 743B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.8 MULTIPLE ROTARY CONTROL AXIS FUNCTION Explanation A rotary axis is specified in the ROT bit (bit 1 of parameter 1008). When incremental programming is specified for the rotary axis, a specified value directly determines the travel distance. Whe
• Page 74419.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 (2) When the RSR bit (bit 2 of parameter 1007) is set to 0 and the INC bit (bit 5 of parameter 1007) is set to 1 The shortest way to make the movement of (1) is selected. [Example] G90B0 ; Movement to the 0-degree position G90B380. ; Rotation by 20
• Page 745B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.9 ELECTRONIC GEAR BOX (G80, G81, G80.5, G81.5) The Electronic Gear Box is a function for rotating a workpiece in sync with a rotating tool, or to move a tool in sync with a rotating workpiece. With this function, the high-precision machining of g
• Page 74619.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.9.1 Command Specification (G80.5, G81.5) Format Tt   βj  G81.5    β 0 Ll  ; Synchronization started  Pp    Amount of travel Amount of travel relative to the relative to the master axis slave axis G80.5 β0 ; Synchronization canceled Ex
• Page 747B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS CAUTION 1 During synchronization, movements for the slave axis and other axes can be specified by programming. Note, however, that a move command must be specified in incremental mode. 2 G27, G28, G29, G30, G30.1, G33, or G53 cannot be specified for
• Page 74819.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.9.2 Command Specification Compatible with Hobbing Machine (G80,G81) Synchronization can be specified in the same way as the operation of a hobbing machine is specified. When the canned cycle option is specified, this specification method cannot b
• Page 749B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS helical gear compensation is applied with the synchronizing factor remaining unchanged. Thus, a helical gear and spur gear can be machined in succession. NOTE While synchronization specified by the method compatible with hobbing machine is in progre
• Page 75019.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 - Direction of helical gear compensation About HDR bit (bit 2 of parameter 7612) When the HDR bit is set to 1 (a) (b) (c)  +Z +C +C +C +C C : +, Z : +, P : + C : +, Z : +, P : - C : +, Z : -, P : + C : +, Z : -, P : - Compensation direction : + C
• Page 751B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.9.3 Example of Controlled Axis Configuration - Gear grinder Spindle : EGB master axis: Tool axis First axis : X Second axis : Y Third axis : C-axis (EGB slave axis: Workpiece axis) Fourth axis : C-axis (EGB dummy axis: Not usable as an ordinary c
• Page 75219.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.9.4 Sample Programs - When the master axis is the spindle, and the slave axis is the C-axis 1. G81.5 T10 C0 L1 ; Synchronization between the master axis and C-axis is started at the ratio of one rotation about the C-axis to ten rotations about th
• Page 753B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS E - When two groups of axes are synchronized simultaneously Based on the controlled axis configuration described in II-1.1.3, the sample program below synchronizes the spindle with the V-axis while the spindle is synchronized with the C-axis. O0100
• Page 75419.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 - Dressing Dressing on a gear grinding machine configured as illustrated below U-axis Grinding wheel V-axis V-axis motor Limit switch 1 Limit switch 2 O9500 ; N01 G01 G91 U Q F100 ; Approach along the dressing axis N02 Maa S100 ; With Maa, the PMC r
• Page 755B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS - Command specification for hobbing machines Based on the controlled axis configuration described in Section 19.9.5, the sample program below sets the C-axis (in parameter 5995) for starting synchronization with the spindle according to the command
• Page 75619.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.9.5 Synchronization Ratio Specification Range The programmed ratio (synchronization ratio) of a movement along the slave axis to a movement along the master axis is converted to a detection unit ratio inside the NC. If such converted data (detect
• Page 757B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS amounts of movements represented in the detection unit on the master axis and slave axis specified in a synchronization start command, respectively. When the master axis is the spindle, and the slave axis is the C-axis (a) Command : G81.5 T10 C0 L1
• Page 75819.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 Both Kn and Kd are within the allowable range. No alarm is output. In this sample program, when T1 is specified for the master axis, the synchronization ratio (fraction) of the CMR of the C-axis to the denominator Kd can always be reduced to lowest
• Page 759B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS  ×       Both Kn and Kd are within the allowable range. No alarm is output. (b) For a millimeter machine and inch input Command :G81.5 T1 V1.0 ; Operation : Synchronization between the spindle and V-axis is started at the ratio of
• Page 76019.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 amounts of movements represented in the detection unit for the master axis and slave axis specified in a synchronization start command, respectively. When the master axis is the spindle, and the slave axis is the C-axis (a) Command : G81.5 T1 C3.263
• Page 761B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.9.6 Retract Function - Retract function by an external signal When the retract switch on the machine operator’s panel is turned on, retraction and feedrate are made by the amount specified in parameter 7796 and 7795. When the retract amount is se
• Page 76219.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 - Processing of the retract function by a servo/spindle alarm Failure on servo axis Failure on spindle Failure in servo amplifier Failure in spindle amplifier Spindle deceleration started Spindle deceleration started : PMC : Spindle amplifier Moveme
• Page 763B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.9.7 Electronic Gear Box Automatic Phase Synchronization When synchronization start or cancellation is specified, the EGB (Electronic Gear Box) function does not immediately start or cancel synchronization. Instead, it performs acceleration or dec
• Page 76419.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 Explanation - Acceleration/deceleration type Spindle speed Synchronization start command Synchronization cancel command Workpiece axis speed Acceleration Synchronous state Deceleration 1. Starting synchronization When synchronization is started, the
• Page 765B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 2. Canceling synchronization Deceleration starts according to the acceleration rate set in the parameter (No. 7729). CAUTION The automatic phase matching speed is specified in parameter 5984 while the travel direction is specified in the PHD bit (bi
• Page 76619.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 Example - Acceleration/deceleration type M03 ; Clockwise spindle rotation command G81 T_ L_ R1 ; Synchronization start command G00 X_ ; Positions the workpiece at the machining position. Machining in the synchronous state G00 X_ ; Retract the workpi
• Page 767B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.10 SKIP FUNCTION FOR EGB AXIS(G31.8) This function validates a skip signal or high-speed skip signal (both referred to as the skip signal) for the EGB slave axis in the synchronization mode set by the EGB (Electronic Gear Box) function. This func
• Page 76819.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 After 200 times of skip signal inputs, 200 skip positions of A axis corresponding to each skip signal input are set in the custom macro variables whose numbers are from 500 to 699. And the times of skip signal input is set in the custom macro variab
• Page 769B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS 19.11 TOOL WITHDRAWAL AND RETURN (G10.6) To replace the tool damaged during machining or to check the status of machining, the tool can be withdrawn from a workpiece. The tool can then be advanced again to restart machining efficiently. The tool wit
• Page 77019.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 Format Specify a retraction axis and distance in the following format: Specify the amount of retraction, using G10.6. G10.6 IP_; IP_ : In incremental mode, retraction distance from the position where the retract signal is turned on In the absolute m
• Page 771B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS - Repositioning When the cycle start button is pressed while the tool is in the retraction position, the tool moves to the position where the TOOL WITHDRAW switch was turned on. This operation is called repositioning. Upon completion of repositionin
• Page 77219.AXIS CONTROL FUNCTIONS PROGRAMMING B-63324EN/03 19.12 HIGH SPEED HRV MODE Overview Higher speed and higher precision HIGH SPEED HRV control can be performed by using the servo control card, the servo amplifier, and Separate Detector I/F Unit supporting HIGH SPEED HRV control. Format G05.4 Q1 ; Tu
• Page 773B-63324EN/03 PROGRAMMING 19.AXIS CONTROL FUNCTIONS Restrictions HIGH SPEED HRV mode is disabled under any of the following conditions, even if an attempt is made to turn it on: - Automatic operation is stopped - PMC axis control axis - Axis on which a chopping operation is in progress - Axis for whi
• Page 774APPENDI
• Page 775B-63324EN/03 APPENDIX A.TAPE CODE LIST A TAPE CODE LIST IBC Code EIA Code Meaning Character 8 7 6 5 4 3 2 1 Character 8 7 6 5 4 3 2 1 0 O O • 0 O • Number 0 1 O O O O O 1 O O Number 1 2 O O O • O 2 • O Number 2 3 O O • O O 3 O • O O Number 3 4 O O O • O 4 • O Number 4 5 O O • O O 5 O • O O Number 5
• Page 776A.TAPE CODE LIST APPENDIX B-63324EN/03 ISO code EIA code Meaning Character 8 7 6 5 4 3 2 1 Character 8 7 6 5 4 3 2 1 DEL O O O O O • O O O Del O O O O • O O O Delete (deleting a mispunch) NUL • Blank • No punch. With EIA code, this code cannot be used in a significant information section. BS O O • B
• Page 777B-63324EN/03 APPENDIX A.TAPE CODE LIST NOTE 1 *:Codes with an asterisk that are entered in a comment area are read into memory. When entered in a significant data area, these codes are ignored. x: Codes with an x are ignored. ?:Codes with a question mark are ignored when entered in a significant dat
• Page 778B.LIST OF FUNCTION AND TAPE FORMAT APPENDIX B-63324EN/03 B LIST OF FUNCTION AND TAPE FORMAT The symbols in the list represent the following. IP _ : X _ Y _ Z _ A _ As seen above, the format consists of a combination of arbitary axis addresses among X, Y, Z, A, B, C, U, V, and W x : First basic axis
• Page 779B-63324EN/03 APPENDIX B.LIST OF FUNCTION AND TAPE FORMAT Functions Illustration Tape format Helical interpolation z G02 R_ (G02, G03) G17 Xp_ Yp_ α_F_ ; G03 I_ J_ G02 R_ Start G18 Xp_ Zp_ ¿_F_ ; G03 I_ K_ point (xyz) (x, y) G02 R_ G19 Yp_ Zp_ ¿_F_ ; G03 J_ K_ (In case of X-Y plane) α : Any axis othe
• Page 780B.LIST OF FUNCTION AND TAPE FORMAT APPENDIX B-63324EN/03 Functions Illustration Tape format Polar coordinate (G15, G16) Local coordinate G17 G16 Xp_ Yp_ ; p G18 G16 Zp_ Xp _ ; Xp G19 G16 Yp_ Zp _ ; Yp G15 ; Cancel Xp Work coordinate system Plane section G17 Xp_ Yp_ ; (G17, G18, G19) G18 ;Zp_ Xp_ G19
• Page 781B-63324EN/03 APPENDIX B.LIST OF FUNCTION AND TAPE FORMAT Functions Illustration Tape format Normal direction control (G40.1, G41.1 Normal direction control (left) G41.1, G42.1) G42.1 Normal direction control (right) G40.1 Normal direction control cancel Tool length offset G43 (G43, G44, G49) Z_ H_ ;
• Page 782B.LIST OF FUNCTION AND TAPE FORMAT APPENDIX B-63324EN/03 Functions Illustration Tape format Automatic corner override G62_ ; Automatic corner override v G61 t Custom macro Macro One-shot call (G65, G66, G67) G65 P_ L_ ; O_ ; P : Program No. G65 P_L_ ; M99 ; L : Number of repeati
• Page 783B-63324EN/03 APPENDIX C.RANGE OF COMMAND VALUE C Linear axis RANGE OF COMMAND VALUE - in case of metric thread for feed screw and metric input Increment system IS-A IS-B IS-C IS-D IS-E Least input increment 0.01 0.001 0.0001 0.00001 0.000001 (mm) Least command 0.01 0.001 0.0001 0.00001 0.000001 incr
• Page 784C.RANGE OF COMMAND VALUE APPENDIX B-63324EN/03 - in case of metric threads for feed screw and inch input Increment system IS-A IS-B IS-C IS-D IS-E Least input increment 0.001 0.0001 0.00001 0.000001 0.0000001 (inch) Least command 0.001 0.0001 0.00001 0.000001 0.0000001 increment iinch j Max. program
• Page 785B-63324EN/03 APPENDIX C.RANGE OF COMMAND VALUE - in case of inch thread for feed screw and metric input) Increment system IS-A IS-B IS-C IS-D IS-E Least input increment 0.01 0.001 0.0001 0.00001 0.000001 (mm) Least command 0.01 0.001 0.0001 0.00001 0.000001 increment (mm) Max. programmable ±999,999.
• Page 786C.RANGE OF COMMAND VALUE APPENDIX B-63324EN/03 NOTE *1 The feed rate range shown above are limitations depending on CNC interpolation capacity. When regarded as a whole system, limitations, depending on the servo system, must also be considered. *2 Incremental feed amount can be specified by setting
• Page 787B-63324EN/03 APPENDIX D.NOMOGRAPHS D NOMOGRAPHS - 767 -
• Page 788D.NOMOGRAPHS APPENDIX B-63324EN/03 D.1 INCORRECT THREADED LENGTH The leads of a thread are generally incorrect in δ1 and δ2, as shown in Fig. D.1 (a), due to automatic acceleration and deceleration. Thus distance allowances must be made to the extent of ´1 and ´2 in the program. δ1 δ2 Fig. D.1(a) @I
• Page 789B-63324EN/03 APPENDIX D.NOMOGRAPHS The lead at the beginning of thread cutting is shorter than the specified lead L, and the allowable lead error is DL. Then as follows. ∆L α= L When the value of HaI is determined, the time lapse until the thread accuracy is attained. The time HtI is substituted in
• Page 790D.NOMOGRAPHS APPENDIX B-63324EN/03 D.2 SIMPLE CALCULATION OF INCORRECT THREAD LENGTH δ2 δ1 Fig. D.2(a) Incorrect threaded portion Explanations - How to determine δ2 LR δ2 = ( mm) 1800 * R : Spindle speed (min-1) L : Thread lead (mm) * When time constant T of the servo system is 0.033 s. - How to det
• Page 791B-63324EN/03 APPENDIX D.NOMOGRAPHS Examples R=350 min-1 L=1mm a=0.01 then 350 × 1 δ2 = = 0.194( mm) 1800 δ1 = δ 2 × 3.605 = 0.701( mm) - Reference V: speed in thread cutting × P (mm) ´2= 350=0.194 1800 ´1= ´2 ~3.605=0.701 Servo time constant Metric thread JIS class 1 Lead L JIS class 1 Undefied thre
• Page 792D.NOMOGRAPHS APPENDIX B-63324EN/03 D.3 TOOL PATH AT CORNER When servo system delay (by exponential acceleration/deceleration at cutting or caused by the positioning system when a servo motor is used) is accompanied by cornering, a slight deviation is produced between the tool path (tool center path)
• Page 793B-63324EN/03 APPENDIX D.NOMOGRAPHS Analysis The tool path shown in Fig. D.3 (b) is analyzed based on the following conditions: Feedrate is constant at both blocks before and after cornering. The controller has a buffer register. (The error differs with the reading speed of the tape reader, number of
• Page 794D.NOMOGRAPHS APPENDIX B-63324EN/03 - Initial value calculation 0 Y0 V X0 Fig. D.3(c) Initial value The initial value when cornering begins, that is, the X and Y coordinates at the end of command distribution by the controller, is determined by the feedrate and the positioning system time constant of
• Page 795B-63324EN/03 APPENDIX D.NOMOGRAPHS D.4 RADIUS DIRECTION ERROR AT CIRCLE CUTTING When a servo motor is used, the positioning system causes an error between input commands and output results. Since the tool advances along the specified segment, an error is not produced in linear interpolation. In circ
• Page 796E.TABLE OF KANJI AND HIRAGANA CODES APPENDIX B-63324EN/03 E TABLE OF KANJI AND HIRAGANA CODES - Table of Katakana codes - Table of Kanji and Hiragana codes - 776 -
• Page 797B-63324EN/03 APPENDIX E.TABLE OF KANJI AND HIRAGANA CODES - 777 -
• Page 798E.TABLE OF KANJI AND HIRAGANA CODES APPENDIX B-63324EN/03 - 778 -
• Page 799B-63324EN/03 APPENDIX E.TABLE OF KANJI AND HIRAGANA CODES - 779 -
• Page 800E.TABLE OF KANJI AND HIRAGANA CODES APPENDIX B-63324EN/03 - 780 -
• Page 801B-63324EN/03 APPENDIX E.TABLE OF KANJI AND HIRAGANA CODES - 781 -
• Page 802E.TABLE OF KANJI AND HIRAGANA CODES APPENDIX B-63324EN/03 - 782 -
• Page 803B-63324EN/03 APPENDIX E.TABLE OF KANJI AND HIRAGANA CODES - 783 -
• Page 804F.ALARM LIST APPENDIX B-63324EN/03 F ALARM LIST - 784 -
• Page 805B-63324EN/03 APPENDIX F.ALARM LIST F.1 PS ALARM (ALARMS RELATED TO PROGRAM) Number Message Contents PS0001 AXIS CONTROL MODE ILLEGAL Illegal axis control mode PS0003 TOO MANY DIGIT Data entered with more digits than permitted in the NC instruction word. The number of permissible digits varies accord
• Page 806F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents PS0090 DUPLICATE NC,MACRO An NC statement and macro statement were specified in STATEMENT the same block. PS0091 DUPLICATE SUB-CALL WORD More than one subprogram call instruction was specified in the same block. PS0092 DUPLICATE MACRO-CALL W
• Page 807B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents PS0124 MISSING DO STATEMENT The DO instruction corresponding to the END instruction was missing in a custom macro. PS0125 ILLEGAL EXPRESSION FORMAT The format used in an expression in a custom macro statement is in error. The parameter tape
• Page 808F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents PS0160 COMMAND DATA OVERFLOW An overflow occurred in the storage length of the CNC internal data. This alarm is also generated when the result of internal calculation of scaling, coordinate rotation and cylindrical interpolation overflows th
• Page 809B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents PS0194 ZERO RETURN END NOT ON REF The axis specified in automatic zero return was not at the correct zero point when positioning was completed. Perform zero return from a point whose distance from the zero return start position to the zero p
• Page 810F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents PS0272 CRC:INTERFERENCE The depth of the cut is too great during cutter compensation. Check the program. The criteria for judging interference are as follows: (1) The direction of movement of the programmed block differs from the direction o
• Page 811B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents PS0302 ILLEGAL DATA NUMBER A non-existent data No. was found while loading parameters or pitch error compensation data from a tape or by entry of the G10 parameter. This alarm is also generated when illegal word values are found. An invalid
• Page 812F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents PS0415 G37 MEASURING POSITION The measurement position arrival signal became "1" before REACHED SIGNAL IS NOT or after the area specified by parameter No. 7331 in PROPERLY INPUT automatic tool length measurement (G37). PS0421 SETTING COMMAND
• Page 813B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents PS0449 ILLEGAL TOOL LIFE DATA Tool life management data is damaged for some reason. Reload the tool group and the corresponding tool data by G10 L3; or MDI input. PS0450 IN PMC AXIS MODE The PMC axis control mode, the CNC issued a move instr
• Page 814F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents PS0540 ADDRESS E OVERFLOW The speed obtained by applying override to the E (OVERRIDE) instruction is too fast. PS0541 S-CODE ZERO "0" has been instructed as the S code. PS0542 FEED ZERO (E-CODE) "0" has been instructed as the feedrate (E cod
• Page 815B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents PS0592 END OF RECORD The EOR (End of Record) code is specified in the middle of a block. This alarm is also generated when the percentage at the end of the NC program is read. PS0593 EGB PARAMETER SETTING ERROR Erroneous EGB parameter settin
• Page 816F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents PS0626 G68 FORMAT ERROR There is a format error in the 3-dimensional coordinate conversion block. The alarm occurs in the following cases: (1) When I, J or K is missing from the block in which 3- dimensional coordinate conversion is specifie
• Page 817B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents PS0896 ILLEGAL FORMAT IN G02.3/G03.3 The format for specifying exponential interpolation is incorrect. Addresses I slope angle, J excessive torsion and setting R in exponential interpolation are not specified, or are set to "0". The setting
• Page 818F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents PS0995 ILLEGAL PARAMETER IN The parameter settings (parameter Nos. 6080 to 6089) for G41.2/G42.2 determining the relationship between the axis of rotation and the rotation plane are incorrect. PS0996 G41.3/G40 FORMAT ERROR (1) A move instruc
• Page 819B-63324EN/03 APPENDIX F.ALARM LIST F.2 BG ALARM (ALARMS RELATED TO BACKGROUND EDIT) Number Message Contents BG0590 TH ERROR A TH error was detected during reading from an input device. The read code that caused the TH error and how many statements it is from the block can be verified in the diagnost
• Page 820F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents BG0852 OVERRUN ERROR(4) The next character was received from the I/O device connected to reader/punch interface 4 before it could read a previously received character. BG0853 FRAMING ERROR(4) The stop bit of the character received from the I
• Page 821B-63324EN/03 APPENDIX F.ALARM LIST F.3 SR ALARM Number Message Contents SR0125 ILLEGAL EXPRESSION FORMAT The description of the custom macro statement is erroneous. The format of the parameter data is erroneous. SR0160 COMMAND DATA OVERFLOW An overflow in the CNC internal positional data occurred. T
• Page 822F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents SR0807 PARAMETER SETTING ERROR An I/O interface option that has not yet been added on was specified. The external I/O device and baud rate, stop bit and protocol selection settings are erroneous. SR0808 DEVICE DOUBLE OPENED An attempt was ma
• Page 823B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents SR0960 ACCESS ERROR (MEMORY CARD) Illegal memory card accessing This alarm is also generated during reading when reading is executed up to the end of the file without detection of the EOR code. SR0961 NOT READY (MEMORY CARD) The memory card
• Page 824F.ALARM LIST APPENDIX B-63324EN/03 F.5 SV ALARM (ALARMS RELATED TO SERVO) Number Message Contents SV0008 EXCESS ERROR ( STOP ) Position deviation during a stop is larger than the value set in parameter No. 1829. Check the value of the position deviation error limit in parameter No. 1829. SV0009 EXCE
• Page 825B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents SV0060 FSSB:OPEN READY TIME OUT The FSSB was not in a ready to open state during initialization. A probable cause is an axis card malfunction. SV0061 FSSB:ERROR MODE The FSSB entered the error mode. Probable causes are an axis card or amplif
• Page 826F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents SV0350 EXCESS SYNC TORQUE The difference in torque between the master axis and slave axis exceeded the value set in the parameter (No. 1716) during synchronous control. This alarm is generated only for the master axis. SV0360 ABNORMAL CHECKS
• Page 827B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents SV0443 CNV. COOLING FAN FAILURE PSM: Internal cooling fan failure. PSMR: Internal cooling fan failure B series SVU: Internal cooling fan failure SV0444 INV. COOLING FAN FAILURE SVM: Internal cooling fan failure SV0445 SOFT DISCONNECT ALARM T
• Page 828F.ALARM LIST APPENDIX B-63324EN/03 F.6 OT ALARM Number Message Contents OT0001 + OVERTRAVEL ( SOFT 1 ) The tool entered the prohibited area of stored stroke check 1 during movement in the positive direction. OT0002 - OVERTRAVEL ( SOFT 1 ) The tool entered the prohibited area of stored stroke check 1
• Page 829B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents OT0126 SPECIFIED NUMBER NOT FOUND [External data I/O] The No. specified for a program No. or sequence No. search could not be found. There was an I/O request issued for a pot No. or offset (tool data), but either no tool numbers have been in
• Page 830F.ALARM LIST APPENDIX B-63324EN/03 F.7 IO ALARM Number Message Contents IO0001 FILE ACCESS ERROR The resident-type file system could not be accessed as an error occurred in the resident-type file system. IO0002 FILE SYSTEM ERROR The file could not be accessed as an error occurred in the CNC file sys
• Page 831B-63324EN/03 APPENDIX F.ALARM LIST F.9 SP ALARM (ALARMS RELATED TO SPINDLE) Number Message Contents SP0001 SSPA:01 MOTOR OVERHEAT An alarm (AL-01) occurred on the spindle amplifier unit For details, refer to the Serial Spindle User’s Manual. SP0002 SSPA:02 EX DEVIATION SPEED An alarm (AL-02) occurre
• Page 832F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents SP0029 SSPA:29 OVERLOAD An alarm (AL-29) occurred on the spindle amplifier unit For details, refer to the Serial Spindle User’s Manual. SP0030 SSPA:30 OVERCURRENT INPUT An alarm (AL-32) occurred on the spindle amplifier unit CIRCUIT For deta
• Page 833B-63324EN/03 APPENDIX F.ALARM LIST Number Message Contents SP0201 MOTOR NUMBER DUPLICATE Two or more of the same motor Nos. other than "0" were set in parameter No. 5841. SP0202 SPINDLE SELECT ERROR A spindle No. exceeding the number of spindles were set in parameter No. 5850. SP0220 NO SPINDLE AMP.
• Page 834F.ALARM LIST APPENDIX B-63324EN/03 Number Message Contents SP0976 SERIAL SPINDLE COMMUNICATION The amplifier No. could not be set to the serial spindle ERROR amplifier. SP0977 SERIAL SPINDLE COMMUNICATION An error occurred in the spindle control software. ERROR SP0978 SERIAL SPINDLE COMMUNICATION A
• Page 835B-63324EN/03 INDEX INDEX CODES AND RESERVED WORDS USED IN CUSTOM MACROS ........................................................................... 655 3-DIMENSIONAL CIRCULAR INTERPOLATION COMMAND FOR MACHINE OPERATIONS - (G02.4 AND G03.4) ...................................................
• Page 836INDEX B-63324EN/03 DISPLAYING A MACRO ALARM AND MACRO INCORRECT THREADED LENGTH............................... 768 MESSAGE IN JAPANESE ................................................ 658 INCREMENT SYSTEM .................................................... 32 Drilling Cycle Counter Boring Cycle (G8
• Page 837B-63324EN/03 INDEX PS ALARM (ALARMS RELATED TO PROGRAM)....... 785 NOMOGRAPHS ................................................................ 767 PW ALARM (POWER MUST BE TURNED OFF THEN NORMAL DIRECTION CONTROL (G40.1, G41.1, ON AGAIN) ...........................................................
• Page 838INDEX B-63324EN/03 Specification Method.......................................................... 667 TOOL AXIS DIRECTION TOOL LENGTH SPECIFYING THE SPINDLE SPEED WITH A CODE ... 224 COMPENSATION ............................................................. 484 Spindle Positioning...................
• Page 839Revision Record FANUC Series 15i/150i-MA OPERATOR’S MANUAL(PROGRAMMING) (B-63324EN) Following functions (STEP 4 to 6)were added : NURBS interpolation additional functions, Tool center 03 Oct., 2000 point control, Control point compensation of tool length compensation along tool axis, Grinding wheel
• Page 840EUROPEAN HEADQUARTERS – BELGIUM / NETHERLANDS GRAND-DUCHÉ DE LUXEMBOURG GE Fanuc Automation Europe S.A. GE Fanuc Automation Europe S.A. - Netherlands Branch - Zone Industrielle Postbus 7230 - NL-4800 GE Breda L-6468 Echternach Minervum 1603A - NL-4817 ZL Breda (+352) 727979 - 1 (+31) 76-5783 201 (CN
• Page 841Printed at GE Fanuc Automation S.A. , Luxembourg October 200
• Page 842TECHNICAL REPORT (MANUAL) NO.TMN 01/086E Date 2001.Jun.15 Genera Manager of Software Laboratory FANUC Series 15i–MA / 150i–MA Enhanced specifications for Step8 1. Communicate this report to: ¤ Your information ¤ GE Fanuc-N, GE Fanuc-E FANUC Robotics CINCINNATI MILACRON ¤ Machine tool builder Sales a
• Page 8431. Outline The Step8 of FANUC Series 15i-MA/150i-MA is released. The following information is described here. - The features which are added or enhanced in the Step8 - The revisions of the manuals for the specifications of the features 1.1 The series applied for the Step8 No. Series Software Corresp
• Page 8442. Rough Specifications of the new features and enhanced features No. Feature Drawing No. Specifications Series Comments MA MA (MA) 1 A02B-0261- At positioning, O O Optimum Torque J680 Acceleration/Deceleratio Acceleration/Deceler n which is optimum for ation motor torque and machine characteristics
• Page 845No. Feature Drawing No. Specifications Series Comments MA MA (MA) Included in For an axis with Linear Scale O O 7 Linear Scale Distance with Reference Marks, with Reference Coded Linear Straightness Compensation Marks and Scale(637) and is available. Straightness Straightness Compensation( Compensat