FANUC Series 30i/300i/300is-MODEL A. Machining Center System. User's manual - page 120

 

  Index      Manuals     FANUC Series 30i/300i/300is-MODEL A. Machining Center System. User's manual (B-63944EN/03)

 

Search            copyright infringement  

 

 

 

 

 

 

 

 

 

 

 

Content      ..     118      119      120      121     ..

 

 

 

FANUC Series 30i/300i/300is-MODEL A. Machining Center System. User's manual - page 120

 

 

22.5-AXIS MACHINING FUNCTION

 PROGRAMMING 

B-63944EN/03

 

 

- 916 - 

<1>  When the current rotary axis angles are (B -70 degrees; C 30 

degrees) 

 

The "output angles" are (B -90 degrees; C 0 degree). 
  0 degree is adopted because it is nearer to the current 

position (30 degrees) of the C-axis that is the master axis.  
For the B-axis, 270 degrees is adopted which is the same 
group.  However, this is changed to -90 degrees (270 
degrees - 360 degrees) which is the nearest to the current 
position of the B-axis (-70 degrees). 

<2>  When the current rotary axis angles are (B 80 degrees; C 500 

degrees) 

 

The "output angles" are (B 90 degrees; C 540 degrees). 
  540 degrees (180 degrees 

+

 360 degrees) is adopted because 

it is nearer to the current position (500 degrees) of the C-axis 
that is the master axis.  For the B-axis, 90 degrees is 
adopted which is the same group. 

<3>  When the current rotary axis angles are (B 60 degrees; C 90 

degrees) 

 

The "output angles" are (B 90 degrees; C 180 degrees). 
  Since the two candidates are equally near to the current 

position (90 degrees) of the C-axis that is the master axis, a 
judgment is made based on the current position of the B-axis.   
90 degrees is adopted because it is nearer to the current 
position (60 degrees) of the B-axis that is the slave axis.  
For the C-axis, 180 degrees is adopted which is the same 
group. 

<4>  When the current rotary axis angles are (B 180 degrees; C 90 

degrees)  

 

The "output angles" are (B 270 degrees; C 0 degree). 
  Since the two candidates are equally near to the current 

position (90 degrees) of the C-axis that is the master axis, a 
judgment is made based on the current position of the B-axis.   
In this case, however, the two candidates are also equally 
near to the current position of the B-axis (180 degrees).  
Therefore, the candidate is adopted in which the C-axis 
(master axis) is nearer to 0 degree. 

  That is, the pair is adopted whose C-axis angle is 0 degree 

and whose B-axis angle is 270 degrees. 

  When the slave axis angle is 0 degree, the direction of the 

tool axis becomes fixed regardless of the master axis angle. 

 
In that case, the master axis does not move from the current angle. 
 
An explanation is shown below using a machine having a "BC type 
tool axis Z" as an example. 

B-63944EN/03

 PROGRAMMING 

22.5-AXIS MACHINING FUNCTION

 

 

- 917 - 

    BC type tool axis Z

X

Y

Z

C

 

Fig. 22.5.1.1 (v)    BC type tool axis Z 

 
When the current rotary axis angles are (B 45 degrees; C 90 degrees), 
the "output angles" are (B 0 degree; C 90 degrees). 
 

22.5-AXIS MACHINING FUNCTION

 PROGRAMMING 

B-63944EN/03

 

 

- 918 - 

  - Angle of the rotary axis for type 2 (when the movement range is specified) 

If the upper and lower limits of the movement range of the rotary axis 
is specified using parameters No.19741 to No.19744, the rotary axis 
will move only within the specified range when the direction is 
specified using I, J, K, Q command for type 2 control. 

 

Although the procedure for determining the angles is the same as that 
used "when the movement range is not specified," the "output angles" 
need to be selected from 

those computed angles that are within the 

specified movement range for both axes

 

Tool rotation type or table rotation type machine 

<1>  Of the angle pairs whose master and slave axis angles are both within 

the specified movement range, the rotary axis angle pair whose 
master axis (first rotary axis) moving angle is smaller represents the 
"output angles." 

                               

 

                               

 When the master axis moving angle is the same 

                               

 

<2>  The "output angles" are represented by the computed rotary axis 

angle pair whose slave axis (second rotary axis) moving angle is 
smaller. 

                               

 

                               

 When the slave axis moving angle is the same 

                               

 

<3>  The "output angles" are represented by the computed rotary axis 

angle pair whose master axis (first rotary axis) angle is nearer to 0 
degree (multiple of 360 degrees). 

                               

 

                               

 When the master axis angle is equally near to 0 degree

                               

 

<4>  The "output angles" are represented by the computed rotary axis 

angle pair whose slave axis (second rotary axis) angle is nearer to 0 
degree (multiple of 360 degrees). 

Composite type machine 

<1>  Of the angle pairs whose master and slave axis angles are both within 

the specified movement range, the rotary axis angle pair whose table 
(second rotary axis) moving angle is smaller represents the "output 
angles." 

                               

 

                               

 When the table moving angle is the same 

                               

 

<2>  The "output angles" are represented by the computed rotary axis 

angle pair whose tool (first rotary axis) moving angle is smaller. 

                               

 

                               

 When the tool moving angle is the same 

                               

 

<3>  The "output angles" are represented by the computed rotary axis 

angle pair whose table (second rotary axis) angle is nearer to 0 
degree (multiple of 360 degrees). 

                               

 

                               

 When the table angle is equally near to 0 degree 

                               

 

<4>  The "output angles" are represented by the computed rotary axis 

angle pair whose tool (first rotary axis) angle is nearer to 0 degree 
(multiple of 360 degrees). 

Fig. 22.5.1.1 (w)    Output judgment conditions 

B-63944EN/03

 PROGRAMMING 

22.5-AXIS MACHINING FUNCTION

 

 

- 919 - 

When bit 5 (PRI) of parameter No.19608 is 1, the movement 
judgements for the first rotary axis and second rotary axis are made in 
reverse order. 
 

 CAUTION 

1  If the lower limit of the movement range is larger 

than the upper limit, alarm PS5459 occurs when 
G43.5 is specified. 

2  If no "computed angle" is found within the 

movement range because the range is too small, 
alarm PS5459 occurs. 

3  If 0 is set for both parameters that specify the 

upper and lower limits of the movement range, the 
tool operates assuming that there is no range 
specification. 

4  When the rotary axis rollover function or rotary axis 

control function is used (in which case, set 
parameter No.1260 (amount of movement per 
rotation of the rotary axis) to 360 degrees), the tool 
does not move beyond 0 degree (360 degrees) 
(does not take the shortcut) if the movement range 
is set between 0 and 360 degrees.    Also, do not 
specify a negative value or a value larger than 360 
degrees for the movement range. 

 
An example of the "movement judgement" process is given below. 
Assume that a tool rotation type or table rotation type machine has 
rotary axis A (master) and rotary axis B (slave) and that there are two 
pairs of basic computed angles as follows: 
(A 

θ

1 degree; B 

φ

1 degree) 

(A 

θ

2 degrees; B 

φ

2 degrees)   where 

θ

 

θ

2. 

The "computed angle" is obtained from either of the following 
expressions:  "basic computed angle" + 360 degrees 

×

 N or "basic 

computed angle" - 360 degrees 

×

 N. 

Assume that the current positions and movement ranges of rotary axis 
A (master) and rotary axis B (slave) are as shown in Fig. 22.5.1.1 (x), 
Fig. 22.5.1.1 (y). 

 

360 

×

 (N + 1) degrees 

360 

×

 N degrees 

  Computed angle A 

Current position A

Movement range A 

θ

1 + 360 

×

 N 

θ

2 + 360 

×

 N   

θ

2 + 360 

×

 (N - 1) 

θ

1 + 360 

×

 (N + 1) 

 

Fig. 22.5.1.1 (x)    Computed angle of rotary axis A and its current 

position and movement range 

 

22.5-AXIS MACHINING FUNCTION

 PROGRAMMING 

B-63944EN/03

 

 

- 920 - 

360 

×

 (N + 1) degrees

360 

×

 N degrees

  Computed angle B

Current position B

Movement range B

φ

2 + 360 

×

 N

φ

1 + 360 

×

 N

φ

1 + 360 

×

 (N - 1)

φ

2 + 360 

×

 (N + 1)

 

Fig. 22.5.1.1 (y)    Computed angle of rotary axis B and its current 

position and movement range 

 
When the two axes have a positional relationship as shown in the 
figure, the output angle of rotary axis A is (

θ

2 + 360 

×

 N) degrees and 

that of rotary axis B is (

φ

2 + 360 

×

 N) degrees (when bit 5 (PRI) of 

parameter No.19608 is set to 0). 
More concretely, from the computed angles obtained for rotary axis A, 
the nearest angle within the movement range, i.e. 

θ

2 + 360 

×

 N 

degrees, is first adopted.    Then, from the computed angles obtained 
for rotary axis B, the angle belonging to the same group as 

θ

2, i.e. 

φ

+ 360 

×

 N, is adopted. 

 
Note that, in this example, the output angles and moving direction 
differ depending on whether the movement range is specified or not (0 
to 360 degrees), even if N is set to 0 and coordinates are rounded to 0 
to 360 degrees. 
Namely, if the movement range is not specified, 

θ

1 + 360 degrees 

nearest to the current position is adopted as the computed angle for 
rotary axis A and, from the computed angles belonging to the same 
group as 

θ

1, 

φ

1 degrees nearest to the current position is adopted as 

the computed angle for rotary axis B.  Rotary axis A moves in the 
plus direction.  As its coordinate is rounded to 360 degrees, rotary 
axis A reaches 

θ

1 degrees while moving in the plus direction. 

By contrast, when the movement range is set to 0 to 360 degrees, the 
output angles are (A 

θ

2 degrees; B 

φ

2 degrees).    Neither rotary axis 

A nor B moves in a way that it exceeds 0 degree (360 degrees). 

B-63944EN/03

 PROGRAMMING 

22.5-AXIS MACHINING FUNCTION

 

 

- 921 - 

22.5.1.2 

Leading edge offset 

 

Overview 

Leading edge offset is a type of cutter compensation used when a 
workpiece is machined with the edge of a tool.  The tool is 
automatically shifted by the amount of cutter compensation on the line 
where a plane formed by a tool vector and tool movement direction 
meets a plane perpendicular to the tool axis direction. 

Tool used

Reference

tool

Cutter

compensation

vector

Cutter compensation

amount

Tool center path

(path after

compensation)

Programmed

path

Tool vector

 

Fig. 22.5.1.2 (a)  Leading edge offset 

 

Format 
  - Leading edge offset 

G41.3 D_ ; 

 

  - Canceling the leading edge offset 

G40 ; 

 

NOTE  

1  G41.3 can be specified only in the G00 and G01 

modes.    In a block containing G41.3 or G40, only 
addresses D, O, and N can be specified. 

2  The block that follows a block containing a G41.3 

command must contain a move command. 

 

In the block after G41.3, however, a tool movement 
in the same direction as the tool axis direction or 
the opposite direction cannot be specified. 

3  No modal G code that belongs to the same group 

as G00 and G01 can be specified in the G41.3 
mode.    If such a modal G code is specified, alarm 
PS5460 is issued. 

4  Leading edge offset does not provide type 2 

commands.    It does not allow the tool direction to 
be specified with the I, J, and K commands. 

 

22.5-AXIS MACHINING FUNCTION

 PROGRAMMING 

B-63944EN/03

 

 

- 922 - 

Explanation 
  - Operation at startup and cancellation 

The operation performed at leading edge offset startup and 
cancellation does not vary.  When G41.3 is specified, the tool is 
moved by the amount of compensation (Vc) in the plane formed by 
the movement vector (V

M

) of the block after the G41.3 block and the 

tool vector (V

T

) obtained at the time of G41.3 specification.    The tool 

movement is perpendicular to the tool vector.    When G40 is specified, 
the tool is moved to cancel V

C

.  The following illustrates how the 

compensation is performed: 
 
<1>  When the tool vector is inclined in the tool movement direction 

 

Tool 

Tool compensation vector (V

T

V

G41.3(V

C

)

 

G40

 

:  Tool center path 
:  Programmed path 

 

Fig. 22.5.1.2 (b)    When the tool vector is inclined in the tool movement 

direction 

 
<2> When the tool vector is inclined in the direction opposite to the 

tool movement direction 

 

:  Tool center path 
:  Programmed path 

Tool 

Tool compensation vector (V

T

V

G41.3(V

C

)

 

G40

 

 

Fig. 22.5.1.2 (c)    When the tool vector is inclined in the direction 

opposite to the tool movement direction 

 

B-63944EN/03

 PROGRAMMING 

22.5-AXIS MACHINING FUNCTION

 

 

- 923 - 

  - Operation during compensation 

The tool center moves so that a compensation vector (VC) 
perpendicular to the tool vector (VT) is created in the plane formed by 
the tool vector (VT) at the end point of each block and the movement 
vector (VM) of the next block. 
 

 

V

Mn

: Movement vector of block n

V

Tn

: Tool vector at the end of block n 

V

Cn

: Compensation vector of block n (that lies in the plane formed by V

Tn

 and V

Mn+1

and is perpendicular to V

Tn

Tool center path (path after compensation)

Programmed path

V

M1

V

M2

V

T1

V

C1

V

C2 

V

T2 

V

M3

 

Fig. 22.5.1.2 (d)    Operation during compensation 

 
If a G code or M code that suppresses buffering is specified in the 
compensation mode, however, the compensation vector created 
immediately before the specification is maintained. 
 
When a block specifying no movement (including a block containing 
a move command for a rotary axis only) is specified in the 
compensation mode, the movement vector of the block after the block 
specifying no movement is used to create a compensation vector as 
shown below. 
 

 

Tool center path (path after compensation)

Programmed path

V

M1

V

M2

V

T1

V

C1

V

C2 

= V

C3 

V

T2 

V

M4

There is one block that 

specifies no movement

 

 

Fig. 22.5.1.2 (e)    When there is one block that specifies no movement 

 
If block 3 specifies no movement, the compensation vector of block 2 
(VC2) is created in a plane formed by the movement vector of block 4 
(VM4) and the tool vector (VT2) at the end of block 2.  VC2 is 
perpendicular to VT2. 
 

 CAUTION  

 

If two or more successive blocks specify no 
movement, the previously created compensation 
vector is maintained.    However, such specification 
should be avoided. 

 

 

 

 

 

 

 

 

Content      ..     118      119      120      121     ..