FANUC Series 0i-MODEL F. For Lathe System OPERATOR'S MANUAL (B-64604EN-1/01) - page 14

 

  Index      Manuals     FANUC Series 0i-MODEL F. For Lathe System OPERATOR'S MANUAL (B-64604EN-1/01)

 

Search            copyright infringement  

 

   

 

   

 

Content      ..     12      13      14      15     ..

 

 

 

FANUC Series 0i-MODEL F. For Lathe System OPERATOR'S MANUAL (B-64604EN-1/01) - page 14

 

 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 201 - 

  - 

If the cancel block is a block with tool movement, and the tool moves around 
the outside at an obtuse angle (90

°

 

 

α

 < 180

°

Linear

Linear

Type

A

Type

B

Linear

Linear

(Linear
connection type)

Circular

Linear

Circular

Linear

(Linear
connection type)

r

α

Programmed path

Tool nose radius
center path

L

S

G40

L

Workpiece

Programmed path

Tool nose radius center path

L

α

S

C

G40

Work-
piece

r

r

α

Programmed path

Tool nose radius
center path

L

S

G40

L

Workpiece

Programmed path

Tool nose radius center path

L

L

Intersection

α

S

C

G40

Work-
piece

r

Inter-
section

L

r

 

 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 202 - 

Type

B

Linear

Linear

(Circular
connection type)

Circular

Linear

(Circular
connection type)

r

α

Programmed path

Tool nose radius center path

C

S

G40

L

Workpiece

Programmed path

Tool nose radius center path

L

α

C

G40

Work-
piece

r

r

C

S

 

Fig. 5.4.4 (b) 

 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 203 - 

If the cancel block is a block with tool movement, and the tool moves around 
the outside at an acute angle (

α

<90

°

Linear

Linear

Circular

Linear

Type

A

Type

B

Linear

Linear

(Linear
connection type)

Circular

Linear

(Linear
connection type)

Programmed path

α

G40

L

L

S

r

Tool nose radius
center path

α

L

S

r

Programmed path

Tool nose radius
center path

C

Workpiece

Work-
piece

G42

G40

G42

Programmed path

α

G40

L

L

L

L

S

r

r

Tool nose radius
center path

α

L

L

L

S

r

r

Programmed path

Tool nose radius
center path

C

L

L

Workpiece

Work-
piece

 

 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 204 - 

Type

B

Linear

Linear

(Circular
connection type)

Circular

Linear

(Circular
connection type)

Programmed path

α

G40

L

L

S

C

r

r

Tool nose radius
center path

α

L

S

S

r

r

Programmed path

Tool nose radius
center path

C

C

Workpiece

Work-
piece

 

Fig. 5.4.4 (c) 

 

  - 

If the cancel block is a block with tool movement, and the tool moves around 
the outside at an acute angle of 1 degree or less in a linear 

 linear manner 

(

α≤

1

°

Programmed path

Tool nose radius center path

r

G40

(G42)

L

L

S

1

°

or less

 

Fig. 5.4.4 (d) 

 

  - 

A block without tool movement specified together with offset cancel 

For types A and B 
 

In the block preceding the cancel block, a vector is created with a size equal to the cutter or tool nose 
radius compensation value in the vertical direction. The tool does not operate in the cancel block. 
The remaining vectors are canceled with the next move command. 

 

The compensation plane cannot be switched without canceling the remaining vector. 

 

If the compensation plane (G17,G18,G19) is switched without canceling the remaining vector, the 
alarm PS0037, “CAN NOT CHANGE PLANE IN G41/G42” is occurred. 

N6 U100.0 W100.0 ;
N7 G40 ;
N8 U0 W130.0 ;

Tool nose radius
center path

L

N6

N7

N8

L

SS

Programmed path

 

Fig. 5.4.4 (e) 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 205 - 

 
For type C 
 

The tool shifts by the compensation value in the direction vertical to the block preceding the cancel 
block. 

Tool nose radius
center path

Programmed path

α

L

S

L

S

G40 (without
movement)

 

Fig. 5.4.4 (f) 

 

  - 

Block containing G40 and I_J_K_ 

 

The previous block contains G41 or G42 

If a G41 or G42 block precedes a block in which G40 and I_, J_, K_ are specified, the system assumes 
that the path is programmed as a path from the end position determined by the former block to a vector 
determined by (I,J), (I,K), or (J,K). The direction of compensation in the former block is inherited. 

Programmed path

N1 (G42 mode) ;
N2 G40 Xb Za I_ K_ ;

In the N1 block, the tool nose radius center moves
towards P.
In the N2 block, the tool nose radius center moves
towards E.

E(a, b)

Tool nose radius center path

r

(I, K)

r

P

S

N2

N1

(G42)

Workpiece

G40

 

Fig. 5.4.4 (g) 

 
In this case, note that the CNC obtains an intersection of the tool path irrespective of whether inner or 
outer side machining is specified. 

Programmed path

Tool nose radius
center path

(I, K)

r

P

S

(G42)

E

G40

r

 

Fig. 5.4.4 (h) 

 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 206 - 

When an intersection is not obtainable, the tool comes to the normal position to the previous block at the 
end of the previous block. 

Programmed path

Tool nose radius
center path

E

(I, K)

r

S

G40

P

r

(G42)

 

Fig. 5.4.4 (i) 

 

  - 

Length of the tool center path larger than the circumference of a circle 

In the example shown below, the tool does not trace the circle more than once. It moves along the arc 
from P

1

 to P

2

. The interference check function described below may raise an alarm. 

To make the tool trace a circle more than once, program two or more arcs. 

 

(G17 G41) 
N5 G01 U100.0 ; 
N6 G02 J-60.0 ; 
N7 G40 G01 U50.0 V50.0 I-10.0 J-10.0 ; 

Programmed path

Tool nose radius center path 

(I, J)

N5 

N6

N7 

P

1

P

2

 

 

Fig. 5.4.4 (j) 

 

5.4.5 

Prevention of Overcutting Due to Cutter or Tool Nose Radius 
Compensation 

Explanation 

  - 

Machining a groove smaller than the diameter of the tool nose 

Since the tool nose radius compensation forces the path of the center of the tool nose radius to move in 
the reverse of the programmed direction, overcutting will result. In this case an alarm is displayed and the 
CNC stops at the start of the block. 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 207 - 

Programmed path

Tool nose radius
center path

Overcutting if the operation would not stop

Workpiece

An alarm is displayed and
the operation stops

 

Fig. 5.4.5 (a) Machining a groove smaller than the diameter of the tool nose   

 

  - 

Machining a step smaller than the tool nose radius 

For a figure in which a workpiece step is specified with an arc, the tool nose radius center path will be as 
shown in Fig. 5.4.5 (b). If the step is smaller than the tool nose radius, the tool nose radius center path 
usually compensated as shown in Fig. 5.4.5 (c) may be in the direction opposite to the programmed path. 
In this case, the first vector is ignored, and the tool moves linearly to the second vector position. The 
single block operation is stopped at this point. If the machining is not in the single block mode, the cycle 
operation is continued.   
If the step is of linear, no alarm will be generated and cut correctly. However uncut part will remain. 

Programmed path

Single block stop point

Tool nose radius
center path

Workpiece

Arc center

S

S

 

Fig. 5.4.5 (b) Machining a step larger than the tool nose radius   

 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 208 - 

Programmed path

An overcutting will result if the first vector is not ignored.
However, tool moves linearly.

Tool nose radius center path

Workpiece

Arc center

Single block stop point

S

Arc

Linear movement

The first vector is ignored

Path to be taken if the
vector is not ignored

 

Fig. 5.4.5 (c) Machining a step smaller than the tool nose radius   

 

  - 

Starting compensation and cutting along the Z-axis 

It is usually used such a method that the tool is moved along the Z axis after the cutter compensation 
(normally XY plane) is effected at some distance from the workpiece at the start of the machining. In the 
case above, if it is desired to divide the motion along the Z axis into rapid traverse and cutting feed, 
follow the procedure below. 
Let us consider the following program, assuming the number of blocks to read in cutter compensation 
mode (parameter No. 19625) to be 3. 

N1 G00 G41 U500.0 V500.0 T0101 ;
N3 G01 W-300.0 F100 ;
N6 V1000.0 F200 ;

N1

N3:Move command in Z axis (one block)

N6

After compensation

 

Fig. 5.4.5 (d) 

 
In the program example above (Fig. 5.4.5 (d)), when executing block N1, blocks N3 and N6 are also 
entered into the buffer storage, and by the relationship among them the correct compensation is 
performed as in the Fig. 5.4.5 (d). 
Then, suppose that the block N3 (move command in Z axis) is divided into N3 and N5. 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 209 - 

      N1 G00 G41 U500.0 V500.0 T0101 ;
   N3 G01 W-250.0 ;
   N5 G01 W-50.0 F100 ;
   N6 V1000.0 F200 ;

N3, N5:Move command for the Z axis (two blocks)

After compensation

N1

N6

Workpiece

 

Fig. 5.4.5 (e) 

 
At this time, because the number of blocks to read is 3, blocks up to N5 can be read at the start of N1 
compensation, but block N6 cannot be read. As a result, compensation is performed only on the basis of 
the information in block N1, and a vertical vector is created at the end of the compensation start block. 
Usually, therefore, overcutting will result as shown in the Fig. 5.4.5 (e). 
In such a case, it is possible to prevent overcutting by specifying a command with the exactly the same 
direction as the advance direction immediately before movement along the Z axis beforehand, after the 
tool is moved along the Z axis using the above rule. 

      N1 G00 G41 U500.0 V400.0 T0101 ;
   N2 V100.0 ;
   N3 W-250.0 ;
   N5 G01 W-50.0 F100 ;
   N6 V1000.0 F200 ;

Workpiece

N1

N6

After compensation

N2

N3, N5 : Move command for the Z axis (2 blocks)

 

Fig. 5.4.5 (f) 

 
As the block N2 has the move command in the same direction as that of the block N6, the correct 
compensation is performed. 
 
Alternatively, it is possible to prevent overcutting in the same way by specifying an IJ type vector with 
the same direction as the advance direction in the start-up block, as in N1 G00 G41 U500.0 V500.0 I0 J1 
T0101;, after the tool has moved along the Z axis. 
 

5.4.6 

Interference Check 

Tool overcutting is called interference. The interference check function checks for tool overcutting in 
advance. However, all interference cannot be checked by this function. The interference check is 
performed even if overcutting does not occur. 
 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 210 - 

Explanation 

  - 

Condition under which an interference check is possible 

To perform an interference check, it is necessary to read at least three blocks with tool movement. If, 
therefore, three or more blocks with tool movement cannot be read in offset mode because blocks without 
tool movement, such as independent auxiliary function and dwell, are specified in succession, excessive 
or insufficient cutting may occur because an interference check fails. Assuming the number of blocks to 
read in offset mode, which is determined by parameter No. 19625, to be N and the number of commands 
in those N blocks without tool movement that have been read to be M, the condition under which an 
interference check is possible is 
(N - 3) 

 M. 

For example, if the maximum number of blocks to read in offset mode is 8, an interference check is 
possible even if up to five blocks without tool movement are specified. In this case, three adjacent blocks 
can be checked for interference, but any subsequent interference that may occur cannot be detected. 
 

  - 

Interference check method 

Two interference check methods are available, direction check and circular angle check. Bit 1 (CNC) of 
parameter No. 5008 and bit 3 (CNV) of parameter No. 5008 are used to specify whether to enable these 
methods. 
 

Table 5.4.6 (a) 

CNV CNC 

Operation 

0 0 

An interference check is enabled, and a direction check and a circular angle check 
can be performed. 

An interference check is enabled, and only a circular angle check is performed. 

– 

An interference check is disabled. 

 

NOTE 

 

There are no settings for performing a direction check only. 

 

  - 

Interference reference <1> (direction check) 

Assuming the number of blocks to read during tool nose radius compensation to be N, a check is first 
performed on the compensation vector group calculated in (block 1 - block 2) to be output this time and 
the compensation vector group calculated in (block N-1 - block N); if they intersect, they are judged to 
interfere. If no interference is found, a check is performed sequentially in the direction toward the 
compensation vector group to be output this time, as follows: 
 
(Block 1 - block 2) and (block N-2 - block N-1) 
(Block 1 - block 2) and (block N-3 - block N-2) 
 : 
 : 
(Block 1 - block 2) and (block 2 - block 3) 
 
Even if multiple number of compensation vector groups are generated, a check is performed on all pairs. 
The judgment method is as follows: For a check on the compensation vector group in (block 1 - block 2) 
and those in (block N-1 - block N), the direction vector from the specified (end point of block 1) to the 
(end point of block N-1) is compared with the direction vector from the (point resulting from adding the 
compensation vector to be checked to the end of block 1) to the (point resulting from adding the 
compensation vector to be checked to the end of block N-1), and if the direction is 90

o

 or greater or 270

o

 

or less, they are judged to intersect and interfere. This is called a direction check. 
 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 211 - 

 

Example of interference standard <1> 

 

(If the block 1 end-point vector intersects with the block 7 end-point vector) 

Programmed path

The direction differs by
180

°

.

Block 

5

Block 

6

Tool center path

Block 

3

Block 

1

Block 

8

Block 

2

Block 

4

Block 

7

 

Fig. 5.4.6 (a) 

 
Example of interference standard <1> 
(If the block 1 end-point vector intersects with the block 2 end-point vector) 

Programmed path

Tool nose radius
center path

The directions of
these two paths are
different (180

°

).

Block 

1

Block 

2

 

Fig. 5.4.6 (b) 

 

  - 

Interference reference <2> (circular angle check) 

In a check on three adjacent blocks, that is, a check on the compensation vector group calculated on 
(block 1 - block 2) and the compensation vector group calculated on (block 2 - block 3), if block 2 is 
circular, a check is performed on the circular angle between the start and end points of the programmed 
path and the circular angle of the start and end point of the post-compensation path, in addition to 
direction check <1>. If the difference is 180

o

 or greater, the blocks are judged to interfere. This is called a 

circular angle check. 
 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 212 - 

Example of <2> (if block 2 is circular and the start point of the post-compensation arc coincide with the 
end point) 

Programmed path

Tool nose radius
center path

Block 

1

Block 

2

Block 

3

Programmed path

 

Fig. 5.4.6 (c) 

 

  - 

When interference is assumed although actual interference does not occur 

<1>  Depression which is smaller than the cutter or tool nose radius compensation value 

Programmed
path

Tool nose radius center path

A

B

C

Stopped

 

Fig. 5.4.6 (d) 

 
There is no actual interference, but since the direction programmed in block B is opposite to that of the 
path after the tool nose radius compensation, the tool stops and an alarm is displayed. 
 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 213 - 

<2>  Groove which is smaller than the cutter or tool nose radius compensation value 

B

C

Stopped

Programmed
path

Tool nose radius center path

A

 

Fig. 5.4.6 (e) 

Like <1>, an alarm is displayed because of the interference as the direction is reverse in block B. 
 

5.4.6.1 

Operation to be performed if an interference is judged to 
occur 

Explanation 

The operation to be performed if an interference check judges that an interference (due to overcutting) 
occurs can be either of the following two, depending on the setting of bit 5 (CAV) of parameter No. 
19607. 
 

Table 5.4.6.1 (a) 

CAV Function 

Operation 

Interference check alarm function 

An alarm stop occurs before the execution of the block in which 
overcutting (interference) occurs. 

Interference check avoidance 
function 

The tool path is changed so that overcutting (interference) does 
not occur, and processing continues. 

 

5.4.6.2 

Interference check alarm function 

Explanation 

  - 

Interference other than those between adjacent three blocks 

If the end-point vector of block 1 and the end-point vector of block 7 are judged to interfere as shown in 
the Fig. 5.4.6.2 (a), an alarm will occur before the execution of block 1 so that the tool stops. In this case, 
the vectors will not be erased. 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 214 - 

Block 

8

Block 

3

Block 

4

Block 

5

Block 

6

Block 

2

Stopped

Tool nose radius
center path

Programmed path

Block 

1

Block 

7

 

Fig. 5.4.6.2 (a) 

 

  - 

Interference between adjacent three blocks 

If an interference is judged to occur between adjacent three blocks, the interfering vector, as well as any 
vectors existing inside of it, is erased, and a path is created to connect the remaining vectors. In the 
example shown in the Fig. 5.4.6.2 (b), V

2

 and V

5

 interfere, so that V

2

 and V

5

 are erased, so are V

3

 and V

4

which are inside of them, and V

1

 is connected to V

6

. The operation during this time is linear interpolation. 

Tool center path

Programmed path

V

4

V

2

V

3

V

1

V

5

V

6

 

Fig. 5.4.6.2 (b) 

 
If, after vector erasure, the last single vector still interferes, or if there is only one vector at the beginning 
and it interferes, an alarm will occur immediately after the start of the previous block (end point for a 
single block) and the tool stops. In the example shown in the Fig. 5.4.6.2 (c), V

2

 and V

3

 interfere, but, 

even after erasure, an alarm will occur because the final vectors V

1

 and V

4

 interfere. 

 B-64604EN-1/01

 PROGRAMMING 

5.COMPENSATION FUNCTION

 

- 215 - 

Stopped

Tool center path

V

4

V

1

V

3

V

2

Programmed path

 

Fig. 5.4.6.2 (c) 

 

5.4.6.3 

Interference check avoidance function 

Overview 

If a command is specified which satisfies the condition under which the interference check alarm function 
generates an interference alarm, this function suppresses the generation of the interference alarm, but 
causes a new compensation vector to be calculated as a path for avoiding interference, thereby continuing 
machining. For the path for avoiding interference, insufficient cutting occurs in comparison with the 
programmed path. In addition, depending on the specified figure, no path for avoiding interference can be 
determined or the path for avoiding interference may be judged dangerous. In such a case, an alarm stop 
will occur. For this reason, it is not always possible to avoid interference for all commands. 
 

Explanation 

  - 

Interference avoidance method 

Let us consider a case in which an interference occurs between the compensation vector between (block 1 
- block 2) and the compensation vector between (block N-1 - block N). The direction vector from the end 
point of block 1 to the end point of block N-1 is called a gap vector. At this time, a post-compensation 
intersection vector between (block 1 - gap vector) and a post-compensation intersection vector between 
(gap vector - block N) is determined, and a path connecting them is created. 

5.COMPENSATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 216 - 

 

Movement o f block 

7

Post-compensation intersection vector 
between block 

1

 and gap vector 

Post-compensation intersection vector 
between gap vector and block 

8

 

Post-compensation 
path 

Programmed path 

Block 

1

 

Block 

8

 

Block 

2

Gap vector

Block 

3

Block 

6

 

Block 

4

 

Block 

5

 

In this case, the post-compensation end points of blocks 

2

 to 

6

 coincide with the end 

point of block 

1

.    Thus, after compensation, blocks 

2

 to 

6

 will be blocks without tool 

movement. 

Block 

7

 

 

Fig. 5.4.6.3 (a) 

 
If the post-compensation intersection vector of (block 1 - gap vector) and the post-compensation 
intersection vector of (gap vector - block N) further intersect, vector erasure is first performed in the same 
way as in "Interference between adjacent three blocks". If the last vectors that remains still intersects, the 
post-compensation intersection vector of (block 1 - block N) is re-calculated. 

 

In this case, the post-compensation end points of blocks 

2

 to 

coincide with the end point of block 

1

.  Thus, after compensation, 

blocks 

2

 to 

7

 will be blocks without tool movement. 

Block 

3

 

Post-compensation 
intersection vector 
between block 

1

 

and gap vector 

Re-calculation

Block 

8

 

Block 

2

 

Block 

3

 

Block 

4

 

Block 

5

 

Block 

6

 

Block 

7

 

Post-compensation path

Programmed path

Block 

8

 

Block 

7

 

Block 

6

 

Post-compensation 
intersection between 
gap vector and block 

8

Block 

1

 

Block 

1

 

Post-compensati
on intersection 
vector between 
block 

1

 and 

block 

8

 

Gap vector 

Block 

2

 

Block 

4

 

Block

 

5

 

 

Fig. 5.4.6.3 (b) 

 

 

 

 

 

 

 

 

Content      ..     12      13      14      15     ..