Programming Manual of Milling Machine System
Programming Manual of Milling Machine System
NC program 11
Preparatory functions 17
Programming
Frame 99
Manual of Milling
Machine System Tool function 115
Appendix 133
Legal information
Warning notice
For the sake of your personal safety and to prevent damage to property, the following
symbols are used in this manual. The sentences with a safety symbol are very important.
indicates that death or severe personal injury will result if an error occurs during the use.
indicates that death or severe personal injury may result if an error occurs during the use.
NOTICE
indicates that an undesirable result or state may occur if the notice is not observed.
Qualified personnel
The product/system described in this documentation may be operated only by personnel
qualified for the specific task in accordance with the relevant provisions of this manual and
the documentation provided by the machine toll manufacturer, in particular the warning
notices and safety instructions. Qualified personnel must be subject to training, have
Product description
The numerical control (NC) system may only be used for the applications described in the
commissioning, operation and maintenance must be ensured during the use of this product;
otherwise the system may not operate properly. The permissible ambient conditions must be
complied with and the safety instructions in the relevant documentation must be observed.
Disclaimer of liability
We have reviewed the contents of this manual to ensure consistency with the hardware and
software described. Since variance cannot be precluded entirely, we cannot guarantee full
consistency.
Foreword
Documentation category
The documentation is classified into two categories.
Manufacturer/service documentation.
Intended readers
This manual is intended for machine tool operators of this milling machine system.
Purpose
This manual can enable the readers to get familiar with the operation method of milling
machine system.
Standard functions
This manual describes the standard functions of milling machine system. It does not cover
all types of products, all the details, and all the situations that may occur during the
For functions added or changed by the machine tool manufacturer, refer to the
We assume no responsibility, and will not provide related maintenance services if this
1 Flexible NC program.................................................................................... 1
1.1 Variable definitions............................................................................................................. 1
1.1.1 User-defined variables............................................................................................................... 1
1.1.2 R-parameters.............................................................................................................................. 2
1.1.3 System variables........................................................................................................................ 3
2 NC program................................................................................................ 14
2.1 Program naming................................................................................................................ 14
2.2 Program structure..............................................................................................................14
2.3 Main program.................................................................................................................... 16
2.4 Subprogram........................................................................................................................16
2.4.1 Classification of subprograms................................................................................................. 17
2.4.2 Subprogram call....................................................................................................................... 18
2.4.3 Modal call of subprogram........................................................................................................19
3 Preparatory functions.................................................................................21
3.1 Interpolation commands................................................................................................... 21
3.1.1 Quick positioning (G00).......................................................................................................... 21
3.1.2 Linear interpolation (G01).......................................................................................................22
3.1.3 Circular interpolation (G02/G03)............................................................................................23
3.1.4 3D circular interpolation (CIPD).............................................................................................31
Contents
4 Frame......................................................................................................... 114
4.1 Frame definition:.............................................................................................................114
4.2 Establishing coordinate systems....................................................................................114
4.3 Settable frame..................................................................................................................117
4.4 Programmable frame.......................................................................................................119
4.4.1 Programmable work offset (TRANS/ATRANS).................................................................. 120
4.4.2 Programmable rotation (ROT/AROT).................................................................................. 123
4.4.3 Programmable scaling factor (SCALE/ASCALE)............................................................... 126
4.4.4 Programmable mirroring (MIRROR/AMIRROR)................................................................128
5 Tool function..............................................................................................132
5.1 Tool selection.................................................................................................................. 132
5.2 Tool compensation no. D............................................................................................... 132
5.3 Tool type.......................................................................................................................... 133
5.4 Tool compensation..........................................................................................................133
5.4.1 Tool radius compensation...................................................................................................... 134
5.4.2 Tool length compensation......................................................................................................138
Appendix............................................................................................................... 143
A Typical workpiece examples...................................................................................................143
B Command list........................................................................................................................... 147
C Classification list of G commands......................................................................................... 154
Contents
Index...................................................................................................................... 160
Flexible NC program 1
1.1 Variable definitions
Variable function:
Variables can enable flexible programming. Programmers can use the variables flexibly to
calculate and establish a highly flexible program archive, which can save a lot of
programming work.
Variable type:
The control system classifies variables into the following types, as listed in Table 1.1.
A variable name can contain letters, digits and underscores, and can not begin with
an underscore.
DEF type name 1 [= value 1], name 2 [= value 2], name 3 [= value 3]...
definition
Notes:
Variables must be defined before the use and at the beginning of the program.
Definition must be implemented in a separate block. More than one variable can be
Examples:
1.1.2 R-parameters
Notes:
R-parameters refer to specific predefined arithmetic variables, with address R and the
subsequent figures. The predefined arithmetic variables are of type REAL. Under normal
circumstances, there are 100 arithmetic variables available below address R, unless
otherwise specified.
Function:
System variables provide the settings and status of the machine tools and the control
system.
Type:
Flexible NC program
1.3 Assignment
CNC parameters
Servo parameters
PLC parameters
Function:
An array refers to a memory block that is defined by the variables with name and capacity.
Command format:
DEF BOOL[n,m]
Notes:
of an array is 32767.
2. The value of an array can be assigned during execution of the program or during
3. The first array element starts with the index [0,0]. If the array capacity is [3,4], the
1) Initialize an array with the value list during definition of the array, SET
The number of initial values programmed must be same as that of array elements
The variables of type AXIS are not allowed to be left blank. If the value being
triggered.
Examples:
DEF RE[2,3]=SET(1,2,3,4)
2) Initialize an array with the same value during definition of the array, REP
Examples:
DEF RE[10,3]=REP(3)
3) Initialize an array with the value list during execution of the program, SET
The initialization steps are same as those in definition. An expression can also be
used as a value. The initialization starts with the array index of the program.
Examples:
4) Initialize an array with the same value during execution of the program, REP
Examples:
EE[0,0]=REP(10)
1.3 Assignment
Function:
Variables can be assigned a value of the appropriate type in the program. Assignment
always requires a separate block, and each block can have more than one assignment
statement.
Command format:
Examples:
Flexible NC program
1.3 Assignment
1.4 Calculation
Function:
The calculation function is primarily used for R-parameters and variables of real numbers,
Operator:
AA=10+12
Flexible NC program
1.5 Comparison and logical operations
Function:
Comparison operations can be used to express a jump case. Complete expressions can also
Operator Definition
== Equal to
!= Not equal to
> More than
Comparison < Less than
operators More than or
>=
equal to
Less than or equal
<=
to
&& AND
Logical
|| OR
operators
! NOT
Notes:
Comparison functions can be used for variable of types CHAR, INT, REAL and
BOOL. For variables of type CHAR, the code values are compared.
can only be used for variables of type BOOL. After internal type conversion, logical
operations can also be used for data types CHAR, INT and REAL.
The 0 in logic operations means false and other values not equal to 0 mean true.
Examples:
Function:
Each operation is assigned a priority. During the calculation of an expression, the operation
of a higher priority is always executed first. Operations of the same priority are executed
from left to right. In arithmetic expressions, the execution order of all operations can be
determined by parentheses, and the execution does not follow the normal rules of
calculation priority.
Operator priority:
Function:
CASE commands provide the possibility of jump based on the different actual values of
type INT. The program jumps to the location determined by the jump target, based on the
Command format:
Notes:
GOTO: forward-backward jump commands (jump to the program end and then the
program start).
DEFAULT: used to determine the jump target in the case no constant value is
defined.
If DEFAULT commands are not programmed, the block immediately following the
Examples:
MARK3
MARK1: G01 X1 Y1
MARK2: G01 X2 Y2
MARK3: G01 X3 Y3
1.8 IF statement
Function:
The IF-ELSE-ENDIF block is used for selection between two options. If the expression
value is true, the block of IF branch will be executed. Otherwise the block of ELSE branch
Command format:
IF expression
NC block
ELSE
NC block
ENDIF
Flexible NC program
1.8 IF statement
Examples:
IF VAR1>VAR2
G00 X1 Y1
ELSE
G00 X2 Y2
ENDIF
NOTICE
IF statements can be nested, but the number of nesting levels shall not exceed 9.
Function:
In the WHILE statement, the cycle will be executed as long as the expression value is true.
To interrupt the cycle, continuously modify the expression in the cycle until the value is
false.
Command format:
WHILE expression
NC block
ENDWHILE
Examples:
G01 X0
WHILE HH>0
G91 X=HH
HH=HH-1
ENDWHILE
NC program 2
2.1 Program naming
Each program has a program name. The program should be named in compliance with the
The program name should starts with a letter, and can only consist of letters, digits
and underscores;
No separator is allowed;
Case-sensitive;
The name should not be same as that of any standard cycle in the system;
A decimal point is included in file extensions. The extensions of the main programs
Examples:
SH_27.iso
A program refers to a set of commands sent to CNC for the operation of machine tools. The
tool will move along a straight line or an arc, the spindle motor will rotate or stop based on
Commands are programmed based on the actual movement sequence of the tool, as shown
in Figure 2.1. A single-step command is a program block, and the program consists of a
/ N… □G…□X…□Y…□F…□S…□T…□D…□M…
; remarks
Where,
; remarks indicates description of the block and it must be occupy a separate line.
1. Block number N
4. Function G
Notes:
For function G and function M, more than one function can be programmed in one
block, but for other functions (X, Y, T, F, etc.), only one function can be programmed.
Functions G are divided into different groups. Two or more commands G in the same
block numbers will not change if a new block is inserted later. Although it will not affect
the execution of the program if the block number is not programmed, it is still
recommended that a block number be added before the block relating to coordinate
The block number and the commands followed immediately must be separated by a
space.
There are two forms of programs: main program and subprogram. In general, CNC operates
When a same machining shape occurs in the program multiple times, the shape can be
programmed into a subprogram. The original program is called the main program. If a
subprogram command occurs during execution of the main program, the subprogram
command will be executed. After the subprogram is executed, execution of the main
2.4 Subprogram
In essence, there is no difference between the main program and the subprogram. A
subprogram contains the processes or steps that require multiple times of execution. The
To facilitate the selection of a subprogram, the subprogram must be named. The program
name can be freely selected, but must comply with relevant regulations (same as the main
Notes:
The subprogram can be ended with RET to return to the calling point of the program.
Alternately, the subprogram can also be programmed to end with M02 or M30 to return to
Classification of subprograms:
1. Standard subprogram: same as the main program. It can be called by the main
2. Parameter subprogram: It must be started with PROC and ended with RET. During
the calling of a parameter subprogram, the specific function is realized by passing the
parameter subprogram.
Notes:
A subprogram can be called not only in the main program, but also in another subprogram.
This process is called subprogram nesting. For such nesting call, a total of up to 12 nesting
Directly use the subprogram name when calling the subprogram in the main program.
Program the repeat count by assigning the value of P: If you need to run a
subprogram in a consecutive and repeated manner, program the repeat count by
assigning the value of the address P in a subprogram call. P value ranges from 1 to
99.
Examples:
Example 2: "()" can be omitted after the standard subprogram call is completed.
If the subprogram works with parameters in the main program, the corresponding computed
or assigned value can be used in the subprogram. During the subprogram call, the values of
actual parameters used in the main program are passed to the formal parameters of
involved in the computation in the called subprogram and no feedback message will
be sent to the subprogram in the upper layer in case of any change of values.
Pass-by-address: The values of parameters passed by address and used as input and
output parameters will be returned to the subprogram in the upper layer, after such
parameters are involved in the computation in the called subprogram. Add "VAR"
parameters by address.
Notes:
Parameters are passed during program call or the first execution. For other repetitive
NC program
2.4 Subprogram
Examples:
Example 1:
N20 WE (10, 50, R32, , R45) P5 ;if WE has 5 parameters, call the
Or, N20 CALL WE (10, 50, R32, , R45) ; call the subprogram WE for once
Example 2:
DEF REAL PP
DEF REAL MP
…… ……
…… ……
RET
…… ……
RET
Two parameters are defined in the subprogram "CYC84": "PP" and "MP". During calling of
subprogram "STE", "PP" is passed by address and "MP" is passed by value. The call aims to
modify "PP" based on the value of "MP" in "STE" and return the results to "CYC84" for
continual use. Namely, the modification on "PP" in "STE" can be passed to "CYC84".
Any subprogram can be called in modal manner in NC program, namely self-holding. This
function has great significance on simplifying the programming during repeated use of
drilling circulation.
Command format:
......
NC program
2.4 Subprogram
Function:
Add "MCALL" keyword before the subprogram name to achieve the modal call of a
subprogram. With this function, automatically call and process the subprogram behind each
Notes:
Disable this function, if only MCALL is programmed without any subprogram name
postfixed. Or, change this function if another subprogram is subject to modal call.
Nesting is not allowed during modal call. Namely, the subprogram to be subject to
Examples:
N30 F100
N40 MCALL CYCLE81 (10, 0, 3, -20, 0) ; the modal call is activated, yet without
drilling performed
N60 Y20 ; rapidly traverse to this position and drill the second hole
N70 Y40 ; rapidly traverse to this position and drill the third hole
N80 Y60 ; rapidly traverse to this position and drill the fourth hole
N100 M02
Preparatory functions 3
3.1 Interpolation commands
suggested that these interpolation commands should be used when the spindle is activated.
Function:
Command format:
Notes:
same group with G01 and G02. The G00 mode can be cancelled by other G
The tool movement programmed with G00 is run at the highest traversing speed. The
rapid traverse rate is a synthetic rate and it is determined based on the internal
parameters of system.
During quick positioning, position to the location of end point in linear interpolation
manner.
Examples:
Preparatory functions
3.3 Plane Command (G17/G18/G19)
N50 G00 Z2
N70 M30
Function:
Enable the tool to run along the straight line by use of G01.
Command format:
Notes:
same group with G00 and G02. The G01 mode can be cancelled by other G
F refers to the feedrate. Example: G01 G94 X100 Y20 Z30 F100 ; approach the end
point in X, Y, and Z axes at 100mm/min feedrate.
Examples:
N40 Y10
N60 M30
The control system provides a series of different methods for programming the circular
Command format:
G02/G03 I …J… K… AR=… ; programming methods of center point and central angle;
AR=given central angle; center point coordinate is an increment relative to the starting point
of circular arc
points
Notes:
CIP: perform circular interpolation through the intermediate point; CT: perform
Notes:
Working plane: The control system identifies the direction of rotation of circular arc
(G03) circular interpolation directions in each plane are as shown in figure 3.1:
Figure 3.1 Relationship between working plane and directions of circular arc
X, Y, Z: This specifies the end point of circular arc and it is expressed in absolute
value or increment value based on G90/G91. In case of increment value, the value
equals to the distance between the starting point and end point of circular arc.
I, J, K: This specifies the position of center point of circular arc and it is the
increment value from starting point to center point of circular arc. No matter in G90
or G91 mode, this represents the increment value as shown in figure 3.2. I0, J0, and
K0 can be omitted. However, when X, Y, and Z are omitted (the starting and end
points of circular arc are the same) and I, J, and K are specified, this represents a 360°
Figure 3.2 Relationship between center and starting points in different planes
CR=radius of circular arc: If a circular arc equal to or less than 180° is specified, the
radius is positive value ("+" can be omitted); if a circular arc over 180° is specified, the
In the parameter setting on system setting page, whether to specify G02 and G03 as modal
command can be set through "modal switch of circular arc command". If the modal switch
is set to "OFF", G02 and G03 are non-modal commands. If that is set to "ON", G02 and
If the programming speed of circular arc is greater than the maximum allowable speed of
curvature radius, the system will reduce the programming speed automatically.
Examples:
Preparatory functions
3.3 Plane Command (G17/G18/G19)
N40 G02 X140 Y151.96 I-51.96 J30 ; given end and center points of circular arc
N40 G02 X140 Y151.96 CR=-60 ; given end point and radius of circular arc
N40 G02 X140 Y151.96 AR=270 ; given end point and central angle of circular arc
N40 G02 I-51.96 J30 AR=270 ; given center point and central angle
N40 CIP X140 Y151.96 IM=90 JM=43.43 ; given end and intermediate points of
circular arc
N60 M30
1. Given end point and center point (or radius) of circular arc
Function:
Process the circle or circular arc by programming the given end point and center point of
circular arc.
Command format:
G02/G03 X… Y… Z… I… J… K…
Or G02/G03 X… Y… Z…CR=…
Notes:
X, Y, Z: This specifies the end point of circular arc in Cartesian coordinates and it is
I, J, K: This specifies the position of center point of circular arc and it is the increment
value from starting point to center point of circular arc. No matter in G90 or G91 mode,
CR=: If the programmed circular arc is equal to or less than 180°, CR is positive value
and the positive sign ("+") can be omitted; if the programmed circular arc is over 180°,
CR is negative value.
Notice that the circle cannot be programmed by use of "CR=". The circle must be
Examples:
2. Given end point (or center point) and central angle of circular arc
Program the circular arc by specifying the central angle and end point (or center point) of
circular arc.
Command format:
G02/G03 X… Y… Z… AR=…
Notes:
X, Y, Z: This specifies the end point of circular arc in Cartesian coordinates and it is
increment value, the value equals to the distance between the starting point and end
I, J, K: This specifies the position of center point of circular arc and it is the increment
value from starting point to center point of circular arc. No matter in G90 or G91 mode,
Examples:
Program the circular arc with CIP through the end and intermediate points. As shown in
figure 3.3, the circular arc moves towards starting point, intermediate point, and end point
successively.
Figure 3.3 Given end and intermediate points of circular arc
Command format:
CIP X…Y…Z…IM=…JM=…KM=…
Notes:
X, Y, Z: This specifies the end point of circular arc in Cartesian coordinates and it is
increment value, the value equals to the distance between the starting point and end
IM=, JM=, KM=: This specifies the intermediate point of circular arc in Cartesian
G90/G91. In case of increment value, the value equals to the distance between the
Examples:
Preparatory functions
3.3 Plane Command (G17/G18/G19)
Function:
circular arc can be specified by the tangential direction of end and starting points. CT will
generate a circular arc being tangent to the contour segment formerly programmed by {}. It
Tangential direction: The tangential direction of the starting point of a CT block depends on
Command format:
CT X…Y…Z…
Notes:
This is applicable when CT is non-modal. Generally, the circular arc depends on the
If the extension line of starting tangent passes the end point, a straight line rather than
a circle will be generated (limiting case: circle with a radius of infinite length). In this
Command format:
Notes:
IM=, JM=, KM=: This specifies the intermediate point of circular arc in Cartesian
G90/G91. In case of increment value, the value equals to the distance between the
Examples:
From its intended purpose, the polynomial interpolation (POLY) is not a kind of spline
interpolation.
Where: t is parameter
Different curves will be generated if different specific values are assigned to the coefficient:
Command format:
POLY X=PM(Xe, a1, a2, a3) Y=PM(Ye, b1, b2, b3) Z=PM(Ze, c1, c2, c3) PT=n
POLY X=PM(Xe, a1, a2, a3, a4, a5) Y=PM(Ye, b1, b2, b3, b4, b5) Z=PM(Ze, c1, c2, c3, c4, c5)
PT=n
Parameters:
X, Y, Z: axis names
a1, a2, a3, a4, a5: If the coefficient value is zero, these values can be null, but a comma
are of one-to-one correspondence from front to the back. The one that is not
corresponding is zero by default. Such as, if X=PM(1, 2), then a1=1, a2=2, and the
PT: parameter range; value range: PT>0. PT value is used in the corresponding block.
If without programming PT, then PT=1. The value range of t in the parameter
equation is [0, PT].
If the end point value computed based on the multinomial coefficient is inconsistent
with the end point (Xe, Ye, Ze) in programming, namely, it exceeds the range of
Notes:
group with G00, G01, G02, G03, and spline interpolation. Other commands in the
When the polynomial interpolation is effective, if only the programming end point
has no programming coefficient, a straight line will be interpolated to the end point.
displayed.
Examples:
N10 POLY X=PM () Y=PM () Z=PM () ; linear axis polynomial is interpolated to the end
point.
Through spline interpolation, a smooth curve can be used for connecting the disperse points.
Spline is used for fitting a series of disperse points. Different spline functions are of
Such three splines are compared in three same data points are as shown in figure 3.5:
Preparatory functions
3.3 Plane Command (G17/G18/G19)
CUBIC
NURBS
AKIMA
Figure 3.5 Three kinds of splines with the same interpolation point
1. AKIMA spline
Command format:
Notes:
As shown in figure 3.6, AKIMA spline passes each data point (namely the
AKIMA spline has to process at least 3 data points. Namely, for each AKIMA spline
curve, the user must program at least 3 blocks. If less than 3 blocks are programmed
AKIMA spline is modal command, and it belongs to the same G code group with
G00 and G01. Other commands in the same group also can cancel the AKIMA spline.
be displayed.
Figure 3.6 AKIMA spline
Examples:
N10 AKIMA X... Y... Z... ; enable the first AKIMA spline curve
N90 X...Y...Z...
N100 AKIMA X... Y...Z... ; enable the second AKIMA spline curve
N110 X...
2. NURBS spline
Command format:
Notes:
PL=: pitch, ranging among [0, 1]. This parameter must be programmed, and an error
PL=0 and ends with PL=0. At the end, the PL accumulated value is equal to 1.
The total number of control points in NURBS spline programming should not be less
NURBS spline is modal command, and it belongs to the same G command group
with G00, G01, G02, G03, and polynomial. Other commands in the same group also
displayed.
Examples:
G01 X0 Y0 Z0 F100
NURBS X1 Y0 Z2 PL=0
X2 Y0 Z3 PL=0.2920
X4 Y0 Z6 PL=0.2237
X4.5 Y0 Z5 PL=0.2785
X6 Y0 Z1 PL=0.2058
X7 Y0 Z5.5 PL=0
3. CUBIC spline
Command format:
Notes:
AKIMA, NURBS, and CUBIC splines are effective modal commands, and they
belong to the same interpolation command group with G00, G01, G02, and G03.
Examples:
Preparatory functions
3.3 Plane Command (G17/G18/G19)
N15 X10
N50 X40 Y5
N70 X55 Y7
N100 X70 Y0
N120 X90 Y0
N130 M30
Function:
Helical interpolation G22/G23 consists of circular interpolation within the working plane and synchronous
movement of the third axis. Circular curves within the working plane, besides common circular arc with equal
radius, shall also share the same center point. Their radius is a spiral whose linearity gradually changes.
Rectilinear motion of the third axis must be synchronous with circular arc or spiral within the working plane,
forming the spiral line in cylinder or circular cone shape with equal thread pitch. If the third axis is not specified or
coordinates of the third axis are kept the same, it is equal to performing circular arc or spiral interpolation.
Command format:
K _
Q _
G 22
G17 X_ Y_ I_ J_ Z_ F_
G 23 L _
P _
J _
Q _
G 22
G18 Z_ X_ K_ I_ Y_ F_
G 23 L _
P _
I _
Q _
G 22
G19 Y_ Z_ J_ K_ X_ F_
G 23 L _
P _
Notes:
G22/G23: G22 means the spiral line rotating towards clockwise direction; G23 means the spiral line rotating
G17: I/J means the coordinate of the center point with respect to the starting point, and K means thread
pitch.
G18: K/I means the coordinate of the center point with respect to the starting point, and J means thread
pitch.
G19: J/K means the coordinate of the center point with respect to the starting point, and I means thread
pitch.
Q: radius increase or decrease after the spiral rotates a cycle; Positive value indicates increase, while negative
L: number of rotating cycles of the spiral; It is positive, and could also be decimal.
Thread pitch, Q, L, P: One of the four parameters must be specified, and the rest three could be neglected. If
two among the above parameters are specified at the same time, they shall be selected as per the priority of
"Q>thread pitch>P>L".
Examples:
N20 Y-35
N30 G22 X-50 Y0 Z-125 I0 J35 P810 The spiral travelling 810° from the starting
Function:
Command format:
G… X…Y…Z…CHF=… Chamfer of contour angle; its value is equal
to length of chamfer.
radius of a circle.
Notes:
Chamfer CHF or CHR: Insert a straight line between contour of straight lines, contour of circular arc and
contour of straight line and circular arc, and chamfer the angle, as shown in Figure 3.11:
Radius RND: Insert a circular arc between contour of straight lines, contour of circular arc and contour of
straight line and circular arc. Tangent transits between the contour, as shown in Figure 3.12:
Preparatory functions
3.3 Plane Command (G17/G18/G19)
Chamfer or radius could be added in the corner of any contour. If radius and chamfer are both programmed in
If several successive program blocks exclude a program block with traverse command on coordinate axis,
Two program blocks with traverse command, that connect chamfer or radius, must be within the same plane.
Added radius and chamfer are subject to the last program block.
Function:
Machining plane must be determined prior to compensation for tool radius within the plane, determination of
infeed direction in compensation for tool length, and interpolation of circular arc within the plane, as shown in
Figure 3.13:
Command format:
Notes:
In preliminary setting of the system, G17 is the working plane for milling, and G18 is the working plane for
turning by default.
The working plane must be specified in invocation of G41/G42 where tool radius is compensated for. In the
way, the control system identifies the plane to compensate for tool radius.
In machining of inclined plane, rotation of the coordinate system enables the coordinate axis to be placed on
Function:
In absolute dimensioning (G90), position data always depends on the origin of current effective coordinate system,
namely programming of the absolute position where the tool reaches. In incremental dimensioning (G91), position
data depends on the last reaching point, namely programming of incremental dimensioning indicating how long
In incremental dimensioning (G91), key word AC could be used to set effective absolute dimensioning for a single
axis within the section. Meanwhile, in absolute dimensioning (G90), key word IC could be used to set effective
Command format:
modality is effective
modality is effective
Notes:
Modality is effective in G90 and G91. The system preliminarily specifies that absolute dimensioning of G90
is effective.
AC/IC could be used for programming of linear axis and rotation axis, and for programming of interpolation
parameter I/J/K.
When AC/IC is used for programming of rotation axis, AC value ranges from 0° to 360°, and AC value
ranges from 0° to ±99999.999°. When AC/IC is used for programming of linear axis, the range of AC/IC value is
When AC/IC is used for programming of rotation axis, moving direction of AC depends on actual position of
Preparatory functions
3.4 Absolute/Relative Command (G90/G91, AC/IC)
the rotation axis. When the target position is greater than actual position, the axis approaches to positive direction
Symbol of IC value defines rotation direction of the rotation axis. Positive sign means incremental feed in the
positive direction, while negative sign means incremental feed in the negative direction. IC could program for
Examples:
N40 G02 X90 Y120 I=AC (90) J=AC (70) Coordinate of the center point is
dimensioning
N50 G00 Z2
N60 M30
Function:
Preparatory functions
3.12 Feed function
Usage of G function below could enable conversion between metric system and British system.
Command format:
Notes:
The basic dimension system set in the control system, is non-relevant to dimension instruction of
programming G70/G71.
Use G70 or G71 to program all geometric data directly relevant to the workpiece, for example:
Position data X, Y, Z under spline function in G00, G01, G02, G03, CIP, CIPD, CT, G22, G23, POLY
Interpolation parameter I, J, K
All other geometric data, which is not directly relevant to the workpiece, such as feedrate, tool compensation, and
Function:
G25/G26 command could define working area of all axes, and specify operable area and non-operable area. Tool
tip must be within the area when length compensation of the tool is effective. Or otherwise, reference point of the
tool rest must be within the area. Programmable command group, WALIMON/WALIMOF, could be used to
Command format:
Notes:
Working area limitation is not effective until the coordinate value returns to the reference point.
Preparatory functions
3.4 Absolute/Relative Command (G90/G91, AC/IC)
G25 X…Y…Z…, G26 X…Y…Z…, WALIMON and WALIMOF are separate program blocks.
X-/Y-/Z-coordinate of G25/G26 is defined in coordinate system of the workpiece. For detail, see 4.2.
Examples:
area limitation
N20 G26 X80 Z160 Upper limiting value with respect to working
area limitation
N30 T1 M06
Function:
Tool automatically moves to the reference point from the intermediate point. Position of reference point is stored
Command format:
G74 X…Y…Z…
Notes:
Axes locate at the intermediate point in rapid traverse rate, and accomplish location from the intermediate
If X, Y and Z are not specified, axes directly return to the reference point.
Examples:
Function:
G75 command could achieve such function that NC program returns to fixed point, such as tool change point,
feeding point and tray change point. Tool automatically moves to fixed point from intermediate point. Position of
Command format:
G75 X…Y…Z…
Notes:
Axes locate at the intermediate point in rapid traverse rate, and accomplish location from the intermediate
If X, Y and Z are not specified, axes directly return to the fixed point.
Examples:
Function:
Insertion of a G04 command between two program blocks could suspend machining for a given time.
Command format:
Examples:
N30 X50
Notes:
Figure written behind H could be accurate to two decimal places. G04 command must be independent program
block.
3.10 Polar coordinates
Function:
Polar coordinate system, a two-dimensional coordinate system, is defined on the reference plane G17/G18/G19. In
the coordinate system, the coordinate point is represented by an intersection angle (polar angle) and a section of
distance (polar radius) with respect to central point (pole). Pole could be defined in Cartesian coordinate system or
Figure 3.14 Definition of Polar Angle and Polar Radius towards Positive Direction on G17/G18 Plane
Command format:
Notes:
Polar radius, a positive absolute value, is defined as the distance from current point to pole (unit: mm or
inch).
Polar radius is always kept until pole or plane changes, and the modality is effective.
Polar angle means intersection angle formed between X-axis on the plane, such as X-axis on plane G17.
Polar angle is always kept until a new pole is defined or the working plane is changed, and the modality is
effective.
Counterclockwise rotation of pole angle indicates positive direction. Polar angle ranges from -360° to 360°
Preparatory functions
3.4 Absolute/Relative Command (G90/G91, AC/IC)
(unit: degree).
Pole could be defined by Cartesian coordinates or polar coordinates, as shown in Figure 3.15 below:
Command format:
Notes:
G110: Defining pole with respect to programmed point in the last time. Polar coordinates after G110 are
G111: Defining pole with respect to the origin of current workpiece coordinate system.
If the pole is not defined, the origin of current coordinate system could be taken as the pole.
Only interpolation commands G00, G01, G02 and G03 could be programmed in polar coordinates. If AP or
Motion commands G00, G01, G02 and G03 could be programmed in polar coordinates.
Command format:
Notes:
G00 means rapid traverse command. G01 means linear interpolation command. G02 means interpolation
command of clockwise circular arc. G03 means interpolation command of counterclockwise circular arc.
AP means polar angle, namely intersection angle formed between polar radius and horizontal axis of the
working plane (such as, X-axis in G17 plane). Counterclockwise direction represents positive direction. The polar
angle ranges from -360° to 360° (unit: degree), and the modality of polar angle is effective.
RP means polar radius, which is always positive absolute value. The modality of polar radius is effective.
The third geometrical axis, vertical to the working plane, could also be represented by Cartesian coordinates,
Examples:
Preparatory functions
3.4 Absolute/Relative Command (G90/G91, AC/IC)
coordinate system
N50 G00 AP=IC (90) Quickly positioning the next position. Polar
setting.
N60 (SUB)
N80 (SUB)
N100 (SUB)
N110 G00 X300 Y200 Z100 Retraction. X-, Y-, and Z-coordinates take
by N20
N120 M30
Notes:
Polar coordinates: Take newly defined pole as the origin for programming.
Rectangular coordinates: Take newly defined settable frame (such as G54) or programmable frame (such as,
Examples:
N30 G00 X10 Y20 X and Y taking G54 as the origin for
programming
programming
3.11 Simplified Programming (Fixed Cycle)
Programming:
CYCLE71 (RTP, RFP, SFD, DEP, SPA, SPO, LENG, WID, STA, MIDP, MIWD, FALD, FFS, TYP)
Parameters:
RTP Real Retraction plane (absolute coordinate)
RFP Real Reference plane (absolute coordinate)
SFD Real Safety distance (unsigned input value)
DEP Real Depth (absolute coordinate)
SPA Real X-coordinate of the starting point (absolute coordinate)
SPO Real Y-coordinate of the starting point (absolute coordinate)
Rectangle length, increment, symbol determining length
LENG Real
direction
Rectangle width, increment, symbol determining width
WID Real
direction
Intersection angle between the long side of the rectangle
and the first axis (X-coordinate) on the plane (unsigned
STA Real
input value)
Range of the value: 0<=STA<180°
MIDP Real The maximum infeed depth (unsigned input value)
MIWD Real The maximum infeed width (unsigned input value)
Finishing allowance on the bottom (unsigned input
FALD Real
value)
FFS Real Surface finishing feedrate
Machining type: (unsigned input value)
Units:
1=rough machining
2=finishing
TYP Int Tens:
1=parallel to X-coordinate, machining in a direction
2=parallel to Y-coordinate, machining in a direction
3=parallel to X-coordinate, machining in alternating
direction
Preparatory function
3.12 Feed function
Using CYCLE71 could mill any rectangular plane. The cycle has no compensation for tool radius, and
Parameter description:
It means initial position for plane milling, and generally refers to the upper surface of a blank.
It means the safety distance from the reference plane set to ensure safety. This distance is also applicable to safety
overflow travel along length and width direction within the plane.
Figure 3.18 SFD Diagram within the Plane (Machining Type: 41)
DEP (Depth)
SPA and SPO respectively represent X-coordinate and Y-coordinate of the starting point of the rectangle.
LENG and WID, as incremental coordinates with respect to the starting points SPA and SPO, define length and
STA (Intersection Angle between the Long Side of the Rectangle and the First Axis)
STA defines the intersection angle between the long side of the rectangle (the length axis) and the first axis (the
The cycle, in accordance with the maximum infeed depth, calculates infeed number and depth of rough machining.
The cycle, in accordance with the maximum infeed width, calculates infeed number and width in transverse
direction. If MIWD=0, it deems that MIWD is equal to 0.8 times of tool diameter in a cycle by default.
Units:
1=rough machining
2=finishing
Tens:
Preparatory function
3.12 Feed function
Type 1x Type 2x
Type 3x Type 4x
Programming sample:
In the example, dimension of the plane is shown in the following figure. The plane forms a 5° intersection angle
with X-coordinate, with depth of 10mm, the maximum infeed depth/width of 6mm/10mm and machining type of
31. Namely, the plane, parallel to X-coordinate, performs rough machining in alternating direction.
Figure 3.20 Programming Diagram
N10 T8 M06
N20 M3 S1500
N40 CYCLE71(10,0,2,-10,20,20,50,30,5,6,10,0,2000,31)
N60 M30
Programming:
CYCLE72 (KNAME, RTP, RFP, SFD, DEP, MIDP, FAL, FALD, FFC, FFD, TYP, TRC)
Parameters:
Milling can be conducted along any contour defined in the subprogram by CYCLE72.
Compulsive enclosure is not required with this contour, but the programming must be
conducted in the same direction and on the same plane as the milling. The direction of tool
radius compensation is specified by the user in the main program and is cancelled automatically
Parameter description:
Figure 3.22 Parameter diagram
Start and retraction paths must be included in the subprogram. The first program block,
which is usually a rapid traverse block with G00 and G90, defines the starting point. The
second block defines the starting point of the contour. The last block, which is usually a
rapid traverse block with G00 and G90, defines the retraction path.
Initial plane of the contour milling and usually refers to the upper surface of a blank.
DEP (Depth)
The cycle, in accordance with the deepest infeed depth, calculates infeed number and depth
of rough machining. If MIDP=0, the cycle will take rough machining as finishing in a cut
by default.
Programming example:
Preparatory function
3.12 Feed function
Conduct the milling process on the below contour. The relevant parameters are: RTP=10,
TYP=1.
Main program
N10 T8 M06
N40 CYCLE72("sub72",10,0,5,-4,1,0.25,0.1,800,400,1,41)
N60 M30
Subprogram "sub72.iso":
N40 X20
N50 X40 Y0
N80 X-40 Y0
N120 RET
Programming:
CYCLE76 (RTP, RFP, SFD, DEP, LENG, WID, CRAD, SPA, SPO, STA, MIDP, FAL,
Parameters:
Function:
Rectangular journal can be machined on the plane by CYCLE76. CYCLE76, which calls
the contour milling cycle CYCLE72 to machine rectangular contour, is an exception among
Parameter description:
Parameters RTP, RFP, SFD, DEP and MIDP can be referred in CYCLE72.
Figure 3.25 Parameter diagram
The X-coordinate and Y-coordinate of the journal's central point are defined by parameters
STA (the angle between the long side of the journal and the primary shaft)
STA defines the angle between the long side of the journal (the length axis) and the primary
LENG, WID and CRAD (length, width and corner radius of the journal)
The shape of the journal can be defined by parameters LENG, WID and CRAD.
The milling direction when machining the journal is defined by the parameter MDIR. The
When machining the journal, the length and width of the blanks can be defined by LBS and
WBS. There is no signed input value in LBS and WBS. The blanks are automatically and
symmetrically placed on both sides of the journal's central point in the cycle.
Preparatory function
3.12 Feed function
Programming example:
In this case, the rectangular journal is in Plane XY. The coordinate of the intermediate point
is X45 Y50. The length is 60 mm, the width 40 mm and the corner radius 10 mm. The angle
with the X-axis is 5 degree. The machining depth is 10 mm and the deepest infeed depth is 6
mm. The finishing allowances of the edge and the bottom are both 0. The length of blanks is
70 mm and the width is 50 mm. Employ the method of climb milling and the machining
N10 T8 M06
N40 CYCLE76(10,0,2,-10,60,40,10,45,50,5,6,0,0,700,700,0,1,70,50)
N60 M30
Programming:
CYCLE77 (RTP, RFP, SFD, DEP, SDIA, SPA, SPO, MIDP, FAL, FALD, FFC, FFD, MDIR,
TYP, DBS)
Parameters:
RTP Real Retraction plane (absolute coordinate)
RFP Real Reference plane (absolute coordinate)
SFD Real Safety distance (unsigned input value)
DEP Real Depth (absolute coordinate)
SDIA Real Journal diameter (unsigned input value)
The X-coordinate of the center of the journal
SPA Real
(absolute coordinate)
The Y-coordinate of the center of the journal
SPO Real
(absolute coordinate)
MIDP Real The deepest infeed depth (unsigned input value)
Finishing allowance of contour edge (unsigned
FAL Real
input value)
Finishing allowance on the bottom (unsigned input
FALD Real
value)
FFC Real Contour machining feedrate
FFD Real Deep machining feedrate
Milling direction: (unsigned input value)
0=climb milling
MDIR Int 1=conventional milling
2=clockwise milling (G2)
3=counterclockwise milling (G3)
Machining type: (unsigned input value)
TYP Int 1=rough machining
2=finishing
DBS Real Blank diameter (unsigned input value)
Function:
Circular journal can be machined on the plane by CYCLE77. CYCLE77, which calls the
contour milling cycle CYCLE72 to machine circular contour, is also an exception among
Parameter description:
Parameters RTP, RFP, SFD, DEP and MIDP can be referred in CYCLE72.
The X-coordinate and Y-coordinate of the journal's central point are defined by parameters
Programming example:
In this case, the diameter of blanks of the circular journal is 50 mm and that of the journal is
45 mm. The journal is in Plane XY. The coordinate of the center is X40 Y50 and the depth
is 10 mm. The deepest infeed depth is 6 mm. The finishing allowance of the edge is 0.2 mm
and that of the bottom is 0. Employ the method of conventional milling and the machining
N10 T8 M06
N40 CYCLE77(10,0,3,-10,45,40,50,6,0.2,0,700,700,1,1,50)
N60 M30
Programming:
POCKET1 (RTP, RFP, SFD, DEP, LENG, WID, CRAD, CPA, CPO, STA, FFD, FFS, MIDP,
Parameters:
Function:
Parameter description:
Parameters RTP, RFP, SFD, DEP and MIDP can be referred in CYCLE72.
The X-coordinate and Y-coordinate of the pocket's central point are defined by parameters
STA (angle)
STA defines the angle between the vertical axis of the pocket and the primary shaft
LENG, WID and CRAD (length, width and corner radius of the pocket)
The shape of the pocket can be defined by parameters LENG, WID and CRAD.
If the radius of the tool is larger than that of the corner or half of the pocket length (or
width), an alarm of "Tool Radius Too Large" will be output in the cycle.
The milling direction when machining the pocket is defined by the parameter MDIR. The
Programming example:
In this case, the length of the rectangular pocket is 80 mm, the width 60 mm, the corner
radius 7 mm and the depth 10mm. The pocket is on Plane XY. The angle between the
pocket and X-axis is 0 degree. The finishing allowance of the pocket edge is 0.75 mm and
the safety distance from the reference plane is 0.5 mm. The coordinate of the pocket's
central point is X46 and Y42. The deepest infeed depth of rough machining is 4 mm and
N10 T8 M06
N20 M04 S600
N40 POCKET1(5,0,0.5,-10,80,60,7,46,42,0,120,300,4,2,0.75,0,2,0,0)
N60 M30
Programming:
POCKET2 (RTP, RFP, SFD, DEP, PRAD, CPA, CPO, FFD, FFS, MIDP, MDIR, FAL, TYP,
Parameters:
Function:
Parameter description:
Parameters RTP, RFP, SFD, DEP and MIDP can be referred in CYCLE72.
The X-coordinate and Y-coordinate of the pocket's central point are defined by parameters
If the radius of the tool is larger than that of the pocket, an alarm of "Tool Radius Too
Programming example:
In this case, the circular pocket is on Plane XY. The coordinate of the central point is X30
Y50 and the pocket radius is 45 mm. The allowance of finishing and the safety distance are
both 0. The pocket depth is 10 mm. The deepest infeed depth of rough machining is 4 mm,
the milling direction is G2 (clockwise) and the machining type is rough machining.
N10 T8 M06
Preparatory function
3.12 Feed function
N40 POCKET2(3,0,0,-10,22.5,30,50,100,200,4,2,0,1,0,0,0)
N60 M30
Programming:
SLOT1(RTP,RFP,SFD,DEP,DPR,NUM,LENG,WID,CPA,CPO,RAD,STA,INA,FFD,FFS,M
IDP,MDIR,FAL,TYP,MIDF,FFC,SSF,FALD,STA2)
Parameters:
RTP real Retraction plane (absolute coordinate)
RFP real Reference plane (absolute coordinate)
SFD real Safety distance (unsigned input value)
DEP real Running groove depth (absolute coordinate)
Running groove depth relative to reference plane (unsigned
DPR real
input value)
NUM int Number of running grooves
LENG real Running groove length (unsigned input value)
WID real Running groove width (unsigned input value)
The X-coordinate of the center of the circle (absolute
CPA real
coordinate)
The Y-coordinate of the center of the circle (absolute
CPO real
coordinate)
RAD real Circular radius (unsigned input value)
STA real Range of value of the start angle: -180<STA<=180
INA real Incremental angle
FFD real Deep machining feedrate
FFS real Surface machining feedrate
MIDP real The deepest infeed depth (unsigned input value)
Milling direction of running groove machining: (unsigned
input value)
0=climb milling
MDIR int
1=conventional milling
2=clockwise milling
3=counterclockwise milling
Finishing allowance of the edge of the running groove
FAL real
(unsigned input value)
Machining type (unsigned input value)
Units
Value: 0. comprehensive machining
1. rough machining
TYP int 2. finishing
Tens
Value: 0. In vertical G0
1. In vertical G1
2. In reciprocating G1
MIDF real The deepest infeed depth of finishing
FFC real Finishing feedrate
SSF real Spindle speed of finishing
FALD real Finishing allowance of the bottom of the running groove
STA2 real The maximum inserting angle when reciprocating
Function:
Used for machining the running grooves arranged as a circle. The longitudinal axes are
Parameter description:
Preparatory function
3.12 Feed function
Initial plane of the running groove milling and usually refers to the upper surface of a blank.
The running groove depth can be specified either by the absolute dimension (DEP) or by the
relative dimension (DPR) from the reference plane. When specified by the relative
dimension, the depth is calculated by the cycle itself with positions of the reference plane
NUM (number)
The shape of a running groove on the plane can be defined by LENG and WID. The tool
diameter shall not be larger than the running groove width, or an alarm of "Tool Radius Too
Large" will be output and the cycle will stop the execution. The tool diameter shall not be
The arrangement of running grooves on the circle can be defined by these two parameters.
STA explains the angle between the X-coordinate of the work plane activated in a cycle call
and the first running groove. INA explains the angle between a running groove and the next
one.
If INA=0, the incremental angle is automatically calculated within the cycle according to
the number of running grooves which are evenly distributed on the circle.
FFD is the feedrate in the depth direction and FFS is the feedrate of the surface when rough
machining.
MIDP is used to define the deepest infeed depth when rough machining. The infeed number
and feed depth are calculated automatically by the cycle according to MIDP and the running
groove depth.
The direction can be directly defined as clockwise (G2) or counterclockwise (G3) as well as
FAL is used for programming the finishing allowance of the edge of the running groove.
Deep feed is not affected by FAL. If the FAL value is larger than the given value of the
running groove depth and the tool diameter, FAL will cut itself down to the maximum
permissible value. In this case, reciprocating milling is conducted at two end points along
Preparatory function
3.12 Feed function
the length of the running groove by deep infeeding during rough machining.
TYP, MIDF, FFC and SSF (machining type, infeed depth of finishing, feedrate and
spindle speed)
Units:
a, In rough machining, counterbore the running grooves to meet the requirement of finish
allowance. The spindle speed is the one programmed before the call of cycle. The infeed is
b, In finishing, the spindle speed is defined by SSF, the feed is defined by FFC and the
- If SSF is not programmed, the spindle speed programmed before the call of cycle is
active.
1=rough machining
The spindle speed and programmed before the call of cycle the feed FFS are used to
counterbore the diameter of running grooves to meet the requirement of finish allowance.
2=finishing
The precondition of this cycle is that the running grooves are already counterbored and the
dimension meets the requirement of finish allowance, and only finish allowance is required
to be dealt with. If the value of FFC and SSF is not given, the feed FFS and the spindle
speed programmed before the call of cycle is active. The infeed depth is defined by the
value of MIDF.
Tens:
It indicates that the central point of the tool leads a reciprocating movement as a line and
obliquely insert until it reaches the next depth. The largest inserting angle is defined by
- If the deepest infeed depth is an even multiple of the feed depth of each reciprocation, the
starting point of the X-axis is located at the end point of the long axis of running grooves that
- If the deepest infeed depth is an odd multiple of the feed depth of each reciprocation, the start
point of the X-axis is located at the end point of the long axis of running grooves that far from
- The deepest infeed depth is not the infeed depth in the actual machining. The system will
calculate a rational infeed depth within the cycle according to such parameters as RFP, DEP,
If another value is programmed by TPY, the cycle will stop and an alarm of "False
STA2 defines the largest inserting angle, used for reciprocating machining.
Programming example:
Four running grooves are machined in this procedure. The running grooves are distributed
Dimensions of the running grooves: length 20 mm, width 10 mm and depth 20 mm. Safety
distance 1 mm and finishing allowance 0.5 mm. The milling direction is G2 and the
N20 T10 D1
N30 M06
N50 SLOT1(5,0,1,-20,0,4,20,10,30,40,10,45,90,100,320,6,2,0.5,20,4,400,1200,0.5,5)
N60 M30
3.11.8 Circular groove milling SLOT2
Programming:
SLOT2(RTP,RFP,SFD,DEP,DPR,NUM,ASL,WID,CPA,CPO,RAD,STA,INA,FFD,FFS,MI
DP,MDIR,FAL,TYP,MIDF,FFC,SSF,FFCP)
Parameters:
RTP real Retraction plane (absolute coordinate)
RFP real Reference plane (absolute coordinate)
SFD real Safety distance (unsigned input value)
DEP real Running groove depth (absolute coordinate)
Running groove depth relative to reference plane (unsigned
DPR real
input value)
NUM int Number of running grooves
ASL real Circular groove angle (unsigned input value)
WID real Circular groove width (unsigned input value)
The X-coordinate of the center of the circle (absolute
CPA real
coordinate)
The Y-coordinate of the center of the circle (absolute
CPO real
coordinate)
RAD real Circular radius (unsigned input value)
STA real Start angle
INA real Incremental angle
FFD real Deep machining feedrate
FFS real Surface machining feedrate
MIDP real The deepest infeed depth (unsigned input value)
The milling direction of circular groove machining
MDIR int 2=clockwise milling (G2)
3=counterclockwise milling (G3)
Finishing allowance of the edge of the running groove
FAL real
(unsigned input value)
Machining type
Unit value: 0=comprehensive machining
1=rough machining
2=finishing
TYP int Tens value: 0=the transition between two grooves is infeed with
method G0
1=the transition between two grooves is infeed with
method G2/G3 along the track of the circle where there are the
running grooves
MIDF real The deepest infeed depth of finishing
FFC real Finishing feedrate
Preparatory function
3.12 Feed function
Cycle SLOT2 is used for machining circular grooves which are on one circle.
Parameter description:
See SLOT1 for parameters RTP, RFP, SFD, DEP, DPR, FFD, FFS, MIDP, MDIR, FAL, TYP,
NUM (number)
within the cycle whether the using tool will damage the running groove width. If it will, an
alarm of "Tool Radius Too Large" will be output and the cycle will stop executing.
Location of the circle is defined by the central point (CPA, CPO) and the radius (RAD).
Figure 3.44 transitional infeed between two grooves (the machining type is of tens value)
The arrangement of circular grooves on the circle can be defined by these two parameters.
STA explains the angle between the X-coordinate's positive direction in the workpiece
coordinate system before the cycle call and the first circular groove. INA includes the angle
If INA=0, the incremental angle is automatically calculated within the cycle according to
the number of circular grooves which are evenly distributed on the circle.
Programming example:
The 4 circular grooves to be machined are on one circle on Plane XY. The coordinate of the
central point is X30 Y40 and the radius is17 mm. The dimensions of these circular grooves
are as followings: width is 6 mm, angle of groove length 40 degree and depth 9 millimeter.
The start angle is 70 degree and the incremental angle 90 degree. A finishing allowance of
0.5 mm shall be taken into account on the contour of the running groove, the safety distance
Preparatory function
3.12 Feed function
in the direction of transverse feed axis Z is 2 mm and the maximum feed depth is 4 mm.
These running grooves shall be comprehensively machined. When finishing, the rotation
speed and feed speed shall be the same and tool shall enter the groove depth.
N20 T10 D1
N30 M06
N50 SLOT2(5,0,2,-9,0,4,40,6,30,40,17,70,90,100,300,4,2,0.5,0,3,0,600,0)
N60 M30
Programming:
CYCLE90(RTP,RFP,SFD,DEP,DPR,DIATH,KDIAM,PIT,FFR,MDIR,TYP,CPA,CPO)
Parameters:
RTP real Retraction plane (absolute coordinate)
RFP real Reference plane (absolute coordinate)
SFD real Safety distance (unsigned input value)
DEP real Depth (absolute coordinate)
DPR real Depth relative to reference plane (unsigned input value)
DIATH real Outer diameter of threads
KDIAM real Inner diameter of threads
Thread pitch
PIT real
Value range 0.001…2000.000 mm
FFR real Feedrate of thread milling (unsigned input value)
Thread milling direction
MDIR int Value: 2 (for thread milling with G2)
3 (for thread milling with G3)
Thread type
TYP int Value: 0=internal thread
1=external thread
The X-coordinate of the center of the circle (absolute
CPA real
coordinate)
The Y-coordinate of the center of the circle (absolute
CPO real
coordinate)
Function:
Internal and external threads can be machined by CYCLE90. The track of thread milling is
based on a helical interpolation. The three axes on the plane set before the call of cycle shall
Parameter description:
See SLOT1 for parameters RTP, RFP, SFD, DEP and DPR.
Preparatory function
3.12 Feed function
DIATH, KDIAM and PIT (rated diameter, internal diameter and thread pitch)
The thread parameter can be defined with these parameters: rated diameter, root diameter
and thread pitch. DIATH is the outer diameter of threads and KDIAM the inner diameter of
threads. Inward and outward movements are formed within the cycle based on these
parameters.
FFR (feed)
The value of FFR defines the feedrate of thread milling, being active in helical interpolation.
The value of the direction of thread machining can be defined with this parameter. If there is
an invalid value in the parameter, the information of "Wrong Milling Direction and G3
Generated" will display. In this case, the cycle is continued with G3 generated
automatically.
The central point of thread machining can be defined with these parameters.
Programming example:
An internal thread at X30 Y50 on Plane G17 can be milled with this procedure.
Figure 3.48 Programming diagram
N10 T5 M06
N30 CYCLE90(10,0,5,-20,0,45,40,2,500,2,0,30,50)
N50 M02
Parameters:
Parameter description:
RFP and RTP (reference plane and retraction plane): Generally, the reference plane
(RFP) and the retraction plane (RTP) have different values. The retraction plane is usually
in front of the reference plane in the cycle. The distance between the retraction plane and
the final drilling depth is larger than that between the reference plane and the final drilling
depth.
SFD (safety distance): Safety distance (SFD) is based on and ahead of the reference
plane with a safety distance. The active direction of the safety distance is automatically
DEP and RDP (final drilling depth): Final drilling depth can be defined as the
absolute or relative depth relative to reference plane. If is defined as the relative depth, the
absolute depth will be automatically calculated by the cycle with positions of the reference
Function: The tool drills at the programmed spindle speed and feedrate to the entered final
drilling depth.
Operating sequence:
Approach of the safety distance from the reference plane with G0.
Move to the final drilling depth at the feedrate (G1) programmed before the cycle
call.
Programming example:
Parameters:
Parameter description:
DTB (dwell time): The dwell time at the final drilling depth is programmed in DTB.
Function: The tool drills at the programmed spindle speed and feedrate to the
entered final drilling depth. Stop the schedule time and return to the retraction plane
Operating sequence:
Approach of the safety distance from the reference plane with G0.
Move to the final drilling depth at the feedrate (G1) programmed before the cycle
call.
Programming example:
Programming: CYCLE83 (RTP, RFP, SFD, DEP, RDP, FDEP, FRDP, DAM, DTB, DTS,
Parameters:
Function: The tool drills at the programmed spindle speed and feedrate to the defined final
drilling depth. Deep hole drilling is achieved through executing the maximum defined depth
for multiple times and increasing it to the final drilling depth. Optionally, the twist drill can
be retracted after each infeed depth either to the "reference plane+safety distance" for chip
Operating sequence:
Approach of the safety distance from the reference plane with G0.
Move to the initial drilling depth with G1 at the speed which is the product of the
Preparatory function
3.12 Feed function
feedrate programmed before the cycle call and the feedrate factor FRF.
Return to the safety distance from the reference plane with G0 for chip removal.
Return to the last drilling depth with G0 and maintain the reserved distance.
Drill to the next drilling depth with G1 (maintain the execution sequence to the final
drilling depth).
Approach of the safety distance from the reference plane with G0.
Move to the initial drilling depth with G1 at the speed which is the product of the
feedrate programmed before the cycle call and the feedrate factor FRF.
Retract by the length of 1 mm from the current drilling depth at the feedrate
Drill to the next drilling depth with G1 (maintain the execution sequence to the final
drilling depth).
Parameter description:
Center drilling depth, based on the final and initial drilling depth and the degression,
First, drill for the first time, and it shall be not greater than the total
drilling depth.
When the remainder is larger than twice of the degression, the next drilling
The last two drilling values will be divided equally, and therefore the
DTB (dwell time at the hole bottom): The dwell time at the final drilling depth is
DTS (intermediate dwell time): Dwell time at the initial point. Only execute when
FRF (feed factor): A curtail factor working acting on feedrate. Only applicable for
TYP (machining type): If Parameter TYP=0, the twist drill is retracted after each
drilling depth by the length of 1 mm for chip breakage. If TYP=1, the twist drill is
Programming example:
Programming: CYCLE84 (RTP, RFP, SFD, DEP, RDP, DTB, SDAC, MPIT, PIT, POSS,
SST, SSR)
Parameters:
Function: The tool taps at the programmed spindle speed and feedrate to the final
drilling depth.
Caution
Operating sequence:
Approaching in the safety distance from the reference plane withG0.
Stopping the positioned spindle (the value is within the parameter POSS).
Retraction to the safety distance from the reference plane at the same spindle speed of
SST.
Retraction to the retraction plane with G0; the model of spindle is changed through
reprogramming the effective spindle speed before cycle call and programming the direction of
rotation at SDAC.
Parameter description:
DTB (dwell time): dwell time is programmed in seconds. You are advised to ignore
SDAC (direction of rotation at the end of cycle): direction of rotation at the end of cycle is
programmed at SDAC.
MPIT and PIT (as the value of the thread pitch): The value can be defined as a
thread size (nominal threads only between M3-M48) or a value of thread pitch (the value
call. If the two thread pitch parameters conflict, the cycle will generate an alarm and stop.
Right-hand or left-hand threads are defined by the signs of the thread pitch parameter:
POSS (start angle): stopping the spindle at the place that is defined by POSS and
SST (tapping speed): SST parameters include the spindle speed at the feeding of
tapping cycle.
SST (tapping retraction speed): SST parameters include the spindle speed at the
Caution
Programming Example:
Programming: CYCLE85 (RTP, RFP, SFD, DEP, RDP, DTB, FFW, FBW)
Parameters:
Function: The tool drills at the programmed spindle speed and feedrate to the defined final
drilling depth. The forward and backward feedrates are respectively the values of FFW and
FBW.
Operating sequence:
2. Moving to the final drilling depth at the feedrate programmed by FFW with G1.
4. Retraction to the safety distance from the reference plane at the feedrate programmed by
Parameter description:
DTB (dwell time):The dwell time at the final drilling depth is programmed in seconds.
Programming Example:
Programming: CYCLE86 (RTP, RFP, SFD, DEP, RDP, DTB, SDIR, RPFA, RPSA, RPTA,
POSS)
Parameters:
Function: This cycle can be applied to boring with boring tools. The tool drills at the
programmed spindle speed and feedrate to the final drilling depth. Once reaching the
drilling depth with boring 2, the function to stop the positioned spindle is activated. At last,
the spindle returns to the retraction plane rapidly from the programmed returning location.
Operating sequence:
1. Approaching in the safety distance from the reference plane with G0.
Preparatory function
3.12 Feed function
2. Moving to the final drilling depth at the feedrate programmed before cycle call with G1.
6. Returning to the safety distance from the reference plane from the boring axis with G0.
Parameter description:
DTB (dwell time): The dwell time at the final drilling depth is programmed in seconds.
SDIR (direction of rotation): This parameter is used to define the direction of rotation
when boring is carried out in the cycle. If the parameter value is not 3 or 4 (M03/M04), then
RPFA (return path on the first axis): This parameter is used to define the return path on
the first axis (X-coordinate); this return path is executed after reaching the final drilling
RPSA (return path on the second axis): This parameter is used to define the return path on
the second axis (Y-coordinate); this return path is adopted after reaching the final drilling
RPTA (return path on the boring axis): This parameter is used to define the return path on
the boring axis; this return path is adopted after reaching the final drilling depth and
POSS (spindle position): POSS is used to program the stopping point of the positioned
spindle in degrees; this function is performed after reaching the final drilling depth.
Caution
Programming Example:
Parameters:
Function: The tool drills at the programmed spindle speed and feedrate to the final drilling
depth. Once reaching the drilling depth with boring 3, spindle stop M5 and program stop
M0 are activated. The "cycle start" button is pressed to continue to return to the retraction
Preparatory function
3.12 Feed function
plane rapidly.
Operating sequence:
1. Approaching in the safety distance from the reference plane with G0.
2. Moving to the final drilling depth at the feedrate programmed before cycle call with G1.
Parameter description:
SDIR (direction of rotation): This parameter is used to define the direction of rotation
when boring is carried out in the cycle. If the parameter value is not 3 or 4 (M03/M04), then
Programming example:
Parameters:
Function: The tool drills at the programmed spindle speed and feedrate to the defined final
drilling depth. During the boring process, the dwell time will be created at the final drilling
depth and then spindle stop M5 and program stop M0 are executed. The "cycle start" button
Operating sequence:
1. Approaching in the safety distance from the reference plane with G0.
2. Moving to the final drilling depth at the feedrate programmed before cycle call with
G1.
Parameter description:
DTB (dwell time): The dwell time at the final drilling depth is programmed in
Preparatory function
3.12 Feed function
seconds.
rotation when boring is carried out in the cycle. If the parameter value is not 3 or 4
Programming example:
Parameters:
Function: The tool drills at the programmed spindle speed and feedrate to the defined final
drilling depth. The dwell time is created at the final drilling depth.
Operating sequence:
1. Approaching in the safety distance from the reference plane with G0.
2. Moving to the final drilling depth at the feedrate programmed before cycle call with
G1.
4. Returning to the safety distance from the reference plane at the same feedrate with
G1.
Parameter description:
DTB (dwell time): The dwell time at the final drilling depth is programmed in
seconds.
Programming example:
The feedrate F is the path velocity of the tool machining along the programmed workpiece
contour. The feedrate F is active in the interpolation methods such as G01, G02, G03, CIP,
CT, CIPD, POLY and spline; and it remains active until a new F value is programmed.
Command format:
Notes:
The value of the feedrate F is programmed in the NC program block, whose unit is
The feedrate F is composed of the speed components of all linear axes participating
in the interpolation movement; F remains active until a new feedrate value is programmed.
The feedrate F is a resultant velocity, which is composed of the velocities of all the
Examples:
N10 G00 X0
N100 G01 X20 Y30 ;Feedrate F: the feedrate of linear axis; unit:
mm/min
Preparatory function
3.14 Auxiliary function
Function:
G94 linear feed is modal. Unit: mm/min.G94 is used to define the unit of feedrate; that is to
say, without the programmed unit of feedrate, the default unit is in mm/min.
Command format:
Examples:
Function:
G95 revolutional feedrate is modal. Unit: mm/rev (metric system). G95 is used to define the
revolutional feedrate.
Command format:
Examples:
The spindle can rotate by setting the speed and rotational direction of the spindle, which is
precondition of machining.
Command format:
Notes:
M03/M04: M03/M04 is executed before the axis motion starts in the program block with
axis motion. M05: M05 is executed after the axis motion ends in the program block
Examples:
N10 G01 F500 X70 Y20 S270 M03 ;The speed of spindle increases to
y-axis.
N20 G00 Z150 M05 ;The spindle stops after retraction from
z-axis.
The spindle can be positioned at the specific angle with SPOS or M19, such as tool change
points.
Command format:
position-controlled mode.
SPOS: The NC program will not switch to the next block until the setting
If programmed spindle positioning angles are not provided in M19, the positioning point
Examples:
Function:
The M functions initiate switching operations, such as "Coolant ON/OFF" and other
Command format:
Predefined M functions: Several M functions that are vital to the operation of the program
have been predefined in the standard supply of control system. As shown in Table 3.1:
Notes:
All free M function numbers can be assigned by the machine manufacturer, e.g. for
M00: Automatic mode is stopped after executing the program block including M00.When
a program stop occurs, all the existing modal information remains unchanged. The "Cycle
M01: Similar to M00, automatic mode is stopped after executing the program block
including M01.This function is not active until the M01 switch on the machine panel is set
to 1.
M02/M30: the main program ends and automatic mode stops. Controlling to return to the
When motion command and M functions occur in the same program block, M command
computing specification such as translation and rotation. According to the concept of frame,
a position of the target coordinate system can be explained and described by coordinates
Basic frame
Settable frame
Programmable frame
1. Basic frame: the coordinate transformation from the basic coordinate system (BCS) to
2. Settable frame: the frame can be used to call and set the work offsets from any program
block through G54-G59 and G540-G599 commands. The values of work offsets are preset
by operating personnel and stored in the ZERO memory of the control system. These values
coordinate system (or settable zero system) need to be shifted to another position through
programmable frame.
The numerical control system generally includes the following 3 coordinate systems:
Frame
machine coordinate system (MCS), settable zero system (SZS) and workpiece coordinate
Machine coordinate system (MCS): It is dependent on the actual machine structure, not
Settable zero system (SZS): This workpiece coordinate system is set through G54-G59 on
the basis of BZS. There are multiple settable work offsets within the system; an effective
Figure 4.2 represents the relations between individual coordinate system. As shown in the
figure, the workpiece coordinate system is derived from a series of changes of other
coordinate system. In particular, the workpiece coordinate system set through G54-G59 will
be absolutely stored in the form of settable zero system (SZS) in the numerical control
system. The SZS will never change if the values for G54-G59 are not changed. The
workpiece coordinate system (WCS) will be derived from the programmable frame on the
basis of SZS and stored in the other unit, not overwriting SZS.
框架 Frame
Function:
The settable work offset provides the position of the workpiece zero in the machine
coordinate system. The offset is computed after the workpiece clamping on the machine and
input in the prescribed data filed through operation panel. The program can select
Command format:
Notes:
G54-G59: With call any one of G54-G59 in NC program, the zero point can be shifted
from the basic coordinate system to workpiece coordinate system, as shown in Figure 4.2.
In the subsequent programmed NC block, all the position dimension and tool movement are
G54-G59, G540-G599, G500 and G53 are in the same group of G commands, and
Examples:
N70 M30
Function:
rotations, scaling and mirroring for the workpiece coordinate system defined through
G54-G59. As shown in Figure 4.4, the workpiece coordinate system can be shifted to the
required position through corresponding operation. By shifting the coordinate system to the
Frame
4.5 Frame deselection (G500, G53)
corresponding position, multiple workpieces can be clamped at one time and machined;
when machining, just call the machining program of the corresponding workpiece for the
convenience of programming. The programmable frame commands are used to carry out the
Notes:
blocks.
After the program runs over, the running mode of the program remains on.
frame.
Function:
TRANS/ATRANS can be used to set work offsets for coordinate axes, as shown in Figure
4.3. In this way one can work with changing zero points, e.g. during repetitive machining
120 Programming Manual of Milling Machine System
Frame
4.5 Frame deselection (G500, G53)
Command format:
Notes:
TRANS: absolute work offset, with the current set coordinate systems G54-G59 and
G540-G599 as the basis. Among which, the value following the X-axis, Y-axis and Z-axis is
the value of coordinate origin of the new coordinate system in the G54-G59 and
systems. Among which, the value following the X-axis, Y-axis and Z-axis is the value of
coordinate origin of the new coordinate system in the finally set or programmed coordinate
Examples:
system
N30 TRANS X20 Y20 ;Shifting the coordinate origin to the first
point
N50 ATRANS X80 ;Shifting the coordinate origin from the first
N70 TRANS X100 Y100 ;Shifting the coordinate origin from the G54
Function:
ROT/AROT can be used to rotate the workpiece coordinate system around the X, Y and Z
Command format:
rotate
rotation angle
Notes:
ROT: Regardless of the programmed forms of rotation, it is based on the current set
G54-G59 and G599-G540 coordinate systems.. The value of rotation angle is the angle
which the new coordinate system rotates around the respective axis of the G54-G59 and
G599-G540 coordinate systems; the value is in degrees and signs are determined by
right-hand rule.
AROT: Additional rotation. This is based on the finally sett or programmed coordinate
systems. The value following rotation angle is the angle which the new coordinate system
rotates around the respective axis of the finally set or programmed coordinate system; the
ROT X Y Z: Absolute rotation, the rotation order is observed as: rotating around the fixed
X-axis on the machine first, then the fixed Y-axis and finally the fixed Z-axis.
AROT X Y Z: Absolute rotation, the rotation order is observed as: rotating around the
fixed X-axis on the machine first, then the fixed Y-axis and finally the fixed Z-axis.
Direction of rotation: The direction follows the right-hand rule. Presuming rotating
around Z-axis, namely pointing the thumb to the positive direction of Z-axis, the bending
124 Programming Manual of Milling Machine System
Frame
4.5 Frame deselection (G500, G53)
direction of four fingers is the positive direction of rotation, as shown in Figure 4.6.The
positive directions of rotation of X-axis and Y-axis are also determined in this way.
Rotation order: A maximum of 3 geometry axes can be rotated at the same time in
program block. The rotation order is defined as X-axis, Y-axis and Z-axis, as shown in
Figure 4.7.If it is required to rotate according to another order, each axis must be provided
Examples:
Function:
SCALE/ASCALE is used to determine the scaling factors of the direction of axes for
programming coordinate axes. This helps consider the similar geometric shape or different
Command format:
Notes:
SCALE: absolute scaling, with the current set coordinate systems G54-G59 and G540-
G599 as the basis. Among which, the values following the X-axis, Y-axis and Z-axis are the
scaling factor values of the new coordinate system at the corresponding direction of
ASCALE: additional scaling, based on the finally set or programmed coordinate systems.
Among which, the values following the X-axis, Y-axis and Z-axis are the scaling factor
values of the new coordinate system at the corresponding direction of coordinate axes in the
If a work offset is programmed with the use of a ATRANS command after a scale
Each axis can be appointed different scaling factors; however, the scaling factor should
Examples:
N50 ASCALE X1.5 Y1.5 ;The scaling factor for new coordinate
Function:
in Figure 4.14.
Command format:
Notes:
MIRROR: absolute mirroring, based on the current set coordinate systems G54 ~
systems.
which a mirror is generated. For example, MIRROR X0 generates a mirror around X-axis
(i.e. X = 0 plane is taken as a mirroring plane). There are two or more axis parameters
(such as: X0 Y0 Z0), to mirror according to the order of X direction, Y direction, and then
Z direction.
The offset direction of programmed tool radius after the programmable mirroring
command will automatically reverse, for example, G41 is converted into G42, and G42 is
After continuing to program AMIRROR command, the offset direction of tool radius is
Examples:
mirroring the G54 coordinate system with Y=0 plane as the mirroring
mirroring the new coordinate system with X=0 plane as the mirroring
N90 M30
Function:
After the different nature of frame has been defined, the frame can be gradually deselected,
Command format:
frame
Notes:
G500, G53 and G54 commands are G code in the same group, and the setting is G53
by default.
Select tools by specifying the value closely next to the address T. A T command can be
specified in a program block. You should perform T command first and then perform
Command format:
Note: If a tool has been activated, it will remain enabled, regardless of whether the program
Command format:
Notes:
A defined tool can use different tool compensation program blocks, and can be
assigned up to 1 to 9 cutting edges accordingly. Therefore, the different cutting edges can
be defined in a tool, and then you can call in the program block as required.
1. Milling cutters
2. Twist drills
3. Boring tool
When the workpiece is programmed, it is not necessary to consider the tool length or the
cutting radius (as shown in Figure 5.1 and Figure 5.2), where the size of the workpiece can
be directly programmed according to drawing. The tool parameters are input to tool offset
table separately, and you only need to call the needed tool number and its compensation
parameters. The control system will use these parameters to perform the required path
Tool dimension: tool geometry and tool wear allowances. The control system is used
to process these components, to calculate the final sizes (such as, the total length and total
radius). If the offset memory is activated, these final sizes are enabled.
Tool type: What geometric parameters are needed and how to calculate can be
Before the tool length or radius compensation is activated, the working plane is
As shown in Figure 5.3, tool radius compensation is divided into three steps:
Tool from the starting point to close to the workpiece, the tool center to the left (G41) or to
the right (G42) need to offset a certain distance based on the programming path.
Compared with the programming path, tool center path offsets a certain distance.
The tool retraction helps the coincidence between tool center path end and programming
track end.
Command format
The radius compensation of tool tips is activated by G41/G42. Tool must have the
calculates the tool path which is generated by the current tool movement and stays in the
contour is enabled.
contour is enabled.
Examples:
N30 Y200
Use G40 to deselect tool tips radius compensation only in the linear interpolation (G00, G01)
Examples:
N30 Y200
The system has a certain fault tolerance rate. For partial interference, the system will
automatically deselect and generate a new path to continue machining. When the
interference cannot be deselected, the system will report an error and stop machining.
NOTICE
programmed:
2. Left and right tool compensation cannot be transformed in the process of tool
compensation. For example, G41 mode is not allowed to switch directly to G42, in which
After the tool is called, the tool length compensation is active immediately.
Control characteristics 6
6.1 Exact Stop (G60, G09, G601 and G602)
Command format:
Function description:
Use exact stop to stop the corner of the program block needed to be stopped.
The exact stop is created by G09 in the current program block. The exact stop is
created by G60 in the current program block and all further program blocks.
Except the basic function provided by G09 or G60, you can specify the following
G601: specifying to run to the precise exact-stop window, after a short pause at
G602: specifying to run to the coarse exact-stop window, after a short pause at
the corner, then converted to the next program block, as shown in Figure 6.1:
If G60 or G09 is activated, and the exact stop modes of G601 and G602 are not
specified, to stop in accordance with G601, namely, G601 as the default stop mode.
G601 and G602 take effect only when G60 or G09 is enabled.
…
N300 G64 ; Continuous-path controls enabled…
N400 G09 G602 mode stays enabled.
G60, G09 and G64 are enabled for G00, G01, G02 and G03.
After the program execution ends, the running mode of the program stays unchanged.
Run the commands at the start of program execution or press "reset" to set the system
default G64.
Function description:
When the function of continuous-path control is enabled, it is not necessary to reduce the
path speed for the exact stop when the current program block is finished and converted to
the next program block. Instead, the speed control of the program block is conducted
(predicting function automatically opens), in the case of difference allowed, as much as
possible to make the program block speed continuously.
The following can be achieved through continuous-path control:
Radius of contour
The required braking and acceleration processes for reaching the exact stop standard
Command format:
Command description:
G09, G60 and G64 commands are belonged to the same group, and they can deselect
Command format:
Function description:
BRISK: The axis speeds up to the maximum feedrate at the maximum acceleration.
BRISK can minimize the machining time but may cause sudden change in acceleration.
SOFT: The axis speeds up to the maximum feedrate at a stable acceleration. SOFT
will cause no sudden change in acceleration and can ensure high precision path and low
After the program execution ends, the running mode of the program stays unchanged.
Run the commands at the start of program execution or press "reset" to set the system
default.
Appendix
Example drawing:
Machining process:
Machining program:
N40 G54
N70 CYCLE71 (20, 0.5, 3, 0, -50, -50, 100, 100, 0, 0.5, 10, 0, 1200, 11)
N90 M05
N140 M05
N170 CYCLE72 ("hexagon", 10, 0, 5, -4, 1, 0.25, 0.1, 1000, 600, 1, 41)
N190 M05
N240 M05
N280 X0 Y0
N310 M05
N360 X11 Y0
N370 X0 Y11
N380 X-11 Y0
N390 X0 Y-11
N400 MCALL
N420 M05
N430 M30
Subprogram hexagon.iso:
N40 X20
N70 X-20
N120 RET
B Command list
Motion commands
Stop Time
Programmable frame
TRANS 1 Translation N
ROT 2 Rotation N
SCALE 3 Scaling N
MIRROR 4 Mirroring N
Programmable frame
Plane selection
G18 2 ZX Plane M
G19 3 YZ Plane M
Settable frame
Settable frame
Accurate mode
Inch/metric dimension
Absolute/incremental dimensioning
Feed type
Acceleration control
Pole definition
Note: M means modal, N means non-modal and Def means the default setting.
g ds
of the program
program
A
AC, absolute dimensioning, P36
M
M, auxiliary functions, P96
N
NURBS, spline interpolation, P27
P
POCKET1, rectangular pocket milling, P58