0% found this document useful (0 votes)
464 views144 pages

Programming Manual EvoDECO20 32 en

The document is a programming manual for the EvoDECO 20 and EvoDECO 32 machines, emphasizing the importance of reading the user manual and adhering to safety requirements. It includes detailed sections on machine identification, kinematics, M and G functions, and global variables. Users are advised to keep the document for future reference.

Uploaded by

Peter Smith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
464 views144 pages

Programming Manual EvoDECO20 32 en

The document is a programming manual for the EvoDECO 20 and EvoDECO 32 machines, emphasizing the importance of reading the user manual and adhering to safety requirements. It includes detailed sections on machine identification, kinematics, M and G functions, and global variables. Users are advised to keep the document for future reference.

Uploaded by

Peter Smith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 144

Caution!

All users must read


the user manual
before using this
machine and in
particular comply
with the ”SAFETY
REQUIREMENTS”!
Keep this document
for future reference.

EvoDECO 20 - EvoDECO 32
PROGRAMMING
MANUAL
English version translated from the original version – Ref.: 298392_en
Programming manual - EvoDECO 20 & 32

I. Identification
I.1. Document
Programming manual EvoDECO 20 & 32
No 298392_en

Version manager
OV Translation Edit Date Description
FR 10/17 31/10/2017 First edition, recorded on chart IS_2017
EN 11/17 24/11/2017 First edition, recorded on chart IS_2017

298392_en - 11/17
Programming manual - EvoDECO 20 & 32

I.2. Manufacturer
TORNOS SA
Rue Industrielle 111
CH-2740 MOUTIER / SWITZERLAND

Tel. +41 (0)32 494 44 44


Fax +41 (0)32 494 49 03
[email protected]
www.tornos.com

I.3. Products
EvoDECO 20 & 32

298392_en - 11/17
Programming manual - EvoDECO 20 & 32

TABLE OF CONTENTS

1 Introduction ............................................................................. 1-1


1.1 EvoDECO 20 capacity ......................................................................................... 1-1
1.2 EvoDECO 32 capacity ......................................................................................... 1-2

2 Kinematics ............................................................................... 2-1


2.1 EvoDECO kinematics ........................................................................................... 2-1
2.1.1 Names of Axes and Spindles .............................................................................................2-1
2.1.2 Kinematics with EvoDECO 20 tools ...................................................................................2-2
2.1.3 Kinematics with EvoDECO 32 tools ...................................................................................2-3
2.1.4 Axis stroke.............................................................................................................................2-4
2.1.4.1 EvoDECO 20 ........................................................................................................................................ 2-4
2.1.4.2 EvoDECO 32 ........................................................................................................................................ 2-5
2.1.5 Maximum Spindle Speeds..................................................................................................2-5
2.2 Tool geometry ...................................................................................................... 2-6
2.2.1 Stationary tools fitted on Mainwork gang 1 and 2..........................................................2-6
2.2.2 Turning tools fitted on Mainwork gang 1 and 2...............................................................2-7
2.2.3 Tools fitted on the frontwork attachment ........................................................................2-7
2.2.4 Cross stationary tools fitted in backwork..........................................................................2-9
2.2.5 Turning cross tools in backwork .......................................................................................2-10
2.2.6 Cross tools fitted in backwork..........................................................................................2-11
2.3 Taking notes ....................................................................................................... 2-12

3 M Functions.............................................................................. 3-1
3.1 M00 Unconditional program stop....................................................................... 3-5
3.2 M01 Optional program stop................................................................................ 3-5
3.3 M08 / M09 Coolant On / Off ............................................................................... 3-5
3.4 M10 / M11 Spindle collet Open / Close ............................................................ 3-5
3.5 M32 to M39 Tool breakage and part presence control ................................... 3-5
3.6 M45 / M46 Most used, see new function M531 ................................................. 3-6
3.7 M60 New bar being loaded................................................................................ 3-6
3.8 M82 / M83 Activating / Stopping the barfeeder thrust..................................... 3-6
3.9 M84 / M85 Feed / Retract part ejector .............................................................. 3-6
3.10 M110 / M111 Counter-spindle collet Open / Close ......................................... 3-6
3.11 Feed hold.............................................................................................................. 3-6
3.12 Manipulator arm .................................................................................................. 3-7
3.13 Long part ejection................................................................................................ 3-7
3.14 M190 / M191 / M192 Guidebush Closing / Adjustment / Opening ................ 3-7
3.15 M200 Mx My Allows you to initialise another M code (numerical value) ...... 3-7
3.16 M242 M1 Part counter.......................................................................................... 3-7
3.17 15-60-bar pump ................................................................................................... 3-8
3.18 High Pressure Pump ............................................................................................. 3-9
3.19 Reducing the axis torque and checking the servo lag error ........................ 3-10
3.20 M722 M5 M0 / M1 Enable cross or longitudinal spindle S42 .......................... 3-11

298392_en - 11/17
Programming manual - EvoDECO 20 & 32

3.21 M751 M1 M0 / M1 Stop / Start whirling device ............................................... 3-13


3.22 M821 M1 M0 / M1 Closing / Opening coolant valve on
Mainwork gang 1............................................................................................... 3-13
3.23 M841 M1 M0 / M1 Deactivation / Activation of counter-spindle
cleaning using air .............................................................................................. 3-13
3.24 M890 Activating rotation of the 1st HF spindle................................................ 3-13
3.25 M901 to M904 Optional sockets....................................................................... 3-13
3.26 Mxx03 / Mxx04: Rotation start-up of a spindle number xx............................ 3-14
3.27 Mxx05 Stop of a spindle number xx ................................................................ 3-14
3.28 Mxx18 : Enabling the synchronisation phase for spindle no. xx ................... 3-14
3.29 Mxx19: Enables angular positioning mode..................................................... 3-14
3.30 Mxx98 Spindle Sxx switching to rotary axis (Cxx) .......................................... 3-15
3.31 Mxx15 Serving spindle Sxx................................................................................ 3-21
3.32 Mxx16 Releasing spindle Sxx ........................................................................... 3-21
3.33 Taking notes ....................................................................................................... 3-22

4 G functions ...............................................................................4-1
4.1 G00 / G100 Linear movement at high speed ................................................... 4-3
4.2 G01 Linear interpolation...................................................................................... 4-3
4.3 G02 clockwise CW circular movement ............................................................ 4-4
4.4 G03 counter-clockwise CCW circular movement........................................... 4-4
4.5 G04 or G4 Dwell in [S].......................................................................................... 4-4
4.6 G17 Selection of main work plane X, Y............................................................. 4-4
4.7 G 18 Selection of main work plane Z, X ............................................................ 4-4
4.8 G 19 Selection of main work plane Y, Z ............................................................ 4-5
4.9 G26 Radius on the edge. L: radius ..................................................................... 4-5
4.10 G27: Chamfer L: chamfer length........................................................................ 4-6
4.11 G28 Return to point of reference........................................................................ 4-6
4.12 G33, G34, G35, Constant, ascending and descending pitch
chase threading .................................................................................................. 4-7
4.13 G40 Cancellation of nose compensation. Mode by default .......................... 4-7
4.14 G41 Nose correction to left of the programmed trajectory ............................ 4-7
4.15 G42 Nose correction to right of the programmed trajectory.......................... 4-8
4.16 Zero offsets ........................................................................................................... 4-8
4.17 G56 Zero offset based on the machine zero point........................................... 4-9
4.18 G55 Additional zero offset based on the initial coordinates
system (part zero)................................................................................................ 4-9
4.19 G54 Additional zero offset based on the current coordinates system......... 4-10
4.20 G53 Delete all additional zero offsets.............................................................. 4-10
4.21 G52 Delete all zero offsets ................................................................................ 4-11

298392_en - 11/17
Programming manual - EvoDECO 20 & 32

4.22 G58 Saves (storage) all the zero offsets and resets of these
offsets for the axes concerned ......................................................................... 4-11
4.23 G59 Restores all zero offsets saved by the last G58 for
the axes concerned. ......................................................................................... 4-11
4.24 G61 / G64 Exact stop / Linked contouring ...................................................... 4-11
4.25 G68 / G69 ........................................................................................................... 4-12
4.26 G70 / G71 Interpretation of inch / metric values............................................ 4-12
4.27 G81 / G82 Linear / circular extension on nose correction ............................ 4-13
4.28 G83 Selection of axes for main interpolation plane (Axis 1, Axis 3) ............. 4-14
4.29 G84 Selection of axes for main interpolation plan (Axis 3, Axis 2) ............... 4-15
4.30 G85 Resetting plane axes by default defined ................................................ 4-16
4.31 G90 Absolute programming (by default) ........................................................ 4-17
4.32 G91 Relative programming............................................................................... 4-18
4.33 G92 Maximum spindle speed limit (with G96) ................................................ 4-18
4.34 G94 Asynchronous feed [mm/min].................................................................. 4-19
4.35 G95 Synchronous feed [mm/turn] (by default)............................................... 4-19
4.36 G96 Constant cut-off speed [m/min] ............................................................... 4-22
4.37 G97 Cancellation of G96................................................................................... 4-23
4.38 G100 Non-productive fast speed movement mode...................................... 4-24
4.39 Chase threading with G130, G131, G33 .......................................................... 4-25
4.40 Gxx50 Cancel polygoning mode of spindle Sxx activated by Gxx51......... 4-28
4.41 Gxx51 Activation of spindle Sxx in polygoning mode ................................... 4-28
4.42 G190 Exact stop mode between segments (by default)............................... 4-29
4.43 G191 Linked contouring mode......................................................................... 4-29
4.44 G314 Circular interpolation for arcs greater than 180° .................................. 4-30

5 Global part variables.............................................................. 5-1


5.1 Variable #3000 : Cutting Tool Support No.......................................................... 5-2
5.2 Variable #3001 : Bar diameter (mm).................................................................. 5-2
5.3 Variable #3002 : Initial Cut-off Rate (mm/rev) .................................................. 5-2
5.4 Variable #3003: Part length (mm) ...................................................................... 5-2
5.5 Variable #3004: Feeding allowance (mm)........................................................ 5-2
5.6 Variable #3005 : Deburring Shift (mm) ............................................................... 5-4
5.7 Variable #3006: Guidebush Type ....................................................................... 5-4
5.8 Variable #3007 : Dwell [S] after the opening of the collet................................ 5-4
5.9 Variable #3008 : Dwell [S] after the closing of the collet.................................. 5-5
5.10 Variable #3009 : Counter-spindle part pickoff distance
for the cut-off (mm) ............................................................................................. 5-5
5.11 Variable #3010 : Counter spindle collet geometry (mm) ................................ 5-6

298392_en - 11/17
Programming manual - EvoDECO 20 & 32

5.12 Variable #3011 : Counter-spindle retraction after part pickoff (mm) ............ 5-6
5.13 Variable #3012 : Counter-spindle approach distance before
part pickoff (mm) ................................................................................................ 5-7
5.14 Variable #3013 : Only for EvoDECO 10, Machine position of
the counter-spindle (Z41) for part ejection ....................................................... 5-7
5.15 Variable #3014 : Retraction Z11 for ejecting the remnant............................... 5-8
5.16 Variable #3015 : Feed Z11 for introducing the new bar (mm) ........................ 5-9
5.17 Variable #3016 : Reduction of speed S11 during part feeding ..................... 5-10
5.18 Variable #3017 : Ejection type ......................................................................... 5-10
5.19 Variable #3018: Part gripping distance ........................................................... 5-11
5.20 Variable #3019: Length of bar used................................................................. 5-11
5.21 Variable #3020 : Facing allowance in mainwork........................................... 5-12
5.22 Variable #3021 : Facing allowance in backwork .......................................... 5-12
5.23 Variable #3022 : Anti-collision between the tool support
and the counter-spindle ................................................................................... 5-13
5.24 Variable #3046 : Anticipation of triggering of supply thrust (M11) ............... 5-13
5.25 Variable #3047 : Program part correction time [ms] (G902) ......................... 5-13
5.26 Variable #3175 : Long part, Speed S11 after additional feeding .................. 5-13
5.27 Variable #3179 : Speed S41 at the end of the main program....................... 5-13
5.28 Variable #3186 : Long part, No. of cutting tool guidebush side.................... 5-13
5.29 Taking notes ....................................................................................................... 5-14

6 Global program variables ......................................................6-1


6.1 Variables #2xxx ................................................................................................... 6-1
6.2 Variable #2011..................................................................................................... 6-1
6.3 Variable #2012..................................................................................................... 6-1
6.4 Variable #2013..................................................................................................... 6-1
6.5 Variable #2014..................................................................................................... 6-1
6.6 Variable #2015..................................................................................................... 6-1
6.7 Variable #2016..................................................................................................... 6-1
6.8 Variable #2017..................................................................................................... 6-1
6.9 Variable #2018..................................................................................................... 6-1
6.10 Variable #2019..................................................................................................... 6-1
6.11 Variable #2020..................................................................................................... 6-2
6.12 Variable #2022, long parts.................................................................................. 6-2
6.13 Variable #2025, long parts.................................................................................. 6-2
6.14 Variable #2026, long parts.................................................................................. 6-2
6.15 Variable #2032..................................................................................................... 6-2
6.16 Variable #2033..................................................................................................... 6-2
6.17 Variable #2034..................................................................................................... 6-2

298392_en - 11/17
Programming manual - EvoDECO 20 & 32

6.18 Variable #2035 ..................................................................................................... 6-2


6.19 Variable #2037 ..................................................................................................... 6-2
6.20 Variable #2039 ..................................................................................................... 6-2
6.21 Variable #2041, Cutting diameter ...................................................................... 6-2
6.22 Variable #2042, Cutting follow-up diameter ..................................................... 6-3
6.23 Variable #2139, Long part, position Z for the 2nd feeding ............................... 6-3
6.24 Variable #2141, Long part, No. of the retention claws of mainwork gang 1 ........ 6-3
6.25 Variable #2142, Long part, No. of the retention claws of mainwork gang 2 ........ 6-3
6.26 Variable #2144, Long part, Zero offset 1st feed................................................. 6-3
6.27 Variable #2145, Long part, Zero offset 2nd feed............................................... 6-3
6.28 Free variable editing for the operator................................................................ 6-3
6.29 Taking notes ......................................................................................................... 6-4

7 Macros and cycles ................................................................. 7-1


7.1 Macro G900: Spindle speed initialisation .......................................................... 7-1
7.2 Macro G901: Downloading information to the NC ........................................... 7-1
7.3 Macro G903: Tool indexing ................................................................................. 7-1
7.4 Macro G909: Program initialisation .................................................................... 7-2
7.5 Macro G910: Initial cutting.................................................................................. 7-3
7.6 Macro G911: Zero offset calculation in mainwork............................................ 7-4
7.7 Macro G912: Part feeding macro....................................................................... 7-4
7.8 Macro G913: END_BAR program, deburring and remnant
ejection after the Bar end signal ........................................................................ 7-5
7.9 Macro G914: Bar feeding cycle of a new bar .................................................. 7-6
7.10 Macro G915: Additional zero offset for frontwork ............................................. 7-7
7.11 Macro G916: Additional zero offset for part pickoff ......................................... 7-8
7.12 Macro G917: Polygoning .................................................................................. 7-10
7.13 Programming without macro G917 .................................................................. 7-11
7.14 Programming with macro G917 ....................................................................... 7-12
7.15 Macro G920: Part ejection in the initialisation program ................................ 7-13
7.16 Macro G921: Zero offset calculation in backwork ......................................... 7-13
7.17 Macro G923: Part extraction............................................................................. 7-14
7.18 Normal extraction sequences (P8=0): ............................................................. 7-17
7.19 Extraction sequence with P8=1 :....................................................................... 7-17
7.20 Macro G930 Preparation of work without material ........................................ 7-17
7.21 Macro G931: Work preparation with material................................................. 7-18
7.22 Macro G933: Threading with tool ..................................................................... 7-18
7.23 Macro G942: Long part machining .................................................................. 7-21
7.24 Macro G943: Complement to function G942.................................................. 7-21
7.25 Macro G957: Milling of inclined pins................................................................ 7-22
7.26 Macro G960: Milling of inclined threads.......................................................... 7-25
7.27 Cycle G962 (Hexalobe) .................................................................................... 7-30

298392_en - 11/17
Programming manual - EvoDECO 20 & 32

7.28 Cycle G963: for internal hex milling ................................................................ 7-32


7.29 Cycle G977 : Drilling with deburring ................................................................ 7-35
7.30 Cycle G978: Threading with tool...................................................................... 7-39
7.31 PELD parameter programming......................................................................... 7-46

8 Use of the model......................................................................8-1


8.1 Managing an intermediate production stop .................................................... 8-1
8.1.1 Introduction .........................................................................................................................8-1
8.1.2 Conditions ............................................................................................................................8-1
8.1.3 Method.................................................................................................................................8-1
8.1.3.1 INIT program .........................................................................................................................................8-1
8.1.3.2 Main program ......................................................................................................................................8-2

298392_en - 11/17
Programming manual - EvoDECO 20 & 32 - 1. Introduction

1. Introduction

Starting from the part drawing, you just program the part with the aid of the dedicated TB-DECO
interface. You are then given the opportunity to simulate the machining of your part thanks to the
SIM-DECO simulation software. Then you download your program into the machine using the
DNC-DECO communication software.
A new part is generally programmed on the basis of a basic part model. This model comprises,
depending on the mechanical configuration of the machine, the basic structure of the operating
range. Each machine configuration has its own basic part model. These basic part models, which
are particularly useful when creating a new program, are copied onto your hard disk during
installation of TB-DECO.
This document is designed to provide you with all the information required to produce a part
program and is complementary to the TB-DECO instructions for use.

1.1. EvoDECO 20 capacity


Name Unit Value
Maximum capacity mm Ø25
Minimum capacity mm Ø4
Maximum part length mm 200
Max spindle speed rpm 10000
Maximum speed of the counter spindle rpm 10000

298392_en - 11/17
1-1
1. Introduction - Programming manual - EvoDECO 20 & 32

1.2. EvoDECO 32 capacity


Name Unit Value
Maximum capacity mm Ø32
Minimum capacity mm Ø4
Maximum part length mm 240
Max spindle speed rpm 8000
Maximum speed of the counter spindle rpm 8000

298392_en - 11/17
1-2
Programming manual - EvoDECO 20 & 32 - 2. Kinematics

2. Kinematics
2.1. EvoDECO kinematics

2.1.1. Names of Axes and Spindles

Fig. 1

298392_en - 11/17
2-1
2. Kinematics - Programming manual - EvoDECO 20 & 32

2.1.2. Kinematics with EvoDECO 20 tools

Machine axis zero point

Machine zero point


Tool zero

Fig. 2

298392_en - 11/17
2-2
Programming manual - EvoDECO 20 & 32 - 2. Kinematics

2.1.3. Kinematics with EvoDECO 32 tools

Machine axis zero point

Machine zero point


Tool zero

Fig. 3

298392_en - 11/17
2-3
2. Kinematics - Programming manual - EvoDECO 20 & 32

2.1.4. Axis stroke

Axis Reference Maximum Minimum position Stroke [mm]


position [mm] position [mm] [mm]
X11 (Ø) 167.5 (pin) (Ø) 80 (Ø) -20 50
X21 (Ø) 167.5 (pin) (Ø) 80 (Ø) -20 50
Y11 0 185 -5 190
Y21 0 185 -5 190
Z11 0 220 (260*) 0 220 (260*)
X31 -100 (Ø) 272 (Ø) -200 236
Z31 407.5 (pin) 0 -205 205
X41 (Ø) 540 630 0 315
Y41 0 136 -1 137
Z41 335 335 20 315
(*) : EvoDECO 32

2.1.4.1. EvoDECO 20

Linear axes
Axis Guidebush Reference Soft limits + Soft limits - Stroke
[mm] [mm] [mm] [mm]
X11 167.5 167.5 117.5 50
Z11 Fixed 100 320 100 220
Turning 100 320 100 220
Habegger 100 320 100 220
Self-adjustable 132 320 132 188
Y11 0 185 -5 190
X21 167.5 167.5 117.5 50
Y21 0 185 -5 190
X31 -100 136 -100 236
Z31 407.5 407.5 202.5 205
X41 270 315 -1 316
Z41 335 335 20 315
Y41 0 136 -1 137

298392_en - 11/17
2-4
Programming manual - EvoDECO 20 & 32 - 2. Kinematics

2.1.4.2. EvoDECO 32

Linear axes
Axis Guidebush Reference Soft limits + Soft limits - Stroke
[mm] [mm] [mm] [mm]
X11 167.5 167.5 117.5 50
Z11 Fixed 140 400 140 260
Turning 140 400 140 260
Habegger 140 400 140 260
Self-adjustable 140 400 140 260
Y11 0 185 -5 190
X21 167.5 167.5 117.5 50
Y21 0 185 -5 190
X31 -100 136 -100 236
Z31 407.5 407.5 202.5 205
X41 270 315 -1 316
Z41 335 335 20 315
Y41 0 136 -1 137

2.1.5. Maximum Spindle Speeds

Maximum speeds
Spindle Description EvoDECO 20 EvoDECO 32
[rpm] [rpm]
S11 Spindle 10000 8000
S12 Mainwork gang 1 tool spindle (option) 5500 5500
S21 Mainwork gang 2 tool spindle 8000 8000
S31 Frontwork tool spindle 6000 6000
S41 Counter spindle 10000 8000
S42 Backwork tool spindle 8000 8000

298392_en - 11/17
2-5
2. Kinematics - Programming manual - EvoDECO 20 & 32

2.2. Tool geometry

2.2.1. Stationary tools fitted on Mainwork gang 1 and 2

Stationary tools
Mainwork gang X [mm] Y [mm] Z [mm]
Standard geometries
Mainwork gang 1 127.5 4 -20
Mainwork gang 2 127.5 -4 -20
Geometries: pre-setter
Mainwork gang 1 0 4 -20
Mainwork gang 2 0 4 -20

Mainwork gang 2 Mainwork gang 1

298392_en - 11/17
2-6
Programming manual - EvoDECO 20 & 32 - 2. Kinematics

2.2.2. Turning tools fitted on Mainwork gang 1 and 2

Turning tools
Mainwork gang X [mm] Y [mm] Z [mm]
Geometries: Standard
Mainwork gang 1 127.5 0 -25 / -45
Mainwork gang 2 127.5 0 -25 / -45
Geometries: Pre-setter
Mainwork gang 1 0 0 -25 / -45
Mainwork gang 2 0 0 -25 / -45

X = +127.5

Mainwork gang 2 Mainwork gang 1

2.2.3. Tools fitted on the frontwork attachment


Tools on frontwork gang
Standard X [mm] Y [mm] Z [mm]
Standard 0 - 187.5
Pre-setter 0 - 0

298392_en - 11/17
2-7
2. Kinematics - Programming manual - EvoDECO 20 & 32

298392_en - 11/17
2-8
Programming manual - EvoDECO 20 & 32 - 2. Kinematics

2.2.4. Cross stationary tools fitted in backwork

Tools on frontwork gang


Mainwork gang X [mm] Y [mm] Z [mm]
Geometries: Standard
CW -127.5 4 40
CCW -127.5 -4 40
Geometries: Pre-setter
CW 0 4 40
CCW 0 4 40

View from the top of the machine:

Counter-spindle in counter- Counter-spindle in clockwise


clockwise rotation (CCW) rotation (CW)

298392_en - 11/17
2-9
2. Kinematics - Programming manual - EvoDECO 20 & 32

2.2.5. Turning cross tools in backwork

Turning tools
Standard X [mm] Y [mm] Z [mm]
Standard -127.5 0 45
Pre-setter 0 0 45

298392_en - 11/17
2-10
Programming manual - EvoDECO 20 & 32 - 2. Kinematics

2.2.6. Cross tools fitted in backwork

Longitudinal tools
Standard X [mm] Y [mm] Z [mm]
Standard 25 0 187.5
Pre-setter
X=0 0 0 0

298392_en - 11/17
2-11
2. Kinematics - Programming manual - EvoDECO 20 & 32

2.3. Taking notes

298392_en - 11/17
2-12
Programming manual - EvoDECO 20 & 32 - 3. M Functions

3. M Functions
Function Description
M00 Unconditional part program stop
M01 Conditional part program stop
M08 Spraying enabled
M09 Cooling power down
M10 Spindle collet closing system
M11 Spindle collet opening
M32 Sensor 1 tool break check
M33 Check sensor 1 missing part
M34 Sensor 2 tool break check
M35 Check sensor 2 missing part
M36 Sensor 3 tool break check
M37 Check sensor 3 missing part
M38 Sensor 3 tool break check
M39 Check sensor 3 missing part
M60 Loading a new bar
M82 Barfeeder thrust enable
M83 Barfeeder thrust off
M84 Counter spindle ejector feed
M85 Counter spindle ejector retract
M110 Close counter spindle collet
M111 Open counter spindle collet
M150 Feed block (axis override = spindle override)
M151 Cancel feed hold
M160 Manipulator arm feed, or part pickup
M161 Manipulator arm or part catcher retract
M162 Manipulator arm pivoting
M163 Manipulator arm pivoting backwards
M164 Manipulator arm collet closing system
M165 Manipulator arm collet opening
M166 Manipulator arm feed to guidebush (Deco 20 1st generation)
M167 Manipulator arm retract in backwork (Deco 20 1st generation)
M180 Long parts ejector forwards option
M181 Long parts ejector retract option
M182 Long parts out forwards
M183 Long parts out backwards
M184 Long parts tipper enable
M185 Long parts tipper disable
M186 Check long parts ejector forwards
M187 Check long parts ejector retract
M188 Check long part catcher tipper forwards
M189 Check long part catcher tipper back
M190 Guidebush closing system
M191 Guidebush adjustment
M192 Guidebush opening

298392_en - 11/17
3-1
3. M Functions - Programming manual - EvoDECO 20 & 32

Function Description
M200 Mx My Allows you to initialise another M code (numerical value)
M242 M1 Part counter
M531 M1 M0 Switch off 15-bar pump
M531 M1 M1 15-bar pump on
M531 M11 M0 Closing spray valve 1, 15 bar pump at ? exits
M531 M11 M1 Opening spray valve 1, 15 bar pump at ? exits
M531 M12 M0 Closing spray valve 2, 15 bar pump at ? exits
M531 M12 M1 Opening spray valve 2, 15 bar pump at ? exits
M531 M13 M0 Closing spray valve 3, 15 bar pump at ? exits
M531 M13 M1 Opening spray valve 3, 15 bar pump at ? exits
M531 M14 M0 Closing spray valve 4, 15 bar pump at ? exits
M531 M14 M1 Opening spray valve 4, 15 bar pump at ? exits
M532 M1 M0 Switch off high pressure pump
M532 M1 M1 Start high pressure pump
M532 M11 M0 HP pump (120-340bars, solenoid valve YV70, closing)
M532 M11 M1 HP pump (120-340bars, solenoid valve YV70, opening)
M532 M12 M0 HP pump (120-340bars, solenoid valve YV71, closing)
M532 M12 M1 HP pump (120-340bars, solenoid valve YV71, opening)
M532 M13 M0 HP pump (120-340bars, solenoid valve YV72, closing)
M532 M13 M1 HP pump (120-340bars, solenoid valve YV72, opening)
M532 M14 M0 HP pump (120-340bars, solenoid valveYV73, closing)
M532 M14 M0 HP pump (120-340bars, solenoid valve YV73, opening)
M532 M21 M1 Selecting feed rate curve No. 1. HP pump (120-340-bars)
M532 M21 M2 Selecting feed rate curve No. 2. HP pump (120-340-bars)
M532 M21 M3 Selecting feed rate curve No. 3. HP pump (120-340-bars)
M532 M21 M4 Selecting feed rate curve No. 4. HP pump (120-340-bars)
M702 M2 My Definition and activation of the axis torque limit (e.g. Z11) (+all the axes)
+M702 M4 M1
M702 M3 My Definition and activation of servo lag control error of Z axis of the
+M702 M5 M1 corresponding channel. (e.g. Z11) (+all the axes)
M702 M4 M0 Cancellation of the axis torque limit (e.g. Z11) (+all the axes)
M702 M5 M0 Cancellation of servo-lag control error. (e.g. Z41) (+all the axes)
M722 M5 M0 Activation of cross spindle S42 (and deactivation of longitudinal spindle S42)
M722 M5 M1 Activation of longitudinal spindle S42 (and deactivation of cross spindle S42)
M741 M1 M1 HF spindle 1 activation
M741 M1 M0 HF spindle 1 deactivation
M742 M1 M1 HF spindle 2 activation
M742 M1 M0 HF spindle 2 deactivation
M751 M1 M1 Starting the whirling device with independent motor
M751 M1 M0 Stopping the whirling device with independent motor
M821 M1 M0 Stop coolant valve system 1 (Mainwork gang 1)
M821 M1 M1 Activate coolant valve system 1 (Mainwork gang 1)
M821 M2 M0 Stop coolant valve system 2 (Mainwork gang 2)
M821 M2 M1 Activate coolant valve system 2 (Mainwork gang 2)
M821 M3 M0 Stop coolant valve system 3 (Frontwork attachment)
M821 M3 M1 Activate coolant valve system 3 (Frontwork attachment)
M832 M6 M1 Opening long part outlet

298392_en - 11/17
3-2
Programming manual - EvoDECO 20 & 32 - 3. M Functions

Function Description
M832 M6 M0 Closing long part outlet
M832 M7 M1 Check opening long part outlet
M832 M7 M0 Check closing long part outlet
M841 M1 M0 Counter spindle cleaning - Air deactivation
M841 M1 M1 Counter spindle cleaning - Air activation
M841 M3 M0 Counter spindle cleaning - oil deactivation
M841 M3 M1 Counter spindle cleaning - oil activation
M841 M2 M2000 Counter spindle cleaning - Air with 2 second timing
M841 M4 M2000 Counter spindle cleaning - Oil with 2 second timing
M890 Auxiliary spindle (HF1, analog,…) (rotation activation)
M891 Auxiliary spindle (HF1, analog,…) (rotation deactivation)
M892 Auxiliary spindle (HF2, analog,…) (rotation activation)
M893 Auxiliary spindle (HF2, analog,…) (rotation deactivation)
M901 M1 M0 Rotation deactivation, HF3 spindle
M901 M1 M1 Rotation activation, HF3 spindle
M901 M1 M0 Deactivation of output 1 on optional socket 1
M901 M1 M1 Activation of output 1 on optional socket 1
M901 M2 M0 Deactivation of output 2 on optional socket 1
M901 M2 M1 Activation of output 2 on optional socket 1
M901 M3 MY Configuration of optional socket 1
M901 M4 Optional socket 1 input check (Pulse 100ms)
M902 M1 M0 Deactivation of output 1 on optional socket 2
M902 M1 M1 Activation of output 1 on optional socket 2
M902 M2 M0 Deactivation of output 2 on optional socket 2
M902 M2 M1 Activation of output 2 on optional socket 2
M902 M3 MY Configuration of optional socket 2
M902 M4 Optional socket 2 input check (Pulse 100ms)
M90x M1 M0 Deactivation of output 1 on optional socket x (x=number of optional socket)
M90x M1 M1 Activation of output 1 on optional socket x (x=number of optional socket)
M90x M2 M0 Deactivation of output 2 on optional socket x (x=number of optional socket)
M90x M2 M1 Activation of output 2 on optional socket x (x=number of optional socket)
M90x M3 MY Optional socket x configuration (x=no. of optional socket)
M90x M4 Optional socket x input control (pulse 100 ms)(x=no. of
optional socket)
M1103 S11 spindle rotation CW
M1104 S11 spindle rotation ACW
M1105 Stop spindle S11
M1203 S12 spindle rotation CW
M1204 S12 spindle rotation ACW
M1205 Stop spindle S12
M2103 S21 spindle rotation CW
M2104 S21 spindle rotation ACW
M2105 Stop spindle S21
M3103 S31 spindle rotation CW
M3104 S31 spindle rotation ACW
M3105 Stop spindle S31

298392_en - 11/17
3-3
3. M Functions - Programming manual - EvoDECO 20 & 32

Function Description
M4103 S41 spindle rotation CW
M4104 S41 spindle rotation ACW
M4105 Stop spindle S4
M4203 S42 spindle rotation CW
M4204 S42 spindle rotation ACW
M4205 Stop spindle S42
Mxx18 Synchronisation of spindle phase N°xx
Mxx19 Oriented stop of the spindle N°xx
Mxx98 Mxx98 : Spindle N°xx switching in rotary axis C, programming in
pseudo Degrees
Mxx98 D : Cylindrical interpolation, switch to rotary axis C,
programming in mm
Mxx98 D-1 : Interpolation in polar coordinates, switch to
rotary axis C
Mxx99 Cancel Mxx98. Re-establishment of spindle mode for Nxx spindle
Mxx15 Only in MDI, serving spindle (Cancellation of Mxx16)
Mxx16 Only in MDI, releasing spindle

298392_en - 11/17
3-4
Programming manual - EvoDECO 20 & 32 - 3. M Functions

3.1. M00 Unconditional program stop

3.2. M01 Optional program stop


This function can be activated or deactivated from the machine control panel.

3.3. M08 / M09 Coolant On / Off


A dwell is necessary for the arrival of the oil in the machining area.
Example
- M8
- G4 X5 (5 Seconds dwell.)

3.4. M10 / M11 Spindle collet Open / Close


These functions are programmed on the position where you want to open / close the spindle
collet.
Example
- G1 G100 Z11=0 X11=20
- M11 (Spindle collet opening)
- G4 X0.25
- M10 (Spindle collet closing)
- G4 X0.25

3.5. M32 to M39 Tool breakage and part presence control

Function Description Associated alarm


M32 Probe tool breakage check 1 Alarm : broken part probe 1
M33 Probe part presence check 1 Alarm : part presence probe 1
M34 Probe tool breakage check 2 Alarm : broken part probe 2
M35 Probe part presence check 2 Alarm : part presence probe 2
M36 Probe tool breakage check 3 Alarm : broken part probe 3
M37 Probe part presence check 3 Alarm : part presence probe 3
M38 Probe tool breakage check 4 Alarm : broken part probe 4
M39 Probe part presence check 4 Alarm : part presence probe 4
Programming for tool breakage check
To guarantee the correct operation of the "DETECTOR" device, you must program the part presence
control function after the tool breakage test, i.e. check the status of the sensor (presence of sensor rods,
non-faulty air pipes, etc.). If the sensor no longer works correctly an error message will indicate for sensor
part presence. Actually it is the sensor which is faulty and the machine will stop with a class 1 or 3 alarm
(the alarm class can be configured for the sensors).

Note!
Fixing the detector in place or on a slide.

Using the "DETECTOR" device


The minimum impulse time for detection is 200 ms (Timers T20 to T24). It is important that the check
time programmed into the part program is longer that the impulse time, i.e. minimum 250 ms.
The minimum operating pressure of the "DETECTOR" is 3 bar, but for optimal operation, adjust the
pressure to 4 bar.
The air return of the detector (black flange) is coupled to a control pressure switch with a check
screw. The travel of this screw is about 15 revolutions. From the min. position (screw fully tightened),
unscrew by 7 revolutions anti-clockwise. For the type 101 model, fit a tube of a minimum length of
200 mm onto the discharge coupling (red or green flange depending on the direction of rotation)
in order to prevent any impurities entering.

298392_en - 11/17
3-5
3. M Functions - Programming manual - EvoDECO 20 & 32

Sample Programming
M32 (tool breakage check)
G4 X0.25 (min. timing for check)
Alarm classes
There are two causes for a machine stop: following the detection of a broken tool or a part presence.
- Alarm class 1: The machine stops at the cycle end (machining complete and tools released)
- Alarm class 3: The machine stops immediately (during machining)

3.6. M45 / M46 Most used, see new function M531

3.7. M60 New bar being loaded


The M60 function automatically manages the loading cycle for a new bar.
Function M60 is programmed in the G913 cycle (Loading of a new bar).

3.8. M82 / M83 Activating / Stopping the barfeeder thrust

3.9. M84 / M85 Feed / Retract part ejector


Checks if the part has been correctly ejected from the counter-spindle. It is vital to program a
delay to leave time for the ejector to advance and to check part ejection.
Example
- M111 (opening of counter spindle collet)
- G4 X0.2
- M84 (ejector advance)
- G4 X0.5 (ejector feed time and ejection control)
- M85 (ejector retraction)

3.10. M110 / M111 Counter-spindle collet Open / Close


These functions are programmed on the counter-spindle channel.
Example
- M111 (opening counter spindle collet)
- G4 X0.25
……..
……..
- M110 (closing counter spindle collet)
- G4 X0.25

3.11. Feed hold


M150 Feed hold
When this function is enabled, the feed Loads (Overrides) are adjusted based on the rotation Loads.
Example
if the spindle rotation loads are at 80%, the axis feeder loads will be automatically set at 80%.
M151 Cancellation of feed hold
The feed load will resume the value it had before enabling function M150.

298392_en - 11/17
3-6
Programming manual - EvoDECO 20 & 32 - 3. M Functions

3.12. Manipulator arm


M160 / M161 Feed / Retract manipulator arm or part catcher

Note!
After function M160, it is necessary to program a dwell, for example: G4 X3.

M162 / M163 Swivel manipulator arm / Swivel return


M164 / M165 Close / Open collet manipulator arm.
The part will drop into the part catcher tank.
M168 Check part absence in manipulator arm collet/ basket
M169 Check part presence in manipulator arm collet/ basket

3.13. Long part ejection


M180 / M181 Feed / Retract long part ejector
M182 / M183 Feed / Retract long part outlet cylinder
M184 / M185 Tipping / Return long part tipping
M186 Check long parts ejector forwards
M187 Check long parts ejector retraction
M188 Check long part outlet cylinder feed
M189 Check long part outlet cylinder retract
M832 M6 M1 / M0 Open/ Close long part outlet
M832 M7 M1 Check opening long part outlet
M832 M7 M0 Check closing long part outlet

3.14. M190 / M191 / M192 Guidebush Closing / Adjustment / Opening

3.15. M200 Mx My Allows you to initialise another M code (numerical value)

3.16. M242 M1 Part counter


This part counter handles the different counting (part, loops, cycles, no material mode, etc.).

298392_en - 11/17
3-7
3. M Functions - Programming manual - EvoDECO 20 & 32

3.17. 15-60-bar pump


M531 M1 M0 Stop 15-60 bar pump
M531 M1 M1 Start 15-60 bar pump

Use 15-60-bar pump:


The pump does not work if the M8 spraying function is active and if a valve is open.
If you activate the pump with function M531 M1 M1 and all the valves are closed, the pump will
not work. It is only when at least one valve has been activated that the pump will work.

Note!
If a valve has been activated, you can deactivate and activate another valve without stopping
the pump because the pump is automatically deactivated when the valves are closed.

M531 M11 M0 Closing coolant valve No1. 15-60-bar pump


M531 M11 M1 Opening coolant valve No1. 15-60-bar pump

M531 M12 M0 Closing coolant valve No2. 15-60-bar pump


M531 M12 M1 Opening coolant valve No2. 15-60-bar pump

M531 M13 M0 Closing coolant valve No3. 15-60-bar pump


M531 M13 M1 Opening coolant valve No3. 15-60-bar pump

298392_en - 11/17
3-8
Programming manual - EvoDECO 20 & 32 - 3. M Functions

M531 M14 M0 Closing coolant valve No4. 15-60-bar pump


M531 M14 M1 Opening coolant valve No4. 15-60-bar pump

3.18. High Pressure Pump


M532 M1 M0 Stop 120-340 bar pump
M532 M1 M1 Start 120-340 bar pump

Use 120-340-bar pump:


The pump does not work if the M8 spraying function is active and if a valve is open.
If you activate the pump with function M532 M1 M1 and all the valves are closed, the pump will
not work. It is only when at least one valve has been activated that the pump will work.
If a valve has been activated, you can deactivate and activate another valve without stopping
the pump because the latter is automatically deactivated when the valves are closed.

M532 M11 M0 Closing coolant valve No1. 120-340-bar pump


M532 M11 M1 Opening coolant valve No1. 120-340-bar pump

M532 M12 M0 Closing coolant valve No2. 120-340-bar pump


M532 M12 M1 Opening coolant valve No2. 120-340-bar pump

298392_en - 11/17
3-9
3. M Functions - Programming manual - EvoDECO 20 & 32

M532 M13 M0 Closing coolant valve No3. 120-340-bar pump


M532 M13 M1 Opening coolant valve No3. 120-340-bar pump

M532 M14 M0 Closing coolant valve No4. 120-340-bar pump


M532 M14 M1 Opening coolant valve No4. 120-340-bar pump

For HP pumps that are equipped with one, it is possible to select a feed rate curve:
M532 M21 M1 Selecting speed rate curve No1. 120-340-bar pump
M532 M21 M2 Selecting speed rate curve No2. 120-340-bar pump
M532 M21 M3 Selecting speed rate curve No3. 120-340-bar pump
M532 M21 M4 Selecting speed rate curve No4. 120-340-bar pump

3.19. Reducing the axis torque and checking the servo lag error
NAME OF THE AXIS CONCERNED
- M701: axis X
- M702: axis Z
- M703: axis Y

Note!
The numbering M70x corresponds to the axis numbers as provided in the machine database.
Function M701 always controls axis X of the tool line on which it is programmed. The same applies
to functions M702 and M703.

M702 M2 My Definition of the torque limit for axis Z


E.g. M702 M2 M20 defines the torque limit of axis Z at 20%
M702 M4 M1 Activating the torque limit (Axis Z)
M702 M2 M0 Deactivating the torque limit (Axis Z)
M702 M3 My Defining the servo lag error of axis Z
P.ex. M702 M3 M2000 defines the value of the servo lag error to check, in tenths of micron
M702 M5 M1 Enable servo lag control (Axis Z)
M702 M5 M0 Disable servo lag control (Axis Z)

298392_en - 11/17
3-10
Programming manual - EvoDECO 20 & 32 - 3. M Functions

Example for reducing torque while cutting:


G1 X11=#2035 G100 ( #2035 = #3001 + SAFETY CLEARANCE OF 0.5 MM )
M701 M2 M20 (TORQUE LIMIT VALUE X11 AT 20 PERCENT)
M701 M4 M1 (START X11 TORQUE LIMIT)
G1 X11=#2041 F0.02
G1 X11=#2042 F0.01
M701 M4 M0 (STOP X11 TORQUE LIMIT)

3.20. M722 M5 M0 / M1 Enable cross or longitudinal spindle S42

Introduction:
Turning tools in backwork are driven by 2 different motors. These 2 motors are controlled by the
same function M4203 (CW) or M4204 (CCW). The system must therefore know if function M42xx
needs to control longitudinal or cross tools. This choice is made with function M722 M5 M0/M1.
Choice of motor:
M722 M5 M1  Switch to longitudinal tool motor.
M722 M5 M0  Switch to cross tool motor.
General information:
1. The first status at the input of the main program 3600 must be M722 M5 M1 (longitudinal tools).
(It is started in program INIT 3300 for on program 3500)
2. The last status before the end of the main program 3600 must be M722 M5 M1 (longitudinal tools).
3. The S42 spindle must be stopped before the switching code M722 M5 M0/M1 (provide sufficiently
long dwell after M4205).
4. A sufficiently long dwell must be provided after the switching code M722 M5 M0/M1 (the switching
time is quite slow).

Note!
Points 2, 3 and 4 are compulsory with TB DECO version 8.02.054.
With the future version (8.02.055) point 2 will no longer be compulsory if the program is created
starting from a new model. With this version point 4 is no longer compulsory.

298392_en - 11/17
3-11
3. M Functions - Programming manual - EvoDECO 20 & 32

Example of program with TB DECO version 8.02.054

Note!
This example is valid both in AUTO mode and in MDI mode.

M722 M5 M0 (Switch to cross tools)


G4 X2
M4203 S500 (Starting cross tools at 500 rpm)
G4 X2 (Dwell simulating machining)
M4205 (Stopping cross tools)
G4 X2
M722 M5 M1 (Switch to longitudinal tools)
G4 X2
M4203 S1000 (Starting longitudinal tools at 1000 rpm)
G4 X2 (Dwell simulating machining)
M4205 (Stopping longitudinal tools)

Example of program with TB DECO version 8.02.055

Note!
The following example is valid in AUTO mode.

M722 M5 M0 (Switch to cross tools)


M4203 S500 (Starting cross tools at 500 rpm)
G4 X2 (Dwell simulating machining)
M4205 (Stopping cross tools)
M722 M5 M1 (Switch to longitudinal tools)
M4203 S1000 (Starting longitudinal tools at 1000 rpm)
G4 X2 (Dwell simulating machining)
M4205 (Stopping longitudinal tools)

Note!
The following example is valid in MDI mode.

M722 M5 M0 (Switch to cross tools)


G4 X2
M4203 S500 (Starting cross tools at 500 rpm)
G4 X2 (Dwell simulating machining)
M4205 (Stopping cross tools)
G4 X2
M722 M5 M1 (Switch to longitudinal tools)
G4 X2
M4203 S1000 (Starting longitudinal tools at 1000 rpm)
G4 X2 (Dwell simulating machining)
M4205 (Stopping longitudinal tools)
M741 M1 M1 Starting the rotation of HF 1 spindle
Starting the rotation of HF 1 spindle can also be performed through M890.
M741 M1 M0 Stopping the rotation of HF 1 spindle
Stopping the rotation of HF 1 spindle can also be performed through M891.
M742 M1 M1 Starting the rotation of HF 2 spindle
Starting the rotation of HF 1 spindle can also be performed through M892.
M742 M1 M0 Stopping the rotation of HF 2 spindle

298392_en - 11/17
3-12
Programming manual - EvoDECO 20 & 32 - 3. M Functions

Stopping the rotation of HF 1 spindle can also be performed through M893.

Note!
For EvoDECO 20/32, the HF 3 spindle is driven by a function M901 (optional socket).

3.21. M751 M1 M0 / M1 Stop / Start whirling device


Concerns whirling devices equipped with an independent motor.

3.22. M821 M1 M0 / M1 Closing / Opening coolant valve on Mainwork gang 1


M821 M2 M0 / M1 Closing / Opening coolant valve on Mainwork gang 2
M821 M3 M0 / M1 Closing / Opening coolant valve on frontwork attachment

3.23. M841 M1 M0 / M1 Deactivation / Activation of counter-spindle cleaning using air


M841 M2 M2000 Cleaning the counter-spindle using air, for 2 seconds (M2000)
M841 M3 M0 / M1 Deactivation / Activation of counter-spindle cleaning using oil
M841 M4 M2000 Cleaning the counter-spindle using oil, for 2 seconds (M2000)

3.24. M890 Activating rotation of the 1st HF spindle


M891 Stopping rotation of the 1st HF spindle
M892 Activating rotation of the 2nd HF spindle
M893 Stopping rotation of the 2nd HF spindle

3.25. M901 to M904 Optional sockets


Principle
The optional/OEE sockets let the machine's user command the outputs and test the inputs freely.
You can use each output and input as either an optional socket or as an OEE (Overall Equipment
Effectiveness) signal (Production management).

For each optional socket, two outputs as well as two inputs are available. You can:
- Control each output from 1 to 0.
- Control each input from 1 to 0 and generate a message or class 1 or 3 alarm, or even a part program
event. You can also "start" a previously stopped program (stop cycle).
For each OEE output, a simple logic lets you configure the output function.
The controls are made up of M codes.
For detailed explanations and programming examples, refer to the document “Prise options-OEE.pdf”

298392_en - 11/17
3-13
3. M Functions - Programming manual - EvoDECO 20 & 32

3.26. Mxx03 / Mxx04: Rotation start-up of a spindle number xx


Programming of S alone is not authorised.
The M function without a speed value is not authorised.
Example
M1103 S2000
M1104 S2000

3.27. Mxx05 Stop of a spindle number xx


The spindle is stopped but controlled.
Example
M1105

3.28. Mxx18 : Enabling the synchronisation phase for spindle no. xx


The value programmed under label S identifies the reference spindle.
Syntax
M4118 S11
41 : Spindle number
11 : Reference spindle
It is important to program the two spindles in question at the same speed before programming a
phase synchronisation. It is necessary to program a delay of
0.5 seconds after the Mxx18 function to give the spindles time to get in phase.

3.29. Mxx19: Enables angular positioning mode


Syntax
Mxx19 Qyy
xx: Spindle number
yy: Positioning angle (Degrees) between 0° and 359.99°, in absolute mode.
Use
The spindle stop mode (Mxx05) must be programmed beforehand.
A dwell needs to be programmed before machining starts, to give the spindle time for indexing. As
a general rule, a dwell of 0.6 Sec is necessary for the first indexing after a spindle stop.
A 0.3 Sec delay will be enough between the two indexings.
Example 1
M1105
M1119 Q0
G4 X0.6
G1 X11=10 F0.1 T1101 D0
Example 2
M1105
M1119 Q180
G4 X0.6
G1 X11=10 F0.1 T1101 D0
Example 3
M1105
M1119 Q90
G4 X0.6
G1 X11=10 F0.1 T1101 D0
G1 X11=20 G100
M1119 Q270
G4 X0.3
G1 X11=10 F0.1 T1101 D0

298392_en - 11/17
3-14
Programming manual - EvoDECO 20 & 32 - 3. M Functions

3.30. Mxx98 Spindle Sxx switching to rotary axis (Cxx)


- Mxx98 D Cylindrical interpolation, switching to axis C.
- Mxx98 D-1 Interpolation in polar coordinates ("transmit" mode), switching to rotary axis C.
Syntax
Mxx98
Mxx98 D
Mxx98 D-1

xx: Spindle number


D: Part diameter (optional).
D-1: Interpolation mode in polar coordinates (Radius + Angle). "Transmit" mode.

Description
The programming of a spindle in rotary axis is done in the same way as a linear axis.
A rotary axis is a single part axis and must be declared in the machine database. Moreover, it must
appear as axis in the operation line as well. These axes are unusual because they don’t always exist
physically even if they appear in an operation line.
Parameter D may contain the value -1 (polar coordinate interpolation) or contain the part diameter,
thus making it possible to work in rotary axis, or cylindrical programming.
If it is omitted, parameter D is placed by default at a value allowing it to have a cylinder with a 360
mm perimeter (Theoretical diameter of 114.5916). This allows you to simulate a work in secondary
axis to make the positioning in a unit equivalent to the degree.
- All the axis functions are authorised in rotary axis except for the interlocking functions.
- The diameter entered under label D cannot be modified when working in rotary axis. A change
can only be made on a switch from spindle to axis.
- Function Mxx98 is modal, thus always enabled until cancelled by Mxx99,
- When using Mxx98, referencing is performed.
- A dwell of 0.6 Sec. is necessary to obtain the reference.

298392_en - 11/17
3-15
3. M Functions - Programming manual - EvoDECO 20 & 32

Use
When using Mxx98, Mxx98 D, Mxx98 D-1 in the ISO code edition, the C axis must be present in the
axis resources. Otherwise, an error message appears: "The spindle switching <-> rotating axis must
be carried out in the working line where the axis is! ".

Programming of polar coordinate interpolations is done on a Cartesian plane (in X, Y coordinates).


Only the execution of movements is done by the combination of a C axis and an X or Y axis.
The optional parameter of the Mxx98 function is used with the value –1.
- To start the function, program : Mxx98 D-1
- To stop the function, program : Mxx99

The operation line which contains the code Mxx98 D-1 for creating machining in polar coordinates,
must include the X or Y axis in main 1, the C axis in main 2 and the third axis (for example Z) in
secondary.
Example with Mxx98
(M4 tapping with C axis)
M1105
G1 G100 Z31=3 X31=0 T1301 D0
M1198
G4 X0.6
G94 G1 Z31=-6 C11=4628.5711 F72000
G4 X0.1
G1 Z31=3 C11=0 F72000
G95
M1199
(C11=DISTANCE Z (approach + Tapping depth / PITCH x 360)
(F=SPINDLE SPEED x 360)
Example with Mxx98 D
(M4 tapping with C axis)
M1105
G1 G100 Z31=3 X31=0 T1301 D0
M1198 D4
G4 X0.6
G94 G1 Z31=-6 C11=161.5676 F2513.274
G4 X0.1
G1 Z31=3 C11=0 F2513.274
G95
M1199
(C11=DISTANCE Z (approach + Tapping depth / PITCH x PI x Tapping Ø)
(F=SPINDLE SPEED x PI x Tapping Ø)

298392_en - 11/17
3-16
Programming manual - EvoDECO 20 & 32 - 3. M Functions

Example with Mxx98 D


(Engraving with C axis)
M1105
M1198 D20 (D= Diameter to machine)
G4 X0.6
G1 Z11=-5 G100
G94 G1 X21=19.5 F60 (TORNOS ABBREVIATION)
G1 Z11=-14 C11=-8 F300
G1 Z11=-20 C11=-2
G1 Z11=-13
G1 C11=-4
G1 Z11=-11.5
G1 C11=-2
G1 Z11=-8
G1 C11=2
G1 Z11=-11.5
G1 C11=5.8
G1 Z11=-5 C11=0
G1 X11=20.5 G100
G1 Z11=-13 G100
G1 C11=2 G100
G1 X11=19.5 F60
G1 Z11=-18 F300
G1 Z11=-21 C11=-1
G1 Z11=-22 C11=0
G1 Z11=-14 C11=8
G1 Z11=-13 C11=7.2
G1 C11=2
G1 X21=20.5 G100
G95
M1199

Tool trajectory:

298392_en - 11/17
3-17
3. M Functions - Programming manual - EvoDECO 20 & 32

Polar coordinates interpolation (Transmit function Mxx98 D-1)


Description
Programming of polar coordinate interpolations is done on a Cartesian plane (in X, Y coordinates).
Only the execution of movements is done by the combination of a C axis and an X axis.
The optional parameter D of function M1198 is used with the value –1:
- To start the function, program: M1198 D-1.
- To stop the function, program: M1199
The operation line which contains the code M1198 D-1 for creating machining in polar coordinates,
must include the X axis in main 1, the C axis in main 2 and the third axis (for example Z) in secondary.

Note!
The value in X of the starting point must always be positive.
The first main axis must absolutely be an axis of diameter ( X ).

From now on it is also possible to perform Transmit on axes Y and C. The same rules must be applied as
with a Transmit in X and C, the only difference being that the Y axis must be programmed on the radius
and not the diameter like the X axis.

Warning!
The call of tool must take place before the M1198 D-1.

Interpolation example
Milling a square shape:

After switching to polar coordinated mode (M1198 D-1), the X and C axes are defined as follows:

For the part zero to be in the centre of the bar to machine, it is imperative that before the M1198
D-1 switching block, an initialisation block must be placed which calls all the axes. This block must
have the following shape (in the case of the line of operations X21, C11 Z11) :
G1 G100 X21=... Z11=... T...

298392_en - 11/17
3-18
Programming manual - EvoDECO 20 & 32 - 3. M Functions

The rotary axis does not exist at this time. Since this block is an initialisation block, it is not necessary
for a movement to be generated.
Coordinates of axes X and C, of points 1 to 4:

Points X C
1 14 7
2 -14 7
3 -14 -7
4 14 -7
The trajectory is programmed on a new Cartesian plane determined by the X and C axes.
Restrictions
Avoid passing through the centre of the part during an interpolation in polar coordinates. When
passing close to the centre, the feed rate must be reduced so as to prevent sudden movements
(180°) of the rotary axis.

Cutter radius correction


For easier programming, it is interesting to use the cutter radius correction with the G41 or G42 functions.
The shape previously represented in the “Interpolation example”(square) is machined with a
polygoning attachment equipped with a ø80 mm circular cutter in position T1204 (EvoDECO 20).
The programmed shape will be obtained through a combination of movements X21 and C11.
Tool geometry:
Enter the geometry in X at the centre of the cutter. E.g.: cutter Ø80: D=80, geometry X in pre-setter
mode, X=-40.

298392_en - 11/17
3-19
3. M Functions - Programming manual - EvoDECO 20 & 32

Graphic representation of traverse


On one hand the cutter has a much larger diameter than the bar to machine, and on the other
the stroke of the X axis is limited, so programming the traverse (starting G41 or G42) is of particular
importance.
It is essential to make sure that the distance between the centre of the bar and all the points of the
trajectory from the centre of the cutter after starting the cutter correction, are less than or equal to
the value of the maximum program limit of the X axis.
In addition, it is necessary to prevent “dipping” phenomena which occur when correcting the cutter
radius when a segment to travel is less than the cutter radius. One way of doing this (which isn’t the only
way and which will largely depend on the shape to machine), is to program and false point (point 2)
and a point on the contour (point 3) which in turn must prevent the “dipping” phenomenon. Point 6
cannot therefore be used. The correction point (point 2’) will be calculated according to the starting
point (point 1), the false point (point 2) and the traverse point on the contour of the part (point 3). Once
the traverse has been performed, the contour can be programmed.

G1 X21=155 Z11=-4 G100 T1204 G94


M1198 D-1
(TRAVERSE AND SETTING UP CONTOURING)
G1 X21=70 C11=-55 G100 T1204 G42
G1 X21=14 C11=7 F500
G1 X21=-14 C11=7
G1 X21=-14 C11=-7
G1 X21=14 C11=-7
G1 X21=14 C11=7
(SETTING UP THE OUTPUT)
G1 X21=0 C11=10
G3 X21=0 C11=-10 G100 R10
G3 X21=20 C11=0 G100 R10
(CONTOUR OUTPUT)
G1 X21=155 C11=0 G100 G40
M1199

298392_en - 11/17
3-20
Programming manual - EvoDECO 20 & 32 - 3. M Functions

Note!
- Trajectory 1 - 2 - 3 = programming the traverse

- Trajectory 1 - 2' - 3' = trajectory resulting from the traverse (G42 started)

- The false point (point 2), can be determined graphically. It is only used to perform the traverse
outside the material. Therefore, its precision is not important.

- Stopping of the cutter correction must also be created with the same care as that for programming
the traverse. The axes must be in the same positions (machine position) when the polar coordination
interpolation is stopped (M1199) as well as when it is started (M1198 D-1). Consequently, it may be
necessary to perform a movement around the part before stopping the cutter correction with the
G40 function (lines 11 to 13).

Other important points


- The controls of the Program limits of X and C axes are inhibited during interpretation.
- The sum of moves of axes X and C must be zero.
- The starting M1198 D-1 and stopping M1199 must be in the same operation.
- The same applies to the programming of a rotary axis, in an interpolation in polar coordinates, the
rotary axis C must not be programmed if function M1198 is not active.
- The spindle involved in polar coordination programming must be released from all its other
operating modes such as positioning, synchronisation, etc., and this must be ensured by the user.
- In Transmit mode do not program axis movement after Mxx99 to prevent having an error in the
contour display and displaying of the resource line.

Mxx99 Cancellation of Mxx98. Return to initial spindle mode.


In “Transmit” mode do not program axis movement after Mxx99 to prevent having an error in the
contour display and displaying of the resource line.

3.31. Mxx15 Serving spindle Sxx


This function can only be programmed in MDI. It cancels Mxx16.

3.32. Mxx16 Releasing spindle Sxx


This function can only be programmed in MDI.
It is used to release the spindle, which allows it to be turned by hand. For example to centre a tool
using a comparator. Caution! Max. rotation = 50 rpm so as not to cause a NC alarm.
Example
Door closed
MDI
Choose the corresponding channel
PROG
Enter M4116 - EOB – INSERT – CYCLE START
CYCLE STOP
Open the door
The counter-spindle is released

To have the counter-spindle served again:


RESET
Or, in MDI, door closed,
M4115 - EOB – INSERT - CYCLE START

298392_en - 11/17
3-21
3. M Functions - Programming manual - EvoDECO 20 & 32

3.33. Taking notes

298392_en - 11/17
3-22
Programming manual - EvoDECO 20 & 32 - 4. G functions

4. G functions
Function Description
G01 Linear interpolation
G02 Clockwise circular interpolation
G03 Anti-clockwise circular interpolation
G04 Dwell in [S] at 100% of load (override)
G17 Selection of main work plane (X, Y) or (X, C)
G18 Selection of main work plane (Z, X)
G19 Selection of main work plane (Y, Z) or (C, Z)
G26 Radius on the edge. L: radius
G27 Chamfer L: chamfer length
G28 Return to axis point of reference
G33 Constant pitch chase threading
G34 Ascending pitch chase threading
G35 Descending pitch chase threading
G40 Cancellation of nose compensation
G41 Nose correction to left
G42 Nose correction to right
G52 Delete all zero offsets
G53 Delete all additional zero offsets programmed by
G54 and G55
G54 Additional zero offset based on the current
coordinates system
G55 Additional zero offset based on the initial coordinates system
(part zero) Cancels G54
G56 Zero offset based on the machine zero point
G58 Saves all the zero offsets and resets of these offsets for the
axes concerned.
G59 Restores all zero offsets saved by the last G58 for the
axes concerned.
G61 Contouring mode with accurate stop. (G61 = G190)
G64 Linked contouring mode. (G64 = G191)
G68 Disable G69
G69 Calculation in 360 module for rotary axis
G70 Interpretation of values programmed in inches.
G71 Metric interpretation of values.
G81 Linear extension on nose correction
G82 Circular extension on nose correction
G83 Selection of axes for main interpolation plane (Axis 1, Axis 3)
G84 Selection of axes for main interpolation plane (Axis 3, Axis 2)
G85 Resetting plane axes by default defined in the operation line (Axis 1, Axis 2).
Cancels G83 or G84
G90 Absolute programming
G91 Relative programming
G92 Maximum spindle speed limit (with G96)
G94 Asynchronous feed [mm/min]
G95 Synchronous feed [mm/rev]
G96 Constant cutting speed [m/min]

298392_en - 11/17
4-1
4. G functions - Programming manual - EvoDECO 20 & 32

Function Description
G97 Cancellation of G96
(G1)G100 Non-productive move mode. (G2)G100 (G3)G100
G130 Chase threading description start.
G131 Chase threading description stop.
Gxx50 Cancel polygoning mode (Gxx51)
Gxx51 Activation of spindle Sxx in polygoning mode
G190 Exact stop mode between segments
G191 Linked contouring mode
G314 Path larger than 180° for G02 / G03 functions
G900 Memorisation of spindle speeds defined in the part
G901 Transfer of the machine and version no. to the NC. Axis reference
position control
G903 Tool indexing (by circular interpolation)
G909 Global variable control and storage
G910 Check of global variables and initial cut
G911 Zero offset calculation in frontwork
G912 Feed a new part
G913 “END BAR” macro
G914 “NEW BAR” macro
G915 Additional zero offset for the axis Z31
G916 Additional zero offset for the axis Z41
G917 Polygoning macro
G920 Global variable control
G921 Zero offset calculation in backwork
G923 Counter-spindle part ejection with part catcher
G933 Thread machining at tool
G942 Machining a long part
G943 Machining a long part
G957 Inclined milling macro
G960 Milling macro for inclined thread
G962 Inclined milling macro
G963 Milling macro for inclined thread
G977 Drilling/deburring
G978 Thread machining at tool. Addition to G933

298392_en - 11/17
4-2
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.1. G00 / G100 Linear movement at high speed


Description
This function is used to optimise unproductive movements. The system initially determines the fastest
speed possible between the starting point and the end point of the axis.
If the axis reaches its end point too soon, it will have to wait before being used. If this is the case, the
system will recalculate a weaker feedrate, so that the axis reaches the position just before being used.
Provided that energy optimisation is on.
Syntax
(G0 or G00)
- G0 X Y Z T
- G1 G100 X Y Z T

Description of Parameters
X Y Z : Coordinates of the linear segment final point, with axis number.
T: Calls a new tool geometry and a new tool corrector.
Use
The G0 or G100 function needs to be used carefully during locking. The position of the axes during
their movement may not be complied with when one of the two axes is moved in fast speed while
the other is in the machining phase.
Examples
- G0 X11=26 Z11=1 T1102
- G01 G100 X31=0 Z31=50 T1302

4.2. G01 Linear interpolation


Syntax
- G01 X Z Q F T

X Z: Coordinates of the linear segment final point, with axis number


Q: Interpolation angle, in degrees, based on the starting point
F: Cut-off feed speed
T: Calls a new tool geometry and a new tool corrector
Example

G01 G100 Z11=0 X11=8 T1102


G01 Z11=-5 F0.1
G01 X11=9 Q-45 (or Q135)
G01 Z11=-8
G01 X11=8 Q45 (or Q225)
G01 Z11=-12

G01 G100 Z11=-15 X11=8 T1102


G01 Z11=-10 F0.1
G01 X11=9 Q225 (or Q45)
G01 Z11=-5
G01 X11=8 Q-225 (or Q-45)
G01 Z11=0

298392_en - 11/17
4-3
4. G functions - Programming manual - EvoDECO 20 & 32

4.3. G02 clockwise CW circular movement


Syntax
- G02 X Z R F T

X Z : Coordinates of the circular segment final point, with axis number


R : Circle arc radius (the centre cannot be programmed)
F: Cut-off speed on circle arc
T: Calls a new tool geometry and a new tool corrector
G02 example
G01 G100 Z11=-15 X11=10 T1103
D0
G01 Z11=-10 F0.1
G02 Z11=-5 R5
G01 Z11=1

4.4. G03 counter-clockwise CCW circular movement


Syntax
G03 X Z R F T
G03 example
G01 G100 Z11=1 X11=10 T1101 D0
G01 Z11=-5 F0.1
G03 Z11=-10 R5
G01 Z11=-15

4.5. G04 or G4 Dwell in [S]


Syntax
- G04 X
X: Idle time in seconds, at 100% load (Override)
Example
G04 X0.5 (0.5 Seconds)

4.6. G17 Selection of main work plane X, Y


The functions G17, G18 and G19 are used to change the work plane.
It does not involve exchanges of the main axis (G83, G84, G85).
Syntax
- G17 G03 (G02) X Y R F

4.7. G 18 Selection of main work plane Z, X


Syntax
- G18 G03 (G02) Z X R F

298392_en - 11/17
4-4
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.8. G 19 Selection of main work plane Y, Z

Syntax
- G19 G03 (G02) Y Z R F

The circular interpolation clockwise and anti-clockwise direction is set by looking at the plane to
machine according to the axis which is perpendicular to it but in a negative direction.

Note!
The switch depends on the axes present in the line of operations.
I.e. three axes are required (X,Y,Z) or (X,C,Z) to be able to use these functions.

To select or define a main axis, see Help in using TB-DECO:


\ 5 Program window \ 2 Operation lines \ Resource extension.

4.9. G26 Radius on the edge. L: radius


Syntax
G26 L E
L: Round-off radius (optional)
E : Chamfer contouring speed in the active unit (optional)
The G26 function is used to link two non parallel segments / edges, via the circle arc.
Example
G01 G100 Z11=0 X11=0 T1102 D0
G01 Z11=0 X11=15 F0.1
G01 X11=17 G26 L0.5 E0.05
G01 Z11=-10 F0.1
G01 X11=22 G26 (corresponds to
G26 L0.5 E0.05)
G01 Z11=-15 F0.1
G01 X11=25 G100

298392_en - 11/17
4-5
4. G functions - Programming manual - EvoDECO 20 & 32

4.10. G27: Chamfer L: chamfer length


Syntax
G27 L E
L: Length of the chamfer segment if the value is positive (optional)
L- : Projected length (X or Y) of the chamfer if the value is negative (optional)
E : Chamfer contouring speed in the active unit (optional)
The G27 function is used to link two non parallel segments / edges, via another segment.
Example
G01 G100 Z11=0 X11=0 T1102 D0
G01 Z11=0 X11=15 F0.1
G01 X11=17 G27 L0.707 E0.05
G01 Z11=-10 F0.1
G01 X11=22 G27 L-0.5
(corresponds to G27 L-0.5 E0.05)
G01 Z11=-15 F0.1
G01 X11=25 G100

Note!
The values programmed under the label L are memorised separately for G26 and G27. If it is
omitted, G26 or G27 will use the last value programmed under G26 or G27.

The last value programmed under label E is memorised and is common for the G26 and G27
functions. If programming of this value is omitted, the last value programmed under G26 or G27
will be used.
If this value does not exist, the last speed value programmed for the segments will be used.

4.11. G28 Return to point of reference


Syntax
- G28 X Y Z
Example
- G28 X11
Note!
G28 is always performed at high speed.
For PTO machines, code G28 must be programmed in an ISO operation mode as code G28 is
placed in the file *. PTO, in the ISO program part.
For example, G28 X11 will be transformed into G91 G28 X11=0 G90

Caution!
It is prohibited to program G28 except for in the INIT program, as this is the only place where the
real position of the axis is unknown.
Risk of collision: if no axis is specified, all the axes in the operation line return to their reference point
at the same time!
In the other programs (especially in the main program), the system variables #24, #25, #26 must
be used to send the axes to their respective reference position. See chapter Description of system
variables.

298392_en - 11/17
4-6
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.12. G33, G34, G35, Constant, ascending and descending pitch chase threading
These functions are used in combination with G130 / G131
G33 Constant pitch chase threading
Syntax
- G33 G1 X Y Z F
- F thread pitch in mm/rev
Example
G33 G1 Z11=-15 F1

Note!
The contouring functions G1, G2 and G3 and G100 can be used with G33

G34 Ascending pitch chase threading


Syntax
- G34 L G1 X Y Z F
- L growth in mm by revolution of the initial pitch given in address F.
- F thread pitch in mm/rev
Example
G34 L0.2 G1 Z11=-15 F1

G35 Descending pitch chase threading


Syntax
- G35 L G1 X Y Z F
- L decrease in mm by revolution of the initial pitch given in address F.
- F thread pitch in mm/rev
Example
G35 L0.2 G1 Z11=-15 F1

4.13. G40 Cancellation of nose compensation. Mode by default


Syntax
G40

Note!
Mode G40 is placed by default at the beginning of each new operation

4.14. G41 Nose correction to left of the programmed trajectory


Syntax
G41

298392_en - 11/17
4-7
4. G functions - Programming manual - EvoDECO 20 & 32

4.15. G42 Nose correction to right of the programmed trajectory


Syntax
- G42

Example

G01 G100 Z11=0.5 X11=10 T1102 D0 G42


G01 Z11=-10 F0.1
G01 Z11=-11 X11=12
G01 Z11=-15
G01 X11=14
G01 G100 G40 X11=16

4.16. Zero offsets

298392_en - 11/17
4-8
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.17. G56 Zero offset based on the machine zero point


Syntax
G56

In the basic model, the initial values of G56 are considered at the beginning of each program.
Example
G56 Z31=#2019 (operation 3:1)

4.18. G55 Additional zero offset based on the initial coordinates system (part zero)
G55 deletes G54
Syntax
G55

Example
G55 Z11=40

298392_en - 11/17
4-9
4. G functions - Programming manual - EvoDECO 20 & 32

4.19. G54 Additional zero offset based on the current coordinates system
This offset is additional for the axes concerned.
Syntax
G54

Example
G54 Z11=10

Note!
G54 is used in macro G915.

4.20. G53 Delete all additional zero offsets


Syntax
G53

Example
G53 (Enabled for all axes of the operation line)
G53 Z31 (Enabled only for Z31 axis)

298392_en - 11/17
4-10
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.21. G52 Delete all zero offsets


Syntax
G52
Delete all zero offsets. The system of coordinates pertaining to the machine zero is valid again for
the concerned axis/axes.

Example
G52 T0 (Enabled for all axes of the operation line)
G52 Z41 (Enabled only for Z41 axis)

4.22. G58 Saves (storage) all the zero offsets and resets of these offsets for the axes concerned
This allows you to work with relation to the machine zero point.
Example
- G58 (Enabled for all axes of the operation line)
- G58 Z11 (Only active for Z11)

4.23. G59 Restores all zero offsets saved by the last G58 for the axes concerned.
Example
- G59 (Enabled for all axes of the operation line)
- G58 Z11 (Only active for Z11)

4.24. G61 / G64 Exact stop / Linked contouring


G61 Exact stop mode between segments. (Default mode for machines DECO, EvoDECO, MultiDECO,
MultiAlpha, MultiSigma).
Syntax
- G61
G64 Linked contouring mode
Syntax
- G64
Note!
G190/G191 is identical to G61/G64.

298392_en - 11/17
4-11
4. G functions - Programming manual - EvoDECO 20 & 32

4.25. G68 / G69


G68 Cancelling G69, default mode
Syntax
- G68

G69 Calculation in 360 module for rotary axis


Syntax
- G69
Function for rotary axis. The programming angle value is returned on 1 turn (360°).

4.26. G70 / G71 Interpretation of inch / metric values


Syntax
- G70
- G71 (default mode)

There are 2 cases:


- 1. Inch or Metric machine. This setting is made by TORNOS when the machine is commissioned
based on what the customer wants.
- 2. Programming by default in Inches or Metric
The programming units set on the NC will be the ones used for:
- entering and displaying the tool geometries and correctors
- displaying the axis positions and spindle speeds
- running of the ISO program by the NC

The functions G70 and G71 are used to change the units used in the part program or a part of the
part program.
The selection is made in the machine database in the Interface Adaptation topic box.
For the Inch machine (IsMachInch()), the number of decimal values edited by the Edit global
variables dialogue box and Fixing correction changes from 3 to 4.

Metric Machine (mm)


- If not specified in the program, the programming mode in millimetres is used.
- The G70 code is used to create a program in inches.
- The G71 code is used to cancel the inch programming mode and return to millimetres.
Inch Machine
- If not specified in the program, the programming mode in inches is used.
- The G71 code is used to create a program in millimetres.
- The G70 code is used to cancel the millimetre programming mode and return to inches
- If the Inch machine is configured, the tool catalogue values, fixing settings and global variable
values are interpreted in Inches.
- The header/footer of operations is configured by default for entry of a code with inches. In this
case, the data can be entered with 5 decimals.

298392_en - 11/17
4-12
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.27. G81 / G82 Linear / circular extension on nose correction


G81 Linear extension of the trajectory on nose correction
Syntax
- G81 G42

Defines a linear tool trajectory during a change in direction.


This function must be activated before G41 or G42.
Example

G1 G81 G42 G100 Z11=0 X11=2


T1102 D0
G1 Z11=0 X12=10 F0.1
G1 Z11=-10 F0.1
G1 X11=15 F0.1
G1 Z11=-15 F0.1
G1 X11=20 G100
G1 G40 X11=22 G100

G82 Circular extension of the trajectory on nose correction by default.


Syntax
- G82 G42
Defines a circular tool trajectory during a change in direction.
This function must be activated before G41 or G42.
Example
G1 G82 G42 G100 Z11=0 X11=2
T1102 D0
G1 Z11=0 X11=10 F0.1
G1 Z11=-10 F0.1
G1 X11=15 F0.1
G1 Z11=-15 F0.1
G1 X11=20 G100
G1 G40 X11=22 G100

298392_en - 11/17
4-13
4. G functions - Programming manual - EvoDECO 20 & 32

4.28. G83 Selection of axes for main interpolation plane (Axis 1, Axis 3)
Syntax
- G83
Main interpolation plane with Master Axes 1 and Auxiliary.

Example
Main interpolation plane with Z and Y Axes.

Z11

Y21

G83

298392_en - 11/17
4-14
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.29. G84 Selection of axes for main interpolation plan (Axis 3, Axis 2)
Syntax
- G84
Main interpolation plane with Master Axes 2 and Auxiliary.

Example
Main interpolation plane with Y and X Axes.

X21

Y21

G84

298392_en - 11/17
4-15
4. G functions - Programming manual - EvoDECO 20 & 32

4.30. G85 Resetting plane axes by default defined


Syntax
- G85
Main interpolation plane with Master Axes 1 and 2.

Example
Main interpolation plane with Z and X Axes.

Z11
X21

G85

298392_en - 11/17
4-16
Programming manual - EvoDECO 20 & 32 - 4. G functions

You can also switch the main axes in order to always have the main interpolation plane with the
Master 1 and Master 2 axes (G85).

Z11
Y21

G85

4.31. G90 Absolute programming (by default)


Syntax
- G90
Programming of part coordinates from part zero.
Example
G1 G90 G100 Z11=0 X11=0 T1102
D0
G1 Z11=0 X11=10 F0.1
G1 Z11=-10 F0.1
G1 X11=15 F0.1
G1 Z11=-15 F0.1
G1 X11=20 G100
G1 X11=22 G100

298392_en - 11/17
4-17
4. G functions - Programming manual - EvoDECO 20 & 32

4.32. G91 Relative programming


Syntax
- G91
Programming of part coordinates from the last programmed point.
Example

G1 G91 G100 Z11=-2 X11=0 T1102


D0
G1 X11=10 F0.1
G1 Z11=-10 F0.1
G1 X11=5 F0.1
G1 Z11=-5 F0.1
G1 X11=5 G100
G1 X11=2 G100

4.33. G92 Maximum spindle speed limit (with G96)


Syntax
- G92 Sxxxx

S: Maximum authorised speed in rpm of the spindle in G96 mode. This speed must be less than the
machine database value. If the value is negative, the maximum speed in Mxx04 is used.
S is automatically displayed after entering G92 (xxxx is the numerical value of this speed)
The maximum spindle speed S is automatically limited to the one contained in the machine database.
If it is exceeded, a message is displayed, then the speed is reduced to the value contained in the
machine database.
This function is applied to the use of the G96 function. G92 limits the maximum spindle speed to a
value less than that of the machine database.
This function is used before the G96 function, if it is necessary to limit the maximum spindle speed.
Example 1
G92 S6000 (M1103)
G96 S130
G1 G100 Z11=0 X11=21 T1102 D0
G1 G95 X11=-0.5 F0.1
G1 Z11=2 X11=21 G100
Example 2
G92 S-6000 (M1104)
G96 S-130
G1 G100 Z11=0 X11=21 T1102 D0
G1 G95 X11=-0.5 F0.1
G1 Z11=2 X11=21 G100

298392_en - 11/17
4-18
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.34. G94 Asynchronous feed [mm/min]


Syntax
- G94
Example
G1 G100 Z11=0 X11=0 T1102 D0
G1 G94 Z11=-20 F200
G1 X11=22 G100

4.35. G95 Synchronous feed [mm/turn] (by default)


Syntax
- G95

For the DECO command all the axes are independent. Consequently there is no connection between
the spindle rotation speeds and the axis movement speeds. The management of feeds in mm/rev is
performed in TB-Deco according to the programmed rotation speeds. The feeds are then converted
into mm/min.

The programmed feedrate in mm/rev is only real on the machine when the overrides of the spindles
and axes are at 100 % or when the overrides of the spindles and axes are the same.

Mm/rev feed is not complied with when:


- Only axis overrides are changed. The axis movement speeds are changed when the spindles still
turn at the same speed.
- Only the spindle overrides are changed. Spindle rotation speeds are changed if the axes still have
the same speed.

To prevent any speed reference problems for calculating the speed in mm/rev, we recommend
programming:
- S11 and S12 in the operation line “MAINWORK GANG 1”.
- S21 in the operation line “MAINWORK GANG 2”.
- S31 in the operation line “FRONTWORK”.
- S41 and S42 in the operation line “BACKWORK”.

298392_en - 11/17
4-19
4. G functions - Programming manual - EvoDECO 20 & 32

Principle of feed calculation in G95 (mm/rev)


If no speed is programmed in the operation, the last speed programmed on the operation line is
considered for calculating the feed. The calculated feed is correct:

Spindle status Operation Spindle status


before operation after operation
Mainwork gang 1 (X11, Y11,
Z11, S11)
M1103 S5000 No programmed speed M1103 S5000
M2103 S5000 M2103 S5000
M3103 S5000 M3103 S5000
M4103 S5000 M4103 S5000

Spindle status Operation Spindle status


before operation after operation
Mainwork gang 1 (X11, Y11,
Z11, S11)
M1103 S5000 Programmed speed, M1103 S7000
M2103 S5000 M1103 S7000 M2103 S5000
M3103 S5000 G1 …. M3103 S5000
M4103 S5000 M4103 S5000
According to the table above, there is a speed change during operation. The programmed speed uses
the axes of the operation line concerned as a reference. The feed calculation is correct.

Spindle status 2 simultaneous Spindle status


before operation operations after operation
Mainwork gang 1 (X11, Y11,
Z11, S11)
M1103 S5000 Programmed speed, M1103 S7000
M2103 S5000 M1103 S7000 M2103 S5000
M3103 S5000 M3103 S7000 M3103 S7000
M4103 S5000 G1 …. M4103 S5000
Frontwork (X31, Z31, S31)
M1103 S5000 No programmed speed, M1103 S7000
M2103 S5000 G1 …. M2103 S5000
M3103 S5000 M3103 S7000
M4103 S5000 M4103 S5000
See Table above:
S1 speed change: the programmed speed uses the axes of the operation line concerned as a
reference. The feed calculation is correct.

S3 speed change: the programmed speed does not use the axes of the operation line in which S3
is programmed as a reference. The feed calculation is not correct. S3 speed will be 10,000 rev/min,
but the feed will be calculated with the speed of 5,000 rev/min previously active.

298392_en - 11/17
4-20
Programming manual - EvoDECO 20 & 32 - 4. G functions

Master spindle configuration


Example
Feed in mm/rev on spindle S11 automatic reference.

G95
S11

MM/rev feed on forced reference (auxiliary spindle).

2000

G95

298392_en - 11/17
4-21
4. G functions - Programming manual - EvoDECO 20 & 32

4.36. G96 Constant cut-off speed [m/min]


Syntax
- G96 Sxxxx P1=
S: Constant cutting speed in [m/min or feet/min]. If the value is negative, the spindle turns in Mxx04. S is
automatically displayed after entering G96.

P1= : Axis where the G96 function is to be applied. This parameter is optional. If it is not programmed,
axis X of the operation line is selected by default.
(Example: If you want to apply G96 on axis Y, write P1=Yxx).
To obtain the best cut-off conditions in turning, a different rotation speed is needed with each
change in machine diameter. The constant cut-off speed performs this calculation automatically.
When cutting off or facing large diameters, this function is used to decrease the required machining
time and to have a regular surface finish and better quality.

The G96 function can be used various times on the same spindle, only the first G96 requires the
speed parameter S. TB-DECO will then take the value S by default which is specified in the previous
G96 function associated to the same spindle:
- The feed is programmed in [mm/rev] (G95), it is recalculated with each variation of the spindle speed.
- If the feed is programmed in [mm/min[ (G94), it is fixed and only the spindle speed can vary.
- The operation line must contain a direction X axis or the axis specified by the parameter P1 of G96.
If this is not the case, the code G96 is ignored and a warning is displayed.
- If the line contains various axes with the same name (xx or yy) and the parameter P1 has not been
set, then an alarm is generated.

The G96 function remains enabled as long as G97 or a spindle speed-up function has not been
enabled, even if the operation is changed.
The operation line containing G96 determines which spindle and axis are used (X by default).
Example 1
G92 S6000 (M1103)
G96 S130
G1 G100 Z11=0 X11=21 T1102 D0
G1 G95 X11=-0.5 F0.1
G1 Z11=2 X11=21 G100
Example 2
G92 S-6000 (M1104)
G96 S-130
G1 G100 Z11=0 X11=21 T1102 D0
G1 G95 X11=-0.5 F0.1
G1 Z11=2 X11=21 G100
Initial cut in constant cutting speed after RESET
The initial cut macro (G910) is in the INITIAL_CUT program.
After a RESET, in order to be able to cut the bar with a constant cutting speed, use the P2 (cutting
speed in m/min) and P3 (max spindle rotation limit) parameters.
Example
G910 P2=90 P3=5000

298392_en - 11/17
4-22
Programming manual - EvoDECO 20 & 32 - 4. G functions

Initial cut in constant cutting speed in a new bar


The initial cut performed in a new bar is performed by the macro G914 which is in the NEW_BAR
program.
After an automatic bar change, the macro will cut the bar. To do this with a constant cutting
speed, using the parameters P5 (activation of G96) and P4 (cutting speed in m/min).
There is no parameter P for limiting the max rotation speed. Solution: program it before G914.
Example
G92 S5000
G914 P4=90 P5=1
G97

Note!
In a program in inches, the programming unit for a constant cutting speed is in feet/min. The
value given in m/min (in P4) will be converted into feet/min. therefore, add P6=1. The 90 m/min
will therefore be calculated correctly.

Example
G92 S5000
G914 P4=90 P5=1 P6=1
G97
Constant cutting speed in the cutting operation of the main program
Example
G92 S6000 (Limitation of number of revolutions S11)
G1 X11=#2032 G100 (#2032 = #3001 + Safety clearance)
G96 S120 (Activates the constant cutting speed of 120 m/min)
G1 X11=2 F0.02
G1 X11=-0.5 F0.01
G97 S#2033 (Cancellation of G96 and return to the initial speed of spindle S11 for looping at end
of cycle)

4.37. G97 Cancellation of G96


Syntax
- G97 Sxxxx
S: New spindle speed in [rpm]. This parameter is optional. If it is not present, the spindle speed remains
the one calculated in G96.
S is not automatically displayed after entering G97.
Mxx03, or Mxx04, or Mxx05 also cancel function G96.
Example 1
G92 S6000
G96 S130
G1 G100 Z11=0 X11=21 T1102 D0
G1 G95 X11=-0.5 F0.1
G97 (OR: G97 S2000)
Example 2
G92 S6000
G96 S130
G1 G100 Z11=0 X11=21 T1102 D0
G1 G95 X11=-0.5 F0.1
M1103 S2000

298392_en - 11/17
4-23
4. G functions - Programming manual - EvoDECO 20 & 32

4.38. G100 Non-productive fast speed movement mode


Syntax
- G01 G100 X Y Z T
X Y Z : Coordinates of the linear segment final point, with axis number
T: Calls a new tool geometry and a new tool corrector

This function is used to optimise unproductive movements. The system initially determines the
fastest speed possible between the starting point and the end point of the axis.
If the axis reaches its end point too soon, it will have to wait before being used. If this is the case,
the system will recalculate a weaker feedrate, so that the axis reaches the position just before
being used.
Provided that energy optimisation is on.

The G100 function needs to be used carefully during locking. The position of the axes during their
movement may not be complied with when one of the two axes is moved in fast speed while the
other is in the machining phase.
Example

Without energy optimisation.

With energy optimisation.

298392_en - 11/17
4-24
Programming manual - EvoDECO 20 & 32 - 4. G functions

4.39. Chase threading with G130, G131, G33


Operation of the mechanical chase threading device
Good understanding of the mechanical chase threading device facilitates the understanding of
the TB-DECO chase threading device. In fact, since TB-DECO is an electronic cam control, this
means that the trajectories that used to be contained in the form of cams are contained here in
the electronic memories.
The mechanical chase threading device is a system whose cams are driven by the spindle. It
allows a synchronous movement to be performed with the spindle, such that the chase threading
tool always follows the thread on the part.
The chase threading device only follows the thread. For machining, the chase threading device
must be assembled on a machine axis. This axis is generally also driven by a cam, but this is
assembled on the cam shaft of the feeds.
It is the addition of two movements (chase threading + feed) that produces the machining of a thread.
Operation of the TB-Deco “chase threading device”
In the parallel numerical control, all the cams are replaced by memories.
The “chase threading device” memories are read at a rhythm set by the spindle. They contain the
chase threading movement, which is only the necessary trajectory for following the thread. The TB-
DECO software places the trajectories in these special memories if the corresponding code line
includes the instruction G33.
The feed trajectories (cams of the main cam shaft) are also saved in these memories. The latter
are read at the rhythm of the feed clock. The TB-DECO software places the trajectories of the feed
movement in these memories for all the code lines not containing the instruction G33.
It is also possible to start and stop the movements of this device anywhere in the program, using the
instructions G130 and G131, respectively. However, it must be ensured that there is no movement of
the axes concerned at that time.

298392_en - 11/17
4-25
4. G functions - Programming manual - EvoDECO 20 & 32

G130 Chase threading description start


Syntax
- G130
Example
Chase threading M6 x 1

G1 Z11=2 X11=8 G100 T1102 D0 (Starting position in x and z)


G1 Z11=2 X11=7.626 G100 (Chase threading start in x and z : thread diam + 2xPitch + 2xSec)
M150
G130
(Feed movement)
G1 X11=6.2 F0.005 (Rough stroke infeed)
G1 X11=6 F0.003 (Finishing stroke infeed)
G4 X1.5 (Empty stroke dwell)
G1 X11=7.626 G100 (Chase threading start position offset)
G91
(Chase threading movement)
G1 Z11=0 X11=-1.226 F1 G33 (Tool input in x : Depth = 2xPitch, points 1 to 2)
G1 Z11=-10 F1 G33 (Movement in z with feed = at pitch, points 2 to 3)
G1 Z11=0 X11=1.226 G33 (Retract in x, vertical outlet, points 3 to 4)
G2 Z11=10 X11=0 F1.5 R5 G33 (Return in circular movement, points 4 to 1)
G131
M151
G4 X1 (Last strokes dwell)
G1 Z11=2 X11=8 G100 G90 (Starting position offset)

Steps to take for programming G130/G131


1. Calculate the thread depth (height):
H = 0.613 x P H = 0.613 x 1 = 0.613 mm
2. Calculate the starting point coordinates in X and Z:
For X:
The starting point to calculate in X needs to take into account that when the G130 code is enabled
the chase threading movement starts. To prevent the tool from colliding with the material the thread
depth + safety margin (0.2 mm) between the tool and the material diameter of 6 mm need to be
taken into consideration.
For Z:
It is assumed that the chase threading starting point is located at Z = 2

298392_en - 11/17
4-26
Programming manual - EvoDECO 20 & 32 - 4. G functions

3. To determine the end of infeed diameter


The hobbing movement starts at the diameter calculated in point 2. The diameter to reach at the
end of hobbing must allow the chase threading tool to completely create the thread depth. To
determine this diameter it is necessary to take into account the chase threading movement made
by the trajectory of points 1 to 4. The distance in X between points 1 and 2 in this case, equal to the
thread depth, is 0.613 mm. In order for the chase threading to be correct, the chase threading
tool hobbing movement will end at the diameter of 6 mm.
End of infeed diameter = starting diameter – (2 * safety margin) – (2 * chase threading movement
distance of points 1 to 2)

To increase or decrease the number of strokes just change the infeed feed (Feed movement) and
then count the strokes obtained using the simulation (SIM_DECO)
The chase threading movement is a loop. It is mandatory to return to the starting point, if not the
alarm FC1016 “Looping error in the chase threading cycle” appears.

Note!
Feed F to be programmed in the case of an outlet at 45 degrees between points 3 and 4, for
example G1 Z11=-0.613 X11=1.226 F… G33.

To respect the 1mm pitch on axis Z, the inclination of the segment must be considered. In fact, the
feed F is applied on the segment, in the same way as for turning. The designed pitch on this
segment is calculated as follows:
Designed pitch = real pitch / cos (angle)
Designed pitch = 1 / cos (45) = 1.414

Namely: G1 Z11=-0.613 X11=1.226 F1.414 G33

G131 Chase threading description stop


Syntax
- G131

298392_en - 11/17
4-27
4. G functions - Programming manual - EvoDECO 20 & 32

4.40. Gxx50 Cancel polygoning mode of spindle Sxx activated by Gxx51


Syntax
- Gxx50
xx: Spindle number

4.41. Gxx51 Activation of spindle Sxx in polygoning mode


Syntax
- Gxx51 R Q Syy
xx: Spindle number (polygoning attachment)
R : Polygoning ratio (Number of polygon faces/ Number of teeth of the device).
Q: (Optional) Value of desired angular shift based on a reference machining (Value calculated
following a measurement taken after the first polygoning).
S: (Optional) It is possible to change the reference (master) spindle using code S. The reference
spindle corresponds to the spindle defined by its identifier in the parameter MasterSpdle of the
spindle in polygoning in the machine database.

Note!
If the ratio R (Number of faces / Number of teeth) is not a whole number (point number), the
value of R must be calculated according to the formula:
R = (Number of teeth of the cutter) x 256 + (Number of faces).

Example
Front cutting in mainwork with the cutter assembled on mainwork gang 2.
- Number of teeth of the part: 9
- Number of teeth of the cutter: 4
- Cutting ratio R: 9/4 or 2.25
Explanation
In the function G2151, the value of parameter R cannot be a point number. Therefore, the following
calculation must be performed:
• R = (256 x No. of teeth of the cutter) + No. of teeth of the part
• R = (256 x 4) + 9
• R= 1033
Starting from this number, TB-DECO must be able to drive the motors S11 and S21, synchronising
them for correct machining.

Note!
The polygoning tool T must be active BEFORE
The rotation direction of the spindle is inverted by:
- The programming of a Mxx04 before the call of Gxx51
- A negative Q value.

Example of polygoning for creating a square


M1103 S500
G4 X1
G2151 R2 (Activation of polygoning mode; R = no. of faces 4 / number of teeth 2)
……..
……..
G2150 (Cancellation of polygoning mode)
Speeds up only spindle S11 (part). The spindle S21 (polygoning attachment) will speed up automatically
based on the ratio selected for the call of the G2151 function.
Polygoning phase shift
If a polygoning phase shift is necessary with respect to another machining process, apply the
following rule:
- the phase shift in degrees must be multiplied with respect to the polygoning value contained in
the R variable of the Gxx51 code.

298392_en - 11/17
4-28
Programming manual - EvoDECO 20 & 32 - 4. G functions

Example:
Polygon with 4 faces, device with 2 teeth : ratio = 4/2 => R=2. Spindle S21
- Code : G2151 R2 Q0
- Error measured on the part: 10°
- Phase shift to be programmed: 10° x 2 = 20°
- New code: G2151 R2 Q20

4.42. G190 Exact stop mode between segments (by default)


Syntax
- G190
The tool is declared at the end of the segment, then in stop positions for a few ITP. The following
segment is then executed.
Example

G1 Z11=0 X11=11 G100 T1102 D0


G1 G94 G190 X11=10 F1000
G1 Z11=-10 F200 (WORK)
G1 G191 X11=11 F1000 (OFF)
G1 Z11=0 F15000
G1 X11=10 F1000 (ON)
G1 G190 Z11=-10 F200 (WORK)
G1 G191 X11=11 F1000

4.43. G191 Linked contouring mode


Syntax
- G191
The tool is declared at the end of the segment, but without stop. The following segment is then
executed.
Example

G1 Z11=0 X11=11 G100 T1102 D0


G1 G94 G190 X11=10 F1000
G1 Z11=-10 F200 (WORK)
G1 G191 X11=11 F1000 (OFF)
G1 Z11=0 F15000
G1 X11=10 F1000 (ON)
G1 G190 Z11=-10 F200 (WORK)
G1 G191 X11=11 F1000

298392_en - 11/17
4-29
4. G functions - Programming manual - EvoDECO 20 & 32

4.44. G314 Circular interpolation for arcs greater than 180°


Syntax
- G2 G314
- G3 G314

Example

G1 G100 Z11=0 X11=12 T1102 D0


G1 Z11=-5 F0.1
G3 G314 Z11=-9 R2.5 F0.1
G1 Z11=-15 F0.1
G1 G100 X11=14

298392_en - 11/17
4-30
Programming manual - EvoDECO 20 & 32 - 5. Global part variables

5. Global part variables

The part global variables allow you to exchange data between the different programs.
These variables can be edited from the part manager by the Edit/Global Variables... menu or from
# of Part manager.
The range of these variables is the part. They are fully saved with the part.
They are initialised at 0 when the program is opened.

Variable No. Description


#3000 .. Reserved for Tornos for wizards and machine
#3047 management macros.
#3048 .. User available.
#3090
#3091 .. Reserved for TORNOS (value that needs to
#3099 be saved in PART).

298392_en - 11/17
5-1
5. Global part variables - Programming manual - EvoDECO 20 & 32

5.1. Variable #3000 : Cutting Tool Support No.


Cutting tool support number used for the part cut-off.
Example: 1101

5.2. Variable #3001 : Bar diameter (mm)


Diameter of bar used.

5.3. Variable #3002 : Initial Cut-off Rate (mm/rev)


Feed for part cutting (MAIN program), for the initial cut after each RESET (INITIAL_CUT program)
and for the initial cut of a new bar
(NEW_BAR program)

5.4. Variable #3003: Part length (mm)

Total length of the finished part, positive.

5.5. Variable #3004: Feeding allowance (mm)

This variable is used when working with offset tools in relation to the cutter and if working at the
rear of the part with this tool.

298392_en - 11/17
5-2
Programming manual - EvoDECO 20 & 32 - 5. Global part variables

Example
#3004= 6.
When the following alarm Axis Z1 goes beyond the limits occurs, when interpreting the operations,
this may be due to a failed stroke of the spindle, for creating the part.
For example:
• when working with an offset tool or
• when programming a position greater than the part length.
In both cases, it is necessary to perform a feeding greater than the part length, by entering a value
in the variable #3004.
Calculation of the value to enter in variable #3004:
1. Use the geometry of the most offset tool.
2. Subtract the cutting tool (cutting side) geometry from that geometry.
3. Take the the longest programmed position with the most offset tool.
4. Subtract the part length from this position.
5. Take the result of point 2 and add the result of point 4.
6. Enter the obtained absolute value (positive) in variable #3004.
Example 1
Part length: - 10 mm
Geometry of the most offset tool: -18
Cutting tool geometry: -16.5
Programmed position: -12 (greater than the part length)
1. Geometry of the most offset tool: -18
2. Subtract the cutting tool geometry from that geometry: (-18) - (-16.5) = -1.5
3. Longest programmed position: -12
4. Subtract the part length from this position: (-12) - (-10) = -2
5. Result of point 2 + result of point 4: (-1.5) +(- 2) = -3.5
6. Absolute value of point 5 to be entered in #3004: 3.5
7. Tip: enter a value of 4
Example 2
Part length: -10 mm
Geometry of the most offset tool (transversal drill): -25
Cutting tool geometry: -16.5
Programmed position: -8 (smaller than the part length)
1. Geometry of the most offset tool: -25
2. Subtract the cutting tool geometry from that geometry: (-25) - (-16.5) = -8.5
3. Longest programmed position: -8
4. Subtract the part length from this position: (-8) - (-10) = 2
5. Result of point 2 + result of point 4: (-8.5) + 2 = -6.5
6. Absolute value of point 5 to be entered in #3004: 6.5
7. Tip: enter a value of 7

298392_en - 11/17
5-3
5. Global part variables - Programming manual - EvoDECO 20 & 32

5.6. Variable #3005 : Deburring Shift (mm)

This variable is used in the “END BAR” program, Macro G913, to deburr the remnant before
extracting it from the guidebush.
This variable is only necessary if the deburring position is not at the height of part zero.
Example
#3005= 1.3

5.7. Variable #3006: Guidebush Type


Explanation
0=stationary; 1=rotary; 2=Habegger; 4=self-adjustable; 5=motorised.

5.8. Variable #3007 : Dwell [S] after the opening of the collet

Note!
When feeding a part, a dwell is added between the opening of the collet and the retraction of
the spindle.
The default value is 0.5 seconds.

298392_en - 11/17
5-4
Programming manual - EvoDECO 20 & 32 - 5. Global part variables

5.9. Variable #3008 : Dwell [S] after the closing of the collet

Note!
When feeding a part, a dwell is added between the closing of the collet.
The default value is 0.5 seconds.

5.10. Variable #3009 : Counter-spindle part pickoff distance for the cut-off (mm)

Note!
The part pickoff distance must be expressed from part zero to the front of the collet.

298392_en - 11/17
5-5
5. Global part variables - Programming manual - EvoDECO 20 & 32

5.11. Variable #3010 : Counter spindle collet geometry (mm)

Note!
The counter-spindle collet geometry must be measured from the counter-spindle nut face to the
collet nose.
This value is entered as negative in the global variable #3010.

5.12. Variable #3011 : Counter-spindle retraction after part pickoff (mm)

Note!
The retraction to make with the counter-spindle, after part pickoff, is entered in variable #3011.

298392_en - 11/17
5-6
Programming manual - EvoDECO 20 & 32 - 5. Global part variables

5.13. Variable #3012 : Counter-spindle approach distance before part pickoff (mm)

Note!
The counter-spindle is positioned at a distance set in variable #3012, in relation to part zero.

5.14. Variable #3013 : Only for EvoDECO 10, Machine position of the counter-spindle (Z41) for
part ejection

Note!
On EvoDECO 10, to eject the part, the counter-spindle must retract in Z41 to the machine
position defined in variable #3013.

298392_en - 11/17
5-7
5. Global part variables - Programming manual - EvoDECO 20 & 32

5.15. Variable #3014 : Retraction Z11 for ejecting the remnant

Note!
When changing the bar, the remnant is ejected from the guidebush with the aid of the spindle in
the closed collet (END_BAR program, macro G913).
A standard retraction of 30 mm is already provided in the macro.
If you wish to increase this retraction, a value must be added to the default value, in variable #3014.
- A positive value increases the retraction,
- A negative value reduces the retraction.

Example
Fixed initial retraction of 30 mm
Variable value #3014: 10 mm
Total retraction = 30 + 10 = 40 mm

298392_en - 11/17
5-8
Programming manual - EvoDECO 20 & 32 - 5. Global part variables

5.16. Variable #3015 : Feed Z11 for introducing the new bar (mm)

Note!
After positioning the bar for the barfeeder, axis Z11 of the spindle advances for the introduction
of the new bar into the guidebush (NEW_BAR program, macro G914). In the macro, an initial
fixed feed of 30 mm is provided. If this feed is not sufficient, it is possible to increase it by entering
a value in variable #3015.
- A positive value increases the feed,
- A negative value reduces the feed.

Example
Fixed initial feed of 30 mm
Variable value #3015: 10 mm
Total feed = 30 + 10 = 40 mm

Caution!
The following ratio must be respected: #3015 < #3014 or #3015 = #3014, otherwise an error appears
and a Program limit Z11- exceeded alarm in the NEW_BAR program.

298392_en - 11/17
5-9
5. Global part variables - Programming manual - EvoDECO 20 & 32

5.17. Variable #3016 : Reduction of speed S11 during part feeding

Speed S11 at 300 rpm

The variable #3016 allows the rotation speed of the spindle (S11) to be reduced when the following part
is fed, to prevent scratches on the diameter of the bar.
This speed reduction is effective when running macro G912 (feeding), while the spindle collet is open.
After running Macro G912, the spindle returns to the rotation speed defined in the dialogue box
Initial spindle speed.

5.18. Variable #3017 : Ejection type


Explanation
0=gripper ; 1=ejector + cage ; 2= gripper + ejector
See also the description of G923.

298392_en - 11/17
5-10
Programming manual - EvoDECO 20 & 32 - 5. Global part variables

Note!
Normally, the ejector feed is not necessary when the part is ejected with the jaws. If you wish
to clean the collet with air or with oil, the ejector must be activated. In fact, the cleaning of the
collet is controlled with the same function as the ejector feed.

5.19. Variable #3018: Part gripping distance

See also the description of G923.

5.20. Variable #3019: Length of bar used

Note!
Variable #3019 is not used in “Short part” models (in 1 feed).

Note!
Variable #3019 corresponds to the actual length of the bar used for machining a certain number
of parts. It is determined as follows.

#3019 = ((Part length + cutting tool width) x Number of parts) + #3004


The length of the bar must be essentially calculated when performing a part in numerous feeds
(Long part).

298392_en - 11/17
5-11
5. Global part variables - Programming manual - EvoDECO 20 & 32

5.21. Variable #3020 : Facing allowance in mainwork

5.22. Variable #3021 : Facing allowance in backwork


Use
The desired value of the allowance in mainwork (OP) must be entered in variable #3020. After the
part is fed, a tool programmed at Z=0 will remove this allowance. The same goes for the backwork
(COP) with #3021.
Special feature
The part length (#3003) must be entered without taking into account the facing allowances.

Note!
1) This function is available from version TB-DECO ADV 2004. For all programs carried out in version
5.xx or 6.xx, after conversion to ADV version, variables #3020 and #3021 can be used. The old
programs where the facing function in mainwork or backwork are programmed with the aid of
code G54 Z1=… and G54 Z4=… can be adapted as follows:
- a) Modify #3003. The length must be that of the finished part
- b) Delete G54 Z1 or Z4 programmed for the facing allowances
- c) Enter the values of the allowances previously programmed by the G54 in variables
#3020 or #3021.
- d) Position Z1 for cutting, re-establish Z1 = #2012 => length of finished part in negative,
considering #3021.
2) The B variant models (facing) no longer exist in the databases of ADV 2004 version models.

Representation of variables #3020 and #3021:


Example for a 20 mm long part where the 2 0.5 mm faces are to be dressed.
Values to programmed in the global variables:
#3003: 20
#3020: 0.5
#3021: 0.5

298392_en - 11/17
5-12
Programming manual - EvoDECO 20 & 32 - 5. Global part variables

5.23. Variable #3022 : Anti-collision between the tool support and the counter-spindle
An anti-collision barrier could be activated when using the tool support with 3 bores, diameter 25
for frontwork tools.
This barrier protects against any collision between the tools support and the counter-spindle.

#3022 = 0, If no tool support is used, the barrier is deactivated.


#3022 = 1, To activate the barrier if the tool support is installed on mainwork gang 1.
#3022 = 2, To activate the barrier if the tool support is installed on mainwork gang 2.
#3022 = 3, To activate the barrier if the tool support is installed on mainwork gang 2.

Note!
When using No. of tools reserved for the tool support, if the anti-collision barrier is not activated,
TB-DECO will produce the following warning: “GENERATOR1059: Caution. Anti-collision tool
support inactive.

5.24. Variable #3046 : Anticipation of triggering of supply thrust (M11)


This variable concerns the use of barfeedersSBF-532 and SBF-216 for the machines EvoDECO 10,
EvoDECO 16, EvoDECO 20/32.
Default Settings
- SBF-532: 0.5 seconds
- SBF-216: 0.1 seconds

The time [s] contained in variable #3046 allows:


- The cancellation of the remaining barfeeder thrust to be made earlier.
- The holding torque to be modified before the collet opening.
- The part length to be measured.
In principle, this variable must not be modified.

However, if the measurement of the part length (Data D2160) cannot be performed correctly during
this amount of time (after establishing the holding torque), the value contained in variable #3046 can
be increased.

5.25. Variable #3047 : Program part correction time [ms] (G902)

5.26. Variable #3175 : Long part, Speed S11 after additional feeding
The value S11 is taken from the initial spindle speed.

5.27. Variable #3179 : Speed S41 at the end of the main program
The value S41 is taken from the initial spindle speed.

5.28. Variable #3186 : Long part, No. of cutting tool guidebush side
This geometry is used for performing the 1st feeding of a long part.

298392_en - 11/17
5-13
5. Global part variables - Programming manual - EvoDECO 20 & 32

5.29. Taking notes

298392_en - 11/17
5-14
Programming manual - EvoDECO 20 & 32 - 6. Global program variables

6. Global program variables


Variable Description
#2000... Reserved for TORNOS
#2195
#2196... User available.
#2255

6.1. Variables #2xxx


The range of these variables is the program.
Position <PR> means Program Position.
Position <MC> means Machine Position.

6.2. Variable #2011


Position <PR> of X11 or X21 at end of cutoff, taking into account the value of "Lx" of the cutoff tool.
In the case of machining tubes, the end of cutting diameter is also influenced by Parameter P4 of
G910 (INITIAL CUT). i.e. Diameter entered in P4 - LX.

6.3. Variable #2012


Position <PR> of Z11 for cutting (length of part + any facing allowance in backwork).

6.4. Variable #2013


Approach position <MC> of the counter-spindle (Z41) in front of the part, when the part is in cutting
position, considering variables #3012 and #3021.

6.5. Variable #2014


Position <MC> of the counter-spindle (Z41) to take the part, considering the value of variable #3009.

6.6. Variable #2015


Position <MC> of the counter-spindle for retraction after cutting, considering the value of
variable #3011.

6.7. Variable #2016


Zero offset value G56 of axis Z41 for working in backwork.

6.8. Variable #2017


This is position 5 mm from the ejector. It is defined in function G921 Offset value

6.9. Variable #2018


This is position 5 mm from the ejector. It is defined in function G921n backwork.

6.10. Variable #2019


Zero offset value G56 of axis Z31 programmed before the first work with a tool of the frontwork
device (T1301 – T130).

298392_en - 11/17
6-1
6. Global program variables - Programming manual - EvoDECO 20 & 32

6.11. Variable #2020


Cutoff tool number (cutoff side) to be used by the TB wizards.

6.12. Variable #2022, long parts


Value of the geometry Z of the cutoff tool (cutoff side). Used in operation 1:2 to define the position
of axis Z11 at the loop end. Used for long parts.

6.13. Variable #2025, long parts


Retention traverse <PR> position at high speed for axes X11/X21. This position is calculated according to
the retention diameter of the bar defined in the G942-Macro by parameter P6 (bar retention diameter).
At this position, the clamping jaws are 1 mm from the retention diameter and exert no pressure on the
bar. The retention diameter defines the type of clamping jaws to use. Used for long parts. If P6 is not
programmed, the value of #3001 is used for the calculation.

6.14. Variable #2026, long parts


Retention <PR> position for axes X11/X21. From the traverse position of the retention tools, axes
X11/X21 will each carry out a 2 mm move at the same time. This movement will compress the
springs by 1 mm and exert sufficient pressure on the bar to clamp it (retention) and immobilise it
during the feeding (spindle stock retracting). Used for long parts.

6.15. Variable #2032


Clearance diameter of the cutoff tool. Used after macro G912 (part feeding). #2032 is calculated
as follows: Bar diameter + LX + 0.5 mm safety clearance.

6.16. Variable #2033


Speed of rotation (rpm) of the counter-spindle during the traverse operation prior to part pickoff.
The value contained in this variable corresponds to that of spindle S11 entered in the "Initial spindle
speed" window.

6.17. Variable #2034


Clearance of axis Z11 before cutter outlet. Used after macro G912 (part feeding).

6.18. Variable #2035


Cutter approach diameter (Bar diameter + 0.5 mm safety clearance).
In a long part, this is also the clearance diameter of the jaws after bar locking.

6.19. Variable #2037


Additional zero offset G55 for Z11. This variable is influenced by the part length, the cutter geometry and
the facing allowance in backwork.

6.20. Variable #2039


Main zero offset G56 for Z11 -> feeding allowance.

6.21. Variable #2041, Cutting diameter


Default value = 2 mm. When machining tubes, the cutting diameter will be equal to the value entered
for Macro G910 P4 of the INITIAL CUT program.

298392_en - 11/17
6-2
Programming manual - EvoDECO 20 & 32 - 6. Global program variables

6.22. Variable #2042, Cutting follow-up diameter


Default value = 0.5 mm. When machining tubes the cutting follow-up diameter will have the same
value as #2041, i.e. the value entered for Macro G910 P4 of the INITIAL CUT program.

6.23. Variable #2139, Long part, position Z for the 2nd feeding
This is position <PR> of Z11
- 1) To clamp the bar in the jaws in view of additional feeding.
OP 1 :9 of the long part model.
- 2) For additional feeding. OP 1 :11 of the long part model.

This position is defined for each feeding in the G942-Macro by parameter P2 (Position <PR> of the Z
axis for clamping the bar).

6.24. Variable #2141, Long part, No. of the retention claws of mainwork gang 1
Default value = 1101. Or according to the value entered for Macro G942 P4.

6.25. Variable #2142, Long part, No. of the retention claws of mainwork gang 2
Default value = 1201. Or according to the value entered for Macro G942 P5.

6.26. Variable #2144, Long part, Zero offset 1st feed


Additional zero offset G55 for 1st feed. This position is defined in the first Macro G942 P1 = new part
length.

6.27. Variable #2145, Long part, Zero offset 2nd feed


Additional zero offset G55 for every additional feed. This position is defined in the second Macro
G942 and subsequent (P1 = new part length).

6.28. Free variable editing for the operator


Local variables
The range of these variables is the operation
#1129 to #1255 => Available for the user.
Global program variables
The range of these variables is the program
#2196 to #2255 => Available for the user.
Global part variables
The range of these variables is the part.
#3048 to #3090 => Available for the user.

For EvoDECO PTO, the following variables are no longer available for the user.
#3180 to #3190.

Caution!
In the case of a PNC program using these variables (parameter programming), after conversion
to PTO, the variables #31xx need to be replaced by other available variables.

298392_en - 11/17
6-3
6. Global program variables - Programming manual - EvoDECO 20 & 32

6.29. Taking notes

298392_en - 11/17
6-4
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7. Macros and cycles


Macros are used in the main program and in auxiliary programs.
Set up macros in the main program and auxiliary programs is done following standard models.

7.1. Macro G900: Spindle speed initialisation


Storage of the spindle speeds coming from the “Initial spindle speed” window.
- Search of spindle speeds, then writing in the variables #2xxx.
- Starting the spindles that are ON in the “Initial spindle speed” window.
This Macro is used in the ON program.

7.2. Macro G901: Downloading information to the NC


This macro allows information to be downloaded from TB-Deco to the NC. It is used in the INIT
program, operation 1 :10.

7.3. Macro G903: Tool indexing


Allows optimal indexing of tools in circular interpolation G2/G3, in all the operation lines of a program.
Syntax
G903 P1=1201 for T1201
G903 P1=12011 for T1201 D1

Parameter Option Default setting Comments


P1 no - Number of tool to index.

Note!
The final point of the movement is equal to the starting point, but for the new tool.
For example for mainwork gang 2, the indexing will be performed on the X21 and Y21 axes:
Position <PR> in starting X, diameter 20.
Position <PR> in arrival X, diameter 20.
In Y, the arrival position <PR> will be Y0.

298392_en - 11/17
7-1
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.4. Macro G909: Program initialisation


This macro is programmed in the INIT program, operation 1 :10.
Parameter Option Default Comments
setting
P1 yes 0 Value for adjusting the end of bar
P2 yes 0 Thrust feed speed with barfeeder SBFi (0=G0) [mm/min]
[inch/min].
P3 yes 0 Yes=1 check breakage of the cutter during cycle G912
with barfeeder SBFi.
P4 yes 0 Torque value for thrust with barfeeder SBFi (0=value by
default according to bar diameter) [%]. Maximum
value 30%.
P5 yes - Identifier of the model type used.
Not to be modified.
P6 yes Spindle Servo lag error value for barfeeder SBFi [mm].
stroke
P10 yes 4 Spraying start up delay (M8) in INITIALISATION program
[s], Macro G910.
P11 yes According Bar retract offset value for work without material [mm]
to cutter or [inch].
geometry
P12 yes 0 Movement speed for bar retract for work without
material [mm/min] or [inch/min] (0=G100).
P13 yes 0 Yes=1 activates the position check of the barfeeder
SBFi axis.
P14 yes 5 Holding thrust distance for barfeeder SBFi [mm][inch]

Parameter P1
The end of bar position can be modified on barfeeders SBF-216 and SBF-532 for the machines
EvoDECO PTO and Deco PTO.
Example
- G909 P1=50, the end of bar arrives 50mm before the position calculated by TB-Deco.
- G909 P1=-10, the end of bar arrives 10mm after the position calculated by TB-Deco.

Caution!
This parameter must not be used for entering the bar further forward in the guidebush.

298392_en - 11/17
7-2
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Parameter P4
The barfeeder thrust value is automatically adapted according to the diameter of the bar used.
These values are set by default in TB-DECO.
Values entered by default in TB-DECO:
Bar diameter Thrust
? 4 mm 10 %.
> 5 and ? 7 mm 12 %.
> 7 and ? 9 mm 15 %.
> 9 and ? 13 mm 20 %.
> 13 and ? 18 mm 23 %.
> 23 and ? 25 mm 25 %.
> 25 mm 27 %.
For special cases, the user can change the default value of the capacity. The capacity can be
changed in parameter P4 of the program's G909 macro
Example
Barfeeder capacity blockage at 15 %.
Op 1.10 of the INIT program: G909 P4=15

Caution!
The capacity must not in any case go beyond the 30 % value.

7.5. Macro G910: Initial cutting


This macro allows an initial cut to be performed. It is used in the INITIAL_CUT program, OP 1: 2.
It considers the dwell programmed in G909 P10=.
Guidebush type check.
Activates the barfeeder thrust.

Parameter Option Default Comments


setting
P1 yes Initial Spindle Main spindle speed [rpm].
Speed
P2 yes 0 Cutting speed in [m/min or feet/min].
P3 yes - Maximum number of spindle revolutions/minutes if P2=
different from 0 [rpm].
P4 yes 0 Internal diameter in the event of a tubular bar profile in
[mm] or [inch].
P5 yes 0 Guidebush 3 positions
0 = adjusted pressure closing
1 = maximum pressure closing.

298392_en - 11/17
7-3
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.6. Macro G911: Zero offset calculation in mainwork


Z axes zero offset calculation in mainwork, based on the part length, the facing allowance in
backwork, the cut-off tool geometry and the guidebush type.
Calculation of other variables #2xxx for the ON and MAIN program.

Parameter Option Default Comments


setting
P1 yes 0.5 Safety distance used for calculating various #2000
(used in the program) for retraction of the cutter in X
[mm] or [inch].
P2 yes 0.2 to 0.5 Safety distance for retraction in Z of the cutter after the
according feeding of a new part [mm] or [inch].
to the
machine
type

7.7. Macro G912: Part feeding macro


Collet opening, spindle retract, collet closing.

Parameter Option Default Comments


setting
P1 yes 0 Spindle retract speed for bar feeding [mm/min] or [inch/
min] (0=G100).
P2 yes 0 0= Spindle speed reduction, then spindle collet opening.
1= Collet opening, then spindle speed reduction.
P2 is only taken into consideration if #3016 is different from 0.

298392_en - 11/17
7-4
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7.8. Macro G913: END_BAR program, deburring and remnant ejection after the Bar end signal
Macro used in program O3800 (END_BAR).
Description
- Deburring the remnant by hobbing.
- Deburring the remnant by straight turning while using a neutral cutting tool.
- Spindle retraction for ejecting the remnant from the guidebush.
- Loading order M60.

Parameter Option Default Comments


setting
P1 yes 300 Main spindle speed [rpm].
P3 yes 0 Chamfer length for deburring by straight turning
(0=deburring by straight turning) [mm] or [inch].
P4 yes 30 Chamfer angle for deburring by straight turning [°].
P5 yes #3002 Feed speed for deburring by straight turning [mm/min] or
[inch/min].

Mo
ve
me
nt
dir
ec
tio
n

Setting parameters:
P1 Main spindle speed S11. This parameter is optional. It is used to select the rotation speed [rpm]
of the spindle during the introduction of the new bar. If P1 is omitted, the default rotation speed will
be 300 rpm. This parameter is only used during feeding with an automatic barfeeder.
P3 Chamfer length. This parameter is optional.
P4 Chamfer angle. This parameter is optional.
P5 Chamfering feed. This parameter is optional. By default the initial cut feed defined in variable
#3002 is taken into consideration.
P6 Machine position in X with cutter. This optional parameter allows the cutter to be placed after
loading a new bar, to prevent the bar crossing the guidebush (the tool acts as a stop).
Only valid with barfeeder SSF-107 on Deco10 and EvoDECO10.

Note!
Based on the “BarLoader” variable in the machine database (*.MACH) active, the G913 cycle is
treated differently.

298392_en - 11/17
7-5
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

EvoDECO 10 PTO DECO 20 and 26 PTO EvoDECO 16 PTO EvoDECO 20/32 PTO
0 = Hydraulic or 0 = Hydraulic or 0 = Hydraulic or 0 = Hydraulic or
Mechanical Mechanical Mechanical Mechanical
Feed Tube Feed Tube Feed Tube Feed Tube
1 = ROBOBAR SSF 107 1 = ROBOBAR SSF 226 1 = ROBOBAR SSF 226 1 = ROBOBAR SSF 226
or FMB or FMB or FMB
2 = ROBOBAR SSF 210 2 = IEMCA 2 = IEMCA 2 = IEMCA
or FMB
3 = IEMCA 3 = LNS 3 = LNS 3 = LNS
4 = LNS TRYTON 4 = SBF 532i, 3 metres 4 = SBF-216i, 3 metres 4 = SBF 532i, 3 metres
5 = SSF-107 5 = SBF 532i, 4 metres 5 = SBF 216i, 4 metres 5 = SBF 532i, 4 metres
watchmaking
6 = SBF-216i, 3 metres 6 = SBF-320e
7 = SBF-216i, 4 metres
8 = SBF-212e
9 = SBF-320e

7.9. Macro G914: Bar feeding cycle of a new bar


This cycle is used in program O3900 (NEW_BAR)
- Spindle feed for introducing the new bar into the guidebush.
- Facing of the new bar with the cutting tool and feed according to the value of variable #3002.
- Cutting a blank.

Parameter Option Default Comments


setting
P1 yes 0 Number of blanks to cut.
P2 yes 20 Length of the blank to cut [mm] or [inch],(except
for P7=1).
P3 yes 20,000. Feed speed for introducing the new bar [mm/min]
or [inch/min].
P4 yes 0 Main spindle speed for cutting [t/min], or [m/min] if P5=1.
P5 yes 0 Activation of constant cutting speed (1=activation
of G96).
P6 yes 0 Conversion of constant cutting speed into feet/min
(1=conversion).
P7 yes 0 If P7=1 bar shear off without blank
P8 yes 0 If P8=1 activation of spraying ignored (M8).
P9 yes 0 If P9=1 the spindle stops for the introduction of the bar.
P20 yes 5 Dwell after spraying on (M8) [s].
P4 = Spindle S11 rotation speed when cutting the new bar.
By default, it is the speed [rpm] defined in the dialogue box "initial spindle speeds".
If P5=0 (or not programmed), then P4 is in [rpm]
If P5=1, then P4 is in [m/min]
If P5=1 and P6=1, then P4 is in [feet/min]

P6= when it is 1, converts the value of P4 into feet/min (only if P5=1)


P7= when it is 1, allows blanks to be made less than 0 mm (for only machining chips = facing).
If P7=1 parameter P2 corresponds to the stroke thickness with the cutter.

298392_en - 11/17
7-6
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Note!
The combination of P1 and P2 allows a certain number of blanks to be cut with a length with set
parameters when the new bar is positioned. After cutting, the blanks fall into the chips.
If parameters P1, P2, P3, P4, P5, P6 and P7 are omitted or if P1=0, P2=0, P3=0, P4=0, P5=0, P6=0 and
P7=0, the cycle runs as standard, without blanks.

Caution!
The blank must not be too long, otherwise the spindle stroke will not be sufficient and an alarm will
be generated.

7.10. Macro G915: Additional zero offset for frontwork


No P parameter.
After a bar movement (Z11), the part zero of Z31 must be found again according to the new
position of Z11. G915 performs a calculation and an additional zero offset G54 for the Z31 axis.
In the operation concerned, the master axis No. 1 must be Z11 and the master axis No. 2 must be Z31.
Note:
- Various G915s can be programmed in the same program, but
- After each G915, it is compulsory to cancel the additional offset G54 by G53 Z31, before programming
another G915.

Use example G915

298392_en - 11/17
7-7
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Explanations:
- In the operation 1:5, the turning tool has finished machining. At this moment, the part zero position
is no longer known of Z31 and if you wish to perform some frontwork such as centring, the macro
G915 must be used.
- The Macro G915 is programmed in operation 3:3. A constraint is necessary at the end of operation
1:5 and the start of operation 3:3, as it is after the last movement of axis Z11 in operation 1:5 that a
zero offset needs to be performed on axis Z31 to allow the current position of the part zero to be
found again.
- At the end of the frontwork it is compulsory to cancel the zero offset. This is performed in operation
3:5 by code G53 Z31 which cancels the additional zero offset performed by Macro G915 on the
Z31 axis in operation 3:3.

7.11. Macro G916: Additional zero offset for part pickoff


Sphere of application
For example, supporting the part with the counter-spindle, or during tip cutting.
Description
Calculation of additional zero offset G54 to be made on axis Z41, during an intermediate part
pickoff. According to position <MC> of the Z11 axis.
In the operation concerned, the master axis No. 1 must be Z11 and the master axis No. 2 must be Z41.
Syntax
- G916
- G916 P1= <Part pickoff distance>
Use
Intermediate part pickoff.
- Various G916s can be programmed in the same part.
- If parameter P1 is programmed, the part pickoff distance will be calculated according to the
value of P1. If P1 is omitted, the part pickoff distance will be that of the global variable #3009.
- After each G916, it is compulsory to cancel the additional offset G54 by G53 Z41, before
programming another G916.

Parameter Option Default Comments


setting
P1 yes #3009 Part pickoff distance [mm] or [inch].

298392_en - 11/17
7-8
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Use example G916

Explanations:
- Operation 1:6 positions the cutting tool in Z11 at the start of tip cutting. Then it is necessary to take
the part and follow with the Z41 axis during tip cutting.
- Given that at this time the position of the Z11 axis does not correspond to the length of the total
part, the part pickoff distance will not be correct. Therefore, G916 must be used to calculate an
intermediate part pickoff distance.
- The Macro G916 is programmed in operation 4:7. A synchronisation is necessary at the end of operation
1:6 and the start of operation 4:7, as it is after the last movement of axis Z11 in operation 1:6 that a zero
offset needs to be performed on axis Z41 to allow the intermediate part to be picked.
- In operation 4:8 the standard TB wizard manages part pickoff.
- After picking the part, it is important to cancel the zero offset in operation 4:12 using code G53 Z41.
G53 Z41 cancels the additional zero offset performed by G916 on the Z41 axis in operation 4:7.
Operation 4:13 performs the retraction after picking the standard part.

298392_en - 11/17
7-9
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.12. Macro G917: Polygoning


Description
Polygoning with the device fitted in T1205.
Syntax
G917 P1= .... P2=..... P3= .... P4= ....
Parameter Option Default Comments
setting
P1 no - Diameter to achieve, absolute (dimension on flats)
[mm ; inch]
P2 no - Type of movement:
1 = work feed G1
100 = fast feed G100
P3 yes - Work feed when P2=1 [mm/rev; inch/rev]
P4 yes - Position of axis Z11 to be achieved, absolute from part
zero, in the case of tapered polygoning [mm; inch]
Use
The milling axis of the polygoning attachment is offset due to dimensions by a distance of 20 mm
on the Y axis. When it is used in T1205 the stroke of axis Y21 is not sufficient to fully compensate for
this geometry. To compensate for this lack of stroke, it is necessary to work only according to one
work axis no longer perpendicular to the part axis, but according to a given angle of 26.565°. This
requires a special program.

Note!
The geometry of the polygoning attachment, for the Y axis is 0 mm.

is
rk ax
Wo

The programming of the polygoning attachment can be done in 2 different ways.

298392_en - 11/17
7-10
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7.13. Programming without macro G917


- Polygoning attachment call at X21=20 Y21=-5 T1205
- This block is compulsory and constitutes the starting point. At this position the polygoning attachment is
on a diameter of 31.8 mm in relation to the centre of the bar.
- From this point all changes of diameter must be performed simultaneously on the 2 X and Y axes,
according to a ratio X21/Y21=4/1, in order to respect the angle of 26,565°. The following
calculations are to be performed in order to find the positions to be programmed again of axes
X21 and Y21 according to the diameter to be achieved.
- d = diameter to be achieved (dimension on flats):
- For X21: X21 = -8.4428 +(0.8944 x d)
- For Y21: Y21 = 2.1107 - (0.2236 x d)
Example
Diameter to reach 16 mm.
X21= -8.4428 + (0.8944 x 16) = 5.868
Y21= 2.1107 - (0.2236 x 16) = -1.467
The following line is used to position the polygoning attachment on a diameter of 16 mm:
G1 G100 X21=5.688 Y21=-1.467

298392_en - 11/17
7-11
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.14. Programming with macro G917


- Polygoning attachment call at X2=20 Y2=-5.
- Use the macro G917 whenever you wish to program a different diameter during polygoning.
Example
ISO code for polygoning hex 16 on/faces length 12 mm :
G1 X21=20 Y21=-5 G100 T1205 (Polygoning call)
G917 P1=22 P2=100 (Fast feed at the diameter of 22)
G1 Z11=1 G100
G917 P1=16 P2=1 P3=0.02 (Facing at diameter of 16 with F0.02)
G1 Z11=-12 F0.05
G917 P1=18 P2=1 P3=0.015 P4=-13 (Exit at 45° at diameter 18 F0.015)
G917 P1=22 P2=100 (Rapid retraction at the diameter of 22)
G1 X21=20 Y21=-5 G100
Programming radii
Macro G917 does not allow radii to be programmed. It is only designed for programming linear
segments. For programming a radius the programming method described in the chapter
“Programming without using the Macro G917” must be used.
Correcting diameters using offsets
For correcting offsets on the machine, a compensation must be performed on the two axes to change
the polygoned diameter. This correction is also performed considering the ratio X21 / Y21 = 4/1.

Attention!
X21 is at the diameter, so the value of Y21 is divided by 4.
For a 0.05 mm correction on a polygoned diameter:
- the correction will be for X21: 0.05 mm
- the correction will be for Y21: 0.05 / 4 = 0.0125 mm
To increase the polygoned diameter by 0.05 mm:
- the correction will be for X21: 0.05 mm
- the correction will be for Y21: -0.0125 mm
To reduce the polygoned diameter by 0.05 mm:
- the correction will be for X21: -0.05 mm
- the correction will be for Y21: 0.0125 mm

Note!
The movement to follow above does not take into consideration the angle of 26.565°. If the correction
has to be extremely precise, the following rule must apply:
W = diameter correction value:
For correcting a polygoned diameter
- the correction will be for X21: 0.8944 x W
- the correction will be for Y21: X2/4
To increase the polygoned diameter by 0.05 mm:
- the correction will be for X21: 0.044 mm
- the correction will be for Y21: -0.011mm
To reduce the polygoned diameter by 0.05 mm:
- the correction will be for X21: -0.044 mm
- the correction will be for Y21: 0.011 mm.

298392_en - 11/17
7-12
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Polygoning with device fitted from T1202 to T1204


If the polygoning attachment is fitted on the positions T1202 to T1204, it is no longer necessary to
apply all the details described above. The stroke of axis Y21 allows work to be performed according
to a perpendicular axis.
Thus the diameter for polygoning can be programmed as if normal turning were to be performed.

Note!
The geometry of the polygoning attachment, for the Y axis is 20 mm.

7.15. Macro G920: Part ejection in the initialisation program


Macro used in program O3300 (INIT).
Description
This function allows the part to be ejected following a RESET, before entering the machining loop.
The part is ejected into the chips.
Parameter Option Default Comments
setting
P1 yes 0 If P1=1 no part ejection.

7.16. Macro G921: Zero offset calculation in backwork


Macro used in programs O3500 (ON) and 3600 (MAIN).
It calculates the zero offset for backwork (G56).
It calculates the different machine positions for part pickoff.

298392_en - 11/17
7-13
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.17. Macro G923: Part extraction


This macro performs the part ejection at the end of machining in backwork.
Two global variables are available, to allow you to choose the type of ejection and the part
gripping length. These global variables are as follows:
#3017: Ejection type
- 0: clamp
- 1: cage + ejector
- 2: clamp + ejector
#3018:
Clamp part gripping length. A T2450 geometry is necessary to define the position of the cage or
the manipulator collets with respect to the machine zero point. To use the clamps or cage, enable
function M160 on the machine to measure this geometry.
Depending on the type of ejection defined in variable #3017, the following movements and
functions are carried out by the G923-Macro:

Retraction
The machine ref. is on the face of mainwork gang 1.

298392_en - 11/17
7-14
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

#3017=0
The extraction is carried out by retraction of the counter-spindle after the collet grips the part. At the
cycle start, function M160 (manipulator arm feed) is enabled. The stroke required for extraction is based
on the length of the part in the counter-spindle.
The counter-spindle is positioned according to variable #3018, which is the part pickoff distance
and the T2450 geometry, in order to grip the part with the collet.
Pivoting of manipulator arm by function M162, collet closing by function M164.
Counter-spindle collet opening and counter-spindle retract to eject.
Return of manipulator by functions M163, M161. The part is still in the manipulator collet.

Mach. ref.

#3017=1
At the cycle start, function M160 (manipulator arm feed) is enabled.
The counter-spindle is positioned according to the T2450 geometry so that the cage is always flush
with the nut of the counter-spindle.
Pivoting of manipulator arm by function M162, closing of both cage parts by function M164.
Counter-spindle collet opening and ejector activation by function M84. Delay.
Return of the ejector by function M85, return of the manipulator by functions M163, M161. The part
is still in the cage.
#3017=2
The ejection process is identical when variable #3017=0. But once the part has been ejected by
the retracting movement of the counter-spindle, the ejector is enabled by functions M84 and M85
to clean the collet.

298392_en - 11/17
7-15
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Note: Eleven optional parameters are available for changing certain functions of Macro G923.
They include:

Parameter Option Default Comments


setting
P1 yes 20000 Feedrate "F" of Z41 to eject the part [mm/min] or [Inch/min]
P2 yes 0.7 Dwell for ejector feed [s].
P3 yes - Cancels the dwell which follows function M160 of the
manipulator arm [s]. Caution: risk of collision of the manipulator
arm on the nut of the counter-spindle. See explanations below.
P4 yes 5 Safety distance at retraction of axis Z41 when ejecting a part in
the jaws [mm] or [Inch].
P5 yes 0 Activation of air through the counter-spindle collet
(1=deactivation).
P6 yes 0 Dwell between the ejector retraction (M85) and the return of
the manipulator arm (M163) [s].
P7 yes 0.7 Dwell between the end of the manipulator arm pivoting (M162)
and the cage closing (M164) [s].
P8 yes 0 Activation of part ejection with movement Z41 broken down
into two sequences (1 = in 2 sequences).
P9 yes 0.4 Dwell between the opening of the counter-spindle and the
retraction of Z41[s].
P12 yes 1 Cancels the part presence check in the manipulator arm collet,
if the value is set to 0.
P13 yes 0 Activation of oil in continuous mode through the counter-
spindle for cleaning the collet (1=activation).

P1: To eject the part from the counter-spindle, the latter retracts at a rate given in parameter P1.
By default, the rapid feed rate (20000 mm/min) is used. In the event of parts that are delicate to
manipulate, a reduced feed rate can be programmed.
P2: A dwell is programmed after the ejector feed by function M84. By default, the timing is 0.7 s.
P3: The manipulator arm feeds due to function M160. It takes 3 seconds to perform its trajectory. A
dwell is programmed after M160. To shorten the duration of the ejection operation, this dwell can
be cancelled by programming a value in P3.

Attention!
There is the risk of collision between the manipulator arm and the counter-spindle.
Therefore, M160 must be programmed before the operation that contains G923, about 3
seconds before.

P4: To eject the part from the counter-spindle, the latter retracts by a length equal to the part
pickoff length plus a safety distance of 5 mm. Parameter P4 allows you to modify this safety
distance.
P5: Parameter P5 allows you to cancel the function for the cleaning of the counter-spindle collet
with air when the value of variable #3017 is 1 or 2.
P6: This dwell is necessary when the ejector rod comes out of the counter-spindle collet and the
cage is used. It allows you to prevent the ejector rod from hampering or obstructing the return of
the manipulator arm. By default, the timing is 0 s.
Only valid when variable #3017 = 1
P7: Dwell between the end of the manipulator arm pivoting (M162) and the cage closing (M164)
[s].
P8: This parameter is used to activate part extraction with the movement in Z41 broken down into
two sequences, with parts of diameter > 20 mm.
P8 = 0 normal extraction (see figure 2.1.1)
P8 = 1 extraction in two Z4 sequences (see figure 2.1.2)

298392_en - 11/17
7-16
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7.18. Normal extraction sequences (P8=0):


- 1. Counter-spindle positioning in X41 and Z41 with cage in line with counter-spindle nut
- 2. M162
- 3. M111
- 4. etc.

Fig. 1 : Diagram of the sequences

7.19. Extraction sequence with P8=1 :


For parts of diameter > 20 mm, the jaws or the cage can touch the part by pivoting. To prevent
this, the ejection sequence can be changed with P8.
- 1. Counter-spindle positioning in X41 and Z41 with cage in line with front of the part
- 2. M162
- 3. Z41 positioning with cage in line with counter-spindle nut
- 4. M111
- 5. etc.

Fig. 2 : Diagram of the sequences

7.20. Macro G930 Preparation of work without material


This macro prepares the machine for work without material
- Retracts the bar.
- Locks the Z11 axis.
- Inhibits the spindle collet opening/closing.
- Inhibits the part counter.
It is used in the following programs WITHOUT_MATERIAL1, WITHOUT_MATERIAL2 AND
WITHOUT_MATERIAL3 of the TB-Deco models.
Only in the WITHOUT_MATERIAL3 program, a parameter (P1) allows the part counter to be
inhibited. In the Tornos TB-Deco models, for the WITHOUT_MATERIAL3 program, P1 is forced to 1
(P1=1).
Parameter Option Default Comments
setting
P1 yes 0 If =1 no inhibition of the part counter.
The WITHOUT_MATERIAL3 program is only interpreted with the machine reaches the end of
production (End of series). Axis Z11 is locked so that no more parts are produced. But the last part
found in the counter-spindle needs to be finished. However, the counter must decrease in order to
reach 0, which will then cause the machine to stop.

298392_en - 11/17
7-17
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

In the WITHOUT_MATERIAL3 program, if P1 is not programmed or =0, the counter will stop at one.
The machine will continue to work, empty. This allows its work temperature to be maintained.

7.21. Macro G931: Work preparation with material


This macro prepares the machine for work with material
- Locks the Z11 axis.
- Releases the spindle collet opening/closing.
- Feeds the bar to the work position.
- Un-inhibits the part counter.
It is used in the following programs WITH_MATERIAL1 and WITH_MATERIAL2 of the TB-Deco models.
There is no P code to be programmed.

7.22. Macro G933: Threading with tool


Description
Threading cycle at tool (chase threading).
The programming of a chase threading cycle is largely facilitated by function G933. This function is
used to create 99 % of the chasing threads, regardless if they are cylindrical or tapered, external or
internal, or even on a face.

Parameter Option Default Comments


setting
P0 no - Pitch (NEGATIVE for internal chase threading)
P1 no - Start of threading in X
P2 no - Start of threading in Z
P3 no - End of threading in Z
P4 yes P1 End of threading in X
P5 yes 60° Threading tool angle
P6 yes 0.61343 x Thread height (depth)
P0[mm]
P7 yes 45° Entry angle at the start of threading
P8 yes 45° Exit angle at the end of threading
P9 yes 0.2 [mm] Safety margin
P10 yes 2 x P0 [mm] Physical limit at the start of threading
P11 yes 2 x P0 [mm] Physical limit at the end of threading
P12 yes INT (P1 + 0.5) Number of blank strokes
P13 yes 2 Number of finishing strokes
P14 yes 2 Number of empty strokes
P15 yes (P3-P2)x0.5 - Max. physical limit in X
0.1 + P6 + P9
[mm]

298392_en - 11/17
7-18
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Parameter Option Default Comments


setting
P16 yes 1 Speed factor for the return

When an optional parameter is not specified within the command line, a default value is automatically
used during the cycle. This value by default is set as follows:
P5: Threading tool angle: A tool at 60° is taken into consideration be default. In the cycle, the angle is
then divided by 2, and 2° is subtracted to have a penetration which does not directly follow the thread
edge. E.g.: (60 / 2) - 2 = 28°. For a straight penetration enter 0°.
P6: Thread height : Metric threading at 60° is considered by default.
In that case H = 0.61343 * P0.
P7: Entry angle at the start of threading: An entry angle of 45° is considered by default. For a straight
entry, for example when threading starts outside the part enter 90°.
P8: Exit angle at the end of threading: The same as P7, for a straight exit enter 90°
P9: Safety margin: Distance between the tool tip and the diameter X0. By default 0.2 mm at radius)
This value can be increased if the last thread is not good. In this case the calculation point during
tool exit will be longer in the X direction and the last thread will be complete.

Attention!
If exit is at 45°, there is a risk of collision with a face if the value of P9 is too high.

P10: Physical limit at the start of threading: Not used, has no influence in the macro.
By default P10 = 2 x P0.
P11: Physical limit at the end of threading: Not used, has no influence in the macro.
P12: Number of blank strokes: The number of blank strokes is calculated as follows by default:
diameter X0 + 0.5, the integer without decimal point is used.
For example for an M6 threading: 6 + 0.5 = 6.5, integer = 6 blank strokes.

Note!
The parameters P12 to P14 set a number of strokes to perform during chase threading.
The programmed number of strokes is a guideline value. It is likely that during chase threading on
the machine the sum of strokes actually performed will vary by a bit (± 1 stroke) compared to the
programming. Due to certain factors, like reaching the encoder signal which occurs with each
stroke, it is impossible to guarantee a number of exact strokes during the calculation of G933.

P15: Max. physical limit: Distance between the diameter P1, and a physical barrier in the X axis
direction for example in the case of internal threading, the hole diameter. The return is performed
in circle arc.
By default, P15 = 5 mm + P6 + P9. The parameter P15 is used in the cycle to calculate (by default)
the radius of the return trajectory. (TB-DECO version 4.0)
By default, P15 = (threading length/2) - 0.1) + P6 + P9. The parameter P15 is used in the cycle to
calculate (by default) the ideal radius of the return trajectory. (Since TB-DECO version 4.1)
P16: Speed factor: This factor is used to reduce the speed during return in tool emptying. By default
this parameter is 1, and if violent knocking is noted on the machine during chase threading, it is
possible to decrease the feed by entering, for example, 0.5 in P16. Minimum setting 1, maximum
setting 0.1.

298392_en - 11/17
7-19
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Note!
The default values are converted into inches when programming in inches.
Description of the information FC 1045: “High rotation speed. Trajectory modified! Careful of
internal chase threading!” This information occurs with interpretation of Macro G933 when the
thread is composed of a small thread height (P6), of a fairly large pitch (P0) and a high rotation
speed. In this case the trajectory calculated by G933 results in segments which are too short and
impossible for the machine too perform. If the FC 1045 information is conformed, G933 lengthens
certain segments in order to obtain a trajectory which is compatible for the system. During
internal chase threading this modification of the trajectory may cause a collision of the tool with
the material. In this case, decrease the rotation speed until information FC 1045 disappears.

Programming
The threading cycle G933 can be programmed as follows:
Example for threading M5, Ig. 12
M1103 S1900
G1 Z11=2 G100
G1 X11=8 G100
M150
G933 P0=0.8 P1=5 P2=2 P3=-12 P5=0 P12=5 P13=0 P14=2 P15=10
M151
G1 X11=20 G100

Attention!
The spindle speed must be programmed in the operation where G933 is found.
M150 ensures that threading is done well with OVERRIDE of the enabled spindle at that time.

Break down of blank and finishing strokes


Rule: The cycle G933 manages the strokes as follows:
- Blank strokes are calculated to obtain a constant chip volume (above all for 60 threading).
- Finishing strokes are calculated to obtain a constant stroke height.

3 possibilities are offered: (example with 8 total strokes)


a) Normal case: P12=5 P13=3
- 5 blank strokes, 3 finishing strokes.
- In this case, the 5 blank strokes are in constant volume, and the 3 finishing strokes at constant
height of the remaining distance.

b) Only blank: P12=8 P13=0


- 8 blank strokes, 0 finishing stroke
- In this case, the 8 strokes are in constant volume.

c) Only finishing: P12=0 P13=8


- 0 blank strokes, 8 finishing strokes
- In this case, the 8 strokes are in constant height (for example: medical or special profile threading).

298392_en - 11/17
7-20
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7.23. Macro G942: Long part machining


Description:
- Macro for long part machining, in numerous feeds.
- Calculation of the zero offset to be performed for following feeding according to parameters P1-P6.
- Calculation of the different <MC> positions for retention (in X and in Z).
- Test if the spindle stroke is correctly defined for the following feeding.

This function is used in the MAIN program of TB-Deco models for long parts. It checks whether the
model used is really a long part model.
Parameters P2 to P6 can only be programmed from the 2nd feed.
Parameters P4 to P6 can only be programmed in the model with feeding using jaws. They are not
accepted in the model with feeding using the counter-spindle.

Parameter Option Comments


P1 no New part length being machined after feeding. [mm; inch].
P2 no Position <PR> of the Z axis for retention of the bar (negative value)
[mm; inch].
P3 yes Intermediate barfeeder surplus [mm; inch]. By default = 0.
P4 yes Number of mainwork gang 1 tool for retention of the bar. By default, 1101.
P5 yes Number of mainwork gang 2 tool for retention of the bar. By default, 1201.
P6 yes Bar retention diameter. [mm; inch]. By default = #3001.

P1: This parameter is compulsory. It contains the new part length being machined after feeding.
Positive value measured from part zero [mm/inch].
During the last feed, the value of the parameter must be equal to the length of the part defined in
variable #3003.
P2: This parameter is compulsory, starting from the 2nd feed. It cannot be programmed for the 1st
feed. It determines the position in Z at which the bar will be retained. Position in Z from part zero in
absolute programming mode (negative value) [mm/inch].
P3: This parameter is optional. Barfeeder surplus necessary for an offset tool. This parameter is only
used for intermediate feeds. For the first and last feed, variable #3004 is taken into consideration
[mm/inch].
P4: This parameter is optional. By default it is tool T1101. Only valid with the barfeeding model with jaws.
P5: This parameter is optional. By default it is tool T1201. Only valid with the barfeeding model with jaws.
P6: This parameter is optional. Retention diameter. The default value is 0 and it corresponds to the
bar diameter. It is important to enter the exact retention diameter [mm/inch]. Only valid with the
barfeeding model with jaws.

7.24. Macro G943: Complement to function G942


Description
- Stores the machine position of Z11.
- Activates the barfeeder thrust if it is an SBFi.
This function is used in the MAIN program of TB-Deco models for long parts.

298392_en - 11/17
7-21
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.25. Macro G957: Milling of inclined pins


Description
Milling macro for inclined pins. The inclined cutter describes an ellipse on 360° in the X-Y plane by
following the inclination of this plane in Z.
G957 replaces function G956 (TB-DECO V6).
Example
3D image of a dental implant (inclined) cut in backwork.

Use
After positioning of the tool at the starting point, to program macro G957 with its different
parameters. The macro forces a selection of plane G85.

Note
- This function is only valid for machines equipped with the CNC option.
- The macro uses 8 parameters from P1 to P11.
- Parameters P1 to P5 are mandatory. If any one of them is not specified within the command line,
an alarm appears.
- Parameters P6 to P8 are optional. If any one of them is not specified within the command line, a
default setting is used in the macro.

Parameter Optional Default Comments


(Not mandatory) setting
P1 no - Feed speed [mm/min] [inch/min].
P2 no - Ellipse radius in X « b » [mm] [inch].
P3 no - Ellipse radius in Y « a » [mm] [inch].
P4 no - Plane inclination angle « ? » [degrees].
P5 no - Starting position in Z [mm] [inch].
P6 yes 1 Machining direction [+1] [-1].
P7 yes 0 Poor rounding correction [mm] [inch].
P8 yes 30 Number of points on the ellipse.
P9 - Not used.
P10 - Not used.
P11 yes 0 Work plane setting [0]=ZY, [1]=ZX.

Caution!
The parameters P2 and P3 set the dimension of the 2 ellipse axes, in the plane set by the parameter P4,
that for the path of the centre of the cutter. P2 for the X axis and P3 for the Y axis. These 2 values can
only be obtained by CAO, by drawing the cutter in the extreme positions in X and Y. It is impossible to
find these 2 values without the aid of drawing software (CAO).
The same is true for the parameter P4, the plane inclination angle can only be determined by CAO.

298392_en - 11/17
7-22
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Detailed description of parameters


P1 Feed speed :
Mandatory parameter. Feed speed on the ellipse describing the path of the tool centre.
P2 Ellipse radius in X:
Mandatory parameter. See the example below.
P3 Ellipse radius in Y:
Mandatory parameter. See the example below.
P4 Inclination ? :
Mandatory parameter. The positions in Z will be corrected according to the X-Y positions. If P4=0,
no movement on the Z axis. This angle of inclination must be determined graphically on the Z-Y
plane (see example). The positive or negative sign must be calculated:
- When setting up after machining the first part.
- By checking the list of generated ISO codes (see the example) if the position of axis Z corresponds
to the setting found by the drawing, for the 4 ellipse apogees.
P5 Starting position in Z:
Mandatory parameter. Position of the axis Z when axis Y is in position 0 (centre of the ellipse).
P6 Machining direction:
By default = +1. If using a cutter on the right, program P6=-1 and if the milling is done downstream.
P7 Poor rounding correction:
Optional parameter, by default = 0. Allows minor form errors to be corrected. This value will be
subtracted from the radius in X and added to the rayon in Y before the position calculations.
P8 Number of points :
Optional parameter, by default = 30. Number of points set on the ellipse circumference. By
increasing this number of points, the straight segments which describe the ellipse and the
machined form become closer to the ideal curve. In practice a setting of 120 points is a good
starting base.
P11 Work plane setting :
Based on the layout of the cutting equipment on the machine the parameter P11 is used to select the
work plane. If P11=0 the work plane is Z-Y, if P11=1 the work plane is Z-X. See the diagrams below :

298392_en - 11/17
7-23
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Sample Programming
The example described below was carried out on a DECO 13a machine, with backwork cutting of
the implant.
Part image in 3D :

Machining principal
In the 2 views below, it is possible to see the inclined cone of the implant and the position of the
cutter in the 2 ends. This is for the plane Z-Y (positions 12h and 6h) and X-Y (positions 9h and 3h).

Note!
The two views must be obtained on CAD in order to find the settings of the different parameters
to enter in the macro!

View of plane Z-Y.


This view represents the part and the cutting equipment when the user is facing the machine.

View of plane X-Y. This view represents the part and the cutting equipment viewed from the
interior of the counter-spindle (left side of the machine).

The following parameters must be entered in the macro G957:


P2 : 4.758, P3: 4.954, P4: -1.147, P5: -6.577
ISO Code according to the above example:
G1 Z41=-6.577 X41=12 Y41=-1 G100 T2413
G1 X41=10 F0.01
G957 P1=80 P2=4.758 P3=4.954 P4=-1.147 P5=-6.577 P6=1 P8=30 P11=0
G1 Z41=10

298392_en - 11/17
7-24
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7.26. Macro G960: Milling of inclined threads


Description
Macro for thread milling on an inclined axis, for thread whirling or milling threads.

Use
After positioning of the tool at the starting point, to program macro G960 with its different parameters.
The starting point is always situated outside of the part, and even if the machining is done from the
interior to the exterior, the movement at the hole bottom is generated by the macro.
Note
- This function is only valid for machines equipped with the CNC option.
- The macro uses 7 parameters from P1 to P7.
- Parameters P1 to P5 are mandatory. If any one of them is not specified within the command line,
an alarm appears.
- Parameters P6 and P7 are optional. If they are not specified within the command line, a default
value is used in the macro.

Parameter Optional Default Comments


(Not mandatory) setting
P1 no - Machining angle in the X-Z plane [degrees].
P2 no - Radius of the described circle [mm] [inch].
P3 no - Threading pitch = feed per revolution [mm]
[inch].
P4 no - Number of circles of radius P2 to perform.
P5 no - Tool peripheral speed [r/min].
P6 yes 8 Number of points described by the circle.
P7 yes 0 Work plane (0=ZX, 1=ZY).

Detailed description of parameters


P1 Machining angle in the X-Z or Y-Z plane:
Settings from 0 to 90° allowed. If value 0, machining in plane Z or Y (milling of the thread in the part
axis). If value 90, machining in plane X (milling of the thread perpendicular to the part axis) See
diagrams below:
Exception: on EvoDECO 20/32, in backwork (T2411-T2413), P1 must be entered as a negative value
when using macro G960. As axis X41 is “inverted” on these machines.

298392_en - 11/17
7-25
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

P2 Radius of the described circle:


The circle radius which must describe the tool in order to mill the thread by interpolation of the
3 axes X, Y and Z is determined by the following calculation: (Exterior diameter of the thread –
milling/thread whirling tool diameter) / 2. This parameter in association with P3 is used to generate
a thread to the right or left. See the table below:
P2 P3 Machining type
+ + Thread to the right, from the interior towards exterior of the hole
+ - Thread to the left, from the exterior towards the interior of the hole
- + Thread to the left, from the interior towards the exterior of the hole
- - Thread to the right, from the exterior towards the interior of the hole

P3 Threading pitch:
Positive value: the tool positions in G100 at the bottom of the hole and machining is by removal.
Negative value: the tool positions outside the material, machining is done by penetrating the hole
and the output is carried out in G100.
P4 Number of circles of radius ‘P2’ to describe:
The threading length will be determined by the setting of P4 multiplied by the threading pitch P3. If
using a thread milling cutter, one revolution is generally sufficient, therefore P4=1.
For thread whirling the length of the thread must be divided by the pitch. The parameter always
needs to be an integer.
P5 Tool peripheral speed in turn per minute:
Minimum setting 1, maximum setting 900.
Approximate setting in rpm of movement of the tool during X, Y and Z interpolation.
P6 Number of points on the circumference:
Default value = 8. Minimum setting 8, maximum setting 360.
Number of points set on the ellipse circumference. By increasing this number of points, the straight
segments which describe the ellipse and the machined form become closer to the ideal curve.
Conversely, a too low number of points will cause significant faces on the thread which will not be
functional. Based on various tests, a setting of 30 points is a good starting base.
P7 Work plane:
By default = 0. (0= plane XZ, 1= plane Y-Z).
The parameter P7 is used to set the work plane based on the tool position. This plane is parallel to
the tool movement axis.

Note!
In the operation containing macro G960, the main axis 1 (Master1) must always be the Z axis.
If P7=0, the main axis 2 (Master2) will be the X axis and if P7=1 the main axis 2 (Master2) will be the
Y axis.
P7 = 0, so Master1 = Z, and Master2 = X
P7 = 1, so Master1 = Z, and Master2 = Y

298392_en - 11/17
7-26
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Sample Programming
The example described below was carried out on Deco 20, in backwork with inclined drilling in
position T2411 and thread whirling in T2413.

Part drawing:

298392_en - 11/17
7-27
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Detail of the hole:

Representation of the tool viewed from the drawing to calculate parameter P2:

The above diagram represents the thread whirling tool positioned in the hole. The radius (P2) is
determined according to the formula (exterior diameter of the thread – milling/thread whirling
tool diameter) / 2, i.e. ( 2 – 1.4) /2 = 0.3
ISO Code of the inclined thread whirling operation, M2x0.4, depth 2.5 :
G1 Z41=-3.647 G100
G1 X41=-7.366 G100
G960 P1=-60 P2=0.3 P3=0.4 P4=8 P5=30 P6=30, P7=0
G4 X.5
G1 X41=-12 G100
G1 Z41=40 G100

298392_en - 11/17
7-28
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Detail of simulation on SIM DECO:

This graphic representation shows the position of the axes X41 and Z41 where it is possible to clearly
see the 8 interpolated circles programmed in P4.

Note!
Macro G960 can also be used for inclined drilling, to avoid calculating the tool trajectory on
plane X-Z. It is sufficient to program a null value in parameter P2, and a value of -1 in parameter
P3. The depth is entered in the parameter P4.

Example of the ISO code for inclined drilling in the previous example:
M4204 S6000 (DRILLING LENGTH 4 mm)
G1 Z41=-3.647 G100
G1 X41=-7.366 G100
G960 P1=-60 P2=0 P3=-1 P4=4 P5=200 P7=0
G1 X41=-12 G100

298392_en - 11/17
7-29
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.27. Cycle G962 (Hexalobe)


Description
Milling macro for internal six lobe print for screw.
The six lobe screw print is milled by a HF spindle or a turning tool, i.e. with the transmit function [X and C]
or in milling [X and Y]. The depth of the print must be able to be machined with a helical plunge.
The main advantages are:
- Simplifying programming by offering the customer a cycle with settable parameters and a wizard.
- Having a linear movement on the plunge in Z.
- Obtaining a better quality surface finish.
- Providing a simple user solution for standard sizes in relation to the ISO standards.
- Machining according to planes X-C(Z) in transmit mode or X-Y(Z) in milling mode G17.
Use
The choice of machining mode is made according to the operation axes. If the main axis 1 is X
and the main axis 2 is C, then the machining of the internal six lobe screw print is performed
through the transmit function. On the other hand, if the main axis 2 is Y, then the machining is
performed by conventional milling (G17).
Only three parameters need to be entered to make the cycle operate (variant A) in standard
configuration.
- Print no. according to ISO 10664 standard.
- Print depth.
- Machining feed.
The cycle is configured with a helical plunge by default.
Other optional parameters may be entered to change the behaviour of the macro. The macro
can be used on mainwork gangs 1&2, on the frontwork attachment and in backwork.
Syntax
G962 P1=_ P2=_ P3=_ P11=_ P14=_ P16=_
Or
G962 P2=_ P3=_ P4=_ P5=_ P6=_ P7=_ P8=_ P11=_ P14=_ P16=_
Parameter User variant Default Comments (1)
setting
A B
P1 ● X HEXALOBE print no.
P2 ● ● Print depth
P3 ● ● Milling feed / Feed on internal segment if
used with P5
P4 X ○ 6 Number of lobes
P5 X ● Limited print diameter
P6 X ● Inscribed print diameter
P7 X ● External print radius
P8 X ● Internal print radius
P9 Not available
P10 Not available
P11 ○ ○ 0.5 Helical plunge depth
P12 Not available
P13 Not available
P14 ○ ○ 1 Number of empty strokes
P15 Not available
P16 ○ ○ P3 External segment feed
(1) Parameter:
● = compulsory, ○ = optional, X = forbidden,
P9, P10, P12, P13 et P15 = not available.

298392_en - 11/17
7-30
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Detailed description of parameters


Below is a list of the parameters necessary for the macro and those that can be entered to change
its behaviour.
P1 = Hexalobe print no.
The print number refers to the ISO 10664 standard. To perform a hexalobe no.20, you need to enter
the parameter
P1=20.
This parameter must not be used if you have programmed parameter P5. You cannot use it at the
same time as parameter P5.
P2 = Print depth
The depth of the print indicates the machining length. This value must be negative.
This parameter is compulsory.
P3 = Milling feed
The milling feed is the feed during machining of the hexalobe. If the value is less than or equal to 1,
the machining is done in G95 [mm/rev], if the value is greater than or equal to 2, the machining is
done in G94 [mm/min].
This parameter is compulsory, if parameter P16 is used at the same time, P3 becomes “Internal
segment feed”.
P4 = Number of lobes
The number of lobes is the number of external radii of the print.
E.g.: the image below has 6 lobes.

Parameter P4 has a default value of 6.


P6 = Inscribed print diameter
The inscribed diameter is the circle that connects all the high points of the internal X radii of the print.
See diagram below
This parameter is optional. You cannot use it at the same time as parameter P1.
P 7 = External print radius
The external radius is the small radius. See diagram below
This parameter is optional. You cannot use it at the same time as parameter P1.
P8 = Internal print radius
The internal radius is the large radius. See diagram below
This parameter is optional. You cannot use it at the same time as parameter P1.
P11 = Helical plunge depth
The depth of the helical plunge is the value of the movement along Z per print revolution.
This parameter has a default value of 0.5.
P14 = Number of empty strokes
The number of empty strokes is the number of print revolutions, performed at the final depth in Z.
This parameter has a default value of 1.

298392_en - 11/17
7-31
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

P16 = External segment feed


The feed on the external segment is the feed during machining of the external radii of the hexalobe.
If the value is less than or equal to 1, the machining is done in G95 [mm/rev], if the value is greater
than or equal to 2, the machining is done in G94 [mm/min].
This parameter has a default value equal to parameter P3

Sample Programming
Here is an extract of code (variant A) for performing machining:
- Standard machining:
G1 G100 Z41=2 M4203 S8000 (Machining start position + Tool start at 8000 rpm)
G962 P1=20 P2=-4 P3=800 (Hexalobe machining cycle)

- Machining with positioning of spindle at 30°:


M4105 (Stop spindle S4)
M4119 Q30 (Positioning of spindle at 30°)
G4 X0.2 (Dwell for positioning)
G1 G100 Z41=2 M4203 S8000 (Machining start position + Tool start at 8000 rpm)
G962 P1=20 P2=-4 P3=800 (Hexalobe machining cycle)

7.28. Cycle G963: for internal hex milling


Description
Macro for internal hex milling with a micro mill.
The hex screw print is milled by a HF spindle or a turning tool, i.e. with the transmit function [X and
C] or in milling [X and Y]. The depth of the print is machined with a helical plunge.
The main advantages are:
- Simplifying programming by offering the customer a cycle with settable parameters and a wizard.
- Having a linear movement on the plunge in Z.
- Obtaining a better quality surface finish.
- Machining according to planes X-C(Z) in transmit mode or X-Y(Z) in milling mode G17.
Use
The choice of machining mode is made according to the operation axes. If the main axis 1 is X
and the main axis 2 is C, then the machining of the hex screw print is performed through the
transmit function. On the other hand, if the main axis 2 is Y, then the machining is performed by
conventional milling (G17).
Only four parameters need to be entered to make the cycle operate in standard configuration.
- Limited print diameter.
- Print depth.
- Machining start in Z.
- Machining feed.
The cycle is configured with a helical plunge in Z by default.
Other optional parameters may be entered to change the behaviour of the macro. The macro
can be used on mainwork gangs 1&2, on the frontwork attachment and in backwork.
The function does not include hollowing out.

298392_en - 11/17
7-32
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

The number of blanking steps is defined according to the depth of the print (P2) and the depth of
the plunge per spindle revolution (P5).
There is only one finishing step.
The number of empty steps is determined by parameter P8.

If the spindle is already oriented at the cycle start, keep the same orientation for hex milling.
Otherwise, stop the spindle and orient it at 0 degrees.
If the spindle turns at cycle start it will be restarted automatically at the end of milling.
Macro parameters

Parameter Option Default Comments


setting
P1 yes - limited print diameter [mm][inch]
• (Compulsory if P10 not programmed).
P2 no - Print depth in P3 [mm][inch]
P3 no - Start milling in Z, from part zero [mm] [inch]
P4 no - Machining feed [mm/min, inch/min ]
P5 yes 0.5 mm Depth of the plunge by spindle turn
[mm] [inch]
P6 yes 0.05 mm Depth of the finishing stroke at the radius
[mm] [inch]
P7 yes 0.05 mm Depth of the finishing stroke in Z [mm] [inch]
P8 yes 1 Number of empty strokes
P9 yes 0 Dwell at segment end for finishing stroke
and empty strokes [Sec.]
P10 yes - Dimension on flats [mm] [inch]
• (If P10 is programmed, P1 is ignored).

298392_en - 11/17
7-33
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Cycle behaviour
In the part you will see how the cycle is performed in standard mode.
Before programming your cycle in operation, you must first start the rotation of the machining tool.
Then, you can enter your cycle. It is not necessary to stop your spindle and position it, the cycle
does this for you. Nevertheless, if you wish to start machining at 30° instead of at 0°, only in milling
mode, you must program the spindle stop and position it at 20° before the cycle.

Once the cycle has started, there are numerous steps before machining the shape.

1. Test if the necessary axes have been selected. Be careful as the choice of axes determines the
type of machining.
- Machining in transmit mode:
Main axis 1 = " X "
Main axis 2 = " X "
Slave Axis = " Z "

- Machining in milling mode:


Main axis 1 = " X "
Main axis 2 = " Y "
Slave Axis = " Z "
2. Stop the spindle being used for machining unless already stopped.
3. Switch to linked contouring mode (G191).
4. Positioning in Mxx19 Q0 if the operator hasn’t programmed anything before, or activation of
transmit mode.
5. The tool is positioned in X / C or X / Y at 0.
6. Correction of the starting value in Z for being able to perform a rounded number of prints.
7. Traverse in G42 with radius.
8. Machining the print according to the parameters entered.
9. Un-traverse and cancellation of the cutter radius correction in G40 at the centre of the part.
10. Clearance of the Z axis at the value
programmed before the macro.
11. Cancellation of spindle positioning mode or cancellation of transmit mode.
12. Resetting the active spindle speed before the start of the macro.
13. Activate of exact stop mode (G190).

Sample Programming
Here is an extract of code for performing machining:
- Standard machining:
G1 G100 Z41=2 M4203 S8000 (Machining start position + Tool start at 8000 rpm)
G963 P1=10 P2=8 P3=0 P4=100 (Hex screw machining cycle)
- Machining with positioning of spindle at 30°
M4105 (Stop spindle S41)
M4119 Q30 (Positioning of spindle at 30°)
G4 X0.2 (Dwell for positioning)
G1 G100 Z41=2 M4203 S8000 (Machining start position + Tool start at 8000 rpm)
G963 P1=10 P2=8 P3=0 P4=100 (Hex screw machining cycle).

298392_en - 11/17
7-34
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7.29. Cycle G977 : Drilling with deburring


Used to decrease the chip length for materials which are difficult to machine, with forward and
backward movements.
Parameter Option Default Comments
setting
P1 no - Drill bit diameter [mm] [inch]
P2 no - Drilling start [mm] [inch]
P3 no - Drilling end [mm] [inch]
P4 yes 1 (0.04 inch) Deburring distance [mm] [inch]
P5 yes 0.2 Margin during rapid traverse [mm] [inch]
(0.008 inch)
P6 yes 5 Number of times the Ø for the first drilling.
P7 yes 3 Number of times the Ø for the second drilling
P8 yes 3 Number of sequential strokes
P9 yes 0.01 x dia. Drilling feed [mm/rev] [inch/rev] or
[mm/min] [inch/min]
P10 yes Drill bit at 120° Height of the drill bit tip
P11 yes 0 Centring feed [mm/rev] [inch/rev] or
[mm/min] [inch/min]
P12 yes 0 Drill bit outlet feed [mm/rev] [inch/rev] or
[mm/min] [inch/min]
P13 yes 0 Drilling type:
0 = longitudinal, 1 = cross
P14 yes 0 Dwell at the end of drilling [s]
P15 yes 0 Drill bit retract feed after deburring [mm/
rev] [inch/rev] or [mm/min] [inch/min]

Fig. 3

Fig. 4

298392_en - 11/17
7-35
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Note!
At the end of the cycle, the drill bit returns to the end of deburring position, as shown on Fig. 4.
After deburring, the drill bit returns to the last position reached minus the value of parameter P5.
The feed per revolution (G95) or feed per minute (G94) must be selected before calling the cycle.
The default drilling feed P9 is always defined in [mm/rev] or [Inch/rev].

Description of Parameters
P6: Number of times the ø for the first drilling:
The parameter F is used to program a distance for the first drilling, equivalent to the ø of the bit
multiplied by the parameter P6. By default the distance performed during the first drilling is 5 times
the drill bit Ø.
P7: Number of times the ø for the second drilling:
The same as P6, but for the second drilling. By default the distance performed during the second
drilling is 3 times the drill bit Ø.
P8: Number of sequential strokes:
When the parameter P8 is specified, the cycle uses a mathematical formula which determines the
various drilling depths in a sequential manner for each stroke. The values given to the parameters
P6 and P7 (first and second drilling) influence the sequence of the tool in the material. When all the
strokes defined in parameter P8 have been carried out, all the following ones are executed with a
sequence equal to parameter P1 (bit diameter), until the final depth (P3).
P9: Drilling feed:
The drilling feed by default is calculated as follows: Ø of the drill bit multiplied by 0.01.
P10: Height of the drill bit tip:
The parameters P10 contains a distance used when the centring operation is carried out with the
bit. In this case the centring feed considered will be that contained in parameter P11. By default a
drill bit at 120° is considered where the height of the tip is equal to 0.288 multiplied by the ø of the
drill bit.
P11: Centring feed:
Feed during centring, according to the distance set in parameter P10. If P11=0, there is no
centring. By default P11=0.
P12: Drill bit outlet feed:
It is possible to give a feed for the bit retraction, to prevent deleting the hole. Then the cycle
deburrs in G1 with P12=F (feed). If P12=0, the drill bit retraction is in fast speed (G100). By default
P12=0.
P15: Feed of drill bit return after deburring:
For delicate drilling, it is possible to give a feed for the return of the drill bit in the hole which has just
been deburred. The cycle effects the return movement in the hole in G1 with P15=F (feed). If
P15=0, the drill bit return is in fast speed (G100). By default P15=0.

298392_en - 11/17
7-36
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Breakdown of strokes
1. Use of default parameters:
- P6=5, P7=3
- The first stroke is performed a distance 5 times the drill bit diameter.
- the second three times the drill bit parameter.
- the next strokes 1 time the drill bit diameter until the final depth.

G977: by default
P6=5, P7=3
Drilling distance

Stroke number

2. Sequential distance of strokes programmed by P8:


- P6=5, P7=3.5, P8=6
- 6 sequential strokes are performed.
- The first two strokes are within the stroke number set in parameter P8.
- The progression of the first and second strike is set by the parameters P6 and P7. If they are changed,
the curve will be changed.

G977: sequential distance


P6=5, P7=3.5, P8=6
Drilling distance

Stroke number

298392_en - 11/17
7-37
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

3. Sequential linear distance:


- P6=5, P7=4.5, P8=9
- With each stroke, the difference of distance covered in relation to the previous stroke will be identical,
until the drilling distance is equal to the parameter P1.
-
G977: linear sequential distance
P6=5, P7=4.5, P8=9
Drilling distance

Stroke number

4. Constant stroke distance:


- P6=3, P7=3
- To carry out a constant distance for each drilling the parameters P6 and P7 must be equal and the
parameter P8 must be omitted.
G977: constant distance
P6=5, P7=3
Drilling distance

Stroke number

Example
G1 G100 Z31=3 X31=0 T1302 D0
G977 P1=3 P2=0 P3=-15 P4=3 P5=0.5 P6=1.5 P7=1.5 P9=0.05
G1 G100 Z31=3

298392_en - 11/17
7-38
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

7.30. Cycle G978: Threading with tool


Description
This function is used to implement repeated, simple or multiple, threading cycles. It is in addition to
the G933 function.
Parameter Optional Default Comments
setting
P1 no - Threading pitch (NEGATIVE for internal
threading) [mm] [inch]
P2 no - Threading start in X [mm] [inch]
P3 no - Threading start in Z [mm] [inch]
P4 no - Threading end in Z [mm] [inch]
P5 yes P2 Threading end in X [mm] [inch]
P6 yes 60 Threading tool angle [°]
P7 yes According to Thread height (depth) [mm] [inch]
ISO standard
P8 yes 45 Exit angle at the end of threading [°].
P9 yes 0.2 Safety margin [mm] [inch]
P10 yes Integer value Number of blank strokes.
of P2
P11 yes 0.2 Height of the first blank stroke [mm] [inch]
P12 yes 1 Number of finishing strokes
P13 yes 0.05 Height of the finishing strokes [mm] [inch]
P14 yes 1 Number of empty strokes
P15 yes 2 Insertion angle in the thread. Measured
from the thread edge
P16 yes 80 Feed speed reduction F for the return
segment to the starting point [%]
P17 yes 90 Entry angle at the start of 90° threading,
except for special cases.
P18 yes 0 Threading with front / rear side of the tool.

Diagram of the parameters:

298392_en - 11/17
7-39
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Tool path with fixed insertion (90°) and exit angles (P8).

Note!
In the figures above, the tool is drawn at the starting point (1). The tool path for creating a stroke
is as follows: 1 – 2 – 3 – 4 – 1.
It is not necessary to precisely position the tool at the starting point before calling the cycle, the
program does it in fast feed.
At the end of the cycle, the tool is positioned in fast feed at starting point 1 (figure above).

Description of Parameters
When an optional parameter is not specified, a default setting is used.

P5 Threading end in X: Used to create tapered threading.


By default, P5 = P2, for normal threading (cylindrical)
P6 Threading tool angle: Value between 0 and 180°. Default setting: 60°. If P6 = 0 right penetration
in the thread.
If P6 is different than 0, there is oblique penetration following the thread edge. The oblique
penetration angle is calculated as follows: (P6 / 2) - 2.
Example: For a tool at 60°, the trajectory will be at 28°.
P7 Thread height (depth): The default value will be calculated as follows, in accordance with the
ISO standards: P7= Pitch x (1/(2 x tan30°)) x 5/6 or P7= Pitch x (tan60°/2) x 5/6.
This formula is used to create metric threading at 60° and threading at 55° without entering P7. For
other types of threads, it is advisable to enter the value of P7.
P8 Exit angle at the end of threading: Value between 0 and 90°. Default setting: 45°.
Example: For a right exit with a threading ending in a groove outside the part, enter 90°.
P9 Safety margin : Distance between the tool tip and the threading start diameter P2. Default
setting: 0.2 mm (at the radius).
P10 Number of blank strokes: the default value is calculated as follows: whole value (without
point) of the start diameter P2.
Example: threading M6: P2 = 6, where P10 = 6 blank strokes. The parameter P10 is connected to
the parameter P11, height of the first blank stroke. See below.
P11 Height of the first blank stroke: Default setting = 0.2 mm (at radius). The blank strokes are
broken down in order to obtain an approximately constant volume of chip removal. The height of
the second blank stroke will always be less than the first and then continues for all the subsequent
blank strokes regressively.
P12 Number of finishing strokes: Default setting: 1 finishing stroke.
P13 Height of finishing strokes: Default setting: 0.05 mm (at radius). The finishing strokes are all of an
equal height.
P14 Number of empty strokes: By default, 1 is considered an empty stroke.

298392_en - 11/17
7-40
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

P15 Insertion angle in the thread. Measured from the thread edge: P15 is used to manage the
insertion trajectory of the tool in the thread. Various possibilities are available based on the value
of the parameter. They include:
If P15=0, the tool will exactly follow the edge of the thread based on its angle (P6)

If P15= positive value between 0 and (P6 / 2), the tool will follow the edge of the thread with an
angular offset corresponding to the value of P15 (?). Default setting: 2°.

If P15= P6 / 2, the tool will penetrate in the thread following a trajectory perpendicular to the
threading axis, exactly in the middle of the thread, regardless of the value of ?.

If P15= negative value between 0 and ( – P6 / 2), the tool will make a trajectory alternating
between following one edge then the other.
The angular offset applied on each edge corresponds to the value of P15.

298392_en - 11/17
7-41
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

P16 Feed speed reduction F for the return segment to the starting point: The value is expressed in %.
Min. value = 0, max. value = 100.
By default P16 = 80 %. This parameter can be used to soften the movement when return to the
starting point creates heavy stress for the machine.
P17 Entry angle at the start of threading: Value fixed at 90°, except for special cases.
P18 Threading with front / rear side of the tool: P18 allows the side of the tool with which the material will
be machined to be chosen. In practice, it inverts the machining side of the tool or not. Useful function
for shape threading for example.
- By default P18=0
- If P18=0, then the machining side is the one located on the tool feed side (front side).
- If P18=1, then the machining side is the one located opposite the tool feed side (rear side).

Value and effect of P18 on P15


P15 case P18 Effect on machining
case 1 (P15=0) 0 Unchanged. Machining with front side.
case 2 (P15=0 to (P6/2)) 0 Unchanged. Machining with front side.
case 3 (P15=0) 0 Unchanged. Machining with two sides.
case 4 (P15=0 to - (P6/2)) 0 Unchanged. Machining with front side.
P15 case P18 Effect on machining
case 1 (P15=0) 1 Machining with the opposite side or tool movement
case 2 (P15=0 to (P6/2)) 1 Machining with the opposite side or tool movement
case 3 (P15=P6/2) 1 Unchanged. Machining with two sides.
case 4 (P15=0 to - (P6/2)) Machining start alternated with the opposite side or tool
movement

298392_en - 11/17
7-42
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Use
Break down of blank and finishing strokes

The height  is called "automatic blank stroke". The threading height to be carried out in automatic
blank is calculated with the following formula:  = P7 - P11 - (P12 x P13)
As described above, the height of strokes in area a is created with a formula used to obtain a
constant volume of chip removal.
A check is made to see if the blank height ? exists: If the height of the finishing strokes (P12 x P13)
added to the height of the first blank (P11) is greater than the height of thread P7 an error is
generated.
Complete threading in blank strokes
To implement threading only with blank strokes, just program the parameters P12=0, P13=0, and
only use P10
Example
G978 P1=1.25 P2=8 P3=1 P4=-15 P10=10 P12=0 P13=0
In this case the complete threading height will be implemented using the regression formula. By
default the first stroke will be carried out with a height of 0.2 mm if P11 is not specified. The height
of the following strokes will always be lower and regressive until the total height is created.
Complete threading in finishing strokes
To implement threading only with finishing strokes, just program the parameters P10=0, P11=0, and
only use P12 and P13
Example
G978 P1=1.25 P2=8 P3=1 P4=-15 P10=0 P11=0 P12=20 P13=0.03
In the case the complete threading height will be implemented with strokes with a height
corresponding to the value of the parameter P13. If the number of finishing strokes programmed in
the parameter P12 is not sufficient for obtaining the entire thread height, the cycle automatically
adjusts the value of P12.
Threading in one stroke (deburring)
It is possible the implement the thread height in one stroke, for example to deburr a thread. In this
phase only one finishing stroke is programmed in parameter P12, entering the total thread height
in parameter P13. It is necessary to have P10=0 and P11=0. The parameters P7 and P13 must be
equal, otherwise two strokes will be made. Thus it is advisable to calculate the value of the
parameter P7 according to the formula described in its description.
Example
G978 P1=1.25 P2=8 P3=1 P4=-15 P7=0.902 P10=0 P11=0 P12=1 P13=0.902

298392_en - 11/17
7-43
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

Defining the machining orientation


Cycle G978 is used to create external and internal threading as well as manage the programming
direction of axis X (positive or negative). Based on the sign of the pitch parameter (P1) and the
sign of the parameter for thread start in X (P2) the type of machining and its direction is defined
according to the figure below.
The most common cases are case 1 (external threading) and 2 (internal threading with programming of
a diameter in a positive direction). Based on the tool orientation it is also possible to find case 4 (internal
threading with programming of a diameter in a negative direction).

Tapered threading
To create tapered threading, just program different values in the parameters P2 and P5, based on
the desired taper.
Normal threading is defined horizontally based on cylindrical machining (P2=P5 in X).

For tapered threading, the difference between parameters P2 and P5 defines a slope δ. After
calculation of angle δ, a revolution is carried out around point 1. The thread start coordinates (P3)
and thread end (P4) will then be slightly offset in the direction of Z, due to the rotation (distances
P3’ and P4’).
Conversely, the pitch and distance measured perpendicularly to slope d of the threading (P3 – P4)
are exactly as programmed.
In the figure above the angle ? is equal to 15°. The offsets P3’ and P4’ become minute if a thread
which is not very tapered is created. In this case, it is possible to ignore this longitudinal offset and
adjust the thread start or end in Z with the numerical control wear correctors as needed.

298392_en - 11/17
7-44
Programming manual - EvoDECO 20 & 32 - 7. Macros and cycles

Programming examples
1. Metric external threading M8 x 1.25, L 15 mm
G1 Z11=1 G100 (Positioning of the starting point approximately in Z).
G1 X11=10 G100 (The same in X).
M150

G978 P1=1.25 P2=8 P3=1 (Programming the cycle with the 4 compulsory parameters).
P4=-15

M151
G1 X11=20 G100 (Clearance in X after performing the cycle).

2. Metric external threading M6 x 1. L 8 mm

G1 Z11=1 G100 (Positioning of the starting point approximately in Z).


G1 X11=10 G100 (The same in X).
M150

G978 P1=-1 P2=5 P3=1 P4=-8 (Programming the cycle with the 4 compulsory parameters and
P9=0.05 P9 fixed at 0.05 for minimum clearance).

M151
G1 X11=20 G100 (Clearance in X after performing the cycle).

3. External threading programmed in INCHES, M8 x 1.25. L 15 mm

G1 Z11=0.0393 G100
G1 X11=0.3937 G100
M150

G978 P1=0.04921 P2=0.31496


P3=0.03937 P4=-0.59055

M151
G1 X11=0.7874 G100

298392_en - 11/17
7-45
7. Macros and cycles - Programming manual - EvoDECO 20 & 32

7.31. PELD parameter programming


The PELD language (Programming Extended Language for DECO) is a structured language which
allows you to program parameters containing conditional connection commands as well as
allocation and condition commands.
In addition, you can perform function statements that will contain values that are relevant to
their context.
The specific feature of this language is that it is interpreted directly without any previous compilation.
This implies that each PELD section will be indicated with respect to the pure ISO sections. Each PELD
section will be delimited by the characters “[" for the section start and "]" for the section end. Within
these sections, the syntax and reserved words of the language will have to be respected.
For any information on PELD language, please refer to the HELP pages of TB-DECO according to
the screen shot below.

298392_en - 11/17
7-46
Programming manual - EvoDECO 20 & 32 - 8. Use of the model

8. Use of the model


8.1. Managing an intermediate production stop

8.1.1. Introduction
This document aims to describe how to pause a part counting cycle without disturbing the part
counting function, which remains active.
This method can be applied for example following: production of a batch of 1000 parts and
stopping the production of all 20 parts so as to access the inside of the machine to release the
surplus chips.

8.1.2. Conditions
It is preferable to use the latest TB-DECO part model.
This method must be applied for each TB-DECO part program whose function is to be applied.

8.1.3. Method
8.1.3.1. INIT program
From the model, add operation 1.12 (ISO type):

Add the following ISO CODE:

298392_en - 11/17
8-1
8. Use of the model - Programming manual - EvoDECO 20 & 32

The variables used are:


#500 : Number of cycles before machine stop (value 10: all 10 parts will be stopped)
#501 : Cycle counter

Note!
Other variables # can also be used.

8.1.3.2. Main program


An ISO type operation must be added (example below 1:9) at the end of the part program and it
must be synchronised (constraints) on all the tool systems (setting up constraints is compulsory) :

The operation entered must contain the following ISO code:

<<#501=#501+1;>>
<<IF[#501EQ#500]GOTO5;>>
<<GOTO10;>>
<<N5;>>
<<#501=0;>>
M9
M0
M8
<<N10;>>

In the example above, at the end of the cycle of 10 parts (#500=10) :


1. Coolant spraying is stopped. M9
2. Program is stopped without condition: M0
3. With the Start-cycle button pressed, the coolant spraying M8 restarts.
It is possible to program other functions, such as the stopping the spindles.

298392_en - 11/17
8-2
We keep you turning

Printed in Switzerland – Copyright ©1999-2017

TORNOS SA
Spare parts online
shop
Rue Industrielle 111
CH-2740 Moutier
Phone +41 (0)32 494 44 44
Fax +41 (0)32 494 44 03
tornos.com [email protected]

You might also like