MELDAS is a registered trademark of Mitsubishi Electric Corporation. Other company and product names that appear in this manual are trademarks or registered trademarks of the respective companies.
Introduction
This manual is a guide for using the MITSUBISHI CNC 700/70 Series. Programming is described in this manual, so read this manual thoroughly before starting programming. Thoroughly study the "Precautions for Safety" on the following page to ensure safe use of this NC unit. Details described in this manual
CAUTION
For items described in "Restrictions" or "Usable State", the instruction manual issued by the machine tool builder takes precedence over this manual.
An effort has been made to note as many special handling methods in this user's manual. Items not described in this manual must be interpreted as "not possible".
This manual has been written on the assumption that all option functions are added. Refer to the specifications issued by the machine tool builder before starting use.
Refer to the Instruction Manual issued by each machine tool builder for details on each machine tool. Some screens and functions may differ depending on the NC system or its version, and some
functions may not be possible. Please confirm the specifications before use.
General precautions
(1) Refer to the following documents for details on handling MITSUBISHI CNC 700/70 Series Instruction Manual ................................. IB-1500042
Precautions for Safety Always read the specifications issued by the machine maker, this manual, related manuals and attached documents before installation, operation, programming, maintenance or inspection to ensure correct use. Understand this numerical controller, safety items and cautions before using the unit. This manual ranks the safety precautions into "DANGER", "WARNING" and "CAUTION".
When the user may be subject to imminent fatalities or major injuries if handling is mistaken. When the user may be subject to fatalities or major injuries if handling is mistaken. When the user may be subject to injuries or when physical damage may occur if handling is mistaken.
Note that even items ranked as " CAUTION", may lead to major results depending on the situation. In any case, important information that must always be observed is described.
DANGER
Not applicable in this manual.
WARNING
Not applicable in this manual.
CAUTION
1. Items related to product and manual
For items described as "Restrictions" or "Usable State" in this manual, the instruction manual issued by the machine tool builder takes precedence over this manual.
An effort has been made to describe special handling of this machine, but items that are not described must be interpreted as "not possible".
This manual is written on the assumption that all option functions are added. Refer to the specifications issued by the machine tool builder before starting use.
Refer to the Instruction Manual issued by each machine tool builder for details on each machine tool.
Some screens and functions may differ depending on the NC system or its version, and some functions may not be possible. Please confirm the specifications before use.
(Continued on next page)
DANGER
WARNING
CAUTION
CAUTION
2. Items related to operation
Before starting actual machining, always carry out dry operation to confirm the machining program, tool compensation amount and workpiece offset amount, etc.
If the workpiece coordinate system offset amount is changed during single block stop, the new setting will be valid from the next block.
Turn the mirror image ON and OFF at the mirror image center.
Refer to the Instruction Manual issued by each machine tool builder for details on each machine tool.
If the tool compensation amount is changed during automatic operation (including during single block stop), it will be validated from the next block or blocks onwards.
3. Items related to programming
The commands with "no value after G" will be handled as "G00".
EOB", "%", and EOR are symbols used for explanation. The actual codes for ISO are "CR, LF" ("LF") and "%". The programs created on the Edit screen are stored in the NC memory in a "CR, LF" format, however, the programs created with external devices such as the FLD or RS-232C may be stored in an "LF" format.
The actual codes for EIA are "EOB (End of Block)" and "EOR (End of Record)".
When creating the machining program, select the appropriate machining conditions, and make sure that the performance, capacity and limits of the machine and NC are not exceeded. The examples do not consider the machining conditions.
Do not change fixed cycle programs without the prior approval of the machine tool builder.
When programming a program of the multi-part system, carefully observe the movements caused by other part systems' programs.
Contents
1. Control Axes..................................................................................................................................1 1.1 Coordinate Words and Control Axis........................................................................................1 1.2 Coordinate Systems and Coordinate Zero Point Symbols......................................................2
2. Least Command Increments........................................................................................................3 2.1 Input Setting Units...................................................................................................................3 2.2 Input Command Increment Tenfold.........................................................................................5 2.3 Indexing Increment..................................................................................................................6
3. Data Formats .................................................................................................................................7 3.1 Tape Codes.............................................................................................................................7 3.2 Program Formats ..................................................................................................................10 3.3 Tape Memory Format............................................................................................................13 3.4 Optional Block Skip ...............................................................................................................13
3.4.1 Optional Block Skip; /......................................................................................................13 3.4.2 Optional Block Skip Addition ; /n.....................................................................................14
3.5 Program/Sequence/Block Numbers ; O, N ...........................................................................16 3.6 Parity H/V ..............................................................................................................................17 3.7 G Code Lists .........................................................................................................................18 3.8 Precautions Before Starting Machining.................................................................................21
4. Buffer Register ............................................................................................................................22 4.1 Input Buffer............................................................................................................................22 4.2 Pre-read Buffers....................................................................................................................23
5. Position Commands ...................................................................................................................24 5.1 Position Command Methods ; G90, G91 ..............................................................................24 5.2 Inch/Metric Command Change; G20, G21............................................................................26 5.3 Decimal Point Input ...............................................................................................................28
6. Interpolation Functions ..............................................................................................................33 6.1 Positioning (Rapid Traverse); G00........................................................................................33 6.2 Linear Interpolation; G01.......................................................................................................40 6.3 Plane Selection; G17, G18, G19...........................................................................................42 6.4 Circular Interpolation; G02, G03 ...........................................................................................44 6.5 R-specified Circular Interpolation; G02, G03 ........................................................................49 6.6 Helical Interpolation ; G17 to G19, G02, G03 .......................................................................52 6.7 Thread Cutting ......................................................................................................................56
6.7.1 Constant Lead Thread Cutting ; G33..............................................................................56 6.7.2 Inch Thread Cutting; G33................................................................................................60
6.8 Unidirectional Positioning; G60.............................................................................................61 6.9 Cylindrical Interpolation; G07.1 .............................................................................................63 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113 .................................................71 6.11 Exponential Function Interpolation; G02.3, G03.3 ..............................................................78 6.12 Polar Coordinate Command ; G16/G15 ..............................................................................84 6.13 Spiral/Conical Interpolation; G02.0/G03.1(Type1), G02/G03(Type2) .................................90 6.14 3-dimensional Circular Interpolation; G02.4, G03.4 ............................................................95 6.15 NURBS Interpolation.........................................................................................................100 6.16 Hypothetical Axis Interpolation; G07 .................................................................................105
7. Feed Functions .........................................................................................................................107 7.1 Rapid Traverse Rate ...........................................................................................................107 7.2 Cutting Feedrate .................................................................................................................107 7.3 F1-digit Feed.......................................................................................................................108 7.4 Feed Per Minute/Feed Per Revolution
(Asynchronous Feed/Synchronous Feed); G94, G95 .........................................................110
7.5 Inverse Time Feed; G93 .....................................................................................................112 7.6 Feedrate Designation and Effects on Control Axes ............................................................116 7.7 Rapid Traverse Constant Inclination Acceleration/Deceleration .........................................120 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration ........................122 7.9 Exact Stop Check; G09.......................................................................................................131 7.10 Exact Stop Check Mode; G61...........................................................................................134 7.11 Deceleration Check...........................................................................................................134
7.11.1 G1 -> G0 Deceleration Check.....................................................................................136 7.11.2 G1 -> G1 Deceleration Check.....................................................................................137
7.12 Automatic Corner Override; G62.......................................................................................138 7.13 Tapping Mode; G63 ..........................................................................................................143 7.14 Cutting Mode ; G64 ...........................................................................................................143
8. Dwell...........................................................................................................................................144 8.1 Per-second Dwell ; G04 ......................................................................................................144
9. Miscellaneous Functions .........................................................................................................146 9.1 Miscellaneous Functions (M8-digits BCD) ..........................................................................146 9.2 Secondary Miscellaneous Functions (B8-digits, A8 or C8-digits) .......................................148 9.3 Index Table Indexing...........................................................................................................149
10. Spindle Functions...................................................................................................................151 10.1 Spindle Functions (S6-digits Analog) ................................................................................151 10.2 Spindle Functions (S8-digits) ............................................................................................151 10.3 Constant Surface Speed Control; G96, G97.....................................................................152
10.3.1 Constant Surface Speed Control ................................................................................152 10.4 Spindle Clamp Speed Setting; G92 ..................................................................................153 10.5 Spindle/C Axis Control ......................................................................................................154 10.6 Multiple Spindle Control ....................................................................................................157
10.6.1 Multiple Spindle Control II ...........................................................................................158
11. Tool Functions (T command).................................................................................................160 11.1 Tool Functions (T8-digit BCD)...........................................................................................160
12. Tool Compensation Functions ..............................................................................................161 12.1 Tool Compensation ...........................................................................................................161 12.2 Tool Length Compensation/Cancel; G43, G44/G49 .........................................................165 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49..................................168 12.4 Tool Radius Compensation; G38, G39/G40/G41,G42......................................................175
12.4.1 Tool radius Compensation Operation .........................................................................176 12.4.2 Other Commands and Operations during Tool Radius Compensation.......................185 12.4.3 G41/G42 Commands and I, J, K Designation.............................................................194 12.4.4 Interrupts during Tool Radius Compensation .............................................................200 12.4.5 General Precautions for Tool Radius Compensation..................................................202 12.4.6 Changing of Compensation No. during Compensation Mode.....................................203 12.4.7 Start of Tool Radius Compensation and Z Axis Cut in Operation...............................205 12.4.8 Interference Check .....................................................................................................207 12.4.9 Diameter Designation of Compensation Amount........................................................214 12.4.10 Workpiece Coordinate Changing during Radius Compensation...............................216
12.5 Three-dimensional Tool Radius Compensation ; G40/G41,G42.......................................218 12.6 Tool Position Offset; G45 to G48 ......................................................................................229 12.7 Programmed Compensation Input ; G10, G11..................................................................236 12.8 Inputting the Tool Life Management Data; G10, G11 .......................................................241
12.8.1 Inputting the Tool Life Management Data by G10 L3 Command................................241 12.8.2 Inputting the Tool Life Management Data by G10 L30 Command..............................243 12.8.3 Precautions for Inputting the Tool Life Management Data..........................................246
13. Program Support Functions ..................................................................................................247 13.1 Fixed Cycles......................................................................................................................247
13.1.1 Standard Fixed Cycles; G80 to G89, G73, G74, G75, G76 ........................................247 13.1.2 Drilling Cycle with High-Speed Retract .......................................................................274 13.1.3 Initial Point and R Point Level Return; G98, G99........................................................277 13.1.4 Setting of Workpiece Coordinates in Fixed Cycle Mode.............................................278
13.2 Special Fixed Cycle; G34, G35, G36, G37.1 ....................................................................279 13.3 Subprogram Control; M98, M99, M198.............................................................................284
13.3.1 Calling Subprogram with M98 and M99 Commands ..................................................284 13.3.2 Calling Subprogram with M198 Commands ...............................................................289 13.3.3 Figure Rotation; M98 I_ J_ K_ ....................................................................................289
13.4 Variable Commands..........................................................................................................292 13.5 User Macro Specifications ................................................................................................297
13.5.1 User Macro Commands; G65, G66, G66.1, G67........................................................297 13.5.2 Macro Call Command .................................................................................................298 13.5.3 ASCII Code Macro ......................................................................................................307 13.5.4 Variables.....................................................................................................................311 13.5.5 Types of Variables ......................................................................................................313 13.5.6 Arithmetic Commands.................................................................................................351 13.5.7 Control Commands .....................................................................................................356 13.5.8 External Output Commands........................................................................................359 13.5.9 Precautions.................................................................................................................361 13.5.10 Actual Examples of Using User Macros....................................................................363
13.6 G Command Mirror Image; G50.1, G51.1.........................................................................367 13.7 Corner Chamfering/Corner Rounding I .............................................................................370
13.7.1 Corner Chamfering " ,C_ " ..........................................................................................370 13.7.2 Corner Rounding " ,R_ " .............................................................................................372
13.8 Linear Angle Command ....................................................................................................373 13.9 Geometric Command ........................................................................................................374 13.10 Circle Cutting; G12, G13 .................................................................................................378 13.11 Parameter Input by Program; G10, G11 .........................................................................380 13.12 Macro Interrupt; M96, M97..............................................................................................381 13.13 Tool Change Position Return; G30.1 to G30.6 ...............................................................389 13.14 Normal Line Control ; G40.1/G41.1/G42.1......................................................................392 13.15 High-accuracy Control ; G61.1, G08 ...............................................................................403 13.16 High-speed Machining Mode ; G05, G05.1.....................................................................417
13.16.1 High-speed Machining Mode I,II ; G05 P1, G05 P2..................................................417 13.17 High-speed High-accuracy Control ; G05, G05.1............................................................420
13.17.1 High-speed High-accuracy Control I, II .....................................................................420 13.17.2 SSS Control ..............................................................................................................427
13.18 Spline; G05.1 ..................................................................................................................432 13.19 High-accuracy Spline Interpolation ; G61.2.....................................................................439 13.20 Scaling ; G50/G51...........................................................................................................441 13.21 Coordinate Rotation by Program; G68/G69 ....................................................................446 13.22 Coordinate Rotation Input by Parameter; G10................................................................453 13.23 3-dimensional Coordinate Conversion ; G68/69 .............................................................456 13.24 Tool Center Point Control; G43.4/G43.5 .........................................................................473 13.25 Timing-synchronization between Part Systems ..............................................................495
14. Coordinates System Setting Functions ................................................................................498 14.1 Coordinate Words and Control Axes.................................................................................498 14.2 Basic Machine, Workpiece and Local Coordinate Systems..............................................499 14.3 Machine Zero Point and 2nd, 3rd, 4th Reference Positions..............................................500 14.4 Basic Machine Coordinate System Selection; G53...........................................................501 14.5 Coordinate System Setting ;G92.......................................................................................502 14.6 Automatic Coordinate System Setting ..............................................................................503 14.7 Reference (Zero) Position Return; G28, G29....................................................................504 14.8 2nd, 3rd and 4th Reference (Zero) Position Return; G30 .................................................508
14.9 Reference Position Check; G27........................................................................................511 14.10 Workpiece Coordinate System Setting and Offset ; G54 to G59 (G54.1) .......................512 14.11 Local Coordinate System Setting; G52 ...........................................................................524 14.12 Workpiece Coordinate System Preset; G92.1 ................................................................528 14.13 Coordinate System for Rotary Axis .................................................................................533
15. Measurement Support Functions..........................................................................................536 15.1 Automatic Tool Length Measurement; G37 ......................................................................536 15.2 Skip Function; G31............................................................................................................540 15.3 Multi-step Skip Function; G31.n, G04 ...............................................................................545 15.4 Multi-step Skip Function 2; G31 ........................................................................................547 15.5 Speed Change Skip; G31 .................................................................................................549 15.6 Programmable Current Limitation .....................................................................................552 15.7 Stroke Check before Travel; G22/G23..............................................................................553
Appendix 1. Program Error .......................................................................................................555 Appendix 2. Order of G Function Command Priority..............................................................575 INDEX ............................................................................................................................................. X-1
1. Control Axes 1.1 Coordinate Words And Control Axis
1
1. Control Axes 1.1 Coordinate Words and Control Axis
Function and purpose
In the standard specifications, there are 3 control axes, but, by adding an additional axis, up to 4 axes can be controlled. The designation of the processing direction responds to those axes and uses a coordinate word made up of alphabet characters that have been decided beforehand.
Program coordinates
Direction of table movement
Direction of table movement
Bed
X-Y table
+Z
+Z +Y
+X
+X +Y
Workpiece
X-Y table
Program coordinates Direction of table movement Direction of table
revolution
+Z +C
+X +X
+Y
+Y
+C
Workpiece
X-Y and revolving table
1. Control Axes 1.2 Coordinate Systems And Coordinate Zero Point Symbols
2
1.2 Coordinate Systems and Coordinate Zero Point Symbols Function and purpose
: Reference position
: Machine coordinate zero point
: Workpiece coordinate zero points (G54 - G59)
Basic machine coordinate system
Machine zero point
1st reference position Workpiece
coordinate system 3 (G56)
Workpiece coordinate system 2 (G55)
Workpiece coordinate system 1 (G54)
Workpiece coordinate system 6 (G59)
Workpiece coordinate system 5 (G58)
Workpiece coordinate system 4 (G57)
Local coordinate system (G52)
-Y
y3
-X
y2
y
y1
y5
x1
x3 x2
x
x5
2. Least Command Increments 2.1 Input Setting Units
3
2. Least Command Increments 2.1 Input Setting Units
Function and purpose
The input setting units are, as with the compensation amounts, the units of setting data used in common for all axes. The command units are the movement amounts in the program which are commanded with MDI inputs or command tape. These are expressed with mm, inch or degree () units. With the parameters, the command units are decided for each axis, and the input setting units are decided commonly for all axes.
Linear axis Parameters
Millimeter Inch Rotation axis
()
#1003 iunit = B 0.001 0.0001 0.001 = C 0.0001 0.00001 0.0001 = D 0.00001 0.000001 0.00001
Input setting unit
= E 0.000001 0.0000001 0.000001 #1015 cunit = 0 Follow #1003 iunit = 1 0.0001 0.00001 0.0001 = 10 0.001 0.0001 0.001 = 100 0.01 0.001 0.01 = 1000 0.1 0.01 0.1
Command unit
= 10000 1.0 0.1 1.0
(Note 1) Inch/metric changeover is performed in either of 2 ways: conversion from the parameter
screen (#1041 I_inch: valid only when the power is turned ON) and conversion using the G command (G20 or G21).
However, when a G command is used for the conversion, the conversion applies only to the input command increments and not to the input setting units.
Consequently, the tool offset amounts and other compensation amounts as well as the variable data should be preset to correspond to inches or millimeters.
(Note 2) The millimeter and inch systems cannot be used together. (Note 3) During circular interpolation on an axis where the input command increments are
different, the center command (I, J, K) and the radius command (R) can be designated by the input setting units. (Use a decimal point to avoid confusion.)
2. Least Command Increments 2.1 Input Setting Units
4
Detailed description
(1) Units of various data
These input setting units determine the parameter setting unit, program command unit and the external interface unit for the PLC axis and handle pulse, etc. The following rules show how the unit of each data changes when the input setting unit is changed. This table applies to the NC axis and PLC axis.
Input setting unit Data Unit
system Setting value 1m (B) 0.1m (C) 10nm (D) 1nm (E)
20000 (mm/min) 20000 20000 20000 20000Milli- metre Setting range 1 to 999999 1 to 999999 1 to 999999 1 to 999999
2000 (inch/min) 2000 2000 2000 2000
Speed data Example: rapid Inch
Setting range 1 to 999999 1 to 999999 1 to 999999 1 to 999999 123.123 (mm) 123.123 123.1230 123.12300 123.123000Milli-
metre Setting range 99999.999 99999.9999 99999.99999 99999.999999 12.1234 (inch) 12.1234 12.12340 12.123400 12.1234000
Position data Example: SoftLimit+ Inch
Setting range 9999.9999 9999.99999 9999.999999 9999.9999999 1 (m) 2 20 200 2000Milli-
metre Setting range 9999 9999 9999 9999 0.001 (inch) 2 20 200 2000
Interpolation unit data Inch
Setting range 9999 9999 9999 9999 (2) Program command
The program command unit follows the above table. If the data has a decimal point, the number of digits in the integer section will remain and the number of digits in the decimal point section will increase as the input setting unit becomes smaller. When setting data with no decimal point, and which is a position command, the data will be affected by the input setting increment and input command increment. For the feed rate, as the input setting unit becomes smaller, the number of digits in the integer section will remain the same, but the number of digits in the decimal point section will increase.
2. Least Command Increments 2.2 Input Command Increment Tenfold
5
2.2 Input Command Increment Tenfold Function and purpose
The program's command increment can be multiplied by an arbitrary scale with the parameter designation. This function is valid when a decimal point is not used for the command increment. The scale is set with the parameters.
Detailed description
(1) When running a machining program already created with a 10m input command increment
with a CNC unit for which the command increment is set to 1m and this function's parameter value is set to "10", machining similar to before this function is possible.
(2) When running a machining program already created with a 1m input command increment
with a CNC unit for which the command increment is set to 0.1m and this function's parameter value is set to "10", machining similar to before this function is possible.
(3) This function cannot be used for the dwell function G04_X_(P_);. (4) This function cannot be used for the compensation amount of the tool compensation input. (5) This function can be used when decimal point type I is valid, but cannot be used when decimal
point type II is valid.
"UNIT*10" parameter Program example (Machining program:
programmed with 1=10m) (CNC unit is 1=1m system) 10 1
X Y X Y N1 G90 G00 X0 Y0; 0 0 0 0 N2 G91 X-10000 Y-15000; -100.000 -150.000 -10.000 -15.000 N3 G01 X-10000 Y-5000 F500; -200.000 -200.000 -20.000 -20.000 N4 G03 X-10000 Y-10000 J-10000; -300.000 -300.000 -30.000 -30.000 N5 X10000 Y-10000 R5000; -200.000 -400.000 -20.000 -40.000 N6 G01 X20.000 Y.20.000 -180.000 -380.000 0.000 -20.000
N1
N2
N3
N4
N5
R
-400
-300
-200
-100
W
-100 -200 -300
N6
UNIT*10 ON
N1
N2
N3
N4
N5
R
-40
-30
-20
-10
W
-10 -20 -30
N6
UNIT*10 OFF
2. Least Command Increments 2.3 Indexing Increment
6
2.3 Indexing Increment
Function and purpose
This function limits the command value for the rotary axis. This can be used for indexing the rotary table, etc. It is possible to cause a program error with a program command other than an indexing increment (parameter setting value).
Detailed description
When the indexing increment (parameter) for limiting the command value is set, the rotary axis can be positioned with that indexing increment. If a program other than the indexing increment setting value is commanded, a program error (P20) will occur. The indexing position will not be checked when the parameter is set to 0. (Example) When the indexing increment setting value is 2 degrees, only command with the
2-degree increment are possible.
G90 G01 C102. 000 ; Moves to the 102 degree angle. G90 G01 C101. 000 : Program error G90 G01 C102 ; Moves to the 102 degree angle. (Decimal point type II)
The following axis specification parameter is used.
# Item Contents Setting range (unit)
2106 Index unit Indexing increment
Set the indexing increment to which the rotary axis can be positioned.
0 to 360 ( )
Precautions
When the indexing increment is set, degree increment positioning takes place. The indexing position is checked with the rotary axis, and is not checked with other axes. When the indexing increment is set to 2 degrees, the rotary axis is set to the B axis, and the B
axis is moved with JOG to the 1.234 position, an indexing error will occur if "G90B5." or "G91B5." is commanded.
3. Data Formats 3.1 Tape Codes
7
3. Data Formats 3.1 Tape Codes
Function and purpose
The tape command codes used for this controller are combinations of alphabet letters (A, B, C, ... Z), numbers (0, 1, 2 ... 9) and signs (+, -, / ...). These alphabet letters, numbers and signs are referred to as characters. Each character is represented by a combination of 8 holes which may, or may not, be present. These combinations make up what is called codes. This controller uses, the ISO code (R-840).
(Note 1) If a code not given in the tape code table in Fig. 1 is assigned during operation, program
error (P32) will result. (Note 2) For the sake of convenience, a semicolon " ; " has been used in the CNC display to
indicate the end of a block (EOB/IF) which separates one block from another. Do not use the semicolon key, however, in actual programming but use the keys in the following table instead.
CAUTION EOB", "%", and EOR are symbols used for explanation. The actual codes for ISO are "CR, LF" ("LF") and "%". The programs created on the Edit screen are stored in the NC memory in a "CR, LF" format, however, the programs created with external devices such as the FLD or RS-232C may be stored in an "LF" format. The actual codes for EIA are "EOB (End of Block)" and "EOR (End of Record)".
Detailed description
EOB/EOR keys and displays Code used
Key used ISO Screen display
End of block LF or NL ; End of record % %
(1) Significant data section (label skip function) All data up to the first EOB ( ; ), after the power has been turned on or after operation has been reset, are ignored during automatic operation based on tape, memory loading operation or during a search operation. In other words, the significant data section of a tape extends from the character or number code after the initial EOB ( ; ) code after resetting to the point where the reset command is issued.
3. Data Formats 3.1 Tape Codes
8
(2) Control out, control in
When the ISO code is used, all data between control out "(" and control in ")" or ";" are ignored, although these data appear on the setting and display unit. Consequently, the command tape name, No. and other such data not directly related to control can be inserted in this section. This information (except (B) in the tape codes) will also be loaded, however, during tape loading. The system is set to the "control in" mode when the power is witched on.
L C S L F RG0 0 X - 8 5 0 0 0 Y - 6 4 0 0 0 ( CUT T ERPRE T URN ) F
Operator information print-out example
Information in this section is ignored and nothing is executed.
Example of ISO code
(3) EOR (%) code
Generally, the end-or-record code is punched at both ends of the tape. It has the following functions: (a) Rewind stop when rewinding tape (with tape handler) (b) Rewind start during tape search (with tape handler) (c) Completion of loading during tape loading into memory
(4) Tape preparation for tape operation (with tape handler)
Initial block Last block2m
10cm %
2m
10cm %
(EOR) (EOR)(EOB) (EOB) (EOB)(EOB)
; ;;;
If a tape handler is not used, there is no need for the 2-meter dummy at both ends of the tape and for the head EOR (%) code.
3. Data Formats 3.1 Tape Codes
9
8 7 6 5 4 3 2 1 Channel No.
1 2
3 4
5 6
7 8
9 0
A B
C D
E F
G H
I J
K L
M N
O P
Q R
S T
U V
W X
Y Z
+ - .
, / %
LF(Line Feed) or NL ( (Control Out)
) (Control In) :
# * = [ ] SP(Space) CR(Carriage Return) BS(Back Space)
HT(Horizontal Tab) &
! $ ' (Apostrophe)
; <
> ?
@ "
DEL(Delete) NULL
DEL(Delete)
Under the ISO code, IF or NL is EOB and % is EOR. Under the ISO code, CR is meaningless, and EOB will not occur.
A
B
ISO code (R-840) Feed holes
Code A are stored on tape but an error results (except when they are used in the comment section) during operation. The B codes are non-working codes and are always ignored. Parity V check is not executed.
Table of tape codes
3. Data Formats 3.2 Program Formats
10
3.2 Program Formats
Function and purpose
The prescribed arrangement used when assigning control information to the controller is known as the program format, and the format used with this controller is called the "word address format".
Detailed description
(1) Word and address
A word is a collection of characters arranged in a specific sequence. This entity is used as the unit for processing data and for causing the machine to execute specific operations. Each word used for this controller consists of an alphabet letter and a number of several digits (sometimes with a "-" sign placed at the head of the number.).
*
Alphabet (address)
Word
Numerals
Word configuration
The alphabet letter at the head of the word is the address. It defines the meaning of the numerical information which follows it. For details of the types of words and the number of significant digits of words used for this controller, refer to the "format details".
(2) Blocks
A block is a collection of words. It includes the information which is required for the machine to execute specific operations. One block unit constitutes a complete command. The end of each block is marked with an EOB (end-of-block) code.
(Example 1)
G0X - 1000 ; G1X - 2000F500 ; 2 blocks
(Example 2)
(G0X - 1000 ; ) G1X - 2000F500 ;
Since the semicolon in the parentheses will not result in an EOB, it is 1 block.
(3) Programs
A program is a collection of several blocks.
3. Data Formats 3.2 Program Formats
11
Metric command Inch command Rotary axis
(Metric command) Rotary axis
(Inch command) Program No. 08 Sequence No. N6 Preparatory function G3/G21
0.001() mm/ 0.001 inch X+53 Y+53 Z+53 +53 X+44 Y+44 Z+44 +44 X+53 Y+53 Z+53 +53 X+53 Y+53 Z+53 +53
0.0001() mm/ 0.0001 inch X+54 Y+54 Z+54 +54 X+45 Y+45 Z+45 +45 X+54 Y+54 Z+54 +54 X+54 Y+54 Z+54 +54
0.00001() mm/ 0.00001 inch X+55 Y+55 Z+55 +55 X+46 Y+46 Z+46 +46 X+55 Y+55 Z+55 +55 X+55 Y+55 Z+55 +55
Movement axis
0.000001() mm/ 0.000001 inch X+56 Y+56 Z+56 +56 X+47 Y+47 Z+47 +47 X+56 Y+56 Z+56 +56 X+56 Y+56 Z+56 +56
0.001() mm/ 0.001 inch I+53 J+53 K+53 I+44 J+44 K+44 I+53 J+53 K+53 I+53 J+53 K+53
(Note 5) 0.0001() mm/ 0.0001 inch I+54 J+54 K+54 I+45 J+45 K+45 I+54 J+54 K+54 I+54 J+54 K+54
(Note 5) 0.00001() mm/ 0.00001 inch I+55 J+55 K+55 I+46 J+46 K+46 I+55 J+55 K+55 I+55 J+55 K+55
(Note 5)
Arc and cutter radius
0.000001() mm/ 0.000001 inch I+56 J+56 K+56 I+47 J+47 K+47 I+56 J+56 K+56 I+56 J+56 K+56
(Note 5) Dwell 0.001(rev)/(s) X53/P8
0.001() mm/ 0.001 inch F63 F54 F63 F54 (Note 6)
0.0001 () mm/ 0.0001 inch F64 F55 F64 F55 (Note 6)
0.00001 () mm/ 0.00001 inch F65 F56 F65 F56 (Note 6)
Feed function (Feed per minute)
0.000001 () mm/ 0.000001 inch F66 F57 F66 F57 (Note 6)
0.0001() mm/ 0.0001 inch F33 F34 F33 F34 (Note 6)
0.00001 () mm/ 0.00001 inch F34 F35 F34 F35 (Note 6)
0.000001 () mm/ 0.000001 inch F35 F36 F35 F36 (Note 6)
Feed function (Feed per revolution)
0.0000001 () mm/ 0.0000001 inch F36 F37 F36 F37 (Note 6)
Tool compensation H3 D3 Miscellaneous function (M) M8 Spindle function (S) S8 Tool function (T) T8 2nd miscellaneous function A8/B8/C8 Subprogram P8 H5 L4
0.001() mm/ 0.001 inch R+53 Q53 P8 L4 R+44 Q44 P8 L4 R+53 Q53 P8 L4 R+53 Q53 P8 L4
0.0001() mm/ 0.0001 inch R+54 Q54 P8 L4 R+45 Q45 P8 L4 R+54 Q54 P8 L4 R+54 Q54 P8 L4
0.00001() mm/ 0.00001 inch R+55 Q55 P8 L4 R+46 Q46 P8 L4 R+55 Q55 P8 L4 R+55 Q55 P8 L4
Fixed cycle
0.000001() mm/ 0.000001 inch R+56 Q56 P8 L4 R+47 Q47 P8 L4 R+56 Q56 P8 L4 R+56 Q56 P8 L4
(Note 1) indicates the additional axis address, such as A, B or C.
(Note 2) The number of digits check for a word is carried out with the maximum number of digits of that address.
(Note 3) Numerals can be used without the leading zeros.
3. Data Formats 3.2 Program Formats
12
(Note 4) The description of the brief summary is explained below: Example 1 : 08 :8-digit program No. Example 2 : G21 :Dimension G is 2 digits to the left of the decimal point, and 1 digit to the right. Example 3 : X+53 :Dimension X uses + or - sign and represents 5 digits to the left of the decimal
point and 3 digits to the right. For example, the case for when the X axis is positioned (G00) to the 45.123 mm position in the absolute value (G90) mode is as follows:
G00 X45.123 ;
3 digits below the decimal point
5 digits above the decimal point, so it's +00045, but the leading zeros and the mark (+) have been omitted. G0 is possible, too.
(Note 5) If an arc is commanded using a rotary axis and linear axis while inch commands are being used, the
degrees will be converted into 0.1 inches for interpolation.
(Note 6) While inch commands are being used, the rotary axis speed will be in increments of 10 degrees. Example: With the F1. (per-minute-feed) command, this will become the 10 degrees/minute command.
(Note 7) The decimal places below the decimal point are ignored when a command, such as an S command, with an invalid decimal point has been assigned with a decimal point.
(Note 8) This format is the same for the value input from the memory, MDI or setting and display unit.
(Note 9) Command the program No. in an independent block. Command the program No. in the head block of the program.
3. Data Formats 3.3 Tape Memory Format
13
3.3 Tape Memory Format
Function and purpose
(1) Storage tape and significant sections
The others are about from the current tape position to the EOB. Accordingly, under normal conditions, operate the tape memory after resetting. The significant codes listed in "Table of tape codes" in "3.1 Tape Codes" in the above significant section are actually stored into the memory. All other codes are ignored and are not stored. The data between control out "(" and control in ")" are stored into the memory.
3.4 Optional Block Skip 3.4.1 Optional Block Skip; /
Function and purpose
This function selectively ignores specific blocks in a machining program which starts with the "/" (slash) code.
Detailed description
(1) Provided that the optional block skip switch is ON, blocks starting with the "/" code are ignored.
They are executed if the switch is OFF. Parity check is valid regardless of whether the optional block skip switch is ON or OFF. When, for instance, all blocks are to be executed for one workpiece but specific block are not to be executed for another workpiece, the same command tape can be used to machine different parts by inserting the "/" code at the head of those specific blocks.
Precautions for using optional block skip
(1) Put the "/" code for optional block skip at the beginning of a block. If it is placed inside the block,
it is assumed as a user macro, a division instruction.
Example : N20 G1 X25./Y25. ; ....NG (User macro, a division instruction; a program error results.)
/N20 G1 X25. Y25. ;.....OK (2) Parity checks (H and V) are conducted regardless of the optional block skip switch position. (3) The optional block skip is processed immediately before the pre-read buffer. Consequently, it is not possible to skip up to the block which has been read into the pre-read
buffer. (4) This function is valid even during a sequence number search. (5) All blocks with the "/" code are also input and output during tape storing and tape output,
regardless of the position of the optional block skip switch.
3. Data Formats 3.4 Optional Block Skip
14
3.4.2 Optional Block Skip Addition ; /n Function and purpose
Whether the block with "/n (n:1 to 9)" (slash) is executed during automatic operation and searching is selected. By using the machining program with "/n" code, different parts can be machined by the same program.
Detailed description
The block with "/n" (slash) code is skipped when the "/n" is programmed to the head of the block and the optional block skip signal is turned ON. For the block with the "/n" code inside the block (not the head of block), the program is operated according to the value of the parameter "#1226 aux10/bit1" setting. When the optional block skip signal is OFF, the block with "/n" is executed.
Example of program
(1) When the 2 parts like the figure below are machined, the following program is used. When the
optional block skip 5 signal is ON, the part 1 is created. When the optional block skip 5 signal is OFF, the part 2 is created.
Part 1 the optional block skip 5 signal ON
Part 2 the optional block skip 5 signal OFF
N4 N2 N2 N3 N4
3. Data Formats 3.4 Optional Block Skip
15
(2) When two or more "/n" codes are commanded to the head of the same block, the block is
ignored if either of the optional block skip signal corresponding to the command is ON.
N01 G90 Z3. M03 S1000; /1/2 N02 G00 X50.; /1/2 N03 G01 Z-20. F100; /1/2 N04 G00 Z3.; /1 /3 N05 G00 X30.; /1 /3 N06 G01 Z-20. F100; /1 /3 N07 G00 Z3.; /2/3 N08 G00 X10.; /2/3 N09 G01 Z-20. F100; /2/3 N10 G00 Z3.; N11 G28 X0 M05; N12 M02;
(a) Optional block skip 1 signal ON (Optional block skip 2, 3 signals OFF)
N01 -> N08 -> N09 -> N10 -> N11 -> N12 (b) Optional block skip 2 signal ON
(Optional block skip 1, 3 signals OFF) N01 -> N05 -> N06 -> N07 -> N11 -> N12 (c) Optional block skip 3 signal ON
(Optional block skip 1, 2 signals OFF) N01 -> N02 -> N03 -> N04 -> N11 -> N12
(3) When the parameter "#1226 aux10/bit1" is "1", when two or more "/n" are commanded inside
the same block, the commands following "/n" in the block are ignored if either of the optional block skip signal corresponding to the command is ON.
N01 G91 G28 X0.Y0.Z0.;
N02 G01 F1000;
N03 X1. /1 Y1. /2 Z1.;
N04 M30;
(a) When the optional block skip 1 signal is ON and the optional block skip 2 signal is OFF, "Y1. Z1." is ignored
(b) When the optional block skip 1 signal is
OFF and the optional block skip 2 signal is ON, "Z1." is ignored.
3. Data Formats 3.5 Program/Sequence/Block Numbers ; O, N
16
3.5 Program/Sequence/Block Numbers ; O, N
Function and purpose
These numbers are used for monitoring the execution of the machining programs and for calling both machining programs and specific stages in machining programs. (1) Program numbers are classified by workpiece correspondence or by subprogram units, and
they are designated by the address "0" followed by a number with up to 8 digits. (2) Sequence numbers are attached where appropriate to command blocks which configure
machining programs, and they are designated by the address "N" followed by a number with up to 6 digits.
(3) Block numbers are automatically provided internally. They are preset to zero every time a program number or sequence number is read, and they are counted up one at a time unless program numbers or sequence numbers are commanded in blocks which are subsequently read.
Consequently, all the blocks of the machining programs given in the table below can be determined without further consideration by combinations of program numbers, sequence numbers and block numbers.
Monitor display Machining program Program No. Sequence No. Block No.
O12345678 (DEMO, PROG) ; 12345678 0 0 G92 X0 Y0 ; 12345678 0 1 G90 G51 X-150. P0.75 ; 12345678 0 2 N100 G00 X-50. Y-25. ; 12345678 100 0 N110 G01 X250. F300 ; 12345678 110 0 Y-225. ; 12345678 110 1 X-50. ; 12345678 110 2 Y-25.; 12345678 110 3 N120 G51 Y-125. P0.5 ; 12345678 120 0 N130 G00 X-100. Y-75. ; 12345678 130 0 N140 G01 X-200. ; 12345678 140 0 Y-175. ; 12345678 140 1 X-100. ; 12345678 140 2 Y-75. ; 12345678 140 3 N150 G00 G50 X0 Y0 ; 12345678 150 0 N160 M02 ; 12345678 160 0 %
3. Data Formats 3.6 Parity H/V
17
3.6 Parity H/V
Function and purpose
Parity check provides a mean of checking whether the tape has been correctly perforated or not. This involves checking for perforated code errors or, in other words, for perforation errors. There are two types of parity check: Parity H and Parity V.
(1) Parity H
Parity H checks the number of holes configuring a character and it is done during tape operation, tape input and sequence number search. A parity H error is caused in the following cases. (a) ISO code
When a code with an odd number of holes in a significant data section has been detected. (b) EIA code
When a code with an even number of holes in a significant data section has been detected.
Parity H error example
This character causes a parity H error. When a parity H error occurs, the tape stops following the alarm code.
(2) Parity V
A parity V check is done during tape operation, tape input and sequence number search when the I/O PARA #9n15 (n is the unit No.1 to 5) parity V check function is set to "1". It is not done during memory operation. A parity V error occurs in the following case: when the number of codes from the first significant code to the EOB (;) in the significant data section in the vertical direction of the tape is an odd number, that is, when the number of characters in one block is odd. When a parity V error is detected, the tape stops at the code following the EOB (;).
(Note 1) Among the tape codes, there are codes which are counted as characters for parity
and codes which are not counted as such. For details, refer to the "Table of tape codes" in "3.1 Tape Codes".
(Note 2) Any space codes which may appear within the section from the initial EOB code to the address code or "/" code are counted for parity V check.
3. Data Formats 3.7 G Code Lists
18
3.7 G Code Lists
Function and purpose
G code Group Function Section 00 01 Positioning 6.1 01 01 Linear interpolation 6.2
02 01 Circular interpolation CW (clockwise) R-specified circular interpolation CW Helical interpolation CW Spiral/Conical interpolation CW (type 2)
6.4 6.5 6.6 6.13
03 01 Circular interpolation CCW (counterclockwise) R-specified circular interpolation CCW Helical interpolation CCW Spiral/Conical interpolation CCW (type 2)
6.4 6.5 6.6 6.13
02.1 01 Spiral/Conical interpolation CW (type1) 6.13 03.1 01 Spiral/Conical interpolation CCW (type1) 6.13 02.3 01 Exponential function interpolation positive rotation 6.11 03.3 01 Exponential function interpolation negative rotation 6.11 02.4 01 3-dimensional circular interpolation 6.14 03.4 01 3-dimensional circular interpolation 6.14 04 00 Dwell 8.1 05 00 High-speed machining mode
High-speed high-accuracy control II 13.16 13.17
05.1 00 High-speed high-accuracy control I Spline
13.17 13.18
06.2 01 NURBS interpolation 6.15 07 00 Hypothetical axis interpolation 6.16 07.1 107 21 Cylindrical interpolation 6.9
08 00 High-accuracy control 13.15 09 00 Exact stop check 7.9 10 00 Program data input (parameter /compensation data/parameter
coordinate rotation data) 12.7
13.11 13.22
11 00 Program data input cancel 12.7 13.11
12 00 Circular cut CW (clockwise) 13.10 13 00 Circular cut CCW (counterclockwise) 13.10 12.1 112 21 Polar coordinate interpolation ON 6.10
* 13.1 113 21 Polar coordinate interpolation cancel 6.10
14 * 15 18 Polar coordinate command OFF 6.12
16 18 Polar coordinate command ON 6.12 17 02 Plane selection X-Y 6.3 18 02 Plane selection Z-X 6.3 19 02 Plane selection Y-Z 6.3 20 06 Inch command 5.2 21 06 Metric command 5.2
3. Data Formats 3.7 G Code Lists
19
G code Group Function Section
22 04 Stroke check before travel ON 15.7 23 04 Stroke check before travel cancel 15.7 24 25 26 27 00 Reference position check 14.9 28 00 Reference position return 14.7 29 00 Start position return 14.7 30 00 2nd to 4th reference position return 14.8 30.1 00 Tool change position return 1 13.13 30.2 00 Tool change position return 2 13.13 30.3 00 Tool change position return 3 13.13 30.4 00 Tool change position return 4 13.13 30.5 00 Tool change position return 5 13.13 30.6 00 Tool change position return 6 13.13 31 00 Skip
Multi-step skip function 2 15.2 15.4
31.1 00 Multi-step skip function 1-1 15.3 31.2 00 Multi-step skip function 1-2 15.3 31.3 00 Multi-step skip function 1-3 15.3 32 33 01 Thread cutting 6.7 34 00 Special fixed cycle (bolt hole circle) 13.2 35 00 Special fixed cycle (line at angle) 13.2 36 00 Special fixed cycle (arc) 13.2 37 00 Automatic tool length measurement 15.1 37.1 00 Special fixed cycle (grid) 13.2 38 00 Tool radius compensation vector designation 12.4 39 00 Tool radius compensation corner arc 12.4
* 40 07 Tool radius compensation cancel 3-dimentional tool radius compensation cancel
12.4 12.5
41 07 Tool radius compensation left 3-dimentional tool radius compensation left
12.4 12.5
42 07 Tool radius compensation right 3-dimentional tool radius compensation right
12.4 12.5
* 40.1 15 Normal line control cancel 13.14 41.1 15 Normal line control left ON 13.14 42.1 15 Normal line control right ON 13.14 43 08 Tool length compensation (+) 12.2 44 08 Tool length compensation (-) 12.2 43.1 08 Tool length compensation along the tool axis 12.3 43.4 08 Tool center point control type 1 13.24 43.5 08 Tool center point control type 2 13.24 45 00 Tool position offset (extension) 12.6 46 00 Tool position offset (reduction) 12.6 47 00 Tool position offset (doubled) 12.6 48 00 Tool position offset (halved) 12.6
* 49 08 Tool length compensation cancel Tool center point control cancel
12.2 13.24
* 50 11 Scaling cancel 13.20 51 11 Scaling ON 13.20
3. Data Formats 3.7 G Code Lists
20
G code Group Function Section * 50.1 19 G command mirror image cancel 13.6
51.1 19 G command mirror image ON 13.6 52 00 Local coordinate system setting 14.11 53 00 Basic machine coordinate system selection 14.4
* 54 12 Workpiece coordinate system 1 selection 14.10 55 12 Workpiece coordinate system 2 selection 14.10 56 12 Workpiece coordinate system 3 selection 14.10 57 12 Workpiece coordinate system 4 selection 14.10 58 12 Workpiece coordinate system 5 selection 14.10 59 12 Workpiece coordinate system 6 selection 14.10 54.1 12 Workpiece coordinate system selection 48 / 96 sets extended 14.10 60 00 Unidirectional positioning 6.8 61 13 Exact stop check mode 7.10 61.1 13 High-accuracy control 1 ON 13.15 61.2 13 High-accuracy spline interpolation 13.19 62 13 Automatic corner override 7.12 63 13 Tapping mode 7.13 63.1 13 Synchronous tapping mode (normal tapping) 63.2 13 Synchronous tapping mode (reverse tapping)
* 64 13 Cutting mode 7.14 65 00 User macro call 13.5.1 66 14 User macro modal call A 13.5.1 66.1 14 User macro modal call B 13.5.1
* 67 14 User macro modal call cancel 13.5.1 68 16 Programmable coordinate rotation mode ON/3-dimensional
coordinate conversion mode ON 13.21 13.23
* 69 16 Programmable coordinate rotation mode OFF/3-dimensional coordinate conversion mode OFF
13.21 13.23
70 09 User fixed cycle 71 09 User fixed cycle 72 09 User fixed cycle 73 09 Fixed cycle (step) 13.1.1 74 09 Fixed cycle (reverse tap) 13.1.1 75 09 Fixed cycle (circle cutting cycle) 13.1.1 76 09 Fixed cycle (fine boring) 13.1.1 77 09 User fixed cycle 78 09 User fixed cycle 79 09 User fixed cycle
* 80 09 Fixed cycle cancel 13.1.1 81 09 Fixed cycle (drill/spot drill) 13.1.1 82 09 Fixed cycle (drill/counter boring) 13.1.1 83 09 Fixed cycle (deep drilling) 13.1.1 84 09 Fixed cycle (tapping) 13.1.1 85 09 Fixed cycle (boring) 13.1.1 86 09 Fixed cycle (boring) 13.1.1 87 09 Fixed cycle (back boring) 13.1.1 88 09 Fixed cycle (boring) 13.1.1 89 09 Fixed cycle (boring) 13.1.1
90 03 Absolute value command 5.1 91 03 Incremental command value 5.1
3. Data Formats 3.8 Precautions Before Starting Machining
21
G code Group Function Section
92 00 Coordinate system setting / Spindle clamp speed setting 14.5 92.1 00 Workpiece coordinate system pre-setting 14.12 93 05 Inverse time feed 7.5
94 05 Feed per minute (Asynchronous feed) 7.4 95 05 Feed per revolution (Synchronous feed) 7.4 96 17 Constant surface speed control ON 10.3 97 17 Constant surface speed control OFF 10.3 * 98 10 Fixed cycle Initial level return 13.1.2
99 10 Fixed cycle R point level return 13.1.2 100 to 255
00 User macro (G code call) Max. 10 13.5.2
(Note 1) Codes marked with * are codes that must be or are selected in the initial state. The codes marked with are codes that should be or are selected in the initial state by
the parameters. (Note 2) If two or more G codes from the same code are commanded, the latter G code will be
valid. (Note 3) This G code list is a list of conventional G codes. Depending on the machine, movements
that differ from the conventional G commands may be included when called by the G code macro. Refer to the Instruction Manual issued by the tool builder.
(Note 4) Whether the modal is initialized or not depends on each reset input. (1) "Reset 1"
The modal is initialized when the reset initial parameter "#1151 rstinit" turns ON. (2) "Reset 2" and "Reset & rewind"
The modal is initialized when the signal is input. (3) Resetting when emergency stop is canceled
Follows "Reset 1". (4) When modal is automatically reset at the start of individual functions such as
reference position return. Follows "Reset & rewind".
CAUTION The commands with "no value after G" will be handled as "G00".
3.8 Precautions Before Starting Machining Precautions before starting machining
CAUTION When creating the machining program, select the appropriate machining conditions so that the machine, NC performance, capacity and limits are not exceeded. The examples do not allow for the machining conditions.
Before starting actual machining, always carry out dry operation to confirm the machining program, tool compensation amount and workpiece offset amount, etc.
4. Buffer Register 4.1 Input Buffer
22
4. Buffer Register 4.1 Input Buffer
Function and purpose
When the pre-read buffer is empty during a tape operation or RS232C operation, the contents of the input buffer are immediately transferred to the pre-read buffers and, provided that the data stored in the input buffer do not exceed 250 x 4 characters, the following data (Max. 250 characters) are read and loaded into the input buffer. This buffer is designed to eliminate the operational delay originating in the readout time of the tape reader and to smooth out the block joints. The pre-reading effects are lost, however, when the block execution time is shorter than the tape readout time of the following block.
(Buffer size : 250 x 5 characters)
Tape Input buffer
Memory
Keyboard
MDI data
Mode switching
Analysis processing
Max. 5 execution blocks
Buffer 4
Arithmetic processing
Note : Data equivalent to 1 block are stored in 1 pre-read buffer.
Buffer 3
Buffer 2
Buffer 1
Pre-read buffer 5
The input buffer has a memory capacity of 250 x 5 characters (including the EOB code).
(1) The contents of the input buffer register are updated in 250-character units. (2) Only the significant codes in the significant data section are read into the input buffer. (3) When codes (including "(" and ")") are sandwiched in the control in or control out mode and the
optional block skip function is ON, the data extending from the "/" (slash) code up to the EOB code are read into the input buffer.
(4) The input buffer contents are cleared with resetting. (Note 1) The input buffer size (250 characters) differs according to the model.
4. Buffer Register 4.2 Pre-read Buffers
23
4.2 Pre-read Buffers
Function and purpose
During automatic processing, the contents of 1 block are normally pre-read so that program analysis processing is conducted smoothly. However, during tool radius compensation, a maximum of 5 blocks are pre-read for the intersection point calculation including interference check. The specifications of the data in 1 block are as follows:
(1) The data of 1 block are stored in this buffer. (2) Only the significant codes in the significant data section are read into the pre-read buffer. (3) When codes are sandwiched in the control in and control out, and the optional block skip
function is ON, the data extending from the "/" (slash) code up to the EOB code are not read into the pre-read buffer.
(4) The pre-read buffer contents are cleared with resetting. (5) When the single block function is ON during continuous operation, the pre-read buffer stores
the following block data and then stops operation.
Other precautions
(1) Depending on whether the program is executed continuously or by single blocks, the timing of
the valid/invalid for the external control signals for the block skip and others will differ. (2) If the external control signal such as optional block skip is turned ON/OFF with the M
command, the external control operation will not be effective on the program pre-read with the buffer register.
(3) According to the M command that operates the external controls, it prohibits pre-reading, and the recalculation is as follows:
The M command that commands the external controls is distinguished at the PLC, and the "recalculation request" for PLC -> NC interface table is turned ON.
(When the "recalculation request" is ON, the program that has been pre-read is reprocessed.)
5. Position Commands 5.1 Position Command Methods; G90, G91
24
5. Position Commands 5.1 Position Command Methods ; G90, G91
Function and purpose
By using the G90 and G91 commands, it is possible to execute the next coordinate commands using absolute values or incremental values. The R-designated circle radius and the center of the circle determined by I, J, K are always incremental value commands.
Command format
G9D X__ Y__ Z__ __; G90 :Absolute command G91 :Incremental command :Additional axis
Detailed description
(1) Regardless of the current position, in the absolute
value mode, it is possible to move to the position of the workpiece coordinate system that was designated in the program.
N 1 G90 G00 X0 Y0 ;
In the incremental value mode, the current position is the start point (0), and the movement is made only the value determined by the program, and is expressed as an incremental value.
N 2 G90 G01 X200. Y50. F100;
N 2 G91 G01 X200. Y50. F100;
Using the command from the 0 point in the workpiece coordinate system, it becomes the same coordinate command value in either the absolute value mode or the incremental value mode.
(2) For the next block, the last G90/G91 command that was given becomes the modal.
(G90) N 3 X100. Y100.;
The axis moves to the workpiece coordinate system X = 100mm and Y = 100mm position.
(G91) N 3 X-100. Y50.;
The X axis moves to -100.mm and the Y axis to +50.0mm as an incremental value, and as a result X moves to 100.mm and Y to 100.mm.
Tool
300.200.
200.
100. N1
100. N2
W X
Y
300.200.
200.
100.
N3
W X
Y
100.
5. Position Commands 5.1 Position Command Methods; G90, G91
25
(3) Since multiple commands can be issued in the same block, it is possible to command specific
addresses as either absolute values or incremental values.
N 4 G90 X300. G91 Y100.;
The X axis is treated in the absolute value mode, and with G90 is moved to the workpiece coordinate system 300.mm position. The Y axis is moved +100.mm with G91. As a result, Y moves to the 200.mm position. In terms of the next block, G91 remains as the modal and becomes the incremental value mode.
(4) When the power is turned ON, it is possible to select whether you want absolute value
commands or incremental value commands with the #1073 I_Absm parameter. (5) Even when commanding with the manual data input (MDI), it will be treated as a modal from
that block.
300.200. 100.
N4
W X
Y
100.
200.
5. Position Commands 5.2 Inch/Metric Command Change; G20, G21
26
5.2 Inch/Metric Command Change; G20, G21
Function and purpose
These G commands are used to change between the inch and millimeter (metric) systems.
Command format
G20/G21; G20 : Inch command G21 : Metric command
Detailed description
The G20 and G21 commands merely select the command units. They do not select the Input units. G20 and G21 selection is meaningful only for linear axes and it is meaningless for rotation axes.
Output unit, command unit and setting unit
The counter or parameter setting and display unit is determined by parameter "#1041 I_inch". For the movement/speed command, the followings will be resulted: The movement/speed command will be displayed as metric units when "#1041 I_inch" is ON during the G21 command mode. The internal unit metric data of the movement/speed command will be converted into an inch unit and displayed when "#1041 I_inch" is OFF during the G20 command mode. The command unit for when the power is turned ON and reset is decided by combining the parameters "#1041 I_inch", "#1151 rstint" and "#1210 RstGmd/bit5". NC axis
Initial inch OFF (metric internal unit)
#1041 I_inch=0
Initial inch ON (inch internal unit)
#1041 I_inch=1 Item
G21 G20 G21 G20 Movement/ speed command Metric Inch Metric Inch
Counter display Metric Metric Inch Inch Speed display Metric Metric Inch Inch User parameter setting/display Metric Metric Inch Inch
Workpiece/ tool offset setting/display
Metric Metric Inch Inch
Handle feed command Metric Metric Inch Inch
PLC axis
Item #1042 pcinch=0 (metric)
#1042 pcinch=1 (inch)
Movement/ speed command Metric Inch
Counter display Metric Inch User parameter setting/display Metric Inch
5. Position Commands 5.2 Inch/Metric Command Change; G20, G21
27
Precautions
(1) The parameter and tool data will be input/output with the "#1041 I_inch" setting unit.
If "#1041 I_inch" is not found in the parameter input data, the unit will follow the unit currently set to NC.
(2) The unit of read/write used in PLC window is fixed to metric unit regardless of a parameter and G20/G21 command modal.
(3) A program error (P33) will occur if G20/G21 command is issued in the same block as following G code. Command in a separate block. G05 (High-speed machining mode) G7.1 (Cylindrical Interpolation) G12.1 (Polar coordinate interpolation)
5. Position Commands 5.3 Decimal Point Input
28
5.3 Decimal Point Input
Function and purpose
This function enables the decimal point command to be input. It assigns the decimal point in millimeter or inch units for the machining program input information that defines the tool paths, distances and speeds. The parameter "#1078 Decpt2" selects whether type I (minimum input command unit) or type II (zero point) is to apply for the least significant digit of data without a decimal point.
Detailed description
(1) The decimal point command is valid for the distances, angles, times, speeds and scaling rate,
in machining programs. (Note, only after G51) (2) In decimal point input type 1 and type 2, the values of the data commands without the decimal
points are shown in the table below. Command Command unit Type 1 Type 2
cunit = 10000 1000 (m, 10-4 inch, 10-3 ) 1 (mm, inch, ) cunit = 1000 100 1 cunit = 100 10 1
X1 ;
cunit = 10 1 1 (3) The valid addresses for the decimal points are X, Y, Z, U, V, W, A, B, C, I, J, K, E, F, P, Q, and
R. However, P is valid only during scaling. For details, refer to the list. (4) In decimal point command, the valid range of command value is as shown below. (Input
command unit cunit = 10)
Movement command (linear)
Movement command (rotary) Feedrate Dwell
Input unit [mm]
-99999.999 to 99999.999
0. 001 to 10000000.000
Input unit [inch]
-9999.9999 to 9999.9999
-99999.999 to 99999.999 0. 0001 to
1000000.0000
0 to 99999.999
(5) The decimal point command is valid even for commands defining the variable data used in
subprograms. (6) While the smallest decimal point command is validated, the smallest unit for a command
without a decimal point designation is the smallest command input unit set in the specifications (1m, 10m, etc.) or mm can be selected. This selection can be made with parameter "#1078 Decpt2".
(7) Decimal point commands for decimal point invalid addresses are processed as integer data
only and everything below the decimal point is ignored. Addresses which are invalid for the decimal point are D, H, L, M, N, O, S and T. All variable commands, however, are treated as data with decimal points.
(8) "Input command increment tenfold" is applied in the decimal point type I mode, but not in the
decimal point type II mode.
5. Position Commands 5.3 Decimal Point Input
29
Example of program
(1) Example of program for decimal point valid address
Decimal point command 1 Specification division
Program example When 1 = 1m When 1 = 10m
Decimal point command 2
1 = 1mm G0X123.45 (decimal points are all mm points)
X123.450mm X123.450mm X123.450mm
G0X12345 X12.345mm (last digit is 1m unit)
X123.450mm X12345.000mm
#111 = 123, #112 = 5.55 X#111 Y#112
X123.000mm, Y5.550mm
X123.000mm, Y5.550mm
X123.000mm, Y5.550mm
#113 = #111+#112 (addition) #113 = 128.550 #113 = 128.550 #113 = 128.550
#114 = #111-#112 (subtraction) #114 = 117.450 #114 = 117.450 #114 = 117.450
#115 = #111#112 (multiplication) #115 = 682.650 #115 = 682.650 #115 = 682.650
#116 = #111/#112 #117 = #112/#111 (division)
#116 = 22.162 #117 = 0.045
#116 = 22.162 #117 = 0.045
#116 = 22.162 #117 = 0.045
Decimal point input I/II and decimal point command valid/invalid
If a command does not use a decimal point at an address where a decimal point command is valid in the table on the following page, it is handled differently between decimal point input I and II modes as explained below. A command using a decimal point is handled the same way in either the decimal point input I or II mode.
(1) Decimal point input I
The least significant digit place of command data corresponds to the command unit. (Example) Command "X1" in the 1m system is equivalent to command "X0.001".
(2) Decimal point input II
The least significant digit place of command data corresponds to the decimal point. (Example) Command "X1" in the 1m system is equivalent to command "X1.".
(Note) When a four rules operator is contained, the data will be handled as that with a decimal
point.
(Example) When the min. input command unit is 1m : G0 x 123 + 0 ; ... X axis 123mm command. It will not be 123m.
5. Position Commands 5.3 Decimal Point Input
30
Addresses used and validity/invalidity of decimal point commands are shown below.
Address Decimal point command Application Remarks
A Valid Coordinate position data Invalid Revolving table Invalid Miscellaneous function code Valid Angle data Invalid Data settings, axis numbers (G10)
B Valid Coordinate position data Invalid Revolving table Invalid Miscellaneous function code
C Valid Coordinate position data Invalid Revolving table Invalid Miscellaneous function code
Valid Corner chamfering amount ,c D Invalid Compensation numbers (tool position, tool radius)
Valid Automatic tool length measurement: deceleration distance d
Invalid Data setting: byte type data Invalid Subprogram storing device number ,D
E Valid Inch thread: number of ridges, precision thread: lead
F Valid Feedrate, automatic tool length measurement speed Valid Thread lead Valid Number of Z axis pitch in synchronous tap
G Valid Preparatory function code H Invalid Tool length compensation number
Invalid Sequence numbers in subprograms Invalid Program parameter input: bit type data Invalid Basic spindle selection
I Valid Arc center coordinates, center of figure rotation Valid Tool radius compensation vector components Valid Hole pitch in the special fixed cycle Valid Circle radius of cut circle (increase amount) Valid G0/G1 imposition width, drilling cycle G0 imposition width ,I Valid Stroke check before travel: lower limit coordinates
J Valid Arc center coordinates, center of figure rotation Valid Tool radius compensation vector components Valid Special fixed cycle's hole pitch or angle Valid G0/G1 imposition width, drilling cycle G1 imposition width Valid Stroke check before travel: lower limit coordinates
5. Position Commands 5.3 Decimal Point Input
31
Address Decimal point command Application Remarks
K Valid Arc center coordinates, center of figure rotation Valid Tool radius compensation vector components Invalid Number of holes of the special fixed cycle Invalid Number of drilling cycle repetitions Valid Stroke check before travel: lower limit coordinates
L Invalid Number of fixed cycle and subprogram repetitions Invalid Program tool compensation input/workpiece offset input:
type selection L2, L20, L12, L10, L13, L11
Invalid Program parameter input: data setting selection L70 Invalid Program parameter input: 2-word type data 4
bytes Invalid Tool life data
M Invalid Miscellaneous function codes N Invalid Sequence numbers
Invalid Program parameter input: data numbers O Invalid Program numbers P Invalid/Valid Dwell time Param
eter Invalid Subprogram program call: program No. Invalid/Valid Dwell at tap cycle hole base Param
eter Invalid Number of holes of the special fixed cycle Invalid Amount of helical pitch Invalid Offset number (G10) Invalid Constant surface speed control axis number Invalid Program parameter input: broad classification number Invalid Multi-step skip function 2 signal command Invalid Subprogram return destination sequence No. Invalid 2nd, 3rd, 4th reference position return number Valid Scaling magnification Invalid High-speed mode type Invalid Extended workpiece coordinate system No. Invalid Tool life data group No.
Q Valid Cut amount of deep hole drill cycle Valid Shift amount of back boring Valid Shift amount of fine boring Invalid Minimum spindle clamp speed Valid Starting shift angle for screw cutting Invalid Tool life data management method
5. Position Commands 5.3 Decimal Point Input
32
Address Decimal point command Application Remarks
R Valid R-point in the fixed cycle Valid R-specified arc radius Valid Corner R arc radius ,R Valid Offset amount (G10) Invalid Synchronous tap/asynchronous tap changeover Valid Automatic tool length measurement: deceleration
distance r
Valid Rotation angle S Invalid Spindle function codes
Invalid Maximum spindle clamp speed Invalid Constant surface speed control: surface speed Invalid Program parameter input: word type data 2
bytes T Invalid Tool function codes U Valid Coordinate position data V Valid Coordinate position data W Valid Coordinate position data X Valid Coordinate position data
Valid Dwell time Y Valid Coordinate position data Z Valid Coordinate position data
(Note 1) All decimal points are valid for the user macro arguments.
6. Interpolation Functions 6.1 Positioning (Rapid Traverse)
33
6. Interpolation Functions 6.1 Positioning (Rapid Traverse); G00
Function and purpose
This command is accompanied by coordinate words. It positions the tool along a linear or non-linear path from the present point as the start point to the end point which is specified by the coordinate words.
Command format
G00 X__ Y__ Z__ __ ; ( represents additional axis) X, Y, Z, : Represent coordinates, and could be either absolute values or
incremental values, depending on the setting of G90/G91.
Detailed description
(1) Once this command has been issued, the G00 mode is retained until it is changed by another
G function or until the G01, G02, G03 or G33 command in the 01 group is issued. If the next command is G00, all that is required is simply that the coordinate words be specified.
(2) In the G00 mode, the tool is always accelerated at the start point of the block and decelerated
at the end point. Having no more command pulse in the current block and the following error status of the acceleration/deceleration paths are confirmed before advancing to the next block. The in-position width is set with the parameters.
(3) Any G command (G72 to G89) in the 09 group is cancelled (G80) by the G00 command. (4) The tool path can be selected from linear or non-linear.
The positioning time is the same for the linear and non-linear paths. (a) Linear path......... : This is the same as linear interpolation (G01), and the speed is limited
by the rapid traverse rate of each axis. (b) Non-linear path .. : The tool is positioned at the rapid traverse rate independently for each
axis.
CAUTION The commands with "no value after G" will be handled as "G00".
6. Interpolation Functions 6.1 Positioning (Rapid Traverse)
34
Example of program
Unit : mm
Tool
Z
End point (-120,+200,+300)
Start point (+150,-100,+150)
X Y
+300
+150
+200+150
-120 -100
G91 G00 X-270000 Y300000 Z150000 ; (For input setting unit: 0.001mm)
(Note 1) When parameter "#1086 G0Intp" is set to "0", the path along which the tool is positioned is the shortest path connecting the start and end points. The positioning speed is automatically calculated so that the shortest distribution time is obtained in order that the commanded speeds for each axis do not exceed the rapid traverse rate.
When for instance, the Y axis and Z axis rapid traverse rates are both 9600mm/min, the tool will follow the path in the figure below if the following is programmed:
G91 G00 X-300000 Y200000 ; (With an input setting unit of 0.001mm)
End point Actual Y axis rate : 6400mm/min
Actual X axis rate : 9600mm/min
Start point (Unit : mm)
fx
fy
Y
X
300
20 0
6. Interpolation Functions 6.1 Positioning (Rapid Traverse)
35
(Note 2) When parameter "#1086 G0Intp" is set to 1, the tool will move along the path from the start point to
the end point at the rapid traverse rate of each axis. When, for instance, the Y axis and Z axis rapid traverse rates are both 9600mm/min, the tool will
follow the path in the figure below if the following is programmed: G91 G00 X-300000 Y200000 ; (With an input setting unit of 0.001mm)
End point Actual Y axis rate : 9600mm/min
Actual X axis rate : 9600mm/min
Start point (Unit : mm)
fx
fy
Y
X
300
20 0
(Note 3) The rapid traverse rate for each axis with the G00 command differs according to the individual machine and so reference should be made to the machine specifications.
6. Interpolation Functions 6.1 Positioning (Rapid Traverse)
36
(Note 4) Rapid traverse (G00) deceleration check There are two methods for the deceleration check at rapid traverse; commanded deceleration
method and in-position check method. Select a method with the parameter "#1193 inpos".
When "inpos" = "1" Upon completion of the rapid traverse (G00), the next block will be executed after confirming that
the remaining distances for each axis are below the fixed amounts. (Refer to following drawing.) The confirmation of the remaining distance should be done with the imposition width, LR . L R is the
setting value for the servo parameter "#2224 SV 024". The purpose of checking the rapid feedrate is to minimize the time it takes for positioning. The
bigger the setting value for the servo parameter "#2224 SV024", the longer the reduced time is, but the remaining distance of the previous block at the starting time of the next block also becomes larger, and this could become an obstacle in the actual processing work. The check for the remaining distance is done at set intervals. Accordingly, it may not be possible to get the actual amount of time reduction for positioning with the setting value SV 024.
When "inpos" = "0"
Upon completion of the rapid traverse (G00), the next block will be executed after the deceleration check time (Td) has elapsed. The deceleration check time (Td) is as follows, depending on the acceleration/deceleration type.
(1) Linear acceleration/linear deceleration........................................ Td = Ts +
Ts
Td
Previous block Next block
Ts : Acceleration/deceleration time constant
Td : Deceleration check time Td = Ts + (0 ~ 14ms)
(2) Exponential acceleration/linear deceleration............................... Td = 2 Ts +
2 Ts
Td Ts
Previous block Next block
Ts : Acceleration/deceleration time constant
Td : Deceleration check time Td = 2 Ts + (0 ~ 14ms)
6. Interpolation Functions 6.1 Positioning (Rapid Traverse)
37
(3) Exponential acceleration/exponential deceleration ..................... Td = 2 Ts +
Ts
Td
Previous block Next block
Ts : Acceleration/deceleration time constant
Td : Deceleration check time Td = 2 Ts + (0 ~ 14ms)
Where Ts is the acceleration time constant, = 0 to 14ms The time required for the deceleration check during rapid traverse is the longest among the rapid
traverse deceleration check times of each axis determined by the rapid traverse acceleration/deceleration time constants and by the rapid traverse acceleration/deceleration mode of the axes commanded simultaneously.
6. Interpolation Functions 6.1 Positioning (Rapid Traverse)
38
Programmable in-position width command for positioning
This command commands the in-position width for the positioning command from the machining program.
G00 X__ Y__ Z__ , I__ ;
In-position width
Positioning coordinate value of each axis
Operation during in-position check
Execution of the next block starts after confirming that the position error amount of the positioning (rapid traverse: G00) command block and the block that carries out deceleration check with the linear interpolation (G01) command is less than the in-position width issued in this command. The in-position width in this command is valid only in the command block, so the deceleration check method set in base specification parameter "#1193 inpos" is used for blocks that do not have the in-position width command. When there are several movement axes, the system confirms that the position error amount of each movement axis in each part system is less than the in-position width issued in this command before executing the next block. The differences of when the in-position check is validated with the parameter (base specification parameter "#1193 inpos" set to 1; refer to next page for in-position width) and when validated with this command are shown in the following drawing.
Differences between in-position check with this command and in-position check with parameter
In-position check with ",I" address command In-position check with parameter After starting deceleration of the command system, the position error amount and commanded in-position width are compared.
After starting deceleration of the command system, the servo system's position error amount and the parameter setting value (in-position width) are compared.
Servo Command
In-position width (Error amount of command end point and machine position)
Start of in-position check with ",I" address command
Block being executed
Ts
Td
In-position width (Servo system position error amount)
Start of in-position check with parameter
Servo Command
Block being executed
Ts
Td
Ts : Acceleration/deceleration time constant Td : Deceleration check time Td = Ts + (0 to 14ms)
6. Interpolation Functions 6.1 Positioning (Rapid Traverse)
39
In-position width setting
When the servo parameter "#2224 SV024" setting value is smaller than the setting value of the G0 in-position width "#2077 G0inps" and the G1 in-position width "#2078 G1inps", the in-position check is carried out with the G0 in-position width and the G1 in-position width. In-position check using the "G0inps" value Command to motor
Outline of motor movement
G0 in-position
SV024
A stop is judged here. In-position check using the "G1inps" value Command to motor
Outline of motor movement
G1 in-position
SV024
A stop is judged here.
When the SV024 value is larger, the in-position check is completed when the error amount is smaller than the SV024 setting value. The in-position check method depends on the method set in the deceleration check parameter.
(Note 1) When the in-position width (programmable in-position check width) is set in the machining program, either the in-position width set with the parameter (SV024, G0inps, G1inps) or that set in the program, whichever larger, is applied when performing an in-position check.
(Note 2) When the SV024 setting value is larger than the G0 in-position width/G1 in-position width, the in-position check is carried out with the SV024 value.
(Note 3) When the error detect is ON, the in-position check is forcibly carried out.
6. Interpolation Functions 6.2 Linear Interpolation
40
6.2 Linear Interpolation; G01
Function and purpose
This command is accompanied by coordinate words and a feedrate command. It makes the tool move (interpolate) linearly from its present position to the end point specified by the coordinate words at the speed specified by address F. In this case, the feedrate specified by address F always acts as a linear speed in the tool nose center advance direction.
Command format
G01 X__ Y__ Z__ __ F__ ,I__ ; ( represents additional axis) X, Y, Z, :Represents the coordinate value. An absolute position or
incremental position is indicated based on the state of G90/G91 at that time.
F :Feedrate (mm/min or /min) I :In-position width. This is valid only in the commanded block. A
block that does not contain this address will follow the parameter "#1193 inpos" settings.
Detailed description
(1) Once this command is issued, the mode is maintained until another G function (G00, G02, G03,
G33) in the 01 group which changes the G01 mode is issued. Therefore, if the next command is also G01 and if the feedrate is the same, all that is required to be done is to specify the coordinate words. If no F command is given in the first G01 command block, program error (P62) results.
(2) The feedrate for a rotary axis is commanded by /min (decimal point position unit). (F300 = 300/min)
(3) The G functions (G70 - G89) in the 09 group are cancelled (G80) by the G01 command.
6. Interpolation Functions 6.2 Linear Interpolation
41
Example of program
(Example 1) Cutting in the sequence of P1 P2 P3 P4 P1 at 300 mm/min feedrate P0 P1 is for tool positioning
Unit: mm Input setting unit: 0.001mmP4
P1
P0
P3 P2
20
30
20 20
30
Y
X
G90 G00 X20000 Y20000 ; P0 P1 G01 X20000 Y30000 F300 P1 P2 X30000 ; P2 P3 X-20000 Y-30000 ; P3 P4 X-30000 ; P4 P1
Programmable in-position width command for linear interpolation
This command commands the in-position width for the linear interpolation command from the machining program. The commanded in-position width is valid in the linear interpolation command only when carrying out deceleration check. When the error detect switch is ON. When G09 (exact stop check) is commanded in the same block. When G61 (exact stop check mode) is selected.
G01 X__ Y__ Z__ F__ , I__ ; In-position width
Feedrate Linear interpolation coordinate value of each axis
(Note 1) Refer to section "6.1 Positioning (rapid traverse); G00" for details on the in-position check operation.
6. Interpolation Functions 6.3 Plane Selection
42
6.3 Plane Selection; G17, G18, G19
Function and purpose
The plane to which the movement of the tool during the circle interpolation (including helical cutting) and tool radius compensation command belongs is selected. By registering the basic three axes and the corresponding parallel axis as parameters, a plane can be selected by two axes that are not the parallel axis. If the rotary axis is registered as a parallel axis, a plane that contains the rotary axis can be selected.
The plane selection is as follows: Plane that executes circular interpolation (including helical cutting) Plane that executes tool radius compensation Plane that executes fixed cycle positioning.
Command format
G17 ; G18 ; G19 ;
(ZX plane selection) (YZ plane selection) (XY plane selection)
X, Y and Z indicate each coordinate axis or the parallel axis.
Parameter entry
Table 1 Example of plane selection parameter entry #1026 to 1028
base_I,J,K #1029 to 1039
aux_I,J,K
I X U
J Y
K Z V
As shown in the above example, the basic axis and its parallel axis can be registered. The basic axis can be an axis other than X, Y and Z. Axes that are not registered are irrelevant to the plane selection.
6. Interpolation Functions 6.3 Plane Selection
43
Plane selection system
In Table 1, I is the horizontal axis for the G17 plane or the vertical axis for the G18 plane J is the vertical axis for the G17 plane or the horizontal axis for the G19 plane K is the horizontal axis for the G18 plane or the vertical axis for the G19 plane In other words, G17 ..... IJ plane G18 ..... KI plane G19 ..... JK plane (1) The axis address commanded in the same block as the plane selection (G17, G18, G19)
determines which basic axis or parallel axis is used for the plane selection. For the parameter registration example in Table 1.
G17X__Y__ ; XY plane G18X__V__ ; VX plane G18U__V__ ; VU plane G19Y__Z__ ; YZ plane G19Y__V__ ; YV plane
(2) The plane will not changeover at a block where a plane selection G code (G17, G18, G19) is
not commanded. G17X__Y__ ; XY plane
Y__Z__ ; XY plane (plane does not change)
(3) If the axis address is omitted in the block where the plane selection G code (G17, G18, G19) is commanded, it will be viewed as though the basic three axes address has been omitted. For the parameter registration example in Table 1.
G17 ; XY plane G17U__ ; UY plane G18U__ ; ZU plane G18V__ ; VX plane G19Y__ ; YZ plane G19V__ ; YV plane
(4) The axis command that does not exist in the plane determined by the plane selection G code
(G17, G18, G19) is irrelevant to the plane selection. For the parameter registration example in Table 1.
G17U__Z__ ; (5) If the above is commanded, the UY plane will be selected, and Z will move regardless of the
plane. If the basic axis and parallel axis are commanded in duplicate in the same block as the plane selection G code (G17, G18, G19), the plane will be determined in the priority order of basic axis and parallel axis. For the parameter registration example in Table 1.
G17U__Y__W__-; If the above is commanded, the UY plane will be selected, and W will move regardless of the plane. (Note 1) The plane set with parameter "#1025 I_plane" will be selected when the power is turned
ON or reset.
6. Interpolation Functions 6.4 Circular Interpolation; G02, G03
44
6.4 Circular Interpolation; G02, G03
Function and purpose
These commands serve to move the tool along an arc.
Command format
G02 (G03) X__ Y__ I__ J__ K__ F__;
G02 : Clockwise (CW) G03 : Counterclockwise (CCW) X, Y : End point I, J : Arc center F : Feedrate
For the arc command, the arc end point coordinates are assigned with addresses X, Y (or Z, or parallel axis X, Y, Z), and the arc center coordinate value is assigned with addresses I, J (or K). Either an absolute value or incremental value can be used for the arc end point coordinate value command, but the arc center coordinate value must always be commanded with an incremental value from the start point. The arc center coordinate value is commanded with an input setting unit. Caution is required for the arc command of an axis for which the input command value differs. Command with a decimal point to avoid confusion.
6. Interpolation Functions 6.4 Circular Interpolation; G02, G03
45
Detailed description
(1) G02 (or G03) is retained until another G command (G00, G01 or G33) in the 01 group that
changes its mode is issued. The arc rotation direction is distinguished by G02 and G03. G02 Clockwise (CW) G03 Counterclockwise (CCW)
Y
X
G02
G03
G02
G03
G02
G03
Y
X
Z
Z X
Z
Y G3
G3 G3
G2 G2
G2
G17(X-Y)plane G18(Z-X)plane G19(Y-Z)plane
(2) An arc which extends for more than one quadrant can be executed with a single block
command. (3) The following information is needed for circular interpolation.
(a) Plane selection ................... : Is there an arc parallel to one of the XY, ZX or YZ planes? (b) Rotation direction ............... : Clockwise (G02) or counterclockwise (G03)? (c) Arc end point coordinates... : Given by addresses X, Y, Z (d) Arc center coordinates ....... : Given by addresses I, J, K (incremental commands) (e) Feed rate ............................ : Given by address F
6. Interpolation Functions 6.4 Circular Interpolation; G02, G03
46
Example of program
(Example 1)
Y axis
Feedrate F = 500mm/min
Circle center J = 50mm
Start point/end point X axis
+Y
+X
G02 J50000 F500 ; Circle command
(Example 2)
Y axis
Feedrate F = 500mm/min
Start point
X axis
+Y
+X
Arc center J = 50mm
End point X50 Y50mm
G91 G02 X50000 Y50000 J50000 F500 ; 3/4 command
6. Interpolation Functions 6.4 Circular Interpolation; G02, G03
47
Plane selection
The planes in which the arc exists are the following three planes (refer to the detailed drawings), and are selected with the following method. XY plane G17; Command with a (plane selection G code) ZX plane G18; Command with a (plane selection G code) YZ plane G19; Command with a (plane selection G code)
Change into linear interpolation command
Program error (P33) will occur when the center and radius are not designated at circular command. When the parameter "#11029 Arc to G1 no Cent (Change command from arc to linear when no arc center designation)" is set, the linear interpolation can be applied to terminal coordinates value for only the block. However, a modal is the circular modal. This function is not applied to a circular command by a geometric function. (Example) The parameter "#11029 Arc to G1 no Cent (Change command from arc to linear when no arc center designation)" = "1"
N1
N3
20 0
G90 X0 Y0 ; N1 G02 X20. I10. F500 ; N2 G00 X0 N3 G02 X20. F500 ; M02 ;
(a) (b)
(a) The circular interpolation (G02) is executed because there is a center command. (b) The linear interpolation (G01) is executed because there is no center and radius command.
6. Interpolation Functions 6.4 Circular Interpolation; G02, G03
48
Precautions for circular interpolation
(1) The terms "clockwise" (G02) and "counterclockwise" (G03) used for arc operations are
defined as a case where in a right-hand coordinate system, the negative direction is viewed from the position direction of the coordinate axis which is at right angles to the plane in question.
(2) When all the end point coordinates are omitted or when the end point is the same position as the start point, a 360 arc (full circle) is commanded when the center is commanded using I, J and K.
(3) The following occurs when the start and end point radius do not match in an arc command : (a) Program error (P70) results at the arc start point when error R is greater than parameter
"#1084 RadErr".
Start point
Alarm stop
Start point radius End point radius
End point
#1084 RadErr parameter value 0.100 Start point radius = 5.000
End point radius = 4.899 Error R = 0.101
Center
(G91) G02X9.899I 5. ;
R
(b) Spiral interpolation in the direction of the commanded end point results when error R is
less than the parameter value.
Start point Start point radius End point radius
End point
#1084 RadErr parameter value 0.100 Start point radius = 5.000
End point radius = 4.900 Error R = 0.100
Spiral interpolation
Center
(G91) G02X9.9I 5. ;
R
The parameter setting range is from 0.001mm to 1.000mm.
6. Interpolation Functions 6.5 R-specified Circular Interpolation; G02, G03
49
6.5 R-specified Circular Interpolation; G02, G03
Function and purpose
Along with the conventional circular interpolation commands based on the arc center coordinate (I, J, K) designation, these commands can also be issued by directly designating the arc radius R.
Command format
G02 (G03) X__ Y__ R__ F__ ;
X : X axis end point coordinate Y : Y axis end point coordinate R : Arc radius F : Feedrate
The arc radius is commanded with an input setting unit. Caution is required for the arc command of an axis for which the input command value differs. Command with a decimal point to avoid confusion.
Detailed description
The arc center is on the bisector line which is perpendicular to the line connecting the start and end points of the arc. The point, where the arc with the specified radius whose start point is the center intersects the perpendicular bisector line, serves as the center coordinates of the arc command. If the R sign of the commanded program is plus, the arc is smaller than a semisphere; if it is minus, the arc is larger than a semisphere.
Center point
Arc path when R sign is minus
L r
Arc path when R sign is plus
End point
Center point 01
Start point
02 Center point
The following condition must be met with an R-specified arc interpolation command:
L/(2xr) 1 An error will occur when L/2 - r > (parameter : #1084 RadErr) Where L is the line from the start point to end point. When the R specification and I, J, K specification are contained in the same block, the R specification has priority in processing. When the R specification and I, J, K specification are contained in the same block, the R specification has priority in processing. The plane selection is the same as for the I, J, K-specified arc command.
6. Interpolation Functions 6.5 R-specified Circular Interpolation; G02, G03
50
Example of program
(Example 1)
G02 Xx1 Yy1 Rr1 Ff1 ; XY plane R-specified arc (Example 2)
G03 Zz1 Xx1 Rr1 Ff1 ; ZX plane R-specified arc (Example 3)
G02 Xx1 Yy1 Ii1 Jj1 Rr1 Ff1 ; XY plane R-specified arc (When the R specification and I, J, (K) specification are contained in the same block, the R specification has priority in processing.)
(Example 4)
G17 G02 Ii1 Jj1 Rr1 Ff1 ; XY plane This is an R-specified arc, but as this is a circle command, it is already completed.
6. Interpolation Functions 6.5 R-specified Circular Interpolation; G02, G03
51
Circular center coordinate compensation
When "the error margin between the segment connecting the start and end points" and "the commanded radius 2" is less than the setting value because the required semicircle is not obtained by calculation error in R specification circular interpolation, "the midpoint of segment connecting the start and end points" is compensated as the circular center. Set the setting value to the parameter "#11028 Tolerance Arc Cent (Tolerable correction value of arc center error)". (Ex.) "#11028 Tolerance Arc Cent" = "0.000 (mm)"
Setting value Tolerance value Setting value< 0 0(Center error will not be interpolated) Setting value= 0 2minimum setting increment
Setting value> 0 Setting value
0 10
N1, N3
N
G90 X0 Y0 ;
N1 G02 X10. R5.000;
N2 G0 X0;
N3 G02 X10. R5.001;
N4 G0 X0;
N5 G02 X10. R5.002;
N6 G0 X0;
M02 ;
(a)
(b)
(a) Compensate the center coordinate: Same as N1 path (b) Do not compensate the center coordinate: Inside path a little than N1 Calculation error margin compensation allowance value: 0.002 mm Segment connecting the start and end paints: 10.000 N3: Radius 2 = 10.002 "Error 0.002 -> Compensate" N5: Radius 2 = 10.004 "Error 0.004 -> Do not compensate" Therefore, this example is shown in the above figure.
6. Interpolation Functions 6.6 Helical Interpolation ; G17 to G19, G02, G03
52
6.6 Helical Interpolation ; G17 to G19, G02, G03
Function and purpose
While circular interpolating with G02/G03 within the plane selected with the plane selection G code (G17, G18, G19), the 3rd axis can be linearly interpolated. Normally, the helical interpolation speed is designated with the tangent speed F' including the 3rd axis interpolation element as shown in the lower drawing of Fig. 1. However, when designating the arc plane element speed, the tangent speed F on the arc plane is commanded as shown in the upper drawing of Fig. 1. The NC automatically calculates the helical interpolation tangent speed F' so that the tangent speed on the arc plane is F.
Y
Z
X
F
F
Y
X
Start point
Start point
End point
End point
Fig. 1 Designation of helical interpolation speed
Command format
G17 G02 (G03) Xx1 Yy1 Zz1 Ii1 Jj1 Pp1 Ff1 ; Helical interpolation command (Specify arc center) G17 G02 (G03) Xx2 Yy2 Zz2 Rr2 Ff2 ; Helical interpolation command (Specify radius (R)) G17(G18, G19) : Plane selection (G17: XY plane, G18: ZX plane, G19: YZ plane) G02(G03) : Arc rotation direction Xx1 Yy1 Xx2 Yy2 : Arc end point coordinate Zz1 Zz2 : Linear axis end point coordinate Ii1 Jj1 : Arc center coordinate Pp1 : Pitch No. Ff1 Ff2 : Feedrate Rr2 : Arc radius
The arc center coordinate and arc radius are commanded with an input setting input. Caution is required for the helical interpolation command of an axis for which the input command value differs. Command with a decimal point to avoid confusion. Absolute or incremental values can be assigned for the arc end point coordinates and the end point coordinates of the linear axis, but incremental values must be assigned for the arc center coordinates.
6. Interpolation Functions 6.6 Helical Interpolation ; G17 to G19, G02, G03
53
The arc plane element speed designation and normal speed designation can be selected with the parameter.
#1235 set07/bit0 Meaning 1 Arc plane element speed designation is selected. 0 Normal speed designation is selected.
Normal speed designation
Z axis
P1 time
First time
End point
Y axis
X axis
Start point
Y
X
e
s Z1
l
Second time
(1) This command should be issued with a linear axis (multiple axes can be commanded) that does not contain a circular axis in the circular interpolation command combined.
(2) For feedrate F, command the X, Y Z axis composite element directions speed. (3) Pitch l is obtained with the following expression.
l= Z1 (2 P1 + ) / 2
= E - s = tan-1 ye xe - tan-1 ys
xs (0 < 2)
Where xs, ys are the start point coordinates from the arc center xe, ye are the end point coordinates from the arc center
(4) If pitch No. is 0, address P can be omitted.
(Note) The pitch No. P command range is 0 to 9999. The pitch No. designation (P command) cannot be made with the R-specified arc.
(5) Plane selection
The helical interpolation arc plane selection is determined with the plane selection mode and axis address as for the circular interpolation. For the helical interpolation command, the plane where circular interpolation is executed is commanded with the plane selection G code (G17, G18, G19), and the 2 circular interpolation axes and linear interpolation axis (axis that intersects with circular plane) 3 axis addresses are commanded.
XY plane circular, Z axis linear Command the X, Y and Z axis addresses in the G02 (G03) and G17 (plane selection G code) mode.
ZX plane circular, Y axis linear Command the X, Y and Z axis addresses in the G02 (G03) and G18 (plane selection G code) mode.
YZ plane circular, X axis linear Command the X, Y and Z axis addresses in the G02 (G03) and G19 (plane selection G code) mode.
6. Interpolation Functions 6.6 Helical Interpolation ; G17 to G19, G02, G03
54
The plane for an additional axis can be selected as with circular interpolation.
UY plane circular, Z axis linear
Command the U, Y and Z axis addresses in the G02 (G03) and G19 (plane selection G code) mode.
In addition to the basic command methods above, the command methods following the program example can be used. Refer to the section "6.3 plane selection" for the arc planes selected with these command methods.
Example of program
(Example 1)
Z axis
Y axis
X axis
z1
G17 ; XY plane G03 Xx1 Yy1 Zz1 Ii1 Jj1 P0 Ff1 ; XY plane arc, Z axis linear
(Note) If pitch No. is 0, address P can be omitted.
Z axis
Y axis
X axis
z1 r1
(Example 2) G17 ; XY plane G02 Xx1 Yy1 Zz1 Rr1 Ff1 ; XY plane arc, Z axis linear
(Example 3)
Z axis
Y axis
U axis z1
G17 G03 Uu1 Yy1 Zz1 Ii1 Jj1 P2 Ff1 ; UY plane arc, Z axis linear
6. Interpolation Functions 6.6 Helical Interpolation ; G17 to G19, G02, G03
55
(Example 4)
U axis X axis
Z axis
u1
z1
x1
G18 G03 Xx1 Uu1 Zz1 Ii1 Kk1 Ff1 ; ZX plane arc, U axis linear (Note) If the same system is used, the standard axis will perform circular interpolation
and the additional axis will perform linear interpolation.
(Example 5) G18 G02 Xx1 Uu1 Yy1 Zz1 Ii1 Jj1 Kk1 Ff1 ;
ZX plane arc, U axis, Y axis linear (The J command is ignored)
(Note) Two or more axes can be designated for the linear interpolation axis.
Arc plane element speed designation
If arc plane element speed designation is selected, the F command will be handled as modal data in the same manner as the normal F command. This will also apply to the following G01, G02 and G03 commands. For example, the program will be as follows. (Example) G17 G91 G02 X10. Y10. Z-4. I10, F100 ; Helical interpolation at speed at which arc plane
element is F100 G01 X20. ; Linear interpolation at F100 G02 X10. Y-10. Z4. J10. ; Helical interpolation at speed at which arc plane
element is F100 G01 Y-40. F120 ; Linear interpolation at F120 G02 X-10. Y-10. Z-4. I10. ; Helical interpolation at speed at which arc plane
element is F120 G01 X-20. ; Linear interpolation at F120
When the arc plane element speed designation is selected, only the helical interpolation speed command is converted to the speed commanded with the arc plane element. The other linear and arc commands operate as normal speed commands. (1) The actual feedrate display (Fc) indicates the tangent element of the helical interpolation. (2) The modal value speed display (FA) indicates the command speed. (3) The speed data acquired with API functions follows the Fc and FA display. (4) This function is valid only when feed per minute (asynchronous feed: G94) is selected. If feed
per revolution (synchronous feed: G95) is selected, the arc plane element speed will not be designated.
(5) The helical interpolation option is required to use this function.
6. Interpolation Functions 6.7 Thread Cutting
56
6.7 Thread Cutting 6.7.1 Constant Lead Thread Cutting ; G33
Function and purpose
The G33 command exercises feed control over the tool which is synchronized with the spindle rotation and so this makes it possible to conduct constant-lead straight thread-cutting and tapered thread-cutting. Multiple thread screws, etc., can also be machined by designating the thread cutting angle.
Command format
G33 Z__(X__ Y__ __) F__ Q__ ; (Normal lead thread cutting commands) Z (X Y ) : Thread end point F : Lead of long axis (axis which moves most) direction Q : Thread cutting start shift angle, (0.000 to 360.000)
G33 Z__(X__ Y__ __) E__ Q__ ; (Precision lead thread cutting commands) Z (X Y ) : Thread end point E : Lead of long axis (axis which moves most) direction Q : Thread cutting start shift angle, (0.000 to 360.000)
Detailed description
(1) The E command is also used for the number of ridges in inch thread cutting, and whether the
ridge number or precision lead is to be designated can be selected by parameter setting. (Precision lead is designated by setting the parameter "#1229 set 01/bit 1" to 1.)
(2) The lead in the long axis direction is commanded for the taper thread lead.
Tapered thread section
When a<45, the lead is LZ. When a>45, the lead is LX. When a=45, the lead can be in either LX or LZ.
LZ
Z
X LX
a
6. Interpolation Functions 6.7 Thread Cutting
57
Thread cutting metric input
Input unit system B (0.001mm) C (0.0001mm)
Command address F (mm/rev) E (mm/rev) E (ridges/inch) F (mm/rev) E (mm/rev) E (ridges/inch)
Minimum command
unit
1(=1.000) (1.=1.000)
1(=1.00000) (1.=1.00000)
1(=1.00) (1.=1.00)
1(=1.0000) (1.=1.0000)
1(=1.000000) (1.=1.000000)
1(=1.000) (1.=1.000)
Command range
0.001~ 999.999
0.00001~ 999.99999
0.03~999.99 0.0001~ 999.9999
0.000001~ 999.999999
0.026~ 999.999
Input unit
system D (0.00001mm) E (0.000001mm)
Command address F (mm/rev) E (mm/rev) E (ridges/inch) F (mm/rev) E (mm/rev) E (ridges/inch)
Minimum command
unit
1(=1.00000) (1.=1.00000)
1(=1.0000000) (1.=1.0000000)
1(=1.0000) (1.=1.0000)
1(=1.000000) (1.=1.000000)
1(=1.00000000) (1.=1.00000000)
1(=1.00000) (1.=1.00000)
Command range
0.00001~ 999.99999
0.0000001~ 999.9999999
0.0255~ 999.9999
0.000001~ 999.999999
0.00000001~ 999.99999999
0.02541~ 999.99999
Thread cutting inch input
Input unit system B (0.0001inch) C (0.00001inch)
Command address F (inch/rev) E (inch/rev) E (ridges/inch) F (inch/rev) E (inch/rev) E (ridges/inch)
Minimum command
unit
1(=1.0000) (1.=1.0000)
1(=1.000000) (1.=1.000000)
1(=1.0000) (1.=1.0000)
1(=1.00000) (1.=1.00000)
1(=1.0000000) (1.=1.0000000)
1(=1.00000) (1.=1.00000)
Command range 0.0001~99.9999 0.000001~
39.370078 0.0101~
9999.9999 0.00001~ 99.99999
0.0000001~ 39.3700787
0.01001~ 9999.99999
Input unit
system D (0.000001inch) E (0.0000001inch)
Command address F (inch/rev) E (inch/rev) E (ridges/inch) F (inch/rev) E (inch/rev) E (ridges/inch)
Minimum command
unit
1(=1.000000) (1.=1.000000)
1(=1.00000000) (1.=1.00000000)
1(=1.000000) (1.=1.000000)
1(=1.0000000) (1.=1.0000000)
1(=1.000000000) (1.=1.000000000)
1(=1.0000000) (1.=1.0000000)
Command range
0.000001~ 99.999999
0.00000001~ 39.37007874
0.010001~ 9999.999999
0.0000001~ 99.9999999
0.000000001~ 39.370078740
0.0100001~ 9999.9999999
(Note 1) It is not possible to assign a lead where the feed rate as converted into per-minute
feed exceeds the maximum cutting feed rate.
(3) The constant surface speed control function should not be used for taper thread cutting commands or scrolled thread cutting commands.
(4) The thread cutting command waits for the single rotation sync signal of the rotary encoder and starts movement. Make sure to carry out timing-synchronization between part systems before issuing a thread cutting command with multiple part systems. For example, with the 1-spindle specifications with two part systems, if one part system issues a thread cutting command during ongoing thread cutting by another part system, the movement will start without waiting for the rotary encoder single rotation sync signal causing an illegal operation.
(5) The spindle speed should be kept constant throughout from the rough cutting until the finishing.
6. Interpolation Functions 6.7 Thread Cutting
58
(6) If the feed hold function is employed during thread cutting to stop the feed, the thread ridges
will lose their shape. For this reason, feed hold does not function during thread cutting. Note that this is valid from the time the thread cutting command is executed to the time the axis moves. If the feed hold switch is pressed during thread cutting, block stop will result at the end point of the block following the block in which thread cutting is completed (no longer G33 mode).
(7) The converted cutting feedrate is compared with the cutting feed clamp rate when thread cutting starts, and if it is found to exceed the clamp rate, an operation error will result.
(8) In order to protect the lead during thread cutting, a cutting feed rate which has been converted may sometimes exceed the cutting feed clamp rate.
(9) An illegal lead is normally produced at the start of the thread and at the end of the cutting because of servo system delay and other such factors. Therefore, it is necessary to command a thread length which is determined by adding the illegal lead lengths to the required thread length.
(10) The spindle speed is subject to the following restriction :
1 R Maximum feedrate Thread lead
Where R Permissible speed of encoder (r/min) R : Spindle speed (r/min) Thread lead : mm or inches Maximum feedrate : mm/min or inch/mm (This is subject to the restrictions imposed
by the machine specifications). (11) When the thread lead is extremely large to the maximum cutting feedrate enough to satisfy
"R<1" in the formula of (10) above, the program error (P93) may occur. (12) Though dry run is valid for thread cutting, the feed rate based on dry run is not synchronized
with the spindle rotation. The dry run signal is checked at the start of thread cutting and any switching during thread cutting is ignored.
(13) Synchronous feed applies for the thread cutting commands even with an asynchronous feed command (G94).
(14) Spindle override and cutting feed override are invalid and the speeds are fixed to 100% during thread cutting.
(15) When a thread cutting is commanded during tool radius compensation, the compensation is temporarily canceled and the thread cutting is executed.
(16) When the mode is switched to another automatic mode while G33 is executed, the following block which does not contain a thread cutting command is first executed and then the automatic operation stops.
(17) When the mode is switched to the manual mode while G33 is executed, the following block which does not contain a thread cutting command is first executed and then the automatic operation stops. In the case of a single block, the following block which does not contain a thread cutting command (when G33 mode is cancelled) is first executed and then the automatic operation stops. Note that automatic operation will stop immediately if the mode is switched before the G33-commanded axis starts moving.
(18) The handle interruption for automatic operation is valid while thread cutting. (19) The thread cutting start shift angle is not a modal. If there is no Q command with G33, this will
be handled as "Q0". (20) If a value more than 360.000 is commanded with G33 Q, the program error (P35) will occur. (21) G33 cuts one row with one cycle. To cut two rows, change the Q value, and issue the same
command.
6. Interpolation Functions 6.7 Thread Cutting
59
Example of program
Z
X Y
X
10 50 10
N110 G90 G0 X-200. Y-200. S50 M3 ; N111 Z110. ;
The spindle center is positioned to the workpiece center, and the spindle rotates in the forward direction.
N112 G33 Z40. F6.0 ; The first thread cutting is executed. Thread lead = 6.0mm
N113 M19 ; Spindle orientation is executed with the M19 command.
N114 G0X-210. ; The tool is evaded in the X axis direction. N115 Z110. M0 ; The tool rises to the top of the workpiece, and the
program stops with M00. Adjust the tool if required.
N116 X-200. ; M3 ;
Preparation for second thread cutting is done.
N117 G04 X5.0 ; Command dwell to stabilize the spindle rotation if necessary.
N11 G33 Z40. ; The second thread cutting is executed.
6. Interpolation Functions 6.7 Thread Cutting
60
6.7.2 Inch Thread Cutting; G33
Function and purpose
If the number of ridges per inch in the long axis direction is assigned in the G33 command, the feed of the tool synchronized with the spindle rotation will be controlled, which means that constant-lead straight thread-cutting and tapered thread-cutting can be performed.
Command format
G33 Z__ E__ Q__ ;
Z : Thread cutting direction axis address (X, Y, Z, ) and thread length E : Number of ridges per inch in direction of long axis (axis which moves
most) (decimal point command can also be assigned) Q : Thread cutting start shift angle, 0 to 360.
Detailed description
(1) The number of ridges in the long axis direction is assigned as the number of ridges per inch. (2) The E code is also used to assign the precision lead length, and whether the ridge number of
precision lead length is to be designated can be selected by parameter setting. (The number of ridges is designated by setting the parameter "#1229 set01/bit1" to 0.)
(3) The E command value should be set within the lead value range when the lead is converted. (4) The other matters are the same as uniform lead thread cutting.
6. Interpolation Functions 6.8 Unidirectional Positioning
61
Example of program
Thread lead ..... 3 threads/inch (= 8.46666 ...) When programmed with 1= 10mm, 2 = 10mm using metric input
Z
X Y
X
1 50.0mm
2
N210 G90 G0X-200. Y-200. S50M3; N211 Z110.; N212 G91 G33 Z-70.E3.0; (First thread cutting) N213 M19; N214 G90 G0X-210.; N215 Z110.M0;
N216 X-200.; M3; N217 G04 X2.0; N218 G91 G33 Z-70.; (Second thread cutting)
6.8 Unidirectional Positioning; G60
Function and purpose
The G60 command can position the tool at a high degree of precision without backlash error by locating the final tool position from a single determined direction.
6. Interpolation Functions 6.8 Unidirectional Positioning
62
Command format
G60 X__ Y__ Z__ __ ; : Optional axis
Detailed description
(1) The creep distance for the final positioning as well as the final positioning direction is set by
parameter. (2) After the tool has moved at the rapid traverse rate to the position separated from the final
position by an amount equivalent to the creep distance, it move to the final position in accordance with the rapid traverse setting where its positioning is completed.
Start point
Start point End point
G60a
Stop once
Positioning position
[Final advance direction]
G60-a [G60creep distance]
+ -
(3) The above positioning operation is performed even when Z axis commands have been
assigned for Z axis cancel and machine lock. (Display only) (4) When the mirror image function is ON, the tool will move in the opposite direction as far as the
intermediate position due to the mirror image function but the operation within the creep distance during its final advance will not be affected by mirror image.
(5) The tool moves to the end point at the dry run speed during dry run when the G0 dry run function is valid.
(6) Feed during creep distance movement with final positioning can be stopped by resetting, emergency stop, interlock, feed hold and rapid traverse override zero. The tool moves over the creep distance at the rapid traverse setting. Rapid traverse override is valid.
(7) Uni-directional positioning is not performed for the drilling axis during drilling fixed cycles. (8) Uni-directional positioning is not performed for shift amount movements during the fine boring
or back boring fixed cycle. (9) Normal positioning is performed for axes whose creep distance has not been set by
parameter. (10) Uni-directional positioning is always a non-interpolation type of positioning. (11) When the same position (movement amount of zero) has been commanded, the tool moves
back and forth over the creep distance and is positioned at its original position from the final advance direction.
(12) Program error (P61) results when the G60 command is assigned with an NC system which has not been provided with this particular specification.
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
63
6.9 Cylindrical Interpolation; G07.1
Function and purpose
This function develops a shape with a cylindrical side (shape in cylindrical coordinate system) into a plane. When the developed shape is programmed as the plane coordinates, that is converted into the linear axis and rotation axis movement in the cylindrical coordinates and the contour is controlled during machining.
r
B
Z
X Y
As programming can be carried out with a shape with which the side on the cylinder is developed, this is effective for machining cylindrical cams, etc. When programmed with the rotation axis and its orthogonal axis, slits, etc., can be machined on the cylinder side.
Develop- ment
0
360
2r
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
64
Command format
G07.1 C__ ; (Cylindrical interpolation mode start/cancel) C :Cylinder radius value
Radius value 0: Cylindrical interpolation mode start Radius value = 0: Cylindrical interpolation mode cancel
(Note) The above format applies when the name of the rotation axis is "C". If the name is not "C",
command the name of the rotation axis being used instead of "C". (1) The coordinates commanded in the interval from the start to cancellation of the cylindrical
interpolation mode will be the cylindrical coordinate system. G07.1 C Cylinder radius value; : : :
Cylindrical interpolation mode start (Cylindrical interpolation will start) (The coordinate commands in this interval will be the cylindrical coordinate system)
G07.1 C0 ; Cylindrical interpolation mode cancel (Cylindrical interpolation will be canceled)
(2) G107 can be used instead of G07.1.
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
65
Detailed description
(1) Command G07.1 in an independent block. A program error (P33) will occur if this command is
issued in the same block as another G code.
(2) Program the rotation axis with an angle degree.
(3) Linear interpolation or circular interpolation can be commanded during the cylindrical interpolation mode. Note that the plane selection command must be issued just before the G07.1 block.
(4) The coordinates can be commanded with either an absolute command or incremental command.
(5) Tool radius compensation can be applied on the program command. Cylindrical interpolation will be executed on the path after tool radius compensation.
(6) Command the segment feed in the cylinder development with F. The F unit is mm/min or inch/min.
(7) Cylindrical interpolation accuracy In the cylindrical interpolation mode, the movement amount of the rotation axis commanded
with an angle is converted on the circle periphery, and after operating the linear and circular interpolation between the other axes, the amount is converted into an angle again.
Thus, the actual movement amount may differ from the commanded value such as when the cylinder radius is small.
Note that the error generated at this time is not cumulated.
(8) F command during cylindrical interpolation As for the F command in the cylindrical interpolation mode, whether the previous F command
is used or not depends on that the mode just before G07.1 is the feed per minute command (G94/G98) or feed per rotation command (G95/G99).
(a) When G94 is commanded just before G07.1 If there is no F command in the cylindrical interpolation, the previous F command feedrate
will be used. The feedrate after the cylindrical interpolation mode is canceled will remain the F
command feedrate issued when the cylindrical interpolation mode was started or the final F command feedrate set during cylindrical interpolation.
(b) When G95 is commanded just before G07.1 The previous F command feedrate cannot be used during cylindrical interpolation, thus a
new F command must be issued. The feedrate after the cylindrical interpolation mode is canceled will return to that applied
before the cylindrical interpolation mode was started.
When there is no F command in G07.1 Previous mode No F command After G07.1 is canceled G94 (G98) Previous F is used G95 (G99) Program error (P62) F just before G07.1 is used
When F is commanded in G07.1
Previous mode No F command After G07.1 is canceled G94 (G98) Commanded F is used G95 (G99) Commanded F is used *1 F just before G07.1 is used
*1) Moves with the feed per minute command during G07.1.
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
66
(9) Plane selection The axis used for cylindrical interpolation must be set with the plane selection command.(Note) The correspondence of the rotation axis to an axis' parallel axis is set with the parameters (#1029, #1030, #1031). The circular interpolation and tool radius compensation, etc., can be designated on that plane. The plane selection command is set immediately before or after the G07.1 command. If not set and a movement command is issued, a program error (P485) will occur.
(Example)
Basic coordinate system X, Y, Z
Cylindrical coordinate system C, Y, Z (Rotation axis is X axis' parallel axis) #1029
Cylindrical coordinate system X, C, Z (Rotation axis is Y axis' parallel axis) #1030
Cylindrical coordinate system X, Y, C (Rotation axis is Z axis' parallel axis) #1031
G17
Y
X
G18
Z
X
G19
Y
Z
G18
Z
C
G18
C
X
G19
C
Z
G19
Y
C
G17
X
C
G17
C
Y
G19 Z0. C0. ;
G07.1 C100. ;
:
G07.1 C0 ;
(Note) Depending on the model or version, the Z-C plane (Y-Z cylinder plane) will be automatically
selected with G07.1 and G19. The circular interpolation and tool radius compensation, etc., can be designated on that
plane.
Basic coordinate system X, Y, Z
Cylindrical coordinate system
G17
Y
X
G18
Z
X
G19
Y
Z
G19
Z
C
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
67
(10) Related parameters
# Item Details Setting range
1516 mill_ax Milling axis name
Set the name of the rotation axis for milling interpolation (pole coordinate interpolation, cylindrical interpolation). Only one of the rotation axes can be set.
A to Z
8111 Milling Radius Select the diameter and radius of the linear axis for milling interpolation (pole coordinate interpolation, cylindrical interpolation). 0: Radius command for all axes 1: Each axis setting (follows #1019 dia diameter
designation axis)
0 / 1
1267 (PR)
ext03 (bit0)
G code type The type of G code is changed. 0: Conventional format 1: Mitsubishi special format
0 / 1
1270 (PR)
ext06 (bit7)
Handle C axis coordinate during cylindrical interpolation
Specify whether the rotary axis coordinate before the cylindrical interpolation start command is issued is kept during the cylindrical interpolation or not. 0: Do not keep 1: keep
0 / 1
Relation with other functions
(1) The following G code commands can be used during the cylindrical interpolation
mode. G code Details
G00 G01 G02 G03 G04 G09 G40-42 G61 G64 G65 G66 G66.1 G67 G80-89 G90/91 G94 G98 G99
Positioning Linear interpolation Circular interpolation (CW) Circular interpolation (CWW) Dwell Exact stop check Tool nose R compensation Exact stop check mode Cutting mode Macro call (simple call) Macro modal call A (modal call) Macro modal call B (block call per macro) Macro modal call cancel (modal call cancel) Hole drilling fixed cycle Absolute/incremental value command Asynchronous feed Hole drilling cycle initial return Hole drilling cycle R point return
A program error (P481) may occur if a G code other than those listed above is commanded during cylindrical interpolation.
(2) Circular interpolation
(a) Circular interpolation between the rotation axis and linear axis is possible during the cylindrical interpolation mode.
(b) An R specification command can be issued with circular interpolation. (I, J and K cannot be designated.)
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
68
(3) Tool radius compensation The tool radius can be compensated during the cylindrical interpolation mode.
(a) Command the plane selection in the same manner as circular interpolation. When using tool radius compensation, start up and cancel the compensation within the
cylindrical interpolation mode.
(b) A program error (P485) will occur if G07.1 is commanded during tool radius compensation.
(c) If the G07.1 command is issued with no movement command given after the tool radius compensation is canceled, the position of the axis in the G07.1 command block is interpreted as the position applied after the tool radius compensation is canceled and the following operations are performed.
(4) Tool length compensation
(a) A program error (P481) will occur if the tool length compensation is carried out in the cylindrical interpolation mode. : : G43H12 ; ... Tool length compensation before cylindrical interpolation Valid G0 X100. Z0 ; G19 Z C ; G07.1 C100. ; : G43H11 ; ... Tool length compensation in cylindrical interpolation mode Program error : G07.1 C0 ;
(b) Complete the tool compensation movement (movement of tool length and wear compensation amount) before executing the cylindrical interpolation. If the tool compensation movement is not completed when the cylindrical interpolation start command has been issued, the followings will be resulted: Machine coordinate is not changed even if G07.1 is executed.
The workpiece coordinate is changed to that of the post tool length compensation when G07.1 is executed. (Even if canceling the cylindrical interpolation, this workpiece coordinate will not be canceled.)
(5) Cutting asynchronous feed
(a) The asynchronous mode is forcibly set when the cylindrical interpolation mode is started.
(b) When the cylindrical interpolation mode is canceled, the synchronization mode will return to the state before the cylindrical interpolation mode was started.
(c) A program error (P485) will occur if G07.1 is commanded in the constant surface speed control mode (G96).
(6) Miscellaneous functions
(a) The miscellaneous function (M) and 2nd miscellaneous function can be issued even in the cylindrical interpolation mode.
(b) The S command in the cylindrical interpolation mode issues the rotary tool's rotation speed instead of the spindle rotation speed.
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
69
Restrictions and precautions
(1) The cylindrical interpolation mode is canceled when the power is turned ON or reset.
(2) A program error (P484) will occur if any axis commanded for cylindrical interpolation has not completed reference position return.
(3) Tool radius compensation must be canceled before the cylindrical interpolation mode can be canceled.
(4) When the cylindrical interpolation mode is canceled, the mode will change to the cutting mode, and the plane will return to that selected before cylindrical interpolation.
(5) The program of the block during the cylindrical interpolation cannot be restarted (program restart).
(6) A program error (P486) will occur if the cylindrical interpolation command is issued during the mirror image.
(7) When the cylindrical interpolation mode is started or canceled, the deceleration check is performed.
(8) A program error (P481) will occur if the cylindrical interpolation or the pole coordinate interpolation is commanded during the cylindrical interpolation mode.
6. Interpolation Functions 6.9 Cylindrical Interpolation; G07.1
70
Example of program
Command of plane selection for cylindrical interpolation and command of two interpolation axes Cylindrical interpolation start Cylindrical interpolation cancel
(Unit: mm)
50
100
150
200
250
300
350
-20-40-60-80
C
Z
N09 N10
N11
N12 N13
N14
N15
N11
10
09 N08
N13
N14
N12
6. Interpolation Functions 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
71
6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
Function and purpose
This function converts the commands programmed with the orthogonal coordinate axis into linear axis movement (tool movement) and rotation axis movement (workpiece rotation), and controls the contour. The plane that uses the linear axis as the plane's 1st orthogonal axis, and the intersecting hypothetical axis as the plane's 2nd axis (hereafter "pole coordinate interpolation plane") is selected. Pole coordinate interpolation is carried out on this plane. The workpiece coordinate system zero point is used as the coordinate system zero point during pole coordinate interpolation.
Linear axis
X axis
C axis
Z axis
Rotation axis (hypothetical axis)
Polar coordinate interpolation plane (G17 plane)
This is effective for cutting a notch section on a linear section of the workpiece diameter, and for cutting cam shafts, etc.
Command format
G12.1 ; Pole coordinate interpolation mode start G13.1 ; Pole coordinate interpolation mode cancel
(1) The coordinates commanded in the interval from the start to cancellation of the pole
coordinate interpolation mode will be the pole coordinate interpolation. G12.1 ; Pole coordinate interpolation mode start : (Pole coordinate interpolation will start) : (The coordinate commands in this interval will be the pole coordinate : interpolation) G13.1 ; Pole coordinate interpolation mode cancel (Pole coordinate interpolation is canceled)
(2) G112 and G113 can be used instead of G12.1 and G13.1.
6. Interpolation Functions 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
72
Detailed description
(1) Command G12.1 and G13.1 in an independent block. A program error (P33) will occur if this
command is issued in the same block as another G code.
(2) Linear interpolation or circular interpolation can be commanded during the pole coordinate interpolation mode.
(3) The coordinates can be commanded with either an absolute command or incremental command.
(4) Tool radius compensation can be applied on the program command. Pole coordinate interpolation will be executed on the path after tool radius compensation.
(5) Command the segment feed in the pole coordinate interpolation plane (orthogonal coordinate system) with F. The F unit is mm/min or inch/min.
(6) When the G12.1 command is issued, the deceleration check is executed.
(7) Plane selection The linear axis and rotation axis used for pole coordinate interpolation must be set beforehand
with the parameters.
(a) Determine the deemed plane for carrying out pole coordinate interpolation with the parameter (#1533) for the linear axis used for pole coordinate interpolation.
#1533 setting value Deemed plane X G17 (XY plane) Y G19 (YZ plane) Z G18 (ZX plane)
Blank (no setting) G17 (XY plane)
(b) A program error (P485) will occur if the plane selection command (G16 to G19) is issued during the pole coordinate interpolation mode.
(Note) Depending on the model or version, parameter (#1533) may not be provided. In this case, the operation will be the same as if the parameter (#1533) is blank (no setting).
6. Interpolation Functions 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
73
(8) F command during pole coordinate interpolation As for the F command in the pole coordinate interpolation mode, whether the previous F command is used or not depends on that the mode just before G12.1 is the feed per minute command (G94/G98) or feed per rotation command (G95/G99).
(a) When G94(G98) is commanded just before G12.1 If there is no F command in the pole coordinate interpolation, the previous F command feedrate will be used. The feedrate after the pole coordinate interpolation mode is canceled will remain the F command feedrate issued when the pole coordinate interpolation mode was started or the final F command feedrate set during pole coordinate interpolation. The previous F command feedrate cannot be used during pole coordinate interpolation.
(b) When G95(G99) is commanded just before G12.1 The previous F command feedrate cannot be used during pole coordinate interpolation. A new F command must be issued. The feedrate after the pole coordinate interpolation mode is canceled will return to that applied before the pole coordinate interpolation mode was started.
When there is no F command in G12.1
Previous mode No F command After G13.1 is canceled G94(G98) Previous F is used G95(G99) Program error (P62) F just before G12.1 is used
When F is commanded in G12.1
Previous mode No F command After G07.1 is canceled G94(G98) Commanded F is used G95(G99) Commanded F is used *1 F just before G12.1 is used
*1) Moves with the feed per minute command during G12.1.
(9) Related parameters
# Item Details Setting range
1516 mill_ax Milling axis name
Set the name of the rotation axis for milling interpolation (pole coordinate interpolation, cylindrical interpolation). Only one of the rotation axes can be set.
A to Z
1517 mill_c Milling interpolation hypothetical axis name
Select the hypothetical axis command name for milling interpolation (pole coordinate interpolation, cylindrical interpolation). 0: Y axis command 1: Command rotation axis name
0 / 1
8111 Milling Radius Select the diameter and radius of the linear axis for milling interpolation. 0: Radius command for all axes 1: Each axis setting (follows #1019 dia diameter
designation axis)
0 / 1
1533 mill_Pax Polar coordinate linear axis name
Set the linear axis for polar coordinate interpolation. Axis name
6. Interpolation Functions 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
74
Relation with other functions
(1) The following G code commands can be used during the pole coordinate interpolation mode.
G code Details G00 G01 G02 G03 G04 G09 G40-42 G61 G64 G65 G66 G66.1 G67 G80-89 G90/91 G94 G98 G99
Positioning Linear interpolation Circular interpolation (CW) Circular interpolation (CWW) Dwell Exact stop check Tool radius compensation Exact stop check mode Cutting mode Macro call (simple call) Macro modal call A (modal call) Macro modal call B (block call per macro) Macro modal call cancel (modal call cancel) Hole drilling fixed cycle Absolute/incremental value command Asynchronous feed Hole drilling cycle initial return Hole drilling cycle R point return
A program error (P481) may occur if a G code other than those listed above is commanded during pole coordinate interpolation.
(2) Program commands during pole coordinate interpolation
(a) The program commands in the pole coordinate interpolation mode are commanded with the orthogonal coordinate value of the linear axis and rotation axis (hypothetical axis) on the pole coordinate interpolation plane.
The axis address of the rotation axis (C) is commanded as the axis address for the plane's 2nd axis (hypothetical axis) command.
The command unit is not degree, and instead is the same unit (mm or inch) as the command issued with the axis address for the plane's 1st axis (linear axis).
(b) The hypothetical axis coordinate value will be set to "0" when G12.1 is commanded. In other words, the position where G12.1 is commanded will be interpreted as angle = 0, and the pole coordinate interpolation will start.
(3) Circular interpolation on pole coordinate plane The arc radius address for carrying out circular interpolation during the pole coordinate
interpolation mode is determined with the linear axis parameter (#1533). #1533 setting value Center designation command
X I, J (pole coordinate plane is interpreted as XY plane) Y J, K (pole coordinate plane is interpreted as YZ plane) Z K, I (pole coordinate plane is interpreted as ZX plane)
Blank (no setting) I, J (pole coordinate plane is interpreted as XY plane)
The arc radius can also be designated with the R command.
(Note) Depending on the model or version, parameter (#1533) may not be provided. In this case, the operation will be the same as if the parameter (#1533) is blank (no setting).
6. Interpolation Functions 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
75
(4) Tool radius compensation The tool radius can be compensated during the pole coordinate interpolation mode.
(a) Command the plane selection in the same manner as pole coordinate interpolation. When using tool radius compensation, it must be started up and canceled within the pole
coordinate interpolation mode.
(b) A program error (P485) will occur if polar coordinate interpolation is executed during tool radius compensation.
(c) If the G12.1 and G13.1 commands are issued with no movement command given after the tool radius compensation is canceled, the position of the axis in the G12.1 and G13.1 commands block is interpreted as the position applied after the tool radius compensation is canceled and the following operations are performed.
(5) Tool length compensation
(a) A program error (P481) will occur if the tool length compensation is carried out in the polar coordinate interpolation mode.
: : G43 H12 ; ...Tool length compensation before polar coordinate interpolation Valid G0 X100. Z0 ; G12.1 ; : G43 H11 ; ...Tool length compensation in polar coordinate interpolation mode
Program error : G13.1 ;
(b) Complete the tool compensation operation (movement of tool length and wear compensation amount) before executing the polar coordinate interpolation. If the tool compensation operation is not completed when the polar coordinate interpolation start command has been issued, the followings will be resulted:
Machine coordinate is not changed even if G12.1 is executed..
The workpiece coordinate is changed to that of the post tool length compensation when G12.1 is executed. (Even if canceling the polar coordinate interpolation, this workpiece coordinate will not be canceled.)
(6) Cutting asynchronous feed
(a) The asynchronous mode is forcibly set when the pole coordinate interpolation mode is started.
(b) When the pole coordinate interpolation mode is canceled, the synchronization mode will return to the state before the pole coordinate interpolation mode was started.
(c) A program error (P485) will occur if G12.1 is commanded in the constant surface speed control mode (G96).
(7) Miscellaneous functions
(a) The miscellaneous function (M) and 2nd miscellaneous function can be issued even in the pole coordinate interpolation mode.
(b) The S command in the pole coordinate interpolation mode issues the rotary tool's rotation speed instead of the spindle rotation speed.
6. Interpolation Functions 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
76
(8) Hole drilling axis in the hole drilling fixed cycle command during the pole coordinate
interpolation Hole drilling axis in the hole drilling fixed cycle command during the pole coordinate interpolation is determined with the linear axis parameter (#1533).
#1533 setting value Hole drilling axis X Z (pole coordinate plane is interpreted as XY plane) Y X (pole coordinate plane is interpreted as YZ plane) Z Y (pole coordinate plane is interpreted as ZX plane)
Blank (no setting) Z (pole coordinate plane is interpreted as XY plane)
(9) Shift amount in the G76 (fine boring) or G87 (back boring) command during the pole coordinate interpolation
Shift amount in the G76 (fine boring) or G87 (back boring) command during the pole coordinate interpolation is determined with the linear axis parameter (#1533).
#1533 setting value Center designation command X I, J (pole coordinate plane is interpreted as XY plane) Y J, K (pole coordinate plane is interpreted as YZ plane) Z K, I (pole coordinate plane is interpreted as ZX plane)
Blank (no setting) I, J (pole coordinate plane is interpreted as XY plane)
Restrictions and precautions
(1) The program cannot be restarted (resumed) for a block in pole coordinate interpolation.
(2) Before commanding pole coordinate interpolation, set the workpiece coordinate system so that the center of the rotation axis is at the coordinate system zero point. Do not change the coordinate system during the pole coordinate interpolation mode. (G50, G52, G53, relative coordinate reset, G54 to G59, etc.)
(3) The feedrate during pole coordinate interpolation will be the interpolation speed on the pole coordinate interpolation plane (orthogonal coordinate system). (The relative speed with the tool will be converted with pole coordinate conversion.) When passing near the center of the rotation axis on the pole coordinate interpolation plane (orthogonal coordinate system), the rotation axis side feedrate after pole coordinate interpolation will be very high.
(4) The axis movement command outside of the plane during pole coordinate interpolation will move unrelated to the pole coordinate interpolation.
(5) The current position displays during pole coordinate interpolation will all indicate the actual coordinate value. However, the "remaining movement amount" will be the movement amount on the pole coordinate input plane.
(6) The pole coordinate interpolation mode will be canceled when the power is turned ON or reset.
(7) A program error (P484) will occur if any axis commanded for pole coordinate interpolation has not completed zero point return.
(8) Tool radius compensation must be canceled before the pole coordinate interpolation mode can be canceled.
(9) When the pole coordinate interpolation mode is canceled, the mode will change to the cutting mode, and the plane will return to that selected before pole coordinate interpolation.
(10) A program error (P486) will occur if the pole coordinate interpolation command is issued during the mirror image.
6. Interpolation Functions 6.10 Polar Coordinate Interpolation; G12.1, G13.1/G112,G113
77
(11) A program error (P486) will occur if the cylindrical interpolation or the pole coordinate interpolation is commanded during the pole coordinate interpolation mode.
(12) During pole coordinate interpolation, if X axis moveable range is controlled in the plus side, X axis has to be moved to the plus area that includes "0" and above before issuing the polar coordinate interpolation command. If X axis moveable range is controlled in the minus side, X axis has to be moved to the area that does not include "0" before issuing the polar coordinate interpolation command.
Example of program
Hypothetical C axis
X axis
Z axis
C axis
Hypothetical C axis
C axis
Tool
X axis
N01 N02
N11
N05
N04
N03
N10
N09 N08
N07
N06
Path after tool radius compensation Program path
: N01 G17 G90 G0 X40.0 C0 Z0; N02 G12.1; N03 G1 G42 X20.0 F2000; N04 C10.0; N05 G3 X10.0 C20.0 R10.0; N06 G1 X-20.0; N07 C-10.0; N08 G3 X-10.0 C-20.0 I10.0 J0; N09 G1 X20.0; N10 C0; N11 G40 X40.0; N12 G13.1; : : M30 ;
Setting of start position Polar coordinate interpolation mode: Start Actual machining start Shape program (Command the position with the orthogonal coordinate on X-C hypothetical axis plane.) Polar coordinate interpolation mode: Cancel
6. Interpolation Functions 6.11 Exponential Function Interpolation; G02.3, G03.3
78
6.11 Exponential Function Interpolation; G02.3, G03.3
Function and purpose
Exponential function interpolation changes the rotation axis into an exponential function shape in respect to the linear axis movement. At this time, the other axes carry out linear interpolation between the linear axis. This allows a machining of a taper groove with constant torsion angle (helix angle) (uniform helix machining of taper shape). This function can be used for slotting or grinding a tool for use in an end mill, etc. Uniform helix machining of taper shape
(Linear axis)
Torsion angle: J1=J2=J3
A axis (Rotation axis)
Z axis
X axis
J1
J2
J3
(G02.3/G03.3)
(G00)
(G01) (G01)
Relation of linear axis and rotation axis
A axis (Rotation axis)
"Relation of linear axis and rotation axis"
X=B (eCA-1) {B, C ... constant}
X axis (Linear axis)
6. Interpolation Functions 6.11 Exponential Function Interpolation; G02.3, G03.3
79
Command format
G02.3/G03.3 Xx1 Yy1 Zz1 Ii1 Jj1 Rr1 Ff1 Qq1 Kk1 ; G02.3 : Forward rotation interpolation (modal) G03.3 : Negative rotation interpolation (modal) X : X axis end point (Note 1) Y : Y axis end point (Note 1) Z : Z axis end point (Note 1) I : Angle i1 (Note 2) J : Angle j1 (Note 2) R : Constant value r1 (Note 3) F : Initial feedrate (Note 4) Q : Feedrate at end point (Note 5) K : Command will be ignored.
(Note 1) Designate the end point of the linear axis designated with parameter "#1514 expLinax" and the axis that carries out linear interpolation between that axis.
If the end point on of the rotation axis designated with parameter "#1515 expRotax" is designated, linear interpolation without exponential function interpolation will take place.
(Note 2) The command unit is as follows.
Setting unit #1003 = B #1003 = C #1003 = D #1003 = E (Unit = ) 0.001 0.0001 0.00001 0.000001
The command range is -89 to +89. A program error (P33) will occur if there is no address I or J command. A program error (P35) will occur if the address I or J command value is 0. (Note 3) The command unit is as follows.
Setting unit #1003 = B #1003 = C #1003 = D #1003 = E Unit Metric system 0.001 0.0001 0.00001 0.000001 mm Inch system 0.0001 0.00001 0.000001 0.0000001 inch
The command range is a positive value that does not include 0. A program error (P33) will occur if there is no address R command. A program error (P35) will occur if the address R command value is 0. (Note 4) The command unit and command range is the same as the normal F code. (Command
as a per minute feed.) Command the composite feedrate that includes the rotation axis. The normal F modal value will not change by the address F command. A program error (P33) will occur if there is no address F command. A program error (P35) will occur if the address F command value is 0.
6. Interpolation Functions 6.11 Exponential Function Interpolation; G02.3, G03.3
80
(Note 5) The command unit is as follows.
Setting unit #1003 = B #1003 = C #1003 = D #1003 = E Unit Metric system 0.001 0.0001 0.00001 0.000001 mm Inch system 0.0001 0.00001 0.000001 0.0000001 inch
The command unit and command range is the same as the normal F code. Command the composite feedrate that includes the rotation axis. The normal F modal value will not change by the address Q command. The axis will interpolate between the initial speed (F) and end speed (Q) in the CNC
according to the linear axis. If there is no address Q command, interpolation will take place with the same value as
the initial feedrate (address F command). (The start point and end point feedrates will be the same.)
A program error (P35) will occur if the address Q command value is 0.
Example of uniform helix machining of taper shape
i1
j1 x1 x0
r1
Z axis Z axis
A axis
Linear axis ... X axis, rotation axis ... A axis, linear axis (X axis) start point ... x0
X axis
Relational expression of exponential function
The exponential function relational expression of the linear axis (X) and rotation axis (A) in the G02.3/G03.3 command is defined in the following manner. X () = r1 (e/D- 1) / tan (i1) (linear axis (X) movement (1)) A () = (-1) 360 / (2) (rotation axis (A) movement) D = tan (j1) / tan (i1) = 0 during forward rotation (G02.3), and = 1 during reverse rotation (G03.3) is the rotation angle (radian) from the rotation axis' start point The rotation axis' rotation angle () is as follows according to expression (1). = D 1n { (X tan (i1) / r1) + 1 }
6. Interpolation Functions 6.11 Exponential Function Interpolation; G02.3, G03.3
81
Machining example
Example of uniform helix machining of taper shape
i1
j1 x1 x0 x2
p1
A axis
r1 r2
z1 z2 z0
X axis
Z axis
Z () = r1 (e/D-1) tan (p1) / tan (i1) + z0 ... (1) X () = r1 (e/D-1) / tan (i1) ... (2) A () = (-1) 360 / (2) D = tan (j1) / tan (i1) Z () Absolute value from zero point of Z axis (axis that linearly interpolates between interval
with linear axis (X axis)) X () Absolute value from X axis (linear axis) start point A () Absolute value from A axis (rotation axis) start point r1 Exponential function interpolation constant value (address R command) r2 Workpiece left edge radius x2 X axis (linear axis) position at workpiece left edge x1 X axis (linear axis) end point (address X command) x0 X axis (linear axis) start point (Set as "x0 x1" so that workpiece does not interfere with
tool) z1 End point of Z axis (axis that linearly interpolates between interval with linear axis (X
axis)) (address Z command) z0 Start point of Z axis (axis that linearly interpolates between interval with linear axis (X
axis)) i1 Taper gradient angle (address I command) p1 Slot base gradient angle j1 Torsion angle (helix angle) (address J command) Torsion direction (0: Forward rotation, 1: reverse direction) Workpiece rotation angle (radian) f1 Initial feedrate (address F command) q1 Feedrate at end point (address Q command) k1 Insignificant data (address K command) According to expressions (1) and (2): Z () = X () tan (p1) + z0 ... (3) According to expression (3), the slot base gradient angle (p1) is determined from the X axis and Z axis end point positions (x1, z1). The Z axis movement amount is determined by the slot base gradient angle (p1) and X axis position. In the above diagram, the exponential function interpolation's constant value (r1) is determined with the following expression using the workpiece left edge radius (r2), X axis start point (x0), X axis position at workpiece left edge (x2) and taper gradient angle (i1). r1 = r2 - { (x2 - x0) tan (i1) } ... (4)
6. Interpolation Functions 6.11 Exponential Function Interpolation; G02.3, G03.3
82
The taper gradient angle (i1) and torsion angle (j1) are each issued with the command address I and J. Note that if the shape is a reverse taper shape, the taper gradient angle (i1) is issued as a negative value. The torsion direction () is changed with the G code. (Forward rotation when G02.3 is commanded, negative rotation when G03.3 is commanded) The above settings allow uniform helix machining of a taper shape (or reverse taper shape).
Command and operation
G2.3(Equivalent to G3.3 if j1<0)
X movement direction > 0 X movement direction < 0
i1>0 i1<0 i1>0 i1<0
C om
m an
d
i1
X
Z End point
j1
r1
Start point
-
X
Z +
j1
i1
r1
End point
Start point
X
Z
j1
i1
r1
Start point
End point
End point
Start point
X
Z+ -
j1
i1
r1
O pe
ra tio
n
X
A
X
A
X
A
X
A
M ac
hi ni
ng
pr og
ra m
e xa
m pl
e N10 G28XYZC;
N20 G91G0 X100. Z100.;
N30 G2.3 X100. Z100.
I50. J80. R105. F500.;
N40 M30;
N10 G28XYZC;
N20 G91G0 X100. Z200.;
N30 G2.3 X100. Z-100.
I-50. J80. R105. F500.;
N40 M30;
N10 G28XYZC;
N20 G91G0 X-100. Z100.;
N30 G2.3 X-100. Z100.
I50. J80. R105. F500.;
N40 M30;
N10 G28XYZC;
N20 G91G0 X-100. Z200.;
N30 G2.3 X-100. Z-100.
I-50. J80. R105. F500.;
N40 M30;
G3.3(Equivalent to G2.3 if j1<0)
X movement direction > 0 X movement direction < 0
i1>0 i1<0 i1>0 i1<0
C om
m an
d
End point Start
point
X
Z
j1
i1
r1
End point
Start point
-
X
Z +
j1
r1
Start point
End point
X
Z
j1
i1
r1
End point
Start point
X
Z+ -
j1
i1
r1
O pe
ra tio
n
X A
X
A
X A
X
A
M ac
hi ni
ng
pr og
ra m
e xa
m pl
e N10 G28XYZC;
N20 G91G0 X100. Z100.;
N30 G3.3 X100. Z100.
I50. J80. R105. F500.;
N40 M30;
N10 G28XYZC;
N20 G91G0 X100. Z200.;
N30 G3.3 X100. Z-100.
I-50. J80. R105. F500.;
N40 M30;
N10 G28XYZC;
N20 G91G0 X-100. Z100.;
N30 G3.3 X-100. Z100.
I50. J80. R105. F500.;
N40 M30;
N10 G28XYZC;
N20 G91G0 X-100. Z200.;
N30 G3.3 X-100. Z-100.
I-50. J80. R105. F500.;
N40 M30;
6. Interpolation Functions 6.11 Exponential Function Interpolation; G02.3, G03.3
83
Precautions for programming
(1) When G02.3/G03.3 is commanded, interpolation takes place with the exponential function
relational expression using the start position of the linear axis and rotation axis as 0.
(2) Linear interpolation will take place in the following cases, even if in the G02.3/G03.3 mode. The feedrate for linear interpolation will be the F command in that block. (Note that the normal
F modal is not updated.) The linear axis designated with the parameter (#1514 expLinax) is not commanded, or the
movement amount for that axis is 0. The rotation axis designated with the parameter (#1515 expRotax) is commanded.
(3) A program error will occur if the following commands are issued in G02.3 or G03.3 mode. A program error will also occur if G02.3 or G03.3 command is issued in the following modes.: Tool length compensation
(A program error will occur only when the compensation starts at the same time as the movement by exponential function interpolation. The tool length compensation will operate normally if it has started before the G02.3/G03.3 mode starts.
Tool radius compensation High-speed high-accuracy control High-speed machining Scaling Tool length compensation along tool axis Figure rotation Coordinate rotation by program Coordinate rotation by parameter 3-dimentional coordinate conversion
(4) A program error (P481) will occur if commands are issued during the pole coordinate interpolation, cylindrical interpolation or milling interpolation modes.
(5) Program error (P612) will occur if commands are issued during the scaling or mirror image.
(6) Program error (P34) will occur if commands are issued during the high-speed high-accuracy control II.
(7) G02.3/G03.3 will function with asynchronous feed even during the synchronous feed mode.
(8) If the parameter "#1515 expRota" setting is the same axis name as the initial C axis, the axis selected with the C axis selection signal will interpolate as the rotation axis.
6. Interpolation Functions 6.12 Polar Coordinate Command ; G16/G15
84
6.12 Polar Coordinate Command ; G16/G15
Function and purpose
With this function, the end point coordinate value is commanded with the polar coordinate of the radius and angle.
Command format
G16 ; Polar coordinate command mode ON G15 ; Polar coordinate command mode OFF
Detailed description
(1) The polar coordinate command is applied in the interval from turning ON to OFF of the polar
coordinate command mode. G1x ; G16 ;
Plane selection for polar coordinate command (G17/G18/G19) Polar coordinate command mode ON
G9x G01 Xx1 Yy1 F2000 ; :
Polar coordinate command G9x : Center selection for polar coordinate command (G90/G91)
G90 The workpiece coordinate system zero point is the polar coordinate center.
G91 The present position is the polar coordinate center. x1 : 1st axis for the plane The radius commanded y1 : 2nd axis for the plane The angle commanded
For G90/G17(X-Y plane)
Commanded position
Present position y1
x1
X
Y
Plus
Minus
G15 ;
Polar coordinate command mode OFF
(2) The plane selection during the polar coordinate command mode is carried out with G17, G18 and G19.
(3) The polar coordinate command is a modal. The polar coordinate command mode when the power is turned ON is OFF (G15). Whether to initialize the modal at reset or not can be selected with the parameter (#1210 RstGmd/bit 11) setting.
(4) During polar coordinate command mode, command the radius with the 1st axis for the selected plane, and the angle with the 2nd axis. For example, when the X-Y plane is selected, command the radius with the address "X", and the angle with the address "Y".
(5) For the angle, the counterclockwise direction of the selected plane is positive and the clockwise direction is negative.
(6) The radius and angle can be commanded with both the absolute value and incremental value (G90, G91).
6. Interpolation Functions 6.12 Polar Coordinate Command ; G16/G15
85
(7) When the radius is commanded with the absolute value, command the distance from the zero
point in the workpiece coordinate system (note that the local coordinate system is applied when the local coordinate system is set).
(8) When the radius is commanded with the incremental value command, considering the end point of the previous block as the polar coordinate center, command the incremental value from that end point. The angle is commanded with the incremental value of the angle from the previous block.
(9) When the radius is commanded with the negative value, the same operation as the command that the radius command value is changed to the absolute value and 180 is added to the angle command value.
Command position
(1) When the zero point in the workpiece coordinate system is applied to the polar
coordinate center The zero point in the workpiece coordinate system is applied to the polar coordinate center by
commanding the radius with the absolute value. Note that the zero point in the local coordinate system is applied to the polar coordinate center if the local coordinate system (G52) is used.
When the angle is the absolute value command
When the angle is the incremental value command
Command position
Present position
Angle
Radius
Command position
Present position Angle
Radius
Command position when the zero point in the workpiece coordinate system is applied to the polar coordinate center
(2) When the present position is applied to the polar coordinate center The present position is applied to the polar coordinate center by commanding the radius with
the incremental value.
When the angle is the absolute value command
When the angle is the incremental value command
Command position
Present position
Angle
Radius
Command position
Present position
Angle Radius
Command position when the present position is applied to the polar coordinate center
6. Interpolation Functions 6.12 Polar Coordinate Command ; G16/G15
86
(3) When the radius command is omitted When the radius command is omitted, the zero point in the workpiece coordinate system is
applied to the polar coordinate center, and the distance between the polar coordinate center and current position is regarded as the radius. Note that the zero point in the local coordinate system is applied to the polar coordinate center if the local coordinate system (G52) is used.
When the angle is the absolute value command
When the angle is the incremental value command
Command position
Present position Angle
Present position Angle
Radius
Command position
Radius
Command position when the radius command is omitted
(4) When the angle command is omitted When the angle command is omitted, the angle of the present position in the workpiece
coordinate system is applied to the angle command. The zero point in the workpiece coordinate system is applied to the polar coordinate center by commanding the radius with the absolute value. Note that the zero point in the local coordinate system is applied to the polar coordinate center if the local coordinate system (G52) is used. If the radius is commanded with the incremental value, the present position is applied to the polar coordinate center.
When the radius is the absolute value command
When the radius is the incremental value command
Command position
Present position
Radius
Angle
Command position
Present position
Radius
Angle
Command position when the angle command is omitted
6. Interpolation Functions 6.12 Polar Coordinate Command ; G16/G15
87
Axis command not interpreted as polar coordinate command
The axis command with the following command is not interpreted as the polar coordinate command during the polar coordinate command mode. The movement command that has no axes commands for the 1st axis and 2nd axis in the selected plane mode is also not interpreted as polar coordinate command during the polar coordinate command mode.
Function G code Dwell G04 Program parameter input/compensation input
G10
Local coordinate system setting G52 Machine coordinate system setting G92 Machine coordinate system selection G53 Coordinate rotation by program G68 Scaling G51 G command mirror image G51.1 Reference position check G27 Reference position return G28 Start position return G29 2nd to 4th reference position return G30 Tool change position return 1 G30.1 Tool change position return 2 G30.2 Tool change position return 3 G30.3 Tool change position return 4 G30.4 Tool change position return 5 G30.5 Tool change position return 6 G30.6 Automatic tool length measurement G37 Skip G31 Multi-step skip function 1-1 G31.1 Multi-step skip function 1-2 G31.2 Multi-step skip function 1-3 G31.2 Linear angle command G01 Aa1
6. Interpolation Functions 6.12 Polar Coordinate Command ; G16/G15
88
Example of program
When the zero point in the workpiece coordinate system is the polar coordinate zero point
The polar coordinate zero point is the zero point in the workpiece coordinate system.
The plane is the X-Y plane.
200mm
X
Y
30
120
270
N4
N2
N3
(1) When the radius and angle are the absolute value command
N1 G17 G90 G16 ; Polar coordinate command, X-Y plane selection The polar coordinate zero point is the zero point
in the workpiece coordinate system. N2 G85 X200. Y30. Z-20. F200. ; Radius 200mm, angle 30 N3 Y120. ; Radius 200mm, angle 120 N4 Y270. ; Radius 200mm, angle 270 N5 G15 G80 ; Polar coordinate command cancel
(2) When the radius is the absolute value command and the angle is the incremental value
command N1 G17 G90 G16 ;
Polar coordinate command, X-Y plane selection The polar coordinate zero point is the zero point in the workpiece coordinate system.
N2 G85 X200. Y30. Z-20. F200. ; Radius 200mm, angle 30 N3 G91 Y90. ; Radius 200mm, angle + 90 N4 Y150. ; Radius 200mm, angle +150 N5 G15 G80 ; Polar coordinate command cancel
6. Interpolation Functions 6.12 Polar Coordinate Command ; G16/G15
89
Precautions
(1) If the following commands are carried out during the polar coordinate command mode, or if the
polar coordinate command is carried out during the following command mode, a program error (P34) will occur.
Function G code High-speed high-accuracy control I
G05.1 Q1
High-speed high-accuracy control II
G05 P10000
Spline G05.1 Q2
(2) When the mirror image (G code/parameter/external signal) is canceled anywhere except at the mirror image center during the polar coordinate command mode, the absolute value and machine position will deviate. The mirror center is set with an absolute value and so if another mirror center is assigned in this state, the center may be set at an unforeseen position. Cancel the mirror image above the mirror center or, after cancellation, assign a positioning command using absolute value command that the radius and angle of the polar coordinate command are designated.
6. Interpolation Functions 6.13 Spiral/Conical Interpolation
90
6.13 Spiral/Conical Interpolation; G02.0/G03.1(Type1), G02/G03(Type2)
Function and purpose
This function carries out interpolation that smoothly joins the start and end points in a spiral. This interpolation is carried out for arc commands in which the start point and end point are not on the same circumference. There are two types of command formats, and they can be switched with the parameters.
Command format
G17 G02.1/G03.1 X__ Y__ I__ J__ P__ F__ ; (Type 1: #1272 ex08/bit2=0) G17 G02/G03 X__ Y__ I__ J__ Q__/L__/K__ F__ ; (Type 2: #1272 ex08/bit2=1) G17 : Rotation plane G02.1/G03.1 (Type 1) : Arc rotation direction (Type 1) G02/G03 (Type 2) : Arc rotation direction (Type 2) X Y : End point coordinates (Conical Interpolation when the axis other
than rotation plane axes is included.) I J : Arc center P : Number of pitches (number of rotations) (Type 1) Q/L/K (Type 2) : Incremental/decremental amount of radius /Number of
pitches(Number of spirals)/ Increment/decrement amount of height (Type 2)
F : Feedrate (tool path direction speed) Circular interpolation operations are carried out at the f1 speed by the commands above. The path is toward the end point, following a spiral arc path centered at the position designated by distance i (X axis direction) and distance j (Y axis direction) in respect to the start point. (1) The arc plane is designated by G17, G18 and G19. (Common for type 1 and 2) G17 XY plane G18 ZX plane G19 YZ plane (2) The arc rotation direction is designated by G02.1(G02) or G03.1(G03). (Common for type 1
and 2) G02.1(G02) Clockwise (CW) G03.1(G03) Counterclockwise (CCW) (3) The end point coordinates are designated with XYZ. (Common for type 1 and 2)
(Decimal point command is possible. Use mm (or inch) as the unit). When designation of arc plane axes is omitted, the coordinates of the start point are inherited. If the axis other than arc plane axes is designated, conical interpolation is applied.
(4) The arc center is designated with IJK. (Common for type 1 and 2)
(Decimal point command is possible. Use mm (or inch) as the unit.) I : Incremental designation in the X axis direction from the start point J : Incremental designation in the Y axis direction from the start point K : Incremental designation in the Z axis direction from the start point When either 1 axis of arc plane is omitted, the coordinates of the start point are inherited.
6. Interpolation Functions 6.13 Spiral/Conical Interpolation
91
(5) P designates the number of pitches (number of spirals). (Type 1)
The number of pitches and rotations is as shown below. Number of pitches
(0 to 99) Number of rotations
P0 Less than 1 rotation (Can be omitted.)
P1 1 or more rotation, less than 2 rotations
Pn n or more rotation, less than (n+1) rotations
(6) Q designates the increment/decrement amount of radius per spiral rotation. (Type 2)
The number of spiral rotations when the radius increment/decrement amount is specified can be calculated with the following expression. Number of rotations= | (arc end point radius - arc start point radius)) | / | increment/decrement amount of radius |
(7) L designates the number of pitches (number of spirals). (Type 2) (range: 0 to 99)
When omitted, L1 is designated. The number of pitches and rotations is as shown below.
Number of pitches (0 to 99) Number of rotations
L1 Less than 1 rotation L2 1 or more rotation,
less than 2 rotations Ln (n-1) or more rotations,
less than n rotations Q takes precedence over L if both Q and L have been designated at the same time. (8) K designates the increment/decrement amount of height per spiral rotation in conical
interpolation. (Type 2) The increment/decrement amount of height is designated with I/J/K for the axis other than arc plane. The relation between increment/decrement amount of height and the rotation plane is as shown below.
Rotation plane Increment/decrement amount of height
G18 J command G19 I command Other than G18/G19 K command
The number of rotations when the designation of increment/decrement amount of height is specified can be calculated with the following expression. Number of rotations = Height / | Increment/decrement amount of height | If Q, K and L have been designated at the same time, the order of precedence is Q>K>L. Decimal point command is possible in the range of the increment/decrement amount of radius and height. Use mm (or inch) as the unit.
6. Interpolation Functions 6.13 Spiral/Conical Interpolation
92
(9) In the following cases, a program error will occur.
(a) Items common for type 1 and 2
Settings Command range (Unit) Error
End point coordinate
Range of coordinate command (mm/inch) (Decimal point command is possible.)
If a value exceeding the command range is issued, program error (P35) will occur.
If an axis other than one which can be controlled with the command system is commanded, a program error (P33) will occur.
Arc center Range of coordinate command (mm/inch) (Decimal point command is possible.)
If a value exceeding the command range is issued, a program error (P35) will occur.
If an axis other than one which can be controlled with the command system is commanded, a program error (P33) will occur.
If rotation plane axis is not designated completely, a program error (P33) will occur.
Number of pitches
0 to 99 If a value exceeding the command range is issued, a program error (P35) will occur.
Feedrate Range of speed command (mm/min,inch/mi n) (Decimal point command is possible.)
If a value exceeding the command range is issued, a program error (P35) will occur.
(b) Items for type 2 only
Settings Command range (Unit) Error
Increment/ decrement amount of radius
Range of coordinate command (mm/inch) (Decimal point command is possible.)
If the sign of designated increment/decrement amount is opposite from that of the difference between the start point radius and the end point radius, a program error (P33) will occur.
If the end point position obtained from the speed and increment/decrement amount is larger than "SpiralEndErr (#8075)", a program error (P70) will occur.
Increment/ decrement amount of height
Range of coordinate command (mm/inch) (Decimal point command is possible.)
If the sign of designated increment/decrement amount is opposite from that of the movement direction of height, a program error (P33) will occur.
If the end point position obtained from the speed and increment/decrement amount is larger than "SpiralEndErr (#8075)", a program error (P70) will occur.
G02.1/0G3.1 Program error (P34) will occur if G02.1/G03.1 are used during type 2.
6. Interpolation Functions 6.13 Spiral/Conical Interpolation
93
Detailed description
(1) The arc rotation direction G02.1 is the same as G02, and G03.1 is the same as G03. (2) There are no R-designated arcs in spiral interpolation. (3) Conical cutting, tapered thread-cutting and other such machining operations can be
conducted by changing the start point and end point radius and commanding the linear axis simultaneously.
(4) Normally the spiral interpolation is automatically enabled with the arc commands (G02, G03) when the difference between the start point radius and the end point radius is less than the parameter setting value.
(5) The axis combination that can be simultaneously commanded depends on the specifications. The combination within that range is random.
(6) The feedrate is the constant tangential speed. (7) Simultaneous control by combining with tool radius compensation (G41, G42) is not possible. (8) The arc plane always follows G17, G18 and G19. The plane arc control is carried out by G17,
G18 and G19, even if designated by two addresses that do not match the plane. (9) Conical interpolation
When an axis designation other than the spiral interpolation plane is simultaneously designated, other axes are also interpolated in synchronization with the spiral interpolation.
6. Interpolation Functions 6.13 Spiral/Conical Interpolation
94
Example of program
(Example 1)
G91 G17 G01 X60. F500 ; Y140. ; G02.1 X60. Y0 I100. P1 F300 ; G01 X120 ; G90 G17 G01 X60. F500 ; Y140. ; G02.1 X120. Y140. I100. P1 F300 ; G01 X0 ;
Start point
End point
140.
60. 120. 160.
Y
W X
X60.
I100.
Center
(Example 2)
G91 G17 G01 X60. F500 ; Y140. ; G02.1 X60.0 Z100.0 I100. P1 F300 ; G01 X120 ;
Because this is the G17 plane, arc control is not carried out by X-Z.
Arc control is carried out by X-Y. (Example 3) In this example, the interpolation is truncated cone interpolation.
G17 G91 G02.1 X100. Z150. I150. P3 F500 ;
XY plane
XZ plane
X
X
X
Z Z
Y
W
W
Relation with other functions
(1) Items common for type 1 and 2
The start point and end point are not on the same arc, so normal line control is not applied correctly.
If there is no center command when geometric is valid, a program error (P33) will occur. (2) Items for type 2 only
If the spiral interpolation command is issued during the mirror image, a program error (P34) will occur.
If the spiral interpolation command is issued during the scaling, a program error (P34) will occur.
If the spiral interpolation command is issued during the corner chamfering/corner rounding command, a program error (P33) will occur.
6. Interpolation Functions 6.14 3-dimensional Circular Interpolation; G02.4, G03.4
95
6.14 3-dimensional Circular Interpolation; G02.4, G03.4
Function and purpose
To issue a circular command over a 3-dimensional space, an arbitrary point (intermediate point) must be designated on the arc in addition to the start point (current position) and end point. By using the 3-dimensional circular interpolation command, an arc shape determined by the three points (start point, intermediate point, end point) designated on the 3-dimensional space can be machined. An option is required to validate this function. If the option is not provided and the 3-dimensional circular interpolation command is issued, a program error (P39) will occur. 3-dimensional circular interpolation command
Start point (Current position)
End point
Intermediate point Z
X
Y
6. Interpolation Functions 6.14 3-dimensional Circular Interpolation; G02.4, G03.4
96
Command format
G02.4(G03.4) Xx1 Yy1 Zz1 1 ; Intermediate point designation (1st block)
Xx2 Yy2 Zz2 2 ; End point designation (2nd block) G02.4(G03.4) x1, y1, z1 x2, y2, z2
: 3-dimensional circular interpolation command (Cannot designate the rotation direction) : Intermediate point coordinates : End point coordinates : Arbitrary axis other than axis used as the reference in 3-dimensional circular interpolation (May be omitted)
The G02.4 and G03.4. operations are the same. (The rotation direction cannot be designated.) The axes used as the reference in 3-dimensional circular interpolation are the three basic axes
set with the parameters. The X, Y, Z address in the block may be omitted. The intermediate point coordinates omitted in
the 1st block become the start point coordinates, and the end point coordinates omitted in the 2nd block become the intermediate point coordinates.
When using the 3-dimensional circular interpolation command, an arbitrary axis can be commanded in addition to the orthogonal coordinate system (X, Y, Z) used as the reference. The arbitrary axis designated in the intermediate point designating block (1st block) will interpolate to the command point when moving from the start point to intermediate point. The arbitrary axis designated in the end point command block (2nd block) will interpolate to the command point when moving from the intermediate point to the end point. The number of arbitrary axes that can be commanded differs according to the number of simultaneous contour control axes. The total of the basic three axes used as the reference of the 3-dimensional circular interpolation and the arbitrary axes commanded simultaneously must be less than the number of simultaneous contour control axes.
6. Interpolation Functions 6.14 3-dimensional Circular Interpolation; G02.4, G03.4
97
Designating intermediate point and end point
When using the 3-dimensional circular interpolation command, an arc that exists over the 3-dimensional space can be determined by designating the intermediate point and end point in addition to the start point (current position). (Refer to following figure) So according to the command format, it is necessary to designate an intermediate point in the 1st block and an end point in the 2nd block. If only one block is designated, a program error (P74) will occur. Liner interpolation is applied when the end point match the start point in the 3-dimensional circular interpolation command. (Refer to "When liner interpolation is applied") Thus, a true circle (360-degree rotation) cannot be designated in the 3-dimensional circular interpolation. In addition, designate that an intermediate point is located in the middle of a start point and an end point. If the intermediate point is near the start point or the end point, arc accuracy may fall.
Designation of arc in 3-dimensional space
Start point (Current position)
End point
Intermediate point Plane including start point, intermediate point and end point
Center
As shown in the above figure, when three points (start point, intermediate point, end point) are specified on 3-dimensional space, arc center coordinates can be obtained. An arc center cannot be obtained if only two points are specified, and a liner interpolation is applied. If the intermediate point is near the start point or the end point, an error may occur when calculating arc center.
6. Interpolation Functions 6.14 3-dimensional Circular Interpolation; G02.4, G03.4
98
When liner interpolation is applied
In the following case, liner interpolation but 3-dimensional circular interpolation is applied. (1) When the start point, intermediate point, and end point are on the same line (refer to the
following figure) (If the end point exists between the start point and intermediate point, axes move in the order of start point, intermediate point, and end point.)
(2) When two points match in start point, a intermediate point, end point (Liner interpolation is applied even if the end point matches the start point to command true circle. When the start point matches the end point, axes move in order of the start point, an intermediate point, and an end point.)
When liner interpolation is applied
Start point (Current position)
Intermediate point (Block1)
End point (Block2)
When the three points are on the same line, liner interpolation is applied.
Start point (Current position)
End point (Block2)
Intermediate point (Block1)
Even if the end point exists between the start point and intermediate point, move in the order of start point, intermediate point, and end point.
Modal command
The 3-dimensional circular interpolation command G02.4 (G03.4) is a modal command belonging to 01 group. The command will remain valid until the other G command in the 01 group is issued. When the 3-dimensional circular interpolation command is carried out continuously, the end point of present command is the start point of next command.
Precautions
(1) If single block is valid and this command is operated, a block stop is carried out at an
intermediate point and the end point. (2) The speed command during 3-dimensional circular interpolation is the tangential speed on
arc. (3) When 3-dimensional circular interpolation is commanded while incremental command is valid,
the relative position of the intermediate point in respect to the start point is designated in the intermediate point designation block, and the relative position of the end point in respect to the intermediate point is designated in the intermediate point designation block.
(4) The path of 3-dimentional circular interpolation during graphic check is drawn as linear at each range from start point to intermediate point and from intermediate point to end point.
6. Interpolation Functions 6.14 3-dimensional Circular Interpolation; G02.4, G03.4
99
Relation with other functions
(1) Commands that cannot be used
(a) G code command which leads to a program error during 3-dimensional circular interpolation modal
G code Function name Program error G05 Pn High-speed machining mode P34 G05 P10000 High-speed high-accuracy control II P34 G05.1 Q0/G05.1 Q1 High-speed high-accuracy control I P34 G07.1 Cylindrical interpolation P485 G12/G13 Circular cutting CW/CCW P75 G12.1 Polar coordinate interpolation P485 G16 Polar coordinate command P75 G41/G42 Tool radius compensation P75 G41/G42 3-dimentional tool radius compensation P75 G41.1/G42.1 Normal line control P75 G43/G44 Tool length compensation P75 G51 Scaling P75 G51.1 Mirror image P75 G66/G66.1 User macro P75 G67 User macro P276 G68 Programmable coordinate rotation P75 G68 3-dimensional coordinate conversion P921 G73/G74/G76/G81/G82/G83 / G84/G85/G86/G87/G88/G89
Fixed cycle P75
(b) G code command which leads to a program error when 3-dimensional circular interpolation
is commanded G code modal Function name Program error
G05 Pn High-speed machining mode P34 G05 P10000 High-speed high-accuracy control II P34 G05.1 Q1 High-speed high-accuracy control I P34 G07.1 Cylindrical interpolation P481 G12.1 Polar coordinate interpolation P481 G16 Polar coordinate command P75 G41/G42 Tool radius compensation P75 G41/G42 3-dimentional tool radius compensation P75 G41.1/G42.1 Normal line control P75 G43/G44 Tool length compensation P75 G51 Scaling P75 G51.1 Mirror image P75 G66/G66.1 User macro P75 G68 Programmable coordinate rotation P75 G68 3-dimensional coordinate conversion P922
(2) Functions that cannot be used If following functions are used in 3-dimensional circular interpolation, alarm will occur.
Chopping Mirror image by parameter setting Macro interruption Mirror image by external input Corner chamfering / corner R
Restrictions may be added for other functions. Refer to explanation of each function.
6. Interpolation Functions 6.15 NURBS Interpolation
100
6.15 NURBS Interpolation
Function and purpose
This function realizes NURBS (Non-Uniform Rational B-Spline) curve machining by simply commanding NURBS curve parameters (stage, weight, knot, control point), which is used for the curved surface/line machining, without replacing the path with minute line segments. This function operates only in the high-speed high-accuracy control II mode, so the high-speed high-accuracy control II option is required. During NURBS interpolation, interpolation takes place at the commanded speed. However, if the curvature is large, the speed is clamped so that the machine's tolerable acceleration rate is not exceeded.
Command format
G05 P10000 ; G06.2 Pp Kk1 Xx1 Yy1 Zz1 Rr1 Ff;
High-speed high-accuracy control II mode ON NURBS interpolation ON
Kk2 Xx2 Yy2 Zz2 Rr2; Kk3 Xx3 Yy3 Zz3 Rr3; Kk4 Xx4 Yy4 Zz4 Rr4; - - - - - - - - - - - - - - - - - - - - Kkn Xxn Yyn Zzn Rrn; Kkn+1; Kkn+2; Kkn+3;
Kkn+4; NURBS interpolation OFF
G05 P0; High-speed high-accuracy control II mode OFF
G05 P10000 G06.2 Qq Pp
: High-speed high-accuracy control II mode : NURBS interpolation : Set the stage of the NURBS curve. Designate in the same block as G06.2 command. The NURBS curve of the stage p will be (p-1)th curve. When omitted, Pp means the same as P4. (Example) P2: Primary curve (liner)
Kkn : Knot Set the knot for each NURBS interpolation block. Set the same value for the knot in the 1st block to the stage p block. NURBS interpolation is terminated if there is a block exclusively with knot.
Xxn Yyn Zzn : Control point coordinate value Designate the same coordinate value for the 1st block control point as that designated right before NURBS interpolation.
Rrn : Control point weight Set the weight of each NURBS interpolation control point.
Ff : Interpolation speed (May be omitted)
6. Interpolation Functions 6.15 NURBS Interpolation
101
Detailed description
(1) Designate the stage P for the 1st block of NURBS interpolation. (2) Designate the same coordinate value for the 1st block control point of NURBS interpolation as
that designated right before NURBS interpolation. (3) Designate all axes to be used in the subsequent NURBS interpolation blocks for 1st block of
NURBS interpolation (4) Set the same value for knot K from the 1st block of NURBS interpolation to setting value block
of the stage P. (5) Command knot K exclusive block of the same number as the setting value of the stage P for
terminating NURBS interpolation. At this time, set the same value for knot K setting.
(x3,y3,z3) (x4,y4,z4)
(xn,yn,zn)
Passes through control point
NURBS interpolation curve
(x1,y1,z1)
(x2,y2,z2)
(Note) If an exclusive knot is commanded after NURBS interpolation immediately, NURBS
interpolation mode is active again. An exclusive knot that is commanded after NURBS interpolation immediately is the same meaning as following command. G06.2 Pp Km Xxn Yyn Zzn R1.0
6. Interpolation Functions 6.15 NURBS Interpolation
102
Example of program
The example of program that has 4 stages (cubic curve) and 11 control points is shown below.
Control point P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
Knot 0.0 0.0 0.0 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 8.0 8.0 8.0
: : G05 P10000; G90 G01 X0. Y0. Z0. F300; G06.2 P4 X0. Y0. R1. K0; P0 X1.0 Y2.0 R1. K0; P1 X2.5 Y3.5 R1. K0; P2 X4.4 Y4.0 R1. K0; P3 X6.0 Y0.5 R1. K1; P4 X8.0 Y0.0 R1. K2; P5 X9.5 Y0.5 R1. K3; P6 X11.0 Y2.0 R1. K4; P7 X10.5 Y4.5 R1. K5; P8 X8.0 Y6.5 R1. K6; P9 X9.5 Y8.0 R1. K7; P10 K8; K8; K8; K8; G05 P0; : :
0
1
2
3
4
5
6
7
8
9
0 2 4 6 8 10 12 P0(0.0,0.0)
P1(1.0,2.0)
P2(2.5,3.5) P3(4.4,4.0)
P4(6.0,0.5) P5(8.0,0.0)
P6(9.5,0.5)
P9(8.0,6.5)
P10(9.5,8.0)
X
Y
P7(11.0,2.0)
P8(10.5,4.5)
Passes through control point
NURBS interpolation curve
6. Interpolation Functions 6.15 NURBS Interpolation
103
Relation with other functions
(1) G code/Feed/Miscellaneous functions
All the G code, feedrate and MSTB code cannot be set during NURBS interpolation. However, when the fixed cycle G code is commanded in the same block where G06.2 is commanded, the fixed cycle G code is ignored. If a command other than the axis address designated in the 1st block of NURBS interpolation, R and K is commanded, a program error will occur.
(2) Data format
(a) Optional block skip "/" Cannot be set in the NURBS interpolation 2nd block or after.
(b) Control IN "("and Control OUT ")" Cannot be set in the NURBS interpolation 2nd block or after.
(c) Local variables and common variables Can be referred but cannot be set in the NURBS interpolation. Setting the variables causes a program error (P29).
(d) System variables Cannot be referred nor set in the NURBS interpolation; a program error (P29) will occur.
(3) Interruption/restart
The validity of program interruption/restart is shown below.
Type During NURBS interpolation
Single block Valid (Note 1) Feed hold Valid Reset Valid (Note 2) Program stop Invalid Optional stop Invalid Manual interruption Invalid (Note 3) MDI interruption Invalid Restart search Invalid Macro interruption Invalid (Note 4) PLC interruption Invalid (Note 5)
(Note 1) A single block stop is carried out at only the last control points. The single block stop is not applied during NURBS interpolation.
(Note 2) NURBS interpolation mode is canceled with Reset (Reset1/Reset2/Reset&Rewind). (Note 3) The operation differs according to the manual absolute signal status. When the manual absolute signal OFF
NURBS interpolation is carried out in the state where axis-coordinate system is shifted by the manual absolute movement amount.
When the manual absolute signal ON At automatic start after manual interruption, a program error (P554) will occur after moving the by the remaining distance. Note that the operation can run continually if returning the axis to the original position after manual interruption.
(Note 4) "Macro interrupt" signal (UIT) is ignored. (Note 5) "PLC interrupt" signal (PIT) is ignored.
(4) Graphic check NURBS interpolation cannot be applied during graphic check (continuous/step check). Linear interpolation that connects the control points is applied during graphic check.
6. Interpolation Functions 6.15 NURBS Interpolation
104
Precautions
(1) Target axes for NURBS interpolation are 3 basic axes. (2) Command the control point for all the axes for which NURBS interpolation is carried out in the
1st block (G06.2 block). A program error (P32) will occur if an axis which was not commanded in the 1st block is commanded in the 2nd block or after.
(3) The first control point (G06.2 block coordinate value) should be commanded as the start point
of the NURBS curve. Thus, command so that it matches the end point of the previous block. A program error will occur if the points do not match.
(4) The command range of the weight is 0.0001 to 99.9999. Even if the decimal point is omitted,
the value will be handled as the one with a decimal point. If "1" is commanded, the result will be the same as "1.0". If more than 5 digits are commanded
after the decimal point, a program error (P33) will occur. (5) The knot command cannot be omitted, and must be commanded in each block. A program
error (P33) will occur if omitted. (6) As with knot, in the same manner as weight, up to 4 digits can be commanded after the
decimal point. Even if the decimal point is omitted, the value will be handled as the one with a decimal point.
If "1" is commanded, the result will be the same as "1.0". If more than 5 digits are commanded after the decimal point, a program error (P33) will occur.
(7) As with knot, command the same or greater value than the previous block. If a smaller value
than previous block is set, a program error (P551) will occur. (8) NURBS interpolation cannot be applied during graphic check (continuous/step check). Linear interpolation that connects the control points is applied during graphic check. (9) NURBS interpolation mode is canceled with Reset(Reset1/Reset2/Reset&Rewind). (10) NURBS interpolation can be commanded in only the following modes. If NURBS interpolation
is commanded in other than the following modes, the program error (P29) will occur.
Type Mode in which NURBS interpolation can be commanded
G group 5 Asynchronous feed (G94) G group 7 Tool radius compensation cancel (G40) G group 8 Tool length compensation +/-(G43/G44)
Tool length compensation cancel (G49) G group 9 Fixed cycle cancel (G80) G group 11 Scaling cancel (G50) G group 13 High-accuracy control 1 ON (G61.1)
Cutting mode (G64) G group 14 User macro modal call cancel (G67) G group 15 Normal line control cancel (G40.1) G group 16 Programmable coordinate rotation mode OFF
/3-dimensional coordinate conversion mode OFF (G69)
G group 17 Constant surface speed control OFF (G97) G group 18 Polar coordinate command OFF (G15) G group 19 G command mirror image cancel (G50.1) G group 21 Polar coordinate interpolation cancel (G13.1)
- Not during the parameter coordinate rotation - Not during the mirror image by parameter setting - Not during the mirror image by external input
6. Interpolation Functions 6.16 Hypothetical Axis Interpolation; G07
105
6.16 Hypothetical Axis Interpolation; G07
Function and purpose
Take one of the axes of the helical interpolation or spiral interpolation, including a linear axis, as a hypothetical axis (axis with no actual movement) and perform pulse distribution. With this procedure, an interpolation equivalent to the helical interpolation or spiral interpolation looked from the side (hypothetical axis), or SIN or COS interpolation, will be possible. Normal helical interpolation
0.
5.
10.
-5.
-10.
20. 40. -10.0.
X axis
Y axisZ axis
X axis
Helical interpolation in the hypothetical axis interpolation mode
0.
5.
10.
-5.
-10.
20. 40. -10.0.
X axis Hypothetical axis
(Y axis in this example) does not move actually.
X axis
Y axisZ axis
To perform the SIN interpolation on Z-X plane, execute the helical interpolation (Y-X plane: G17 G02) with Y axis which is designated as the hypothetical axis.
Command format
G07 0 ; Hypothetical axis interpolation mode ON
G07 1 ; Hypothetical axis interpolation mode cancel
: Designate the axis for which hypothetical axis interpolation is performed.
6. Interpolation Functions 6.16 Hypothetical Axis Interpolation; G07
106
Detailed description
(1) During G070 to G071, axis will be the hypothetical axis. (2) Any axis among the NC axes can be designated as the hypothetical axis. (3) Multiple axes can be designated as the hypothetical axis. (4) The number other than 0 (hypothetical axis interpolation mode ON) or 1 (cancel) is
commanded, it will be handled as 1 (cancel). However, when only the axis name is designated with no number, it will be handled as 0 (mode ON).
Example of program
N01 G07 Y0 ; Y axis is handled as hypothetical axis. N02 G17 G02 X0. Y0. Z40. I0. J-10. P2 F50; SIN interpolation is executed on X-Z plane. N03 G07 Y1 ; Y axis is returned to the actual axis.
0.
5.
10.
-5.
-10.
20. 40.
X axis
Z axis
Precautions
(1) Interpolation functions that are used for hypothetical axis interpolation are helical interpolation
and spiral interpolation. (2) Cancel the hypothetical axis interpolation before the high-speed high-accuracy control 2
(G05P10000) is commanded. (3) The hypothetical axis interpolation is valid only in the automatic operation. It is invalid in the
manual operation mode. Handle interruption is valid even for the hypothetical axis, that is, axis will move by the interrupted amount.
(4) Movement command for the hypothetical axis will be ignored. The feedrate will be distributed in the same manner as actual axis.
(5) The protection functions such as interlock or stored stroke limit are valid for the hypothetical axis.
(6) Even when the hypothetical axis is applied for the hypothetical axis again, no error will occur and the hypothetical mode will be continued.
(7) When the hypothetical axis cancel is commanded to the actual axis, no error will occur and the axis is actual as it is.
(8) The hypothetical axis will be canceled by carrying out the reset 2 or reset & rewind.
7. Feed Functions 7.1 Rapid Traverse Rate
107
7. Feed Functions 7.1 Rapid Traverse Rate
Function and purpose
The rapid traverse rate can be set independently with parameters for each axis. The available speed ranges are from 1 mm/min to 10000000 mm/min. The upper limit is subject to the restrictions imposed by the machine specifications. Refer to the specifications manual of the machine for the rapid traverse rate settings. The feedrate is valid for the G00, G27, G28, G29, G30 and G60 commands. Two paths are available for positioning: the interpolation type where the area from the start point to the end point is linearly interpolated or the non-interpolation type where movement proceeds at the maximum speed of each axis. The type is selected with parameter "#1086 G0Intp". The positioning time is the same for each type. If the high-accuracy control mode's rapid traverse rate is set, the axis will move at that feed rate during high-accuracy control, high-speed high-accuracy control I/II, high-accuracy spline control or SSS control. If the value set for the high-accuracy control mode rapid traverse rate is 0, the axis will move at
the rapid traverse rate. The high-accuracy control mode rapid traverse rate can be set independently for each axis. The high-accuracy control mode rapid traverse rate is effective for the G00, G27, G28, G29, G30
and G60 commands. Override can be applied on the high-accuracy control mode rapid traverse rate using the external
signal supplied.
7.2 Cutting Feedrate
Function and purpose
The cutting feedrate is assigned with address F and 8 digits (F8-digit direct designation). The F8 digits are assigned with a decimal point for a 5-digit integer and a 3-digit fraction. The cutting feedrate is valid for the G01, G02, G03, G02.1 and G03.1 commands. If the high-accuracy control mode's cutting clamp speed is set, the cutting feed rate will be clamped at that feedrate during high-accuracy control, high-speed high-accuracy control, high-accuracy spline control or SSS control. If the value set for the high-accuracy control mode cutting clamp speed is 0, the axis will be
clamped at the cutting feed clamp speed. The cutting feedrate is clamped with high-accuracy control mode cutting clamp speed in the
parameter. (Example)
Feedrate G1 X100. Y100. F200 ; G1 X100. Y100. F123.4 ; G1 X100. Y100. F56.789 ;
200.0mm/min 123.4mm/min 56.789mm/min
F200 or F200.000 gives the same rate.
Speed range that can be commanded (when input setting unit is 1m)
Command mode Feed rate command range Remarks
mm/min 0.001 to 10000000 mm/min
inch/min 0.0001 to 1000000 inch/min
/min 0.001 to 10000000 /min
(Note 1) A program error (P62) results when there is no F command in the first cutting command (G01, G02, G03) after the power has been switched on.
7. Feed Functions 7.3 F1-digit Feed
108
7.3 F1-digit Feed
Function and purpose
By setting the F1-digit feed parameter, the feedrate which has been set to correspond to the 1-digit number following the F address serves as the command value. When F0 is assigned, the rapid traverse rate is established and the speed is the same as for G00. (G modal does not change, but the acceleration/deceleration method is followed by the settings for the rapid traverse.) When F1 to F5 is assigned, the feedrate set to correspond to the command serves as the command value. The command greater than F6 is considered to be the normal cutting feedrate. The F1-digit command is valid in a G01, G02, G03, G02.1 or G03.1 modal. The F1-digit command can also be used for fixed cycle.
Detailed description
The override function of the feedrate which is set in accordance to the F1-digit is performed by using the 1st manual handle. (Feedrate cannot be changed with the 2nd or 3rd handle.) The amount by which the feedrate can be increased or reduced is determined by the following formula.
F = FM
K (number of manual handle pulse generator pulses)
Where "+" means increase, and "-" means reduction. K : Operation constant (This is the number of FM divisions, and is the calculated constant of
the increment/decrement speed per scale of the manual handle pulse generator.) This is set with the base specification parameter "#1507 F1_K".
FM : This is the clamp speed of F1 to F5 This is set with the base specification parameter "#1506 F1_FM".
Set the corresponding speed of F1 to F5 with the base specification parameters "#1185 spd_F1" to "#1189 spd_F5" respectively. The increase/reduction range is from "0" to the set value of the parameter "#1506 F1_FM". Operation alarm (104) will occur when the feedrate is 0. (1) Operation method
(a) Make the F1-digit command valid. (Set the base specification parameter "#1079 F1digt" to 1.)
(b) Set FM and K. Setting range K : 1 to 32767 (Base specification parameter "#1507 F1_K") FM : 0 to Fmax (mm/min) (Base specification parameter "#1506 F1_FM")
(c) Set F1 to F5. (Base specification parameter "1185 spd_F1" to "#1189 spd_F5")
(2) Special notes (a) Use of both the F1-digit command and normal cutting feedrate command is possible when
the F1-digit is valid. (Example 1)
F0 Rapid traverse rate F1 to F5 F1-digit F6 or more Normal cutting feedrate command
(b) F1 to F5 are invalid in the G00 mode and the rapid traverse rate is established instead.
(c) If F0 is used in the G02 or G03 mode, a program error (P121) will result.
7. Feed Functions 7.3 F1-digit Feed
109
(d) When F1. to F5. (with decimal point) are assigned, the 1mm/min to 5mm/min direct commands are established instead of the F1-digit command.
(e) When the commands are used with the millimeter or degree units, the feedrate set to correspond to F1 to F5 serves as the assigned speed mm ()/min.
(f) When the commands are used with inch units, one-tenth of the feedrate set correspond to F1 to F5 serves at the assigned speed inch/min.
(g) The number of manual handle pulses is 1 pulse per scale unit regardless of the scaling factor.
(h) During a F1-digit command, the F1-digit number and F1-digit command signal are output as the PLC signals.
(i) Even if the F1-digit feed commanded during the feed per rotation (G95) is considered as a regular F command (direct value command).
(3) F1-digit and G commands (a) 01 group G command in same block as F1-digit commands
Executed feedrate Modal display rate G modal G0F0 F0G0 Rapid traverse rate 0 G0
G0F1 F1G0 Rapid traverse rate 1 G0
G1F0 F0G1 Rapid traverse rate 0 G1
G1F1 F1G1 F1 contents 1 G1
(b) F1-digit and unmodal commands may be assigned in the same block. In this case, the unmodal command is executed and at the same time the F1-digit modal command is updated.
(4) Example of arithmetic constant K setting
When the handle scale unit is to be made 10mm/min. FM is made 15000 mm/min:
F = 10 = 15000 K
Therefore, K is 1500. The feed rate is made F (1 to 5) 10 (mm/min) by rotating the handle through one scale unit.
(5) Valid manual handle conditions The manual handle is valid during cutting feed (F1 to F5), automatic start, F1-digit valid and manual handle valid switch ON at the machine side as well as in the MDI mode, tape mode or memory mode provided that the machine lock (machine lock rapid traverse) or dry run status has not been established. The function cannot be used when the handle specifications have not been provided.
7. Feed Functions 7.4 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/Synchronous Feed)
110
7.4 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/Synchronous Feed); G94, G95
Function and purpose
Using the G95 command, it is possible to assign the feed amount per rotation with an F code. When this command is used, the rotary encoder must be attached to the spindle. When the G94 command is issued the per-minute feed rate will return to the designated per-minute feed (asynchronous feed) mode.
Command format
G94; G95;
G94 : Per-minute feed (mm/min) (asynchronous feed) G95 : Per-revolution feed (mm/rev) (synchronous feed)
The G95 command is a modal command and so it is valid until the G94 command (per-minute feed) or G93 command (inverse time feed) is next assigned.
(1) The F code command range is as follows.
The movement amount per spindle revolution with synchronous feed (per-revolution feed) is assigned by the F code and the command range is as shown in the table below. Metric input
Input command unit
system B (0.001mm) C (0.0001mm)
Command mode Feed per minute Feed per rotation Feed per minute Feed per rotation
Command address F (mm/min) E (mm/rev) F (mm/min) E (mm/rev)
Minimum command unit
1 (= 1.000), (1. = 1.000)
1 (= 0.001), (1. = 1.000)
1 (= 1.0000), (1. = 1.0000)
1 (= 0.0001), (1. = 1.0000)
Command range
0.001 ~1000000.000
0.001 ~999.999
0.0001 ~1000000.0000
0.0001 ~999.9999
Input
command unit system
D (0.00001mm) E (0.000001mm)
Command mode Feed per minute Feed per rotation Feed per minute Feed per rotation
Command address F (mm/min) E (mm/rev) F (mm/min) E (mm/rev)
Minimum command unit
1 (= 1.00000), (1. = 1.00000)
1 (= 0.00001), (1. = 1.00000)
1 (= 1.000000), (1. = 1.000000)
1 (= 0.000001), (1. = 1.000000)
Command range
0.00001 ~1000000.00000
0.00001 ~999.99999
0.000001 ~1000000.000000
0.000001 ~999.999999
7. Feed Functions 7.4 Feed Per Minute/Feed Per Revolution (Asynchronous Feed/Synchronous Feed)
111
Inch input
Input command unit
system B (0.0001inch) C (0.00001inch)
Command mode Feed per minute Feed per rotation Feed per minute Feed per rotation
Command address F (inch/min) E (inch/rev) F (inch/min) E (inch/rev)
Minimum command unit
1 (= 1.0000), (1. = 1.0000)
1 (= 0.0001), (1. = 1.0000)
1 (= 1.00000), (1. = 1.00000)
1 (= 0.00001), (1. = 1.00000)
Command range
0.0001 ~ 100000.0000
0.0001 ~ 999.9999
0.00001 ~ 100000.00000
0.00001 ~ 999.99999
Input
command unit system
D (0.000001inch) E (0.0000001inch)
Command mode Feed per minute Feed per rotation Feed per minute Feed per rotation
Command address F (inch/min) E (inch/rev) F (inch/min) E (inch/rev)
Minimum command unit
1 (= 1.000000), (1. = 1.000000)
1 (= 0.000001), (1. = 1.000000)
1 (= 1.0000000), (1. = 1.0000000)
1 (= 0.0000001), (1. = 1.0000000)
Command range
0.000001 ~100000.000000
0.000001 ~999.999999
0.0000001 ~100000.0000000
0.0000001 ~999.9999999
(2) The effective speed (actual movement speed of machine) under per-revolution feed conditions
is given in the following formula (Formula 1). FC = F N OVR ..... (Formula 1)
Where FC = Effective rate (mm/min, inch/min) F = Commanded feedrate (mm/rev, inch/rev) N = Spindle speed (r/min) OVR = Cutting feed override
When a multiple number of axes have been commanded at the same time, the effective rate FC in formula 1 applies in the vector direction of the command.
(Note 1) The effective rate (mm/min or inch/min), which is produced by converting the
commanded speed, the spindle speed and the cutting feed override into the per-minute speed, appears as the FC on the monitor 1. Screen of the setting and display unit.
(Note 2) When the above effective rate exceeds the cutting feed clamp rate, it is clamped at
that clamp rate. (Note 3) If the spindle speed is zero when synchronous feed is executed, operation alarm
"105" results. (Note 4) Under dry run conditions, asynchronous speed applies and the axes move at the
manual feed rate (mm/min, inch/min, /min). (Note 5) The fixed cycle G84 (tapping cycle) and G74 (reverse tapping cycle) are executed to
the feed mode that is already designated. (Note 6) Whether asynchronous feed (G94) or synchronous feed (G95) is applied when the
power is switched on or when M02 or M30 is executed is set with the parameter "#1074 I_Sync".
7. Feed Functions 7.5 Inverse Time Feed; G93
112
7.5 Inverse Time Feed; G93
Function and purpose
During inside cutting when machining curved shapes with radius compensation applied, the machining speed on the cutting surface becomes faster than the tool center feedrate. Therefore, problems such as reduced accuracy may occur. This reduced accuracy can be prevented with inverse time feed. This function can, in place of normal feed commands, issue one block of machining time (inverse) in F commands. The machining speed on the cutting surface is constantly controlled, even if radius compensation is applied to the machining program that expresses the free curve surface with fine segment lines. Note that when the calculated machining time exceeds the cutting feed clamp speed, the F command value in the inverse time feed follows the cutting feed clamp speed.
Regular F command
Actual machining speed
Large Small
F command
The speed of tool center is commanded, thus the actual speed at the cutting surface may become larger or smaller.
Inverse time feed
Same
F command
The actual speed at the cutting surface is commanded, thus, the speed will be constant and machining speed can be kept as that was commanded regardless of the tool radius.
Command format
G93 ; Inverse time feed
Inverse time feed (G93) is a modal command. Once commanded, it is valid until feed per minute or feed per revolution is commanded.
G00 Xx1 Yy1 ; G93; Inverse time feed mode ON G01 Xx2 Yy2 Ff2; In inverse time feed mode G02 Xx3 Yy3 Ii3 Jj3 Ff3; : G94(G95); Inverse time feed mode OFF
In movement blocks, since processing time is commanded to a line segment, command the feedrate "F" each time.
7. Feed Functions 7.5 Inverse Time Feed; G93
113
Detailed description
(1) Inverse time feed (G93) is a modal command. Once commanded, it is valid until feed per
minute (G94) or feed per revolution (G95) is commanded, or until a reset (M02, M30, etc.) is executed.
(2) Command method of F command values in inverse time feed
Metric command (G21) Inch command (G20)
During linear mode (G01)
Cutting point feedrate (mm/min) Line segment length (mm)
Cutting point feedrate (inch/min) Line segment length (inch)
During arc mode (G02, G03) (G02.1, G03.1)
Cutting point feedrate (mm/min) Start point arc radius (mm)
Cutting point feedrate (inch/min) Start point arc radius (inch)
B 0.001 to 999999.999(1/min) C 0.0001 to 999999.9999(1/min) D 0.00001 to 999999.99999(1/min)
Command range
E 0.000001 to 999999.999999(1/min) (3) The initial modal after a restart is G94 (feed per minute) or G95 (feed per revolution). (4) The feedrate of the block inserted in tool radius compensation and corner R/C is the same
speed as the feedrate of the block immediately before it. (5) The feedrate of the block inserted in C axis normal line control (normal line control type II) is the
same speed as the feedrate of the movement block after turning.
Precautions
(1) The initial modal after a restart is G94 (feed per minute) or G95 (feed per revolution). (2) The F command in G93 modal is unmodal. Issue an F command for each block. The program
error (P62) will occur in blocks with no F command. (3) The program error (P62) will occur when F0 is commanded. (4) An F command is necessary when changing from G93 to G94/G95. The program error
(P62) will occur if there is no F command. (5) The feed function is clamped at the maximum cutting speed. Consequently, the feed may be
slower than the commanded speed. (6) If an extremely slow speed such as F0.001 is designated, an error will occur in the machining
time.
7. Feed Functions 7.5 Inverse Time Feed; G93
114
Example of program
When using inverse time feed during tool radius compensation
N01 G90 G00 X80. Y-80. ;
N02 G01 G41 X80 Y-80. D11 F500 ;
N03 X180. ;
N04 G02 Y-280. R100. ;
N05 G03 Y-480. R100. ;
N06 G02 Y-680. R100. ;
N07 G01 X80. F500 ;
N08 Y-80. ;
N09 G04 X80. Y-80. ;
N10 M02 ;
Feed per minute
N01 G90 G00 X80. Y-80. ;
N02 G01 G41 X80. Y-80. D11 F500 ;
N03 X180. ;
N04 G93 G02 Y-280. R100. F5 ;
N05 G03 Y-480. R100. F5 ;
N06 G02 Y-680. R100. F5 ;
N07 G94 G01 X80. F500 ;
N08 Y-80. ;
N09 G04 X80. Y-80. ;
N10 M02 ;
Inverse time feed
(Fig. 3)
N4
N6
N5
Comparison between feed per minute and inverse time feed
(Assuming that tool radius is 10. [mm]) (Unit: mm/min) Feed per minute Inverse time feed Location
Sequence No.
Feedrate of tool center
Feedrate of cutting point
Feedrate of tool center
Feedrate of cutting point
N04 F500 F450 F550 F500 N05 F500 F550 F450 F500 N06 F500 F450 F550 F500
The block seam protrudes due to the cutting speed change at the block seam.
The feedrate follows the command regardless of the tool radius.
7. Feed Functions 7.5 Inverse Time Feed; G93
115
Relation with other functions
(1) Scaling (G51)
When using a scaling function, issue a F command for the shape after scaling. For example, if a double-size scaling is carried out, the machining distance will be twice. Thus, if executing a cutting at the same speed as that of before scaling, command the value (F) calculated by dividing F value by the multiples of scaling.
Feedrate (mm/min) F =
Distance (mm)
F F'=
2
Shape after scaling (Double size)
F
(2) High-speed machining mode II (G05P2)
With the inverse time feed (G93) modal, high-speed machining mode II (G05P2) is operated in the inverse time feed mode, instead of high-speed machining mode. High-speed machining mode will be valid when the inverse time feed mode is canceled.
(3) If the speed calculated in the G93 mode exceeds the speed range at the feed per minute, clamping is performed at the clamp speed set with parameters.
(4) The program error (P125) will occur when the commands below are issued in the inverse time feed (G93) mode.
G code Function G02.3, G03.3 Exponential interpolation G06.2 NURBS interpolation G12 Circular cutting CW G13 Circular cutting CCW G31~G31.3 Skip G33 Thread cutting G34~G36, G37 Special fixed cycle G37.1 Automatic tool length measurement G73~G89 Fixed cycle G96 Constant surface speed control ON
(5) The program error (P125) will occur if inverse time feed (G93) is commanded in the following
modes. G code Function
G02.3, G03.3 Exponential interpolation G33 Thread cutting G73~G89 Fixed cycle G96 Constant surface speed control ON
7. Feed Functions 7.6 Feedrate Designation and Effects on Control Axes
116
7.6 Feedrate Designation and Effects on Control Axes
Function and purpose
It has already been mentioned that a machine has a number of control axes. These control axes can be divided into linear axes which control linear movement and rotary axes which control rotary movement. The feedrate is designed to assign the displacement speed of these axes, and the effect exerted on the tool movement speed which poses problems during cutting differs according to when control is exercised over the linear axes or when it is exercised over the rotary axes. The displacement amount for each axis is assigned separately for each axis by a value corresponding to the respective axis. The feedrate is not assigned for each axis but assigned as a single value. Therefore, when two or more axes are to be controlled simultaneously, it is necessary to understand how this will work for each of the axes involved. The assignment of the feedrate is described with the following related items.
When controlling linear axes
Even when only one machine axis is to be controlled or there are two or more axes to be controlled simultaneously, the feed rate which is assigned by the F code functions as a linear speed in the tool advance direction. (Example) When the feedrate is designated as "f" and linear axes (X and Y) are to be controlled:
P (Tool start point)
P2 (Tool end point)
Speed in this direction is "f"
Y
Xx
y
Feedrate for X axis = f x x x2 + y2
Feedrate for Y axis = f x y x2 + y2
When only linear axes are to be controlled, it is sufficient to designate the cutting feed in the program. The feedrate for each axis is such that the designated rate is broken down into the components corresponding to the movement amounts.
7. Feed Functions 7.6 Feedrate Designation and Effects on Control Axes
117
(Example) When the feedrate is designated as "f" and the linear axes (X and Y) are to be controlled using the circular interpolation function:
The rate in the tool advance direction, or in other words the tangential direction, will be the feedrate designated in the program.
Linear speed is "f" y
x
Y
Xi
P2
P1
In this case, the feed rate of the X and Z axes will change along with the tool movement. However, the combined speed will always be maintained at the constant value "f".
When controlling rotary axes
When rotary axes are to be controlled, the designated feedrate functions as the rotary speed of the rotary axes or, in other words, as an angular speed. Consequently, the cutting feed in the tool advance direction, or in other words the linear speed, varies according to the distance between the center of rotation and the tool. This distance must be borne in mind when designating the feedrate in the program. (Example) When the feedrate is designated as "f" and rotary axis (CA) is to be controlled ("f" units
= /min)
Rotation center
P2(tool end point)
P1 (tool start point)
Angular speed is "f"
Linear speed is : c
rf 180
r
In this case, in order to make the cutting feed (linear feed) in the tool advance direction "fc" :
fc = f r 180
Therefore, the feedrate to be designated in the program must be :
f = fc 180 r
7. Feed Functions 7.6 Feedrate Designation and Effects on Control Axes
118
When linear and rotary axes are to be controlled at the same time
The controller proceeds in exactly the same way whether linear or rotary axes are to be controlled. When a rotary axis is to be controlled, the numerical value assigned by the coordinate word (A, B, C) is the angle and the numerical values assigned by the feedrate (F) are all handled as linear speeds. In other words, 1 of the rotary axis is treated as being equivalent to 1mm of the linear axis. Consequently, when both linear and rotary axes are to be controlled simultaneously, the components for each axis of the numerical values assigned by F will be the same as previously described "When controlling linear axes". However, although in this case both the size and direction of the speed components based on linear axis control do not vary, the direction of the speed components based on rotary axis control will change along with the tool movement (their size will not change). This means, as a result, that the combined tool advance direction feedrate will vary along with the tool movement.
(Example) When the feed rate is designated as "f" and Linear (X) and rotary (C) axes are to be
controlled simultaneously. In the X-axis incremental command value is "x" and the C-axis incremental command values is "c":
Rotation center
Size and direction are fixed for fx. Size is fixed for fc but direction varies. Both size and direction vary for ft.
P1
x
fc
c
fc ft
fx
fx
ft r
P2
7. Feed Functions 7.6 Feedrate Designation and Effects on Control Axes
119
X-axis feedrate (linear speed) "fx" and C-axis feedrate (angular speed) "" are expressed as:
fx = f x x2 + c2
........................................................................................ (1)
= f c x2 + c2
......................................................................................... (2)
Linear speed "fc" based on C-axis control is expressed as:
fc = r 180 .................................................................................................. (3)
If the speed in the tool advance direction at start point P1 is "ft" and the component speeds in the X-axis and Y-axis directions are "ftx" and "fty", respectively, then these can be expressed as:
ftx = -rsin ( 180 )
180 + fx ............................................................... (4)
fty = -rcos ( 180 )
180 ...................................................................... (5)
Where r is the distance between center of rotation and tool (in mm units), and is the angle between the P1 point and the X axis at the center of rotation (in units ). The combined speed "ft" according to (1), (2), (3), (4) and (5) is:
ft = ftx2 + fty2
= f
x2 - x c rsin ( 180 )
90 + ( r c 180 )2
x2 + c2 .................... (6)
Consequently, feedrate "f" designated by the program must be as follows:
f = ft
x2 + c2
x2 - x c rsin ( 180 )
90 + ( r c 180 )2
.................... (7)
"ft" in formula (6) is the speed at the P1 point and the value of changes as the C axis rotates, which means that the value of "ft" will also change. Consequently, in order to keep the cutting feed "ft" as constant as possible the angle of rotation which is designated in one block must be reduced to as low as possible and the extent of the change in the value must be minimized.
7. Feed Functions 7.7 Rapid Traverse Constant Inclination Acceleration/Deceleration
120
7.7 Rapid Traverse Constant Inclination Acceleration/Deceleration
Function and purpose
This function performs acceleration and deceleration at a constant inclination during linear acceleration/deceleration in the rapid traverse mode. Compared to the method of acceleration /deceleration after interpolation, the constant inclination acceleration/deceleration method makes for improved cycle time.
Detailed description
(1) Rapid traverse constant inclination acceleration/deceleration are valid only for a rapid traverse
command. Also, this function is effective only when the rapid traverse command acceleration/deceleration mode is linear acceleration and linear deceleration.
(2) The acceleration/deceleration patterns in the case where rapid traverse constant inclination acceleration/deceleration are performed are as follows.
L
T s T s T d
T
Next block
rapid
rapid : Rapid traverse rate
Ts : Acceleration/deceleration time constant
Td : Command deceleration check time : Acceleration/deceleration inclination T : Interpolation time L : Interpolation distance
T = rapid
L +Ts
Td = Ts + (0~1.7 ms)
= tan-1 rapid
Ts ( )
rapid: Rapid traverse rate Ts: Acceleration/deceleration time constant Td: Command deceleration check time : Acceleration/deceleration inclination T: Interpolation time L: Interpolation distance
L
Ts Td
T
rapid
Next block
= tan-1 rapid Ts
( )
Td = + (0 ~ 1.7 ms) T 2
T = 2 Ts X L / rapid
7. Feed Functions 7.7 Rapid Traverse Constant Inclination Acceleration/Deceleration
121
(3) When 2-axis simultaneous interpolation (linear interpolations) is performed during rapid
traverse constant inclination acceleration and deceleration, the acceleration (deceleration) time is the longest value of the acceleration (deceleration) times determined for each axis by the rapid traverse rate of commands executed simultaneously, the rapid traverse acceleration and deceleration time constant, and the interpolation distance, respectively. Consequently, linear interpolation is performed even when the axes have different acceleration and deceleration time constants.
<2-axis simultaneous interpolation (When linear interpolation is used, Tsx < Tsz, and Lx Lz)>
x Tsx Tsx
Tdx
Lx
Tx
Next block
X axis
Tsz
Lz
Tz
Z axis
rapid X
rapid Z
Z
Tsz Tdz
Next block
When Tsz is greater than Tsx, Tdz is also greater than Tdx, and Td = Tdz in this block.
(4) The program format of G0 (rapid traverse command) when rapid traverse constant inclination acceleration/deceleration are executed is the same as when this function is invalid (time constant acceleration/deceleration).
(5) This function is valid only for G0 (rapid traverse).
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
122
7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
Function and purpose
This function carries out the acceleration/deceleration according to the torque characteristic of the motor in the rapid traverse mode during automatic operation. (This function is not available in manual operation.) The rapid traverse constant inclination multi-step acceleration/deceleration method makes for improved cycle time because the positioning time is shortened by using the motor ability to its maximum. In general, the servomotor has the characteristic that the torque falls in the high-speed rotation range.
0 1000 3500
Rotation speed [r/min]
0
25
100
125
75
To rq
ue [N
m
]
50
2000 3000
(Note) This characteristic is data at input voltage 380VAC.
In the rapid traverse constant inclination acceleration/deceleration method, the acceleration has been treated constantly because this torque characteristic is not considered. So, It is necessary to use a minimum acceleration within the used speed range. Therefore, the margin of acceleration must be had in a low-speed range. Or if the acceleration is used to its maximum, the upper limit of the rotation speed must be slowed. Then, to use the servomotor ability to its maximum, acceleration/deceleration to which the torque characteristic is considered is carried out by the rapid traverse constant inclination multi-step acceleration/deceleration method. The acceleration/deceleration patterns in the case where rapid traverse constant inclination multi-step acceleration/deceleration are performed are as follows.
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
123
Speed
Time
Acceler- ation
Time (b) Rapid traverse constant inclination
acceleration/deceleration
It was necessary to slow down the acceleration for high speed rotation.
tb
Speed
Time
Acceler- ation
Time
ta
(a) Rapid traverse constant inclination multi-step acceleration/deceleration
Number of steps is automatically adjusted by parameter setting.
Detailed description
(1) It is necessary to enable this function by set "2" to the parameter "#1205 G0bdcc".
However, note the following conditions. (a) "2" cannot be set to parameter "#1205 G0bdcc" besides the 1st part system. When "2" is
set for besides 1st part system, "Y51 parameter error 17" will occur. (b) When there is no specification for the rapid traverse constant inclination
acceleration/deceleration, "2" cannot be set to parameter "#1205 G0bdcc". Even if the parameter is set to "2", this function is invalid. A normal time constant acceleration/deceleration (acceleration/deceleration after interpolation) is applied.
(c) Even if "2" is set to "#1205 G0bdcc" when G00 non-interpolation type ("#1086 G00Intp" = "1"), this function is invalid. In this case, a normal time constant acceleration/deceleration (acceleration/deceleration after interpolation) is applied.
(2) To use this function, the following parameters must be set for each axis.
#2001 rapid #2151 rated_spd #2153 G0t_rated #2152 acc_rate
Rapid traverse [mm/min] Rated speed [mm/min] Acceleration time to rated speed [ms] Acceleration at rapid traverse in ratio to the maximum acceleration [%]
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
124
Max. acceleration
Acceleration at rapid traverse rate
Rapid traverse rate
Rated speed
Acceleration time to rated speed
Acceleration rate in proportion to the maximum acceleration rate Max. acceleration
Acceleration at rapid traverse rate =
Speed
Time
Acceleration
Time
(3) When either of the following conditions applies, this function is invalid and operates as "rapid
traverse constant inclination acceleration/deceleration". For the axis which the rapid traverse constant inclination multi-step acceleration/deceleration is not necessary for, set "0" to "#2151 rated_spd", "#2152 acc_rate" and "#2153 G0t_rated". (a) When "#2151 rated_spd" (rated speed) is "0" or larger than "#2001 rapid" (rapid traverse) (b) When "#2152 acc_rate" (Acceleration rate in proportion to the maximum acceleration rate)
is "0" or "100" (c) Even if "2" is set to "#1205 G0bdcc" when G00 non-interpolation type ("#1086 G00Intp" =
"1"), this function is invalid. In this case, a normal time constant acceleration/deceleration (acceleration/deceleration after interpolation) is applied.
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
125
(4) The comparison of the acceleration/deceleration patterns by the parameter setting is in the
table below.
Mode Rapid traverse constant
inclination multi-step acceleration/deceleration
#1086 G00Intp
#1205 G0bdcc Operation
0 Time constant acceleration/deceleration (interpolation type)
1 Constant inclination acceleration/deceleration (acceleration/deceleration before interpolation)
0
2 Constant inclination multi-step acceleration/deceleration
ON
1 Arbitrary Time constant acceleration/deceleration (non-interpolation type)
0 Time constant acceleration/deceleration (interpolation type)
1 Constant inclination acceleration/deceleration (acceleration/deceleration before interpolation)
0
2 Time constant acceleration/deceleration (interpolation type)
G00 command
OFF
1 Arbitrary Time constant acceleration/deceleration (non-interpolation type)
Manual rapid traverse
Arbitrary Arbitrary Arbitrary Time constant acceleration/deceleration (non-interpolation type)
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
126
Detailed description (decision method of steps)
For rapid traverse constant inclination multi-step acceleration/deceleration, the number of steps is automatically adjusted by set parameter. The acceleration per step is assumed to be a decrease by 10% of the maximum acceleration per step. Therefore, the number of steps is decided as follows.
"Step" = (100 - "#2152 acc_rate") / 10 + 1 (Discard fractions less than 1) The acceleration/deceleration pattern when the parameter setting value is as follows is shown below.
No. Item Setting value 2001 rapid Rapid traverse rate 36000 [mm/min] 2151 rated_spd Rated speed 16800 [mm/min] 2152 acc_rate Acceleration rate in proportion to the
maximum acceleration rate 58 [%]
Acceleration
Speedrapid =36000
rated_spd =16800
amax
0.58amax
0.9amax 0.8amax
0.7amax
The acceleration decreases by 10% of the maximum acceleration amax.
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
127
Detailed description (Acceleration pattern at two or more axis interpolation)
When there are two or more rapid traverse axes with a different acceleration pattern, there are the following two operation methods. Interpolation type (#1086 G0Intp = 0) : Moves from the start point to the end point by straight
line Non-interpolation type (#1086 G0Intp = 1) : Each axis moves severally at the speed of
the parameter Rapid traverse constant inclination multi-step acceleration/deceleration are valid only for an interpolation type. For the interpolation type, the acceleration pattern operates to the maximum acceleration within the range where tolerable acceleration of each axis is not exceeded.
(a) Acceleration pattern of X axis independently (b) Acceleration pattern of Y axis independently
Start point
End point
X
Y
4
3 5
Acceleration
Speed
ay
vy
Acceleration
Speed
ax
vx
Acceleration
Speed
Acceleration pattern when the axis moved to synthesis direction at X axis rapid traverse rate
Acceleration pattern of synthesis direction
(c) Acceleration pattern of synthesis direction
ax / 0.8 ay / 0.6
vy / 0.6 vx / 0.8
Acceleration pattern when the axis moved to synthesis direction at Y axis rapid traverse rate
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
128
Detailed description (S-pattern filter control)
With S-pattern filter control, this enables the rapid traverse inclination multi-step acceleration/ deceleration fluctuation to further smoothen. This can be set in the range of 0 to 200 (ms) with the basic specification parameter "#1569 SfiltG0" (G00 soft acceleration/deceleration filter). With "#1570 Sfilt2" (Soft acceleration/deceleration filter 2), this also enables the acceleration/deceleration fluctuation to further smoothen.
Time
Speed
Parameter setting = SfiltG0 + Sfilt2
S-pattern filter
No S-pattern filter
Detailed description (Rapid traverse rate for the high-accuracy control mode)
The high-accuracy control mode's rapid traverse rate ("#2109 Rapid (H-precision)") can be set besides rapid traverse rate ("#2001 rapid") during high-accuracy control, high-speed high-accuracy control I/II or high-accuracy spline control. Operation when the value is set at the high-accuracy control mode's rapid traverse rate is as follows. (1) When "The high-accuracy control mode rapid traverse rate" > "rapid traverse rate"
This function is invalid and operates as "rapid traverse constant inclination acceleration/deceleration".
Rapid traverse
rate
Speed
Time Acceleration
Time
#2004 G0tL
(2) When "The high-accuracy control mode rapid traverse rate" < "rapid traverse rate"
"The high-accuracy control mode rapid traverse rate" is applied according to acceleration pattern calculated from acceleration rate to "rapid traverse", "rated speed", "G0 time constant to rated speed" and "maximum acceleration".
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
129
Max. Acceleration
Acceleration at rapid traverse rate
Rapid traverse date
Rated speed
Acceleration time to rated speed
Speed
Time
Acceleration
Time
The high-accuracy control mode rapid traverse rate
Larger than the rated speed
Max. Acceleration
Acceleration at rapid traverse rate
Rapid traverse date
Rated speed
Acceleration time to rated speed
Speed
Time Acceleration
Time
The high-accuracy control mode rapid traverse rate
Smaller than the rated speed
Precautions
(1) Rapid traverse constant inclination multi-step acceleration/deceleration are valid only for a
rapid traverse command. Note that when the manual rapid traverse, rapid traverse constant inclination multi-step acceleration/deceleration cannot be used. In this case, a time constant acceleration/deceleration (acceleration/deceleration after interpolation) is applied. So, acceleration/deceleration is decided by the following parameters. #2001 rapid Rapid traverse rate #2003 smgst Acceleration/deceleration mode #2004 G0tL G0 time constant (linear) #2005 G0t1 G0 time constant (primary delay) The acceleration time (time constant) is different to the rapid traverse constant inclination multi-step acceleration/deceleration and the manual rapid traverse as shown in figure.
7. Feed Functions 7.8 Rapid Traverse Constant Inclination Multi-step Acceleration/Deceleration
130
Acceleration
Speed
Rapid traverse constant inclination multi-step acceleration/ deceleration
Manual rapid traverse (linear)
Time
Speed
Manual rapid traverse (linear)
Rapid traverse constant inclination multi-step acceleration/deceleration
S-pattern filter
Soft acceleration/deceleration
(2) Rapid traverse constant inclination multi-step acceleration/deceleration cannot be used in part
system excluding 1st part system. However, even if two or more part system is used, it is possible to use this function in case of the 1st part system.
(3) When there is no specification for the rapid traverse constant inclination acceleration/deceleration, this function is invalid even if "2" is set to parameter "#1205 G0bdcc". In this case, a normal time constant acceleration/deceleration (acceleration/deceleration after interpolation) is applied.
(4) When G00 non-interpolation type ("#1086 G00Intp" = "1"), rapid traverse constant inclination multi-step acceleration/deceleration cannot be used. It is valid at interpolation mode only.
(5) When the rapid traverse constant inclination multi-step acceleration/deceleration is applied, rapid traverse acceleration/deceleration types ("#2003 smgst" bit0 to bit3) are ignored.
(6) When the rapid traverse constant inclination multi-step acceleration/deceleration is valid, G0 constant inclination ("#1200 G0_acc") cannot be used. Even if G0 constant inclination is valid ("#1200 G0_acc" = 1), the setting is ignored.
(7) When the rapid traverse constant inclination multi-step acceleration/deceleration is valid, programmable in-position check cannot be used. The in-position width will be ignored even if commanded.
(8) This function cannot be used during the tool center point control. (9) For rapid traverse constant inclination multi-step acceleration/deceleration, feedforward
control is invalid.
7. Feed Functions 7.9 Exact Stop Check; G09
131
7.9 Exact Stop Check; G09 Function and purpose
In order to prevent roundness during corner cutting and machine shock when the tool feedrate changes suddenly, there are times when it is desirable to start the commands in the following block once the in-position state after the machine has decelerated and stopped or the elapsing of the deceleration check time has been checked. The exact stop check function is designed to accomplish this purpose. Either the deceleration check time or in-position state is selected with parameter "#1193 inpos". In-position check is valid when "#1193 inpos" is set to 1. The in-position width is set with parameter "#2224 SV024" on the servo parameter screen by the machine manufacturer.
Command format
G09 ;
The exact stop check command G09 has an effect only with the cutting command (G01 - G03) in its particular block.
Example of program
N001 G09 G01 X100.000 F150 ; The following block is started once the deceleration
check time or in-position state has been checked after the machine has decelerated and stopped.
N002 Y100.000 ;
X axis
f (Commanded speed)
Time
Solid line indicates speed pattern with G09 command. Broken line indicates speed pattern without G09 command.
Fig. 1 Exact stop check result
Y axis
N002
N001
Tool
With G09
Without G09
N001
N002
7. Feed Functions 7.9 Exact Stop Check; G09
132
Detailed description
(1) With continuous cutting feed
Ts
Fig. 2 Continuous cutting feed command
Previous block Next block
(2) With cutting feed in-position check
Fig. 3 Block joint with cutting feed in-position check
Ts Ts
Previous block Next block
Lc (in-position width)
In Figs. 2 and 3:
Ts = Cutting feed acceleration/deceleration time constant Lc = In-position width As shown in Fig. 3, the remaining distance (shaded area in Fig. 3) of the previous block when the next block is started can be set into the servo parameter "#2224 SV024" as the in-position width "Lc". The in-position width is designed to reduce the roundness at the workpiece corners to below the constant value.
Lc Next block
Previous block
To eliminate corner roundness, set the value as small as possible to servo parameter "#2224 SV024" and perform an in-position check or assign the dwell command (G04) between blocks.
7. Feed Functions 7.9 Exact Stop Check; G09
133
(3) With deceleration check
(a) With linear acceleration/deceleration
Ts
Td
Previous block Next block
Ts : Acceleration/deceleration time constant Td : Deceleration check time Td = Ts + ( 0 ~ 14ms)
(b) With exponential acceleration/deceleration
Ts
Td
Previous block Next block
Ts : Acceleration/deceleration time constant Td : Deceleration check time Td = 2 Ts + ( 0 ~ 14ms)
(c) With exponential acceleration/linear deceleration
2 x Ts
Td Ts
Previous block Next block
Ts : Acceleration/deceleration time constant Td : Deceleration check time Td = 2 Ts + ( 0 ~ 14ms)
The time required for the deceleration check during cutting feed is the longest among the cutting feed deceleration check times of each axis determined by the cutting feed acceleration/deceleration time constants and by the cutting feed acceleration/ deceleration mode of the axes commanded simultaneously. (Note 1) To execute exact stop check in a fixed cycle cutting block, insert command G09
into the fixed cycle subprogram.
7. Feed Functions 7.10 Exact Stop Check Mode; G61
134
7.10 Exact Stop Check Mode; G61
Function and purpose
Whereas the G09 exact stop check command checks the in-position status only for the block in which the command has been assigned, the G61 command functions as a modal. This means that deceleration will apply at the end points of each block to all the cutting commands (G01 to G03) subsequent to G61 and that the in-position status will be checked. G61 is released by high-accuracy control (G61.1), automatic corner override (G62), tapping mode (G63), or cutting mode (G64).
Command format
G61 ;
In-position check is executed in the G61 block, and thereafter, the in-position check is executed at the end of the cutting command block is executed until the check mode is canceled.
7.11 Deceleration Check Function and purpose
The deceleration check is a function that determines the method of the check at the completion of the axis movement block's movement. The deceleration check includes the in-position check and commanded speed check method. The G0 and G1 deceleration check method combination can be selected. (Refer to section "Deceleration check combination".) With this function, the deceleration check in the reverse direction of G1 G0 or G1 G1 can be changed by changing the parameter setting. (1) Types of deceleration check
Commanded speed check
With the commanded speed check, the completion of deceleration is judged when the command to the motor is completed
Judges the stop here Deceleration start point
Command to motor
movement of motor
In-position check With the in-position check, the completion of deceleration is judged when the motor moves to the in-position width designated with the parameter.
Judges the stop here
G0/G1 in-position width
Deceleration start point
7. Feed Functions 7.11 Deceleration Check
135
(2) Designating deceleration check
The deceleration check by designating a parameter includes "deceleration check specification type 1" and "deceleration check specification type 2". The setting is selected with the parameter "#1306 InpsTyp".
(a) Deceleration check specification type 1 ("#1306 InpsTyp" = 0) The G0 and G1 deceleration check method can be selected with the base specification
parameter deceleration check method 1 (#1193 inpos) and "deceleration check method 2" (#1223 aux07/bit1).
Parameter Rapid traverse command Parameter Other than rapid traverse command
(G1 : other than G0 command) inpos
(#1193) G0XX
(G0+G9XX) AUX07/BIT-1 (#1223/BIT-1) G1+G9XX G0XX
0 Command
deceleration check
0 Command
deceleration check
1 In-position check 1 In-position
check
No deceleration check
(Note 1) XX expresses all commands.
(Note 2) "#1223 aux07" is the part system common parameter.
(b) Deceleration check specification type 2 ("#1306 InpsTyp" = 1) Rapid traverse and cutting in-position are designated with the "#1193 inpos" parameter.
Parameter Command block #1193 Inpos G0 G1+G9 G1
0 Command deceleration check
Command deceleration check
No deceleration check
1 In-position check
In-position check
No deceleration check
(Note 1) "#1193 inpos" is the parameter per part system.
(Note 2) "G0" means the rapid traverse, and "G1" means the cutting feed.
7. Feed Functions 7.11 Deceleration Check
136
7.11.1 G1 G0 Deceleration Check
Detailed operations
(1) In G1 G0 continuous blocks, the parameter "#1502 G0Ipfg" can be changed to change the
deceleration check in the reverse direction. Same direction Reverse direction
G0Ipfg: 0
G0Ipfg: 1
Command deceleration
Example of program
When there is a deceleration check in the movement of several axes: (1) G91 G1 X100. Y100. F4000 ;
G0 X-100. Y120. ; A deceleration check is carried out, because the X axis moves in the reverse direction in the program above.
(2) G91 G1 X100. Y-100. F4000 ;
G0 X80. Y100. ; A deceleration check is carried out, because the Y axis moves in the reverse direction in the program above.
(3) G90 G1 X100. Y100. F4000 ;
G0 X80. Y120. ; A deceleration check is carried out, because the X axis moves in the reverse direction in the program above. (When the program start position is X0 Y0)
(4) G91 G1 X100. Y100. F4000 ;
G0 X100. Y100. ; A deceleration check is not carried out, because both the X axis and the Y axis move in the same direction in the program above.
(5) G91 G1 X100. Y80. F4000 ;
G0 X80. ; A deceleration check is not carried out, because the X axis moves in the same direction, and there is no Y axis movement command in the program above.
G0 G1
G0 G1
G1 G0
G1 G0
7. Feed Functions 7.11 Deceleration Check
137
7.11.2 G1 G1 Deceleration Check Detailed operations
(1) In G1 G1 continuous blocks, the parameter "#1503 G1Ipfg" can be changed to change the
deceleration check of the reverse direction. Same direction Reverse direction
G1Ipfg: 0
G1Ipfg: 1
Command deceleration
Example of program
When there is a deceleration check in the movement of several axes: (1) G91 G1 X100. Y100. F4000 ;
G1 X-100. Y120. ; A deceleration check is carried out, because the X axis moves in the reverse direction in the program above.
(2) G91 G1 X100. Y-100. F4000 ;
G1 X80. Y100. ; A deceleration check is carried out, because the Y axis moves in the reverse direction in the program above.
(3) G90 G1 X100. Y100. F4000 ;
G1 X80. Y120. ; A deceleration check is carried out, because the X axis moves in the reverse direction in the program above. (When the program start position is X0 Y0)
(4) G91 G1 X100. Y100. F4000 ;
G1 X100. Y100. ; A deceleration check is not carried out, because both the X axis and the Y axis move in the same direction in the program above.
(5) G91 G1 X100. Y80. F4000 ;
G1 X80. ; A deceleration check is not carried out, because the X axis moves in the same direction, and there is no Y axis movement command in the program above.
G1 G1
G1 G1
G1 G1
G1 G1
7. Feed Functions 7.12 Automatic Corner Override; G62
138
7.12 Automatic Corner Override; G62
Function and purpose
With tool radius compensation, this function reduces the load during inside cutting of automatic corner R, or during inside corner cutting, by automatically applying override to the feed rate. Automatic corner override is valid until the tool radius compensation cancel (G40), exact stop check mode (G61), high-accuracy control mode (G61.1), tapping mode (G63), or cutting mode (G64) command is issued.
Command format
G62 ;
Machining inside corners
When cutting an inside corner as in Fig. 1, the machining allowance amount increases and a greater load is applied to the tool. To remedy this, override is applied automatically within the corner set range, the feedrate is reduced, the increase in the load is reduced and cutting is performed effectively. However, this function is valid only when finished shapes are programmed.
workpiece Machining allowance
Programmed path (finished shape)
Workpiece surface shape
Tool center path
Tool
: Max. angle at inside corner Ci : Deceleration range (IN)
Machining allowance
Ci
S
(1) (2) (3)
Deceleration
Fig.1
range
7. Feed Functions 7.12 Automatic Corner Override; G62
139
(1) Operation
(a) When automatic corner override is not to be applied : When the tool moves in the order of (1) (2) (3) in Fig. 1, the machining allowance at (3) increases by an amount equivalent to the area of shaded section S and so the tool load increases.
(b) When automatic corner override is to be applied : When the inside corner angle in Fig. 1 is less than the angle set in the parameter, the override set into the parameter is automatically applied in the deceleration range Ci.
(2) Parameter setting
The following parameters are set into the machining parameters : # Parameter Setting range
#8007 OVERRIDE 0 to 100% #8008 MAX ANGLE 0 to 180 #8009 DSC. ZONE 0 to 99999.999mm or 0 to 3937.000 inches
Refer to the Instruction Manual for details on the setting method.
Automatic corner R
Workpiece
P ro
gr am
m ed
pa
th
M ac
hi ni
ng
al lo
w an
ce
W or
k su
rfa ce
sh
ap e
To ol
c en
te r
pa th
Corner R section
Machining allowance
Corner R center
Ci
(1) The override set in the parameter is automatically applied at the deceleration range Ci and
corner R section for inside offset with automatic corner R. (There is no angle check.)
7. Feed Functions 7.12 Automatic Corner Override; G62
140
Example of operations
(1) Line - line corner
Tool
Program
Tool center
Ci
The override set in the parameter is applied at Ci.
(2) Line - arc (outside) corner
Tool
Program Tool center
Ci
The override set in the parameter is applied at Ci.
(3) Arc (inside compensation) - line corner
Tool
Program
Ci
Tool
Tool center
The override set in the parameter is applied at Ci. (Note) The deceleration range Ci where the override is applied is the length of the arc with an
arc command.
(4) Arc (inside compensation) - arc (outside compensation) corner
Program
Tool center
N1
Ci N2
The override set in the parameter is applied at Ci.
7. Feed Functions 7.12 Automatic Corner Override; G62
141
Relation with other functions
Function Override at corner
Cutting feed override Automatic corner override is applied after cutting feed override has been applied.
Override cancel Automatic corner override is not canceled by override cancel.
Speed clamp Valid after automatic corner override
Dry run Automatic corner override is invalid.
Synchronous feed Automatic corner override is applied to the synchronous feedrate.
Thread cutting Automatic corner override is invalid.
G31 skip Program error results with G31 command during tool radius compensation.
Machine lock Valid
Machine lock high speed Automatic corner override is invalid.
G00 Invalid
G01 Valid
G02, G03 Valid
7. Feed Functions 7.12 Automatic Corner Override; G62
142
Precautions
(1) Automatic corner override is valid only in the G01, G02, and G03 modes; it is not effective in
the G00 mode. When switching from the G00 mode to the G01 (or G02 or G03) mode at a corner (or vice versa), automatic corner override will not be applied at that corner in the G00 block.
(2) Even if the automatic corner override mode is entered, the automatic corner override will not be
applied until the tool radius compensation mode is entered. (3) Automatic corner override will not be applied on a corner where the tool radius compensation is
started or canceled. Start-up block Program
Cancel block
Automatic corner override will not be applied
Tool center
(4) Automatic corner override will not be applied on a corner where the tool radius compensation I,
K vector command is issued.
Block containing I, K vector command
Program
Tool center
Automatic corner override will not be applied (G41X_Z_I_K_;)
(5) Automatic corner override will not be applied when intersection calculation cannot be
executed. Intersection calculation cannot be executed in the following case.
(a) When the movement command block does not continue for four or more times.
(6) The deceleration range with an arc command is the length of the arc. (7) The inside corner angle, as set by parameter, is the angle on the programmed path. (8) Automatic corner override will not be applied when the maximum angle in the parameter is set
to 0 or 180. (9) Automatic corner override will not be applied when the override in the parameter is set to 0 or
100.
7. Feed Functions 7.13 Tapping Mode; G63
143
7.13 Tapping Mode; G63
Function and purpose
The G63 command allows the control mode best suited for tapping to be entered, as indicated below : (1) Cutting override is fixed at 100%. (2) Deceleration commands at joints between blocks are invalid. (3) Feed hold is invalid. (4) Single block is invalid. (5) In-tapping mode signal is output. G63 is released by the exact stop check mode (G61), high-accuracy control mode (G61.1), automatic corner override (G62), or cutting mode (G64).
Command format
G63 ;
7.14 Cutting Mode ; G64
Function and purpose
The G64 command allows the cutting mode in which smooth cutting surfaces are obtained to be established. Unlike the exact stop check mode (G61), the next block is executed continuously with the machine not decelerating and stopping between cutting feed blocks in this mode. G64 is released by the exact stop mode (G61), high-accuracy control mode (G61.1), automatic corner override (G62), or tapping mode (G63). This cutting mode is established in the initialized status.
Command format
G64 ;
8. Dwell 8.1 Per-second Dwell ; G04
144
8. Dwell
The G04 command can delay the start of the next block. 8.1 Per-second Dwell ; G04
Function and purpose
The machine movement is temporarily stopped by the program command to make the waiting time state. Therefore, the start of the next block can be delayed. The waiting time state can be canceled by inputting the skip signal.
Command format
G04 X__ ; or G04 P__ ; X, P Dwell time
The input command unit for the dwell time depends on the parameter.
Detailed description
(1) When designating the dwell time with X, the decimal point command is valid.
(2) When designating the dwell time with P, the availability of the decimal point command can be selected with the parameter (#8112). When the decimal point command is invalid in the parameter setting, the command below the decimal point issued with P is ignored.
(3) When the decimal point command is valid or invalid, the dwell time command range is as follows.
Command range when the decimal point command is valid
Command range when the decimal point command is invalid
0 ~ 99999.999 (s) 0 ~ 99999999 (ms)
(4) The dwell time setting unit applied when there is no decimal point can be made 1s by setting 1 in the parameter #1078 Decpt2. This is effect only for X and P for which the decimal command is valid.
(5) When a cutting command is in the previous block, the dwell command starts calculating the dwell time after the machine has decelerated and stopped. When it is commanded in the same block as an M, S, T or B command, the calculation starts simultaneously.
(6) The dwell is valid during the interlock.
(7) The dwell is valid even for the machine lock.
(8) The dwell can be canceled by setting the parameter #1173 dwlskp beforehand. If the set skip signal is input during the dwell time, the remaining time is discarded, and the following block will be executed.
Previous block cutting command
Next block
Dwell command
Dwell time
8. Dwell 8.1 Per-second Dwell ; G04
145
Example of program
Dwell time [sec]
#1078 Decpt2 = 0 #1078 Decpt2 = 1 Command DECIMAL
PNT-N DECIMAL
PNT-P DECIMAL
PNT-N DECIMAL
PNT-P G04 X500 ; 0.5 500 G04 X5000 ; 5 5000 G04 X5. ; 5 5 G04 X#100 ; 1000 1000 G04 P5000 ; 5 5 5000 G04 P12.345 ; 0.012 12.345 0.012 12.345 G04 P#100 ; 1 1000 1 1000
(Note 1) The above examples are the results under the following conditions. Input setting unit 0.001mm or 0.0001inch #100 = 1000 ; (Note 2) "DECIMAL PNT-P" is a control parameter (#8112). (Note 3) If the input setting unit is 0.0001inch, the X before G04 will be multiplied by 10. For
example for "X5. G04 ;", the dwell time will be 50 sec. Precautions and restrictions
(1) When using this function, command X after G04 in order to make sure that the dwell is based
on X.
9. Miscellaneous Functions 9.1 Miscellaneous Functions (M8-digits BCD)
146
9. Miscellaneous Functions 9.1 Miscellaneous Functions (M8-digits BCD)
Function and purpose
The miscellaneous (M) functions are also known as auxiliary functions, and they include such numerically controlled machine functions as spindle forward and reverse rotation, operation stop and coolant ON/OFF. These functions are designated by an 8-digit number (0 to 99999999) following the address M with this controller, and up to 4 groups can be commanded in a single block. (Example) G00 Xx Mm1 Mm2 Mm3 Mm4 ;
When five or more commands are issued, only the last four will be valid. The output signal is an 8-digit BCD code and start signal. The eight commands of M00, M01, M02, M30, M96, M97, M98 and M99 are used as auxiliary commands for specific objectives and so they cannot be used as general auxiliary commands. This therefore leaves 94 miscellaneous functions which are usable as such commands. Reference should be made to the instructions issued by the machine manufacturer for the actual correspondence between the functions and numerical values. When the M00, M01, M02, and M30 functions are used, the next block is not read into the pre-read buffer due to pre-read inhibiting. If the M function is designated in the same block as a movement command, the commands may be executed in either of the following two orders. Which of these sequences actually applies depends on the machine specifications.
(1) The M function is executed after the movement command.
(2) The M function is executed at the same time as the movement command.
Processing and completion sequences are required in each case for all M commands except M96, M97, M98 and M99. The 8M functions used for specific purposes will now be described.
Program stop : M00
When the tape reader has read this function, it stops reading the next block. As far as the NC system's functions are concerned, only the tape reading is stopped. Whether such machine functions as the spindle rotation and coolant supply are stopped or not differs according to the machine in question. Re-start is enabled by pressing the automatic start button on the machine operation board. Whether resetting can be initiated by M00 depends on the machine specifications.
9. Miscellaneous Functions 9.1 Miscellaneous Functions (M8-digits BCD)
147
Optional stop ; M01
If the tape reader reads the M01 command when the optional stop switch on the machine operation board is ON, it will stop and the same effect as with the M00 function will apply. If the optional stop switch is OFF, the M01 command is ignored. (Example)
: N10 G00 X1000 ; N11 M01 ; N12 G01 X2000 Z3000 F600 ; :
Optional stop switch status and operation Stops at N11 when switch is ON Next command (N12) is executed
without stopping at N11 when switch is OFF
Program end ; M02 or M30
This command is normally used in the final block for completing the machining, and so it is primarily used for tape rewinding. Whether the tape is actually rewound or not depends on the machine specifications. Depending on the machine specifications, the system is reset by the M02 or M30 command upon completion of tape rewinding and any other commands issued in the same block. (Although the contents of the command position display counter are not cleared by this reset action, the modal commands and compensation amounts are canceled.) The next operation stops when the rewinding operation is completed (the in-automatic operation lamp goes off). To restart the unit, the automatic start button must be pressed or similar steps must be taken. When the program is restarted after M02 and M30 are completed, if the first movement command is designated only with a coordinate word, the interpolation mode will function when the program ends. It is recommended that a G function always be designated for the movement command designated first. (Note 1) Independent signals are also output respectively for the M00, M01, M02 and M30
commands and these outputs are each reset by pressing the reset key. (Note 2) M02 or M30 can be assigned by manual data input (MDI). At this time, commands can be
issued simultaneously with other commands just as with the tape.
Macro interrupt ; M96, M97
M96 and M97 are M codes for user macro interrupt control. The M code for user macro interrupt control is processed internally, and is not output externally. To use M96 and M97 as an auxiliary code, change the setting to another M code with the parameter (#1109 subs_M and #1110 M96_M, #1111 M97_M).
Subprogram call/completion ; M98, M99
These commands are used as the return instructions from branch destination subprograms and branches to subprograms. M98 and M99 are processed internally and so M code signals and strobe signals are not output.
Internal processing with M00/M01/M02/M30 commands
Internal processing suspends pre-reading when the M00, M01, M02 or M30 command has been read. Other tape rewinding operations and the initialization of modals by resetting differ according the machine specifications.
9. Miscellaneous Functions 9.2 Secondary Miscellaneous Functions (B8-digits, A8 or C8-digits)
148
9.2 Secondary Miscellaneous Functions (B8-digits, A8 or C8-digits)
Function and purpose
These serve to assign the indexing table positioning and other such functions. In this controller, they are assigned by an 8-digit number from 0 to 99999999 following address A, B or C. The machine maker determines which codes correspond to which positions. If the A, B or C function is designated in the same block as a movement command, the commands may be executed in either of the following two orders. The machine specifications determine which sequence applies.
(1) The A, B or C function is executed after the movement command.
(2) The A, B or C function is executed simultaneously with the movement command.
Processing and completion sequences are required for all secondary miscellaneous functions. The table below given the various address combinations. It is not possible to use an address which is the same for the axis name of an additional axis and secondary miscellaneous function.
Additional axis name 2nd miscellaneous function
A B C
A B C
(Note) When A has been assigned as the secondary miscellaneous function address, the following commands cannot be used.
(1) Linear angle commands (,A can be used.) (2) Geometric commands
9. Miscellaneous Functions 9.3 Index Table Indexing
149
9.3 Index Table Indexing Function and purpose
Index table indexing can be carried out by setting the index axis. The indexing command only issues the indexing angle to the axis set for indexing. It is not necessary to command special M codes for table clamping and unclamping, thus simplifying the program.
Detailed description
The index table index function carries out operations as follows.
(Example) G00 B90 ;
The axis that was designated as the index axis with parameter "#2076 index x".
(1) Set the "index_x" parameter (#2076) for the axis in which index table indexing will be carried out to "1".
(2) The movement command (either absolute or incremental) for the selected axis is executed with the program command.
(3) An unclamp process are carried out before the axis movement.
(4) The commanded axis movement starts after the unclamp process completes.
(5) The clamp process is carried out after the movement is completed.
(6) The next block is processed after the unclamp process completes.
T10 FIN WAIT 0800 T10 FIN WAIT 0800
B axis movement
Unclamp completed
Unclamp command
G0 B90. ;Program command
9. Miscellaneous Functions 9.3 Index Table Indexing
150
Precautions
(1) Several axes can be set as index table indexing axes.
(2) The movement speed of index table indexing axes follows the feedrate of the modal (G0/G1) at that time.
(3) The unclamp process for the indexing axes is also issued when the index table indexing axes are commanded in the same block as other axes. Thus, the movement of other axes commanded in the same block is not carried out until the unclamp process completes.
Note that the movement of other axes commanded in the same block is carried out for non-interpolation commands.
(4) Index table indexing axes are used as normal rotation axes, but this function performs an unclamp process even for linear axes.
(5) If some error that makes unclamp command OFF occurs during indexing axis movement in automatic operation, the unclamp state will be remained, and the indexing axis will execute a deceleration stop.
Other axes commanded in the same block will also execute a deceleration stop, except for non-interpolation commands.
(6) If the axis movement is interrupted by an interlock, etc., during indexing axis movement, the unclamp state will be remained.
(7) The clamp and unclamp process are not executed when the movement commands of the index table indexing axis are continuous.
Note that the clamp and unclamp process are executed even when the movement commands are continued during single block operation.
(8) Make sure that the command position is at a position where clamping is possible.
10. Spindle Functions 10.1 Spindle Functions (S6-digits Analog)
151
10. Spindle Functions 10.1 Spindle Functions (S6-digits Analog)
Function and purpose
When the S6-digits function is added, a 6-digit value (0 to 999999) can be designated after the S code. Always select S command binary output when using this function. If the S function is designated in the same block as a movement command, the commands may be executed in either of the following two orders. The machine specifications determine which one is applied. (1) The S function is executed after the movement command. (2) The S function is executed simultaneously with the movement command. By assigning a 6-digit number following the S code, these functions enable the appropriate gear signals, voltages corresponding to the commanded spindle speed (r/min) and start signals to be output. If the gear step is changed manually other than when the S command is being executed, the voltage will be obtained from the set speed at that gear step and the previously commanded speed, and then will be output. The analog signal specifications are given below.
(1) Output voltage ............... 0 to 10V
(2) Resolution...................... 1/4096 (2-12)
(3) Load conditions ............. 10k
(4) Output impedance ......... 220 If the parameters for up to 4 gear stages are set in advance, the gear stage corresponding to the S command will be selected and the gear signal will be output. The analog voltage is calculated in accordance with the input gear signal. (1) Parameters corresponding to individual gears .......Limit rotation speed, maximum rotation
speed, shift rotation speed, tap rotation speed.
(2) Parameters corresponding to all gears...................Minimum rotation speed, orientation rotation speed
10.2 Spindle Functions (S8-digits)
Function and purpose
These functions are assigned with an 8-digit (0 to 99999999) number following the address S, and one group can be assigned in one block. The output signal is a 32-bit binary data with sign and start signal. Processing and completion sequences are required for all S commands.
10. Spindle Functions 10.3 Constant Surface Speed Control; G96, G97
152
10.3 Constant Surface Speed Control; G96, G97 10.3.1 Constant Surface Speed Control
Function and purpose
These cinommands automatically control the spindle speed in line with the changes in the radius coordinate values as cutting proceeds in the diametrical direction, and they serve to keep the cutting pot speed constant during the cutting.
Command format
G96 S__ P__; Constant surface speed ON
S : Peripheral speed P : Constant surface speed control axis
G97 ; Constant surface speed cancel
Detailed description
(1) The constant surface speed control axis is set by parameter "#1181 G96_ax".
0 : Fixed at 1st axis (P command invalid) 1 : 1st axis 2 : 2nd axis 3 : 3rd axis
(2) When the above-mentioned parameter is not zero, the constant surface speed control axis can be assigned by address P. (Example) G96_ax : 1
Program Constant surface speed control axis G96 S100 ; 1st axis G96 S100 P3 ; 3rd axis
(3) Example of selection program and operation
G90 G96 G01 X50. Z100. S200 ;
~ G97 G01 X50. Z100. F300 S500 ;
~ M02 ;
The spindle speed is controlled so that the peripheral speed is 200m/min.
The spindle speed is controlled to 500r/min.
The modal returns to the initial setting.
10. Spindle Functions 10.4 Spindle Clamp Speed Setting; G92
153
10.4 Spindle Clamp Speed Setting; G92
Function and purpose
The maximum clamp speed of the spindle can be assigned by address S following G92 and the minimum clamp speed by address Q.
Command format
G92 S__ Q__;
S : Maximum clamp speed Q : Minimum clamp speed
Detailed description
(1) Besides this command, parameters can be used to set the rotational speed range up to 4
stages in 1 r/min units to accommodate gear selection between the spindle and spindle motor. The lowest upper limit and highest lower limit are valid among the rotational speed ranges based on the parameters and based on G92 Ss Qq ;
(2) Set in the parameter "#1146 Sclamp" or "#1227 aux11/bit5" whether to carry out rotation speed clamp only in the constant surface speed mode or even when the constant surface speed is canceled.
(Note1) G92S command and speed clamp operation
Sclamp = 0 Sclamp = 1 aux11/bit5 = 0 aux11/bit5 = 1 aux11/bit5 = 0 aux11/bit5 = 1
In G96 SPEED CLAMP COMMAND SPEED CLAMP COMMAND Command
In G97 SPINDLE SPEED COMMAND SPEED CLAMP COMMAND In G96 SPEED CLAMP EXECUTION SPEED CLAMP EXECUTION
Operation In G97 NO SPEED CLAMP SPEED CLAMP
EXECUTION NO SPEED CLAMP
(Note2) The address Q following the G92 command is handled as the spindle speed clamp speed regardless of the constant surface mode.
(3) The command value of spindle clamp speed will be cleared by modal reset (reset2 or reset & rewind). Note that the modal is retained if the parameter #1210 RstGmd / bit19 is ON.
Precautions
(1) Once the maximum clamp speed and the minimum clamp speed are set, the maximum clamp speed will
not be canceled even if the command such as G92 S0 is issued. Even when G92 S0 is commanded, the value of Qq is kept valid and S value (S0) falls below Q value (Qq). Thus, Qq will be handled as the maximum clamp speed and S0 as the minimum clamp speed.
10. Spindle Functions 10.5 Spindle/C Axis Control
154
10.5 Spindle/C Axis Control
Function and purpose
This function enables one spindle (MDS-A/B-SP and later) to also be used as a C axis (rotation axis) by an external signal.
Detailed description
(1) Spindle/C axis changeover
Changeover between the spindle and C axis is done by the C axis SERVO ON signal.
At servo OFF .................Spindle (C axis control not possible) At servo ON ...................C axis (spindle control not possible)
The C axis is in a reference position return incomplete state.
C axis Spindle Spindle Servo ON
Reference position return state Reference position return is incomplete when the Z phase has not been passed. Reference position return is complete when the Z phase has been passed. C axis position data The NC's internal C axis position data is updated even for the spindle rotation
during spindle control. The C axis coordinate position counter is held during spindle control, and is
updated for the amount moved during spindle control when the C axis servo READY is turned ON. (The C axis position at servo ON may differ from the position just before the previous servo OFF.)
(2) Changeover timing chart example
2
Reference position return complete status
Blocks being calculated
Recalculation request
Blocks being executed
C axis command (automatic operation)
Spindle forward run/ reverse run start
Servo ON
Servo READY
Motor speed C axis movement
Program error (P430)
Reference position return complete
Reference position return complete
Orientation Orientation
Spindle reverse run
Reverse run
2 1
1
Forward run
Spindle forward run
C axis command
Servo ON C axis command C axis command
recalculation
Servo OFF
Spindle reverse run
C axis command
Spindle forward Spindle reverse run Servo ON Servo OFF Servo ON
Servo ON
Program error because the reference position return is incomplete at this calculation.
Reference position return complete at recalculation
10. Spindle Functions 10.5 Spindle/C Axis Control
155
(Note) For axis commands, the reference position return complete is checked at calculation.
Thus, when the C axis servo ON command and C axis command are continuous, the program error (P430) occur as shown above in 2. In response to this kind of situation, the following two processes must be carried out on user PLC, as shown above in 1. Input the recalculation request signal with a servo ON command. Wait for the completion of the servo ON command until the C axis enters a servo
READY state. (3) C axis gain
The C axis gain is changed over (the optimum gain is selected) by the C axis cutting condition. During C axis cutting feed, cutting gain is applied. During other axis' cutting feed (C axis face turning), non-cutting stop gain is applied. Non-cutting gain is applied in all other cases.
Z axis command (other part system)
X axis command (C axis part system)
Selected gain
C axis command
Non-cutting gain
Non-cutting gainNon-cutting gain Cutting stop gain Cutting gain
G1
G1
G1 G0
G0
G1
G0
G0
(Note 1) The cutting feed of other part systems does not affect the C axis gain selection. (Note 2) There are 1st to 3rd cutting gains, which are selected with the ladder.
(4) Deceleration check in movement including spindle/C-axis The deceleration check in a movement command including the spindle/C-axis is as the table described below when the following condition is fulfilled.
When the different values are set for the position loop gain in non-cutting mode (spindle parameter #3203 PGCO) and the position loop gain in cutting mode (spindle parameter #3330 PGC1 to #3333 PGC4).
That is because a vibration and so on occurs in the machine when the gain is changed during the axis movement.
Parameter Rapid traverse command Parameter Other than rapid traverse command
(G1 : other than G0 command) Inpos
(#1193) G0XX
(G0+G9XX) AUX07/BIT-1 (#1223/BIT-1)
G1+G9XX (G1+G9XX) G1 G1
0 Command
deceleration check
0
1 In-position check 1
In-position check
(Applicable only to SV024)
No deceleration check
(Note 1) When G1 command is issued, the in-position check is performed regardless of the deceleration check parameter.
(Note 2) XX expresses all commands.
10. Spindle Functions 10.5 Spindle/C Axis Control
156
Precautions and Restrictions
(1) A reference position return cannot be executed by the orientation when there is no Z phase in
the detector (PLG, ENC, other). Replace the detector with one having a Z phase, or if using the detector as it is, set the position control changeover to "After deceleration stop" in the parameters (Spindle parameters, SP129 bitE: 1), and set the axis to "Axis without zero point" (Zero point return parameters, noref: 1).
(2) The program error (P430) will occur if a C axis command is issued during servo OFF or during orientation.
(3) Do not execute a servo OFF during a C axis command. The remaining C axis commands will be cleared at servo ON. (If servo OFF is executed during C axis control, the feed will stop and spindle control will occur.)
(4) If servo ON is executed during spindle rotation, the rotation will stop and C axis control will occur.
(5) Dog-type reference position return are not possible for the C axis. Set the reference position return to the orientation method in the parameters (Spindle parameters, SP129 bitE: 0), or set the axis to "Axis without zero point" (Zero point return parameters, noref: 1).
10. Spindle Functions 10.6 Multiple Spindle Control
157
10.6 Multiple Spindle Control
Function and purpose
Multiple spindle control is a function used to control the sub-spindle in a machine tool that has a main spindle (1st spindle) and a sub-spindle (2nd spindle to 4th spindle).
Multiple spindle control II: (ext36/bit0 = 1)
Control following the external signal (spindle command selection signal, spindle selection signal) and spindle control command ([S ;] only), etc. The spindle selection command [S = ;] cannot be used.
10. Spindle Functions 10.6 Multiple Spindle Control
158
10.6.1 Multiple Spindle Control II
Function and purpose
Multiple spindle control II is a function that designates which spindle to select with the signals from PLC. The command is issued to the spindle with one S command.
Detailed description
(1) Spindle command selection, spindle selection
The S command to the spindle is output as the rotation speed command to the selected spindle when the spindle selection signal (SWS) from the PLC turns ON. The selected spindle rotates at the output rotation speed. The spindle whose selection is canceled when the spindle selection signal (SWS) turns OFF maintains the speed at which it was rotating at before being canceled. This allows each axis to be simultaneously rotated at differing rotation speeds. The spindle command selection signal is used to determine which part system each spindle receives the S command from.
S command $2 S command $1
Y18A8 Y1894
Y1908
Y1968
Y19C8
1st spindle
R6500/6501
R6550/6551 Y18F4
2nd spindle
Y1954 3rd spindle
R6600/6601
R6650/6651 Y19B4
4th spindle
X18A0
X1900
X1960
X19C0
R7002
R7052
R7102
R7152
Encoder input $2
Encoder input $1
R2567
R2767
R7000/7001
R7050/7051
R7100/7101
R7150/7151
PLC side
PLC side
PLC side
PLC side
Spindle rotation speed output
Spindle stop
Encoder selection
Spindle command selection Spindle
selection
Spindle enable
SWS
SWS
SWS
SWS
Spindle rotation speed input
(Note) Refer to the PLC Interface Manual for details on each signal.
10. Spindle Functions 10.6 Multiple Spindle Control
159
Relation with other functions
(1) Spindle clamp speed setting (G92)
This is valid only on the spindle selected with the spindle selection signal (SWS). The spindle not selected with the spindle selection signal (SWS) maintains the speed at which it was rotating at before being canceled. (The spindle clamp speed is maintained with the G92 command.)
(2) Constant surface speed control Constant surface speed control can be applied on all spindles. The spindle rotation speed is automatically controlled during constant surface speed control, so when machining with constant surface speed, the spindle selection signal (SWS) for that spindle must be left ON. The spindle not selected with the spindle selection signal (SWS) maintains the speed at which it was rotating at before being canceled.
(3) Thread cutting/synchronous feed The threads are cut with the spindle selected with the spindle selection signal (SWS). The encoder feedback selected with the encoder selection signal is used.
(4) Synchronous tap The synchronous tap spindle is selected with the spindle selection signal (SWS). Select the synchronous tap spindle before issuing the synchronous tap command. Do not change the synchronous tap spindle selection signal during the synchronous tapping mode. If a C axis mode command is issued to the synchronous tap spindle, the "M01 operation error 1026" will occur. When the C axis command is canceled, the error will be canceled and machining will resume. If a polygon machining command is issued to the synchronous tap spindle, the "M01 operation error 1026" will occur. When the polygon machining command is canceled, the error will be canceled and machining will resume.
(5) Asynchronous tap The asynchronous tap spindle is selected with the spindle selection signal (SWS). Select the asynchronous tap spindle before issuing the tap command. Input a calculation request to change the asynchronous tap spindle selection. Do not change the asynchronous tap spindle selection signal during the asynchronous tapping mode.
(6) Tap return The tap return spindle is selected with the spindle selection signal (SWS). Select the spindle for which the tap cycle execution is stopped before turning the tap return signal ON. If tap return is executed when a different spindle is selected, the "M01 operation error 1032" will occur. Do not change the spindle selection signal during tap return.
Restrictions
(1) The S manual value command is invalid when multiple spindle control II is valid.
(2) Setup parameter "#1199 Sselect" is invalid when multiple spindle control II is valid.
(3) The spindle control mode changeover G code cannot be used when multiple spindle control II is valid. A program error (P34) will occur.
(4) The "S1=" and "S2=" commands are invalid when multiple spindle control II is valid. A program error (P33) will occur.
(5) The spindle gear shift command output signal (GR1/GR2) is not output when multiple spindle control II is valid.
11. Tool Functions (T command) 11.1 Tool Functions (T8-digit BCD)
160
11. Tool Functions (T command) 11.1 Tool Functions (T8-digit BCD)
Function and purpose
The tool functions are also known simply as T functions and they assign the tool numbers and tool offset number. They are designated with a 8-digit number following the address T, and one set can be commanded in one block. The output signal is an 8-digit BCD signal and start signal. If the T function is designated in the same block as a movement command, the commands may be executed in either of the following two orders. The machine specifications determine which sequence applies.
(1) The T function is executed after the movement command.
(2) The T function is executed simultaneously with the movement command.
Processing and completion sequences are required for all T commands.
12. Tool Compensation Functions 12.1 Tool Compensation
161
12. Tool Compensation Functions 12.1 Tool Compensation
Function and purpose
The basic tool compensation function includes the tool length compensation and tool radius compensation. Each compensation amount is designated with the tool compensation No. Each compensation amount is input from the setting and display unit or the program.
(Side view)
Reference position
Tool length Tool length compensation
Right compensation
Left compensation
(Plane view)
Tool radius compensation
12. Tool Compensation Functions 12.1 Tool Compensation
162
Tool compensation memory
There are two types of tool compensation memories for setting and selecting the tool compensation amount. (The type used is determined by the machine maker specifications.) The compensation amount settings are preset with the setting and display unit. Type 1 is selected when parameter "#1037 cmdtyp" is set to "1", and type 2 is selected when set to "2".
Type of tool compensation
memory
Classification of length compensation, radius compensation
Classification of shape compensation, wear compensation
Type 1 Not applied Not applied Type 2 Applied Applied
Reference
Reference tool
Shape
Tool length compensation
Wear amount
Shape
Tool radius compensation
Wear amount
12. Tool Compensation Functions 12.1 Tool Compensation
163
Type 1
One compensation amount corresponds to one compensation No. as shown on the right. Thus, these can be used commonly regardless of the tool length compensation amount, tool radius compensation amount, shape compensation amount and wear compensation amount. (D1) = a1 , (H1) = a1 (D2) = a2 , (H2) = a2 : : (Dn) = an , (Hn) = an
Compensation No. Compensation amount
1 a1 2 a2 3 a3 n an
Type 2
The shape compensation amount related to the tool length, wear compensation amount, shape compensation related to the tool radius and the wear compensation amount can be set independently for one compensation No. as shown below. The tool length compensation amount is set with H, and the tool radius compensation amount with D. (H1) = b1 + c1, (D1) = d1 + e1 (H2) = b2 + c2, (D2) = d2 + e2 : : (Hn) = bn + cn, (Dn) = dn + en
Tool length (H) Tool radius (D)/ (Position compensation) Compe
nsation No.
Shape compensation
amount
Wear compensation
amount
Shape compensation
amount
Wear compensation
amount 1 b1 c1 d1 e1 2 b2 c2 d2 e2 3 b3 c3 d3 e3 n bn cn dn en
CAUTION
If the tool compensation amount is changed during automatic operation (including during single block stop), it will be validated from the next block or blocks onwards.
12. Tool Compensation Functions 12.1 Tool Compensation
164
Tool compensation No. (H/D)
This address designates the tool compensation No.
(1) H is used for the tool length compensation, and D is used for the tool position offset and tool
radius compensation. (2) The tool compensation No. that is designated once does not change until a new H or D is
designated. (3) The compensation No. can be commanded once in each block. (If two or more Nos. are
commanded, the latter one will be valid.) (4) The No. of compensation sets that can be used will differ according to the machine. For 40 sets: Designate with the H01 to H40 (D01 to D40) numbers. (5) If a value larger than this is set, the program error (P170) will occur. (6) The setting value ranges are as follows for each No. The compensation amount for each compensation No. is preset with the setting and display
unit. Shape compensation amount Wear compensation amount Setting Metric system Inch system Metric system Inch system
#1003=B 99999.999 (mm)
9999.9999 (inch)
99999.999 (mm)
9999.9999 (inch)
#1003=C 99999.9999 (mm)
9999.99999 (inch)
99999.9999 (mm)
9999.99999 (inch)
#1003=D 99999.99999 (mm)
9999.999999 (inch)
99999.99999 (mm)
9999.999999 (inch)
#1003=E 99999.999999 (mm)
9999.9999999 (inch)
99999.999999 (mm)
9999.9999999 (inch)
12. Tool Compensation Functions 12.2 Tool Length Compensation/Cancel; G43, G44/G49
165
12.2 Tool Length Compensation/Cancel; G43, G44/G49
Function and purpose
The end position of the movement command can be compensation by the preset amount when this command is used. A continuity can be applied to the program by setting the actual deviation from the tool length value decided during programming as the compensation amount using this function.
Command format
When tool length compensation is + When tool length compensation is G43 Zz Hh ; :
Tool length compensation (+) start
G44 Zz Hh ; :
Tool length compensation () start
G49 Zz ; Tool length compensation cancel
G49 Zz ; Tool length compensation cancel
Detailed description
(1) Tool length compensation movement amount
The movement amount is calculated with the following expressions when the G43 or G44 tool length compensation command or G49 tool length compensation cancel command is issued.
Z axis move-
ment amount
G43 Zz Hn1 ; z + (lh1) Compensation in + direction by tool compensation amount G44 Zz Hh1 ; z - (lh1) Compensation in - direction by tool compensation amount G49 Zz ; z - (+) (lh1) Compensation amount cancel (Note) lh1 : Compensation amount for compensation No. h1
Regardless of the absolute value command or incremental value command, the actual end point will be the point compensated by the compensation amount designated for the programmed movement command end point coordinate value. The G49 (tool length compensation cancel) mode is entered when the power is turned ON or when M02 has been executed. (Example 1) For absolute value command
H01 = -100000 N1 G28 Z0 T01 M06 ; N2 G90 G92 Z0 ; N3 G43 Z5000 H01 ; N4 G01 Z-50000 F500 ;
(Example 2) For incremental value command
H01 = -100000 N1 G28 Z0 T01 M06 ; N2 G91 G92 Z0 ; N3 G43 Z5000 H01 ;
N4 G01 Z-55000 F500 ;
Tool length compensation H01=-100.
W or
kp ie
ce
R
+5.00
0 W
-50.000
12. Tool Compensation Functions 12.2 Tool Length Compensation/Cancel; G43, G44/G49
166
(2) Compensation No.
(a) The compensation amount differs according to the compensation type. Type 1
G43 Hh1 ; When the above is commanded, the compensation amount lh1 commanded with compensation No. h1 will be applied commonly regardless of the tool length compensation amount, tool radius compensation amount, shape compensation amount or wear compensation amount.
Table
lh1
R
Workpiece
Type 2
G43 Hh1 ; When the above is commanded, the compensation amount lh1 commanded with compensation No. h1 will be as follows. lh1: Shape compensation + wear compensation amount
Table
R
Workpiece
Shape compensation amountlh1
Wear compensation amount
(b) The valid range of the compensation No. will differ according to the specifications (No. of compensation sets).
(c) If the commanded compensation No. exceeds the specification range, the program error (P170) will occur.
(d) Tool length cancel will be applied when H0 is designated. (e) The compensation No. commanded in the same block as G43 or G44 will be valid for the
following modals.
(Example 3) G43 Zz1 Hh1 ; ...........Tool length compensation is executed with h1. : G45 Xx1 Yy1 Hh6 ; : G49 Zz2 ; ...................The tool length compensation is canceled. : G43 Zz2 ; ...................Tool length compensation is executed again with h1. :
(f) If G43 is commanded in the G43 modal, a compensation of the difference between the
compensation No. data will be executed.
(Example 4) G43 Zz1 Hh1 ; ........... Becomes the z1 + (lh1) movement. : G43 Zz2 Hh2 ; ........... Becomes the z2 + (lh2 - lh1) movement. :
The same applies for the G44 command in the G44 modal.
12. Tool Compensation Functions 12.2 Tool Length Compensation/Cancel; G43, G44/G49
167
(3) Axis valid for tool length compensation
(a) When parameter "#1080 Dril_Z" is set to "1", the tool length compensation is always applied on the Z axis.
(b) When parameter "#1080 Dril_Z" is set to "0", the axis will depend on the axis address commanded in the same block as G43. The order of priority is shown below.
Zp > Yp > Xp
(Example 5) G43 Xx1 Hh1 ; ................+ compensation to X axis : G49 Xx2 ; : G44 Yy1 Hh2 ; ................-compensation to Y axis : G49 Yy2 ; : G43 1 Hh3 ;.................+ compensation to additional axis : G49 1 ; : G43 Xx3 Yy3 Zz3 ; .........Compensation is applied on Z axis : G49 ;
The handling of the additional axis will follow the parameters "#1029 to 1031 aux_I, J and K" settings. If the tool length compensation is commanded for the rotary axis, set the rotary axis name for one of the parallel axes.
(c) If H (compensation No.) is not designated in the same block as G43, the Z axis will be
valid.
(Example 6) G43 Hh1 ; .........................Compensation and cancel to X axis : 49 ;
(4) Movement during other commands in tool length compensation modal
(a) If reference position return is executed with G28 and manual operation, the tool length compensation will be canceled when the reference position return is completed.
(Example 7)
G43 Zz1 Hh1 ; : G28 Zz2 ; ........................Canceled when reference position is reached. : G43 Zz2 Hh2 ; (Same as G49) : G49 G28 Zz2 ; ................After the Z axis is canceled, reference position
return is executed. (b) The movement is commanded to the G53 machine coordinate system, the axis will move
to the machine position when the tool compensation amount is canceled. When the G54 to G59 workpiece coordinate system is returned to, the position returned to will be the coordinates shifted by the tool compensation amount.
12. Tool Compensation Functions 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
168
12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
Function and purpose
(1) Changes in the tool length compensation in the tool axis direction and compensation amount
The tool length can be compensated in the tool axis direction even when the rotation axis rotates and the tool axis direction becomes other than the Z axis direction. By using this function, and setting the deviation between the tool length amount set in the program and the actual tool length as the compensation amount, a more flexible program can be created. This is especially valid for programs in which many rotation axis movement commands are present. The tool length compensation amount in the tool axis direction can be changed by rotating the manual pulse generator when the tool length compensation amount in the tool axis direction is being changed during the tool length compensation in the tool axis direction mode.
(2) Machine configuration
The compensation using the tool length compensation in the tool axis direction function is applied to the direction of the tool tip axis (rotary axis). As for the axes that determine the compensation direction, a combination of the C axis (spindle) for Z axis rotation and the A axis for X axis rotation or B axis for Y axis rotation is designated using a parameter.
Rotation center
Tool
Axis direction (compensation direction)
Workpiece
Axis C
Axis A or B
Y
Z
X
A B
C
Rotation center
Tool
Axis direction (compensation direction)
Axis A
Axis B
Workpiece
Axis A or B Axis B or C Axis A or B
Command format
G43.1 X__ Y__ Z__ H__ ; G49 X__ Y__ Z__ ;
Tool length compensation in the tool axis direction Tool length compensation cancel
X, Y, Z H
: Movement data : Tool length compensation No.
(If the compensation No. exceeds the specification range, a program error (P170) will occur.
12. Tool Compensation Functions 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
169
Detailed description
(1) G43, G44 and G43.1 are all G codes in the same group. Therefore, it is not possible to
designate more than one of these commands simultaneously for compensation. G49 is used to cancel the G43, G44 and G43.1 commands.
(2) If the G43.1 command is designated when the option for the tool length compensation in the
tool axis direction is not provided, the program error (P930) will occur. (3) If reference position has not been completed for any of the X, Y, Z, A or B and C axes in the
G43.1 block, the program error (P430) will occur. However, the error does not apply to the following cases. - When mechanical axes have been selected: The error does not apply to the A, B and C axes. - When "1" has been set for the "#2031 noref" zero point return parameter: The error does not apply to the axis for which "noref" is set to "1" because it is considered that the reference position return of the axis has already completed.
Changing the amount of tool length compensation in the tool axis direction
(1) When the following conditions have been met, the handle movement amount is added to the
tool length compensation amount in the tool axis direction by rotating the manual pulse generator. When the operation mode is MDI, memory or tape operation mode and the state is "during single block stop", "during feed hold" or "during cutting feed movement". Note that compensation amount cannot be changed during error or warning. During tool length compensation in the tool axis direction (G43.1). In the tool length compensation amount in the tool axis direction changing mode (YC92/1). In the tool handle feed & interruption mode (YC5E/1). The 3rd axis (tool axis) is selected for the handle selection axis.
(2) The change amount is canceled when the compensation No. is changed. (Note 1) The coordinate value in the tool length compensation amount in the tool axis direction
change mode operates in the same manner as that when the manual ABS is ON, regardless of manual ABS switch (YC28) or base axis specification parameter "#1061 intabs".
(Note 2) If compensation amount is changed during continuous operation, single block stop, or feed hold, the compensation amount will be effective immediately in the next block.
(Example) When changing compensation amount during continuous operation.
Changed compensation amount
Compensation amount before change
Path after compensation
Program path
Workpiece
12. Tool Compensation Functions 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
170
(Example) When changing compensation amount during single block stop.
Changed compensation amount
Compensation amount before change
Path after compensation
Program path
Workpiece
Single block stop
Changed compensation amount
(Note 3) When changing compensation amount, the compensation amount corresponding to the actual compensation No. will be changed. However, when executing the NC reset or tool length compensation in the direction of tool axis cancel (G49), the compensation amount will be returned to the original.
Tool length compensation in the tool axis direction vector
The vectors representing the tool length compensation in the tool axis direction are as follows. (1) When the A and C axes are set as the rotary axes:
Vx = L sin (A) sin (C) Vy = -L sin (A) cos (C) Vz = L cos (A)
(2) When the B and C axes are set as the rotary axes:
Vx = L sin (B) cos (C) Vy = L sin (B) sin (C) Vz = L cos (B)
Vx, Vy, Vz : Tool length compensation in the tool axis direction vectors for X, Y and Z axes L : Tool length compensation amount (1h) A, B, C : Rotation angle (machine coordinate position) of A, B and C axes
Path after tool length compensation in the tool axis direction
Program path G43.1 command
G44 command
12. Tool Compensation Functions 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
171
(3) Rotary axis angle command
The value used for the angle of the rotary axis (tool tip axis) differs according to the type of rotary axis involved.
When servo axes are used: The machine coordinate position is used for the rotation angles of the A, B and C axes.
When mechanical axes are used: Instead of the machine coordinate position of the axes, the values read out from the R registers (R2628 to R2631) are used for the rotation angles of the A, B and C axes.
Compensation amount resetting
Tool length compensation in the tool axis direction is cleared in the following cases. (1) When manual reference position return is completed. (2) When reset 1, reset 2 or reset & rewind has been executed. (3) When the G49 command has been designated. (4) When the compensation No. 0 command has been executed. (5) When NC reset has been executed with "1" set for the basic system parameter "#1151 rstint". (6) When the G53 command is designated while the compensation status is still established, the
compensation is temporarily canceled, and the tool moves to the machine position designated by G53.
12. Tool Compensation Functions 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
172
Example of program
(1) Example of arc machining
Shown below is an example of a program for linear arc arc linear machining using the B and C rotary axes on the ZX plane.
X axis
Tool length compensation amount
Example of program
Tool with no compensation
N09
N10
Path after compensation
Programmed path
N07
Z axis
N12
N11
N08
Machining program N01 G91 G28 X0 Y0 Z0 ; Compensation amount H01 = 50 mm N02 G28 B0 C0 ; N03 G90 G54 G00 X400. Y0 ; N04 Z-150. ; N05 B90. ; B axis: 90 degrees N06 G18 ; N07 G43.1 X250. H01 ; Tool length compensation in the tool axis
direction ON N08 G01 Z0 F200 ; N09 G02 X0 Z250. I-250. K0 B0 ; Top right arc, B axis: 0 degrees N10 G02 X-250. Z0 I0 K-250. B-90. ; Bottom right arc, B axis: -90 degrees N11 G01 Z-150. ; N12 G00 G44 X-400. ; Tool length compensation in the tool axis
direction OFF N13 G91 G28 B0 C0 ; N14 G28 X0 Y0 Z0 ; N15 M02 ;
X axis
Tool length compensation amount
(Reference) Example of tool length compensation (G43)
N09
N10
Path after compensation
Programmed path
N07
Z axis
N12
N11
N08
12. Tool Compensation Functions 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
173
Relation with other functions
(1) Relation with 3-dimensional coordinate conversion
(a) A program error (P931) will occur if 3-dimensional coordinate conversion is carried out during tool length compensation in the tool axis direction.
(b) A program error (P921) will occur if the tool length is compensated in the tool axis direction during 3-dimensional coordinate conversion.
(c) A program error (P923) will occur if the tool length compensation in the tool axis direction is commanded in the same block as the 3-dimensional coordinate conversion.
(2) Relation with automatic reference position return
(a) A program error (P931) will occur if a command from G27 to G30 is issued during tool length compensation in the tool axis direction.
(3) Relation with manual reference position return
(a) Reference position return for the orthogonal axis Tool length compensation in the tool axis direction will be canceled, as well as the dog-type reference position return and the high-speed reference position return.
N1G90G00G54X0Y0Z0 ; Positioning to the workpiece origin N2G00A45. ; Rotating the rotary axis by 45 N3G43.1H1 ; Tool length compensation in the tool axis
direction ON N4G19G03Y-5.858Z-14.142J14.142K-14.142A90.; Circular cutting *Manual dog-type reference position return N5G00Y0. ; N6Z0. :
:
Manual dog-type reference position return
Z
Y M
N2
N1
N4
N3 W
45
N5G00Y0. ; Positioning to the position where tool length
compensation in the tool axis direction was canceled.
N6Z0. Positioning to the position where tool length
compensation in the tool axis direction was canceled.
: :
Z
Y M
W
N6
N5
12. Tool Compensation Functions 12.3 Tool Length Compensation in the Tool Axis Direction ; G43.1/G49
174
(b) Reference position return for the rotary axis
Tool length compensation in the tool axis direction will be canceled, as well as the dog-type reference position return and the high-speed reference position return.
If you want to find out how the 70 Series Mitsubishi Electric works, you can view and download the Mitsubishi Electric CNC 700, 70 Series v2 Programming Manual on the Manualsnet website.
Yes, we have the Programming Manual for Mitsubishi Electric 70 Series as well as other Mitsubishi Electric manuals. All you need to do is to use our search bar and find the user manual that you are looking for.
The Programming Manual should include all the details that are needed to use a Mitsubishi Electric 70 Series. Full manuals and user guide PDFs can be downloaded from Manualsnet.com.
The best way to navigate the Mitsubishi Electric CNC 700, 70 Series v2 Programming Manual is by checking the Table of Contents at the top of the page where available. This allows you to navigate a manual by jumping to the section you are looking for.
This Mitsubishi Electric CNC 700, 70 Series v2 Programming Manual consists of sections like Table of Contents, to name a few. For easier navigation, use the Table of Contents in the upper left corner.
You can download Mitsubishi Electric CNC 700, 70 Series v2 Programming Manual free of charge simply by clicking the “download” button in the upper right corner of any manuals page. This feature allows you to download any manual in a couple of seconds and is generally in PDF format. You can also save a manual for later by adding it to your saved documents in the user profile.
To be able to print Mitsubishi Electric CNC 700, 70 Series v2 Programming Manual, simply download the document to your computer. Once downloaded, open the PDF file and print the Mitsubishi Electric CNC 700, 70 Series v2 Programming Manual as you would any other document. This can usually be achieved by clicking on “File” and then “Print” from the menu bar.