NC Programming for PUMA Turning Centers

55
1 NC Programming for PUMA Turning Centers Equipped with Live Tools, Sub Spindle, Y- Axis For PUMA all Single Path Turning Centers with FANUC 31i, 32i controls

Transcript of NC Programming for PUMA Turning Centers

Page 1: NC Programming for PUMA Turning Centers

1

NC Programming for PUMA Turning Centers Equipped with

Live Tools, Sub Spindle, Y- Axis

For PUMA all Single Path Turning Centers with FANUC 31i, 32i controls

Page 2: NC Programming for PUMA Turning Centers

2

TABLE OF CONTENTS

ROTARY AXIS FUNCTIONS .................................................................................................................... 6

C - Axis .......................................................................................................................................................... 6

Rotary Axis Mode ......................................................................................................................................... 6

Changing the Rotary Axis Name ................................................................................................................. 6

C-axis locking function ................................................................................................................................. 7

Normal Rotary Axis Assignment for PUMA 1500, 2000, 2500 YS Models ............................................. 7

A - Axis .......................................................................................................................................................... 8

A-axis locking function ................................................................................................................................. 8

Switching the Rotary Axis Names by M-Code ........................................................................................... 8

Switching the Rotary Axis Clamp M-Code ................................................................................................ 8

Feed Rate Calculation for Linear Interpolation with Rotary Axis .......................................................... 9

SPINDLE MODE AND ROTARY AXIS MODE COMMANDS ............................ 11

Main Spindle Mode .................................................................................................................................... 11

For turning operations on the main spindle, the commands as shown in the table, below are applicable. These commands may be used at the initial program start-up in Turning-Mode or when switching from Live Tool-Mode to Turning-Mode. ................................................................................. 11

SPINDLE DESIGNATION, P- ASSIGNMENTS .................................................. 11

Rotary axis mode (C-Axis or A-Axis connected) ..................................................................................... 12

M-Codes for switching the Rotary axis Name .......................................................................................... 13

ANGULAR POSITIONING FUNCTION FOR SPINDLES ................................... 14

Spindle orientation ..................................................................................................................................... 14

Parameter Settings related to Spindle Orientation ................................................................................. 14

Angular spindle positioning ....................................................................................................................... 14

Angular Spindle positioning and spindle locking .................................................................................... 15

DRILLING AND TAPPING WITH LIVE TOOLS ON THE C-AXIS ..................... 16

Canned cycles for hole machining with the C and Z-axis ....................................................................... 16

Page 3: NC Programming for PUMA Turning Centers

3

Z-axis peck drilling, C-axis positioning .................................................................................................... 16

Z-axis tapping ............................................................................................................................................. 16

Example: Drilling and Tapping on the Front Face of a part .................................................................. 16

Canned cycles for hole machining with the C and X-axis ....................................................................... 17

X-axis peck drilling, C-axis positioning .................................................................................................... 17

X-axis tapping ............................................................................................................................................. 17

Example: Drilling and Tapping on the OD of a part ............................................................................... 17

DRILLING AND TAPPING WITH LIVE TOOLS ON THE SUB SPINDLE ......... 18

Z-axis peck drilling on the sub spindle ..................................................................................................... 18

Z-axis tapping ............................................................................................................................................. 18

Example: Drilling and Tapping on the Face of a part using Sub Spindle positioning. ........................ 18

X-axis peck drilling on the sub spindle ..................................................................................................... 19

X-axis tapping on the sub spindle ............................................................................................................. 19

Example: Drilling and Tapping on the OD of a part using Sub Spindle positioning. .......................... 19

POLAR COORDINATE INTERPOLATION FUNCTION G12.1 .......................... 20

Layout of the X-C coordinate system plane ............................................................................................. 20

Notes on programming with the G12.1 function ...................................................................................... 21

Programming example ............................................................................................................................... 24

CYLINDRICAL INTERPOLATION ..................................................................... 28

Principle of Operation ................................................................................................................................ 28

Layout of the Z-C Coordinate system ....................................................................................................... 28

Programming Notes.................................................................................................................................... 28

Formula for converting the length of an arc to degrees of rotation ....................................................... 29

Cylindrical Interpolation Example ........................................................................................................... 30

Y-AXIS PROGRAMMING FOR PUMA TURNING CENTERS ........................... 32

Y - Axis Design ............................................................................................................................................ 32

Page 4: NC Programming for PUMA Turning Centers

4

X-Y Plane Layout ....................................................................................................................................... 33

Y- Z Plane Layout ...................................................................................................................................... 34

Notes for Y-axis operation ......................................................................................................................... 34

WORK PIECE TRANSFER BETWEEN MAIN AND SUB SPINDLE .................. 36

Parameter Settings related to Spindle Synchronization .......................................................................... 37

Setting the orientation angle for Spindle Synchronization ..................................................................... 37

Oriented spindle synchronization command ............................................................................................ 38

Synchronized spindle stop command ........................................................................................................ 38

Non- oriented spindle synchronization command ................................................................................... 38

Caution with G96 in Spindle Synchronization Mode .............................................................................. 38

TORQUE CONTROL FUNCTIONS FOR B-AXIS .............................................. 40

Live center support with Sub Spindle ....................................................................................................... 40

Cutoff Confirmation ................................................................................................................................... 41

Sample Program1: Spindle Synchronization, Cutoff and Parts Transfer to Sub Spindle ................... 42

Sample Program 2: Spindle Synchronization, Cutoff and Parts Transfer to Sub Spindle .................. 43

BAR FEED OPERATION ................................................................................... 44

M-codes used for the bar feed operation .................................................................................................. 44

Bar feed sub programs ............................................................................................................................... 44

Bar Stopper (Tool for stopping the bar) ................................................................................................... 44

Top cutting the front face of a new bar .................................................................................................... 44

End of bar-signal ........................................................................................................................................ 45

Timer Setting (M50/M51 time-out) ........................................................................................................... 45

Inserting the bar feed command into the machining program ............................................................... 45

Bar Feed Sub Program Call ...................................................................................................................... 45

Bar Reload Sub Program Call ................................................................................................................... 45

Program Examples for use with bar feeder.............................................................................................. 45

Page 5: NC Programming for PUMA Turning Centers

5

M-CODE LIST FOR DOOSAN PUMA-TURNING CENTERS ............................ 47

MISCELLANEOUS PROGRAMMING INFORMATION ...................................... 51

G76 – THREADING CYCLE – TWO LINE FORMAT ........................................................................ 51

Right hand thread / left hand thread ........................................................................................................ 52

Thread height / depth of first pass ............................................................................................................ 52

G76 – THREADING CYCLE - SINGLE LINE FORMAT .................................................................... 54

Page 6: NC Programming for PUMA Turning Centers

6

ROTARY AXIS FUNCTIONS When machining with live tools a rotary-axis allows angular positioning of the work piece between zero and 360 degrees. The CNC system converts one of the lathe spindles into a rotary axis.

C - Axis PUMA Turing centers equipped with a turret and driven tools normally employ a rotary axis, called the C-axis. The main spindle motor drives the rotary axis. A position-encoding device attached to the spindle provides for positioning of the rotary axis at 0.001-degree resolution. Linear interpolation with the rotary axis, together with any other axis is possible. For circular interpolation between a rotary axis and a linear axis, special control functions such as polar coordinate interpolation or cylindrical interpolation is applied. The rotary axis is switched ON or OFF by M-codes, alternating between normal spindle operation and C-axis operation.

Rotary Axis Mode M35 Turns ON the C-axis (rotary-axis). On machines that are equipped with a rotary axis on both, the main as well as the sub spindle, additional M-codes are used as follows: M35 followed by M135 turns ON the rotary axis on the sub spindle.

• M34 disconnects the rotary axis from the main spindle, letting it “free-wheel”

• M134 disconnects the rotary axis from the Sub spindle, letting it “free-wheel”

Changing the Rotary Axis Name On machines equipped with two rotary axis, Macro call M-codes M290 and M291 are used for re-naming the rotary axis. M290 sets the C-axis on the main spindle and the A-axis on the sub spindle. M291 reverses the above name assignment. Reference Return Command: G28 H0, (or G30 H0) C-axis positioning Command: G0 C180.000 – Absolute command, degrees

G0 H180.000 - Incremental command, degrees Work offsets G54 through G59 or the coordinate system setting command G50 sets the work coordinates for the rotary axis. System parameter 1240 & 1250 sets the reference point (Home position) for the C-axis.

Page 7: NC Programming for PUMA Turning Centers

7

Linear Interpolation command: G98 G1 C___(H___) F___ (F = degrees of rotation per minute) G99 G1 C___(H___) F___ (F = degrees of rotation per tool revolution)

C-axis locking function During machining with live tools, locking of the C-axis can provide improved stability. High-pressure clamp M89 (fixed at maximum hydraulic system pressure) Rapid positioning axis interpolation is disabled while M89 is active. Unlock command M90 Front view of Main and Sub spindle, PUMA 2500SY

Normal Rotary Axis Assignment for PUMA 1500, 2000, 2500 YS Models The C-Axis (also referred to as C1-axis) normally assigned to the Main Spindle, on left side. The A-Axis (also referred to as C2-axis) normally assigned to the Sub Spindle, on right side.

C- AXISA - AXIS

+

+

Page 8: NC Programming for PUMA Turning Centers

8

A - Axis PUMA Turning centers that are equipped with a sub spindle and Y-axis include a rotary axis each on the main and on the sub spindle. The rotary axis on the sub spindle is assigned as the A-axis. NC programming for the A-axis is done same way as on the C-axis, except as noted, below. Reference Return Command: G28 A0, (or G30 A0) A-axis positioning Command: G0 A180.000 (Absolute position, degrees) No incremental command is available for A

A-axis locking function High-pressure clamp M189 (fixed at maximum hydraulic system pressure) Rapid positioning axis interpolation is disabled while M189 is active. A-axis unclamp command M190

Switching the Rotary Axis Names by M-Code For programmer’s convenience, the following M-Codes are used for re-naming the rotary axis: M290 This M-Code restores the normal axis name assignment, setting the C-axis on the main spindle and the A-axis on the sub spindle. M291 This M-Code inverts the normal axis name assignment, setting the C-axis on the sub spindle and the A-axis on the main spindle.

Switching the Rotary Axis Clamp M-Code M289 sets the condition so that M89 clamps the C-Axis, M189 clamps the A-axis M389 sets the condition so that M189 clamps the C-Axis. M89 clamps the A-axis.

Page 9: NC Programming for PUMA Turning Centers

9

Feed Rate Calculation for the Rotary Axis The feed rate for a rotary-axis is specified in units of angular velocity, either in degrees per minute or in degrees per tool revolution. To convert the tangential feed rate on the circumference of a circle that is defined by the radius R from inches per minute (IPM) into degrees per minute (°PM), the following formula is applied: To convert a feed rate from inches per revolution (IPR) into degrees per tool rotation (°/ REV) the formula is the same: The above formulas calculate the feed velocity for moving the rotary axis alone, not together with another axis. For example: Suppose that machining is done on the OD of a 1.5” diameter part, rotating the C-axis only. The tangential feed rate desired is 5” per minute. What is the required feed rate in degrees per minute? Answer: Feed rate required=5 x 57.296 / 0.75=382 degrees per minute

Feed Rate Calculation for Linear Interpolation with Rotary Axis Caution concerning the feed rate must be applied when linear interpolation between the rotary axis and the Z-axis is done. The tangential feed rate along the tool path becomes high when the arc length of the rotary axis move is relatively short in comparison to the travel distance along the Z-axis. The feed rate must be reduced, accordingly. It can be calculated as shown in the example, below. Example: Machining is done on the OD of a 1.5” diameter part, rotating the C-axis Angle = 30° while moving the Z-axis minus 1”, at the same time. The desired feed rate along the tool path F = 5”/minute. Calculate the feed rate to be used for the interpolation command: G1G98 H60. W-1.0 F___? Steps for calculation of the tangential feed rate: 1. Calculate the length of the 30° arc segment on the periphery of a 1.5”

diameter circle: Arc length=2Rxπ/360x60=2x0.75x3.14/360x30=0.392” 2. Calculate the length of the tool path: L= Square root of (0.392²+1²)=1.07”

F ° per minute =F (IPM) x 57.296 / R

F ° per revolution =F (IPR) x 57.296 / R

Page 10: NC Programming for PUMA Turning Centers

10

3. Calculate the time it should take for the 1.07” long cut, applying the feed rate of 5” per minute. Time = 60/5x1.07=12.84 seconds.

4. Calculate the feed rate in degrees per minute that is required for a rotation of 30 degrees in12.8 seconds: F=30/12.8*60=141 degrees per minute.

Or apply the following formula, where: F = feed rate in inches per minute,

A= C-axis rotation angle L = Length of the tool path

Feed rate in degrees per minute =5 x 30 / 1.07=141 degrees per minute Command line for above example: G1G98 H60.0 W-1.0 F141.

F ° per minute =F (IPM) x A / L

Page 11: NC Programming for PUMA Turning Centers

11

SPINDLE MODE AND ROTARY AXIS MODE COMMANDS

For PUMA Lathes, equipped with a C-axis, the program commands as shown below apply. Commands are shown for turning mode and for live tool mode, separately.

Main Spindle Mode

For turning operations on the main spindle, the commands as shown in the table, below are applicable. These commands may be used at the initial program start-up in Turning-Mode or when switching from Live Tool-Mode to Turning-Mode.

Spindle designation, P- Assignments Spindle speed calls must also include the spindles address as follows: Main Spindle P11 (M03 S1000 P11) (M04 S1000 P11) (M05 P11) Sub-Spindle P13 (M03 S1000 P13) (M04 S1000 P13) (M05 P13) Live tool P12 (M03 S1000 P12) (M04 S1000 P12) (M05 P12)

Command Explanation M5, M3 or M4 Must be used with: P11 for Main Spindle P13 for Sub Spindle

These commands are normally used for starting or stopping the main and sub spindle.

G0 G18 G40 G80

Use these G-codes at the beginning of any program segment where “Canned cycles” G81through G88 or cutter compensation G41, G42 is used. G18 (X-Z Plane select, default on power up)

G99 IPR-feed mode should always be used for turning. (G99-mode is set as default on power-up)

G96 S__P__ Constant surface speed control command is used for turning only. Not to be used for drilling, tapping, milling or thread cutting.

G97 S__P__ Constant (RPM) control command. Use G97 for drilling, tapping milling or thread cutting. (G97-mode is set as default on power-up).

Page 12: NC Programming for PUMA Turning Centers

12

Rotary axis mode (C-Axis or A-Axis connected) For Live Tool operations, the commands as shown in the table, below are applicable. These commands may be used at the initial program start-up in Live Tool-Mode or when switching from Turning-Mode to Live Tool Mode.

Command Remarks M35 This command is used for switching from Turning-Mode

to C-Axis Mode. The main spindle now serves as the C-axis.

G0 G40 G80 Use these G-codes at the beginning of any program segment where “Canned cycles” G81through G88 or cutter compensation G41, G42 is used.

M90 C-axis unclamp-command. Use at the beginning of any program segment where C-axis clamp function (M88 or M89) is used.

G28 H0 C-axis Reference-point-return command. This command should be used always after the C-axis has been newly activated.

G50 C__ G50 “C “only! No other axis. This may be used to pre-set the C-axis coordinates, at the reference point, if desired.

G97 S__M03 P__, or M04 P__

Constant (RPM) control command must be used always when C-axis is active. (G97-mode is set as default on power-up). Note: The G96 command must never be used in Live Tooling Mode.

M206 Allows simultaneous spindle rotation of more than one spindle at a time. This command is used just after sub spindle positioning is done. It will keep the live tool spindle running.

G97 S__M119 P13 Sub spindle positioning (when applicable) M03 P12 Live tool spindle-forward rotation command. M04 P12 Live tool spindle-reverse rotation command. M89 C-axis high pressure clamp. Use only when necessary.

(See above) G99 IPR-feed mode may be used for any live tool operation,

except on machines built before 1998. (G99 set default on power-up).

G98 IPM-feed mode may be used for any live tool operation. Preferably, the IPR (G99) feed mode should be used, if possible. For machines built before 1998, the IPM-feed mode must be applied for Live-Tooling operations.

Page 13: NC Programming for PUMA Turning Centers

13

M-Codes for switching the Rotary axis Name The table below shows special M-codes that apply for PUMA 1500SY, 2000SY and 2500SY models, only. These M-codes simplify programming by re-naming the rotary axis name assignment and the rotary axis-axis clamp M-codes. These M-codes call the sub programs as registered in NC-parameter tables # 6071 through # 6079.

M-Code Description M289 Sets the C-axis clamp M-Code as M89 (normal)

The A-axis clamp M-code is M189 M289 Calls program O9001

M389 Sets the C-axis clamp M-Code as M189 The A-axis clamp M-code is M89 (used when the C-axis is switched from the main spindle to the sub spindle) M389 Calls program O9002

M290 Sets the normal rotary axis assignments: The C-axis is located at the main spindle. The A-axis is located at the sub spindle. M290 Calls program O9003

M291 Inverts the rotary axis assignments: The C-axis is located at the main spindle. The A-axis is located at the sub spindle. M291Calls program O9004

Page 14: NC Programming for PUMA Turning Centers

14

ANGULAR POSITIONING FUNCTION FOR SPINDLES Angular positioning function for spindles can be utilized for machining with live tools. Angular positioning is applied typically on the sub spindle for the PUMA MS-series turning centers.

Spindle orientation When the spindle orientation option is provided the command M19 S0 P11 is used for positioning the main spindle at a preset rotation angle. Spindle orientation is used for applications such as bar pulling of polygon shaped stock, in-feeding of polygon shaped bar material from a bar feeding device, positioning of the chuck for loading of work pieces, etc.

Parameter Settings related to Spindle Orientation Entering data at system parameter 4077 does setting of the orientation reference angle. Main Spindle: #4077 S1 Sub Spindle: #4077 S3 Data range for parameter setting: zero ~ 4096, positive or negative value. One full rotation (360 degrees)=4096 units. One unit equals 0.088 degrees. (360/4096=0.088 degrees) One degree equals 11.3636 units. (4096=1000 Hexadecimal value, or 4096=Bit 12 =1 Binary value (1’0000’0000’0000) Caution: Parameter 4077 S2 must not be changed. This parameter sets the live tool spindle orientation position that is critical about alignment of the drive coupling.

Angular spindle positioning On machines where the spindle positioning option is available, positioning at a spindle rotation angle is possible in angular increments of 0.1 degrees. This function cannot do interpolation with another axis. Angular positioning of the main spindle The command for main spindle positioning is as follows: Zero-degree angle: G97 S0 M19 P11 180-degree angle: G97 S1800 M19 P11 (multiply positioning angle by 10) Any angle: G97 S3599 M19 P11 (not to exceed 3600 units) Once commanded, the spindle is held in position under power by the spindle motor. The M3 S__ P11, or M4 S__ P11 command cancels spindle positioning. System parameter 4077 S-1 sets the reference angle for the main spindle.

Page 15: NC Programming for PUMA Turning Centers

15

Angular positioning of the Sub spindle The command for sub spindle positioning is as follows: Zero-degree angle: G97 S0 M119 P13 180-degree angle: G97 S1800 M119 P13 (multiply positioning angle by 10) Any angle: G97 S3599 M119 P13 (not to exceed 3600 units) The M3 S__ P13, or M4 S__ P13 command cancels spindle positioning. System parameter 4077 S-3 sets the reference angle for the sub spindle.

Angular Spindle positioning and spindle locking When the spindle locking option is provided, angular positioning and locking of the spindle is possible. Spindle locking is available on the sub spindle for all PUMA MS-type turning centers. Angular positioning of the sub spindle is done the same way as described, above. However, locking of the spindle is available at 5° intervals, only. Hence, the angular positioning command is to be done in 5-degree increments from zero (S-command in 50-unit increments). • Once the spindle has been positioned at the desired angle, it can be firmly

locked by the M-code M189. The teeth of a gear attached to the spindle will be in alignment with the hydraulically powered locking pin every 5 degrees.

• No M-Code is used for unlocking the spindle. Spindle positioning or

spindle rotation command unlocks the spindle, automatically. • System parameter 4077 S3 is used for adjustment and setting the alignment

between the gear teeth and the locking pin.

Page 16: NC Programming for PUMA Turning Centers

16

DRILLING AND TAPPING WITH LIVE TOOLS ON THE C-AXIS

Canned cycles for hole machining with the C and Z-axis

Z-axis peck drilling, C-axis positioning G83 C___Z___Q___ P___F___

Z-axis tapping G84 C___Z___F___

Notes: C = C-axis position, X = X-end position, (diameter), Q = peck distance (No decimal point allowed with the Q. Repeat Q on each subsequent line), P = Dwell, F = Feed Rate. C-axis clamping command M89 is optional. It can be added to the cycle, as shown in the example, below.

Example: Drilling and Tapping on the Front Face of a part Drill (4) Holes, diameter 0.201 on the front face equally spaced on a 1.5” Diameter circle, 0.45” deep. Peck depth is 0.125”. Clamp the C-axis during drilling. Tap the 4 holes, ¼-20-UN, and 0.35 deep. Peck Drilling Program Tapping Program (Rigid Mode) G0G40G80G99 G0G40G80G99 M90 M90 M35 M35 G28 H0 G28 H0 T0707 T0808 G97S2500M03P12 G0C0Z.5 G0C0Z.5 X1.5 M8 X1.5 M8 Z.1 Z.1 G97S1000M29P12 G83C0Z-.45.Q1250F.005M89 G84C0Z-.35F.05M89 C90.Q1250M89 C90. M89 C180.Q1250M89 C180. M89 C270.Q1250M89 C270.M89 G0G80Z.5M90 G0G80Z.5M90 X8.Z4.M05P12 X8.Z4.M05 M34 M34 M1 M1

Page 17: NC Programming for PUMA Turning Centers

17

Canned cycles for hole machining with the C and X-axis

X-axis peck drilling, C-axis positioning G87 C___X___Q___ P___F___

X-axis tapping G88 C___X___F___

Notes: C = C-axis position, Z = Z-end position, Q = peck distance (No decimal point allowed with the Q. Repeat Q on each subsequent line), P = Dwell, F = Feed Rate. C-axis clamping command M89 is optional. It can be added to the cycle, as shown in the example, below.

Example: Drilling and Tapping on the OD of a part Drill (4) Holes, diameter 0.201, located at Z (minus)-0.5”. Holes equally spaced around a 2” OD. Drill through into the 1.5” diameter bore. Peck depth is 0.125”. Clamp the C-axis during drilling. Tap (4) holes ¼-20-UN, 0.35 deep from the OD. Peck Drilling Program Tapping Program (Rigid Mode) G0G40G80G99 G0G40G80G99 M90 M90 M35 M35 G28 H0 G28 H0 T0909 T1010 G97S2500M03P12 G0C0Z.5 G0C0Z.5 X2.25 M8 X2.15 M8 Z-.5 Z-.5 G97S1000M29P12 G87X1.3C0Q1250F.005M89 G88X1.3C0F.05M89 C90.Q1250M89 C90. M89 C180.Q1250M89 C180. M89 C270.Q1250M89 C270.M89 G0G80X2.15 G0G80X2.2 Z.5 Z.5 X8.Z4.M05P12 X8.Z4.M05P12 M34 M34 M1 M1

Page 18: NC Programming for PUMA Turning Centers

18

DRILLING AND TAPPING WITH LIVE TOOLS ON THE SUB SPINDLE The canned cycles shown below can be applied for drilling and tapping operations on the sub spindle on PUMA-MS type machines. Angular spindle positioning is applied.

Z-axis peck drilling on the sub spindle G83 Z___Q___ P___F___

Z-axis tapping G84 Z___F___

Example: Drilling and Tapping on the Face of a part using Sub Spindle positioning. Drill (4) Holes, diameter 0.201 on the face equally spaced on a 1.5” Diameter circle, 0.45” deep. Peck depth is 0.125”. Clamp the C-axis during drilling. Tap holes ¼-20-UN, 0.35 deep. Peck Drilling Program Tapping Program (Rigid Mode) G0G40G80G98 G0G40G80G98 T0707 T0808 G97S2500M03P12 G0Z.-5 M206 X1.5 M8 G0Z-.5 Z.-1 X1.5 M8 S0M119P13 Z.-1 M98P1235 S0M119P13 S900M119P13 M98P1234 M98P1235 S900M119P13 S1800M119P13 M98P1234 M98P1235 S1800M119P13 S2700M119P13 M98P1234 M98P1235 S2700M119P13 G0G80 Z-.5 G0G80 Z-.5 X8.Z4.M05P12 X8.Z4.M05P13 M01 M01 TAPPING SUB PROGRAM DRILLING SUB PROGRAM O1235 O1234 M189G98 M189G98 G97S1000M29P12 G83Z.45Q1250F12.5 G84Z.45F50. G80Z-.1 G80Z-.1 M99 M99

Page 19: NC Programming for PUMA Turning Centers

19

The canned cycles shown below can be applied for drilling and tapping operations on the sub spindle on PUMA-MS type machines. Angular spindle positioning is applied.

X-axis peck drilling on the sub spindle G87 X___Q___ P___F___

X-axis tapping on the sub spindle G88 X___F___

Example: Drilling and Tapping on the OD of a part using Sub Spindle positioning. Drill (4) Holes, diameter 0.201, located at Z 0.5”. Holes equally spaced around a 2” OD. Drill through into the 1.5” diameter bore. Peck depth is 0.125”. Clamp the C-axis during drilling. Tap the (4) holes ¼-20-UN, 0.35 deep from the OD. Peck Drilling Program Tapping Program (Rigid Mode) G0G40G80G98 G0G40G80G98 M35 M35 T0707 T0808 G97S2500M03P12 G0Z-.1 M206 X2.25 M8 G0Z-.1 Z.5 X2.15 M8 S0M119P13 Z.5 M98P1235 S0M119P13 S900M119P13 M98P1234 M98P1235 S900M119P13 S1800M119P13 M98P1234 M98P1235 S1800M119P13 S2700M119P13 M98P1234 M98P1235 S2700M119P13 G0G80 Z-.5 G0G80 Z-.5 X8.Z4.M05P12 X8.Z4.M05P12 M1 TAPPING SUB PROGRAM M1 DRILLING SUB PROGRAM O1235 O1234 M189G98 M189G98 G97S1000M29P12 G87x1.3Q1250F12.5 G88x1.3F50. G80Z-.1 G80Z-.1 M99 M99

Page 20: NC Programming for PUMA Turning Centers

20

POLAR COORDINATE INTERPOLATION FUNCTION G12.1 On a Turning Center that is equipped with a C-axis (rotary axis), interpolation between the linear axis “X” and the rotary axis “C” is possible by use of the G12.1-function. This function simplifies programming of shapes to be machined on the front face of a part, such as the rectangular shape with rounded corners as shown here. Machining of such shapes is accomplished by use of an end mill that is attached to a “Z-axis live tool attachment”, with the end mill pointing toward the front face of the part.

Programming with the G12.1-function is done on the X-C coordinate system plane. In this coordinate system plane the C–axis is regarded as a linear axis instead of a virtual rotary axis. Programming is done similar to the way it is done on a basic X-Y plane. Linear or circular interpolation can be done. Cartesian coordinates are used for defining either the part shape or the tool path geometry. In the G12.1-mode the control converts Cartesian coordinates to Polar coordinates, automatically.

Layout of the X-C coordinate system plane

• The diagram above shows the X-C coordinate system plane as viewed when looking at the front face of the main spindle.

• The address “X” defines a point by the distance from origin horizontally on diameter (Positive or negative value). “On diameter” means: twice the actual distance from origin.

• The address “C” defines a point by the actual distance vertically from origin (Positive or negative value). “C” is defined in linear units of measurement, not in angular units.

Page 21: NC Programming for PUMA Turning Centers

21

Notes on programming with the G12.1 function

• Plane selection The G18-plane select command must be active in G12.1-mode. On turning centers the X-Z coordinate system plane (G18) is set as the default plane. System parameter settings related to the G12.1-funtion are normally set to allow polar coordinate interpolation in the G18-plane.

• Coordinate system origin The Origin of the X-C coordinate system is fixed at the center of the revolving work spindle. The origin (X0, C0) must not be shifted.

• Angular orientation of the X-C coordinate system plane Angular orientation is set by the absolute C-axis (angle) that exists at the time when entering the G12.1 – mode. For example: when G0 C60.0 has been commanded before entering the G12.1-mode, the X-C coordinate system plane is set on a 60° angle relative to both the horizontal and vertical axis.

• Positioning command “G0” cannot be used in G12.1-mode. Positioning is done in G1- mode, using a feed rate of around 30” to 60” per minute, depending on application.

• Feed command In the G12.1-mode the feed velocity can be specified either by units of linear distance per minute (G98-mode) or by units of linear distance per spindle revolution (G99-mode). Use of excessive feed rate can adversely influence the accuracy of a machined shape. Recommend range of feed rates for polar coordinate interpolation is from 1” to around 10” per minute, depending on application. Feed rate must be reduced in case when circular interpolation is done near the X-C zero point. Velocity of the rotary axis may become excessive and as a result, servo errors or servo overload may occur.

• Incremental axis move command Address “U” can be used for incremental move command along the X-axis. U= horizontal distance from a current point to the next point – on diameter. Address “H” can be used for incremental move command along the C-axis. H= vertical distance from a current point to the next point.

• Linear interpolation command G1 X__C__F__ (absolute) or: U__H__ F__ (incremental)

Page 22: NC Programming for PUMA Turning Centers

22

Interpolation between X and Z or between C and Z cannot be done. Z-axis move command must be specified in a separate block, not together with X-axis or C-axis commands.

• Circular Interpolation command (G2 or G3) X__C__R__F__ (absolute) or: U__H__R__F__ (incremental) Addresses X and C define the end point of an arc. The address “R” defines the radius of an arc when the included angle of the arc segment is 180° or less. Addresses “I” and “J” can be used for defining the arc center. Address “I” specifies the actual distance and direction (+/-) from the start point of the arc to the arc center along the X-axis. Address “J” specifies the actual distance and direction (+/-) from the start point of the arc to the arc center along the C-axis. Command for arc of less than 360°: (G2 or G3) X_ C_ I_ J_ Command used for full circle: (G2 or G3) I_ or: J_

• Cutter compensation function In polar coordinate interpolation the cutter compensation function should always be used, regardless of programming method. Size control on a machined shape is done by use of the cutter compensation function, not by changing the X-offset data. G40 must be active at the time when entering the G12.1-mode. G41 or G42 must be commanded after the G12.1- command. G40 should be commanded before canceling the G12.1-mode. Cutter compensation commands should be done together with a G1-command, moving the tool onto the part or away from it. For example:

G1 G41 X_ or C_ F_ (“Ramp-ON”) G1 G40 X_ or C_ F_ (“Ramp-OFF”)

When ramping ON or OFF along the X-axis the moving distance must be greater than or equal to twice the “R-data”. When ramping ON or OFF along the C-axis the moving distance must be greater than or equal to the “R-data”.

• Cutter compensation data setting Cutter compensation data (R-offset) must be set under column “R” located in the tool offset data tables. Data setting depends on the programming method that has been used: a) When the program-coordinates represent the geometry of the tool

center-path, the R-data is set at zero, initially. b) When the program-coordinates represent the geometry of the actual

part shape, the actual cutter radius must be input on the R-data.

Page 23: NC Programming for PUMA Turning Centers

23

The “Tool nose type”- data (located at the column “T” at the tool-offset tables) is part of the cutter compensation data. On the offset number that is used for a milling cutter the “T” data must be set = 0. Tool offset data, including the “R” and “T”-data are activated by the tool offset command. (The “D”-command, such as used in machining center programming cannot be used).

• Adjusting the part size Suppose that an external hexagon shape was machined over-size by 0.005” (measurement across the flats). Under the condition that the cutter compensation function has been properly applied in the program, size adjustment on this part can be done by reducing the “R”-data in the tool offset table by the amount of -0.005”. Size control cannot be accomplished by adjusting the X-axis offset.

• Tool types to be used / touching-off tools

Machining in the G12.1-mode is normally done by use of a flat bottom end mill that is pointing toward the end-face of the part. This tool must be touched off (along the X-axis) at the cutter center, not at the periphery of the tool. Once the X-axis tool-offset for a given tool has been established accurately, it must not be modified later in attempting to control the size of the machined part. (Please refer to paragraph above). Erroneous tool offset data causes faulty part geometry. In polar coordinate interpolation, a flat bottom end mill that is pointing toward the OD of the part cannot produce an acceptable part shape. On some applications, a ball-nose end mill that is pointing toward the OD of the part can be used. This type of tool must be touched off along the X-axis at the center of the ball-nose.

• Programming the Tool approach point

Caution must be used when positioning the milling cutter near the OD of a part. The X-axis tool offset data is based on the cutter center, not the periphery. The tool approach point for the X-axis is calculated as follows: X= Part OD + Cutter diameter + clearance.

Page 24: NC Programming for PUMA Turning Centers

24

Programming example

The figure above left shows two flat surfaces to be machined on the front face of a 1.25” diameter part. A clearance diameter of 1.300” that intersects with both of the flats has been added to the figure on the right. The coordinates (X 1.0, C0.4153) located at the upper right corner and (X1.0, C-0.4153) located at the lower right corner will be used for preparing the machining program. The axial depth of the flats is assumed to be at Z-0.375” from the front face. A ½” diameter end mill is used for machining the two flats. Hints on programming and machining with the polar coordinate interpolation function

• Before programming the part, a simple part layout should be prepared. An end-view of the part should be drawn, showing the part just the way it is held by the chuck as viewed when looking toward the face of the chuck on the main spindle. In this layout the X-coordinates run horizontally and the C-coordinates run vertically. X-plus direction runs to the right of X0, C-plus direction runs from zero to 12 o’clock. The X-coordinates are specified on diameter, C-coordinates are specified as actual distance. Radii are specified as actual distance.

• For programming purposes it is assumed that the cutter approaches the part always from the 3 o’clock position (X- axis plus side) on your layout. When deciding the cutting start point it is recommended placing it at the plus-side of the X-axis.

• During machining of the flat surfaces as shown in the above example, the cutter does not actually move in a vertical direction. In the G12.1-mode, machining of a contour shape is accomplished by moving the cutter horizontally along the X-axis and by rotating the C-axis, synchronously.

• When negative X-axis coordinates are commanded in the program the cutter center will not actually travel past the minus side of X0. Instead, the C-axis is rotated around automatically so that machining on the negative quadrant is accomplished with the cutter always remaining on the plus-side of the X-axis.

Page 25: NC Programming for PUMA Turning Centers

25

Deciding the machining method The milling operation on this part can be programmed in various different ways. Examples for three different programming methods A, B and C are shown. Programming Method “A” The figure on right shows programming of the tool center-path. The cutter to be used is ½” on diameter. The X and C coordinates must be calculated, considering both the part geometry as well as the cutter radius. This programming method is used mostly by CAM software programming systems. Both surfaces are being machined by use of a continuous tool path. No actual machining is done on the 0.650”-radius. The cutter will clear the 1.25” part diameter. Hence the cutter can be moved around the arc at a high feed rate. The cutter compensation function should be applied, always. However the cutter radius amount entered in the tool-off data should be set either at zero or at a small (plus) amount which will make the part come out slightly oversize, initially. Programming example, using programming method “A” M5P11 Stop the main spindle M35 C-axis select command G40 Cutter comp cancel command G13.1 Polar coordinate interpolation cancel command G30 U0 W0 Tool exchange point G28 H0 Zero return C-axis T0808 (3/4” DIA. CUTTER) When the cutter center path is programmed the R-

offset for the tool is set = 0, initially. After inspecting the first part, adjust the R either plus or minus, as needed for size control. When

G97 S2000 M03P12 Live tool spindle ON G0Z.1 C0 M8 Z-approach, C-axis at zero degrees X2.15 X-approach (1.3+0.75+0.1=2.15) G12.1 Polar coordinate interpolation ON G1 G98 C.5339 F60. C-axis position at the first point of the contour

shape, use IPM - feed mode, if desired (Note: the C-command at this time represents a linear

Page 26: NC Programming for PUMA Turning Centers

26

dimension – not degrees) G1 G41 X1.75F7. (1) Cutter comp ON

X-axis position at the first point of the contour shape

Z-.88 Move the Z-axis to the desired depth on the part G1 C-.5339 (2) C-axis position at the second point of contour G2 X-1.75 R1.025 F60. (3) X-axis position at the third point of the contour (No

cutting is done on the arc, a high feed rate is used for the arc move )

G1 C.5339 F7. (4) Fourth point of the contour G1 G40 X-2.15 F60. Cutter comp OFF

The X-axis must move at least two times the “R”-value that is used in the tool offset

G13.1 Polar coordinate interpolation OFF G99 G0 X2.5 Retract X-axis & switch back to IPR- feed mode Z.1 M05P12 Retract Z-axis and stop milling spindle G30 U0 W0. M9 Second reference point return M34 Release C-Axis mode M1 Optional stop Programming Method “B” By this method, both surfaces are being machined in one continuous path similar to example “A”, above. However, in this case the X-C coordinates used for programming are the same as the actual part geometry, as shown on the figure on right. The cutter compensation function must be applied in this case, without fail. The cutter radius amount entered in the tool-off data must be the same as the actual cutter radius to be used, or slightly larger to produce a slightly oversized part. Programming Method “C” By this method, each one of the flats is programmed separately. One of the surfaces is machined at 0-degree angle first as shown on the left figure. Next, the part is rotated 180° then the other surface is machined as shown on the figure on right. The cutter compensation function must be applied in this case, without fail.

Page 27: NC Programming for PUMA Turning Centers

27

Preparing the machining program for methods “B” and “C” “Climb Cutting” is done in both cases. Hence the cutting start point coordinates in both cases are at X1.0 C0.4153. The automatic cutter compensation function G41 is applied. The cutting start point is located on the top right corner on each of the figures shown. The part dimensions as shown on the sketches can be ‘plugged’ directly into the program. Programming Method “B” Programming Method “C” NC Program –machining both of the flats in one continuous path, using a 1/2”-diameter cutter.

NC Program – doing each flat separately, using a 1/2”-diameter cutter.

N100 (MILL TWO FLATS CONTINUOUS PATH) G40 G13.1 T0101 M05P11 M35 G28 H0 G97 S1000 M03 P12 G0 Z.1 C0 X1.8 G12.1 G1 G98 C0.4153 F20. G1 G41 X1.0 F5. Z - .375 (depth of cut) C-0.4153 G2 X-1.0 R.650 F60. G1 C0.4153 F5. G40 X-1.8 G13.1 G0 Z0.1 G0 X—Z—M35 M34 M1

N100 (MILL TWO FLATS) G40 G13.1 T0101 M05P11 M35 G28 H0 G97 S1000 M03 P12 G0 Z.1 C0 X1.8 G12.1 (FLAT #1) G1 G98 C0.4153 F20. G1 G41 X1.0 F5. Z - .375 (depth of cut) C-0.4153 G40 X1.8 F20. G13.1 G0 Z0.1 G0 C180. G12.1 (FLAT #1) G1 G98 C0.4153 F20. G1 G41 X1.0 F5. Z - .375 (depth of cut) C-0.4153 G40 X1.8 F20. G13.1 G0 Z0.1 G0 X—Z—M35 M34 M1

Page 28: NC Programming for PUMA Turning Centers

28

CYLINDRICAL INTERPOLATION

Principle of Operation The cylindrical interpolation function “G7.1” allows circular interpolation between the Z-axis and a rotary axis. Programming is done using Cartesian coordinates for the Z-axis and degrees of rotation for the rotary axis. Arc specifications are given in units of linear measurement. Typical applications for this function include engraving operation for lettering or for milling of cam shapes on the circumference of a cylinder.

Layout of the Z-C Coordinate system The sketch below shows the Z-C coordinate system.

Programming Notes • Plane Select Command: G18

• G7.1H < 0 or G7.1 C < 0 activates the cylindrical interpolation function. An H-

value or a C-value greater than zero specifies the radius of the cylinder to be machined. For example: Cylindrical interpolation mode is set by this command: G1 G18 W0 H0 followed by G7.1 H0.75 in separate block.

• G7.1 H0 or G7.1 C0 cancels the cylindrical interpolation function.

Page 29: NC Programming for PUMA Turning Centers

29

C º = L / D x 114.59156°

C º = L / R x 57.29578°

• Z-coordinates specify absolute dimensions parallel to the length of the cylinder. The letter “W” can be used for incremental specification along the Z-axis.

• C- axis rotation is specified as an absolute angle in degrees. The letter “H” for incremental angle specification can be used, instead.

• X-coordinates specify absolute dimensions on the OD of the cylinder. The

letter “U” can be used for incremental specification along the X-axis. • Positioning G0 cannot be done when cylindrical interpolation mode is active. • Linear interpolation G1 is possible with all three axes, simultaneously. • Circular interpolation (G2, G3) between Z-linear coordinates and C- angular

coordinates is performed automatically by the control using the G7.1-function. Circular interpolation between X and C axis cannot be done.

• Arc radius specification. The letter “R” must be used for arc specifications.

Letters I J or K cannot specify an arc radius in cylindrical interpolation. • Cutter Radius Compensation Functions (G40, G41and G42) can be

applied. The cutter radius as registered under “R” on the tool-offset tables is applied for cutter radius compensation automatically.

• Tool path: For programming purposes, the surface on the circumference of a

cylinder is laid out in the shape of a rectangle whose length is equal to the cylinder diameter times pi. The height equals the height of the cylinder. The tool path is then projected onto this rectangle. Horizontal dimensions are to be converted from linear to angular C axis coordinates. The Vertical dimensions represent Z-axis coordinates. The zero point of the coordinate system can be decided at an arbitrary location.

Formula for converting the length of an arc to degrees of rotation The use of RADIANS can simplify conversion from linear units to degree-units. To convert the length of an arc for a segment of a circle into degrees of rotation, the following formula is applied: C = Degrees of rotation, L = linear distance R = radius of the circle, 57.29578° = one radian.

Page 30: NC Programming for PUMA Turning Centers

30

When diameter “D” is used to define the circle, use this formula: 114.59156° = two radians.

Cylindrical Interpolation Example The letters “J and R” to be engraved around the OD of a 2.9”-diameter part, using cylindrical interpolation-function G7.1 A 1/32-radius ball-nose end mill is used for engraving the letters. In order to define the tool path, coordinates X, C and Z for every point on the entities are required.

Layout of tool path In order to simplify programming the cylindrical surface of the part to be machined is represented in form of a flat sheet that measures the equivalent of the part’s circumference vertically and the part’s length in horizontal direction. Orientation of the part is the same as viewed looking down from the operator’s side of the machine when the part is clamped in the chuck.

Page 31: NC Programming for PUMA Turning Centers

31

Converting linear coordinates to degrees of rotation For the sample part at hand the factor for converting linear units into degrees is calculated as follows: 1 / 2.9 x 114.59156 = 39.514331º per 1” of linear distance

The table below shows the start-points and end-points for the lettering X Z C Start point of letter J 2.9 - 0.7 0.4 * 39.5143 = 15.806º End point of letter J 2.9 -.45 15.806 Start point of letter R 2.9 -0.3 -0.1 * 39.5143 = -3.951º End point of letter R 2.9 -.3 -0.4 * 39.5143 = -15.806º N100 (ENGRAVING LETTERS J & R ) G0G80G40G18 M35 G7.1H0 G28H0 T1111 G97M03S4000P12 G0Z-.7 G0X3.1.C15.806 M8 G1G98 G18W0H0 G7.1H1.45 X2.9F5. C3.951 Z-.45 G3Z-.45C15.805R.15 G1X3.5F200. Z-.3C-3.951 G1X2.9F5. Z-.7 C-10.8664 G3Z-.45C-10.866R.125 G1C-3.9514 C-10.866 G1Z-.3C-15.8057 G1X3.1F200. G7.1H0 G30U0M05P12 G30W0 M34 M1

C º = L x 39.5143º

Page 32: NC Programming for PUMA Turning Centers

32

Y-AXIS PROGRAMMING FOR PUMA TURNING CENTERS

Instructions shown here apply for PUMA CNC Turning Centers, series 1500Y, 2000Y and 2500 Y or SY with FANUC-control models 18i –T and 31i.

Y - Axis Design In theory, the Y-axis on a Turning Center runs perpendicular to the X and the Z-axis. Machining on three planes is possible by use of live tools. On the machine models as listed, above, the Y-axis virtually runs on a 30-degree angle to the X-axis. This design allows for compact construction and improved stability. When Y-axis movement is commanded, both the X-axis and the Y-axis are moving automatically synchronized so that the resultant tool path of the Y-axis is perpendicular to the X-axis.

Page 33: NC Programming for PUMA Turning Centers

33

X-Y Plane Layout

Note: Travel on the negative side of the X-axis is restricted due to limitation of the X-axis stroke. The X-axis will let the cutter center travel approximately 2 inches maximum, radially past the spindle center. However, the interference between the turret body and the sub spindle body varies, depending on the position of the Z and B-axis. The safe maximum travel past center is only 0.1 inch, radially.

Page 34: NC Programming for PUMA Turning Centers

34

Y- Z Plane Layout

Note: Part Layout for programming purpose is done, looking at the part from the back of the cutter, not from the front of the machine. Positioning of the cutter in axial direction is done by the X-axis. Dimensions specified on diamter.

Notes for Y-axis operation • During manual Zero-return mode the Y-axis first then the X-axis must be

“homed”, independently in this order.

• The rotary axis must be active in order to command Y-axis operation in

automatic mode or in MDI-mode. M-codes M35 or, M135 switch the rotary axis ON, allowing Y-axis operation in automatic mode or in MDI-mode.

• During machining operations with non-rotating tools, the Y-axis must

remain “parked” at its home position. M34 and M134 switch the rotary-axis OFF, prohibiting commands for Y-axis movement.

Page 35: NC Programming for PUMA Turning Centers

35

• Reference Return Command for Y-axis: G28 V0, (or G30 V0) • Y-axis positioning Command: G0 Y___ (+/-) Absolute command

G0 V___ (+/-) Incremental command • The zero point for the Y axis can be shifted by work offsets G54 through

G59 or by coordinate system setting command G50. • Plane select command G17 allows circular interpolation between the X

and Y-axis. Due to limitation of the X-axis movement at negative coordinates, please pay attention, avoiding collision that may occur between the turret and sub spindle body.

• Plane select command G18 (default on power up) allows circular

interpolation between the X and the Z-axis.

• Plane select command G19 allows circular interpolation between the Y

and the Z-axis

• Helical interpolation between Y and Z-axis with the X-axis used for the

axial dimension of the helix is possible when the “3-D Helical Interpolation Option” is available on the system.

• Diameter programming is used. All X-coordinates are “on diameter”.

Page 36: NC Programming for PUMA Turning Centers

36

WORK PIECE TRANSFER BETWEEN MAIN AND SUB SPINDLE Transferring a work piece from one spindle to the other is done with the B-axis that transports the sub spindle. Moving the sub-spindle onto the main spindle allows “handing-over” the work piece from one spindle to the other. Normally, machining is done on the main spindle at first then the part is transferred to the sub spindle for additional machining to be done on the back-end of the part. The following aspects need to be considered for work transfer operations: • Chucking equipment on the sub-spindle.

The sub-spindle that normally serves as the “Receiver” of the transferred part uses either a three-jaw chuck or a True-Length type collet chuck. No axial movement of the collet must occur while closing the chuck, such as is the case with a standard collet chuck. The use of compactly designed collet chucks is preferred. For example: Type 3-J DL, with reduced collet nose diameter is best. Larger chucks cause interference with turret and cutting tools during parts transfer.

• Chucking equipment on the main-spindle.

The main-spindle can use either a three-jaw chuck or a standard collet chuck, for most applications. The use of compactly designed collet chucks is preferred. For applications that employ the sub spindle for advancing (“pulling”) of bar stock, either a three-jaw chuck or a True-Length type collet chuck is required.

• Non oriented, synchronized spindle rotation.

This feature allows synchronizing the spindle rotation with both spindles engaged on the work piece at the same time. Synchronization can be done from spindle stopped condition. Both spindles operate in unison, at precisely synchronized rotation. This type of synchronization is applied typically for turning of long shafts that are clamped by the chucks at each end. Alternatively, it can be used for cutting off a part from the bar stock then transferring it to the sub spindle. Timing or orientation between the two spindles in this case is at random. (See details for parameter settings, below)

• Oriented and synchronized spindle rotation.

Synchronization of the spindle rotation angle on each spindle is done before commencement of synchronized rotation. This function establishes and maintains the rotation angle relationship between entities machined separately on the main spindle and on the sub spindle. The condition for using this feature is that only one spindle is connected to the work piece. The chuck on the other spindle needs to be opened, before synchronization can occur. (See details for parameter settings, below)

Page 37: NC Programming for PUMA Turning Centers

37

• B-axis torque control functions. a) B-axis torque skip function. This function allows seating of the sub spindle

chuck in axial direction firmly against the work piece to be transferred, before closing the chuck.

b) Cutoff confirmation. B-axis torque control function is used for checking the actual separation between work piece and bar stock after cutoff.

Parameter Settings related to Spindle Synchronization

Phase synchronization angle (orientation) is shifted by following system parameters: Main Spindle: System parameter #4034-S1 Sub Spindle: System parameter #4034-S3

Data range for parameter setting: zero ~ 4096, positive or negative value. One full rotation (360 degrees)=4096 units. One unit equals 0.088 degrees. (360/4096=0.088 degrees) One degree equals 11.3636 units.

Setting the orientation angle for Spindle Synchronization When a part is to be transferred from the main to the sub spindle, precise alignment with the jaws or collet chuck on the sub spindle may be required. For example: when gripping on a polygon shape with the sub-spindle chuck, the following procedure is used for checking and setting the synchronized orientation position. 1. In handle mode, move the B-Axis with the sub spindle chuck as close to the

face of the part. Both spindles must be allowed to rotate freely, without touching the part.

2. Execute following commands, either in MDI-mode or Auto-mode, single block:

M131 -Sub Spindle Chuck interlock bypass command M169 -opens the sub spindle chuck G97 S0 M213 P11 -synchronizes orientation on both spindles by rotating

each of the spindles at their respective orientation position, as set by parameter #4034. Both spindles are now locked in position by the spindle motor.

3. At this time, the synchronized orientation position can be checked. Alignment

error is measured by use of the C-axis position display. 4. Set “Origin” to“H”, on the “Relative” position display for the C-axis.

Page 38: NC Programming for PUMA Turning Centers

38

5. Switch to handle mode. The motor releases both spindles at this time. Do not touch or move the spindles. Activate the C-axis mode by pushing the C-axis button on the operation panel.

6. Find the angular mismatch between jaws and the work piece by rotating the C-axis until the sub spindle jaw lines up with the part.

7. Adjust data setting on parameter #4034, accordingly. Repeat steps 2 to 8 until perfect alignment is established.

Oriented spindle synchronization command • The jaws or collet of one of the two chucks must be opened before the

spindle synchronization command. This will allow each spindle to perform orientation, independently, without being connected to each other by the work piece.

The following series of commands are used in the order as shown when synchronizing the spindles: M131 Sub Spindle Chuck interlock bypass command M169 opens the sub spindle chuck G97 S1000 M213 P11 Synchronizes spindles at 1000 RPM with

or M214 P11 simultaneous acceleration or deceleration.

Synchronized spindle stop command When both spindles are running in synchronized mode, it is possible to do a synchronized stop. Both spindles come to a stop, synchronously. The synchronized spindle stop command is used only when both spindles are engaged with the work piece. M205 P11 Synchronized stop command

Non- oriented spindle synchronization command Synchronization command is possible with both chucks engaged with the work piece. G97 S1000 M203 P11 Synchronizes spindles at 1000 RPM with

M204 P11 simultaneous acceleration or deceleration.

Caution with G96 in Spindle Synchronization Mode The G96-command may cause erratic acceleration or deceleration when machining is done on relatively small work diameter. This is typically the case during cutoff operation where the cutoff tool is moved to X0. Consequently, slippage between the sub spindle chuck and the work piece may occur, when

Page 39: NC Programming for PUMA Turning Centers

39

both chucks are engaged with the work piece. Slippage causes error in angular relationship between entities that are machined on each spindle separately. It is best to do the cutoff operation as follows: 1. Position the cutoff tool a little above the bar stock diameter with the Z-axis at

the correct position for cutting off. 2. Start-up the main-spindle in G96-mode and move the B-axis close to the part. 3. Cut a groove to the smallest possible part diameter, leaving enough material

so that the part will not break away from the bar stock. At the bottom of the groove, slightly retract the tool. (“U0.01)

4. Synchronize both spindles in G97-mode at the desired RPM. Then gripping the part with the sub spindle, completing the cutoff operation.

For reliable operation in spindle synchronization mode, the spindle speed should be kept between 60 and 2500 RPM.

Page 40: NC Programming for PUMA Turning Centers

40

Torque Control Functions for B-axis The table below shows special G-codes that apply for PUMA 1500SY, 2000SY and 2500SY models, only. These G-codes command B-axis torque control functions. G-codes call the sub programs as registered in NC-parameter tables # 6050 through # 6059.

Live center support with Sub Spindle G-Code Description G300 Live-Center Support with B-axis “ON”

G300 Calls program O9010 Program Example: Attach a suitable work support device to the sub spindle, such as a live-center. Then insert the following commands into the program: 1. G0 B___ ---Position the B-axis within 0.1” to 0.2”, clear of the end of

the work-piece that is to be supported. Synchronize the spindle RPM for main and sub spindle, if desired.

2. G300 B-200. –G300 calls the sub program. The “B”-command sets the torque for the B-axis. “B-200.” Means 20% of the available torque applied on the B-axis in “minus” direction. The B-axis now commences to move in negative direction, pushing the live center onto the work, applying the specified torque.

3. X__Z__ Start the machining operation with live center in place. 4. G301 --G301 Calls the sub program O901, canceling the torque

control mode. This command is required before positioning the B-axis.

G301 Center Support “OFF” (cancel)

G301 Calls program O9011, canceling the torque control function.

Page 41: NC Programming for PUMA Turning Centers

41

Cutoff Confirmation G-Code Description G350 Cutoff confirmation

G350 Calls program O9011 Use the cutoff confirmation command for cutoff operation in combination with work piece transfer from main to sub spindle only. Program Example: Upon separation of the work-piece from the bar stock, retract the cutoff tool with the X-axis, so that the tool clears the OD of the bar stock. Now, insert the following commands into the program: 1. G350----Calls the sub program O9012. The B-axis will now attempt

to close the gap that exists between the bar stock and the work piece, automatically. When the movement of the B-axis is less than 0.04”, an alarm occurs, signaling that the work piece has not been separated from the bar stock. When the movement is greater than 0.04, no alarm will occur.

2. G4 U0.5---A dwell time of 0.5 seconds is required. 3. G0 B___ Positioning command, clearing the sub spindle out of the

way.

Page 42: NC Programming for PUMA Turning Centers

42

Sample Program1: Spindle Synchronization, Cutoff and Parts Transfer to Sub Spindle

Program includes torque-skip function.

N1400( CUTOFF & TRANSFER) G0G40G80G99 G50S3000M31 M31= main spindle interlock bypass G53 B0M131 M131=sub spindle interlock bypass G30U0W0 T0303 M169 M169=open sub spindle Chuck G97S1000M203 P11 M203= spindle synchronization-command G0X3.Z-2.250S1500 P11 Positioning the cutoff tool at cutoff position G0B-15.2 S2000 P11 Step up rpm & bring sub chuck to within 0.1”

to face of part M86 Torque Skip data setting G31G98B-15.8 0 F30. Command the B-axis to move by 0.1” past the

point where the shoulder on the chuck bottoms out on the face of the part.

G99M168 M168= close sub chuck M87 Torque Skip data setting cancel G0X2.1M8 Final approach with cutoff tool G1X0 F.002 Cutoff Part in sub spindle is now separated from bar

stock. Sub spindle axial pressure releases, pushing slightly against cutoff tool.

M5 Stop main spindle. This twist-off any remaining material

G0B-3.5 Retract sub spindle G0X3.M9 Retract cutoff tool G30U0W0 M05 P13 Stop sub spindle M1

Page 43: NC Programming for PUMA Turning Centers

43

Sample Program 2: Spindle Synchronization, Cutoff and Parts Transfer to Sub Spindle Program includes torque-skip function, pickup position check and cutoff confirmation G350. N200(CUTOFF & TRANSFER) G0G18G40G99 G53B0 G30U0 G30W0M131 Interlock bypass T0303 G0Z-2.895M114 Move Z at cutoff position

Clean sub spindle chuck G97S1275M03P11X2.1 Start main spindle, move X to part X1.2 G0B-14.986(1-INCH CLR.OF FACE) Move B close to part G96S400P11M8 CSS & coolant on G1G99X.25F.002 Pre-cutoff U.02 Tool release G97S1500P11M169 Fixed spindle rpm M203 P11 Synchronize spindles G4U1. G0B-17.386(.1CLR) B within 0.1” clear of shoulder M86 Torque skip on G31G98P99B-17.9F5. (B-17.811) B to to skip position G99M87 Torque skip off WHILE[#5104NE0]DO1 Wait until B quits moving END1 #100=0 Set alarm flag at zero #524=#5024 Store the current machine Coordinates

of the B-axis. #525=#524+17.811 Calculate the difference between actual

and theoretical pickup position. #525=ABS[#525] Make it a positive number IF[#525GT0.005]GOTO205 Check the tolerance. Skip to N205 if

not in tolerance. If within tolerance, do next line.

M168 Close the sub chuck M8 G1G99X-.01F.002 Cutoff all the way X2.1F.01 Feed the tool back out (B-axis may

exert pressure onto the tool) G0X4. Clear the tool away from stock

Page 44: NC Programming for PUMA Turning Centers

44

N206G350(CUTOFF CONFIRMATION)

B axis attempts to close the gap left by the cutoff tool. If it cannot move at least 0.05”, alarm occurs.

G4U.5 Must have dwell command here GOTO206 Skip the alarm flag N205#100=1 Set the alarm flag N206G53B0M105 Retract B axis G30U0M9 Retract X G30W0M5 Retract Z, main spindle off IF[#100NE1]GOTO208 If alarm flag not set, skip to N208 #3000=1(PICKUP N0 GOOD) Alarm condition. #525 shows the

deviation from the expected pickup position

N208M1

Bar Feed Operation

M-codes used for the bar feed operation M05 P11 Stop the spindle M9 Stop the coolant M31 Chuck interlock bypass (allows operation in auto mode with chuck open) M69 Open the chuck M50 (M51) Bar-push command (M50 or M51 depending on wiring connections) M68 Close the chuck

Bar feed sub programs Using separate sub-programs that contain all the necessary commands for the bar feed operation is recommended. (See sample programs O7000 and O7001 shown below)

Bar Stopper (Tool for stopping the bar) When a SERVO-type bar feeder is at hand, ordinarily no bar stopper is required. However, in some cases the user may choose to use a bar-stopper anyway for improved accuracy and reliability. When a bar stopper is used, the bar-feed program needs to be modified, accordingly.

Top cutting the front face of a new bar The front end-face of a new bar in some cases may have to be cutoff or machined separately from the normal machining operation. In this case, the top cutting can be included in the bar-reload sub program if desired.

Page 45: NC Programming for PUMA Turning Centers

45

End of bar-signal The bar feeder sends a signal to the NC at the time when there is not enough material left for the next bar-advance. The bar-end signal operates the Block-Skip Switch “/ 2” on the NC. This feature allows the NC to distinguish between normal bar feed out and bar reload operation. When M50 is commanded at the time the bar-end signal is “ON” the bar feeder ejects the remnant material first, then automatically loads a new bar. The bar stopper must not block the front of the spindle at this time.

Timer Setting (M50/M51 time-out) Timer T32 in the PMC-Parameters sets the time-out for the M50 & M51 function. Standard setting is 20 seconds. When the bar feed out or bar reload, time exceeds the set time an alarm occurs.

Inserting the bar feed command into the machining program In a bar-machining program, the bar feeding operation is done typically after all machining operations have been completed. The bar feed command is normally inserted into the machining program near the bottom.

Bar Feed Sub Program Call N7000 M98 P7000 (Bar feed sub program call.) Insert this command near the bottom the machining program.

Bar Reload Sub Program Call /2M98 P7001 (Bar reload sub program call.) This command is needed only for applications where a bar-stopper is used or when top cutting is done. Insert this command into the bar feed sub program O7000.

Program Examples for use with bar feeder Example 1: Bar Feed Sub Program, for use without bar stopper or without top cutting. O7000 (Bar Feed) M05 P11 (Spindle stop) M9 (Coolant off) M31 (Chuck Interlock-bypass command) M69 (Open chuck) M50 (M51) (Bar-push command) M68 (Close chuck) M99 (Return to Main Program)

Page 46: NC Programming for PUMA Turning Centers

46

Example 2: Bar Feed Sub Programs, for use with bar stopper, without top cutting. O7000 (Bar Feed with bar stopper) O7001 (Bar Reload) M05 P11 (Spindle stop) M50(M51) M9 (Coolant off) M68 T0707 (Bar stopper) M99 M31 (Chuck interlock-bypass command)

M69 (Open chuck) /2 M98 P7001 (If bar-end, go to reload program) G0 *Z1. (Positioning Z) X0 (Positioning X) G1G98 *Z0.02 *F100. (Feed to bar stop position) M50(M51) (Bar-push command) M68 (Close chuck) G0 W1. (Retract Z) *X6. (Retract X) M99 (Return to Main Program) *Note* Please modify the Z-coordinates and feed rate shown above to suit the application. Example 2: Bar Feed Sub Programs, for use with bar stopper, with top cutting. O7000 (Bar Feed with bar stopper) O7001 (Reload & top cut) M05 P11 (Spindle stop) M50(M51) M9 (Coolant off) M68 M31 (Chuck interlock-bypass command)

M68

M69 (Open chuck) T0505 (Cutoff tool) /2 M98 P7001 (If bar-end, go to reload program) G96 S500 M3 T0707 (Bar stopper) G0 Z-.5 M8 G0 *Z1. (Positioning Z) X1.1 X0 (Positioning X) G1 G99 X-.02 F.002 G1G98 *Z0.02 *F100. (Feed to bar stop position) G0 X6. M9 M50(M51) (Bar-push command) Z1. M5 M68 (Close chuck) M99 G0 G99 W1. (Retract Z) X6. (Retract X) M99 (Return to Main Program)

Page 47: NC Programming for PUMA Turning Centers

47

M-Code List for DOOSAN PUMA-Turning Centers The table below shows M-codes that apply for most PUMA models manufactured from year 2009 and up. Gantry-loader models are not included in this list. Actual availability of the M-codes as shown may vary, depending on machine type and optional equipment furnished. In order to verify the existence of an M-code within the PMC; please use the search-function in the PMC-Ladder. Press “Search” then key-in the M-code then press “Search”, again. When the function is not present, the message: “Symbol not found” is displayed. Please note that some of the M-codes that exist in the PMC will not work unless the necessary peripheral devices or Control Option for a specific M-function has been installed. Note for programming of M-Codes: In a NC program, one M-code only is allowed per block. An M-code can be specified on the same block, together with other NC-commands. Feature Code: S= Standard M-code for all machines

B= Standard M-code for Machines with B-axis & Sub Spindle C= Standard M-code for Machines with C-axis Y= Standard M-code for Machines with Y-axis

Option = Peripheral device and or Control Option is required ** M-Codes with same number but different function, or for different machine type

M-Code Description Feature M00 Program Stop S M1 Optional Stop S M2 Program Reset or Rewind and Reset S M3 Main Spindle Forward S M4 Main Spindle Reverse S M5 Main Spindle Stop S M7 High Pressure Coolant Option M8 Flood Coolant On S M9 Coolant Off S M10 Parts Catcher Advance Option M11 Parts Catcher Retract Option M14 Main Spindle Air Blow ON B M15 Main Spindle Air Blow OFF B M17 Machine Lock ON S M18 Machine Lock OFF S

**M19 P11 Main Spindle Orientation S **M19 P11 360° Spindle Positioning, Spindle Indexing using S-

command, 0.1° increment. G97S1800M119P13=180° Indexing command (FANUC Control Option Required

Option

Page 48: NC Programming for PUMA Turning Centers

48

M-Code Description Feature M20 Loader-Call, Robot Call Option M21 Optional Block Skip ON Y M22 Optional Block Skip Cancel Y M24 Chip Conveyor Run Option M25 Chip Conveyor Stop Option M28 Polygon Mode ON (FANUC Control Option Required) C

**M29 Rigid Tapping, Main Spindle rotation (Option) **M29 Rigid Tapping, Live Tool Spindle rotation C **M29 Rigid Tapping, Sub Spindle rotation B M30 Program End With Rewind and reset S M31 Interlock by-pass (Cycle operation with main chuck in

open condition or Tailstock advance / retract with spindle running)

S

M34 C1-Axis Select Off C M35 C1-Axis Select On C M36 Auto Steady Rest Base Unclamp Option M37 Auto Steady Rest Base Clamp Option M38 Steady Rest Right (1) Clamp Option M39 Steady Rest Right (1) Unclamp Option M40 Gear Change Neutral

Machines with

Spindle Drive Gear

Box M41 Gear Change Low

Option M42 Gear Change Middle M43 Gear Change High

Option

M48 Tapping mode select (Override Invalid) S M49 Tapping mode cancel (Override Valid)

M50 Bar Feeder Command 1 M51 Bar Feeder Command 2 M54 Parts Count M55 Cycle Repeat after M02 / M30 S M58 Steady Rest Left (2) Clamp Option M59 Steady Rest Left (2) Unclamp Option M66 Left Chucking Low Pressure Option M67 Left Chucking High Pressure Option M68 Main-Chuck Clamp S M69 Main-Chuck Unclamp S M70 Dual-Pressure Tailstock, Quill Advance with Low Option

Page 49: NC Programming for PUMA Turning Centers

49

M-Code Description Feature M73 Touch Probe Off Option M74 Touch Probe On Option M76 Q-Setter Swing Arm Up Option M77 Q-Setter Swing Arm Down Option M78 Tailstock Quill Advance Option M79 Tailstock Quill Retract Option M80 Z-Axis Mirror Image Off S M83 Z-Axis Mirror Image On S M86 Torque Skip Active (M86 P99) S M87 Torque Skip Cancel S

**M89 Main Spindle High Pressure Clamp, (C-axis) S **M89 Main Spindle Locking, in 5-degree intervals

(Standard on PUMA 160G only) S

M90 Main Spindle Unclamp (160G and C-axis, standard) B M91 User M-code, finish signal by external switch Option M92 User M-code, finish signal by external switch Option M93 User M-code, finish signal by timer on PMC Option M94 User M-code, finish signal by timer on PMC Option

M98 Sub-Program Call S

M99 End of Sub-Program / Return to main program S M108 Sub Spindle TSC-Coolant ON B M109 Sub Spindle TSC-Coolant OFF B M110 Interference Check OFF Option M111 Interference Check ON Option M114 Sub-Spindle Air Blow On B M115 Sub-Spindle Air Blow Off B M116 Part Eject (Work piece eject) B

**M119 P13 Sub-Spindle Orientation B **M119 P13 Sub-Spindle Positioning using S-command, 0.1°

increment B&C

M131 Interlock By-pass (Cycle operation with Sub-Spindle chuck in open condition)

B

M134 C-2 Axis Select Off Option M135 C-2 Axis Select On Option M138 Bed Shower Coolant On S M139 Bed Shower Coolant Off S M161 Right Spindle Winding Change Low Speed B M162 Right Spindle Winding Change High Speed B M166 Sub Chuck Low Pressure Clamp Option M167 Sub Chuck High Pressure Clamp Option

Page 50: NC Programming for PUMA Turning Centers

50

M-Code Description Feature M168 Sub-Chuck Clamp B M169 Sub-Chuck Unclamp B

**M189 Sub Spindle Locking, in 5-degree intervals B & C **M189 Sub Spindle (A –axis) High pressure Clamp Y & B **M190 Sub Spindle Unclamp (A-axis) Y & B M200 Tool Load Monitor Off Option M201 Tool Load Monitor On Option

M203 P11 Spindle Forward, Main & Sub Synchronization (non oriented)

B

M204 P11 Spindle Reverse, Main & Sub Synchronization (non oriented)

B

M205 P11 Spindle Synchronous Stop B M206 Spindle Rotation Release, Two Spindle Control

Main, Sub or Live Tool Spindle independent speed command during simultaneous spindle operation.

B or C

M213 P11 Spindle Forward, Main & Sub Phase Synchronization (with orientation)

B

M214 P11 Spindle Reverse, Main & Sub Phase Synchronization (with orientation)

B

M250 Service Mode Allows restricted machine operation for service or setup purposes while the safety door is open.

Option

M289 Canned Cycle Auto-Unlock M89 on Left Spindle Option M389 Canned Cycle Auto-Unlock M89 on Right Spindle Option M290 Normal, C-Axis Assignment, C on Left A on Right Option M291 A-Axis Assignment on Left C-Axis on Right Option

Page 51: NC Programming for PUMA Turning Centers

51

Miscellaneous programming information

G76 – THREADING CYCLE – TWO LINE FORMAT This format is applicable with Fanuc Controls, T series, systems 0, 16, 18, 21 and 30 series. Also: Mitsubishi 500L, 50, 64. FIRST COMMAND LINE: G76 P021060 Q05 R10 (see details, below) P 02 10 60 Specify “P”, followed by a six digit number. 02 =Number of finishing passes at the bottom of the thread (02 means 2

finishing passes) (Sets PAR 5142– see note 1) 10 =Chamfer-width or pullout-width at the “Z” end position of the thread.

Chamfer size is expressed in1/10th fractions of the lead. 10: means the chamfer-width equals one lead. 05: means the chamfer width equals ½ of lead. 00: means no chamfer. See note 3, below. (Sets PAR 5130)

60 =The included angle between the thread flanks. This decides the in-feed angle for the tool. In-feed angle = ½ of the input angle. Normally, 60° is used for standard threads. Other angles, such as: 80°, 60°, 55°, 30°, 29° or 0° can be specified (Sets PAR 5143)

Q05 =Minimum cutting depth. The system automatically calculates the

depth of cut, which becomes progressively smaller with each pass. It rounds off the depth for the last pass to the Q-value. (Sets PAR 5140)

R10 =Material allowance for finishing passes at bottom of thread (Sets PAR 5141)

SECOND COMMAND LINE: G76 X__ Z__ P__ Q__ R__ F__ (see details, below) X =Diameter of the thread. For an external Thread – specify the minor diameter.

For an internal Thread - specify the major diameter. In case of taper threads, specify the diameter at the opposite end from the start point.

Z =End position of the thread. P =Height of the thread. Calculation: Major diameter minus minor diameter,

divided by 2 (Radius value, without decimal point) See note 2 below. Q =Depth of the first cut. If “P” and “Q” are the same, the thread is cut in a single

pass. (Radius value without decimal point) See note 2, below R =Taper: Radial height difference of taper slope. Calculate the height

difference for the taper as follows: I =TAN [taper angle per side] times thread

Page 52: NC Programming for PUMA Turning Centers

52

length + Z-clearance at start of thread]. Specify a negative value for OD taper thread. Specify a positive value for ID taper thread.

F =Lead. Distance between two threads. (1 divided by the pitch), six digits

allowed after the decimal point. NOTES:

1.) Upon execution of the G76-cycle all data contained on the first G76-command line is automatically stored in the parameter tables.

2.) 2.) Specify values for “P” and “Q” without a decimal point. For example: 0.0001”=1, 0.001”=10 0.01”=100 0.1”=1000 1.0”=10000

3.) Specifying a chamfer (pullout distance) reduces possible damage to the last thread lead near the Z-end position.

Right hand thread / left hand thread Right hand or left hand thread cutting is decided by the direction of spindle rotation (M3 or M4) and by the cutting direction (Z- minus or Z-plus). Additionally, please apply the following rule: “Right hand Thread – use right hand tool” - “Left hand thread – use left hand tool” Right hand thread on Main Spindle: Left hand thread on Main Spindle: Use a right hand tool, insert down Use a left hand tool, insert up Spindle rotation direction = M03 P11. Spindle rotation direction = M04 P11 Cutting direction Z-minus Cutting direction Z-minus Right hand thread on Sub Spindle: Left hand thread on Sub Spindle: Use a right hand tool, insert up Use a left hand tool, insert down Spindle rotation direction = M04 P13. Spindle rotation direction = M03 P13 Cutting direction Z-plus Cutting direction Z-plus

Thread height / depth of first pass In the G76 Cycle the depth of the first pass decides the number of passes Calculation of either the number of passes or the depth of the first pass is possible by applying one of the formulas as shown below: D = the depth of the first pass. P = the radial height of a single thread. N = Number of passes (minus spring passes)

Page 53: NC Programming for PUMA Turning Centers

53

Example 1: Cutting a 1”-10 UNS -external thread:

Action Program

1. Enter modal commands G0 G18G40 G97 G99 2. Enter the tool and tool offset command T0101 3. Enter the Spindle command

(Always use G97, NEVER G96) G97 S100 M03 P11 (M04 P11)

4. Turn ON the coolant M8 5. Move the tool to the start position of the thread

For “Z”, allow 125 % of the Lead for start-up clearance away from the thread Move “Z” fist, then “X”.

G0Z0.125

For “X”, allow 0.05” ~ 0.1” diametrical clearance above the major diameter (OD)

X1.075

6. Enter the thread cutting cycle G76 P020560 Q05 R0 G76 X0.875 Z-1.0 P625 Q250 F0.1

7. Return the tool to the tool exchange point Move the “X”-axis first, then “Z” Optional stop

G0 X___ G0 Z___ M1

Example 2: Cutting a 1”-10 UNS -internal thread:

Action Program

1. Enter modal commands G0 G18 G40 G97 G99 2. Enter the tool and tool offset command T0101 3. Enter the Spindle command

(Always use G97, NEVER G96) G97 S100 M03 P11(M04 P11)

4. Turn ON the coolant M8 5. Move the tool to the start position of the thread

For “Z”, allow 125 % of the Lead for start-up clearance away from the thread Move “Z” fist, then “X”.

G0Z0.125

For “X”, allow 0.05” ~ 0.1” diametrical clearance below the minor diameter (I.D.)

X0.800

6. Enter the thread cutting cycle G76 P020560 Q05 R0 G76 X1.0 Z-1.0 P500 Q150 F0.1

7. Move the tool out of the bore, clearing the face G0 Z___ 8. Return the tool to the tool exchange point

Move the “X”-axis first, then “Z” Optional stop

G0 X___ G0 Z___ M1

Page 54: NC Programming for PUMA Turning Centers

54

G76 – THREADING CYCLE - SINGLE LINE FORMAT (Applicable with Fanuc Controls, T series, systems 10, 11, 12 AND 15T) Fanuc Controls, system 0, 16, 18 and 21 T-series can use this format when the tape format setting option is available. In this case, please display the “SETTING PAGE”, then check the “TAPE-F” -setting. When “TAPE-F” is set = 0, the two-line format is valid (see previous page). When it is set = 1, the single-line format is valid. This setting will affect all G70-series canned cycles, not just the threading. Cycle Format: G76 X__ Z__ I__ K__ D__ F__ A__ P__ Q__ X =Diameter of the thread. For an external Thread – specify the minor

diameter. For an internal Thread - specify the major diameter. In case of taper threads, specify the diameter at the opposite end from the cutting start point.

Z =End position of the thread. I =Taper: Radial height difference of taper slope. Calculate the height

difference for the taper as follows: I =TAN [taper angle per side] times thread length + Z-clearance at start of thread]. Specify a negative value for OD taper thread. Specify a positive value for ID taper thread.

K =Height of the thread, radius value. Calculation: Major diameter minus

minor diameter, divided by 2. D =Depth of the first cut (Radius value). When “K” and “D” are the same, the

thread is `cut in a single pass. F =Lead: distance between two threads. (1 divided by the pitch), six digits

allowed after the decimal point. A =Tool nose angle or angle between thread flanks. This decides the in-feed

angle for the tool, feeding in at ½ of the input angle. Normally, 60° is used for standard threads. (Range: 0 to 120 degrees, in 1-degree increments). When “A” is omitted it is regarded as 0, straight in-feed is applied.

P =Cutting method:

P1=constant chip load, single edge cutting P2=constant chip load, zigzag in-feed, alternating cutting edges P3=constant cut depth, single edge cutting P4=constant cut depth, zigzag in-feed

Page 55: NC Programming for PUMA Turning Centers

55

Q =Spindle rotation shift angle. Data range is from 0 to plus or minus 360000 (360 degrees = 360000, without decimal point). This function is used for cutting of multiple-Lead threads. For example: in case of a 3-start thread the shift angle is 120 degrees between each thread. Hence, the first thread lead is cut, using Q=0, the second at Q=120000 and the third at Q=240000, where the Z-axis start position remains the same for each thread.

Example: Program for cutting a 1”-10 two-start external thread: G0 G18 G40 G97 G99 T0101 G97 S100 M03 P11 (M04 P11) M8 G0Z0.125 X0.800 G76 X0.875 Z-1.0 K0.0625 D0.025 F0.2 A60 P1 Q0 (FIRST THREAD) G76 X0.875 Z-1.0 K0.0625 D0.025 F0.2 A60 P1 Q180000 (SECOND THREAD) G0 X___ G0 Z___ M1 NOTE: The thread lead for multi start threads is calculated as follows:

Lead = Number of Starts X Pitch .

Example: For the 1”-10 two start thread above: Pitch = (1 ÷ 10 TPI) = 0.1 Number Of Starts (2) X Pitch (.1) = .2 F=0.2