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

 

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

 

Search            copyright infringement  

 

 

 

 

 

 

 

 

 

 

 

Content      ..     32      33      34      35     ..

 

 

 

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

 

 

 PROGRAMMING 

B-63944EN/03

 

 

- 228 - 

9. SPINDLE SPEED FUNCTION 

(S FUNCTION) 

Limitation 
  - Constant surface speed control for threading 

The constant surface speed control is also effective during threading.   
Accordingly, it is recommended that the constant surface speed 
control be invalidated with G97 command before starting the scroll 
threading and taper threading, because the response problem in the 
servo system may not be considered when the spindle speed changes. 
 

  - Constant surface speed control for rapid traverse (G00) 

In a rapid traverse block specified by G00, the constant surface speed 
control is not made by calculating the surface speed to a transient 
change of the tool position, but is made by calculating the surface 
speed based on the position at the end point of the rapid traverse block, 
on the condition that cutting is not executed at rapid traverse. 
 

B-63944EN/03

 PROGRAMMING 

 

 

- 229 - 

9.SPINDLE SPEED FUNCTION

(S FUNCTION)

Example 

T

 

 

300 400 500 600 700 800 900 1000 1100

1200

1300 14001500

1050

1475

200

375

500

300

400

700

X

Z

1

2

3

4

N16

N16

N15

N15

N14

N14

N11

N11

100

675

600

Programmed path

Tool path after offset

Radius value

 

φ

600

φ

400

 

 
N8  G00 X1000.0Z1400.0 ; 
N9  T33; 
N11 X400.0Z1050.0; 
N12 G50S3000 ; (Designation of max. spindle speed) 
N13 G96S200 ; (Surface speed 200 m/min) 
N14 G01 Z 700.0F1000 ; 
N15 X600.0Z 400.0; 
N16 Z_ ;     
The CNC calculates the spindle speed which is proportional to the 
specified surface speed at the position of the programmed coordinate 
value on the X axis. This is not the value calculated according to the X 
axis coordinate after offset when offset is valid. At the end point N15 
in the example above, the speed at 600 dia. (Which is not the turret 
center but the tool nose) is 200 m/min. If X axis coordinate value is 
negative, the CNC uses the absolute value. 
 

 PROGRAMMING 

B-63944EN/03

 

 

- 230 - 

9. SPINDLE SPEED FUNCTION 

(S FUNCTION) 

9.4 

SPINDLE POSITIONING FUNCTION 

 

Overview 

In turning, the spindle connected to the spindle motor is rotated at a 
certain speed to rotate the workpiece mounted on the spindle.    This 
spindle control status is referred to as spindle rotation mode. 
The spindle positioning function turns the spindle connected to the 
spindle motor by a certain angle to position the workpiece mounted on 
the spindle at a certain angle.    This spindle control status is referred 
to as spindle positioning mode. 
 
The spindle positioning function involves the following three 
operations: 
1.  Canceling the spindle rotation mode and entering the spindle 

positioning mode 

 

Place the spindle in the spindle positioning mode and establish a 
reference position by specifying a given M code (set with a 
parameter).  (Spindle orientation) 

2.  Positioning the spindle in the spindle positioning mode 
 

The spindle is positioned in either of the two methods: 
1)  Positioning with an arbitrary angle by an axis address 
2)  Positioning with a semi-fixed angle by a given M code (set 

with a parameter) 

3.  Canceling the spindle positioning mode, and entering the spindle 

rotation mode 

 

Place the spindle in the spindle rotation mode by specifying a 
given M code (set with a parameter). 

 
The least command increment, least input increment, and maximum 
value for the spindle positioning axis are as follows: 

  Least command increment 

 
 

  Least input increment 

  0.001 deg (IS-B) 

 Maximum 

value 

 

±

999999.999 deg 

 

360

4096

= 0.088 deg (when the gear ratio of the spindle to the position coder 

 

 

B-63944EN/03

 PROGRAMMING 

 

 

- 231 - 

9.SPINDLE SPEED FUNCTION

(S FUNCTION)

9.4.1 

Spindle Orientation 

 
When spindle positioning is first performed after the spindle motor is 
used for normal spindle operation, or when spindle positioning is 
interrupted, the spindle orientation is required. 
Orientation permits the spindle to stop at a predetermined position. 
Orientation is directed by the M code set in parameter No. 4960.    The 
direction of orientation can be set with a parameter. 
For the serial spindle, it is set in bit 4 (RETSV) of parameter No. 4000. 
With the grid shift function, the orientation position can be shifted in a 
range of 0 to 360 deg with parameter No. 4073 for a serial spindle. 
 

  - Feedrate during spindle orientation 

An orientation feedrate for a serial spindle is determined by a spindle 
parameter setting. 
In orientation, the serial spindle stops at the orientation position after 
several rotations of the spindle motor. 
 

  - Omission of orientation 

By using bit 2 (ISZ) of parameter No. 4950, orientation upon 
switching to spindle positioning mode can be omitted if it is 
unnecessary (for example, when no start position is specified and 
incremental positioning from the current position is only required).  
More specifically, when an M code for switching to spindle 
positioning mode is specified, the spindle control mode is simply 
switched to spindle positioning mode and then the processing is 
completed without orientation. 
 

  - Program reference position 

The position at which orientation is completed is assumed to be a 
program reference position.  However, the program reference 
position can be changed through coordinate system setting (G92 or 
G50) or automatic coordinate system setting (bit 0 (ZPR) of parameter 
No. 1201). 
When a setting is made to omit orientation, a program reference 
position is not established, and operation by an absolute command is 
unpredictable during spindle positioning with an axis address. 
 
 

 PROGRAMMING 

B-63944EN/03

 

 

- 232 - 

9. SPINDLE SPEED FUNCTION 

(S FUNCTION) 

9.4.2 

Spindle Positioning 

 
The spindle can be positioned with a semi-fixed angle or arbitrary 
angle. 
 

  - Positioning with a semi-fixed angle 

Use an M code to specify a positioning angle.  The specifiable M 
code value may be one of the six values from M

α

 to M (

α

+5).  Value 

α

 must be set in parameter No. 4962 beforehand.  The positioning 

angles corresponding to M

α

 to M (

α

+5) are listed below.    Value 

β

 

must be set in parameter No. 4963 beforehand. 

 

M-code 

(Ex.)  

β

 = 

α

 + 5 

Positioning angle 

(Ex.) 

β

 = 30

°

 

M

α

 

β

 30

°

 

M (

α

 + 1) 

2

β

 60

°

 

M (

α

 + 2) 

3

β

 90

°

 

M (

α

 + 3) 

4

β

 120

°

 

M (

α

 + 4) 

5

β

 150

°

 

M (

α

 + 5) 

6

β

 180

°

 

 
When the number of M codes to be used, value 

γ

, is specified in 

parameter No. 4964, a specifiable M code value may be in a range of 
values from M

α

 to M (

α

 + (

γ

 - 1)), up to 255 values from M

α

 to M (

α

 

+ (255 - 1)). 
 

M code 

(Ex.)  

γ

 = 11 

Positioning angle 

(Ex.) 

β

 = 30

°

 

M

α

 

β

 30

°

 

M (

α

 + 1) 

2

β

 60

°

 

M (

α

 + 2) 

3

β

 90

°

 

M (

α

 + 3) 

4

β

 120

°

 

...

 

... ... 

M (

α

 + 11 - 1) 

11

β

 330

°

 

 
The direction of rotation can be specified in IDM (bit 1 of parameter 
4950). 
 

  - Positioning with an arbitrary angle 

Specify the position with an arbitrary angle using the axis address 
followed by a signed numeric value or numeric values.  The axis 
address must be specified in the G00 mode. 
(The explanation below is given assuming that a C axis address is set.) 
(Example) C-45000 
 C180.000 
A numeric with the decimal point can be entered.    The value must be 
specified in degrees. 
(Example) C36.0=C36 

degrees 

 

B-63944EN/03

 PROGRAMMING 

 

 

- 233 - 

9.SPINDLE SPEED FUNCTION

(S FUNCTION)

  - Absolute commands and incremental commands 

Incremental commands are always used for positioning with a 
semi-fixed angle (using M codes). 
The direction of rotation can be specified with bit 1 (IDM) of 
parameter No. 4950. 
Absolute and incremental commands can be used for positioning with 
an arbitrary angle. 
With absolute commands for positioning with an arbitrary angle, when 
the rotation axis rollover function is used (bit 0 (ROA) of parameter 
No. 1008 is 1), shortcut control is also enabled (bit 1 (RAB) of 
parameter No. 1008 is 0). 
 

Program reference position

A

B

180°

90

°

 

 

G-code system A in 

lathe system 

G-code system B or C in 

lathe system, and 

machining center system

Command format 

Address 

used 

Command 

A-B in the 

above 

figure 

Address 

used and G 

code 

Command 

A-B in the 

above 

figure 

Absolute 
command 

Specify the end 
point with a 
distance from the 
program reference 
position. 

C180.0 ; 

G90, C 

G90 C180 .;

Incremental 
command

 

Specify a 
distance from 
the start point to 
the end point.

 

H90.0 ; 

G91, C 

G91 C90 .;

 

  - Feedrate during positioning 

The feedrate during positioning equals the rapid traverse speed 
specified in parameter No. 1420.     
For the specified speed, an override of 100%, 50%, 25%, and F0 
(parameter No. 1421) can be applied. 
 

 PROGRAMMING 

B-63944EN/03

 

 

- 234 - 

9. SPINDLE SPEED FUNCTION 

(S FUNCTION) 

9.4.3 

Canceling Spindle Positioning 

 
When modes are to be switched from spindle positioning to normal 
spindle rotation, the M code set in parameter No. 4961 must be 
specified. 
 
Also, the spindle positioning mode is canceled and the spindle rotation 
mode is set in the following cases: 
<1> A reset operation (including an emergency stop) occurs when a 

servo alarm is issued. 

<2> A reset operation (including an emergency stop) occurs when a 

spindle alarm is issued. 

<3> An orientation operation in progress is stopped due to a reset or 

alarm, or for some other reason. 

<4>  A reset operation (including an emergency stop) occurs when bit 

(IOR) 0 of parameter No. 4950 is 1. 

 

 CAUTION 

1  During execution of spindle positioning sequences 

(canceling the spindle rotation mode and entering 
the spindle positioning mode, positioning the spindle 
in the spindle positioning mode, and canceling the 
spindle positioning mode and entering the spindle 
rotation mode), the automatic operation stop signal 
*SP is invalid.    This means that automatic operation 
does not stop until all the sequences are completed, 
even when the *SP signal becomes 0. 

2  Dry run and machine lock cannot be performed 

during spindle positioning. 

3  Auxiliary function lock is disabled for M codes for the 

spindle positioning function. 

4  The serial spindle Cs-axis contour control function 

and the spindle positioning function cannot be used 
at a time.    If both options are specified, the spindle 
positioning function has priority. 

5  The spindle positioning axis is handled as a 

controlled axis.    Therefore, controlled axis-related 
signals (such as the overtravel signal) must be set. 

6  When using the rigid tapping function and the 

spindle positioning function concurrently, do not 
specify rigid tapping in spindle positioning mode or 
spindle positioning in rigid tapping mode. 

 

B-63944EN/03

 PROGRAMMING 

 

 

- 235 - 

9.SPINDLE SPEED FUNCTION

(S FUNCTION)

NOTE 

1  M code commands for positioning of a spindle must 

be specified in a single block. Other commands must 
not be contained in the same block. (Also, M code 
commands for positioning of another spindle must 
not be contained in the same block.) 

 

Even when the single-block, multiple-M code 
command function is also used, related M codes 
must be specified in a single block. 

2  Even when the single-block, multiple-M code 

command function is also used, related M codes 
must be specified in a single block. 

3  Axis address commands for positioning of a spindle 

must be specified in a single block. Other commands 
must not be contained in the same block. However, 
the following commands can be contained in the 
same block where axis address commands are 
specified: 

G00, G90, G91, G92 (G-code systems B and C in 
the T series, M series) 
G00, G50 (G-code system A in the T series) 

4  M code commands for spindle positioning specify M 

codes that are not buffered. 

5  Spindle positioning cannot be performed by manual 

operation (in jog feed, manual handle feed, manual 
numeric command, or other mode). 

6  Spindle positioning cannot be performed by PMC 

axis control. 

7  For spindle positioning, program restart and block 

restart operations cannot be performed.    Use the 
MDI for these operations. 

8  The stored stroke limit check is disabled for the 

spindle positioning axis. 

9  The axis removal function is disabled for the spindle 

positioning axis. 

10 The pitch error compensation function is disabled for 

the spindle positioning axis. 

11 When a setting is made to omit spindle orientation, 

the reference position return completion signal does 
not become 1. 

12 In spindle orientation, all-axis interlock and 

axis-specific interlock are checked only when a block 
is started. A signal is ignored if input during the 
execution of the block. 

13 A difference between a specified travel distance and 

an actual travel distance is maintained until spindle 
positioning mode is canceled. 

 

 

 

 

 

 

 

 

Content      ..     32      33      34      35     ..