mazak Mazatrol Matrix Programming Manual

PROGRAMMING MANUAL
Return to Library
for
MAZATROL MATRIX
For INTEGREX IV
Programming EIA/ISO
MANUAL No. : H740PB0030E
Serial No. :
Before using this machine and equipment, fully understand the contents of this manual to ensure proper operation. Should any questions arise, please ask the nearest Technical Center or Technology Center.
IMPORTANT NOTICE
1. Be sure to observe the safety precautions described in this manual and the contents of the
safety plates on the machine and equipment. Failure may cause serious personal injury or material damage. Please replace any missing safety plates as soon as possible.
required, please contact the nearest Technical Center or Technology Center.
3. For the purpose of explaining the operation of the machine and equipment, some illustrations
may not include safety features such as covers, doors, etc. Before operation, make sure all such items are in place.
4. This manual was considered complete and accurate at the time of publication, however, due to
our desire to constantly improve the quality and specification of all our products, it is subject to change or modification. If you have any questions, please contact the nearest Technical Center or Technology Center.
5. Always keep this manual near the machinery for immediate use.
6. If a new manual is required, please order from the nearest Technical Center or Technology
Center with the manual No. or the machine name, serial No. and manual name.
Issued by Manual Publication Section, Yamazaki Mazak Corporation, Japan
01. 2006
Notes:
Return to Library
Return to Library

SAFETY PRECAUTIONS

Return to Library

Preface

Safety precautions relating to the CNC unit (in the remainder of this manual, referred to simply as the NC unit) that is provided in this m achine are explained below. Not onl y the persons who create programs, but also those who operate the machine must thoroughly understand the contents of this manual to ensure safe operation of the machine.
Read all these safety precautions, even if your NC model does not have the corresponding functions or optional units and a part of the precautions do not apply.

Rule

1. This section contains t he pr ec aut ions t o b e obs erved as to the working methods and states usually expected. Of course, however, unexpec ted operations and/or un expected working states may take place at the user site. During daily operation of the machine, therefore, the user must pay extra careful attention to its own working safety as well as to observe the precautions described below.
2. Although this manual c ontains as great an amount of information as it can, since it is not rare for the user to perfor m the operations that ov erstep the manufacturer -assumed ones, not all of “what the user ca nnot perform” or “what the user must not perform” c an be fully covered in this manual with all such operations taken into consideration beforehand. It is to be understood, therefore, that functions not clearly written as “executable” are “inexecutable” functions.
SAFETY PRECAUTIONS
3. The meanings of our safety precautions to DANGER, W ARNING, and CAUTION are as follows:
: Failure to follow these instructions could result in loss of life.
DANGER
: Failure to observe these ins tructions cou ld result i n serious har m to a h uman
life or body.
WARNING
: Failure to observe these instr uctions could result in m inor injuries or serio us
machine damage.
CAUTION
HGENPA0040E
S-1

Basics

Return to Library
SAFETY PRECAUTIONS
! After turning power on, keep hands away from the keys, buttons, or switches of the
operating panel until an initial display has been made.
WARNING
! Before pr oceeding to the next operati ons, fully check that c orrect data has been enter ed
and/or set. If the operator performs operations without being aware of data errors, unexpected operation of the machine will result.
! Bef ore machining workpieces , perform operational tes ts and make sure that the m achine
operates correctly. No workpieces must be machined without confirmation of normal operation. Closely check the accuracy of programs by executing override, single-block, and other functions or b y operating the machine at no load. Also, full y utilize tool path check, solid check, and other functions, if provided.
! Make sure that the appropriate feed rate and rotational speed are designated for the
particular machining requirements. Always understand that since the maximum usable feed rate and rotational speed ar e det er mined by the specifications of the to ol to be used, those of the workpiece to be m achined, and various ot her factors, actual c apabilities differ from the machine specif ications listed in this manual. If an inappropriate fee d rate or rotationa l speed is designated, the workpiece or the tool may abruptly move out from the machine.
! Before executing correction functions, fully check that the direction and amount of
correction are correct. Unexpected operation of the machine will result if a correction function is executed without its thorough understanding.
! Parameters are set to the optimum s tandard machining c onditions prior to shipping of the
machine from the fac tor y. In princ iple, these settings s houl d not be m odif ied. If it b ecom es absolutely necessary to modify the settings, perform modifications only after thoroughly understanding the func tions of the correspondin g parameters. Modifications usu ally aff ect any program. Unexpected operat ion of the machine will result if the settings are modified without a thorough understanding.

Remarks on the cutting conditions recommended by the NC

! Before using the following cutting conditions:
- Cutting conditions that are the result of the MAZATROL Automatic Cutting Conditions
WARNING
Determination Function
- Cutting conditions sugg es ted b y the Machini ng Na vig atio n Fu nctio n
- Cutting conditions for tools t hat are suggested to be used b y the Machining Navigation
Function
Confirm that every necessary precaution in regards to safe machine setup has been taken – especially for workpiec e fixtur ing/clamping and tool setup.
! Confirm that the machine door is securely closed before starting machining.
Failure to confirm safe machine setup may result in serious injury or death.
S-2

Programming

Return to Library
WARNING
SAFETY PRECAUTIONS
! Fully check that the settings of the coordinate systems are correct. Even if the designated
program data is correct, errors in the system settings may cause the machine to operate in unexpected places and the workpiece to abruptly move out from the machine in the event of contact with the tool.
! During surface velocity hold control, as the current workpiece coordinates of the surface
velocity hold control axes approach zeroes, the spindle speed increases significantly. For the lathe, the workpiece may even come off if the chucking force decreases. Safety speed limits must therefore be observed when designating spindle speeds.
! Even after inch/metric system selection, the units of the programs, tool information, or
parameters that have been registered until that time are not converted. Fully check these data units before operating the machine. If the machine is operated without checks being performed, even existing correct programs may cause the machine to operate differently from the way it did before.
! If a program is executed that includes the absolute data commands and relative data
commands taken in the reverse of their original meaning, totally unexpected operation of the machine will result. Recheck the command scheme before executing programs.
! If an incorrect plane selection command is issued for a machine action such as arc
interpolation or fixed-cycle machining, the tool may collide with the workpiece or part of the machine since the motions of the control axes assumed and those of actual ones will be interchanged. (This precaution applies only to NC units provided with EIA functions.)
! The mirror image, if made valid, changes subsequent machine actions significantly. Use
the mirror image function only after thoroughly understanding the above. (This precaution applies only to NC units provided with EIA functions.)
! If machine coordinate system commands or reference position returning commands are
issued with a correction function remaining made valid, correction may become invalid temporarily. If this is not thoroughly understood, the machine may appear as if it would operate against the expectations of the operator. Execute the above commands only after making the corresponding correction function invalid. (This precaution applies only to NC units provided with EIA functions.)
! The barrier function performs interference checks based on designated tool data. Enter the
tool information that matches the tools to be actually used. Otherwise, the barrier function will not work correctly.
! The system of G-code and M-code commands differs, especially for turning, between the
machines of INTEGREX e-Series and the other turning machines. Issuance of the wrong G-code or M-code command results in totally non-intended machine operation. Thoroughly understand the system of G-code and M-code commands before using this system.
Sample program Machines of INTEGREX e-Series Turning machines
S1000M3 S1000M203
The milling spindle rotates at 1000 min–1. The turning spindle rotates at 1000 min–1. The turning spindle rotates at 1000 min–1. The milling spindle rotates at 1000 min–1.
S-3
SAFETY PRECAUTIONS
Return to Library
! For the machines of INT EGREX e-Series, programmed coor dinates can be rot ated using
an index unit of the MAZAT ROL program and a G68 command (coordinate rotate c om­mand) of the EIA program. Ho wever, for exam ple, when the B-ax is is rotated thro ugh 180 degrees around the Y-axis to im plem ent mac hining with the tur ning spi ndle N o. 2, the pl us side of the X-axis in the programmed coordinate system faces downward and if the program is created ignoring this fact, the resulting movement of the tool to unexpected positions may incite collisions. To create the progr am with the plus s id e of the X -ax is oriented in an up ward d irec tion, us e the mirror function of the WPC shift unit or the mirror imaging function of G-code command (G50.1, G51.1).
! After modifying the tool data specified in the program, be sure to perform the tool path
check function, the solid check f unction, and other func tions, and confir m that the progr am operates properly. T he m odification of tool dat a ma y cause even a f ield-prove n m achining program to change in operational status. If the user operates the machine without be ing aware of an y changes in program status, interference with the workpiece could arise from unexpected operation. For example, if the cutting edge of the tool during the start of automatic operation is present inside the clearance- inc lu din g b lank (unmachined work piec e) s pecified in the common unit of the MAZATROL program, care is required since the tool will directly move from that position to the approac h point because of no obstructions be ing judged to be pres ent on this path. For this reason, before starting automatic operation, make sure that the cutting edge of the tool during the start of automatic operation is present outside the clearance-including workpiece specified in the common unit of the MAZATROL program.
CAUTION
! If axis-by-axis in dependent posit ioning is se lected and sim ultaneously ra pid feed sel ected
for each axis, movem ents to the ending point wi ll not usually bec ome linear. Befor e using these functions, therefore, make sure that no obstructions are present on the path.
S-4

Operations

Return to Library
WARNING
SAFETY PRECAUTIONS
! Single-block, feed hold, and override functions can be made invalid using system variables
#3003 and #3004. Execution of this means the important modification that makes the corresponding operations invalid. Before using these variables, therefore, give thorough notification to re lated persons. Also, the operator must check the setti ngs of the system variables before starting the above operations.
! If manual intervention during automatic operation, machine locking, the mirror image
function, or other functions ar e execut ed, the wor kpiec e coord inate s ystems will usua ll y be shifted. When making machine restart after manual intervention, machine locking, the mirror image func tion, or other functions, c onsider the result ing amounts of s hift and take the appropriate measures. If operation is restarted without any appropriate measures being taken, collision with the tool or workpiece may occur.
! Use the dry run function to check the mac hine for normal operation at no load. Since t he
feed rate at this tim e becomes a dry run r ate different from the program-designated f eed rate, the axes may move at a feed rate higher than the programmed value.
! After operation has been stopped tem porarily and insertion, deletion, updating, or other
commands executed for the active program, unexpected operation of the machine may result if that program is restarted. No such commands should, in principle, be issued for the active program.
CAUTION
! During manual operation, fully check the directions and speeds of axial movement. ! For a machine that requires manual homing, perform manual homing operations after
turning power on. Since the software-controlled stroke limits will remain ineffective until manual homing is completed, the machine will not stop even if it oversteps the limit ar ea. As a result, serious machine damage will result.
! Do not designate an incorr ect pulse multip lier when perf orming manual pulse h andle feed
operations. If the multiplier is set to 1000 times and the handle operated inadvertently, axial movement will become faster than that expected.
S-5

OPERATIONAL WARRANTY FOR THE NC UNIT

Return to Library
OPERATIONAL WARRANTY FOR THE NC UNIT
The warranty of the manufacturer does not co ver a n y tr oub le aris i ng if the NC un it is us ed f or its non-intended purpose. Take notice of this when operating the unit.
Examples of the trouble arising if the NC unit is used for its non-intended pur pose are listed below.
1. Trouble associated with and caused by the use of any commercially available software products (including user-created ones)
2. Trouble associated with and caused by the use of any Windows operating systems
3. Trouble associated with and caused by the use of any comm ercially available computer equipment

Operating Environment

1. Ambient temperature
During machine operation: 0° to 50°C (0° to 122°F)
2. Relative humidity
During machine operation: 10 to 75% (without bedewing) Note: As humidity increases, insulation deteriorates causing electrical component parts to
deteriorate quickly.
S-6
E
CONTENTS
Return to Library
Page
1 INTRODUCTION.................................................................................. 1-1
2 UNITS OF PROGRAM DATA INPUT................................................... 2-1
2-1 Units of Program Data Input...............................................................................2-1
2-2 Units of Data Setting...........................................................................................2-1
2-3 Ten-Fold Program Data......................................................................................2-1
3 DATA FORMATS.................................................................................. 3-1
3-1 Tape Codes........................................................................................................3-1
3-2 Program Formats ...............................................................................................3-5
3-3 Tape Data Storage Format................................................................................. 3-6
3-4 Optional Block Skip ............................................................................................3-6
3-5 Program Number, Sequence Number and Block Number : O, N .......................3-7
3-6 Parity-H/V...........................................................................................................3-8
3-7 List of G-Codes ................................................................................................3-10
4 BUFFER REGISTERS.......................................................................... 4-1
4-1 Input Buffer.........................................................................................................4-1
4-2 Preread Buffer....................................................................................................4-2
5 POSITION PROGRAMMING................................................................ 5-1
5-1 Dimensional Data Input Method.........................................................................5-1
5-1-1 Absolute/Incremental data input (Series T) ............................................................ 5-1
5-1-2 Absolute/Incremental data input: G90/G91 (Series M)........................................... 5-2
C-1
5-2 Inch/Metric Selection: G20/G21..........................................................................5-4
Return to Library
5-3 Decimal Point Input ............................................................................................5-5
5-4 Polar Coordinate Input ON/OFF: G122/G123 [Series M: G16/G15]...................5-8
5-5 X-axis Radial Command ON/OFF: G122.1/G123.1 (Series T)...........................5-9
5-6 Selection between Diameter and Radius Data Input: G10.9 (Series M)...........5-10
6 INTERPOLATION FUNCTIONS........................................................... 6-1
6-1 Positioning (Rapid Feed) Command: G00..........................................................6-1
6-2 One-Way Positioning: G60.................................................................................6-4
6-3 Linear Interpolation Command: G01...................................................................6-5
6-4 Circular Interpolation Commands: G02, G03...................................................... 6-7
6-5 Radius Designated Circular Interpolation Commands: G02, G03 ....................6-10
6-6 Spiral Interpolation: G2.1, G3.1 (Option)..........................................................6-12
6-7 Plane Selection Commands: G17, G18, G19...................................................6-20
6-7-1 Outline .................................................................................................................. 6-20
6-7-2 Plane selection methods....................................................................................... 6-20
6-8 Polar Coordinate Interpolation ON/OFF: G12.1/G13.1.....................................6-21
6-9 Virtual-Axis Interpolation: G07..........................................................................6-25
6-10 Spline Interpolation: G06.1 (Option).................................................................6-26
6-11 NURBS Interpolation: G06.2 (Option)...............................................................6-37
6-12 Cylindrical Interpolation Command: G07.1.......................................................6-44
6-13 Threading.........................................................................................................6-47
6-13-1 Constant lead threading: G32 [Series M: G33]..................................................... 6-47
C-2
6-13-2 Inch threading: G32 [Series M: G33]....................................................................6-50
Return to Library
6-13-3 Continuous threading............................................................................................ 6-51
6-13-4 Variable lead threading: G34................................................................................ 6-52
6-13-5 Threading with C-axis interpolation: G01.1........................................................... 6-53
6-13-6 Automatic correction of threading start position (for overriding in a threading
cycle) .................................................................................................................... 6-55
6-14 Helical Interpolation: G17, G18, G19 and G02, G03 ........................................6-57
7 FEED FUNCTIONS.............................................................................. 7-1
7-1 Rapid Traverse Rates.........................................................................................7-1
7-2 Cutting Feed Rates.............................................................................................7-1
7-3 Asynchronous/Synchronous Feed: G98/G99 [Series M: G94/G95]....................7-1
7-4 Selecting a Feed Rate and Effects on Each Control Axis...................................7-3
7-5 Threading Leads.................................................................................................7-6
7-6 Automatic Acceleration/Deceleration..................................................................7-7
7-7 Speed Clamp......................................................................................................7-7
7-8 Exact-Stop Check Command: G09.....................................................................7-8
7-9 Exact-Stop Check Mode Command: G61.........................................................7-11
7-10 Automatic Corner Override Command: G62.....................................................7-11
7-11 Cutting Mode Command: G64..........................................................................7-16
7-12 Geometry Compensation/Accuracy Coefficient: G61.1/,K................................7-16
8 DWELL FUNCTIONS ........................................................................... 8-1
7-12-1 Geometry compensation function: G61.1.............................................................7-16
7-12-2 Accuracy coefficient (,K)....................................................................................... 7-17
C-3
8-1 Dwell Command in Time: (G98) G04 [Series M: (G94) G04]..............................8-1
Return to Library
8-2 Dwell Command in Number of Revolutions: (G99) G04 [Series M: (G95)
G04]....................................................................................................................8-2
9 MISCELLANEOUS FUNCTIONS......................................................... 9-1
9-1 Miscellaneous Functions (M3-Digit)....................................................................9-1
9-2 No. 2 Miscellaneous Functions (A8/B8/C8-Digit)................................................9-2
10 SPINDLE FUNCTIONS ...................................................................... 10-1
10-1 Spindle Function (S5-Digit Analog)...................................................................10-1
10-2 Constant Peripheral Speed Control ON/OFF: G96/G97...................................10-1
10-3 Spindle Clamp Speed Setting: G50 [Series M: G92]........................................10-3
11 TOOL FUNCTIONS............................................................................ 11-1
11-1 Tool Function [for ATC systems]......................................................................11-1
11-2 Tool Function [4-Digit T-Code for Turret-Indexing Systems] (Series T) ............11-1
11-3 Tool Function [6-Digit T-Code for Turret-Indexing Systems] (Series T) ............11-2
11-4 Tool Function [8-digit T-code]...........................................................................11-2
12 TOOL OFFSET FUNCTIONS (FOR SERIES T)................................. 12-1
12-1 Tool Offset........................................................................................................12-1
12-2 Tool Position Offset..........................................................................................12-3
12-3 Nose R/Tool Radius Compensation: G40, G41, G42.......................................12-5
12-3-1 Outline .................................................................................................................. 12-5
12-3-2 Tool nose point and compensation directions ...................................................... 12-7
12-3-3 Operations of nose R/tool radius compensation................................................... 12-8
12-3-4 Other operations during nose R/tool radius compensation................................. 12-15
C-4
12-3-5 Commands G41/G42 and I, J, K designation.....................................................12-22
Return to Library
12-3-6 Interruptions during nose R/tool radius compensation ....................................... 12-27
12-3-7 General precautions on nose R/tool radius compensation................................. 12-29
12-3-8 Interference check..............................................................................................12-30
12-4 Programmed Data Setting: G10.....................................................................12-35
12-5 Tool Offsetting Based on MAZATROL Tool Data...........................................12-44
12-5-1 Selection parameters.......................................................................................... 12-44
12-5-2 Tool diameter offsetting......................................................................................12-45
12-5-3 Tool data update (during automatic operation)................................................... 12-46
13 TOOL OFFSET FUNCTIONS (FOR SERIES M)................................ 13-1
13-1 Tool Offset........................................................................................................13-1
13-2 Tool Length Offset/Cancellation: G43, G44, or T-code/G49............................. 13-7
13-3 Tool Position Offset: G45 to G48....................................................................13-15
13-4 Tool Diameter Offset Function: G40, G41, G42 .............................................13-21
13-4-1 Overview............................................................................................................. 13-21
13-4-2 Tool diameter offsetting......................................................................................13-21
13-4-3 Tool diameter offsetting operation using other commands................................. 13-30
13-4-4 Corner movement............................................................................................... 13-37
13-4-5 Interruptions during tool diameter offsetting ....................................................... 13-37
13-4-6 Nose-R compensation........................................................................................13-39
13-4-7 General precautions on tool diameter offsetting................................................. 13-40
13-4-8 Offset number updating during the offset mode ................................................. 13-41
13-4-9 Excessive cutting due to tool diameter offsetting................................................ 13-43
13-4-10 Interference check .............................................................................................. 13-45
C-5
13-5 Three-Dimensional Tool Diameter Offsetting (Option)....................................13-52
Return to Library
13-5-1 Function description............................................................................................ 13-52
13-5-2 Programming methods ....................................................................................... 13-53
13-5-3 Correlationships to other functions.....................................................................13-57
13-5-4 Miscellaneous notes on three-dimensional tool diameter offsetting...................13-57
13-6 Programmed Data Setting: G10.....................................................................13-58
13-7 Tool Offsetting Based on MAZATROL Tool Data...........................................13-67
13-7-1 Selection parameters.......................................................................................... 13-67
13-7-2 Tool length offsetting .......................................................................................... 13-68
13-7-3 Tool diameter offsetting......................................................................................13-70
13-7-4 Tool data update (during automatic operation)................................................... 13-71
14 PROGRAM SUPPORT FUNCTIONS................................................. 14-1
14-1 Fixed Cycles for Turning...................................................................................14-1
14-1-1 Longitudinal turning cycle: G90 [Series M: G290] ................................................ 14-2
14-1-2 Threading cycle: G92 [Series M: G292]................................................................ 14-4
14-1-3 Transverse turning cycle: G94 [Series M: G294].................................................. 14-6
14-2 Compound Fixed Cycles ..................................................................................14-8
14-2-1 Longitudinal roughing cycle : G71 [Series M: G271] ............................................ 14-9
14-2-2 Transverse roughing cycle: G72 [Series M: G272]............................................. 14-14
14-2-3 Contour-parallel roughing cycle: G73 [Series M: G273].....................................14-16
14-2-4 Finishing cycle: G70 [Series M: G270] ............................................................... 14-20
14-2-5 Longitudinal cut-off cycle: G74 [Series M: G274] ............................................... 14-21
14-2-6 Transverse cut-off cycle: G75 [Series M: G275]................................................. 14-24
14-2-7 Compound threading cycle: G76 [Series M: G276] ............................................ 14-27
C-6
14-2-8 Checkpoints for compound fixed cycles: G70 to G76 [Series M: G270 to
Return to Library
G276].................................................................................................................. 14-34
14-3 Hole Machining Fixed Cycles: G80 to G89 [Series M: G80, G283 to
G289]..............................................................................................................14-37
14-3-1 Outline ................................................................................................................ 14-37
14-3-2 Face/Outside deep hole drilling cycle: G83/G87 [Series M: G283/G287]........... 14-40
14-3-3 Face/Outside tapping cycle: G84/G88 [Series M: G284/G288].......................... 14-41
14-3-4 Face/Outside boring cycle: G85/G89 [Series M: G285/G289]............................ 14-42
14-3-5 Face/Outside synchronous tapping cycle: G84.2/G88.2 [Series M:
G284.2/G288.2]..................................................................................................14-42
14-3-6 Hole machining fixed cycle cancel: G80............................................................. 14-44
14-3-7 Checkpoints for using hole machining fixed cycles ............................................ 14-44
14-3-8 Sample programs with fixed cycles for hole machining...................................... 14-46
14-4 Hole Machining Pattern Cycles: G234.1/G235/G236/G237.1 [Series M:
G34.1/G35/G36/G37.1] ..................................................................................14-47
14-4-1 Overview............................................................................................................. 14-47
14-4-2 Holes on a circle: G234.1 [Series M: G34.1] ...................................................... 14-48
14-4-3 Holes on a line: G235 [Series M: G35]...............................................................14-49
14-4-4 Holes on an arc: G236 [Series M: G36].............................................................. 14-50
14-4-5 Holes on a grid: G237.1 [Series M: G37.1]......................................................... 14-51
14-5 Fixed Cycles (Series M) .................................................................................14-53
14-5-1 Outline ................................................................................................................ 14-53
14-5-2 Fixed-cycle machining data format..................................................................... 14-54
14-5-3 G71.1 [Chamfering cutter CW] (Series M).......................................................... 14-57
14-5-4 G72.1 [Chamfering cutter CCW] (Series M) ....................................................... 14-58
14-5-5 G73 [High-speed deep-hole drilling] (Series M).................................................. 14-59
C-7
14-5-6 G74 [Reverse tapping] (Series M)......................................................................14-60
Return to Library
14-5-7 G75 [Boring] (Series M)...................................................................................... 14-61
14-5-8 G76 [Boring] (Series M)...................................................................................... 14-62
14-5-9 G77 [Back spot facing] (Series M)...................................................................... 14-63
14-5-10 G78 [Boring] (Series M)......................................................................................14-64
14-5-11 G79 [Boring] (Series M)......................................................................................14-65
14-5-12 G81 [Spot drilling] (Series M).............................................................................. 14-65
14-5-13 G82 [Drilling] (Series M) ..................................................................................... 14-66
14-5-14 G83 [Deep-hole drilling] (Series M) .................................................................... 14-67
14-5-15 G84 [Tapping] (Series M) ................................................................................... 14-68
14-5-16 G85 [Reaming] (Series M)..................................................................................14-69
14-5-17 G86 [Boring] (Series M)......................................................................................14-69
14-5-18 G87 [Back boring] (Series M) ............................................................................. 14-70
14-5-19 G88 [Boring] (Series M)......................................................................................14-71
14-5-20 G89 [Boring] (Series M)......................................................................................14-71
14-5-21 Synchronous tapping [Option] (Series M)........................................................... 14-72
14-6 Initial Point and R-Point Level Return: G98 and G99 (Series M)....................14-76
14-7 Scaling ON/OFF: G51/G50 (Series M)...........................................................14-77
14-8 Mirror Image ON/OFF: G51.1/G50.1 (Series M).............................................14-90
14-9 Subprogram Control: M98, M99 .....................................................................14-91
14-10 End Processing: M02, M30, M998, M999.....................................................14-100
14-11 Chamfering and Corner Rounding at Right Angle Corner ............................14-102
14-12 Chamfering and Corner Rounding at Arbitrary Angle Corner Function......... 14-105
14-12-1 Chamfering at arbitrary angle corner: , C_ ....................................................... 14-105
C-8
14-12-2 Rounding at arbitrary angle corner: , R_........................................................... 14-106
Return to Library
14-13 Linear Angle Commands..............................................................................14-107
14-14 Macro Call Function: G65, G66, G66.1, G67................................................14-108
14-14-1 User macros ..................................................................................................... 14-108
14-14-2 Macro call instructions ...................................................................................... 14-109
14-14-3 Variables........................................................................................................... 14-118
14-14-4 Types of variables............................................................................................. 14-120
14-14-5 Arithmetic operation commands ....................................................................... 14-141
14-14-6 Control commands............................................................................................ 14-145
14-14-7 External output commands (Output via RS-232C)............................................ 14-149
14-14-8 External output command (Output onto the hard disk).....................................14-151
14-14-9 Precautions....................................................................................................... 14-153
14-14-10 Specific examples of programming using user macros ................................. 14-155
14-15 Geometric Commads (Option)......................................................................14-159
15 COORDINATE SYSTEM SETTING FUNCTIONS.............................. 15-1
15-1 Coordinate System Setting Function: G50 [Series M: G92]..............................15-1
15-2 MAZATROL Coordinate System Cancellation: G52.5 (Series T) .....................15-5
15-3 Selection of MAZATROL Coordinate System: G53.5 (Series T) ......................15-7
15-4 Selection of Workpiece Coordinate System: G54 to G59.................................15-9
15-5 Workpiece Coordinate System Shift...............................................................15-10
15-6 Change of Workpiece Coordinate System by Program Command.................15-10
15-7 Selection of Machine Coordinate System: G53..............................................15-11
15-8 Selection of Local Coordinate System: G52...................................................15-12
C-9
15-9 Automatic Return to Reference Point (Zero Point): G28, G29........................15-13
Return to Library
15-10 Return to Second Reference Point (Zero Point): G30 ....................................15-15
15-11 Return to Reference Point Check Command: G27.........................................15-17
15-12 Programmed Coordinate Conversion ON/OFF: G68.5/G69.5 [Series M:
G68/G69]........................................................................................................15-18
15-13 Workpiece Coordinate System Rotation (Series M) .......................................15-22
16 MEASUREMENT SUPPORT FUNCTIONS........................................ 16-1
16-1 Skip Function: G31...........................................................................................16-1
16-1-1 Function description.............................................................................................. 16-1
16-1-2 Amount of coasting............................................................................................... 16-3
16-1-3 Skip coordinate reading error ............................................................................... 16-4
17 PROTECTIVE FUNCTIONS............................................................... 17-1
17-1 Stored Stroke Limit ON/OFF: G22/G23............................................................17-1
18 TWO-SYSTEM CONTROL FUNCTION ............................................. 18-1
18-1 Two-Process Control by One Program: G109..................................................18-1
18-2 Specifying/Cancelling Cross Machining Control Axis: G110/G111...................18-2
18-3 M, S, T, B Output Function to Counterpart: G112 ............................................18-7
19 COMPOUND MACHINING FUNCTIONS........................................... 19-1
19-1 Programming for Compound Machining...........................................................19-1
19-2 Waiting Command: M950 to M997, P1 to P99999999......................................19-2
19-3 Balanced Cutting..............................................................................................19-4
19-4 Milling with the Lower Turret.............................................................................19-6
C-10
19-5 Compound Machining Patterns ........................................................................19-8
Return to Library
20 POLYGONAL MACHINING AND HOBBING (OPTION)..................... 20-1
20-1 Polygonal Machining ON/OFF: G51.2/G50.2 ...................................................20-1
20-2 Selection/Cancellation of Hob Milling Mode: G114.3/G113..............................20-3
21 TORNADO TAPPING (G130)............................................................. 21-1
22 HIGH-SPEED MACHINING MODE FEATURE (OPTION)................. 22-1
23 AUTOMATIC TOOL LENGTH MEASUREMENT: G37 (OPTION
FOR SERIES M)................................................................................. 23-1
24 DYNAMIC OFFSETTING ΙΙ: G54.2P0, G54.2P1 - G54.2P8
(OPTION FOR SERIES M)................................................................. 24-1
25 EIA/ISO PROGRAM DISPLAY........................................................... 25-1
25-1 Procedures for Constructing an EIA/ISO Program ...........................................25-1
25-2 Editing Function of EIA/ISO PROGRAM Display..............................................25-2
25-2-1 General................................................................................................................. 25-2
25-2-2 Operation procedure............................................................................................. 25-2
25-3 Macro-Instruction Input.....................................................................................25-8
25-4 Division of Display (Split Screen)......................................................................25-9
25-5 Editing Programs Stored in External Memory Areas ......................................25-12
C-11
- NOTE -
Return to Library
C-12
E

1 INTRODUCTION

Return to Library
EIA/ISO programs executed by the CNC unit include two modes: One is based on the G-code series T (designed for turning machines), and the other is based on the G-code series M (designed for machining centers). Depending on the types of machines, the G-code series T and M are used as follows:
G-code series T for the INTEGREX-IV machines, and G-code series M for the INTEGREX-e machines.
This manual gives descriptions in general with respect to the G-code series T designed for turning machines.
INTRODUCTION 1
1-1
1 INTRODUCTION
Return to Library
- NOTE -
1-2
E

2 UNITS OF PROGRAM DATA INPUT

Return to Library

2-1 Units of Program Data Input

The movements on coordinate axes are to be commanded in the MDI mode or machining program. The movement data are expressed in millimeters, inches or degrees.

2-2 Units of Data Setting

Various data commonly used for control axes, such as offsetting data, must be set for the machine to perform an operation as desired. The units of data setting and those of program data input are listed below.
UNITS OF PROGRAM DATA INPUT 2
Units of program data input 0.0001 mm 0.00001 in. 0.0001 deg Units of data setting 0.0001 mm 0.00001 in. 0.0001 deg
Note 1: Inch/metric selection can be freely made using either bit 4 of parameter F91 (“0” for
metric, “1” for inches; validated through power-off and -on) or G-code command s (G20, G21). Selection using the G-code commands is valid only for program data input. Variables and offsetting data (such as tool offsetting data) should therefore be set beforehand using the appropriate unit (inch or metric) for the particular machining requirements.
Note 2: Metric data and inch data cann ot be used at the same time.

2-3 Ten-Fold Program Data

Using a predetermined parameter, machining program data can be processed as set in units of one micron. There may be cases that a machining program which has been set in units of one micron is to be used with a numerical control unit based on 0.1 micron increment s. In such cases, use of this parameter allows the machine to perform the required machining operations without rewriting the program. Use bit 0 of user parameter F91 for this purpose. All types of coordinate data (axis movement data) not provided with the decimal point will be multiplied by a factor of 10. This does not apply, indeed, to preset tool-offsetting data designated with addresses H and D.
Linear axis
Metric system Inch system
Rotational axis
Linear axis
Rotational axis
Program
command
X1 (Y1 / Z1)
B1
Moving distance when program commands are executed
NC (A) for which the
program was prepared
1 micron 0.1 micron 1 micron Applicable
0.001° 0.0001° 0.001° Applicable
Bit 0 of F91 = 0 Bit 0 of F91 = 1
MAZATROL (B)Control axis
2-1
Program
applicability
(A) → (B)
2 UNITS OF PROGRAM DATA INPUT
Return to Library
- NOTE -
2-2
E

3 DATA FORMATS

Return to Library

3-1 Tape Codes

This numerical control unit (in the remainder of this manual, referred to as the NC unit) uses
command information that consists of letters of the alphabet (A, B, C .... Z), numerics (0, 1, 2 ....
9), and signs (+, –, /, and so on). These alphanumerics and signs are referred to collectively as
characters. On paper tape, these characters are represented as a combination of a maximum of eight punched holes. Such a representation is referred to as a code. The NC unit uses either the EIA codes (RS-244-A) or the ISO codes (R-840).
Note 1: Codes not included in the tape codes shown in Fig. 3-1 will result in an error when they
are read.
Note 2: Of all codes specified as the ISO codes but not specified as the EIA codes, only the
following codes can be designated using the data I/O (Tape) parameters TAP9 to TAP14:
[ Bracket Open ] Bracket Close # Sharp Asterisk = Equal sign
:Colon However, you cannot designate codes that overlap existing ones or that result in parity error.
DATA FORMATS 3
Note 3: EIA/ISO code identification is made automatically according to the first EOB/LF code
appearing after the NC unit has been reset. (EOB: End Of Block, LF: Line Feed)
1. Significant information area (LABEL SKIP function)
During tape-based automatic operation, data storage into the memory, or data searching, the NC unit will ignore the entire information up to the first EOB code (;) in the tape when the unit is turned on or reset. That is, significant information in a tape refers to the information contained in the interval from the time a character or numeric code appears, following the first EOB code (;) after the NC unit has been reset, until a reset command is given.
2. Control Out, Control In
The entire information in the area from Control Out “(” to Control In “)” will be ignored in regard to machine control, while they will surely be displayed on the data display unit. Thus, this area can be used to contain information, such as the name and number of the command tape, that is not directly related to control. During tape storage, however, the information in this area will also be stored. The NC unit will enter the Control In status when power is turned on.
3-1
3 DATA FORMATS
Return to Library
Example of EIA Code
Control InControl Out
CON
E
U
P R 1 10
O
L
B
Name of tape is printed out
CON
E
1 1 1 1
U
O
L
B
Name of tape is punched in captital letters.
N
D E
L
D
U
E
L
L
N
R R R O
U
L
R
N U
.ONMARGO
L
N UL1
/R
C
E O
I
B
D
N
N
N
1
1 1
E
L
2DE
U
L
L
E
U
U
O
L
LCI
B
MEP003
Example of ISO Code
E
C
C
OBG0 X–850 0 0 640 C U T T E R
R
R
Operator information is printed out.
Control Out
0 0 0
0 0 0G0 X 500 0 40 C U T T E R
YR
(
The information at this portion is ignored and nothing is executed.
S
S
E T U R N )
E T U R NR
P
P
Control In
E O B
3. EOR code (%)
In general, the EOR (End Of Record) code is punched at both ends of a tape and has the following functions:
- To stop rewinding (only when a rewinding device is provided)
- To start rewinding during tape data search (only when a rewinding device is provided)
- To terminate the storage of tape data.
MEP004
3-2
DATA FORMATS 3
Return to Library
4. Tape creation method for tape operation (Only when a rewinding device is used)
;
10 cm
2m First block Last block 2m
!!!!!!!!!
!!!!!!!!!
; ;
!!!!!!!!!
;
10 cm %%
TEP005
The two meters of dummy at both ends and the EOR (%) at the head are not required when a rewinding device is not used.
3-3
3 DATA FORMATS
A
A
A
A
Return to Library
EIA/ISO identification is made automatically by detecting whether EOB or LF initially appears after the NC unit has been reset.
EIA code (RS-244-A)
Feed holes
87654 321
Channel number
1 2 3 4 5 6 7 8 9 0
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 + – . , / EOR (End of Record) EOB (End of Block) or CR CO (2+4+5) CI (2+4+7)
Definable in parameters
BS (Back Space) TAB SP (Space) &
DEL (Delete)
S (All Space=Feed)* M (All Mark=EOB+DEL)*
ISO code (R-840)
Feed holes
87654 321
Channel number
1 2 3 4 5 6 7 8 9 0
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) : # ? = [ ]
BS (Back Space) HT (Horizontal Tab) SP (Space) & CR (Carriage Return) $ ' (Apostrophe) ; < > ? @
" DEL (Delete) NULL DEL (Delete)
[1]
[2]
* The codes asterisked above are not EIA codes,
but may be used for the convenience’s sake.
Fig. 3-1 Tape codes
LF or NL acts as EOB and % acts as EOR.
MEP006
3-4
Codes in section [1] will only be stored as tape data when they are present in a comment section,
A
Return to Library
and ignored elsewhere in the significant information area. Codes in section [2] are non-operative and will always be ignored (but undergo the parity-V check). A dotted area indicates that the EIA Standard provides no corresponding codes.

3-2 Program Formats

A format predetermined for assigning control information to the NC unit is referred to as a program format. The program format used for our NC unit is word address format.
1. Words and addresses
A word is a set of characters arranged as shown below, and information is processed in words.
DATA FORMATS 3
Word
Numeral
lphabet (address)
Word configuration
The alphabetic character at the beginning of a word is referred to as an address, which defines the meaning of its succeeding numeric information.
Table 3-1 Type and format of words
Item Metric command Inch command
Program No. O8
Sequence No. N5
Preparatory function
Moving axis
Auxiliary axis
Dwell
Feed
Fixed cycle
Tool offset
Miscellaneous function M3 × 4
Spindle function S5
Tool function
No. 2 miscellaneous function B8, A8 or C8
Subprogram
Variables number #5
Input unit
0.0001 mm (deg.),
0.00001 in.
0.0001 mm (deg.),
0.00001 in.
0.001 mm (rev),
0.0001 in.
0.0001 mm (deg.)/min,
0.00001 in./min
0.0001 mm (deg.),
0.00001 in.
X+54 Y+54 Z+54 α+54 X+45 Y+45 Z+45 α+45
I+54 J+54 K+54 I+45 J+45 K+45
F54 (per minute) F33 (per revolution)
R+54 Q54 P8 L4 R+45 Q45 P8 L4
G3 or G21
X54 P8 U54
F45 (per minute) F24 (per revolution)
T1 or T2
T4 or T6
P4 Q5 L4
3-5
3 DATA FORMATS
Return to Library
1. Code O8 here indicates that program number can be set as an unsigned integer of eight digits following O, and for X+54, “+” indicates that the value can be signed (negative) and the two-digit number (54) indicates that the decimal point can be used and that five digits before and four after the decimal point are effective (5 + 4 = 9 digits are effective for a designation without decimal point).
2. The alpha sign ( rotational axis.
3. The number of digits in the words is checked by the maximum number of digits in the addresses.
4. When data with decimal point is used for address for which decimal input is not available, decimal figures will be ignored.
5. If the number of integral digits exceeds the specified format, an alarm will result.
6. If the number of decimal digits exceed the specified format, the excess will be rounded.
2. Blocks
A block, unit of instruction, contains a number of words which constitute information necessary for the NC machine to perform an operation. The end of each block must be indicated by an EOB (End Of Block) code.
3. Programs
A number of blocks form one program.
4. Program end
M02, M30, M99, M998, M999 or % is used as program end code.
α) denotes additional axis address. +44 will be used when α is specified for

3-3 Tape Data Storage Format

As with tape operation, tape data to be stored into the memory can be either of ISO or EIA code. The first EOB code read in after resetting is used by the NC unit for automatic identification of the code system ISO or EIA. The area of tape data to be stored into the memeory is, if the NC unit has been reset, from the character immediately succeeding the first EOB code the EOR code, and in all other cases, from the current tape position to the EOR code. Usually, therefore, start tape data storage operation after resetting the NC unit.

3-4 Optional Block Skip

1. Function and purpose
Optional block skip is a function that selectively ignores that specific block within a machining program which begins with the slash code “/”. Any block beginning with “/” will be ignored if the [BLOCK SKIP] menu function is set to ON, or will be executed if the menu function is set to OFF. For example, if all blocks are to be executed for a type of parts but specific blocks are not to be executed for another type, then different parts can be machined using one and the same program that contains the “/” code at the beginning of the specific blocks.
3-6
2. Operating notes
Return to Library
1. Blocks that have already been read into the pre-read buffer cannot be skipped.
2. This function is valid even during sequence number search.
3. During tape data storage (input) or output, all blocks, including those having a “/” code, are in- or outputted, irrespective of the status of the [BLOCK SKIP] menu function.

3-5 Program Number, Sequence Number and Block Number : O, N

Program numbers, sequence numbers, and block numbers are used to monitor the execution status of a machining program or to call a machining program or a specific process within a machining program. Program numbers are assigned to command blocks as required. A program number must be set using the letter O (address) and a numeric of a maximum of eight digits that follow O. Sequence numbers identify command blocks forming a machining program. A sequence number must be set using the letter N (address) and a numeric of a maximum of five digits that follow N. Block numbers are counted automatically within the NC unit, and reset to 0 each time a program number or a sequence number is read. These numbers will be counted up by one if the block to be read does not have an assigned program number or sequence number. All blocks of a machining program, therefore, can be uniquely defined by combining program number, sequence number, and block number as shown in the table below.
DATA FORMATS 3
NC input machining program
O1234 (DEMO. PROG); N100 G00 X120. Z100.; G98 S1000; N102 G71 P210 Q220 I0.2 K0.2 D0.5 F600; N200 G98 S1200 F300; N210 G01 X0 Z95.; G01 X20.; G03 X50. Z80. K-15.; G01 Z55.; G02 X80. Z40. I15.; G01 X100.; G01 Z30.; G02 Z10. K-15.; N220 G01 Z0; N230 G00 X120. Z150.; N240 M02; %
NC MONITOR display
Program No. Sequence No. Block No.
1234 0 0
1234 100 0
1234 100 1
1234 102 0
1234 200 0
1234 210 0
1234 210 1
1234 210 2
1234 210 3
1234 210 4
1234 210 5
1234 210 6
1234 210 7
1234 220 0
1234 230 0
1234 240 0
1234 240 0
3-7
3 DATA FORMATS
Return to Library

3-6 Parity-H/V

One method of checking if the tape is correctly created is by parity checks. Parity checks are performed to check a tape for errors in punched codes, that is, for punching errors. There are two types of parity checks: parity-H and parity-V.
1. Parity-H check
Parity-H checks are intended to check the quantity of punched holes which form one character, and performed during tape operation, tape loading, and sequence-number searching. A parity-H error occurs in the following cases:
- ISO Codes
If a code with an odd number of punched holes is present in the significant information area.
- EIA Codes
If a code with an even number of punched holes is present in the significant information area or if non-punched holes (sprockets only) are present after a significant code in one block.
Example 1: Parity-H error (for EIA codes)
This character leads to a Parity-H error.
One block
This non-punched character will result in a Parity-H error.
These non-punched characters will not result in a Parity-H error.
If a parity-H error occurs, the tape will stop at the position next to the error code.
MEP007
3-8
DATA FORMATS 3
Return to Library
2. Parity-V check
Parity-V checks will be performed during tape operation, tape loading, or sequence-number searching, if parity-V check item on the PARAMETER display is set to ON. Parity-V during memory operation, however, will not be checked. A parity-V error occurs in the following case: If an odd number of codes are present in the significant information area from the first significant code in the vertical direction to the EOB code (;), that is, if an odd number of characters are present in one block. In the event of a parity-V error, the tape stops at a code next to the EOB (;).
Example 2: An example of parity-V error
1234567
This block leads to a Parity-V error.
MEP009
Note 1: During a parity-V check, some types of code are not counted as characters. See Fig.
3-1, “Tape codes” for further details.
Note 2: Space codes in the area from the first EOB code to the first address code or slash code
“/” are not subjected to counting for parity-V check.
3-9
3 DATA FORMATS
Return to Library

3-7 List of G-Codes

G functions are described in the list below.
Function
Positioning
Linear interpolation
Threading with C-axis interpolation G01.1 G01.1 01
Circular interpolation (CW) G02 G02 01
Circular interpolation (CCW) G03 G03 01
Spiral interpolation (CW) G02.1 G02.1 01
Spiral interpolation (CCW) G03.1 G03.1 01
Dwell G04 G04 00
High-speed machining mode G05 G05 00
Fine spline interpolation G06.1 G06.1 01
NURBS interpolation G06.2 G06.2 01
Virtual-axis interpolation G07 G07 00
Cylindrical interpolation G07.1 G07.1 00
Exact-stop check G09 G09 00
Data setting mode ON G10 G10 00
Command address OFF G10.1 G10.1 00
Data setting mode OFF G11 G11 00
Polar coordinate interpolation ON G12.1 G12.1 26
Polar coordinate interpolation OFF G13.1 G13.1 26
X-Y plane selection
Z-X plane selection
Y-Z plane selection
Inch command
Metric command
Pre-move stroke check ON G22 G22 04
Pre-move stroke check OFF ▲G23 ▲G23 04
Reference point check G27 G27 00
Reference point return G28 G28 00
Return from reference point G29 G29 00
Return to 2nd, 3rd and 4th reference points G30 G30 00
Skip function G31 G31 00
Multi-step skip 1 G31.1 G31.1 00
Multi-step skip 2 G31.2 G31.2 00
Multi-step skip 3 G31.3 G31.3 00
Thread cutting (straight, taper) G32 G33 01
Variable lead thread cutting G34 G34 01
Hole machining pattern cycle (on a circle) G234.1 G34.1 00
Hole machining pattern cycle (on a line) G235 G35 00
Hole machining pattern cycle (on an arc) G236 G36 00
Hole machining pattern cycle (on a grid) G237.1 G37.1 00
Automatic tool length measurement G37 00
Vector selection for tool radius compensation G38 00
Corner arc for tool radius compensation G39 00
Nose R/Tool radius compensation OFF ▲G40 ▲G40 07
Nose R/Tool radius compensation (left) G41 G41 07
G-code series
TM
G00 G00
G01 G01
G17 G17
G18 G18
G19 G19
G20 G20
G21 G21
Group
01
01
02
02
02
06
06
3-10
DATA FORMATS 3
Return to Library
Function
3-D tool radius compensation (left) G41.2 G41.2 07
Nose R/Tool radius compensation (right) G42 G42 07
3-D tool radius compensation (right) G42.2 G42.2 07
Tool length offset (+) G43 08
Tool tip point control (Type 1) ON G43.4 G43.4 08
Tool tip point control (Type 2) ON G43.5 G43.5 08
Tool length offset (–) G44 08
Tool position offset, extension G45 00
Tool position offset, reduction G46 00
Tool position offset, double extension G47 00
Tool position offset, double reduction G48 00
Tool position offset OFF ▲G49 08
Coordinate system setting/Spindle clamp speed setting G50 G92 00
Scaling OFF ▲G50 11
Scaling ON G51 11
Mirror image OFF ▲G50.1 19
Mirror image ON G51.1 19
Polygonal machining mode OFF ▲G50.2 ▲G50.2 23
Polygonal machining mode ON G51.2 G51.2 23
Local coordinate system setting G52 G52 00
MAZATROL coordinate system cancel
Machine coordinate system selection G53 G53 00
MAZATROL coordinate system selection
Selection of workpiece coordinate system 1 ▲G54 ▲G54 12
Selection of workpiece coordinate system 2 G55 G55 12
Selection of workpiece coordinate system 3 G56 G56 12
Selection of workpiece coordinate system 4 G57 G57 12
Selection of workpiece coordinate system 5 G58 G58 12
Selection of workpiece coordinate system 6 G59 G59 12
Additional workpiece coordinate systems G54.1 G54.1 12
Selection of fixture offset G54.2 23
One-way positioning G60 G60 00
Exact stop mode G61 G61 13
High-accuracy mode (Geometry compensation) G61.1 G61.1 13
Automatic corner override G62 G62 13
Tapping mode G63 G63 13
Cutting mode ▲G64 ▲G64 13
User macro single call G65 G65 00
User macro modal call A G66 G66 14
User macro modal call B G66.1 G66.1 14
User macro modal call OFF ▲G67 ▲G67 14
Programmed coordinate rotation ON
Programmed coordinate rotation OFF
3-D coordinate conversion ON G68.5 G68 16
3-D coordinate conversion OFF ▲G69.5 ▲G69 16
Finishing cycle G70 G270 09
Longitudinal roughing cycle G71 G271 09
Transverse roughing cycle G72 G272 09
G-code series
TM
G52.5
G53.5
—00
—00
G68 16
G69 16
Group
3-11
3 DATA FORMATS
Return to Library
Function
Contour-parallel roughing cycle G73 G273 09
Longitudinal cut-off cycle G74 G274 09
Transverse cut-off cycle G75 G275 09
Compound thread-cutting cycle G76 G276 09
Fixed cycle OFF ▲G80 ▲G80 09
Front driling cycle G83 G283 09
Front tapping cycle G84 G284 09
Front synchronous tapping cycle G84.2 G284.2 09
Front boring cycle G85 G285 09
Outside driling cycle G87 G287 09
Outside tapping cycle G88 G288 09
Outside synchronous tapping cycle G88.2 G288.2 09
Outside boring cycle G89 G289 09
Fixed cycle A (Longitudinal turning cycle) G90 G290 09
Threading cycle G92 G292 09
Fixed cycle B (Transverse turning cycle) G94 G294 09
Fixed cycle (Chamfering cutter 1, CW)
Fixed cycle (Chamfering cutter 2, CCW)
Fixed cycle (High-speed deep-hole drilling)
Fixed cycle (Reverse tapping)
Fixed cycle (Boring 1)
Fixed cycle (Boring 2)
Fixed cycle (Back spot facing)
Fixed cycle (Boring 3)
Fixed cycle (Boring 4)
Fixed cycle (Spot drilling)
Fixed cycle (Drilling)
Fixed cycle (Deep-hole drilling)
Fixed cycle (Tapping)
Fixed cycle (Synchronous tapping)
Fixed cycle (Synchronous reverse tapping)
Fixed cycle (Reaming)
Fixed cycle (Boring 5)
Fixed cycle (Back boring)
Fixed cycle (Boring 6)
Fixed cycle (Boring 7)
Absolute data input
Incremental data input
Workpiece coordinate system rotation
Inverse time feed G93 G93 05
Constant peripheral speed control ON
Constant peripheral speed control OFF
Feed per minute (asynchronous)
Feed per revolution (synchronous)
Initial point level return in fixed cycles
R-point level return in fixed cycles
Single program multi-system control G109 G109 00
G-code series
TM
G96 G96
G97 G97
G98 G94
G99 G95
G71.1 09
G72.1 09
G73 09
G74 09
G75 09
G76 09
G77 09
G78 09
G79 09
G81 09
G82 09
G83 09
G84 09
G84.2 09
G84.3 09
G85 09
G86 09
G87 09
G88 09
G89 09
G90
G91
G92.5 00
G98 10
G99 10
Group
03
03
17
17
05
05
3-12
DATA FORMATS 3
Return to Library
Function
Cross machining control ON G110 G110 20
Cross machining control OFF G111 G111 20
M, S, T, B output to opposite system G112 G112 00
Hob milling mode OFF G113 G113 23
Hob milling mode ON G114.3 G114.3 23
Polar coordinate input ON G122 G16 18
Polar coordinate input OFF G123 G15 18
X-axis radial command ON G122.1 00
X-axis radial command OFF ▲G123.1 00
Selection between diameter and radius data input G10.9
Tornado cycle G130 G130
Measurement macro, workpiece/coordinate measurement G136 G136
Compensation macro G137 G137
G-code series
TM
Group
Notes:
1. The codes marked with are selected in each group when the power is turned ON or executing reset for initializing modal.
2. The codes marked with " are able to be selected by a parameter as an initial modal which is to become valid when the power is turned ON or executing reset for initializing modal. Changeover of inch/metric system, however, can be made valid only by turning the power ON.
3. G-codes of group 00 are those which are not modal, and they are valid only for commanded blocks.
4. If a G-code not given in the G-code list is commanded, an alarm is displayed. And if a G­code without corresponding option is commanded, an alarm is displayed (808 MIS-SET G CODE).
5. If G-codes belong to different groups each other, any G-code can be commanded in the same block. The G-codes are then processed in order of increasing group number. If two or more G-codes belonging to the same group are commanded in the same block, a G-code commanded last is valid.
3-13
3 DATA FORMATS
Return to Library
- NOTE -
3-14
E

4 BUFFER REGISTERS

Return to Library

4-1 Input Buffer

1. Overview
During tape operation or RS-232C operation, when the preread buffer becomes empty, the contents of the input buffer will be immediately shifted into the pre-read buffer and, following this, if the memory capacity of the input buffer diminuishes to 248 × 4 characters or less, next data (up to 248 characters) will be preread from the tape and then stored into the input buffer. The input buffer makes block-to-block connections smooth by eliminating any operational delays due to the tape-reading time of the tape reader. These favorable results of prereading, however, will be obtained only if the execution time of the block is longer than the tape-reading time of the next block.
BUFFER REGISTERS 4
Tape
Keyboard
Input buffer
Memory
Mode selection
Preread buffer 5
Buffer 4
Buffer 3
Buffer 2
Buffer 1
Note:
One block of data is stored in one buffer.
2. Detailed description
- The memory capacity of the input buffer is 248 × 5 characters (including the EOB code).
- The contents of the input buffer register are updated in 248-character units.
Arithmetic
operation
process
TEP010
- Only the significant codes in the significant information area are read into the buffer.
- Codes, including “(” and “)”, that exist between Control Out and Control In, are read into the
input buffer. Even if optional block skip is valid, codes from / to EOB will also be read into the input buffer.
- The contents of the buffer are cleared by a reset command.
4-1
4 BUFFER REGISTERS
Return to Library

4-2 Preread Buffer

1. Overview
During automatic operation, one block of data is usually preread to ensure smooth analysis of the program. During tool nose radius compensation, however, maximal five blocks of data are preread to calculate crossing point or to check the interference.
2. Detailed description
- One block of data is stored into the prepared buffer.
- Only the significant codes in the significant information area are read into the pre-read buffer.
- Codes existing between Control Out and Control In are not read into the pre-read buffer. If
optional block skip is valid, codes from / to EOB will not also be read into the pre-read buffer.
- The contents of the buffer are cleared by a reset command.
- If the single block operation mode is selected during continuous operation, processing will stop
after pre-reading the next block data.
4-2
E

5 POSITION PROGRAMMING

Return to Library

5-1 Dimensional Data Input Method

5-1-1 Absolute/Incremental data input (Series T)

In the use of G-code series T, absolute and incremental data input methods are distinguished by axis addresses as shown in the table below.
Command system Remarks
Absolute data
Incremental data
X-axis Address X Z-axis Address Z C-aixs Address C Y-aixs Address Y X-axis Address U Z-axis Address W C-aixs Address H Y-aixs Address V
- The address corresponding to the desired axis is to
- Absolute and incremental data can be used together
- Address of incremental data input for A- and B-axes
POSITION PROGRAMMING 5
be set by machine parameter.
in the same block.
does not exist.
Example:
X_____ W_____ ;
Incremental data input for the Z-axis
Absolute data
for the X-axis
input
5-1
5 POSITION PROGRAMMING
Return to Library

5-1-2 Absolute/Incremental data input: G90/G91 (Series M)

1. Function and purpose
Setting of G90 or G91 allows succeeding dimensional data to be processed as absolute data or incremental data. Setting of arc radius (with address R) or arc center position (with addresses I, J, K) for circular interpolation, however, must always refer to incremental data input, irrespective of preceding G90 command.
2. Programming format
G90 (or G91) Xx
Yy1 Zz1 αα1 (α : Additional axis)
1
where G90: Absolute data input
G91: Incremental data input
3. Detailed description
1. In the absolute data mode, axis movement will be performed to the program-designated position within the workpiece coordinate system, irrespective of the current position.
N1 G90G00X0 Y0
In the incremental data mode, axis movement will be performed through the program­designated distance as relative data with respect to the current position.
N2 G91G01X200. Y50. F100
N2 G90G01X200. Y50. F100
Y
200.
Tool
100. N1
N2
100. 200. 300.
W
X
MEP011
Commands for a movement from the origin of the workpiece coordinate system are given with the same
values, irrespective of whether the absolute data mode or the incremental
data mode is used.
2. The last G90 or G91 command works as a modal one for the following blocks.
(G90) N3 X100. Y100.
This block will perform a movement to the position of X = 100 and Y = 100 in the workpiece coordinate system.
(G91) N3 X-100. Y50.
This block will perform a movement of –100 on the X-axis and +50 on the Y-axis, and thus result in a movement to the position of X = 100 and Y = 100.
5-2
200.
Return to Library
POSITION PROGRAMMING 5
Y
100.
100. 200. 300.
W
N3
X
MEP012
3. Multiple G90 or G91 commands can be set in one block, and thus only a specific address can be set as absolute data or incremental data.
N4 G90X300. G91Y100.
In this example, dimensional data X300 preceded by G90 will be processed as an absolute data input, and Y100 preceded by G91 as an incremental data input. Therefore, this block will result in a movement to the position of X = 300 and Y = 200 (100 + 100) in the workpiece coordinate system.
Y
200.
N4
100.
X
W
100. 200.
300. MEP013
Moreover, G91 (incremental data input mode) will work for the succeeding blocks.
4. Either the absolute data mode or the incremental data mode can be freely selected as initial mode by setting the bit 2 of user parameter F93.
5. Even in the MDI (Manual Data Input) mode, G90 and G91 will also be handled as modal commands.
5-3
5 POSITION PROGRAMMING
Return to Library

5-2 Inch/Metric Selection: G20/G21

1. Function and purpose
Inch command/metric command selection is possible with G-code commands.
2. Programming format
G20: Inch command selection G21: Metric command selection
3. Detailed description
1. Changeover between G20 and G21 is effective only for linear axes; it is meaningless for rotational axes.
Example: Preset unit of data input and G20/G21 (for decimal-point input type Ι)
Axis Example
X Y Z B
X100
Y100
Z100
B100
Initial Inch (parameter) OFF Initial Inch (parameter) ON
G21 G20 G21 G20
0.0100 mm 0.0254 mm 0.00039 inches 0.00100 inches
0.0100 mm 0.0254 mm 0.00039 inches 0.00100 inches
0.0100 mm 0.0254 mm 0.00039 inches 0.00100 inches
0.0100 deg 0.0100 deg 0.0100 deg 0.0100 deg
2. To perform G20/G21 changeover in a program, you must first convert variables, parameters, and offsetting data (such as tool length/tool position/tool diameter offsetting data) according to the unit of data input for the desired system (inch or metric) a nd then set all these types of data either on each data setting display or using the programmed parameter input function.
Example: If Initial inch selection is OFF and offsetting data is 0.05 mm, the offsetting data
must be converted to 0.002 (0.05 ÷ 25.4 0.002) before changing the G21 mode over to the G20 mode.
3. In principle, G20/G21 selection should be done before machining. If you want this changeover to be performed in the middle of the program, temporarily stop the program by an M00 command after G20 or G21 and convert the offsetting data as required.
Example: G21 G92 Xx
Yy1 Zz
1
1
MM MM MM
G20 G92 Xx
Yy2 Zz
2
2
M00 Convert offsetting data here.
M
F10 Set an F (Feed rate) command anew.
Note: Do not fail to give an F command appropriate to the new unit system after
changeover between G20 and G21. Otherwise, axis movements would be performed using the last F value before the changeover, without any conversion, on the basis of the new unit system.
4. Whether G20 or G21 is to be selected upon switching-on can be specified by the bit 4 of user parameter F91 (Initial Inch parameter).
5-4

5-3 Decimal Point Input

Return to Library
1. Function and purpose
The decimal point can be used to determin the units digit (mm or inch) of dimensional data or feed rate.
2. Programming format
!!!!!.!!!! Metric system
!!!!.!!!!! Inch system
3. Detailed description
1. Decimal-point commands are valid only for the distance, angle, time, speed, and scaling factor (only after G51) that have been set in the machining program.
2. As listed in the table below, the meaning of command data without the decimal point differs between decimal-point input types Ι and ΙΙ according to the type of command unit system.
Command Command unit × 10 Type Ι Type ΙΙ
X1
POSITION PROGRAMMING 5
OFF 0.0001 (mm, inches, deg) 1.0000 (mm, inches, deg)
ON 0.0010 (mm, inches, deg) 1.0000 (mm, inches, deg)
3. Decimal-point commands are only valid for addresses X, Y, Z, U, V, W, A, B, C, I, J, K, E, F, P, Q and R, where address P only refers to a scaling factor.
4. The number of effective digits for each type of decimal-point command is as follows:
Move command
(Linear)
Integral part Decimal part Integral part Decimal part Integral part Decimal part Integral part Decimal part
mm 0. - 99999. .0000 - .9999 0. - 99999. .0000 - .9999 0. - 200000. .0000 - .9999 0. - 99999. .000 - .999
inch 0. - 9999.
.00000 ­ .99999
Move command
(Rotational)
0. - 99999. (359.)
Feed rate Dwell
.0000 - .9999 0. - 20000.
.00000 ­ .99999
0. - 99999. .000 - .999
5. Decimal-point commands are also valid for definition of variables data used in subprograms.
6. For data which can be, but is not specified with the decimal point, either the minimum program data input unit or mm (or in.) unit can be selected using bit 5 of parameter F91.
7. A decimal-point command issued for an address which does not accept the decimal point will be processed as data that consists of an integral part only. That is, all decimal digits will be ignored. Addresses that do not accept the decimal point are D, H, L, M, N, O, S and T. All types of variables command data are handled as the data having the decimal point.
5-5
5 POSITION PROGRAMMING
Return to Library
4. Sample programs
A. Sample programs for addresses accepting the decimal point
Command category
Program example
G0X123.45
(With the decimal point always given as the millimeter point)
G0X12345
#111=123 #112=5.55
X#111 Y#112
#113=#111+#112 (ADD) #114=#111–#112 (SUBTRACT) #115=#111#112 (MULTIPLY)
#116=#111/#112
#117=#112/#111 (DIVIDE)
For 1 = 1 µ For 1 = 0.1 µ 1 = 1 mm
X123.450 mm X123.450 mm X123.450 mm
X12.345 mm* X1.2345 mm** X12345.000 mm***
X123.000 mm Y5.550 mm
#113 = 128.550 #114 = 117.450 #115 = 682.650 #116 = 22.162
#117 = 0.045
* The least significant digit is given in 1 micron. ** The least significant digit is given in 0.1 micron. *** The least significant digit is given in 1 mm.
5-6
B. Validity of decimal point for each address
Return to Library
POSITION PROGRAMMING 5
Decimal
Address
A
B
C
D Invalid
E Valid Valid
F Valid Feed rate Valid
G Valid Preparatory function code
H
I
J
K
L Invalid
M Invalid Miscellaneous function code
point
command
Valid Coordinate position data Invalid Dwell time
Invalid
Valid Linear angle data Invalid Number of helical pitches
Valid Coordinate position data Invalid Offset amount (in G10)
Invalid
Valid Coordinate position data Valid
Invalid
Valid Corner chamfering amount
Invalid
Invalid
Valid Coordinate of arc center U Valid Coordinate position data
Valid
Valid Coordinate of arc center W Valid Coordinate position data
Valid
Valid Coordinate of arc center
Valid
Valid Knot for NURBS curve Z Valid Coordinate position data
Rotary table Miscellaneous function code
Rotary table Miscellaneous function code
Rotary table Miscellaneous function code
Offset number (tool position, tool length and tool diameter)
Offset number (tool postion, tool length and tool diameter)
Intra-subprogram sequence number
Vector component for tool diameter offset
Vector component for tool diameter offset
Vector component for tool diamater offset
Fixed cycle/subprogram repetition
Application Remarks Address
P
Q
R
S Invalid Spindle function code
T Invalid Tool function code
V Valid Coordinate position data
X
Y Valid Coordinate position data
Decimal
point
command
Valid Subprogram call number
Valid Scaling factor
Invalid Rank for NURBS curve
Cutting depth for deep-hole drilling cycle
Valid Shift amount for back boring
Valid Shift amount for fine boring
Valid R point in fixed cycle
Radius of an arc with R selected
Radius of an arc for corner rounding
Valid Offset amount (in G10) Valid Weight for NURBS curve
Valid Coordinate position data
Valid Dwell time
Application Remarks
N Invalid Sequence number
O Invalid Program number
Note: The decimal point is valid in all the arguments for a user macroprogram.
5-7
5 POSITION PROGRAMMING
Return to Library

5-4 Polar Coordinate Input ON/OFF: G122/G123 [Series M: G16/G15]

1. Function and purpose
The end point of interpolation can be designated with polar coordinates (radius a nd an gle). Polar coordinate input is available only in the mode of polar coordinate interpolation.
2. Programming format
G122...........Polar coordinate input ON (G-code group No. 18)
G123...........Polar coordinate input OFF (G-code group No. 18)
3. Detailed description
Even in the mode of polar coordinate input, positional commands for the axes that have no relation to the polar coordinate interpolation are available as ordinary commands.
In the mode of polar coordinate input, the length must always be designated in radius values, regardless of the modal state for radius/diameter data input (G122.1/G123.1). This also applies to the axes that have no relation to the polar coordinate interpolation.
The last modal state for radius/diameter data input before the G122 command will be restored automatically by the cancel command G123.
4. Sample program
G12.1; …………………Polar coordinate interpolation ON G122; …………………Polar coordinate input ON
G01 X50.C30.F100;
G02 X50.C60.R50;
G123; …………………Polar coordinate input OFF G13.1; …………………Polar coordinate interpolation OFF
5. Remarks
1. Enter polar coordinates with respect to the plane of polar coordinate interpolation.
2. Positive values (+) for angle data refer to measurement in the counterclockwise direction on the plane of polar coordinate interpolation.
3. Use address R to designate the radius for circular interpolation (G02 or G03).
4. If the G122 command is given without selecting the mode of polar coordinate interpolation (by G12.1), an alarm will occur.
5. If the polar coordinate interpolation mode is cancelled (by G13.1) during polar coordinate input, the mode of polar coordinate input will be cancelled together with the mode of polar coordinate interpolation.
6. G122 and G123 must be given in an independent block. That is, the block of G122 or G123 must not contain any other G-codes or addresses with the exception of N and P.
7. The following G-codes are available during polar coordinate input. An alarm will occur if any G-code other than these is specified.
Available G-codes G00 Positioning
G01 Linear interpolation G02 Circular interpolation (CW)
5-8
POSITION PROGRAMMING 5
Return to Library
G03 Circular interpolation (CCW) G04 Dwell G09 Exact-stop check G13.1 Polar coordinate interpolation OFF G15 Polar coordinate input OFF (in G-code series M) G40-G42 Tool radius compensation G61 Exact-stop mode G64 Cutting mode G65 User macro single call G66 User macro modal call A G66.1 User macro modal call B G67 User macro modal call OFF G80-G89 Fixed cycles for hole machining G98 Asynchronous feed G123 Polar coordinate input OFF

5-5 X-axis Radial Command ON/OFF: G122.1/G123.1 (Series T)

1. Function and purpose
The X-axis dimensions can be entered in radial values, instead of diametrical ones, by the aid of a preparatory function (G-code) in order to improve EIA/ISO programming efficiency for milling.
2. Programming format
G122.1........X-axis radial data input ON (G-code group No. 25)
G123.1........X-axis radial data input OFF (G-code group No. 25)
3. Detailed description
All the X-axis dimensions entered after G122.1 are processed as radial values until the command G123.1 is given for the restoration of diametrical data input mode for the X-axis.
4. Sample program
M
G122.1;
Counter indication on
POSITION display
......X-axis radial data input ON
Modal indication on
POSITION display
M G1X10.F100;
......Radial dimension
X20. G122.1
M G123.1;
......X-axis radial data input OFF
M G1X10.F100;
......Diametrical dimension
X10. G123.1
M
5. Remarks
1. The counter indication on the POSITION display always refers to a diametrical value even in the mode of G122.1.
2. The selection of the G122.1 mode does not exercise any influence upon parameters, offset values, etc.
3. G123.1 is selected as the initial mode when the power is turned on.
4. Resetting causes the mode of G122.1 to be canceled and replaced by the G123.1 mode.
5-9
5 POSITION PROGRAMMING
Return to Library
5. Even in the G122.1 mode the X-axis dimensions entered under the following modal functions are always processed as diametral values. Issuance of these G-code commands also cancels G122.1 mode:
G7.1 Cylindrical interpolation G12.1 Polar coordinate interpolation ON G69.5 3-D coordinate conversion OFF G123 Polar coordinate input OFF G22 Pre-move stroke check ON
6. Even in the G123.1 mode the X-axis dimensions entered under the following modal functions are always processed as radial values (with diametrical indication on the POSITON display):
G68.5 3-D coordinate conversion ON G122 Polar coordinate input ON
7. Various settings for software limits and barrier functions are not to be changed.

5-6 Selection betw een Diameter and Radius Data Input: G10.9 (Series M)

1. Function and purpose
The G10.9 command allows changeover between diameter data input and radius data input, facilitating the creation of the turning section in a compound machining program.
2. Programming format
G10.9 A
3. Remarks
1. Give the G10.9 command in a single-command block. Otherwise it may be ignored.
2. If the G10.9 command is not followed by an axis address, the alarm 807 ILLEGAL
3. Do not assign a decimal point to the numerical value that follows the axis address. Moreover,
4. The G10.9 command only changes the method of programming the positional data for the
_
x
A
: Address of the axis for which diameter or radius data input is to be specified.
x
Numerical value = 0: Radius data input
1: Diameter data input
FORMAT is caused. Also, the alarm 806 ILLEGAL ADDRESS is caused if a rotational axis is specified in the G10.9 command.
assigning a value other than 0 and 1 results in the alarm 809 ILLEGAL NUMBER INPUT.
particular axis. It does not affect various external data such as paramete rs, workp iece origi n data, tool data, and tool offset data.
5. Irrespective of whether the absolute programming (G90) or the incremental programming (G91) is currently modal, designate the position in diameter values for the axis for which diameter data input has been selected.
5-10
POSITION PROGRAMMING 5
Return to Library
4. Relationship to other G-codes
Diameter data input applies in general to the positional data of the specified axis.
1. For positioning (G00), linear interpolation (G01) and coordinate system setting (G92) Designate the position in diameter values for the specified axis.
2. For circular interpolation (G02/G03) Only the position of the ending point is to be designated in a diameter value for the specified
axis. The center, or radius, of the arc must always be designated in radius values (with I, K, or R). The example below refers to a turning program with the X-axis specified as the axis in question. The values with X and I denote the diameter data of the ending point and the radius data of the arc center (incremental to the starting point), respectively, for the X-axis.
Absolute programming: G90 G02 X120.Z70.I50.F200 Incremental programming: G91 G02 X100.Z-30.I50.F200
X-axis
Ending
point
50. Starting
point
120.
20.
30.70.
Z-axis
3. For fixed cycle of turning Designate the position in diameter values for the specified axis. The amount of taper (for
turning fixed cycle) as well as the depth of cut and the finishing allowance (for compound cycle of turning), however, must always be designated in radius values.
4. For threading (G32/G33, G34, G1.1) Designate the position of the ending point in diameter values for the specified axis. The lead,
however, must always be designated in radius values (with F or E).
5-11
5 POSITION PROGRAMMING
Return to Library
- NOTE -
5-12
E

6 INTERPOLATION FUNCTIONS

Return to Library

6-1 Positioning (Rapid Feed) Command: G00

1. Function and purpose
Positioning command G00 involves use of a coordinate word. This command positions a tool by moving it linearly to the ending point specified by a coordinate word.
2. Programming format
INTERPOLATION FUNCTIONS 6
G00 Xx/Uu Zz/Ww Where x, u, z, w and
The command addresses are valid for all additional axis.
3. Detailed description
1. Once this command has been given, the G00 mode will be retained until any other G-code command that overrides this mode, that is, either G01, G02, G03, or G32 of command group 01 is given. Thus, a coordinate word will only need be given if the next command is also G00. This function is referred to the modal function of the command.
2. In the G00 mode, acceleration/deceleration always takes place at the starting/ending point of a block and the program proceeds to the next block after confirming that the pulse command in the present block is 0 and the tracking error of the acceleration/deceleration cycle is 0. The width of in-position can be changed using a parameter (S13).
3. The G-code functions (G83 to G89) of command group 09 are canceled by the G00 command (G80).
4. The tool path can be made either linear or nonlinear using a parameter (F91 bit 6) but the positioning time remains unchanged.
- Linear path
As with linear interpolation (G01), the tool speed is limited according to the rapid feed rate of each axis.
αα ;(α denotes an additional axis, that is, B-, C- or Y-axis)
α denote a coordinate.
- Nonlinear path
The tool is positioned according to the separate rapid feed rate of each axis.
5. When no number following G address, this is treated as G00.
6-1
6 INTERPOLATION FUNCTIONS
Return to Library
4. Sample programs
Example:
+X
JawChuck
Starting point (+180, +300)
(Unit: mm)
TEP012’
Workpiece
Ending point (+100, +150)
+Z
The diagram above is for:
G00 X100.000 Z150.000; Absolute data command G00 U–80.000 W–150.000; Incremental data command
5. Remarks
1. If bit 6 of user parameter F91 is 0, the tool will take the shortest path connecting the starting
and ending points. The positioning speed will be calculated automatically to give the shortest allocation time within the limits of the rapid feed rate of each axis. For example, if you set a rapid feed rate of 9600 mm/min for both X- and Z-axes and make the program:
G00 Z–300.000 X400.000;
then the tool will move as shown in the diagram below.
bit 6 = 0
F91
Ending point
Z-axis effective feedrate: 9600 mm/min
300
400
fz
Starting point
X-axis effective feedrate: 6400 mm/min
fx
X
Z
(Unit: mm)
TEP013
For inch-specification machines, the rapid feed rate of the C-axis is limited to 89 rpm (32000/360) even if item C of parameter M1 is set to a value greater than 32000.
2. If bit 6 of user parameter F91 is 1, the tool will move from the starting point to the ending
point according to the rapid feed rate of each axis. For example, if you set a rapid feed rate of 9600 mm/min for both X- and Z-axes and make the program:
G00 Z–300.000 X400.000;
6-2
then the tool will move as shown in the diagram below.
Return to Library
bit 6 = 1
F91
Ending point
INTERPOLATION FUNCTIONS 6
X-axis effective feedrate: 9600 mm/min
400
300
fz
Z-axis effective feedrate: 9600 mm/min
Starting point
fx
X
Z
(Unit: mm)
TEP014
3. The rapid feed rate that you can set for each axis using the G00 command varies from
machine to machine. Refer to the relevant machine specification for further details.
4. Rapid feed (G00) deceleration check
When processing of rapid feed (G00) is completed, the next block will be executed after the deceleration check time (Td) has passed. The deceleration check time (Td) is calculated by following expressions depending on the acceleration/deceleration type.
Linear acceleration/linear deceleration ..............................Td = Ts + a
Exponential acceleration/linear deceleration .....................Td = 2 × Ts + a
Exponential acceleration/exponential deceleration............Td = 2 × Ts + a
(Where Ts is the acceleration time constant, a = 0 to 14 msec)
The time required for the deceleration check during rapid feed is the longest among the rapid feed deceleration check times of each axis determined by the rapid feed acceleration/deceleration time constants and by the rapid feed acceleration/deceleration mode of the axes commanded simultaneously.
6-3
6 INTERPOLATION FUNCTIONS
Return to Library

6-2 One-Way Positioning: G60

1. Function and purpose
Highly accurate positioning free from any backlash error can be performed when the axis movement is controled by the G60 command so that the final access always takes place in one determined direction.
2. Programming format
G60 Xx/Uu Zz/Ww α
α; (α: Additional axis)
3. Detailed description
1. The direction of final access and its creeping distance must be set in parameter I1.
2. After rapid approach to a position away from the ending point by the creeping distance, the
final access is performed in the predetermined direction at a speed corresponding with the rapid feed.
Positio ning pointG60 a
Final access directio n
(–)
Starting point
Temporary stop
G60 creeping distance
Ending point
G60 –a
Starting point
3. The positioning pattern described above also applies during machine locking or for a Z-axis
command with the Z-axis cancellation activated.
(+)
MEP018
4. In the dry run mode (G00 mode), the whole positioning is carried out at the dry-running
speed.
5. The creeping to the einding point can be halted with Reset, Emergency stop, Interlock, or
Feed hold, or by setting the rapid feed override to 0 (zero). The creeping is performed according to the setting of the rapid feed, and the rapid feed override function is also effective for the creeping.
6. One-way positioning is automatically invalidated for the hole-drilling axis in hole-drilling
fixed-cycle operations.
7. One-way positioning is automatically invalidated for shifting in fine-boring or back-boring
fixed-cycle operations.
8. Usual positioning is performed for an axis not having a parameter-set creeping distance.
9. One-way positioning is always of non-interpolation type.
10. An axis movement command for the same position as the ending point of the preceding
block (movement distance = 0) will cause reciprocation through the creeping distance so that the final access can be performed in the predetermined direction for an accurate positioning to the desired point.
6-4

6-3 Linear Interpolation Command: G01

Return to Library
1. Function and purpose
Command G01 involves use of both a coordinate word and a feed rate comman d. This command moves (interpolates) linearly a tool from the current position to the ending point specified by a coordinate word, at the feed rate specified by address F. The feed rate specified by address F, however, acts as the linear velocity relative to the direction of movement of the tool center.
2. Programming format
INTERPOLATION FUNCTIONS 6
G01 Xx/Uu Zz/Ww where x, u, z, w and
αα Ff; (α: Additional axis)
α each denote a coordinate.
X-axis
zw
Command point
u 2
Current position
X-axis
x
TEP015
3. Detailed description
Once this command has been given, the G01 mode will be retained until any other G-code command that overrides this mode, that is, either G00, G02, G03 or G32 of command group 01 is given. Thus, a coordinate word will only need be given if the next command is also G01, that is, if the feed rate for the next block remains the same. A programming error will result if an F-code command is not given to the first G01 command. The feed rates for rotational axes must be set in deg/min. (Example : F300 = 300 deg/min) The G-code functions (G70 to G89) of command group 09 are cancelled by G01 (set to G80).
6-5
6 INTERPOLATION FUNCTIONS
Return to Library
4. Sample program
Example 1: Taper turning
X-axis
20.0
Current position
50.0
Z-axis
TEP016
G01 X50.0 Z20.0 F300;
Example 2: Program for moving the tool at a cutting feed rate of 300 mm/min via the route of
P
1→P2 →P3 →P4
(where the sections P0→P1 and P4 →P0 form a positioning route
for the tool):
+X
+Z
240 200
140 100
Turret
P
1
P
P
2
40 90 160 220 230
P
3
P
4
0
Unit: mm
G00 X200.000 Z40.000; P0 P G01 X100.000 Z90.000 F300; P1 P
Z160.000; P2 P
X140.000 Z220.000; P3 P
G00 X240.000 Z230.000; P4 P
6-6
TEP017
1 2 3 4 0

6-4 Circular Interpolation Commands: G02, G03

Return to Library
1. Function and purpose
Commands G02 and G03 move the tool along an arc.
2. Programming format
INTERPOLATION FUNCTIONS 6
G02 (G03)
Xx/Uu Zz/Ww (Yy/Vv) Ii Kk (Jj) Ff ;
Coordinates of the ending point
Counterclockwise(CCW) Clockwise (CW)
Coordinates of the arc center
Feedrate
X/U: Arc ending point coordinates, X-axis (absolute value of workpiece coordinate system fo r X,
incremental value from present position for U)
Z/W: Arc ending point coordinates, Z-axis (absolute value of workpiece coordinate system for Z,
incremental value from present position for W)
Y/V: Arc ending point coordinates, Y-axis (absolute value of workpiece coordinate system for Y,
incremental value from present position for V) I : Arc center, X-axis (radius command, incremental value from starting point) K : Arc center, Z-axis (incremental value from starting point) J : Arc center, Y-axis (incremental value from starting point) F : Feed rate
X-axis
Ending point
u 2
Starting point
Center
i
z
x
wk
Z-axis
TEP018
6-7
6 INTERPOLATION FUNCTIONS
Return to Library
For machines with Y-ax is control, arc interpolation is, additionally to Z-X plane, also available for X-Y and Y-Z planes.
X-Y plane G17;
G02 (G03) X_Y_I_J_F_; For milling on the face
Z-X plane G18;
G02 (G03) X_Z_I_K_F_; For normal turning
Y-Z plane G19;
G02 (G03) Y_Z_J_K_F_; For Y-axis milling on OD surface
3. Detailed description
1. Once the G02 (or G03) command has been given, this command mode will be retained until
any other G-code command used to override the G02 (or G03) comma nd mode, that is, G00 or G01 of command group 01 is given.
2. The direction of circular movement is determined by G02/G03.
G02: CW (Clockwise) G03: CCW (Counterclockwise)
+X
Chuck
Work­piece
CCW (G03)
CW (G02)
Turret
+X
+Z
TEP019
3. Interpolation of an arc that spans multiple quadrants can be defined with one block.
4. To perform circular interpolation, the following information is required:
- Rotational direction......................CW (G02) or CCW (G03)
- Arc ending point coordinates .......Given with address X, Z, Y, U, W, V.
- Arc center coordinates.................Given with address I, K, J. (Incremental dimension)
- Feed rate......................................Given with address F.
5. If none of the addresses I, K, J and R is specified, a program error will occur.
+Z
6. Addresses I, K and J are used to specify the coordinates of the arc center in the X, Z and Y
directions respectively as seen from the starting point, therefore, care must be taken for signs.
6-8
4. Sample programs
p
A
Return to Library
X-axis
50.0
Coordinate
oint
zero
20.0
50.070.0
G02 X120.0 Z70.0 I50.0 F200; Absolute data setting G02 U100.0 W–50.0 I50.0 F200; Incremental data setting
5. Notes on circular interpolation
INTERPOLATION FUNCTIONS 6
120.0 Z-axis
TEP020
1. Clockwise (G02) or Counterclockwise (G03) during circular interpolation refers to the rotational direction in the right-handed coordinate system when seen from the plus side toward the minus side of the coordinate axis perpendicular to the plane to be interpolated.
2. If the coordinates of the ending point are not set or if the starting and ending points are set at the same position, designating the center using address I, K or J will result in an arc of 360 degrees (true circle).
3. The following will result if the starting-point radius and the ending-point radius are not the same.
- If error ∆R is larger than the parameter F19 (tole rance fo r radial value difference at ending
point), a program error (817 INCORRECT ARC DATA) will occur at the starting point of the arc.
G02 Z80.K50.;
+X
larm stop
Starting
point
Center
Radius at starting point
+Z
Ending point
Radius at ending point
R
TEP021
6-9
6 INTERPOLATION FUNCTIONS
Return to Library
- If error R is equal to or smaller than the parameter data, interpolation will take a spiral
form heading for the programmed ending point of the arc.
G02 Z90.K50.;
+X
Starting
point
Radius at starting point
Center
+Z
Ending
point
Radius at ending point
Spiral interpolation
R
The examples shown above assume that excessively large parameter data is given to facilitate your understanding.

6-5 Radius Designated Circular Interpolation Commands: G02, G03

1. Function and purpose
Circular interpolation can be performed by designating directly the arc radius R as well as using conventional arc center coordinates (I, K, J).
2. Programming format
TEP022
G02 (G03) Xx/Uu Zz/Ww (Yy/Vv) Rr Ff ; where x/u: X-axis coordinate of the ending point
z/w: Z-axis coordinate of the ending point y/v: Y-axis coordinate of the ending point r: Radius of the arc f: Feed rate
3. Detailed description
The arc center is present on the mid-perpendicular to the segment which connects the starting point and the ending point. The crossing point of the mid-perpendicular and that circle of the designated radius r that has the center set at the starting point gives the center coordinates of the designated arc. A semi-circle or smaller will be generated if R is a positive value. An arc larger than the semi-circle will be generated if R is a negative value.
6-10
INTERPOLATION FUNCTIONS 6
Return to Library
Path of an arc with a negative-signed R
, z1)
1
O1, O2 : Center point
TEP023
Starting point
O
2
O
L
r
1
Ending point (x
Path of an arc with a positive R
To use the radius-designated arc interpolation commands, the following requirement must be met:
L
1
r
2
where L denotes the length of the line from the starting point to the ending point. If radius data and arc center data (I, J, K) are both set in the same block, the circular interpolation by radius designation will have priority in general. For complete-circle interpolation (the ending point = the starting point), however, use center­designation method with addresses I, J and K, since the radius-specification command in this case will immediately be completed without any machine operation.
4. Sample programs
1. G02 Xx
2. G02 Xx
Zz1 Rr1 Ff1 ;
1
Zz1 Ii
1
1 Kk1
Rr1 Ff1 ;
(If radius data and center data (I, K, J) are set in the same block, circular interpolation by radius designation will have priority.)
Note: “I0”, “K0” or “J0” can be omitted.
6-11
6 INTERPOLATION FUNCTIONS
Return to Library

6-6 Spiral Interpolation: G2.1, G3.1 (Option)

1. Function and purpose
Commands G2.1 connected
and G3.1 provide such an interpolation that the starting and ending points are
smoothly for an arc command where the radii of the both points differ from each
other.
(Normal circular interpol ation)
(Spiral interpolation)
Starting point
2. Programming format
G17 G2.1 (or G3.1) Xp_ Yp_ I_ J_ (α_) F_ P_
Ending point
re = r
s
Ending point
r
r
e
s
r
s
Center
Arc center coordinates Arc ending point coordinates
MEP031
G18 G2.1 (or G3.1) Zp_ Xp_ K_ I_ (α_) F_ P_
G19 G2.1 (or G3.1) Yp_ Zp_ J_ K_ (α_) F_ P_
P : Number of pitches (revolutions) (P can be omitted if equal to 0.) α : Any axis other than circular int erpolation axes (For helical cutting only) F : Rate of feed along the tool path
3. Detailed description
1. Circular movement directions of G2.1 and G3.1 correspond with those of G02 and G03, respectively.
2. Radius designation is not available for spiral interpolation. (The starting and ending points must lie on the same arc for a radius designation.)
Note: When a radius is designated, this command will be regarded as a radius-
designated circular interpolation.
3. Conical cutting or tapered threading can be done by changing the radii of the arc at its starting and ending points and designating a linear-interpolation axis at the sa me time.
4. Even for normal circular command G2 or G3, spiral interpolation will be performed if the difference between the radii of the starting point and the ending point is smaller than the setting of parameter F19.
6-12
INTERPOLATION FUNCTIONS 6
A
A
Return to Library
Example: When the following program is executed, the feed rates for each of the points will
be as shown in the diagram below.
Y
CEDB
X
G28 X0 Y0 G00 Y–200. G17 G3.1 X–100. Y0 I–150. J0 F3000 P2 M30
3000 mm/min B 2500 C 2000 D 1500 E 1000
MEP032
6-13
6 INTERPOLATION FUNCTIONS
Return to Library
4. Sample programs
Example 1: Spiral cutting
Shown below is an example of programming for spiral contouring with incremental data input of the arc center (X = 0, Y = 45.0) and absolute data input of the arc ending point (X = 0, Y = –15.0).
Y
X
45
15
G28 W0 G80 G40 T001T000M06 G54.1 P40 G94 G00 X0 Y-45.0 G43 Z30.0 H01 Z3.0 S1500 M03 M50 G01 Z-1.0 F150 G2.1 X0 Y-15.0 I0 J45.0 F450 P2
G00 Z3.0 M05 M09 Z30.0 M30
D735PB001
Zero point return on the Z-axis Fixed-cycle cancellation Tool change Coordinate system setting Approach in the XY-plane to the starting point (0, –45.0) Positioning on the Z-axis to the initial point
Normal rotation of the spindle Air blast ON Infeed on the Z-axis Command for spiral interpolation with arc ending point =
(0, –15.0), arc center = (0, 0)*, and pitch = 2. * I- and J-values refer to increments to the starting point.
Return on the Z-axis Spindle stop and Air blast OFF
End of machining
The rate of feed at the starting point is 450 mm/min, as specified in the block of G2.1, and the rate of feed at the ending point can be calculated as follows:
(Ending point’s radius/Starting point’s radius) × Command value of the rate of feed.
As the radius of the starting point = 45.0, that of the ending point = 15.0, and the command rate of feed (F) = 450, the rate of feed results in
(15.0/45.0) × 450 = 150 mm/min
at the ending point. Note 1: Take care not to use radius designation (argument R) for spiral interpolation; otherwise
a normal circular interpolation (by G02 or G03) will be executed.
Note 2: It is not possible to give the command for a spiral interpolation the starting and ending
points of which should have different centers specified.
6-14
Example 2: Heart-shaped cam (by absolute data input)
Return to Library
Y
1
X
70
INTERPOLATION FUNCTIONS 6
D735PB002
G28 W0 G80 G40 T001T000M06 G54.1 P40 G94 G00 X0 Y-70.0 G43 Z30.0 H01 S1500 M03 Z3.0 M50 G01 Z-1.0 F150 G2.1 X0 Y1.0 I0 J70.0 F450 X0 Y-70.0 I 0 J-1.0 G00 Z3.0 M05 M09 Z30.0 M30
Zero point return on the Z-axis Fixed-cycle cancellation Tool change Coordinate system setting Approach in the XY-plane to the starting point (0, –70.0) Positioning on the Z-axis to the initial point Normal rotation of the spindle
Air blast ON Infeed on the Z-axis Command for the left-hand half curve Command for the right-hand half curve Return on the Z-axis Spindle stop and Air blast OFF
End of machining
6-15
6 INTERPOLATION FUNCTIONS
Return to Library
Example 3: Heart-shaped cam (by incremental data input)
Starting and Ending points
The difference (b–a) between the radii of the starting point and ending point denotes a displacement for heart shape. Use two blocks for programming separately the right-half and the left-half shape.
A sample program in incremental data input:
G3.1 Y130. J100. F1000............... (Right half)
a+b b
G3.1 Y–130. J–30........................ (Left half)
–a–b –a
a = 30. (Minimum arc radius)
b = 100. (Maximum arc radius)
a + b = 130. (Ending-point coordinate of the right half-circle)
–a – b = –130. (Ending-point coordinate of the left half-circle)
Y
X
a
0
(30.)
b
(100.)
MEP033
6-16
Example 4: Large-size threading
Return to Library
To perform large-size threading, use three heilical-interpolation blocks for programming separately infeed section, threading section and upward-cutting section. Spiral interpolation is required to designate the amounts of diameter clearance for both the infeed block and the upward-cutting block. (The starting and ending points are shifted through the designated clearance amounts from the circumference of threading section.)
Clearance
INTERPOLATION FUNCTIONS 6
i
1
i
2
z
1
Infeed
G3.1 X–i G03 X0 Y0 Zz G3.1 Xi
Y0 Zz1 I–i1 J0 Ff1(Infeed block, half-circle)
1–i2
Ii2 J0 Pp
2
Y0 Zz3 Ii2 J0 (Upward-cutting block, half-circle )
2+i3
* The number of pitches, p
l. Note that the value p
X
i
3
0
Y
l
z
2
Threading
2
, in the threading block is given by dividing the stroke z2 by the pitch
2
must be an integer.
2
(Threading block, complete circle)
z
3
Upward cutting
Z
MEP034
6-17
6 INTERPOLATION FUNCTIONS
j
Return to Library
Example 5: Tapered threading
As shown in the figure below, tapered helical cutting that begins at any angle can be performed.
X
e
x
1
i
1
s
1
y
1
l
p
1
z
1
0
Z
Y
MEP035
Data with addresses X, Y and Z must be the increments x1, y1 and z1 respectively, from the starting point s to the ending point e; data of I and J must be the increments i
and j1 respectively,
1
from the starting point s to the circular center, and data of P must be equal to the number of pitches p
G3.1 Xx
.
1
Yy1 Zz1 Ii1 Jj1 Pp1 Ff
1
1
The amount of taper t and the pitch l are calculated as follows:
2(re – rs)
t =
where rs =
x
1
2
2
i
+ j
1
, re =
1
(x1 – i1)2 + (y1 – j1)
2
;
z
l =
(2π • π
where θ = θe – θs = tan
1
+ θ) / 2π
1
j1 – y i1 – x
1
– tan
1
–1
–j
1
–1
–i
1
where rs and re denote the radii at the starting point and the ending point respectively, and qs and qe denote the angles at the starting point and the ending point respectively.
6-18
Example 6: Conical cutting
Return to Library
Conical cutting is an application of tapered threading, and have its starting or ending point on the center line. Tapering results from gradually increasing or decreasing the arc diameter. The pitch is determined by z
p
1
z
1
INTERPOLATION FUNCTIONS 6
.
1/p1
Z
Y
X
0
x
1
MEP036
G2.1 X–x
Y0 Zz1 I–x1 Pp1 Ff
1
1
x1: Radius of the base
: Height
z
1
: Number of pitches
p
1
f
: Feed rate
1
Note: Use the TRACE display to check the tool path during spiral interpolation.
6-19
6 INTERPOLATION FUNCTIONS
Return to Library

6-7 Plane Selection Commands: G17, G18, G19

6-7-1 Outline

1. Function and purpose
Commands G17, G18 and G19 are used to select a plane on which arc interpolation, tool nose radius compensation, etc. are to be done. Registering the three fundamental axes as parameters allows you to select a plane generated by any two non-parallel axes.
The available planes are the following three types:
- Plane for circular interpolation
- Plane for tool nose radius compensation
- Plane for polar coordinate interpolation
2. Programming format
G17; (X-Y plane selection) G18; (Z-X plane selection) G19; (Y-Z plane selection)
YXZ
G03
G02
G17 (XY) plane G18 (ZX) plane G19 (YZ) plane

6-7-2 Plane selection methods

Plane selection by parameter setting is explained in this section.
1. Which of the fundamental axes or their parallel axes are to form the plane you want to select is determined by the type of plane selection command (G17, G18 or G19) and the axis address specified in the same block.
X, Y, and Z denote respective coordinate axes or their corresponding parellel axes.
G03 G03
G02
XY
Z
G02
TEP024’
YXZ
G17X Y; G18X Z; G19Y Z;
G03 G03
G02
Z
TEP025’
G02
G03
G02
XY
6-20
2. Automatic plane selection does not occur for blocks that do not have an issued plane-
Return to Library
selection command (G17, G18 or G19) G18 X_ Z_; Z-X plane
Y_ Z_; Z-X plane (No plane change)
3. If axis addresses are not set for blocks having an issued plane-selection command (G17, G18 or G19), the fundamental three axes will be regarded as set.
G18_; (Z-X plane = G18 XZ ;)
Note 1: Upon power on or resetting, G18 plane is selected. Note 2: In turning mode, G17 or G19 plane selection is impossible and in milling mode, G18
plane selection respectively. If such selection were attempted, alarm would be caused.
Note 3: The G-codes for plane selection (G17, G18 or G19) should be commanded in a block
independently. If such a G-code is commanded in a block containing the axis move command, a movement independent from the selected plane can be caused.

6-8 Polar Coordinate Interpolation ON/OFF: G12.1/G13.1

INTERPOLATION FUNCTIONS 6
1. Function and purpose
It is available for face helical grooving or cam shaft grinding on the lathe. It is a function to convert a command programmed by the rectangular coordinate system into the linear axis movement (tool movement) and the rotational axis movement (workpiece rotation) to give contouring control.
2. Programming format
The polar coordinate interpolation is commanded by the following G-codes (group 26). G12.1: Polar coordinate interpolation mode (Mode by which the polar coordinate is inter-
polated)
G13.1: Polar coordinate interpolation cancel mode (Mode by which the polar coordinate is not
interpolated)
These G-codes should be commanded in an independent block.
3. Detailed description
1. When turning on the power and resetting, the polar coordinate interpolation cancel mode (G13.1) is provided. Commanding G12.1 provides a plane selected by G17.
2. The polar coordinate interpolation uses the zero point of workpiece coordinate system as that of the coordinate system. A plane (hereinafter referred to as “polar coordinate inter­polation plane”) is selected using the linear axis as the 1st axis of the plane and the virtual axis perpendicular to the linear axis as the 2nd axis of the plane. The polar coordinate interpolation is given on that plane.
3. The program during polar coordinate interpolation mode is commanded by the rectangular coordinate value on the polar coordinate interpolation plane. The axis address of the rotational axis (C) is used for that of the command of the 2nd axis of the plane (virtual axis).
A command is given in mm or inch as with the 1st axis of the plane (command by the axis address of the linear axis), and not in degrees. And whether designation is given by the diameter or by the radius is not determined by the 1st axis of the plane, but the designation is the same as the rotational axis.
6-21
6 INTERPOLATION FUNCTIONS
Return to Library
4. Absolute command and incremental command for the linear interpolation (G01) and the circular interpolation (G02, G03) can be commanded during the polar coordinate inter­polation mode. The nose radius compensation can also be made for the program command, and the polar coordinate interpolation is given to the path after the nose radius compensation. However, the polar coordinate interpolation mode (G12.1, G13.1) cannot be changed during the nose radius compensation mode (G41, G42). G12.1 and G13.1 must be commanded in G40 mode (Nose radius compensation cancel mode).
5. The feed rate is commanded using tangential speed (relative speed of the workpiece and a tool) on the polar coordinate interpolation plane (rectangular coordinate system) as F (mm/min or inch/min is used for a unit of F).
6. The coordinate value of the virtual axis when G12.1 is commanded provides “0”. That is, the polar coordinate interpolation is started taking the position where G12.1 is commanded as the angle = 0.
G17: X-C(virtual axis) plane
X
C
(Virtual axis)
C
Z
D732S0008
6-22
4. Sample programs
Return to Library
INTERPOLATION FUNCTIONS 6
C (Virtual axis)
C
N070
N080
Nose radius
center path
Program path
    M
N001 G00 G97 G98; N004 G28 U0 W0; N008 M200; N010 T001T000M06; N020 G00 X100.0 Z10.0 C0.0; N030 G12.1; N040 G42; N050 G01 X50.0 F500; N060 C10.0; N070 G03 X-50.0 C10.0 I-25.0; N080 G01 C-10.0; N090 G03 X50.0 C-10.0 R25.0; N100 G01 C0.0; N110 G00 X100.0; N120 G40; N130 G13.1; N140 M202;
M
N060
N100
N090
N050
X
D732S0009
Positioning to the start point Polar coordinate interpolation start
Shape program (Program with rectangular coordinate values on X-C plane)
Polar coordinate interpolation cancel
6-23
6 INTERPOLATION FUNCTIONS
Return to Library
5. Notes
1. Before G12.1 is commanded, a workpiece coordinate system must be set using the center of rotational axis as the zero point of the coordinate system. The coordinate system must not be changed during G12.1 mode.
2. The plane before G12.1 is commanded (plane selected by G17, G18 or G19) is temporarily cancelled, and it is restored when G13.1 (polar coordinate interpolation cancel) is commanded. The polar coordinate interpolation mode is cancelled in resetting, and the G18 plane is provided.
3. The method of commanding the circular radius (which address of I, J and K is used) when the circular interpolation (G02, G03) is given on the polar coordinate interpolation plane depends on which axis of the basic coordinate system the 1st axis of the plane (linear axis) corresponds to.
- Command is given by I and J taking the linear axis as the X-axis of X
- Command is given by J and K taking the linear axis as the Y-axis of Y
- Command is given by K and I taking the linear aixs as the Z-axis of Z The circular radius can also be designated by R command.
4. G-codes capable of command during G12.1 mode are G04, G65, G66, G67, G00, G01, G02, G03, G98, G99, G40, G41 and G42.
p-Yp
p-Zp
p-Xp
plane.
plane.
plane.
5. Move command of an axis other than those on the selected plane during G12.1 mode is executed independently of the polar coordinate interpolation.
6. Tool offset must be commanded in the polar coordinate interpolation cancel mode before G12.1 is commanded. It cannot be commanded during the polar coordinate interpolation mode. Offset amount must not be changed during the polar coordinate interpolation mode.
7. Current position display during G12.1 mode Every current position during the polar coordinate interpolation mode is displayed with an actual coordinate value. However, only “residue moving distance” (REMAIN) is displayed with the residue moving distance on the polar coordinate command plane.
8. Program restart cannot be made for a block during G12.1 mode.
6-24

6-9 Virtual-Axis Interpolation: G07

Return to Library
1. Function and purpose
Specify with G07 code one of the two circular-interpolation axes for helical or spiral interpolation with synchronous linear interpolation as a virtual axis (a pulse-distributed axis without actual movement), and an interpolation on the plane defined by the remaining circular axis and the linear axis can be obtained along the sine curve which corresponds with the side view of the circular interpolation with synchronous linear interpolation.
2. Programming format
G07 α0 To set a virtual axis M To interpolate with the virtual axis G07 α1 To cancel the virtual axis
3. Detailed description
1. Only helical or spiral interpolation can be used for the virtual-axis interpolation.
2. In the program section from G07α0 to G07α1, the “alpha” axis is processed as a virtual axis. If, therefore, the alpha axis is included independently in this section, the machine will remain in dwell status until pulse distribution to the virtual axis is completed.
INTERPOLATION FUNCTIONS 6
3. The virtual axis is valid only for automatic operation; it is invalid for manual operation.
4. Protective functions, such as interlock, stored stroke limit, etc., are valid even for the virtual axis.
5. Handle interruption is also valid for the virtual axis. That is, the virtual axis can be shifted through the amount of handle interruption.
4. Sample program
G07 Y0 Sets the Y-axis as a virtual axis. G17G2.1X0Y–5.I0J–10.Z40.P2F50 Sine interpolation on X-Z plane G07 Y1 Resets the Y-axis to an actual axis.
X-axis
10.
5.
20.
5.
Z-axis
40.
Y-axis
X-axis
–10.
5.
–10.
MEP037
6-25
6 INTERPOLATION FUNCTIONS
Return to Library

6-10 Spline Interpolation: G06.1 (Option)

1. Function and purpose
The spline interpolation automatically creates a curve that smoothly traces specified points, and thus enables a high-speed and high-accuracy machining for free shapes along smoothly curved tool path.
2. Programming format
G06.1 Xx
1
Yy
1
3. Detailed description
A. Setting and cancellation of spline interpolation mode
The spline interpolation mode is set by the preparatory function G06.1, and cancelled by another Group 01 command (G00, G01, G02 or G03).
Example 1:
N100 G00 X_Y_ N200 G06.1 X_Y_ N201 X_Y_ N202 X_Y_ N203 X_Y_
MM N290 X_Y_ N300 G01 X_Y_
P
1
P
2
P
3
P
4
P
5
P
n
P
n+1
P
P
P
1
3
2
P
P
5
4
P
n
P
n+1
Fig. 6-1 Interpolated line by spline interpolation
In the above example, the spline interpolation is activated at N200 (block for movement from P to P2) and it is cancelled at N300. Therefore, a spline curve is created for a group of ending points from P
to Pn, and interpolation is applied along the created curve.
1
For creating a spline interpolation curve, it is generally required to specify two or more blocks (at least three points to be traced) in the mode. If the spline interpolation mode is set just for one block, the path to the ending point of the block is interpolated in a straight line.
Example 2:
N100 G01 X_Y_ N200 G06.1 X_Y_ N300 G01 X_Y_
P
1
P
2
P
3
P
Linear interpolation for the single spline-interpolation block
1
P
2
P
3
Fig. 6-2 Spline interpolation applied to a single block
1
6-26
INTERPOLATION FUNCTIONS 6
Return to Library
B. Division of spline curve in spline-interpolation mode
The spline interpolation mode generally creates a continuous curve that smoothly connects all specified points from the beginning of the mode to the end of it. However, the spline curve is divided into two discontinuous curves as often as one of the following conditions is satisfied:
- When the angle between linear movement lines of two neighboring blocks is beyond the
spline-cancel angle,
- When the movement distance of a block exceeds the spline-cancel distance, or
- When there is a block without any movement command in the spline-interpolation mode.
1. When the relative angle of two neighboring blocks is beyond the spline-cancel angle
Spline-cancel angle LLL Parameter F101
As to the sequence of points P1, P2, P3, L Pn in a spline interpolation mode, when the angle
made by two continuous vectors
θ
i
P
i–1 Pi
and
PiP
is larger than
i+1
, the point Pi is
F101
regarded as a corner. In that event, the point group is divided into two sections of P and Pi to Pn at Pi, and spline curve is individually created for each section. When the spline-cancel angle is not set (
= 0), this dividing function is not available.
F101
Example 1: F101 = 80 deg
P
4
θ
P
θ
2
P
2
P
1
3
3
θ
5
θ
6
P
5
P
6
P
F101
7
not set
θ
4
>
θ
F101
4
P
1
P
3
P
2
P
3
P
2
P
4
P
5
P
6
P
7
P
P
5
P
6
Forms a corner
4
to P
1
i
Fig. 6-3 Spline cancel depending on angle
6-27
P
1
P
7
6 INTERPOLATION FUNCTIONS
j
j
Return to Library
When there are more than one point where θ
> F101, such points are treated as corners to
i
divide the point group and multiple spline curves are created for respective sections.
>
F101
θ
>
θ
F101
i
i
Fig. 6-4 Multiple-cornered spline curve depending on angle When any two corner points (where θi > F101) successively exist, the block for the second
point is automatically set under control of linear interpolation. Therefore, it can be omitted to specify G01 code in each intermediate block of pick feed, for example, during 2.5­dimensional machining, which considerably simplifies the program ming.
Example 2: F101 < 90 (deg)
In the following program (shown in Fig. 6-5), the angle of the Y-directional pick feed to the X-Z plane (of spline interpolation) is always 90°. If F101 is set slightly smaller than 90°, spline interpolation is automatically cancelled in the pick-feed blocks (N310, N410, !!!), which are then linearly interpolated each time. If no value is set for F101, it is required to specify G-codes parenthesized in the program below to change the mode of interpolation.
N100 G00 X_Y_Z_ N200 G06.1 X_Z_ N210 X_Z_
M
N300 X_Z_
(G01)
N310
(G06.1)
N320
M
N400 X_Z_
(G01)
N410
(G06.1)
N420
M
N700 X_Z_ N710 G01
M
Y_ X_Z_
M
Y_ X_Z_
M
M
P
1
P
2
P
3
P
P
i
P
i+1
P
i+2
P
j
P
j+1
P
j+2
P
n
Z
1
Y
X
P
+1
P
P
n
P
i+1
P
i
Fig. 6-5 Linear interpolation for pick feed in spline-interpolation mode
6-28
INTERPOLATION FUNCTIONS 6
Return to Library
2. When the movement distance of a block exceeds the spline-cancel distance
Spline-cancel distance LLL Parameter F100
As to the sequence of points P1, P2, P3, !!! Pn in a spline interpolation mode, when the length
PiP
of the vector
i+1
PiP
is longer than
i+1
, the block for point P
F100
is automatically set
i+1
under control of linear interpolation, while the preceding and succeeding sections P and P In this case, the inclination of the tangent vector at P inclination of the tangent vector at P
correspond to that of the line segment
to Pn are individually interpolated in spline curves.
i+1
(at the beginning of spline P
i+1
PiP
in general.
i+1
(at the end of spline P1 to Pi) and the
i
to Pn) do not
i+1
to P
1
When the spline-cancel distance is not set (F100 = 0), this dividing function is not available.
(a) P4P
P
>
F100
5
F100
iPi+1
P
4
P
3
P
2
P
1
Interpolated as follows:
P P P
,
for other blocks
P4P
>
F100
5
to P4: Spline curve,
1
to P5: Straight line,
4
to P8: Spline curve.
5
(b)
P
5
P
6
P
7
P
8
P
3
P
2
P
1
F100
P
4
is not specified
P
5
P
6
P
7
P
8
The whole path P1 to P8 is interpolated in one spline curve.
Fig. 6-6 Spline cancel depending on movement distance of a block When there are more than one block where
PiP
i+1
>
, all those blocks will individually
F100
i
undergo the linear interpolation.
3. When there is a block without any movement command in the spline-interpolation mode Any block without movement command temporarily cancels the spline interpolation, and the sections before and after such a block will independently be spline-interpolated.
N100 G01 X_Y_
M
M
P
1
P
2
P
5
P5 (Not moved) P
6
P
8
P
P
P
5
P
4
P
3
P
2
7
6
Spline from
Forms a corner
P
to P
5
P
8
8
Spline from
to P
P
1
P
1
5
N110 G06.1 X_Y_ N120 X_Y_
M
N300 X_Y_ N310 X0 N320 X_Y_
M
N500 X_Y_ N510 G01 X_Y_
Fig. 6-7 Spline cancel by a block without movement command
6-29
6 INTERPOLATION FUNCTIONS
Return to Library
C. Fine spline function (curved shape correction)
The fine spline function works with spline interpolation and automatically corrects the shape of a spline curve, as required, to make the path of the curve smoother. More specifically, the fine spline function works in the following two cases:
- The case that the curve errors in blocks are significant
- The case that an unusually short block exists (automatic correction in this case is referred to as
fairing.)
Automatic correction in the above cases is explained below.
1. Automatic correction for significant curve errors in blocks When the curve data in CAD undergoes micro-segmentation with CAM, approximation
using a polygonal line is usually executed with a curve tolerance (chord error) of about 10 microns. At this time, if any inflection points are included in the curve, the micro-segment block including the inflection points may increase in length (see
Also, if the length of this block becomes unbalanced against those of the immediately preceding and succeeding blocks, the spline curve in this zone may have a significant error with respect to the original curve.
P3 P
. in the figure below)
4
P
2
CAD curve
P
3
Tolerance (minus side)
Spline curve (deviation from the CAD c urve i s significant)
Tolerance (plus side)
P
4
P
7
P
P
5
6
Tolerance
P
1
P
0
Inflection point in the original curve
Fig. 6-8 Spline curve having a significant chord error (inflection points present) This function detects the sections whose chord errors in the curve due to the presence of
inflection points become significant, and corrects the shape of the spline curve in that zone automatically so that the chord errors in the curve fall within the data range of the specified parameter.
Curve error 1 LLL Parameter F102
6-30
INTERPOLATION FUNCTIONS 6
Return to Library
If a block in the spline interpolation mode is judged to have inflection points in the spline curve and the maximum chord error of the spline curve from the segment is greater than the value of F102, the shape of that spline curve will be corrected for a maximum chord error not exceeding the value of F102.
Uncorrected spline curve
Corrected spline curve
A
or less
F102
Fig. 6-9 Shape correction 1 for spline curve
B
The shape of a curve can also be corrected if the chord error in the spline curve increases due to an imbalance in the lengths of adjoining blocks occurs for any reasons other than the presence of inflection points or for other reasons.
Curve error 2 LLL Parameter F104
If a blocks in the spline interpolation mode is judged to have no inflection points in the splin e curve and the maximum chord error in the spline curve an d block is greater than the value of F104, the shape of that spline curve will be corrected for a maximum chord error not exceeding the value of F104.
Uncorrected spline curve
Correction
Corrected spline curve
or less
F104
Fig. 6-10 Spline curve having a significant chord error (no inflection points)
Remark 1: In all types of spline curve correction, the curve correction function works only for
the corresponding block. Therefore, the tangential vectors at the boundaries with the immediately preceding and succeeding blocks become discontinuous.
Remark 2: If parameter F102 is set to 0, all blocks regarded as including inflection points will
become linear. If parameter F104 is set to 0, all blocks regarded as including no inflection points will become linear.
Remark 3: Curved-shape correction based on parameter F102 or F104 usually becomes
necessary when adjoining blocks are unbalanced in length. If the ratio of the ad­joining block lengths is very large, however, spline interpolation may be temporarily cancelled between the blocks prior to evaluation of the chord error.
6-31
6 INTERPOLATION FUNCTIONS
Return to Library
2. Automatic correction of the spline curve in an unusually short block (Fairing) When CAD data is developed into micro-segments by CAM, a very small block may be created in the middle of the program because of internal calculation errors. Such a block is often created during creation of a tool diameter offset program which requires convergence calculation, in particular. Since this unusually small block usually occurs at almost right angles to the direction of the spline curve, this curve tends not to become smooth.
Fig. 6-11 Distortion of a spline curve due to the effects of a very small block
Distorted spline curve
Very small block
If it detects such an extremely small block during spline interpolation, the shape correction function will remove that block and then connect the preceding and succeeding blocks directly (this is referred to as fairing) to create a smooth spline curve free from distortion.
Block fairing length LLL Parameter F103
Assume that the length of the i-th block in spline interpolation mode is taken as li and that the following expressions hold:
l
> F103 × 2
i – 1
F103
l
i
l
> F103 × 2
i + 1
In the above case, the ending point of the (i–1)-th block and the starting point of the i+1 block are moved to the mid-point of the ith block and as a result, the ith block is deleted. Spline interpolation is executed for the sequence of points that has thus been corrected.
l
F103
l
>
× 2
F103
i–1
i
>
F103
× 2
l
i+1
Correction of the passing point
Fig. 6-12 Correction of spline curve passing points by fairing
6-32
Created spline curve
INTERPOLATION FUNCTIONS 6
Return to Library
Assume that the first block in spline interpolation mode is very small and that the following expressions hold:
F103
l
1
l
> F103 × 2
2
In the above case, the starting point of the second block is changed to that of the first block and as a result, the first block is deleted.
l
F103
Non-spline block
Deletion of the passi ng point
1
l
>
× 2
F103
2
Created spline curve
Fig. 6-13 Fairing at the starting point of a spline curve
Assume that the last block in spline interpolation mode is very small and that the following expressions hold:
l
> F103 × 2
n–1
l
F103
n
In the above case, the ending point of the (n–1)-th block is changed to that of the nth block and as a result, the nth block is deleted.
l
F103
>
l
n–1
Created spline curve
F103
× 2
n
Non-spline block
Deletion of the passi ng point
Fig. 6-14 Fairing at the ending point of a spline curve
This function is executed preferentially over the curve slitting function based on the angle of spline cancellation.
6-33
6 INTERPOLATION FUNCTIONS
A
w
A
Return to Library
D. Feed-rate limitation in spline-interpolation mode
The modal cutting feed rate F remains valid in general for the spline interpolation; however, if the feed rate should be kept constant, it would yield excessively high acceleration at portions where the curvature is big (the curvature radius is small) as shown in Fig. 6-15.
Curvature: Small
cceleration: Lo
Curvature: Big
Fig. 6-15 Change of acceleration depending on curvature
In the spline-interpolation mode of our NC, the feed rate can be controlled so that it does not exceed the allowable limit, calculated from the related parameters, for pre-interpolation acceleration. To obtain an appropriate feed rate for each block of spline interpolation, the limit feed rate F' is calculated by the equation [1] shown below where the smaller between two radii Rs (curvature radius at the starting point of the block) and Re (curvature radius at its ending point) will be regarded as the reference radius R for the block. The modal feed rate F will then be temporarily overridden by F' for the respective block if F>F', so that the whole spline curve can be interpolated block-by-block at the appropriate feed rate according to the curvature radius.
cceleration: High
F
F’
P
i
Rs
Re
P
j+1
Fig. 6-16 Feed-rate limitation for spline interpolation
F' =
V =
R × V × 60 × 1000
G1bF (mm/min)
G1btL (msec)
......... [1]
F : Modal feed rate (mm/min) Rs : Curvature radius at the starting
point of block (mm)
Re : Curvature radius at the ending
point of block (mm)
R : Reference curvature radius for
the block (mm) R = min {Rs, Re}
V : Maximum of pre-interpolation
acceleration
F’ : Limit feed rate (mm/min)
6-34
INTERPOLATION FUNCTIONS 6
Return to Library
E. Spline interpolation during tool-diameter offset
The spline interpolation can be performed during tool-diameter offset as follows.
1. Tool-diameter offset (2-dimensional) Shown in Fig. 6-17 is an example that the command route is straight in the section P
polygonal line in the section P in the section P
. The interpolation route with tool-diameter offset is created by the
nPn+1
. . . Pn that is the object of spline interpolation, and straight
1P2
following procedure.
1) In the first step is created a polygonal line P
tool-diameter offset value r compared with the original polygonal line P
2) Next, a point P
points P
(i = 2, 3, . . . n–1) other than the starting point P1 and the ending point Pn of the
i
'' where
i
= r on the vector P
PiPi''
0'P1'P2
' . . . Pn'P
' is determined for all the pass
iPi
' that is offset by the
n+1
. . . PnP
0P1P2
spline curve.
3) Spline interpolation is now conducted for the polygonal line P
''P3'' . . . P
1'P2
''Pn' and
n–1
the curve thus created will act an offset path of tool center for the commanded spline curve.
1)
P0'
P1'
r
P
0
P2'
P3'
P
2
r
P
1
r
P
3
Pn'
P
'
n-1
P
P
'
n+1
n
P
n+1
0P1
n+1
,
.
P
P2''
2)
P0'
P1'P
P2'
P
2
PP
r
P
P
''
3
P
3
3
r
n-1
P
'
'
n
P
P
'
n-1
n
n+1
P
n+1
r
P
Spline curve for commanded
3)
points offset
P0'
P
0
P1'
P
P2''
''
P
3
P
2
P
3
P
Spline curve for commanded
n-1
n-1
''
P
'
Pn'
P
''
P
n-1
P
n-1
n
n+1
P
n+1
Fig. 6-17 Spline interpolation during tool-diameter offset
The spline curve created in the above-mentioned procedure is not the strict offset, indeed, of the commanded spline curve, but an approximation of it.
6-35
6 INTERPOLATION FUNCTIONS
Return to Library
2. 3-dimensional tool-diameter offset In the 3-dimensional tool-diameter offset, each point defined with programmed coordinates
is first offset through the tool radius “r” in the direction of the specified normal vector (i, j, k) and then, the serial points thus offset in the spline-interpolation section are connected in a smooth curve, which will act as the path of tool-radius center for the 3-dimensional spline interpolation.
F. Others
1. The spline interpolation targets the basic coordinate axes of X, Y and Z; however, it is not always required to specify objective axes on commanding the spline interpolation. Moreover, the spline-interpolation command code (G06.1) can be given in a block without any movement command.
Example:
N100 G06.1 X_Y_Z0 N100 G06.1 X_Y_
N200 X_Y_Z_ N200 X_Y_Z_ N300 X_Y_Z_ N300 X_Y_Z_
M M M M
N100 G06.1 F_ ( No movement commands) N200 X_Y_Z_ N300 X_Y_Z_
M M
2. The spline-interpolation command (G06.1) falls under the G-code group 01.
3. In the single-block operation mode, the spline interpolation is cancelled and all the respec­tive blocks will individually undergo the linear interpolation.
4. In tool-path check, the blocks of spline interpolation are not actually displayed in a spline curve but in a polygonal line that connects linearly the repective points, which, in case of tool-diameter offset, will have been offset in the same manner as described in the foregoing article E.
5. During spline interpolation, when feed hold is executed, the block for which the feed hold function has been executed will be interpolated, at the beginning of the restart operation along the spline curve existing before the feed hold function was executed, and then the spline curve in the next block onward will be re-created and interpolation executed.
6. Althouth spline interpolation can also be executed in the high-speed maching mode (G05P2 mode), curve shape correction by fairing becomes invalid in the G05P2 mode.
6-36

6-11 NURBS Interpolation: G06.2 (Option)

Return to Library
1. Function
The NURBS interpolation function provides interpolation by performing NURBS-defined CNC­internal computations on the command issued from the CAD/CAM system in the NURBS format. With this optional function, a very smooth interpolation path can be obtained since the inter­polation process is performed directly without dividing a NURBS-formatted free-form curve into minute line segments.
2. Definition of the NURBS curve
NURBS, short for Non-Uniform Rational B-Spline, provides rationalization of the B-spline function. The NURBS curve is defined as follows:
P
2
P
1
INTERPOLATION FUNCTIONS 6
P
n
n
N
(t)wiP
i,m
Σ
i=0
P
n–1
P(t) =
N
i,1
(t) =
n
N
Σ
i=0
1 (xi t x 0 (t < x
i,m
(t)w
, x
i
i
t x
(x
m–1
i
)
i+1
< t)
i+1
n+1
)
P
0
Fig. 6-18 NURBS curve
P(t)
i,k
(t) =
(t – xi) N
x
i+k–1
N
i,k–1
– x
(t)
(x
– t) N
i+k
+
i
x
i+k
- “Pi” and “wi” denote respectively a control point and the weight on the control point.
- “m” denotes the rank, and the NURBS curve of rank “m” is a curve of the (m–1)-th order.
- “x
” denotes a knot (xi x
i
), and an array of knots [x0 x1 x2 ... x
i+1
] is referred to as the knot
n+m
vector.
- A variation in parameter “t” from x
- N
(t) is the B-spline basis function expressed by the above recurrence equation.
i, k
m–1
to x
produces NURBS curve P(t).
n+1
Thus the NURBS curve is uniquely defined from the weighted control points and the knot vector.
3. Programming format
G6.2[P] K_X_Y_Z_[R_][F_] NURBS interpolation ON
K_X_Y_Z_[R_] K_X_Y_Z_[R_] K_X_Y_Z_[R_]
M
K_X_Y_Z_[R_] K_ K_ K_ K_
NURBS interpolation OFF
P : Rank (omissible) X, Y, Z : Coordinates of the control
point
R : Weight on the control point
(omissible) K : Knot F : Speed of interpolation
(omissible)
– x
i+1,k–1
i+1
MEP300
(t)
6-37
6 INTERPOLATION FUNCTIONS
Return to Library
4. Detailed description
Set the G6.2 code to select the NURBS interpolation mode. Subsequently, designate the rank, the coordinates and weights of the control points, and the knots to determine the shape of the NURBS curve. The modal code G6.2, which belongs to group 1 of G-codes, is of temporary validity and the modal function relieved by a G6.2 code will automatically be retrieved upon cancellation (termination) of the NURBS interpolation. The G6.2 code can only be omitted for an immediately subsequent setting of the next NURBS curve.
Address P is used to set the rank, and the NURBS curve of rank “m” is of the (m–1)-th order, that is, set as the rank
- P2 for a straight line (curve of the first order),
- P3 for a quadratic curve (of the second order) or
- P4 for a cubic curve (of the third order).
Setting another value than 2, 3 and 4 will cause an alarm, and P4 will be used in default of argument P. The rank, moreover, should be specified in the first block (containing the G6.2 code). Designate the control points in as many sequential blocks as required by specifying their respective coordinates and weights at addresses X, Y, Z and R. Argument R denotes the weight proper to each control point (R1.0 will be used in default), and the more the weight is applied, the closer will be drawn the NURBS curve to the control point.
Address K is assigned to knots, and the NURBS curve of rank “m” for an “n” number of control points requires an (n+m) number of knots. The required array of knots, referred to as knot vector, is to be designated in sequential blocks, namely: the first knot in the same block as the first control point, the second knot in the same block as the second control point, and so forth. Following the “n” blocks entered thus, designate the remaining “m” knots in single-command blocks. The leading single-command block of argument K also notifies the NC of the completion of entering the control points, and the NURBS interpolation function itself will be terminated with the last block for the “m” knots.
5. Remarks
1. Only the fundamental axes X, Y and Z can undergo the NURBS interpolation.
2. Do not fail to explicitly designate all the required axes X, Y and/or Z in the first block (containing G6.2). Designating a new axis in the second block onward will cause an alarm.
3. Since the first control point serves as the starting point of the NURBS curve, set in the first block (with G6.2) the same coordinates as the final point of the previous block. Otherwise, an alarm will be caused.
4. The setting range for the weight (R) is from 0.0001 to 99.9999. For a setting without decimal point, the least significant digit will be treated as units digit (for example, 1 = 1.0).
5. The knot (K) must be designated for each block. Omission results in an alarm.
6. Knots, as with the weight, can be set down to four decimal digits, and the least significant digit of a setting without decimal point will be regarded as units digit.
7. Knots must be monotonic increasing. Setting a knot smaller than that of the previous block will result in an alarm.
8. The order of addresses in a block can be arbitrary.
6-38
INTERPOLATION FUNCTIONS 6
p
Return to Library
9. The shape of the NURBS curve can theoretically be modified very flexibly by changing the rank, the positions and weights of the control points, and the knot vector (the relative intervals of knots). In practice, however, manual editing is almost impossible, and a special CAD/CAM system should be used to edit the NURBS curve and create the program for the interpolation. Generally speaking, do not edit manually the program created by a CAD/CAM system for the NURBS interpolation.
6. Variation of curve according to knot vector
The NURBS curve, which in general passes by the control points, can be made to pass through a specific control point by setting a certain number of knots in succession with the same value. In particular, setting as many leading and trailing knots as the rank (value of P) with the respective identical values will cause the NURBS curve to start from the first control point (P the last one (P
).
5
0
The examples given below exhibit a variation of the NURBS curve according to the knot vector with the control points remaining identical.
Example 1: Rank : 4
Number of control points : 6 Knot vector : [ 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 ]
) and to end in
The starting point of t he curve differs from the first control point.
Fig. 6-19 NURBS curve for continuously increasing knots
P
1
P
0
P
2
P
3
P
5
P
4
Example 2: Rank : 4
Number of control points : 6 Knot vector : [ 0.0 0.0 0.0 0.0 1.0 2.0 3.0 3.0 3.0 3.0
[1] [2]
Point [1]: The first four (=rank) knots have the same value assigned. Point [2]: The last four (=rank) knots have the same value assigned.
The curve starts from the first control point.
P
P
1
2
P
5
The final point of the curve differs from the last control
oint.
MEP301
]
The curve ends in the last control point.
P
0
Fig. 6-20 NURBS curve for some identical knots
6-39
P
P
3
4
MEP302
6 INTERPOLATION FUNCTIONS
Return to Library
Note 1: The NURBS interpolation can be performed only for the NURBS curve that starts and
ends from the first and in the last control point. Do not fail, therefore, to set as many leading and trailing knots as the rank with the respective identical values.
Note 2: The NURBS interpolation is executed at the designated feed rate (F-code). During the
shape correction mode, however, the interpolation speed is controlled in order that the maximum available acceleration may not be exceeded in the section of a considerable curvature.
7. Compatibility with the other functions
The tables in this section specify the compatibility of the NURBS interpolation with the other functions. Pay attention to the incompatible functions, especially G-codes.
A. Preparatory, feed and auxiliary functions
The table below enumerates the G-codes, F-, M-, S-, T- and B-codes with regard to their availability before, with and after G6.2.
Function Code before G6.2 with G6.2 after G6.2
G-codes of group 00 all G-codes of group 01 all
G-codes of group 02
G-codes of group 04
G-codes of group 06
G-codes of group 09 G-codes of group 12 G54 - G59
G-codes of group 13
G-codes of group 14
G-codes of group 16 High-speed machining
mode Feed function F
Auxiliary function MSTB
": available ×: not available
"
"
G17 G18 G19 G22××× G23 G93 G98G-codes of group 05 G99 G20 G21 G40 G41×××G-codes of group 07 G42××× G80
the others × × ×
G61.1 G61.2
G61××× G62××× G63××× G64
G66××× G66.1 × × × G66.2 × × ×
G67 G68.5 × × × G69.5
G5P0 G5P2×××
""
"
""
""
"
"
""
"
"
"
"
"
"
""
"
××
(Note) ×
"
×
××
×
×
××
××
× ×× ××
××
××
×× ××
× ××
6-40
INTERPOLATION FUNCTIONS 6
Return to Library
B. Skip instructions
The table below enumerates the skip instructions with regard to their availability before, with and after G6.2.
": available ×: not available
Instruction before G6.2 with G6.2 after G6.2 Optional block skip Control Out/In
""
""
× ×
Note: Designating another address than X, Y, Z, R and K in the mode of (i. e. after) G6.2 will
cause an alarm.
C. Interruption and restart
The table below enumerates the functions for interrupting and restarting the program flow with regard to their availability before, with and after G6.2.
": available ×: not available
Function before G6.2 with G6.2 after G6.2 Single-block operation Feed hold Reset Program stop Optional stop Manual interruption
(Pulse feed and MDI) Restart Comparison stop
"
"
"""
"
"
"
"
"
× " (Note) ×
×× ××
××
×× ××
"
Note: The single-block stop only occurs between blocks with different knots.
D. Tool path check
The tool path in a section of the NURBS interpolation can only be displayed as if the control points were linearly interpolated (in the mode of G01).
6-41
6 INTERPOLATION FUNCTIONS
Return to Library
8. Sample program
The program section below refers to a NURBS interpolation of rank 4 (cubic curve) for seven control points.
Control points: P
P1 P2 P3 P4 P5 P
0
6
Knot vector: [ 0.0 0.0 0.0 0.0 1.0 2.0 3.0 4.0 4.0 4.0 4.0 ]
M M
G90 G01 X0 Y120.F3000
Y100. .............
G6.2 P4 X0 Y100.R1.K0... P
X10.Y100.R1.K0.......... P
X10.Y60.R1.K0........... P
X60.Y50.R1.K0........... P
X80.Y60.R1.K1........... P
X100.Y40.R1.K2.......... P
X100.Y0 R1.K3........... P
P
0 0 1 2 3 4 5 6
K4. K4. K4. K4.
G01 X120................
P
7
M M
P
P
0
Y
Fig. 6-21 NURBS interpolation and linear interpolation
1
P
2
P
3
X
NURBS interpolation for the control points
Linear interpolation for the control points
P
4
P
5
P
6
P
7
MEP303
6-42
9. Related alarms
Return to Library
The table below enumerates the alarms related to the NURBS interpolation.
Alarm list
Alarm
No. 806 ILLEGAL ADDRESS Another address than those for the
807 ILLEGAL FORMAT
809 ILLEGAL NUMBER
816 FEEDRATE ZERO The feed rate (F-code) has not yet been
936 OPTION NOT FOUND The system is not equipped with the
955 START AND END
956 RESTART OPERATION
957 MANUAL INTERRUPT
Alarm message Cause Remedy
Clear the inadequate address. nominated axes (X, Y and/or Z), the weight (R) and the knot (K) is set in the G6.2 mode.
INPUT
POINT NOT AGREE
NOT ALLOWED
NOT ALLOWED
1. The modal condition is not appropriate
to set G6.2.
2 A block in the G6.2 mode is set without
knot (K).
3. The number of blocks with the same
knot in succession does not reach the rank.
1. The number of digits exceeds the
specification of axis commands (X, Y or Z).
2. The rank (P) is not admissible. 2. Set 2, 3 or 4 at address P.
3. The value of a knot is not admissible. 3. Set a value in a range of 0.0001 to
4. The knot vector is not monotonic
increasing.
designated.
optional function of the NURBS interpolation.
The axis coordinates designated in the block of G6.2 do not correspond to the final point of the previous block.
The designated restart block falls within the mode of G6.2.
An interruption by pulse handle or MDI operation is commanded in the midst of the G6.2 mode.
1. Satisfy the modal condition with
2. Do not fail to set a knot in each block in
3. Set an appropriate knot vector with
1. Specify the axis command within eight
4. Check the blocks for a decreasing knot.
Set an F-code before or in the same block
as the G6.2 code.
Purchase and install the optional function.
Designate in the first block of the NURBS
interpolation the same position as the final
point of the previous block.
Restart operation is not allowed from the
midst of the NURBS interpolation.
Manual interruption is not allowed in the
midst of the NURBS interpolation.
INTERPOLATION FUNCTIONS 6
reference to item 7-A.
the G6.2 mode.
reference to example 2 given in item 6.
digits.
99.9999.
6-43
6 INTERPOLATION FUNCTIONS
r
Return to Library

6-12 Cylindrical Interpolation Command: G07.1

1. Function and purpose
Cylindrical interpolation function refers to a function by which the sides of a cylindrical workpiece are machined. The cylindrical interpolation function capable of programming in the form in which the sides of a cylinder are spread can very easily prepare programs including cylindrical cam­grooving.
2. Programming format
G07.1 C_; Cylindrical interpolation mode (C: cylindrical radius) G07.1 C0; Cylindrical interpolation cancel mode (These G-codes should be commanded in an independent blo ck.)
* When the cylindrical radius (address C) is not commanded, a cylinder is defined taking as
radius current value of X-axis (treated as radius value) when G07.1 is commanded.
3. Operation
+X
l
+C
360°
C
+Z
180°
l
D732S0010
2
r
π
+Z
The moving distance of rotational axis commanded with an angle is converted to the linear distance on the circumference in CNC. After the conversion, linear interpolation or circular inter­polation is given with the other axis. After the interpolation, the calculated movement is converted again to the moving distance of rotational axis.
6-44
4. Sample programs
Return to Library
INTERPOLATION FUNCTIONS 6
In case of the figure on the right: P
G00 G98; G28 U0 W0; T001T000M06; M200; G18 W0 H0; X52. M203 S1000; G01 X40.F100; G07.1 C50.; G01 C80.F100; G03 Z-25.C90.R50.; P G01 Z-80.C225.; P G02 Z-75.C270.R55.; P G01 Z-25.; P G03 Z-20.C280.R80.; P G01 C360.; P
P0 P
P
1
P
2
P
3
P
4
P
5
P
6
G07.1 C0.; G28 U0; G28 W0 H0; M202; M30;
0→P1→P2→P3→P4→P5→P6→P7
Unit
mm
P
4
1 2 3 4 5 6 7
P
3
–80 –75 –25 –20
(r = 50 mm)
P
P
P
5
P
2
+C
7
360
6
280 270
225
90 80
P
1
P
0
+Z
5. Supplement
Relation of cylindrical interpolation mode to other functions
A. Feed rate designation
The feed rate commanded during cylindrical interpolation mode provides a speed on the plane where cylindrical sides are spread.
Note: The example of programming shown on the right (F10)
realizes a C-axis feed of 143°/min [approximation of 10/(4 × 2π) × 360].
M G98; G07.1 C4; G01 C_ F10; M
B. Circular interpolation (G02, G03)
1. Plane selection Giving the circular interpolation between the rotational axis and other linear axis during cylindrical interpolation mode requires the command of plane selection (G17, G18, G19).
Example: When the circular interpolation is given between Z- and C-axes, the circular
interpolation command is G18 Z_ C_ ;
G02/G03 Z_ C_ R_ ;
2. Radius designation The circular radius by word address I, J or K cannot be commanded during cylindrical inter­polation mode. The circular radius is commanded by address R. The radius must be commanded not with angle, but with mm or inch.
6-45
6 INTERPOLATION FUNCTIONS
Return to Library
C. Tool nose radius compensation
Giving the tool nose radius compensation during cylindrical interpolation mode requires the command of plane selection as with the circular interpolation. However, giving the tool nose radius compensation requires start-up and cancel during cylindrical interpolation mode. Establishing a cylindrical interpolation mode with the tool nose radius compensation given does not provide proper compensation.
D. Positioning
Positioning (including commands producing the cycle of rapid feed such as G28 and G80 to G89) cannot be accomplished during cylindrical interpolation mode. Positioning requires establishing a cylindircal interpolation cancel mode.
E. Coordinate system setting
The workpiece coordinate system (G50) cannot be commanded during cylindrical interpolation mode.
6. Notes
1. The cylindrical interpolation mode cannot be re-established during cylindrical interpolation mode. Re-establishment requires the cancel of cylindrical interpolation mode.
2. The cylindrical interpolation (G07.1) cannot be commanded during positioning mode (G00).
3. Accuracy
- Automatic operation
During cylindrical interpolation mode, the moving distance of rotational axis commanded with an angle is once internally converted to the distance on the circumference. And after arithmetic operation is performed on linear interpolation or circular interpolation with the other axis, the calculated movement is again converted to the angle. As a result, where the cylindrical radius is small, the actual moving distance may differ from the commanded value. However, the error produced then is not accumulated.
Actual moving distance =
MOVE : Moving distance per rotation of rotational axis (Parameter) r : Workpiece radius ( ) : Rounding to the least input increment
- Manual operation
Performing manual operation during cylindrical interpolation mode in manual absolute ON status may cause an error for the above reason.
4. The hole machining fixed cycle (G83 to G89) cannot be commanded during cylindrical interpolation mode.
MOVE
(
2 × 2πr
Command value ×
× (
2 × 2πr
MOVE
))
6-46

6-13 Threading

Return to Library

6-13-1 Constant lead threading: G32 [Series M: G33]

1. Function and purpose
The G32 command controls the feedrate of the tool in synchronization with the spindle rotation and so this enables both the straight and scrolled thread cutting of constant leads and the continuous thread cutting.
F/E
INTERPOLATION FUNCTIONS 6
F/E
Straight thread
Scrolled thread
2. Programming format
G32 Zz/Ww Xx/Uu Ff; (Normal lead thread cutting commands)
Where Zz, Ww, Xx, Uu: Thread ending point addresses and coordinates
Ff: Lead of long axis (axis of which moving distance is the longest)
direction
G32 Zz/Ww Xx/Uu Ee; (Precision lead threading commands)
Where Zz, Ww, Xx, Uu: Thread ending point addresses and coordinates
Ee: Lead of long axis (axis of which moving distance is the longest)
direction
X-axis
u 2
z
Ending point
δ
w
α
2
Starting point
δ
1
F/E
Continuous thread
TEP026
Z-axis
x
TEP027
6-47
Loading...