This document is based on information available at the time of its publication.
While efforts have been made to render accuracy to its content, the
information contained herein does not purport to cover all details or variations
in hardware and software, nor to provide every possible contingency in
connection with installation, operation, programming, and maintenance.
Features maybe described herein which are not present in all hardware and
software systems.
Dugard Ltd assumes no obligation of notice to holders of this document with
respect to changes subsequently made.
Dugard Ltd makes no representation or warranty, expressed, implied or
statutory with respect to, and assumes no responsibility for the accuracy,
completeness, sufficiency or usefulness of the information in the manual.
G Code List ............................................................................................................................................ 21
M FUNCTIONS ...................................................................................................................................... 23
Tool nose radius compensation and circular interpolation used with G107 cylindrical interpolation…………82
Rectangle engrave example (cylindrical interpolation)…………………………………………………………….83
Rectangle with corner radii example (cylindrical interpolation)…………………………………………………..84
Part transfer (Billet)…………………………………………………………………………………………….........87
Part transfer (with part off).…………………………………………………………………………………….........87
Sub Spindle example…………………………..……………………………………………………………………..89
Part eject…………………………..……………………………………………………………………………........90
Machine axes
BASIC CONCEPTS
X+
Z-B-B+
Z+
X-
C+
C-
A+
A-
PROGRAMMING MANUAL -8-
X-, Z- and B-axis and their respective positive and negative displacement directions are shown on
the above schematic diagram.
Y+ and Y- axis are not shown Y- is towards machine bed and Y+ away from the machine bed,
40mm+,40mm– to give stroke of 80mm. (machine needs to be on Y zero for turning operations).
As you can see, when workpiece zero reference point is located on workpiece end (most common
case), the positive direction is outside the workpiece, while the negative direction is on the
workpiece area to be machined (inside the workpiece).
Commonly, you will operate in the quadrant defined by X+ and Z-.
The machine will enter only in X- area for facing operations.
You may also operate X+ Z+ quadrant when the workpiece is clamped on the subhead.
C-axis would be used to swivel the main spindle head in
order to position the work piece for drilling operations using a powered tool.
C+ is in clockwise direction and C- is counter clockwise direction.
A-axis would be used to swivel the sub-spindle head in
order to position the work piece for drilling operations using a powered
tool.
A+ is in clockwise direction and A- is counter clockwise direction.
PROGRAMMING MANUAL -9-
Other axes that could be encountered when programming the
machine are
F: feed axis (related to slides) to be programmed when in operation.
In millimetres x per revolution when the head is rotating (turning)
For example:
G99 F0.3 this means “03 millimetres per revolution”.
In millimetres per minute when the head is stopped (MC).
For example:
G98 F80 this means “80 millimetres per minute”
T: is turret rotation.
R: is radius programming.
S: are head revolutions (cutting speed) This letter is always related to heads.
G50 S1000 Rpm limit.
G97 S1000 fixed rpm (for tapping and drilling).
G96 S200 cutting speed (m/min) for all turning operations.
,C: Chamfer programming.
,A: Angle programming.
Tool offset
Cutting speed formula:
Dn
Vc=
1000
Vc1000
n=
D
Machines must be at the X home position for turret indexing.
Vc= Cutting speed
D= Part standard diameter
n= Rpm limit.
The required offset values must be entered each time tool position is changed with respect to the
aforementioned position; if tool position is not changed, entering a offset value will not be necessary
as these values are stored in the memory.
Entering tool offset values
There are two ways for entering tool correction values.
1st.) Supplied with presetter.
PROGRAMMING MANUAL -10-
For machines with presetter, place the presetter in position and preset the tool.
2nd.) supplied without presetter.
For machines without presetter, turn the work piece and retract the tool without moving it out the
axis. Then measure the work piece and enter the readings in the geometry table.
To enter a value, go to the geometry table (offset value), enter the required value and press the
intermediate key; by this way the control unit will calculate the offset value.
Workpiece zero reference point
Workpiece zero is the workpiece protruding length from main chuck face.
We advise you to enter workpiece zero at the beginning of the program.
Single spindle machine format
G10 P0 Z-80.
Sub spindle machine format
In the following example we explain how a value of 80 is entered for the first stage G54 (machining
the workpiece on the main spindle), while a value of 460 is entered for the second stage G55
(machining the workpiece on the sub-spindle).
G10 L2 P1 X0. Z-80. ;
G10 L2 P2 X0. Z-460. ;
Zero1stphaseG10L2P1Z-80
Zero2ndphaseG10L2P2Z-460
PROGRAMMING MANUAL -11-
How to prepare the machine for machining operations with transfer:
1st Determine workpiece zero and carry out the 1st machining stage
G54 is programmed.
2nd Stop the machine and verify the dimension before doing the transfer.
3nd Do the transfer and place the sub-spindle in working position.
4nd Stop the machine and determine workpiece zero before performing the 2
machining stage G55 is programmed.
In this manual we will always refer to G codes type A.
Comment::
These are notes included in the program.
These notes are totally optional, and it is up to the programmer to enter them or not.
These notes will be always placed in round brackets () in order to prevent the program reading
them.
T101
Here is shown that the tool to be used is in position 1 and a offset value of 01 is applied.
T0101 could be also entered, as the four mandatory characters are present, however, the first zero
is optional.
Head rotation direction:
M3 head rotation direction forward
M4 head rotation direction reverse
M5 spindle stop
If instructing the reverse from the forward direction or vice versa, the spindle must
be stopped first.
This is also valid for the sub spindle and live tools.
G0 X150 Z100
Note that tool retraction in this example is to 150 mm on X+ and 100 mm on Z+ from work piece
zero, and not from chuck face, as no order for changing the position is given to work piece zero,
which in this example is maintained in the previous position.
Line number (N10, N20...)
PROGRAMMING MANUAL -13-
Line numbers are optional, and can be either entered or not.
G0 G40 G99 X45. Z0. M8
As you can see, G codes are first placed and then X, Z and M codes. Codes can be also entered in
the following manner: G0 X45. Z0.G99 G40 M8
Entering codes such as G96 and G50 in the same line is not permitted.
PROGRAMMING MANUAL -14-
Taper turning
O0002;Name of the program
G21; Metric program
G10 L2 P1 X0. Z78;Part-zero at 78
N1 G28 U0.V0.Line number and move to X and Y home position
T101;Tool call (pos. 01 and offset 01)
(TURN); Description
G50 S1500;Spindle turning limit: 1500 rpm
G96 S200 M3;Cutting speed (m/min), Spindle fwd direction.
G0 G40 G54 G99 X52.5 Z2 M8;Rapid feed to point X52.5 Z2, Cancel tool nose radius
compensation, Feed per rev, Coolant on.
G1 Z-19.9 F0.25;Feed move Z-19.9 (First pass), Feed rate.
G0 X55 Z2;Rapid feed to X55 Z2
X45;Rapid feed to start point of cone in X45 Z2
G1 Z0;Feed move to X45 Z0
X52 Z-20 F.2;Machine the cone to X52 Z-20 (Second pass)
X61;Machine to X61 Z-20
G0 X150 Z100 M9;Rapid to safe position to 100mm in both axes and coolant
off
M30;End of program and back to he beginning
Inside turning:
PROGRAMMING MANUAL -15-
O0003;
G21;Metric input
G10 L2 P1 X0. Z85;Part zero at85
N6 G28 U0.V0.Line number and move to X and Y home position
T606;Tool call (pos. 06 and offset 06)
(BORE);Description
G50 S2000;Turning speed limit:2000 r.p.m.
G96 180 M3;Cutting speed=180 mm/rev, Spindle fwd direction.
G0 G40 G54 G99 X44 Z2 M8;Rapid move Z2 axis to the height of the chamfer 2x45º ,
Cancel tool nose radius compensation, Feed per rev,
Coolant on.
G1 Z0 F0.2;Feed move toZ0, feedrate 0.2 mm/rev
X40 Z-2 F.15;Machine chamfer with feedrate 0.15 mm/rev
Z-40 F.2;Machine the bore at ø40 with federate 0.2 mm/rev
X35;Face the inside untilø35
G0 Z5;Rapid feed toZ5
X150 Z100 M9;Rapid to safe position to X150 Z100 and coolant off
M30;End of program and back to he beginning
PROGRAMMING MANUAL -16-
Circular Interpolation
G3G2
O0004;
G21;Metric input
G10 L2 P1 X0. Z110;Part zero at110
N3 G28 U0.V0. Line number and move to X and Y home position
T303;Tool call (pos. 03 and offset 03)
(TURN);Description
G50 S2500;
G96 S220 M3;
G0 G40 G54 G99 X30 Z2 M8;
G1 Z-22 F0.2; Machine toø30 and Z-22
G2 X40 Z-27 R5 (CLOCKWISE); 5mm radius clockwise to X40 Z-27
G1 X55; Face toX55
G3 X80 Z-57 R80 (COUNTERCLOCKWISE); 80mm radius counter clockwise to X80 Z-57
G1 Z-62; Machine toZ-60
X86; Face to X86
G0 X100 Z100 M9;
M30;
In this example we assume that the part is rough machined.
As seen in this example, G2 is used to machine radii in clockwise direction and G3 in
counterclockwise direction.
You can also see that G2 or G3 is first entered, then the end point, and finally the
radius,
Circular interpolation
PROGRAMMING MANUAL -17-
O0005;
G21;
G10 L2 P1 X0. Z165;
N4 G28 U0.V0.
T404;
(TURN);
G50 S2000;
G96 S200 M3;
G0 G40 G54 G99 X69.282 Z2 M8;Rapid feed to X69.292 Z2
G1 Z-20 F0.2;Machining to Z-20
G3 X69.282 Z-60 R40;Machine a 40mm radius until point X69.282 Z-
60 counter clockwise direction
G2 X69.282 Z-100 R40;Machine a 40mm radius until point X69.282 Z-
100 clockwise direction
G1 Z-105;Machining to Z-105
G0 X150. Z100. M9;
M30;
As you can see, for the interpolation, you must know the point from which this
interpolation will take place in order to change radius direction (in this example on
point X69.282 Z-60).
PROGRAMMING MANUAL -18-
Incremental commands (U and W)
O0006;
G21;
G10 L2 P1 X0. Z96:
N5 G28 U0.V0.
T505;
(GROOVE);
G97 S1250 M3;
G0 G40 G54 G99 X78 Z-20 M8; Rapid feed to X78 Z-20
G1 X65 F0.1; Grooving toø65
G4 X1; Dwell (X1=1 second dwell )
G0 X78; Rapid feed to X78
W-10.; Incremental move –10mm in Z axis (W=Z)
G1 U-7.; Incremental move –7mm in X axis (U=X)
G4 X1; Dwell
G0 U7;Rapid feed 7mm in X axis (U=X)
W-15;Incremental move –15mm in Z axis (W=Z)
G1 U-9;Groove incrementally –9mm in X axis (ø69)
G4 X1;Dwell
G0 U9;Rapid feed incrementally9mm in X axis (ø78)
X150 Z100 M9;
M30;
Time delays are entered each time a slot is machined in order to improve the
surface finish.
M functions used in machining programs are described in this section, this is a general list for the Kia range,
and some codes may not be active due to the machine specification.
Please refer to the individual manual supplied with the machine.
These codes control functions complementary to those controlled by G codes. For instance, coolant supply,
head rotation direction, etc.
M CODEFUNCTIONNOTE
M00PROGRAM STOP
M01OPTIONAL STOP
M02PROGRAM END
M03SPINDLE FORWARD
M04SPINDLE REVERSE
M05SPINDLE STOP
M08COOLANT ON
M09COOLANT OFF
M10BAR FEEDING ONOPTION
M11 BAR FEEDING OFFOPTION
M12COUNTEROPTION
M13MILL SPINDLE FORWARD
M14MILL SPINDLE REVERSE
M15MILL SPINDLE STOP
M18SPINDLE ORIENTATION OFFOPTION
M19SPINDLE ORIENTATION ONOPTION
M21ERROR DETECT ON
M22ERROR DETECT OFF
M23CHAMFERING ON
M24CHAMFERING OFF
M30RESET AND REWINDOPTION
M31COUNT UP CHECKOPTION
M36AUTO POWER OFF ENABLEOPTION
M37AUTO POWER OFF DISABLEOPTION
M38CENTRE AIR BLOW ONOPTION
M39CENTRE AIR BLOW OFFOPTION
M40C-AXIS OFF OR LOW GEAROPTION
M41AUTO Q-SETTER ARM DOWNOPTION
M42AUTO Q-SETTER ARM UPOPTION
M40C-AXIS OFF OR LOW GEAROPTION
M43C-AXIS ON OR HIGH GEAROPTION
M46SPINDLE OVERRIDE ENABLE
M47SPINDLE OVERRIDE DISABLE
M48 FEED OVERRIDE ENABLE
M49FEED OVERRIDE DISABLE
M51MAIN SPINDLE AIR BLOW ONOPTION
M52MAIN SPINDLE AIR BLOW OFFOPTION
M54
M55
M61AUTO DOOR OPENOPTION
M62AUTO DOOR CLOSEOPTION
CONSTANT SPINDLE SPEED CONTROL (MAIN
SPINDLE)
CONSTANT SPINDLE SPEED CONTROL (SUB
SPINDLE)
PROGRAMMING MANUAL -24-
M63PARTS CATCHER UPOPTION
M64PARTS CATCHER DOWNOPTION
M66LOW CHUCK PRESSUREOPTION
M67HIGH CHUCK PRESSUREOPTION
M68CHUCK CLOSE
M69CHUCK OPEN
M70CALL LIGHT ON
M73SUB SPINDLE PARTS CATCHER UP
M74SUB SPINDLE PARTS CATCHER DOWN
M75CHIP CONVEYOR ON
M76CHIP CONVEYOR OFF
M81ROBOT SERVICE REQUEST 1OPTION
M82ROBOT SERVICE REQUEST 2OPTION
M85NEW BAR FEEDER LOADINGOPTION
M90C-AXIS BRAKE ON (HIGH)
M91C-AXIS BRAKE OFF (LOW)
M98SUB PROGRAM CALL
M99END OF SUB PROGRAM
M108SUB SPINDLE COOLANT ON
M109SUB SPINDLE COOLANT OFF
M113SUB SPINDLE FORWARD
M114SUB SPINDLE REVERSE
M115SUB SPINDLE STOP
M116SUB SPINDLE ORIENTATION ON
M117SUB SPINDLE ORIENTATION OFF
M118SUB SPINDLE CHUCK CLAMP
M119SUB SPINDLE CHUCK UNCLAMP
M114SUB SPINDLE REVERSE
M115SUB SPINDLE STOP
M116SUB SPINDLE ORIENTATION ON
M117SUB SPINDLE ORIENTATION OFF
M118SUB SPINDLE CHUCK CLAMP
M119SUB SPINDLE CHUCK UNCLAMP
M140A-AXIS OFF
M141 EXTERNAL M CODE 1 OFF
M142EXTERNAL M CODE 2 ON
M143A-AXIS ON
M144 EXTERNAL M CODE 3 ON
M145EXTERNAL M CODE 3 OFF
M146 EXTERNAL M CODE 4 ON
M147EXTERNAL M CODE 4 OFF
M151SUB SPINDLE AIR BLOW ON
M152SUB SPINDLE AIR BLOW OFF
M160S1, S2 SYNCHRONISATION ON
M161S1, S2 SYNCHRONISATION OFF
M162S1, S2 PHASE SYNCHRONISATION ON
G32 for threading operations, always operate at fixed rpm (G97).
When retapping threads, do not release the work piece, do not change the speed
and do not change the start point.
CANNED CYCLES
G70 Finishing cycle
G70 P100 Q200
P Block number from which the profile operation begins.
Q Block number from which the profile operation ends.
At the end of each cycle sequence the machine is always positioned in the position at
which this cycle sequence was started. The tool will be commonly located in the
position used for rough machining.
The profile allows changing X and Z direction.
G71 Longitudinal roughing cycle parallel to Z-axis
PROGRAMMING MANUAL -27-
G71 U3 R1
G71 P100 Q200 U0.3 W0.1 F0.25
U Cut depth on radius (mm).
R Retraction in radial direction from diameter to prevent touching the machined diameter (mm).
P Block number from which the profile operation begins.
Q Number of end block of profile.
U Finishing allowance for radius on X-axis (mm).
W Finishing allowance on Z-axis (mm).
F Instantaneous feed (mm/revolution).
At the end of each cycle sequence the machine is always positioned in the position at
which this cycle sequence was started.
The positioning allows changing X- and Z-axis direction.
PROGRAMMING MANUAL -28-
G72 Cross roughing cycle transversal parallel to X-axis
G72 W3 R1
G72 P100 Q200 U0.25 W0.1 F0.3
W Depth of cut on Z-axis (mm).
R Retraction amount.
P Block number from which the profile operation begins.
Q Number of end block of profile.
U Finishing allowance for radius on X-axis (mm).
W Finishing allowance on Z-axis (mm).
F Instantaneous feed (mm/revolution).
Same as the above one, excepting for the profile.
G73 Roughing cycle with passes parallel to profile
G73 U9 W9 R3
G73 P100 Q200 U0.4 W0.1 F0.3
U Stock allowance (for radius) unmachined on X-axis (mm).
W Stock allowance on Z-axis (mm).
R Number of roughing passes.
P Block number from which the profile operation begins.
Q Number of end block of profile.
U Finishing allowance for radius on X-axis (mm).
W Finishing allowance on Z-axis (mm).
F Instantaneous feed (mm/revolution).
G74 Drilling cycle (chip break)
G74 R0.5
G74 Z-100 Q2500 F0.25
R Retract distance (chip break).
Z Final drilling depth (absolute dimensions in mm).
Q Cut depth per pass (Microns).
F Feed rate (mm/revolution).
G83 Peck drilling cycle
G0 G80 G99 X0 Z3
G83 Z-60 Q2000 F0.2
G80
Z Final drilling depth (absolute dimensions in mm).
R Distance from the initial position to the start point (incremental value, not required if
already in position)
Q Depth of cut (Microns).
P Dwell time (s) at the bottom of the hole.
F Feed rate (mm/revolution).
PROGRAMMING MANUAL -29-
G84 Tapping cycle
Please note that if not using a LM or MS machine, then M122 and M123 can be omitted
G97 S500 M3
G0 G80 G99 X0 Z6
M122 (MAIN SPINDLE RIGID TAP ON)
M129S500 (RIGID TAP ON)
G84 Z-10 F1
G80
M128 (RIGID TAP OFF)
M123 (MAIN SPINDLE RIGID TAP OFF)
Z Final tapping depth (absolute dimensions in mm).
P Dwell time (s) at the bottom of the hole.
F Feed rate (mm/revolution).
G74 Front counter boring cycle
G74 R0.5
G74 X50 Z-4 P3000 Q4000 F0.15
R Retraction (mm) to break chips.
X (U) End position on X-axis (mm).
Z (W) End position in slot direction (mm).
P Step over on X-axis for next pass (Microns)
Q Cutting depth (Microns)
F Feed rate (mm/revolution).
PROGRAMMING MANUAL -30-
G75 Longitudinal grooving cycle
G75 R0.2
G75 X43 W-7.5 P4000 Q2500 F0.15
R Retraction (mm) to break chips
X Groove bottom diameter (mm).
W Groove end point on Z-axis (mm) if Z is specified in absolute dimensions and W is the
displacement in incremental mode; from left-hand to right-hand (W+) and from right-hand to
left-hand (W-), always subtracting tool width.
P Cutting depth on X-axis (Microns).
Q Step over on Z-axis for next pass (Microns).
F Feed rate (mm/revolution).
IMPORTANT: Roughing cycles are without tool radius compensation. Because of
this, higher allowances will be specified for X and Z depending on tool radius.
P03 Number of finishingpasses.
P00 Thread run out ; distance at which thread outlet is started, in tenths of turn Example: If thread
pitch is 2 and 20 is entered: 2mm x 2 turns = 4 mm (thread runs out 4mm before the end point).
This is normally set to 00
P60 Thread angle in degrees
Q Minimum depth of cut (Microns).
R Finishing allowance (mm).
X Core diameter (mm).
Z Thread end point on Z-axis (absolute dimensions in mm).
R Height difference on radius (mm) for taper threads (Microns).
P Thread depth (Microns).
Q Cut depth for first pass (Microns).
F Thread pitch (mm).
G74 and G83 fixed drilling cycles (with chip breakage)
G74 Drilling cycle with a short retraction for chip breakage
O0009;
G21;
G10 L2 P1 X0 Z75.;
N8 G28 U0.V0.
T808;
(DRILL);
G97 S265 M3;
G0 G40 G54 G99 X0 Z3. M8;
G74 R0.5;
G74 Z-60 Q20000 F0.2;
G0 X150 Z100 M9;
M30;
G83 Fixed drilling cycle with retraction at the start for chip
breakage and removal
O0010;
G21;
G10 L2 P1 X0 Z75.;
N8 G28 U0.V0.
T808;
(DRILL);
G97 S500 M3;
G0 G40 G54 G99 X0 Z3 M8;
G83 Z-60 Q20000 F0.2;
G80
G0 X150 Z100 M9;
M30;
G84 Rigid Tapping Cycle (Main spindle)
O0011;
G21;
G10 L2 P1 X0 Z-75.;
N8 G28 U0.V0.
T808;
(DRILL);
G97 S500 M3;
G0 G80 G54 G99 X0 Z3 M8;
M122
M129
G83 Z-60 Q20000 F0.2;
G80
M128
M123
G0 X150 Z100 M9;
M30;
PROGRAMMING MANUAL -33-
PROGRAMMING MANUAL -34-
Fixed longitudinal grooving cycle
PROGRAMMING MANUAL -35-
O0011;
G21;
G10 L2 P1 X0 Z110.;
N7 G28 U0.V0.
T707;
(GROOVE);
G50 S1000;
G96 S110 M3;
G0 G40 G54 G99 X80 Z-55 M8;
G75 R.5;Grooving with chip breaking
G75 X69 Z-28 P3000 Q2500 F.1;Grooving, penetrate until ø69 and until Z(W)-28,
penetration in X(P) 3mm, movement in Z(Q) 2.5mm.
G0 X150 Z100 M9;
M30;
Groove width or groove end point can be defined with a W code in this example
(W27, that is, 30 – 3 of tool), if tool is positioned on the right-hand would be (W-27).
For either Z or W, tool width must be subtracted.
In theses cases, considering tool direction is most important.
The easier procedure is drawing a quadrant on the drawing and locate the
degrees as shown on the above diagram.
PROGRAMMING MANUAL -40-
Direct programming of profile (angles and round edges)
PROGRAMMING MANUAL -41-
O0014;
G21;
G10 L2 P1 X0 Z120;
N3 G28 U0.V0.
T303;
G50 S2200;
G96 S230 M3;
G0 G54 G40 G99 X0 Z3. M8;
G1 Z0 F0.15 (P1);
,A90 ,R6 (FIRST ANGLE);
,A165 X50 Z-25 (SECOND ANGLE);A165 comes from 180°-15°=165°
,A180 Z-49.;
,A90 X75. ,C1;
Z-60;
,A150 ,R50;A150 comes from 180°-30°=150°
,A110 X185 Z-100;A110 comes from 180°-70°=110°
,A90 X200 ,C2;
,A180 Z-150. (P2);
G0 X250 Z100 M9;
M30;
PROGRAMMING MANUAL -42-
Tool radius compensation
1st) Type of tool (Control) T (Offsets table).
2st) Radius inserts of tool (Control) R (Offsets table).
3st) Workpiece position with respect to tool (Part program) G41 or G42.
<EXTERNAL>
<INTERNAL>
Tool types
PROGRAMMING MANUAL -43-
Milling cutters are assigned with type “0” or “9” for interpolations.
For control units with capability for machining profiles with X-axis direction
reversal, the first block for defining the profile must state the movement of the two
axes.
PROGRAMMING MANUAL -50-
G72 Example of cross roughing cycle parallel to X-axis
01000 (SUBPROGRAM FOR THE SLOT);
G1 U-12 F0.1;
G4 X1;
G0 U12;
W-1;
G1 U-4;
U-2 W1;
G0 U6;
W1;
G1 U-4;
U-2 W-1;
G0 U6;
M99 (END OF SUBPROGRAM);
The subprogram is called by means of command P followed by a number. This
number consists of four or more characters.
If the number consists of four characters, it indicates the identification number of
subprogram to be called.
If the number consists of more than four characters, the first four characters, from
right to left, indicate the identification number of subprogram to be called. Next
characters indicate the number of repetitions of subprogram to be called.
M98 Repetition of parts of a program
PROGRAMMING MANUAL -55-
PROGRAMMING MANUAL -56-
PARTS OF A PROGRAM REPETITION APPLICATION:
00020 (REPEATING OF PARTS OF A PROGRAM);
G21;
G10 L2 P1 Z150.;
As described above, a subprogram or part of a subprogram is repeatedly called by means of a
command P followed by several numerical characters. In this example, the subprogram is
repeatedly called by means of “P21001”.
This command consists of three parts:
“P” calling a subprogram.
“2” number of subprogram repetitions.
“1001” number consisting of four characters and directly referring to the subprogram.
The maximum number of repetitions for a subprogram in a single call is
9999.
PROGRAMMING MANUAL -57-
OTHER EXAMPLE OF SUBPROGRAM EXECUTION REPETITION
PROGRAM:
O0021 (EXAMPLE OF M98);
G21
G10 L2 P1 Z130;
M98 P30002 (REPEATS 3 TIMES THE SUBPROGRAM 0002);
G0 X150 Z150 M9;
M30;
This section describes the procedures used to program SY type machines controlled by the Cand A-axis.
1- Stop the spindle (S1 and/or S2) by entering the command M5 (S1) or M115
(S2) before entering M43 or M143 command.
2- After activating M43 C-axis on G28 C0. must be entered .
3- After activating M143 A-axis on G28 A0. must be entered.
4- Before entering command M40 and M140, the powered tool must be stopped
by entering command M15.
PROGRAMMING MANUAL -59-
C or A -axis would be used to swivel the head in order to
position the work piece for drilling operations using a
powered tool.
C or A + is in clockwise direction and C or A- is counter
clockwise direction.
PROGRAMMING MANUAL -60-
M codes related to C and A-axis functions
M13Mill spindle forward direction
M14Mill spindle reverse direction
M15Mill spindle stop
M40C-Axis disconnect
M43C-Axis connect
M90C-axis brake on (high pressure set to 24 bar)
M91C-axis brake off (low pressure set to 6 bar)
M140A-Axis disconnect
M143A-Axis connect
G83 Front drilling cycle (powered tool)
(chip breakage with retraction to the start point)
X hole position
C hole position (not required if already in position)
Z Final drilling depth (absolute dimensions in mm)
R Distance from the initial position to the start point (incremental value, not required if
already in position)
H distance between two holes in degrees.
K number of holes.
Q Depth of cut (microns).
P Dwell time (s) at the bottom of the hole.
F Feed rate (mm/min).
M90 brake on (the brake will automatically unclamp before indexing within the cycle).
PROGRAMMING MANUAL -61-
G184 Front rigid tapping cycle (Z-axis direction powered tool)
G0 G80 G98 X30 Z6
G184 C30 R-2 D.5 W20 Q1 F500
G184 C150 R-2 D.5 W20 Q1 F500
G184 C270 R-2 D.5 W20 Q1 F500
C C-axis angle.
R Return point.
D Dwell at bottom of hole.
WDistance from R point to the bottom of the hole.
Q Pitch of tap.
F Cutting feed.(Rpm x Pitch).
(Must use decimal point)
(M90 and M91 are automatically commanded in the macro).
G87 Side drilling cycle (powered tool)
(chip breakage with retraction to the start point)
X Final drilling depth (absolute dimensions in mm)
C hole position (not required if already in position)
Z hole position
R Distance from the initial position to the start point (incremental value, not
required if already in position)
H distance between two holes in degrees.
K number of holes.
Q Depth of cut (microns).
P Dwell time (s) at the bottom of the hole.
F Feed rate (mm/min).
M90 brake on (the brake will automatically unclamp before indexing within the
cycle).
PROGRAMMING MANUAL -62-
G188 Side rigid tapping cycle (X-axis direction powered tool)
G0 G80 G98 X50 Z6
G188 C30 R-2 D.5 U20 Q1 F500
G188 C150 R-2 D.5 U20 Q1 F500
G188 C270 R-2 D.5 U20 Q1 F500
(M90 and M91 are automatically commanded in the macro).
C C-axis angle.
R Return point.
D Dwell at bottom of hole.
UDistance from R point to the bottom of the hole.
Q Pitch of tap.
F Cutting feed.(Rpm x Pitch).
(Must use decimal point)
G185 Back rigid tapping cycle (Z-Axis Direction powered
tool Sub Spindle)
G0 G80 G98 X50 Z-6
G185 A30 R2 D.5 U20 Q1 F500
G185 A150 R2 D.5 U20 Q1 F500
G185 A270 R2 D.5 U20 Q1 F500
A A-axis angle.
R Return point.
D Dwell at bottom of hole.
UDistance from R point to the bottom of the hole.
Q Pitch of tap.
F Cutting feed.(Rpm x Pitch).
(Must use decimal point)
(M90 and M91 are automatically commanded in the macro).
PROGRAMMING MANUAL -63-
G83 Example of face front drilling cycle with powered tool (Main
Spindle)
This fixed drilling cycle can be programmed in the apparently more logic and simple sequence, ie,
0º - 90º - 180º - 270º. This cycle would be as follows:
Polar coordinate interpolation is used when it is desired to perform milling operations on the face
of the work piece, which require synchronous movement of the spindle and live tooling mounted
on the turret.
When polar coordinate interpolation is commanded by the G112, the control interprets several
pieces of data to determine the direction and speed at which the axes must be moved to reach
the commanded end point.
The drawing below shows the coordinate system used with polar coordinate interpolation.
The programmed end points are laid out as coordinates on this plane.
Note the signs for X and C. The following program examples illustrate the use of this system.
1. The following G codes may be used when G112 is active: G1, G2, G3, G40,
G41, G42, G65, and G98.
2. G0 positioning is not allowed when G112 is active.
3. When using G2 or G3, the arc radius is specified using the R word.
4. M40 C axis mode must be active before commanding polar coordinate
interpolation.
5. The spindle should be oriented to C0 degrees before commanding polar
coordinate interpolation.
6. If machining in the X axis only, do not activate polar coordinate interpolation.
7.The unit of command for the C axis, when polar coordinate interpolation is
used, is MM or inches, not degrees.
8.When using cutter compensation during polar coordinate interpolation,
the same basic TNRC rules apply as with normal lathe programming. However,
the following rules must also be observed:The tool radius and the quadrant must be loaded into the geometry offset file.
For polar coordinate interpolation, the X tool offset represents the centre of the
cutter and the tool tip location (Quadrant) will be set to 9.
PROGRAMMING MANUAL -73-
9.The TNRC start up block (G41 or G42 line) must be programmed after
the polar coordinate interpolation command (G112 line) has been activated. For
polar coordinate interpolation, the X axis move must be equal to at least two
times the tool radius entered in the tool offset file. Program the G40 (TNRC
cancel) command before the block containing the G113 (cancel polar coordinate
interpolation).
10.Program restart and block restart are not allowed when G112 is active.
11.Specify the feedrate as millimetres per minute.
12.X values are diameters and C values are radii
PROGRAMMING MANUAL -74-
Tool nose radius compensation and circular interpolation used with
G112 polar coordinate interpolation
The drawings below show the combination of tool nose radius and circular interpolation codes
used with polar coordinate interpolation.
The shaded area in each drawing represents the finished part contour.
G41 Part right (cutter left) G42 Part left (cutter right)
G2 Clockwise arc G3 Counter-clockwise arc
PROGRAMMING MANUAL -75-
G42 Part left (cutter right) G41 Part right (cutter left)
G2 Clockwise arc G3 Counter-clockwise arc
Cylindrical interpolation (G107) is used to perform contoured milling operations on the outside
diameter of the workpiece. The Z and C words are used to specify the end points of the moves.
When using cylindrical interpolation, the C word is programmed in degrees.
C is also used to specify the radius of the part in the G107 block which activates cylindrical
interpolation.
The X word is used to program the depth of cut.
1. The following G codes may be used when G107 is active: G1, G2, G3, G40,
G41, G42, G65, and G98.
2. G0 positioning is not allowed when G112 is active.
3. When using G2 or G3, the arc radius is specified using the R word.
4. M40 C axis mode must be active before commanding cylindrical interpolation.
5. The spindle should be oriented to C0 degrees before commanding cylindrical
interpolation. The formula for calculating the value of the C word is shown in the
following program example.
6. If machining in the X axis only, do not activate cylindrical interpolation.
PROGRAMMING MANUAL -85-
7. The H word is used to program incremental C axis moves.
8. Machine lock mode MAY NOT BE USED when G107 is active.
9. The unit of command for the C axis, when cylindrical interpolation is used,
degrees, not MM or INCHES.
10. When using cutter compensation during cylindrical interpolation, the same basic
TNRC rules apply as with normal lathe programming. However, the following rules
must also be observed.
The tool radius and the quadrant must be loaded into the geometry offset file. For
cylindrical interpolation, the Z tool offset represents the centre of the cutter and the
tool tip location (Quadrant) will be set to 9.
11. The TNRC start up block (G41 or G42 line) must be programmed after the
cylindrical interpolation command (G107 line) has been activated. For cylindrical
interpolation, the Z axis move must be equal to at least the tool radius entered in the
tool offset file. Program the G40 (TNRC cancel) command before the block
containing the G107 C0 (cancel cylindrical interpolation).
12. Program restart and block restart are not allowed when G107 is active.
13. Specify the feedrate as millimetres per minute.
PROGRAMMING MANUAL -86-
Tool nose radius compensation and circular interpolation used
with G107 cylindrical interpolation
The drawings below show the combination of tool nose radius and circular interpolation codes
used with cylindrical interpolation.
The part circumference is viewed laying flat with the part face (Z0) at the base.
G41 Part Right (Cutter Left)G42 Part Left (Cutter Right)
G2 Clockwise G3 Counter Clockwise
G42 Part Left (Cutter Right)G41 Part Right (Cutter Left)
G2 Clockwise G3 Counter Clockwise
PROGRAMMING MANUAL -87-
Rectangle Engrave Example (Cylindrical Interpolation)
M160 function is used only to synchronise the main
and sub-spindle speeds.
M161 function disables the phase and
synchronisation mode.
M162 function is used for phase synchronisation
for the main and sub-spindles.
M160, M161 and M162 commands
are only used on machines equipped
with a sub-spindle (S).
M160; ............Speed synchronisation mode on.
PROGRAMMING MANUAL -91-
M161; ............Phase and synchronisation mode off.
M162; ............Phase synchronisation mode on.
1- For transferring a workpiece from main spindle to sub-spindle, main and subspindle speed must be synchronised by means of M160 command. If the
workpiece is transferred without activating the synchronisation mode, damage of
the workpiece could result.
2- For transferring an hexagonal bar, main and sub-spindle phase and speed
must be synchronised by means of M160 and M162 command, as otherwise the
transfer operation will not be possible, although it is recommended that if the part
has been turned that you locate on the turned diameter so to achive any
squareness or concentricity tolerences.
3- M162 function can be also used for round parts, but considering that phase
(and speed) synchronisation time is longer and speed synchronisation time, using
only M160 function is recommended when machining round parts.
PROGRAMMING MANUAL -92-
EXAMPLE
Program with Billet transfer using M160
These functions are used when the workpiece on main spindle is to be transferred to the subspindle with the synchronisation mode activated.
O0001;
Machining program.
(machining operation on main spindle)
N1000(PART TRANSFER);
G28 U0. V0. M54;………………….Move turret home in X and Y axis
G28 B0. M115;………………...Move turret home in B axis
M110;
G0 G40 G99 G54……………..Preperation G codes
G97 S50 M3;...........................Main spindle rotates at 50 rpm
B-???;.....................................Sub-spindle is moved clear fo component (machine co-ordinates)
(First approach)
G1 G98 B-??? F1500;.............Sub-spindle is moved over the workpiece at 1500 mm/min
(Second approach)
M152;......................................Air blow off sub-spindle.
M118;…………………………..Sub-spindle chuck close.
G4 X2.;………………………….Dwell for two seconds.
M69;……………………………..Main spindle chuck open.
G28 B0;...................................Sub-spindle is returned to reference point on B-axis
M161;......................................Synchronisation mode is disabled
M5;………………………………Stop main spindle.
M115;……………………………Stop sub-spindle.
M68;……………………………..Main spindle close.
M1;……………………………….Optional stop
PROGRAMMING MANUAL -93-
EXAMPLE
Program with part off and transfer using M160
These functions are used when the workpiece on main spindle is to be transferred to the subspindle with the synchronisation mode activated.
O0002;
Machining program.
(machining operation on main spindle)
N1000(TRANSFER TO SUB SPINDLE AND PART OFF);
G28 U0.V0. M54;………………Move turret home in X axis
G28 B0. M115;………………...Move turret home in B axis
T1010 …………………………..Call part off tool
G0 G40 G99 G54………………Preperation G codes
G97 S50 M3;...........................Main spindle rotates at 50 rpm
G28 B0;...................................Sub-spindle is returned to reference point on B-axis
G0 X50…………………………..Move off component.
G28 U0………………………….Move turret home in X-axis.
G28 W0…………………………Move turret home in Z-axis.
M161;......................................Synchronisation mode is disabled
M5;………………………………Stop main spindle.
M115;……………………………Stop sub-spindle.
M1;………………………………Optional stop
Sub spindle machining
PROGRAMMING MANUAL -94-
This should be programmed after machining a workpiece on the main spindle and prior to part
ejection.
Machining on the sub-spindle is done at the G30 position.
The following example shows the basic format required for part ejection.
All turning cycles work on the sub spindle but machining is usually done in the X+ and Z+
defined quadrant.
Attenton should be paid to cutter radius compensation on the sub spindle as this the reverse of
normal turning convention.
Part eject
This should be programmed after machining a workpiece on the sub-spindle and prior to
machining a new workpiece on main spindle.
It is assumed that the sub spindle is already at the G30 position, see sub-spindle machining
section.
The following example assumes that the machine is equipped with a bar feed.
Ensure that you have the spring loaded ejector fitted.
N1000; …..……………………..Line number for identification
G28 U0.:.................................Turret home position in X
M115:......................................Sub-spindle is stopped
G4 X0.5:..................................Dwell for half a second
Workpiece collector operates independently
from turret position.
The B-axis co-ordinate value will be the G30
position, at which the workpiece is released
from the sub-spindle, without causing any
interference with workpiece collector, turret,
etc.
G4 X0.5;..................................Dwell for half a second
M119;......................................Open jaws on sub-spindle.
G4 X3.;....................................Dwell for three seconds to allow the part to be ejected fully.
G4 X1.;....................................Dwell for one second.
M12;…………………………….Parts counter.
M31;…………………………….Parts count up check.
/M99…………………………….Allows continuous running
M30;…………………………….Activate block skip, then program will stop.
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.