GFZ-62574EN B-62574EN
GE Fanuc CNC
Series 0-MD/0-GSD Operator’s Manual
Presented By: CNC Center
For Product Needs Please Visit:
http://www.cnccenter.com/
OR Email:
<EMAIL_ADDRESS>OR Call:
1-800-963-3513 GE Fanuc CNC Manuals www.cnccenter.com
��������� � ��� ��
����� �������� ������� ���������� �
��� ���������������
����� �����������
�������� �� � �������������
s–1
SAFETY PRECAUTIONS
This section describes the safety precautions related to the use of CNC units. It is essential that these precautions be observed by users to ensure the safe operation of machines equipped with a CNC unit (all descriptions in this section assume this configuration). Note that some precautions are related only to specific functions, and thus may not be applicable to certain CNC units. Users must also observe the safety precautions related to the machine, as described in the relevant manual supplied by the machine tool builder. Before attempting to operate the machine or create a program to control the operation of the machine, the operator must become fully familiar with the contents of this manual and relevant manual supplied by the machine tool builder.
Contents
1.
2.
3.
4.
5.
SAFETY PRECAUTIONS B–62574EN/02
s–2
1 DEFINITION OF WARNING, CAUTION, AND NOTE This manual includes safety precautions for protecting the user and preventing damage to the machine. Precautions are classified into Warning and Caution according to their bearing on safety. Also, supplementary information is described as a Note. Read the Warning, Caution, and Note thoroughly before attempting to use the machine.
WARNING
Applied when there is a danger of the user being injured or when there is a damage of both the user being injured and the equipment being damaged if the approved procedure is not observed.
CAUTION
Applied when there is a danger of the equipment being damaged, if the approved procedure is not observed.
NOTE
The Note is used to indicate supplementary information other than Warning and Caution.
� Read this manual carefully, and store it in a safe place.
ww w.
cn cc
en ter
.co m
B–62574EN/02 SAFETY PRECAUTIONS
s–3
2 GENERAL WARNINGS AND CAUTIONS WARNING
1. Never attempt to machine a workpiece without first checking the operation of the machine. Before starting a production run, ensure that the machine is operating correctly by performing a trial run using, for example, the single block, feedrate override, or machine lock function or by operating the machine with neither a tool nor workpiece mounted. Failure to confirm the correct operation of the machine may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
2. Before operating the machine, thoroughly check the entered data. Operating the machine with incorrectly specified data may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
3. Ensure that the specified feedrate is appropriate for the intended operation. Generally, for each machine, there is a maximum allowable feedrate. The appropriate feedrate varies with the intended operation. Refer to the manual provided with the machine to determine the maximum allowable feedrate. If a machine is run at other than the correct speed, it may behave unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
4. When using a tool compensation function, thoroughly check the direction and amount of compensation. Operating the machine with incorrectly specified data may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
5. The parameters for the CNC and PMC are factory–set. Usually, there is not need to change them. When, however, there is not alternative other than to change a parameter, ensure that you fully understand the function of the parameter before making any change. Failure to set a parameter correctly may result in the machine behaving unexpectedly, possibly causing damage to the workpiece and/or machine itself, or injury to the user.
6. Immediately after switching on the power, do not touch any of the keys on the MDI panel until the position display or alarm screen appears on the CNC unit. Some of the keys on the MDI panel are dedicated to maintenance or other special operations. Pressing any of these keys may place the CNC unit in other than its normal state. Starting the machine in this state may cause it to behave unexpectedly.
7. This manual supplied with a CNC unit provide an overall description of the machine’s functions, including any optional functions. Note that the optional functions will vary from one machine model to another. Therefore, some functions described in the manuals may not actually be available for a particular model. Check the specification of the machine if in doubt.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–62574EN/02
s–4
WARNING
8. Some functions may have been implemented at the request of the machine–tool builder. When using such functions, refer to the manual supplied by the machine–tool builder for details of their use and any related cautions.
NOTE
Programs, parameters, and macro variables are stored in nonvolatile memory in the CNC unit. Usually, they are retained even if the power is turned off. Such data may be deleted inadvertently, however, or it may prove necessary to delete all data from nonvolatile memory as part of error recovery. To guard against the occurrence of the above, and assure quick restoration of deleted data, backup all vital data, and keep the backup copy in a safe place.
ww w.
cn cc
en ter
.co m
B–62574EN/02 SAFETY PRECAUTIONS
s–5
3 WARNINGS AND CAUTIONS RELATED TOPROGRAMMING This section covers the major safety precautions related to programming. Before attempting to perform programming, read the supplied this manual carefully such that you are fully familiar with their contents.
WARNING
1. Coordinate system setting
If a coordinate system is established incorrectly, the machine may behave unexpectedly as a result of the program issuing an otherwise valid move command. Such an unexpected operation may damage the tool, the machine itself, the workpiece, or cause injury to the user.
2. Positioning by nonlinear interpolation
When performing positioning by nonlinear interpolation (positioning by nonlinear movement between the start and end points), the tool path must be carefully confirmed before performing programming. Positioning involves rapid traverse. If the tool collides with the workpiece, it may damage the tool, the machine itself, the workpiece, or cause injury to the user.
3. Function involving a rotation axis
When programming polar coordinate interpolation or normal–direction (perpendicular) control, pay careful attention to the speed of the rotation axis. Incorrect programming may result in the rotation axis speed becoming excessively high, such that centrifugal force causes the chuck to lose its grip on the workpiece if the latter is not mounted securely. Such mishap is likely to damage the tool, the machine itself, the workpiece, or cause injury to the user.
4. Inch/metric conversion
Switching between inch and metric inputs does not convert the measurement units of data such as the workpiece origin offset, parameter, and current position. Before starting the machine, therefore, determine which measurement units are being used. Attempting to perform an operation with invalid data specified may damage the tool, the machine itself, the workpiece, or cause injury to the user.
5. Constant surface speed control
When an axis subject to constant surface speed control approaches the origin of the workpiece coordinate system, the spindle speed may become excessively high. Therefore, it is necessary to specify a maximum allowable speed. Specifying the maximum allowable speed incorrectly may damage the tool, the machine itself, the workpiece, or cause injury to the user.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–62574EN/02
s–6
WARNING
6. Stroke check
After switching on the power, perform a manual reference position return as required. Stroke check is not possible before manual reference position return is performed. Note that when stroke check is disabled, an alarm is not issued even if a stroke limit is exceeded, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the user.
7. Tool post interference check
A tool post interference check is performed based on the tool data specified during automatic operation. If the tool specification does not match the tool actually being used, the interference check cannot be made correctly, possibly damaging the tool or the machine itself, or causing injury to the user. After switching on the power, or after selecting a tool post manually, always start automatic operation and specify the tool number of the tool to be used.
8. Absolute/incremental mode
If a program created with absolute values is run in incremental mode, or vice versa, the machine may behave unexpectedly.
9. Plane selection
If an incorrect plane is specified for circular interpolation, helical interpolation, or a canned cycle, the machine may behave unexpectedly. Refer to the descriptions of the respective functions for details.
10. Torque limit skip
Before attempting a torque limit skip, apply the torque limit. If a torque limit skip is specified without the torque limit actually being applied, a move command will be executed without performing a skip.
11. Programmable mirror image
Note that programmed operations vary considerably when a programmable mirror image is enabled.
12. Compensation function
If a command based on the machine coordinate system or a reference position return command is issued in compensation function mode, compensation is temporarily canceled, resulting in the unexpected behavior of the machine. Before issuing any of the above commands, therefore, always cancel compensation function mode.ww
w. cn
cc en
ter .co
m
B–62574EN/02 SAFETY PRECAUTIONS
s–7
4 WARNINGS AND CAUTIONS RELATED TO HANDLING This section presents safety precautions related to the handling of machine tools. Before attempting to operate your machine, read the supplied this manual carefully, such that you are fully familiar with their contents.
WARNING
1. Manual operation
When operating the machine manually, determine the current position of the tool and workpiece, and ensure that the movement axis, direction, and feedrate have been specified correctly. Incorrect operation of the machine may damage the tool, the machine itself, the workpiece, or cause injury to the operator.
2. Manual reference position return
After switching on the power, perform manual reference position return as required. If the machine is operated without first performing manual reference position return, it may behave unexpectedly. Stroke check is not possible before manual reference position return is performed. An unexpected operation of the machine may damage the tool, the machine itself, the workpiece, or cause injury to the user.
3. Manual numeric command
When issuing a manual numeric command, determine the current position of the tool and workpiece, and ensure that the movement axis, direction, and command have been specified correctly, and that the entered values are valid. Attempting to operate the machine with an invalid command specified may damage the tool, the machine itself, the workpiece, or cause injury to the operator.
4. Manual handle feed
In manual handle feed, rotating the handle with a large scale factor, such as 100, applied causes the tool and table to move rapidly. Careless handling may damage the tool and/or machine, or cause injury to the user.
5. Disabled override
If override is disabled (according to the specification in a macro variable) during threading, rigid tapping, or other tapping, the speed cannot be predicted, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the operator.
6. Origin/preset operation
Basically, never attempt an origin/preset operation when the machine is operating under the control of a program. Otherwise, the machine may behave unexpectedly, possibly damaging the tool, the machine itself, the tool, or causing injury to the user.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–62574EN/02
s–8
WARNING
7. Workpiece coordinate system shift
Manual intervention, machine lock, or mirror imaging may shift the workpiece coordinate system. Before attempting to operate the machine under the control of a program, confirm the coordinate system carefully. If the machine is operated under the control of a program without making allowances for any shift in the workpiece coordinate system, the machine may behave unexpectedly, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the operator.
8. Software operator’s panel and menu switches
Using the software operator’s panel and menu switches, in combination with the MDI panel, it is possible to specify operations not supported by the machine operator’s panel, such as mode change, override value change, and jog feed commands. Note, however, that if the MDI panel keys are operated inadvertently, the machine may behave unexpectedly, possibly damaging the tool, the machine itself, the workpiece, or causing injury to the user.
9. Manual intervention
If manual intervention is performed during programmed operation of the machine, the tool path may vary when the machine is restarted. Before restarting the machine after manual intervention, therefore, confirm the settings of the manual absolute switches, parameters, and absolute/incremental command mode.
10. Feed hold, override, and single block
The feed hold, feedrate override, and single block functions can be disabled using custom macro system variable #3004. Be careful when operating the machine in this case.
11. Dry run
Usually, a dry run is used to confirm the operation of the machine. During a dry run, the machine operates at dry run speed, which differs from the corresponding programmed feedrate. Note that the dry run speed may sometimes be higher than the programmed feed rate.
12. Cutter and tool nose radius compensation in MDI mode
Pay careful attention to a tool path specified by a command in MDI mode, because cutter or tool nose radius compensation is not applied. When a command is entered from the MDI to interrupt in automatic operation in cutter or tool nose radius compensation mode, pay particular attention to the tool path when automatic operation is subsequently resumed. Refer to the descriptions of the corresponding functions for details.
13. Program editing
If the machine is stopped, after which the machining program is edited (modification, insertion, or deletion), the machine may behave unexpectedly if machining is resumed under the control of that program. Basically, do not modify, insert, or delete commands from a machining program while it is in use.
ww w.
cn cc
en ter
.co m
B–62574EN/02 SAFETY PRECAUTIONS
s–9
5 WARNINGS RELATED TO DAILY MAINTENANCE WARNING
1. Memory backup battery replacement
When replacing the memory backup batteries, keep the power to the machine (CNC) turned on, and apply an emergency stop to the machine. Because this work is performed with the power on and the cabinet open, only those personnel who have received approved safety and maintenance training may perform this work. When replacing the batteries, be careful not to touch the high–voltage circuits (marked and fitted with an insulating cover). Touching the uncovered high–voltage circuits presents an extremely dangerous electric shock hazard.
NOTE
The CNC uses batteries to preserve the contents of its memory, because it must retain data such as programs, offsets, and parameters even while external power is not applied. If the battery voltage drops, a low battery voltage alarm is displayed on the machine operator’s panel or CRT screen. When a low battery voltage alarm is displayed, replace the batteries within a week. Otherwise, the contents of the CNC’s memory will be lost. Refer to the maintenance section of this manual for details of the battery replacement procedure.
ww w.
cn cc
en ter
.co m
SAFETY PRECAUTIONS B–62574EN/02
s–10
WARNING
2. Absolute pulse coder battery replacement
When replacing the memory backup batteries, keep the power to the machine (CNC) turned on, and apply an emergency stop to the machine. Because this work is performed with the power on and the cabinet open, only those personnel who have received approved safety and maintenance training may perform this work. When replacing the batteries, be careful not to touch the high–voltage circuits (marked and fitted with an insulating cover). Touching the uncovered high–voltage circuits presents an extremely dangerous electric shock hazard.
NOTE
The absolute pulse coder uses batteries to preserve its absolute position. If the battery voltage drops, a low battery voltage alarm is displayed on the machine operator’s panel or CRT screen. When a low battery voltage alarm is displayed, replace the batteries within a week. Otherwise, the absolute position data held by the pulse coder will be lost. Refer to the maintenance section of this manual for details of the battery replacement procedure.
ww w.
cn cc
en ter
.co m
B–62574EN/02 SAFETY PRECAUTIONS
s–11
WARNING
3. Fuse replacement
Before replacing a blown fuse, however, it is necessary to locate and remove the cause of the blown fuse. For this reason, only those personnel who have received approved safety and maintenance training may perform this work. When replacing a fuse with the cabinet open, be careful not to touch the high–voltage circuits (marked and fitted with an insulating cover).
I GENERAL
1.
II PROGRAMMING
1.
2.
3.
4.
5.
6.
7.
8.
9.
III OPERATION
1.
2.
3.
4.
5.
6.
7.
8.
9.

1.

B.
C.
D.

E. STATUS WHEN TURNING POWER ON, WHEN CLEAR AND WHEN RESET 442.
F.
G.
H.  GENERAL
3
1 GENERAL This manual consists of the following parts:
I. GENERAL Describes chapter organization, applicable models, related manuals, and notes for reading this manual.
II. PROGRAMMING Describes each function: Format used to program functions in the NC language, characteristics, and restrictions.
III. OPERATION Describes the manual operation and automatic operation of a machine, procedures for inputting and outputting data, and procedures for editing a program.
IV. MAINTENANCE Describes procedure for batteries.
APPENDIX Lists tape codes, valid data ranges, and error codes.
This manual does not describe parameters in detail. For details on parameters mentioned in this manual, refer to the manual for parameters (B–62580EN).
This manual describes all optional functions. Look up the options incorporated into your system in the manual written by the machine tool builder. The models covered by this manual, and their abbreviations are:
Product name Abbreviations
FANUC Series 0–MD 0–MD 0–D
FANUC Series 0–GSD 0–GSD 0–D
This manual uses the following symbols:
� � Indicates a combination of axes such as X__ Y__ Z (used in PROGRAMMING.).
� Indicates the end of a block. It actually corre- sponds to the ISO code LF or EIA code CR.
�
IP
������ � �� �� ���
���� ������ ������
���� ��� �������ww w.
cn cc
en ter
.co m
GENERAL1. GENERAL B–62574EN/02
4
The table below lists manuals related to the FANUC Series 0–D. In the table, this manual is marked with an asterisk (*).
Table 1 Manuals Related to the FANUC Series 0–D
Manual name Specificationnumber
FANUC Series 0–TD/MD/GCD/GSD
CONNECTION MANUAL (HARDWARE)
B–62543EN
FANUC Series 0–TD/MD/GCD/GSD
CONNECTION MANUAL (FUNCTION)
B–62543EN–1
FANUC Series 0–TD/GCD OPERATOR’S MANUAL B–62544EN
FANUC Series 0–MD/GSD OPERATOR’S MANUAL B–62574EN *
FANUC Series 0–TD/MD/GCD/GSD
MAINTENANCE MANUAL
B–62545EN
FANUC Series 0–TD/GCD PARAMETER MANUAL B–62550��
FANUC Series 0–MD/GSD PARAMETER MANUAL B–62580EN
���� ��� ������
ww w.
cn cc
en ter
.co m
GENERALB–62574EN/02 1. GENERAL
5
When machining the part using the CNC machine tool, first prepare the program, then operate the CNC machine by using the program.
1) First, prepare the program from a part drawing to operate the CNC machine tool. Store the program to a media appropriate for the CNC. How to prepare the program is described in the Chapter II. PROGRAMMING.
2) The program is to be read into the CNC system. Then, mount the workpieces and tools on the machine, and operate the tools according to the programming. Finally, execute the machining actually. How to operate the CNC system is described in the Chapter III. OPERATION.
Part drawing
Part program- ming
CHAPTER II PROGRAMMING CHAPTER III OPERATION
CNC MACHINE TOOL
Before the actual programming, make the machining plan for how to machine the part. Machining plan 1. Determination of workpieces machining range 2. Method of mounting workpieces on the machine tool 3. Machining sequence in every cutting process 4. Cutting tools and cutting conditions Decide the cutting method in every cutting process.
Cutting process 1 2 3Cutting process
Cutting procedure Feed cutting Side cutting Hole machin-
ing
1. Cutting method : Rough Semi Finish
2. Cutting tools
3. Cutting conditions : Feedrate Cutting depth
4. Tool path
1.1 GENERAL FLOW OF OPERATION OF CNC MACHINE TOOL
ww w.
cn cc
en ter
.co m
GENERAL1. GENERAL B–62574EN/02
6
Tool
Side cutting
Face cutting
Hole machining
�������� ���� ��� ���� � � ���� ����� ����� ���� �������� � ���������
�������� � ��� ���� ��� ������ � ����� ��� ����� �������� �
ww w.
cn cc
en ter
.co m
NOTE 1 The function of an CNC machine tool system depends
not only on the CNC, but on the combination of the machine tool, its magnetic cabinet, the servo system, the CNC, the operator’s panels, etc. It is too difficult to describe the function, programming, and operation relating to all combinations. This manual generally describes these from the stand–point of the CNC. So, for details on a particular CNC machine tool, refer to the manual issued by the machine tool builder, which should take precedence over this manual.
2 Headings are placed in the left margin so that the reader can easily access necessary information. When locating the necessary information, the reader can save time by searching though these headings.
3 Machining programs, parameters, variables, etc. are stored in the CNC unit internal non–volatile memory. In general, these contents are not lost by the switching ON/OFF of the power. However, it is possible that a state can occur where precious data stored in the non–volatile memory has to be deleted, because of deletions from a maloperation, or by a failure restoration. In order to restore rapidly when this kind of mishap occurs, it is recommended that you create a copy of the various kinds of data beforehand.
4 This manual describes as many reasonable variations in equipment usage as possible. It cannot address every combination of features, options and commands that should not be attempted. If a particular combination of operations is not described, it should not be attempted.
5 This manual describes the functions supported by the software of the following versions and editions of FANUC Series 0–D. These functions may not be supported by other versions or editions of the software.
6 This manual provides a general description of the FANUC Series 0–D. Some functions described in this manual may not, therefore, be available depending on the software series or type.
GENERALB–62574EN/02 1. GENERAL
7
� ������ �� � �� � ��� �� � ���
FANUC Series 0–MD 0471 04 or more
FANUC Series 0–MD 0472 01 or more
FANUC Series 0–GSD 0891 01 or more
1.2 NOTES ON READING THIS MANUAL
ww w.
cn cc
en ter
.co m
II PROGRAMMING
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
11
1 GENERAL
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
12
The tool moves along straight lines and arcs constituting the workpiece parts figure (See II–4).
Program G01 X_ _ Y_ _ ; X_ _ ;
Tool
Workpiece
Fig.1.1 (a) Tool movement along a straight line
Program G03X_ _Y_ _R_ _;
Workpiece Tool
Fig. 1.1 (b) Tool movement along an arc
1.1 TOOL MOVEMENT ALONG WORKPIECE PARTS FIGURE– INTERPOLATION
Explanations
� Tool movement along a straight line
� Tool movement along an arc
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
13
Symbols of the programmed commands G01, G02, ... are called the preparatory function and specify the type of interpolation conducted in the control unit.
(a) Movement along straight line
G01 Y__; X––Y––––;
(b) Movement along arc
G03X––Y––R––;
Control unit
X axis
Y axis
Tool movementInterpolation
a) Movement along straight line
b) Movement along arc
Fig. 1.1 (c) Interpolation function
NOTE Some machines move tables instead of tools but this manual assumes that tools are moved against workpieces.
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
14
Movement of the tool at a specified speed for cutting a workpiece is called the feed.
Tool
Workpiece
Table
F
mm/min
Fig. 1.2 (a) Feed function
Feedrates can be specified by using actual numerics. For example, to feed the tool at a rate of 150 mm/min, specify the following in the program: F150.0 The function of deciding the feed rate is called the feed function (See II–5).
1.2 FEED– FEED FUNCTION
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
15
A CNC machine tool is provided with a fixed position. Normally, tool change and programming of absolute zero point as described later are performed at this position. This position is called the reference position.
Reference position
Tool
Workpiece
Table
Fig. 1.3.1 (a) Reference position
The tool can be moved to the reference position in two ways:
(1) Manual reference position return (See III–3.1) Reference position return is performed by manual button operation.
(2) Automatic reference position return (See II–6) In general, manual reference position return is performed first after the power is turned on. In order to move the tool to the reference position for tool change thereafter, the function of automatic reference position return is used.
1.3 PART DRAWING AND TOOL MOVEMENT
1.3.1 Reference Position (Machine–Specific Position)
� ����� ����
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
16
Z
�
�
Part drawing
Z
�
�
Coordinate system
�
�
�
Tool
Workpiece
Machine tool
Program
Command
CNC
Fig. 1.3.2 (a) Coordinate system
The following two coordinate systems are specified at different locations: (See II–7)
(1) Coordinate system on part drawing The coordinate system is written on the part drawing. As the program data, the coordinate values on this coordinate system are used.
(2) Coordinate system specified by the CNC The coordinate system is prepared on the actual machine tool table. This can be achieved by programming the distance from the current position of the tool to the zero point of the coordinate system to be set.
230
300
Program zero point
�
�
Distance to the zero point of a coor- dinate system to be set
Present tool position
Fig. 1.3.2 (b) Coordinate system specified by the CNC
The positional relation between these two coordinate systems is determined when a workpiece is set on the table.
1.3.2 Coordinate System on Part Drawing and Coordinate System Specified by CNC – Coordinate System
Explanations � Coordinate system
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
17
� �
Table
Workpiece
�
�
Coordinate system spe- cified by the CNC estab- lished on the table
Coordinate system on part drawing estab- lished on the work- piece
Fig. 1.3.2 (c) Coordinate system specified by CNC and coordinate systemon part drawing
The tool moves on the coordinate system specified by the CNC in accordance with the command program generated with respect to the coordinate system on the part drawing, and cuts a workpiece into a shape on the drawing. Therefore, in order to correctly cut the workpiece as specified on the drawing, the two coordinate systems must be set at the same position.
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
18
To set the two coordinate systems at the same position, simple methods shall be used according to workpiece shape, the number of machinings.
(1) Using a standard plane and point of the workpiece.
Program zero point
�
�
Workpiece’s standard pointFixed distance
Bring the tool center to the workpiece standard point. And set the coordinate system specified by CNC at this position.
Fixed distance
(2) Mounting a workpiece directly against the jig
Jig
Program zero point
Meet the tool center to the reference position. And set the coordinate system specified by CNC at this position. (Jig shall be mounted on the predetermined point from the reference position.)
(3) Mounting a workpiece on a pallet, then mounting the workpiece and pallet on the jig
ÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂ
Pallet
(Jig and coordinate system shall be specified by the same as (2)).
Jig
Workpiece
� Methods of setting the two coordinate systems in the same position
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
19
Coordinate values of command for moving the tool can be indicated by absolute or incremental designation (See II–8.1).
The tool moves to a point at ”the distance from zero point of the coordinate system” that is to the position of the coordinate values.
B(10,30,20)
�
�
Tool
�
Command specifying movement from point A to point B
�
G90 X10.0 Y30.0 Z20.0 ;
Coordinates of point B
1.3.3 How to Indicate Command Dimensions for Moving the Tool – Absolute, Incremental Commands
Explanations
� Absolute coordinates
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
20
Specify the distance from the previous tool position to the next tool position.
Y
�
�
�
�
X=40
Z=–10
G91 X40.0 Y–30.0 Z–10.0 ;
Distance and direction for movement along each axis
Tool
Command specifying movement from point A to point B
Y= –30
� Incremental coordinates
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
21
The speed of the tool with respect to the workpiece when the workpiece is cut is called the cutting speed. As for the CNC, the cutting speed can be specified by the spindle speed in rpm unit.
rpm φD
mm/min
Tool
V: Cutting speed
Workpiece
�������� ����
N mm
<When a workpiece should be machined with a tool 100 mm in diameter at a cutting speed of 80 mm/min. > The spindle speed is approximately 250 rpm, which is obtained from N=1000v/πD. Hence the following command is required:
S250; Commands related to the spindle speed are called the spindle speed function ( See II–9).
1.4 CUTTING SPEED – SPINDLE SPEED FUNCTION
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
22
When drilling, tapping, boring, milling or the like, is performed, it is necessary to select a suitable tool. When a number is assigned to each tool and the number is specified in the program, the corresponding tool is selected.
01
02
Tool number
ATC magazine
<When No.01 is assigned to drilling tool> When the tool is stored at location 01 in the ATC magazine, the tool can be selected by specifying T01. This is called the tool function (See II–10).
1.5 SELECTION OF TOOL USED FOR VARIOUS MACHINING – TOOL FUNCTION
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
23
When machining is actually started, it is necessary to rotate the spindle, and feed coolant. For this purpose, on–off operations of spindle motor and coolant valve should be controlled (See II–11).
Workpiece
Tool
Coolant
The function of specifying the on–off operations of the components of the machine is called the miscellaneous function. In general, the function is specified by an M code. For example, when M03 is specified, the spindle is rotated clockwise at the specified spindle speed.
1.6 COMMAND FOR MACHINE OPERATIONS – MISCELLANEOUS FUNCTION
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
24
A group of commands given to the CNC for operating the machine is called the program. By specifying the commands, the tool is moved along a straight line or an arc, or the spindle motor is turned on and off. In the program, specify the commands in the sequence of actual tool movements.
Block
⋅
⋅
⋅
⋅
Program
Tool movement sequence
Block
Block
Block
Block
Fig. 1.7 (a) Program configuration
A group of commands at each step of the sequence is called the block. The program consists of a group of blocks for a series of machining. The number for discriminating each block is called the sequence number, and the number for discriminating each program is called the program number (See II–12).
1.7 PROGRAM CONFIGURATION
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
25
The block and the program have the following configurations.
N � ���� �� �� ����� � ����� �� �� �� �� �� �� ;
�� ���
Sequence number
Preparatory function
Dimension word Miscel- laneous function
Spindle function
Tool func- tion
End of block
Fig. 1.7 (b) Block configuration
A block has a sequence number at its head, which identifies the block, and an end–of–block code at the end, indicating the end of the block. This manual indicates the end–of–block code by ; (LF in the ISO code and CR in the EIA code).
; ������
⋅
⋅
⋅
M30 ;
Program number
Block
Block
Block
End of program
⋅
⋅
⋅
Fig. 1.7 (c) Program configuration
Normally, a program number is specified after the end–of–block (;) code at the beginning of the program, and a program end code (M02 or M30) is specified at the end of the program.
Explanations
� Block
� Program
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
26
When machining of the same pattern appears at many portions of a program, a program for the pattern is created. This is called the subprogram. On the other hand, the original program is called the main program. When a subprogram execution command appears during execution of the main program, commands of the subprogram are executed. When execution of the subprogram is finished, the sequence returns to the main program.
Main program
M98P1001
⋅ ⋅
M98P1002
M98P1001
⋅
⋅
⋅
⋅
⋅
⋅ ⋅
⋅
⋅
Subprogram #1
Subprogram #2
O1001
M99
Program for hole #1
Program for hole #2
O1002
M99
Hole #1
Hole #2
Hole #1
Hole #2
� Main program and subprogram
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 1. GENERAL
27
Usually, several tools are used for machining one workpiece. The tools have different tool length. It is very troublesome to change the program in accordance with the tools. Therefore, the length of each tool used should be measured in advance. By setting the difference between the length of the standard tool and the length of each tool in the CNC (data display and setting : see III–11), machining can be performed without altering the program even when the tool is changed. This function is called tool length compensation.
H1 H2 H3 H4
ÇÇÇ ÇÇÇ ÇÇÇ ÇÇÇ ÇÇÇ ÇÇÇ
ÂÂ ÂÂ ÂÂ ÂÂ ÂÂ
Standard tool
Workpiece
Because a cutter has a radius, the center of the cutter path goes around the workpiece with the cutter radius deviated.
Workpiece
Cutter path using cutter compensation
Machined part figure
Cutter
If radius of cutters are stored in the CNC (Data Display and Setting : see III–11), the tool can be moved by cutter radius apart from the machining part figure. This function is called cutter compensation.
1.8 TOOL FIGURE AND TOOL MOTION BY PROGRAM
Explanations
� Machining using the end of cutter – Tool length compensation function (See II–14.1)
� Machining using the side of cutter – Cutter compensation function (See II–14.2)
ww w.
cn cc
en ter
.co m
PROGRAMMING1. GENERAL B–62574EN/02
28
Limit switches are installed at the ends of each axis on the machine to prevent tools from moving beyond the ends. The range in which tools can move is called the stroke.
ÇÇÇÇÇÇ ÇÇÇÇÇÇ ÇÇÇÇÇÇ
Motor
Limit switch
Table
Machine zero point
Specify these distances.
Tools cannot enter this area. The area is specified by data in memory or a program.
Besides strokes defined with limit switches, the operator can define an area which the tool cannot enter using a program or data in memory (see III–11). This function is called stroke check.
1.9 TOOL MOVEMENT RANGE – STROKE
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 2. CONTROLLED AXES
29
2 ���� ������ ���
ww w.
cn cc
en ter
.co m
PROGRAMMING2. CONTROLLED AXES B–62574EN/02
30
0–MD 0–GSD
No. of basic controlled axes 3 axes 3 axes
Controlled axes expansion (PMC axis is not included.)
Max. 4 axes Max. 4 axis
Basic simultaneously con- trolled axes
4 axes 3 axes
Simultaneously controlled axes expansion
Max. 4 axes Max. 3 axes
Names of the three basic axes are fixed as X, Y, and Z. Names of additional axes can be optionally selected from A, B, C, U, V, and W. They can be set by parameter No. 008 #2, #3, #4.
Name of incre- ment system
Least input increment Least command increment
Maximum stroke
IS–B 0.001mm 0.0001inch 0.001deg
0.001mm 0.0001inch 0.001deg
99999.999mm 9999.9999inch 99999.999deg
Name of incre- ment system
Least input increment Least command increment
Maximum stroke
IS–C 0.0001mm 0.00001inch 0.00001deg
0.0001mm 0.00001inch 0.00001deg
9999.9999mm 999.99999inch 9999.9999deg
Combined use of the inch system and the metric system is not allowed. There are functions that cannot be used between axes with different unit systems (circular interpolation, cutter compensation, etc.). For the increment system, see the machine tool builder’s manual.
Maximum stroke = Least command increment� � 99999999 See 2.3 Incremen System.
2.1 CONTROLLED AXES
2.2 NAME OF AXES
2.3 INCREMENT SYSTEM
2.4 MAXIMUM STROKE
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 3. PREPARATORY FUNCTION
(G FUNCTION)
31
3 ��� ��� �� �� �� � � ��� �� �� � � A number following address G determines the meaning of the command for the concerned block. G codes are divided into the following two types.
Type Meaning
One–shot G code The G code is effective only in the block in which it is specified.
Modal G code The G code is effective until another G code of the same group is specified.
(Example ) G01 and G00 are modal G codes in group 01.
G01X � Z � X �
G00Z �
G01 is effective in this range.
1. Modal G codes have the following initial conditions when the power is turned on or the system is reset to the clear state (bit 6 of parameter No. 045).
1) Those G codes marked in Table 3 are specified automatically.
2) G20 and G21 retain their original conditions.
3) G00 or G01 is automatically selected depending on the setting of bit 6 of parameter No. 011.
4) G90 or G91 is automatically selected depending on the setting of bit 7 of parameter No. 030.
2. The G codes of group 00, except G10 and G11, are one–shot G codes.
3. If a G code that does not appear in the G code list is specified, or a G code whose options are not supported is specified, alarm No. 010 is displayed.
4. Multiple G codes of different groups can be specified in a single block. When multiple G codes of one group are specified in a block, the G code specified last is effective.
5. If any G code of group 01 is specified in a canned cycle mode, the canned cycle is automatically cancelled and the G80 condition is entered. However, a G code of group 01 is not affected by any of the
canned cycle G codes.
6. A G code is displayed from each group.
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING 3. PREPARATORY FUNCTION (G FUNCTION) B–62574EN/02
32
Table 3 G code list (1/2)
G code Group Function
G00
01
Positioning
G01 01
Linear interpolation
G02 01
Circular interpolation CW
G03 Circular interpolation CCW
G04
00
Dwell, Exact stop
G09 00
Exact stop
G10 00
Data setting
G11 Data setting mode cancel
G17 02
XpYp plane selection Xp: X axis or its parallel axis
G18 02
ZpXp plane selection Yp: Y axis or its parallel axis
G19 02 YpZp plane selection Zp: Z axis or its parallel axis
G20 06
Input in inch
G21 06
Input in mm
G27
00
Reference position return check
G28
00
Return to reference position
G29 00 Return from reference position
G30 2nd reference position return
G31 Skip function (0–GSD)
G40
0
Cutter compensation cancel
G41 07 Cutter compensation left
G42 Cutter compensation right
G43
08
Tool length compensation + direction
G44 08 Tool length compensation – direction
G49 Tool length compensation cancel
G52 00
Local coordinate system setting
G53 00
Machine coordinate system selection
G54
14
Workpiece coordinate system 1 selection
G55
14
Workpiece coordinate system 2 selection
G56 14
Workpiece coordinate system 3 selection
G57 14
Workpiece coordinate system 4 selection
G58 Workpiece coordinate system 5 selection
G59 Workpiece coordinate system 6 selection
G60 00 Single direction positioning
G61
1
Exact stop mode
G62 15
Automatic corner override
G63 15
Tapping mode
G64 Cutting mode
G65 00 Macro call
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 3. PREPARATORY FUNCTION
(G FUNCTION)
33
Table 3 G code list (2/2)
G code Group Function
G66 12
Macro modal call
G67 12
Macro modal call cancel
G73 09
Peck drilling cycle
G74 09
Counter tapping cycle
G75 01 Plunge grinding cycle (0–GSD)
G76 09 Fine boring cycle
G77
01
Direct constant–dimension plunge grinding cycle (0–GSD)
G78 01 Continuous–feed surface grinding cycle (0–GSD)
G79 Intermittent–feed surface grinding cycle (0–GSD)
G80 Canned cycle cancel/external operation function cancel
G81 Drilling cycle, spot boring cycle or external operation function
G82 Drilling cycle or counter boring cycle
G83 Peck drilling cycle
G84 09 Tapping cycle
G85 Boring cycle
G86 Boring cycle
G87 Back boring cycle
G88 Boring cycle
G89 Boring cycle
G90 03
Absolute command
G91 03
Increment command
G92 00 Setting for work coordinate system or clamp at maximum spindle speed
G94 05 Feed per minute
G98 10
Return to initial point in canned cycle
G99 10
Return to R point in canned cycle
G150
19
Normal direction control cancel mode (0–GSD)
G151 19 Normal direction control left side on (0–GSD)
G152 Normal direction control right side on (0–GSD)
G160 20
In–feed control function cancel (0–GSD)
G161 20
In–feed control function (0–GSD)
ww w.
cn cc
en ter
.co m
PROGRAMMING4. INTERPOLATION FUNCTIONS B–62574EN/02
34
4 �� �� �� � �� ���� � ��
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 4. INTERPOLATION FUNCTIONS
35
The G00 command moves a tool to the position in the workpiece system specified with an absolute or an incremental command at a rapid traverse rate. In the absolute command, coordinate value of the end point is programmed. In the incremental command the distance the tool moves is programmed.
Format
G00 _;
_: For an absolute command, the coordinates of an end position, and for an incremental command, the dis– tance the tool moves.
IP
IP
Tool path generally does not become a straight line.
End position Non liner positioning.
Start position
The rapid traverse rate in the G00 command is set to the parameter No. 518 to 521 for each axis independently by the machine tool builder. In the positioning mode actuated by G00, the tool is accelerated to a predetermined speed at the start of a block and is decelerated at the end of a block. Execution proceeds to the next block after confirming the in–position. ”In–position” means that the feed motor is within the specified range. This range is determined by the machine tool builder by setting to parameter No. 500 to 503.
The rapid traverse rate cannot be specified in the address F.
4.1 Positioning (G00)
Explanations
Restrictionsww w.
cn cc
en ter
.co m
PROGRAMMING4. INTERPOLATION FUNCTIONS B–62574EN/02
36
For accurate positioning without play of the machine (backlash), final positioning from one direction is available.
Start position
Temporary stop End position
Overrun
Start position
G60 _;
_: For an absolute command, the coordinates of an end position, and for an incremental command, the distance the tool moves.
IP
IP
An overrun and a positioning direction are set by the parameter (No. 029 #0 to #3, No. 204 to 207). Even when a commanded positioning direction coincides with that set by the parameter, the tool stops once before the end point.
� � During drilling canned cycle, no single direction positioning is effected
in Z axis. � No single direction positioning is effected in an axis for which no
overrun has been set by the parameter. � When the move distance 0 is commanded, the single direction
positioning is not performed. � The direction set to the parameter is not effected by mirror image. � The single direction positioning does not apply to the shift motion in
the canned cycles of G76 and G87.
4.2 SINGLE DIRECTION POSITIONING (G60)
Format
Explanations
Restrictions
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 4. INTERPOLATION FUNCTIONS
37
Tools can move along a line
F_:Speed of tool feed (Feedrate)
_: For an absolute command, the coordinates of an end point, and for an incremental command, the distance the tool moves.
G01 _F_;IP
IP
A tools move along a line to the specified position at the feedrate specified in F. The feedrate specified in F is effective until a new value is specified. It need not be specified for each block. The feedrate commanded by the F code is measured along the tool path. If the F code is not commanded, the feedrate is regarded as zero. The feedrate of each axis direction is as follows.
F�� � L � f
F�� �
L � f
F�� �
L � f
Feed rate of α axis direction :
F�� � L � f
L� �2� �2� �2� �2�
G01 α α β β γ γ ζ ζ Ff ;
Feed rate of γ axis direction :
Feed rate of β axis direction :
Feed rate of ζ axis direction :
The feed rate of the rotary axis is commanded in the unit of deg/min (the unit is decimal point position).
When the straight line axis α(such as X, Y, or Z) and the rotating axisβ (such as A, B, or C) are linearly interpolated, the feed rate is that in which the tangential feed rate in the αandβ cartesian coordinate system is commanded by F(mm/min). β–axis feedrate is obtained ; at first, the time required for distribution is calculated by using the above formula, then the β –axis feedrate unit is changed to deg 1min.
4.3 LINEAR INTERPOLATION (G01)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING4. INTERPOLATION FUNCTIONS B–62574EN/02
38
A calculation example is as follows. G91 G01 X20.0B40.0 F300.0 ; This changes the unit of the C axis from 40.0 deg to 40mm with metric input. The time required for distribution is calculated as follows:
202 � 402�
300
40 0.14907
The feed rate for the C axis is
0.14907 (min)
268.3 deg�min
In simultaneous 3 axes control, the feed rate is calculated the same way as in 2 axes control.
100.0
200.00
(G91) G01X200.0Y100.0F200.0 ;
Y axis
(End position)
X axis (Start position)
90,
�Start point�
�End point� Feedrate is 300 deg/min
G91G01C–90.0 G300.0 ;Feed rate of 300deg/min
Examples
� Linear interpolation
� ������ �� � �� ��� � � � � ����
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 4. INTERPOLATION FUNCTIONS
39
� �� �� ���� ������ ����� ���� �� ����� ���� � �� ��������� ����
G17 G03
Arc in the XpYp plane
Arc in the ZpXp plane
G18
Arc in the YpZp plane
Xp_Yp_ G02
G03
G02
G03
G02G19
Xp_Zp_
Yp_Zp_
I_J_ R_
F_;
I_K_ R_
F_ ;
J_K_
R_
F_ ;
Table.4.4 Description of the Command Format
Command Description
G17 Specification of arc on XpYp plane
G18 Specification of arc on ZpXp plane
G19 Specification of arc on YpZp plane
G02 Circular Interpolation Clockwise direction (CW)
G03 Circular Interpolation Counterclockwise direction (CCW)
Xp_ Command values of X axis or its parallel axis
Yp_ Command values of Y axis or its parallel axis
Zp_ Command values of Z axis or its parallel axis
I_ Xp axis distance from the start point to the center of an arc with sign
J_ Yp axis distance from the start point to the center of an arc with sign
k_ Zp axis distance from the start point to the center of an arc with sign
R_ Arc radius with sign fixed to radius designation.
F_ Feedrate along the arc
4.4 CIRCULAR INTERPOLATION (G02,G03)
Format
ww w.
cn cc
en ter
.co m
PROGRAMMING4. INTERPOLATION FUNCTIONS B–62574EN/02
40
”Clockwise”(G02) and ”counterclockwise”(G03) on the XpYp plane (ZpXp plane or YpZp plane) are defined when the XpYp plane is viewed in the positive–to–negative direction of the Zp axis (Yp axis or Xp axis, respectively) in the Cartesian coordinate system. See the figure below.
Yp
G02
G03
G17 G18 G19
G02
G03
G02
G03
Xp Zp
Xp Zp Yp
The end point of an arc is specified by address Xp, Yp or Zp, and is expressed as an absolute or incremental value according to G90 or G91. For the incremental value, the distance of the end point which is viewed from the start point of the arc is specified.
The arc center is specified by addresses I, J, and K for the Xp, Yp, and Zp axes, respectively. The numerical value following I, J, or K, however, is a vector component in which the arc center is seen from the start point, and is always specified as an incremental value irrespective of G90 and G91, as shown below. I, J, and K must be signed according to the direction.
End point (x,y)
Center
Start point
End point (z,x) End point (y,z)
Start point
Start point
Center Center
i x
y x z
k
z y
j
j i k
I0,J0, and K0 can be omitted. When Xp, Yp , and Zp are omitted (the end point is the same as the start point) and the center is specified with I, J, and K, a 360° arc (circle) is specified. G02I; Command for a circle If the difference between the radius at the start point and that at the end point exceeds the value in a parameter (No.876), an alarm (No.020) occurs. (Valid only when bit 6 of parameter No. 393 is set to 1.)
Explanations
� � ���� �� �� ���� � ��� ��� ����� �� �
� � ������� � ���� �� �� ���
� � ������� �� �� ���� ����� � ��� � � ���� ������� �� ���
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 4. INTERPOLATION FUNCTIONS
41
The distance between an arc and the center of a circle that contains the arc can be specified using the radius, R, of the circle instead of I, J, and K. In this case, one arc is less than 180°, and the other is more than 180° are considered. When an arc exceeding 180° is commanded, the radius must be specified with a negative value. If Xp, Yp, and Zp are all omitted, if the end point is located at the same position as the start point and when R is used, an arc of 0° is programmed G02R ; (The cutter does not move.)
r=50mm
End point
Start point r=50mm Y
X
For arc � (1) (less than 180 �) G91 G02 XP60.0 YP20.0 R50.0 F300.0 ;
For arc (2) (greater than 180 °) G91 G02 XP60.0 YP20.0 R–50.0 F300.0 ;
(2)
(1)
The feedrate in circular interpolation is equal to the feed rate specified by the F code, and the feedrate along the arc (the tangential feedrate of the arc) is controlled to be the specified feedrate. The error between the specified feedrate and the actual tool feedrate is ±2% or less. However, this feed rate is measured along the arc after the cutter compensation is applied
If I, J, K, and R addresses are specified simultaneously, the arc specified by address R takes precedence and the other are ignored. If an axis not comprising the specified plane is commanded, an alarm is displayed. For example, if axis U is specified as a parallel axis to X axis when plane XY is specified, an alarm (No.028)is displayed. When an arc having a center angle close to 180ø is specified using its radius R, the system may fail to calculate the center of the arc correctly. Therefore, specify the arc with I, J, and K.
� � �� ����
� ���� ���
Restrictionsww w.
cn cc
en ter
.co m
PROGRAMMING4.  INTERPOLATION FUNCTIONS
43
Linear interpolation can be commanded by specifying axial move following the G31 command, like G01. If an external skip signal is input during the execution of this command, execution of the command is interrupted and the next block is executed. The skip function is used when the end of machining is not programmed but specified with a signal from the machine, for example, in grinding. It is used also for measuring the dimensions of a workpiece.
G31 _ ;
G31: One–shot G code (If is effective only in the block in which it is specified)
IP
The coordinate values when the skip signal is turned on can be used in a custom macro because they are stored in the custom macro system variable #5061 to #5064, as follows:
#5061 X axis coordinate value #5062 Y axis coordinate value #5063 Z axis coordinate value
WARNING Disable feedrate override, dry run, and automatic
acceleration/deceleration (These operations can be validated by
setting bit 3 of parameter No. 015 to 1.) when the feedrate per
minute is specified, allowing for an error in the position of the tool
when a skip signal is input. These functions are enabled when the
feedrate per rotation is specified.
NOTE If G31 command is issued while cutter compensation C is applied, an P/S alarm of No.035 is displayed. Cancel the cutter compensation with the G40 command before the G31 command is specified.
4.5 SKIP FUNCTION (G31) (FOR 0–GSD ONLY)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING4. INTERPOLATION FUNCTIONS B–62574EN/02
44
G31 G91X100.0 F100; Y50.0;
� ���
���
�����
Skip signal is input here
Actual motion
Motion without skip signal
Fig.4.5 (a) The next block is an incremental command
G31 G90X200.00 F100; Y100.0; ������
X�����
���� ������� ��� ������ ����
������� ������
������� ������� ����� ������
Fig.4.5 (b) The next block is an absolute command for 1 axis
� �������
�
�
��� ��� ��
���
G31 G90X200.0 F100; X300.0 Y100.0;
������� ������
������� ������� ����� ������
���� ������� ��� ������ ����
Fig 4.5 (c) The next block is an absolute command for 2 axes
Examples
� The next block to G31 is an incremental command
� The next block to G31 is an absolute command for 1 axis
� The next block to G31 is an absolute command for 2 axes
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 5. FEED FUNCTIONS
45
5 ����� ���� ���
ww w.
cn cc
en ter
.co m
PROGRAMMING5. FEED FUNCTIONS B–62574EN/02
46
The feed functions control the feedrate of the tool. The following two feed functions are available:
1. Rapid traverse
When the positioning command (G00) is specified, the tool moves at
a rapid traverse feedrate set in the CNC (parameter No. 518 to 521).
2. Cutting feed
The tool moves at a programmed cutting feedrate.
Override can be applied to a rapid traverse rate or cutting feedrate using
the switch on the machine operator’s panel.
To prevent a mechanical shock, acceleration/deceleration is automatically
applied when the tool starts and ends its movement (Fig. 5.1 (a)).
TC
FL
TJ
TR TR
TC
TJ
FRMAX
FJ
FC
Rapid traverse rate :
Time
FR MAX : Rapid traverse rate
: Acceleration/deceleration time constant for rapid traverse rateFeed rate
TR
Time
Time
FJ : Jog feed rate
TJ : Acceleration/deceleration time constant
FL : Deceleration stop feed for jog feed rate
FC : Cuting feedrate, dry run rate TC : Acceleration/deceleration time constant for feedrate
Linear acceleration/deceleration (constant acceleration)
Jog feed : Exponential acceleration/deceleration (constant time constant)
Cutting feed, dry run : Exponential acceleration/deceleration (constant time constant)
Fig. 5.1 (a) Automatic acceleration/deceleration (example)
5.1 GENERAL
� Feed functions
� Override
� Automatic acceleration/ deceleration
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 5. FEED FUNCTIONS
47
If the direction of movement changes between specified blocks during
cutting feed, a rounded–corner path may result (Fig. 5.1 (b)).
0
Programmed path
Actual tool path
�
�
Fig. 5.1 (b) Example of Tool Path between Two Blocks
In circular interpolation, a radial error occurs (Fig. 5.1(c)).
r
∆ ��� Error Programmed path
Actual tool path
�
� �
Fig. 5.1 (c) Example of Radial Error in Circular Interpolation
The rounded–corner path shown in Fig. 5.1(b) and the error shown in Fig. 5.1(c) depend on the feedrate. So, the feedrate needs to be controlled for the tool to move as programmed.
� Tool path in a cutting feed
ww w.
cn cc
en ter
.co m
PROGRAMMING5. FEED FUNCTIONS B–62574EN/02
48
G00 _ ;
G00 : G code (group 01) for positioning (rapid traverse) _ ; Dimension word for the end point
IP
IP
The positioning command (G00) positions the tool by rapid traverse. In rapid traverse, the next block is executed after the specified feedrate becomes 0 and the servo motor reaches a certain range set by the machine tool builder (in–position check). (In–position check can be disabled for each block by setting bit 5 of parameter No. 020 to 1.) A rapid traverse rate is set for each axis by parameter No. 518 to 521, so no rapid traverse feedrate need be programmed. The following overrides can be applied to a rapid traverse rate with the switch on the machine operator’s panel:F0, 25, 50, 100% F0: Allows a fixed feedrate to be set for each axis by parameter No. 533. For detailed information, refer to the appropriate manual of the machine tool builder.
Increment system
IS–B IS–C
Metric output 30 to 100,000 mm/min
30 to 100,000 deg/min
30 to 24,000 mm/min
30 to 24,000 deg/min
Inch output 3.0� to 4,000.0 inch/min
3.0 to 100,000 deg/min
3.0� to 960.0 inch/min
3.0 to 24,000 deg/min
5.2 RAPID TRAVERSE
Format
Explanations
� Command value range of rapid traverse rate
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 5. FEED FUNCTIONS
49
Feedrate of linear interpolation (G01), circular interpolation (G02, G03), etc. are commanded with numbers after the F code. In cutting feed, the next block is executed so that the feedrate change from the previous block is minimized.
Feed per minute G94 ; G code (group 05) for feed per minute F_ ; Feedrate command (mm/min or inch/min)
Cutting feed is controlled so that the tangential feedrate is always set at a specified feedrate.
X
End point Starting point
X
FF
Center End point Start point
Linear interpolation Circular interpolation
Y Y
Fig. 5.3 (a) Tangential feedrate (F)
After specifying G94 (in the feed per minute mode), the amount of feed of the tool per minute is to be directly specified by setting a number after F. G94 is a modal code. At power–on, the feed per minute mode is set. An override from 0% to 150% (in 10% steps) can be applied to feed per minute with the switch on the machine operator’s panel. For detailed information, see the appropriate manual of the machine tool builder.
Workpiece
Table
Tool
Feed amount per minute (mm/min or inch/min)
Fig. 5.3 (b) Feed per minute
WARNING No override can be used for some commands such as for threading.
5.3 CUTTING FEED
Format
Explanations
� Tangential speed constant control
� Feed per minute (G94)
ww w.
cn cc
en ter
.co m
PROGRAMMING5. FEED FUNCTIONS B–62574EN/02
50
< Command value range of feed per minute >
Increment system
IS–B IS–C
Metric input 1 to 100,000 mm/min
1 to 100,000 deg/min
1 to 12,000 mm/min
1 to 12,000 deg/min
Inch input 0.01� to 4,000.0 inch/min
0.01� to 6,000.0 deg/min
0.01� to 480.0 inch/min
0.01� to 600.0 deg/min
<Feedrate command value with a decimal fraction for feed per minute> When a value with a decimal fraction is specified in a feedrate command for feed per minute, the value is valid within the following range. To specify a value that falls outside this range, specify an integer.
Increment system
IS–B IS–C
Metric input 0.001 to 99,999.999 mm/min
0.001 to 99,999.999 deg/min
0.001 to 12,000.000 mm/min
0.001 to 12,000.000 deg/min
Inch input 0.00001 to 999.99999 inch/min
0.00001 to 999.99999 deg/min
0.00001� to 480.00000 inch/min
0.00001� to 600.00000 deg/min
A common upper limit can be set on the cutting feedrate along each axis with parameter No. 527. If an actual cutting feedrate (with an override applied) exceeds a specified upper limit, it is clamped to the upper limit.
NOTE An upper limit is set in mm/min or inch/min. CNC calculation may involve a feedrate error of ±2% with respect to a specified value. However, this is not true for acceleration/deceleration. To be more specific, this error is calculated with respect to a measurement on the time the tool takes to move 500 mm or more during the steady state:
� Cutting feedrate clamp
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 5. FEED FUNCTIONS
51
Cutting feedrate can be controlled, as indicated in Table 5.4(a).
Table 5.4(a) Cutting Feedrate Control
Function name G code Validity of G code Description
Exact stop G09
This function is valid for specified
blocks only.
The tool is decelerated at the end point
of a block, then an in–position check is
made. Then the next block is executed.
Exact stop G61
Once specified, this function is
valid until G63 or G64 is specified.
The tool is decelerated at the end point
of a block, then an in–position check is
made. Then the next block is executed.
Cutting mode G64
Once specified, this function is
valid until G61 or G63 is specified.
The tool is not decelerated at the end
point of a block, but the next block is
executed.
Tapping mode G63
Once specified, this function is
valid until G61 or G64 is specified.
The tool is not decelerated at the end
point of a block, but the next block is
executed.
When G63 is specified, feedrate override
and feed hold are invalid.
NOTE 1. The purpose of in–position check is to check that the
servo motor has reached within a specified range (specified with a parameter by the machine tool builder). In–position check can be disabled by setting bit 5 of parameter No. 020 to 1.
2. Inner corner angle θ: 2°< θ � α � 178° (α is a set value)
θ
Workpiece
Tool
Exact stop G09 IP_ ; G61 ;
Cutting mode G64 ;
Tapping mode G63 ;
IP
5.4 CUTTING FEEDRATE CONTROL
Formatww w.
cn cc
en ter
.co m
PROGRAMMING5. FEED FUNCTIONS B–62574EN/02
52
The inter–block paths followed by the tool in the exact stop mode, cutting mode, and tapping mode are different (Fig. 5.4.1 (a)).
0
Y
���
��� Position check
Tool path in the exact stop mode
Tool path in the cutting mode or tapping mode
X
Fig. 5.4.1 (a) Example of Tool Paths from Block (1) to Block (2)
CAUTION The cutting mode (G64 mode) is set at power–on or system clear.
5.4.1 Exact Stop (G09, G61) Cutting Mode (G64) Tapping Mode (G63)
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 5. FEED FUNCTIONS
53
For internally offset circular cutting, the feedrate on a programmed path is set to a specified feedrate (F) by specifying the circular cutting feedrate with respect to F, as indicated below (Fig. 5.4.2(a)). This function is valid in the cutter compensation mode, regardless of the G62 code.
F� Rc Rp
Rc : Cutter center path radius Rp : Programmed radius
It is also valid for the dry run and the one–digit F command.
��
Rp
Programmed path
Cutter center path
Fig. 5.4.2(a) Internal circular cutting feedrate change
If Rc is much smaller than Rp, Rc/Rp�0; the tool stops. A minimum deceleration ratio (MDR) is to be specified with parameter No. 213. When Rc/Rp�MDR, the feedrate of the tool is (F×MDR).
CAUTION When internal circular cutting must be performed together with automatic override for inner corners, the feedrate of the tool is as follows:
(automatic override for the inner corners) ×(feedrate override) F� Rc
Rp �
5.4.2 Internal Circular Cutting Feedrate Change
ww w.
cn cc
en ter
.co m
PROGRAMMING5. FEED FUNCTIONS B–62574EN/02
54
Dwell G04 X_ ; or G04 P_ ; X_ : Specify a time (decimal point permitted) P_ : Specify a time (decimal point not permitted)
By specifying a dwell, the execution of the next block is delayed by the specified time. In addition, a dwell can be specified to make an exact check in the cutting mode (G62 mode). When neither P nor X is specified, exact stop is performed.
Table 5.5 (a) Command value range of the dwell time (Command by X)
Increment system Command value range Dwell time unit
IS–B 0.001 to 99999.999 s
IS–C 0.0001 to 9999.9999 s
Table 5.5 (b) Command value range of the dwell time (Command by P)
Increment system Command value range Dwell time unit
IS–B 1 to 99999999 0.001 s
IS–C 1 to 99999999 0.0001 s
5.5 DWELL (G04)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 6. REFERENCE POSITION
55
6 ��� ����� �� �����
The reference position is a fixed position on a machine tool to which the tool can easily be moved by the reference position return function. For example, the reference position is used as a position at which tools are automatically changed. Up to two reference positions can be specified by setting coordinates in the machine coordinate system in parameters. The first reference position must be the machine zero point.
Machine zero point (1st reference position)
2nd reference position
Fig. 6 (a) Machine zero point and reference positions
�
�
General
� Reference position
ww w.
cn cc
en ter
.co m
PROGRAMMING6. REFERENCE POSITION B–62574EN/02
56
Tools are automatically moved to the reference position via an intermediate position along a specified axis. Or, tools are automatically moved from the reference position to a specified position via an intermediate position along a specified axis. When reference position return is completed, the lamp for indicating the completion of return goes on.
A (Start position for reference position return)
B (Intermediate position)
C (Destination of return from the reference position)
R (Reference position) Reference position return A→B→R Return from the reference position R→B→C
Fig. 6 (b) Reference position return and return form the reference position
The reference position return check (G27) is the function which checks whether the tool has correctly returned to the reference position as specified in the program. If the tool has correctly returned to the reference position along a specified axis, the lamp for the axis goes on.
��� � � � �� �
��� �� � � � �� �
Reference position return
2nd reference position return
: Command specifying the intermediate position (Absolute/incremental command)
(P2 can be omitted.)
IP
IP
IP
��� � � � �� �
: Command specifying the destination of return from reference position (Absolute/incremental command)
IP
IP
�7 � � � �� �
: Command specifying the reference position (Absolute/incremental command)
IP
IP
� Reference position return and movement from the reference position
� Reference position return check
� ����
� Reference position return
� Return from reference position
� Reference position return check
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 6. REFERENCE POSITION
57
Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. Therefore, for safety, the cutter compensation, and tool length compensation should be cancelled before executing this command. The coordinates for the intermediate position are stored in the CNC only for the axes for which a value is specified in a G28 block. For the other axes, the previously specified coordinates are used. Example N1 G28 X40.0 ; Intermediate position (X40.0)
N2 G28 Y60.0 ; Intermediate position (X40.0, Y60.0)
In a system without an absolute–position detector, the second reference position return functions can be used only after the reference position return (G28) or manual reference position return (see III–3.1) is made. The G30 command is generally used when the automatic tool changer (ATC) position differs from the reference position.
In general, it is commanded immediately following the G28 command or G30. For incremental programming, the command value specifies the incremental value from the intermediate point. Positioning to the intermediate or reference points are performed at the rapid traverse rate of each axis. When the workpiece coordinate system is changed after the tool reaches the reference position through the intermediate point by the G28 command, the intermediate point also shifts to a new coordinate system. If G29 is then commanded, the tool moves to to the commanded position through the intermediate point which has been shifted to the new coordinate system. The same operations are performed also for G30 commands.
G27 command positions the tool at rapid traverse rate. If the tool reaches the reference position, the reference position return lamp lights up. However, if the position reached by the tool is not the reference position, an alarm (No. 092) is displayed.
The lamp for indicating the completion of return does not go on when the machine lock is turned on, even when the tool has automatically returned to the reference position. In this case, it is not checked whether the tool has returned to the reference position even when a G27 command is specified.
When the G28 command is specified when manual return to the reference position has not been performed after the power has been turned on, the movement from the intermediate point is the same as in manual return to the reference position. In this case, the tool moves in the direction for reference position return specified in parameter ( No. 003 #0 to #3). Therefore the specified intermediate position must be a position to which reference position return is possible.
� ����� ����
� Reference position return (G28)
� 2nd reference position return (G30)
� Return from the reference position (G29)
� Reference position return check (G27)
Restrictions
� Status the machine lock being turned on
� First return to the reference position after the power has been turned on (without an absolute position detector)
ww w.
cn cc
en ter
.co m
PROGRAMMING6. REFERENCE POSITION B–62574EN/02
58
In an offset mode, the position to be reached by the tool with the G27 command is the position obtained by adding the offset value. Therefore, if the position with the offset value added is not the reference position, the lamp does not light up, but an alarm is displayed instead. Usually, cancel offsets before G27 is commanded.
When the machine tool system is an inch system with metric input, the reference position return lamp may also light up even if the programmed position is shifted from the reference position by 1µ. This occurs because the least input increment of the machine tool system is smaller than its least command increment.
See III–3.1.
G28G90X1000.0Y500.0 ; (Programs movement from A to B) T1111 ; (Changing the tool at the reference position) G29X1300.0Y200.0 ; (Programs movement from B to C)
A
B
C
R Reference position
200
300
500
200 1000 1300
Y
X
The tool is changed at the reference position
Fig. 6 (c) Reference position return and return from the reference position
� Reference position return check in an offset mode
� Lighting the lamp when the programmed position does not coincide with the reference position
���������
� Manual reference position return
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 7. COORDINATE SYSTEM
59
7 � ������� � ���� By teaching the CNC a desired tool position, the tool can be moved to the position. Such a tool position is represented by coordinates in a coordinate system. Coordinates are specified using program axes. When three program axes, the X–axis, Y–axis, and Z–axis, are used, coordinates are specified as follows:
X_Y_Z_� This command is referred to as a dimension word.
Z
Y
X
40.0
50.0
25.0
Fig. 7 Tool Position Specified by X40.0Y50.0Z25.0
Coordinates are specified in one of following three coordinate systems: ���Machine coordinate system ���Workpiece coordinate system ���Local coordinate system
The number of the axes of a coordinate system varies from one machine to another. So, in this manual, a dimension word is represented as IP_.
ww w.
cn cc
en ter
.co m
PROGRAMMING7. COORDINATE SYSTEM B–62574EN/02
60
The point that is specific to a machine and serves as the reference of the machine is referred to as the machine zero point. A machine tool builder sets a machine zero point for each machine. The machine zero point matches the first reference position. A coordinate system with a machine zero point set as its origin is referred to as a machine coordinate system. A machine coordinate system is set by performing manual reference position return after power–on (see III–3.1).
G53 _ ;
_; Absolute dimension word
IP
IP
When a command is specified based on a machine coordinate system, the tool moves by rapid traverse. G53, which is used to select a machine coordinate system, is a one–shot G code; that is, it is valid only in the block in which it is specified. The absolute command G90 is valid, but the incremental command G91 is ignored. When the tool is to be moved to a machine–specific position such as a tool change position, program the movement in a machine coordinate system based on G53.
When the G53 command is specified, cancel the cutter compensation, tool length offset, and tool offset.
Since the machine coordinate system must be set before the G53 command is specified, at least one manual reference position return or automatic reference position return by the G28 command must be performed after the power is turned on. This is not necessary when an absolute–position detector is attached.
7.1 MACHINE COORDINATE SYSTEM
Format
Explanations
� Selecting a machine coordinate system (G53)
Restrictions
� Cancel of the compensation function
� G53 specification immediately after power–on
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 7. COORDINATE SYSTEM
61
A coordinate system used for machining a workpiece is referred to as a workpiece coordinate system. A workpiece coordinate system is to be set with the NC beforehand (setting a workpiece coordinate system). A machining program sets a workpiece coordinate system (selecting a workpiece coordinate system). A set workpiece coordinate system can be changed by shifting its origin (changing a workpiece coordinate system).
A workpiece coordinate system can be set using one of three methods:
(1) Method using G92 A workpiece coordinate system is set by specifying a value after G92 in the program.
(2) Automatic setting If bit 0 of parameter No. 010 #7 is set beforehand, a workpiece coordinate system is automatically set when manual reference position return is performed (see III–3.1.).
(3) Input using the CRT/MDI panel Six workpiece coordinate systems can be set beforehand using the CRT/MDI panel (see III–11.4.3.).
To use absolute programming, establish a workpiece coordinate system by applying one of the methods described above.
G92 _IP
A workpiece coordinate system is set so that a point on the tool, such as the tool tip, is at specified coordinates. If a coordinate system is set using G92 during tool length offset, a coordinate system in which the position before offset matches the position specified in G92 is set. Cutter compensation is cancelled temporarily with G92.
25.2 X
Z
23.0
0 X
Z
600.0
1200.0 � � ��� ������� � �������� �� ��
�� ��� �� � ��� � �� ��� ��� �� ��
�� � ������� �� ��� � ���� � ��
��� �� ������ � �� � ����� � �� ��� ��
������� �� ��� � ���� �� � � � �
� �� � ���� �� � ����� � �� ��� ��
��� � �� ��� �� ���� ���� �� ��
����� � ����� � � ��
Setting the coordinate system by the G92X25.2Z23.0; command (The tool tip is the start point for the program.)
Setting the coordinate system by the G92X600.0Z1200.0; command (The base point on the tool holder is the start point for the program.)
Base point
Example 1 Example 2
0
7.2 WORKPIECE COORDINATE SYSTEM
7.2.1 Setting a Workpiece Coordinate System
Format Setting a workpiece coordinate system by G92
Explanations
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMING7. COORDINATE SYSTEM B–62574EN/02
62
The user can choose from set workpiece coordinate systems as described below. (For information about the methods of setting, see 7.2.1.)
(1) Selecting a workpiece coordinate system set by G92 or automatic workpiece coordinate system setting Once a workpiece coordinate system is selected, absolute commands work with the workpiece coordinate system.
(2) Choosing from six workpiece coordinate systems set using the CRT/MDI panel By specifying a G code from G54 to G59, one of the workpiece coordinate systems 1 to 6 can be selected.
G54 Workpiece coordinate system 1. . . . G55 Workpiece coordinate system 2. . . . G56 Workpiece coordinate system 3. . . . G57 Workpiece coordinate system 4. . . . G58 Workpiece coordinate system 5. . . . G59 Workpiece coordinate system 6. . . .
Workpiece coordinate system 1 to 6 are established after reference position return after the power is turned on. When the power is turned on, G54 coordinate system is selected.
X
Y
100.0
40.0
In this example, positioning is made to positions (X=40.0, Y=100.0) in workpiece coordinate system 2.
G90 G55 G00 X40.0 Y100.0 ;
Workpiece coordinate system 2 (G55)
Fig. 7.2.2 (a)
7.2.2 Selecting a Workpiece Coordinate System
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 7. COORDINATE SYSTEM
63
The six workpiece coordinate systems specified with G54 to G59 can be changed by changing an external workpiece zero point offset value or workpiece zero point offset value. Four methods are available to change an external workpiece zero point offset value or workpiece zero point offset value. (1) Inputting from the CRT/MDI panel (see III–11.4.2) (2) Programming by G10 or G92 (3) Changing an external workpiece zero point offset value (refer to
machine tool builder’s manual) (4) System variables by Custom Macro B
ZOFS2 ZOFS3 ZOFS4
ZOFS5
ZOFS1
ZOFS6EXOFS
Workpiece coordinate system 1 (G54)
Workpiece coordinate system 2 (G55)
Workpiece coordinate system 3 (G56)
Workpiece coordinate system 4 (G57)
Workpiece coordinate system 5 (G58)
Workpiece coordinate system 6 (G59)
Machine zero
EXOFS : External workpiece zero point offset value ZOFS1 to ZOFS6 : Workpiece zero point offset value
Fig. 7.2.3 (a) Changing an external workpiece zero point offset value or workpiece zero point offset value
G10 L2 Pp _;
p=0 : External workpiece zero point offset value p=1 to 6 : Workpiece zero point offset value correspond to
workpiece coordinate system 1 to 6 : Workpiece zero point offset value of each axis
IP
IP
G92 _;IP
With the G10 command, each workpiece coordinate system can be changed separately. When an absolute workpiece zero point offset value is specified, the specified value becomes a new offset value. When an incremental workpiece zero point offset value is specified, the specified value is added to the current offset value to produce a new offset value.
7.2.3 Changing Workpiece Coordinate System
Format Changing by G10
Changing by G92
Explanations
� Changing by G10
ww w.
cn cc
en ter
.co m
PROGRAMMING7. COORDINATE SYSTEM B–62574EN/02
64
By specifying G92IP_;, a workpiece coordinate system (selected with a code from G54 to G59) is shifted to set a new workpiece coordinate system so that the current tool position matches the specified coordinates ( IP_). Then, the amount of coordinate system shift is added to all the workpiece zero point offset values. This means that all the workpiece coordinate systems are shifted by the same amount.
WARNING When a coordinate system is set with G92 after an external workpiece zero point offset value is set, the coordinate system is not affected by the external workpiece zero point offset value. When G92X100.0Z80.0; is specified, for example, the coordinate system having its current tool reference position at X = 100.0 and Z = 80.0 is set.
X
X�
Y�Y
A
160 100
100
100
200
If G92X100Y100; is commanded when the tool is positioned at (200, 160) in G54 mode, work- piece coordinate system 1 (X’ – Y’) shifted by vector A is created.
60
G54 workpiece coordinate system
Tool position
New workpiece coordinate system
Original workpiece coordinate system
1200.0
Z
Z
X�
X 600.0
600.0
1200.0
Z’
Z�
X
X
X’ – Z’ New workpiece coordinate system X – Z Original workpiece coordinate system A : Offset value created by G92 B : G54 workpiece zero point offset value C : G55 workpiece zero point offset value
A
B
C
A
G54 Workpiece coordinate system
G55 Workpiece coordinate system
Suppose that a G54 workpiece coordi- nate system is specified. Then, a G55 workpiece coordinate system where the black circle on the tool (figure at the left) is at (600.0,12000.0) can be set with the following command if the rela- tive relationship between the G54 work- piece coordinate system and G55 workpiece coordinate system is set cor- rectly:G92X600.0Z1200.0;Also, sup- pose that pallets are loaded at two dif- ferent positions. If the relative relation- ship of the coordinate systems of the pallets at the two positions is correctly set by handling the coordinate systems as the G54 workpiece coordinate sys- tem and G55 workpiece coordinate system, a coordinate system shift with G92 in one pallet causes the same coordinate system shift in the other pal- let. This means that workpieces on two pallets can be machined with the same program just by specifying G54 or G55.
� Changing by G92
��������
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 7. COORDINATE SYSTEM
65
When a program is created in a workpiece coordinate system, a child workpiece coordinate system may be set for easier programming. Such a child coordinate system is referred to as a local coordinate system.
G52 _; Setting the local coordinate system
G52 0 ; Canceling of the local coordinate system
_ : Origin of the local coordinate system
������
IP
IP
IP
By specifying G52 IP_;, a local coordinate system can be set in all the workpiece coordinate systems (G54 to G59). The origin of each local coordinate system is set at the position specified by IP_ in the workpiece coordinate system. When a local coordinate system is set, the move commands in absolute mode (G90), which is subsequently commanded, are the coordinate values in the local coordinate system. The local coordinate system can be changed by specifying the G52 command with the zero point of a new local coordinate system in the workpiece coordinate system. To cancel the local coordinate system and specify the coordinate value in the workpiece coordinate system, match the zero point of the local coordinate system with that of the workpiece coordinate system.
(G59 : Workpiece coordinate system 6)
(G54 : Workpiece coordinate system 1)
G55 G56 G57
G58
Machine coordinate system origin
(Machine coordinate system)
(Local coordinate system)
(Local coordinate system)
IP_
IP_
Fig. 7.3 Setting the local coordinate system
7.3 LOCAL COORDINATE SYSTEM
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING7. COORDINATE SYSTEM B–62574EN/02
66
WARNING 1 When an axis returns to the reference point by the
manual reference point return function, the zero point of the local coordinate system of the axis matches that of the work coordi–nate system. The same is true when the following command is issued:
G52 α0; α:Axis which returns to the reference point
2 The local coordinate system setting does not change the workpiece and machine coordi–nate systems.
3 The local coordinate system is cancelled when the reset operation is performed.
4 When setting a workpiece coordinate system with the G92 command, the local coordinate systems are cancelled.
5 G52 cancels the offset temporarily in cutter compensation.
6 Command a move command immediately after the G52 block in the absolute mode.
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 7. COORDINATE SYSTEM
67
Select the planes for circular interpolation, cutter compensation, and drilling by G–code. The following table lists G–codes and the planes selected by them.
Table 7.4 Plane selected by G code
G code Selectedplane Xp Yp Zp
G17 Xp Yp plane X–axis or an Y–axis or an Z–axis or an
G18 Zp Xp plane axis parallel
t it
axis parallel
t it
axis parallel
t itG19 Yp Zp plane to it to it to it
Xp, Yp, Zp are determined by the axis address appeared in the block in which G17, G18 or G19 is commanded. When an axis address is omitted in G17, G18 or G19 block, it is assumed that the addresses of basic three axes are omitted. Parameter No. 279 is used to specify that an optional axis be parallel to the each axis of the X, Y–, and Z–axes as the basic three axes. The plane is unchanged in the block in which G17, G18 or G19 is not commanded.
Plane selection when the X–axis is parallel with the U–axis. G17X_Y_ XY plane, G17U_Y_ UY plane G18X_Z_ ZX plane X_Y_ Plane is unchanged (ZX plane) G17 XY plane G18 ZX plane G17 U_ UY plane G18Y_ ; ZX plane, Y axis moves regardless without any
relation to the plane.
NOTE When the system is turned on or placed in the clear state by a reset (bit 6 of parameter No. 045), G17, G18, or G19 is selected according to the setting of parameter No. 212.
7.4 PLANE SELECTION
Explanations
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMING8. COORDINATE VALUE AND DIMENSION B–62574EN/02
68
8 � ��� � �� ������ � �� ���� �� This chapter contains the following topics.
8.1 ABSOLUTE AND INCREMENTAL PROGRAMMING (G90, G91) 8.2 INCH/METRIC CONVERSION (G20, G21) 8.3 DECIMAL POINT PROGRAMMING
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 8. COORDINATE VALUE AND DIMENSION
69
There are two ways to command travels of the tool; the absolute command, and the incremental command. In the absolute command, coordinate value of the end position is programmed; in the incremental command, move distance of the position itself is programmed. G90 and G91 are used to command absolute or incremental command, respectively.
 COORDINATE VALUE AND DIMENSION B–62574EN/02
70
Either inch or metric input can be selected by G code.
G20 ;
G21 ;
Inch input
mm input
����� �� � �� ����� ��� ��� ���� � ��� ��� �� ���� ���� ��� �� ������
������ � ���� ��� ������ ������� ��� ���� �� ����� � ��� ���� ��� ����
After the G code for inch/metric conversion is specified, the unit of input data is switched to the least inch or metric input increment of increment system IS–B or IS–C (2.3). The unit of data input for degrees remains unchanged.The unit systems for the following values are changed after inch/metric conversion: – Feedrate commanded by F code – Positional command – Work zero point offset value – Tool compensation value – Unit of scale for manual pulse generator – Movement distance in incremental feed – Some parameters ����� ���� ������ ��� ����� � ���� ���� �� � �� ��� ���� ����� ��� ����
��� � ������� ���� ������ ���� ����� � ����
WARNING 1 G20 and G21 must not be switched during a program. 2 When switching inch input (G20) to metric input (G21)
and vice versa, the tool compensation value must be re–set according to the least input increment.
CAUTION Reference position return is performed at a low speed for the first G28 command after the inch input is switched to the metric input or vice versa.
NOTE 1 When the least input increment and the least command
increment systems are different, the maximum error is half of the least command increment. This error is not accumulated.
2 The inch and metric input can also be switched using settings.
8.2 INCH/METRIC CONVERSION(G20,G21)
������
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 8. COORDINATE VALUE AND DIMENSION
71
Numerical values can be entered with a decimal point. A decimal point can be used when entering a distance, time, or speed. Decimal points can be specified with the following addresses: X, Y, Z, U, V, W, A, B, C, I, J, K, Q, R, and F.
There are two types of decimal point notation: calculator–type notation and standard notation. When calculator–type decimal notation is used, a value without decimal point is considered to be specified in mm, inch, or deg. When standard decimal notation is used, such a value is considered to be specified in least input increments.Select either calculator–type or standard decimal notation by using the parameter No. 051#7. Values can be specified both with and without decimal point in a single program.
Program command Pocket calculator type decimal point
programming
Standard type decimal point programming
X1000 Command value with- out decimal point
1000mm Unit : mm
1mm Unit : Least input increment (0.001 mm)
X1000.0 Command value with decimal point
1000mm Unit : mm
1000mm Unit : mm
WARNING In a single block, specify a G code before entering a value. The position of decimal point may depend on the command. Examples: G20; Input in inches X1.0 G04; X1.0 is considered to be a distance and
processed as X10000. This command is equivalent to G04 X10000. The tool dwells for 10 seconds.
G04 X1.0; Equivalent to G04 X1000. The tool dwells for one second.
8.3 DECIMAL POINT PROGRAMMING
�� ��������
���� ��
ww w.
cn cc
en ter
.co m
PROGRAMMING8. COORDINATE VALUE AND DIMENSION B–62574EN/02
72
NOTE � Fractions less than the least input increment are
truncated. Examples: X1.2345; Truncated to X1.234 when the least input
increment is 0.001 mm. Processed as X1.2345 when the least input increment is 0.0001 inch.
� When more than eight digits are specified, an alarm occurs. If a value is entered with a decimal point, the number of digits is also checked after the value is converted to an integer according to the least input increment. Examples: X1.23456789; Alarm 003 occurs because more than eight
digits are specified. X123456.7; If the least input increment is 0.001 mm, the
value is converted to integer 123456700. Because the integer has more than eight digits, an alarm occurs.
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 9. SPINDLE SPEED FUNCTION
(S FUNCTION)
73
9 SPINDLE SPEED FUNCTION (S FUNCTION) The spindle speed can be controlled by specifying a value following address S. This chapter contains the following topics.
9.1 SPECIFYING THE SPINDLE SPEED WITH A CODE 9.2 SPECIFYING THE SPINDLE SPEED VALUE DIRECTLY
(S5–DIGIT COMMAND)
ww w.
cn cc
en ter
.co m
PROGRAMMING 9. SPINDLE SPEED FUNCTION (S FUNCTION) B–62574EN/02
74
A 2–digit S code can be specified in a block. For a description of the use of S codes, such as their execution sequence in a block in which a spindle speed, move command, and S code are specified, see the manual provided by the machine tool builder.
The spindle speed can be specified directly by address S followed by a five–digit value (rpm). The unit for specifying the spindle speed may vary depending on the machine tool builder. Refer to the appropriate manual provided by the machine tool builder for details.
9.1 SPECIFYING THE SPINDLE SPEED WITH A BINARY CODE
9.2 SPECIFYING THE SPINDLE SPEED VALUE DIRECTLY (S5–DIGIT COMMAND)
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 10. TOOL FUNCTION
(T FUNCTION)
75
�� ���� � �� � � ���� � ��10 Tool Selection function is available at tool function.
ww w.
cn cc
en ter
.co m
PROGRAMMING B–62574EN/02 10. TOOL FUNCTION
(T FUNCTION)
76
By specifying two or four–digit numerical value following address T, tools can be selected on the machine. One T code can be commanded in a block. Refer to the machine tool builder’s manual for the number of digits commandable with address T and the correspondence between the T codes and machine operations. When a move command and a T code are specified in the same block, the commands are executed in one of the following two ways: (i) Simultaneous execution of the move command and T function
commands. (ii) Executing T function commands upon completion of move
command execution. The selection of either (i) or (ii) depends on the machine tool builder’s specifications. Refer to the manual issued by the machine tool builder for details.
10.1 TOOL SELECTION FUNCTION
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 11. AUXILIARY FUNCTION
77
������� � ���� ���11 There are two types of auxiliary functions ; miscellaneous function (M code) for specifying spindle start, spindle stop program end, and so on, and secondary auxiliary function (B code ) for specifying index table positioning. When a move command and miscellaneous function are specified in the same block, the commands are executed in one of the following two ways: i) Simultaneous execution of the move command and miscellaneous
function commands. ii) Executing miscellaneous function commands upon completion of
move command execution. The selection of either sequence depends on the machine tool builder’s specification. Refer to the manual issued by the machine tool builder for details.
ww w.
cn cc
en ter
.co m
PROGRAMMING11. AUXILIARY FUNCTION B–62574EN/02
78
When a three–digid numeral is specified following address M, code signal and a strobe signal are sent to the machine. The machine uses these signals to turn on or off its functions. Usually, only one M code can be specified in one block. In some cases, however, up to three M codes can be specified for some types of machine tools. Which M code corresponds to which machine function is determined by the machine tool builder. All M codes are processed in the machine except for M98, M99, M codes for calling a subprogram, and M codes for calling a custom macro. Refer to the machine tool builder’s instruction manual for details.
���� � ���� � �� ������ ����� ������ � ������ ��
This indicates the end of the main program Automatic operation is stopped and the CNC unit is reset. This differs with the machine tool builder. After a block specifying the end of the program is executed, control returns to the start of the program. Bit 5 of parameter 019 (M02) can be used to disable M02 from returning control to the start of the program.
Automatic operation is stopped after a block containing M00 is executed. When the program is stopped, all existing modal information remains unchanged. The automatic operation can be restarted by actuating the cycle operation. This differs with the machine tool builder.
Similarly to M00, automatic operation is stopped after a block containing M01 is executed. This code is only effective when the Optional Stop switch on the machine operator’s panel has been pressed.
This code is used to call a subprogram. The code and strobe signals are not sent. See the subprogram section 12.3 for details .
This code indicates the end of a subprogram. M99 execution returns control to the main program. See the subprogram section 12.3 for details.
NOTE The block following M00, M01, M02 and M30, is not read into the input buffer register, if present. Similarly, two M codes which do not buffer can be set by parameters (Nos. 111 to 112). Refer to the machine tool builder’s instruction manual for these M codes.
11.1 AUXILIARY FUNCTION (M FUNCTION)
Explanations
� ������ � ��� ��� ��������
� ��� ��������� �����
� ��� ���������� �����
� �� ��������� ��� ���� �������)
� ��� � ��� ��� �����������
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 11. AUXILIARY FUNCTION
79
So far, one block has been able to contain only one M code. However, this function allows up to three M codes to be contained in one block. Up to three M codes specified in a block are simultaneously output to the machine. This means that compared with the conventional method of a single M command in a single block, a shorter cycle time can be realized in machining.� To use this function, set bit 7 of parameter No. 065 to 1.
CNC allows up to three M codes to be specified in one block. However, some M codes cannot be specified at the same time due to mechanical operation restrictions. M00, M01, M02, M30, M98 or M99 must not be specified together with another M code. Some M codes other than M00, M01, M02, M30, M98, and M99 cannot be specified together with other M codes; each of those M codes must be specified in a single block. Such M codes include these which direct the CNC to perform internal operations in addition to sending the M codes themselves to the machine. To be specified, such M codes are M codes for calling program numbers 9001 to 9009 and M codes for disabling advance reading (buffering) of subsequent blocks. Meanwhile, multiple of M codes that direct the CNC only to send the M codes themselves (without performing internal operations ) can be specified in a single block.
One M command in a single block
Multiple M commands in a single block
M40 ; M50 ; M60 ;
G28G91X0Y0Z0 ; : : :
M40M50M60 ; G28G91X0Y0Z0 ;
: : : : :
11.2 MULTIPLE M COMMANDS IN A SINGLE BLOCK
Explanations
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMING11. AUXILIARY FUNCTION B–62574EN/02
80
Indexing of the table is performed by address B and a following 3 or 6–digit number. The relationship between B codes and the corresponding indexing differs between machine tool builders. Refer to the manual issued by the machine tool builder for details.
When this functions is used, the B address specifying an axis movement disabled.
11.3 THE SECOND AUXILIARY FUNCTIONS (B CODES) (FOR 0–MD ONLY)
Restrictions
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
81
� ����� � ���� ���� �12 There are two program types, main program and subprogram. Normally, the CNC operates according to the main program. However, when a command calling a subprogram is encountered in the main program, control is passed to the subprogram. When a command specifying a return to the main program is encountered in a subprogram, control is returned to the main program.
Follow the direction of the subprogram
Main program ������ ��
Instruction 1
Instruction 2
����������� n
������������ ��
Instruction 2�
Instruction n+1
� ����� ��� �� � ���� ��� ��
Fig. 12 (a) Main program and Subprogram
The CNC memory can hold up to 200 main programs and subprograms (63 as standard). A main program can be selected from the stored main programs to operate the machine. See Chapter 10 in OPERATION for the methods of registering and selecting programs.
General
� Main program and subprogram
ww w.
cn cc
en ter
.co m
PROGRAMMING12. PROGRAM CONFIGURATION B–62574EN/02
82
A program consists of the following components:
Table 12 (a) Program components
Components Descriptions
Tape start Symbol indicating the start of a program file
Leader section Used for the title of a program file, etc.
Program start Symbol indicating the start of a program
Program section Commands for machining
Comment section Comments or directions for the operator
Tape end Symbol indicating the end of a program file
Tape start % TITLE ;
O0001 ;
M30 ;
%
(COMMENT)Program section
Leader section
Program start
Comment section
Tape end
Fig. 12 (b) Program configuration
A program section consists of several blocks. A program section starts with a program number and ends with a program end code.
Program section Program section configuration Program number O0001 ; Block 1 N1 G91 G00 X120.0 Y80.0 ; Block 2 N2 G43 Z–32.0 H01 ; : : Block n Nn M20 ; Program end M30 ;
A block contains information necessary for machining, such as a move command or coolant on/off command. Specifying a slash (/) at the start of a block disables the execution of some blocks (see ”optional block skip” in 12.2).
� Program components
� Program section configuration
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
83
This section describes program components other than program sections. See 12.2 for a program section.
% TITLE ;
O0001 ;
M30 ;
%
(COMMENT)
Tape start
Program section
Leader section
Program start
Comment section
Tape end
Fig. 12.1(a) Program configuration
The tape start indicates the start of a file that contains NC programs. The mark is not required when programs are entered using SYSTEM P or ordinary personal computers. The mark is not displayed on the CRT display screen. However, if the file is output,the mark is automatically output at the start of the file.
Table 12.1(a) Code of a tape start
Name ISO code
EIA code
Notation in this manual
Tape start % ER %
Data entered before the programs in a file constitutes a leader section. When machining is started, the label skip state is usually set by turning on the power or resetting the system. In the label skip state, all information is ignored until the first end–of–block code is read. When a file is read into the CNC unit from an I/O device, leader sections are skipped by the label skip function. A leader section generally contains information such as a file header. When a leader section is skipped, even a TV check is not made. So a leader section can contain any codes except the EOB code.
The program start code is to be entered immediately after a leader section, that is, immediately before a program section. This code indicates the start of a program, and is always required to disable the label skip function. With SYSTEM P or ordinary personal computers, this code can be entered by pressing the return key.
Table 12.1(b) Code of a program start
Name ISO code
EIA code
Notation in this manual
Program start LF CR ;
12.1 PROGRAM COMPONENTS OTHER THAN PROGRAM SECTIONS
Explanations
� Tape start
� Leader section
� Program startww w.
cn cc
en ter
.co m
PROGRAMMING12. PROGRAM CONFIGURATION B–62574EN/02
84
NOTE If one file contains multiple programs, the EOB code for label skip operation must not appear before a second or subsequent program number. However, an program start is required at the start of a program if the preceding program ends with %.
Any information enclosed by the control–out and control–in codes is regarded as a comment.The user can enter a header, comments, directions to the operator, etc. in a comment section using the EOB code or any other code.There is no limit on the length of a comment section.
Table 12.1 (c) Codes of a control–in and a control–out
Name ISO code
EIA code
Notation in this manual
Meaning
Control–out ( 2–4–5 ( Start of comment section
Control–in ) 2–4–7 ) End of comment section
When a command tape is read into memory for memory operation, comment sections, if any, are not ignored but are also read into memory. Note, however, that codes other than those listed in the code table in Appendix F are ignored, and thus are not read into memory. When data in memory is punched out on paper tape with the punch function, the comment sections are also punched out. When a program is displayed on the screen, its comment sections are also displayed. However, those codes that were ignored when read into memory are not punched out or displayed. During memory operation, all comment sections are ignored. The TV check function can be used for a comment section by setting parameter (No. 0018 #6).
CAUTION If a long comment section appears in the middle of a program section, a move along an axis may be suspended for a long time because of such a comment section. So a comment section should be placed where movement suspension may occur or no movement is involved.
NOTE If only a control–in code is read with no matching control–out code, the read control–in code is ignored.
� Comment section
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
85
A tape end is to be placed at the end of a file containing NC programs. If programs are entered using the automatic programming system, the mark need not be entered. When a file is output, the mark is automatically output at the end of the file. If an attempt is made to execute % when M02 or M03 is not placed at the end of the program, the alarm (No. 008) is occurred.
Table 12.1 (d) Code of a tape end
Name ISOcode EIA
code Notation in this
manual
Tape end % ER %
� Tape end
ww w.
cn cc
en ter
.co m
PROGRAMMING12. PROGRAM CONFIGURATION B–62574EN/02
86
This section describes elements of a program section. See 12.1 for program components other than program sections.
%
(COMMENT)
% TITLE ;
O0001 ; N1 … ;
M30 ;
Program section Comment section
Program number
Sequence number
Program end
Fig. 12.2(a) Program configuration (Example of using ISO code)
A program number consisting of address O followed by a four–digit number is assigned to each program at the beginning registered in memory to identify the program. In ISO code, the colon ( : ) can be used instead of O. When no program number is specified at the start of a program, the sequence number (N....) at the start of the program is regarded as its program number. Note, however, that N0 cannot be used for a program number. If there is no program number or sequence number at the start of a program, a program number must be specified using the CRT/MDI panel when the program is stored in memory(See 8.4 in Part III.).
NOTE Program numbers 8000 to 9999 may be used by machine tool builders, and the user may not be able to use these numbers.
12.2 PROGRAM SECTION CONFIGURATION
� Program number
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
87
A program consists of several commands. One command unit is called a block. One block is separated from another with an EOB of end of block code.
Table 12.2(a) EOB code
Name ISO code
EIA code
Notation in this manual
End of block (EOB) LF CR ;
At the head of a block, a sequence number consisting of address N followed by a number not longer than four digits (1 to 9999) can be placed. Sequence numbers can be specified in a random order, and any numbers can be skipped. Sequence numbers may be specified for all blocks or only for desired blocks of the program. In general, however, it is convenient to assign sequence numbers in ascending order in phase with the machining steps (for example, when a new tool is used by tool replacement, and machining proceeds to a new surface with table indexing.)
N300 X200.0 Z300.0 ; A sequence number is underlined.
Fig. 12.2(b) Sequence number and block (example)
NOTE N0 must not be used for the reason of file compatibility with other CNC systems. Program number 0 cannot be used. So 0 must not be used for a sequence number regarded as a program number.
A parity check is made for a block on input tape horizontally. If the number of characters in one block (starting with the code immediately after an EOB and ending with the next EOB) is odd, an alarm (No.002) is output. No TV check is made only for those parts that are skipped by the label skip function. A comment section enclosed in parentheses is also subject to TV check to count the number of characters. The TV check function can be enabled or disabled by setting on the MDI unit (See 11.5.3 in Part III.).
� Sequence number and block
� TV check (Vertical parity check along tape)
ww w.
cn cc
en ter
.co m
PROGRAMMING12. PROGRAM CONFIGURATION B–62574EN/02
88
A block consists of one or more words. A word consists of an address followed by a number some digits long. (The plus sign (+) or minus sign (–) may be prefixed to a number.) Word = Address + number (Example : X–1000) For an address, one of the letters (A to Z) is used ; an address defines the meaning of a number that follows the address. Table 12.2 (b) indicates the usable addresses and their meanings. The same address may have different meanings, depending on the preparatory function specification.
Table 12.2(b) Major functions and addresses
Function Address Meaning
Program number O (1) Program number
Sequence number N Sequence number
Preparatory function G Specifies a motion mode (linear, arc, etc.)
Dimension word X, Y, Z, U, V, W, A, B, C
Coordinate axis move command
I, J, K Coordinate of the arc center
R Arc radius
Feed function F Rate of feed per minute, Rate of feed per revolution
Spindle speed function S Spindle speed
Tool function T Tool number
Auxiliary function M On/off control on the machine tool
B Table indexing, etc.
Offset number D, H Offset number
Dwell P, X Dwell time
Program number designation
P Subprogram number
Number of repetitions
P Number of subprogram repetitions
Parameter P, Q Canned cycle parameter
NOTE In ISO code, the colon ( : ) can also be used as the address of a program number.
N� G_ X_ Y_ F_ S_ T_ M_ ;
������ �
��� �� �����������
�� ����
Fig. 12.2(c) 1 block (example)
���������
����
�����
�� ����
�������
�����
�� ����
����
�� ����
��� ���������
�� ����
� Block configuration (word and address)
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
89
Major addresses and the ranges of values specified for the addresses are shown below. Note that these figures represent limits on the CNC side, which are totally different from limits on the machine tool side. For example, the CNC allows a tool to traverse up to about 100 m (in millimeter input) along the X axis. However, an actual stroke along the X axis may be limited to 2 m for a specific machine tool. Similarly, the CNC may be able to control a cutting federate of up to 100 m/min, but the machine tool may not allow more than 3 m/min. When developing a program, the user should carefully read the manuals of the machine tool as well as this manual to be familiar with the restrictions on programming.
Table 12.2(c) Major addresses and ranges of command values
Function Address Input in mm Input in inch
Program number O (1) 1–9999 1–9999
Sequence number N 1–9999 1–9999
Preparatory function G 0–255 0–255
Dimen- sion word
Increment system IS–B
X, Y, Z, U, V, W, A B C
�99999.999mm �9999.9999inch
word Increment system IS–C
A, B, C, I, J, K, R, �9999.9999mm �999.99999inch
Feed per minute
Increment system IS–B
F 1–100000mm/min 0.01–4000 inch/min
minute Increment system IS–C
1–24000mm/min 0.01–480.00 inch/min
Spindle speed function S 0–20000 0–20000
Tool function T 0–9999 0–9999
Auxiliary function M 0–999 0–9999
B 0–999999 0–999999
Offset number H, D 0–200 0–200
Dwell Increment system IS–B
X, P 0–99999.999s 0–99999.999s
Increment system IS–C
0–9999.9999s 0–9999.9999s
Designation of a program number
P 1–9999 1–9999
Number of repetitions P 1–999 1–999
� Major addresses and ranges of command values
ww w.
cn cc
en ter
.co m
PROGRAMMING12. PROGRAM CONFIGURATION B–62574EN/02
90
When a slash is specified at the head of a block, and optional block skip switch on the machine operator panel is set to on, the information contained in the block is ignored in tape operation or memory operation. When optional block skip switch is set to off, the information contained in the block for which /is specified is valid. This means that the operator can determine whether to skip the block containing. This function is ignored when programs are loaded into memory. Blocks containing / are also stored in memory, regardless of how the optional block skip switch is set. Programs held in memory can be output, regardless of how the optional block skip switches are set. Optional block skip is effective even during sequence number search operation.
WARNING 1 Position of a slash
A slash (/) must be specified at the head of a block. If a slash is placed elsewhere, the information from the slash to immediately before the EOB code is ignored.
2 Disabling an optional block skip switch Optional block skip operation is processed when blocks are read from memory or tape into a buffer. Even if a switch is set to on after blocks are read into a buffer, the blocks already read are not ignored.
NOTE TV and TH check When an optional block skip switch is on. TH and TV checks are made for the skipped portions in the same way as when the optional block skip switch is off.
� Optional block skip
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
91
The end of a program is indicated by commanding one of the following codes at the end of the program:
Table 12.2(d) Code of a program end
Code Meaning usage
M02 For main program
M30 For main program
M99 For subprogram
If one of the program end codes is executed in program execution, the CNC terminates the execution of the program, and the reset state is set. When the subprogram end code is executed, control returns to the program that called the subprogram.
WARNING A block containing an optional block skip code such as /M02 ; , /M30 ; , or /M99 ; is not regarded as the end of a program, if the optional block skip switch on the machine operator’s panel is set to on. (See “⋅ Optional block skip” as previous item for optional block skip.)
� Program end
ww w.
cn cc
en ter
.co m
PROGRAMMING12. PROGRAM CONFIGURATION B–62574EN/02
92
��� �� �������� ��������� �� ��� � � �� �� � ��� �� �� ����� � � ��
���� ���� ��� � �� � �� �� � ��� ���� ��� ���� � � ���� � ��� �
����������� ��� � ����� ��� ��������� � � ��������
�� ����������� ���� � � ���� � ����� � � ����� ���������
�� ���� � ����������� ���� ����� ����� ���� �� �����������
O ���� ;
M99 ;
Subprogram number (or the colon (:) optionally in the case of ISO)
Program end
One subprogram
M99 need not constitute a separate block as indicated below.
Example) X100.0 Y100.0 M99 ;
M98 P� ���� ���� ; ↑ Subprogram number
↑ Number of times the subprogram is called repeatedly
When no repetition data is specified, the subprogram is called just once.
When the main program calls a subprogram, it is regarded as a one–level subprogram call. Thus, subprogram calls can be nested up to two levels as shown below.
O0001 ;
M98P1000 ;
M30 ;
Main program
O1000 ;
M98P2000 ;
M99 ;
O2000 ;
M99 ;
Subprogram
(One–level nesting) (Two–level nesting)
Subprogram
A single call command can repeatedly call a subprogram up to 999 times. For compatibility with automatic programming systems, in the first block, Nxxxx can be used instead of a subprogram number that follows O (or :). A sequence number after N is registered as a subprogram number.
See Chapter 10 in Part III for the method of registering a subprogram.
12.3 SUBPROGRAM
Format
� Subprogram configuration
� Subprogram call
Explanations
� Reference
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
93
NOTE 1 The M98 and M99 signals are not output to the machine
tool. 2 If the subprogram number specified by address P cannot
be found, an alarm (No. 078) is output.
�M98 P51002 ;
�X1000.0 M98 P1200 ;
�Execution sequence of subprograms called from a main pro- gram
A subprogram can call another subprogram in the same way as a main program calls a subprogram.
This command specifies ”Call the subprogram (number 1002) five times in succession.” A subprogram call com- mand (M98P_) can be specified in the same block as a move command.
This example calls the subprogram (number 1200) after an X movement.
1 2 3 Main program
N0010 0 ; N0020 0 ; N0030 M98 P21010 ;
N0040 0 ; N0050 M98 P1010 ;
N0060 0 ;
Subprogram
O1010 0 ; N1020 0 ; N1030 0 ; N1040 0 ; N1050 0 ; N1060 0 M99 ;
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMING12. PROGRAM CONFIGURATION B–62574EN/02
94
If P is used to specify a sequence number when a subprogram is terminated, control does not return to the block after the calling block, but returns to the block with the sequence number specified by P. Note, however, that P is ignored if the main program is operating in a mode other than memory operation mode. This method consumes a longer time than the normal return method to return to the main program.
Subprogram
O1010 … ; N1020 … ; N1030 … ; N1040 … ; N1050 … ; N1060 M99 P0060 ;
Main program
N0010 … ; N0020 … ; N0030 M98 P1010 ;
N0040 … ; N0050 … ; N0060 … ;
If M99 is executed in a main program, control returns to the start of the main program. For example, M99 can be executed by placing /M99 ; at an appropriate location of the main program and setting the optional block skip function to off when executing the main program. When M99 is executed, control returns to the start of the main program, then execution is repeated starting at the head of the main program. Execution is repeated while the optional block skip function is set to off. If the optional block skip function is set to on, the /M99 ; block is skipped ; control is passed to the next block for continued execution. If/M99Pn ; is specified, control returns not to the start of the main program, but to sequence number n. In this case, a longer time is required to return to sequence number n.
N0010 … ; N0020 … ; N0030 … ; N0040 … ; N0050 … ; N0060 M99 P0030 ;
N0070 … ; N0080 M02 ;
/ Optional block skip ON
Optional block skip OFF
Special Usage
� Specifying the sequence number for the return destination in the main program
� Using M99 in the main program
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 12. PROGRAM CONFIGURATION
95
A subprogram can be executed just like a main program by searching for the start of the subprogram with the MDI. (See Sec. 9.3 in Part III for information about search operation.) In this case, if a block containing M99 is executed, control returns to the start of the subprogram for repeated execution. If a block containing M99Pn is executed, control returns to the block with sequence number n in the subprogram for repeated execution. To terminate this program, a block containing /M02 ; or /M30 ; must be placed at an appropriate location, and the optional block skip must be set to off ; this switch is to be set to on first.
N1010 … ; N1020 … ; N1030 … ; N1040 M02 ;
N1050 M99 P1020 ;
/ Optional block skip ON
� Using a subprogram only
ww w.
cn cc
en ter
.co m
PROGRAMMING 13. FUNCTIONS TO SIMPLIFY PROGRAMMING B–62574EN/02
96
�� ��� � � � �������� �� ������ �13 This chapter explains the following items:
13.1 CANNED CYCLE 13.2 RIGID TAPPING 13.3 CANNED GRINDING CYCLE 13.4 AUTOMATIC GRINDING WHEEL DIAMETER
COMPENSATION AFTER DRESSING 13.5 IN–FEED GRINDING ALONG THE Y AND Z AXES AT THE END OF TABLE SWING 13.6 EXTERNAL MOTION FUNCTION
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 13. FUNCTIONS TO SIMPLIFY
PROGRAMMING
97
Canned cycles make it easier for the programmer to create programs. With a canned cycle, a frequently–used machining operation can be specified in a single block with a G function; without canned cycles, normally more than one block is required. In addition, the use of canned cycles can shorten the program to save memory. Table 13.1 (a) lists canned cycles.
Table 13.1 (a) Canned cycles
G code Drilling(–Z direction) Operation at the bottom of a hole
Retraction(+Z direction) Application
G73 Intermittent feed – Rapid traverse High–speed peck drilling cycle
G74 Feed Dwell→Spindle CW Feed Left–hand tapping cycle
G76 Feed Spindle Orientation Rapid traverse Fine boring cycle
G80 – – – Cancel
G81 Feed – Rapid traverse Drilling cycle, spot drilling cycle
G82 Feed Dwell Rapid traverse Drilling cycle, counter boring cycle
G83 Intermittent feed – Rapid traverse Peck drilling cycle
G84 Feed Dwell→Spindle CCW Feed Tapping cycle
G85 Feed – Feed Boring cycle
G86 Feed Spindle stop Rapid traverse Boring cycle
G87 Feed Spindle CW Rapid traverse Back boring cycle
G88 Feed Dwell→spindle stop Manual Boring cycle
G89 Feed Dwell Feed Boring cycle
A canned cycle consists of a sequence of six operations (Fig. 13.1 (a))
Operation 1 Positioning of axes X and Y (including also another axis)
Operation 2 Rapid traverse up to point R level Operation 3 Hole machining Operation 4 Operation at the bottom of a hole Operation 5 Retraction to point R level Operation 6 Rapid traverse up to the initial point
13.1 CANNED CYCLE
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING 13. FUNCTIONS TO SIMPLIFY PROGRAMMING B–62574EN/02
98
Operation 1
Operation 2
Operation 3
Operation 4
Operation 5
Operation 6
Rapid traverse Feed
Initial level
Point R level
Fig. 13.1 (a) Canned cycle operation sequence
The positioning plane is determined by plane selection code G17, G18, or G19. The positioning axis is an axis other than the drilling axis.
Although canned cycles include tapping and boring cycles as well as drilling cycles, in this chapter, only the term drilling will be used to refer to operations implemented with canned cycles. The drilling axis is a basic axis (X, Y, or Z) not used to define the positioning plane, or any axis parallel to that basic axis.
Table 13.1(b) Positioning plane and drilling axis
G code Positioning plane Drilling axis
G17 Xp–Yp plane Z axis
G18 Zp–Xp plane Y axis
G19 Yp–Zp plane X axis
G17 to G19 may be specified in a block in which any of G73 to G89 is not specified.
CAUTION Switch the drilling axis after canceling a canned cycle.
NOTE A parameter (No. 057 #6) can be set to the Z axis always used as the drilling axis. When FXY=0, the Z axis is always the drilling axis.
� Positioning plane
� ��������� � �
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 13. FUNCTIONS TO SIMPLIFY
PROGRAMMING
99
The travel distance along the drilling axis varies for G90 and G91 as follows:
R
Z
G90 (Absolute Command)
R
Z
G91 (Incremental Command)
Point R
Point Z
Point R
Point Z
G73, G74, G76, and G81 to G89 are modal G codes and remain in effect until canceled. When in effect, the current state is the drilling mode. Once drilling data is specified in the drilling mode, the data is retained until modified or canceled. Specify all necessary drilling data at the beginning of canned cycles; when canned cycles are being performed, specify data modifications only.
When the tool reaches the bottom of a hole, the tool may be returned to point R or to the initial level. These operations are specified with G98 and G99. The following illustrates how the tool moves when G98 or G99 is specified. Generally, G99 is used for the first drilling operation and G98 is used for the last drilling operation. The initial level does not change even when drilling is performed in the G99 mode.
G98(Return to initial level ) G99(Return to point R level )
Initial level
Point R level
� Travel distance along the drilling axis G90/G91
� Drilling mode
� Return point level G98/G99
ww w.
cn cc
en ter
.co m
PROGRAMMING 13. FUNCTIONS TO SIMPLIFY PROGRAMMING B–62574EN/02
100
To repeat drilling for equally–spaced holes, specify the number of repeats in K_. K is effective only within the block where it is specified. Specify the first hole position in incremental mode (G91). If it is specified in absolute mode (G90), drilling is repeated at the same position.
Number of repeats K The maximum command value = 9999
If K0 is specified, drilling data is stored, but drilling is not performed.
To cancel a canned cycle, use G80 or a group 01 G code.
� �� � �� G� ����� G00 : Positioning (rapid traverse) G01 : Linear interpolation G02 : Circular interpolation (CW) G03 : Circular interpolation (CCW)
Subsequent sections explain the individual canned cycles. Figures in these explanations use the following symbols:
DwellP
OSS
Positioning (rapid traverse G00)
Cutting feed (linear interpolation G01)
Manual feed
Shift (rapid traverse G00)
Spindle orientation (The spindle stops at a fixed rotation position)
� Repeat
� Cancel
� Symbols in figures
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 13. FUNCTIONS TO SIMPLIFY
PROGRAMMING
101
This cycle performs high–speed peck drilling. It performs intermittent cutting feed to the bottom of a hole while removing chips from the hole.
G73 (G98) G73 (G99)
G73 X_ Y_ Z_ R_ Q_ F_ K_ ;
X_ Y_ : Hole position data
Z_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
Q_ : Depth of cut for each cutting feed
F_ : Cutting feedrate
K_ : Number of repeats
Initial level
q
q
q
d
d
q
q
q
d
d
Point R Point R levelPoint R
Point Z Point Z
13.1.1 High–speed Peck Drilling Cycle (G73)
Format
ww w.
cn cc
en ter
.co m
PROGRAMMING 13. FUNCTIONS TO SIMPLIFY PROGRAMMING B–62574EN/02
102
The high–speed peck drilling cycle performs intermittent feeding along the Z–axis. When this cycle is used, chips can be removed from the hole easily, and a smaller value can be set for retraction. This allows, drilling to be performed efficiently. Set the clearance, d, in parameter 531. The tool is retracted in rapid traverse. Before specifying G73, rotate the spindle using a miscellaneous function (M code). When the G73 code and an M code are specified in the same block, the M code is executed at the time of the first positioning operation. The system then proceeds to the next drilling operation. When K is used to specify the number of repeats, the M code is executed for the first hole only; for the second and subsequent holes, the M code is not executed. When a tool length offset (G43, G44, or G49) is specified in the canned cycle, the offset is applied at the time of positioning to point R.
Before the drilling axis can be changed, the canned cycle must be canceled.
In a block that does not contain X, Y, Z, R, or any other axes, drilling is not performed.
 If they are specified in a block that does not perform drilling, they cannot be stored as modal data.
Do not specify a group 01 G code (G00 to G03) and G73 in the same block. If they are specified together, G73 is canceled.
M3 S2000 ; Cause the spindle to start rotating. G90 G99 G73 X300. Y–250. Z–150. R–100. Q15. F120. ;
Position, drill hole 1, then return to point R. Y–550. ; Position, drill hole 2, then return to point R. Y–750. ; Position, drill hole 3, then return to point R. X1000. ; Position, drill hole 4, then return to point R. Y–550. ; Position, drill hole 5, then return to point R. G98 Y–750. ; Position, drill hole 6, then return to the ini–
tial level. G80 G28 G91 X0 Y0 Z0 ; Return to the reference position return M5 ; Cause the spindle to stop rotating.
� ����� ����
� Restrictions
� Axis switching
� Drilling
� Q/R
� Cancel
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 13. FUNCTIONS TO SIMPLIFY
PROGRAMMING
103
This cycle performs left–handed tapping. In the left–handed tapping cycle, when the bottom of the hole has been reached, the spindle rotates clockwise.
G74 (G98) G74 (G99)
G74 X_ Y_ Z_ R_ P_ F_ K_ ;
X_ Y_ : Hole position data
Z_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time
F_ : Cutting feedrate
K_ : Number of repeats
P
P
P
P
Initial level
Point R
Point Z
Spindle CCW
Spindle CCW
Point R level
Spindle CW Spindle CW
Point Z
Point R
Tapping is performed by turning the spindle counterclockwise. When the bottom of the hole has been reached, the spindle is rotated clockwise for retraction. This creates a reverse thread. Feedrate overrides are ignored during left–handed tapping. A feed hold does not stop the machine until the return operation is completed. Before specifying G74, use a miscellaneous function (M code) to rotate the spindle counterclockwise. When the G74 command and an M code are specified in the same block, the M code is executed at the time of the first positioning operation. The system then proceeds to the next drilling operation. When K is used to specify the number of repeats, the M code is executed for the first hole only; for the second and subsequent holes, the M code is not executed. When a tool length offset (G43, G44, or G49) is specified in the canned cycle, the offset is applied at the time of positioning to point R.
13.1.2 Left–handed Tapping Cycle (G74)
Format
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING 13. FUNCTIONS TO SIMPLIFY PROGRAMMING B–62574EN/02
104
Before the drilling axis can be changed, the canned cycle must be canceled.
In a block that does not contain X, Y, Z, R, or any other axes, drilling is not performed.
 If it is specified in a block that does not perform drilling, it cannot be stored as modal data.
Do not specify a group 01 G code (G00 to G03) and G74 in the same block. If they are specified together, G74 is canceled.
M4 S100 ; Cause the spindle to start rotating. G90 G99 G74 X300. Y–250. Z–150. R–120. F120. ;
Position, tapping hole 1, then return to point R. Y–550. ; Position, tapping hole 2, then return to point R. Y–750. ; Position, tapping hole 3, then return to point R. X1000. ; Position, tapping hole 4, then return to point R. Y–550. ; Position, tapping hole 5, then return to point R. G98 Y–750. ; Position, tapping hole 6, then return to the
initial level. G80 G28 G91 X0 Y0 Z0 ; Return to the reference position return M5 ; Cause the spindle to stop rotating.
� Restrictions
� Axis switching
� Drilling
� R
� Cancel
Examples
ww w.
cn cc
en ter
.co m
PROGRAMMINGB–62574EN/02 13. FUNCTIONS TO SIMPLIFY
PROGRAMMING
105
The fine boring cycle bores a hole precisely. When the bottom of the hole has been reached, the spindle stops, and the tool is moved away from the machined surface of the workpiece and retracted.
G76 (G98) G76 (G99)
G76 X_ Y_ Z_ R_ Q_ P_ F_ K_ ;
X_ Y_ : Hole position data
Z_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
Q_ : Shift amount at the bottom of a hole
P_ : Dwell time at the bottom of a hole
F_ : Cutting feedrate
K_ : Number of repeats
q q
Shift amount q
Spindle orientation
Tool
OSS OSS
Point R level
Point R
Point Z
Spindle CW
Initial level
Point Z
Point R
Spindle CW
PP
WARNING Q (shift at the bottom of a hole) is a modal value retained within canned cycles. It must be specified carefully because it is also used as the depth of cut for G73 and G83.
13.1.3 Fine Boring Cycle (G76)
Format
ww w.
cn cc
en ter
.co m
PROGRAMMING 13. FUNCTIONS TO SIMPLIFY PROGRAMMING B–62574EN/02
106