Академический Документы
Профессиональный Документы
Культура Документы
Equipped with
Live Tools, Sub Spindle, Y- Axis
1
TABLE OF CONTENTS
C - Axis .......................................................................................................................................................... 6
Normal Rotary Axis Assignment for PUMA 1500, 2000, 2500 YS Models ............................................. 7
A - Axis .......................................................................................................................................................... 8
Feed Rate Calculation for Linear Interpolation with Rotary Axis .......................................................... 9
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
2
Z-axis peck drilling, C-axis positioning .................................................................................................... 16
Canned cycles for hole machining with the C and X-axis ....................................................................... 17
DRILLING AND TAPPING WITH LIVE TOOLS ON THE SUB SPINDLE ......... 18
Z-axis peck drilling on the sub spindle ..................................................................................................... 18
Example: Drilling and Tapping on the Face of a part using Sub Spindle positioning. ........................ 18
Example: Drilling and Tapping on the OD of a part using Sub Spindle positioning. .......................... 19
Programming Notes.................................................................................................................................... 28
3
X-Y Plane Layout ....................................................................................................................................... 33
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
4
M-CODE LIST FOR DOOSAN PUMA-TURNING CENTERS ............................ 47
5
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.
• 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”
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.
6
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
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.
7
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.
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.
8
Feed Rate Calculation for the Rotary Axis
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:
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?
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”
9
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
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.
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 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 These commands are normally used for starting or
Must be used with:
stopping the main and sub spindle.
P11 for Main Spindle
P13 for Sub Spindle
G0 G18 G40 Use these G-codes at the beginning of any program segment
G80 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).
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 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 Constant (RPM) control command must be used always
M04 P__ 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)
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 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
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 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.
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.
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.
14
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)
System parameter 4077 S-3 sets the reference angle for the sub spindle.
• 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.
• 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
Z-axis tapping
G84 C___Z___F___
16
Canned cycles for hole machining with the C and X-axis
X-axis tapping
G88 C___X___F___
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 tapping
G84 Z___F___
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.
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
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.
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.
19
POLAR COORDINATE INTERPOLATION FUNCTION G12.1
• 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.
20
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.
• 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.
21
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.
22
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).
23
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.
24
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.
25
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
26
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.
27
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.
Programming Notes
• Plane Select Command: G18
28
• 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.
• 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.
C º = L / D x 114.59156°
29
When diameter “D” is used to define the circle, use this formula:
114.59156° = two radians.
30
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
C º = L x 39.5143º
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º
31
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.
32
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.
33
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.
• During manual Zero-return mode the Y-axis first then the X-axis must be
“homed”, independently in this order.
34
• Reference Return Command for Y-axis: G28 V0, (or G30 V0)
• The zero point for the Y axis can be shifted by work offsets G54 through
G59 or by coordinate system setting command G50.
• 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.
35
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.
36
• 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.
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.
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:
37
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.
The following series of commands are used in the order as shown when
synchronizing the spindles:
38
both chucks are engaged with the work piece. Slippage causes error in angular
relationship between entities that are machined on each spindle separately.
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.
39
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.
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.
40
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.
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
N206G350(CUTOFF B axis attempts to close the gap left by
CONFIRMATION) 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
44
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.
45
Example 2: Bar Feed Sub Programs, for use with bar stopper, without top cutting.
*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 M68
command)
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)
46
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.
** M-Codes with same number but different function, or for different machine type
47
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 S
open condition or Tailstock advance / retract with
spindle running)
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
48
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
49
M-Code Description Feature
M168 Sub-Chuck Clamp B
M169 Sub-Chuck Unclamp B
50
Miscellaneous programming information
FIRST COMMAND LINE: G76 P021060 Q05 R10 (see details, below)
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.
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
51
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 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
52
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 G97 S100 M03 P11 (M04 P11)
(Always use G97, NEVER G96)
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 G0Z0.125
start-up clearance away from the thread
Move “Z” fist, then “X”.
For “X”, allow 0.05” ~ 0.1” diametrical X1.075
clearance above the major diameter
(OD)
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 G0 X___
Move the “X”-axis first, then “Z” G0 Z___
Optional stop M1
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 G97 S100 M03 P11(M04 P11)
(Always use G97, NEVER G96)
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 G0Z0.125
clearance away from the thread
Move “Z” fist, then “X”.
For “X”, allow 0.05” ~ 0.1” diametrical X0.800
clearance below the minor diameter (I.D.)
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 G0 X___
Move the “X”-axis first, then “Z” G0 Z___
Optional stop M1
53
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__
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
54
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:
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:
Example:
55