Вы находитесь на странице: 1из 51

NC Programming for PUMA Turning Centers

Equipped with

Live Tools, Sub Spindle, Y- Axis

For PUMA Turning Centers


200M, 200MS, 230M, 230MS, 240M, 240MS, 300M, 300MS
1500Y/SY, 2000Y/SY, 2500Y/SY
1

TABLE OF CONTENTS
ROTARY AXIS FUNCTIONS................................................................................6
C - Axis .......................................................................................................................................................... 6
C-axis locking function................................................................................................................................. 6
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 (C-Axis Disconnected) ............................................................................................. 11
Sub Spindle Mode (C-Axis Disconnected)................................................................................................ 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


Simplified canned cycles for hole machining with C and Z-axis ............................................................ 16
Z-axis peck drilling, C-axis positioning ................................................................................................... 16
Z-axis tapping ............................................................................................................................................. 16
Example: Drilling and Tapping on the Front Face of a part .................................................................. 16
Simplified 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


Principle of Operation................................................................................................................................ 20
Layout of the X-C coordinate system........................................................................................................ 20
Programming Notes.................................................................................................................................... 20
Polar Coordinate Interpolation Example................................................................................................. 21
Geometry Layout........................................................................................................................................ 21
Cutter Compensation / Tool Offset ........................................................................................................... 21
NC Program for Sample Part.................................................................................................................... 22

CYLINDRICAL INTERPOLATION .....................................................................23


Principle of Operation................................................................................................................................ 23
Layout of the Z-C Coordinate system....................................................................................................... 23
Programming Notes.................................................................................................................................... 23
Formula for converting the length of an arc to degrees of rotation ....................................................... 24
Cylindrical Interpolation Example ........................................................................................................... 25

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


Y - Axis Design............................................................................................................................................ 27

X-Y Plane Layout ....................................................................................................................................... 28


Y- Z Plane Layout ...................................................................................................................................... 29
Notes for Y-axis operation ......................................................................................................................... 29

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


Parameter Settings related to Spindle Synchronization.......................................................................... 32
Setting the orientation angle for Spindle Synchronization ..................................................................... 32
Oriented spindle synchronization command............................................................................................ 33
Synchronized spindle stop command........................................................................................................ 33
Non- oriented spindle synchronization command ................................................................................... 33
Caution with G96 in Spindle Synchronization Mode .............................................................................. 34

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


Live center support with Sub Spindle....................................................................................................... 35
Cutoff Confirmation................................................................................................................................... 36
Sample Program1: Spindle Synchronization, Cutoff and Parts Transfer to Sub Spindle ................... 37
Sample Program 2: Spindle Synchronization, Cutoff and Parts Transfer to Sub Spindle .................. 38

BAR FEED OPERATION ...................................................................................39


M-codes used for the bar feed operation .................................................................................................. 39
Bar feed sub programs............................................................................................................................... 39
Bar Stopper (Tool for stopping the bar)................................................................................................... 39
Top cutting the front face of a new bar .................................................................................................... 39
End of bar-signal ........................................................................................................................................ 40
Timer Setting (M50/M51 time-out)........................................................................................................... 40
Inserting the bar feed command into the machining program............................................................... 40
Bar Feed Sub Program Call ...................................................................................................................... 40
Bar Reload Sub Program Call................................................................................................................... 40
Program Examples for use with bar feeder ............................................................................................. 40

M-CODE LIST FOR DAEWOO PUMA-TURNING CENTERS............................42


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

MISCELLANEOUS PROGRAMMING INFORMATION......................................47


G76 THREADING CYCLE TWO LINE FORMAT ........................................................................ 47
Programming Examples, using the G76-Thread Cutting Cycle............................................................. 48
G76 THREADING CYCLE - SINGLE LINE FORMAT.................................................................... 50

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:
Main Spindle Mode:
Sub Spindle Mode:

M-codes M33, M34, M35 switch the C-axis, ON


M-codes M3, M4, M5 switch the C-axis, OFF
M-codes M103, M104, M105 switch the C-axis, OFF

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.
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. There are two different locking functions available:
Low-pressure clamp M88 (Pressure is adjustable. Normal setting is ~125 PSI)
X/C axis interpolation is enabled while M88 is active. Rapid positioning is
disabled.
High-pressure clamp M89 (fixed at maximum hydraulic system pressure)
Both, rapid positioning axis interpolation are disabled while M89 is active.
Unlock command M90
Front view of Main and Sub spindle, PUMA 2500SY
6

C- AXIS
A - AXIS

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.

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
Low-pressure clamp M188 (Pressure is adjustable. Normal setting~125 PSI)
Axis interpolation is enabled while M88 is active. Rapid positioning is disabled.

High-pressure clamp M189 (fixed at maximum hydraulic system pressure)


Both, rapid positioning axis interpolation are disabled while M89 is active.
A-axis unclamp command M190
Switching the Rotary Axis Names by M-Code
For programmers 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 Caxis 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
M390 sets the condition so that M89 clamps the C-Axis, M189 clamps the Aaxis
M391 sets the condition so that M189 clamps the C-Axis. M89 clamps the Aaxis.

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:

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


To convert a feed rate from inches per revolution (IPR) into degrees per tool
rotation (/ REV) the formula is the same:

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


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 Caxis 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

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

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

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.

10

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 (C-Axis Disconnected)
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 startup in Turning-Mode or when switching from Live Tool-Mode to Turning-Mode.
Command
M5,M3 or M4

G0 G18G40
G80
G99
G96 S__
G97 S__

Explanation
These commands are normally used for starting or
stopping the main spindle. In addition, they will
automatically disconnect the C-axis. When the C-axis
happens to be clamped, at the time unclamping will be done,
automatically by these commands.
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)
IPR-feed mode should always be used for turning. (G99-mode
is set as default on power-up)
Constant surface speed control command is used for turning
only. Not to be used for drilling, tapping, milling or thread
cutting.
Constant (RPM) control command. Use G97 for drilling, tapping
milling or thread cutting. (G97-mode is set as default on powerup).

Sub Spindle Mode (C-Axis Disconnected)


For turning operations on the sub spindle, the commands as shown in the table,
below are applicable.
Command
M105,M103 or
M104

Explanation
These commands are normally used for starting or
stopping the sub spindle. In addition, they will
automatically disconnect the C-axis. When the C-axis
happens to be clamped, at the time unclamping will be done,
automatically by these commands.

11

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
M35

G0 G40 G80
M90
G28 H0
G50 C__
G97 S__M33,
M34
M206
G97 S__M119
M33
M34
M88
M89
G99
G98

Remarks
Live tool spindle rotation-stop command and C-axis-selection.
This command is used for switching from Turning-Mode to
Live- Tooling Mode.
The main spindle now serves as the C-axis.
Use these G-codes at the beginning of any program segment
where Canned cycles G81through G88 or cutter compensation
G41, G42 is used.
C-axis unclamp-command. Use at the beginning of any program
segment where C-axis clamp function (M88 or M89) is used.
C-axis Reference-point-return command. This command should
be used always after the C-axis has been newly activated.
G50 C only! No other axis. This may be used to pre-set the Caxis coordinates, at the reference point, if desired.
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.
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.
Sub spindle positioning (when applicable)
Live tool spindle-forward rotation command. Also activates the
C-axis.
Live tool spindle-reverse rotation command. Also activates the
C-axis.
C-axis low pressure clamp. Use only when necessary. C-axis
clamping may be required for heavy milling, drilling or broaching
operations on relatively large diameters.
C-axis high pressure clamp. Use only when necessary.
(See above)
IPR-feed mode may be used for any live tool operation, except
on machines built before 1998. (G99 set default on power-up).
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.

12

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
M289
M389

M290

M291

Description
Sets the C-axis clamp M-Code as M89 (normal)
The A-axis clamp M-code is M189
M289 Calls program O9001
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
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
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

13

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 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:
Sub Spindle:

#4077 S1
#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
(1000000000000)

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
180-degree angle: G97 S1800 M19 (multiply positioning angle by 10)
Any angle:
G97 S3599 M19 (not to exceed 3600 units)
Once commanded, the spindle is held in position under power by the spindle
motor. The M3, M4 or M5-command cancels spindle positioning.

14

System parameter 4077 S-1 sets the reference angle for the main spindle.
Angular positioning of the Sub spindle
The command for sub spindle positioning is as follows:
Zero-degree angle: G97 S0 M119
180-degree angle: G97 S1800 M119 (multiply positioning angle by 10)
Any angle:
G97 S3599 M119 (not to exceed 3600 units)
The M103, M104 or M105-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 5degree 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.

15

DRILLING AND TAPPING WITH LIVE TOOLS ON THE C-AXIS


Simplified canned cycles for hole machining with 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
G0G40G80G99
M90
M35
G28 H0
T0707
G97S2500M33
G0C0Z.5
X1.5 M8
Z.1
G83C0Z-.45.Q1250F.005M89
C90.Q1250M89
C180.Q1250M89
C270.Q1250M89
G0G80Z.5M90
X8.Z4.M35
M1

Tapping Program (Rigid Mode)


G0G40G80G99
M90
M35
G28 H0
T0808
G0C0Z.5
X1.5 M8
Z.1
G97S1000M29
G84C0Z-.35F.05M89
C90. M89
C180. M89
C270.M89
G0G80Z.5M90
X8.Z4.M35
M1

16

Simplified 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 the (4) holes -20-UN, 0.35 deep from the
OD.
Peck Drilling Program
G0G40G80G99
M90
M35
G28 H0
T0909
G97S2500M33
G0C0Z.5
X2.15 M8
Z-.5
G87X1.3C0Q1250F.005M89
C90.Q1250M89
C180.Q1250M89
C270.Q1250M89
G0G80X2.15
Z.5
X8.Z4.M35
M1

Tapping Program (Rigid Mode)


G0G40G80G99
M90
M35
G28 H0
T1010
G0C0Z.5
X2.25 M8
Z-.5
G97S1000M29
G88X1.3C0F.05M89
C90. M89
C180. M89
C270.M89
G0G80X2.2
Z.5
X8.Z4.M35
M1

17

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
G0G40G80G98
M35
T0707
G97S2500M33
M206
G0Z-.5
X1.5 M8
Z.-1
S0M119
M98P1234
S900M119
M98P1234
S1800M119
M98P1234
S2700M119
G0G80 Z-.5
X8.Z4.M35
M1
DRILLING SUB PROGRAM
O1234
M189G98
G83Z.45Q1250F12.5
G80Z-.1
M99

Tapping Program (Rigid Mode)


G0G40G80G98
M35
T0808
G0Z.-5
X1.5 M8
Z.-1
S0M119
M98P1235
S900M119
M98P1235
S1800M119
M98P1235
S2700M119
M98P1235
G0G80 Z-.5
X8.Z4.M35
M1
TAPPING SUB PROGRAM
O1235
M189G98
G97S1000M29
G84Z.45F50.
G80Z-.1
M99

18

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
G0G40G80G98
M35
T0707
G97S2500M33
M206
G0Z-.1
X2.15 M8
Z.5
S0M119
M98P1234
S900M119
M98P1234
S1800M119
M98P1234
S2700M119
G0G80 Z-.5
X8.Z4.M35
M1
DRILLING SUB PROGRAM
O1234
M189G98
G87x1.3Q1250F12.5
G80Z-.1
M99

Tapping Program (Rigid Mode)


G0G40G80G98
M35
T0808
G0Z-.1
X2.25 M8
Z.5
S0M119
M98P1235
S900M119
M98P1235
S1800M119
M98P1235
S2700M119
M98P1235
G0G80 Z-.5
X8.Z4.M35
M1
TAPPING SUB PROGRAM
O1235
M189G90
G97S1000M29
G88x1.3F50.
G80Z-.1
M99

19

POLAR COORDINATE INTERPOLATION FUNCTION G12.1


Principle of Operation
The polar coordinate interpolation function G12.1 simplifies programming of
linear and circular interpolation between the X-axis and a rotary axis.
Programming is done using Cartesian coordinates that are converted into polar
coordinates by the control.
Layout of the X-C coordinate system

Programming Notes
G12.1 activates the polar coordinate interpolation function. In this mode, the
rotary axis C is programmed the same way as if it were a linear axis. Input
of degree-units is no longer valid for the C-axis at this time.
G13.1 cancels the polar coordinate interpolation function, restoring the rotary
axis function back to degree-input.
In G12.1-mode, a coordinate along the horizontal axis X is expressed as a
diameter (twice the actual distance from origin). A coordinate along the
vertical axis C is expressed as the actual, linear distance from origin.
The origin (zero point) of the X-C coordinate system is fixed at the center
point of the rotary axis. The origin cannot be changed.

Syntax for Linear Interpolation command: G1 X__C__F__


Syntax for Circular Interpolation command:

20

G2 (G3) X__C__R__(I__) (J__) F__


Programming of arcs is done the normal way. Letters I and or J, or letter
R is used for arc specification.
Z-axis moves must be commanded in a block separately from X-C moves.
Cutter radius compensation commands (G40, G41 and G42) must be
commanded during G12.1-mode only.
The cutter radius as registered under R on the tool-offset tables is applied
for cutter radius compensation automatically.
The letter D for cutter radius compensation is not used.
The tool-vector T at the tool-offset tables is set at zero when a milling cutter
is used.
Positioning command G0 is not allowed in G12.1-mode
Plane select command G18 is used in G12.1-mode. Parameters #5460 &
#5461 set the interpolation axis names for polar coordinate interpolation.

Polar Coordinate Interpolation Example

The sketch, above shows two flat surfaces to be milled onto a 1.232 outside
diameter. The flat surfaces start at the front-face (Z0), ending at Z-0.625.
A -diameter end mill is to be used for cutting the flats. Points 1 through 6
describe the tool path. The coordinates X1.950, C0.5339 represent the start point
of the tool path.
Geometry Layout
When preparing a layout for the tool path geometry, it is advisable to start the
tool path on the positive side of the X-axis. The negative side of X as a start
point should be avoided. This is due to the limited travel of the X-axis on the
negative side.
A NC program for polar coordinate interpolation may include negative Xcoordinates. The X-axis will not actually travel to the negative side of X0.
Instead, the part is rotated around.
In the example shown, no cutting is done on the 1.025-arc between points 3
and 4. The arc has been added, so that both flats can be machined in a
continuous path. Since the arc is not actually machined, a high feed rate is
applied going around the arc.
Cutter Compensation / Tool Offset
The sketch, above shows the dimensions for the tool-center path. In theory,
cutter compensation might not be needed, in this case. However, it is
advantageous to apply the cutter compensation function, regardless. Cutter
compensation allows the operator to control the size of the entities machined by
changing the R-value of the tool offset.
21

A ramp-on-move must be programmed, together with the cutter


compensation command G41 or G40. A line perpendicular to the flat is to
be constructed for the ramp-on move.
Ramp-on Distance=0.1 when the tool center path is programmed.
Ramp-on Distance=0.1 plus cutter radius, when the part geometry only
is programmed.
A ramp-off-move is required for cancellation of the cutter compensation,
G40. A line in the same amount as shown, above, perpendicular away from
the flat is to be programmed.
In polar coordinate interpolation, size control cannot be achieved by
adjusting the X-axis tool offset. Adjusting the R-value for the cutter
compensation does size control.
The X-axis offset represents the diametrical distance between the x-axis
origin and the cutter center position. This offset value is usually zero, in case
of a standard axial milling attachment. Once it is set correctly, the value must
not be changed.
Faulty tool offset data or faulty coordinate data may result in concave or
convex shapes, instead of straight, linear shapes.

NC Program for Sample Part


(Note: The R-offset for this tool is set = 0 prior to cutting the part.
After checking the part size, adjust R plus or minus, as needed for size control)
M35
G40
G13.1
G30 U0 W0
G28 H0
T0808 (3/4 DIA. CUTTER)
G97 S2000 M33
G0Z.1 C0 M8
X2.1
G12.1
G1 G98 X1.950 C.5339 F60. (Point 1)
G1 Z-0.625 F10.
G1 G41 X1.750 F7. (Point 2)
G1 C-.5339 (Point 3)
G2 X-1.75 R1.025 F60. (Point 4) (No cutting is done on the arc)
G1 C.5339 F7. (Point 5)
G1 G40 X-1.950 F60. (Point 6)
G13.1
G99 G0 X2.5
Z.1 M35
G30 U0 W0. M9
M1

22

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 Hvalue 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.

Z-coordinates specify absolute dimensions parallel to the length of the


cylinder. The letter W can be used for incremental specification along the Zaxis.

23

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.

When diameter D is used to define the


circle, use this formula:
114.59156 = two radians.

C = L / R x 57.29578

C = L / D x 114.59156

24

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 parts circumference vertically and the parts length in horizontal direction.
Orientation of the part is the same as viewed looking down from the operators
side of the machine when the part is clamped in the chuck.

Converting linear coordinates to degrees of rotation

25

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

C = L x 39.5143
The table below shows the start-points and end-points for the lettering
Start point of letter J
End point of letter J
Start point of letter R
End point of letter R

X
2.9
2.9
2.9
2.9

Z
- 0.7
-.45
-0.3
-.3

C
0.4 * 39.5143 = 15.806
15.806
-0.1 * 39.5143 = -3.951
-0.4 * 39.5143 = -15.806

N100 (ENGRAVING LETTERS J & R )


G0G80G40G18
M35
G7.1H0
G28H0
T1111
G97M33S4000
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
G30U0M35
G30W0
M1

26

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.
Y - Axis Design
In theory, the Y-axis on a Turning Center runs perpendicular to the X and the Zaxis. 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 Xaxis. 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.

27

X-Y Plane Layout

Note:
Travel on the negative side of the X-axis is restricted due to limitation of the Xaxis 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.

28

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 M33, M34, M35 switch the
rotary axis ON, allowing Y-axis operation in automatic mode or in MDImode.

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


remain parked at its home position. M-codes M3, M4, M5, M103, M104,
M105 switch the rotary-axis OFF, prohibiting commands for Y-axis
movement.
29

Reference Return Command for Y-axis: G28 V0, (or G30 V0)

Y-axis positioning 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.

G0 Y___ (+/-) Absolute command


G0 V___ (+/-) Incremental command

30

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)

31

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


a) Setting the data of keep relay K0, bit 0 decides the type of spindle
synchronization that is performed.
Non-oriented spindle synchronization: K0.0 = 1
Oriented spindle synchronization:
K0.0 = 0
b) 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. Set keep relay 0.0=0
2. 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.
3. Execute following commands, either in MDI-mode or Auto-mode, single block:

M131
M169
G97 S0 M203

-Sub Spindle Chuck interlock bypass command


-opens the sub spindle chuck
-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.

32

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


error is measured by use of the C-axis position display.
5. Set Origin toH, on the Relative position display for the C-axis.
6. 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.
7. 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.
8. Adjust data setting on parameter #4034, accordingly. Repeat steps 2 to 8 until
perfect alignment is established.
Oriented spindle synchronization command
Set Keep Relay 0.0 =zero.
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 M203 (M204) Synchronizes spindles at 1000 RPM with
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

Synchronized stop command

Non- oriented spindle synchronization command


Set Keep Relay 0.0=1
Keep relay is set 1for applications where machined entities on each spindle have
no relationship concerning rotation angle to each other. Synchronization
command is possible with both chucks engaged with the work piece.

G97 S1000 M203 (M204) Synchronizes spindles at 1000 RPM with


simultaneous acceleration or deceleration.

33

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
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.

34

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
G300

Description
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 livecenter. 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 Baxis.
G301

Center Support OFF (cancel)


G301 Calls program O9011, canceling the torque control function.

35

Cutoff Confirmation
G-Code
G350

Description

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.

36

Sample Program1: Spindle Synchronization, Cutoff and Parts Transfer to


Sub Spindle
Program includes torque-skip function.
N1400( CUTOFF & TRANSFER)
G0G40G80G99
G50S3000M31
G53 B0M131
G30U0W0
T0303
M169
G97S1000M203
G0X3.Z-2.250S1500
G0B-15.2 S2000
M86
G31G98B-15.8 0 F30.
G99M168
M87
G0X2.1M8
G1X0 F.002

M5
G0B-3.5
G0X3.M9
G30U0W0
M105
M1

M31= main spindle interlock bypass


M131=sub spindle interlock bypass
M169=open sub spindle Chuck
M203= spindle synchronization-command
Positioning the cutoff tool at cutoff position
Step up rpm & bring sub chuck to within 0.1
to face of part
Torque Skip data setting
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.
M168= close sub chuck
Torque Skip data setting cancel
Final approach with cutoff tool
Cutoff
Part in sub spindle is now separated from bar
stock. Sub spindle axial pressure releases,
pushing slightly against cutoff tool.
Stop main spindle. This twist-off any
remaining material
Retract sub spindle
Retract cutoff tool
Stop sub spindle

37

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
T0303
G0Z-2.895M114
G97S1275M3X2.1
X1.2
G0B-14.986(1-INCH CLR.OF FACE)
G96S400M8
G1G99X.25F.002
U.02
G97S1500M169
M203
G4U1.
G0B-17.386(.1CLR)
M86
G31G98P99B-17.9F5. (B-17.811)
G99M87
WHILE[#5104NE0]DO1
END1
#100=0
#524=#5024

#525=#524+17.811
#525=ABS[#525]
IF[#525GT0.005]GOTO205
M168
M8
G1G99X-.01F.002
X2.1F.01
G0X4.

Interlock bypass
Move Z at cutoff position
Clean sub spindle chuck
Start main spindle, move X to part
Move B close to part
CSS & coolant on
Pre-cutoff
Tool release
Fixed spindle rpm
Synchronize spindles
B within 0.1 clear of shoulder
Torque skip on
B to to skip position
Torque skip off
Wait until B quits moving
Set alarm flag at zero
Store the current machine Coordinates
of the B-axis.
Calculate the difference between actual
and theoretical pickup position.
Make it a positive number
Check the tolerance. Skip to N205 if
not in tolerance. If within tolerance, do
next line.
Close the sub chuck
Cutoff all the way
Feed the tool back out (B-axis may
exert pressure onto the tool)
Clear the tool away from stock

38

N206G350(CUTOFF
CONFIRMATION)
G4U.5
GOTO206
N205#100=1
N206G53B0M105
G30U0M9
G30W0M5
IF[#100NE1]GOTO208
#3000=1(PICKUP N0 GOOD)

B axis attempts to close the gap left by


the cutoff tool. If it cannot move at least
0.05, alarm occurs.
Must have dwell command here
Skip the alarm flag
Set the alarm flag
Retract B axis
Retract X
Retract Z, main spindle off
If alarm flag not set, skip to N208
Alarm condition. #525 shows the
deviation from the expected pickup
position

N208M1

Bar Feed Operation


M-codes used for the bar feed operation
M5
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.

39

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 BlockSkip 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)


M5
(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)

40

Example 2: Bar Feed Sub Programs, for use with bar stopper, without top cutting.

O7000 (Bar Feed with bar stopper)


M5
(Spindle stop)
M9
(Coolant off)
T0707
(Bar stopper)
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)

O7001 (Bar Reload)


M50(M51)
M68
M99

*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)


M5
(Spindle stop)
M9
(Coolant off)
M31
(Chuck interlock-bypass
command)
M69
(Open chuck)
/2 M98 P7001 (If bar-end, go to reload program)
T0707
(Bar stopper)
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 G99 W1. (Retract Z)
X6.
(Retract X)
M99
(Return to Main Program)

O7001 (Reload & top cut)


M50(M51)
M68
M68
T0505 (Cutoff tool)
G96 S500 M3
G0 Z-.5 M8
X1.1
G1 G99 X-.02 F.002
G0 X6. M9
Z1. M5
M99

41

M-Code List for DAEWOO PUMA-Turning Centers


The table below shows M-codes that apply for most PUMA models
manufactured from year 1998 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 NCcommands.

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
M00
M1
M2
M3
M4
M5
M7
M8
M9
M10
M11
M13
M14
M15
M17
M18
**M19
**M19

Description
Program Stop
Optional Stop
Program Reset or Rewind and Reset
Main Spindle Forward
Main Spindle Reverse
Main Spindle Stop
High Pressure Coolant
Flood Coolant On
Coolant Off
Parts Catcher Advance
Parts Catcher Retract
Turret Air Blow
Main Spindle Air Blow ON
Main Spindle Air Blow OFF
Machine Lock ON
Machine Lock OFF
Main Spindle Orientation
360 Spindle Positioning, Spindle Indexing using Scommand, 0.1 increment. G97S1800M119=180

Feature
S
S
S
S
S
S
Option
S
S
Option
Option
Option
B
B
S
S
S
Option

42

M-Code
M20
M21
M22
M24
M25
M26
M27
M28
**M29
**M29
**M29
M30
M31
M33
M34
M35
M36
M37
M38
M39
M40
M41
M42
M43
M44
M46
M47
M48
M49
M50
M51
M52
M53
M54
M55
M56
M57
M58

Description

Feature

Indexing command (FANUC Control Option Required


Loader-Call, Robot Call
Option
Optional Block Skip ON
Y
Optional Block Skip Cancel
Y
Chip Conveyor Run
Option
Chip Conveyor Stop
Option
Hydraulic Tool Advance
Option
Hydraulic Tool Retract
Option
Polygon Mode ON (FANUC Control Option Required)
C
Rigid Tapping, Main Spindle rotation
(Option)
Rigid Tapping, Live Tool Spindle rotation
C
Rigid Tapping, Sub Spindle rotation
B
Program End With Rewind and reset
S
Interlock by-pass (Cycle operation with main chuck in
S
open condition or Tailstock advance / retract with
spindle running)
Live Tool-Spindle Forward Rotation
C
Live Tool-Spindle Reverse Rotation
C
Live Tool-Spindle Stop
C
Steady Rest Base Clamp
Option
Steady Rest Base Unclamp
Option
Steady Rest Right (1) Clamp
Option
Steady Rest Right (1) Unclamp
Option
Gear Change Neutral
Machines
Gear Change Low
with
Gear Change Middle
Spindle
Gear Change Middle or High
Drive Gear
Gear Change High
Box
Tailstock Body Unclamp & Traction-Bar engage.
Option
Tailstock Body Clamp. & Tract-Bar Retract.
Option
Override Invalid
S
Override Valid
S
Bar Feeder Command 1
S
Bar Feeder Command 2
S
Splash Guard Door Open
Option
Splash Guard Door Close
Option
Parts Count
S
Cycle Repeat after M30
S
Available on machines made after 06/2003 only
Tapping Cycle ON (Locks out single block operation,
S
feed hold. Speed and feed override during tapping )
Tapping Cycle Cancel
S
Steady Rest Left (2) Clamp
Option

43

M-Code
M59
M60
M61
M62
M63
M64
M65
**M66
**M66
M67
M68
M69
M70
M72
M73
M74
M75
M76
M77
M78
M79
M80
M81
M82
M83
M84
M85
M86
M87
M88
**M89
**M89
M90
M91
M92
M93
M94
M98

Description

Feature

Steady Rest Left (2) Unclamp

Option

Indexing while axis is moving


Switching Low Speed (Integral Spindle Motor)
Switching High Speed (Integral Spindle Motor)
Main-Spindle CW & Coolant On
Main-Spindle CCW & Coolant On
Main-Spindle & Coolant Off
Steady Rest Unclamp / Clamp during spindle
rotation.
Chuck low pressure clamp in case of dual chucking
system
Chuck high pressure clamp for dual chucking
Main-Chuck Clamp
Main-Chuck Unclamp
Dual-Pressure Tailstock, Quill Advance with Low
Pressure
Spindle Inverse Rotation (Used for left hand tapping
with G84 or G88 command)
Spindle Inverse Rotation Cancel
Error Detect On
Error Detect Off
Chamfering On
Chamfering Off
Tailstock Quill Advance
Tailstock Quill Retract
Q-Setter Swing Arm Down
Q-Setter Swing Arm Up
Mirror Image ON
Mirror Image OFF
Turret CW Rotation
Turret CCW Rotation
Torque Skip Active (M86 P99)
Torque Skip Cancel
Main Spindle Low Pressure Clamp, (C-axis)
Main Spindle High Pressure Clamp, (C-axis)
Main Spindle Locking, in 5-degree intervals
(Standard on PUMA 160G only)
Main Spindle Unclamp (160G and C-axis, standard)
User M-code, finish signal by external switch
User M-code, finish signal by external switch
User M-code, finish signal by timer on PMC
User M-code, finish signal by timer on PMC
Sub-Program Call

S
Y
Y
S
S
S
Option
Option
Option
S
S
Option
S
S
S
S
S
S
S
S
Option
Option
Y
Y
S
S
B
B
C
C
Option
Option
Option
Option
Option
Option
S
44

M-Code

Description

Feature

M99
M103
M104
M105
M108
M109
M110
M111
M114
M116
M117
M118
**M119
**M119

End of Sub-Program / Return to main program


Sub-Spindle Forward Rotation
Sub-Spindle Reverse Rotation
Sub-Spindle Stop
Sub Spindle TSC-Coolant ON
Sub Spindle TSC-Coolant OFF
Interference Check Invalid (MSY machines, Barrier)
Interference Check Valid (MSY-machines, Barrier)
Sub-Spindle Air Blow ON
Part Eject (Work piece eject)
Mist Collector ON
Mist Collector OFF
Sub-Spindle Orientation
Sub-Spindle Positioning using S-command, 0.1
increment
Part-Cutoff Confirm
Long Shaft Work
Interlock By-pass (Cycle operation with Sub-Spindle
chuck in open condition)
Rotary axis-disconnect command. M135 is valid only
after the M35-command. It disconnects the rotary
axis on the main spindle letting it free-wheel. When
the M35-command follows the M135, it disconnects
the rotary axis on the sub-spindle, letting it free
wheel, while the rotary axis on the main spindle is
active.
Sub-Spindle CW & Coolant On
Sub-Spindle CCW & Coolant On
Sub-Spindle & Coolant Stop
Sub Chuck Low Pressure Clamp
Sub Chuck High Pressure Clamp
Sub-Chuck Clamp
Sub-Chuck Unclamp
Sub Spindle (A-Axis) Low Pressure Clamp
Sub Spindle Locking, in 5-degree intervals
(M103, M104, M119 commands unlocks it )
Sub Spindle (A axis) High pressure Clamp
Sub Spindle Unclamp (A-axis)
B-axis Control Waiting Mode
B-axis Control Waiting Mode
Tool Load Monitor ON
Tool Load Monitor OFF
Spindle Forward, Main & Sub Phase Synchronization
Spindle Reverse, Main & Sub Phase Synchronization

S
B
B
B
B
B
Option
Option
B
B
Option
Option
B
B&C

M120
M125
M131
M135

M163
M164
M165
M166
M167
M168
M169
M188
**M189
**M189
**M190
**M190
**M191
M200
M201
M203
M204

Option
B
B
Y&B

B
B
B
Option
Option
B
B
Y&B
B&C
Y&B
Y&B
B
Y&B
Option
Option
B
B

45

M-Code
M205
M206
M250

Description
Spindle Synchronous Stop
Spindle Rotation Release, Two Spindle Control
Main, Sub or Live Tool Spindle independent speed
command during simultaneous spindle operation.
Service Mode
Allows restricted machine operation for service or
setup purposes while the safety door is open.

Feature
B
B or C
Option
(2004
models
only)

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
M289
M389

M290

M291

Description
Sets the C-axis clamp M-Code as M89 (normal)
The A-axis clamp M-code is M189
M289 Calls program O9001
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
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
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

46

Miscellaneous programming information


G76 THREADING CYCLE TWO LINE FORMAT
(Applicable with Fanuc Controls, T series, systems 0, 16, 18, 21. Also: Mitsubishi 500L,
50, 64)

FIRST COMMAND LINE: G76 P021060 Q05 R10 (see details, below)

P 02 10 60
02
10

60

Q05

R10

Specify P, followed by a six digit number.

=Number of finishing passes at the bottom of the thread (02 means 2


finishing passes) (Sets PAR 5142 see note 1)
=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)
=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)
=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)
=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

47

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.)
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.
4.)
Both, the direction of spindle rotation (M3 or M4) and the cutting direction (Zminus or Z-plus) distinguish between right-hand and left-hand thread cutting. On
a lathe where the spindle is located to the left of the turret, thread cutting is
normally done from right to left (Z-minus direction). With the spindle rotating in
counter clockwise direction (M3) as viewed when looking at the front of the
chuck, cutting from right to left produces a right-hand thread.

Programming Examples, using the G76-Thread Cutting Cycle


Example 1: Cutting a 1-10 UNS -external thread:
Action
1. Enter modal commands
2. Enter the tool and tool offset command
3. Enter the Spindle command
(Always use G97, NEVER G96)
4. Turn ON the coolant
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.
For X, allow 0.05 ~ 0.1 diametrical
clearance above the major diameter
(OD)
6. Enter the thread cutting cycle
7. Return the tool to the tool exchange point
Move the X-axis first, then Z
Optional stop

Program
G0 G18G40 G97 G99
T0101
G97 S100 M3 (M4)
M8
G0Z0.125
X1.075

G76 P020560 Q05 R0


G76 X0.875 Z-1.0 P625 Q250 F0.1
G0 X___
G0 Z___
M1

48

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


Action
1. Enter modal commands
2. Enter the tool and tool offset command
3. Enter the Spindle command
(Always use G97, NEVER G96)
4. Turn ON the coolant
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.
For X, allow 0.05 ~ 0.1 diametrical
clearance below the minor diameter (I.D.)
6. Enter the thread cutting cycle
7. Move the tool out of the bore, clearing the face
8. Return the tool to the tool exchange point
Move the X-axis first, then Z
Optional stop

Program
G0 G18G40 G97 G99
T0101
G97 S100 M3 (M4)
M8
G0Z0.125
X0.800

G76 P020560 Q05 R0


G76 X1.0 Z-1.0 P500 Q150 F0.1
G0 Z___
G0 X___
G0 Z___
M1

Notes: Source for thread dimensions used in the thread cutting cycles shown
above: Machinerys Handbook (Twentieth edition).

49

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. I this case, please display the SETTING
PAGE, then check the TAPE-F -setting. When TAPE-F is set = 0, the twoline 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__

=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.

=End position of the thread.

=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.

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


minor diameter, divided by 2.

=Depth of the first cut (Radius value). When K and D are the same, the
tread is `cut in a single pass.

=Lead: distance between two threads. (1 divided by the pitch), six digits
allowed after the decimal point.

=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.

=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

50

=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 UNS -external thread:
G0 G18G40 G97 G99
T0101
G97 S100 M3 (M4)
M8
G0Z0.125
X0.800
G76 X0.875 Z-1.0 K0.0625 D0.025 F0.1 A60 P1 Q0
G0 X___
G0 Z___
M1

It is possible to obtain a certain number of cutting passes by using the following


formula to calculate the depth of the first cut:
Where D = the depth of the first pass.
P = Is the radial height of a single thread.
N = Number of passes wanted minus spring passes.

D = P/ N

51

Оценить