You are on page 1of 48

Via V.

Veneto, 31 -25073 BOVEZZO (BS) Italy


tel.++39-030-2111511
fax ++39-030-2111750
fax ++39-030-2111765 Electronic Dep.

G - CODE
(G FUNCTIONS)
I

G00 Rapid

G01 Linear interpolation

G02 Circular interpolation, CW

G03 Circular interpolation, CCW

G04 Dwell

G09 Stop at block end

G10 Angular adjustment

G11 Chuck rotation

G12 Helical interpolation, CW

G13 Helical interpolation, CCW

G14 Pusher forward command

G15 Pusher return command

G17 Select XY plane

G18 Select XZ plane

G19 Select YZ plane

G20 Angular head positioning

G28 Return to zero position

G33 Single-pass threading

G40 Tool radius compensation OFF

G41 Tool radius compensation ON LEFT

G42 Tool radius compensation ON RIGHT

G53 Set return command (set by the user)

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 2/48


G54 Automatic return to zero

G54.1 End of cycle without unit return command

G56 Change axis origin

G57 Additional change axis origin

G66 Delay for revolutions and degrees of orbital Unit

G76 Rigid threading

G76.1 Single-tool threading

G76.2 Rigid threading (version for nut machining)

G76.5 Single-tool threading (pull or push)

G79 Recall subprogram

G84 Debourrage with chip discharge

G84.1 Debourrage with timed chip breaking

G90 Absolute dimensions

G91 Incremental dimensions

G92 Spindle revolution limitation ON

G93 Spindle revolution limitation OFF

G96 Constant surface speed ON

G97 Constant surface speed OFF

G98 Feed per Minute (mm/min.)

G99 Feed per Revolution (mm/rev.)

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 3/48


G - Code Function G100

G00 Rapid (axis move without machining)

The movements in rapid mode are programmed with G00 code with indication of the
point to be reached.

The machining path programmed with G00 is performed by the programmed axes
simultaneously at the max. possible speed.
N.B. G00 undoes G99 (mm/Rpm)

Syntax
G00 X..Z..

Programming example :

.............
.............
G04 D5000
G00 X-16.5 Z45
G01 Z40.5 F150
G01 Z40 F150
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 4/48


G - Code Function

G01 Linear interpolation

The machining path is performed at the speed programmed in mm/1 (G98) or in


mm/rpm (G99) under the F address.

The control calculates the speed vectors of each single axis, therefore the value
programmed under F represents the feed.

Syntax

G01 X..Z..F..

Programming example :

M03 S1500
G99 (mm/rpm)
G00 Z26
G01 Z-10 F0.5 (F0.5=0.5mm/rpm)
G54

or:

M03 S1500
G00 Z26
G01 Z-10 F750 (F750=750mm/1)
G54

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 5/48


G - Code Function

G02 Circular interpolation, CW


G03 Circular interpolation, CCW

IMPORTANT
Before programming G02 or G03 code, you must first select the working
plane to utilize (see G17/G18/G19).

G02 and G03 define the direction of a circular movement.


With G02 the movement is clockwise, with G03 the movement is counter-clockwise.

In order to define a circular interpolation (CW/CCW), it is necessary to verify the


following data :

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 6/48


Arc starting point
Arc ending point
Circle radius (R) or coordinates from circle centre (I,J,K)
R radius is positive if the circle arc is less than 180
It is negative if the circle radius is more than 180
N.B.: With R radius you can program exclusively circle arcs but not a complete
circle. If you have to program a complete circle, you should use the I, J, K
coordinates.
The coordinates of the arc or circle centre ( I,J,K) are defined as incremental
values referred to the starting point and assigned as follows :
I coordinate parallel to the X axis with + or - sign
J coordinate parallel to the Y axis with + or - sign
K coordinate parallel to the Z axis with + or - sign

Programming example :

G17 (XY plane)


G00 X..Y.. (Starting point of circle)
G02 X..Y..I..J..F.. (Circular interpolation CLOCKWISE)
G03 X..Y..I..J..F.. (Circular interpolation COUNTER-CLOCKWISE)

or:

G17 (XY plane)


G00 X..Y.. (Starting point of circle)
G02 X..Y..R..F.. (Circular interpolation CLOCKWISE)
G03 X..Y..R..F.. (Circular interpolation COUNTER-CLOCKWISE)

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 7/48


G - Code Function

G04 Dwell

This function allows execution of a programmed dwell.

Syntax

G04 D..

D= expressed in milliseconds 1Sec=1000

Programming example :

............
............
G98
G00 X11.93 Z42
G04 D10
G01 X9.3 Z38 F100
G01 X8.8 Z25 F100
............
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 8/48


G - Code Function

G09 Stop at block end

This function allows execution of the next programming block as soon as the axes
programmed in the previous blocks have stopped and are in position.
This function is not a modal function and it is valid only in the block in which it has been
programmed.

Syntax

G09

Programming example :

...........
............
M3 S800
G00 X11.93 Z42
G01 X9.3 Z38 F100
G01 X8.8 Z25 F100
G09 (before changing to the next block [S2000], it waits until the X and Z axes
have stopped and are in position)
S2000
G1 X7 Z20
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 9/48


G - Code Function

G10 Angular adjustment X and B axis

This function enables the angular adjustment : B is programmed in degrees and X in mm.
The value set for the X axis defines the distance between tool point and chuck centre.
This function calculates the difference of the tool length to be added to or subtracted from
the programmed value based on the B angle that has been set.

Syntax

G10 B20X10

B= expressed in degrees

Programming example :

............
............
G00 Z42
G10 B20X10
G01 Z38 F100
G01 Z25 F100
............
............

N.B. : This function automatically calculates the software limit switches relative to the X axis on the base of
the B angle that has been programmed by the user.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 10/48


G - Code Function

G11 Chuck rotation (C AXIS)

This function allows to control chuck orientation in degrees.

Syntax:

For chuck axis C Axis

G11 C xxx.x

xxx.x is composed of three integers and one decimal and is expressed in degrees.
This value has a range of 360 degrees. It must be multiple of 2.5 and cannot be smaller
than 2.5.

Programming example :

............
............

G11 C90 90 Chuck rotation

G11 C0 0 Chuck rotation

............
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 11/48


G - Code Function

G12 Helical interpolation, CW


G13 Helical interpolation, CCW

IMPORTANT
These functions can operate in the XY plane only, which is programmed
with G17.

G12 and G13 define the direction sense of circular interpolation.


With G12 the movement is clockwise, with G13 the movement is counter-clockwise.

Syntax:
G12 X.. Y.. Z.. I.. J.. F.. E..
X= final point of X axis for circular interpolation (it must be same as the initial point) (see
explanation for G02).
Y= final point of Y axis for circular interpolation (it must be same as the initial point) (see
explanation for G02).
Z= helical pitch in incremental mode (linear feed of Z axis at every circular interpolation).
I= value in incremental mode to define the centre of the circle with respect to the initial
point in X (see explanation for G02).
J= value in incremental mode to define the centre of the circle with respect to the initial
point in Y (see explanation for G02).
F= feed speed of the tool during the interpolation.
E= number of repeatitions of the single step. =1 by default (one complete circular
interpolation with feed of one step in Z).
Programming example :
............
............
G17
G00 X0Y12Z150
G12 X0Y12Z1I0J-12F500E5
............
NOTE : If a G91 code has been programmed before G12 or G13 also the values of X and Z
(as well as I and J) are to be programmed in incremental mode.
At the end of G12 or G13, G90 is automatically reactivated.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 12/48


G - Code Function

G14 Pusher forward command

This function allows to control the forward movement of the pusher.

With the D parameter a delay time can be programmed. After this time has elapsed, the
control will execute the next instruction that has been programmed.

Should the D parameter be omitted, the Numerical Control will force its value to zero.

Syntax

G14 D..

D=expressed in milliseconds 1Sec=1000


Should the D parameter be omitted, the value will be automatically set to zero.

Programming example :

............
............
G98
G00 X11.93 Z42
G14 D10
G01 X9.3 Z38 F100
G01 X8.8 Z25 F100
............
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 13/48


G - Code Function

G15 Pusher return command

This function allows to control the return movement of the pusher.

Syntax

G15

Programming example :

............
............
G98
G00 X11.93 Z42
G14
G01 X9.3 Z38 F100
G01 X8.8 Z25 F100
G15 (pusher return)
...........
...........

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 14/48


G - Code Function

G17/G18/G19 Select plane for circular interpolation


(See G02 G03)

G17 - XY PLANE
G18 - ZX PLANE
G19 - YZ PLANE

G19 PLANE
G17 PLANE

G18 PLANE

Z
X

Remark : These functions are reset each time one of the following functions is
programmed: G33,G53,G54,G76,G76.1,M19.
They have thus to be reprogrammed when needed.
If the working plane has not been programmed, this will cause a non operation of the
circular interpolation.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 15/48


G - Code Function

G20 Angular head positioning

Pict. 1

H Head length in Z

Y Head height in Y

A Angle Y-Z plane

"B" angle in the X-Y plane


Pict. 2
Unit x.2 Table
B= 270-C

Unit x.4
C
B=C+90

For Unit x.2

X+

For Unit x.4

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 16/48


G - Code Function

G20 Angular head positioning

Syntax

G20 Axx Bxx Hxx Yxx

A= Angle in the Y-Z plane (expressed in degrees) (Pict. 1)


B= Angle in the X-Y plane (expressed in degrees) (Pict. 2)
H= Head length in Z (Pict. 1)
Y= Head length in Y (Pict. 2)

N.B.

Should the X Y plane not exist, the B parameter must be set to zero (B=0).

Should the Y Z plane not exist, the A parameter must be set to zero (A=0).

Programming example :

............
............
G00 Z42
G20 A10B20H75.5Y34.5
G01 Z38 F100
G01 Z25 F100
............
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 17/48


G - Code Function

G28 Return to zero position

This function allows to move the axis /axes to zero in rapid. The movement sequence is as
follows:
- Recessing head
- Z Axis
- X Axis
- Y Axis

Syntax

G28 Z0 X0 Y0 U0

Programming example :

............
............
G01 Z31 F100
G01 X-19 Y19 F200
G28 Z0 X0 ; Z and X axes are moved to zero
G01 X19 F100
............
............

Remark : This function also performs the reset of the axes zero offset.
It also resets G98 (mm/1) and G40.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 18/48


G - Code Function

G33 Single-pass threading

This function allows to program the unit for a single-pass threading cycle.
By means of this cycle, it is possible to perform tapered and cylindrical threads.

Please remember that the axis positioning at thread start as well as the number of the
single passes (No. of single passes = nth times G33) must always be programmed.

This function is programmed by defining the following parameters:

X: Radius of final thread (mm)


Z: Value of final thread (mm)
K: Pitch
D: Fette head disarming value

Syntax:

G33 X...Z...K...D..

Programming:

Programming example. Tapered threading


............
G0Z32X10
G33X20Z10K1.5 ; Tapered threading in single pass
G4D100
G54

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 19/48


Programming example. Cylindrical threading
............
G0Z32X10
G33Z10K1.5 ; Cylindrical threading in single pass
G4D100
G54

The [X10] parameter can be omitted.

Programming example. Threading with Fette head disarming


............
G0Z32X10
G33Z10K1.5D23,6 ; Single-pass threading with head release at the
required value
G4D100
G54

When programming this function with D parameter, the single-pass threading can be
performed with release/disarming of the Fette head at the value programmed by the
user.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 20/48


G - Code Function

G40 Tool radius compensation OFF


G41 Tool radius compensation ON LEFT
G42 Tool radius compensation ON RIGHT

Before enabling a tool compensation, the plane must first be selected


(G17/G18/G19).
The tool radius must be programmed in a D parameter.
The selection of the tool compensation now depends on the approaching path of the
tool to the part to be machined.


In this case the approaching path is in the RIGHT direction. The compensation to select
will be G42.
D10
Tool radius G01Y10F5000
G01X30F5000
G17
G42
G01X10Y30F6000
.
.
.


In this case the approaching path is in the LEFT direction. The compensation to chose
will be G41.

D10
G01Y10F5000
G01X30F5000
G17 Tool radius
G41
G01X10Y30F6000
.
.
.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 21/48


G - Code Function

G40 Tool radius compensation OFF


G41 Tool radius compensation ON LEFT
G42 Tool radius compensation ON RIGHT

At the end of the compensation, remember to program G40, otherwise, all the next
programming steps will be performed with compensation ON.

N.B. : The blocks programmed in rapid (G0) stop the tool correction. After a G0 code, it
may happen that the axes included in the compensation function can move, in order to
compensate the programmed radius according to function G41/G42.
Should the user wish to avoid this movement, a value must be programmed enabling
the axis or the axes to stand still.

Example:

D10 ;tool radius of 8 mm input in D10


G17 ;plane selection
G42 ;tool compensation ON
G01 Y35 F...
G01 X-35 F... ;value displayed -(35+8) = -43mm
G40 ;radius compensation OFF
G00 X-43 ; "*****"
...........
...........

"****" By programming G00 x-43 [ -(35+8) ] the movement in the X axis is not performed.
Should this function not be programmed, at the next program block, X would reach the
value -35.
The tool radius compensation is automatically deactivated by programming G53 or G54.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 22/48


EXAMPLE OF RADIUS COMPENSATION

Following we will use linear interpolation and raius compensation left to work with a
external recess (with insert) in the direction of the chuck.
The command G01 (linear) are follow by G00 (rapid) that need to get away from the part;
in G00 the radius compensation is temporary suspended.
The radius is in the parameter D (D7 in this example).
Before we introduce the preset of Z and X in the T parameter that now must be calculated
without the radius.
If we have a lenght of Z tool equal to 150.77 mm and the radius is 0.77 mm, we have to
introduce in preset of Z 150 mm, if the lenght of X is 20 mm we have to introduce 20.77
mm (must be -20.77 because the recessi is external). Then we have to introduce in the D
parameter the radius value.

T7
D7 ;radius=0.77
M03 S1300 P3
G0 X-15 Z55
G18
G41
G1 X-14.5 Z53 F3000 ;with the compensation the real position of X will be 15.27 mm
;instead of 14.5 mm programmed.
G1 X-14.5 Z17 F200
G1 X-15 F6000 ;here we get away from the part before write a G00.
G0 X-17 Z55 ;here we get away from the part in rapid movement (temporary
;suspended the compensation), the real position of X will be 17
;mm.
G1 X-8 Z55 F200
G1 X-8 Z43 F100
G1 X-9 F6000 ; here we get away from the part before write a G00.
G0 X-9.58 Z50
G1 X-9.58 Z42 F200
G1 X-11.9 Z39.28
G1 X-12 F6000 ; here we get away from the part before write a G00.
G0 X-12 Z42.5
G1 X-8.6 Z42 F200
G1 X-11.9 Z37.62 F100
G1 X-11.9 Z34 F200
G1 X-13.45 Z32.45
G1 X-13.45 Z17
G1 X-15 F6000 ; here we get away from the part before write G54.
G54 ;G54 remove the compensation like G40.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 23/48


BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 24/48
Insert with radius

Tool preset of external recess

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 25/48


G - Code Function

G53 Set return command (set by the user)

This function allows the axis/axes to perform a return movement according to a value set
by the user.
When programming this function, the user must check that the return value does not
cause any collision with the part being machined.
If the user is not in a hurry, he can choose G54 code, which moves the axis/axes back to
zero.

By means of F parameter you can program the speed at which G53 is performed. If this
parameter is omitted, the Numerical Control will automatically set the max. execution
speed.

Syntax:

G53ZxxXxxFxxxx

If F parameter (execution speed of movement) is omitted, the max. allowed speed will be
set (G0).

Programming example :

..............
..............
G01 Z31 F0.1
G01 X-19 F0.1
G97
G53Z10X10F10000
.............
.............
In G53 and G54 codes the return routine of the single axes is as follows:

U Axis (RECESSING head)


Z Axis
X Axis
Y Axis

Remark: For safety reasons, G53 or G54 must be programmed at the end of work program.
Should the Z axis not be programmed, it will be automatically moved to zero.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 26/48


G - Code Function

G54 Automatic return to zero

This function allows to move the axis/axes to the point nearest to the relative zero. In this
way, it is not necessary to program the axis return, since this is performed automatically.

Syntax:

G54

Programming example :

..............
..............
G01 Z31 F0.1
G01 X-19 F0.1
G97
G54
.............
.............

In G53 and G54 the zero return routine of the single axes is as follows:

U Axis (RECESSING head)


Z Axis
X Axis
Y Axis

Remark: For safety reasons, G53 or G54 must be programmed at the end of work program.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 27/48


G - Code Function

G54.1 End of cycle without unit return command

This function allows the unit program to be ended without moving the axes. The unit will
stop the axes in the position where they are (without returning to zero) and give the
program end command.

Be extremely careful, as the wrong use of this function might cause a collision with the
table.

Syntax:

G54.1

Programming example :

..............
..............
G01 Z31 F0.1
G01 X-19 F0.1
G97
G54.1
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 28/48


G - Code Function
* G56 Change axis origin

This function allows to change the position of origin of one or more than one axis. The
new positions programmed must be referred to the new origin.

Syntax:

G56 X...Y...Z... U...

Programming example :

..............
..............
G01 X0 Y10 F100
G56 X-10 Y0 ; change axis origin
G01 X0 Y10 F100 ; the axis X and Y move in positive direction of 10 mm
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 29/48


G - Code Function
* G57 Additional change axis origin

This function allow to add or sub from the axis origin the programmed quote. The
position programmed after G57 must be referred to the new origin.

Syntax:

G57 X...Y...Z... U...

Programming example :

..............
..............
G01 X0 Y10 F100
G56 X-10 Y0 ; change axis origin
G01 X0 Y10 F100 ; the axis X and Y move in positive direction of 10 mm
G57 X1 Y-1 ; this adds 1 mm to the origin of X (new origini sis X=-9
;mm)
;this subs 1mm from the origin of Y (new origin Y=-1
;mm)
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 30/48


G - Code Function

* G66 Delay for revolutions and degrees of orbital Unit

This function introduces a revolution and degrees that the orbital unit has to make before
to continue with the program.

Syntax:

G66 R.. D.. R= number of revolutions


D= degrees

Programming example :

..............
..............
G01 X10 F100
G66 R10 D30 ; the unit wait 10 revolutions and 30 degrees before to
;continue with the program
G0 X0
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 31/48


G - Code Function
* G76 Rigid threading

This function allows to program the unit for a rigid threading cycle.

Syntax:

G76 Z(thread end value), U(thread pitch), R(Rpm spindle forward), H(Rpm spindle
backward), S(dwell at thread end), D(thread direction sense),P(pulley),G(spindle
orientation).

S10 (S=thousandths of a second S1000=1 second)

D=1 Spindle rotation RIGHT


D=0 Spindle rotation LEFT

Px= Pulley parameter

P1= Pulley ratio LOW


P2= Pulley ratio MEDIUM
P3= Pulley ratio HIGH

G 0360 = Spindle orientation is set from 0 to 360.


Programming example :
............
G0Z32
G75
G76Z6.5U1.5R500H800S10D1G90
G4D100
If the parameter is omitted:

U Pitch 1 is set by default


R Rpm forward 100 is set by default
H Rpm backward Rpm forward is set by default
S Dwell 0 is set by default
D Direction sense 1 is set by default
P Pulley ratio 3 is set by default (HIGH)
G Spindle orientation 0 is set by default. No orientation is performed.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 32/48


G - Code Function

* G76.1 Single-tool threading

This function allows to program the unit for a single-tool threading cycle.
By means of this cycle it is possible to perform external, internal, tapered and cylindrical
threads.

This function is programmed by defining the following parameters:

X: Diameter of initial thread (mm)


Z: Thread depth (mm) (positive sign=internal thread)(negative sign=external thread)
U: Diameter of final thread (mm)
W: Thread starting value (for Z axis)(mm)
L: Thread length (mm)
R: Thread pitch (mm)
P: Number of finishing passes
Q: Number of roughing passes
D: Depth of last pass (mm)
F: Tool angle (in degrees) [(tool angle/2)-(1 & 5)] (see Tools Manual)
J: Tenths of thread pitch to exit from thread (max. 20)
G: Starting distance from workpiece (No. of threads)
S: Phase degrees of spindle of finishing unit (max.=360.00 degrees)
B: Number of threads to exit from thread
H: Number of final roughing pass
C: Steps of X equals with C=1 decreasing with C=0
A: Number of initial roughing pass
T: Recess retreat after finished the threading pass.

Syntax:

G76.1 X...Z...U...W...L...R...P...Q...D...F...J...G...SBHCAT

Programming example :
............
G0Z32X10
G76.1 X20 Z1.5 U10 W20 L10 R0.75 P2 Q4 D0.07 F28.5 J1 G1 B1 T0.5
G54

If T parameter is not programmed , it is set as 0.2 by default (and it must be < 1 mm).

If J parameter is programmed =0, it is set same as 1 by default.


If the unit performs both the roughing and finishing operations, S parameter can be
omitted or programmed = 0. P parameter must be higher or same as one.
S=0 P>=1

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 33/48


G - Code Function

* G76.1 Single-tool threading

N.B. B parameter must always be programmed without sign


In case the B parameter is omitted, it is set same as 1(1 thread pitch) by default
If J parameter is programmed =0, it is set same as 1 by default

G L B J
|----|------------------|----|----|
W | Initial point of exiting path
from thread

N.B. L+B+J must be considered as the max. dimension of thread

Single-tool threading by means of two units:

1. The first unit carries out the roughing operation


2. The second unit carries out the finishing operation
N.B. Q parameter of G76.1 code must have the same value for both units utilized.

1) ROUGHING UNIT
T40
D40
M3 S1200 P3
G0 X.9935
G0 Z2.7
M31
G76.5 X2.242 Z0.0785 U2.184 W2.26 L0.8252 R0.0869 P0 Q12 D0.001 F27 J2 B1 G2 A1 H4
M30
G53Z3.5

As regards the roughing unit you should have the following conditions:
P parameter=0
S parameter=0 or omitted

In this case the roughing unit performs:


N of roughing passes = (Q/2)+1

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 34/48


2) FINISHING UNIT

T80
D80
M3 S1200 P3
M21U82
G0 X.9935
G0 Z2.7
M31
G76.5 X2.242 Z0.0785 U2.184 W2.26 L0.8252 R0.0869 P0 Q12 D0.001 F27 J2 B1 G2 A5 H8 S46.17
M30
;M20
G53Z3.5

As for the finishing unit you should have the following conditions:
P parameter must be higher or same as 1
S parameter must indicate a phase degree value in relation to the spindle of the
roughing unit with a precision of 1/100 of a degree.

In this case the finishing unit performs:


N of roughing passes = Q/2
N of finishing passes =P

3) ROUGHING + FINISHING UNIT (1 PASS)

T90
D90
M3 S1200 P3
G0 X.9935
G0 Z2.7
M31
G76.5 X2.242 Z0.0785 U2.184 W2.26 L0.8252 R0.0869 P1 Q12 D0.001 F27 J2 B1 G2 A9 H12 S359.52
M30
M20
G53Z3.5

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 35/48


G - Code Function

* G76.2 Rigid threading

READ THE REMARK AT THE BOTTOM OF THE PAGE


This function allows to program the unit for a rigid threading cycle.

c
G76 Z(thread end value), U(thread pitch), R(Rpm spindle forward), H(Rpm spindle
backward), S(dwell at thread end), D(thread direction sense),P(pulley),G(spindle
orientation).

S10 (S=thousandths of a second S1000=1 second)


D=1 Spindle rotation RIGHT
D=0 Spindle rotation LEFT

Px= Pulley parameter

P1= Pulley ratio LOW


P2= Pulley ratio MEDIUM
P3= Pulley ratio HIGH

G 0360 = Spindle orientation is set from 0 to 360.

Programming example :
.....................
G0Z32
G75
G76.2Z6.5U1.5R500H800S10D1G90
If the parameter is omitted:

U Pitch 1 is set by default


R Rpm forward 100 is set by default
H Rpm backward Rpm forward is set by default
S Dwell 0 is set by default
D Direction sense 1 is set by default
P Pulley ratio 3 is set by default (HIGH)
G Spindle orientation 0 is set by default. No orientation is performed

Please remember that G76.2 code is a dedicated function only and it must be utilized
exclusively for the transfer machines producing nuts. G76.2 code includes G15 (pusher
return) as well as G53 (unit return). Should G76.2 code be used, G15 and G53 must not
be programmed.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 36/48


G - Code Function

* G76.5 Single-tool threading (pull or push)

This function allows to program the unit for a single-tool threading cycle.
By means of this cycle it is possible to perform external, internal, tapered and cylindrical
threads.
This G Code hasnt the C parameter (equals increments) but it has a M parameter that
allows to work pulling or pushing with the recess.
This can be useful when the tool has 2 inserts (180 degrees of phase) on the Komet Head.

This function is programmed by defining the following parameters:

X: Diameter of initial thread (mm)


Z: Thread depth (mm) (positive sign=internal thread)(negative sign=external thread)
U: Diameter of final thread (mm)
W: Thread starting value (for Z axis)(mm)
L: Thread length (mm)
R: Thread pitch (mm)
P: Number of finishing passes
Q: Number of roughing passes
D: Depth of last pass (mm)
F: Tool angle (in degrees) [(tool angle/2)-(1 & 5)] (see Tools Manual)
J: Tenths of thread pitch to exit from thread (max. 20)
G: Starting distance from workpiece (No. of threads)
S: Phase degrees of spindle of finishing unit (max.=360.00 degrees)
B: Number of threads to exit from thread
H: Number of final roughing pass
M: The recess works pushing M=-1(second insert) or pulling M=1(classic)
A: Number of initial roughing pass
T: Recess retreat after finished the threading pass.

Syntax:

G76.5 X...Z...U...W...L...R...P...Q...D...F...J...G...SBHMAT

Programming example :

............
G0 Z32 X10
G76.5 X20 Z1.5 U10 W20 L10 R0.75 P2 Q4 D0.07 F28.5 J1 G1 B1 M1 T0.6
G4 D100
G54

If T parameter is not programmed , it is set as 0.2 by default (and it must be < 1 mm).

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 37/48


G - Code Function
* G79 Recall subprogram

This function allows to call a subprogram with return to the next block of the work
program.

This function includes the following parameters:

L. No. of subprogram
B. No. of subprogram block (it can be omitted)
R. No. of subprogram repeatitions (it can be omitted)

Syntax:

G79 L......BR

Programming example :

............
............
G0Z32
G79 L8000 B500 R2 it calls subprogram 8000, block 500 for 2 times
G76Z6.5P1.5R500D1
G4D100
G28Z0

Remark : The subprograms must be between 8000 and 8999.

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 38/48


G - Code Function
* G84 Debourrage with chip discharge

This function enables to carry out a debourrage cycle with chip discharge.
At every repetition the linear axis returns to the starting value (previous line of G84) or to
the value programmed in G84.

Syntax:

G84 Z(Final value),R(No. of repeatitions),F(Feed speed),T (Dwell at repeatition


end)
B(programmed backward value) P(Depth)
N.B. If P has not been programmed, the depth is 0.2mm.

Programming example 1 :

..............
..............
G0 Z31 F0.1
G84 Z20R5F100T500 [No. 5 repeatitions with return to Z31 because B has not been
programmed]
G97
G54

Programming example 2 :

..............
..............
G0 Z31 F0.1
G84 Z20B40R5F100T500 [No. 5 repeatitions with return to Z40 because B has been
programmed]
G97
G54

B parameter or value of previous line

P parameter

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 39/48


G - Code Function
* G84.1 Debourrage with timed chip breaking

This function enables to carry out a debourrage cycle with timed chip breaking.
At every repetition the linear axis stops at the actual value and waits for dwell end, if
programmed.

Syntax:

G84 Z(Final value),R(No. of repeatitions),F(Feed speed),T (Dwell at repeatition


end)
P(Depth)
N.B. If P has not been programmed, the depth is 0.2mm.

Programming example :

.............
.............
G0 Z31 F0.1
G84.1 Z20R5F100T500
G97
G54
............
............

P parameter

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 40/48


G - Code Function
* G90 Absolute dimensions

With this code, all dimensions are referred to a fixed origin, i.e. the unit zero.
The value that has been set is subtracted from the previous one, thus defining pathway,
displacement and direction.

G90 remains active until it is cancelled by G91.

Syntax:

G90

Programming example :

............
............
G90
G01 Z31 F0.1
G01 X-19 F0.1
G97
G54
............
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 41/48


G - Code Function
* G91 Incremental dimensions

With this code, all the subsequent dimensions are defined as differences in relation to the
position of block start (incremental programming).

G91 remains active until it is cancelled by G90.

Syntax:

G91

Programming example :

..............
..............
G91
G01 Z5 F0.1 (the Z azis moves by 5 mm in the positive direction sense)
G01 X-6 F0.1 (the X azis moves by 6 mm in the negative direction sense)
G54
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 42/48


G - Code Function
* G92 Spindle revolution limitation ON

This function enables to set and activate a limitation of maximum speed (Rpm) of the
spindle when G96 (constant cutting speed) is used.

Syntax:

G92 Sxxxx

Programming example :

...........
...........
G92 S1000
G96 S350
G01 Z31 F0.1
G01 X-19 F0.1
G97
G54
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 43/48


G - Code Function
* G93 Spindle revolution limitation OFF

This function enables to cancel the maximum speed limitation (Rpm) defined by the user.
This function undoes G92.

Syntax:

G93

Programming example :

..............
..............
G92 S1000
G96 S100
G01 Z31 F0.1
G01 X-10 F0.1
G93 (this code cancels the spindle speed limitation)
G01 X-19 F0.1
G54
.............
.............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 44/48


G - Code Function
* G96 Constant surface speed ON

This function maintains a constant surface speed of spindle, depending on the actual
radius of the recessing axis.

Syntax

G96 S.. S (Spindle speed set in m/min)

Programming example :

............
............
M03 S500
G92 S1000 (In case of spindles controlled by three-phase motors, G92 is
Necessary to allow operation of G96)
G96 S100 (m/min)
G98
G00 X11.93 Z42
............
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 45/48


G - Code Function
* G97 Constant surface speed OFF

This function disables G96 and maintains the actual speed of the spindle.

Syntax

G97

Programming example :

.............
.............
G92 S1000
G00 X-49 Z32
G96 S200
G99
G01 Z31 F0.1
G01 X-19 F0.1
G97
G54
............
............

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 46/48


G - Code Function
* G98 Feed per Minute

With this function you can set with F the feed speed of the axes in mm/min.
N.B. After zeroing the units or after a G00, the machine will be in G98.

Syntax

G98

Programming example :

.........
.........
G98
G00 Z42
G01 Z5 F200
M05
G54
..........
..........

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 47/48


G - Code Function

* G99 Feed per Revolution

With this function you can set with F the feed speed of the axes in mm/revolution.
N.B. This function is cancelled by G00

Syntax

G99

Programming example :

M03 S2500
G00 Z42
G99
G01 Z18 F0.1 (0,1 mm. per spindle revolution=2500revs.*0,1mm/rev.=250mm/min.)
M05
G54

BTB TRANSFER s.p.a.-Via V.Veneto,31 - 25073 BOVEZZO (BS) G-CODE_0708_ENG 48/48

You might also like