FANUC 16i/18i High-Precision Lathe Guide
FANUC 16i/18i High-Precision Lathe Guide
Specifications of
1 Outline................................................................................................................................ 3
2 Operation ........................................................................................................................... 4
3 Parameter ........................................................................................................................ 54
4 Signal ............................................................................................................................... 68
5 Alarm and message......................................................................................................... 69
6 Notes................................................................................................................................ 70
7 The function table which can be used by a high-precision contour control .................... 73
1.1 Outline
The milling machining can be done with the compound lathe in high accuracy by using this
function. The following functions can be used in the high-precision contour control mode.
2.1 Format
The high-precision contour control mode can be turned on or off by following instructions. The
character of "HPCC" is blinking displayed under the right of the screen in the high-precision
contour control mode.
The mode used to perform high–precision contour control is called HPCC mode.
Before G05P10000 can be specified, the following modal values must be set. If they are not set,
the P/S alarm No.5012 is issued.
G code Meaning
G13.1 Cancels polar coordinate interpolation.
G40 Cancels tool nose radius compensation.
G50 Cancels scaling.
G50.1 Cancels the programmable mirror image function.
G50.2 Cancels Polygonal turning
G64 Cutting mode
G69.1 Cancels coordinate conversion.
G80 Cancels canned cycles.
G98[G94] Feed per minute
G97 Cancels constant surface speed control.
The HPCC mode is automatically canceled once when the undermentioned instruction is done
in the HPCC mode, and buffering is stopped. Moreover, the HPCC operating signal EXHPCC
becomes "0".
Reverse display
Example)
N1 G00 X100. Z100. ; Absolute
N2 G98 non-HPCC
N3 G05 P10000 ;
N4 G91 G01 X50. Z50. F1000 ; Incremental HPCC
N5 G05 P0
N6 G00 X10. Z10. ; Absolute
; non-HPCC
N7 G05 P10000 ;
N8 G01 X50. Z50. F1000 ; This block becomes incremental motion,
N9 G05 P0 ; HPCC
because of G91 which is commanded in
last HPCC mode (N4) is held. G90 in N6
has no influence.
Example)
N1 G00 G90 X100. Z100. ; Absolute
N2 G94 non-HPCC
N3 G05 P10000 ;
N4 G91 G01 X50. Z50. F1000 ; Incremental HPCC
N5 G05 P0
N6 G00 G90 X10. Z10. ; Absolute
; non-HPCC
N7 G05 P10000 ;
N8 G01 X50. Z50. F1000 ; This block becomes absolute motion,
N9 G05 P0 ; HPCC
because of it follows last G90/G91
command (in N6). G91 which is
commanded in last HPCC mode (N4)
has no influence this block.
Moreover, an incremental instruction which uses address U, V, W, and H in the HPCC mode
cannot be commanded for G code system A. (The alarm of P/S009 is generated.)
Even if the machine specification is diameter programming, the instruction in the HPCC mode
can be assumed to be radius programming by setting of parameter No.8414#0(RRD).
• Manual operation Manual operation in the HPCC mode applies to parameter No.1006#3(DIA) regardless of
setting parameter No.8414#0(RRD).
• Alarm If the instruction that the HPCC mode is temporarily canceled(*1) is commanded to the axis
assumed to be radius sprogramming in the HPCC mode, the P/S5000 alarm is generated.
Parameter setting
8403#1 8403#7 8404#0 Explanatiom
(MSU) (SG0) (STG)
- 0 0 0 Alarm is generated.
Positioning type
Type-A 1 0 0 Executed with HPCC cancel.
Note)
Even if Type-B has been selected, the block in which the auxiliary
function was instructed automatically becomes Type-A.
• Specifications
The specification of the positioning operation by each type is as follows.
Type-A Type-B
Applied feedrate Parameter No.1420 Parameter No.1420
Tool path Follows to parameter Follows to parameter
No.1401#1(LRP) No.1401#1(LRP)
In-position check Available Available
Applied override signal Rapid traverse override Rapid traverse override
Acc/deceleration before Not effective Not effective
interpolation
Acc/deceleration after Effective (Rapid) Effective (Rapid)
interpolation
Feed-forword control Follows to parameter Always effective
No.1800#3(FFR)
Block overlap in Rapid Not available Not available
traverse
External deceleration Available Not available
G00 command in each mode Not available Available
of scaling or coordinate
rotation or programmable
mirror image
Output of RPD signal Output Output
(F0002#1)
Backlash compensation for Available Available
each rapid traverse and
cutting feed
• Auxiliary function
Auxiliary function can be commanded in the HPCC mode by setting “1” in parameter MSU.
(No.8403#1). The P/S5000 alarm is generated if the auxiliary function is instructed when this
parameter is “0”.
The HPCC mode is temporarily canceled when instructing in the auxiliary function.(Please
refer to section 2.3)
• Offset amount In cutter compensation C, the value set in tool nose radius amount amount is used as an offset
amount.
• D code Even if the HPCC mode is turned off, D code is held. The held D code is used as a cutter
compensation number if not instructing in D code when a HPCC is turned on again.
N7 N8
·
·
N6
N6 G91 X100. Z100. ;
N7 G40
N8 X100. ;
·
·
If cutter compensation mode is canceled while a vector still remains and HPCC mode is
canceled before a move command is specified, the P/S alarm No.5013 is issued.
·
·
N6 G91 X100. Z100. ;
N7 G40
N8 G05 P0 ; The P/S alarm No. 5013 is issued.
·
·
• Paremeter setting Please set a parameter No.1602#5(G8S) to 1 in case of using Cs contour control in HPCC 02
mode. 02
• Instruction form The Reference point return of Cs axis can not be specified in HPCC mode. Please enter the
HPCC mode according to the following procedures when you use Cs axis in the HPCC mode.
2.12.1 Outline
Either of two types of machining can be selected, depending on the program command.
(1) For those portions where the accuracy of the figure is critical, such as at corners,
machining is performed exactly as specified by the program command.
(2) For those portions having a large radius of curvature where a smooth figure must be
created, points along the machining path are interpolated with a smooth curve, calculated
from the polygonal lines specified with the program command (smooth interpolation).
2.12.2 Format
G05 P10000 ; : Starting of HPCC mode
G05.1 Q2 X0 Y0 Z0 ; : Starting of smooth interpolation mode
…
G05.1 Q0 ; : Ending of smooth interpolation mode
G05 P0 ; : Ending of HPCC mode
2.12.3 Explanations
To machine a part having sculptured surfaces a part program usually approximates the
sculptured surfaces with minute line segments. As shown in the following figure, a sculptured
curve is normally approximated using line segments with a tolerance of about 10 µm.
Enlarged
:Specified point
10µm
When a program approximates a sculptured curve with line segments, the length of each
segment differs between those portions that have mainly a small radius of curvature and those
that have mainly a large radius of curvature. The length of the line segments is short in those
portions having a small radius of curvature, while it is long in those portions having a large
radius of curvature. The high–precision contour control moves the tool along a programmed
path thus enabling highly precise machining. This means that the tool movement precisely
follows the line segments used to approximate a sculptured curve. This may result in a non–
smooth machined curve if control is applied to machining a curve where the radius of curvature
is large and changes only gradually. Although this effect is caused by high–precision machining,
which precisely follows a pre–programmed path, the uneven corners that result will be judged
unsatisfactory when smooth surfaces are required.
In smooth interpolation mode, the CNC automatically determines, according to the program
command, whether an accurate figure is required, such as at corners, or a smooth figure is
required where the radius of curvature is large. If a block specifies a travel distance or direction
which differs greatly from that in the preceding block, smooth interpolation is not performed for
that block. Linear interpolation is performed exactly as specified by the program command.
Programming is thus very simple.
Note )
When the result of the automatic judgment of CNC is different
from the movement which the programmer intended, cancel a
smooth interpolation temporarily or change the instruction point
or the correspondence of the adjustment of the parameter etc. is
needed.
N17
N16 N13 N12
N15 N14 N11
N1 N10
N2 N5 N6
N3 N4 N7
N8 N9
Smooth interpolation is performed when all the following conditions are satisfied. If any of the
following conditions is not satisfied for a block, that block is executed without smooth
interpolation then the conditions are checked for the next block.
(1) The length of the block is shorter than that of the parameter No.8486, and it is longer than
the parameter No.8490.
(2) The difference between the angles specified in blocks is smaller than the value specified
with parameter No.8487.
(3) The tolerance specified in the block is smaller than the value specified with parameter No.
7676 and larger than that specified with parameter No.8492.
(4) The modes are:
G01 : Linear interpolation
G05 P10000 : HPCC mode
G40 : Cutter compensation cancel
G94 : Feed per minute
(5) Machining is specified only along the axes specified with G05.1Q2.
(6) The internal algorithm of the CNC judges the block to be suitable for smooth interpolation.
• Controlled axes
Smooth interpolation can be specified only for the X–, Y–, and Z–axes and any axes parallel to
these axes (up to three axes at one time).
Fig. 2.12.4 (a) Example When a Large Back and Forth Level
Difference is Produced
• Modal
G code of group 01 when instructing in G05.1 Q2 should be G01.
When G code is not G01, the alarm of P/S010 is generated.
G05 P10000
G05. 1 Q2 X0 Y0 Z0
N01 G91 G01 X1000 Z-300 F500
N02 X1000 Z-200
N03 X1000 Z-50
N04 X1000 Z50
N05 X1000 Z50
N06 X1000 Z-25
N07 X1000 Z-175
N08 X1000 Z-350
N09 Y1000
N10 X-1000 Z350
N11 X-1000 Z175
N12 X-1000 Z25
N13 X-1000 Z-50
N14 X-1000 Z-50
N15 X-1000 Z50
N16 X-1000 Z200
N17 X-1000 Z300
G05.1 Q0
G05 P0
N2 N5 N6
N3 N4 N7
N8 N9
Interpolated by smooth curve
Linear interpolation
2.13.1 Outline
This function enables NURBS(non–uniform rational B–spline) curve expression to be directly
specified to the CNC. This eliminates the need for approximating the NURBS curve with
minute line segments. This offers the following advantages:
When this function is used, a computer–aided machining (CAM) system creates a NURBS
curve according to the NURBS expression output from the CAD system, after compensating for
the length of the tool holder, tool diameter, and other tool elements. The NURBS curve is
programmed in the NC format by using these three defining parameters: control point, weight,
and knot.
• G code
NURBS interpolation mode is selected when G06.2 is programmed in high–precision contour
control mode. G06.2 is a modal G code of group 01. NURBS interpolation mode ends when a G
code of group 01 other than G06.2 (G00, G01, G02, G03, etc.) is specified. NURBS
interpolation mode must end before the command for ending high–precision contour control
mode is programmed.
In NURBS interpolation mode, any command other than the NURBS interpolation command
(miscellaneous function and others) cannot be specified.
• Controlled axes
NURBS interpolation can be performed on up to three axes. The axes of NURBS interpolation
must be specified in the first block. A new axis cannot be specified before the beginning of the
next NURBS curve or before NURBS interpolation mode ends.
• Rank of NURBS
A rank of NURBS can be specified with address P. The rank setting, if any, must be specified in
the first block. If the rank setting is omitted, a rank of four (degree of three) is assumed for
NURBS. The valid data range for P is 2 to 4. The P values have the following meanings:
This rank is represented by k in the defining expression indicated in the description of NURBS
curve below. For example, a NURBS curve having a rank of four has a degree of three. The
NURBS curve can be expressed by the constants t3, t2, and t1.
• Weight
The weight of a control point programmed in a single block can be defined. When the weight
setting is omitted, a weight of 1.0 is assumed.
2.13.4 Example
G05 P10000;
G90;
...
G06.2 K0. X0. Z0.;
K0. X300. Z100.;
K0. X700. Z100.;
K0. X1300. Z-100.;
K0.5 X1700. Z-100.;
K0.5 X2000. Z0.;
K1.0;
K1.0;
K1.0;
K1.0;
G01 Y0.5;
G06.2 K0. X2000. Z0.;
K0. X1700. Z-100.;
K0. X1300. Z-100.;
K0. X700. Z100.;
K0.5 X300. Z100.;
K0.5 X0. Z0.;
K1.0;
K1.0;
K1.0;
K1.0;
G01 Y0.5;
G06.2 ...
...
G01 ...
G05P0;
Z
Y
1000.
X
2000.
Fig. 2.13.3 (a) Example of NURBS interpolation
k : Rank
Pi : Control point
wi : Weight
x i
: Knot ( x i ≤ x i +1
)
Knot vect or [ x 0 , x 1
,..., x m
] (m = n + k )
t : Spline parameter,
The spline basis function N can be expressed with the de Boor–Cox recursive formula, as
indicated below:
ìï 1 (x i
≤ t ≤ x i+1 )
(t) = í
N i ,1
ïî 0 (t < x i
, x i+1
< t )
(t − x i) N i,k − 1 (t ) (x i+ k − t ) N i + 1,k −1 (t)
N i,k (t ) = +
x i+ k −1 − x i xi+ k − xi+1
n
å N i,k (t ) w i P i
P (t ) = i= 0
n
å N i,k (t ) w i
i= 0
( x 0
≤ t ≤ x m
)
2.13.6 Limitations
• Manual intervention
If manual intervention is attempted while manual absolute mode is set, P/S alarm No. 5118 is
issued.
• Cutter compensation
Cutter compensation cannot be simultaneously executed. NURBS interpolation can only be
specified after cutter compensation has been canceled.
• Reset
A reset during NURBS interpolation results in the clear state. The modal code of group 1 enters
the state specified in the G01 bit (bit 0 of parameter 3402).
2.14.1 Scaling
(1) All axis scaling
• Outline
A programmed figure can be magnified or reduced (scaling).
Please set “1” in parameter No.8485#0(G51) and No.5401#0(SCLx) to make this function
effective.
This function can use only in the HPCC mode.
This function is an option.
• Format
• Scaling center
The point instructed by X, Y, and Z of the same to G51 block becomes the center of scaling.
When X, Y, and Z are omitted, the position of the instruction in G51 becomes the center of
scaling.
• Scaling magnification
Movement amount is scaled by the magnification instructed by P of the block of G51.
If P is not instructed, the magnification set by parameter No.5411 is used.
The magnification which can be instructed is as follows :
0.00001 -- 9.99999 or 0.001 -- 999.999
P4 P3
P1 P2
• Outline
Each axis can be scaled by different magnifications.
Please set “1” in parameter No.8485#0(G51) , No.5401#0(SCLx), and No.5400#6(XSC) to
make this function effective.
This function can use only in the HPCC mode.
This function is an option.(Included in option of scaling)
• Format
• Magnification
If scaling magnification rates I, J, and K are not specified, the magnification set in parameter
No.5421 is used. Moreover, the value set by the parameter No.5421 is used as a magnification
in the axis from which I, J, and K are not instructed and axes other than three basic axes. In this
case, scaling is not performed to the axis that 0 is set in this parameter.
The magnification which can be instructed is as follows :
0.00001 -- 9.99999 or 0.001 -- 999.999
Y
Programmed figure
Scaled figure
c
o a
b
X
b/a : Scaling magnification of X axis
d/c : Scaling magnification of Y axis
o : Scaling center
• Instruction form
Specify G51 in a separate block. Please cancel with G50 when scaling becomes unnecessary.
• Position display
The position display represents the coordinate value after scaling.
• Magnification
(1) If a parameter setting value is employed as a scaling magnification without specifying P, the
setting value at G51 command time is employed as the scaling magnification, and change of
this value, if any, is not effective.
(2) The decimal point cannot be input to magnification I, J, and K.
• Manual operation
Scaling is effective only to the automatic operation. It is not effective in the manual operation.
• Move amount
If scaling results are rounded by counting fractions of 5 and over as a unit and disregarding the
rest, the move amount may become zero. In this case, the block is regarded as a no movement
block, and therefore, it may affect the tool movement by cutter compensation C.
• Circular interpolation
Even if different magnifications are applied to each axis in circular interpolation, the tool will
not trace an ellipse.
Y
Figure without scaling
X
O
Scaling center
1/2 scaling
Example) O0001 ;
G90 G00 X20. Y10. ;
G05 P10000 ;
G01 X50. F500 ;
Y30. ; (a)
X20. ;
Y10. ;
G51 X20. Y10. I3000 J2000;
G01 X50. F500 ;
Y30. ;
X20. ; (b)
Y10. ;
G17 G68 X35. Y20. R3000 ;
G01 X50. F500 ;
Y30. ;
X20. ; (c)
Y10. ;
G69 ;
G50 ;
G05 P0 ;
M30 ;
Y
Center of rotation after scaling
(b)
(a)
O X
Original figure specified
in the program Scaled figure
Figure after the coordinate
Center of scaling system is rotated
• Outline
It is possible to instruct in the coordinate system rotation in the HPCC mode. Only the
coordinate system rotation in the HPCC mode is explained in the following descriptions.
Please set “1” in parameter No.8485#0(G51) to make this function effective.
This function is an option.
• Format
(α, β)
• Rotation angle
Please instruct in the rotating angle degree by the unit of 0.001deg within the range of
-360000 to 360000.
When R_ is not specified, the value specified in parameter No.5410 is assumed as the angular
displacement.
• Rotation center
When (α, β) is omitted in the block of G68, the position of the instruction in G68 becomes a
center of rotation.
The center of rotation for an incremental command programmed after G68 but before an
absolute command is the tool position when G68 was programmed.
• Cutter compensation C
Cutter compensation operations are executed after the coordinate system is rotated.
• Instruction form
(1) When a decimal fraction is used to specify angular displacement (R_), the 1’s digit
corresponds to degree units.
(2) Please do not instruct in the block of G68 other than a plane selection, the rotation center
coordinates, and the rotating angle.
(3) Specify G69 in a separate block.
(4) Please instruct in the plane selection command(G17,G18,G19) in the G69 mode.
• Other notes
Please refer to notes in clause 2.14.4.
• Example
N01 G50 X-5000. Y-5000. G69.1 G17 ;
N02 G05 P10000 ;
N03 G68 X7000. Y3000. R60. ;
N04 G90 G01 X0 Y0 F2000 ;
( G91 X5000. Y5000. ; )
N05 G91 X10000. ;
N06 G02 Y10000. R10000.;
N07 G03 X-10000. I-5000. J-5000. ;
N08 G01 Y-10000. ;
N09 G69 ;
N10 G90 X-5000. Y-5000. ;
N11 G05 P0 ;
N12 M02 ;
Tool path when the incremental command is
designated in the N4 block (in parenthesis)
Originally programmed
tool path
60°
Rotation center
(-5000,-5000)
30°
Tool path
(0,0)
Scaling
If a coordinate system rotation command is executed in the scaling mode (G51 mode), the
coordinate value (α, β) of the rotation center will also be scaled, but not the rotation angle (R).
When a move command is issued, the scaling is applied first and then the coordinates are
rotated and instruct in the programming according to the following procedures.
A coordinate system rotation command (G68) should not be issued in cutter compensation
mode (G41, G42) on scaling mode (G51). The coordinate system rotation command should
always be specified prior to setting the cutter compensation mode.
Cutting program
O X
• Outline
By a programmed command, the mirror image function can be used for each axis.
If the programmable mirror image function is specified when the command for producing a
mirror image is also selected by a CNC external switch or CNC setting, the programmable
mirror image function is executed first.
This function can use only in the HPCC mode.
This function is an option.
• Format
The mirror image is effective as the mirror was put on the position of the instructed each axis by
X, Y, and Z instructed with G51.1.
The mirror image of the instructed each axis is canceled by X, Y, and Z instructed with G50.1.
In this case, the instruction value does not care about any value.
Instruction form
The first move command coming after G50.1 or G51.1 must be specified with absolute values.
G51.1…;
G68…;
……
G69 ;
G50.1…;
Other notes
Please refer to notes in clause 2.14.4.
• Example
If the contour of workpiece to be machined is symmetrical about an axis, use the programmable
mirror image function and subprograms. The entire contour can be produced by programming a
part of it.
100
N50 N30
60
50
N70 N90
O X
50 60 100
• Modal
(1) Please instruct in starting of HPCC (G05 P10000) in the state of G50(scaling cancel),
G69.1(coordinate system rotation .cancel), and G50.1(programmabel mirror image cancel).
When the HPCC is started in either of G51, G68.1 or G51.1 mode, an alarm of P/S5012 is
generated.
(2) Please instruct in G51, G68, and G51.1 in the G01 mode. The P/S010 alarm is generated
when instructing in the G00 mode.
However, it is possible to instruct in the G00 mode when “1” is set in parameter
No.8403#7(SG0).
• Instruction form
Please turn on and off scaling, the coordinate rotation, and the programmable mirror image in
the HPCC mode.
When the HPCC mode is turned off in G51, G68, and the G51.1 mode, the alarm of P/S5313 or
P/S5013 is generated.
G01/G02/G03
G17/G18/G19 (It is not possible to instruct in the G68 mode.)
G40/G41/G42/G39
G50/G51
G50.1/G51.1
G68/G69
G90/G91
G00
• Positioning
Please set “1” in parameter No.8403#7(SG0) to instruct in G00 in G51, G68, and the G51.1
mode.
• Auxiliary function
Please set “1” in parameter No.8403#1(MSU) to use the auxiliary function(M,S,B command) in
G51, G68, and the G51.1 mode.
Please instruct in the auxiliary function in the G51, G68, and G51.1 mode in an identical block.
When it is not an identical block, the alarm of P/S5000 is generated.
The following function is used and busy cannot use a HPCC. Moreover, these function cannot
be used in the HPCC mode.
Please refer to "7. The function table which can be used by a high-precision contour control"
for the function which can be used. Functions other than being described there cannot be used.
• Custom macro B
• Interruption type custom macro
• Dwell -G04
• High speed cutting* -G05(Except G05P0)
• Hypothetical axis interpolation* -G07
• Cylindrical interpolation* -G07.1
• Look-ahead control -G08
• Tool retract & recover -G10.6
• Polar coordinate interpolation* -G12.1,G13.1
• Stored stroke check 2 on/off -G22,G23
• Spindle speed fluctuation detection on/off -G25,G26
• Reference position return check -G27
• Return to reference position -G28
• 2nd, 3rd and 4th reference position return -G30
• Floating reference point return -G30.1
• Skip function -G31
• Thread cutting* -G32[G33]
• Variable–lead thread cutting* -G34
• Circular threading * -G35,G36
• Automatic tool compensation -G36,G37(G37.1,G37.2)
• Coordinate system setting or
Max. spindle speed setting -G50[G92]
• Polygonal turning * -G50.2,G51.2
• Workpiece coordinate system preset -G50.3[G92.1]
• Local coordinate system setting -G52
• Machine coordinate system setting -G53
• Workpiece coordinate system selection -G54∼G59,G54.1 P__
• Single direction positioning -G60
• Automatic corner override -G62
Specified feedrate
F3
P1 Feedrate after acceleration/
deceleration before
interpolation is applied
F2
P2
F1 Time
N1 N2
To reduce feedrate F3 to feedrate F2, deceleration must be started at P1.
To reduce feedrate F2 to feedrate F1, deceleration must be started at P2.
The tool can be decelerated over several blocks, because several tens of blocks are read in
advance.
F2
F1 Time
N1 N2
To use this function, set bit 7 (BDO) and bit 1 (NBL) of parameter No. 8402 to 1, and also set
the following parameters:
Parameter No. 8400: Parameter 1 for setting the acceleration used for acceleration/
deceleration before interpolation
Parameter No. 8401: Parameter 2 for setting the acceleration used for acceleration/ deceleration
before interpolation
Parameter No. 8402, bit 5 (DST) = 1, bit 4 (BLK) = 0
Parameter No. 8416: Time needed to reach maximum acceleration
Time needed to reach maximum acceleration: ACC_TIME = Setting in parameter No. 8416 [ms]
A c c e le r a tio n
ACC_M AX
+
T im e
A C C _ T IM E A C C _ T IM E
− −A C C _M A X
F e e d ra te A C C _ T IM E A C C _ T IM E
T im e
A c c e le r a tio n
+
T im e
F e e d ra te
T im e
(1) Acceleration
The tool is accelerated to a specified feedrate, starting at the beginning of a block.
The tool can be accelerated over multiple blocks.
Time
N1 N2 N3 N4 N5
When the distance required to decelerate the tool from a specified feedrate is less than the total
travel of the tool in the blocks read in advance, the feedrate is automatically clamped to a
feedrate from which the tool can be decelerated to a feedrate of zero.
Clamp
Feedrate
Time
When several blocks, each specifying a short travel, are specified in succession, the following
situation can occur:
The total travel of the tool in the blocks read in advance at the start of acceleration is less than
the distance required to decelerate the tool from a specified feedrate, but the total travel of the
tool in the blocks read in advance at the end of acceleration is greater than the distance required
to decelerate the tool from a specified feedrate.
In such a case, the tool is accelerated once and clamped to the feedrate obtained based on the
total travel of the tool in the blocks read in advance.
Then, the tool is accelerated to a specified target feedrate.
Clamp
feedrate
Time
Clamp
feedrate
Feedrate
Feedrate control by look–ahead
bell–shaped acceleration/ dec-
eleration before interpolation
Specified feedrate
Time
(2) Deceleration
The tool is decelerated to the feedrate specified for a block, starting at the previous block.
The tool can be decelerated over multiple blocks.
Feedrate control by look–ahead
Feedrate bell–shaped acceleration/ dec-
Deceleration start point eleration before interpolation
Specified feedrate
Time
Clamp feedrate
Clamp feedrate
Time
• While the tool is being accelerated or decelerated when the single block function is specified
(a) A + B ≤ Remaining travel for the tool in the block being executed when the single block
function is specified
The tool is gradually decelerated so that the feedrate is 0 upon completion of the execution
of the block that was being executed when the single block function was specified.
Feedrate
A B
Time
A: Distance traveled before the tool reaches the specified feedrate from the current
acceleration/deceleration
B: Distance traveled before the feedrate falls to 0 from a feedrate to which no
acceleration/deceleration is applied
(b) A + B > Remaining travel for the tool in the block being executed when the single
block function is specified
The tool may be decelerated over multiple blocks until it stops.
How the tool is stopped is described later.
Feedrate
A B
Time
A: Distance traveled before the tool reaches the specified feedrate with the current
acceleration/deceleration
B: Distance traveled until the feedrate falls to 0 from a feedrate to which no
acceleration/deceleration is applied
Time
A: Distance traveled until the feedrate falls from the current feedrate value to 0
(b) A > Remaining travel of the tool in the block being executed when the single block
function is specified
The tool may be decelerated over multiple blocks until it stops.
How the tool is stopped is described later.
Feedrate
Time
A: Distance traveled until the feedrate falls from the current feedrate value to 0
The tool is decelerated (or accelerated) over multiple blocks until the feedrate becomes 0.
Feedrate
Time
CAUTION
1 Depending on the stop point and remaining blocks, two or more
acceleration/deceleration operations may be performed.
2 When the single block function is specified, an acceleration /
deceleration curve recalculation is required while the tool is moving
along an axis. So, the tool is not always decelerated over the minimum
number of blocks before stopping.
• While the tool is being accelerated or decelerated when the specification of the dry run function
or feedrate override function is changed
After the current acceleration/deceleration operation brings the tool to a specified feedrate and
is terminated, the tool is accelerated or decelerated to the new target feedrate.
• While the tool is not being accelerated or decelerated when the specification of the dry run
function or feedrate override function is changed
The tool is accelerated or decelerated from the current feedrate to the specified feedrate.
Bell-shaped acc/decceleration
of this method
Feedrate t Bell-shaped acc/decceleration
of acceleration variable ratio
2t constant type
t Time constant of bell-shaped
acc/deceleration
Time
Bell-shaped acc/decceleration
Feedrate of this method
Bell-shaped acc/decceleration
of acceleration variable ratio
constant type
Time
Bell-shaped acc/decceleration
of this method
Bell-shaped acc/decceleration
of acceleration variable ratio
constant type
Feedrate
Time
2.17.1 Outline
This function reads several tens of blocks ahead to exercise automatic feedrate control in HPCC
mode.
A feedrate is determined on the basis of the conditions listed below. If a specified feedrate
exceeds a calculated feedrate, acceleration/deceleration before interpolation is used so that the
calculated feedrate can be established.
(1) Feedrate change and specified allowable feedrate difference along each axis at a corner
(2) Anticipated acceleration and specified allowable acceleration along each axis
(3) Cutting load change anticipated from the direction of motion along the Z–axis
To use this function, set bit 0 (USE) of parameter No. 8451 to 1, and set the following
parameters:
Parameter No. 8410: Allowable feedrate difference used for feedrate determination, based
on a corner feedrate difference
Parameter No. 8475, bit 2 (BIP) = 1: Enables deceleration at a corner.
Parameter No. 8470: Parameter specifying an allowable acceleration for feedrate
determination, based on acceleration
Parameter No. 8459, bit 1 (CTY) = 1, bit 0 (CDC) = 0
Parameter No. 8464: Initial feedrate for automatic feedrate control
Parameter No. 8465: Maximum allowable feedrate for automatic fee-drate control
(a) The feedrate required at a corner is calculated from the specified feedrate difference at the
corner along each axis, the tool being decelerated to the calculated feedrate at the corner.
Example
N1 Specified
Y feedrate
N2
X
N1 N2 N3 t
N3
(b) The feedrate required in a block is calculated from the specified acceleration along each
axis at the start point and end point of the corner, the tool being decelerated so that the
feedrate in the block does not exceed the calculated feedrate.
Example N2 N3
N1 N4
Specified
Y feedrate
N5
X N8 N6
N7 N1 N2 N3 N6 N7 N8 t
(c) The feedrate required in a block is calculated from the angle of downward movement along
the Z–axis, the tool being decelerated so that the feedrate in the block does not exceed the
calculated feedrate.
Example
Specified
Z N1 N2 feedrate
X
N3 N1 N2 N3 t
• Example
Suppose that the specified feedrate for the tool is 1,000 mm/min, and that the direction of tool
movement changes by 90 degrees (from along the X–axis to along the Y–axis). Suppose also
that an allowable feedrate difference of 500 mm/min is set. Then, the tool will decelerate as
shown below.
N1
Tool path when the tool
does not decelerate at
the corner
Feedrate
F1000
When the tool does not
decelerate at the corner
Feedrate along the
X–axis When the tool decelerates at
F500 the corner
Feedrate Time
F1000
F500
Feedrate N2 Time
F1000
Feedrate along
the tangent to the
path
F500
N1 N2 Time
• Example
In the example shown below, the tool is accelerated too quickly from N2 to N4 and from N6 to
N8 (as indicated by the dashed–line inclinations in the feedrate graphs) when automatic
feedrate control is not used. So, the tool is decelerated.
N8
N7 N9
N6
N5
Y
N1
X N4
N3
N2
Feedrate along
the X–axis
Feedrate along
the Y–axis
Feedrate along
the tangent to
the path
N1 N5 N9 N1 N5 N9
Fig. 2.17.5 (a) When the tool is moving up along the Z–axis
Fig. 2.17.5 (b) When the tool is moving down along the Z–axis
Cutting the workpiece with the end of the cutter (Fig. 2.17.5 (b)) incurs a greater resistance than
when cutting the workpiece with the side of the cutter (Fig. 2.17.5 (a)). Therefore, for (Fig.
2.17.5 (b)), the tool must be decelerated. To calculate the required degree of feedrate
deceleration, the automatic feedrate control function uses the angle of downward movement of
the tool along the Z–axis.
When the tool is moving down along the Z–axis, the angle (θ) of downward movement formed
by the XY plane and cutter path is as shown in the Fig. 2.17.5 (b). The angle of downward
movement is divided into four areas, with an override value for each area specified in a
parameter, as follows:
Area 2: Parameter No. 8456
Area 3: Parameter No. 8457
Area 4: Parameter No. 8458
XY plane
30° Area 1
90°
60°
Area 4 45°
Area 3 Area 2
CAUTION
1. Mounting direction of the tool should be parallel to Z axis to use this
function. Therefore, this function might not be able to be applied
according to the structure of the machine.
2. The feedrate determination function that is based on cutting load
uses an NC command to determine the direction of movement along
the Z–axis. This means that the direction of movement along the Z–
axis cannot be found if the movement along the Z–axis is subject to
manual intervention with manual absolute on/off function set to on,
or if the mirror image function is used with the Z–axis. So, never use
these functions when using feedrate determination based on
cutting load.
This parameter determines a linear acceleration and deceleration before interpolation. Usually, set the
maximum cutting speed (parameter No.1422).
This parameter specifies the time required until the speed specified in parameter 1 is achieved.
Speed
Acceleration
Parameter 1
Time
Parameter 2
NOTE
The function for linear acceleration/deceleration before interpolation is
canceled when either parameter no. 8400 or 8401 is set to 0.
This parameter determines a linear acceleration and deceleration before interpolation. Usually, set the
maximum cutting speed (parameter No.1422).
The data set by parameter 1 and parameter 2 becomes a maximum acceleration of bell-shaped
acc/deceleration.
Speed
Acceleration
Parameter 1
Time
Parameter 2
#7 #6 #5 #4 #3 #2 #1 #0
1603 SBL
When an acceleration variable time constant type is selected, data range which can be set in
parameter No.8416 becomes 400ms or less.
Acceleration
+ Max. Acceleration
Time
- Max. Acceleration
Speed
Total time =T
Time of linear part = T – 2 * t2
Time Time of curved part = t2
t1
When target speed is different, total time also changes
t2 t2 (constant acceleration).
The “tb” of the figure below is set in this parameter. It becomes a linear acc/deceleration before interpolation
when “0” is set.
ta Depends on a acceleration of
linear acc/deceleration.
tb Time constant of bell-shaped
acc/deceleration
tc Acc/decelerating time of bell-
shaped acc/deceleration.
tc = ta + tb
tb tb tb Time
tb Specified feedrate
ta =
Accelerati on of linear acc/decele ration
ta ta
tc tc
tb is constant.
Acceleration
tb tb
Time
tb tb
ta ta
tc tc
If zero is specified for all axes, the machine does not decelerate at corners.
When the function for determining the velocity considering the velocity difference at corners is used, the
system calculates the feedrate whereby a change in the velocity element of each axis does not exceed this
parameter value at the interface between blocks. Then the machine decelerates using acceleration/
deceleration before interpolation.
#7 #6 #5 #4 #3 #2 #1 #0
8451 NOF ZAG USE
NOF In a block where automatic velocity control is validated, the F command is:
0 : Validated.
1 : Ignored.
(Maximum speed of automatic feedrate control set by parameter No. 8465 is used for command
speed in spite of F command)
This parameter specifies an override in area 2 of velocity calculation considering the cutting
load.
This parameter specifies an override in area 3 of velocity calculation considering the cutting
load.
This parameter specifies an override in area 4 of velocity calculation considering the cutting
load.
#7 #6 #5 #4 #3 #2 #1 #0
8459 OVR CTY CDC
OVR In the HPCC mode, override to determined feedrate by automatic feedrate control is
0: Not effective
1: Effective
When this parameter is set “1”, override becomes effective for the following feedrate.
· Feedrate which determined based on a feedrate difference along each axis.
· Feedrate which determined based on acceleration along each axis.
· Feedrate which determined based on an allowable acceleration during circular interpolation.
· Maximum feedrate of automatic feedrate control function.
Maximum cutting feedrate (parameter No.1422 or No.1430 or No.1432) is never exceeded
even when override is effective.
This parameter sets the initial feedrate for automatic feedrate control.
In automatic feedrate control, the initial feedrate set with this parameter is used at the beginning
if no F command is specified in the program.
Usually, set the maximum cutting feedrate (specified in parameter No. 1422).
This parameter sets the maximum allowable feedrate for automatic feedrate control. Usually, set
the maximum allowable cutting feedrate (set in parameter No. 1422).
8470
Parameter for determining allowable acceleration in feedrate
calculation considering acceleration
When the function for calculating the feedrate considering the acceleration is used under
automatic feedrate control, this parameter is used to determine the allowable acceleration. The
time required until the maximum cutting feedrate is reached must be specified here.
Allowable acceleration is determined from the maximum cutting feedrate and the value set in
this parameter. Where, the maximum cutting feedrate is any of value set in parameter No. 1432,
1430 or 1422. Which parameter No. is used depends on the following conditions:
· When a value other than 0 is set to No. 1432, the value set to No. 1432 is used.
· When 0 is set to No. 1432 and a value other than 0 is set to No. 1430, the value set to No. 1430
is used.
· When 0 is set to No. 1432 and 1430, the value set to No. 1422 is used.
The shock of the machine and the processing error becomes small by setting this parameter
greatly.
Time
Parameter No.8470
#7 #6 #5 #4 #3 #2 #1 #0
8475 CIR BIP
CIR The function of automatic feedrate control considering acceleration and deceleration during
circular interpolation is:
0: Not used.
1: Used.
When 1 is set, parameter No.8470 for determining the allowable acceleration must be specified.
This parameter specifies the maximum number of axes to controlled by High Precision Contour
Control.
Example) Axis configuration is X, Z, C, Y, and A from the 1st axis in this order and to make
HPCC valid to the 4th axis (Y), set this parameter to 4. In this case, HPCC is also
effective for the X, Z, C axes.
X, Z, C, Y axes Axes on which HPCC is valid
A axis on which HPCC is not valid.
#7 #6 #5 #4 #3 #2 #1 #0
8480 RI2 RI1 RI0
Set the interpolation frequency during the high precision contour control mode (HPCC mode).
Be sure to set the following values:
RI2 RI1 RI0 Interpolation
frequency
0 0 1 2ms
LS2 Acceleration/deceleration after interpolation for cutting feed in the high precision contour
control mode (HPCC mode) is:
0: Not used. (Exponential acceleration/deceleration)
1: Used. (The function for linear acceleration/deceleration after interpolation for cutting feed
is required.)
#7 #6 #5 #4 #3 #2 #1 #0
5003 BCK ICK
BCK In HPCC mode, when cutter compensation C interference check determines that the
programmed move direction differs from the offset move direction by between 90 and 270
degrees:
0: An alarm is issued.
1: No alarm is issued.
This parameter specifies a block length used as a reference to decide whether to apply smooth
interpolation. If the line specified in a block is longer than the value set in the parameter,
smooth interpolation will not be applied to that block. This parameter can be used, for example,
to specify the maximum line length of a folded line to which a metal die workpiece is
approximated with some tolerance.
This parameter specifies a block length used as a reference to decide whether to apply smooth
interpolation. If the line specified in a block is shorter than the value set in the parameter,
smooth interpolation will not be applied to that block.
This parameter specifies a tolerance used as a reference to decide whether to apply smooth
interpolation. If the tolerance specified in a block is larger than the value set in the parameter,
smooth interpolation will not be applied to that block.
Curve C
instruction points
Line L
tolerance
This parameter specifies a tolerance used as a reference to decide whether to apply smooth
interpolation. If the tolerance specified in a block is smaller than the value set in the parameter,
smooth interpolation will not be applied to that block.
Please set the value of about 1/10 of the maximum tolerance (parameter No.8491) usually.
When 0 is set, 1/10 of the maximum tolerance (parameter No.8491) is assumed to be minimum
tolerance. When a negative value is set, the minimum tolerance is assumed to be 0.
G51 In high–precision contour control (HPCC) mode, scaling/coordinate system rotation is:
0: Disabled.
1: Enabled.
#7 #6 #5 #4 #3 #2 #1 #0
5400 SCR XSC RIN
#7 #6 #5 #4 #3 #2 #1 #0
5401 SCLx
This parameter sets the angular displacement for coordinate system rotation. When the angular
displacement for coordinate system rotation is not specified with address R in the block where
G68 is specified, the setting of this parameter is used as the angular displacement for coordinate
system rotation.
This parameter sets the scaling magnification. This setting value is used when a scaling
magnification (P) is not specified in the program.
NOTE) Parameter No.5421 becomes valid when scaling for every axis is valid. (XSC,
#6 of parameter No.5400 is “1”.)
NOTE) Please set (STG) of parameter No.8404#0 in “1” when you set “1” in this
parameter.
#7 #6 #5 #4 #3 #2 #1 #0
8404 EIL STG
#7 #6 #5 #4 #3 #2 #1 #0
8414 RRD
RRD In the axis of the diameter programming, the program instruction in the HPCC mode is:
0: Radius programming
1: Diameter programming
When “1” is set in this parameter, the movement amount in the HPCC mode becomes twice of
usually operation.
#7 #6 #5 #4 #3 #2 #1 #0
8411 RDM RDR RDA
RDM When a parameter No.8414#0(RRD) is “1”, the display of the machine coordinate system of the
actual position display is:
0: displayed by the diameter value.
1: displayed by the radius value.
RDR When a parameter No.8414#0(RRD) is “1”, the display of the relative coordinate system of the
actual position display is:
0: displayed by the diameter value.
1: displayed by the radius value.
RDA When a parameter No.8414#0(RRD) is “1”, the display of the absolute coordinate system and
distance to go of the actual position display are:
0: displayed by the diameter value.
1: displayed by the radius value.
When this signal is "0", the blinking display of "HPCC" under the right of the screen is not
done.
Siganl addresses
#7 #6 #5 #4 #3 #2 #1 #0
F066 EXHPCC MHPCC
5006 TOO MANY WORD IN The number of words specified in a block exceeded 26
ONE BLOCK in the HPCC
5012 G05 P10000 ILLEGAL G05 P10000 has been specified in a mode from which
START UP HPCC mode cannot be entered.
5013 HPCC:CRC OFS REMAIN · G05 P0 was commanded with in the G41/G42 mode or
AT CANCEL the amount of the offset remained.
· G05 P0 was instructed in in G51.1 (programmable
mirror image) mode.
5115 SPL:ERROR In the NURBS interpolation,
· There is an error in the specification of the rank.
· No knot is specified.
· The knot specification has an error.
· The number of axes exceeds the limits.
· Other program errors
5116 SPL:ERROR In the NURBS interpolation,
· There is a program error in a block under look–ahead
control.
· Monotone increasing of knots is not observed.
· A mode that cannot be used together is specified.
5117 SPL:ERROR The first control point of NURBS is incorrect.
5118 SPL:ERROR After manual intervention with manual absolute mode
set to on, NURBS interpolation was restarted.
5196 ILLEGAL OPERATION The control axis detaching was done in HPCC mode.
(HPCC) After the block being executed now ends, this alarm is
generated if the control axis detaching is done in HPCC
mode.
5313 G05 P0 COMMANDED IN G05 P0 was commanded in the coordinate system
G68.1/G51 rotation or in the scaling mode.
5314 SMOOTH IPL ERROR 1 The mistake is found in the format of smooth
interpolation block.
Interlock
(1) The interlock signal for each axis and direction is not effective in HPCC operation.
(2) Please set “1” in parameter No.8404#7(EIL) to make each axis interlock signal effective in
HPCC operation.
Single block
The block of G05 P10000 does not stop in a single block.
MDI operation
It is not possible to operate by switching to the MDI mode in HPCC mode. The edit of the MDI
operation is prohibited in HPCC mode. Moreover, the alarm of P/S010 is generated if cycle-
start is applied without inputting the program.
Moreover, it is not possible to instruct in a HPCC in the MDI mode.(An alarm of P/S010 is
generated.)
Cooredinate systen rotation, scaling, programmable mirror image, NURBS interpolation and
smooth intrpolation
When Cooredinate systen rotation (G68/G69), scaling(G50/ G51), programmable mirror image
(/G50.1/G51.1), NURBS interpolation(G06.2) and smooth intrpolation(G05.1Q2) are used in
the HPCC mode, a modal G code of group 01 when these instructions are executed should be
G01,G02 or G03. (The P/S010 alarm is generated) Moreover, please command these functions
to become a nest between G05 P10000-G05 P0.
Cutter compensation C
It is not possible to command reference point return (G28) in HPCC mode. Therefore, the
instruction by which the offset is temporarily canceled cannot be commanded.
Exapmle 1 ) When the undermentioned program is executed, the starting point of N6 is decided
by the vector made with N3 and N4.
N5
N1 N2 N3 N4 N6
N7
Example 2 ) When the undermentioned program is executed, the starting point of N5 is decided
by the vector made with N3 and N4.
If (SG0) of parameter No.8403#7 is set in one, the intersection vector of N4 and
N5 is correctly obtained.
N1 N2 N3 N4 N5
N6
Override
If the override is changed while the automatic feedrate control function is enabled, the
calculated clamp feedrate is overridden.
Controlled axis
Controlled axis 2 axes
Controlled path 1 path
Simultaneously controlled axes 2 axes
Controlled axis expansion(total) Max. 8 axes
Simultaneously controlled axes Max. 6 axes
expansion(total)
Axis control by PMC The axis of HPCC cannot command by PMC in HPCC mode
Angular axis control, Arbitrary angular The feedrate control is done in the program coordinate system.
axis control
Cs contouring control In the instruction in Cs axis in the HPCC mode, the advanced
feedforward control is canceled once.
Simple spindle synchronous control Only for 1 path system
Axis recomposition Only for 2 path system
Synchronous control can not be used. Only Cs axis is possible
the composite control.
Axis name In case of G code system A,
basic 2 axes are X and Z, additional
axes are optional from Y,A,B and
C.
In case of G code system A,
basic 2 axes are X and Z, additional
axes are optional from
Y,U,V,W,A,B and C.
Operation
Automatic operation
Cycle start / feed hold
Program stop / Program end
Reset
Dry run
Single block
Interpolation function
Positioning G00
Linear interpolation G01
Circular interpolation G02,G03
Helical interpolation Circular interpolation plus max. 2 The option of helical interpolation is necessary.
axes linear interpolation
Smooth interpolation G05.1 Q2 Only in the HPCC mode.
NURNS interpolation G06.2 Only in the HPCC mode.
Feed function
Feed per minute G94(G98)
Cutting feedrate clamp
Linear acceleration/deceleration after This is an optional function.
cutting feed interpolation
Bell-shaped acceleration/deceleration This is an optional function.
after cutting feed interpolation
Feedrate override 0~254% 1% Step
2nd Feedrate override 0~254% 1% Step This is an optional function.
Linear acceleration/deceleration
before look ahead interpolation
Bell-shaped acceleration/deceleration
before look ahead interpolation
Program input
Tape code EIA/ISO automatic recognition
Program format Word and address format
Control in/out
Optional block skip
Absolute/incremental programming G90/G91
Input unit 10 time multiply
Plane selection G17,G18,G19
Rotary axis roll-over
Manual absolute on and off FS15 specification
Programmable data input G10 The HPCC mode is automatically canceled once, and buffering is
stopped.
External sub program call M198 The HPCC mode is automatically canceled once, and buffering is
stopped.
Sub program call M98 The HPCC mode is automatically canceled once, and buffering is
stopped.
Circular interpolation by R
programming
Scaling G50,G51 Alarm (P/S5012) is generated if turned on or off of HPCC is
commanded in scaling mode(G51).
The scaling mirror image by a negative magnification instruction
cannot be done.
Coordinate system rotation G68,G69 Alarm (P/S5012) is generated if turned on or off of HPCC is
commanded in coordinate system rotation mode(G68).
Programmable mirror image G50.1,G51.1 Alarm (P/S5012) is generated if turned on or off of HPCC is
commanded in programmable mirror image mode(G51.1).