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

 

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

 

Search            copyright infringement  

 

 

 

 

 

 

 

 

 

 

 

Content      ..     19      20      21      22     ..

 

 

 

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

 

 

4.INTERPOLATION FUNCTIONS

 PROGRAMMING 

B-63944EN/03

 

 

- 124 - 

 - NURBS curve 

Using these variables: 

k

 : 

Rank 

P

i

  : Control point 

Wi

  : Weight 

Xi

    : Knot (

X

i

 

X

i

+1

 

 Knot vector  [

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

,

(

0

)

1

1

(

1

)

(

1

,

t

i

x

i

x

t

i

x

t

i

x

t

i

N

 

1

)

(

1

,

1

)

(

1

)

(

1

,

)

(

)

(

,

+

+

+

+

+

+

=

i

x

k

i

x

t

k

i

N

t

k

i

x

i

x

k

i

x

t

k

i

N

i

x

t

t

k

i

N

 

 
The NURBS curve P(t) of interpolation can be expressed as follows: 

=

=

=

n

0

i

1

k

,

i

n

0

i

i

i

k

,

i

w

)

t

(

N

p

w

)

t

(

N

)

t

(

P

 

(

X0<t

<

Xm

 

 - Reset 

A reset during NURBS interpolation results in the clear state. The 
modal code of group 1 enters the state specified in bit 0 (G01) of 
parameter No. 3402. 

 

B-63944EN/03

 PROGRAMMING 

4.INTERPOLATION FUNCTIONS

 

 

- 125 - 

Limitation 
 - Controlled axes 

NURBS interpolation can be performed on up to five axes (including 
two rotary 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. 
 

  - Command in NURBS interpolation mode 

In NURBS interpolation mode, any command other than the NURBS 
interpolation command (miscellaneous function and others) cannot be 
specified. 
 

 - Manual intervention 

If manual intervention is attempted while manual absolute mode is set, 
alarm PS5118 is issued. 
 

  - Tool radius compensation 

Tool radius compensation cannot be simultaneously executed. 
NURBS interpolation can only be specified after tool radius 
compensation has been canceled. 
 

  - 3-dimensional cutter compensation 

3-dimensional cutter compensation cannot be simultaneously executed. 
NURBS interpolation can only be specified after 3-dimensional cutter 
compensation has been canceled. 
 

  - Tool centerpoint control 

Tool center point control (type 1 (G43.4)) can be simultaneously 
executed, but tool center point control (type 2 (G43.5)) and tool 
posture control cannot be simultaneously executed. If an attempt is 
made to execute tool center point control (type 2 (G43.5) or tool 
posture control simultaneously with NURBS interpolation, alarm 
PS5421 is issued. 
 

4.INTERPOLATION FUNCTIONS

 PROGRAMMING 

B-63944EN/03

 

 

- 126 - 

Example 

<Sample NURBS interpolation program> 
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 ... 
 

Y

Z

X

1000.

2000.

 

 

B-63944EN/03

 PROGRAMMING 

4.INTERPOLATION FUNCTIONS

 

 

- 127 - 

4.14.1 

NURBS Interpolation Additional Functions 

 
In the FANUC Series 30

i

/31

i

, NURBS interpolation provides the 

following additional functions: 
 

  - Parametric feedrate control 

The maximum feedrate of each segment is determined according to a 
specified feedrate and acceleration. For a series of segments, the 
feedrates at the start point and end point of the segments are 
determined as described below. During a movement from the start 
point to end point, the feedrate changes continuously. This function 
can be used only for NURBS interpolation when bit 5 (FDI) of 
parameter No. 8412 is set to 1. 
 
1.  Start point speed 

(1)  At the start of NURBS interpolation 
 

If the amount of travel in the previous block is 0, the 
maximum speed in the first segment is regarded as the start 
point speed. If the amount of travel in the previous block is 
not 0, whichever is smaller of the specified speed in the 
previous block and the maximum speed in the first segment 
is regarded as the start point speed. 

 

Previous block: Block immediately preceding the block in 
which NURBS interpolation is specified. 

(2)  Second and subsequent segments 
 

Whichever is smaller of the maximum speed in the previous 
segment and the maximum speed in this segment is 
regarded as the start point speed. 

 

2.  End point speed 

(1)  In a segment other than the last 
 

Whichever is smaller of the maximum speed in this segment 
and the maximum speed in the next segment is regarded as 
the end point speed. 

(2)  At the end of NURBS interpolation 
 

If the amount of travel in the next block is 0, the maximum 
speed in this segment is regarded as the end point speed. If 
the amount of travel in the next block is not 0, whichever is 
smaller of the maximum speed in this segment and the 
specified speed in the next block is regarded as the end 
point speed. 

 

After the stop of a single block, the start point speed at a restart will be 
the maximum speed in this segment. 
 
After the stop of a feed hold, the speed at a restart will be the same as 
the speed at the stop of the feed hold. 

4.INTERPOLATION FUNCTIONS

 PROGRAMMING 

B-63944EN/03

 

 

- 128 - 

Example 
 
1. Specified 

program 

 

G90 G06.2 X0. Y0. K0. F2000 ; 

 

X10. Y10. K0. F1500 ; 

 

X20. Y20. K0. F1800 ; 

 

X30. Y30. K0. ; 

 

X40. Y40. K1. 

 

X50. Y50. K2. 

 K3. 
 K3. 
 K3. 
 K3. 
 
2. Specified 

speed 

 

Speed 

Time 

1500 

1800 

2000 

 
3.  Parametric speed control 

 

Speed 

Time 

1500 

1800 

2000 

 
4.  Because of the addition of acceleration/deceleration before 

interpolation, the actual cutting feedrate is as shown below. 

 

Speed 

Time 

1500 

1800 

2000 

 

NOTE 

 

The actual acceleration/deceleration method is 
bell-shaped acceleration/deceleration. 

 

B-63944EN/03

 PROGRAMMING 

4.INTERPOLATION FUNCTIONS

 

 

- 129 - 

  - High-precision knot command 

If bit 1 (HIK) of parameter No. 8412 is set to 1, knot commands with a 
whole number of up to 12 digits and a decimal fraction of up to 12 
digits can be specified. This function can be used only for knot 
commands (address K) with a decimal point which are specified 
during NURBS interpolation. 
 
If a high precision knot command is used, the knot command format is 
as shown below. 
 

K (Number of A digits) . (Number of B digits)   

 
where A + B must be 12 or less. The address K and the 
numbers including the decimal point must be 14 characters 
or less. 
 
(Example) 
 
Valid 
K.999999999999 
K1234.56789012 
K999999999999. 
 
Invalid (causing alarm PS0012 to be issued) 
K0.999999999999 
K1234.567891230 
K1234.567891234 
K999999999999.0 

 

4.INTERPOLATION FUNCTIONS

 PROGRAMMING 

B-63944EN/03

 

 

- 130 - 

  - Simple start command 

If bit 0 (EST) of parameter No. 8412 is set to 1, a control command 
may be omitted at the first control point. Because the same value is set 
for the knot in the first block and the knot in the second block, the 
knot command may also be omitted in the first bock

.

 

 
The format of a NURBS interpolation command using this function is 
as shown below. 
 

G06.2 [P

 

 ] [K

 

 ] [IP

 

 ] [R

 

 ] [F

 

 ] ; 

 

K

 

 IP

 

 [R

 

 ] ; 

 

K

 

 IP

 

 [R

 

 ] ; 

 

K

 

 IP

 

 [R

 

 ] ; 

 

 

 

K

 

 IP

 

 [R

 

 ] ; 

 

K

 

 ; 

 

 

 

K

 

 ; 

G01… 

 

 
G06.2  : NURBS interpolation mode ON 

: Rank of the NURBS curve 

IP : 

Control 

point 

R : 

Weight 

K : 

Knot 

F : 

Speed 

 
Words enclosed in [    ] are optional. 

 
If a control point command is omitted in the first block, the current 
position as determined when NURBS interpolation is started is 
regarded as the first control point. Also, only the axis specified for the 
control point in the second block is handled as a NURBS interpolation 
axis and, therefore, in the second block, specify all axes subject to 
NURBS interpolation. 
 
If a knot command is omitted in the first block, the knot is regarded as 
the same as the knot specified in the second block. 
 

B-63944EN/03

 PROGRAMMING 

4.INTERPOLATION FUNCTIONS

 

 

- 131 - 

4.15 

HYPOTHETICAL AXIS INTERPOLATION (G07) 

 
In helical interpolation, when pulses are distributed with one of the 
circular interpolation axes set to a hypothetical axis, sine interpolation 
is enabled.   
When one of the circular interpolation axes is set to a hypothetical 
axis, pulse distribution causes the speed of movement along the 
remaining axis to change sinusoidally. If the major axis for threading 
(the axis along which the machine travels the longest distance) is set 
to a hypothetical axis, threading with a fractional lead is enabled. The 
axis to be set as the hypothetical axis is specified with G07. 
 

Format 

G07 

α

0 ; 

: Hypothetical axis setting 

      : 
G07 

α

1 ; 

: Hypothetical axis cancel

 

Where, 

α

 is any one of the addresses of the controlled axes.

 

Explanation 
 - Sine interpolation 

The a axis is regarded as a hypothetical axis for the period of time 
from the G07 

α

0 command until the G07 

α

1 command appears. 

Suppose sine interpolation is performed for one cycle in the YZ plane. 
The hypothetical axis is then the X axis.   
X

2

+Y

2

 = r

2

 (r is the radius of an arc.)     

Y = rSIN (

1

2

π

Z)  (1 is the distance traveled along the Z-axis in one 

cycle.)  

Y

r

O

Z

1

π

2

2

π

π

 

  - Interlock, stroke limit, and external deceleration 

Interlock, stroke limit, and external deceleration can also apply to the 
hypothetical axis. 
 

 - Handle interruption 

An interrupt caused by the handle also applies to the hypothetical axis. 
This means that movement for a handle interrupt is performed. 

 

 

 

 

 

 

 

Content      ..     19      20      21      22     ..