[go: up one dir, main page]

0% found this document useful (0 votes)
198 views504 pages

CAM - Programming Guide - 840D - PG

Uploaded by

OleksQ
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)
198 views504 pages

CAM - Programming Guide - 840D - PG

Uploaded by

OleksQ
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/ 504

Programming Guide 03/2004 Edition

sinumerik
SINUMERIK 840D/840Di/810D
Fundamentals
Fundamental 1
Geometrical Principles

Fundamental 2
Principles of NC
Programming
SINUMERIK 840D/840Di/810D
Positional Data 3
Fundamentals
Programming Motion 4
Commands

Programming Guide
Path Action 5

Frames 6

Feedrate Control and 7


Spindle Motion

Tool Offsets 8

Miscellaneous 9
Functions
Valid for

Control Software Version


Arithmetic Parameters 10
SINUMERIK 840D powerline 7 and Program Jumps
SINUMERIK 840DE powerline (export version) 7
SINUMERIK 840Di 3
SINUMERIK 840DiE (export version) 3 Subprograms and 11
SINUMERIK 810D powerline 7 Repetition of Program
SINUMERIK 810DE powerline (export version) 7
Sections

Tables 12

Appendix A
03.04 Edition
SINUMERIK® Documentation

Printing history

Brief details of this edition and previous editions are listed below.

The status of each edition is shown by the code in the "Remarks" column.

Status code in the "Remarks" column:

A .... New documentation.


B .... Unrevised edition with new order no.
C .... Revised edition with new status.
If factual changes have been made on the page since the last edition, this is indicated by a
new edition coding in the header on that page.

Edition Order No. Remarks


02.95 6FC5298-2AB00-0BP0 A
08.97 6FC5298-4AB00-0BP0 A
12.95 6FC5298-3AB00-0BP0 C
03.96 6FC5298-3AB00-0BP1 C
08.97 6FC5298-4AB00-0BP0 C
12.97 6FC5298-4AB00-0BP1 C
12.98 6FC5298-5AB00-0BP0 C
08.99 6FC5298-5AB00-0BP1 C
04.00 6FC5298-5AB00-0BP2 C
10.00 6FC5298-6AB00-0BP0 C
09.01 6FC5298-6AB00-0BP1 C
11.02 6FC5298-6AB00-0BP2 C
03.04 6FC5298-7AB00-0BP0 C

This manual is included in the documentation available on CD ROM (DOCONCD)


Edition Order No. Remarks
03.04 6FC5298-7CA00-0BG0 C

Trademarks
SIMATIC, SIMATIC HMI, SIMATIC NET, SIROTEC, SINUMERIK and SIMODRIVE are Siemens
trademarks. Other names in this publication might be trademarks whose use by a third party for his own purposes
may violate the rights of the registered holder.
Further information is available on the Internet under: Other functions not described in this documentation might be executable in the
http://www.siemens.com/motioncontrol control. This does not, however, represent an obligation to supply such functions with
a new control or when servicing.

This document has been created using WinWord V 9.0 We have checked that the contents of this document correspond to the hardware
and Designer V 7.0. and software described. Nonetheless, differences might exist and therefore we
The reproduction, transmission or use of this document or its contents is not cannot guarantee that they are completely identical. The information given in this
permitted without express written authority. Offenders will be liable for damages. publication is reviewed at regular intervals and any corrections that might be
All rights, including rights created by patent grant or registration of a utility model necessary are made in the subsequent printings. We welcome suggestions for
or design, are reserved. improvement.

© Siemens AG, 1995-2004. All rights reserved Subject to change without prior notice

Order No. 6FC5298-7AB00-0BP0 Siemens Aktiengesellschaft


Printed in Germany
0 0
03.04 Preface
Structure of the manual

Preface

Organization of documentation
SINUMERIK documentation is organized on three
different levels:
• General Documentation
• User Documentation
• Manufacturer/Service Documentation

Target group
This Manual is intended for machine-tool users. It
provides detailed information that the user requires to
program the 840D/840Di/810D control system.

Standard scope
This Programming Guide describes the functionality
afforded by standard functions. Differences and
additions implemented by the machine-tool
manufacturer are documented by the machine-tool
manufacturer.

More detailed information about other publications


relating to SINUMERIK 840D/840Di/810D and
publications that apply to all SINUMERIK controls (e.g.
Universal Interface, Measuring Cycles...) can be
obtained from your local Siemens branch office.

Other functions not described in this documentation


might be executable in the control. This does not,
however, represent an obligation to supply such
functions with a new control or when servicing.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition v
0 0
Preface 03.04
Structure of the manual

Applicability
This Programming Guide applies to the following
controls:
SINUMERIK 840D powerline 7
SINUMERIK 840DE powerline (export version) 7

SINUMERIK 840Di 3
SINUMERIK 840DiE (export version) 3

SINUMERIK 810D powerline 7


SINUMERIK 810DE powerline (export version) 7
with operator panels OP 010, OP 010C, OP 010S,
OP 12 or OP 15 (PCU 20 or PCU 50)

SINUMERIK 840D powerline


From 09.2001 onwards, improved performance
versions of
• SINUMERIK 840D powerline and
• SINUMERIK 840DE powerline (export version)
will be available. For a list of available powerline
modules, please refer to Section 1.1 of the
hardware description /PHD/.

SINUMERIK 810D powerline


From 12.2001 onwards, improved performance
versions of
• SINUMERIK 810D powerline and
• SINUMERIK 810DE powerline (export version)
will be available. For a list of available powerline
modules, please refer to Section 1.1 of the
hardware description /PHC/.

 Siemens AG, 2004. All rights reserved


vi SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
0 0
03.04 Preface
Structure of the manual

Hotline If you have any queries, please contact the following hotline:
A&D Technical Support Tel.: +49 (0) 180 5050 – 222
Fax: +49 (0) 180 5050 – 223
Email: adsupport@siemens.com

Please send any queries about the documentation (suggestions or


corrections) to the following fax number or email address:
Fax: +49 (0) 0131 98 – 2176
Email: motioncontrol.docu@erlf.siemens.de
Fax form: see feedback sheet at the end of the publication.

Internet address http://www.siemens.com/motioncontrol

Export version
The following functions are not available in the export
version:
Function 810DE 840DE
Five axis machining package − −
Handling transformation package (five axes) − −
Multi-axis interpolation (> four axes) − −
Helical interpolation 2D+6 − −
Synchronized actions, stage 2 − O1)
Measurements, stage 2 − O1)
Adaptive control − O1)
Continuous dressing − O1)
Utilization of compile cycles (OEM) − −
Sag compensation, multi-dimensional − O1)
− Function not available
1) restricted functionality

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition vii
0 0
Preface 03.04
Structure of the manual

Fundamentals
This Programming Guide "Fundamentals" is intended for
use by skilled machine operators with the appropriate
expertise in drilling, milling and turning operations.
Simple programming examples are used to explain the
commands and statements which are also defined
according to DIN 66025.

Advanced
The Programming Guide "Advanced" is intended for
use by technicians with in-depth, comprehensive
programming knowledge. By virtue of a special
programming language, the SINUMERIK
840D/840Di/810D control enables the user to program
complex workpiece programs (e.g. for sculptured
surfaces, channel coordination, ...) and greatly
facilitates the programming of complicated operations.
The commands and statements described in this
Guide are not specific to one particular technology.
They can be applied for a variety of technologies, such
as:
• Grinding
• Cyclical machines (packaging, woodworking)
• Laser power controls

 Siemens AG, 2004. All rights reserved


viii SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
0 0
03.04 Preface
Structure of the manual

Structure of descriptions
All cycles and programming options have been
described according to the same internal structure as far
as this is meaningful and practicable. The various levels
of information have been organized such that you can
selectively access the information you need for the task
in hand.

1. A quick overview
If you look up a rarely used command or the meaning
of a parameter, you can see at a glance how the
function is programmed and find helpful explanations
of the commands and parameters.

This information is always displayed at the top of the


page.

Note:
Due to lack of space, it is not possible to specify all
modes of display offered by the programming
language for individual commands and parameters.
For this reason, the method of programming shown is
the one most commonly used in workshops.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition ix
0 0
Preface 03.04
Structure of the manual

2. Detailed explanations
You will find detailed answers to the following
questions in the theory section:

Why is the command needed?

What does the command do?

How is it programmed and executed?

What do the parameters do?

What else do I need to know?

The theoretical sections are primarily intended as


learning material for the NC entry-level user. You
should work through the manual at least once to get
an idea of the functional scope and capability of your
SINUMERIK control.

3. From theory to practice


The programming examples illustrate how commands
can be applied in practice.

You will find an application example for virtually every


command after the theoretical section.

 Siemens AG, 2004. All rights reserved


x SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
0 0
03.04 Preface
Structure of the manual

Explanation of symbols

Operating sequence

Explanation

Function

Parameter

Programming example

Programming

Additional notes

Cross-references to other documentation or


sections

Notes and warnings

Machine manufacturer (MH n) n= number of the note per section to which


the machine manufacturer can refer

Ordering data option

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition xi
0 0
Preface 03.04
Structure of the manual

Principle

Your SIEMENS 840D/840Di/810D has been


designed and constructed according to
state-of-the-art technology and approved safety
regulations and standards.

Additional equipment

The applications of SIEMENS controls can be expanded


for specific purposes through the addition of special
add-on devices, equipment and expansions supplied by
SIEMENS.

Personnel

Only appropriately trained, authorized and reliable


personnel may be allowed to operate this equipment.
The control must never be operated, even temporarily,
by anyone who is not appropriately skilled or trained.

The relevant responsibilities of personnel who set up,


operate and maintain the equipment must be clearly
defined; the proper fulfillment of these responsibilities
must be monitored.

Behavior

Before the control is started up, it must be ensured that


the Operator's Guides have been read and understood
by the personnel responsible. The operating company is
also responsible for constantly monitoring the overall
technical state of the control (visible faults and damage,
altered service performance).

Servicing

Repairs must be carried out according to the information


supplied in the service and maintenance guide by
personnel who are specially trained and qualified in
the relevant technical subject. All relevant safety
regulations must be followed.

 Siemens AG, 2004. All rights reserved


xii SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
0 0
03.04 Preface
Structure of the manual

Note

The following is deemed to be improper usage and


exempts the manufacturer from any liability:

Any application which does not comply with the rules for
proper usage described above.

If the control is not in technically perfect condition or


is operated without due regard for safety regulations and
accident prevention instructions given in the Instruction
Manual.

If faults that might affect the safety of the equipment are


not rectified before the control is started up.

Any modification, bypassing or disabling of items of


equipment on the control that are required to ensure
fault-free operation, unlimited use and active and
passive safety.

Improper usage gives rise to unforeseen dangers to:


• Life and limb of personnel,
• The control, machine or other assets of the owner
and the user.

The following special symbols and keywords have been


used in this documentation:

Notes
This symbol appears in this documentation whenever it
is necessary to draw your attention to an important item
of information.

In this documentation, you will find this symbol with a


reference to an ordering option. The function described
is executable only if the control contains the designated
option.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition xiii
0 0
Preface 03.04
Structure of the manual

Warnings
The following warnings with varying degrees of severity
appear in this document.

Danger
Indicates an imminently hazardous situation which, if not
avoided, will result in death or serious injury or in
substantial property damage.

Warning
Indicates a potentially hazardous situation which, if not
avoided, could result in death or serious injury or in
substantial property damage.

Caution
Used with the safety alert symbol indicates a potentially
hazardous situation which, if not avoided, may result in
minor or moderate injury or in property damage.

Caution
Used without safety alert symbol indicates a potentially
hazardous situation which, if not avoided, may result in
property damage.

Notice
Used without the safety alert symbol indicates a
potential situation which, if not avoided, may result in an
undesirable result or state.

 Siemens AG, 2004. All rights reserved


xiv SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
0 0
03.04 Contents

Contents

Fundamental Geometrical Principles 1-21


1.1 Description of workpiece points ................................................................................ 1-22
1.1.1 Workpiece coordinate systems................................................................................. 1-22
1.1.2 Definition of workpiece positions .............................................................................. 1-23
1.1.3 Polar coordinates ...................................................................................................... 1-25
1.1.4 Absolute dimension................................................................................................... 1-26
1.1.5 Incremental dimension.............................................................................................. 1-27
1.1.6 Plane designations.................................................................................................... 1-28

1.2 Position of zero points............................................................................................... 1-29

1.3 Position of coordinate systems ................................................................................. 1-29


1.3.1 Overview of the various coordinate systems ............................................................ 1-29
1.3.2 Machine coordinate systems .................................................................................... 1-31
1.3.3 Basic coordinate system ........................................................................................... 1-33
1.3.4 Workpiece coordinate system................................................................................... 1-34
1.3.5 Frame system ........................................................................................................... 1-34
1.3.6 Assignment of workpiece coordinate system to machine axes ................................ 1-36
1.3.7 Current workpiece coordinate system ...................................................................... 1-36

1.4 Axes .......................................................................................................................... 1-37


1.4.1 Main axes/geometry axes ......................................................................................... 1-38
1.4.2 Special axes.............................................................................................................. 1-39
1.4.3 Main spindle, Master spindle .................................................................................... 1-39
1.4.4 Machine axes ............................................................................................................ 1-39
1.4.5 Channel axes ............................................................................................................ 1-39
1.4.6 Path axes .................................................................................................................. 1-40
1.4.7 Positioning axes........................................................................................................ 1-40
1.4.8 Synchronized axes.................................................................................................... 1-42
1.4.9 Command axes......................................................................................................... 1-42
1.4.10 PLC axes................................................................................................................... 1-42
1.4.11 Link axes (SW 5 and higher) .................................................................................... 1-43
1.4.12 Leading link axes (SW 6 and higher)........................................................................ 1-45

1.5 Coordinate systems and workpiece machining ........................................................ 1-48

Fundamental Principles of NC Programming 2-51


2.1 Structure and content of an NC program.................................................................. 2-52

2.2 Language elements of programming language ........................................................ 2-53

2.3 Programming a sample workpiece ........................................................................... 2-74

2.4 First programming example "milling" ........................................................................ 2-76

2.5 Second programming example "milling" ................................................................... 2-77

2.6 Programming example "turning" .............................................................................. 2-80

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition xv
0 0
Contents 03.04

Positional Data 3-83


3.1 General information...................................................................................................3-84

3.2 Dimensions absolute/relative, G90/G91 ...................................................................3-85


3.2.1 G91 extension (SW 4.3 and later).............................................................................3-88

3.3 Absolute dimensions for rotary axes, DC, ACP, ACN ..............................................3-89

3.4 Dimensions inch/metric, G70/G700, G71/G710 .......................................................3-91

3.5 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA ........................3-94

3.6 Selection of working plane, G17 to G19 ...................................................................3-98

3.7 Programmable working area limitation, G25/G26 ...................................................3-101

3.8 Reference point approach, G74 ..............................................................................3-104

Programming Motion Commands 4-107


4.1 General information.................................................................................................4-108

4.2 Traversing commands with polar coord., G110, G111, G112, AP, RP ..................4-110

4.3 Rapid traverse movement, G0, RTLION, RTLIOF (SW 6.1 and higher) ................4-114

4.4 Linear interpolation, G1...........................................................................................4-118

4.5 Circular interpolation, G2/G3, CIP...........................................................................4-121

4.6 Helical interpolation, G2/G3, TURN ........................................................................4-134

4.7 Involute interpolation, INVCW, INVCCW ................................................................4-136

4.8 Contour definitions ..................................................................................................4-140


4.8.1 Straight line with angle ............................................................................................4-140
4.8.2 Two straight lines ....................................................................................................4-141
4.8.3 Three straight lines..................................................................................................4-142
4.8.4 End point programming with angle .........................................................................4-143

4.9 Thread cutting with constant lead, G33 ..................................................................4-144


4.9.1 Programmable run-in and run-out path (SW 5 and higher) ....................................4-150

4.10 Linear progressive/degressive thread lead change, G34, G35


(SW 5.2 and higher) ................................................................................................4-152

4.11 Rigid tapping, G331, G332......................................................................................4-154

4.12 Tapping with compensating chuck, G63 .................................................................4-156

4.13 Stop with thread cutting, LFOF, LFON, LFTXT, LFWP, LFPOS.............................4-158

4.14 Approaching a fixed point, G75...............................................................................4-162

4.15 Travel to fixed stop, FXS, FXST, FXSW .................................................................4-163

4.16 Special turning functions .........................................................................................4-169


4.16.1 Position of workpiece ..............................................................................................4-169
4.16.2 Dimensions for: Radius, diameter, DIAMON, DIAMOF, DIAM90 ...........................4-170

4.17 Chamfer, rounding ..................................................................................................4-172

 Siemens AG, 2004. All rights reserved


xvi SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
0 0
03.04 Contents

Path Action 5-177


5.1 Exact stop, G60, G9, G601, G602, G603 ............................................................... 5-178

5.2 Continuous-path mode, G64, G641, G642, G643, G644 ....................................... 5-180

5.3 Acceleration pattern, BRISK, SOFT, DRIVE .......................................................... 5-189


5.3.1 Acceleration modes ................................................................................................ 5-189
5.3.2 Control of acceleration for following axes ............................................................... 5-190

5.4 Overview of different velocity controls .................................................................... 5-193

5.5 Smoothing the tool path velocity ............................................................................. 5-194

5.6 Traversing with feedforward control, FFWON, FFWOF ......................................... 5-195

5.7 Programmable contour accuracy, CPRECON, CPRECOF.................................... 5-196

5.8 Dwell time, G4......................................................................................................... 5-197

5.9 Program run: Internal preprocessor stop................................................................ 5-198

Frames 6-199
6.1 General ................................................................................................................... 6-200

6.2 Frame instructions .................................................................................................. 6-201

6.3 Programmable zero offset....................................................................................... 6-203


6.3.1 TRANS, ATRANS ................................................................................................... 6-203
6.3.2 G58, G59. Additive programmable zero offsets (SW 5 and higher) ....................... 6-207

6.4 Programmable rotation, ROT, AROT...................................................................... 6-210

6.5 Programmable frame rot. with solid angles, ROTS, AROTS, CROTS ................... 6-218

6.6 Programmable scale factor, SCALE, ASCALE....................................................... 6-219

6.7 Programmable mirroring, MIRROR, AMIRROR ..................................................... 6-222

6.8 Frame generation acc. to tool orientation, TOFRAME, TOROT, PAROT .............. 6-226

6.9 Deselect FRAME SUPA, DRFOF, CORROF, TRAFOOF ...................................... 6-229

Feedrate Control and Spindle Motion 7-233


7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF .................................................... 7-234

7.2 Traverse positioning axes, POS, POSA, POSP ..................................................... 7-242

7.3 Position-controlled spindle operation, SPCON, SPCOF ........................................ 7-245

7.4 Positioning spindles (position-controlled axis operation): SPOS, M19, SPOSA .... 7-246

7.5 Milling on turned parts: TRANSMIT ........................................................................ 7-252

7.6 Cylinder surface transformation: TRACYL ............................................................. 7-254

7.7 Feedrate for positioning axes/spindles: FA, FPR, FPRAON, FPRAOF ................. 7-255

7.8 Percentage feedrate override, OVR, OVRA ........................................................... 7-258

7.9 Feed with handwheel override. FD, FDA................................................................ 7-259

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition xvii
0 0
Contents 03.04

7.10 Percentage acceleration override: ACC (option) ....................................................7-263

7.11 Feedrate optimization for curved path sections, CFTCP, CFC, CFIN ....................7-265

7.12 Spindle speed S, direction of spindle rotation M3, M4, M5.....................................7-267

7.13 Constant cutting rate, G96, G961, G97, G971, LIMS .............................................7-270

7.14 Constant grinding wheel peripheral speed, GWPSON, GWPSOF.........................7-272

7.15 Constant workpiece speed for centerless grinding, CLGON, CLGOF....................7-275

7.16 Programmable spindle speed limitation, G25, G26 ................................................7-277

7.17 Several feedrates in one block: F.., FMA................................................................7-278

7.18 Non-modal feedrate: FB=... (SW 5.3 and higher) ...................................................7-280

Tool Offsets 8-283


8.1 General information.................................................................................................8-284

8.2 List of tool types ......................................................................................................8-287

8.3 Tool selection/tool call T..........................................................................................8-291


8.3.1 Tool change with M06 (milling) ...............................................................................8-291
8.3.2 Tool change with T commands (turning).................................................................8-293

8.4 Tool offset D ............................................................................................................8-294

8.5 Tool selection T with tool management ..................................................................8-296


8.5.1 Turning machine with circular magazine.................................................................8-296
8.5.2 Milling machine with chain magazine......................................................................8-297

8.6 Tool offset call D with tool management .................................................................8-299


8.6.1 Turning machine with circular magazine.................................................................8-299
8.6.2 Milling machine with chain system ..........................................................................8-300

8.7 Make active tool offset operative immediately ........................................................8-301

8.8 Tool radius compensation, G40, G41, G42 ............................................................8-302

8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT ...................8-309

8.10 Compensation at outside corners, G450, G451 .....................................................8-315

8.11 Smooth approach and retraction G140-G143, G147/G247/G347,


G148/G248/G348 ....................................................................................................8-318
8.11.1 Approach and retraction, G460 and extensions (SW 5 and higher) G461, G462 ..8-326

8.12 Collision monitoring, CDON, CDOF and CDOF2 ...................................................8-330

8.13 2 1/2 D tool offset, CUT2D, CUT2DF......................................................................8-333

8.14 Tool length compens. for orient. tools TCARR, TCOABS, TCOFR ........................8-335

8.15 Grinding-specific tool monitoring in part program TMON, TMOF ...........................8-338

8.16 Additive offsets (SW 5 and higher)..........................................................................8-340


8.16.1 Select offsets (via DL numbers) ..............................................................................8-340
8.16.2 Define wear and setup values.................................................................................8-341

 Siemens AG, 2004. All rights reserved


xviii SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
0 0
03.04 Contents

8.16.3 Delete additive offsets (DELD) ............................................................................... 8-343

8.17 Tool offset – special treatment (SW 5 and higher) ................................................. 8-344
8.17.1 Mirror tool lengths ................................................................................................... 8-345
8.17.2 Sign evaluation wear............................................................................................... 8-345
8.17.3 Define coordinate system for wear values, TOWSTD, TOWMCS/WCS ................ 8-346
8.17.4 Tool length and plane change ................................................................................ 8-349

8.18 Tools with a relevant tool point direction (SW 5 and higher) .................................. 8-352

Miscellaneous Functions 9-355


9.1 Auxiliary function outputs ........................................................................................ 9-356
9.1.1 M functions.............................................................................................................. 9-361
9.1.2 H functions .............................................................................................................. 9-364

Arithmetic Parameters and Program Jumps 10-365


10.1 Arithmetic parameters R ....................................................................................... 10-366

10.2 Unconditional program jumps ............................................................................... 10-369

10.3 Conditional program jumps ................................................................................... 10-371

Subprograms and Repetition of Program Sections 11-373


11.1 Use of subprograms.............................................................................................. 11-374

11.2 Structure of a subprogram .................................................................................... 11-377

11.3 Subprogram with program repetition .................................................................... 11-379

11.4 Program section repetition (SW 4.3 and higher) .................................................. 11-380

Tables 12-389
12.1 List of statements.................................................................................................. 12-390

12.2 List of addresses................................................................................................... 12-406


12.2.1 Address letters ...................................................................................................... 12-406
12.2.2 Fixed addresses.................................................................................................... 12-407
12.2.3 Fixed addresses with axis extension .................................................................... 12-408
12.2.4 Variable addresses ............................................................................................... 12-410

12.3 List of G functions/preparatory functions .............................................................. 12-413

12.4 X axis parallel to tool direction, secondary axis Y, Z ............................................ 12-425


12.4.1 Predefined subprogram calls ................................................................................ 12-426
12.4.2 Predefined subprogram calls in motion-synchronous actions .............................. 12-436
12.4.3 Predefined functions ............................................................................................. 12-437
12.4.4 Data types ............................................................................................................. 12-441

Appendix A-443
A Abbreviations ..........................................................................................................A-444

B Terms ......................................................................................................................A-454

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition xix
0 0
Contents 03.04

C References ............................................................................................................. A-477

D Index.........................................................................................................................I-489

E Commands, identifiers .............................................................................................I-495

 Siemens AG, 2004. All rights reserved


xx SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles

Fundamental Geometrical Principles

1.1 Description of workpiece points ................................................................................ 1-22


1.1.1 Workpiece coordinate systems ................................................................................. 1-22
1.1.2 Definition of workpiece positions............................................................................... 1-23
1.1.3 Polar coordinates ...................................................................................................... 1-25
1.1.4 Absolute dimension................................................................................................... 1-26
1.1.5 Incremental dimension.............................................................................................. 1-27
1.1.6 Plane designations.................................................................................................... 1-28

1.2 Position of zero points............................................................................................... 1-29

1.3 Position of coordinate systems ................................................................................. 1-29


1.3.1 Overview of the various coordinate systems ............................................................ 1-29
1.3.2 Machine coordinate systems .................................................................................... 1-31
1.3.3 Basic coordinate system ........................................................................................... 1-33
1.3.4 Workpiece coordinate system................................................................................... 1-34
1.3.5 Frame system ........................................................................................................... 1-34
1.3.6 Assignment of workpiece coordinate system to machine axes ................................ 1-36
1.3.7 Current workpiece coordinate system ...................................................................... 1-36

1.4 Axes .......................................................................................................................... 1-37


1.4.1 Main axes/geometry axes ......................................................................................... 1-38
1.4.2 Special axes.............................................................................................................. 1-39
1.4.3 Main spindle, Master spindle .................................................................................... 1-39
1.4.4 Machine axes ............................................................................................................ 1-39
1.4.5 Channel axes ............................................................................................................ 1-39
1.4.6 Path axes .................................................................................................................. 1-40
1.4.7 Positioning axes ........................................................................................................ 1-40
1.4.8 Synchronized axes.................................................................................................... 1-42
1.4.9 Command axes ......................................................................................................... 1-42
1.4.10 PLC axes................................................................................................................... 1-42
1.4.11 Link axes (SW 5 and higher)..................................................................................... 1-43
1.4.12 Leading link axes (SW 6 and higher) ........................................................................ 1-45

1.5 Coordinate systems and workpiece machining ........................................................ 1-48

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-21
1 1
Fundamental Geometrical Principles 03.04
1.1 Description of workpiece points

1.1 Description of workpiece points

1.1.1 Workpiece coordinate systems

In order for the machine or control to operate with the Milling:


specified positions, these data must be entered in a
reference system that corresponds to the direction of Z+
motion of the axis slides. A coordinate system with
the axes X, Y and Z is used for this purpose. Y+
X-
DIN 66217 stipulates that machine tools must use
90°
right-handed, rectangular (cartesian) coordinate
systems.
W 90° 90°

The workpiece zero (W) is the origin of the workpiece


Y-
coordinate system. Sometimes it is advisable or even
X+
necessary to work with negative positional data.
Positions to the left of the origin are prefixed by a
negative sign (–). Z-

Turning:

Y+

X+
Z-
90°

W 90° 90°

X-
Z+

Y-

 Siemens AG, 2004. All rights reserved


1-22 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.1 Description of workpiece points

1.1.2 Definition of workpiece positions

To specify a position, imagine that a ruler is placed


Y+
along the coordinate axes. You can now describe
every point in the coordinate system by specifying the P2 50
direction (X, Y and Z) and three numerical values.
The workpiece zero always has the coordinates X0, 100 P1

100
Y0 and Z0.

50
Example: X- X+
For the sake of simplicity, we will only use one plane

75
115
of the coordinate system in this example, i.e. the X/Y
70
plane. Points P1 to P4 then have the following P4
P3 105
coordinates:

P1 corresponds to X100 Y50 Y-


P2 corresponds to X-50 Y100
P3 corresponds to X-105 Y-115
P4 corresponds to X70 Y-75

One plane is sufficient to describe the contour on a


X
turning machine.

P4
Example:

P3 P2
Points P1 to P4 are defined by the following
coordinates:

Ø 60
P1

Ø 40
Ø 25
P1 corresponds to X25 Z-7.5
P2 corresponds to X40 Z-15
7.5 Z
P3 corresponds to X40 Z-25
15
P4 corresponds to X60 Z-35 25
35

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-23
1 1
Fundamental Geometrical Principles 03.04
1.1 Description of workpiece points

Example:
Points P1 and P2 are defined by the following
X+ X+
coordinates:

P1 corresponds to X-20 Y-20 Z23


P2 corresponds to X13 Y-13 Z27 P2
Y+ P2 Z+

13
20
P1 P1
P1
13 23
20 27

The infeed depth must also be described in milling


operations. To do this, we need to specify a Y+ Y+
numerical value for the third coordinate (Z in this
case).
P2
P2
Example:
P1
Points P1 to P3 are defined by the following
60

P1
coordinates:
P3
45

P1 corresponds to X10 Y45 Z-5 P3


20

P2 corresponds to X30 Y60 Z-20 X+ Z+


P3 corresponds to X45 Y20 Z-15
10 5
30 15
45 20

 Siemens AG, 2004. All rights reserved


1-24 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.1 Description of workpiece points

1.1.3 Polar coordinates

The method used to date to specify points in the


Y
coordinate system is known as the "Cartesian
coordinate" method.
P2
P1
However, there is another way to specify
coordinates, i.e. as so-called "polar coordinates".

60
75° 0
The polar coordinate method is useful only if a 10 30°

workpiece or part of a workpiece has radius and


angle measurements. The point on which the Pole
measurements are based is called the "pole".

30
X
Example: 15
The points P1 and P2 can then be described – with
reference to the pole – as follows:
P1 corresponds to radius =100 plus angle =30°
P2 corresponds to radius =60 plus angle =75°

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-25
1 1
Fundamental Geometrical Principles 03.04
1.1 Description of workpiece points

1.1.4 Absolute dimension

With absolute dimensions, all the positional


parameters refer to the currently valid zero point.
Y
Applied to tool movement this means:

The absolute dimensions describe the P2


position to which the tool is to travel.

Example for milling: P1

60
The positional parameters for points P1 to P3 in
P3
absolute dimensions referring to the zero point are

35
the following:

20
P1 corresponds to X20 Y35 X
P2 corresponds to X50 Y60 20
50
P3 corresponds to X70 Y20
70

Example for turning:


The positional parameters for points P1 to P4 in
X
absolute dimensions referring to the zero point are
the following:
P1 corresponds to X25 Z-7.5 P4

P2 corresponds to X40 Z-15


P3 P2
P3 corresponds to X40 Z-25
P4 corresponds to X60 Z-35 P1

Ø 60
Ø 40
Ø 25

7.5 Z
15
25
35

 Siemens AG, 2004. All rights reserved


1-26 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.1 Description of workpiece points

1.1.5 Incremental dimension

Production drawings are frequently encountered,


however, where the dimensions refer not to the
origin, but to another point on the workpiece.

In order to avoid having to convert such dimensions,


it is possible to specify them in incremental
dimensions.

Incremental dimensions refer to the positional data


for the previous point. Applied to tool movement this Y

means:
P2
The incremental dimensions describe the distance
the tool is to travel.

20
P1
Example for milling:

15
The positional data for points P1 to P3 in incremental P3

dimensions are:
20

P1 corresponds to X20 Y35 ;(with reference X


to the zero
20 30 20
point)
P2 corresponds to X30 Y20 ;(with reference
to P1)
P3 corresponds to X20 Y-35 ;(with reference
to P2)

Example for turning:


The positional data for points P1 to P4 in incremental
X
dimensions are:
G90 P1 corresponds to X25 Z-7,5
P4
;(with reference to the zero
point)
P3 P2
G91 P2 corresponds to X15 Z-7.5
;(with reference to P1) P1
Ø 60
Ø 40

G91 P3 corresponds to Z-10


Ø 25

;(with reference to P2)


G91 P4 corresponds to X20 Z-10
Z
;(with reference to P3) 10 10 7.5 7.5

When DIAMOF or DIAM90 is active, the path setpoint


is programmed as a radius dimension with G91.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-27
1 1
Fundamental Geometrical Principles 03.04
1.1 Description of workpiece points

1.1.6 Plane designations

A plane is defined by means of two coordinate axes. Milling:


The third coordinate axis is perpendicular to this
Z
plane and determines the infeed direction of the tool
Y
(e.g. for 2½ D machining). 9
G1
When programming, it is necessary to specify the
working plane in order that the control can calculate G1
the tool offset values correctly. The plane is also
8
relevant to certain types of circular programming and
polar coordinates. G1
7

Turning:

Y
X
7
G1
G1
9

G1
8

The working planes are specified as follows in the NC


program with G17, G18 and G19:

Plane Identifier Infeed direction


X/Y G17 Z
Z/X G18 Y
Y/Z G19 X

 Siemens AG, 2004. All rights reserved


1-28 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.2 Position of zero points

1.2 Position of zero points

The various origins (zero points) and reference


positions are defined on the NC machine. They are X
reference points R
B
• for the machine to approach and
• for programming the workpiece dimensions.
They are: M A W Z
M = Machine zero
A = Limit point. Can coincide with the workpiece
zero (turning machines only)
W = Workpiece zero = Program zero
B = Start point. Can be defined for each
program. The first tool commences machining
at this point. Y

R = Reference point. Position determined by


cams and measuring system. The distance to
machine zero M must be known so that the
axis position at this point can be set exactly to W1 W2
this value.
M X
The diagrams show the zero points and reference
points for turning machines and drilling/milling
machines.

1.3 Position of coordinate systems

1.3.1 Overview of the various coordinate systems

We distinguish between the following coordinate


systems:
• The machine coordinate system with the machine
zero M
• The basic coordinate system (this can also be the
workpiece coordinate system W)
• The workpiece coordinate system with the
workpiece zero W
• The current workpiece coordinate system with the
current offset workpiece zero Wa
In cases where various different machine coordinate
systems are in use (e.g. 5-axis transformation), an
internal transformation function mirrors the machine
kinematics on the coordinate system currently
selected for programming.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-29
1 1
Fundamental Geometrical Principles 03.04
1.3 Position of coordinate systems

The individual axis identifiers are explained in the


subsection headed "Axis types" in this section.

Zw
Zm Za Yw
Ym Ya

W Wa Xa
M
Xm
Xw

Y+

M X+
W

Z+

 Siemens AG, 2004. All rights reserved


1-30 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.3 Position of coordinate systems

1.3.2 Machine coordinate systems

The machine coordinate system comprises all the


physically existing machine axes. Zm Ym

Reference points and tool and pallet changing points


(fixed machine points) are defined in the machine
coordinate system.

Where the machine coordinate system is used for


M
programming (this is possible with some of the G
functions), the physical axes of the machine are
addressed directly. No allowance is made for
workpiece clamping.
Xm

The location of the coordinate system relative to the +Z


machine depends on the machine type. The axis
directions follow the so-called "three-finger rule" of
the right hand (in accordance with DIN 66217). +Y

Standing in front of the machine, the middle finger of


the right hand points away from the infeed direction of
the main spindle. The following then applies:

• The thumb points in the +X direction


• The index finger points in the +Y direction +X

• The middle finger points in the +Z direction

In practice, this can look quite different on different


types of machine. The following are examples of
machine coordinate systems for various machines.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-31
1 1
Fundamental Geometrical Principles 03.04
1.3 Position of coordinate systems

+Z
+Z

-B

-Y

-Y +X
+X

C+
Y+
C- X+
+Z
B+
Z+
B- +A
-A

+X +Y

 Siemens AG, 2004. All rights reserved


1-32 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.3 Position of coordinate systems

1.3.3 Basic coordinate system

The basic coordinate system is a Cartesian Basic coordinate system Workpiece coordinate system
for face end for turning plane
coordinate system, which is mirrored by kinematic
X X
transformation (for example, 5-axis transformation or
by using Transmit with peripheral surfaces) onto the
machine coordinate system.
Y W Z

If there is no kinematic transformation, the basic


coordinate system differs from the machine
coordinate system only in terms of the axis
designations.

The activation of a transformation can produce


deviations in the parallel orientation of the axes. The
Y
coordinate system does not have to be at a right
Basic coordinate system
angle. for peripheral surface

Z
Zero offsets, scaling, etc. are always executed in the
basic coordinate system.

The coordinates also refer to the basic coordinate


system when specifying the working field limitation.

YMCS YBCS YBZS YSZS YWCS

XWCS
WCS

Programmable FRAME
XSZS
SZS
G54...G599 settable FRAMES
XBZS
BZS
Base offset (base frame)

DRF shift, external zero offset


XBCS
BCS
Kinematic transformation
XMCS
MCS

MCS = Machine coordinate system BCS = Basic coordinate system


BZS = Basic zero system SZS = Settable zero system
WCS = Workpiece coordinate system

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-33
1 1
Fundamental Geometrical Principles 03.04
1.3 Position of coordinate systems

1.3.4 Workpiece coordinate system

The geometry of a workpiece is described in the


workpiece coordinate system. In other words, the Z Y
data in the NC program refer to the workpiece
coordinate system.

The workpiece coordinate system is always a


Cartesian coordinate system and assigned to a
specific workpiece.

1.3.5 Frame system

The frame is a self-contained arithmetic rule that


Z1=Z2
transforms one Cartesian coordinate system into
Rotation Y1
another Cartesian coordinate system. around the Z axis
It is a: Y2

Spatial description of the workpiece coordinate


system

Z0
The following components are available within a
Y0
frame: X1
et
fs
of
ro

X2
Ze

• Zero offset
• Rotation
• Mirroring X0
• Scaling

These components can be used individually or in any


combination.

 Siemens AG, 2004. All rights reserved


1-34 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.3 Position of coordinate systems

Mirroring of the Z axis


X X

Z Z

M W W1 M1

Zero offset Zero offset

One way of machining inclined contours is to use Y


appropriate fixtures to align the workpiece parallel to Z

the machine axes.

Z X
Y

... Another way is to generate a coordinate system Z0


which is oriented to the workpiece. The coordinate
system can be moved and/or rotated with Y1
Y0
programmable frames. Z1

This enables you to


• move the zero point to any position on the
workpiece
X1
• align the coordinate axes parallel to the desired
working plane by rotation
• and thus machine surfaces clamped in inclined
positions, produce drill holes at different angles.
• perform multiside machining operations. X0

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-35
1 1
Fundamental Geometrical Principles 03.04
1.3 Position of coordinate systems

Working plane, tool offsets


The conventions for the working plane and the tool
offsets must be observed – in accordance with the
machine kinematics – for machining operations in
inclined working planes. For further information,
please see Section 3.6 "Selection of working plane,
G17 to G19".

1.3.6 Assignment of workpiece coordinate system to machine axes

The location of the workpiece coordinate system in


relation to the basic coordinate system (or machine ZM=ZB YM=YB
ZW
coordinate system) is determined by settable frames.
YW

The settable frames are activated in the NC program


by means of commands such as G54.

XW
XM=XB

1.3.7 Current workpiece coordinate system

Sometimes it is advisable or necessary to reposition


Y2
and to rotate, mirror and/or scale the originally
selected workpiece zero within a program. X2
Current workpiece
coordinate system
The programmable frames can be used to reposition
Z2
(rotate, mirror and/or scale) the current zero point at a Frame 2
suitable point in the workpiece coordinate system. Y1

You will thus obtain the current workpiece coordinate YB


system. Frame 1

Several zero offsets are possible in the same Z1 X1


Workpiece
program. coordinate system
ZB XB
Frame 1...settable offset and rotation
Frame 2...programmable offset and rotation

 Siemens AG, 2004. All rights reserved


1-36 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.4 Axes

1.4 Axes

A distinction is made between the following types of


axis when programming:
• Machine axes
• Channel axes
• Geometry axes
• Special axes
• Path axes
• Synchronized axes
• Positioning axes
• Command axes
(motion-synchronous actions)
• PLC axes
• Link axes
• Lead link axes

Geometry, synchronized and positioning axes are


programmed.
Geometry axes Positioning axes

Path axes traverse with feedrate F in accordance


with the programmed travel commands. Machine axes

Synchronized axes traverse synchronously to path


axes and take the same time to traverse as all path
axes. Geometry axes Special axes

Positioning axes traverse asynchronously to all other


Channel axes
axes. These traversing movements take place
independently of path and synchronized movements.
Path axes Positioning Command PLC axes
axes axes
Command axes traverse asynchronously to all other
Synchron.
axes. These traversing movements take place axes

independently of path and synchronized movements. Kinematic transformation

PLC axes are controlled by the PLC and can traverse


Machine axes
asynchronously to all other axes. The traversing
movements take place independently of path and
synchronized movements.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-37
1 1
Fundamental Geometrical Principles 03.04
1.4 Axes

1.4.1 Main axes/geometry axes

The main axes define a right-angled, right-handed


coordinate system. Tool movements are
programmed in this coordinate system. Turret Additional
Tools swivel axis spindle

In NC technology, the main axes are called geometry


X
axes. This is the term used in this Programming
Guide.

For turning machines: Z


Special
Geometry axes X and Z are used, and sometimes Y. axis
Tail-
Geometry stock
For milling machines: Main spindle axes
(master spindle)
Geometry axes X, Y and Z are used. C axis

A maximum of three geometry axes are used for


programming frames and the workpiece geometry
(contour).

Identifiers: X, Y, Z

The identifiers for geometry and channel


axes can be the same, as long as mirroring
is possible.

Geometry axis and channel axis names can be the


same in any channel so that the same programs can
be executed.
The "Switchable geometry axes" function (see
"Advanced) can be used to alter the geometry axes
grouping configured by machine data from the parts
program. Here any geometry axis can be replaced by
a channel axis defined as a synchronous special
axis.

 Siemens AG, 2004. All rights reserved


1-38 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.4 Axes

1.4.2 Special axes

In contrast to the geometry axes, no geometrical


relationship is defined between the special axes.
Example:
Turret position U, tailstock V

1.4.3 Main spindle, Master spindle

The machine kinematics determine which spindle is


the main spindle. This spindle is declared the master
spindle in the machine data. As a rule, the main
spindle is declared the master spindle.

This assignment can be changed with the program


command SETMS (spindle number) (see Chapter 7).
Special functions such as thread cutting apply to the
master spindle.
Identifiers: S or S0

1.4.4 Machine axes

The axis identifiers can be set in the machine data.

Standard identifiers:
X1, Y1, Z1, A1, B1, C1, U1, V1

There are also standard axis identifiers that can


always be used:
AX1, AX2, ..., AXn

1.4.5 Channel axes

All axes which traverse in a channel.

Identifiers: X, Y, Z, A, B, C, U, V

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-39
1 1
Fundamental Geometrical Principles 03.04
1.4 Axes

1.4.6 Path axes

Path axes define the path and therefore the


movement of the tool in space.

The programmed feedrate is active for this path.

The axes involved in this path reach their position at


the same time. As a rule, these are the geometry
axes.

However, default settings define which axes are the


path axes and therefore determine the velocity. Path
axes can be specified in the NC program with
FGROUP (see Chapter 5).

1.4.7 Positioning axes

Positioning axes are interpolated separately, i.e.


each positioning axis has its own axis interpolator
and its own feedrate.

A distinction is made between positioning axes with


synchronization at the block end or over several
blocks.

POS axes: Block change occurs at the end of the


block when all the path and positioning axes
programmed in this block have reached their
programmed end point.

POSA axes: The movement of these positioning axes


can extend over several blocks.

POSP axes: The movement of these positioning axes


for approaching the end position takes place in
sections.

You will find further information on POS, POSA and


POSP in the section on "Traversing positioning axes,
POS, POSA, POSP".

 Siemens AG, 2004. All rights reserved


1-40 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.4 Axes

Additional notes
Positioning axes become synchronized axes if they
are traversed without the special POS/POSA
identifier.

Continuous-path mode (G64) for path axes is only


possible if the positioning axes (POS) reach their final
position before the path axes.

Path axes that are programmed with POS/POSA are


removed from the path axis grouping for the duration
of this block.

Positioning axes are traversed by the NC program or


the PLC.

If an axis is to be traversed simultaneously by the


NC program and the PLC, an error message
appears.

Typical positioning axes are:


• Loaders for moving workpieces to machine
• Loaders for moving workpieces away from
machine
• Tool magazine/turret

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-41
1 1
Fundamental Geometrical Principles 03.04
1.4 Axes

1.4.8 Synchronized axes

Synchronized axes traverse synchronously to the


path from the start position to the programmed end
position.

The feedrate programmed in F applies to all the path


axes programmed in the block, but does not apply to
synchronized axes. Synchronized axes take the
same time as the path axes to traverse.

A synchronized axis can be a rotary axis which is


traversed synchronously to the path interpolation.

1.4.9 Command axes

Command axes are started from synchronized


actions in response to an event (command). They
can be positioned, started and stopped fully
asynchronous to the parts program. An axis cannot
be moved from the parts program and from
synchronized actions simultaneously.
Command axes are interpolated separately, i.e. each
command axis has its own axis interpolator and its
own feedrate.
References: /FBSY/, Synchronized Actions

1.4.10 PLC axes

PLC axes are traversed by the PLC via special


function blocks in the basic program; their
movements can be asynchronous to all other axes.
The traversing movements take place independently
of path and synchronized movements.

 Siemens AG, 2004. All rights reserved


1-42 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.4 Axes

1.4.11 Link axes (SW 5 and higher)

Link axes are axes which are physically connected to


another NCU and whose position is controlled from
this NCU. Link axes can be dynamically assigned to
channels of a different NCU. Link axes are not local
axes from the perspective of a particular NCU.
The dynamic change in the assignment to an NCU is
based on the axis container concept. Axis
substitution with GET and RELEASE from the parts
program is not available for link axes.

Preconditions:
• The participating NCUs, NCU1 and NCU2, must
be connected by means of high-speed
communication via the link module.
References:
/PHD/, Configuring Manual NCU 571-573.2,
Link Module
• The axis must be configured appropriately by
machine data.
• The link axis option must be installed.

NCU 1 611D 1 NCU 2 611D 2

Channel 1 Channel 1
A1 B1

Channel 2
A2 B2

A3

Link module (HW) Link module (HW)


Link communication

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-43
1 1
Fundamental Geometrical Principles 03.04
1.4 Axes

Functionality
The position control is implemented on the NCU on
which the axis is physically connected to the drive. This
NCU also contains the associated axis VDI interface.
The position setpoints for link axes are generated on
another NCU and communicated via the NCU link.
The link communication must provide the means of
interaction between the interpolators and the position
controller or PLC interface. The setpoints calculated by
the interpolators must be transported to the position
control loop on the home NCU and, vice versa, the
actual values must be returned from there back to the
interpolators.

For further information about link axes, please refer to


References: /FB/ B3, Multiple Operator Panels and
NCUs

Axis container (SW 5 and higher)


An axis container is a circular buffer data structure in
which local axes and/or link axes are assigned to
channels. The entries in the circular buffer can be
shifted cyclically.
In addition to the direct reference to local axes or link
axes, the link axis configuration in the logical
machine axis image also allows references to axis
containers. This type of reference consists of:
• a container number and
• a slot (circular buffer location within the container)
The entry in a circular buffer location contains:
• a local axis or
• a link axis
Axis container entries contain local machine axes or
link axes from the perspective of an individual NCU.
The entries in the logical machine axis image
MN_AXCONF_LOGIC_MACHAX_TAB of an
individual NCU are fixed.
The axis container function is described in
References: /FB/ B3, Multiple Operator Panels and
NCUs

 Siemens AG, 2004. All rights reserved


1-44 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.4 Axes

1.4.12 Leading link axes (SW 6 and higher)

A leading link axis is one that is interpolated by one


NCU and utilized by one or several other NCUs as
the master axis for controlling slave axes.
An axial position controller alarm is sent to all other
NCUs which are connected to the affected axis via a
leading link axis.

NCUs that are dependent on the leading link axis can


utilize the following coupling relationships with it:

- Master value (setpoint, actual value, simulated


master value)

- Coupled motion

- Tangential follow-up

- Electronic gear (ELG)

- Synchronous spindle

Preconditions:
• The dependent NCUs, i.e. NCU1 to NCUn (n
equals max. of 8), must be interconnected via the
link module for high-speed communication.
References:
/PHD/, Configuring Manual NCU 571-573.2,
Link Module
• The axis must be configured appropriately by
machine data.
• The link axis option must be installed.

• The same interpolation cycle must be configured


for all NCUs connected to the leading link axis.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-45
1 1
Fundamental Geometrical Principles 03.04
1.4 Axes

NCU 1 A1 setpoints
NCU 2 ... NCU n

Influenced by
Interpolator Interpolator
following axis/axes

A1 real values
Servo Servo

611 D 611 D

NCU link modules


A1 B1

B2

Restrictions:
• A master axis which is leading link axis cannot be
a link axis, i.e. it cannot be operated by other
NCUs as their home NCU.
• A master axis which is leading link axis cannot be
a container axis, i.e. it cannot be addressed
alternately by different NCUs.
• A leading link axis cannot be the programmed
leading axis in a gantry grouping.
• Couplings with leading link axes cannot be
cascaded.
• Axis replacement can only be implemented within
the home NCU of the leading link axis.

Programming:
Master NCU:
Only the NCU which is physically assigned to the
master value axis can program travel motions for this
axis. The travel program must not contain any special
functions or operations.

NCUs of slave axes:


The travel program on the NCUs of the slave axes
must not contain any travel commands for the leading
link axis (master value axis). If it does, an appropriate
alarm will be generated.
The leading link axis is addressed in the usual way
via channel axis identifiers. The states of the leading
link axis can be accessed by means of selected
system variables.

 Siemens AG, 2004. All rights reserved


1-46 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.4 Axes

System variables:
The following system variables can be used in
conjunction with the channel axis identifier of the
leading link axis:
$AA_LEAD_SP ; Simulated master value – position
SAA_LEAD_SV; Simulated master value – velocity
If these system variables are updated by the home
NCU of the master axis, the new values are also
transferred to any other NCUs which wish to control
slave axes as a function of this master axis.
References: /FB/ B3, Multiple Operator Panels and
NCUs

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-47
1 1
Fundamental Geometrical Principles 03.04
1.5 Coordinate systems and workpiece machining

1.5 Coordinate systems and workpiece machining

Relationship between the travel commands from


workpiece coordinates and the resulting
machine movements

Axis movement programmed in the workpiece coordinate system

Description of the
workpiece geometry
using geometry axes
(e.g. X, Y, Z)

Frame calculation: Description of the tool Reamaining traversing


•Translation (TRANS) oreintation by orientation instructions using special
•Rotation (ROT) vector/Euler angle axes (e.g. C, U, V)
•Scaling (SCALE)
Contour in Cartesian
coordinate system of
the channel (BCS) Frame calculation:
•Offset
Tool radius compensation •Scaling
Movement of the tool
zero point in the BCS

Tool length compensation

Kinematic transformation (if active) Rot. axes with 5 axis transform.

Movement of the machine axes of the channel abc

Path calculations
The path calculation determines the distance to be
traversed in a block, taking into account all offsets
and compensations.

In general: T
Distance =
TO

Absolute
position

setpoint - actual value + zero offset (ZO) + tool offset


point
Set-

(TO) Z

M W

Set-
ZO point TO

Absolute position

 Siemens AG, 2004. All rights reserved


1-48 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
1 1
03.04 Fundamental Geometrical Principles
1.5 Coordinate systems and workpiece machining

If a new zero offset and a new tool offset are


programmed in a new program block, the following
applies:
• With absolute dimensioning:
Distance = (absolute dimension P2 - absolute
dimension P1) +
(ZO P2 - ZO P1) + (TO P2 - TO P1).
• With incremental dimensioning:
Distance = incremental dimension +
(ZO P2 – ZO P1) +
(TO P2 - TO P1).

ZO P2 Abs. dim. (setpoint) for P2 TC P2

ZO P1 Abs. dim. TC P1 Distance


(setpoint)
for P1

Movement

Actual value 1

Actual value 2

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 1-49
1 1
Fundamental Geometrical Principles 03.04
1.5 Coordinate systems and workpiece machining

Notes

 Siemens AG, 2004. All rights reserved


1-50 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming

Fundamental Principles of NC Programming

2.1 Structure and content of an NC program.................................................................. 2-52

2.2 Language elements of programming language ........................................................ 2-53

2.3 Programming a sample workpiece............................................................................ 2-74

2.4 First programming example "milling" ........................................................................ 2-76

2.5 Second programming example "milling" ................................................................... 2-77

2.6 Programming example "turning" ............................................................................... 2-80

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-51
2 2
Fundamental Principles of NC Programming 03.04
2.1 Structure and content of an NC program

2.1 Structure and content of an NC program

DIN 66025 is the guideline for designing a parts


program.

An (NC/part) program consists of a sequence of NC


blocks (see table below). Each data block
represents one machining step. Instructions are
written in the blocks in the form of words. The last
block in the execution sequence contains a special
word for the end of program: M2, M17 or M30.

Block Word Word Word ... ;Comment


Block N10 G0 X20 ... ;1. Block
Block N20 G2 Z37 ... ;2nd block
Block N30 G91 ... ... ;...
Block N40 ... ... ...
Block N50 M30 ... ... ;End of program (last block)

Program name

Each program has a different name; the name can be


chosen freely during program creation (except for
punch tape format), taking the following conditions
into account:
• The first two characters must be letters (or a letter
with an underscore character)
• Otherwise: Letters or numerals

Example: _MPF100 or
SHAFT or
SHAFT_2
Only the first 24 characters of a program identifier are
displayed on the NC.

 Siemens AG, 2004. All rights reserved


2-52 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

Punch tape format


File names:
1. File names can contain the characters
0...9, A...Z, a...z or _ and must not
exceed 24 characters in total.
2. File names must have a 3-character extension
(_xxx).
3. Data in punch tape format can be generated
externally or processed with an editor. The name
of a file which is stored internally in the NC
memory begins with "_N_".
A file in punch tape format begins with %<name>,
"%" must appear in the first column of the first line.

Examples:
%_N_SHAFT123_MPF = parts program SHAFT123
or
%flange3_MPF = parts program flange3

For further information on downloading, creating and


storing parts programs, please refer to:
/BA/, Operator's Guide, in the sections on the
"Program operating area" and "Services operating
area"

2.2 Language elements of programming language


Character set

The following characters are available for writing NC


programs:

Upper case
A, B, C, D, E, F, G, H, I, J, K, L, M, N,
(O), P, Q, R, S, T, U, V, W, X, Y, Z

Please note:
Take care to differentiate between the letter "O" and
the numeral "0".
Lower case
a, b, c, d, e, f, g, h, i, j, k, l, m, n,
o, p, q, r, s, t, u, v, w, x, y, z

Numerals
0, 1, 2, 3, 4, 5, 6, 7, 8, 9

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-53
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

No distinction is made between upper and lower case


letters.

Special characters
% Program start character (used only for writing programs on an external PC)
( For bracketing parameters or expressions
) For bracketing parameters or expressions
[ For bracketing addresses or indexes
] For bracketing addresses or indexes
< Less than
> Greater than
: Main block, label suffix, chain operator
= Assignment, part of equation
/ Division, block suppression
* Multiplication
+ Addition
– Subtraction, minus sign
" Double quotation marks, identifier for character string
´ Single quotation marks, identifier for special numerical values: hexadecimal,
binary
$ System variable identifiers
_ Underscore, belonging to letters
? Reserved
! Reserved
. Decimal point
, Comma, parameter separator
; Comment start
& Format character, same effect as space character
LF Block end
Tab character Separator
Space Separator (blank)
character

Non-printable special characters are treated like


blanks.

 Siemens AG, 2004. All rights reserved


2-54 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

Words
In the same way as our language, NC programs are
made up of blocks and each block is made up of Word Word Word
words.

A word in the "NC language" consists of an address

Address

Address

Address
Digits

Digits

Digits
character and a digit or sequence of digits
representing an arithmetic value.

The address character of the word is usually a letter. G01 X-50 S2000
The sequence of digits can contain a leading sign
and decimal point. The leading sign always appears
between the address letter and the sequence of
Block
digits. The positive leading sign (+) does not have to
be specified.

Blocks and block format

An NC program consists of individual blocks. A block


generally consists of (several) words.
A block should contain all the data required to
perform a machining step and is terminated with the
character "LF" (LINE FEED = neue line).

The "LF" character does not have to be inserted


manually, it is generated automatically when you
change lines.

Block length
A block may contain
• SW 3.x and earlier a maximum of 242 characters
• SW 4 and higher a maximum of 512
characters (including the comment and
end-of-block character "LF").

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-55
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Three blocks of up to 66 characters each are


normally displayed in the current block display on the
screen. Comments are also displayed. Messages are
displayed in a separate message window.

Sequence of words in a block


In order to keep the block structure as clear as
possible, the words in a block should be arranged as
follows:

Example:
N10 G… X… Y… Z… F… S… T… D… M… H…

Address Meaning
N Address of block number
10 Block number
G Preparatory function
X,Y,Z Preparatory information
F Feed
S Speed
T Tool
D Tooloffset number
M Miscellaneous function
H Auxiliary function

Some addresses can be used multiply within the


same block (e.g.: G…, M…, H…).

Main block/subblock
There are two types of blocks:

• Main blocks and


• Subblocks

The main block must contain all the words necessary


to start the operation sequence in the program
section beginning with the main block.

 Siemens AG, 2004. All rights reserved


2-56 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

Main blocks can be contained in both main programs


and subprograms. The control does not check
whether a main block contains all the necessary
information.

Block number
Main blocks are identified by a main block number. A
main block number comprises the character ":" and a
positive whole number (block number). The block
number always appears at the start of a block.

Main block numbers must be unique within a program


to achieve an unambiguous result when searching.

Example: :10 D2 F200 S900 M3

Subblocks are identified by a subblock number. A


subblock number comprises the character "N" and a
positive whole number (block number). The block
number always appears at the start of a block.

Example: N20 G1 X14 Y35


N30 X20 Y40

Subblock numbers must be unique within a program


in order to achieve an unambiguous result when
searching.

The order of the block numbers is arbitrary, however


increasing block numbers are recommended.

You can also program NC blocks without block


numbers.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-57
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Addresses
Addresses are fixed or adjustable identifiers for axes
(X, Y, ...) SpindleSpeed (S), Feed (F), Circleradius
(CR) etc.
Example:
N10 X100

Important addresses

Address Meaning (default setting) Remarks


A=DC(...) Rotary axis variable
A=ACP(...)
A=ACN(...)
AIDS Rounding clearance for path functions fixed
B=DC(...) Rotary axis variable
B=ACP(...)
B=ACN(...)
C=DC(...) Rotary axis variable
C=ACP(...)
C=ACN(...)
CHR=... Chamfer the contour corner fixed
D... Tool number fixed
F... Feed fixed
FA[axis]=... or Axial feed fixed
FA[spindle]=... or
[SPI(spindle)]=... (only if spindle no. defined by variable)
G... Preparatory function fixed
H... Auxiliary function fixed
H=QU(...)
Auxiliary function without read stop
I... Interpolation parameter variable
J... Interpolation parameter variable
K... Interpolation parameter variable
L... Subroutinecall fixed
M... Miscellaneous function fixed
M=QU(...)
Miscellaneous fct. w/o read stop
N... Subblock fixed
OVR=... Path override fixed
P... Number of program passes fixed
Address Meaning (default setting) Remarks
POS[axis]=... Positioning axis fixed
POSA[axis]=... Positioning axis across block boundary fixed

 Siemens AG, 2004. All rights reserved


2-58 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

SPOS=... Spindle position fixed


SPOS[n]=...
SPOSA=... Spindle position across block boundary fixed
SPOSA[n]=...
Q... Achse variable
R0=... to Rn=... • Arithmetic parameter, n can be set fixed
via MD (default 0-99)
R... • Axis (SW 5.1 and higher) variable
RND Round the contour corner fixed
RNDM Round contour corner (modal) fixed
S... Spindle speed fixed
T... Tool number fixed
U... Axis variable
V... Axis variable
W... Axis variable
X... Axis variable
X=AC(...)
" absolute
X=IC(...)
" incremental
Y... Axis variable
Y=AC(...)
Y=IC(...)
Z... Axis variable
Z=AC(...)
Z=IC(...)
AR+=... Aperture angle variable
AP=... Polar angle variable
CR=... Circle radius variable
RP=... Polar radius variable
:... Main block fixed

"fixed"
These address names are available for a specific
function.

Machine manufacturer (MH2.1)


"variable"
The machine manufacturer may assign another
name to these addresses via machine data.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-59
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Modal/non-modal addresses
Modal addresses remain valid with the programmed
value (in all subsequent blocks) until a new value is
programmed at the same address.
Non-modal addresses only apply in the block in
which they were programmed.

Example:
N10 G01 F500 X10
N20 X10 ;Feed remains operative
until a new feed value
is entered.

Addresses with axial extension


In addresses with axial extension, an axis name is
inserted in square brackets after the address. The
axis name assigns the axis.

Example: FA[U]=400;
Axis-specific feed for U axis

Extended addresses
Extended address notation enables a larger number
of axes and spindles to be organized in a system. An
extended address is composed of a numeric
extension or a variable identifier enclosed in square
brackets and an arithmetic expression with an "="
sign.

Example:
X7 ;No "=" required, 7 is a value, but the "=" character can also be used here
X4=20 ;Axis X4 ("=" required)
CR=7.3 ;2 letters ("=" required)
S1=470 ;Speed for 1st spindle 470rpm
M3=5 ;Spindle stop for 3rd spindle

 Siemens AG, 2004. All rights reserved


2-60 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

The extended address notation is only permitted for the following direct addresses:

X, Y, Z Axis addresses
I, J, K Interpolation parameters
S Spindle speed
SPOS, Spindle position
SPOSA
M Miscellaneous functions
H Auxiliary functions
T Tool number
F Feedrate

The number (index) can be substituted by a variable


for addresses M, H and S and for SPOS and SPOSA.
The variable identifier is enclosed in square brackets.

Example:
S[SPINU]=4 ;Speed for the spindle whose number is stored in the variable SPINU
70
M[SPINU]=3 ;Clockwise rotation for the spindle whose number is stored in the variable SPINU
T[SPINU]=7 ;Selection of the tool for the spindle whose number is stored in the variable
SPINU

Fixed addresses
The following addresses are set permanently:

Address Meaning (default setting)


D Tool edge number
F Feedrate
G Preparatory function
H Auxiliary function
L Subprogram call
M Special function
N Subblock
P... Number of program passes
R Arithmetic parameter
S Spindle speed
T Tool number
: Main block

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-61
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Example for programming:


N10 G54 T9 D2

Fixed addresses with axis extension

Address Meaning (default setting)


AX Axis value (variable axis programming)
ACC Axial acceleration
FA Axial feed
FDA Axis feedrate for handwheel override
FL Axial feed limit
IP Interpolation parameter (variable axis programming)
OVRA Axial override
PO Polynomial coefficient
POS Positioning axis
POSA Positioning axis across block boundary

Example: N10 POS[X]=100


When programming with the axis extension, the axis to be traversed is enclosed in square
brackets.

You will find a complete list of all fixed addresses in


the Appendix.

Variable addresses
Addresses can be defined either as an address letter
(with numerical extension if necessary) or as freely
selected identifiers.

Variable addresses must be unique within the


control, i.e. the same identifier name may not be used
for different address types.

A distinction is made between the following address


types:
• Axis values and end points
• Interpolation parameters
• Feeds
• Approximate positioning criteria
• Measurement
• Axis, spindle behavior
• …
Variable address letters are:
A, B, C, E, I, J, K, Q, U, V, W, X, Y, Z

 Siemens AG, 2004. All rights reserved


2-62 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

The user can change the names of the variable


addresses in the machine data.

Example:
X1, Y30, U2, I25, E25, E1=90, …

The numeric extension has one or two digits and is


always positive.

Address identifier:
The address notation can be expanded by adding
further letters.

Example:
CR e.g. for circle radius
XPOS
Operators/mathematical functions

+ Addition
- Subtraction
* Multiplication
/ Division
Notice: (Type INT)/(Type INT)=(Type REAL); e.g. 3/4 = 0.75
DIV Division, for variable types INT and REAL
Notice: (Type INT)DIV(Type INT)=(Type INT); e.g. 3 DIV 4 = 0
MOD Modulo division (only type INT) produces remainder of INT division, e.g. 3 MOD 4=3
: Chain operator (for FRAME variables)

Sin() Sine
COS() Cosine
TAN() Tangent
ASIN() Arcsine
ACOS() Arccosine
ATAN2() Arctangent2
SQRT() Square root
ABS() Absolute number
POT() 2nd power (square)
TRUNC() Truncate to integer
ROUND() Round to integer
LN() Natural logarithm
EXP() Exponential function

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-63
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Comparison and logic operators

== Equal to
<> Not equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to

AND AND
OR OR
NOT Negation
XOR Exclusive OR

In arithmetic expressions, the execution order of all


the operators can be specified by parentheses, in
order to override the normal priority rules.

Value assignments
Values can be assigned to the addresses. The method
of value assignment depends on the type of address
identifier.

An "=" sign must be inserted between the address


identifier and the value if
• the address identifier comprises more than one
letter,
• the value includes more than one constant.

The "="-sign can be omitted if the address identifier is a


single letter and the value consists of only one constant.
Leading signs are allowed and separators are permitted
after the address letter.

Examples:
X10 ;Value assignment (10) to address X, "=" not required
X1=10 ;Value assignment (10) to address (X) with numeric extension (1), "="
required
FGROUP(X1, Y2) ;Axis names from passed parameters
AXDATA[X1] ;Axis name as an index when accessing axis data
AX[X1]=10 ;Indirect axis programming
X=10*(5+SIN(37.5) ;Value assignment by means of a numeric expression, "=" required
)

 Siemens AG, 2004. All rights reserved


2-64 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

A numeric extension must always be followed by one of


the special characters "=", "(", "[")"]", "," or an operator in
order to distinguish an address name with numeric
extension from an address letter with a value.

Identifiers

Identifiers can also be used to describe words (in


compliance with DIN 66025). The identifiers have the
same meaning as the words within an NC block.
Identifiers must be unique. Identical identifiers must not
be used for different objects.

Identifiers can stand for:


• Variables
- System variables
- User variables
• Subprograms
• Vocabulary words
• DIN addresses with several letters
• Jump labels

Structure
The identifiers are composed of up to 32 characters.
The following characters may be used:
• Letters
• Underscore symbols
• Numerals

The first two characters must be letters or underscores,


separators must not be programmed between the
individual characters (see the following pages).
Example: CMIRROR, CDON

Reserved vocabulary words must not be used as


identifiers. Separators are not permitted between the
individual characters.

Number of characters for each identifier:


• Program names: 24 characters
• Axis identifiers: 8 characters
• Variable identifiers: 31 characters

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-65
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Rules for allocating identifiers

The following rules are provided in order to avoid


identifier collisions:

• All identifiers beginning with "CYCLE" or "_" are


reserved for SIEMENS cycles.

• All identifiers beginning with "CCS" are reserved for


SIEMENS compile cycles.

• User compile cycles begin with "CC”.

• We recommend that users select identifier names


which either begin with "U" (User) or contain the
underscore symbol, because these are not used by
the system or compile cycles or SIEMENS cycles.

Further reserved identifiers

• The identifier "RL" is reserved for conventional


turning machines.
• All identifiers beginning with "E_ " are reserved for
EASYSTEP programming.

Variable identifiers

In variables used by the system, the first letter is


replaced by the "$" character. This character may not be
used for user-defined variables.

Examples (see Programming Guide "Advanced"):


$P_IFRAME, $P_F

Leading zeroes are ignored in variables with numeric


extensions (i.e. R01 is interpreted as R1). Separators
are allowed before a numeric extension.

 Siemens AG, 2004. All rights reserved


2-66 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

Array identifiers

The rules for elementary variables also apply to array


identifiers. It is possible to address arithmetic
variables as arrays.
Example: R[10]=…

Data types

A variable can contain a numeric value (or several) or


a character (or several), e.g. an address letter.

The data type permitted for the variable is determined


when the variable is defined. The data type for
system variables and predefined variables is fixed.

Elementary variable types/data types are:

Type Meaning Value range


INT Integers with leading sign ±(231 - 1)
REAL Real numbers (fractions with ±(10-300 … 10+300)
decimal point, LONG REAL
according to IEEE)
BOOL Boolean values: TRUE (1) and 1, 0
FALSE (0)
CHAR 1 ASCII character specified by the 0 … 255
code
STRING Character string, number of Sequence of values with 0 ... 255
characters in [...], maximum of 200
characters
AXIS Axis names (axis addresses) only Any axis identifiers in the channel
FRAME Geometrical parameters for
translation, rotation, scale and
mirror

Identical elementary types can be combined in


arrays. Up to two-dimensional arrays are possible.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-67
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Constants

Integer constants:
Integer with or without leading sign, e.g. for assigning
a value to an address

Examples:
X100 ;Assignment of the value +100 to address X
X-100 ;Assignment of the value –100 to address X

Real constants:
Real number, e.g. with decimal point, with or without
leading sign, e.g. for assigning a value to an address

Example:
X10.25 ;Assignment of the value +10.25 to address X
X-10.25 ;Assignment of the value –10.25 to address X
X0.25 ;Assignment of the value +0.25 to address X
X.25 ;Assignment of the value +0.25 to address X without leading "0"
X=-.1EX-3 ;Assignment of the value –0.1*10-3 to address X

If, in an address which permits decimal point input,


more decimal places are specified than actually
provided for the address, then they are rounded to fit
the number of places provided.

X0 cannot be replaced with X.


Example: Do not replace G01 X0 with G01 X!

Hexadecimal constants
Constants can also be interpreted in hexadecimal
format. The letters "A" to "F" stand for the digits 10
to 15.

Hexadecimal constants are enclosed in single


quotation marks and start with the letter "H", followed
by the value in hexadecimal notation. Separators are
allowed between the letters and digits.

Example for machine data (see also "Advanced"):


$MC_TOOL_MANAGEMENT_MASK='H3C7F' Assignment of hexadecimal
values to machine data
The maximum number of characters is limited by the
value range of the integer data type.

 Siemens AG, 2004. All rights reserved


2-68 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

Binary constants
Constants can also be interpreted in binary format. In
this case, only the digits "0" and "1" are used.

Binary constants are enclosed in single quotation


marks and start with the letter "B", followed by the
binary value. Separators are allowed between the
digits.

Example for machine data (see also "Advanced"):


$MN_AUXFU_GROUP_SPEC='B10000001' ;Assignment of binary constants to
machine data
Bits 0 and 7 are set

The maximum number of characters is limited by the


value range of the integer data type.

Program section
A program section consists of a main block and
several subblocks.
Examples:
:10 D2 F200 S900 M3
N20 G1 X14 Y35
N30 X20 Y40
N40 Y-10
...
N100 M30

Skipping blocks
N10 ...
Blocks which are not to be executed on every
Program execution

/N20 ...
program pass can be skipped (e.g. program dry run).
N30 ...
Blocks which are to be skipped are marked with an
/N40 ...
oblique "/" in front of the block number. Several
/N50 ...
consecutive blocks can also be skipped. The
/N60 ...
instructions in the skipped blocks are not executed;
N70 ...
the program continues with the next block which is
N80 ...
not skipped.
N90 ...
N100 ...
N110 ...
N120

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-69
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Examples:
N10 … ;is executed
/N20 … ;skipped
N30 … ;is executed
/N40 … ;skipped
N70 … ;is executed
SW 5 and higher
Up to eight skip levels can be programmed. Only one
skip level can be specified per NC block:
/ ... ;Block is skipped (1st skip level)
/0 ... ;Block is skipped (1st skip level)
/1 N010 ... ;Block is skipped (2nd skip level)
/2 N020 ... ;Block is skipped (3rd skip level)
...
/7 N100 ... ;Block is skipped (8th skip level)
SW 6.3 and higher
Up to 10 skip levels can be programmed. Only one
skip level can be specified per NC block:
/8 N080... ;Block is skipped (9th skip level)
/9 N090... ;Block is skipped (10th skip level)
Machine manufacturer (MH2.2)
The number of skip levels that can be used depends
on a display MD.
Block skipping of levels /0 to /9 is activated by an
operator action (see /BA/ Operator's Guide, program
control menu in Machine operating area) or by the
programmable controller.

System and user variables can also be used in


conditional jumps in order to control program
execution.

Jump destinations (labels)


Labels can be defined to jump within a program.
You will find further information in the Programming
Guide "Advanced".

 Siemens AG, 2004. All rights reserved


2-70 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

Label names are allocated with at least two and up to


32 characters (letters, digits, underscore). The first
two characters must be letters or underscores. The
label name is followed by a colon (":").

Labels must be unique within a program.

Labels always appear at the start of a block. If a


program number exists, the label appears
immediately after the block number.

Comments
To make NC programs easier to understand for other
users and programmers, it is advisable to insert
meaningful comments in the program.

Comments are appended to the end of a block and


are separated from the program section of the NC
block by a semicolon (";").
Examples:
N10 G1 F100 X10 Y20 ; Comments to explain the NC block
or
N10 ; Company G&S, order no. 12A71
N20 ; Program written by H. Müller, Dept. TV 4, on 21.11.94
N50 ; Section no. 12, housing for submersible pump type TP23A
Comments are stored and appear in the current block
display when the program is running.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-71
2 2
Fundamental Principles of NC Programming 03.04
2.2 Language elements of programming language

Programming messages

Messages can be programmed to provide the user


with information about the current machining situation
during program execution.

A message in an NC program is generated when the


message text is typed after vocabulary word "MSG" in
round parentheses "()" and quotation marks.

A message can be cleared by programming "MSG ()".

Example:
N10 MSG ("Roughing the contour") ;Activate message
N20 X… Y…
N …
N90 MSG () ;Clear message from N10

A message text can be up to 124 characters long and


is displayed in two lines (2*62 characters).
Contents of variables can also be displayed in
message texts.

Examples:
N10 R12=$AA_IW [X] ;Current position of the X axis in R12
N20 MSG (″check position of X axis″<<R12<<″″)
N …
N90 MSG () ;Clear message from N20
or
N20 MSG (″check position of X axis″<<$AA_IW[X]<<″″)

 Siemens AG, 2004. All rights reserved


2-72 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.2 Language elements of programming language

Setting alarms

You can also set alarms in addition to messages in


an NC program. Alarms are displayed in a separate
field on the screen display. An alarm is associated
with a reaction on the control which depends on the
alarm category.

Alarms are programmed by writing the vocabulary


word "SETAL" followed by the alarm number
enclosed in brackets.

The valid range for alarmnumbers is between 60 000


and 69 999, whereby 60 000 to 64 999 are reserved
for SIEMENS cycles and 65 000 to 69 999 are
available to the user.

Alarms are always programmed in a separate block.

Example:
N100 SETAL (65000) ;Set alarm no. 65000

You will find a list of reactions associated with


specific alarms in the Installation and Start-up Guide.

The alarmtext must be configured in the MMC.


Parameterizable cycle alarms (SW 6.4 and higher)

A character string containing up to 4 parameters can


be specified in addition to the alarm number for the
predefined subprogram SETAL.

Example:
SETAL(<alarmnumber> , <string>)
Variable user texts can be defined in these para-
meters. Predefined parameters with the following
meaning are also provided:
%1 = channel number
%2 = block number, label
%3 = text index for cycle alarms
%4 = additional alarm parameter

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-73
2 2
Fundamental Principles of NC Programming 03.04
2.3 Programming a sample workpiece

2.3 Programming a sample workpiece


Planning the machining sequence

The actual programming of the individual operation


steps in the NC language generally represents only a
small proportion of the work in the development of an
NC program.
Programming of the actual instructions should be
preceded by the planning and preparation of the
operation steps. The more accurately you plan in
advance how the NC program is to be structured and
organized, the faster and easier it will be to produce a
complete program which is clear and free of errors.

Clearly structured programs are a particular


advantage if you need to make changes at a later
date.
Since workpieces differ in shape and form, it is not
advisable to create every program using exactly the
same method. There are certain methods which have
proven to be successful in most instances. A sort of
"checklist" can be found below.

 Siemens AG, 2004. All rights reserved


2-74 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.3 Programming a sample workpiece

1. Prepare the workpiece drawing


• Define the workpiece zero
• Draw in the coordinate system
• Calculate any missing coordinates

2. Define machining sequence


• Which tools are used when and to machine which
type of contour?
• In what order are the individual elements of the
workpiece machined?
• Which individual elements repeat (possibly
rotated) and should therefore be included in a
subprogram?
• Can you use part contours or similar elements
which already exist in other subprograms or
subroutines?
Where is it advisable or necessary to perform zero
offset, rotation, mirroring or scaling (frame
concept)?

3. Create a machining plan


Define all the machining processes in steps, e.g.:
• Rapid traverse motions for positioning
• Tool change
• Retract to tool change point
• Activate/deactivate spindle, coolant
• Call tool data
• Infeed
• Path override
• Approach contour
• Retract from contour
• etc.

4. Translate the work steps into the programming


language
Enter each individual step in an NC block or blocks.

5. Combine all the individual steps in a program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-75
2 2
Fundamental Principles of NC Programming 03.04
2.4 First programming example "milling"

2.4 First programming example "milling"

Please proceed on the NC as described below to


verify the following programming example (see
Operator's Guide):
• Create a new part program (name)
• Edit the part program
• Select the part program
• Activate single block mode
• Start the part program

Alarms can occur during program verification. These


alarms have to be reset first.

Machine manufacturer (MH2.3)


The MD settings must be defined correctly before the
program can run on the machine.
References: /FB/ K2, "Axes, Coordinate Systems,.."

Programming example

_MILL1_MPF ;Sample program


N10 MSG("THIS IS MY NC PROGRAM") ;MSG = Message output in an alarm line
:10 F200 S900 T1 D2 M3 ;Feed, spindle, tool,
;tool offset, spindle clockwise
N20 G0 X100 Y100 ;Rapid traverse to position
N30 G1 X150 ;Rectangle with feed, straight line in X
N40 Y120 ;Straight line in Y
N50 X100 ;Straight line in X
N60 Y100 ;Straight line in Y
N70 G0 X0 Y0 ;Return rapid traverse movement
N100 M30 ;End of block

 Siemens AG, 2004. All rights reserved


2-76 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.5 Second programming example "milling"

2.5 Second programming example "milling"

This programming example contains surface and


side milling, as well as drilling.
• The workpiece is intended for machining on a
vertical milling machine.
• The dimensions are in inches.

Machine manufacturer (MH2.4)


The MD settings must be defined correctly before the
program can run on the machine.
References: /FB/ K2, "Axes, Coordinate Systems,.."

Programming example

%_N_RAISED_BOSS_MPF
N005 MSG ("Traverse axes to tool change location")
N010 START01:SUPA G0 G70 Z0 D0
N015 SUPA X0 Y0
;********************Tool change********************
N020 MSG ("Tool change active")
N025 T1 M6 ; d = 3 inch face cutter
N030 MSG () ; clears the message from block N020
N035 MSG ("Face milling Z=0 workpiece surface")
N040 G0 G54 X-2 Y.6 S800 M3 M8
N045 Z1 D1
N050 G1 Z0 F50
N055 X8 F25
N060 G0 Y3.5
N065 G1 X-2
N070 SUPA G0 Z0 D0 M5 M9
;********************Tool change********************
N075 T2 M6 ; d = 3 inch facing tool
MSG ("Side machining")
N080 G0 X-1 Y.25 S1200 M3 M8
N085 Z1 D1
N090 G1 Z-.5 F50
N095 G42 X.5 F30
N100 X5.5 RNDM=-.375 ; Modal rounding Radius=0.375
N105 Y3.625
N110 X.5
N115 Y.25
N120 X=IC(.375) RNDM=0 ; Needed for edge rounding
N125 G40 G0 Y-1 M5 M9 ; Rapid traverse to initial setting

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-77
2 2
Fundamental Principles of NC Programming 03.04
2.5 Second programming example "milling"

N130 Z1
N135 X-1 Y0
N140 Z-.25
;********************Continue to use 1-inch mill****************
MSG ("Side Cut Top Boss")
N145 G01 G41 X1 Y2
N150 G2 X1.5476 Y3.375 CR=2
N155 G3 X4.4524 CR=3
N160 G2 Y.625 CR=2
N165 G3 X1.5476 CR=3
N170 G2 X1 Y2 CR=2
N175 G0 G40 X0
N180 SUPA G0 Z0 D0 M5 M9 ; Z approaches tool change position
N185 SUPA X0 Y0 ; X and Y to tool change position
;********************Tool change********************
N190 T3 M6 ; 27/64 drill
MSG ("Drill 3 holes")
N195 G0 X1.75 Y2 S1500 M3 M8 ; approach first drill hole
N200 Z1 D1
N205 MCALL CYCLE81 (1,0,.1,-.5,)
N207 X1.75 ; drill first hole
N210 X3 ; drill second hole
N215 X4.25 ; drill third hole
N220 MCALL
N221 SUPA Z0 D0 M5 M9 ; Delete modal call. Z axis traverses to machine zero
N225 SUPA X0 Y0
MSG ()
N230 M30 ; End of program

 Siemens AG, 2004. All rights reserved


2-78 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.5 Second programming example "milling"

6.0
5.0
1/2-13
1.4524
X 1.0 DP

4.0 1.375
1.25

2.0

3.5 2.5

2.0 R

0.75 0.75

0.25

0.5 3.0 R 0.375 R

Dimensions in inches

Dimension drawing of workpiece "The Raised Boss" (not to size).

0.25

0.25

Side view
Dimensions in inches

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-79
2 2
Fundamental Principles of NC Programming 03.04
2.6 Programming example "turning"

2.6 Programming example "turning"

The sample program contains radius


programming and tool radius compensation.

Programming example

%_N_1001_MPF ;Program name

N5 G0 G53 X280 Z380 D0 ;Start point

N10 TRANS X0 Z250 ;Zero offset


N15 LIMS=4000 ;Speed limitation (G96)
N20 G96 S250 M3 ;Select constant cutting speed
N25 G90 T1 D1 M8 ;Select tool and offset
N30 G0 G42 X-1.5 Z1 ;Activate tool with tool radius compensation
N35 G1 X0 Z0 F0.25
N40 G3 X16 Z-4 I0 K-10 ;Rotate radius 10
N45 G1 Z-12
N50 G2 X22 Z-15 CR=3 ;Rotate radius 3
N55 G1 X24
N60 G3 X30 Z-18 I0 K-3 ;Rotate radius 3
N65 G1 Z-20
N70 X35 Z-40
N75 Z-57
N80 G2 X41 Z-60 CR=3 ;Rotate radius 3
N85 G1 X46
N90 X52 Z-63
N95 G0 G40 G97 X100 Z50 M9 ;Deselect tool radius compensation and
approach tool change location
N100 T2 D2 ;Call up tool and select offset
N105 G96 S210 M3 ;Select constant cutting speed
N110 G0 G42 X50 Z-60 M8 ;Activate tool with tool radius compensation
N115 G1 Z-70 F0.12 ;Rotate diameter 50
N120 G2 X50 Z-80 I6.245 K-5 ;Rotate radius 8
N125 G0 G40 X100 Z50 M9 ;Retract tool and deselect tool radius
compensation
N130 G0 G53 X280 Z380 D0 M5 ;Move to tool change location
N135 M30 ;End of program

 Siemens AG, 2004. All rights reserved


2-80 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
2 2
03.04 Fundamental Principles of NC Programming
2.6 Programming example "turning"

45°
X
R8

R3
R3

R3

Ø 50
R10

Ø 35
Ø 30
Ø 16
Z

4
12
15

18

20

40

57

60

62

70

80

Machine manufacturer (MH2.5)


The MD settings must be defined correctly before the program can run on the machine.
References: /FB/ K2, "Axes, Coordinate Systems,.."

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 2-81
2 2
Fundamental Principles of NC Programming 03.04
2.6 Programming example "turning"

Notes

 Siemens AG, 2004. All rights reserved


2-82 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data

Positional Data

3.1 General information .................................................................................................. 3-84

3.2 Dimensions absolute/relative, G90/G91 ................................................................... 3-85


3.2.1 G91 extension (SW 4.3 and later)............................................................................. 3-88

3.3 Absolute dimensions for rotary axes, DC, ACP, ACN .............................................. 3-89

3.4 Dimensions inch/metric, G70/G700, G71/G710 ....................................................... 3-91

3.5 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA ........................ 3-94

3.6 Selection of working plane, G17 to G19 ................................................................... 3-98

3.7 Programmable working area limitation, G25/G26................................................... 3-101

3.8 Reference point approach, G74.............................................................................. 3-104

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-83
3 3
Positional Data 03.04
3.1 General information

3.1 General information


In this section you will find a description of the
commands that normally appear at the beginning of a
NC program.

The way in which these functions are combined is not


intended to be a patent remedy. For example, the
choice of working plane may be made at another
point in the NC program.

The real purpose of this and all the following sections


is to illustrate the conventional structure of an NC
program.

 Siemens AG, 2004. All rights reserved


3-84 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.2 Dimensions absolute/relative, G90/G91

3.2 Dimensions absolute/relative, G90/G91


Programming
Absolute dimensioning
G90
X=AC(…) Y=AC(…) Z=AC(…)

Incremental dimensioning
G91 or
X=IC(…) Y=IC(…) Z=IC(…)

Explanation of the parameters

X Y Z Axis identifiers of the axes to be traversed


=AC Absolute dimensions (non-modal)
=IC Incremental dimensions (non-modal)

Function
The G90/91 commands and the non-modal
dimensions AC/IC are used to define the system for
describing the approach to setpoints.

Sequence
Y
Absolute dimensioning, G90
The dimensions refer to the origin of the active
coordinate system. You program the point to which
the tool is to travel, e.g. in the workpiece coordinate
G91
35

system.
G90
85

20

Incremental dimensioning,
The dimensions refer to the last point approached.
30

You program how far the tool is to travel. X


10 50
G91
Non-modal absolute or incremental
60
dimensioning AC, IC G90
When G91 is active, AC can be used to allow entry of
absolute dimensions for individual axes in a specific
block. When G90 is active, IC can be used to allow
entry of incremental dimensions for individual axes in
a specific block.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-85
3 3
Positional Data 03.04
3.2 Dimensions absolute/relative, G90/G91

Additional notes
X
The commands G90 and G91 generally
apply to all axes programmed in subsequent NC
blocks.
Both commands are modal.

G91
G90
On conventional turning machines it is standard
practice to interpret incremental NC blocks in the

Ø 25
transverse axis as radius values, while diameter
dimensions are valid for absolute coordinates. This Z
G91 7.5
conversion for G90/G91 is performed using the
commands DIAMON, DIAMOF or DIAM90. G90

You will find further information in "Special turning


functions" (Section 4.13) in this Programming Guide.

Programming example Z X
The traverse paths are entered in absolute
5

coordinates with reference to the workpiece zero.


Y

The center point coordinates I and J for circular


interpolation are specified blockwise in absolute
25

coordinates, since the arc center is programmed –


independent of G90/G91 – in incremental
coordinates as standard.
35

X
20 25

N10 G90 G0 X45 Y60 Z2 T1 S2000 M3 Absolute dimensioning, rapid traverse to


XYZ, tool, spindle on clockwise
N20 G1 Z-5 F500 Tool infeed at feedrate
N30 G2 X20 Y35 I=AC(45) J=AC(35) Circle center point in absolute dimensions
or
N30 G2 X20 Y35 I0 J-25 Circle center point in incremental dimensions
N40 G0 Z2 Retract
N50 M30 End of block

 Siemens AG, 2004. All rights reserved


3-86 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.2 Dimensions absolute/relative, G90/G91

2.5

Ø 11
Z

15
21
27

N5 T1 D1 S2000 M3 Tool, spindle on clockwise

N10 G0 G90 X11 Z1 Absolute dimensioning, rapid traverse to


XYZ
N20 G1 Z-15 F0.2 Tool infeed at feedrate
N30 G3 X11 Z-27 I=AC(-5) K=AC(-21) Circle center point in absolute dimensions
or
N30 G3 X11 Z-27 I-8 K-6 Circle center point in incremental dimensions
N40 G1 Z-40 Retract
N50 M30 End of block

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-87
3 3
Positional Data 03.04
3.2 Dimensions absolute/relative, G90/G91

3.2.1 G91 extension (SW 4.3 and later)

Programming
Incremental dimensioning G91 or
X=IC(…) Y=IC(…) Z=IC(…)
• without traversing through the active tool offset
SD 42442 TOOL_OFFSET_INCR_PROG = 0
• without traversing through the active zero offset
SD 42440 FRAME_OFFSET_INCR_PROG = 0

Explanation of the parameters

SD 42440 FRAME_OFFSET_INCR_PROG
= 0 The active zero offset is not traversed.
SD 42442 TOOL_OFFSET_INCR_PROG
= 0 The active tool offset is not traversed.

Function
For applications such as scratching, it is necessary
only to traverse the path programmed in the
incremental coordinates. The active zero offset or
tool offset is not traversed.
This can be set separately via SD
FRAME_OFFSET_INCR_PROG (zero point) and
TOOL_OFFSET_INCR_PROG (tool offset).

Programming example
• G54 contains an offset of 25 in X
• SD 42440 FRAME_OFFSET_INCR_PROG = 0
(no retraction of the active zero offset)

N10 G90 G0 G54 X100


N20 G1 G91 X10 Traverse X by 10 mm, the offset is not
traversed
N30 G90 X50 Traverse to position X75, the offset is
traversed

 Siemens AG, 2004. All rights reserved


3-88 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.3 Absolute dimensions for rotary axes, DC, ACP, ACN

3.3 Absolute dimensions for rotary axes, DC, ACP, ACN


Programming

A=DC(…) B=DC(…) C=DC(…)


or
A=ACP(…) B=ACP(…) C=ACP(…)
or
A=ACP(…) B=ACP(…) C=ACP(…)

Explanation of the parameters

A B C Axis identifier for rotary axis to be traversed


DC Absolute dimensions, approach position directly
ACP Absolute dimensions, approach position in positive direction
ACN Absolute dimensions, approach position in negative direction

Function
With the above parameters you can define the
desired approach strategy for positioning rotary axes.

Sequence
DC Maximum
Absolute dimensioning with DC traversing range

The rotary axis travels to the position programmed in


absolute coordinates along the shortest direct path.
The rotary axis traverses across an area of up to
180°.

ACP ACN
Absolute dimensioning with ACP
The rotary axis travels to the positions programmed
in absolute coordinates in the positive direction of
axis rotation (counterclockwise).

Absolute dimensioning with ACN


The rotary axis travels to the positions programmed in
absolute coordinates in the negative direction of axis
rotation (clockwise).

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-89
3 3
Positional Data 03.04
3.3 Absolute dimensions for rotary axes, DC, ACP, ACN

The traversing range between 0° and 360° must be


set in the machine data (modulo method) for
positioning with directional data (ACP, ACN). G91 or
IC must be programmed to traverse modulo rotary
axes by more than 360° in a block. You will find more
information on the previous pages.

The positive direction of rotation (clockwise or


counterclockwise) is set in the machine data.

Additional notes
All of the commands are modal.
You can also use DC, ACP and ACN for spindle
positioning from zero speed.
Example:
SPOS=DC(45)

Programming example
Z X
Machining on a rotary table: The tool is stationary, the
table rotates through 270° in clockwise direction to
5

produce a circular groove. Y

X
270°

N10 SPOS=0 Spindle in position control


N20 G90 G0 X-20 Y0 Z2 T1 Absolute, infeed in rapid traverse
N30 G1 Z-5 F500 Reduce feed
N40 C=ACP(270) The table rotates through 270° in
clockwise direction (positive), the tool
mills a circular groove
N50 G0 Z2 M30 Lift, end of program

 Siemens AG, 2004. All rights reserved


3-90 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.4 Dimensions inch/metric, G70/G700, G71/G710

3.4 Dimensions inch/metric, G70/G700, G71/G710


Programming
Call
G70 or G71
G700 or G710 SW 5 and higher

Explanation of the commands

G70 Imperial measure (length [inches])


G71 Metric measure (length [mm])
G700 Imperial measure (length [inch]; feedrate [inch/min])
G710 Metric measure (length [mm]; feed [mm/min])

Function
Depending on the dimensions in the production
drawing, you can program workpiece geometries
alternately in metric measures and inches.

In SW 5 and higher, the functionality of G70/G71 has


been extended with G700/G710. In addition to the
geometrical parameters, the technological parameters,
such as feed F, are interpreted during parts program
execution in the system of units set in G700/G710.

Sequence
G70 or G71
You can instruct the control to convert the following
geometrical dimensions (with necessary deviations)
into the system of units not set and then enter them
directly (see examples):
• Positional data X, Y, Z, …
• Intermediate point coordinates I1, J1, K1
interpolation parameters I, J, K and circle radius
CR in circle programming
• Thread lead
• Programmable zero offset (TRANS)
• Polar radius RP

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-91
3 3
Positional Data 03.04
3.4 Dimensions inch/metric, G70/G700, G71/G710

All other parameters such as feedrates, tool offsets or


settable zero offsets are interpreted (when using
G70/G71) in the default system of units (MD 10240:
SCALING_SYSTEM_IS_METRIC).

The representation of system variables and machine


data is also independent of the G70/G71 context.

G700 or G710
In SW 5 and higher, the controller interprets all
feedrates used with G700/G710 in the programmed
system of units, unlike G70/G71.

The G700/G710 codes are contained in the same


group as G70/G71.

For information about the action of G70/G71 and


G700/G710 on NC addresses, please refer to
Section 12.2 "List of addresses".

The programmed feedrate value is modal and thus does


not change automatically on subsequent
G70/G71/G700/G710 selections.

If the feedrate in the G70/G71/G700/G710 context is to


be activated, a new F value must be programmed
explicitly.

All length-related NC data, machine data and setting


data for G700/G710 are always read and written in the
programmed context of G700/G710.
References: /FB, G2/, Sect. 2.2 "Metric/Inch
system of units"

 Siemens AG, 2004. All rights reserved


3-92 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.4 Dimensions inch/metric, G70/G700, G71/G710

Synchronized actions
If positioning tasks are performed in synchronized
actions and no G70/G71/G700/G710 command is
programmed in the synchronized action itself, the
G70/G71/G700/G710 context active at the time of
execution determines which system of units is used.

References: /PGA/ Chapter 10, Motion-synchronous


actions
/FBSY/, Synchronized Actions

Programming example Y
Change between metric and imperial input with basic G70

setting metric (G70/G71).


G71 G70

3.54"
3.22" G71
30 X
20
1.18"
2.75"
90

N10 G0 G90 X20 Y30 Z2 S2000 M3 T1 Basic setting metric


N20 G1 Z-5 F500 At feed in Z [mm/min]
N30 X90
N40 G70 X2.75 Y3.22 Enter destination positions in inches, G70
is active until deselected by G71 or
end of program
N50 X1.18 Y3.54
N60 G71 X 20 Y30 Enter positions in mm
N70 G0 Z2 M30 Retract in rapid traverse,
end of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-93
3 3
Positional Data 03.04
3.5 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA

3.5 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA

Programming
Call
G54 or G55 or G56 or G57 or G505 … G599
Deactivate
G53 or G500 or SUPA or G153

Explanation of the commands

G53 Non-modal deactivation of current settable zero offset and


programmable zero offset
G54 to G57 Call the second to fifth settable zero offset/frame
G153 Non-modal suppression of settable, programmable and total basic frame
G500 • G500=zero frame, default setting,
(contains no offset, rotation, mirroring or scaling)
• Deactivation of settable zero offsets / frames (G54 to G599)
until the next call.
• Activation of the total basic frame ($P_ACTBFRAME).
• G500 is not 0
• Activation of first settable zero offset/frames ($P_UIFR[0])
and
• Activation of total basic frame ($P_ACTBFRAME), or a
modified basic frame is activated.
SUPA Non-modal deactivation, including programmed offsets, handwheel
offsets (DRF), external zero offset and PRESET offset.
G505 ... G599 Call the 6th to the 99th settable zero offset.

 Siemens AG, 2004. All rights reserved


3-94 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.5 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA

Function Milling:

The settable zero offset relates the workpiece zero


Z Y
on all axes to the origin of the basic coordinate Z

system. Y
It is therefore possible to call up cross-program zero
points for different fixtures with a G command.

G54

X
X

For turning, e.g. the offset value for tightening the Turning:
chuck is entered in G54.

M W

G54

Sequence Y

Set offset values Scale


On the operator panel or universal interface, enter
the following values in the internal control zero offset Y
table:
X

• Coordinates for the offset


• Angle for rotated clamping and
Rotate

• Scale factors if necessary

Please see the Operator's Guide for the procedure. Offset X

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-95
3 3
Positional Data 03.04
3.5 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA

Activate zero offset


In the NC program, the zero offset is moved from the
Y
machine coordinate system to the workpiece
coordinate system by executing commands G54 to Y
X
G57. Y

In the next NC block with a programmed movement,


X Y
all of the positional parameters and thus the tool
movements refer to the workpiece zero which is now
valid.
X
The four available zero offsets can be used, e.g. for
multiple machining operations, to describe four X
workpiece clamping positions simultaneously and
execute them in the program.

Other settable zero offsets, G505 to G599


Command numbers G505 to G599 are available for
this purpose. This enables you to create up to 100
settable zero offsets in total, in addition to the four
default zero offsets G54 to G57, by using the
machine data. They are stored in the zero point
memory.
You will find more information in Chapter 4.

Deactivate zero offset


Command G500 activates the first settable zero
offset including basic offset, i.e. when zero frame is
selected as the default, the current settable zero
offset is deactivated.
G53 suppresses the programmable and settable
offset non-modally.
G153 has the same effect as G53 and also
suppresses the total basic frame.
SUPA has the same effect as G153 and also
suppresses the DRF offset, overlaid motions and
external ZOs.
You will find more information on programmable zero
offsets in Chapter 6 (frames).

Additional notes
The basic setting at program start, e.g. G54 or G500,
can be set with machine data.

 Siemens AG, 2004. All rights reserved


3-96 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.5 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA

Programming example
In this example, three workpieces, arranged on a Y
M
Y
pallet according to the zero offset values G54 to G56,
are machined successively.
X
The machining sequence is programmed in
Y Y
subprogram L47.

X X

6
G5
G55

54
X

G
M
TRANS X10 M0

N10 G0 G90 X10 Y10 F500 T1 Approach


N20 G54 S1000 M3 Call the first zero offset, spindle clockwise
N30 L47 Run program, in this case as a
subprogram
N40 G55 G0 Z200 Call the second zero offset Z via obstacle
N50 L47 Run program as subprogram
N60 G56 Call third zero offset
N70 L47 Run program as subprogram
N80 G53 X200 Y300 M30 Suppress zero offset, end of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-97
3 3
Positional Data 03.04
3.6 Selection of working plane, G17 to G19

3.6 Selection of working plane, G17 to G19


Programming
Call
G17 or G18 or G19

Explanation of the commands

G17, Working plane X/Y Infeed direction Z


G18, Working plane Z/X Infeed direction Y
G19, Working plane Y/Z Infeed direction X

The axis assignment for G17, G18, G19 specified


above is based on the supposition that Xis assigned
to the first geometry axis, Y to the second geometry
axis and Z to the third geometry axis.

Function Milling:

The specification of the working plane, in which the Z

Infeed
contour is to be machined also defines the following
functions:

• The plane for tool radius compensation. Y


X
• The infeed direction for tool length compensation
depending on the tool type.
• The plane for circular interpolation.

In
fee
d d
In fee

 Siemens AG, 2004. All rights reserved


3-98 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.6 Selection of working plane, G17 to G19

Sequence Turning:

It is advisable to define the working plane at the Y


beginning of the program.
X
7
The working plane must be specified when the tool G1
path compensation G41/G42 (see Section "Tool
offsets") is called so that the control can correct the G1
9
tool length and radius. In the initial setting, G17 (X/Y
plane) is defined for milling and G18 (Z/X plane) is
G1
defined for turning. 8

Machining on inclined planes


Rotate the coordinate system with ROT (see Section
"Coordinate system offset") to position the coordinate
axes on the inclined surface. The working planes
rotate accordingly.

Tool length compensation in inclined


planes
The tool length compensation generally always refers
to the fixed, non-rotated working plane.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-99
3 3
Positional Data 03.04
3.6 Selection of working plane, G17 to G19

Note
The tool length components can be calculated
according to the rotated working planes with the
functions for "Tool length compensation for orientable
tools". For more information on this calculation type,
please refer to Section "Tool Offsets".
The offset plane is selected with CUT2D, CUT2DF.
For more information see Section "Tool Offsets".

Additional notes
The control provides convenient coordinate
transformation functions for the spatial definition of
the working plane.
For further information, please refer to Section
"Coordinate system offset".

Programming example
The "conventional" approach:
Define the working plane, call up the tool type and
tool offset values, activate the path compensation,
program the traversing movements.
Example for milling tool:
N10 G17 T5 D8 G17 call the working plane, in this case X/Y T, D tool call.
The length compensation is performed in the Z direction.
N20 G1 G41 X10 Y30 Z-5 F500 The radius compensation is performed in the X/Y plane.
N30 G2 X22.5 Y40 I50 J40 Circular interpolation / tool radius compensation in the X/Y
plane.

 Siemens AG, 2004. All rights reserved


3-100 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.7 Programmable working area limitation, G25/G26

3.7 Programmable working area limitation, G25/G26


Programming

G25 X…Y…Z… (programmed in a separate NC block)


G26 X…Y…Z… (programmed in a separate NC block)
WALIMON, WALIMOF

Explanation of the commands

G25, X Y Z Lower working area limitation, value assignment in the channel axes*
G26, X Y Z Upper working area limitation, value assignment in the channel axes*
WALIMON, Activate working area limitation
WALIMOF, Deactivate working area limitation
* Value assignments in the basic coordinate system

Function
X
G25/G26 limits the working area in which the tool can
Protection zone
traverse in all channel axes.
Working area

These commands allow you to set up protection


zones in the working area which are out of bounds for
tool movements. Z
M W
In addition to programming values using G25/G26,
you can also parameterize them in setting data.

The axial setting data define the axes for which the
working area limitation is valid.

The working area limitation for all validated axes must be


programmed with the WALMON command. The
WALIMOF command deactivates the working area
limitation.

For further information about entering values in setting


data via HMI inputs and this functionality, see:
References: /BAD/, Parameters operating area,
/FB1/, A3, Monitoring, Protection Zones

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-101
3 3
Positional Data 03.04
3.7 Programmable working area limitation, G25/G26

Sequence
Reference points on the tool
When tool length compensation is active, the
reference point is the tip of the tool, otherwise it is the
toolholder reference point. If the tool is positioned
outside the specified area or leaves this area, the
program stops executing.

Programmable working area limitation,


G25/G26 Z
Y
An upper (G26) and lower (G25) working area limit
can be defined for each axis. These values apply G2
6Z
immediately and are not lost on Reset and when the G2
5Y
control is switched on again.
The tool (milling tool) radius can be changed in the
G2
channel-specific machine data 6Y
5X
$MC_WORKAREA_WITH_TOOL_RADIUS (see G2
G2
"Advanced"). 5Z

G2
5Y
6X
Basic G2
The coordinates for the individual axes apply in the coordinate
system X
basic coordinate system!

Activate/deactivate
working area limitation
The command WALIMON activates working area
limitation for all axes with the values programmed in
G25/G26.

WALIMON is the default setting. It therefore only has


to be programmed if working area limitation has been
disabled.

The command WALIMOF is used to deactivate


working area limitation for all of the axes.

Additional notes

You will find a description of subprogram CALCPOSI


in the "Advanced" programming guide. This routine
can be used to check in advance whether traversal of
the planned path will take into account working area
limitations or protection zones.

 Siemens AG, 2004. All rights reserved


3-102 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.7 Programmable working area limitation, G25/G26

Additional notes
G25/G26 can also be used to program limits for
spindle speeds at the address S.
For further information, please refer to Chapter 7
"Feed control and spindle motion".

Programming example Protection zone


X
B
A protection zone is defined in the working area of a
turning machine. This protects the surrounding
equipment such as turrets, measuring stations, etc. X+

80
against damage.
Default setting: WALIMON Working area

M W Z
B

80
X-

300
30

N10 G0 G90 F0.5 T1


N20 G25 X-80 Z30 Define the lower limit for the individual
coordinate axes
N30 G26 X80 Z330 Define the upper limit
N40 L22 Cutting program
N50 G0 G90 Z102 T2 To tool change location
N60 X0
N70 WALIMOF Deactivate working area limitation

N80 G1 Z-2 F0.5 Boring


N90 G0 Z200 Back
N100 WALIMON Activate working area limitation
N110 X70 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-103
3 3
Positional Data 03.04
3.8 Reference point approach, G74

3.8 Reference point approach, G74


Programming

G74 X1=0 Y1=0 Z1=0 A1=0 ... (programmed in a separate NC block)

Explanation of the commands

G74, Reference point approach


X1=0 Y1=0… The specified machine axis address X1, Y1... approaches the reference
point.

Function
When the machine has been powered up (where
incremental position measurement systems are
used), all of the axis slides must approach their
reference point.
Only then can traversing movements be
programmed.

The reference point can be approached in the NC


program with G74.

Sequence
The speed at which the axis slide travels is defined in
the machine data and cannot be programmed.

The control detects the traversing direction


automatically.

 Siemens AG, 2004. All rights reserved


3-104 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
3 3
03.04 Positional Data
3.8 Reference point approach, G74

The machine axis addresses are programmed (X1,


Y1, Z1, etc.)!

A transformation should not be programmed for an


axis which is to approach the reference point with
G74.

Deactivate transformation with command TRAFOOF.

Programming example
When the measurement system is changed, the
reference point is approached and the workpiece
zero is initialized.

N10 SPOS=0 Position control


N20 G74 X1=0 Y1=0 Z1=0 C1=0 Reference point approach for linear axes
and rotary axes
N30 G54 Zero offset
N40 L47 Cutting program
N50 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 3-105
3 3
Positional Data 03.04
3.8 Reference point approach, G74

Notes

 Siemens AG, 2004. All rights reserved


3-106 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands

Programming Motion Commands

4.1 General information ................................................................................................ 4-108

4.2 Traversing commands with polar coord., G110, G111, G112, AP, RP .................. 4-110

4.3 Rapid traverse movement, G0, RTLION, RTLIOF (SW 6.1 and higher) ............... 4-114

4.4 Linear interpolation, G1........................................................................................... 4-118

4.5 Circular interpolation, G2/G3, CIP .......................................................................... 4-121

4.6 Helical interpolation, G2/G3, TURN ........................................................................ 4-134

4.7 Involute interpolation, INVCW, INVCCW ................................................................ 4-136

4.8 Contour definitions .................................................................................................. 4-140


4.8.1 Straight line with angle............................................................................................ 4-140
4.8.2 Two straight lines .................................................................................................... 4-141
4.8.3 Three straight lines ................................................................................................. 4-142
4.8.4 End point programming with angle ......................................................................... 4-143

4.9 Thread cutting with constant lead, G33 .................................................................. 4-144


4.9.1 Programmable run-in and run-out path (SW 5 and higher) .................................... 4-150

4.10 Linear progressive/degressive thread lead change, G34, G35


(SW 5.2 and higher)................................................................................................ 4-152

4.11 Rigid tapping, G331, G332 ..................................................................................... 4-154

4.12 Tapping with compensating chuck, G63................................................................. 4-156

4.13 Stop with thread cutting, LFOF, LFON, LFTXT, LFWP, LFPOS ............................ 4-158

4.14 Approaching a fixed point, G75............................................................................... 4-162

4.15 Travel to fixed stop, FXS, FXST, FXSW ................................................................. 4-163

4.16 Special turning functions......................................................................................... 4-169


4.16.1 Position of workpiece .............................................................................................. 4-169
4.16.2 Dimensions for: Radius, diameter, DIAMON, DIAMOF, DIAM90 ........................... 4-170

4.17 Chamfer, rounding .................................................................................................. 4-172

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-107
4 4
Programming Motion Commands 03.04
4.1 General information

4.1 General information

Programming motion commands


In this section you will find a description of all the
travel commands you can use to machine workpiece
contours.

You can program straight lines and arcs of a circle. A


helix can be produced by combining these two
elements.

Executed in succession, these contour elements


produce the workpiece contour.

Before a machining process is started, you need to


position the tool in such a way as to avoid any
damage to the tool or workpiece.

Start point – destination point Milling:


The traversing movement always runs from the last
approached position to the programmed destination
position. This destination position is also the start
position for the next travel command. 4

Number of axis values


5 3
Depending on the control configuration, you can
program motions for up to 8 axes in each motion
block. These may include path axes, synchronized 6
axes, positioning axes and spindle oscillation mode. 2

 Siemens AG, 2004. All rights reserved


4-108 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.1 General information

Turning:

X
5
4
3
2
1

An axis address can only be programmed once in


each block.

These commands can be programmed in Cartesian


or polar coordinates.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-109
4 4
Programming Motion Commands 03.04
4.2 Traversing commands with polar coord., G110, G111, G112, AP, RP

4.2 Traversing commands with polar coord., G110, G111, G112, AP, RP

Programming
Define pole:
G110, G111, G112 X… Y… Z…
G110, G111, G112 AP=… RP=…

Traversing commands with polar coordinates:


The new end point is defined in relation to
G0 AP=… RP=…
a pole.
G1 AP=… RP=…
G2 AP=… RP=…
G3 AP=… RP=…

Explanation of the commands and


parameters
G110 Pole parameter, with reference to the last approached position
G111 Pole parameter, absolute in the workpiece coordinate system
G112 Pole parameter, with reference to the last valid pole
AP= Polar angle, value range ±0…360°, angle refers to horizontal axis of the
working plane
RP= Polar radius in mm or inches

All the commands relating to pole input must be programmed in a separate NC block

Function Y

A workpiece is frequently dimensioned with a central


90°
point as origin; the dimensions are given in terms of
angles and radii, e.g. in drilling patterns.

162° 18°
Polar coordinates can be used to program these
dimensions directly in accordance with the drawing.
n

234° 306° X

 Siemens AG, 2004. All rights reserved


4-110 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.2 Traversing commands with polar coord., G110, G111, G112, AP, RP

Sequence
Traversing commands
The positions specified by polar coordinates can be
traversed with G0, G1, G2 and G3.

Working plane
The polar coordinates are valid in the working plane
selected with G17 to G19.

Cylinder coordinates
The 3rd geometry axis, which lies perpendicular to
the working plane, can also be specified in Cartesian
coordinates.
This enables spatial parameters to be programmed in
Z
cylindrical coordinates.
Example: G17 G0 AP… RP… Z…

RP

AP

Defining the pole G110, G111, G112


The pole can be specified in Cartesian or polar
coordinates. Y
G112 (X)

G commands G110 to G112 are used to provide a


unique definition of the reference point for Pole 3
60°
dimensions. Absolute or incremental dimensioning
G112 (Y)
(AC/IC) therefore has no effect on the systematics
90.
specified in the G command. Pole 2 G110 (Y)

30°
If no pole is specified, the origin of the active Pole 1
workpiece coordinate system applies.
G111(Y) X

G111(X) G110 (X)

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-111
4 4
Programming Motion Commands 03.04
4.2 Traversing commands with polar coord., G110, G111, G112, AP, RP

Polar angle AP
Value range 0…±360°.
Y
When absolute dimensions are specified, the angular
reference is based on the horizontal axis of the

0)
working plane, e.g. X axis with G17. The positive

=I 0
(2
AP P=5
C
direction of rotation is counter-clockwise.

A
0
When incremental coordinates are entered =3
AP
(AP=IC…), the last angle programmed is taken as the
reference. 20°
The polar angle is stored until a new pole is defined
30°
or the working plane is changed.
X
Polar radius RP
The polar radius is specified in mm or inches in
absolute positive values. RP is stored until a new
value is input.

SW 4.1 and higher


If the modally active polar radius is RP = 0
The polar radius is calculated from the distance
between the starting point vector in the polar plane
and the active pole vector. The calculated polar
radius is stored modally afterwards.
This applies irrespective of the selected pole
definition G110, G111, G112. If both points are
programmed identically, this radius becomes 0 and
alarm 14095 is generated.
If a pole angle AP is programmed with RP = 0
If the current block contains a polar angle AP rather
than a polar radius RP and if there is a difference
between the current position and pole in workpiece
coordinates, then this difference is applied as the
polar radius and stored modally.
If the difference = 0, the pole coordinates are
specified again and the modal polar radius remains
zero.

The following general rule applies:


You must not program Cartesian coordinates, such
as interpolation parameters or axis addresses etc.,
for the selected working plane in NC blocks with polar
end position coordinates.

Additional notes
In the NC program you can switch between polar and
Cartesian coordinates, block by block.

 Siemens AG, 2004. All rights reserved


4-112 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.2 Traversing commands with polar coord., G110, G111, G112, AP, RP

Programming example Y

Making a hole pattern: The positions of the holes are


specified in polar coordinates. Each hole is machined
72° 72°
with the same production sequence: Predrill, drill to
size, ream etc. 30
The machining sequence is stored in a subprogram. 18°

72°

38
72°
X

43

N10 G17 G54 Working plane X/Y, workpiece zero


N20 G111 X43 Y38 Define pole
N30 G0 RP=30 AP=18 Z5 Approach starting point, position in
cylindrical coordinates
N40 L10 Subprogram call
N50 G91 AP=72 Approach next position in rapid traverse,
polar angle in incremental dimensions,
polar radius from block N30 is still stored
and does not need to be specified
N60 L10 Subprogram call
N70 AP=IC(72) …
N80 L10 …
N90 AP=IC(72)
N100 L10 …
N110 AP=IC(72)
N120 L10 …
N130 G0 X300 Y200 Z100 M30 Retract tool, end of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-113
4 4
Programming Motion Commands 03.04
4.3 Rapid traverse movement, G0, RTLION, RTLIOF

4.3 Rapid traverse movement, G0, RTLION, RTLIOF


(SW 6.1 and higher)

Programming
G0 X… Y… Z …
G0 AP=… RP=…
RTLIOF, RTLION (SW 6.1 and higher)

Explanation of the parameters

X Y Z End point in Cartesian coordinates


AP= End point in polar coordinates, in this case the polar angle
RP= End point in polar coordinates, in this case the polar radius
RTLIOF with G0 Nonlinear interpolation (each path axis interpolates as a single axis)
RTLION with G0 Linear interpolation (path axes are interpolated together)

Function
You can use the rapid traverse movements to
position the tool rapidly, to travel round the workpiece
or to approach tool change locations.

This function is not suitable for workpiece machining!

Sequence
Z
The tool movement programmed with G0 is executed
at the highest possible speed (rapid traverse). The
rapid traverse speed is defined separately for each
Y
axis in machine data.
id t
rap
If the rapid traverse movement is executed f the vemen
ho o
Pat erse m
simultaneously on several axes, the rapid traverse trav
speed is determined by the axis which requires the Path
section (Z)
most time for its section of the path.
Path section (Y)
Path section (X)

Additional notes
G0 is modal.

 Siemens AG, 2004. All rights reserved


4-114 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.3 Rapid traverse movement, G0, RTLION, RTLIOF

Function
SW 6.1 and higher
Traversing path axes as positioning axes
with G0
Path axes can travel in one of two different modes to
execute movements in rapid traverse:
• Linear interpolation: (behavior in earlier SW
version)
The path axes are interpolated together.
• Non-linear interpolation: (SW 6 and higher)
Each path axis is interpolated as an individual
(positioning) axis independently of the other axes
involved in the rapid traverse movement.

With parts program command:


• RTLIOF nonlinear interpolation is activated
• RTLION linear interpolation is activated

Linear interpolation must always be selected in the


following cases:
• With a G code combination including G0 which
does not permit positioning movements (e.g.
G40/41/42)
• With a combination of G0 and G64
• When the compressor is active
• When a transformation is active

With nonlinear interpolation, the setting for the relevant


positioning axis BRISKA, SOFTA, DRIVEA applies
with regard to axial jerk.

Since a different contour can be traversed in


nonlinear interpolation mode, synchronized actions
that refer to coordinates of the original path are not
operative in some cases!

Sequence
Traversing path axes as positioning axes with G0
Example:
G0 X0 Y10
G0 G40 X20 Y20
G0 G95 X100 Z100 m3 s100

Path POS[X]=0 POS[Y]=10 is traversed in path mode.


No revolutional feedrate is active if path POS[X]=100
POS[Z]=100 is traversed.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-115
4 4
Programming Motion Commands 03.04
4.3 Rapid traverse movement, G0, RTLION, RTLIOF

Additional notes
SW 6.2 and higher
Settable block change time with G0:
It is possible to set a new motion end criterion, i.e.
FINEA, COARSEA or IPOENDA, in single axis
interpolation mode for block changes within the
braking ramp.
All axes can reach their end points independently of
one another through a combination of "Block change
settable in braking ramp of single axis interpolation"
and "Traverse path axes as positioning axes with G0
rapid traverse".
In this way, two sequentially programmed X and Z
axes are treated like positioning axes in conjunction
with G0. The block change to axis Z can be initiated
by axis X as a function of the braking ramp time
setting (100-0%). Axis Z starts to move while axis X is
still in motion. Both axes approach their end point
independently of one another.
You will find more information in Chapter 7.

Programming example for milling: Milling:

G0 is used for approaching starting positions or tool


Y
change locations, retracting the tool, etc.

N6
0
N2
0
65
20

X
30
80

N10 G90 S400 M3 Absolute dimensioning, spindle clockwise


N20 G0 X30 Y20 Z2 Approach start position
N30 G1 Z-5 F1000 Tool infeed
N40 X80 Y65 Travel on straight line
N50 G0 Z2
N60 G0 X-20 Y100 Z100 M30 Retract tool, end of program

 Siemens AG, 2004. All rights reserved


4-116 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.3 Rapid traverse movement, G0, RTLION, RTLIOF

Programming example for turning: Turning:

N80

0
N2

Ø 60
Ø 25
7.5 Z

35
50

N10 G90 S400 M3 Absolute dimensioning, spindle clockwise


N20 G0 X25 Z5 Approach start position
N30 G1 G94 Z0 F1000 Tool infeed
N40 G95 Z-7.5 F0.2
N50 X60 Z-35 Travel on straight line
N60 Z-50
N70 G0 X62
N80 G0 X80 Z20 Retract tool
N90 M30 End of program

G0 cannot be replaced with G.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-117
4 4
Programming Motion Commands 03.04
4.4 Linear interpolation, G1

4.4 Linear interpolation, G1

Programming
G1 X… Y… Z … F…
G1 AP=… RP=… F…

Explanation of the parameters

X Y Z End point in Cartesian coordinates


AP= End point in polar coordinates, in this case the polar angle
RP= End point in polar coordinates, in this case the polar radius
F Feedrate in mm/min

Function
With G1, the tool travels along straight lines that are
parallel to the axis, inclined or in any orientation in
space. Linear interpolation permits machining of 3D
surfaces, grooves, etc.

Sequence
The tool travels at feedrate F along a straight line
from the current starting point to the programmed
destination point. The workpiece is machined along
this path. You can enter the destination point in
Cartesian or polar coordinates.
Example:
G1 G94 X100 Y20 Z30 A40 F100

The end point on X, Y, Z is approached at a feedrate of


100 mm/min; the rotary axis A is traversed as a
synchronized axis in order that all four movements are
completed at the same time.

 Siemens AG, 2004. All rights reserved


4-118 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.4 Linear interpolation, G1

Additional notes
G1 is modal. The spindle speed S and the direction of
spindle rotation M3/M4 must be specified for
machining.
FGROUP can be used to define groups of axes to
which the path feed F applies.
You will find more information in Chapter 5.

Programming example Milling:

Machining of a groove: The tool travels from the Y Y


starting point to the end point in the X/Y direction.
Infeed takes place simultaneously in the Z direction.

80

20
Z
20 X 2
80
15

N10 G17 S400 M3 Select working plane, spindle clockwise


N20 G0 X20 Y20 Z2 Approach start position
N30 G1 Z-2 F40 Tool infeed
N40 X80 Y80 Z-15 Travel along inclined straight line
N50 G0 Z100 M30 Retract to tool change point

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-119
4 4
Programming Motion Commands 03.04
4.4 Linear interpolation, G1

Programming example Turning:

X+ X+

6
20
Y+ Y- Z+

6 3
20

X- X-

N10 G17 S400 M3 Select working plane, spindle clockwise


N20 G0 X40 Y-6 Z2 Approach start position
N30 G1 Z-3 F40 Tool infeed
N40 X12 Y-20 Travel along inclined straight line
N50 G0 Z100 M30 Retract to tool change point

 Siemens AG, 2004. All rights reserved


4-120 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.5 Circular interpolation, G2/G3, CIP

4.5 Circular interpolation, G2/G3, CIP

Programming
G2/G3 X… Y… Z… I… J… K…
G2/G3 AP=… RP=…
G2/G3 X… Y… Z… CR=…
G2/G3 AR=… I… J… K…
G2/G3 AR=… X… Y… Z…
CIP X… Y… Z… I1=… J1=… K1=…
CT X… Y… Z…

Explanation of the commands and


parameters
G2 Travel on a circular path in clockwise direction
G3 Travel on a circular path in counterclockwise direction
CIP Circular interpolation through intermediate point
CT Circle with tangential transition

X Y Z End point in Cartesian coordinates


I J K Circle center point in Cartesian coordinates (in X, Y, Z direction)
AP= End point in polar coordinates, in this case the polar angle
RP= End point in polar coordinates, in this case polar radius corresponding to
circle radius
CR= Circle radius
AR= Aperture angle
I1= J1= K1= Intermediate points in Cartesian coordinates (in X, Y, Z direction)

There is no practical limitation on the maximum size


of the programmable radius.

Function
Circular interpolation permits machining of full circles
or arcs.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-121
4 4
Programming Motion Commands 03.04
4.5 Circular interpolation, G2/G3, CIP

Sequence
Z
Specification of working plane
The control needs the working plane parameter (G17
to G19) in order to calculate the direction of rotation for
the circle – G2 is clockwise/G3 is counterclockwise. It
Y
is advisable to specify the working plane generally. X
Exception: G3 G2
You can also machine circles outside the selected
working plane (not with arc angle and helix G2 G3
parameters). In this case, the axis addresses that you G3 G2
specify as an end point determine the circle plane.

Additional notes
Y
G2/G3 are modal.
X
7
You can use FGROUP to specify which axes are to G1
be traversed with a programmed feedrate.
You will find more information in Chapter 5. G1
9
The control provides a range of different ways to
G1
program circular movements. This allows you to 8
implement almost any type of drawing dimension
directly.

Z
For detailed descriptions please refer to the following
pages.

Programming a circle with center point and end


point
The circular movement is described by:
• the end point in Cartesian coordinates X, Y, Z and
• the circle center point at addresses I, J, K.
The identifiers have the following meanings:
I: Coordinate of the circle center point in the
X direction
J: Coordinate of the circle center point in the
Y direction
K: Coordinate of the circle center point in the
Z direction
If the circle is programmed with a center point but no
end point, the result is a full circle.

 Siemens AG, 2004. All rights reserved


4-122 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.5 Circular interpolation, G2/G3, CIP

Input in absolute and incremental dimensions


The defaults G90/G91 absolute or incremental
coordinates are valid only for the circle end point. The
center point coordinates I, J, K are normally entered
in incremental dimensions with reference to the circle
starting point. Milling:

Circle starting
You program the absolute center point non-modally Y point

with reference to the workpiece zero with: I=AC(...),


J=AC(...), K=AC(...)

30.211
J

Example for incremental dimensions:


N10 G0 X67.5 Y80.211
I

J = AC(...)
N20 G3 X17.203 Y38.029 I–17.5 J–30.211

50.000
Circle end point

38.029
F500
.
50.000
Example for absolute dimensions: X
N10 G0 X67.5 Y80.211 17.203 17.500

N20 G3 X17.203 Y38.029 I=AC(50) I = AC(...)


J=AC(50)

An interpolation parameter I, J, K with value 0 can be


omitted but the second associated parameter must
always be specified.

Example for incremental dimensions: Turning:


N120 G0 X12 Z0
N125 G1 X40 Z-25 F0.2
N130 G3 X70 Z-75 I-3.335 K-29.25 X
N135 G1 Z-95

Example for absolute dimensions:


30

N120 G0 X12 Z0
N125 G1 X40 Z-25 F0.2 Z
N130 G3 X70 Z-75 I=AC(33.33) 25
Ø 40
Ø 70

K=AC(-54.25) 75
N135 G1 Z-95 95

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-123
4 4
Programming Motion Commands 03.04
4.5 Circular interpolation, G2/G3, CIP

Programming a circle with radius and end point Milling:


The circular movement is described by:
Y CR = -...
• he circle radius CR= and
• the end point in Cartesian coordinates X, Y, Z.
C
R=
34
.9
In addition to the circle radius, you must also specify 13

80.511
the leading sign +/– to indicate whether the traversing
angle is to be greater than or less than 180°. A
positive leading sign can be omitted.

38.029
The identifiers have the following meanings:
CR = +...
CR=+…: Angle less than or equal to 180°
X
CR=–…: Angle more than 180°
17.203
67.500
Example:

N10 G0 X67.5 Y80.211


N20 G3 X17.203 Y38.029 CR=34.913 F500

You don't need to specify the center point with this


procedure. Full circles (traversing angle 360°) cannot
be programmed with CR=, but must be programmed
using the circle end point and interpolation parameters.

Example: Turning:
N125 G1 X40 Z-25 F0.2
N130 G3 X70 Z-75 CR=30
N135 G1 Z-95 X
30

Z
25
Ø 40
Ø 70

75
95

 Siemens AG, 2004. All rights reserved


4-124 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.5 Circular interpolation, G2/G3, CIP

Programming a circle with arc angle and center


point or end point
The circular movement is described by:
• the arc angle AR = and
• the end point in Cartesian coordinates X, Y, Z or
• the circle center point at addresses I, J, K

The identifiers have the following meanings:


AR=: Arc angle, value range 0° to 360°
Milling:
Please refer to the preceding pages for the meanings Circle start
point
of I, J, K. Y

30.211
Full circles (traversing angle 360°) cannot be


J

13
0.
programmed with AR=, but must be programmed

14
using the circle end point and interpolation
parameters.
I
Example: 50.000
38.029
Arc angle
N10 G0 X67.5 Y80.211
N20 G3 X17.203 Y38.029 AR=140.134 F500
or X
N20 G3 I–17.5 J–30.211 AR=140.134 F500 17.203 17.500
50.000

Example: Turning:
N125 G1 X40 Z-25 F0.2
N130 G3 X70 Z-75 AR=135.944
or
X
N130 G3 I-3.335 K-29.25 AR=135.944
or
2 . 32 6°
14
N130 G3 I=AC(33.33) K=AC(-54.25)
AR=135.944 30
N135 G1 Z-95
Z
25
Ø 33.33
Ø 40

54.25
95

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-125
4 4
Programming Motion Commands 03.04
4.5 Circular interpolation, G2/G3, CIP

Programming a circle with polar coordinates Milling:


The circular movement is described by:
• the polar angle AP= Y
• and the polar radius RP=
°
.0 5 2

13
00
The following rule applies:

4.9
2
A P=

=3
RP
The pole lies at the circle center point.

80.511
The polar radius corresponds to the circle radius.

50.000

1
11
Example:

G
N10 G0 X67.5 Y80.211
N20 G111 X50 Y50 X
N30 G3 RP=34.913 AP=200.052 F500 50.000
67.500

Example: Turning:
N125 G1 X40 Z-25 F0.2
N130 G111 X33.33 Z-54.25
N135 G3 RP=30 AP=142.326
X
N140 G1 Z-95
2 . 32 6°
14

30

Z
25

Ø 33.33
Ø 40
54.25
95

 Siemens AG, 2004. All rights reserved


4-126 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.5 Circular interpolation, G2/G3, CIP

Programming example Milling:


Y 25.52
The following program lines contain an example for
each circular programming possibility. The necessary
dimensions are shown in the production drawing on
the right.

50
113.3
269.3° J

70
44.48
I
X
90
115
133

N10 G0 G90 X133 Y44.48 S800 M3 Approach starting point


N20 G17 G1 Z-5 F1000 Tool infeed
N30 G2 X115 Y113.3 I-43 J25.52 Circle end point, center point in
incremental dimensions
or
N30 G2 X115 Y113.3 I=AC(90) J=AC(70) Circle end point, center point in absolute
dimensions
or
N30 G2 X115 Y113.3 CR=-50 Circle end point, circle radius
or
N30 G2 AR=269.31 I-43 J25.52 Arc angle, center point in incremental
dimensions
or
N30 G2 AR=269.31 X115 Y113.3 Arc angle, circle end point
N40 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-127
4 4
Programming Motion Commands 03.04
4.5 Circular interpolation, G2/G3, CIP

Turning:

2 . 3 26 °
14
5. 9 44°
13
30

Z
25

Ø 33.33
Ø 12

Ø 70
Ø 40
54.25
75
95

N.. ...
N120 G0 X12 Z0
N125 G1 X40 Z-25 F0.2
N130 G3 X70 Y-75 I-3.335 K-29.25 Circle end point, center point in
incremental dimensions
or
N130 G3 X70 Y-75 I=AC(33.33) Circle end point, center point in absolute
K=AC(-54.25) dimensions
or
N130 G3 X70 Z-75 CR=30 Circle end point, circle radius
or
N130 G3 X70 Z-75 AR=135.944 Arc angle, circle end point
or
N130 G3 I-3.335 K-29.25 AR=135.944 Arc angle, center point in incremental
dimensions
or
N130 G3 I=AC(33.33) K=AC(-54.25) Arc angle, center point in absolute
AR=135.944 dimensions
or
N130 G111 X33.33 Z-54.25 Polar coordinates
N135 G3 RP=30 AP=142.326 Polar coordinates
N140 G1 Z-95
N.. ...

Programming a circle with intermediate and end


points
You can use CIP to program arcs. These arcs can also
be inclined in space. In this case, you describe the
intermediate and end points with three coordinates.

 Siemens AG, 2004. All rights reserved


4-128 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.5 Circular interpolation, G2/G3, CIP

The circular movement is described by:


• The intermediate point at addresses I1=, J1=, K1=
and
• the end point in Cartesian coordinates X, Y, Z.
The identifiers have the following meanings:
I1=: Coordinate of the circle center point in the
X direction
J1=: Coordinate of the circle center point in the
Y direction
K1=: Coordinate of the circle center point in the
Z direction

Input in absolute and incremental dimensions


Y Y
The G90/G91 defaults for absolute or incremental
dimensions are valid for the intermediate and circle
end points.
With G91, the circle starting point is used as the I1
reference for the intermediate point and end point. Intermediate point

J1

X
Z
K1

CIP is modal.

The traversing direction is determined by the order of


the starting point, intermediate point and end point.

Programming example for CIP Milling:

In order to machine an inclined circular groove, a Y Y


circle is described by specifying the intermediate 85.35

point with 3 interpolation parameters, and the end


point with 3 coordinates.
120

35.35
60

X Z

80
2
130
6
10

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-129
4 4
Programming Motion Commands 03.04
4.5 Circular interpolation, G2/G3, CIP

N10 G0 G90 X130 Y60 S800 M3 Approach starting point


N20 G17 G1 Z-2 F100 Tool infeed
N30 CIP X80 Y120 Z-10 Circle end point and intermediate point:
I1= IC(-85.35) J1=IC(-35.35) K1=-6 Coordinates for all three geometry axes
N40 M30 End of program

Turning:

Ø 93.33
Ø 70
Ø 40
Z
25
54.25
75
95

N125 G1 X40 Z-25 F0.2


N130 CIP X70 Z-75 I1=IC(26.665)
K1=IC(-29.25)
or
N130 CIP X70 Z-75 I1=93.33 K1=-54.25
N135 G1 Z-95

Programming a circle with tangential transition Arc S-E at a tangent to the


The Tangential transition function is an expansion of straight line 1-2

the circle programming.


The circle is defined by
• the start and end point and
• the tangent direction at the start point.

Arcs that lie at a tangent


The G code CT produces an arc that lies at a tangent depend on the previous
contour element
to the contour element programmed previously.

CT is modal.

 Siemens AG, 2004. All rights reserved


4-130 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.5 Circular interpolation, G2/G3, CIP

As a rule, the circle is uniquely defined by the


direction of the tangent, as well as the start and end
points.

Position of the circle plane


The position of the circle plane depends on the active
plane (G17-G19).

If the tangent of the previous block does not lie in the


active plane, its projection in the active plane is used.

If the start and end points do not have the same


position components perpendicular to the active
plane, a helix is produced instead of a circle.

Specifying TURN=... enables you to program circles


with more than one full rotation.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-131
4 4
Programming Motion Commands 03.04
4.5 Circular interpolation, G2/G3, CIP

Determining the direction of the tangent


The direction of tangent at the start point of a CT
block is determined from the end tangent of the
programmed contour of the previous block with a
traversing movement.

Any number of blocks without traversing information


may lie between this block and the current block.

In the case of splines, the tangential direction is


defined by the straight line through the last two
points. This direction is generally not the same as the
direction at the end point of the spline with A and C
splines with active ENAT or EAUTO.

The transition of B splines is always tangential, the


tangent direction is defined as for A or C splines and
active ETAN.

Frame change
If a frame change takes place between the block
defining the tangent and the CT block, the tangent is
also subjected to this change.

Limit case
If the extension of the start tangent runs through the
end point, a straight line is produced instead of a
circle (limit case: circle with infinite radius). In this
special case, TURN must either not be programmed
or the value must be TURN=0.

Additional notes
When the values tend towards this limit case, circles
with an unlimited radius are produced and machining
with TURN unequal 0 is generally aborted with an
alarm due to violation of the software limits.

Programming example for CT Milling:

Mill a circular arc following a straight line:

 Siemens AG, 2004. All rights reserved


4-132 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.5 Circular interpolation, G2/G3, CIP

Y with TRC

30
15
X

30
50
60
70
80

N10 G0 X0 Y0 Z0 G90 T1 D1
N20 G41 X30 Y30 G1 F1000 Activate tool radius compensation (TRC)
N30 CT X50 Y15 Program circle with tangential transition
N40 X60 Y-5
N50 G1 X70
N60 G0 G40 X80 Y0 Z20
N70 M30
Turning:

Z
30
Ø 23.293

Ø 58.146
Ø 40

Ø 70

42

N110 G1 X23.293 Z0 F10


N115 X40 Z-30 F0.2
N120 CT X58.146 Z-42 Program circle with tangential transition
N125 G1 X70

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-133
4 4
Programming Motion Commands 03.04
4.6 Helical interpolation, G2/G3, TURN

4.6 Helical interpolation, G2/G3, TURN

Programming
G2/G3 X… Y… Z… I… J… K… TURN=
G2/G3 X… Y… Z… I… J… K… TURN=
G2/G3 AR=… I… J… K… TURN=
G2/G3 AR=… X… Y… Z… TURN=
G2/G3 AP… RP=… TURN=

Explanation of the commands and


parameters
G2 Travel on a circular path in clockwise direction
G3 Travel on a circular path in counterclockwise direction
X Y Z End point in Cartesian coordinates
I J K Circle center point in Cartesian coordinates
AR Aperture angle
TURN= Number of additional circle passes within the range 0 to 999
AP= Polar angle
RP= Polar radius

Function
Helical interpolation (helix interpolation) can be used
to manufacture threads and oil grooves, for example.

Sequence
In helical interpolation, two movements are
superimposed and executed in parallel:
• a horizontal circular movement on which
• a vertical linear movement is superimposed.
The circular movement is performed on the axes
specified by the working plane.
Example: Working plane G17, axes for circular
interpolation X and Y.
The infeed movement is performed on the
perpendicular infeed axis, in this case Z.

 Siemens AG, 2004. All rights reserved


4-134 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.6 Helical interpolation, G2/G3, TURN

Motional sequence
1. Approach starting point
Starting point
2. With TURN= execute the full circles programmed
3. Approach the circle end point, e.g. as a partial
1st full circle
revolution
2nd full circle
4. Execute steps 2 and 3 across the infeed depth.
3rd full circle
The lead with which the helix is to be machined is
calculated from the number of full circles plus the
programmed end point - executed across the infeed
depth.
End point as
partial revolution
Programming the end point for helical interpolation Target point
Please refer to circular interpolation for a detailed
description of the interpolation parameters.

Additional notes
For helical interpolation, it is advisable to specify a
programmed feedrate override (CFC). You will find
more information in Chapter 5.

Programming example
Helical interpolation
Y Y
32.99
20

X
5

Z
20 -5
27.5 -20

N10 G17 G0 X27.5 Y32.99 Z3 Approach start position


N20 G1 Z-5 F50 Tool infeed
N30 G3 X20 Y5 Z-20 I=AC(20) Helix with following parameters: Execute 2
J=AC (20) TURN=2 full circles from start position, then approach
end point
N40 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-135
4 4
Programming Motion Commands 03.04
4.7 Involute interpolation, INVCW, INVCCW

4.7 Involute interpolation, INVCW, INVCCW

Programming
INVCW X... Y... Z... I... J... K... CR=...
INVCCW X... Y... Z... I... J... K... CR=...
INVCW I... J... K... CR=... AR=...
INVCCW I... J... K... CR=... AR=...

Explanation of the commands and


parameters
INVCW Travel on an involute in clockwise direction
INVCCW Travel on an involute path in counterclockwise direction
X Y Z End point in Cartesian coordinates
I J K Center point of base circle in cartesian coordinates
CR= Radius of base circle
AR= Arc angle (angle of rotation)

Function
The involute of the circle is a curve traced out from
the end point on a "piece of string" unwinding from
the curve. Involute interpolation allows trajectories
along an involute.
When paths perpendicular to the active plane are
also programmed, it is possible to traverse an
involute in space (comparable to helical interpolation
with circles).

Additional notes
For further information about machine data and
supplementary conditions that are relevant with
respect to involute interpolation, please see
References: /FB1/, A2 Subsection 2.12.2
Settings for involute interpolation.

 Siemens AG, 2004. All rights reserved


4-136 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.7 Involute interpolation, INVCW, INVCCW

Sequence
Involute interpolation takes place in the plane in Y

which the base circle is defined. Start and end points


outside this plane result in superimposition on a
curve in space, analogous to helical interpolation with
M: (X 0,Y0)
circles. (X,Y) Start point

Supplementary condition R
X
φ0
φ
Both the start point and the end point must be outside
Base circle
the area of the base circle of the involute (circle with
radius CR around the center point determined by I, J
and K). If this condition is not fulfilled, an alarm is
generated and the program run aborted.

End point

Programming methods
1. Direct programming of the end point with X, Y or X,
Y, Z

2. Programming of the angle of rotation between the


start and end vectors with AR=angle (cf. also End points
1
programming of the arc angle when programming 2 1
2

circles). If the angle of rotation is positive (AR > 0),


the path on the involute moves away from the base AR
circle; with a negative angle of rotation (AR < 0), the
path on the involute moves towards the base circle. 2

The maximum angle of rotation for AR < 0 is


1
restricted by the fact that the end point must always
lie outside the base circle. Start point

Options 1. and 2. are mutually exclusive. Only one of


these notations may be used each block.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-137
4 4
Programming Motion Commands 03.04
4.7 Involute interpolation, INVCW, INVCCW

Additional notes
There are further options when the angle of rotation is
programmed with AR. Two different involutes can be
implemented (see diagram) by specifying the radius
and center point of the base circle as well as the start
point and direction of rotation (INVCW/INVCCW).
The selected path must be defined unambiguously by
the sign of the angle.
The two involutes defined by the start point and the
base circle are shown in the diagram above. In this
case, end point 1 is approached when AR > 0 is
programmed and end point 2 when AR < 0 is
programmed.
Accuracy
If the programmed end point does not lie exactly on
the involute defined by the start point and base circle,
interpolation takes place between the two involutes
defined by the start or end point (see diagram). The
Start point
R

maximum deviation of the end point is determined by Base circle


End point
Max. deviation

a machine data. If the programmed end point


deviates more in the radial direction than the MD
setting, an alarm is generated and the program run
aborted.

Programming examples
Counterclockwise involute according to
Example 1
programming method 1 from start to end
point and back again (clockwise involute)

N10 G1 X10 Y0 F5000 Approach start position


N15 G17 Select X/Y plane
N20 INVCCW X32.77 Y32.77 CR=5 I-10 J0 I. counterclockwise, end point, radius,
center point relative to start point
N30 INVCW X10 Y0 CR=5 I-32.77 J-32.77 Start point is end point from N20
End point is start point from N20, radius,
center point ref. to new start point is same as
old center point
...

 Siemens AG, 2004. All rights reserved


4-138 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.7 Involute interpolation, INVCW, INVCCW

Example 2 Specification of end point via angle of


rotation
N10 G1 X10 Y0 F5000 Approach start position
N15 G17 Select X/Y plane
N20 INVCCW CR=5 I-10 J0 AR=360 Counterclockwise involute, away from
base circle (pos. angle setting) with one
full rotation
...

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-139
4 4
Programming Motion Commands 03.04
4.8 Contour definitions

4.8 Contour definitions

4.8.1 Straight line with angle

Programming
X2… ANG…

Explanation of the commands and


parameters
X2= oder Z2 End point in Cartesian coordinates X or Z
ANG Angle

Machine manufacturer
The names for angle (ANG), radius (RND) and chamfer (CHR)
can be set in MD, see /FBFA/ FB ISO Dialects, Chapter 6.

Function
X
The end point is defined through specification of
• the angle ANG and
• one of the two coordinates X2 or Z2. X2, Z2

ANG

X1, Z1

Programming example

N10 X5 Z70 F1000 G18 Approach start position

N20 X88.8 ANG=110 oder (Z39.5 ANG=110) Straight line with specified angle
N30 ...

 Siemens AG, 2004. All rights reserved


4-140 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.8 Contour definitions

4.8.2 Two straight lines

Programming
ANG1… or X1… Z1…
X3… Z3 ANG2… X3… Z3…

Explanation of the commands and


parameters
ANG1= Angle of the first straight line
ANG2= Angle of the second straight line
CHR Chamfer
X1, Z1= Start coordinates
X2, Z2= Intersection of the two straight lines
X3=, Z3= End point of the second straight line

Machine manufacturer
The names for angle (ANG), radius (RND) and chamfer (CHR)
can be set in MD, see /FBFA/ FB ISO Dialects, Chapter 6.

Function
X
The intersection of the two straight lines can be X3, Z3

designed as a corner, curve or chamfer. The end


ANG2
point of the first of the two straight lines can be
programmed by defining the coordinates or
specifying the angle.
Can also be radius
or chamfer
X2, Z2
or CHR
ANG1

X1, Z1

Programming example

N10 X10 Z80 F1000 G18 Approach start position


N20 ANG1=148.65 CHR=5.5 Straight line with specified angle and
chamfer
N30 X85 Z40 ANG2=100 Straight line with specified angle and end
point
N40 ...

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-141
4 4
Programming Motion Commands 03.04
4.8 Contour definitions

4.8.3 Three straight lines

Programming
X2… Z2… or ANG1…
X3… Z3… X3… Z3… ANG2…
X4… Z4… X4… Z4…

Explanation of the commands and


parameters
ANG, ANG2= Angle of the first/second straight line relative to the abscissa
CHR Chamfer
RND Rounding
X1, Z1 Start coordinates of the first straight line
X2, Z2 Endpoint coordinates of the first straight line or start point of the second straight
line
X3, Z3 Endpoint coordinates of the second straight line or start point of the third straight
line
X4=, Z4= Endpoint coordinates of the third straight line
Machine manufacturer
The names for angle (ANG), radius (RND) and chamfer (CHR)
can be set in MD, see /FBFA/ FB ISO Dialects, Chapter 6.

RND function
X Can also be
radius or chamfer
The intersection of the straight lines can be designed
as a corner, a curve or a chamfer. The end point of X3, Z3 or RND

the third straight line must always be programmed as


Cartesian. ANG2

or CHR
X2, Z2
X4, Z4
ANG1

X1, Z1

Programming example

N10 X10 Z100 F1000 G18 Approach start position


N20 ANG1=140 CHR=7,5 Straight line with specified angle and
chamfer
N30 X80 Z70 ANG2=95.824 RND=10 Straight line on intersection with specified
angle and rounding
N40 X70 Z50 Straight line on end point

 Siemens AG, 2004. All rights reserved


4-142 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.8 Contour definitions

4.8.4 End point programming with angle

Function
If the address letter A appears in an NC block, either
none, one or both of the axes in the active plane may
also be programmed.
If none of the axes in the active plane is programmed,
the block is either the first or second block of a
contour consisting of two blocks. If it is the second
block in this type of contour, it indicates that the start
and end points in the active plane are identical. The
contour then comprises at most a motion
perpendicular to the active plane.
If exactly one axis in the active plane is programmed,
then it is either a single straight line whose end point
is uniquely defined by the angle and programmed
Cartesian coordinate, or it is the second block in a
contour definition comprising two blocks. In the latter
case, the missing coordinate is set to match the last
reached (modal) position.
If two axes are programmed in the current plane, it is
the second block of a contour that consists of two
blocks. If the current block was not preceded by a
block with angle programming and no programmed
axes in the current plane, the block in question is not
permissible.
Angle A must only be programmed for linear or spline
interpolation.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-143
4 4
Programming Motion Commands 03.04
4.9 Thread cutting with constant lead, G33

4.9 Thread cutting with constant lead, G33

Programming example for turning machine


with longitudinal axis Z and transverse
axis X
Cylinder thread
G33 Z… K … SF=…*
(K for taper angle < 45°)
Taper thread (I for taper angle > 45°)
G33 X… Z… K… SF=…*
G33 X… Z… I… SF=…*

Face thread
G33 X… I… SF=…*

* SF= only needs to be programmed for multiple


threads

Explanation of the parameters

X Z End point in Cartesian coordinates


I K Thread lead (in direction X, Z)
SF== Starting point offset, only needed for multiple threads

Function
The following types of thread can be machined with
G33:
Cylindrical, taper or face threads, single or multiple
threads, right or left-handed threads.

Equipment required: speed-controlled spindle with


position measurement system.

 Siemens AG, 2004. All rights reserved


4-144 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.9 Thread cutting with constant lead, G33

Sequence
Operating principle
The control calculates the required feedrate from the
programmed spindle speed and the thread lead. The
turning tool traverses across the length of the thread ad
Le
in the longitudinal and/or facing direction at this
feedrate. The feedrate F is not considered for G33,
the limitation to maximum axis speed (rapid traverse)
is monitored by the control.
Fe
ed
rat
e

Speed

Cylinder thread
A cylinder thread is described by the thread length X
and thread lead.

Run-out path
The thread length is entered in absolute or

Run-in path
Z
incremental dimensions with one of the Cartesian
coordinates X, Y or Z. The Z direction is preferred on K
turning machines. Allowance must also be made for
the run-in and run-out paths across which the feed is
accelerated or decelerated.

The thread lead is entered at addresses I, J, K, on Z

turning machines preferentially with K.

The identifiers have the following meanings:


I Thread lead in X direction
J Thread lead in Y direction
K Thread lead in Z direction

Example: K4 means 4mm lead per revolution

Value range of lead:


±0.001 to 2000.00 mm/revolution

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-145
4 4
Programming Motion Commands 03.04
4.9 Thread cutting with constant lead, G33

Face thread
X
The face thread is described by
• Thread diameter, preferentially in X direction and
• Thread lead, preferentially with I.

Diameter
Otherwise, the procedure is the same as for
cylindrical threads.

I
Lead

Taper thread
X
The taper thread is described by the end point in the K
longitudinal and facing direction (taper contour) and
the thread lead. <45°

Z
The taper contour is entered in Cartesian coordinates
X, Y, Z in absolute or incremental dimensions - X
preferentially in the X and Z direction for machining
on turning machines. Allowance must also be made

I
for the run-in and run-out paths across which the feed >45°
is accelerated or decelerated.

The thread lead is entered at addresses I, J, K.


Z
Please see the cylindrical thread for the meaning of I,
J, K.

The parameter for the lead is based on the taper


angle (calculated from the longitudinal axis to the
outside of the taper).

(K for taper angle < 45°) Lead in longitudinal


direction, e.g. K
(K for taper angle > 45°) Lead in facing direction,
e.g. I
For taper angles = 45° you can specify I or K.

 Siemens AG, 2004. All rights reserved


4-146 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.9 Thread cutting with constant lead, G33

Start point offset SF – production of multi-turn


threads
X
Threads with offset cuts are programmed by
specifying starting point offsets in the G33 block.
Start point
The start point offset is specified as offset in °
Starting angle
an absolute angular position at address SF=. The for thread
associated setting data is changed accordingly. (setting data)

Example: SF=45 Z
Meaning: Start offset 45°
Value range: 0.0000 to 359.999 degrees

If no starting point offset is specified, the "starting


angle for thread" defined in the setting data is used.

Right-hand/left-hand threads
Right-hand or left-hand threads are set according to
the spindle direction:

M3: Clockwise
M4: Counterclockwise

In addition, the desired speed is programmed at the


address S.

The spindle speed override switch must not be


changed during thread cutting with G33 (dynamic
speed change).

The feed override switch has no function in the G33


block.

Using a position-controlled spindle


The SPCON command can be used before G33 to
produce a thread in position-control mode.
You will find more information on SPCON in
Chapter 7.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-147
4 4
Programming Motion Commands 03.04
4.9 Thread cutting with constant lead, G33

Thread chains
By programming several G33 blocks consecutively, X

you can align several sets of threads in a sequence.


With G64 continuous-path mode, the blocks are
interconnected in a look ahead velocity control so
3r
that no abrupt changes in speed occur. wi d blo
th
G3 ck
You will find more information on G64 in Chapter 7. 3 2nd blo
c
with G3 k 1st block
3 with G33

Programming example
X
Machining a taper thread

Ø 110
Ø 50
Z
60

N10 G1 X50 Z0 S500 F100 M3 Approach starting point, activate spindle


N20 G33 X110 Z-60 K4 Taper thread: End point on Z and X, lead
K in Z direction, since angle < 45°
N30 G0 Z0 M30 Retraction, end of program

 Siemens AG, 2004. All rights reserved


4-148 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.9 Thread cutting with constant lead, G33

Programming example
X
Machining a double cylindrical thread in offset steps
with starting point offset 180°. Start point 0°

Ø 100
Z

Start point 180°


100
10

N10 G1 G54 X99 Z10 S500 F100 M3 Zero offset, approach start point, spindle
on
N20 G33 Z-100 K4 Cylindrical thread: end point in Z
N30 G0 X102 Retract to starting position
N40 G0 Z10
N50 G1 X99
N60 G33 Z-100 K4 SF=180 2nd cut: Starting point offset 180°
N70 G0 X110 Retract tool
N80 G0 Z10 End of program
N90 M30

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-149
4 4
Programming Motion Commands 03.04
4.9 Thread cutting with constant lead, G33

4.9.1 Programmable run-in and run-out path (SW 5 and higher)

Programming
DITS=value
DITE=value

Explanation of the parameters

DITS Thread run-in path


DITE Thread run-out path
Value Specification of the run-in and run-out path: -1,0,...n

Function
The commands DITS (Displacement Thread Start)
and DITE (Displacement Thread End) can be used to
define the path ramp for acceleration and
deceleration, in order to modify the feedrate if the tool
run-in and run-out paths are too short:

• Run-in path too short:


The band at the thread run-in provides insufficient
space for the tool start ramp - a shorter ramp must x

therefore be defined with DITS.


• Run-out path too short:
The band at the thread run-out provides z
insufficient space for the tool deceleration ramp,
giving rise to danger of collision between the
Run-in or run-out path
workpiece and the tool edge. acc. to machining directions
A shorter tool deceleration ramp can be defined
with DITE; however a collision can still occur.
Remedy: Program a shorter thread, reduce the
spindle speed.
Only paths, not positions, are programmed with DITS
and DITE.

Machine manufacturer (MH4.1)


The commands DITS and DITE correspond to setting
data THREAD_RAMP_DISP[0,1], in which the
programmed paths are written: See /FB/ V1 Feeds.

 Siemens AG, 2004. All rights reserved


4-150 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.9 Thread cutting with constant lead, G33

If the run-in and/or run-out path is very short, the


acceleration of the thread axis is higher than the
configured value. This causes an acceleration
overload on the axis.
In this case, alarm 22280 "Programmed run-in path
too short" is output for the thread run-in (if configured
in MD 11411: ENABLE_ALARM_MASK). The alarm
is purely for information and has no effect on parts
program execution.

Additional notes
• DITE acts at the end of the thread as an
approximate distance. This achieves a smooth
change in the axis movement.
• When a block containing command DITS and/or
DITE is loaded to the interpolator, the path
programmed in DITS is transferred to SD 42010:
THREAD_RAMP_DISP[0] and the path
programmed in DITE to SD 42010
THREAD_RAMP_DISP[1].
• The programmed run-in path is handled
according to the current setting (inches, metric).

Machine manufacturer (MH4.2)


If no run-in/deceleration path is programmed before
or in the first thread block, the value is determined by
the setting in SD 42010;
see References: /FB/ V1 Feeds.
MD 10710: PROG_SD_RESET_SAVE_TAB is used
to set the value written by the parts program into the
corresponding setting data on RESET. The values
are therefore retained after power off/on.

Programming example

N...
N40 G90 G0 Z100 X10 SOFT M3 S500
N50 G33 Z50 K5 SF=180 DITS=1 DITE=3 ;Start of corner rounding with Z=53
N60 G0 X20

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-151
4 4
Programming Motion Commands 03.04
4.10 Linear progressive/degressive thread lead change, G34, G35

4.10 Linear progressive/degressive thread lead change, G34, G35


(SW 5.2 and higher)

Programming
G34 X… Y… Z… I… J… K… F… Progressive change in thread lead
(tapping with linear pitch increase)
G35 X… Y… Z… I… J… K… F… Degressive change in thread lead
(tapping with linear pitch decrease)

Explanation of the parameters

X Y Z End points in Cartesian coordinates


I J K Thread lead (in X, Y, Z direction)
F Thread lead change (in mm/rev2)

Function
Functions G35/G35 can be employed to produce
self-cutting threads.

Both the functions G34 and G35 offer the


functionality of G33, but provide the additional option
of programming a pitch change under F.

Sequence
If you already know the initial and final lead of a
thread, you can calculate the lead change to be
programmed according to the following equation:

|k2e - k2a|
F =  [mm/rev2]
2*IG

The identifiers have the following meanings:


ke Lead change of axis target point
coordinate [mm/rev]
ka Initial thread lead (progr. Under
I, J and K) [mm/rev]
IG Thread length in [mm]

 Siemens AG, 2004. All rights reserved


4-152 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.10 Linear progressive/degressive thread lead change, G34, G35

Programming example

N1608 M3 S10 ;Spindle speed


N1609 G0 G64 Z40 X216 ;Approach start point and thread
N1610 G33 Z0 K100 SF=R14 ;With constant pitch 100mm/rev
N1611 G35 Z-200 K100 F17.045455 ;Lead decrease 17.0454mm/rev2
;Lead at block end 50mm/rev
N1612 G33 Z-240 K50 ;Traverse thread block without jerk
N1613 G0 X218 ;
N1614 G0 Z40 ;
N1615 M17 ;

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-153
4 4
Programming Motion Commands 03.04
4.11 Rigid tapping, G331, G332

4.11 Rigid tapping, G331, G332

Programming
G331 X… Y… Z… I… J… K… (Tapping)
G332 X… Y… Z… I… J… K… (Tapping retraction)

Explanation of the parameters

X Y Z Drilling depth (end point) in a Cartesian coordinate


I J K Thread lead (in X, Y, Z direction)

Function
With G331/G332 you can rigid tap a thread.
Equipment required: Position-controlled spindle with
position measuring system

Sequence
Z
The spindle must be prepared for tapping
withSPOS/SPOSA. You will find more information in
Chapter 7.
X

G331: Tapping
Tapping is described by the drilling depth (end point
of the thread) and the lead.
K

G332: Retraction movement


This movement is described with the same lead as
the G331 movement. The reversal in the direction of
the spindle is performed automatically.
Drilling depth, thread lead
Drilling in X direction, thread lead I
Drilling in Y direction, thread lead J
Drilling in Z direction, thread lead K
Value range of lead:
±0.001 to 2000.00 mm/revolution
Right-hand/left-hand threads
Right-hand or left-hand threads are defined in axis
mode by the sign qualifying the lead:
Positive lead, clockwise (same as M3)
Negative lead, counterclockwise (same as M4)

The desired speed is also programmed at address S.

 Siemens AG, 2004. All rights reserved


4-154 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.11 Rigid tapping, G331, G332

Additional notes
Both functions are modal.
The spindle does not operate in axis mode but as a
position-controlled spindle. You will find more
information on handling of the position-controlled
spindle in Chapter 5.

Programming example

After G332 (retraction), the next thread can be


tapped with G331.

N10 SPOS[n]=0 Prepare tapping


N20 G0 X0 Y0 Z2 Approach starting point
N30 G331 Z-50 K-4 S200 Tapping, drilling depth 50, lead
K negative = direction of spindle rotation
counterclockwise
N40 G332 Z3 K-4 Retract, automatic reversal of direction
N50 G1 F1000 X100 Y100 Z100 S300 M3 Spindle reverts to operation in spindle
mode
N60 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-155
4 4
Programming Motion Commands 03.04
4.12 Tapping with compensating chuck, G63

4.12 Tapping with compensating chuck, G63

Programming
G63 X… Y… Z…

Explanation of the parameters

X Y Z Drilling depth (end point, specified in Cartesian coordinates)

Function
You can use G63 to tap threads with compensating
chuck.
The chuck compensates for any deviations occurring
in the path.

Sequence
Tapping Z
The following are programmed:
• Drilling depth in Cartesian coordinates
X
• Spindle speed and direction
• Feedrate

Retraction movement
Also programmed with G63, but with the reverse
direction of spindle rotation.

Feedrate

The programmed feed must match the ratio of the


speed to the thread lead of the tap.

Thumb rule:
Feed F in mm/min = spindle speed S
in rpm x thread lead in mm/rev

Both the feed and the spindle speed override switch


are set to 100% with G63.

 Siemens AG, 2004. All rights reserved


4-156 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.12 Tapping with compensating chuck, G63

Additional notes
G63 is modal.

The last programmed interpolation command G0,


G1, G2, ... is reactivated after a block with
programmed G63.

Programming example
Tapping with compensating chuck:
In this example, an M5 thread is to be drilled. The
lead of an M5 thread is 0.8 (specified in table).

With a selected speed of 200rpm, the feed F is


160 mm/min.

N10 G1 X0 Y0 Z2 S200 F1000 M3 Approach starting point, activate spindle


N20 G63 Z-50 F160 Tap, drilling depth 50
N30 G63 Z3 M4 Retract, programmed reversal of direction
N40 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-157
4 4
Programming Motion Commands 03.04
4.13 Stop with thread cutting, LFOF, LFON, LFTXT, LFWP, LFPOS

4.13 Stop with thread cutting, LFOF, LFON, LFTXT, LFWP, LFPOS
Programming
LFON
LFOF
; from the path tangent (default)
LFTXT
; from the active working plane
LFWP
; from the POLFMASK axis (SW 5 and
LFPOS
higher)
DILF
; several with SW 6 and higher
POLF[geo axis name | machine axis name]=
; SW 7 and higher
POLFMASK(axis name1, ...)
POLFMLIN

Explanation of the parameters

LFON Enable fast retraction for thread cutting (G33)


LFOF Disable fast retraction for thread cutting (G33)
DILF Determine retraction path (length)
ALF Define retraction direction for plane to be executed (LFTXT)
LFWP Retraction direction in working plane G17, G18, G19
LFPOS Retraction direction toward position programmed with POLF
POLF Absolute retraction position of axis, incl. incremental with IC (value)
POLFMASK Enable for axes for independent retraction to absolute position
POLFMLIN Enable for axes for retraction to absolute position in linear relationship.
See also FB3, M3

Function
The function produces a nondestructive interruption
with thread cutting (G33). The function cannot be used
with tapping (G33). With mixed use of both G33
functions, the response can be parameterized for NC
Stop/NC Reset via the machine data.
Trigger criteria for retraction
• Fast inputs, programmable with SETINT
LIFTFAST (if LIFTFAST option is enabled)
• NC Stop/NC Reset
If fast retraction is enabled with LFON, it is active for
every retraction movement.
Retraction path (DILF)
The retraction path can be defined in the machine data
or by programming. After NC Reset, the value in
MD 21200: LIFTFAST_DIST is still active.

 Siemens AG, 2004. All rights reserved


4-158 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.13 Stop with thread cutting, LFOF, LFON, LFTXT, LFWP, LFPOS

Retraction direction (ALF with SW 4.2 and lower)


The retraction direction is determined within the
threading operation. Retraction is always perpendicular
to the direction of machining. ALF is not active.
Retraction direction (ALF with SW 4.3 and higher)
The retraction direction in connection with ALF is
controlled using the following keywords:
• LFTXT
The plane in which the fast retraction is executed
is calculated from the path tangent and the tool
direction (default setting).
• LFWP
The plane in which the fast retraction is executed
is the active working plane.
• LFPOS (SW 5 and higher)
Retraction with axis indicated in POLFMASK to
the absolute axis position programmed with
POLF.
See also NC-guided retraction in:
Description of Functions M3.
Several axes (SW 6 and higher), several axes in
linear relationship (SW 7 and higher). ALF has no
effect here on the direction of retraction.
The direction is programmed as before in discrete steps
of 45 degrees with ALF in the plane of the retraction
motion. With LFTXT, the retraction is defined in the tool
direction for ALF=1.
With LFWP, the direction in the working plane is
assigned as follows:
• G17: X/Y plane ALF=1 Retraction in X direction
ALF=3 Retraction in Y direction
• G18: Z/X plane ALF=1 Retraction in Z direction
ALF=3 Retraction in X direction
• G19: Y/Z plane ALF=1 Retraction in Y direction
ALF=3 Retraction in Z direction
Retraction speed
Retraction with maximum axis speed.
Can be configured via machine data.
The maximum permissible acceleration/jerk values are
used for traversing; they are configured via the
machine data.

Additional notes
Default settings for NC reset and/or NC start in
MD 20150: GCODE_RESET_VALUES

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-159
4 4
Programming Motion Commands 03.04
4.13 Stop with thread cutting, LFOF, LFON, LFTXT, LFWP, LFPOS

LFON or LFOF can always be programmed, they are


evaluated only during thread cutting (G33).
POLF with POLFMASK/POLFMLIN are not restricted
to thread cutting applications. See M3.

Programming examples

Example 1
N55 M3 S500 G90 G18 Active machining plane
...
N65 MSG ("Thread cutting")
MM_THREAD:
N67 $AC_LIFTFAST=0 Reset before beginning of thread
N68 G0 Z5
N68 X10
N70 G33 Z30 K5 LFON DILF=10 LFWP ALF=3 Enable fast retraction for thread cutting
Retraction path =10 mm, retraction plane Z/X (due to G18)
Retraction direction -X (with ALF=3; retraction direction +X)
N71 G33 Z55 X15 K5
N72 G1 Deactivate thread cutting
N69 IF $AC_LIFTFAST GOTOB MM_THREAD If thread cutting was interrupted
N90 MSG("")
...
N70 M30

Example 2
N55 M3 S500 G90 G0 X0 Z0
...
N87 MSG ("Tapping")
N88 LFOF Deactivate fast retraction before tapping.
N89 CYCLE... Thread drilling cycle with G33
N90 MSG("")
...
N99 M30

 Siemens AG, 2004. All rights reserved


4-160 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.13 Stop with thread cutting, LFOF, LFON, LFTXT, LFWP, LFPOS

Example 3 Here, the path interpolation of X


is suppressed in the event of a stop
and a motion executed to position
POLF[X] at maximum speed instead.
The motion of the other axes
continues to be determined by the
programmed contour or the thread
lead and spindle speed.
N10 G0 G90 X200 Z0 S200 M3
N20 G0 G90 X170
N22 POLF[X]=210 LFPOS

N23 POLFMASK(X) Activate (enable) rapid lift by


axis X
N25 G33 X100 I10 LFON
N30 X135 Z-45 K10
N40 X155 Z-128 K10
N50 X145 Z-168 K10
N55 X210 I10
N60 G0 Z0 LFOF
N70 POLFMASK() Disable retraction for all axes
M30

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-161
4 4
Programming Motion Commands 03.04
4.14 Approaching a fixed point, G75

4.14 Approaching a fixed point, G75

Programming
G75 FP= X1=0 Y1=0 Z1=0 U1=0 …

Explanation of the parameters

FP= Number of fixed point to be approached


X1= Y1= Z1= Machine axes to be traversed to the fixed point

Function

G75 can be used to approach fixed points, such as


tool change locations, loading points, pallet changing
points, etc.

The positions of the individual points are specified in


the machine coordinate system and stored in the
machine parameters.

You can approach these positions from any NC


program, irrespective of the current tool or workpiece
position.

Sequence
The fixed point approach is described by a fixed point
and axes which are to be traversed to the fixed point
FP.

Number of the fixed point FP=...


If no fixed point number is specified, fixed point 1 is
automatically approached.

Two fixed point positions per machine axis can be


specified in the machine parameters.
Machine axis addresses X1, Y1 …
Here, you specify with value 0 the axes with which
the point is to be approached simultaneously. Each
axis traverses at the maximum axial velocity.
Additional notes
G75 is modal.
Kinematic transformation must be deselected before
fixed point approach is performed.

 Siemens AG, 2004. All rights reserved


4-162 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.15 Travel to fixed stop, FXS, FXST, FXSW

Programming example
The tool change location is a fixed point which is
defined in the machine data.
This point can be approached in any NC program
with G75.

N10 G75 FP=2 X1=0 Y1=0 Z1=0 Retract from fixed point 2 on X, Y and Z,
e.g. for tool change
N20 G75 X1=0 Approach fixed point X1
N30 M30 End of program

Additional notes
SW 5.3 and higher:
G75 "Approach fixed point" applies all offset values
(DRF, external ZO and overlaid motion). The fixed
point corresponds to the actual value in the MCS.
Changes to the DRF and external zero offset while
the G75 block is being preprocessed and executed in
the main run are not applied. You should prevent this
problem by programming STOPPRE in front of the
G75 block.

4.15 Travel to fixed stop, FXS, FXST, FXSW

Programming
FXS[axis]=…
FXST[axis]=…
FXSW[axis]=…

Explanation

FXS Select/deselect function "Travel to fixed stop"


1 = select; 0 = deselect
FXST Setting clamping torque
Specification in % of maximum drive torque, parameter optional
FXSW Window width for fixed stop monitoring in mm, inches or degrees;
parameter optional
[axis] Machine axis name

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-163
4 4
Programming Motion Commands 03.04
4.15 Travel to fixed stop, FXS, FXST, FXSW

Function
Actual position after
Using the "Travel to fixed stop" function (FXS = Fixed "Travel to fixed stop"
Stop), it is possible to produce defined forces for
clamping workpieces such as those required for
tailstocks, quills and grippers. The function can also Starting position

be used for the approach of mechanical reference


points. With sufficiently reduced torque, it is also
possible to perform simple measurement operations
without connecting a probe.
The "Travel to fixed stop" function can be used for
axes and spindles operated as axes. Fixed stop
monitoring window
Progr.
end position

SW 5 and higher
The limit stop alarm can be suppressed from the
parts program where necessary. This is done by
masking the alarm in a machine data and then
activating the MD by means of NEWCONF.
The "Travel to fixed stop" commands can be called
from synchronized actions/technology cycles. They
can be activated without initiation of a motion, the
torque is limited instantaneously. As soon as the axis
is moved via a setpoint, the limit stop monitor is
activated.
Torque rise ramp, SW5
A rate of rise ramp for the new torque limit can be
defined in MD to prevent any abrupt changes to the
torque limit setting (e.g. insertion of a quill).
Link and container axes, SW 5
Travel to fixed stop may also be used on
- link axes and
- container axes.
The status of the assigned machine axis is
unaffected by container switches.

References: /FB/ B3, Several Operator Panels and


NCUs.
This also applies to modal torque limitation with
FOCON (see "Travel with limited torque/force").

Sequence
The commands are modal. Addresses FXST and
FXSW are optional: If no parameter is specified, the
last programmed value or the value set in the relevant
machine data applies.

 Siemens AG, 2004. All rights reserved


4-164 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.15 Travel to fixed stop, FXS, FXST, FXSW

Machine manufacturer (MH4.3)


Machine axes (X1, Y1, Z1 etc.) are programmed.
(See machine manufacturer's specifications).
Activate travel to fixed stop FXS=1
The movement to the destination point can be
described as a path or positioning axis movement.
With positioning axes, the function can be performed
across block boundaries.

Travel to fixed stop can be performed simultaneously


for several axes and parallel to the movement of
other axes. The fixed stop must be located between
the start and end positions.

Example:
X250 Y100 F100 FXS[X1]=1 FXST[X1]=12.3 FXSW[X1]=2

Meaning:
Axis X1 travels with feed F100 (parameter optional) to
destination position X=250 mm. The clamping torque is
12.3% of the maximum drive torque. Monitoring is
performed in a 2mm wide window.

From the moment the "Travel to fixed point" function


is activated for an axis/spindle, you must not program
any new position for this axis.

Spindles must be switched to position-controlled


mode before the function is selected.

When the fixed stop has been reached:


• The distance-to-go is deleted and the position
setpoint is manipulated,
• The drive torque increases to the programmed
limit value FXSW and then remains constant,
• Fixed stop monitoring is activated within the
specified window width.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-165
4 4
Programming Motion Commands 03.04
4.15 Travel to fixed stop, FXS, FXST, FXSW

Activate from synchronized actions (SW 5)


Example:
If the anticipated event ($R1) occurs and travel to
fixed stop is not already operative, then FXS must be
activated for axis Y. The torque must correspond to
10% of the rated torque value. The width of the
monitoring window is set to the default.

N10 IDS=1 WHENEVER (($R1=1) AND ($AA_FXS[Y]==0)) DO $R1=0 FXS[Y]=1 FXST[Y]=10

The normal parts program must ensure that $R1 is


set at the desired point in time.

Deactivate function FXS=0


Deselection of the function triggers a preprocessor
stop.
Traversing movements may and should be
programmed in a block with FXS=0.

Example:
X200 Y400 G01 G94 F2000 FXS[X1] = 0
Meaning:
Axis X1 is retracted from the fixed stop to position
X= 200 mm.
All other parameters are optional.

The traversing movement to the retraction position


must move away from the fixed stop, otherwise
damage to the stop or to the machine may result.

The block change takes place when the retraction


position has been reached. If no retraction position is
specified, the block change takes place immediately
the torque limit has been deactivated.

 Siemens AG, 2004. All rights reserved


4-166 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.15 Travel to fixed stop, FXS, FXST, FXSW

Deactivate from synchronized actions


(SW 5)
The function can be deselected from a synchronized
action.
Example:
If an anticipated event ($R3) has occurred and the
status "Limit stop contacted" (system variable
$AA_FXS) is reached, then FXS must be deselected.

N13 IDS=4 WHENEVER (($R3==1) AND ($AA_FXS[Y]==1))


DO FXS[Y]=0 FA[Y]=1000 POS[Y]=0

Clamping torque FXST, Monitoring window FXSW

A programmed torque limit FXST is effective from the


start of the block, i.e. the fixed stop is also approached
with reduced torque.

The window must be selected such that only a


breakaway from the fixed stop causes the fixed stop
monitoring to respond.

FXST and FXSW can be programmed or changed at


any time in the parts program.

Example: FXST[X1]=34.57
FXST[X1]=34.57 FXSW[X1]=5
FXSW[X1]=5

The changes take effect before traversing


movements in the same block.

Programming of a new fixed stop monitoring window


causes a change not only in the window width but
also in the reference point for the center of the
window if the axis has moved prior to reprogramming.
The actual position of the machine axis when the
window is changed is the new window center point.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-167
4 4
Programming Motion Commands 03.04
4.15 Travel to fixed stop, FXS, FXST, FXSW

Additional notes
Combinability
"Measure and delete distance-to-go" ("MEAS"
command) and "Travel to fixed stop" cannot be
programmed in the same block.

Exception:
One function acts on a path axis and the other on a
positioning axis or both act on positioning axes.

Contour monitoring
Contour monitoring is not performed while "Travel to
fixed stop" is active.

Positioning axes
With "Travel to fixed stop" with POSA axes, the block
change takes place independently of the fixed stop
movement.

Restrictions
Travel to fixed stop cannot be programmed
• for vertical axes,
(function can be used with SW 2.2. and higher on
840D with 611D)
• gantry axes,
• for concurrent positioning axes which are
controlled exclusively by the PLC (FXS must be
selected from the NC program).
• If the torque limit is reduced too far, the axis will
not be able to follow the specified setpoint; the
position controller then goes to the limit and the
contour deviation increases. In this operating
state, an increase in the torque limit may result in
sudden, jerky movements.
To ensure that the axis can follow the setpoint,
check the contour deviation to make sure it is not
greater than the deviation with an unlimited
torque.

 Siemens AG, 2004. All rights reserved


4-168 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.16 Special turning functions

4.16 Special turning functions

4.16.1 Position of workpiece

Coordinate system

Transverse axis
The two mutually perpendicular geometry axes are
usually designated as follows:
• Longitudinal axis = Z axis (abscissa)
• Transverse axis = X axis (ordinate)

The dimensions for the transverse axis are generally M W

specified as diameter measurements (double path Z

D1

D2
dimension as compared to other axes).

The geometry axis to be used as a transverse axis is Longitudinal axis

defined in machine data.

Zero points X X
Machine Workpiece

Both the machine zero and the workpiece zero are


Workpiece M W
positioned on the center of rotation. The settable zero front
Z
offset on the X axis is thus zero. Workpiece

G54 ... G599 or TRANS


While the machine zero is fixed, you can choose the
position for the workpiece zero on the longitudinal X X
Machine Workpiece
axis. The workpiece zero is generally located on the
front or rear side of the workpiece. Workpiece M
zero rear
Z Z
The position of the workpiece zero is called with Workpiece

commands G54 to G599 or TRANS. G54 ... G599


or TRANS

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-169
4 4
Programming Motion Commands 03.04
4.16 Special turning functions

4.16.2 Dimensions for: Radius, diameter, DIAMON, DIAMOF, DIAM90

Programming
DIAMON
DIAMOF
DIAM90 (SW 4.4 and higher)

Explanation

Absolute dimensioning (G90) Incremental dimensioning (G91)


DIAMOF Radius (for default, see Radius
machine manufacturer
DIAMON Diameter Diameter
DIAM90 Diameter Radius

Function
The free choice of diameter or radius dimensions
allows you to program the dimensions straight from
the engineering drawing without conversion. DIAMON X DIAMOF X
After activating DIAMON/DIAM90, diameter
dimensions are defined for the specified transverse
axis.
R15

R10
W W
Diameter values apply to the following data:
Z Z
D20
D30

• Actual-value display of transverse axis in the


workpiece coordinate system
• JOG mode: Increments for incremental
dimension and travel with handwheel
• Programming:
End positions, independent of G90/G91
interpolation parameters for G2/G3, if these are
programmed absolutely with AC
• Read actual values in workpiece coordinate
system for MEAS, MEAW, $P_EP[X],
$AA_IW[X] (see ”Advanced”)

By programming DIAMOF you can switch at any time


to radius as dimension.

 Siemens AG, 2004. All rights reserved


4-170 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.16 Special turning functions

Additional notes
In SW 4.4 and higher, the command DIAM90 sets
diameter programming for G90 and radius programming
for G91.

After DIAM90 is activated, the actual value of the


transverse axis is always displayed as a diameter,
irrespective of the traversing method (G90/G91). This
also applies to reading of actual values in the workpiece
coordinate system with MEAS, MEAW, $P_EP[x] and
$AA_IW[x].

Programming example

N10 G0 X0 Z0 Approach starting point


N20 DIAMOF Diameter input off
N30 G1 X30 S2000 M03 F0.7 X axis = transverse axis; radius dimensions
active
Traverse to radius position X30
N40 DIAMON Diameter dimensions active
N50 G1 X70 Z-20 Traverse to diameter position X70 and Z–20
N60 Z-30
N70 DIAM90 Diameter programming for absolute
dimensions and radius programming for
incremental dimensions
N80 G91 X10 Z-20 Incremental dimension
N90 G90 X10 Absolute dimensions
N100 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-171
4 4
Programming Motion Commands 03.04
4.17 Chamfer, rounding

4.17 Chamfer, rounding

Programming
CHF=…
CHR=…
RND=…
RNDM=…
FRC=…
FRCM=…

Explanation of the commands

CHF=… Chamfer the contour corner


Value = Length of the chamfer (unit of measurement according to
G70/G71)
CHR=… Chamfer the contour corner (SW 3.5 and higher).
Programming the chamfer in the original direction of movement.
Value = width of chamfer in direction of motion (unit of measurement as
above)
RND=… Round the contour corner
Value = Radius of the rounding (unit of measurement according to
G70/G71)
RNDM=… Modal rounding: Rounding several consecutive contour corners in the same
way.
Value = radius of roundings (unit of measurement according to G70/G71)
0: Deactivate modal rounding
FRC=… Non-modal feedrate for chamfer/rounding
Value = feedrate in mm/min (G94) or mm/rev (G95); FRC > 0
FRCM=… Modal feedrate for chamfer/rounding
Value = feedrate in mm/min (G94) or mm/rev (G95)
0: Feedrate programmed at F active for chamfer/rounding

Function
You can insert the following elements at a contour
corner:
• Chamfer or
• Rounding
If you wish to round several contour corners
sequentially by the same method, use command
RNDM "Modal rounding".
You can program the feedrate for the chamfer/rounding
with FRC (non-modal) or FRCM (modal).
If FRC/FRCM is not programmed, then the normal path
feedrate F is applicable.

 Siemens AG, 2004. All rights reserved


4-172 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.17 Chamfer, rounding

Sequence

Chamfer, CHF/CHR
CHR
For the chamfer insert another linear part, the
chamfer, between the linear and the circle contours in CH
F
any combination. The chamfer is inserted after the G1
block in which it is programmed. The chamfer is α
always in the plane activated with G17 to G19.
Chamfer

G
1
Example: N30 G1 X… Z… F… CHR=2
N40 G1 X… Z…
X Bisector
or
N30 G1 X… Z… F… CHF=2(cos α ·2)
N40 G1 X… Z… Z
e.g. G18:

Rounding, RND
A circle contour element can be inserted with Rounding
G1
tangential link between the linear and the circle
contours in any combination.
The rounding is always in the plane activated with
G17 to G19. RND=...
The figure to the right shows the rounding between

G
1
two straight lines.
X

Z
e.g. G18:

Example: N30 G1 X… Z… F… RND=2

Here, the figure shows the rounding between a


Rounding
straight line and a circle. G1

N30 G1 X… Z… F… RND=2
N40 G3 X… Z… I… K… G3
RND=...

Z
e.g. G18:

Modal rounding, RNDM

This address is for inserting a rounding between


linear and circle contours after each traversing block.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-173
4 4
Programming Motion Commands 03.04
4.17 Chamfer, rounding

This is, for example, for deburring sharp workpiece


edges.

Example: N30 G1 X… Z… F… RNDM=2

Rounding is deactivated with RNDM=0.

Feed FRC (non-modal), FRCM (modal)

To optimize surface quality, it is possible to program


a separate feedrate for the chamfer/rounding contour
elements.
• FRC is non-modal in this instance,
• FRCM is modal.

See below for examples

Additional info about chamfer/rounding


If the programmed values for chamfer (CHF/CHR) or
rounding (RND/RNDM) are too large for the
associated contour elements, then the chamfer or
rounding are automatically reduced to a suitable
value.

No chamfer/rounding is inserted, if
• no straight or circle is available in the plane,
• a movement is taking place outside the plane,
• a plane change is taking place, or
• the number of blocks - which is specified in the
machine data - not containing information for
traversing (e.g. only command output), is
exceeded.

 Siemens AG, 2004. All rights reserved


4-174 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
4 4
03.04 Programming Motion Commands
4.17 Chamfer, rounding

Additional info about FRC/FRCM

• FRC/FRCM has no effect if a chamfer is being


machined with G0; the command can be
programmed according to the F value without error
message.
• The reference to the blocks in which chamfer and
rounding are programmed and to the technology is
set in machine data.
• FRC is operative only if a chamfer/rounding is
programmed in the same block or if RNDM has
been activated.
• FRC overwrites the F or FRCM value in the current
block.
• The feedrate programmed under FRC must be
greater than zero.
• FRCM=0 activates the feed programmed in F for the
chamfer/rounding.
• If FRCM is programmed, the FRCM value must be
reprogrammed, analogous to F, on changeover
G94<->95 etc. If only a new F value is programmed,
and if FRCM > 0 before the feed type changes, error
message 10860 (no feed programmed) will be
activated.

Examples

Example 1: MD CHFRND_MODE_MASK Bit0 = 0: Accept technology from following block


(default)

N10 G0 X0 Y0 G17 F100 G94


N20 G1 X10 CHF=2 ; Chamfer N20-N30 with F=100 mm/min
N30 Y10 CHF=4 ; Chamfer N30-N40 with FRC=200
mm/min
N40 X20 CHF=3 FRC=200 ; Chamfer N40-N60 with FRCM=50
mm/min
N50 RNDM=2 FRCM=50
N60 Y20 ; Modal rounding N60-N70
with FRCM=50 mm/min
N70 X30 ; Modal rounding N70-N80
with FRCM=100 mm/min
N80 Y30 CHF=3 FRC=100 ; Chamfer N80-N90 with FRC=50 mm/min
(modal)
N90 X40 ; Modal rounding N90-N100
with F=100 mm/min (deselect FRCM)
N100 Y40 FRCM=0 ; Modal rounding N100-N120
with G95 FRC=1 mm/rev

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 4-175
4 4
Programming Motion Commands 03.04
4.17 Chamfer, rounding

N110 S1000 M3
N120 X50 G95 F3 FRC=1
...
M02

Example 2: MD CHFRND_MODE_MASK Bit0 = 1: Accept technology from preceding block


(recommended)
N10 G0 X0 Y0 G17 F100 G94
N20 G1 X10 CHF=2 ; Chamfer N20-N30 with F=100 mm/min
N30 Y10 CHF=4 FRC=120 ; Chamfer N30-N40 with FRC=120 mm/min
N40 X20 CHF=3 FRC=200 ; Chamfer N40-N60 with FRCM=200 mm/min
N50 RNDM=2 FRCM=50
N60 Y20 ; Modal rounding N60-N70
with FRCM=50 mm/min
N70 X30 ; Modal rounding N70-N80
with FRCM=50 mm/min
N80 Y30 CHF=3 FRC=100 ; Chamfer N80-N90 with FRC=100 mm/min
N90 X40 ; Modal rounding N90-N100
with FRCM=50 mm/min
N100 Y40 FRCM=0 ; Modal rounding N100-N120
with F=100 mm/min
N110 S1000 M3
N120 X50 CHF=4 G95 F3 FRC=1 ; Chamfer N120-N130 with G95 FRC=
1 mm/rev
N130 Y50 ; Modal rounding N130-N140
with F=3 mm/rev
N140 X60
...
M02

 Siemens AG, 2004. All rights reserved


4-176 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action

Path Action

5.1 Exact stop, G60, G9, G601, G602, G603 ............................................................... 5-178

5.2 Continuous-path mode, G64, G641, G642, G643, G644 ....................................... 5-180

5.3 Acceleration pattern, BRISK, SOFT, DRIVE .......................................................... 5-189


5.3.1 Acceleration modes ................................................................................................ 5-189
5.3.2 Control of acceleration for following axes ............................................................... 5-190

5.4 Overview of different velocity controls .................................................................... 5-193

5.5 Smoothing the tool path velocity ............................................................................. 5-194

5.6 Traversing with feedforward control, FFWON, FFWOF.......................................... 5-195

5.7 Programmable contour accuracy, CPRECON, CPRECOF .................................... 5-196

5.8 Dwell time, G4......................................................................................................... 5-197

5.9 Program run: Internal preprocessor stop ................................................................ 5-198

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-177
5 5
Path Action 03.04
5.1 Exact stop, G60, G9, G601, G602, G603

5.1 Exact stop, G60, G9, G601, G602, G603

Explanation of the commands

G60, Exact stop, modal


G9, Exact stop, non-modal
G601, Step enable if positioning window fine reached
G602, Step enable if positioning window coarse reached
G603, Step enable if setpoint (end of interpolation) reached

Function
The exact positioning stop functions are used to
machine sharp outside corners or to finish inside corners
to size.

Sequence
Exact stop, G60, G9
G9 generates the exact stop in the current block. G60
generates the exact stop in the current block and all
subsequent blocks.
G60 is deactivated by the continuous-path mode
function G64 or G641.Positioning window.

G601, /G602
Block step enable
The movement is decelerated and stopped briefly at
G601
the corner point. With the exact stop criteria G601 and
G602, you determine how accurately the corner point G602
is approached and when the change to the next block
takes place.

Exact stops fine and coarse can be defined for each


axis in machine data.

Note: Set the exact stop limits no tighter than you


require.
The tighter the limits, the longer it takes to position and
approach the target position.

 Siemens AG, 2004. All rights reserved


5-178 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.1 Exact stop, G60, G9, G601, G602, G603

End of interpolation, G603


Block change
The block change is initiated when the control has
calculated a set speed of zero for the axes involved.
At this point, the actual value lags behind by a
proportionate factor depending on the dynamic re-
sponse of the axes and the path velocity. The work-
piece corners can now be rounded.

Command outputs
In all three cases the following applies:
The auxiliary functions programmed in the NC block
are enabled after the end of the movement.

Programmed path

Traversed
path
with F1

Traversed
path
with F2

F1 < F2

G601, G602 and G603 are only effective if G60 or G9


are active.

Example:
N10 G601

N50 G1 G60 X… Y…

In SW version 6 and higher, a machine data can be set


for specific channels which determines that the default
exact stop criteria, which deviate from the programmed
criteria, will be applied automatically. These are given
priority over the programmed criteria in some cases.
Criteria for G0 and the other G commands in the 1st
G code group can be stored separately.
See Description of Functions, Part1, B1.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-179
5 5
Path Action 03.04
5.2 Continuous-path mode, G64, G641, G642, G643, G644

5.2 Continuous-path mode, G64, G641, G642, G643, G644

Programming
G64
G641 ADIS=…
G641 ADISPOS=…
G642 ADIS=…
G642 ADISPOS=…
G643 ADIS=…
G643 ADISPOS=…
G644

Explanation of the commands

G64, Continuous-path mode


G641, Continuous-path mode with programmable transition rounding
G642, Rounding with axial tolerance
G643=, Block-internal corner rounding
G644=, Corner rounding with greatest possible dynamic response
ADIS, = Rounding clearance for path functions G1, G2, G3, ...
ADISPOS, = Rounding clearance for rapid traverse G0

Function
In continuous-path mode, the contour is machined with
a constant path velocity.

The uniform velocity also establishes better cutting


conditions, improves the surface quality and reduces
the machining time.

In continuous-path mode, the programmed contour


transitions are not approached exactly. Sharp corners
can be produced with G60 or G09. Continuous-path
mode is interrupted by text outputs with "MSG" and
blocks which trigger preprocessing stop implicitly (e.g.
access to particular status data of machine ($A...)).
The same applies to auxiliary function outputs; see
Chapter 9 Special Functions.

 Siemens AG, 2004. All rights reserved


5-180 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.2 Continuous-path mode, G64, G641, G642, G643, G644

Sequence
Continuous-path mode, G64

C
on
st
In continuous-path mode, the tool travels across

an
t
ve
tangential contour transitions with as constant a path

lo
ci
ty
velocity as possible (no deceleration at block
boundaries). Look Ahead deceleration takes place
before corners (G09) and blocks with exact stop (Look
Ahead, see following pages).

Corners are also traversed at a constant velocity. In


order to minimize the contour error, the velocity is
reduced according to an acceleration limit and an
overload factor, see

References: /FB/ B1 Continuous-path mode

The overload factor can be set in machine data 32310


(see /FB/ B1, Continuous-path mode).
The extent of smoothing of the contour transitions
depends on the feedrate and the overload factor. With
G641 you can specify the desired rounding area
explicitly (see following pages).

Rounding cannot and should not replace the functions


for defined smoothing: RND, RNDM, ASPLINE,
BSPLINE, CSPLINE.

Continuous-path mode with programmable


transition rounding, G641 max. 0.5mm Programmed
With G641, the control inserts transition elements at contour end

contour transitions. With ADIS=… or ADISPOS=… you ADIS/ADISPOS


can specify the extent to which the corners are round- max. 0.5mm

ed. The effect of G641 is similar to RNDM, however it


is not restricted to the axes of the working plane.

Example: N10 G641 ADIS=0.5 G1 X… Y…

The approximate positioning block can


begin 0.5 mm before the programmed end of block at
the earliest and must be finished 0.5mm after the end
of the block.
This setting remains modal.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-181
5 5
Path Action 03.04
5.2 Continuous-path mode, G64, G641, G642, G643, G644

G641 also operates with Look Ahead speed control


(see following pages). Corner rounding blocks with a
high degree of curvature are approached at reduced
velocity.

Additional notes
Rounding cannot be used as a substitute for smoothing
(RND). The user should not make any assumptions with
respect to the appearance of the contour within the
rounding area. The type of rounding can depend on
dynamic conditions, e.g. on the tool path velocity.
Rounding on the contour is therefore only practical with
small ADIS values.
RND must be used if a defined contour is to be followed
at the corner in all circumstances.
ADISPOS is used between G0 blocks. This enables the
axis movement to be smoothed substantially and the
traversing time to be reduced during positioning.
If ADIS/ADISPOS is not programmed, a value of zero
applies and the traversing behavior therefore
corresponds to G64. The rounding clearance is
automatically reduced (by up to 36%) for short
traversing distances.

Continuous-path mode G64/G641 across several


Blocks
The following points should be noted in order to prevent
an undesired stop in the path motion (relief cutting):
• Auxiliary function outputs trigger a stop (exception:
high-speed auxiliary functions and auxiliary
functions during movements)
• Intermediate blocks which contain only comments,
calculation blocks or subprogram calls do not affect
the movement.

 Siemens AG, 2004. All rights reserved


5-182 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.2 Continuous-path mode, G64, G641, G642, G643, G644

Extension of corner rounding


If FGROUP does not contain all the path axes, there is
often a step change in the velocity at block boundaries
for those axes excluded from FGROUP; the control limits
this change in velocity to the permissible values set in
MD 32300: MAX_AX_ACCEL and
MD 32310: MAX_ACCEL_OVL_FACTOR by reducing
the velocity at block changes. This braking operation can
be avoided through the application of a rounding function
which "smoothes" the specific positional interrelationship
between the path axes.

Corner rounding with G641


You can activate a modal rounding action by
programming G641 and specifying a rounding radius
with ADIS (or ADISPOS in rapid traverse). Within this
radius about the block change point, the control is free to
ignore the path construct and replace it with a
dynamically optimized path.
Disadvantage: Only one ADIS value is available for
all axes.

Corner rounding with axial precision using G642


G642 activates corner rounding with modal axial
tolerances. Corner rounding is not carried out inside a
defined ADIS area but the axial tolerances defined with
MD 33100: COMPRESS_POS_TOL are maintained.
The mode of operation is otherwise identical to G641.
With G642, the rounding path is calculated from the
shortest rounding path of all axes. This value is taken
into account when a corner rounding block is
generated.

Block-internal corner rounding with G643


(SW 5.3 and higher)
The maximum deviations from the exact contour are
specified for each axis by machine data MD 33100:
COMPRESS_POS_TOL[...] when a contour is
smoothed with G643.
No separate rounding block is generated for G643;
instead, axis-specific block-internal rounding motions
are inserted.
The rounding path can be different for each axis with
G643.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-183
5 5
Path Action 03.04
5.2 Continuous-path mode, G64, G641, G642, G643, G644

Example for corner rounding with G643, see also:


References /PGA/ Programming Guide Advanced,
Chapter 5, Settable Path Reference, SPATH, UPATH

Extension of corner rounding with SW 6


The functional extensions described below refine the
action of G642 and G643 and incorporate a new
function, i.e.
corner rounding with contour tolerance. With corner
rounding in conjunction with G642 and G643, the
permissible deviations for each axis are normally
specified.
With machine data
MD 20480: SMOOTHING_MODE
it is possible to configure rounding with G642 and G643
in such a way that a contour tolerance and an orienta-
tion tolerance can be specified instead of the axial
tolerances. In this case, the tolerance for the contour
and the orientation are set with two mutually indepen-
dent setting data that can be programmed in the NC
program; the settings can therefore be programmed
differently for each block transition.

Setting data:
SD 42465: SMOOTH_CONTUR_TOL
This setting data defines the maximum rounding
tolerance for the contour.

SD 42466: SMOOTH_ORI_TOL
This setting data defines the maximum rounding
tolerance for the tool orientation (angular
displacement).
This data is operative only if an orientation
transformation is also active.
Large differences in the settings for the contour
tolerance and tool orientation tolerance will
only have an effect in conjunction with G643.

 Siemens AG, 2004. All rights reserved


5-184 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.2 Continuous-path mode, G64, G641, G642, G643, G644

Corner rounding with greatest possible dynamic


response
The function is available with SW 7.1.
Corner rounding with greatest possible dynamic
response is activated with G644 and configured in the
thousands position of MD 20480. The possible settings
are as follows:
0:
Input maximum axial deviations using MD 33100:
COMPRESS_POS_TOL
1:
Input the maximum rounding path by programming
ADIS=... or ADISPOS=...
2:
Input the maximum possible frequencies of each axis in
the rounding area using
MD 32440: LOOKAH_FREQUENCY. The rounding area
is defined such that no frequencies in excess of the
specified maximum can occur while the rounding motion
is in progress.
3:
During rounding operations with G644 neither
the tolerance nor the rounding rounding clearance is
monitored. Each axis travels with the greatest possible
dynamic response around a corner.
With the SOFT command, both the maximum
acceleration and the maximum jerk of each axis is
maintained.
With the BRISK command, the jerk is not limited;
instead, each axis travels at the maximum possible
acceleration.
References: /FB/, B1, Continuous-Path Mode,
Exact Stop and Look Ahead

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-185
5 5
Path Action 03.04
5.2 Continuous-path mode, G64, G641, G642, G643, G644

No rounding block/
no rounding motion
No corner rounding is performed in the following three
situations:
1. The axis stops between the two blocks. This occurs
when ...
• The following block contains an auxiliary function
output before the movement.
• The following block does not contain a path
movement.
• An axis is traversed for the first time as a path axis
for the following block when it was previously a
positioning axis.
• An axis is traversed for the first time as a
positioning axis for the following block when it was
previously a path axis.
• The previous block traverses geo axes and the
following block does not (this is no longer the case
in SW 4 and higher).
• Prior to thread cutting: The following block has
G33 as a preparatory function and the previous
block does not.
• A changeover between BRISK and SOFT occurs.
• Axes involved in the transformation are not
completely assigned to the path motion (e.g. for
oscillation, positioning axes).

2. The rounding block would slow down parts program


execution. This occurs when ...
• A rounding block is inserted between very short
blocks. Since each block requires at least one
interpolation cycle, the added intermediate block
would double the machining time.
• A block transition G64 (continuous-path mode
without rounding) can be traversed without
speed reduction. Rounding would increase the
machining time.
In other words, the value of the permitted
overload factor (MD 32310:
MAX_ACCEL_OVL_FACTOR) influences
whether a block transition is rounded or not.
The overload factor is taken into account only in
conjunction with G641/G642. The overload
factor is ignored in corner rounding with G643.

 Siemens AG, 2004. All rights reserved


5-186 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.2 Continuous-path mode, G64, G641, G642, G643, G644

• In SW version 6 and higher, MD 20490:


IGNORE_OVL_FACTOR_FOR_ADIS can be
set to TRUE to set this behavior for G641 and
G642 as well.
3. Rounding is not parameterized.
This occurs with G641 when ...
• ADISPOS == 0 in G0 blocks. (default!)
• ADIS == 0 in non-G0 blocks. (default!)
• For transition from G0 to non-G0 or non-G0 to
G0, the smaller value of ADISPOS and ADIS
applies.
With G642/G643, when all axis-specific
tolerances equal zero.

Positioning axes
Positioning axes always traverse according to the
exact stop principle, positioning window fine (as for
G601). If an NC block has to wait for positioning axes,
continuous-path mode is interrupted on the path axes.

Command outputs
Auxiliary functions which are enabled after the end of
the movement or before the next movement interrupt
continuous-path mode.

Look Ahead velocity control,


Velocity pattern with G60/G64
Look Ahead
In continuous-path mode with G64 or G641, the control
v
automatically detects the velocity control in advance for
G64 with Look Ahead
several NC blocks. This enables acceleration and Programmed
deceleration across multiple blocks with almost feed

tangential transitions.
e.g. G64 with insufficient
Look Ahead is particularly suitable for the machining of Look Ahead
movement sequences comprising short traverse paths
G60, G603
with high path feedrates.
The number of NC blocks included in the Look Ahead
X
calculation can be defined in machine data. N1 N2 N3 N4 N5 N6 N7 N8 N9

Look Ahead across more than one block is an option.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-187
5 5
Path Action 03.04
5.2 Continuous-path mode, G64, G641, G642, G643, G644

Continuous-path mode in rapid traverse G0

One of the functions G60/G9 or G64/G641 must also be


specified for rapid traverse. Otherwise, the default in the
machine data is used.

Setting MD 20490
IGNORE_OVL_FACTOR_FOR_ADIS results in block
transitions being smoothed irrespective of the
programmed overload factor.

Programming example
With this workpiece, the two outside corners at the Y Exact stop
Y

groove are approached exactly. All other machining fine

takes place in continuous-path mode.

70
50
40
10

10 X Z
60
80 7
100

N05 DIAMOF Radius as dimension


N10 G17 T1 G41 G0 X10 Y10 Z2 S300 M3 Approach starting position, activate
spindle, path compensation
N20 G1 Z-7 F8000 Tool infeed
N30 G641 ADIS=0.5 Contour transitions are smoothed
N40 Y40
N50 X60 Y70 G60 G601 Approach exact position with exact stop
fine
N60 Y50
N70 X80
N80 Y70
N90 G641 ADIS=0.5 X100 Y40 Contour transitions are smoothed
N100 X80 Y 10
N110 X10
N120 G40 G0 X-20 Deactivate path compensation
N130 Z10 M30 Retract tool, end of program

 Siemens AG, 2004. All rights reserved


5-188 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.3 Acceleration pattern, BRISK, SOFT, DRIVE

5.3 Acceleration pattern, BRISK, SOFT, DRIVE

5.3.1 Acceleration modes

Explanation of the commands

BRISK, Brisk acceleration of path axes


BRISKA, (axis1,axis2,…) Switch on brisk axis acceleration for the programmed
axes
SOFT, Soft acceleration of path axes
SOFTA(axis1,axis2,…) Switch on soft axis acceleration for the programmed axes
DRIVE, Reduction of acceleration above a speed for path axes
that can be set in
$MA_ACCEL_REDUCTION_SPEED_POINT (only
applicable for FM-NC)
DRIVEA (axis1,axis2,…) Reduction of acceleration above a speed for programmed
axes that can be set in
$MA_ACCEL_REDUCTION_SPEED_POINT (only
applicable for FM-NC)
, (axis1,axis2,…) The acceleration behavior set in machine data
$MA_POS_AND JOG_JERK_ENABLE oder
$MA_ACCEL_TYPE_DRIVE is active for the programmed
axes

Function
BRISK, BRISKA
The axis slides travel with maximum acceleration until
the feedrate is reached. BRISK enables time-optimized
machining, but with jumps in the acceleration curve.

Setpoint
SOFT, SOFTA
The axis slides travel with constant acceleration until BRISK SOFT
Path veloctity

the feedrate is reached. (time-optimized) (reduced


wear on
SOFT acceleration enables higher path accuracy and mechanical
equipment)
less wear and tear on the machine.
Time

Example: N10 G1 X… Y… F900 SOFT


N20 BRISKA(AX5,AX6)

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-189
5 5
Path Action 03.04
5.3 Acceleration pattern, BRISK, SOFT, DRIVE

Additional notes
A change between BRISK and SOFT causes a stop at
the block transition. The acceleration response for the
path axes can be defined in machine data.

Function
DRIVE, DRIVEA
The axis slides traverse at the maximum acceleration Setpoint

rate up to the speed limit set in the machine data. The


Limit of
acceleration rate is then reduced according to machine constant

Path velocity
acceleration
data until the feedrate speed is reached.
This function allows the acceleration characteristic to
be optimally adapted to a specific motor characteristic,
for example, for stepper motor applications.
Time

Example: N05 DRIVE


N10 G1 X… Y… F1000
N20 DRIVEA (AX4, AX6)

5.3.2 Control of acceleration for following axes

Programming

VELOLIMA[AX4]=75 75 % of the maximum axial velocity stored in


the machine data
ACCLIMA[AX4]=50 50 % of the maximum axial acceleration
stored in the machine data
JERKLIMA[AX4]=50 50 % of the maximum jerk on path motion
stored in the machine data

 Siemens AG, 2004. All rights reserved


5-190 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.3 Acceleration pattern, BRISK, SOFT, DRIVE

Explanation of the commands

VELOLIMA[Ax], Change to limit for maximum velocity for


following axis
ACCLIMA[Ax], Change to limit for maximum acceleration for
following axis
JERKLIMA[Ax], Change to limit for maximum jerk for
following axis

Function

The coupled axes described in the Programming Guide


Advanced Chapter 9 and Sections 13.3, 13.4: Tangential
correction, coupled-motion axes, master value coupling,
and electronic gearbox have the property of moving
following axes/spindles as a function of one or more
leading axes/spindles.

The commands for correction of limitation for the


dynamic response of the following axis can be issued
from the parts program or from synchronous actions.
The commands for correction of limitations of the
following axis can already be given while axis coupling is
active.

Additional notes

Details about the function are described in


References: /FB/, M3 Coupled Axes and ESR
/FB/, S3 Synchronous Spindles

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-191
5 5
Path Action 03.04
5.3 Acceleration pattern, BRISK, SOFT, DRIVE

Programming example 1 Electronic gear

Axis 4 is coupled to axis X via an electronic gear


coupling. The acceleration capability of the following axis
is limited to 70% of maximum acceleration. The
maximum permissible velocity is limited to 50% of
maximum velocity. After successful activation of the
coupling, the maximum permissible velocity is set to
100% again.
...
N120 ACCLIMA[AX4]=70 Reduced maximum acceleration
N130 VELOLIMA[AX4]=50 Reduced maximum velocity
...
N150 EGON(AX4, "FINE", X, 1, 2) Activation of the EG coupling
...
N200 VELOLIMA[AX4]=100 Full maximum velocity

Programming example 2 Master value coupling with influence by static


synchronized action

Axis 4 is coupled to X by master value coupling. The


acceleration response is limited to 80% by static
synchronized action 2 from position 100.
...
N1220 IDS=2 WHENEVER $AA_IM[AX4] > 100 Synchronized action
DO ACCLIMA[AX4]=80
N130 LEADON(AX4, X, 2) Master value coupling on

 Siemens AG, 2004. All rights reserved


5-192 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.4 Overview of different velocity controls

5.4 Overview of different velocity controls

X
Con tou r curve
N1, G 1 N5, G 2

N 6, G 1
N2, G 3 N4, G 3
N7, G 0
N3, G 1

V Path = Pa th v elo city G 60 G 601 (W ait tim e with G60)

t
N1 N2 N3 N4 N5 N6 N7

V Path G 60 G603 (W ithout wait time)

t
N1 N2 N3 N4 N5 N6 N7

V Path
G 64 BRISK

t
N1 N2 N3 N4 N5 N6 N7

V Pat h
G 64 SOF T

Rapid
traverse
F

t
N1 N2 N3 N4 N5 N6 N7

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-193
5 5
Path Action 03.04
5.5 Smoothing the tool path velocity

5.5 Smoothing the tool path velocity


Function
The velocity control function utilizes the specified axial
dynamic response. If an axis cannot reach the
programmed feedrate, the path velocity is controlled
according to the parameterized, axial limit values and
the path-specific limits (i.e. velocity, acceleration and
jerk). This action can give rise to frequent braking and
acceleration on the path.
If, for example, during a machining operation at a high
path velocity, the axis accelerates briefly, but brakes
again almost immediately afterwards, the machining
time will not be significantly reduced. Acceleration of this
kind can, however, have undesirable effects if, for
example, it results in machine resonance. A smoother
path velocity profile can be achieved with the "Path
velocity smoothing" function which allows special
machine data and the character of the parts program to
be taken into account.
Additional notes
References: /FB/, B1, "Path Velocity Smoothing
(SW 5.3 and higher)"

 Siemens AG, 2004. All rights reserved


5-194 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.6 Traversing with feedforward control, FFWON, FFWOF

5.6 Traversing with feedforward control, FFWON, FFWOF

Explanation of the commands

FFWON, Activate feedforward control


FFWOF, Deactivate feedforward control

Function
Feedforward control reduces the speed-dependent
overtravel when contouring towards zero.
Traversing with feedforward control permits higher path
accuracy and thus improved machining results.

Example: N10 FFWON


N20 G1 X… Y… F900 SOFT

Additional notes
The type of feedforward control and the path axes to which feedforward is to be applied are
determined via machine data.

Default: Velocity-dependent feedforward control


Optional: Acceleration-dependent feedforward control (not possible with FM-NC, 810D)

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-195
5 5
Path Action 03.04
5.7 Programmable contour accuracy, CPRECON, CPRECOF

5.7 Programmable contour accuracy, CPRECON, CPRECOF

Explanation of the commands

CPRECON, Activate programmable contour accuracy


CPRECOF, Deactivate programmable contour accuracy

Function
In machining operations without feedforward control
(FFWON), errors may occur on curved contours as the
result of speed-related differences between setpoint
and actual positions.
The programmable contour accuracy function
CPRECON makes it possible to store a maximum per-
missible contour error in the NC program which must
never be smoothed. The magnitude of the contour error
is specified with setting data $SC_CONTPREC.
On the basis of this data and the servo gain factor
(speed / following error ratio) of the path axes con-
cerned, the control calculates the maximum path speed
at which the contour error produced by the overtravel
does not exceed the minimum value stored in the set-
ting data.
The Look Ahead function allows the entire path to be
traversed with the programmed contour accuracy.

Example:
N10 X0 Y0 G0
N20 CPRECON ;Activate contour accuracy
N30 F10000 G1 G64 X100 ;Machine contour at 10 m/min in
continuous-path mode
N40 G3 Y20 J10 ;Automatic feed limitation in circle block
N50 X0 ;Feed without limitation to 10 m/min

Additional notes
A minimum velocity can be defined in the setting data
$SC_MINFEED; the feed must not be less than this
value.

 Siemens AG, 2004. All rights reserved


5-196 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
5 5
03.04 Path Action
5.8 Dwell time, G4

5.8 Dwell time, G4

Programming
G4 F…
G4 S…
(programmed in a separate NC block)

Explanation of the commands

G4, Activate dwell time


F… Time specified in seconds
S…, Time specified in revolutions of the master spindle

Function
You can use G4 to interrupt workpiece machining
between two NC blocks for the programmed length of
time, e.g. for relief cutting.

Sequence
Example:
N10 G1 F200 Z-5 S300 M3
;Feed F; spindle speed S
N20 G4 F3 ;Dwell time 3s
N30 X40 Y10
N40 G4 S30 ;Dwell for 30 revolutions of
spindle corresponds to S=300
rev/min and 100% speed
override: t=0.1min
N40 X... ;Feed and spindle speed remain
operative

The words with F... and S... are used for time
specifications only in the block with G4.
Any previously programmed feed F and spindle
speed S remain valid.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 5-197
5 5
Path Action 03.04
5.9 Program run: Internal preprocessor stop

5.9 Program run: Internal preprocessor stop

Function
The control generates an internal preprocessor stop on
access to machine status data ($A...).
If a command which implicitly causes a preprocessing
stop is read in a following block, this block is not
executed until all other blocks which are already
preprocessed and stored have been executed. The
preceding block is halted in exact stop (as with G9).

Example:
N40 POSA[X]=100
N50 IF $AA_IM[X]==R100 GOTOF LABEL1 ; Access to machine status data ($A), the
N60 G0 Y100 control generates an internal preprocessor
N70 WAITP(X) stop
N80 LABEL1:

Machining stops in block N50.

 Siemens AG, 2004. All rights reserved


5-198 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames

Frames

6.1 General ................................................................................................................... 6-200

6.2 Frame instructions .................................................................................................. 6-201

6.3 Programmable zero offset....................................................................................... 6-203


6.3.1 TRANS, ATRANS ................................................................................................... 6-203
6.3.2 G58, G59. Additive programmable zero offsets (SW 5 and higher) ....................... 6-207

6.4 Programmable rotation, ROT, AROT...................................................................... 6-210

6.5 Programmable frame rot. with solid angles, ROTS, AROTS, CROTS ................... 6-218

6.6 Programmable scale factor, SCALE, ASCALE....................................................... 6-219

6.7 Programmable mirroring, MIRROR, AMIRROR ..................................................... 6-222

6.8 Frame generation acc. to tool orient., TOFRAME, TOROT, PAROT ..................... 6-226

6.9 Deselect FRAME SUPA, DRFOF, CORROF, TRAFOOF ...................................... 6-229

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-199
6 6
Frames 03.04
6.1 General

6.1 General

What is a frame?
Z1=Z2
Frame is the conventional term for a geometrical Rotation Y1
expression that describes an arithmetic rule, such as around Z axis
Y2
translation or rotation.

Frames are used to describe the position of a destina-


tion coordinate system by specifying coordinates or
ZM
angles starting from the current workpiece coordinate

et
fs
YM
system.

of
X1

ro
Ze
X2
Possible frames
• Basic frame (basic offset)
• Settable frames (G54...G599) XM
• Programmable frames
References: /PG/, Programming Guide Advanced

Machine manufacturer (MH6.1)


Settable frames: See machine manufacturer's
specifications.
Milling:
Frame components
Y Y
A frame can consist of the following arithmetic rules:
• Zero offset, TRANS, ATRANS
• Rotation, ROT, AROT
• Scale, SCALE, ASCALE X X
• Mirroring, MIRROR, AMIRROR TRANS, ATRANS ROT
AROT

Y Y

The above frame instructions are programmed in


separate NC blocks and executed in the programmed
order. X
X

SCALE, ASCALE MIRROR,AMIRROR

 Siemens AG, 2004. All rights reserved


6-200 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.2 Frame instructions

Turning:

X X

Z Z

TRANS, ATRANS ROT


AROT

X X

Z
Z

SCALE, ASCALE MIRROR,AMIRROR

6.2 Frame instructions

Basic frame (basic offset)


The basic frame describes the coordinate transforma-
tion from the Basic Coordinate System (BCS) to the
Basic Zero System (BZS) and has the same effect as
for settable frames.

Settable instructions
Settable instructions are the zero offsets which can be
TRANS
called from any NC program with the commands G54
to G599. The offset values are predefined by the user
and stored in the zero offset memory on the control.
TRANS
This is used to define the Workpiece Coordinate
System (WCS).

Programmable instructions
Programmable instructions (TRANS, ROT, ...) are valid
in the current NC program and refer to the settable
instructions. The programmable frame is used to define
the Workpiece Coordinate System (WCS).

Substituting instructions
TRANS, ROT, SCALE and MIRROR are substituting
instructions.
This means that each of these instructions cancels all
other previously programmed frame instructions.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-201
6 6
Frames 03.04
6.2 Frame instructions

The last called settable zero offset G54 to G599 is


used as the reference.
Additive instructions
ATRANS, AROT, ASCALE and AMIRROR are additive
instructions.
The currently set zero point or the last workpiece zero
to be programmed with frame instructions is used as
the reference. The above instructions are added to
existing frames.

Note: Additive instructions are frequently used in


ATRANS
subprograms. The basic functions defined in the main
program are not lost after the end of the subprogram if
TRANS
the subprogram has been programmed with the SAVE
attribute.

References
/PGA/ Programming Guide Advanced, Section
"Subroutines, Macros"

 Siemens AG, 2004. All rights reserved


6-202 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.3 Programmable zero offset

6.3 Programmable zero offset

6.3.1 TRANS, ATRANS

Programming
TRANS X… Y… Z… (programmed in a separate NC block)
ATRANS X… Y… Z… (programmed in a separate NC block)

Explanation of the commands and parameters

TRANS zero offset absolute, referred to the currently valid,


workpiece zero set with G54 to G599
ATRANS as TRANS, but with additive zero offset
X Y Z offset value in the direction of the specified geometry axis

Function Milling:

TRANS/ATRANS can be used to program translations


Z
for all path and positioning axes in the direction of the
specified axis. This allows you to work with different ZM
zero points, for example when performing recurring
YM
machining processes at different workpiece positions.
Y

TRANS
X
54
G

XM

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-203
6 6
Frames 03.04
6.3 Programmable zero offset

Turning:

M W

TRANS
G54

Sequence
Substituting instruction, TRANS X Y Z
Translation through the offset values programmed in
the specified axis directions (path, synchronized axes
and positioning axes).
The last specified settable zero offset (G54 to G599) is
used as a reference.
TRANS

The TRANS command cancels all frame components


of the previously activated programmable frame.
TRANS

You can use ATRANS to program a translation which is


to be added to existing frames.

 Siemens AG, 2004. All rights reserved


6-204 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.3 Programmable zero offset

Additive instruction, ATRANS X Y Z


Translation through the offset values programmed in
the specified axis directions.

The currently set or last programmed zero point is


used as the reference.

Deactivate programmable zero offset


TRANS
For all axes:
TRANS (without axis parameter)

TRANS

Here, all previously programmed frames are canceled.


The settable zero offset remains programmed.

Programming example Milling:

With this workpiece, the illustrated shapes recur


Y Y
several times in the same program. M

X
The machining sequence for this shape is stored in a
subprogram.
Y Y
50

You use the translation to set only those workpiece


zeroes and then call up the subprogram. X X
10

54

X
G

M
10
50

N10 G1 G54 Working plane X/Y, workpiece zero


N20 G0 X0 Y0 Z2 Approach starting point
N30 TRANS X10 Y10 Absolute offset
N40 L10 Subprogram call
N50 TRANS X50 Y10 Absolute offset
N60 L10 Subprogram call
N70 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-205
6 6
Frames 03.04
6.3 Programmable zero offset

Turning:

M W

130
140
150

N.. ...
N10 TRANS X0 Z150 Absolute offset
N15 L20 Subprogram call
N20 TRANS X0 Z140 (or ATRANS Z-10) Absolute offset
N25 L20 Subprogram call
N30 TRANS X0 Z140 (or ATRANS Z-10) Absolute offset
N35 L20 Subprogram call
N.. ...

 Siemens AG, 2004. All rights reserved


6-206 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.3 Programmable zero offset

6.3.2 G58, G59. Additive programmable zero offsets (SW 5 and higher)

Programming
G58 X… Y… Z… A… (programmed in a separate NC block)
G59 X… Y… Z… A… (programmed in a separate NC block)

Explanation of the commands and parameters

G58, Replaces the absolute translation component of the programmable zero


offset for the specified axis, but the programmed additive offset remains
valid, (in relation to the workpiece zero set with G54 to G599)
G59, Replaces the additive translation component of the programmable zero
offset for the specified axis, but the absolutely programmed offset remains
valid
X Y Z Offset value in the direction of the specified geometry axis

Function
G58 and G59 allow translation components of the Z

programmable zero offset (frame) to be replaced for ZM

specific axes. The translation function comprises the YM


• absolute component (G58, coarse offset) Translation
Y
• additive component (G59, fine offset)

These functions can only be used when the fine offset X


abso
is configured.
54

l
G58 ute Tran
G

slat i
If G58 or G59 is used without a configured fine offset, TRA on
NS
alarm "18312 channel %1 block %2 frame: Fine offset additive Tra.
G59
not configured" is output. XM ATRANS

Machine manufacturer (MH6.2)


The fine offset must be configured via MD for this
function.

Note MD24000: FRAME_ADD_COMPONENTS=1, or else an alarm is generated


in response to G58, G59.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-207
6 6
Frames 03.04
6.3 Programmable zero offset

The absolute translation component is modified by the


following commands:
• TRANS,
• G58
• CTRANS
• CFINE
• $P_PFRAME[X,TR]

The additive translation component is modified by the


following commands:
• ATRANS,
• G59
• CTRANS
• CFINE
• $P_PFRAME[X,FI]

The table below describes the effect of various program


commands on the absolute and additive offsets.

Effect of the additive/absolute offset:

Command Rough or absolute Fine or additive Comment


offset offset
TRANS X10 10 Unchanged Absolute offset for X
G58 X10 10 Unchanged Overwrites absolute offset for X
$P_PFRAME[X,TR] = 10 10 Unchanged Progr. offset in X
ATRANS X10 Unchanged Fine (old) + 10 Additive offset for X
G59 X10 Unchanged 10 Overwrites additive offset for X
$P_PFRAME[X,FI] = 10 Unchanged 10 Progr. fine offset in X
CTRANS(X,10) 10 0 Offset for X
CTRANS() 0 0 Deselection of offset (including fine offset
component)
CFINE(X,10) 0 10 Fine offset in X

 Siemens AG, 2004. All rights reserved


6-208 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.3 Programmable zero offset

Programming example

N...
N50 TRANS X10 Y10 Z10 ; absolute translation component X10 Y10 Z10
N60 ATRANS X5 Y5 ; additive translation component X5 Y5
= total offset X15 Y15 Z10
N70 G58 X20 ; absolute translation component X20 + addit. X5 Y5
= total offset X25 Y15 Z10
N80 G59 X10 Y10 ; additive translation component X10 Y10 + absolute X20
Y 10
= total offset X30 Y20 Z10
N...

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-209
6 6
Frames 03.04
6.4 Programmable rotation, ROT, AROT

6.4 Programmable rotation, ROT, AROT

Programming
ROT X… Y… Z…
ROT RPL=…

AROTX… Y… Z…
AROT RPL=…

Each instruction must be programmed in a separate NC


block.

Explanation of the commands and parameters

ROT, Absolute rotation with reference to the currently valid workpiece zero set with
G54 to G599
AROT, Additive rotation with reference to the currently valid set or programmed zero
point
X Y Z Rotation in space: geometry axes around which the rotation takes place
RPL, Rotation in the plane: Angle through which the coordinate system is rotated
(plane set with G17-G19)

Function
ROT/AROT can be used to rotate the workpiece
coordinate system around each of the geometry axes
X, Y, Z or through an angle RPL in the selected wor-
king plane G17 to G19 (or around the perpendicular
infeed axis).

This allows inclined surfaces or several workpiece


sides to be machined in one setting.

 Siemens AG, 2004. All rights reserved


6-210 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.4 Programmable rotation, ROT, AROT

Sequence: Rotation in space


Y
Substituting instruction, ROT X Y Z
The coordinate system is rotated through the
programmed angle around the specified axes.
The center of rotation is the last specified settable zero
offset (G54 to G599).

The ROT command cancels all frame components of


X
the previously activated programmable frame.

A new rotation based on existing frames is program-


med with AROT.

Additive instruction, AROT X Y Z


Rotation through the angle values programmed in the Y
axis direction parameters.

The center of rotation is the currently set or last


programmed zero point. ROT

AR
TO

Note
For both instructions, please note the order and direction
of rotation in which the rotations are performed (see next
page)!

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-211
6 6
Frames 03.04
6.4 Programmable rotation, ROT, AROT

Direction of rotation
Z
The following is defined as the positive direction of
rotation:
The view in the direction of the positive coordinate axis + Y
- -
and clockwise rotation.

Order of rotation -

You can rotate up to three geometry axes +


simultaneously in one NC block. X

The order of the RPY notation (= Roll, Pitch, Yaw) or


Z
Euler angle through which the rotations are performed
can be defined in machine data.
Y

MD 10600: FRAME_ANGLE_INPUT_MODE = 0

• 1: RPY notation
1
• 2: Euler angles

RPY notation is the default setting. After that, the


sequence Z, Y, Z of the rotation is defined as follows:
1. Rotation around the 3rd geometry axis (Z)
2. Rotation around the 2nd geometry axis (Y)
3. Rotation around the 1st geometry axis (X) 2
X

This order applies if the geometry axes are program-


med in a single block. It also applies irrespective of the
input sequence.
If only two axes are to be rotated, the parameter for the
3rd axis (value zero) can be omitted.

Value range with RPY angle


The angles are only defined ambiguously in the
following value ranges:
Rotation around 1st geometry axis: –180° ≤ X ≤ +180°
Rotation around 2nd geometry axis: –90° < Y < +90°
Rotation around 3rd geometry axis: –180° ≤ X ≤ +180°
All possible rotations can be represented with this value
range. Values outside the range are normalized by the
control into the above range during writing and reading.

 Siemens AG, 2004. All rights reserved


6-212 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.4 Programmable rotation, ROT, AROT

This value range applies to all frame variables.

Examples of reading back in RPY


$P_UIFR[1] = CROT(X, 10, Y, 90, Z, 40)
returns on reading back
$P_UIFR[1] = CROT(X, 0, Y, 90, Z, 30)

$P_UIFR[1] = CROT(X, 190, Y, 0, Z, –200)


returns on reading back
$P_UIFR[1] = CROT(X, –170, Y, 0, Z, 160)
On writing and reading frame rotation components, the
limits of the value range must be observed so the same
results are achieved on writing and reading, or on
repeated writing.

Value range with Euler angle


The angles are only defined ambiguously in the
following value ranges:
Rotation around 1st geometry axis: 0° < X < +180°
Rotation around 2nd geometry axis: –180° ≤ Y ≤ +180°
Rotation around 3rd geometry axis: –180° ≤ X ≤ +180°
All possible rotations can be represented with this value
range. Values outside the range are normalized by the
control into the above range. This value range applies to
all frame variables.

To ensure the angles written are read back


unambiguously, it is necessary to observe the defined
values ranges.

If you want to define the order of the rotations


individually, program the desired rotation successively
for each axis with AROT.

References
/FB1/ Function Description of the Basic Machine,
Chapter "Frames"

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-213
6 6
Frames 03.04
6.4 Programmable rotation, ROT, AROT

The working plane also rotates


The working plane defined with G17, G18 or G19
Z
rotates with the spatial rotation.
Y
Example:
Working plane G17 X/Y, the workpiece coordinate 7
G1
system is positioned on the top surface of the work-
X Y
piece. Translation and rotation is used to move the
coordinate system to one of the side surfaces.
Working plane G17 also rotates. Z
7
G1
This feature can be used to program plane destination
positions in X/Y coordinates and the infeed in the Z X

direction.
Precondition:
The tool must be positioned perpendicular to the
working plane. The positive direction of the infeed axis
points in the direction of the toolholder. Specifying
CUT2DF activates the tool radius compensation in the
rotated plane. For more information please refer to
Section "2 1/2 D Tool Compensation, CUT2D
CUT2DF".

Sequence: Rotation in the plane


The coordinate system is rotated in the plane selected ROT

with G17 to G19. Y Y

Substituting instruction, ROT RPL


7
Additive instruction, AROT RPL G1
The coordinate system is rotated through the angle G1
9 X
programmed with RPL= in the current plane. 9 G1
G1 7
G1
8
See "Rotation in space" for more information. Z
Z X
Z
8
G1

 Siemens AG, 2004. All rights reserved


6-214 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.4 Programmable rotation, ROT, AROT

Change of planes
If you program a change of plane (G17 to G19) after a
rotation, the angles of rotation programmed for the axes
are retained and continue to apply in the new working
plane.
It is therefore advisable to deactivate the rotation before
a change of plane.
Deactivate rotation
For all axes:
ROT (without axis parameter)

In both cases, all frame components of the previously


programmed frame are reset.

Programming example: Rotation in the plane


Y
With this workpiece, the illustrated shapes recur
several times in the same program.
Rotations have to be performed in addition to the
translation, because the shapes are not arranged
parallel to the axes.
60°
45°

8
r7
40

7
35

12
30
10

X
20
55

N10 G17 G54 Working plane X/Y, workpiece zero


N20 TRANS X20 Y10 Absolute offset
N30 L10 Subprogram call
N40 TRANS X55 Y35 Absolute offset
N50 AROT RPL=45 Rotation of the coordinate system through
45°
N60 L10 Subprogram call
N70 TRANS X20 Y40 Absolute offset (cancels all previous offsets)
N80 AROT RPL=60 Additive rotation through 60°
N90 L10 Subprogram call
N100 G0 X100 Y100 Retraction
N110 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-215
6 6
Frames 03.04
6.4 Programmable rotation, ROT, AROT

Programming example: Z
3D rotation
30°
In this example, paraxial and inclined workpiece

5
surfaces are to be machined in one setting. X
Precondition: The tool must be aligned perpendicular
to the inclined surface in the rotated Z direction. Y

8
r7

12
20
30

10
X

10
45

N10 G17 G54 Working plane X/Y, workpiece zero


N20 TRANS X10 Y10 Absolute offset
N30 L10 Subprogram call
N40 ATRANS X35 Additive offset
N50 AROT Y30 Rotation through the Y axis
N60 ATRANS X5 Additive offset
N70 L10 Subprogram call
N80 G0 X300 Y100 M30 Retraction, end of program

Programming example:
Multi-face machining Z

In this example, identical shapes on two perpendicular Y


workpiece surfaces are machined by using
7
subprograms. G1
The setup of the infeed direction, working plane and X
zero point in the new coordinate system on the
Y
right-hand workpiece surface matches that of the top
surface. 7
G1
The conditions required for subprogram execution
X
apply as before: Working plane G17, coordinate plane
X/Y, infeed direction Z.
Z

N10 G17 G54 Working plane X/Y, workpiece zero


N20 L10 Subprogram call
N30 TRANS X100 Z-100 Absolute offset

 Siemens AG, 2004. All rights reserved


6-216 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.4 Programmable rotation, ROT, AROT

100
X

Z
-1 0 0 Y

N40 AROT Y90 Rotation of the coordinate system through Y


Z

Y Y

AROT Y90
X Z

N50 AROT Z90 Rotation of the coordinate system through Z


Y

X
Y

AROT Z90
Z Z

N60 L10 Subprogram call


N70 G0 X300 Y100 M30 Retraction, end of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-217
6 6
Frames 03.04
6.5 Programmable frame rot. with solid angles, ROTS, AROTS, CROTS

6.5 Programmable frame rot. with solid angles, ROTS, AROTS, CROTS

Programming

ROTS X... Y... When solid angles X and Y are programmed,


AROTS X... Y... the new X axis is located in the old Z-X plane
CROTS X... Y... (SW 5.3 and higher).

ROTS Z... X... When solid angles Z and X are programmed,


AROTS Z... X... the new Z axis is located in the old Y-Z plane
CROTS Z... X... (SW 5.3 and higher).

ROTS Y... Z... When solid angles Y and Z are programmed,


AROTS Y... Z... the new X axis is located in the old X-Y plane
CROTS Y... Z... (SW 5.3 and higher).

Explanation of the commands and parameters

ROTS, Frame rotations with solid angles for spatial orientation of a plane absolute,
referred to the currently valid frame with set workpiece zero for G54 to G599.
AROTS, Frame rotations with solid angles for spatial orientation of a plane additive,
referred to the currently valid frame with set or programmed zero point.
CROTS, Frame rotations with solid angles for spatial orientation of a plane, referred to
the valid frame in the data management with rotation in the specified axes.
X Y Z A maximum of two solid angles may be specified.
RPL Rotation in the plane: Angle through which the coordinate system is rotated
(plane set with G17-G19).

Function
Spatial orientations can be defined via frame rotations
with solid angles ROTS, AROTS, CROTS.
Programming commands ROTS and AROTS behave
analogously to ROT and AROT.

 Siemens AG, 2004. All rights reserved


6-218 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.6 Programmable scale factor, SCALE, ASCALE

6.6 Programmable scale factor, SCALE, ASCALE

Programming
SCALE X… Y… Z… (programmed in a separate NC block)
ASCALE X… Y… Z… (programmed in a separate NC block)

Explanation of the commands and parameters

SCALE, Absolute enlargement/reduction with reference to the currently valid


coordinate system set with G54 to G599
ASCALE, Additive enlargement/reduction with reference to the currently valid set or
programmed coordinate system
X Y Z Scale factor in the direction of the specified geometry axis

Function
SCALE/ASCALE enables you to program scaling
factors in the direction of the axis specified for all path,
synchronous and positioning axes.
This enables the size of a shape to be changed. You
can thus program similar geometrical shapes in
different sizes.

Sequence
Substituting instruction, SCALE X Y Z Z
You can specify an individual scale factor for each axis,
by which the shape is to be reduced or enlarged. The Y

scale refers to the workpiece coordinate system set


with G54 to G57.

The SCALE command cancels all frame components


of the previously activated programmable frame.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-219
6 6
Frames 03.04
6.6 Programmable scale factor, SCALE, ASCALE

Additive instruction, ASCALE X Y Z


You can program scale changes which are to be added
to existing frames by using the ASCALE command.
In this case, the last valid scale factor is multiplied by

E
AL
the new one.

C
AS
The currently set or last programmed coordinate sys-
tem is used as the reference for the scale change.
AROT
Deactivate scaling factor
TRANS
For all axes:
SCALE (without axis parameter)

All frame components of the previously programmed


frame are reset.

Additional notes
If you program an offset with ATRANS after SCALE,
the offset values are also scaled.

Please take great care when using different scale


factors! Example: Circular interpolations can only be
scaled using identical factors.

You can, however, use different scale factors to pro-


gram distorted circles, for example.

 Siemens AG, 2004. All rights reserved


6-220 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.6 Programmable scale factor, SCALE, ASCALE

Programming example
Y
With this workpiece, the two pockets occur twice, but in
different sizes and at different angles to each other.

The machining sequence is stored in a subprogram.

Use zero offset and rotation to set each of the work-


piece zeroes, reduce the contour with a scale and then
35°
call the subprogram up again.

20
15
X
15
40

N10 G17 G54 Working plane X/Y, workpiece zero


N20 TRANS X15 Y15 Absolute offset
N30 L10 Machine large pocket
N40 TRANS X40 Y20 Absolute offset
N50 AROT RPL=35 Rotation in the plane through 35°
N60 ASCALE X0.7 Y0.7 Scale factor for the small pocket
N70 L10 Machine small pocket
N80 G0 X300 Y100 M30 Retraction, end of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-221
6 6
Frames 03.04
6.7 Programmable mirroring, MIRROR, AMIRROR

6.7 Programmable mirroring, MIRROR, AMIRROR

Programming
MIRROR X0 Y0 Z0 (programmed in a separate NC block)
AMIRROR X0 Y0 Z0 (programmed in a separate NC block)

Explanation of the commands and parameters

MIRROR, Absolute mirror image with reference to the currently valid coordinate system set with
G54 to G599
AMIRROR, Additive mirror image with reference to the currently valid set or programmed
coordinate system
X Y Z Geometry axis whose direction is to be changed. The value specified here can be
chosen freely, e.g. X0 Y0 Z0.

Function
MIRROR/AMIRROR can be used to mirror workpiece
shapes on coordinate axes. All traversing movements
which are programmed after the mirror call, e.g. in the
subprogram, are executed in the mirror image.

Sequence
Substituting instruction, MIRROR X Y Z
The mirror is programmed by means of an axial
change of direction in the selected working plane.
MIRROR X
Y
Example: Working plane G17 X/Y
The mirror (on the Y axis) requires a change of direc-
tion on X and is subsequently programmed with
MIRROR X0. X
MIRROR Y
The contour is then mirrored on the opposite side of
the mirror axis Y.

 Siemens AG, 2004. All rights reserved


6-222 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.7 Programmable mirroring, MIRROR, AMIRROR

The mirror image refers to the coordinate axes set with


G54 to G57.

The MIRROR command cancels all previously set


programmable frames.

Additive instruction, AMIRROR X Y Z


A mirror image which is to be added to an existing
transformation is programmed with AMIRROR.

The currently set or last programmed coordinate sys-


tem is used as the reference.

Deactivate mirroring
TRANS
For all axes:
MIRROR (without axis parameter)

All frame components of the previously programmed


frame are reset. AMIRROR

Additional notes
The mirror command causes the control to automa- Y
tically change the path compensation commands
(G41/G42 or G42/G41) according to the new
machining direction.
G03 G02

The same applies to the direction of circle rotation


(G2/G3 or G3/G2).

If you program an additive rotation with AROT after G41 G42 X


MIRROR, you may have to work with reversed direc-
tions of rotation (positive/negative or negative/ MIRROR X
positive).
Mirrors on the geometry axes are converted
automatically by the control into rotations and, where
appropriate, mirrors on the mirror axis specified in the
machine data. This also applies to settable zero
offsets.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-223
6 6
Frames 03.04
6.7 Programmable mirroring, MIRROR, AMIRROR

Machine manufacturer (MH 6.3)


SW 5 and higher
• You can set the axis around which mirroring is
performed via MD.
MD10610 = 0:
Mirroring is performed in relation to the programmed
axis (negation of values).
MD10610 = 1 or 2 or 3:
Depending on the data setting, mirroring is
performed in relation to a specific reference axis
(1=X axis; 2=Y axis; 3=Z axis) and rotations of two
other geometry axes.
• MD10612 MIRROR_TOGGLE = 0 can be used to
define that the programmed values are always
evaluated. With a value of 0, as with MIRROR X0,
the axis mirroring is deactivated and, with values not
equal to 0, the axis is mirrored if it is not yet
mirrored.

Programming example Milling:

Program the contour shown here once as a Y Y


subprogram and generate the three other contours with
a mirror operation.

2 1
The workpiece zero is located at the center of the
X X
contours.

X X

3 4

Y Y

N10 G17 G54 Working plane X/Y, workpiece zero


N20 L10 Machine first contour, top right.
N30 MIRROR X0 Mirror X axis (the direction is changed in X).
N40 L10 Machine second contour, top left.
N50 AMIRROR Y0 Mirror Y axis (the direction is changed in Y).
N60 L10 Machine third contour, bottom left

 Siemens AG, 2004. All rights reserved


6-224 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.7 Programmable mirroring, MIRROR, AMIRROR

N70 MIRROR Y0 MIRROR cancels previous frames. Mirror Y


axis (the direction is changed in Y).
N80 L10 Machine fourth contour, bottom right.
N90 MIRROR Deactivate mirroring.
N100 G0 X300 Y100 M30 Retraction, end of program

Turning:

Spindle 1 Spindle 2
X X

Z Z

M W W1 M1

140 120
600

N10 TRANS X0 Z140 Zero offset to W


N.. ... Machine first side with spindle 1
N30 TRANS X0 Z600 Zero offset to spindle 2
N40 AMIRROR Z0 Mirroring of the Z axis
N50 ATRANS Z120 Zero offset to W1
N.. ... Machine second side with spindle 2

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-225
6 6
Frames 03.04
6.8 Frame generation acc. to tool orient., TOFRAME, TOROT, PAROT

6.8 Frame generation acc. to tool orient., TOFRAME, TOROT, PAROT

Programming

TOFRAME, TOFRAMEZ, TOFRAMEY, TOFRAMEX


TOROTOF
TOROT, TOROTZ, TOROTY, TOROTX
PAROT, PAROTOF

Explanation

TOFRAME Frame rotation in tool direction


in software version 6.1 and higher Z axis parallel to tool orientation
TOFRAMEZ Z axis parallel to tool orientation
TOFRAMEY Y axis parallel to tool orientation
TOFRAMEX X axis parallel to tool orientation
TOROTOF Frame rotation in tool direction OFF
TOROT Frame rotation on
in software version 6.1 and higher Z axis parallel to tool orientation
TOROTZ Z axis parallel to tool orientation
TOROTY Y axis parallel to tool orientation
TOROTX X axis parallel to tool orientation
PAROT Align workpiece coordinate system (WCS)
on workpiece
PAROTOF Deactivate workpiece-related frame rotation

The new frame, whose Z axis is pointing in the tool


direction, is applicable after the block containing
TOFRAME.
TOROTOF deactivates the frame rotation in tool
direction.

The rotation defined by TOROT is the same as for


TOFRAME.

PAROT aligns the workpiece on the workpiece


coordinate system (WCS). Translations, scaling and
mirroring in the active frame remain valid.
The workpiece-related frame rotation activated with
PAROT is deactivated with PAROTOF.

 Siemens AG, 2004. All rights reserved


6-226 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.8 Frame generation acc. to tool orient., TOFRAME, TOROT, PAROT

Function Tool retraction


along Z axis
TOFRAME generates a rectangular frame whose Z
axis coincides with the current tool orientation. Z
Basic
You can use this function to retract the tool after a tool Z' Y' Z'
breakage in a 5-axis program without collision simply
by retracting the Z axis. 45° YBasic YBasic

The resulting frame describing the orientation is


written in the system variable for the programmable
Generated
frame $P_PFRAME. frame

Only the rotation component is overwritten with X


Basic X''
TOROT in the programmed frame. All other
components remain unchanged. X'

The position of the two axes X and Y can be defined in


MD21110: X_AXES_IN_OLD_X_Z_PLANE where X Modified in MD 21110:
is rotated about Z into the existing X-Z plane. X'' is again located in the previous X-Z plane

Example:
N100 G0 G53 X100 Z100 D0
N120 TOFRAME
N140 G91 Z20 ; Frame TOFRAME is included; all programmed geometry axis
N160 X50 ; movements refer to TOFRAME
...

Milling with working plane G17


TOFRAME or TOROT defines frames which Z axis
point in the tool direction.
This definition is tailored to milling operations for which
working plane G17 X/Y of the 1st – 2nd geometry axis is
typically active.

Turning with working plane G18 or G19


Turning operations in particular, and active G18 or G19
in general, require frames with which the tool is aligned
in the X or Y axis. A frame of this type can be defined
with G codes
TOFRAMEX TOROTX
TOFRAMEY TOROTY
TOFRAMEZ TOROTZ
This functionality of TOFRAME and TOFRAMEZ or
TOROT and TOROTZ is identical in each case.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-227
6 6
Frames 03.04
6.8 Frame generation acc. to tool orient., TOFRAME, TOROT, PAROT

If one of the G codes TOFRAMEX, TOFRAMEY,


TOROTX, TOROTY is programmed instead of
TOFRAME(Z) or TOROT(Z), the axis directions are
assigned as shown in the table below:

TOFRAME (Z), TOFRAMEY, TOFRAMEX,


TOROT (Z) TOROTY TOROTX
Z Y X Tool direction (applicate)
X Z Y 1. secondary axis (abscissa)
Y X Z 2. secondary axis (ordinate)

Additional notes
After tool orientation has been programmed with
TOFRAME, all the programmed geometry axis
movements refer to the frame generated by this
programming.

SW 6.1 and higher


Separate system frame for TOFRAME or TOROT.
The frames created by TOFRAME or TOROT can be
written to a separate system frame $P_TOOLFRAME.

This can be done by setting bit 3 in machine data


MD 28082: MM_SYSTEM_FRAME_MASK.
The programmable frame remains unchanged.
Differences occur when the programmable frame is
processed further elsewhere.

NC command TOROT ensures consistent programming


with active orientable tool carriers for each kinematic
type.
Analog to the situation for rotatable toolholders, PAROT
can be used to activate a rotation of the work table. This
defines a frame which changes the position of the
workpiece coordinate system in such a way that no
compensatory movement is performed on the machine.
Language command PAROT is not rejected is no
orientable toolholder is active.
References
For further explanations about machines with orientable
toolholder, see:
/PGA/ Programming Guide Advanced, Section "Tool
Orientation"
/FB/ Description of Functions, W1 "Orientable
Toolholders"

 Siemens AG, 2004. All rights reserved


6-228 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.9 Deselect FRAME SUPA, DRFOF, CORROF, TRAFOOF

6.9 Deselect FRAME SUPA, DRFOF, CORROF, TRAFOOF

Programming
CORROF(axis,string[axis,string]) or
CORROF(axis,string) or
CORROF(axis) or CORROF()

Explanation of the commands

Deactivate coordinate transformation


A distinction must be made here between
• non-modal deactivation and
• modal deactivation.
Non-modal deactivation:
G53 of all programmable and settable frames
G153 of all programmable, settable and basic frames
SUPA of all programmable, settable frames, DRF handwheel offsets, external zero
offsets and preset offset
Modal deactivation:
G500 Deactivate all settable frames if G500 does not contain a value
DRFOF, Deactivation (deselection) of DRF handwheel offsets for all active axes in
the channel
CORROF(axis,DRF[AC Deactivation (deselection) of axial DRF offsets and the
HSE,AA_OFF]), position offset for individual axes as a result of $AA_OFF (SW 6 and higher)
CORROF(axis) All active overlaid motions are deselected (SW 6 and higher)
CORROF() All active overlaid motions for all channel axes are deselected (SW 6 and
higher)
TRAFOOF, Deactivate transformation

Explanation of the parameters

Axis Axis identifiers for (channel, geometry or machine axis)


String == DRF DRF_offsets of axis are deselected
String == AA_OFF Position offset of axis is deselected due to $AA_OFF
The following expansions are possible:
String == ETRANS An active zero offset is deselected
String == FTOCOF, Acts like FTOCOF (deactivate online tool offset)
TRANS, ROT, SCALE, Delete programmable frames without axis specification
MIRROR

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-229
6 6
Frames 03.04
6.9 Deselect FRAME SUPA, DRFOF, CORROF, TRAFOOF

Sequence
SW 6 and higher CORROF
A preprocessing stop is initiated and the position
component of the deselected overlaid motion (DRF
offset or position offset) is transferred to the position in
the basic coordinate system. Since no axis is traversed,
the value of $AA_IM[axis] does not change. Owing to the
deselected overlaid motion, only the value of system
variable $AA_IW[axis] is altered.

After the position offset, e.g. for one axis, has been
deselected by $AA_OFF, the system variable
$AA_OFF_VAL of this axis is zero.

Setting bit 2 of MD 36750: AA_OFF_MODE to "1" when


$AA_OFF is changed enables interpolation of the
position offset as an overlaid motion in JOG mode.

Additional notes
CORROF is possible only from the parts program, not
via synchronized actions.

Alarm 21660 is output if a synchronized action is active


when the position offset is deselected via parts program
command CORROF(axis,"AA_OFF"). $AA_OFF is
deselected simultaneously and not set again. If the
synchronized action becomes active later in the block
after CORROF, $AA_OFF remains set and a position
offset is interpolated.

If a CORROF command has been programmed for an


axis and this axis is active in a different channel, then an
axis replacement sends the axis to the other channel
with machine data AUTO_GET_TYPE = 0. This causes
the DRF offset and any other position offset to be
deselected.

The programmable frames are cleared by specifying the


TRANS, ROT, SCALE, MIRROR component without an
axis.
For further information about TRAFOOF
see /PGA/ Programming Guide "Advanced,
Chapter 7 "5-Axis Transformation".

 Siemens AG, 2004. All rights reserved


6-230 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
6 6
03.04 Frames
6.9 Deselect FRAME SUPA, DRFOF, CORROF, TRAFOOF

Programming examples

• Axial DRF deselection


A DRF offset is generated in the X axis by DRF
handwheel traversal.
No DRF offsets are operative for any other axes in the
channel.

N10 CORROF() acts like DRFOF( )

A DRF offset is generated in the X and Y axes by DRF


handwheel traversal.
No DRF offsets are operative for any other axes in the
channel.

N10 CORROF() Only the DRF offset of the X axis is


deselected, the X axis does not move.
The DRF offset of the Y axis is retained.
Both offsets would have been deselected
with DRFOF().

• Axial DRF deselection and $AA_OFF


deselection
A DRF offset is generated in the X axis by DRF
handwheel traversal.
No DRF offsets are operative for any other axes in the
channel.

N10 WHEN TRUE DO $AA_OFF[X] = 10 A position offset == 10 is interpolated for the


G4 F5 X axis.
N70 CORROF(X,”DRF”,X,”AA_OFF”) Only the DRF offset of the X axis is
deselected, the X axis does not move.
The DRF offset of the Y axis is retained.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 6-231
6 6
Frames 03.04
6.9 Deselect FRAME SUPA, DRFOF, CORROF, TRAFOOF

• $AA_OFF deselection

A position offset of the X axis is deselected with:


CORROF(X,"AA_OFF") with $AA_OFF[X] = 0 and
added to the current position of the X axis.

The following programming example shows the relevant


programming examples for the X axis that was
previously interpolated with a position offset of 10:

N10 WHEN TRUE DO $AA_OFF[X] = 10 A position offset == 10 is interpolated for the


G4 F5 X axis.
N80 CORROF(X,”AA_OFF”) Delete position offset of X axis
The X axis does not move.

 Siemens AG, 2004. All rights reserved


6-232 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion

Feedrate Control and Spindle Motion

7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF .................................................... 7-234

7.2 Traverse positioning axes, POS, POSA, POSP ..................................................... 7-242

7.3 Position-controlled spindle operation, SPCON, SPCOF ........................................ 7-245

7.4 Positioning spindles (position-controlled axis operation): SPOS, M19, SPOSA .... 7-246

7.5 Milling on turned parts: TRANSMIT ........................................................................ 7-252

7.6 Cylinder surface transformation: TRACYL.............................................................. 7-254

7.7 Feedrate for positioning axes/spindles: FA, FPR, FPRAON, FPRAOF.................. 7-255

7.8 Percentage feedrate override, OVR, OVRA ........................................................... 7-258

7.9 Feed with handwheel override. FD, FDA................................................................ 7-259

7.10 Percentage acceleration override: ACC (option) .................................................... 7-263

7.11 Feedrate optimization for curved path sections, CFTCP, CFC, CFIN .................... 7-265

7.12 Spindle speed S, direction of spindle rotation M3, M4, M5 .................................... 7-267

7.13 Constant cutting rate, G96, G961, G97, G971, LIMS ............................................. 7-270

7.14 Constant grinding wheel peripheral speed, GWPSON, GWPSOF......................... 7-272

7.15 Constant workpiece speed for centerless grinding, CLGON, CLGOF.................... 7-275

7.16 Programmable spindle speed limitation, G25, G26 ................................................ 7-277

7.17 Several feedrates in one block: F.., FMA................................................................ 7-278

7.18 Non-modal feedrate: FB=... (SW 5.3 and higher) ................................................... 7-280

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-233
7 7
Feedrate Control and Spindle Motion 03.04
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

Programming
G93, or G94 or G95
F
FGROUP(X, Y, Z, A, B, ...)
FL[axis]=...
FGREF[axis name]=reference radius (SW 5 and
higher)

Explanation of the commands

G93 Inverse-time feedrate in rpm


(SW 5.2 and higher on 840D NCU 572/573 and SW 3.2 and higher on
810D CCU2)
G94 Feedrate in mm/min or inches/min or in deg/min
G95 Feedrate in mm/rev or inches/rev
F… Feedrate value in unit defined by G93, G94, G95
FGROUP Feedrate value F valid for all axes specified in FGROUP
FGREF Effective radius (reference radius) for the rotary axes entered in FGROUP
(SW 5 and higher)
FL Limit speed for synchronized axes; the unit set with G94 applies (max. rapid
traverse)
Axis Channel axis or geometry axes or orientation axes

Function
Y
You can use the above commands to set the feedrates
in the NC program for all axes participating in the
machining sequence.

The path feed is generally composed of the individual


speed components of all geometry axes participating
in the movement and refers to the center point of the
F
cutter or the tip of the turning tool. Movement on Y

Movement on X

Note:
The inverse-time feedrate rpm G93 is not implemented
for 802D and up to SW 3.1 for 810D CCU1.

 Siemens AG, 2004. All rights reserved


7-234 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

Sequence
Units of measurement for feed F
You can use the following G commands to define the
units of measurement for the feed input. All of the
commands are modal. Input is in mm or inches,
according to the default setting in the machine data.
Feed parameters are not affected by G70/G71.

With G700/G710 in SW 5 and higher, feed values F are


interpreted like geometrical parameters in the system of
units set by G function (G700: [inch/min]; G710:
[mm/min]). [inch/min]; G710: [mm/rev]

Feedrate G93 Y
Unit rpm. The inverse-time feedrate specifies the time
required to execute the motion commands in a block.
Example:
N10 G93 G01 X100 F2 means: the programmed path
is traversed in 0.5 min.

Note: If the path lengths vary greatly from block to


G93 X... F2
block, a new F value should be specified in each block
with G93. The feed can also be specified in deg/rev X
when machining with rotary axes.
0.5 min

Feedrate G94
mm/min or inches/min and deg/min

Feedrate G95
mm/rev or inches/rev with reference to the speed of the
master spindle – generally the cutting spindle or the
main spindle on the turning machine.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-235
7 7
Feedrate Control and Spindle Motion 03.04
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

If the G feedrate command is switched between G93,


G94 or G95 the path feedrate must be reprogrammed.
The feed can also be specified in deg/rev when
machining with rotary axes.

Feedrate F for path axes


The feedrate is specified with address F. One F value
can be programmed per NC block. The unit for the
feedrate is defined in one of the above G commands.
The feed F acts only on path axes and remains active
until a new feedrate is programmed.
Separators are permitted after address F.
Example:
F100 or F 100 or F.5 or F=2*FEED
Feedrate for synchronized axes
The feed F programmed at address F applies to all the
path axes programmed in the block, but not to
synchronized axes.

The synchronized axes are controlled such that they


require the same time for their path as the path axes,
and all axes reach their end point at the same time.

Traverse synchronized axes with path velocity F,


FGROUP
With FGROUP, you define whether a path axis is to be
traversed with path feed or as a synchronized axis.
In helical interpolation, for example, you can define that
only two geometry axes, X and Y, are to be traversed at
the programmed feedrate.
The infeed axis Z is the synchronized axis in this case.

Example: N10 FGROUP(X, Y)

 Siemens AG, 2004. All rights reserved


7-236 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

Change FGROUP
1. By reprogramming another FGROUP instruction.
Example: FGROUP(X, Y, Z)

2. With FGROUP () without axis parameter

Afterwards, the initial setting in the machine data applies


– the geometry axes again traverse in the path axis
grouping.

You must program channel axis names with FGROUP.

Machine manufacturer (MH7.1)


See machine manufacturer's specifications.

Unit of measurement for rotary and linear axes F


For linear and rotary axes which are combined with
FGROUP and traverse a path together, the feed is
interpreted in the unit of measurement of the linear
axes.
F'
Depending on the default for G94/G95: mm/min or
inch/min and mm/rev or inch/rev. D

The tangential velocity of the rotary axis in mm/min or


inch/min is calculated according to the following
formula:

F' [degree/min] * π * D[mm]


F[mm/min] =
360 [degree]

F: Tangential velocity
F': Angular velocity
π: Circle constant
D: Diameter

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-237
7 7
Feedrate Control and Spindle Motion 03.04
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

Traverse rotary axes with path velocity F, FGREF


(SW 5 and higher)
For machining operations in which the tool or the
workpiece or both are moved by a rotary axis, the
effective machining feedrate is to be interpreted as a
path feed in the usual way by reference to the F value.
This requires the specification of an effective radius
(reference radius) FGREF for each of the rotary axes
involved.

The unit of the reference radius depends on the


G70/G71/G700/G710 setting.

All axes involved must be included in the FGROUP


command, as before, in order to be evaluated in the
calculation of the path feed.

In order to maintain compatibility with the behavior


without FGREF programming, the following setting is
activated after system power-up and on RESET:
1 degree = 1 mm.
This corresponds to a reference radius of
FGREF=360 mm/(2π)=57.296 mm.

This default setting is independent of the active


basic system MD 10240:
SCALING_SYSTEM_IS_METRIC and of the currently
active inch/metric G code.

Special situations:
With the following programming:
N100 FGROUP(X,Y,Z,A)
N110 G1 G91 A10 F100
N120 G1 G91 A10 X0.0001 F100
the F value programmed in N110 is evaluated as a rotary
axis feedrate in deg/min, while the feedrate weighting in
N120 is either 100inch/min or 100mm/min depending on
the currently active inch/metric setting.

 Siemens AG, 2004. All rights reserved


7-238 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

Path reference factors for orientation axes with


FGREF (SW 6.4 and later)
With orientation axes the mode of operation of the
FGREF[ ] factors is dependent on whether the change in
the orientation of the tool is implemented by rotary axis
or vector interpolation.

In the case of rotary axis interpolation, the relevant


FGREF factors of the orientation axes are calculated, as
for rotary axes, individually as reference radius for the
axis paths.

In the case of vector interpolation, an effective FGREF


factor, which is calculated as the geometric mean value
of the individual FGREF factors, is applied.

FGREF[eff] = n (FGREF[A]* FGREF[B]* ...)


They are:
A: Axis identifier of 1st orientation axis
B: Axis identifier of 2nd orientation axis
C: Axis identifier of 3rd orientation axis
Number of orientation axes

Example:
There are two orientation axes for a standard 5-axis
transformation, and the effective factor is thus the root of
the product of the two axial factors:

FGREF[eff] = (FGREF[A]* FGREF[B])

With the effective factor for orientation axes FGREF, it is


therefore possible to define a reference point on the tool
to which the programmed path feedrate refers.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-239
7 7
Feedrate Control and Spindle Motion 03.04
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

The FGREF evaluation also works if only rotary axes are


programmed in the block. The normal F value
interpretation as degree/min applies in this case only if
the radius reference corresponds to the FGREF default,
when
• G71/G710 FGREF[A]=57.296
• G70/G700 FGREF[A]=57.296

The following example illustrates the effect of FGROUP


on the path and the path feedrate.
The variable $AC_TIME contains the time from the start
of the block in seconds. It can be used only in
synchronized actions. See /FBSY/, Synchronized
Actions
Example
N100 G0 X0 A0
N110 FGROUP(X,A)
N120 G91 G1 G710 F100 Feed=100 mm/min or 100 deg/min
N130 DO $R1=$AC_TIME
N140 X10 Feed=100 mm/min Path=10mm R1=approx. 6s
N150 DO $R2=$AC_TIME
N160 X10 A10 Feed=100 mm/min Path=14.14mm R2=approx. 8s
N170 DO $R3=$AC_TIME
N180 A10 Feed=100 degrees/min Path=10 degrees R3=approx. 6s
N190 DO $R4=$AC_TIME
N200 X0.001 A10 Feed=100 mm/min Path=10mm R4=approx. 6s

N210 G700 F100 Feed=2540 mm/min or 100 deg/min


N220 DO $R5=$AC_TIME
N230 X10 Feed=2540 mm/min Path=254mm R5=approx. 6s
N240 DO $R6=$AC_TIME
N250 X10 A10 Feed=2540 mm/min Path=254.2mm R6=approx. 6s
N260 DO $R7=$AC_TIME
N270 A10 Feed=100 degrees/min Path=10 degrees R7=approx. 6s
N280 DO $R8=$AC_TIME
N290 X0.001 A10 Feed=2540 mm/min Path=10mm R8=approx. 0.288s

N300 FGREF[A]=360/(2*$PI) Set 1 degree=1 inch via the effective radius


N310 DO $R9=$AC_TIME
N320 X0.001 A10 Feed=2540 mm/min Path=254mm R9=approx. 6s
N330 M30

 Siemens AG, 2004. All rights reserved


7-240 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.1 Feed G93, G94, G95 or F..., FGROUP, FGREF

Traverse synchronized axes with limit


speed FL
With this command, synchronized/path axes are
traversed at their limit speed FL. The path velocity of the
path axes is reduced if the synchronized axis reaches
the limit speed.
Example, Z is a synchronized axis:
N10 G0 X0 Y0
N20 FGROUP(X)
N30 G1 X1000 Y1000 G94 F1000 FL[Y]=500
N40 Z-50

One FL value can be programmed per axis. The axis


identifiers of the basic coordinate system must be used
(channel axes or geometry axes). The unit of
measurement set for F by G command (G70/G71) also
applies to FL. If FL is not programmed, rapid traverse
velocity is used. FL is deselected by assignment to MD
$MA_AX_VELO_LIMIT.

Programming example
Y Y
Helical interpolation. Path axes X and Y traverse with
the programmed feedrate, the infeed axis Z is a syn-
chronized axis.

20

10 X 15 Z
25

N10 G17 G94 G1 Z0 F500 Tool infeed


N20 X10 Y20 Approach start position
N25 FGROUP(X, Y) Axes X/Y are path axes, Z is a synchronized
axis
N30 G2 X10 Y20 Z-15 I15 J0 F1000 On the circular path, the feed is
FL[Z]=200 1000 mm/min.
Traversing in the Z direction is synchronized.
...
N100 FL[Z]=$MA_AX_VELO_LIMIT[0,Z] The limit velocity is deselected when the
velocity value is read from the MD.
N110 M30 End of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-241
7 7
Feedrate Control and Spindle Motion 03.04
7.2 Traverse positioning axes, POS, POSA, POSP

7.2 Traverse positioning axes, POS, POSA, POSP

Programming
POS[axis]=…
POSA[axis]=...
POSP[axis]=(…,…,…)
FA[axis]=...
WAITP(axis)=… (programmed in a separate NC block)
WAITMC(label)=…

Explanation of the commands

POS [axis]= Position the axis; the next NC block is not enabled until the position has
been reached
POSA [axis]= Position the axis; the next NC block is enabled, even if the position has
not been reached
POSP [axis]=(,,) Approach end position in sections. The first value indicates the end
position; the second the length of the section. Approaching the end
position is defined in the third value with 0 or 1
FA [axis]= Feedrate for the positioning axis, up to 5 per NC block
WAITP (axis) Wait for the axis to finish traversing; WAITP must be programmed in a
separate NC block
WAITMC (label) During the braking ramp, WAIITMC loads the next NC block immediately
when the WAIT marker is received.
Axis Channel axes or geometry axes
Mark, , An axis is only decelerated if the marker has not yet been reached or if an
different search criteria prevents the block change.

Function
Positioning axes are traversed independently of the path
axes at a separate, axis-specific feedrate. There are no
interpolation commands.

Example for positioning axes: Pallet feeding


mechanisms, measuring stations, etc.

 Siemens AG, 2004. All rights reserved


7-242 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.2 Traverse positioning axes, POS, POSA, POSP

Sequence
With the POS/POSA/POSP commands, the positioning
axes are traversed and the sequence of motions
coordinated at the same time.

Traveling with POSA[…]=


The axis indicated in brackets is traversed to the end
position. The block step enable or program execution is
not affected by POSA. The movement to the end
position can be performed during execution of
subsequent blocks.

Internal preprocessor stop


If a command which implicitly causes a preprocessing
stop is read in a following block, this block is not
executed until all other blocks which are already
preprocessed and stored have been executed. The
preceding block is halted in exact stop (as with G9).

Example:
N40 POSA[X]=100
N50 IF $AA_IM[X]==R100 GOTOF LABEL1 ; On accessing status data of the machine ($A...),
the control generates an internal preprocessing
stop, processing is halted until all previously
prepared and stored blocks have been executed
in full.
N60 G0 Y100
N70 WAITP(X)
N80 LABEL1:
N..

Traveling with POS[…]=


The next block is only executed when all axes
programmed under POS have reached their end
positions.

Traveling with POSP[…]=


POSP is used specifically for programming oscillating
movements
(see /PGA/ Programming Guide Advanced, Chapter 11).

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-243
7 7
Feedrate Control and Spindle Motion 03.04
7.2 Traverse positioning axes, POS, POSA, POSP

Wait for end of travel with WAITP(...)


WAITP can be used for:
• Identifying a position in the NC program where the
program is to wait until an axis programmed with
POSA in a previous NC block has reached its end
position.
• Making an axis available as a reciprocating axis.
• Making an axis available for traversing as a
concurrent positioning axis (by PLC).

After WAITP, assignment of the axis to the NC program


is no longer valid; this applies until the axis is
programmed again.
This axis can then be operated as a positioning axis
through the PLC, or as a reciprocating axis from the NC
program/PLC or MMC.

Programming example
Axis U: Pallet store, transporting the pallet to the working
area

Axis V: Transfer line to a measuring station, where


sampling controls are carried out.

N10 FA[U]=100 FA[V]=100 Axis-specific feed functions for each


positioning axis U and V
N20 POSA[V]=90 POSA[U]=100 G0 X50 Y70 Traverse positioning and path axes
N50 WAITP(U) Execution of the program is only continued
when axis U has reached the end position
programmed in N20.
N60 …

Block change in the braking ramp with IPOBRKA


and WAITMC(...)

In SW 6.4 and higher, WAITMC can be used to


• to load the next NC block immeditaely when the wait
marker is received.
• to decelerate an axis only if the marker has not yet
been reached or if an different search criteria
prevents the block change.

After a WAITMC, the axes start immediately if no other


search criterion prevents block change.

 Siemens AG, 2004. All rights reserved


7-244 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.3 Position-controlled spindle operation, SPCON, SPCOF

7.3 Position-controlled spindle operation, SPCON, SPCOF

Programming
SPCON or SPCON(n)
SPCOF or SPCOF(n)

Explanation of the commands

SPCON Switch master spindle or spindle number n from speed control to


SPCON(n) position control
SPCOF Switch master spindle or spindle number n back from position control to
SPCOF(n) speed control
SPCON SW 3.5 and higher: Several spindles with number n can be switched from
SPCON(n, m, 0) closed-loop speed control to position control in one block
SPCOF SW 3.5 and higher: Several spindles with number n can be switched from
SPCOF(n, m, 0) closed-loop position control to speed control in one block
n Integers from 1 ... n
m Integers from 1 ... m

Function
In certain cases, it is practical to operate the spindle in
position control mode.
For example, a higher quality can be achieved for thread
cutting operations with G33 and a large pitch.

Note:
The command requires up to three interpolation cycles.

Sequence
The speed is specified with S... M3, M4 and M5 apply to
the directions of rotation and spindle stop. SPCON has
modal action and remains valid until SPCOF.

Additional notes
With synchronized spindle setpoint value linkage, the
master spindle must be operated in position control
mode.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-245
7 7
Feedrate Control and Spindle Motion 03.04
7.4 Positioning spindles (position-controlled axis operation):

7.4 Positioning spindles (position-controlled axis operation):


SPOS, M19, SPOSA

Programming

SPOS=… or SPOS[n]=…
M19 or M[n]=19
SPOSA=… or SPOSA[n]=…
M70 or Mn=70
FINEA=… or FINEA[n]=…
COARSEA=… or COARSEA[n]=…
IPOENDA=… or IPOENDA[n]=…
IPOBRKA=… or IPOBRKA(axis[,REAL]) (programmed in a separate NC block)
WAITS or WAITS(n,m) (programmed in a separate NC block)

Explanation of the commands

SPOS= Position master spindle (SPOS) or spindle number n (SPOS[n]); the next NC
SPOS[n]= block is not enabled until the position has been reached
M19 Position master spindle (M19) or spindle number n (M[n]=19); the next NC block
M[n]=19 is not enabled until the position has been reached. (SW 5.3 and higher)
SPOSA= Position master spindle with SPOSA or spindle number n (SPOSA[n]). The next
SPOSA[n]= NC block is enabled, even if the position has not been reached
M70 Switch over master spindle (M70) or spindle number n (Mn=70) to axis
Mn=70 operation. No defined position is approached. The NC block is enabled after the
switchover has been performed.
FINEA= End of motion when "Exact stop fine" is reached (SW 5.1 and higher)
FINEA[Sn]=
COARSEA= End of motion when "Exact stop coarse" is reached (SW 5.1 and higher)
COARSEA[Sn]=
IPOENDA= End of motion when "IPO stop" is reached (SW 5.1 and higher)
IPOENDA[Sn]=
IPOBRKA= End of motion criterion from moment of application of braking ramp at 100%
IPOBRKA(axis down to end of braking ramp at 0% and identical to IPOENDA (SW 6 and higher)
[,real])= IPOBKRA must be programmed in round parenthesis "()".
WAITS Wait to reach the:
spindle position, spindle stop after M5, spindle speed after M3/M4
WAITS(n,m) WAITS applies to the master spindle, WAITS( ..., ...) for the specified spindle
numbers
n Integers from 1 ... n
m Integers from 1 ... m
Sn nth Spindle number, 0 to max. spindle number
Axis Channel identifier
Percentage specification 100-0% referred to the braking ramp for block changes.
Real If no % is specified, the current value of the setting data is applied.

 Siemens AG, 2004. All rights reserved


7-246 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.4 Positioning spindles (position-controlled axis operation):

Function
Angle position
SPOS, M19 and SPOSA can be used to position
spindles at specific angles, e.g. for tool-changing
operations. The spindle can also be operated as a
path axis, synchronized axis or positioning axis at the
address defined in the machine data. When the axis
identifier is specified, the spindle is in axis mode. M70
switches the spindle directly to axis mode.
Example:

N10 M3 S500
...
N90 SPOS[2]=0 or Position control on, spindle 2 positioned to 0,
axis mode can be used in the next block.
M2=70 Spindle 2 is switched to axis mode.
N100 X50 C180 Spindle 2 (C axis) is traversed with linear
interpolation synchronous to X.
N110 Z20 SPOS[2]=90 Spindle 2 is positioned to 90 degrees.

Sequence
Precondition
The spindle must be capable of operation in position
control mode.
Position with SPOSA=, SPOSA[n]=
The block step enable or program execution is not
affected by SPOSA. The spindle positioning can be
performed during execution of subsequent blocks.
The program moves onto the next block if all the
functions (except for spindle) programmed in the
current block have reached their block end criterion.
The spindle positioning operation may be programmed
over several blocks (see WAITS).

If a command which implicitly causes a preprocessor


stop is read in a subsequent block, execution of this
block is delayed until all positioning spindles are
stationary.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-247
7 7
Feedrate Control and Spindle Motion 03.04
7.4 Positioning spindles (position-controlled axis operation):

Position with SPOS=, SPOS[n]= and


position with M19=, M19[n]=
The block step enabling condition is fulfilled when all
functions programmed in the block have reached their
block end criterion (e.g. all auxiliary functions
acknowledged by the PLC, all axes have reached end
point) and the spindle has reached the programmed
position.
Speed of the movements
The speed or delay response for positioning is stored in
the machine data and can be programmed.

Specify spindle position


X
The spindle position is specified in degrees. Since the
commands G90/G91 do not apply here, the following
explicit references apply: AC (250)
AC(…) Absolute dimensions
IC(…) Incremental dimensions
250°
DC(…) Approach absolute value directly 0°
ACN(…) Absolute dimensions,
Approach in negative direction
ACP(…) Absolute dimensions, DC (250)
Approach in positive direction
With IC, spindle positioning can take place over
several revolutions.

Example:
Position spindle 2 at 250° in negative direction of
rotation.
N10 SPOSA[2]=ACN(250) The spindle decelerates if necessary and accelerates in the
opposite direction to the positioning movement (SW 4 and higher).

If nothing is specified, traversing automatically takes


place as for DC. Three spindle positions are possible for
each NC block.

Value range
Absolute dimensions AC: 0…359.9999 degrees
Incremental dimensions IC: 0…±99 999.999 degrees

 Siemens AG, 2004. All rights reserved


7-248 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.4 Positioning spindles (position-controlled axis operation):

End of positioning (SW 5.1 and higher)


Programmable by means of the following commands:
FINEA[Sn], COARSEA[Sn], IPOENDA[Sn].

Settable block change time (SW 6 and higher)


For single axis interpolation mode, a new end of motion
can be set in addition to the existing end of motion
criteria based on FINEA, COARSEA, IPOENDA.
The new criterion can be set within the braking ramp
(100-0%) using IPOBRKA.
The program advances to the next block if the end of
motion criteria for all spindles or axes programmed in the
current block plus the block change criterion for path
interpolation are fulfilled.
Example: N10 POS[X]=100
N20 IPOBRKA(X,100)
N30 POS[X]=200
N40 POS[X]=250
N50 POS[X]=0
N60 X10 F100
N70 M30

Block changes if the X axis has reached position 100


and exact stop fine.
Activate block change criterion IPOBRKA braking
ramp. Block change commences as soon as the X
axis starts to decelerate.
The X axis does not brake at position 200, but moves
on to position 250; as soon as the X axis starts to
brake, the block changes.
The X axis brakes and returns to position 0, the block is
changed at position 0 and exact stop fine.

Deactivate
SPOS, M19 and SPOSA cause a temporary changeover
to position-control mode until the next M3 or M4 or M5 or
M41 bis M45. If the position control was activated with
SPCON prior to SPOS, then this remains active until
SPCOF is issued.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-249
7 7
Feedrate Control and Spindle Motion 03.04
7.4 Positioning spindles (position-controlled axis operation):

Synchronize spindle movements,


WAITS, WAITS(n,m)
WAITS can be used to identify a point at which the NC
program waits until one or more spindles programmed
with SPOSA in a previous NC block have reached their
positions.

Example: N10 SPOSA[2]=180 SPOSA[3]=0


N20…N30
N40 WAITS(2,3)

The block waits until spindles 2 and 3 have reached the


positions specified in block N10.

WAITS can be used after to M5 to wait until the


spindle(s) has(have) stopped.
SW 7.1 and higher:
WAITS can be used after M3/M4 until the spindle(s)
has(have) reached the specified speed/direction of
rotation.

Position spindle from rotation (M3/M4)


When M3 or M4 active, the spindle comes to a
standstill at the programmed value. Direction of Direction of
rotation rotation

There is no difference between DC and AC


dimensioning. In both cases, rotation continues in the
DC = AC
direction selected by M3/M4 until the absolute end
position is reached.
With ACN and ACP, deceleration takes place if
necessary, and the appropriate approach direction is DC = AC
Programmed Programmed
followed. angle angle

With IC, the spindle rotates additionally to the specified


value starting at the current spindle position.
When M3 or M4 is active, the spindle decelerates if
necessary, and accelerates in the programmed direction
of rotation.

Position a spindle from standstill (M5)


The exact programmed distance is traversed from
standstill (M5).

 Siemens AG, 2004. All rights reserved


7-250 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.4 Positioning spindles (position-controlled axis operation):

If the spindle has not yet been synchronized with


synchronization marks, the positive direction of rotation
is taken from the machine data (state on delivery).

Programming example
Cross holes are to be drilled in this turned part.
The running drive spindle (master spindle) is stopped
at zero degrees and then successively turned through
90°, stopped and so on. X X

....
N110 S2=1000 M2=3 ; switch on cross drilling attachment
N120 SPOSA=DC(0) ; position main spindle directly at 0°, the program will advance to the next
block immediately
N125 G0 X34 Z-35 ; switch on the drill while the spindle is being positioned
N130 WAITS ; wait until the main spindle reaches its position
N135 G1 G94 X10 F250 ; feedrate in mm/min (G96 is suitable only for the multi-edge turning tool and
synchronous spindle, but not for power tools on the cross slide)
N140 G0 X34
N145 SPOS=IC(90) ; the spindle is positioned through 90° with read halt in a positive direction
N150 G1 X10
N155 G0 X34
N160 SPOS=AC(180) ; the spindle is positioned at 180° with respect to the spindle zero point
N165 G1 X10
N170 G0 X34
N175 SPOS=IC(90) ; the spindle turns in a positive direction through 90° from the absolute 180°
position, ending up in the absolute 270° position
N180 G1 X10
N185 G0 X50
...

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-251
7 7
Feedrate Control and Spindle Motion 03.04
7.5 Milling on turned parts: TRANSMIT

7.5 Milling on turned parts: TRANSMIT


Programming
TRANSMIT or TRANSMIT(n)
TRAFOOF

Explanation of the commands

TRANSMIT Activates the first declared TRANSMIT function


TRANSMIT(n) Activates the nth declared TRANSMIT function; n can be up to 2
(TRANSMIT(1) is the same as TRANSMIT).
TRAFOOF Deactivates an active transformation

An active transformation TRANSMIT is likewise


deactivated if one of the other transformations is
activated in the relevant channel (e.g. TRACYL,
TRAANG, TRAORI).

The TRANSMIT function enables the following:


• Face machining on turned parts in the turning
clamp (drill-holes, contours).
• A Cartesian coordinate system can be used to
program these operations.
• The control maps the programmed traversing
movements of the Cartesian coordinate system
onto the traversing movements of the real machine
axes (standard situation):
– Rotary axis
– Infeed axis perpendicular to rotary axis
– Longitudinal axis perpendicular to rotary axis
The linear axes are perpendicular to one
another.
• A tool center offset relative to the turning center is
permitted.
• The velocity control makes allowance for the limits
defined for the rotations.

 Siemens AG, 2004. All rights reserved


7-252 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.5 Milling on turned parts: TRANSMIT

Programming example
Y

N10 T1 D1 G54 G17 G90 F5000 G94 Tool selection


N20 G0 X20 Z10 SPOS=45 Approach start position
N30 TRANSMIT Activate TRANSMIT function
N40 ROT RPL=–45 Set frame
N50 ATRANS X–2 Y10
N60 G1 X10 Y–10 G41 Four-edge roughing
N70 X–10
N80 Y10
N90 X10
N100 Y–10
N110 ...

References
/PGA/ Programming Guide Advanced, Section
"Transformations"

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-253
7 7
Feedrate Control and Spindle Motion 03.04
7.6 Cylinder surface transformation: TRACYL

7.6 Cylinder surface transformation: TRACYL

Programming
TRACYL(d) or TRACYL(d,t)
TRAFOOF

Explanation of the
commands
TRACYL (d) Activates the first declared TRACYL function.
TRACYL(d,n) Activates the nth declared TRACYL function. N can be up to 2,
TRACYL(d,1) is the same as TRACYL(d).
d Value for the current diameter of the cylinder to be machined.
TRAFOOF Transformation off

An active transformation TRACYL is likewise


deactivated if one of the other transformations is
activated in the relevant channel (e.g. TRANSMIT,
TRAANG, TRAORI).

Function
Cylinder surface transformation TRACYL
The TRACYL cylinder surface transformation function
X
can be used to:

Machine
• longitudinal grooves on cylindrical bodies,
• transverse grooves on cylindrical bodies,
Y
• grooves with any path on cylindrical bodies.

The path of the grooves is programmed with reference


to the unwrapped, level surface of the cylinder. Z

Workpiece coordinate system

References
/PGA/ Programming Guide Advanced, Section
"Transformations"

 Siemens AG, 2004. All rights reserved


7-254 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.7 Feedrate for positioning axes/spindles: FA, FPR, FPRAON,

7.7 Feedrate for positioning axes/spindles: FA, FPR, FPRAON, FPRAOF

Programming
FA[axis]=…
FA[SPI(spindle)]=… or FA[S…]=…
FPR (rotary axis) or FPR(SPI(spindle)) or FPR(S…)
FPRAON (axis, rotary axis) or
FPRAON(axis,SPI(spindle)) or FPRAON(axis,S…) or
FPRAON(SPI(spindle),rotary axis) or FPRAON(S…,rotary axis) or
FPRAON(SPI(spindle),SPI(spindle)) or FPRAON(S…,S…) or
FPRAOF(axis,SPI(spindle),…) or FPRAOF(axis,S…,…)

Explanation of the commands

FA[axis] Feedrate for the specified positioning axis in mm/min or inch/min or


deg/min
FA[SPI(spindle)] Positioning velocity (axial feed)
FA[S…] for the specified spindles in deg/min
FPR Identification of the rotary axis or spindle whose revolutional feedrate
programmed in G95 is to be used as the basis for the revolutional
feedrate of the path and synchronized axes.
FPRAON Activate revolutional feedrate for positioning axes and spindles
axially. The first command identifies the positioning axis/spindle
that is to be traversed at a revolutional feedrate. The second command
identifies the rotary axis/spindle from which the feedrate must be
derived.
FPRAOF Deactivate revolutional feedrate. Specification of axis or spindle that is to
stop traversing at a revolutional feedrate.
SPI Converts the spindle number into an axis identifier; the transfer
parameter must contain a valid spindle number. SPI is used for the
indirect definition of a spindle number.
Axis Positioning axes or geometry axes

Function
Positioning axes, such as workpiece transport systems,
tool turrets and end supports, are traversed
independently of the path and synchronized axes. A
separate feed is therefore defined for each positioning
axis.
Example: FA[A1]=500

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-255
7 7
Feedrate Control and Spindle Motion 03.04
7.7 Feedrate for positioning axes/spindles: FA, FPR, FPRAON,

With synchronous spindle link, the positioning speed of


the following spindle can be programmed independently
of the master spindle – for example, for positioning
operations.
Example: FA[S2]=100
The spindle identifiers SPI(...) and S... are identical in
terms of function.

Sequence
Feed FA[…]
The programmed feed is modal. The feed is always G94.
When G70/G71 is active, the unit of measurement is
metric/inches according to the default setting in the
machine data. G700/G710 can be used to modify the
unit of measurement in the program.

If no FA is programmed, the value defined in the


machine data applies.

Up to 5 feeds for positioning axes or spindles can be


programmed in each NC block.

Value range
0,001…999 999.999 mm/min, degree/min
0.001…39 999.9999 inch/min

Feed FPR(…)
As an extension of the G95 command (revolutional
feedrate referring to the master spindle), FPR allows the
revolutional feedrate to be derived from any chosen
spindle or rotary axis.
G95 FPR(...) is valid for path and synchronized axes.

If the rotary axis/spindle specified in the FPR command


is operating on position control, then the setpoint linkage
is active. Otherwise the actual-value linkage is effective.

The derived feedrate is calculated according to the


following formula:
Derived feedrate =
programmed feedrate * Absolute master feedrate

 Siemens AG, 2004. All rights reserved


7-256 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.7 Feedrate for positioning axes/spindles: FA, FPR, FPRAON,

Example:
Path axes X, Y must be traversed at the revolutional
feedrate derived from rotary axis A:
N40 FPR(A)
N50 G95 X50 Y50 F500

Feed FPRAON(…,…), FPRAOF(…,…)


The FPRAON command makes it possible to derive the
revolutional feedrate for specific positioning axes and
spindles from the current feedrate of another rotary axis
or spindle.

The first command identifies the axis/spindle that must


be traversed at a revolutional feedrate. The second
command identifies the rotary axis/spindle that is to
supply the feedrate. The command need not be
specified a second time. If it is not, the feedrate is
derived from the master spindle.

The revolutional feedrate can be deactivated for one or


several axes/spindles simultaneously with the FPRAOF
command.

The feedrate is calculated in the same way as for


FPR(...).

Examples:
The revolutional feedrate for master spindle 1 must be
derived from spindle 2.

N30 FPRAON(S1,S2)
N40 SPOS=150
N50 FPRAOF(S1)

The revolutional feedrate for positioning axis X must be


derived from the master spindle. The positioning axis is
traversing at 500 mm/revolution of the master spindle.

N30 FPRAON(X)
N40 POS[X]=50 FA[X]=500
N50 FPRAOF(S1)

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-257
7 7
Feedrate Control and Spindle Motion 03.04
7.8 Percentage feedrate override, OVR, OVRA

7.8 Percentage feedrate override, OVR, OVRA

Programming
OVR=…
OVRA[axis]=…
OVRA[SPI(spindle)]=… or OVRA[S…]=…

Explanation of the command

OVR Feed change in percent for path feed F


OVRA Feed change in percent for positioning feed FA or for spindle speed S
SPI Converts the spindle number into an axis identifier; the transfer parameter must
contain a valid spindle number.
The spindle identifiers SPI(...) and S... are identical in terms of function.
Axis Positioning axes or geometry axes

Function
You can use the programmable feedrate override to
change the velocity/speed of path axes, positioning axes
and spindles via a command in the NC program.
Example:
N10 OVR=25 OVRA[A1]=70 ; Path feed 25%,
Positioning feedrate for A1 70%.
N20 OVRA[SPI(1)]=35 ; Speed for spindle 1 35%.
or
N20 OVRA[S1]=35

Sequence
The programmed feed change refers to or is combined
with the feed override set on the machine control panel.

Example:
Set feed override 80%
Programmed feed override OVR=50
The programmed path feed F1000 is changed to F400
(1000 * 0.8 * 0.5).

 Siemens AG, 2004. All rights reserved


7-258 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.9 Feed with handwheel override. FD, FDA

Value range
1..200%, integers; with path and rapid traverse override,
the maximum velocities set in the machine data are not
exceeded.

7.9 Feed with handwheel override. FD, FDA

Programming
FD=…
FDA[axis]=0 or FDA[axis]=…

Explanation of the command

FD=… Handwheel travel for path axes with feed override


FDA [axis]=0 Handwheel travel for positioning axes according to position parameter
FDA[axis]=… Handwheel travel for positioning axes with feed override
Axis Positioning axes or geometry axes

Function
With these functions, you can use the handwheel to Z

traverse path and positioning axes (position parameter)


or change the axis velocities (speed override) during
program execution.
The handwheel override is frequently used for grinding
operations.

Example for position parameter:


The grinding wheel oscillating in the Z direction is
moved to the workpiece in the X direction using the
X
handwheel. The operator can then adjust the position
of the tool until the spark generation is constant. When
"Delete distance-to-go" is activated, the program goes
to the next NC block and machining continues in NC
mode.

Only speed override can be used for path axes.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-259
7 7
Feedrate Control and Spindle Motion 03.04
7.9 Feed with handwheel override. FD, FDA

Sequence
Preconditions
A handwheel must be assigned to the axes to be
traversed for the handwheel override function. Please
see the Operator's Guide for the procedure. The number
of handwheel pulses per graduated position is defined in
machine data.

Non-modal operation
The handwheel override function is non-modal. The
function is deactivated in the next NC block and the NC
program continues to be executed.

Handwheel travel with path default for positioning


axes, FDA[axis]=0
In NC blocks with programmed FDA[axis]=0, the
feed is set to zero in order that the program does not
generate any travel movement. The programmed travel
movement to the target position is now controlled
exclusively by the operator rotating the handwheel.

Example: N20 POS[V]=90 FDA[V]=0


The automatic travel movement is stopped in block
N20. The operator can now move the axis manually
using the handwheel.

Direction of movement, travel velocity


The axes accurately follow the path set by the
handwheel in the direction of the leading sign.
Depending on the direction of rotation, you can travel
forwards or backwards – the faster you turn the
handwheel, the higher the travel velocity.

Traversing range
The traversing range is limited by the starting position
and the end point programmed with the positioning
command.

 Siemens AG, 2004. All rights reserved


7-260 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.9 Feed with handwheel override. FD, FDA

Handwheel travel with velocity overlay,


FDA[axis]=...
Where FDA[…]=… is programmed in an NC block, the
feed from the last programmed FA value is accelerated
or reduced to the value programmed at FDA.
Starting with the current feed FDA, you can accelerate
or reduce the programmed travel to zero by rotating the
handwheel. The values defined in the machine data are
used for the maximum velocity.
Example: N10 POS[U]=10 FDA[U]=100
POSA[V]=20 FDA[V]=150

Traverse path axes with handwheel override, FD


The following preconditions apply to handwheel
overrides for path axes:

In the NC block with the programmed handwheel


override
• an active G1, G2 or G3 motion command must be
active,
• exact stop G60 must be switched on, and
• the path feedrate must be specified with G94
mm/min or inch/min.

The path feed F and the handwheel override FD may not


be programmed in the same NC block.

Feedrate override
The feed override acts only on the programmed feed,
not on the travel movement generated with the
handwheel (except if feed override = 0).

Example: N10 G1 X… Y… F500…


N50 X… Y… FD=700

The feedrate is accelerated to 700 mm/min in block


N50. The path velocity can be increased or reduced
according to the direction of rotation on the handwheel.

It is not possible to traverse in the opposite direction.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-261
7 7
Feedrate Control and Spindle Motion 03.04
7.9 Feed with handwheel override. FD, FDA

Note
With velocity override of path axes, you always
control the path velocity with the handwheel of the 1st
geometry axis.

Traversing range
The traversing range is limited by the starting position
and the programmed end point.

Manual override in automatic mode


The manual override function in automatic mode for
POS/A axes has two different effects that are analogous
to Jog functions.
1. Path overlay: FDA [ax] = 0
The axis does not move. Handwheel pulses received for
each IPO cycle are traversed direction-independent and
accurate to the path. When the target position is
reached, the axis brakes.
2. Velocity overlay: FDA [ax] > 0
The axis moves to the target position at the
programmed velocity. The destination is thus
reached even without handwheel pulses.
Pulses received for each IPO cycle are converted to an
accumulative change in the existing velocity.
Pulses in the traversing direction increase the speed; the
limit is MAX_AX_VELO.
Pulses in the opposite direction reduce the speed. The
minimum speed limit is 0.

 Siemens AG, 2004. All rights reserved


7-262 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.10 Percentage acceleration override: ACC (option)

7.10 Percentage acceleration override: ACC (option)


Programming
ACC[axis]=…
ACC[SPI(spindle)]=… or ACC(S…)

Explanation of the command

ACC Change in acceleration in percent for the specified path axis or change in speed for
the specified spindle.
SPI Converts the spindle number into an axis identifier; the transfer parameter must
contain a valid spindle number.
The spindle identifiers SPI(...) and S... are identical in terms of function.
Axis Channel axis name of path axis, e.g. with X, Y...

Function
In critical program sections, it may be necessary to limit
the acceleration to below the maximum values, e.g. to
prevent mechanical vibrations from occurring.

Sequence
You can use the programmable acceleration override to
change the acceleration for each path axis or spindle
via a command in the NC program. The limit is effective
for all types of interpolation. The values defined in the
machine data determine the 100% acceleration.

Example: N50 ACC[X]=80


Meaning: Traverse the axis slide in the X direction with
only 80% acceleration.
N60 ACC[SPI(1)]=50 or ACC[S1]=50
Meaning: Accelerate or decelerate spindle 1 with only
50% of the maximum acceleration. The spindle
identifiers SPI(...) and S... are identical in terms of
function.
Value range: 1…200%, integers
Deactivate:
ACC[axis]=100, program start, reset

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-263
7 7
Feedrate Control and Spindle Motion 03.04
7.10 Percentage acceleration override: ACC (option)

Additional notes
Please note that the maximum permissible values of the
machine manufacturer can be exceeded with a higher
acceleration rate.

SW 5.1 and higher


The defined acceleration can also be changed via
synchronized actions.
See /FBSY/, Synchronized Actions
Example:
N100 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]=140

The last programmed value is retained after RESET.


The current acceleration value can be scanned using
system variable $AA_ACC[<axis>].

The acceleration override programmed with ACC[] is


always taken into consideration on output in system
variable $AA_ACC. Readout in the parts program and
in synchronized actions takes place at different times in
the NC processing run. The value written in the parts
program is taken into account as a written variable in
system variable $AA_ACC and the parts program only if
ACC has not been changed in the meantime by a
synchronized action. The following general rule applies:
The value written in a synchronized action is only taken
into account as a value written in system variable
$AA_ACC and the synchronized action if ACC has not
been changed in the meantime by a synchronized
action.

 Siemens AG, 2004. All rights reserved


7-264 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.11 Feedrate optimization for curved path sections, CFTCP, CFC, CFIN

7.11 Feedrate optimization for curved path sections, CFTCP, CFC, CFIN

Programming
CFTCP
CFC
CFIN

Explanation of the commands

CFTCP Constant feed at cutter center path


CFC Constant feed at contour (tool edge)
CFIN Constant feed at tool edge for concave contours only, otherwise on the
cutter center path

Function
The programmed feedrate initially refers to the cutter
center path when the G41/G42 override is activated for
the cutter radius (cf. Chapter 6).

When you mill a circle – the same applies to poly-


nomial and spline interpolation – the extent of the
change in feedrate at the cutter edge is such that it
can have a considerable effect on the quality of the
machined part. Contour

Example: you are milling a small external radius with a Tool path

large tool. The distance that the outer side of the cutter
has to cover is much larger than the distance along the
contour. You therefore work with a very small feed on
the contour.

In order to avoid effects like this, you should regulate the


feedrate for curved contours accordingly.

Sequence
Constant feedrate on center-point path,
deactivate feedrate override, CFTCP
The control keeps the feedrate constant, feed overrides
are deactivated.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-265
7 7
Feedrate Control and Spindle Motion 03.04
7.11 Feedrate optimization for curved path sections, CFTCP, CFC, CFIN

Constant feedrate on contour, CFC


The feedrate is reduced for inside radii and increased
for outside radii. This ensures a constant speed at the
tool edge and thus at the contour.
This function is set as the default.

Constant feed only at inside radii,


CFIN constant
The feedrate is reduced for inside radii but not in-

nt
ta
creased for outside radii; the cutter center applies.

ns
co
reduced

increased

Programming example Y

In this example, the contour is first machined with a


CFC-compensated feed.
During finishing, the cutting base is additionally
machined with CFIN. This prevents the cutting base
from being damaged at outside radii by too high a
feedrate.
40
10

X
10
20 20
55 30

N10 G17 G54 G64 T1 M6


N20 S3000 M3 CFC F500 G41
N30 G0 X-10
N40 Y0 Z-10 Infeed to first cutting depth
N50 CONTOUR1 Subprogram call
N40 CFIN Z-25 Infeed to second cutting depth
N50 CONTOUR1 Subprogram call
N60 Y120
N70 X200 M30

 Siemens AG, 2004. All rights reserved


7-266 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.12 Spindle speed S, direction of spindle rotation M3, M4, M5

7.12 Spindle speed S, direction of spindle rotation M3, M4, M5

Programming
M3 or M4 or M5
M1=3 or M1=4 or M1=5
S
Sn=…
SETMS(n) or SETMS

Explanation of the commands

M1=3 M1=4 M1=5 Spindle rotation clockwise/counterclockwise, spindle stop for spindle 1.
Other spindles are defined according to M2=... M3=...
M3: Direction of spindle rotation clockwise for master spindle
M4 Direction of spindle rotation counterclockwise for master spindle
M5 Spindle stop for master spindle
Sn=… Spindle speed in rpm for spindle n
S… Spindle speed in rpm for the master spindle
SETMS(n) Set spindle specified in n as master spindle
SETMS Reset to the master spindle defined in machine data

Function
The above functions are used to
• switch on the spindle,
• specify the required direction of spindle rotation, and
• define the counterspindle or an actuated tool as the
master spindle, e.g. on turning machines

The following programming commands are valid for the


master spindle: G95, G96/G961, G97/G971, G33,
G331.
(see also Chapter 1 "Main spindle, master spindle".

Machine manufacturer (MH7.2)


Definition as master spindle is also possible via machine
data (default).

Sequence
Preset M commands, M3, M4, M5
In a block with axis commands, the above mentioned
functions are activated before the axis movements
commence (basic settings on the control).

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-267
7 7
Feedrate Control and Spindle Motion 03.04
7.12 Spindle speed S, direction of spindle rotation M3, M4, M5

Example: N10 G1 F500 X70 Y20 S270 M3


N100 G0 Z150 M5

N10 The spindle accelerates to 270rpm, then the


movements are performed on X and Y.
N100: Spindle stop before the retraction movement on Z.

A machine data can be set to determine whether the


axis motions are delayed until the spindle has run up
and reached setpoint speed or stopped, or whether they
are executed immediately after the programmed
switching operations.

Spindle speed S
The spindle speed specified with S… or S0=… applies
to the master spindle. You specify the corresponding
number for additional spindles: =…, S2=…

Three S values can be programmed per NC block.

Working with multiple spindles


Up to five spindles – master spindle plus four additional
spindles, two spindles on the SINUMERIK FM-NC– can
be configured in the same channel.

One of the spindles is defined in machine data as the


master spindle. Special functions apply to this spindle,
such as thread cutting, tapping, revolutional feed, dwell
time.

The numbers must be specified with the speed and the


direction of rotation/spindle stop for the other spindles,
e.g. for a second spindle and actuated tool.

Example: N10 S300 M3 S2=780 M2=4

Master spindle 300rpm, clockwise rotation


2nd spindle 780rpm, counterclockwise rotation

 Siemens AG, 2004. All rights reserved


7-268 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.12 Spindle speed S, direction of spindle rotation M3, M4, M5

Programmable switchover of
master spindle, SETMS(n)
You can define any spindle as the master spindle with a
command in the NC program.
Example:
N10 SETMS(2) ; SETMS must be programmed in a separate block
Spindle 2 is now the master spindle.

The speed specified with S and M3, M4, M5 now apply.

Deactivate
By issuing SETMS without spindle parameter you can
switchback to the master spindle defined in the machine
data.

Programming example
S1 is the master spindle, S2 is the second
S2
workspindle.
The part is to be machined from two sides. To do this,
it is necessary to divide the operations into steps. After
parting, the synchronous device S2) takes up the
workpiece for machining on the parted side. To do this,
this spindle S2 is defined as the master spindle to
which G95 then applies.

N10 S300 M3 Speed and direction of rotation for drive


spindle = preset master spindle
N20…N90 Machining of right side of workpiece
N100 SETMS(2) S2 is now master spindle
N110 S400 G95 F… Speed for new master spindle
N120…N150 Machining of left side of workpiece
N160 SETMS Switch back to master spindle S1

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-269
7 7
Feedrate Control and Spindle Motion 03.04
7.13 Constant cutting rate, G96, G961, G97, G971, LIMS

7.13 Constant cutting rate, G96, G961, G97, G971, LIMS

Programming
G96 S…
G961
G97
G971
LIMS=…

Explanation of the commands

G96 Activate constant cutting speed (as for G95)


G961= Activate constant cutting speed (as for G94)
S Cutting rate in m/min, always applies to master spindle
G97 Deactivate constant cutting speed (as for G95)
G971= Deactivate constant cutting speed (as for G94)
LIMS The spindle limitation is operative when G96, G961 and G97 are active for
the master spindle (LIMS is not active with G971).

Function
Reducing spindle
When G96/G961 is active, the spindle speed – speed
depending on the respective workpiece diameter – is
automatically modified in order that the cutting rate S
in m/min or ft/min remains constant at the tool edge.
This helps you to obtain even turning patterns and thus
better surface quality and less wear and tear on the
tool.
Command LIMS specifies a maximum speed limitation
for the master spindle. The limit speed programmed Constant
cutting rate
with G26 or defined via setting data cannot be ex-
ceeded when LIMS is used which also generates an
Spindle speed
alarm if the speed is exceeded. increased

Sequence
Deactivate constant cutting rate
Activation, G96/G961
A constant cutting rate in m/min or ft/min must be
entered when G96/G961 is first selected in the parts
program and can be entered again if the commands are
reselected.

 Siemens AG, 2004. All rights reserved


7-270 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.13 Constant cutting rate, G96, G961, G97, G971, LIMS

Value range for cutting rate S


The precision can be set in the machine data.
The range for the cutting rate can lie between
0.1 m/min ... 9999 9999.9 m/min.

With G70/G700: Cutting rate in feet/min.

Adjust feed F
When G96 is active, G95 feed is automatically activated
in mm/rev.

If G95 was not already active, you must specify a new


feedrate F when you call G96 (e.g. convert F value from
mm/min to mm/rev).

Upper speed limit LIMS


If you machine a workpiece that varies greatly in
diameter, it is advisable to specify a speed limit for the
spindle. This prevents excessively high speeds with
small diameters. LIMS acts as a speed limitation with
G96/G961 and G97.
Example:
N10 SETMS(3)
N20 G96 S100 LIMS=2500
Limit speed to 2500 rpm

LIMS
Rapid traverse
With rapid traverse G0, there is no change in speed.
Exception: If the contour is approached in rapid tra-
verse and the next NC block contains a G1, G2, G3 ...
path command, the speed is adjusted in the G0
approach block for the next path command.

Deactivate constant cutting rate


G97/G971
After G97/G971, the control interprets an S word again
as a spindle speed in rpm.
If you do not specify a new spindle speed, the last
speed set with G96/G961 is retained.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-271
7 7
Feedrate Control and Spindle Motion 03.04
7.14 Constant grinding wheel peripheral speed, GWPSON, GWPSOF

Additional notes
• The G96 function can also be deactivated with G94
or G95.
In this case, the last programmed speed S is used for
further machining operations.
• In SW 4.2 and higher, G97 can also be
programmed without preceding it by G96. The
function then has the same effect as G95; LIMS can
also be programmed.
• With SW 5.3 and higher, the constant cutting rate
can be deactivated with G961 and G971.

The transverse axis must be defined in machine data.

7.14 Constant grinding wheel peripheral speed, GWPSON, GWPSOF

Programming
GWPSON(T No.)
GWPSOF(T No.)
S…
S1…

Explanation of the commands and parameters

GWPSON (T No.) Select constant grinding wheel peripheral speed GWPS


It is only necessary to specify the T number if the tool with this T number is
not active.
GWPSOF (T No.) Deselect GWPS; the T number only need be specified if the tool with this T
number is not active.
S… Program GWPS; value for peripheral speed in m/s or ft/s
S1… S…: GWPS for master spindle; S1…: GWPS for spindle 1

Function
With the function "Constant grinding wheel peripheral
speed" (=GWPS) you can set the grinding wheel speed
such that, taking account of the current radius, the
grinding wheel peripheral speed remains constant.

The GWPS can only be selected for grinding tools


(types 400-499).

 Siemens AG, 2004. All rights reserved


7-272 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.14 Constant grinding wheel peripheral speed, GWPSON, GWPSOF

Additional notes
To be able to activate the "Constant peripheral speed"
function, the tool-specific grinding data $TC_TPG1,
$TC_TPG8 and $TC_TPG9 must be set accordingly.
When the GWPS function is active, even online offset
values (= wear parameters; cf. Sect. 6 PUTFTOC,
PUTFTOCF) are taken into account with regard to
speed variations!

Select GWPS GWPSON, program GWPS


After activation of GWPSON, each subsequent S value
for this spindle is interpreted as a grinding wheel
peripheral speed.
Selection of grinding wheel peripheral speed with
GWPSON does not cause the automatic activation of
tool length compensation or tool monitoring.
The GWPS can be active for several spindles on a
channel with different tool numbers.
If GWPS is to be selected for a new tool on a spindle
where GWPS is already active, the active GWPS must
first be deselected with GWPSOF.

Deactivate GWPS GWPSOF


When the GWPS is deselected with GWPSOF, the last
speed determined is retained as set speed.
GWPS programming is reset at the end of the parts
program or on RESET.

Query active GWPS $P_GWPS[spindle no.]


This system variable can be used to query from the
parts program whether the GWPS is active for a
specific spindle.
TRUE: GWPS is ON.
FALSE: GWPS is OFF.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-273
7 7
Feedrate Control and Spindle Motion 03.04
7.14 Constant grinding wheel peripheral speed, GWPSON, GWPSOF

Programming example
A constant grinding wheel peripheral speed is to be
used for grinding tools T1 and T5.
T1 is the active tool.

Programming

N20 T1 D1 Select T1 and D1


N25 S1=1000 M1=3 1000 rpm for spindle 1
N30 S2=1500 M2=3 1500 rpm for spindle 2

N40 GWPSON GWPS selection for active tool T1
N45 S1 = 60 Set GWPS for active tool to 60 m/s

N50 GWPSON(5) Select GWPS for tool 5 (2nd spindle)
N55 S2 = 40 Set GWPS for spindle 2 to 40 m/s

N60 GWPSOF Deactivate GWPS for active tool
N65 GWPSOF(5) Deactivate GWPS for tool 5 (spindle 2)

 Siemens AG, 2004. All rights reserved


7-274 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.15 Constant workpiece speed for centerless grinding, CLGON,

7.15 Constant workpiece speed for centerless grinding, CLGON, CLGOF

Programming
CLGON(Soll)
CLGOF

Explanation of the commands

CLGON (set) Activate "Constant workpiece speed for centerless grinding" function;
specify speed setpoint (set) for workpiece in rpm
CLGOF Deactivate function

Function
When the "Constant workpiece speed for centerless n1= const
grinding" function is active, the speed of the machined
part is kept constant. The speed of the regulating Workpiece
wheel reduces as the diameter of the machined part rWorkpiece
Grinding
decreases. Regulating wheel
A wheel

Sequence r Regulating wheel R1

n2 Work
Preconditions for CLGON blade
The axes of the regulating and grinding wheels and the
work blade must be in a position that enables grinding Q1
of the workpiece from the initial to the finishing
Y
dimension. Q2
X
CLGON acts only if the spindle of the regulating wheel
is running in speed mode. An actual position sensor is
not required.
The G functions G94, G95, G96/G961 and G97/G971,
which have no effect on the spindle of the regulating
wheel, can be active concurrently with CLGON.

If the regulating wheel is running as a master spindle,


G96/G961 and CLGON cancel each other.

Additional notes
The following are stored in the channel-specific machine
data ($MC_TRACLG…):
• The spindle numbers of the regulating and grinding
wheels
• Geometrical parameters (axis numbers, direction
vector of the work blade, etc.)
• Response on reset and end of program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-275
7 7
Feedrate Control and Spindle Motion 03.04
7.15 Constant workpiece speed for centerless grinding, CLGON, CLGOF

Calculation of the regulating wheel speed


The speed of the regulating wheel is calculated from
the set speed of the workpiece: n1= const
SRegulating wheel = rWorkpiece/rRegulating wheel • Sprog
Workpiece
rWorkpiece
The radius of the workpiece rWorkpiece is calculated as Grinding
the radius of the circle touching the grinding wheel, Regulating wheel wheel
A

regulating wheel and work blade.


r Regulating wheel R1

n2 Work
Offset data for CLGON blade
The radii of the grinding and regulating wheels are
taken from the current offset data for T1, D1 (grinding Q1
Y
wheel) and T2, D1 (regulating wheel). Changes to the
Q2
online tool offset (PUTFTOCF, FTOCON, FTOCOF) X
are taken into account.

Response on transition of traversing blocks


CLGON is only active in traversing blocks without G0
(traverse with path feed).
If a transition takes place from a G0 block to a traversing
block without G0, the speed of the regulating wheel
during the G0 block is set to the desired starting speed of
the next block.
If a G0 block follows a traversing block without G0, the
speed is frozen at the end of the block before G0. This
does not apply if the G0 block is followed by a motion
block without G0 in which a new set speed is
programmed.

Gear stages
The gear stages must be selected in such a manner that
the regulating wheel can cover the entire speed range
required.

Monitoring
Speed monitoring defined with G25 and G26 is active.
The range of the work blade, in which the calculated
tangent of the workpiece lies, is monitored. It is defined
in machine data.

 Siemens AG, 2004. All rights reserved


7-276 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.16 Programmable spindle speed limitation, G25, G26

7.16 Programmable spindle speed limitation, G25, G26

Programming
G25 S… S1=… S2=…
G26 S… S1=… S2=…

Explanation of the commands

G25 Lower spindle speed limitation


G26 Upper spindle speed limitation
S S1=… S2=… Minimum or maximum speed

Function
You can use a command in the NC program to change
the minimum and maximum spindle speeds defined in
the machine data and setting data.

Sequence
It is possible to program spindle speed limitations for all
spindles on the channel.

Example:
N10 G26 S1400 S2=350 S3=600

Upper speed limitation for master spindle, spindle 2 and


spindle 3.
Value range
The value assignment for spindle speed can range from
0.1 rev/min ... to 9999 9999.9 U/min.

A spindle speed limitation programmed with G25 or G26


overwrites the speed limitations in the setting data and
thus remains stored after the end of the program.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-277
7 7
Feedrate Control and Spindle Motion 03.04
7.17 Several feedrates in one block: F.., FMA..

7.17 Several feedrates in one block: F.., FMA..

Programming
Several path movements in one block
F2=... to F7=...
ST=...
SR=...
FMA[2,x]=...to FMA[7,x]=... Several axial movements in one block
STA=...
SRA=...

Explanation of the commands

F2==... In addition to the path feed, you can program up to 6 further feedrates in the
to F7==... block; non modal
ST=... Dwell time (for grinding technology: sparking out time); non modal
SR=... Return path; non modal
FMA[2,x]=... to In addition to the path feed, you can program up to 6 further feedrates per
FMA[7,x]=... axis in the block; non modal
STA=... Axis-spec. dwell time (for grinding technology: sparking out time); non modal
SRA=... Axis-spec. return path; non modal

Function
The function "Several feedrates in one block" can be
used independent of external analog and/or digital inputs
to activate
• 6 different feedrates of an NC block,
• 1 dwell time and
• 1 return path
in synchronism with the movement.
The HW inputs signals are combined in one input byte,
see description in:
/FB/ A2, Various Interface Signals.

Sequence
Programming the path motion
The path feedrate is programmed under the address A,
which remains valid provided that no input signal is
present. The numerical extension is indicated by the bit
number of the input, whose change activates the
feedrate:

 Siemens AG, 2004. All rights reserved


7-278 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.17 Several feedrates in one block: F.., FMA..

e.g.
F7=1000 ; 7 corresponds to input bit 7
F2=20 ; 2 corresponds to input bit 2
ST=1 ; dwell time (s) input bit 1
SR=0.5 ; Return path (mm) input bit 0

Programming the axial motion


The axial path feedrate is programmed under the
address FA, which remains valid provided that no input
signal is present.
FMA[7,x]=... to FMA[2,x]=... can also be used
to program up to 6 further feedrates per axis in the block.
The first expression in the square brackets indicates the
bit number of the input; the second the axis for which the
feedrate is to apply
e.g. FMA[3,y]=1000 ; axial feedrate with the value 1000 for Y axis,
3 corresponds to input bit 3.
Dwell time and return path are programmed under the
additional addresses
STA[x]=... Dwell time (s) bit 1 and
SRA[x]=... Return path (mm) bit 0.

Additional notes
• The axial feedrate/path feedrate (F value)
corresponds to 100% feedrate. The function
"Several feedrates in one block" can be used to
implement feedrates which are less than or equal to
the axial feedrate/path feedrate.
• If feedrates, swell time or return path are
programmed for an axis on account of an external
input, this axis must in this block must not be
programmed as POSA axis (positioning axis over
multiple blocks).
• If input bit 1 is activated for the dwell time or bit 0 for
the return path, the distance to go for the path axes or
the relevant single axes is deleted and the dwell time
or return started.
• The unit for the return path is relative to the currently
valid unit of measurement (mm or inch).
• Look-ahead is also active for several feedrates in one
block. In this way, you can use the look-ahead
function to restrict the current feedrate.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-279
7 7
Feedrate Control and Spindle Motion 03.04
7.18 Non-modal feedrate: FB=... (SW 5.3 and higher)

Programming

N20 T1 D1 F500 G0 X100 Start position


N25 G1 X105 F=20 F7=5 F3=2.5 F2=0.5 ST=1.5 SR= 0.5 ;
Normal feed with F, roughing with F7, finishing with F3, fine finishing with F2,
dwell time 1.5 s, return path 0.5 mm
N30 ...

7.18 Non-modal feedrate: FB=... (SW 5.3 and higher)


Programming

FB=... Feed motion only in one block

Explanation of the commands

FB==... Instead of the modal feedrate active in the previous block, you can program
a separate feedrate for this block; in the block that follows, the previously
active modal feedrate applies.

Function
You can use the function "Blockwise feedrate" to define
a separate feedrate for a single block.

Sequence
The address FB is used to define the feedrate only for
the current block. After this block, the previously active
modal feedrate is active.

The feedrate is interpreted according to the active


feedrate type:
• G94: Feedrate in mm/min or °/min
• G95: Feedrate in mm/rev. or inch/rev.
• G96: Constant cutting rate

References: Description of Functions, V1 Feedrates

 Siemens AG, 2004. All rights reserved


7-280 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
7 7
03.04 Feedrate Control and Spindle Motion
7.18 Non-modal feedrate: FB=... (SW 5.3 and higher)

Additional notes
• The programmed value of FB=<value> must be
greater than zero.
• If no traversing motion is programmed in the block
(e.g. computation block), the FB has no effect.
• If no explicit feedrate is programmed for
chamfer/rounding, the value of FB also applies for a
chamfer/rounding contour element in this block.
• Feedrate interpolations FLIN, FCUB, etc. are also
possible without restriction.
• Simultaneous programming of FB and FD
(handwheel traversing with handwheel override) or F
(modal path feed) is not possible.

Programming

N10 G0 X0 Y0 G17 F100 G94; Start position


N20 G1 X10; Feedrate 100 mm/min
N30 X20 FB=80; Feedrate 80 mm/min
N40 X30; Feedrate is 100 mm/min again
N50 ...

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 7-281
7 7
Feedrate Control and Spindle Motion 03.04
7.18 Non-modal feedrate: FB=... (SW 5.3 and higher)

Notes

 Siemens AG, 2004. All rights reserved


7-282 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets

Tool Offsets

8.1 General information ................................................................................................ 8-284

8.2 List of tool types ...................................................................................................... 8-287

8.3 Tool selection/tool call T ......................................................................................... 8-291


8.3.1 Tool change with M06 (milling) ............................................................................... 8-291
8.3.2 Tool change with T commands (turning) ................................................................ 8-293

8.4 Tool offset D............................................................................................................ 8-294

8.5 Tool selection T with tool management .................................................................. 8-296


8.5.1 Turning machine with circular magazine ................................................................ 8-296
8.5.2 Milling machine with chain magazine ..................................................................... 8-297

8.6 Tool offset call D with tool management................................................................. 8-299


8.6.1 Turning machine with circular magazine ................................................................ 8-299
8.6.2 Milling machine with chain system.......................................................................... 8-300

8.7 Make active tool offset operative immediately ........................................................ 8-301

8.8 Tool radius compensation, G40, G41, G42 ............................................................ 8-302

8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT ................... 8-309

8.10 Compensation at outside corners, G450, G451 ..................................................... 8-315

8.11 Smooth approach and retraction G140-G143, G147/G247/G347,


G148/G248/G348.................................................................................................... 8-318
8.11.1 Approach and retraction, G460 and extensions (SW 5 and higher)
G461, G462............................................................................................................. 8-326

8.12 Collision monitoring, CDON, CDOF and CDOF2 ................................................... 8-330

8.13 2 1/2 D tool offset, CUT2D, CUT2DF...................................................................... 8-333

8.14 Tool length compens. for orient. tools TCARR, TCOABS, TCOFR........................ 8-335

8.15 Grinding-specific tool monitoring in part program TMON, TMOF ........................... 8-338

8.16 Additive offsets (SW 5 and higher) ......................................................................... 8-340


8.16.1 Select offsets (via DL numbers).............................................................................. 8-340
8.16.2 Define wear and setup values................................................................................. 8-341
8.16.3 Delete additive offsets (DELD)................................................................................ 8-343

8.17 Tool offset – special treatment (SW 5 and higher) ................................................. 8-344
8.17.1 Mirror tool lengths ................................................................................................... 8-345
8.17.2 Sign evaluation wear............................................................................................... 8-345
8.17.3 Define coordinate system for wear values, TOWSTD, TOWMCS/WCS ................ 8-346
8.17.4 Tool length and plane change................................................................................. 8-349

8.18 Tools with a relevant tool point direction (SW 5 and higher) .................................. 8-352

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-283
8 8
Tool Offsets 03.04
8.1 General information

8.1 General information

Why use tool offsets?


Tool path

When writing a program, it is not necessary to specify


the cutter diameter, the tool point direction of the
turning tool (left/right-handed turning tools) or tool
length. Contour
You simply program the workpiece dimensions
according to the dimensions in the production drawing.

When machining a workpiece, the tool paths are


controlled according to the tool geometry such that the
programmed contour can be machined using any tool.

The control corrects the traverse path


Programmed contour

You enter the tool data separately in the tool table on


the control.
All you need to do is call the required tool with its offset
data in the program.

During program execution, the control fetches the off-


set data from the tool files and corrects the tool path
individually for different tools.

Corrected tool path

 Siemens AG, 2004. All rights reserved


8-284 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.1 General information

Which tool offsets are stored in the control's


offset memory?
In the offset memory enter the following:
• Geometrical dimensions: Length, radius.
They consist of several components (geometry,

Length
wear). The control computes the components to a
certain dimension (e.g. overall length 1, total
radius). The respective overall dimension becomes
effective when the offset memory is activated.
These values are calculated in the axes according
to the tool type and the current plane G17, G18,
G19.
Radius
• Tool type
The type determines which geometry data are
needed and how they are calculated (drill or milling
tool or turning tool). F

• Tool point direction

Tool parameters P = Tool tip


R = Radius
The following section ″List of tool types″ describes the
S = Cutting edge center
individual tool parameters in the display. The relevant

L1
tool parameters must be entered in the input fields with
"DP...". Any unneeded tool parameters must be set to P
R S

"zero".

L2

Caution
Values that have been entered once in the offset
memory are included in the processing for each tool
numbered.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-285
8 8
Tool Offsets 03.04
8.1 General information

Tool length compensation

This value compensates for the differences in length


between the tools used. F F F F

The tool length is the distance between the toolholder


reference point and the tip of the tool. This length is
measured and entered in the control together with
definable wear values.
From this data, the control calculates the traversing
movements in the infeed direction.

Additional notes
The compensation value of the tool length depends on
the spatial orientation of the tool. See also section "Tool
orientation and tool length compensation" for more
information.

Tool radius compensation


Equidistant path
The contour and tool path are not identical. The cutter
or tool nose radius center must travel on a path that is
equidistant from the contour.

To do this, the programmed tool center point path is


displaced by an amount that depends on the radius
and the direction of machining and such that the tool
nose travels exactly along the desired contour. Equidistant path

The control fetches the required radii during program


execution and calculates the tool path from these
values.

The tool radius compensation acts according to default


setting CUT2D or CUT2DF. You will find more
information later in this chapter.

 Siemens AG, 2004. All rights reserved


8-286 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.2 List of tool types

8.2 List of tool types

Coding of tool types for milling tools Entries in


tool parameters F' F

Group with type 1xy (milling tool): DP1 1xy

100 Milling tool according to CLDATA DP3 Length 1-Geometry


110 Ball end mill (cylindrical die-sinking Length 1 Adapter
Length 1
cutter) DP6 Radius -Geometry
Length 1 Total
111 Ball end mill (tapered die-sinking DP21 Length -Adapter
F-Reference point adapter (with tool inserted
cutter) =toolholder reference point)
120 End mill Wear values Effect
(without corner rounding) as required
Length 1 in Z
G17:
121 End mill Radius in X/Y
F´-Toolholder
Length 1 in Y reference point
(with corner rounding) Set remaining G18:
Radius in Z/X
130 Angle head cutter values to 0
Length 1 in X
G19:
Radius in Y/Z
(without corner rounding)
131 Angle head cutter In SW 5 and higher, a fixed assignment is possible for G17, G18, G19
e.g. length1=X, length2=Z, length3=Y (see /FB1/ W1 Tool compens.)
(with corner rounding)
140 Facing tool
145 Thread cutter Entries in Base dimension
F
tool parameters Length 2
150 Side mill DP1 1xy

Base dim.
Length 1
151 Saw DP3 Length 1 - Geometry
F'
Base dimension
Length 3
155 Bevel cutter DP6 Radius - Geometry

(without corner rounding) DP21 Length 1 - Base F´- Toolholder reference point
DP22 Length 2 - Base F - Toolholder reference point
156 Bevel cutter DP23 Length 3 - Base

(with corner rounding) Radius

Effect
160 Drill and thread milling cutter
G17: Length 1 in Z Z
Length 2 in Y
Length 3 in X Y
Radius in Y/Z X
Wear values G18: Length 1 in Y Y
as required Length 2 in X
Length 3 in Z
X
Set remaining Radius in X/Y Z
values to 0 G19: Length 1 in X X
Length 2 in Z
Length 3 in Y Z
Radius in Z/X Y

In SW 5 and higher, a fixed assignment is possible for G17, G18, G19


e.g. length 1 = X, length 2 = Y, length 3 = Z (see /FB1/W1 Tool compensation)

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-287
8 8
Tool Offsets 03.04
8.2 List of tool types

Coding of tool types for drills Entries in


tool parameters
Group type 2xy (drills):
DP1 2xy F
200 Twist drill
DP3 Length 1
205 Drill
210 Boring bar Length 1

220 Center drill


230 Countersink
231 Counterbore
240 Tap regular thread
Wear values
241 Tap fine thread as required Effect
242 Tap Whitworth thread G17: Length 1 in Z F - toolholder
250 Reamer Set remaining reference point
G18: Length 1 in Y
values to 0
G19: Length 1 in X

Coding of tool types for grinding Entries in


tool parameters TPG1 Spindle number
tools DP1 403 TPG2 Chaining rule
Group type 4xy (grinding tools): DP2 Position*) TPG3 Minimum wheel radius
DP3 Length 1 TPG4 Minimum wheel width
400 Surface grinding wheel DP4 Length 2 TPG5 Current wheel width
401 Surface grinding wheel with DP6 Radius TPG6 Maximum speed
TPG7 Max. peripheral speed
monitoring *) Tool nose position TPG8 Angle of the inclined wheel
TPG9 Parameter no. f. radius calculation
403 Surface grinding wheel with Wear values
as required F - Toolholder reference point
monitoring without base dimension
for grinding wheel peripheral Set remaining
values to 0
speed GWPS Effect ∝
410 Facing wheel G17: Length 1 in Y
Length 2 in X
411 Facing wheel with monitoring Radius in X/Y
F'

Length 1
Geometry
413 Facing wheel with monitoring

Length 1
Length 1 in X

Base
G18: Radius
Length 2 in Z
without base dimension for Radius in Z/X F
grinding wheel peripheral speed G19: Length 1 in Z
Length 2 in Y Base Length 2
GWPS Radius in Y/Z Geometry
490 Dresser Length 2

 Siemens AG, 2004. All rights reserved


8-288 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.2 List of tool types

Coding of tool types


Turning tool
for turning tools e.g. G18: Z/X plane
F - Toolholder reference point
Group type 5xy (turning tools): X
F S
500 Roughing tool R

510 Finishing tool P

Length 1 (X)
520 Plunge cutter
530 Parting tool
540 Threading tool R = Radius of the tool nose
550 Button tool / shaping tool (tool radius)
S = Position of the tool nose center
580 Probe with Length 2 (Z)
tool point direction parameter
Tool tip P
(tool nose 1 = Dn)
Z

The tool parameter DP2 specifies the length of the tool nose.
Position value 1 to 9 possible.

X Tool nose position DP2


1 2 3 4 5
P
Z

X
6 7 8 9
P=S

Note:
The data Length 1, Length 2 refer to the
point P for tool nose position 1-8;
but S for position 9 (S=P)

Entries in Effect
tool parameters Wear values
as required Length 1 in Y
DP1 5xy G17:
Length 2 in X
DP2 1...9
Length 1 in X
DP3 Length 1 Set remaining G18: Length 2 in Z
DP4 Length 2 values to 0.
Length 1 in Z
G19:
DP6 Radius Length 2 in Y

• Chain rule
The tool length offsets "Geometry", "Wear" and "Base dimension" can be chained for the left and
right wheel correction in each case, i.e. if the length offsets for the left tool edge are altered, the
values for the right edge are automatically entered and vice versa. Please refer to Description of
Functions /FB II/, W4 "Grinding".

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-289
8 8
Tool Offsets 03.04
8.2 List of tool types

Coding of tool types


Group type 7xy (special tools)
700 Slotting saw
710 3D probe

730 Limit stop


Entries in Groove width b
Base dim.
Slotting saw tool parameters
Length 2
DP3 Length 1 - Base dim.
Excess.
Group with type: dim.
DP4 Length 2 - Base dim.
k
700 Slotting saw DP6 Diameter - Geometry

Diameter d
DP7 Groove width-Geometry
DP8 Excess. dim.- Geometry

Base dim.
Length 1
Wear values
as required Effect
Additional notes G17: Half diameter (L1) in X Plane selection
Set remaining Excess dim. in (L2) Y 1st-2nd axis (X-Y)
The parameters for the tool types are values to 0
Saw blade in (R) X/Y

G18: Half diameter (L1) in Y Plane selection


described in: Excess dim. in (L2) X 1st-2nd axis (X-Z)
Saw blade in (R) Z/X
References: FB, W1 Tool Compensation
G19: Half diameter (L1) in Z Plane selection
and in help displays of the controller Excess dim. in (L2) Z 1st-2nd axis (Y-Z)
Saw blade in (R) Y/Z

 Siemens AG, 2004. All rights reserved


8-290 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.3 Tool selection/tool call T

8.3 Tool selection/tool call T

8.3.1 Tool change with M06 (milling)

Programming
Tx or
T=x or
Ty=X
T0
M06
Explanation of the parameters

Tx or T=x or Ty=x Tool selection with T No.


x x stands for T No.: 0-32000
T0= Tool deselection
M06 Tool change, then tool T... and tool offset D are active
Number of tools: 600, as of SW 5: 1200
(depending on the machine manufacturer's configuration)

Function
Tool selection takes place when the T word is
programmed.
1. Tool selection without TOOLMAN
• Free selection of D No. (flat D No.) relative to
cutting edges
T... [8-digit]

D1 D2 D3 ••• D32000

• Tabulated D No.: D1 ... D8


T1 D1 D2 D3 ••• D8
T2 D1
T3 D1
T6 D1 D2 D3
T9 D1 D2
D1 D3


T... D1 D2

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-291
8 8
Tool Offsets 03.04
8.3 Tool selection/tool call T

2. Tool selection with tool management


• Free selection of D No. (flat D No.) relative to
cutting edges
• Fixed assignment of D No. to the cutting edges
The tool is not active until M06 (incl. corresponding D
No.).

Machine manufacturer (MH 8.1)


The effect of the T number call is defined in machine
data. See machine manufacturer's configuration.

Explanation
SW 4 and higher
The free selection of the D No. "flat D number struc- T1 D1
ture" is applied when tool management is implemented T2 D2
T3 D3
outside the NC. In this case, the D numbers are crea-
T4 D4
ted with the corresponding tool compensation blocks
without assignment to tools.
T can continue to be programmed in the parts program.
However, this T has no reference to the programmed D
number.
Example:
Circular magazine with 12 locations and 12 single-edge
tools.
Machine manufacturer (MH 8.5)
T can or cannot be programmed in the parts program,
depending on the setting in MD 18102.

Sequence
Creating a new D number
Creating a new D number with the associated tool
compensation blocks is performed exactly as for the
normal D number via tool parameters $TC_DP1 to
$TC_DP25. The T number need not be entered any
more.

 Siemens AG, 2004. All rights reserved


8-292 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.3 Tool selection/tool call T

Machine manufacturer (MH 8.6)


The type of D number management is defined in the
machine data. There are two settings available for
programming D numbers in the "flat D number
structure":
• Flat D number structure with direct programming
Flat D number structure with indirect programming (SW5
and higher).

8.3.2 Tool change with T commands (turning)

Programming
Tx or T=x
or Ty=X
T0
Explanation of the parameters

Tx or T=x or Ty=x Tool selection with T No. including tool change (active tool), tool offset is
active
x x stands for T No.: 0-32000
T0 Tool deselection
Number of tools: 600, as of SW 5: 1200
(depending on the machine manufacturer's configuration)

Function
A direct tool change takes place when the T word is
programmed.
1. Tool selection without TOOLMAN
• Free selection of D No. (flat D No.) relative to
cutting edges
• Tabulated D No.: D1 D8
2. Tool selection with tool management
• Free selection of D No. (flat D No.) relative to
cutting edges
• Fixed assignment of D No. to the cutting edges

Machine manufacturer (MH 8.1)


The effect of the T number call is defined in machine
data. See machine manufacturer's configuration.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-293
8 8
Tool Offsets 03.04
8.4 Tool offset D

8.4 Tool offset D


Programming
D...
D0
Explanation of the parameters

Dx Tool offset number:


without TOOLMAN 1... 8 or
with TOOLMAN (SW5 and higher) 1...12
x x stands for the D No.: 0-32000
D0 Deselect tool offset, no offsets active

Function
It is possible to assign between 1 and 8 (12) tool noses
with different tool compensation blocks to a specific N10 T2
tool. This allows you to define various cutting edges for N20 G0 X35 Z-20
N30 G1 D1 X10
one tool, which you can call as required in the NC
N40...D6 Z-5
program. Different offset values could be used, for
example, for the left and right cutting edge of a X
grooving tool. When D is called, the tool length
compensation for a specific tool nose is activated.
When D0 is programmed, offsets for the tool are
ineffective. If no D word is programmed, the default 10
setting from the machine data is valid for tool change.
Tool length compensations take immediate effect
if the D number is programmed.
A tool radius offset must also be activated byG41/G42.
Z
-20 -5

 Siemens AG, 2004. All rights reserved


8-294 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.4 Tool offset D

Machine manufacturer (MH 8.10)


Default by machine manufacturer, e.g.: D1, i.e. without D
programming, D1 is activated/selected when the tool is
changed (M06).
The tools are activated with T programming (see
machine manufacturer's specifications).
The compensation is applied with the first programmed
traversal of the respective tool length compensation
axis.

The required D number must always be programmed


before the tool length compensation can be selected.
The tool length compensation is also effective if the
compensation is set in the machine data.

Working without tool offsets, D0


D0 is the default setting after start-up of the control. If
you do not enter a D number you work without a tool
offset.

The modified values do not become active until the T or


D number is next programmed.

Programming example
(turning: tool change with T command)
N10 T1 D1 Tool T1 is replaced and activated with
associated D1
N11 G0 X... Z... The length offsets are traversed
N50 T4 D2 Load tool T4, D2 from T4 is active
...
N70 G0 Z... D1 Other cutting edge D1 is activated for tool T4

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-295
8 8
Tool Offsets 03.04
8.5 Tool selection T with tool management

8.5 Tool selection T with tool management

Example
A magazine has locations 1 to 20:
Location 1 occupred by drilling tool, duplo no.=1, T15, 20
disabled 1
Location 2 is not occupied 2
3
Location 3 is occupied by drilling tool, duplo no.=2, T10, 5 4
enabled
Location 4 is occupied by drilling tool, duplo no.=3, T1,
active
Locations 5 to 20 are not occupied

1. Programming of T1 or T=1:
Magazine location with number 1 of the magazine
connected to the toolholder is selected.
2. Identifier "Drill" of tool in location is determined.
The selection procedure is completed.
3. It is followed by the tool change procedure:
On completion of tool search strategy "Take the first
available tool from group", T10 is loaded because
T15 is disabled.
4. On completion of tool search strategy "Take the first
tool with status "active" from group", T1 is loaded.

8.5.1 Turning machine with circular magazine

Programming
The following procedure usually applies:
T = location or T = identifier
T triggers the tool change
D... Tool offset number: 1...32000 (max., see machine manufacturer's specifications)
D0: no offsets active!

 Siemens AG, 2004. All rights reserved


8-296 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.5 Tool selection T with tool management

Sequence
The following procedure usually applies:
T = location,
T triggers the tool change
D = offsets 1 to n (n ≤ 32000)
If the relative D No. structure with internal reference to
the associated tools is used, replacement tool
management and monitoring function are possible.

Note:
When calling the tool, the
• tool offset values stored under a D number must be
activated.
• The appropriate working plane (system setting: G18)
must be programmed. This ensures that the length
compensation is assigned to the correct axis.
If the selected magazine location in a tool magazine is
not occupied, the tool command has the same effect as
T0. Selecting the empty magazine location can be used
to position the empty location.

Machine manufacturer (MH 8.2)


Tool management: See machine manufacturer's
configuration.

8.5.2 Milling machine with chain magazine

Sequence
The following procedure usually applies:
T = "Ident" or T = No. or T=Duplo no.,
M06 triggers the tool change
D = offset 1 to nth edge no.
(n ≤ 8, SW 5:12 and higher)
Selection:
• With integrated tool management (inside NC)
relative D no. structure with internal reference to the
associated tools (e.g. replacement tool management
and monitoring function possible)
• Without integrated tool management (outside NC)
flat D no. structure without internal reference to
associated tools

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-297
8 8
Tool Offsets 03.04
8.5 Tool selection T with tool management

Machine manufacturer (MH 8.3)


Tool management: See machine manufacturer's
configuration.

Tool magazine
The T number preselects the tool, e.g. positioning the
magazine to the tool change position. The actual tool
change is triggered by M6. The M number for the tool
change is set via the machine data. (See also the section
on miscellaneous functions M). Only then do the new
tool offsets apply.

Note:
When calling the tool, the
• tool offset values stored under a D number must be
activated.
• The appropriate working plane (system setting:
G17) must be programmed. This ensures that the
length compensation is assigned to the correct
axis.
If the selected magazine location in a tool magazine is
not occupied, the tool command has the same effect as
T0. Selecting the empty magazine location can be used
to position the empty location.

 Siemens AG, 2004. All rights reserved


8-298 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.6 Tool offset call D with tool management

8.6 Tool offset call D with tool management

Machine manufacturer (MH 8.4)


See machine manufacturer's configuration.

8.6.1 Turning machine with circular magazine

Programming
The following procedure usually applies:
T = location or T = identifier or T=Duplo no.,
T triggers the tool change
D... Tool offset number: 1...32000 (max., see machine manufacturer's specifications)
D0: no offsets active!

Direct, absolute programming


Programming is performed with the D number structure.
The compensation blocks to be used are called directly
via their D number.
Assignment of the D number to a specific tool does not
take place in the NC kernel.

Machine manufacturer (MH 8.7)


Direct programming is defined by MD.

Programming example

$MC_TOOL_CHANGE_MODE=0 MD20270 CUTTING_EDGE_DEFAULT = 1


...
D92 Traverse with tool offsets from D92
...
T17 Select T17, traverse with tool offsets from D92
...
D16 Traverse with tool offsets from D16
...
D32000 Traverse with tool offsets from D32000
...
T29000500 Select T29000500, traverse with tool offsets from
D32000
...
D1 Traverse with tool offsets from D1

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-299
8 8
Tool Offsets 03.04
8.6 Tool offset call D with tool management

8.6.2 Milling machine with chain system

Sequence
The following procedure usually applies:
T= identifier or T= identifier or
T= duplo no.,
M06 triggers the tool change
D = offset 1 to nth edge no.
(n ≤ 8 or. 12, as of SW 5)
Selection:
• With integrated tool management (inside NC)
relative D no. structure with internal reference to the
associated tools (e.g. replacement tool management
and monitoring function possible)
• Without integrated tool management (outside NC)
flat D no. structure without internal reference to
associated tools

Machine manufacturer (MH 8.9)


Tool management: See machine manufacturer's
specifications.

Function
It is possible to assign between 1 and 8 (12) tool noses
with different tool compensation blocks to a specific tool.
When D is called, the tool length compensation for a
specific tool nose is activated. When D0 is programmed,
offsets for the tool are ineffective. If no D word is
programmed, the default setting from the machine data
is valid for tool change.
Tool length compensations take immediate effect
if the D number is programmed.
A tool radius offset must also be activated by G41/G42.

 Siemens AG, 2004. All rights reserved


8-300 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.7 Make active tool offset operative immediately

8.7 Make active tool offset operative immediately

Function
MD $MM_ACTIVATE_SEL_USER_DATA can be used
to define that the active tool offset can be activated
immediately if the parts program is in "stop" mode.

/FB/, Description of Functions, Fundamentals, K2 Axes,


Coordinate Systems...

Danger
The offset is applied the next time the parts program is
started.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-301
8 8
Tool Offsets 03.04
8.8 Tool radius compensation, G40, G41, G42

8.8 Tool radius compensation, G40, G41, G42

Programming
G40
G41
G42
OFFN=

Explanation of the commands

G40 Deactivate tool radius compensation.


G41 Activate tool radius compensation; tool operates in machining direction to
the left of the contour.
G42 Activate tool radius compensation, tool operates in machining direction to
the right of the contour.
OFFN= Allowance on the programmed contour (normal contour offset).

Function
Equidistant path

When tool radius compensation is active, the control


automatically calculates the equidistant tool paths for
different tools.

You can generate equidistant paths with OFFN, e.g. for


rough-finishing.
Equidistant path

Sequence
The control requires the following information in order G41
to calculate the tool paths:
G42 G41

1. Tool no. T/edge no. D


Where appropriate, a tool offset number D is also
required. The distance between the tool path and the
G42
workpiece contour is calculated from the cutter and
tool edge radii and the tool point direction parameters.
With flat D number structure it is only necessary to
program the D number.
G41

 Siemens AG, 2004. All rights reserved


8-302 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.8 Tool radius compensation, G40, G41, G42

2. Direction of machining G41, G42


From this information, the control detects the direction in
which the tool path is to be displaced.

Note:
A negative offset value is the same as a change of offset
side (G41, G42).

3. Working plane G17 to G19 Milling:


From this information, the control detects the plane
and therefore the axis directions for compensation.

Example for milling cutters:


N10 G17 G41 …
The tool radius compensation is performed in the X/Y
plane, the tool length compensation is performed in the
Radius
Z direction.
+X
+Z

Ra

s
diu
diu
Note:

Ra
s
th Le
On 2-axis machines, the tool radius compensation is ng ng
Le th
+Y
only possible in "real" planes, in general with G18
(see tool length compensation table).

Tool length compensation Turning:


The wear parameter assigned to the diameter axis on
tool selection can be defined as the diameter value Y

(MD). This assignment is not automatically altered


when the plane is subsequently changed. To do this,
Length

the tool must be selected again after the plane has X


been changed. Length 1

Radius

Length 2
s
diu
Ra

Le
ng
th

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-303
8 8
Tool Offsets 03.04
8.8 Tool radius compensation, G40, G41, G42

Activate/deactivate tool radius compensation Milling:


A travel command must be programmed with G0 or G1
in an NC block with G40, G41 or G42. This travel
command must specify at least one axis in the
selected working plane. Y

If you only specify one axis on activation, the last Compensation


on X
position on the second axis is added automatically and
traversed with both axes.
Note: Compensation on Y

N2
50
The two axes must be active as GEOAX in the

0
channel. This can be achieved by programming them
with GEOAX. N10

X
50
Example:
N10 G0 X50 T1 D1
N20 G1 G41 Y50 F200
N30 Y100
Only tool length compensation is activated in block N10.
X50 is approached without compensation.
In block N20, the radius compensation is activated, point
X50/Y50 is approached with compensation.
Turning:
Example:
X
N20 T1 D1
N30 G0 X100 Z20
N40 G42 X20 Z1
20
N50 G1 Z-20 F0.2
Only tool length compensation is activated in block
N20. X100 Z20 is approached without compensation
Ø 100

in block N30.
In block N40, the radius compensation is activated,
point X20/Z1 is approached with compensation.
Ø 20

20 1

Using NORM and KONT you can determine the too


path for activation/deactivation of compensation mode
(see Section 8.10 Contour approach and retraction,
NORM, KONT, G450, G451).

 Siemens AG, 2004. All rights reserved


8-304 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.8 Tool radius compensation, G40, G41, G42

Select intersection with SD 42496:


CUTCOM_CLSD_CONT
FALSE:
If a (virtually) closed contour comprising two consecutive
circular blocks or one circular and one linear block has
two intersections when compensated on the inside edge,
then standard procedure dictates that the intersection
which is closer to the block end on the first partial
contour is selected.
A contour is deemed to be (virtually) closed if the
distance between the starting point of the first block and
the end point of the second block is less than 10% of the
effective compensation radius, but not more than 1000
path increments (equals 1 mm with 3 decimal places).

TRUE:
In the same situation as described above, the
intersection positioned on the first partial contour closer
to the block start is selected.

Changing the direction of compensation


G41/G42, G42/G41 can be programmed without an
intermediate G40. G41

Changing the working plane


It is not possible to change the working plane G17 to
G42
G19 when G41/G42 is active.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-305
8 8
Tool Offsets 03.04
8.8 Tool radius compensation, G40, G41, G42

Changing the offset number D


The offset number D can be changed in compensation
mode.
A modified tool radius is active with effect from the
block in which the new D number is programmed.
NC block with modified radius correction
The radius change or compensation movement is
performed across the entire block and only reaches the
Traverse path
new equidistance at the programmed end point.

Programmed path
With linear movements, the tool travels along an in-
clined path between the starting point and end point;
with circular interpolation spiral movements are
produced.

Changing the tool radius


This can be achieved, for example, using system
variables. The execution is the same as for changes in
the D number.

The modified values only take effect the next time T or D


is programmed. The change only applies with effect from
the next block.

In compensation mode
Compensation mode may only be interrupted by a
certain number of consecutive blocks or M commands
which do not contain any travel commands or positional
parameters in the compensation plane: Standard 3.

Machine manufacturer (MH 8.14)


The number of consecutive blocks or M commands can
be set in machine data 20250 (see machine manu-
facturer).
A block with a path distance of zero also counts as an
interruption!

 Siemens AG, 2004. All rights reserved


8-306 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.8 Tool radius compensation, G40, G41, G42

Programming example Milling:

The "conventional" approach:


Call tool, load tool, activate working plane and tool
Y
Y
radius compensation.

70
50
40
20
20 X Z
40
80 7

N10 G0 Z100 Retract to tool change point


N20 G17 T1 M6 Tool change
N30 G0 X0 Y0 Z1 M3 S300 D1 Call tool offset values, select length
compensation
N40 Z-7 F500 Tool infeed
N50 G41 X20 Y20 Activate tool radius compensation, tool
operates on left-hand side of contour
N60 Y40 Mill contour
N70 X40 Y70
N80 X80 Y50
N90 Y20
N100 X20
N110 G40 G0 Z100 M30 Retract tool, end of program

Turning:
45°
X
R8
R3
R3

R3 Ø
R10 Ø
Ø 50
Ø 30 35
16 Z
4
12
15

18

20

40

57

60

62

70

80

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-307
8 8
Tool Offsets 03.04
8.8 Tool radius compensation, G40, G41, G42

%_N_1001_MPF ;Program name


N5 G0 G53 X280 Z380 D0 ;Start point
N10 TRANS X0 Z250 ;Zero offset
N15 LIMS=4000 ;Speed limitation (G96)
N20 G96 S250 M3 ;Select constant feed
N25 G90 T1 D1 M8 ;Select tool and offset
N30 G0 G42 X-1.5 Z1 ;Activate tool with tool radius compensation
N35 G1 X0 Z0 F0.25
N40 G3 X16 Z-4 I0 K-10 ;Rotate radius 10
N45 G1 Z-12
N50 G2 X22 Z-15 CR=3 ;Rotate radius 3
N55 G1 X24
N60 G3 X30 Z-18 I0 K-3 ;Rotate radius 3
N65 G1 Z-20
N70 X35 Z-40
N75 Z-57
N80 G2 X41 Z-60 CR=3 ;Rotate radius 3
N85 G1 X46
N90 X52 Z-63
N95 G0 G40 G97 X100 Z50 M9 ;Deselect tool radius compensation and approach
tool change location
N100 T2 D2 ;Call up tool and select offset
N105 G96 S210 M3 ;Select constant cutting speed
N110 G0 G42 X50 Z-60 M8 ;Activate tool with tool radius compensation
N115 G1 Z-70 F0.12 ;Rotate diameter 50
N120 G2 X50 Z-80 I6.245 K-5 ;Rotate radius 8
N125 G0 G40 X100 Z50 M9 ;Retract tool and deselect tool radius
compensation
N130 G0 G53 X280 Z380 D0 M5 ;Move to tool change location
N135 M30 ;End of program

 Siemens AG, 2004. All rights reserved


8-308 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT

8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT

Programming
NORM
KONT
KONT
KONTC
KONTC
KONTT
KONTT

Explanation of the parameters

NORM The tool travels directly in a straight line and is positioned perpendicular to the
contour point
KONT The tool traverses the contour point according to the programmed corner behavior
G450 or G451
KONTC Tool reaches/leaves contour point with continuous curvature.
With continuous curvature also includes along continuous tangent. See below.
With continuous curvature means at constant acceleration.
KONT Tool reaches/leaves contour point along continuous tangent.
Along continuous tangent does not generally mean at constant acceleration.

Function
You can use these functions to adapt the approach and
retraction paths, for example, according to the desired
contour or shape of the blanks.

Sequence
Direct approach to perpendicular position,
G41, G42, NORM
The tool travels in a straight line directly to the contour
R

and is positioned perpendicular to the path tangent at


ad
iu
s

the starting point. Tangent


42
G

G42
Selection of the approach point
When NORM is active, the tool travels directly to the
compensated starting position irrespective of the Compensated Compensated
tool path tool path
approach angle programmed for the travel movement
(see diagram).

Machine manufacturer (MH 8.15)


Initial status see machine manufacturer's specifications.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-309
8 8
Tool Offsets 03.04
8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT

Deactivate compensation mode, G40, NORM


The tool is positioned perpendicular to the last
compensated path end point and then travels directly
in a straight line to the next uncompensated position,
e.g. to the tool change location.

R
ad
iu
s
Tangente
Choosing the retraction point

41
G
When NORM is active, the tool travels directly to the G41

uncompensated position irrespective of the approach


angle programmed for the travel movement (see
diagram).

The following applies to approach and retraction


movements:
You should make allowance for the modified angles of
travel when programming in order to avoid collisions.

Travel round contour at starting point,


G41, G42, KONT
Two cases are distinguished here:

Starting point lies in front of the contour Behind contour

The approach strategy is the same as with NORM.


The path tangent at the starting point serves as a Path tangent
dividing line between the front and rear of the contour.

In front of contour Starting point

 Siemens AG, 2004. All rights reserved


8-310 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT

Starting point lies behind the contour


The tool travels round the starting point either along a
circular path or over the intersection of the equidistant G451
G450
paths depending on the programmed corner behavior
G450/G451.

The commands G450/G451 apply to the transition from


the current block to the next block.

G450 G451

Generation of the approach path


In both cases (G450/G451), the following approach
Approach point
path is generated:
A straight line is drawn from the uncompensated
approach point. This line is a tangent to a circle with
circle radius = tool radius. The center point of the circle
is on the starting point.

Starting point

Approach path

Tool radius

Deactivate compensation mode, G40, KONT


If the retraction point is located in front of the contour, the
same retraction movement as for NORM applies.

If the retraction point is located behind the contour, the


retraction movement is the reverse of the approach
movement.

Explanation

KONTC The contour point is approached/exited with a continuous curvature. No


acceleration step change occurs at the contour point. The path from the
starting point to the contour point is interpolated as a polynomial.
KONTT The contour point is approached/exited along a continuous tangent. An
acceleration step change might at the contour point. The path from the
starting point to the contour point is interpolated as a polynomial.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-311
8 8
Tool Offsets 03.04
8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT

Function

Both functions are available only if polynomial


interpolation is enabled in the control.
Only G1 blocks are permitted as original
approach/retraction blocks. The control replaces
these by polynomials for the relevant
approach/retraction path.
The continuity conditions are observed in all three
axes. It is therefore permissible to program a path
component perpendicular to the offset plane
simultaneously.
Exclusion:
KONTT and KONTC are not available in the 3D
variants of the tool radius compensation
(CUT3DC, CUT3DCC, CUT3DF).
But if they are programmed, the control switches
internally to NORM without an error message.

 Siemens AG, 2004. All rights reserved


8-312 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT

Programming example

The full circle is approached beginning at the


circle center point. The direction and curvature
radius of the approach circle at the block end point
are identical to the values of the next circle. Infeed
takes place in the Z direction in both
approach/retraction blocks simultaneously. The
adjacent diagram shows the vertical projection of
the path.
The associated NC program segment is as
follows:

Programming

$TC_DP1[1,1]=121 Milling tool


$TC_DP6[1,1]=10 Radius 10 mm
N10 G1 X0 Y0 Z60 G64 T1 D1 F10000
N20 G41 KONTC X70 Y0 Z0 Approach
N30 G2 I-70 Full circle
N40 G40 G1 X0 Y0 Z60 Retract
N50 M30

3D representation: At the same time the curvature


is adjusted to the circular path of the full circle, the
axes moves from Z60 to the plane of circle Z0.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-313
8 8
Tool Offsets 03.04
8.9 Approach and retract from contour, NORM, KONT, KONTC, KONTT

Difference between KONT, KONTC:


The adjacent diagram shows the differences in
approach/retract behavior between KONTT and
KONTC. A circle with a radius of 20 mm about the
center point at X0 Y-40 is compensated with a tool
with an external radius of 20 mm. The tool center
point therefore moves along a circular path with
radius 40 mm. The end point of the approach
blocks is at X40 Y30. The transition between the
circular block and the retraction block is at the
zero point. Due to the extended continuity of
curvature associated with KONTC, the retraction
block first executes a movement with a negative Y
component. This will often be undesired. This
response does not occur with the KONTT
retraction block. However, with this block, an
acceleration step change occurs at the block
transition.
If the KONTT or KONTC block is the approach
block rather than the retraction block, the contour
is exactly the same, but machined in the opposite
direction.
The approach and retraction behaviors are
symmetrical.

 Siemens AG, 2004. All rights reserved


8-314 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.10 Compensation at outside corners, G450, G451

8.10 Compensation at outside corners, G450, G451

Programming
G450 DISC=…
G451

Explanation of the parameters

G450 Transition circle: the tool travels around workpiece corners on a circular path
with tool radius
DISC= Flexible programming of the approach and retraction instruction. In steps
of 1 from DISC=0 circle to DISC=100 intersection
G451 Intersection, the tool backs off from the workpiece corner

Function
G450/G451 defines the following:

On the one hand, the approach path for active KONT


and the approach point behind the contour (see previous
pages).

On the other hand, the corrected tool path when


traveling around outside corners.

Corner behavior, transition circle, G41, G42,


G450
G450

The tool center point travels around the workpiece


corner across an arc with tool radius.
P*
At intermediate point P*, the control executes
instructions such as infeed movements or switching
functions. These instructions are programmed in
blocks inserted between the two blocks forming the
corner.
The transition circle belongs to the next travel com-
mand with respect to the data.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-315
8 8
Tool Offsets 03.04
8.10 Compensation at outside corners, G450, G451

Corner behavior, selectable transitions


G41, G42, G450 DISC=…
DISC 100

DISC distorts the transition circle, thus creating sharp


contour corners. DISC 0

The values have the following meanings:


DISC=0 transition circle
DISC=100 intersection of the equidistant paths
(theoretical value)
DISC is programmed in steps of 1.

When DISC values greater than 0 are specified,


intermediate circles are shown with a magnified
height – the result is transition ellipses or parabolas
or hyperbolas.

An upper limit can be defined in machine data –


generally DISC=50.

DISC=... is effective only when G450 is called, but can


be programmed in a preceding block without G450. Both
commands are modal.

Path action, depending on DISC values


and contour angle
S/R

Depending on the angle of the contour that is tra- 1.0

versed, with acute contour angles and high DISC 0.8

0.6 DISC=100
values the tool is lifted off the contour at the corners. DISC=
50
0.4
With angles of 120° and more, the contour is traversed 40
30
0.2 20
evenly (see adjacent table). 0
10
30 60 90 120 150 180
Contour angle (degrees)

R - Tool radius S - Traversed overshoot


S/R - Scaled overshoot (with reference to the tool radius)

 Siemens AG, 2004. All rights reserved


8-316 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.10 Compensation at outside corners, G450, G451

Corner behavior, intersection, G41, G42, G451 G451

The tool approaches the intersection of the two P*


equidistants which lie in the distance between the tool
radius and the programmed contour. G451 applies only
to circles and straight lines.
At intermediate point P*, the control executes
instructions such as infeed movements or switching
functions. These instructions are programmed in blocks
inserted between the two blocks forming the corner.

Superfluous non-cutting tool paths can result from


liftoff movements at acute contour angles. A parameter
can be used in the machine data to define automatic
switchover to transition circle in such cases.

Programming example
In this example, a transition radius is inserted for all Y
Y

outside corners (progr. in block N30). This avoids the


necessity of stopping the tool on the change of direc-
tion and making no cut.

60

30
10
X Z
10
50
5

N10 G17 T1 G0 X35 Y0 Z0 F500 Start conditions


N20 G1 Z-5 Tool infeed
N30 G41 KONT G450 X10 Y10 Activate compensation mode
N40 Y60 Cut contour
N50 X50 Y30
N60 X10 Y10
N80 G40 X-20 Y50 Deactivate compensation mode, retract on
transition circle
N90 G0 Y100
N100 X200 M30

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-317
8 8
Tool Offsets 03.04
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

8.11 Smooth approach and retraction G140-G143, G147/G247/G347, G148/G248/G348

Programming
G140 to G143, G147, G148
G247, G248, G347, G348G340, G341
DISR=..., DISCL=...FAD=...

Explanation of the parameters

G140 Approach and retraction direction independent of the current compensation


side (basic setting)
G141 Approach from the left or retraction to the left
G142 Approach from the right or retraction to the right
G143 Approach and retraction direction depends on the relative position of the
start and end point with respect to the tangent direction
G147 Approach with a straight line
G148 Retraction with a straight line
G247 Approach with a quadrant
G248 Retraction with a quadrant
G347 Approach with a semicircle
G348 Retraction with a semicircle
G340 Approach and retraction in space (basic setting)
G341 Approach and retraction in the plane
DISR • Approach and retraction with straight line (G147/G148)
Distance from the mill edge to the start point of the contour
• Approach and retraction with circles (G247, G347/G248, G348)
Radius of the tool center point path
Caution: In the case of REPOS with a semicircle, DISR is the diameter of
the circle
DISCL DISCL=... Distance from the end point of the fast infeed motion
to the machining plane
DISCL=AC(...) Specifies the absolute position of the end point of
the fast infeed motion
FAD Speed of the slow infeed motion
FAD=... The programmed value acts in accordance with the
G code of group 15 (feedrate; G93, G94 etc.).
FAD=PM (...) The programmed value is interpreted as a linear
feedrate (like G94) independently of the active
G code of group 15.
FAD=PR (...) The programmed value is interpreted as a linear
revolutional feedrate (like G95) independently
of the active G code of group 15.

 Siemens AG, 2004. All rights reserved


8-318 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

Function G1

The smooth approach and retraction function (SAR) is G0

used to achieve a tangential approach to the start point Programmed


of a contour, regardless of the position of the start point. contour

The function is mainly used in conjunction with the tool


DISR
radius offset, but is not mandatory.
G247

Sequence
P0
P 3 during approach and
The approach and retraction motion consists of a retraction with straight
maximum of 4 sub-movements: Tool line (G147)
Tool center point path

• Start point of the motion P0


P4 Contour
• Intermediate points P1, P2 and P3
• End point P4
DISR
P0
The points P0, P3 and P4 are always defined. The
intermediate points P1 and P2 may be omitted as
P3 during approach and
appropriate to the parameter settings and geometrical retraction with quadrant (G247)
conditions.
DISR Tool center point path
Tool
Selecting the approach and retraction contour
P4 Contour
Using the appropriate G command, approach/retrac-
tion is possible with a straight line (G147, G148), a
qua-drant (G247, G248) or a semicircle (G347, G348).
P0
Selecting the approach and retraction direction
P3 during approach and
Use the tool radius compensation (G140, basic retraction with semicircle (G347)
setting) to determine the approach and retraction
direction.
DISR Tool center point path
With positive tool radius: Tool

G41 active → approach from left P4 Contour

G42 active → approach from right

Approach and retraction motions, represented with


G141, G142 and G143 provide further approach intermediate point P3 (tool radius compensation is
simultaneously active)
options.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-319
8 8
Tool Offsets 03.04
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

The G codes are only significant when the approach


contour is a quadrant or a semicircle.

Motion steps between start point and end point


(G340 and G341)
The characteristic approach to P0 to P4 is shown in the
Infeed motion
adjacent figure.
P0 P1 P0 P1

Straight line, Straight line


In cases which include the position of the active plane circle or helix or circle
P 2, P3 P2
G17 to G19 (circular plane, helical axis, infeed motion
DISCL P4 DISCL P3 P4
perpendicular to the active plane), any active rotating
FRAME is taken into account.

G340 Machining plane G341

Approach motion depending on G340/G341

Length of the approach straight line or radius for


approach circles (DISR) (see figure for sequence)
• Approach/retract with straight line
DISR specifies the distance of the cutter edge from
the starting point of the contour, i.e. the length of the
straight line when TRC is active is the sum of the tool
radius and the programmed value of DISR. The tool
radius is only considered if it is positive.
The resultant line length must be positive, i.e.
negative values for DISR are allowed provided that
the absolute value of DISR is less than the tool
radius.
• Approach/retraction with circles
DISR indicates the radius of the tool center point
path. If TRC is activated, a circle is produced with a
radius that results in the tool center point path with
the programmed radius.

Distance between the point and the machining


plane (DISCL) (see figure for sequence)
If the position of the point P2 is to be specified as an
absolute value on the axis perpendicular to the circular
plane, the value must be programmed in the form
DISCL=AC(...).
The following applies for DISCL=0:
• With G340: The entire approach motion consists of
only two blocks (P1, P2 and P3 are combined). The
approach contour is obtained from P1 to P4.

 Siemens AG, 2004. All rights reserved


8-320 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

• With G341: The entire approach motion consists of


three blocks (P2 and P3 are combined). If P0 and P4 lie
in the same plane, only two blocks are produced
(infeed motion of P1 to P3 is omitted).
The point defined by DISCL is monitored to ensure that it
is located between P1 and P3, i.e. the sign must be
identical for the component perpendicular to the
machining plane in all motions which possess such a
component.
On detection of a direction reversal, a tolerance defined
by the machine data SAR_CLEARANCE_TOLERANCE
is permitted.

Programming the end point P4 for approach or P0


for retraction
The end point is generally programmed with X... Y... Z....
• Programming during approach
- P4 in the SAR block
- P4 is defined by the end point of the next
traversing block
Further blocks can be inserted between the SAR
block and the next traversing block without moving
the geometry axes.

Example:
$TC_DP1[1,1]=120 ;Milling tool T1/D1
$TC_DP6[1,1]=7 ;Tool with 7mm Machining up to this point
with GO, after that G1 F1000
radius Y
N10 G90 G0 X0 Y0 Z30 D1 T1 Z=3 Z=0
Z=30
N20 X10
N30 G41 G147 DISCL=3 DISR=13 Z=0 F1000 0 10 20 30 40 50
X
N40 G1 X40 Y-10 P4 Contour
N50 G1 X50 -10

... DISR=13
...
N30/N40 can be replaced by:
1.
N30 G41 G147 DISCL=3 DISR=13 X40 Y-10
Z0 F1000
or
2.
N30 G41 G147 DISCL=3 DISR=13 F1000
N40 G1 X40 Y-10 Z0

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-321
8 8
Tool Offsets 03.04
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

• Programming during retraction


- For a SAR block without programmed
geometry axis, the contour ends in P2. The
Following block
position in the axes that form the machining (without offset)
plane are obtained from the retraction contour.
The axes component perpendicular to this P0
are defined by DISCL. If DISCL=0, the entire Tool center point path P1
motion is in the plane. Tool

- If only the axis is programmed perpendicular


to the machining plane is programmed in the
P4 SAR block
SAR block, the contour ends at P1. The (G248 G40 ...)

position of the other axes is obtained as Contour (previous block)


described previously. If the SAR block is also Retraction with SAR with TRC simultaneously
deactivated
the deactivation block of the TRC, an
additional path from P1 to P0 is added so that
there is no motion at the end of the contour on
deactivation of the TRC.
- If there is only one machining plane
programmed, the missing 2nd axis is
added modally taken from its last
position in the previous block.

 Siemens AG, 2004. All rights reserved


8-322 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

Approach and retraction velocities


• Speed of the previous block (G0):
All motions from P0 up to P2 are executed at this
speed, i.e. the motion parallel to the machining plane
and the part of the infeed motion up to the safety
clearance.
• Programming with FAD:
Specify the feedrate for
- G341: Infeed motion perpendicular to machining
plane from P2 to P3
- G340: from point P2 or P3 to P4
If FAD is not programmed, this part of the contour is
also traversed at the modally active speed of the
previous block, if no F word is programmed in the
SAR block.

Example:
$TC_DP1[1,1]=120 ;Milling tool T1/D1
$TC_DP6[1,1]=7 ;Tool with 7mm radius
Y

N10 G90 G0 X0 Y0 Z20 D1 T1


0 X
10 20 30 40 50 60
N20 G41 G341 G247 DISCL=AC(5) DISR=13
-10
FAD 500 X40 Y-10 Z=0 F200
Z G0
N30 X50 20
P0 P1
N40 X60 G0
10
... 5
P2 F500
P4
0 P3 F2000 F2000 X

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-323
8 8
Tool Offsets 03.04
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

• Programmed feedrate F: P0 P1 P2 /P3 P4


This feedrate is active from P3 or P2 if FAD is No speed
programmed
not programmed. If no F word is programmed Only F
in the SAR block, the speed of the previous programmed
Only FAD
block is active. programmed
F and FAD
programmed
During retraction, the rolls of the modally active feed- Rapid traverse if GO is active otherwise with
rate from the previous block and the programmed the old or new F word
Speed of the previous block
feedrate value in the SAR block are changed round, (old F word)
i.e. the actual retraction contour is traversed with the Infeed speed programmed with FAD
old feedrate value and a new speed programmed with New modal speed programmed
with F
the F word applies from P2 up to P0.
Speeds in the SAR sub-blocks during
approach with G340
Reading positions
The points P3 and P4 can be read as system variables P0 P1 P2 P3 P4
in the WCS during approach. No speed
programmed
• $P_APR: read P3 (start point) Only F
programmed
• $P_AEP: read P4 (contour start point) Only FAD
• $P_APDV: read whether $P_APR and $P_AEP programmed
F and FAD
contain valid data programmed
Rapid traverse if GO is active otherwise with
the old or new F word
Speed of the previous block
(old F word)
Infeed speed programmed with FAD
New modal speed programmed
with F

Speeds in the SAR sub-blocks during


approach with G341

P4 P3 P2 P1 P0
No speed
programmed
Only F
programmed
Only FAD
programmed
F and FAD
programmed
Rapid traverse if GO is active,
otherwise with the old or new F word
Speed of the previous block
(old F word)
Retraction speed programmed with FAD
New modal speed programmed
with F

Speeds in the SAR sub-blocks during retraction

 Siemens AG, 2004. All rights reserved


8-324 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

Programming example
y tool center point path

• Smooth approach (block N20 activated) tool

• Approach motion with quadrant (G247) 20


P3app semicircle helix

• Approach direction not programmed, G140 is P3ret

operative, i.e. TRC is active (G41) 5

x
• Contour offset OFFN=5 (N10)
20 30 40 50 60 80
P0ret
P0app
• Current tool radius=10; thus the effective offset P4app P4ret
contour
radius for TRC=15, the radius of the SAR
contour=25, so that the radius of the tool center point
path is then DISR=10
• The end point of the circle is obtained from N30,
since only the Z position is programmed in N20
• Infeed motion
- from Z20 to Z7 (DISCL=AC(7)) in rapid traverse
- then to Z0 with FAD=200
- approach circle in X-Y plane and following blocks
with F1500 (for this speed to be active in the
following blocks, the active G0 in N30 must be
overwritten with G1; otherwise, the contour would
be machined further with G0.)
• Smooth retraction (block N60 active)
• Retraction motion with quadrant (G248) and helix
(G340)
• FAD not programmed, since irrelevant for G340
• Z=2 in the start point; Z=8 in the end point, since
DISCL=6
• When DISR=5, the radius of SAR contour=20; that of
the tool center point path=5
• Retraction motions from Z8 to Z20 and the motion
parallel to X-Y plane to X70 Y0.
$TC_DP1[1,1]=120 Tool definition T1/D1
$TC_DP6[1,1]=10 Radius
N10 G0 X0 Y0 Z20 G64 D1 T1 OFFN = 5 (P0app)
N20 G41 G247 G341 Z0 DISCL = AC(7) Approach (P3app)
DISR = 10 F1500 FAD=200
N30 G1 X30 Y-10 (P4app)
N40 X40 Z2
N50 X50 (P4ret)
N60 G248 G340 X70 Y0 Z20 DISCL = 6 Retraction (P3ret)
DISR = 5 G40 F10000
N70 X80 Y0 (P0ret)
N80 M 30

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-325
8 8
Tool Offsets 03.04
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

8.11.1 Approach and retraction, G460 and extensions (SW 5 and higher) G461, G462

Programming
G460
G461
G462

Explanation

G460 As before (activation of collision monitoring for approach and retraction


block)
G461 Insertion of a circle in the TRC block, if no intersection point is possible,
whose center point is at the end point of the uncorrected block and whose
radius is equal to the tool radius
G462 Insertion of a straight line in the TRC block if no intersection point is
possible; the block is extended by its end tangent (default setting)

Function
In certain special geometrical situations, extended
approach and retraction strategies, compared with the
previous implementation, are required in order to
activate or deactivate tool radius compensation (see
figure below).

The following example describes only the situation for


deactivation of tool radius compensation. The behavior
for approach is the same.

Example:
G42 D1 T1 ; tool radius 20mm N30 Y
Tool radius
... X

G1 X110 Y0 Center point path with


tool radius compensation

N10 X0
10 Programmed
N20 Y10 N10 contour
N20
N30 G40 X50 Y50 10 20 50 100

Retraction behavior with G460


(identical to behavior with SW 4.x and lower)

The last block with active tool radius compensation


(N20) is so short that an intersection no longer exists
between the offset curve and the preceding block (or a
previous block) for the current tool radius. An
intersection between the offset curves of the following
and preceding blocks is therefore sought, i.e. between
N10 and N30 in this example.

 Siemens AG, 2004. All rights reserved


8-326 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

The curve used for the retraction block is not a real offset
curve, but a straight line from the offset point at the end
of block N20 to the programmed end point of N30. The
intersection is approached if one is found. In this case,
the shaded area in the figure is not machined, although
this would be possible with the tool used.

G461
If no intersection is possible between the last TRC Auxiliary curve
N30 Y
block and a preceding block, the offset curve of this
XX
block is extended with a circle whose center point lies Center point path with
tool radius compensation
at the end point of the uncorrected block and whose
radius is equal to the tool radius. 10
Programmed
N20 N10 contour
The control attempts to cut this circle with one of the
0 10 20 50 100
preceding blocks.
Retraction behavior with G461
(see example at the end of this section)
If CDOF is active (see section Collision monitoring,
CDON, CDOF), the search is aborted when an
intersection is found, i.e. the system does not check
whether further intersections with previous blocks exist.
If CDON is active, the search continues for further
intersections after the first intersection is found.
An intersection point which is found in this way is the
new end point of a preceding block and the start point
of the deactivation block. The inserted circle is used
exclusively to calculate the intersection and does not
produce a traversing movement.

If no intersection is found, alarm 10751 (collision danger)


is output.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-327
8 8
Tool Offsets 03.04
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

G462
If no intersection is possible between the last TRC Auxiliary curve
N30 Y
block and a preceding block, a straight line is inserted,
X
on retraction with G462 (initial setting), at the end point Center point path
(compensated path)
of the last block with tool radius compensation (the
block is extended by its end tangent). 10 Programmed
contour
The search for the intersection is then identical to the
N20 N10

0 10 20 50 100
procedure for G461.
Retraction behavior with G462
(see example at the end of this section)
With G462, the corner generated by N10 and N20 in
the example program is not machined to the full extent
actually possible with the tool used. However, this
behavior may be necessary if the part contour (as
distinct from the programmed contour), to the left of
N20 in the example, is not permitted to be violated
even with y values greater than 10 mm.
If KONT is active (travel round contour at start or end
point), the behavior differs according to whether the
end point is in front of or behind the contour.

End point in front of contour


If the end point is in front of the contour, the retraction
behavior is the same as for NORM. This characteristic
does not change even if the last contour block with G451
is extended by a straight line or circle. Additional
circumnavigation strategies to avoid a contour violation
in the vicinity of the contour end point are therefore not
required.

End point behind contour


If the end point is behind the contour, a circle or straight
line is always inserted depending on G450 / G451. In this
case, G460-462 has no effect.
If, in this situation, the last traversing block has no
intersection with a preceding block, an intersection with
the inserted contour element or with the linear section
from the end point of the circumnavigation circle to the
programmed end point can result.
If the inserted contour element is a circle (G450), and it
intersects with the preceding block, this is the same as
the intersection which would be produced with NORM
and G461. In general, however, a remaining section of
the circle still has to be traversed. An intersection cal-
culation is no longer required for the linear section of the
retraction block.

 Siemens AG, 2004. All rights reserved


8-328 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.11 Smooth approach and retraction G140-G143, G147/G247/G347,

In the second case (if no intersection is found between


the inserted contour element and the preceding blocks),
the intersection between the retraction straight line and a
preceding block is approached.
Therefore, when G461 or G462 is active, a behavior
different to G460 can only arise if NORM is active or if
the behavior with KONT is identical to NORM due to the
geometrical conditions.

Additional notes
The approach behavior is symmetrical to the retraction
behavior.
The approach/retraction behavior is determined by the
state of the G command in the approach/retraction block.
The approach behavior can therefore be set indepen-
dently of the retraction behavior.

Programming example
G461 for approach
N10 $TC_DP1[1,1]=120 ; Tool type mill
N20 $TC_DP6[1,1]=10 ; Radius
N30 X0 Y0 F10000 T1 D1
N40 Y20
N50 G42 X50 Y5 G461
N60 Y0 F600
N70 X30
N80 X20 Y-5
N90 X0 Y0 G40
N100 M30

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-329
8 8
Tool Offsets 03.04
8.12 Collision monitoring, CDON, CDOF and CDOF2

8.12 Collision monitoring, CDON, CDOF and CDOF2

Programming
CDON
CDOF
CDOF2
Explanation of the commands

CDON Activate bottleneck detection


CDOF Deactivate bottleneck detection
CDOF2 (SW 6.4 and Determine tool offset direction from adjacent block parts.
higher) CDOF2 is active only for 3D circumferential milling.

Function
When CDON (Collision Detection ON) and tool radius
compensation are active, the control monitors the tool
paths with Look Ahead contour calculation. This Look
Ahead function allows possible collisions to be
detected in advance and permits the control to actively
avoid them.

When collision detection is off (CDOF), a search is


made at inside corners in the previous traversing block
(and if necessary in blocks further back) for a common
intersection point for the current block. If no inter-
section is found with this method, an error is generated.

CDOF helps prevent the incorrect detection of


bottlenecks, e.g. due to missing information which is
not available in the NC program.

Machine manufacturer (MH 8.16)


The number of NC blocks monitored can be defined in
the machine data (see machine manufacturer).

Sequence
The following are some examples of critical machining
situations which can be detected by the control and
compensated for by modifying the tool paths.

 Siemens AG, 2004. All rights reserved


8-330 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.12 Collision monitoring, CDON, CDOF and CDOF2

In order to prevent program stops, you should always


select the tool with the widest radius from all of the
Tool path
tools used when testing the program.

In each of the following examples a tool with too wide


a radius was selected for machining the contour.

Bottleneck detection

Since the tool radius selected is too wide to machine


this inside contour, the "bottleneck" is bypassed. Programmed contour

An alarm is output.

Contour path shorter than tool radius

Tool path
The tool travels round the workpiece corner on a
transition circle and then continues to follow the
programmed contour exactly.

Programmed contour

Tool radius too wide for inside machining

Tool path
In such cases, the contours are machined only to the
extent possible without damaging the contour.

Programmed
contour

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-331
8 8
Tool Offsets 03.04
8.12 Collision monitoring, CDON, CDOF and CDOF2

Function
When CDOF2 is active, no
• offset value and no
• offset direction
is calculated for blocks or block parts in which the
differential angle between path direction and tool
orientation is less than a defined limit angle. The offset
direction is determined from two appropriate, adjacent
blocks. If the
• first block after a tool radius compensation
block and
• last block before a tool radius compensation
block
cannot be compensated, an alarm is generated.

CDOF2 is active only for 3D circumferential milling.

Example:
The NC program defines the center-point path of a
Compensation movement with missing intersection
standard tool. The contour for a tool currently in use
results in an undersize which is shown on an
unrealistically large scale solely to illustrate the
geometric conditions. The following description is
based on the simple assumption that the control can Parts
contour
only "see" three blocks. N10 P1
Corrected
Since an intersection exists only between the offset Offset value setpoint path
undersize
standard

in start point (offset curve)


Compens.
curves of the two blocks N10 and N40, the two blocks of N20
movement
size

N20 and N30 would have to be omitted. In this in- P2


Programmed
stance, the control is still not aware of block N40 if N10 N20 N30 N40 original path
(standard tool)
must be processed subsequently. Only a single block Offset value in end point of N10

can therefore be omitted.

When CDOF2 is active, the compensatory motion


shown in the diagram is executed and not halted. In
this situation, an active CDOF or CDON would gene-
rate an alarm.

 Siemens AG, 2004. All rights reserved


8-332 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.13 2 1/2 D tool offset, CUT2D, CUT2DF

8.13 2 1/2 D tool offset, CUT2D, CUT2DF

Programming
CUT2D
CUT2DF

Explanation

CUT2D Activate 2 1/2 D radius compensation (default)


CUT2DF Activate 2 1/2 D radius compensation, tool radius compensation relative to
the current frame or to inclined planes

Function
With CUT2D or CUT2DF you define how the tool radius
compensation is to act or to be interpreted when
machining in inclined planes.

Sequence
Tool length compensation
Tool length compensation is generally calculated
according to the non-rotated working plane fixed in
space.

Tool radius compensation, CUT2D


As for many applications, tool length compensation
and tool radius compensation are calculated in the
fixed working plane specified with G17 to G19.
Z Z

Example for G17 (X/Y plane):


Tool radius compensation is active in the non-rotated
X/Y plane, tool length compensation in the Z direction.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-333
8 8
Tool Offsets 03.04
8.13 2 1/2 D tool offset, CUT2D, CUT2DF

For machining on inclined surfaces, the tool


compensation values have to be defined accordingly,
or be calculated using the functions for "Tool length
compensation for orientable tools". For more
information on this calculation method, see Section
"Tool orientation and tool length compensation".

CUT2D is used when the orientation of the tool cannot


be changed and the workpiece is rotated for machining
on inclined surfaces.
CUT2D is generally the standard setting and does not
therefore have to be specified explicitly.

Tool radius compensation, CUT2DF


In this case, it is possible to arrange the tool orientation
perpendicular to the inclined working plane on the
machine. Z Z

If a frame containing a rotation is programmed, the


compensation plane is also rotated with CUT2DF. The
tool radius compensation is calculated in the rotated
machining plane.
X

The tool length compensation continues to be active


relative to the non-rotated working plane.
X

 Siemens AG, 2004. All rights reserved


8-334 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.14 Tool length compens. for orient. tools TCARR, TCOABS, TCOFR

8.14 Tool length compens. for orient. tools TCARR, TCOABS, TCOFR

Programming
TCARR=[m]
TCOABS
TCOFR
TCOFRZ, TCOFRY, TCOFRX

Explanation

TCARR=[m] Request toolholder with the number "m".


TCOABS Determine tool length components from the orientation of the current
toolholder.
TCOFR Determine tool length components from the orientation of the active frame.
TCOFRZ Orientable toolholder from active frame with a tool pointing in the Z direction.
TCOFRY Orientable toolholder from active frame with a tool pointing in the Y direction.
TCOFRX Orientable toolholder from active frame with a tool pointing in the X direction.

Function Z

When the spatial orientation of the tool changes, its


tool length components also change.
l
After a reset, e.g. through manual setting or change of
a
the toolholder with a fixed spatial orientation, the tool b l
length components also have to be determined again.
This is performed using the TCOABS and TCOFR l

path commands.
With SW 6.1 and higher, it is possible for an orient- V
U
able toolholder of an active frame to determine the Y
Z
direction of the tool when a tool is selected with X
X
TCOFRZ, TCOFRY and TCOFRX. X«

Sequence
Request tool holder TCARR
With TCARR the toolholder number m is requested with
its geometry data (offset memory).
With m=0, the active toolholder is deselected.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-335
8 8
Tool Offsets 03.04
8.14 Tool length compens. for orient. tools TCARR, TCOABS, TCOFR

Additional notes
The geometry data of the toolholder only become active
after a tool is called. The selected tool remains active
after a toolholder change has taken place.

The current geometry data for the toolholder can also be


defined in the parts program via the corresponding
system variables.

For a definition of toolholder kinematics with system


variables, see
References: /PGA/, "Programming Guide Advanced"
Section "Toolholder kinematics"

Determine tool length compensation from the


orientation of the toolholder, TCOABS
TCOABS calculates the tool length compensation from
the current orientation angles of the toolholder; stored in
system variables $TC_CARR13 and $TC_CARR14.

In order to make a new calculation of the tool length


compensation when frames are changed, the tool has to
be selected again.

Additional notes
The tool orientation must be manually adapted to the
active frame.

When the tool length compensation is calculated, the


angle of rotation of the toolholder is calculated in an
intermediate step. With toolholders with two rotary axes,
there are generally two sets of rotation angles which can
be used to adapt the tool orientation to the active frame;
therefore, the rotation angle values stored in the system
variables must at least correspond approximately to the
mechanically set rotation angles.

 Siemens AG, 2004. All rights reserved


8-336 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.14 Tool length compens. for orient. tools TCARR, TCOABS, TCOFR

Additional notes
It is not possible for the control to check whether the
rotation angles calculated by means of the frame
orientation are settable on the machine.

If the rotary axes of the toolholder are arranged such that


the tool orientation calculated by means of the frame
orientation cannot be reached, then an alarm is output.
If there is a switchover between TCOFR and TCABS,
the tool length compensation is calculated again.

The combination of tool precision compensation and the


functions for tool length compensation on movable
toolholders is not permissible. If both functions are called
simultaneously, an error message is issued.

The TOFRAME function allows a frame to be defined on


the basis of the direction of orientation of the selected
toolholder. For more detailed information please refer to
the Programming Guide Fundamentals in Section
"Frames".

When orientation transformation is active (3, 4 or 5-axis


transformation), it is possible to select a toolholder with
an orientation deviating from the zero position without
causing output of an alarm.

Tool direction from active frame


In SW 6.1 and higher, it is possible to set the orientating
toolholder such that command
• TCOFR or TCOFRZ points tool in Z direction
• TCOFRY points tool in Y direction
• TCOFRX points tool in X direction

With machining operations on an inclined surface, tool


offsets are applied as if the tool were positioned
perpendicular to the surface.

The tool orientation value applied in the tool length


calculation is always refreshed from the frame active at
the same time a tool change takes place when G codes
TCOFR, etc. are active.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-337
8 8
Tool Offsets 03.04
8.15 Grinding-specific tool monitoring in part program TMON, TMOF

8.15 Grinding-specific tool monitoring in part program TMON, TMOF

Assignment of tool-specific parameters

Further tool-specific parameters can be set Parameter Meaning Data type

up in the machine data and assigned by the


user.
Tool-specific parameters
$TC_TPG1 Spindle number Integer
$TC_TPG2 Chaining rule Integer
The parameters are automatically
kept identical for the left and right
side of the wheel.
$TC_TPG3 Minimum wheel radius Real
$TC_TPG4 Minimum wheel width Real
$TC_TPG5 Current wheel width Real
$TC_TPG6 Maximum speed Real
$TC_TPG7 Maximum peripheral speed Real
$TC_TPG8 Angle of inclined wheel Real
$TC_TPG9 Parameter number for radius Integer
calculation

Programming
TMON (T No.)
TMOF (T No.)

Explanation of the commands

TMON (T-Nr.) Select tool monitoring It is only necessary to specify the T


TMOF (T No.) Deselect tool monitoring number if the tool with this T
T No. = 0: Deactivate monitoring for number is not active.
all tools

 Siemens AG, 2004. All rights reserved


8-338 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.15 Grinding-specific tool monitoring in part program TMON, TMOF

Function
The command TMON is used to activate geometry and
speed monitoring for grinding tools (types 400-499) in
the NC parts program. Monitoring remains active until it
is deactivated in the parts program with TMOF.

Additional notes
You can only activate tool monitoring if the tool-specific
grinding data $TC_TPG1 to $TC_TPG9 (see Program-
ming Guide Advanced) are set.
According to the machine data settings, tool monitoring
for the grinding tools (types 400-499) can be automa-
tically activated when the tool selection is activated.
Only one monitoring routine can be active at any one
time for each spindle.

Geometry monitoring
The current wheel radius and the current width are
monitored.
The set speed is monitored against the speed limitation
cyclically with allowance for the spindle override.
The speed limit is the smaller value resulting from a
comparison of the maximum speed with the speed
calculated from the maximum wheel peripheral speed
and the current wheel radius.

Working without a T or D number


In the machine data, a default T and D number
can be set; they no longer have to be programmed and
become active after power ON / Reset.
Example:
All machining is performed with the same grinding
wheel.
Machine data can be set to keep the current tool active
after Reset;
see /PGA/ Programming Guide "Advanced".

Machine manufacturer (MH 8.11)


See machine manufacturer's specifications.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-339
8 8
Tool Offsets 03.04
8.16 Additive offsets (SW 5 and higher)

8.16 Additive offsets (SW 5 and higher)

Additive offsets are essentially process offsets which


can be programmed during machining. They refer to the
geometrical data of a tool edge and are thus
components of the tool edge data.
The data of an additive offset are addressed via a DL
number (DL: location-dependent; offsets relative to
relevant location) and enter tool offset via parameter
display in the Parameter area.

8.16.1 Select offsets (via DL numbers)

Programming
DL=x additive offset selection, x = 1 to 6

Explanation
• Up to 6 additive offsets can be activated per
D number
(saved under the respective DL numbers).
• You can distinguish between setup and wear values.
• DL=1 is activated when a D number is called.

Function
Location 2 Location 1
Setup value: X

The setup value is defined optionally by the machine


manufacturer in MD. D7 DL2 D7

Same tool edge:


The same tool edge is used for 2 bearing seats (see 10
example). Compensation can be made for a
location-dependent measurement error occurring as a
result of machining forces, etc.
Fine offset: Z
-20 -15 -5
Location-dependent allowances can be made for
over/under-dimensioning.

 Siemens AG, 2004. All rights reserved


8-340 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.16 Additive offsets (SW 5 and higher)

Machine manufacturer (MH 8.13)


Machine data are used to activate and define the
number of additive offsets.

See machine manufacturer's specifications.

Programming example

N110 T7 D7 The tool turret is positioned at location 7.


D7 and DL=1 are activated and traversed in the
next block.
N120 G0 X10 Z1 N120
N130 G1 Z-6
N140 G0 DL=2 Z-14 DL=2 is activated in addition to D7 and traversed in
the next block.
N150 G1 Z-21
N160 G0 X200 Z200 Approach tool change position.
...

8.16.2 Define wear and setup values

Wear and setup values can be read and written via


system variables and the corresponding OPI services.
The logic is based on the logic of the corresponding
system variables for tools and tool edges.

Programming
$TC_SCPxy[t,d] Wear values:
$TC_ECPxy[t,d] Setup values

Explanation of the parameters

$TC_SCPxy Wear values are assigned to the corresponding geometry parameters via xy, where x
is the number of the wear value and y is the reference to the geometry parameter.
$TC_ECPxy Setup values are assigned to the corresponding geometry parameters via xy, where x
is the number of the setup value and y is the reference to the geometry parameter.
t T number of the tool
d D number of the tool edge

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-341
8 8
Tool Offsets 03.04
8.16 Additive offsets (SW 5 and higher)

Function
System variables $TC_DP3 - $TC_DP11 describe the
tool geometry. In addition to the parameters for the
physical wear ($TC_DP12 - $TC_DP20), up to six wear
values ($TC_SCP1y - $TC_SCP6y) and up to six setup
values ($TC_ECP1y - $TC_ECP6y) can be assigned to
each geometry parameter.
Example:
Parameters: $TC_DP3 (Length 1,
for turning tools)
Wear values: $TC_SCP13 - $TC_SCP63
Setup values: $TC_ECP13 - $TC_ECP63
$TC_SCP43 [t, d] = 1.0
The wear value of length 1 is set to the value 1.0 for the
tool edge (D number d) of the tool (t).

Note
The defined wear and setup values are added to the
geometry parameters and the other offset parameters
(D numbers).

 Siemens AG, 2004. All rights reserved


8-342 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.16 Additive offsets (SW 5 and higher)

8.16.3 Delete additive offsets (DELD)

Programming
status = DELDL[t,d]

Explanation of the parameters

DELDL [t,d] All additive offsets of the tool edge with D number d of tool t are deleted.
DELDL[t] All additive offsets of all tool edges of tool t are deleted.
DELDL All additive offsets of the tool edges of all tools of the TO- unit are deleted (for the
channel in which the command is programmed).
status 0: Offsets have been successfully deleted.
–1: Offsets have not been deleted (if the parameter settings specify exactly one
tool edge), or not deleted completely (if the parameter settings identify several
tool edges).

Function
DELDL is used to delete the additive offsets for the tool
edge of a tool (in order to release memory). Both the
defined wear values and the setup values are deleted.

Additional notes
The wear and setup values of active tools cannot be
deleted (similar to deletion of D offsets or tool data).

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-343
8 8
Tool Offsets 03.04
8.17 Tool offset – special treatment (SW 5 and higher)

8.17 Tool offset – special treatment (SW 5 and higher)

Function
Setting data SD 42900 - SD 42940 can be used to
control the evaluation of the sign for tool length and
wear.
The same applies to the behavior of the wear
components when mirroring geometry axes or changing
the machining plane.

Where reference is made below to wear values, this


means in each case the sum of the actual wear values
($TC_DP12 to $TC_DP20) and the total offsets with the
wear ($SCPX3 to $SCPX11) and setup values ($ECPX3
to $ECPX11).
You will find more information on resulting offsets in
/FBW/, Description of Functions, Tool Management.

See also:
• /PGA/, Programming Guide Advanced, Chapter 8
• Description of Functions, Basic Machine (Part 1), Tool Compensation (W1)

Required setting data

SD42900 MIRROR_TOOL_LENGTH Mirroring of tool length components and components of the


tool base dimension
SD42910 MIRROR_TOOL_WEAR Mirroring of wear values of the tool length components
SD42920 WEAR_SIGN_CUTPOS Sign evaluation of the wear components depending on the
tool point direction
SD42930 WEAR_SIGN Inverts the sign of the wear dimensions
SD42935 WEAR_TRANSFORM Transformation of wear values
SD42940 TOOL_LENGTH_CONST Assignment of tool length components to geometry axes
SD42950 TOOL_LENGTH_TYPE Assignment of tool length components irrespective of tool
type
SD42960 TOOL_TEMP_COMP Temperature compensation value in tool direction. Also
operative when tool orientation is programmed.

 Siemens AG, 2004. All rights reserved


8-344 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.17 Tool offset – special treatment (SW 5 and higher)

8.17.1 Mirror tool lengths

SD 42900 MIRROR_TOOL_LENGTH
Setting data not equal to zero: X X
D13
The tool length components ($TC_DP3, $TC_DP4
and $TC_DP5) and the components of the tool base
dimensions ($TC_DP21, $TC_DP22 and $TC_DP23),
whose associated axes are mirrored, are also
mirrored – through sign inversion. Z Z
The wear values are not mirrored. If these are also to
M W W1 M1
be mirrored, setting data
$SC_MIRROR_TOOL_WEAR must be enabled.
WCS 1 WCS 2
D13 with SL3 D13 with SL4

SD 42910 MIRROR_TOOL_WEAR
Setting data not equal to zero:
The wear values of the tool length components, whose
associated axes are mirrored, are also mirrored by sign
inversion.

8.17.2 Sign evaluation wear

SD 42920 WEAR_SIGN_CUTPOS
Setting data not equal to zero:
In the case of tools with a relevant tool point direction
(turning and grinding tools – tool types 400–599), the
sign evaluation of the wear components depends on
the tool point direction in the machining plane. This
setting data has no effect on tool types which do not
have a relevant tool point direction.
In the following table, the dimensions whose sign is
inverted by SD 42920 (not equal to 0) are marked with
an X:

Tool point direction Length 1 Length 2


1
2 X
3 X X
4 X
5
6
7 X
8 X
9

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-345
8 8
Tool Offsets 03.04
8.17 Tool offset – special treatment (SW 5 and higher)

Additional notes
The sign settings of SD 42920 and 42910 are
independent. For example, if the sign of a dimensional
parameter is changed by both setting data, the resulting
sign is unchanged.

SD 42930 WEAR_SIGN
Setting data not equal to zero:
Inverts the sign of all wear dimensions. It acts both on
the tool length and on other quantities such as tool
radius, rounding radius, etc.
If a positive wear dimension is entered, the tool
becomes "shorter" and "thinner".
Example: See following section "Activation of modified
setting data".

8.17.3 Define coordinate system for wear values, TOWSTD, TOWMCS/WCS

Programming
TOWSTD Initial setting value for offsets in tool length
Wear value
TOWMCS in MCS
TOWWCS in WCS
TOWBCS in BCS
TOWTCS at toolholder reference point (orientating toolholder)
TOWKCS of tool head (kinematic transformation)

Coordinate systems of active machining


operation
The following coordinate systems can produce tool
length offsets that can be used to incorporate the tool
length component "wear" into an active tool via the
corresponding G code of Group 56.

1. Machine coordinate system (MCS)


2. Basic coordinate systgem (BCS)
3. Workpiece coordinate system (WCS)
4. Tool coordinate system of
kinematic transformation (KCS)
5. Tool coordinate system (TCS)

 Siemens AG, 2004. All rights reserved


8-346 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.17 Tool offset – special treatment (SW 5 and higher)

The most important distinguishing features are shown in


the following table.

G code Wear value Active orientable toolholder


TOWSTD Initial value, tool length Wear values are subject to rotation
TOWMCS Wear value in MCS. TOWMCS is Only the vector of the resultant tool length
identifcal to TOWSTD if no orientable rotates. Wear is ignored.
toolholder is active.
TOWWCS The wear value is converted to the MCS The tool vector is calculated as with
in the WCS. TOWMCS, i.e. the wear value is ignored.
TOWBCS The wear value is converted to the MCS The tool vector is calculated as with
in the BCS. TOWMCS, i.e. the wear value is ignored.
TOWTCS The wear value is converted to the MCS The tool vector is calculated as with
in the tool coordinate system. TOWMCS, i.e. the wear value is ignored.

TOWWCS, TOWBCS, TOWTCS


The wear vector is added to the tool vector.

Function
Assignment of coordinate system
Depending on the kinematics of the machine or the
availability of an orientable toolholder, the wear values
measured in one of these coordinate systems are
converted or transformed to a suitable coordinate
system.

If neither a kinematic transformation nor an orientable


toolholder is active, then all the other four coordinate
systems (except for the WCS) are combined. It is then
only the WCS which is different to the other systems.
Since only tool lengths need to be evaluated,
translations between the coordinate systems are
irrelevant.

Linear transformation
The tool length can be defined meaningfully in the MCS
only if the MCS is generated by linear transformation
from the BCS.
Non-linear transformation
If, for example, a non-linear transformation is active with
TRANSMIT, the BCS is automatically applied when the
MCS is specified as the chosen coordinate system.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-347
8 8
Tool Offsets 03.04
8.17 Tool offset – special treatment (SW 5 and higher)

Sequence
Inclusion of wear values in calculation

The setting data SD 42935 WEAR_TRANSFORM


defines which of the following three wear components
1. Wear
2. Total offsets fine
3. Total offsets coarse
are to be made subject to a rotation by way of an adapter
transformation or orientable toolholder if one of the
following G codes is active.

• TOWSTD Initial setting value for offsets in tool


length
• TOWMCS Wear values in machine coordinate
system (MCS)
• TOWWCS 'Wear values
in workpiece coordinate system (WCS)
• TOWBCS Wear values (BCS)
in basic coordinate system
• TOWTCS Wear values in tool coodinate system
system at the toolholder (T toolholder reference)
• TOWKCS Wear values in coordinate system of tool
head with kinematic transformation

Additional notes
Evaluation of individual wear components (assignment
to geometry axes, sign evaluation) is influenced by the
• active plane
• adapter transformation and
• following setting data:
SD 42910: MIRROW_TOOL_WEAR
SD 42920: WEAR_SIGN_CUTPOS
SD 42930: WEAR_SIGN
SD 42940: TOOL_LENGTH_CONST
SD 42950: TOOL_LENGTH_TYPE

References
For further information about tool offsets, please see:
/FB/, Description of Functions, Basic Machine (Part 1), Tool Compensation (W1)

 Siemens AG, 2004. All rights reserved


8-348 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.17 Tool offset – special treatment (SW 5 and higher)

8.17.4 Tool length and plane change

SD 42940 TOOL_LENGTH_CONST
Setting data not equal to zero:
The assignment between the tool length components
(length, wear and tool base dimension) and the
geometry axes is not modified when the machining plane
is changed (G17-19).

The following table shows the assignment between the


tool length components and the geometry axes for
turning and grinding tools (tool types 400 to 599):

Contents Length 1 Length 2 Length 3


17 Y X Z
18*) X Z Y
19 Z Y X
-17 X Y Z
-18 Z X Y
-19 Y Z X

*) Each value not equal to 0 which is not equal to one of the six
listed values is evaluated as value 18.

The following table shows the assignment between the


tool length components and the geometry axes for all
other tools (tool types < 400 or > 599):

Machining Length 1 Length 2 Length 3


plane
17*) Z Y X
18 Y X Z
19 X Z Y
-17 Z X Y
-18 Y Z X
-19 X Y Z

*) Each value not equal to 0 which is not equal to one of the six
listed values is evaluated as value 17.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-349
8 8
Tool Offsets 03.04
8.17 Tool offset – special treatment (SW 5 and higher)

Additional notes
For representation in tables, it is assumed that
geometry axes 1 to 3 are named X, Y, Z. The axis
order and not the axis identifier determines the
assignment between an offset and an axis.

Activation of modified setting data


Function
When the setting data described above are modified, the
tool components are not reevaluated until the next time a
tool edge is selected. If a tool is already active and the
data of this tool are to be reevaluated, the tool must be
selected again.

The same applies in the event that the resulting tool


length is modified due to a change in the mirroring status
of an axis. The tool must be selected again after the
mirror command, in order to activate the modified tool
length components.

 Siemens AG, 2004. All rights reserved


8-350 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.17 Tool offset – special treatment (SW 5 and higher)

Orientable toolholders and new setting data


Function
Setting data SD 42900-42940 have no effect on the
components of an active orientable toolholder. However,
the calculation with an orientable toolholder always
allows for a tool with its total resulting length (tool length
+ wear + tool base dimension). All modifications initiated
by the setting data are included in the calculation of the
resulting total length; i.e. vectors of the orientable
toolholder are independent of the machining plane.

Additional notes
When orientable toolholders are used, it is frequently
practical to define all tools for a non-mirrored basic
system, even those which are only used for mirrored
machining. When machining with mirrored axes, the
toolholder is then rotated such that the actual position of
the tool is described correctly. All tool length
components then automatically act in the correct
direction, dispensing with the need for control of
individual component evaluation via setting data,
depending on the mirroring status of individual axes.

The use of orientable toolholder functionality can also be


useful if there is no physical option of turning tools on the
machine, even though tools with different orientations
are permanently installed. Tool dimensioning can then
be performed uniformly in a basic orientation, where the
dimensions relevant for machining are calculated
according to the rotations of a virtual toolholder.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-351
8 8
Tool Offsets 03.04
8.18 Tools with a relevant tool point direction (SW 5 and higher)

8.18 Tools with a relevant tool point direction (SW 5 and higher)

Function
Up to SW 4.x
In the case of tools with a relevant tool point direction
(turning and grinding tools – tool types 400–599; see
subsection above "Sign evaluation wear"), a change
from G40 to G41/G42 or vice-versa is treated as a tool
change. If a transformation is active (e.g. TRANSMIT),
this leads to a preprocessor stop (decoding stop) and
hence possibly to deviations from the intended part
contour.

In software version 5 and higher


The following changes have been made:

1. A change from G40 to G41/G42 and vice-versa is no


longer treated as a tool change. A preprocessor stop
therefore no longer occurs with Transmit.

2. The straight line between the tool edge center


points at the block start and block end is used to
calculate intersection points with the approach and
retraction block. The difference between the tool
edge reference point and the tool edge center point
is superimposed on this movement.
On approach and retraction with KONT (tool
circumnavigates the contour point, see subsection
above "Contour approach and retraction"),
superimposition takes place in the linear part block
of the approach or retraction motion. The geometric
conditions are therefore identical for tools with and
without a relevant tool point direction. Differences
from the previous behavior occur only in relatively
rare situations where the approach or retraction
block does not intersect with an adjacent motion
block, see diagram below.

 Siemens AG, 2004. All rights reserved


8-352 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
8 8
03.04 Tool Offsets
8.18 Tools with a relevant tool point direction (SW 5 and higher)

Last position of tool edge center point


at the contour (SW 5 and higher)

Tool edge center point


Programmed retraction block

Tool end position

Block without Tool edge reference point


point of intersection Center point path
with previous block

Last position of tool edge center point


at the contour (up to SW 4.x)

Tool edge reference point

3. In circle blocks and in motion blocks containing


rational polynomials with a denominator degree > 4, it
is not permitted to change a tool with active tool
radius compensation in cases where the distance
between the tool edge center point and the tool edge
reference point changes. With other types of
interpolation, it is now possible to change when a
transformation is active (e.g. Transmit).

4. For tool radius compensation with variable tool


orientation, the transformation from the tool edge
reference point to the tool edge center point can no
longer be performed by means of a simple zero
offset. Tools with a relevant tool point direction are
therefore not permitted for 3D peripheral milling (an
alarm is output).

Additional notes
The subject is irrelevant with respect to face milling as
only defined tool types without relevant tool point
direction are permitted for this operation anyway.
(Tools of a type that is not expressly permitted are
treated like a ball end mill with the specified radius. A
tool point direction parameter is ignored).

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 8-353
8 8
Tool Offsets 03.04
8.18 Tools with a relevant tool point direction (SW 5 and higher)

Notes

 Siemens AG, 2004. All rights reserved


8-354 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
9 9
03.04 Miscellaneous Functions

Miscellaneous Functions

9.1 Auxiliary function outputs ........................................................................................ 9-356


9.1.1 M functions.............................................................................................................. 9-361
9.1.2 H functions .............................................................................................................. 9-364

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 9-355
9 9
Miscellaneous Functions 03.04
9.1 Auxiliary function outputs

9.1 Auxiliary function outputs

Function
The auxiliary function output sends information to the
PLC indicating when the NC program needs the PLC to
perform specific switching operations on the machine
tool. The auxiliary functions are output, together with
their parameters, to the PLC interface. The values and
signals must be processed by the PLC user program.

Function outputs
The following functions can be downloaded to the
programmable controller:
• Select tool T
• Tool offset D, DL (SW 5.2 and higher)
• Feed F / FA
• Spindle speed S
• H functions
• M functions

For the above-mentioned functions it is possible to


define whether they are to be transferred during the
machining sequence, and which reactions are to be
activated.

For each function group or individual function, machine


data define whether the output is initiated
• before the traversing movement,
• with the traversing movement or
• after the traversing movement.

The PLC can be programmed to acknowledge auxiliary


function outputs in various ways.

 Siemens AG, 2004. All rights reserved


9-356 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
9 9
03.04 Miscellaneous Functions
9.1 Auxiliary function outputs

Programming

Letter[address extension]=Value

Explanation

The letters which can be used for auxiliary functions DL in SW 5.2 and higher
are:
M, S, H, T, D, DL, F.
In the following table you will find information about
the meaning and value ranges for the address
extension and the value in auxiliary function outputs.
The maximum number of auxiliary functions of the
same type per block is also specified.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 9-357
9 9
Miscellaneous Functions 03.04
9.1 Auxiliary function outputs

Overview of auxiliary functions, programming

Function Address extension Value Explanation Number


(integer) per
block
Meaning Range Range Type Meaning
M - implicit 0-99 INT Function The address extension is 0 for the 5
0 value range between 00 and 99. M0,
M1, M2, M17, M30 must be used
without an address extension.
Spindle no. 1- 12 1-99 Function M3, M4, M5, M19, M70 with address
extension spindle no. e.g. M5 for
spindle 2: M2=5. Master spindle is
used if no spindle is specified.
Any 0 - 99 100- (max. INT Function User M function
value)
S Spindle no. 1- 12 0-±3.4028 ex REAL Spindle speed Without spindle no. for master 3
38 spindle
H Any 0-99 ±(Max. INT INT Any Functions have no effect in the 3
value) (SW 5) NCK; only to be implemented on
REAL the PLC
±3.4028 ex 38

T Spindle no. 1-12 0-32000 INT Tool selection Tool names are not passed to the 1
(with active (or tool names PLC interface.
tool manage- with active tool
ment) management)
D 0-9 INT Tool offset D0 deselection, 1
selection D1 default
DL Location- 1-6 ±3.4028 ex 38 REAL See tool fine Refers to previously selected 1
dependent offset selection D number
offset /FBW/
F Path feedrate 0 0,001- REAL Path feedrates 6
999 999,999
(FA) Axis No. 1-31 0,001- Axis feedrates
999 999,999

Number of functions outputs per NC block The highest number for a type specified in
Up to 10 function outputs can be programmed in one the table must not be exceeded.
NC block.
Auxiliary functions can also be output from the action
component of synchronized actions. See /FBSY/.

Grouping
The above-mentioned functions can be grouped
together. Group assignment is predefined for some
M commands. The acknowledgment behavior can be
defined by the grouping.

 Siemens AG, 2004. All rights reserved


9-358 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
9 9
03.04 Miscellaneous Functions
9.1 Auxiliary function outputs

Acknowledgments
High-speed function outputs, QU
Functions which have not been programmed as
high-speed outputs can be defined as high-speed
outputs for individual outputs with the keyword QU.
Program execution continues without waiting for the
acknowledgment of the miscellaneous function (the
program waits for the transport acknowledgment).

This helps avoid unnecessary stoppages and


interruptions to traversing movements.
Machine manufacturer (MH9.1)
The appropriate MD must be set for "high-speed function
outputs".
(see /FB/, H2, FB Auxiliary Function Output).

Programming
M=QU(…)
H=QU(…)

Examples:
;High-speed output for H735
N10 H=QU(735)

N10 G1 F300 X10 Y20 G64


N20 X8 Y90 M=QU(7)
M7 was programmed as a high-speed output, so
continuous-path mode (G64) is not interrupted.

You should only use this function in individual cases,


because it can affect the time synchronization as a result
of interaction with other function outputs.

Function outputs for travel commands


Time is needed to transfer information and wait for a
corresponding response, and this has an impact on the
travel movements.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 9-359
9 9
Miscellaneous Functions 03.04
9.1 Auxiliary function outputs

High-speed acknowledgment without block


change delay
In SW 5 and higher, the block change behavior can
be controlled by machine data. When the "without
block change delay" setting is selected, the system
response with respect to high-speed auxiliary
functions is as follows:

Auxiliary function output Behavior


Before the movement The block transition between blocks with high-speed auxiliary functions
takes place with no interruption and with no reduction in speed. The
auxiliary function output takes place in the first interpolation cycle of the
block. The following block is executed with no acknowledgment delay.
During the movement The block transition between blocks with high-speed auxiliary functions
takes place with no interruption and with no reduction in speed. The
auxiliary function output takes place during the block. The following block is
executed with no acknowledgment delay.
After the movement The movement stops at the end of the block. The auxiliary function output
takes place at the end of the block. The following block is executed with no
acknowledgment delay.

Function outputs in continuous-path mode


Function outputs before the traversing movements
interrupt continuous-path mode (G64/G641) and
generate an exact stop for the previous block.

Function outputs after the traversing movements


interrupt continuous-path mode (G64/G641) and
generate an exact stop for the current block.

A wait for an outstanding acknowledgment signal from


the PLC can also cause an interruption to
continuous-path mode, e.g. M command sequences in
blocks with extremely short path lengths.

 Siemens AG, 2004. All rights reserved


9-360 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
9 9
03.04 Miscellaneous Functions
9.1 Auxiliary function outputs

9.1.1 M functions

Programming
M... Possible values. 0 to 9999 9999, integers
(Max. INT value in SW 5 and higher)

Function
M functions initiate, for example, switching operations
such as "Coolant ON/OFF" and other operations on the
machine. Permanent functions have already been
assigned to some of the M functions by the control
manufacturer (see following list).

List of predefined M functions

M0* Programmed stop 1


M1* Optional stop
M2* End of main program with return to beginning of program
M30* End of program, same effect as M2
M17* End of subprogram

M3 Spindle clockwise
M4 Spindle counterclockwise
M5 Spindle stop
M6 Tool change (default setting)
M70 Spindle is switched to axis mode

M40 Automatic gear change


M41 Gear step 1
M42 Gear step 2
M43 Gear step 3
M44 Gear step 4
M45 Gear step 5

Extended address notation cannot be used for the


functions marked with *.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 9-361
9 9
Miscellaneous Functions 03.04
9.1 Auxiliary function outputs

Machine manufacturer (MH9.2)


All free M function numbers can be assigned by the
machine manufacturer, e.g. with switching functions for
controlling clamping fixtures or for activating/
deactivating other machine functions, etc.

Machine manufacturer (MH9.3)


See machine manufacturer's specifications

The commands M0, M1, M2, M17 and M30 are always
initiated after the traversing movement.

Predefined M commands
Certain important M functions for program execution are
supplied as standard with the control:

Programmed stop, M0
Machining stops in the NC block with M0. You can now,
for example, remove swarf, remeasure, etc.
Programmed stop 1
Optional stop, M1
M1 can be set with
• MMC/dialog "Program Control" or
• the VDI interface.
Program execution on the NC is stopped at each of the
programmed blocks.

Programmed stop 2
An auxiliary function associated with M1 with
halt in program execution (NCK SW 6.4 and
higher, HMI SW 6.3)
Programmed halt 2 can be set via HMI/dialog "Program
control" and permits technological processes to be
interrupted at any time when the part has finished
machining. It therefore allows the operator to intervene
in the production process in order, for example, to
remove chips.

 Siemens AG, 2004. All rights reserved


9-362 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
9 9
03.04 Miscellaneous Functions
9.1 Auxiliary function outputs

End of program, M2, M17, M30


A program is terminated with M2, M17 or M30 and reset
to the beginning of the program. If the main program is
called from another program (as a subroutine), M2/M30
has the same effect as M17 and vice versa, i.e. M17 has
the same effect in the main program as M2/M30.

Spindle functions, M3, M4, M5, M19, M70


The extended address notation with spindle number is
used for all spindle functions.
Example:
M2=3 means CW spindle rotation for the second spindle.
If no address extension is programmed, the function
applies to the master spindle.

Programming example
N10 S...
N20 X... M3 M function in the block with axis movement,
spindle accelerates before the X axis
movement
N180 M789 M1767 M100 M102 M376 Max. of 5 M functions in the block

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 9-363
9 9
Miscellaneous Functions 03.04
9.1 Auxiliary function outputs

9.1.2 H functions

Programming
N10 G0 X20 Y50 H3=–11.3

Function
H functions are used to transfer information to the PLC
(programmable logic controller), in order to activate
specific switching operations. H functions are REAL
values.

Machine manufacturer (MH9.4)


The meaning of the functions is determined by the
manufacturer.

Sequence
Number of functions per NC block
Up to three H functions can be programmed in one NC
block.

 Siemens AG, 2004. All rights reserved


9-364 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
10 10
03.04 Arithmetic Parameters and Program Jumps

Arithmetic Parameters and Program Jumps

10.1 Arithmetic parameters R ....................................................................................... 10-366

10.2 Unconditional program jumps ............................................................................... 10-369

10.3 Conditional program jumps ................................................................................... 10-371

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 10-365
10 10
Arithmetic Parameters and Program Jumps 03.04
10.1 Arithmetic parameters R

10.1 Arithmetic parameters R

Programming
Rn=...

Explanation

R Arithmetic parameter
n Number of the arithmetic parameter, n= 0 to max. See machine data or
machine manufacturer for max.; default setting: max = 0-99

Machine manufacturer (MH10.1)


The number of R parameters is set in the machine data,
or see specifications of machine manufacturer.

Function
The arithmetic parameters are used, for example, if an
NC program is not only to be valid for values assigned
once, or if you need to calculate values. The required
values can be set or calculated by the control during
program execution. Another possibility consists of
setting the arithmetic parameter values by operator
inputs. If values have been assigned to the arithmetic
parameters, they can be assigned to other
variable-setting NC addresses in the program.

Value assignments
You can assign values in the following range to the
arithmetic parameters:

±(0.000 0001 ... 9999 9999)


(8 decimal places and sign
and decimal point).
• The decimal point can be omitted for integer values.
• A positive leading sign can always be omitted.

 Siemens AG, 2004. All rights reserved


10-366 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
10 10
03.04 Arithmetic Parameters and Program Jumps
10.1 Arithmetic parameters R

Example:
R0=3.5678 R1=-37.3 R2=2 R3=-7
R4=-45678.1234

It is possible to assign an extended numerical range by


using exponential notation:

Example:
± (10-300 ... 10+300)
The value of the exponent is written after the EX
characters; maximum total number of characters: 10
(including leading signs and decimal point)
Value range of EX: -300 to +300

Example:
R0=-0.1EX-5 ;Meaning: R0 = -0.000 001
R1=1.874EX8 ;Meaning: R1 = 187 400 000

Note:
• There can be several assignments in one block incl.
assignments of expressions.
• Value assignment must be in a separate block.

Assignments to other addresses


The flexibility of an NC program lies in assigning these
arithmetic parameters or expressions with arithmetic
parameters to other NC addresses.
Values, expressions and arithmetic parameters can be
assigned to all addresses;
Exception: Address N, G and L.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 10-367
10 10
Arithmetic Parameters and Program Jumps 03.04
10.1 Arithmetic parameters R

When assigning, write the character " = " after the


address character. It is also possible to have an
assignment with a negative leading sign.
A separate block is required for assignments to axis
addresses (traversing instructions).
Example:
N10 G0 X=R2 ;Assignment to X axis

Arithmetic operations and functions


When operators/arithmetic functions are used, it is
necessary to use the conventional mathematical
notation. Machining priorities are set by parentheses.
Otherwise, multiplication and division take precedence
over addition and subtraction.
Degrees are used for the trigonometrical functions.

Programming example: R parameters

N10 R1= R1+1 The new R1 is calculated from the old R1


plus 1.
N20 R1=R2+R3 R4=R5-R6 R7=R8* R9
R10=R11/R12
N30 R13=SIN(25.3) R13 equals sine of 25.3 degrees
N40 R14=R1*R2+R3 Multiplication or division takes precedence
over addition or subtraction
R14=(R1*R2)+R3
N50 R14=R3+R2*R1 Result, the same as block N40
N60 R15=SQRT(R1*R1+R2*R2) Meaning: R15=square root of R12+R22

Programming example:
Assignment of axis values

N10 G1 G91 X=R1 Z=R2 F300


N20 Z=R3
N30 X=-R4
N40 Z=-R5
...

 Siemens AG, 2004. All rights reserved


10-368 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
10 10
03.04 Arithmetic Parameters and Program Jumps
10.2 Unconditional program jumps

10.2 Unconditional program jumps

Programming
GOTOB <jump destination>
GOTOF <jump destination>
GOTO/GOTOC <jump destination variable>

Explanation

GOTOB "Jump instruction" with backward destination


(toward beginning of program)
GOTOF Jump instruction with forward jump destination (towards program end)
GOTO Jump instruction with destination search going forward then backward
(first toward end of program then toward beginning of program)
GOTOC Suppress Alarm 14080 "Destination not found". Jump instruction with
destination search first forward then backward (first toward end of
program and then toward beginning of program)
<destination> Destination parameters for label, block number, or string variable
Label Destination for a jump command
Label: Labeling of destination within the program
Block number Destination as main block or subblock number (e.g. : 200, N300)
String variable Variable of type string containing a label or block number

Function
By default, main programs, subprograms, cycles and
interrupt routines execute the blocks in the sequence in
which they were programmed.
Program jumps can be used to modify this sequence.

Sequence
Jump destinations with user-defined names can be
programmed in a routine. The command GOTOF or
GOTOB can be used to branch to a jump destination
from any other point within the same program. The
program then resumes execution at the instruction
immediately following the jump destination.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 10-369
10 10
Arithmetic Parameters and Program Jumps 03.04
10.2 Unconditional program jumps

Destination not found


If the destination is not found, program execution is
terminated with Alarm 14080 "Destination not found".
Command GOTOC suppresses this alarm. Program
execution is resumed at the line following the GOTOC
command.

Destination backward
1. Jump with label
Label_1: ;Destination
....
GOTOB Label_1

Jump forward
2. Jump with block number
GOTOF N100
....
N100 ;Destination

Indirect jumps
3. Jump to block number
N5 R10=100
N10 GOTOF "N"<<R10 ;Jump to the block
whose number is in R10
N90
N100 ;Destination
N110
4. Jump to labels
DEF STRING[20] DEST
DEST = "Label2" ;Jump with
GOTOF DEST variable destination
Label1: T="Drill1"
....
Label2: T="Drill2" ;Destination

Additional notes
The unconditional jump must be programmed in a
separate block.

In programs with unconditional jumps, the end of


program M2/M30 does not have to appear at the end of
the program.

 Siemens AG, 2004. All rights reserved


10-370 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
10 10
03.04 Arithmetic Parameters and Program Jumps
10.3 Conditional program jumps

Programming examples

N10
N20 GOTOF LABEL_0 ;Jump forward to LABEL_0
N30 …
N40 Label_1: R1=R2+R3 ;Destination LABEL_1
N50
N60 LABEL_0: ;Destination LABEL_0
N70 …
N80 GOTOB LABEL_1 ;Jump backward to LABEL_1
N90 …

10.3 Conditional program jumps

Programming
IF Expression GOTOB <destination>
IF Expression GOTOF <destination>
IF Expression GOTO/GOTOC <destination>

Explanation of the commands

IF Keyword for condition


GOTOB "Jump instruction" with backward destination
(toward beginning of program)
GOTOF Jump instruction with forward jump destination (towards program end)
GOTO Jump instruction with destination search going forward then backward
(first toward end of program then toward beginning of program)
GOTOC Suppress Alarm 14080 "Destination not found". Jump instruction with
destination search first forward then backward (first toward end of
program and then toward beginning of program)
<destination> Destination parameters for label, block number, or string variable
Label Destination for a jump command
Label: Labeling of destination within the program
Block number Destination as main block or subblock number (e.g.: 200, N300)
String variable Variable of type string containing a label or block number

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 10-371
10 10
Arithmetic Parameters and Program Jumps 03.04
10.3 Conditional program jumps

Comparison and logical operands

== Equal to
<> Not equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to

For further information, see


/PGA/ Chapter 1 "Flexible NC programming"

Function
Jump conditions can be formulated using IF instructions.
The jump to the programmed jump destination is only
performed if the jump condition is fulfilled.

Sequence
The jump condition can be programmed with any
comparison or logic operation (result: TRUE or FALSE).
The program jump is executed if the result of the
operation is TRUE.

The jump destination can only be a block with a label or


block number that appears within the program.

Several conditional jumps can be formulated in the same


block.

Programming example

N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20 Assignment of initial values
N41 MA1: G0 X=R2*COS(R1)+R5 -> Calculation and assignment to axis address
-> Y=R2*SIN(R1)+R6
N42 R1=R1+R3 R4=R4-1 Specification of variable
N43 IF R4>0 GOTOB MA1 Jump instruction with label
N44 M30 End of program

 Siemens AG, 2004. All rights reserved


10-372 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections

Subprograms and Repetition of Program Sections

11.1 Use of subprograms.............................................................................................. 11-374

11.2 Structure of a subprogram .................................................................................... 11-377

11.3 Subprogram with program repetition .................................................................... 11-379

11.4 Program section repetition (SW 4.3 and higher)................................................... 11-380

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-373
11 11
Subprograms and Repetition of Program Sections 03.04
11.1 Use of subprograms

11.1 Use of subprograms

What is a subprogram?
Main program
In principle, a subprogram has the same structure as a
parts program. It consists of NC blocks with traversing
and switching commands.

Basically, there is no difference between a main pro-


gram and a subprogram. The subprogram contains
either machining operations or sequences of opera- r am
og
bpr
tions that are to be performed several times. Su

Use of subprograms
Subprogram
Recurring machining sequences are programmed once
in a subprogram. Examples include certain contour
shapes, which occur repeatedly, and machining cycles.

The subprogram can be called and executed in any


main program.

Structure of a subprogram

The structure of the subprogram is identical to that of


the main program (see section on "Structure and con-
tent of an NC program").
Subprograms are provided with M17 end of program.
This means a return to the program level where the
subprogram was called from.

 Siemens AG, 2004. All rights reserved


11-374 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections
11.1 Use of subprograms

Explanation

This program end M17 can be suppressed in a machine


data (e.g.: to reduce runtimes).

Additional notes

A program header with parameter definitions can also be


programmed in the subprogram. You will find a more
detailed description in the Programming Guide
"Advanced".

End of subprogram with RET

The instruction RET can also be used in subprograms as


a substitute for the backward jump with M17.
RET must be programmed in a separate block.
The RET statement is used when G64 continuous-path
mode is not to be interrupted by a return. This is only
possible if the subprogram has no SAVE attribute.

If M17 is programmed in a separate block, G64 is


interrupted and an exact stop generated.
Remedy:
Do not write M17 in a subprogram block on its own,
instead use it with, for example, a traverse path: G1
X=YY M17
Must be set via machine data:
"No M17 from PLC".

Subprogram name

The subprogram is given a name allowing it to be


selected from among the others. The name can be freely
chosen during program creation, taking the following
conventions into account:
• The first two characters must be letters.
• The others can be letters, numerals or underscore
characters.
• A maximum of 31 characters can be used.
• No separators are to be used (see the section on
"Language elements of the programming language").

The same rules apply as to the names of main programs.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-375
11 11
Subprograms and Repetition of Program Sections 03.04
11.1 Use of subprograms

Example:
N10 POCKET1
It is also possible to use the address word L... in
subprograms. The value can have 7 decimal places
(integers only).
Note: With address L, leading zeros are
meaningful for differentiation.

Example:

N10 L123
N20 L0123
N30 L00123

There are three different subprograms in this example.

Nesting depth
main
Subprograms can also be called from a subprogram, progr.
not only from a main program.
sub-
In total, up to 12 program levels are available for this progr.
type of nested call, including the main program level. program levels
sub- max.11
progr.
This means:
Up to 11 nested subprogram calls can be issued from sub-
progr.
the main program.
backward jump

backward jump

backward jump

Note:
If you are working with SIEMENS machining and
measuring cycles, then three levels are required. If a
cycle is to be called from a subprogram, this call cannot
be issued from beyond level 9.

 Siemens AG, 2004. All rights reserved


11-376 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections
11.2 Structure of a subprogram

11.2 Structure of a subprogram

Subprogram call
You call the subprogram in the main program either with
address L and the subprogram number or by specifying
the subprogram name.

Example:
...
N120 L100 Subprogram call "L100.SPF":
N10 MSG (DIN subroutine")
N20 G1 G91...
...
N60 M17 ;End of subprogram

N160 M30 End of main program

Example with transfer of R parameter:

N10 G0 X0 Y0 G90 T1 Tool T1 in rapid traverse to the first position,


absolute dimension

N20 R10=10 R11=20 Describe arithmetic parameters R10 and


R11

N30 RECTANGLE Call the rectangle subprogram


"RECTANGLE.SPF" with transfer of R
parameters:
N15 G1 X=R10 G91 F500
N25 Y=R11
N35 X=-R10
N45 Y=-R11
N55 M17 ;End of subprogram

N40 G0 X50 Y50 G90 Position tool at the next machining position

N50 RECTANGLE Call the rectangle subprogram


"RECTANGLE.SPF" with
transfer of R parameters
N60 M30
End of main program

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-377
11 11
Subprograms and Repetition of Program Sections 03.04
11.2 Structure of a subprogram

Call main program as subprogram


Main program
A main program can also be called as a subprogram.
The end of program set in the main program M30 is
evaluated as M17 in this case (end of program with N10 MPF739 Further
or main program
return to calling program). N10SHAFT3

You program the call specifying the program name. N10...


.
.
Example: .
N50 M30
N10 MPF739 or
N10 SHAFT3

A subprogram can also be started as a main program.

Additional notes

Search strategy of the control:


1. Are there any *_MPF ?
2. Are there any *_SPF ?
This means: if the name of the subprogram to be called
is identical to the name of the main program, the main
program that issues the call is called again. This is
generally an undesirable effect and must be avoided by
assigning unique names to subprograms and main
programs.

Call the subprograms with the INI file

Subprograms that do not require parameter assignment


can be called from an initialization file:

Example:
N10 MYINISUB1 ;Subprogram call
without parameter

 Siemens AG, 2004. All rights reserved


11-378 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections
11.3 Subprogram with program repetition

11.3 Subprogram with program repetition

Program repetition, P
Main program
If a subprogram is to be executed several times in
succession, the desired number of program repetitions
can be entered at address P in the block with the
Subprogram
subprogram call. N40 FRAME P3

1 2 3
Example:
N40 FRAME P3

The subprogram FRAME must be executed 3 times in


succession.

Value range
P: 1…9999

The following applies to every subprogram call:


The subprogram call must always be programmed in a
separate NC block.

Subprogram call with program repetition


and parameter transfer
Parameters are transferred only when the program is
called, i.e. on the first run. The parameters remain
unchanged for the remaining repetitions.

If you want to change the parameters during program


repetitions, you must make the appropriate provision in
the subprogram.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-379
11 11
Subprograms and Repetition of Program Sections 03.04
11.4 Program section repetition (SW 4.3 and higher)

11.4 Program section repetition (SW 4.3 and higher)

Function
As compared with subprogram technology, program
section repetition allows the repetition of existing
program sections in any combination within a program.
The block or program sections to be repeated are
identified by labels.

For more information on labels, please see:


References: /PG/, Programming Guide
Fundamentals, Section 2.2
/PGA/, Programming Guide Advanced
Advanced, Section 1.11, 1.12

Explanation

LABEL: Jump destination; the name of the jump destination is followed by a colon
REPEAT Repeat (repeat several lines)
REPEATB Repeat block (repeat one line only)

Programming
Repeat block
LABEL: xxx
yyy
REPEATB LABEL P=n
zzz

The program line identified by a label is repeated P=n


times.
If P is not specified, the program section is repeated
exactly once. After the last repetition, the program is
continued at the line zzz following the REPEATB line.

The block identified by the label can appear before or


after the REPEATB statement.
The search initially commences towards the start of the
program.
If the label is not found in this direction, the search
continues towards the end of the program.

 Siemens AG, 2004. All rights reserved


11-380 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections
11.4 Program section repetition (SW 4.3 and higher)

Programming example
Repetition of positions
N10 POSITION1: X10 Y20
N20 POSITION2: CYCLE(0,,9,8) Position cycle
N30 ...
N40 REPEATB POSITION1 P=5 Execute block N10 five times
N50 REPEATB POSITION2 Execute block N20 once
N60 ...
N70 M30

Programming
Repeat area starting at label
LABEL: xxx
yyy
REPEAT LABEL P=n
zzz

The program section between the label with any name


and the REPEAT statement is repeated P=n times.
If the block with the label contains further statements,
these are executed again on each repetition.
If P is not specified, the program section is repeated
exactly once.
After the last repetition, the program is continued at the
line zzz following the REPEAT line.

The label must appear before the REPEAT statement.


The search is performed towards the start of the
program only.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-381
11 11
Subprograms and Repetition of Program Sections 03.04
11.4 Program section repetition (SW 4.3 and higher)

Programming example
5 squares with increasing width are to be produced.
N5 R10=15
N10 Begin: R10=R10+1 Width
N20 Z=10-R10
N30 G1 X=R10 F200
N40 Y=R10
N50 X=-R10
N60 Y=-R10
N70 Z=10+R10
N80 REPEAT BEGIN P=4 Execute area from N10 to N70 four times
N90 Z10
N100 M30

Programming
Repeat area between two labels
START_LABEL: xxx
ooo
END_LABEL: yyy
ppp
REPEAT START_LABEL END_LABEL P=n
zzz

The area between the two labels is repeated P=n times.


User-defined names can be assigned to the labels.
The first line of the repetition contains the start label, the
last line contains the end label. If the line containing the
start or end label contains further statements, these are
executed again on each pass.
If P is not specified, the program section is repeated
once. After the last repetition, the program is continued
at the line zzz following the REPEAT line.

 Siemens AG, 2004. All rights reserved


11-382 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections
11.4 Program section repetition (SW 4.3 and higher)

The program section to be repeated can appear before


or after the REPEAT statement. The search initially
commences towards the start of the program. If the start
label is not found in this direction, the search resumes
from the REPEAT statement towards the end of the
program.
It is not possible to nest the REPEAT statement with the
two labels within parentheses. If the start label is found
before the REPEAT statement and the end label is not
reached before the REPEAT statement, the repetition is
performed on the section between the start label and the
REPEAT statement.

Programming example
Repeat program section from BEGIN to END
N5 R10=15
N10 Begin: R10=R10+1 Width
N20 Z=10-R10
N30 G1 X=R10 F200
N40 Y=R10
N50 X=-R10
N60 Y=-R10
N70 END:Z=10
N80 Z10
N90 CYCLE(10,20,30)
N100 REPEAT BEGIN END P=3 Execute area from N10 to N70 three times
N110 Z10
N120 M30

Programming
Repeat an area between a
label and the end label
LABEL: xxx
ooo
ENDLABEL: yyy
REPEAT LABEL P=n
zzz

ENDLABEL is a predefined label with a fixed name.


ENDLABEL marks the end of a program section and can
be used multiple times in the program.
The block marked by ENDLABEL can contain further
statements.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-383
11 11
Subprograms and Repetition of Program Sections 03.04
11.4 Program section repetition (SW 4.3 and higher)

The area between a label and the following ENDLABEL


is repeated P=n times. Any name can be used to define
the start label.
If the block with the start label or ENDLABEL contains
further statements, these are executed on each
repetition.

If no ENDLABEL is found between the start label and the


block with the REPEAT call, the loop ends before the
REPEAT line. The construct therefore has the same
effect as described above in "repeat area from label".
If P is not specified, the program section is repeated
once.
After the last repetition, the program is continued at the
line zzz following the REPEAT line.

Programming example

N10 G1 F300 Z-10


N20 BEGIN1:
N30 X10
N40 Y10
N50 BEGIN2:
N60 X20
N70 Y30
N80 ENDLABEL: Z10
N90 X0 Y0 Z0
N100 Z-10
N110 BEGIN3: X20
N120 Y30
N130 REPEAT BEGIN3 P=3 Execute area from N110 to N120 three times
N140 REPEAT BEGIN2 P=2 Execute area from N50 to N80 twice
N150 M100
N160 REPEAT BEGIN1 P=2 Execute area from N20 to N80 twice
N170 Z10
N180 X0 Y0
N190 M30

 Siemens AG, 2004. All rights reserved


11-384 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections
11.4 Program section repetition (SW 4.3 and higher)

Preconditions
• Program section repetitions can be nested. Each call
uses a subprogram level.
• If M17 or RET is programmed during processing of a
program section repetition, the repetition is aborted.
The program is resumed at the block following the
REPEAT line.
• In the actual program display, the program section
repetition is displayed as a separate subprogram
level.
• If the level is canceled during the program section
repetition, the program resumes at the point after the
program section repetition call.

Example:
N5 R10=15
N10 BEGIN: R10=R10+1 Width
N20 Z=10-R10
N30 G1 X=R10 F200
N40 Y=R10 Level cancellation
N50 X=-R10
N60 Y=-R10
N70 END: Z10
N80 Z10
N90 CYCLE(10,20,30)
N100 REPEAT BEGIN END P=3 Resume program processing
N120 Z10
N130 M30

• Control structures and program section repetitions


can be used in combination.
There should be no overlap between the two,
however.
A program section repetition should appear within a
control structure branch or a control structure should
appear within a program section repetition.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-385
11 11
Subprograms and Repetition of Program Sections 03.04
11.4 Program section repetition (SW 4.3 and higher)

• If jumps and program section repetitions are mixed,


the blocks are executed purely sequentially.
For example, if a jump is performed from a program
section repetition, processing continues until the
programmed end of the program section is found.

Example:
N10 G1 F300 Z-10
N20 BEGIN1:
N30 X10
N40 Y10
N50 GOTOF BEGIN2
N60 ENDLABEL:
N70 BEGIN2:
N80 X20
N90 Y30
N100 ENDLABEL: Z10
N110 X0 Y0 Z0
N120 Z-10
N130 REPEAT BEGIN1 P=2
N140 Z10
N150 X0 Y0
N160 M30

Activation
Program section repetition is activated by programming.

The REPEAT instruction should be placed behind the


traveling blocks.

 Siemens AG, 2004. All rights reserved


11-386 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
11 11
03.04 Subprograms and Repetition of Program Sections
11.4 Program section repetition (SW 4.3 and higher)

Programming example
Milling: Machine drill position with different technologies
N10 CENTER DRILL() Load center drill
N20 POS_1: Drill positions 1
N30 X1 Y1
N40 X2
N50 Y2
N60 X3 Y3
N70 ENDLABEL:
N80 POS_2: Drill positions 2
N90 X10 Y5
N100 X9 Y-5
N110 X3 Y3
N120 ENDLABEL:
N130 DRILL() Change drill and drilling cycle
N140 THREAD(6) Load tap M6 and threading cycle
N150 REPEAT POS_1 Repeat program section once from POS_1
up to ENDLABEL
N160 DRILL() Change drill and drilling cycle
N170 THREAD(8) Load tap M8 and threading cycle
N180 REPEAT POS_2 Repeat program section once from POS_2
up to ENDLABEL
N190 M30

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 11-387
11 11
Subprograms and Repetition of Program Sections 03.04
11.4 Program section repetition (SW 4.3 and higher)

Notes

 Siemens AG, 2004. All rights reserved


11-388 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables

Tables

12.1 List of statements .................................................................................................. 12-390

12.2 List of addresses ................................................................................................... 12-406


12.2.1 Address letters ...................................................................................................... 12-406
12.2.2 Fixed addresses.................................................................................................... 12-407
12.2.3 Fixed addresses with axis extension .................................................................... 12-408
12.2.4 Variable addresses ............................................................................................... 12-410

12.3 List of G functions/preparatory functions .............................................................. 12-413

12.4 X axis parallel to tool direction, secondary axis Y, Z ............................................ 12-425


12.4.1 Predefined subprogram calls ................................................................................ 12-426
12.4.2 Predefined subprogram calls in motion-synchronous actions .............................. 12-436
12.4.3 Predefined functions ............................................................................................. 12-437
12.4.4 Data types ............................................................................................................. 12-441

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-389
12 12
Tables 03.04
12.1 List of statements

12.1 List of statements

Legend:
1
Default setting at beginning of program (factory settings of the control, if nothing else programmed).
2
The groups are numbered according to the table headed "List of G functions/preparatory functions" in Section 12.3.
3
Absolute end points: modal; incremental end points: non-modal; otherwise modal/non-modal depending on
syntax of G function.
4
As arc centers, IPO parameters act incrementally. They can be programmed in absolute mode with AC. With other meanings
(e.g. pitch), the address modification is ignored.
5
The vocabulary word is not valid for SINUMERIK FM-NC/810D.
6
The vocabulary word is not valid for SINUMERIK FM-NC/810D/NCU571.
7
The vocabulary word is not valid for SINUMERIK 810D.
8
The OEM can add two extra interpolation types. The names can be changed by the OEM.
9
The vocabulary word is only valid for SINUMERIK FM-NC.
10
Extended address notation cannot be used for these functions.

Name Meaning Value Description, Syntax Modal/ Group


2
assignment comment non-
modal
: Block number - main block (see N) 0 ... Special block e.g.. :20
9999 9999 identification
integers instead of N... ; this
only, without block should
signs contain all
instructions for a
complete, following
machining
operation
3
A Axis Real m,s
5
A2 Tool orientation: Euler angles Real s
5
A3 Tool orientation: Direction vector component Real s
5
A4 Tool orientation for start of block Real s
5
A5 Tool orientation for end of block; Real s
normal vector component
AC Input of absolute dimensions 0, ..., X=AC(100) s
359.9999°
5
ACC Axial acceleration Real, w/o m
signs
5
ACCLIMA Reduction or excessive rise in maximum axial 1, ..., 200 Validity range is 1 ACCLIMA[X]= ...[%] m
acceleration (acceleration axial) to 200%
ACN Absolute dimensions for rotary axes, A=ACN(...) B=ACN(...) s
approach position in negative direction C=ACN(...)
ACP Absolute dimensions for rotary axes, A=ACP(...) B=ACP(...) s
approach position in positive direction C=ACP(...)
ADIS Rounding clearance for path functions G1, Real, w/o m
G2, G3, ... signs
ADISPOS Approximate distance for rapid traverse G0 Real, w/o m
signs
ALF Angle tilt fast Integer, w/o m
signs
AMIRROR Programmable mirroring (additive mirror) AMIRROR X0 Y0 Z0 s 3
; separate block
ANG Contour angle s

 Siemens AG, 2004. All rights reserved


12-390 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

Name Meaning Value Description, Syntax Modal/ Group


2
assignment comment non-
modal
3
AP Angle polar 0, ..., ± 360° m,s
3
AR Aperture angle (angle circular) 0, ..., 360° m,s
AROT Programmable rotation Rot. around AROT X... Y... Z... s 3
(additive rotation) 1st geo. ;Separate
axis: AROT RPL= block
o
-180 .. 180°
2. G. axis:
-89.999°
... 90°
3. G. axis:
-180° .. 180°
AROTS Programmable frame rotations with solid angles (additive AROTS X... Y... s 3
rotation) AROTS Z... X...
AROTS Y... Z...
;separate
AROTS RPL= block
ASCALE Programmable scaling (additive scale) ASCALE X... Y... Z... ; s 3
separate block
ASPLINE Akima spline m 1
ATRANS Additive programmable shift ATRANS X... Y... Z... s 3
(additive translation) ; separate block
3
AX Variable axis identifier Real m,s
AXCTSWE Advance container axis AXCTSWE(CTi) 25
3
B Axis Real m,s
5
B2 Tool orientation: Real s
Euler angles
5
B3 Tool orientation: Real s
Direction vector component
5
B4 Tool orientation for start of block Real s
5
B5 Tool orientation for end of block; Real s
normal vector component
BAUTO Definition of first spline segment by the following 3 points m 19
(begin not a knot)
1
BNAT Natural transition to first spline block m 19
(begin natural)
1
BRISK Brisk path acceleration m 21
BRISKA Switch on brisk path acceleration for the programmed axes
BSPLINE B spline m 1
BTAN Tangential transition to first spline block m 19
(begin tangential)
3
C Axis Real m,s
5
C2 Tool orientation: Euler angles Real s
5
C3 Tool orientation: Real s
Direction vector component
5
C4 Tool orientation for start of block Real s
5
C5 Tool orientation for end of block; Real s
normal vector component
1
CDOF Collision detection OFF m 23
CDON Collision detection ON m 23
CDOF2 Collision detection OFF For CUT3DC only m 23
1
CFC Constant feed at contour m 16
CFTCP Constant feed in tool edge reference point (center-point m 16
path)

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-391
12 12
Tables 03.04
12.1 List of statements

Name Meaning Value Description, Syntax Modal/ Group


2
assignment comment non-
modal
CFIN Constant feed at internal radius only, m 16
not at external radius
CHF Chamfer; value = length of chamfer Real, w/o signs s
SW 3.5 and
higher
CHR Chamfer; value = width of chamfer in
direction of movement (chamfer)
CHKDNO Check for unique D numbers
CIP Circular interpolation through intermediate CIP X... Y... Z... m 1
point I1=... J1=... K1=...
CLGOF Const. workpiece speed for centerless grinding OFF
CLGON Const. workpiece speed for centerless grinding ON
1,6
COMPOF Compressor OFF m 30
6
COMPON Compressor ON m 30
COMPCURV Compressor ON: polynomials with constant curvature m 30
COMPCAD Compressor ON: Surface quality CAD program m 30
CP Continuous path; path motion m 49
1,6
CPRECOF Programmable contour precision OFF m 39
6
CPRECON Programmable contour precision ON m 39
CR Circle radius Real, w/o signs s
CROTS Programmable frame rotations with solid angles (rotation in CROTS X... Y... s
the specified axes) CROTS Z... X...
CROTS Y... Z... ;sep.
CROTS RPL= block
CSPLINE Cubic spline m 1
CT Circle with tangential transition CT X... Y.... Z... m 1
1
CUT2D 2 ½D cutter compensation type 2-dimensional m 22
CUT2DF 2 ½D cutter compensation type 2-dimensional frame; Tool m 22
compensation is effective in relation to the current frame
(inclined plane)
5
CUT3DC 3D cutter compensation type 3-dimensional circumference m 22
milling
5
CUT3DCC Cutter compensation type 3-dimensional circumference m 22
milling with limit surfaces
CUT3DCCD 5 Cutter compensation type 3-dimensional circumference m 22
milling with limit surfaces with differential tool
5
CUT3DF 3D cutter compensation type 3-dimensional face milling m 22
5
CUT3DFF 3D cutter compensation type 3-dimensional face milling m 22
with constant tool orientation dependent on the current
frame
5
CUT3DFS 3D cutter compensation type 3-dimensional face milling m 22
with constant tool orientation independent of the current
frame
1
CUTCONOF Constant radius compensation OFF m 40
CUTCONON Constant radius compensation ON m 40

 Siemens AG, 2004. All rights reserved


12-392 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

D Tool offset number 1, ..., 9 contains offset data D...


for a specific tool
in SW 3.5 T... ; D0 → offset
and higher values for a tool
1, ... 32 000
DC Absolute dimensions for rotary axes, A=DC(...) B=DC(...) s
approach position directly C=DC(...)
SPOS=DC(...)
DIAMCYCOF Radius programming for G90/G91: ON. The G-code of this Radius m 29
group that was last active remains active for display programming last
active G-code
1
DIAMOF Diameter programming: OFF Radius program- m 29
(Diametral programming OFF) ming for G90/G91
DIAMON Diametral programming ON: ON Diameter progr. for m 29
(Diametral programming ON) G90/G91
DIAM90 Diameter programming for G90, radius programming for m 29
G91
DILF Length for lift fast m
DISC Transition circle overshoot - radius 0, ..., 100 m
compensation
DISPR Distance for repositioning Real, w/o s
signs
DISR Distance for repositioning Real, w/o s
signs
DITE Thread run-out path Real m
DITS Thread run-in path Real m
DL Total tool offset INT m
DRFOF Deactivate the handwheel offsets (DRF) m
9
DRIVE Velocity-dependent path acceleration m 21
EAUTO Definition of last spline section by the last 3 points (end not m 20
a knot)
1
ENAT Natural transition to next traversing block m 20
(end natural)
ETAN Tangential transition to next traversing block at spline end m 20
(end tangential)
F Feed value 0.001, ..., Tool/workpiece F=100 G1 ...
(in conjunction with G4 the dwell time is also 99 999.999 path feedrate;
programmed in F) unit of measure-
ment in mm/min or
mm/rev dependent
on G94 or G95
FA Axial feed 0.001, ..., FA[X]=100 m
999999.999
mm/min,
degree/min;
0.001, ...,
39999.9999
inch/min
6
FCUB Feedrate variable according to cubic spline Acts on feed with m 37
(feed cubic) G93 and G94
FD Path feed for handwheel override Real, w/o s
(feed DRF) signs
FDA Axial feed for handwheel override Real, w/o s
(feed DRF axial) signs
FENDNORM Corner deceleration OFF m 57
1
FFWOF Feedforward control OFF (feed forward OFF) m 24
FFWON Feedforward control ON (feed forward ON) m 24

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-393
12 12
Tables 03.04
12.1 List of statements

FGREF Reference radius with rotary axes or path reference factors Reference variable m
for orientation axes (vector interpolation) effective value
FGROUP Definition of axis/axes with path feed F is valid for all axes FGROUP
specified in (axis1, [axis2], ...)
FGROUP
FIFOCTRL Preprocessing memory control m 4
FL Speed limit for synchronized axes Real, w/o The unit set with FL[axis]=... m
(feed limit) signs G93, G94, G95 is
applicable (max.
rapid traverse)
6
FLIN Feed linear variable (feed linear) Acts on feed with m 37
G93 and G94
FMA Feed multiple axial Real, w/o m
signs
1,6
FNORM Feed normal to DIN 66025 m 37
FORI1 Feed for rotating orientation vector on large circle m
FORI2 Feed for rotation superimposed on rotated orientation m
vector
FP Fixed point: number of fixed point to be Integer, w/o G75 FP=1 s
approached signs
FPR Identification for rotary axis 0.001 ... FPR (rotary axis)
999999.999
FPRAOF Deactivate revolutional feedrate
FPRAON Activate revolutional feedrate
FRC Feed for radius and chamfer s
FRCM Feed for radius and chamfer, modal m
1,6
FTOCOF Online fine tool offset OFF m 33
6
FTOCON Online fine tool offset ON m 33
FXS Travel to fixed stop ON Integer, w/o 1 = select, m
signs 0 = deselect
FXST Torque limit for travel to fixed stop % parameter optional m
(fixed stop torque)
FXSW Monitoring window for travel to fixed stop mm, inches parameter optional
(fixed stop window) or degrees

 Siemens AG, 2004. All rights reserved


12-394 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

G functions
G G function (preparatory function) Only G...
The G functions are divided into G groups. predefined,
integer
Only one G function from one group can be
written in one block. values
A G function can either be modal (until
canceled by another function from the same
group), or non-modal (only effective for the
block it is written in).
G0 Linear interpolation with rapid traverse (rapid traverse Motion commands G0 X... Z... m 1
motion)
1
G1 Linear interpolation with feedrate (linear interpolation) G1 X... Z... F... m 1
G2 Circular interpolation clockwise G2 X... Z... I... K... F... m 1
; center and end
point
G2 X... Z... CR=... F...
; radius and end pt.
G2 AR=... I... K... F...
; arc angle and
center point
G2 AR=... X... Z... F...
; arc angle
and end point
G3 Circular interpolation counterclockwise G3 ... ; otherwise as for m 1
G2
G4 Predefined dwell time Special motion G4 F... ; dwell time in s or s 2
G4 S... ; dwell time in
spindle revolut.
; separate block
G5 Oblique plunge-cut grinding Oblique s 2
plunge-cutting
G7 Compensatory motion during oblique plunge-cut grinding Start position s 2
G9 Exact stop - deceleration s 11
1
G17 Selection of working plane X/Y Infeed direction Z m 6
G18 Selection of working plane Z/X Infeed direction Y m 6
G19 Selection of working plane Y/Z Infeed direction X m 6
G25 Lower working area limitation Value assignments G25 X.. Y.. Z..; separate s 3
in block
G26 Upper working area limitation Channel axes G26 X.. Y.. Z..; sep. block s 3
G33 Thread interpolation with constant pitch 0.001, ..., Motion command G33 Z... K... SF=... m 1
2000.00 ; Cylinder thread
mm/rev G33 X... I... SF=...
; face thread
G33 Z... X... K... SF=...
; taper thread
(in Z axis path
greater than in X
axis)
G33 Z... X... I... SF=...
; taper thread
(path in X axis
greater than in
Z axis)
2
G34 Linear degressive speed change [mm/rev ] Motion command G34 X.. Y.. Z.. I.. J.. K.. F.. m 1
2
G35 Linear progressive speed change [mm/rev ] Motion command G35 X.. Y.. Z.. I.. J.. K.. F.. m 1
1
G40 Tool radius compensation OFF m 7
G41 Tool radius compensation to left of contour m 7
G42 Tool radius compensation to right of contour m 7
G53 Suppression of current zero offset (non-modal) incl. programmed s 9
offsets

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-395
12 12
Tables 03.04
12.1 List of statements

G54 1. settable zero offset ng m 8


G55 2. settable zero offset ng m 8
G56 3. settable zero offset ng m 8
G57 4. settable zero offset ng m 8
G58 Axial programmable zero offset, absolute s 3
G59 Axial programmable zero offset, additive s 3
1
G60 Exact stop - deceleration m 10
G62 Corner deceleration at inside corners when tool radius Only in conjunction G62 Z... G1 m 57
offset is active (G41, G42) with continuous-
path mode
G63 Tapping with compensating chuck G63 Z... G1 s 2
G64 Exact stop - continuous-path mode m 10
G70 Dimension in inches (lengths) m 13
1
G71 Metric dimension (lengths) m 13
G74 Reference point approach G74 X... Z...; sep. block s 2
G75 Fixed point approach Machine axes G75 FP=.. X1=... Z1=...; s 2
separate block
1
G90 Absolute dimensions G90 X... Y... Z...(...) m 14
Y=AC(...) or s
X=AC Z=AC(...)
G91 Incremental dimensions G91 X... Y... Z... or m 14
X=IC(...) Y=IC(...) Z=IC(...) s
G93 Inverse-time feedrate rpm Execution of a G93 G01 X... F... m 15
block: Time
1
G94 Linear feedrate F in mm/min or inch/min and °/min m 15
G95 Revolutional feedrate F in mm/rev or inches/rev m 15
G96 Constant cutting speed (as for G95) ON G96 S... LIMS=... F... m 15
G97 Constant cutting speed (as for G95) OFF m 15
G110 Polar programming relative to last programmed set position G110 X.. Y.. Z.. s 3
G111 Polar programming relative to origin of current workpiece G110 X.. Y.. Z.. s 3
coordinate system
G112 Polar programming relative to last valid pole G110 X.. Y.. Z.. s 3
1
G140 SAR approach direction defined by G41/G42 m 43
G141 SAR approach direction to left of contour m 43
G142 SAR approach direction to right of contour m 43
G143 SAR approach direction tangent-dependent m 43
G147 Soft approach with straight line s 2
G148 Soft retraction with straight line s 2
G153 Suppress current frames including base frame incl. system frame s 9
G247 Soft approach with quadrant s 2
G248 Soft retraction with quadrant s 2
G290 Switch to SINUMERIK mode ON m 47
G291 Switch to FANUC mode ON m 47
G331 Tapping ±0.001, ..., Motion m 1
G332 Retraction (tapping) 2000.00 commands m 1
mm/rev
1
G340 Spatial approach block (depth and in plane Effective during soft m 44
(helix)) approach/retraction
G341 Initial infeed on perpendicular axis (z), then Effective during soft m 44
approach in plane approach/retraction
G347 Soft approach with semicircle s 2
G348 Soft retraction with semicircle s 2

 Siemens AG, 2004. All rights reserved


12-396 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

1
G450 Transition circle Corner behavior m 18
with tool radius
G451 Intersection of equidistant paths compensation m 18
1
G460 Collision monitoring for approach and retraction block ON m 48
G461 Extend border block with arc if no intersection in m 48
TRC block
G462 Extend border block with line if m 48
1
G500 Deactivate all settable frames if G500 does not contain a m 8
value
G505 5. ... 99. Settable zero offset m 8
.... G599
1
G601 Block change on exact stop fine Only effective with m 12
G602 Block change on exact stop coarse active G60 or m 12
G603 Block change at IPO - end of block G9 with m 12
programmable
G641 Exact stop - continuous-path mode G641 AIDS=... m 10
transition
G642 Corner rounding with axial precision m 10
rounding
G643 Block-internal corner rounding m 10
G644 Corner rounding with specified axis dynamics m 10
G621 Corner deceleration at all corners Only in conjunction G621 AIDS=... m 57
with continuous-
path mode
G700 Dimension in inches and inch/min m 13
(lengths + velocities + system variable)
1
G710 Metric dimension in mm and mm/min m 13
(lengths + velocities + system variable)
1
G810 , ..., G group reserved for the OEM 31
G819
1
G820 , ..., G group reserved for the OEM 32
G829
G931 Feedrate specified by travel time Travel time m 15
G942 Freeze linear feedrate and constant cutting rate or spindle m 15
speed
G952 Freeze revolutional feedrate and constant cutting rate or m 15
spindle speed
G961 Constant cutting speed (as for G94) ON Feed type G961 S... LIMS=... F... m 15
G962 Linear or revolutional feedrate and constant cutting rate m 15
G971 Constant cutting speed (as for G94) OFF Feed type m 15
G972 Freeze linear or revolutional feedrate and constant spindle m 15
speed
GOTOF Jump forwards (towards the end of the program)
GOTOB Jump backwards (towards the start of the program)
GWPSOF Deselect constant grinding wheel peripheral GWPSOF(T No.) s
speed (GWPS)
GWPSON Select constant grinding wheel peripheral GWPSON(T No.) s
speed (GWPS)

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-397
12 12
Tables 03.04
12.1 List of statements

H... Auxiliary function output to PLC Real/INT Can be set by MD H100 or H2=100
Program: (machine
REAL: manufacturer)
±3,4028ex38
INT:
-2147483648
+214748364
8
Display:
±999 999
999,9999
4
I Interpolation parameters Real s
I1 Intermediate point coordinate Real s
IC Incremental dimensioning 0, ..., X=IC(10) s
±99999.999
°
INCW Travel on a circle involute in CW direction Real End point: INCW/INCCW X... Y... Z... m 1
with interpolation of involute by G17/G18/G19 Center point: INCW/INCCW I... J... K...
Radius with CR > 0: INCW/INCCW CR=... AR...
INCCW Travel on a circle involute in CCW direction Real m 1
with interpolation of involute by G17/G18/G19 Angle of rotation in Direct programming:
degrees between INCW/INCCW I... J... K...
start and end CR=... AR=...
vectors
ISD Insertion depth Real m
4
J Interpolation parameters Real s
J1 Intermediate point coordinate Real s
5
JERKLIMA Reduction or excessive rise in maximum axial 1, ..., 200 Validity range is 1 JERKLIMA[X]= ...[%] m
jerk (jerk axial) to 200%
4
K Interpolation parameters Real s
K1 Intermediate point coordinate Real s
KONT Travel round contour on tool offset m 17
KONTC Approach/retract with continuous curvature polynomial m 17
KONTT Approach/retract with continuous tangent polynomial m 17
L Subprogram number Integer, up L10 s
to 7 places
5
LEAD Lead angle Real m
1
LFOF Interruption of thread cutting OFF m 41
LFON Interruption of thread cutting ON m 41
LFPOS Axial retraction to a position m 46
1
LFTXT Tangential tool direction on retraction m 46
LFWP Non-tangential tool direction on retraction m 46
LIMS Speed limitation with G96/G961 and G97 0.001 ... m
99 999.999
M... Switching operations INT Up to 5 unassigned
Display: M functions can be
0, ..., assigned by the
999 999 999 machine
manufacturer
Program:
0;...;
2147483647
10
M0 Programmed stop
10
M1 Optional stop
10
M2 End of main program with return to beginning of program

 Siemens AG, 2004. All rights reserved


12-398 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

M3 Direction of spindle rotation clockwise for master spindle


M4 Direction of spindle rotation counterclockwise for master
spindle
M5 Spindle stop for master spindle
M6 Tool change
10
M17 End of subprogram
M19 For SSL accumulated spindle programming
10
M30 End of program, same effect as M2
M40 Automatic gear change
M41... M45 Gear stage 1, ..., 5
M70 Transition to axis mode
MEAC Continuous measurement without deleting Integer, w/o s
distance-to-go signs
MEAS Measure with touch-trigger probe Integer, w/o s
signs
MEASA Measurement with deletion of distance-to-go s
MEAW Measure with touch-trigger probe Integer, w/o s
without deleting distance-to-go signs
MEAWA Measurement without deleting distance-to-go s
MIRROR Programmable mirror MIRROR X0 Y0 Z0 s 3
; separate block
MOV
MSG Programmable messages MSG("message") m
N Block number - subblock 0, ..., Can be used to e.g. N20
9999 9999 identify blocks by
integers means of a number;
only, w/o written at beginning
signs of block
1
NORM Standard setting in starting point and end point with tool m 17
offset
6,8
OEMIPO1 OEM interpolation 1 m 1
6,8
OEMIPO2 OEM interpolation 2 m 1
OFFN Allowance on the programmed contour OFFN=5
6
OMA1 OEM address 1 Real m
6
OMA2 OEM address 2 Real m
6
OMA3 OEM address 3 Real m
6
OMA4 OEM address 4 Real m
6
OMA5 OEM address 5 Real m
OFFN Offset - normal Real m
1,6
ORIC Orientation changes at outside corners are superimposed m 27
on the circle block to be inserted (orientation change
continuously)
6
ORID Orientation changes are performed before the circle block m 27
(orientation change discontinuously)
ORIAXPOS Orientation angle via virtual orientation axes with rotary axis m 50
positions
ORIEULER Orientation angle via Euler angle m 50

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-399
12 12
Tables 03.04
12.1 List of statements

ORIAXES Linear interpolation of machine axes or orientation axes Final orientation: Parameter settings as m 51
Vector specification follows:
ORICONCW Interpolation on a circular peripheral surface in CW m 51
A3, B3, C3 or
direction Direction vectors
Euler/RPY angle normalized
ORICONCC Interpolation on a circular peripheral surface in CCW A2, B2, C2 m 51
A6=0 B6=0 C6=1
W direction Additional inputs: Arc angle is specified as
ORICONIO Interpolation on a circular peripheral surface with Rotational vectors m 51
traversing angle with
intermediate orientation setting A6, B6, C6 NUT=...
ORICONTO Interpolation on a circular peripheral surface in tangential Arc angle of taper in NUT=+... with ≤ 180 deg. m 51
transition degrees 0 < SLOT NUT= -... with ≥ 180 deg.
<180 degrees
ORICURVE Interpolation of orientation with specification of motion of Intermediate orientation m 51
two contact points of tool Intermediate normalized A7=0 B7=0
vectors: A7, B7, C7 C7=1
ORIPLANE Interpolation in a plane (corresponds to ORIVECT) m 51
large-radius circular interpolation 2. 2nd contact point
of tool: XH, YH, ZH,
ORIPATH Tool orientation trajectory referred to path Transformation m 51
package handling,
see /FB/, TE4
ORIROTA Angle of rotation in relation to absolute direction of rotation m 54
ORIROTR Angle of rotation relative to plane between start and end m 54
orientations
ORIROTT Angle of rotation relative to change in orientation vector m 54
ORIRPY Orientation angle via RPY angle m 50
5
ORIS Orientation modification Real Referring to the m
(orientation smoothing factor) path
ORIVECT Large-radius circular interpolation (identical to ORIPLANE) m 51
ORIVIRT1 Orientation angle via virtual orientation axes (definition 1) m 50
ORIVIRT2 Orientation angle via virtual orientation axes (definition 1) m 50
6
ORIMKS Tool orientation in the machine coordinate system m 25
1,6
ORIWKS Tool orientation in the workpiece coordinate system m 25
OS Oscillation on/off Integer, w/o
signs
6
OSC Continuous tool orientation smoothing m 34
OSCILL Axis assignment for oscillation - Axis: 1-3 infeed m
activate oscillation axes
OSCTRL Oscillation control options Integer, w/o m
signs
OSE Oscillating: End point m
OSNSC Oscillating: Number of spark-out cycles m
number spark out cycles)
1,6
OSOF Tool orientation smoothing OFF m 34
OSP1 Oscillating: Left reversal point Real m
(oscillating: position 1)
OSP2 Oscillating: Right reversal point Real m
(oscillating: position 2)
6
OSS Tool orientation smoothing at end of block m 34
6
OSSE Tool orientation smoothing at start and end of block m 34
OST1 Oscillating: Stop at left reversal point Real m
OST2 Oscillating: Stop at right reversal point Real m
OVR Speed override 1, ..., 200% m
OVRA Axial speed override 1, ..., 200% m

 Siemens AG, 2004. All rights reserved


12-400 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

P Number of subprogram passes 1 ... Integer, e.g. L781 P...


w/o signs ; separate block
PAROTOF Deactivate workpiece-related frame rotation m 52
PAROT Align workpiece coordinate system on workpiece m 52
PDELAY- Punch with delay OFF m 36
6
OF
PDELAY-O Punch with delay ON m 36
1,6
N
PL Parameter interval length Real, w/o s
signs
5
POLY Polynomial interpolation m 1
6
PON Punch ON m 35
6
PONS Punch ON in IPO cycle (punch ON slow) m 35
POS Position axis POS[X]=20
POSA Position axis across block boundary POSA[Y]=20
POLF LIFTFAST position m
PRESETON Sets the actual value for programmed axes One axis identifier PRESETON(X,10,Y,4.5)
is programmed at a
time, with its
respective value in
the next parameter.
Up to 8 axes
possible
PTP point to point; point-to-point movement Synchronized axis m 49
PTPG0 point-to-point movement only with G0, otherwise CP Synchronized axis
PUTFTOC PutFineToolCorrection:
Fine tool correction for continuous dressing
PUTFTOCF PutFineToolCorrectionFunctionDependent:
Fine tool correction depending on a function defined by
FCtDEF for continuous dressing
PW Point weight Real, w/o s
signs
R... Arithmetic parameter ±0.0000001, Number of R R10=3 ;R parameter
in SW 5 and higher: ..., parameters can be assignment
also as settable address identifier. And with 9999 9999 set by MD X=R10 ;axis value
numerical extension R[R10]=6 ;indirect prog.
REPOSA Repositioning linear all axes: s 2
Linear repositioning with all axes
REPOSH Repositioning semicircle: s 2
Repositioning in semicircle
REPOSHA Repositioning semicircle all axes: s 2
Repositioning with all axes; geometry axes in semicircle
REPOSL Repositioning linear: s 2
Linear repositioning
REPOSQ Repositioning quarter-circle: s 2
Repositioning in a quadrant
REPOSQA Repositioning quarter-circle all axes: s 2
Return to contour linear all axes; geometry axes in
quarter-circle
RET End of subprogram Use in place of M17 RET
– without function
output to PLC

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-401
12 12
Tables 03.04
12.1 List of statements

RMB Repositioning at beginning of block m 26


(Repos mode begin of block)
RME Repositioning at end of block m 26
(Repos mode end of block)
1
RMI Repositioning at interruption point m 26
(Repos mode interrupt)
RMN Reapproach to nearest path point m 26
(Repos mode of nearest orbital block)
RND Round the contour corner Real, w/o RND=... s
signs
RNDM Modal rounding Real, w/o RNDM=... m
signs RNDM=0: Deactivate
modal rounding
ROT Programmable rotation Rotation ROT X... Y... Z... s 3
around ROT RPL= ; separate
1st block
geometry
axis:
-180° .. 180°
2. G. axis:
-89.999°,
..., 90°
3. G. axis:
-180° .. 180°
ROTS Programmable frame rotations with solid angles (rotation) ROTS X... Y... s 3
ROTS Z... X...
ROTS Y... Z... ; separate
ROTS RPL= block
3
RP Polar radius Real m,s
RPL Rotation in the plane Real, w/o s
signs
RTLION G0 with linear interpolation m 55
RTLIOF G0 without linear interpolation (single-axis interpolation) m 55
S Spindle speed or REAL Spindle speed in S...: speed for m, s
(with G4, G96/G961) other meaning Display: rev/min master spindle
±999 999 G4: Dwell time in S1...: speed for
999.9999 spindle rotations spindle 1
Program: G96/G961: Cutting
±3.4028ex3 rate in m/min
8
SCALE Programmable scaling (scale) SCALE X... Y... Z... s 3
; separate block
SD Spline degree Integer, w/o s
signs
SETMS Reset to the master spindle defined in machine data
SETMS(n) Set spindle n as master spindle
SF Starting point offset for thread cutting (spline 0.0000, ..., m
offset) 359.999°
SOFT Soft path acceleration m 21
6
SON Nibbling ON (stroke ON) m 35
6
SONS Nibbling ON in IPO cycle (stroke ON slow) m 35
1
SPATH Path reference for FGROUP axes is arc length m 45
SPCOF Switch master spindle or spindle(s) from speed control to SPCON
position control SPCON (n)
SPCON Switch master spindle or spindle(s) from position control to SPCON
speed control SPCON (n)
1,6
SPIF1 Fast NCK inputs/outputs for punching/nibbling byte 1 m 38
(stroke/punch interface 1)
6
SPIF2 Fast NCK inputs/outputs for punching/nibbling byte 2 m 38
(stroke/punch interface 2)

 Siemens AG, 2004. All rights reserved


12-402 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

SPLINE-PA Define spline grouping Max. of 8 axes


TH
1,6
SPOF Stroke OFF, punching, nibbling OFF m 35
6
SPN Number of path sections per block Integer s
(stroke/punch number)
6
SPP Length of path section Integer m
(stroke/punch path)
SPOS Spindle position SPOS=10 or m
SPOS[n]=10
SPOSA Spindle position across block boundaries SPOSA=5 or m
SPOSA[n]=5
SR Retraction path (sparking out retract path) Real, w/o s
signs
SRA Retraction path axial with external input SRA[Y]=0.2 m
(sparking out retract)
ST Sparking out time Real, w/o s
signs
STA Sparking out time axial m
STAT Position of joints Integer s
STARTFIFO 1 Execute; simultaneously fill preprocessing memory m 4
STOPFIFO Stop machining; fill preprocessing memory until m 4
STARTFIFO is detected, FIFO full or end of program
SUPA Suppression of current zero offset, including programmed s 9
offsets, system frames, handwheel offsets (DRF), external
zero offset and overlaid motion
T Call tool 1 ... 32 000 Call via T No.: e.g. T3 or T=3
(only change if specified in machine data; or via tool identifier:
otherwise M6 command necessary) e.g. T="DRILL"
TCARR Request toolholder (number "m") Integer m=0: Deselect TCARR=1
active toolholder
1
TCOABS Determine tool length components from the current tool Necessary after m 42
orientation reset, e.g. through
TCOFR Determine tool length components from the orientation of manual setting m 42
the active frame
TCOFRX Determine tool orientation of an active frame on selection of Tool perpendicular m 42
tool, tool points in X direction to inclined surface
TCOFRY Determine tool orientation of an active frame on selection of Tool perpendicular m 42
tool, tool points in Y direction to inclined surface
TCOFRZ Determine tool orientation of an active frame on selection of Tool perpendicular m 42
tool, tool points in Z direction to inclined surface
5
TILT Tilt angle Real m
TMOF Deselect tool monitoring T no. is only TMOF (T No.)
necessary if the tool
with this number is
not active.
TMON Activate tool monitoring T No. = 0: TMON (T No.)
Deactivate
monitoring for all
tools

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-403
12 12
Tables 03.04
12.1 List of statements

TOFRAME Set current programmable frame to Frame rotation in m 53


tool coordinate system tool direction
TOFRAMEX X axis parallel to tool direction, secondary axis Y, Z m 53
TOFRAMEY Y axis parallel to tool direction, secondary axis Z, X m 53
TOFRAMEZ Z axis parallel to tool direction, secondary axis X, Y m 53
TOROTOF Frame rotations in tool direction OFF m 53
TOROT Z axis parallel to tool orientation Frame rotations ON m 53
Rotation
TOROTX X axis parallel to tool orientation m 53
component of
TOROTY Y axis parallel to tool orientation programmable m 53
frame
TOROTZ Z axis parallel to tool orientation m 53
TOWSTD Initial setting value for offsets in tool length Inclusion of tool m 56
wear
TOWBCS Wear values in basic coordinate system (BCS) m 56
TOWKCS Wear values in the coordinate system of the tool head for m 56
kinetic transformation (differs from MCS by tool rotation)
TOWMCS Wear values in machine coordinate system (MCS) m 56
TOWTCS Wear values in the tool coordinate system (tool carrier ref. m 56
point T at the tool holder)
TOWWCS Wear values in workpiece coordinate system (WCS) m 56
TRAFOOF Deactivate transformation TRAFOOF( )
TRANS Programmable translation TRANS X... Y... Z... s 3
; separate block
TU Axis angle Integer TU=2 s
TURN Number of turns for helix 0, ..., 999 s
UPATH Path reference for FGROUP axes is curve m 45
parameter
5
VELOLIMA Reduction or excessive rise in maximum axial 1, ..., 200 Validity range is 1 VELOLIMA[X]= ...[%] m
velocity (velocity axial) to 200%
WAITM Wait for marker in specified channel; end WAITM(1,1,2)
previous block with exact stop
WAITMC Wait for marker in specified channel; exact WAITMC(1,1,2)
stop only if the other channels have not yet
reached the marker
WAITP Wait for end of traversing WAITP(X) ; separate block
WAITS Waiting to reach spindle position WAITS (main spindle)
WAITS (n,n,n)
WALIMOF Working area limitation OFF ; separate block m 28
1
WALIMON Working area limitation ON ; separate block m 28
3
X Axis Real m,s
3
Y Axis Real m,s
3
Z Axis Real m,s

 Siemens AG, 2004. All rights reserved


12-404 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.1 List of statements

Legend:
1
Default setting at beginning of program (factory settings of the control, if nothing else programmed).
2
The group numbering corresponds to the table "Overview of statements" in Section 11.3.
3
Absolute end points: modal; incremental end points: non-modal; otherwise modal/non-modal depending on
syntax of G function.
4
As arc centers, IPO parameters act incrementally. They can be programmed in absolute mode with AC. With other meanings
(e.g. pitch), the address modification is ignored.
5
The vocabulary word is not valid for SINUMERIK FM-NC/810D.
6
The vocabulary word is not valid for SINUMERIK FM-NC/810D/NCU571.
7
The vocabulary word is not valid for SINUMERIK 810D.
8
The OEM can add two extra interpolation types. The names can be changed by the OEM.
9
The vocabulary word is only valid for SINUMERIK FM-NC.
10
Extended address notation cannot be used for these functions.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-405
12 12
Tables 03.04
12.2 List of addresses

12.2 List of addresses

12.2.1 Address letters

Letter Meaning Numeric


extension
A Settable address identifier x
B Settable address identifier x
C Settable address identifier x
D Selection/deselection of tool length compensation, tool cutting edge
E Settable address identifier
F Feed x
Dwell time is seconds
G G function
H H function x
I Settable address identifier x
J Settable address identifier x
K Settable address identifier x
L Subprograms, subprogram call
M M function x
N Subblock number
O Not assigned
P Number of program passes
Q Settable address identifier x
R Variable identifier (arithmetic parameter) / variable address identifier without numerical extension x
S Spindle value x
Dwell time in spindle revolutions x
T Tool number x
U Settable address identifier x
V Settable address identifier x
W Settable address identifier x
X Settable address identifier x
Y Settable address identifier x
Z Settable address identifier x
% Start character and separator for file transfer
: Main block number
/ Skip identifier

 Siemens AG, 2004. All rights reserved


12-406 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.2 List of addresses

12.2.2 Fixed addresses

Address Address type Modal/ G70/ G700/ G90/ IC AC DC, CIC, Qu Data type
identifier non- G71 G710 G91 ACN, CAC,
modal ACP CDC,
CACN,
CACP
L Subprogram s Integer without
number sign
P Subprogram s Integer without
pass number sign
N Block number s Integer without
sign
G G function See list Integer without
of G sign
functions
F Feed, dwell time m, s x x Real without sign
OVR Override m Real without sign
S Spindle, dwell m, s x Real without sign
time
SPOS Spindle position m x x x Real
SPOSA Spindle position m x x x Real
across block
boundaries
T Tool number m x Integer without
sign
D Offset number m x Integer without
sign
M, H, Auxiliary s x M: Integer
functions without sign
H: Real

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-407
12 12
Tables 03.04
12.2 List of addresses

12.2.3 Fixed addresses with axis extension

Address Address type Modal/ G70/ G700/ G90/ IC AC DC, CIC, Qu Data type
identifier non- G71 G7100 G91 ACN, CAC,
modal ACP CDC,
CACN,
CACP
AX: Axis Variable axis *) x x x x x x Real
identifier
IP: Variable s x x x x x Real
Interpolation interpolation
Parameter parameter
POS: Positioning axis m x x x x x x x Real
Positioning axis
POSA: Positioning axis m x x x x x x x Real
Positioning axis across block
above end of boundaries
block
POSP: Positioning axis m x x x x x x Real: end
Positioning axis in parts position/
in parts (oscillation) Real: partial
length
Integer: option
PO: Polynomial Polynomial s x x Real without sign
1)
coefficient 1 - 8 times
FA: Feed axial Axial feed m x x Real without sign
FL: Feed limit Axial feed limit m x Real without sign
OVRA: Override Axial override m Real without sign
2)
ACC : Axial m Real without sign
Acceleration acceleration
axial
FMA: Feed Synchronized m x Real without sign
multiple axial feed axial
STA: Sparking out m Real without sign
Sparking-out time axial
time axial
SRA: Sparking Retraction path m x x Real without sign
out retract on external input
axial
OS: Oscillation on/off m Integer without
Oscillating on/off sign
OST1: Stopping time at m Real
Oscillating left reversal point
time 1 (oscillation)
OST2: Stopping time at m Real
Oscillating right reversal
time 2 point (oscillation)
OSP1: Left reversal m x x x x x x Real
Oscillating point (oscillation)
position 1
OSP2: Right reversal m x x x x x x Real
Oscillating point (oscillation)
position 2
OSE: Oscillating Oscillation end m x x x x x x Real
end position position
OSNSC: Oscillating: m Integer without
Oscillating: number of spark sign
number spark out cycles
out cycles

 Siemens AG, 2004. All rights reserved


12-408 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.2 List of addresses

Address Address type Modal/ G70/ G700/ G90/ IC AC DC, CIC, Qu Data type
identifier non- G71 G7100 G91 ACN, CAC,
modal ACP CDC,
CACN,
CACP
OSCTRL: Oscillation m Integer without
Oscillating control options sign: set options,
control integer without
sign: reset
options
OSCILL: Axis assignment m Axis: 1 - 3 infeed
Oscillating for oscillation, axes
activate
oscillation
FDA: Axis feedrate for s x Real without sign
Feed DRF axial handwheel
override
FGREF Reference m x x Real without sign
radius
POLF LIFTFAST m x x Real without sign
position
FXS: Activate travel to m Integer without
Fixed stop fixed stop sign
FXST: Torque limit for m Real
Fixed stop travel to fixed
torque stop
FXSW: Monitoring m Real
Fixed stop window for travel
window to fixed stop

In these addresses, an axis or an expression of axis type is specified in square brackets. The data type in the above column shows the type of value assigned.
*) Absolute end points: modal, incremental end points: non-modal, otherwise modal/non-modal depending on syntax of G function.

1) The vocabulary word is not valid for SINUMERIK FM-NC.

2) The vocabulary word is not valid for SINUMERIK FM-NC/810D.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-409
12 12
Tables 03.04
12.2 List of addresses

12.2.4 Variable addresses

Address Address type Modal/ G70/ G700/ G90/ IC AC DC, CIC, Qu Max. Data type
identifier non- G71 G710 G91 ACN, CAC, no.
modal ACP CDC,
CACN,
CACP
Axis values and end points
X, Y, Z, A, B, C Axis *) x x x x x x 8 Real
AP: Angle polar Polar angle m/s* x x x 1 Real
RP: Polar radius Polar radius m/s* x x x x x 1 Real without sign
Tool orientation
1)
A2, B2, C2 Euler angles s 3 Real
1)
A3, B3, C3 Direction vector s 3 Real
component
A4, B4, C4 for Normal vector m 3 Real
block beginning component
1)

A5, B5, C5 for Normal vector s 3 Real


1)
end of block component
LEAD: Lead angle m 1 Real
1)
Lead Angle
TILT: Tilt angle m 1 Real
1)
Tilt Angle
1)
ORIS: Orientation m 1 Real
Orientation change
Smoothing (referring to the
Factor path)
Interpolation parameters
I, J, K** Interpolation s x x x** x** 3 Real
parameter
I1, J1, K1 Intermediate s x x x x x 3 Real
point coordinate
RPL: Rotation in the s 1 Real
Rotation plane plane
CR: Circle radius s x x 1 Real without sign
Circle – Radius
AR: Aperture angle 1 Real without sign
Angle circular
TURN Number of turns s 1 Integer without
for helix sign
PL: Parameter – Parameter – s 1 Real without sign
Interval – Length interval – length
PW: Point – Point – weight s 1 Real without sign
Weight
SD: Spline – Spline – degree s 1 Integer without
Degree sign
TU: Turn Turn m Without sign Int
STAT: State State m Without sign Int
SF: Starting point m 1 Real
Spindle offset offset for thread
cutting
DISR: Distance Distance for s x x 1 Real without sign
for repositioning repositioning
DISPR: Distance for s x x 1 Real without sign
Distance path for repositioning
repositioning

 Siemens AG, 2004. All rights reserved


12-410 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.2 List of addresses

Address Address type Modal/ G70/ G700/ G90/ IC AC DC, CIC, Qu Max. Data type
identifier non- G71 G710 G91 ACN, CAC, no.
modal ACP CDC,
CACN,
CACP
ALF: Angle for lift fast m 1 Integer without
Angle lift fast sign
DILF: Distance for lift m x x 1 Real
Distance lift fast fast
FP Fixed point: s 1 Integer without
Number of fixed sign
point to be
approached
RNDM: Modal rounding m x x 1 Real without sign
Round modal
RND: Non-modal s x x 1 Real without sign
Round rounding
CHF: Chamfer Chamfer s x x 1 Real without sign
non-modal
CHR: Chamfer Chamfer in s x x 1 Real without sign
original direction
of motion
ANG: Angle Contour angle s 1 Real
ISD: Insertion depth m x x 1 Real
Insertion depth
DISC: Transition circle m x x 1 Real without sign
Distance overshoot in tool
– radius
compensation
OFFN Offset contour - m x x 1 Real
normal
DITS Thread run-in m x x 1 Real
path
DITE Thread run-out m x x 1 Real
path
Nibbling/punching
SPN: Number of path s 1 INT
Stroke/Punch sections per
2)
Number block
SPP: Stroke Length of a path m 1 Real
2)
/Punch Path section
Grinding
ST: Sparking out Sparking-out s 1 Real without sign
time time
SR: Sparking out Retraction path s x x 1 Real without sign
retract path
Approximate positioning criteria
ADIS Appr. distance m x x 1 Real without sign
ADISPOS Appr. distance m x x 1 Real without sign
for rapid traverse
Measurement
MEAS: Measure Measure with s 1 Integer without
touch-trigger sign
probe
MEAW: Measure with s 1 Integer without
Measure without touch-trigger sign
deleting probe without
distance-to-go deleting
distance-to-go
Axis, spindle behavior

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-411
12 12
Tables 03.04
12.2 List of addresses

Address Address type Modal/ G70/ G700/ G90/ IC AC DC, CIC, Qu Max. Data type
identifier non- G71 G710 G91 ACN, CAC, no.
modal ACP CDC,
CACN,
CACP
LIMS: Spindle speed m 1 Real without sign
Limit spindle limitation
speed
Feeds
FAD Speed of the s x 1 Real without sign
slow infeed
motion
FD: Path feed for s x 1 Real without sign
Feed DRF handwheel
override
FORI1 Feed for rotating m 1 Real without sign
orientation
vector on large
circle
FORI2 Feed for rotation m 1 Real without sign
superimposed
on rotated
orientation
vector
FRC Feed for radius s x Real without sign
and chamfer
FRCM Feed for radius m x Real without sign
and chamfer,
modal
OEM addresses
OMA1: OEM – OEM address 1 m x x x 1 Real
2)
address 1
OMA2: OEM – OEM address 2 m x x x 1 Real
2)
address 2
OMA3: OEM – OEM address 3 m x x x 1 Real
2)
address 3
OMA4: OEM – OEM address 4 m x x x 1 Real
2)
address 4
OMA5: OEM – OEM address 5 m x x x 1 Real
2)
address 5

*) Absolute end points: modal, incremental end points: non-modal, otherwise modal/non-modal depending on syntax of G function.

**) As circle center points, IPO parameters act incrementally. They can be programmed in absolute mode with AC. The address modification is ignored when the parameters have
other meanings (e.g. thread pitch).

1) The vocabulary word is not valid for SINUMERIK FM-NC/810 D.


2) The vocabulary word is not valid for SINUMERIK FM-NC/810D/NCU571.

 Siemens AG, 2004. All rights reserved


12-412 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.3 List of G functions/preparatory functions

12.3 List of G functions/preparatory functions

Legend for describing the G groups


No.: internal number, for e.g. m: Modal Default: Default setting Siemens AG (SAG)
PLC interface see: Non-modal F: Milling, D : Turning or other settings
X: No. for GCODE_RESET_VALUES not permitted MH.: See machine manufacturer's specifications for default setting

Group 1: Modal motion commands

Name No. Meaning X m/s SAG MH


G0 1. Rapid traverse m
G1 2. Linear interpolation (linear interpolation) m Def.
G2 3. Circular interpolation clockwise m
G3 4. Circular interpolation counterclockwise m
CIP 5. Circle through points: Circular interpolation through intermediate point m
ASPLINE 6. Akima spline m
BSPLINE 7. B spline m
CSPLINE 8. Cubic spline m
POLY # 9. Polynomial: Polynomial interpolation m
G33 10. Thread cutting with constant lead m
G331 11. Tapping m
G332 12. Retraction (tapping) m
OEMIPO1 ## 13. Reserved m
OEMIPO2 ## 14. Reserved m
CT 15. Circle with tangential transition m
G34 16. Increase in thread pitch (progressive change) m
G35 17. Decrease in thread pitch (degressive change) m
INVCW 18. Involute interpolation in CW direction m
INVCCW 19. Involute interpolation in CCW direction m
If no function from the group is programmed with modal G functions, the default setting (which can be changed in the machine data) applies: $MC_GCODE_RESET_VALUES
# The vocabulary word is not valid for SINUMERIK FM-NC.
## The vocabulary word is not valid for SINUMERIK FM-NC/810D/NCU571.

Group 2: Non-modal movements, dwell time

G4 1. Predefined dwell time X s


G63 2. Tapping without synchronization X s
G74 3. Reference point approach with synchronization X s
G75 4. Fixed point approach X s
REPOSL 5. Repositioning linear: Linear repositioning X s
REPOSQ 6. Repositioning quadrant: Repositioning in a quadrant X s
REPOSH 7. Repositioning semicircle: Repositioning in semicircle X s
REPOSA 8. Repositioning linear all axis: Linear repositioning with all axes X s
REPOSQA 9. Repositioning quadrant all axes: Linear repositioning with all axes, geometry axes X s
in quadrant
REPOSHA 10. Repositioning semicircle all axes: Repositioning with all axes; geometry axes in X s
semicircle
G147 11. Soft approach with straight line X s
G247 12. Soft approach with quadrant X s
G347 13. Soft approach with semicircle X s

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-413
12 12
Tables 03.04
12.3 List of G functions/preparatory functions

Group 2: Non-modal movements, dwell time

G148 14. Soft retraction with straight line X s


G248 15. Soft retraction with quadrant X s
G348 16. Soft retraction with semicircle X s
G05 17. Oblique plunge-cut grinding X s
G07 18. Compensatory motion during oblique plunge-cut grinding X s

Group 3: Programmable frame, working area limitation and pole programming

Name No. Meaning X m/s SAG MH


TRANS 1. TRANSLATION: programmable translation X s
ROT 2. ROTATION: programmable rotation X s
SCALE 3. SCALE: programmable scale X s
MIRROR 4. MIRROR: Programmable mirror X s
ATRANS 5. Additive TRANSLATION: programmable additive translation X s
AROT 6. Additive ROTATION: programmable rotation X s
ASCALE 7. Additive SCALE: programmable scale X s
AMIRROR 8. Additive MIRROR: Programmable mirror X s
9. Not assigned
G25 10. Minimum working area limitation/spindle speed limit X s
G26 11. Maximum working area limitation/spindle X s
G110 12. Polar programming relative to last programmed set position X s
G111 13. Polar programming relative to origin of current workpiece coordinate system X s
G112 14. Polar programming relative to last valid pole X s
G58 15. Programmable offset, absolute axial substitution X s
G59 16. Programmable offset, additive axial substitution X s
ROTS 17. Rotation with solid angles X s
AROTS 18. Additive rotation with solid angles X s

Group 4: FIFO

STARTFIFO 1. Start FIFO m De-


Execute and simultaneously fill preprocessing memory fault
STOPFIFO 2. STOP FIFO m
Stop machining; fill preprocessing memory until STARTFIFO is detected, FIFO full
or end of program
FIFOCTRL 3. FIFO CTRL m
Proprocessing memory control

 Siemens AG, 2004. All rights reserved


12-414 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.3 List of G functions/preparatory functions

Group 6: Plane selection

Name No. Meaning X m/s SAG MH


G17 1. Plane selection 1st – 2nd geometry axis m Def.
G18 2. Plane selection 3rd – 1st geometry axis m
G19 3. Plane selection 2nd – 3rd geometry axis m

Group 7: Tool radius compensation

G40 1. No tool radius compensation m Def.


G41 2. Tool radius compensation to left of contour X m
G42 3. Tool radius compensation to right of contour X m

Group 8: Settable zero offset

G500 1. Deactivate all settable G54-G57 frames if G500 does not contain a value m Def.
G54 2. 1. settable zero offset ng m
G55 3. 2. settable zero offset ng m
G56 4. 3. settable zero offset ng m
G57 5. 4. settable zero offset ng m
G505 6. 5. settable zero offset ng m
G5xx n+1 nth settable zero offset m
G599 100. 99. settable zero offset ng m

The G functions of this group activate a settable user – frame $P_UIFR[ ].


G54 corresponds to frame $P_UIFR[1], G505 corresponds to frame $P_UIFR[5].
The number of settable user frames and therefore the number of G functions in this group can be parameterized via machine data $MC_MM_NUM_USER_FRAMES.

Group 9: Frame suppression

G53 1. Suppression of current frames: X s


Programmable frame including
system frame for TOROT and TOFRAME and
active settable frame G54 ... G599
SUPA 2. Suppression as for G153 and including X s
system frames for actual-value setting, scratching, ext. zero offset, PAROT,
including handwheel offsets (DRF), [external zero offset], overlaid motion
G153 3. Suppression as for G53 and X s
including all channel-specific and / or NCU-global basic frame

Group 10: Exact stop - continuous-path mode

G60 1. Deceleration, exact stop m Def.


G64 2. Continuous-path mode m
G641 3. Continuous-path mode (G64) with programmable approximate distance m
G642 4. Corner rounding with axial precision m
G643 5. Block-internal axial corner rounding m
G644 6. Corner rounding with specified axis dynamics m

Group 11: Exact stop, non-modal

Name No. Meaning X m/s SAG MH


G9 1. Deceleration, exact stop X s

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-415
12 12
Tables 03.04
12.3 List of G functions/preparatory functions

Group 12: Block change criteria for exact stop (G60/G09)

G601 1. Block change on exact stop fine m Def.


G602 2. Block change on exact stop coarse m
G603 3. Block change on IPO – end of block m

Group 13: Workpiece measurement in inches/metric

G70 1. Input system inches (lengths) m


G71 2. Input system metric (lengths) m Def.
G700 3. Input system in inches; inch/min (lengths + velocity + system variable) m
G710 4. Input system, metric; mm; mm/min (lengths + velocity + system variable) m

Group 14: Workpiece measurement absolute/incremental

G90 1. Absolute dimensions m Def.


G91 2. Incremental dimensions m

Group 15: Feed type

G93 1. Inverse-time feedrate rpm m


G94 2. Linear feedrate in mm/min, inches/min m Def.
G95 3. Revolutional feedrate in mm/rev, inches/rev m
G96 4. Constant cutting speed (type of feed as for G95) ON m
G97 5. Constant cutting speed (type of feed as for G95) OFF m
G931 6. Feedrate specification by travel time, deactivate const. path velocity m
G961 7. Constant cutting speed (type of feed as for G94) ON m
G971 8. Constant cutting speed (type of feed as for G94) OFF m
G942 9. Freeze linear feedrate and constant cutting rate or spindle speed m
G952 10. Freeze revolutional feedrate and const. cutting rate or spindle speed m
G962 11. Linear or revolutional feedrate and constant cutting rate m
G972 12. Freeze linear or revolutional feedrate and constant spindle speed m

Group 16: Feedrate override on internal and external curvature

CFC 1. Constant feed at contour m Def.


CFTCP 2. Constant feed in tool center point m
CFIN 3. Constant feed at internal radius, acceleration at external radius m

Group 17: Approach and retraction behavior, tool offset

Name No. Meaning X m/s SAG MH


NORM 1. Normal position at start and end points m Def.
KONT 2. Travel around contour at start and end points m
KONTT 3. Approach/retract with continuous tangent polynomial m
KONTC 4. Approach/retract with continuous curvature polynomial m

 Siemens AG, 2004. All rights reserved


12-416 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.3 List of G functions/preparatory functions

Group 18: Corner behavior, tool offset

G450 1. Transition circle (tool travels round workpiece corners on a circular path) m Def.
G451 2. Intersection of equidistant paths (tool backs off from the workpiece corner) m

Group 19: Curve transition at spline beginning

BNAT 1. Begin natural: natural transition to first spline block m Def.


BTAN 2. Begin tangential: tangential transition to first spline block m
BAUTO 3. Begin not a knot: (no node) Start is determined by the position of the 1st point m

Group 20: Curve transition at spline end

ENAT 1. End natural: natural transition to next traversing block m Def.


ETAN 2. End tangential: tangential transition to next traversing block at spline begin m
EAUTO 3. End not a knot: (no node) End is determined by the position of the last point m

Group 21: Acceleration profile

BRISK 1. Brisk path acceleration m Def.


SOFT 2. Soft path acceleration m
DRIVE 3. Velocity-dependent path acceleration m

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-417
12 12
Tables 03.04
12.3 List of G functions/preparatory functions

# The vocabulary word is not valid for SINUMERIK 810D/NCU571.

Group 22: Tool offset types

CUT2D 1. Cutter – compensation – type 2-dimensional 2 1/2D tool offset determined by G17 m De-
– G19 fault
CUT2DF 2. Cutter – compensation – type 2-dimensional frame – relative: 2 1/2D tool offset m
determined by frame
The tool offset is effective in relation to the current frame (inclined plane)
CUT3DC # 3. Cutter – compensation – type 3dimensional circumference: 3D tool compensation m
circumference milling
CUT3DF # 4. Cutter – compensation – type 3dimensional face: 3D tool offset with inconstant m
tool orientation
CUT3DFS # 5. Cutter – compensation – type 3dimensional face: 3D tool offset face milling with m
constant tool orientation independent of active frame
CUT3DFF # 6. Cutter – compensation – type 3dimensional face frame: 3D tool offset face milling m
with constant tool orientation dependent on active frame
CUT3DCC # 7. Cutter – compensation – type 3dimensional circumference: with limit surfaces m
CUT3DCCD # 8. Cutter – compensation – type 3dimensional circumference: with limit surfaces with m
differential tool

Group 23: Collision monitoring on internal contours

Name No. Meaning X m/s SAG MH


CDOF 1. Collision detection OFF: Collision monitoring OFF m Def.
CDON 2. Collision detection ON: Collision monitoring ON m
CDOF2 3. Collision detection OFF: (currently for CUT3DC only) m

Group 24: Feedforward control

FFWOF 1. Feed forward off: Feedforward control OFF m Def.


FFWON 2. Feed forward off: Feedforward control ON m

Group 25: Tool orientation reference

ORIWKS # 1. Tool – orientation in workpiece coordinate system: Tool orientation in workpiece m Def.
coordinate system (WCS)
ORIMKS # 2. Tool – orientation in machine coordinate system: Tool orientation in machine m
coordinate system (MCS)
# The vocabulary word is not valid for SINUMERIK 810D/NCU571.

Group 26: Reapproach point for REPOS

RMB 1. REPOS – Mode beginning of block: Reapproach to start of block position m


RMI 2. REPOS – Mode interrupt: Reapproach to interruption point m Def.
RME 3. REPOS – Mode end of block: Reapproach to end of block position m
RMN 4. REPOS – Mode end of nearest orbital block: Reapproach to nearest path point m

 Siemens AG, 2004. All rights reserved


12-418 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.3 List of G functions/preparatory functions

Group 27: Tool offset with orientation change at outside corners

ORIC # 1. Orientation change continuously: Orientation changes at outside corners are m De-
superimposed on the circle block to be inserted fault
ORID # 2. Orientation change discontinuously: Orientation changes are performed before m
the circle block
# The vocabulary word is not valid for SINUMERIK 810D/NCU571.

Group 28: Working area limitation on/off

WALIMON 1. Working area limitation ON: Working area limitaiton ON m Def.


WALIMOF 2. Working area limitation OFF: Working area limitation OFF m

Group 29: Radius - diameter

DIAMOF 1. Diametral programming off: Diameter programming OFF; radius programming for m Def.
G90/G91
DIAMON 2. Diametral Diameter programming ON for G90/G91 m
DIAM90 3. Diametral programming G90: Radius programming for G90; radius programming m
for G91
DIAMCYCOF 4. Diametral programming off: Radius programming for G90/G91: ON. m
The G-code of this group that was last active remains active for display

Group 30: Compressor on/off

Name No. Meaning X m/s SAG MH


COMPOF # 1. Compressor OFF m Def.
COMPON # 2. Compressor ON m
COMPCURV # 3. Compressor ON: Polynomials with constant curvature m
COMPCAD # 4. Compressor ON: Optimized surface quality CAD program (SW 6 and higher) m

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-419
12 12
Tables 03.04
12.3 List of G functions/preparatory functions

Group 31: OEM – G group

G810 # 1. OEM – G function Def.


G811 # 2. OEM – G function
G812 # 3. OEM – G function
G813 # 4. OEM – G function
G814 # 5. OEM – G function
G815 # 6. OEM – G function
G816 # 7. OEM – G function
G817 # 8. OEM – G function
G818 # 9. OEM – G function
G819 # 10. OEM – G function

Two G groups are reserved for the OEM. This enables the OEM to program functions that can be customized.
# The vocabulary word is not valid for SINUMERIK 810D/NCU571.

Group 32: OEM – G group

G820 # 1. OEM – G function Def.


G821 # 2. OEM – G function
G822 # 3. OEM – G function
G823 # 4. OEM – G function
G824 # 5. OEM – G function
G825 # 6. OEM – G function
G826 # 7. OEM – G function
G827 # 8. OEM – G function
G828 # 9. OEM – G function
G829 # 10. OEM – G function
Two G groups are reserved for the OEM. This enables the OEM to program functions that can be customized.

Group 33: Settable tool fine offset

FTOCOF # 1. Fine – tool – offset – compensation OFF: Online fine tool offset OFF m Def.
FTOCON # 2. Fine – tool – offset – compensation ON: Online fine tool offset ON X m

Group 34: Tool orientation smoothing

Name No. Meaning X m/s SAG MH


OSOF # 1. Tool orientation smoothing OFF m Def.
OSC # 2. Continuous tool orientation smoothing m
OSS # 3. Tool orientation smoothing at end of block m
OSSE # 4. Tool orientation smoothing at start and end of block m

 Siemens AG, 2004. All rights reserved


12-420 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.3 List of G functions/preparatory functions

Group 35: Punching and nibbling

SPOF # 1. Stroke/punch OFF: Stroke OFF, nibbling, punching OFF m Def.


SON # 2. Stroke On: Nibbling ON m
PON # 3. Punch ON: Punching ON m
SONS # 4. Stroke ON slow: Nibbling ON in IPO cycle X m
PONS # 5. Punch ON slow: Punching ON in IPO cycle X m

Group 36: Punching with delay

PDELAYON # 1. Punch with delay ON m Def.


PDELAYOF # 2. Punch with delay OFF m

# The vocabulary word is not valid for SINUMERIK 810D/NCU571.

Group 37: Feed profile

FNORM # 1. Feed normal: Feed normal (to DIN 66025) m Def.


FLIN # 2. Feed linear: Feed linear variable m
FCUB # 3. Feed cubic: Feedrate variable according to cubic spline m

Group 38: Assignment of high-speed inputs/outputs for punching/nibbling

SPIF1 # 1. Stroke/Punch Interface 1: High-speed NCK inputs/outputs for punching/nibbling m Def.


byte 1
SPIF2 # 2. Stroke/Punch Interface 2: High-speed NCK inputs/outputs for punching/nibbling m
byte 2

Group 39: Programmable contour accuracy

CPRECOF 1. Contour precision OFF: Programmable contour precision OFF m Def.


CPRECON 2. Contour precision ON: Programmable contour precision ON m

# The vocabulary word is not valid for SINUMERIK NCU571.

Group 40: Tool radius compensation constant

CUTCONOF 1. Constant radius compensation OFF m Def.


CUTCONON 2. Constant radius compensation ON m

Group 41: Interruption thread cutting

Name No. Meaning X m/s SAG MH


LFOF 1. Interrupt thread cutting OFF m Def.
LFON 2. Interrupt thread cutting ON m

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-421
12 12
Tables 03.04
12.3 List of G functions/preparatory functions

Group 42: Toolholder

TCOABS 1. Toolholder orientation absolute m Def.


TCOFR 2. Toolholder orientation frame alignment of tool on Z axis m
TCOFRZ 3. Orientable toolholder frame-related (tool on Z axis) m
TCOFRY 4. Orientable toolholder frame-related (tool on Y axis) m
TCOFRX 5. Orientable toolholder frame-related (tool on X axis) m

Group 43: Approach direction SAR

G140 1. SAR approach direction defined by G41/G42 m Def.


G141 2. SAR approach direction to left of contour m
G142 3. SAR approach direction to right of contour m
G143 4. SAR approach direction tangent-dependent m

Group 44: Path segmentation SAR

G340 1. Spatial approach block (depth and in plane (helix)) m Def.


G341 2. Initial infeed on perpendicular axis (z), then approach in plane m

Group 45: Path reference of FGROUP axes

SPATH 1. Path reference for FGROUP axes is arc length m Def.


UPATH 2. Path reference for FGROUP axes is curve parameter m

Group 46: Plane definition for rapid lift

LFTXT 1. Tangential tool direction on retraction m Def.


LFWP 2. Non-tangential tool direction on retraction m
LFPOS 3. Axial retraction to a position m

Group 47: Mode switchover for external NC code

G290 1. Switchover to SINUMERIK mode (activate SINUMERIK language mode) m Def.


G291 2. Switchover to ISO mode (activate ISO language mode) m

Group 48: Approach and retraction behavior, TRC

G460 1. Collision monitoring for approach and retraction block ON m Def.


G461 2. If no intersection in TRC block, extend border block with arc m
G462 3. If no intersection in TRC block, extend border block with straight line m

 Siemens AG, 2004. All rights reserved


12-422 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.3 List of G functions/preparatory functions

Group 49: Point-to-point movement

Name No. Meaning X m/s SAG MH


CP 1. Continuous path; path motion m Def.
PTP 2. point to point; Point-to-point motion (synchronized axis motion) m
PTPG0 3. point to point; Point-to-point motion only with G0, otherwise path motion CP m

Group 50: Orientation programming

ORIEULER 1. Orientation angle via Euler angle m Def.


ORIRPY 2. Orientation angle via RPY angle m
ORIVIRT1 3. Orientation angle via virtual orientation axes (definition 1) m
ORIVIRT2 4. Orientation angle via virtual orientation axes (definition 2) m
ORIAXPOS 5. Orientation angle via virtual orientation axes with rotary axis positions m

Group 51: Orientation interpolation

ORIVECT 1. Large-radius circular interpolation (identical to ORIPLANE) m Def.


ORIAXES 2. Linear interpolation of machine axes or orientation axes m
ORIPATH 3. Tool orientation trajectory referred to path m
ORIPLANE 4. Interpolation in plane (identical to ORIVECT) m
ORICONCW 5. Interpolation on a circular peripheral surface in CW direction m
ORICONCCW 6. Interpolation on a conical peripheral surface in CCW direction m
ORICONIO 7. Interpolation on a conical peripheral surface with intermediate orientation setting m
ORICONTO 8. Interpolation on a conical peripheral surface in tangential transition m
ORICURVE 9. Interpolation with additional space curve for orientation m

Group 52: Workpiece coordinate system WCS

PAROTOF 1. Deactivate workpiece-related frame rotation m Def.


PAROT 2. Align workpiece coordinate system (WCS) on workpiece m

Group 53: Frame rotation in tool direction

TOROTOF 1. Frame rotation in tool direction OFF m Def.


TOROT 2. Frame rotation ON Z axis parallel to tool orientation m
TOROTZ 3. Frame rotation ON Z axis parallel to tool orientation m
TOROTY 4. Frame rotation ON Y axis parallel to tool orientation m
TOROTX 5. Frame rotation ON X axis parallel to tool orientation m
TOFRAME 6. Frame rotation in tool direction Z axis parallel to tool orientation m
TOFRAMEZ 7. Frame rotation in tool direction Z axis parallel to tool orientation m
TOFRAMEY 8. Frame rotation in tool direction Y axis parallel to tool orientation m
TOFRAMEX 9. Frame rotation in tool direction X axis parallel to tool orientation m

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-423
12 12
Tables 03.04
12.3 List of G functions/preparatory functions

Group 54: Interpolation of rotary vector

Name No. Meaning X m/s SAG MH


ORIROTA 1. Orientation rotation absolute: Angle of rotation in relation to absolute direction of m Def.
rotation
ORIROTR 2. Orientation rotation relative: Angle of rotation relative to plane between start and m
end orientations
ORIROTT 3. Orientation rotation tangential: Angle of rotation relative to change in orientation m
vector

Group 55: Rapid traverse movement with/without linear interpolation

RTLION 1. Rapid traverse (G0) with linear interpolation On: G0 with linear interpolation m Def.
RTLIOF 2. Rapid traverse (G0) with linear interpolation Off: G0 without linear interpolation m
(single-axis interpolation)

Group 56: Inclusion of tool wear

TOWSTD 1. Tool wear default initial setting value for offsets in tool length m Def.
TOWMCS 2. Tool WearCoard MCS:Wear values in machine coordinate system (MCS) m
TOWWCS 3. Tool WearCoard WCS:Wear values in workpiece coordinate system (WCS) m
TOWBCS 4. Tool WearCoard BCS:Wear values in basic coordinate system (MCS) m
TOWTCS 5. Tool WearCoard TCS:Wear values in the tool coordinate system (tool carrier ref. m
point T at the tool holder)
TOWKCS 6. Wear values in the coordinate system of the tool head for kinetic transformation m
(differs from MCS by tool rotation)

Group 57: Automatic corner override

FENDNORM 1. Corner deceleration deactivated m Def.


G62 2. Corner deceleration at inside coners when tool radiuse offset is active m
G621 3. Corner deceleration at all corners m

 Siemens AG, 2004. All rights reserved


12-424 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

12.4 List of predefined subprograms

Some control functions are activated with subprogram call syntax.

1. Coordinate system

Vocabulary Parameter 1 Parameter 2 Parameters 3 to Parameters 4 to Explanation


word/function 15 16
identifier
PRESETON AXIS*: REAL: Parameters 3 to 15 Parameters 4 to Sets the actual value for programmed axes.
Axis identifier Preset offset same as 1 ... 16 same as 2 ... One axis identifier is programmed at a time,
machine axis G700/G7100 with its respective value in the next
parameter.
context
Preset offsets can be programmed for up to
8 axes with PRESETON.
DRFOF Deletes the DRF offset for all axes assigned
to the channel.
*) As a general rule, geometry or special axis identifiers can also be used instead of the machine axis identifier, as long as the reference is unambiguous.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-425
12 12
Tables 03.04
12.4 List of predefined subprograms

12.4.1 Predefined subprogram calls

2. Axis groups

Parameters Explanation
1 to 8
FGROUP Channel axis Variable F value reference: defines the axes to which the path feed refers.
identifier Maximum number of axes: 8
The default setting for the F value reference is activated with FGROUP ( ) without parameters.
CLGON # REAL: Centerless grinding ON
Max. speed of
regulating wheel
CLGOF # Centerless grinding OFF
Parameters Parameters Explanation
1 to 8 2 to 9
SPLINEPATH INT: spline group AXIS: Definition of the spline group
(must be 1) Geometry or Maximum number of axes: 8
special axis
identifier
BRISKA AXIS Switch on brisk axis acceleration for the programmed axes
SOFTA AXIS Activate smooth (jerk-limited) axis acceleration for programmed axes
DRIVEA ### AXIS Activate knee-shaped acceleration characteristic for programmed axes
JERKA AXIS The acceleration behavior set in machine data $MA_AX_JERK_ENABLE is
active for the programmed axes.
# The vocabulary word is not valid for SINUMERIK FM-NC/810D/NCU571.
## The vocabulary word is not valid for SINUMERIK 810D.
### The vocabulary word is only valid for SINUMERIK FM-NC.

3. Coupled motion

Vocabulary Parameter Param. Param. Param. Param. Param. Explanation


word/subpro- 1 2 3 4 5 6
gram identifier
TANG # AXIS: Axis AXIS: AXIS: REAL: CHAR: CHAR Preparatory instruction for the
identifier Leading Leading Coupling Optional: Optimization: definition of a tangential
following axis axis 1 axis 2 factor "B": follow- follow-up: The tangent for the
up in basic "D" Default follow-up is determined by the
coordinate "P" two master axes specified. The
system autom. with coupling factor specifies the
"W": follow-up rouding path, relationship between a change in
in workpiece angle tol. the angle of tangent and the
st
coordinate following axis. It is usually 1 .
system
optimization: See PGA
TANGON # AXIS: Axis REAL: REAL: REAL: Tangential follow-up mode ON
identifier Offset Round- Angular Tangential follow-up ON
following axis angle ing path tolerance Par. 3, 4 with TANG Par. 6 = "P"
TANGOF # AXIS: Axis Tangential follow-up mode OFF
identi- Tangential follow-up OFF
fier following
axis
TLIFT # AXIS: REAL: REAL: Tangential lift: Tangential
Following axis Retract Factor follow-up, stop at contour corner
path possibly with retraction rotary
axis
TRAILON AXIS: AXIS: REAL: Trailing ON: Asynchronous
Following axis Leading Coupling coupled motion ON
axis factor
TRAILOF AXIS: AXIS: Trailing OFF: Asynchronous
Following axis Leading coupled motion OFF
axis
# The vocabulary word is not valid for SINUMERIK FM-NC/NCU571.

 Siemens AG, 2004. All rights reserved


12-426 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

6. Revolutional feedrate

Vocabulary Parameter 1 Parameter 2 Explanation


word/function
identifier
FPRAON AXIS: Axis for which AXIS: Axis/spindle from which Feedrate per revolution axial ON: Axial revolutional
revolutional feedrate is the revolutional feedrate is feedrate ON
activated derived.
If no axis has been pro-
grammed, the revolutional
feedrate is derived from the
master spindle.
FPRAOF AXIS: Axis for which Feedrate per revolution axial OFF: Axial revolutional
revolutional feedrate is feedrate OFF
deactivated The revolutional feedrate can be deactivated for
several axes at once. You can program as many axes
as are permitted in a block.
FPR AXIS: Axis/spindle from Feedrate per revolution: Selection of a rotary axis or
which the revolutional spindle from which the revolutional feedrate of the
feedrate is derived. path is derived if G95 is programmed.
If no axis has been If no axis/spindle has been programmed, the
programmed, the revolutional feedrate is derived from the master
revolutional feedrate is spindle.
derived from the master The setting made with FPR is modal.
spindle.

It is also possible to program a spindle instead of an axis: FPR(S1) or FPR(SPI(1))

7. Transformations

Vocabulary Parameter 1 Parameter 2 Explanation


word/function
identifier
TRACYL REAL: INT: Cylinder: Peripheral surface transformation
working diameter number of Several transformations can be set per channel. The transformation number
transformation specifies which transformation is to be activated. If the 2nd parameter is
omitted, the transformation group defined in the MD is activated.
TRANSMIT INT: number of Transmit: Polar transformation
transformation Several transformations can be set per channel. The transformation number
specifies which transformation is to be activated. If the parameter is omitted,
the transformation group defined in the MD is activated.
TRAANG # REAL: Angle INT: Transformation inclined axis:
number of Several transformations can be set per channel. The transformation number
transformation specifies which transformation is to be activated. If the 2nd parameter is
omitted, the transformation group defined in the MD is activated.
If the angle is not programmed:
TRAANG (.2) or TRAANG the last angle is active modally.
TRAORI # INT: number of Transformation oriented: 4, 5-axis transformation
transformation Several transformations can be set per channel. The transformation number
specifies which transformation is to be activated.
TRACON INT: number of REAL: Further Transformation Concentrated: Cascaded transformation; the meaning of the
transformation parameters, parameters depends on the type of cascading.
MD-dependent
TRAFOOF Deactivate transformation

For each transformation type, there is one command for one transformation per channel. If there are several transformations of the same transformation type per channel, the
transformation can be selected with the corresponding command and parameters. It is possible to deselect the transformation by a transformation change or an explicit deselection.

#)The vocabulary word is not valid for SINUMERIK FM-NC/NCU571.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-427
12 12
Tables 03.04
12.4 List of predefined subprograms

8. Spindle

Vocabulary Parameter 1 Parameter 2 and Explanation


word/subpro- others
gram identifier
SPCON INT: INT: Spindle position control ON: Switch to position-controlled spindle
Spindle number Spindle number operation
SPCOF INT: INT: Spindle position control OFF: Switch to speed-controlled spindle
Spindle number Spindle number operation
SETMS INT: Set master spindle: declare the spindle master spindle for the current
Spindle number channel.
SETMS( ) without parameters activates the default setting in the machine
data.

9. Grinding

Vocabulary Parameter 1 Explanation


word/subpro-
gram identifier
GWPSON INT: Grinding wheel peripheral speed ON: Constant grinding wheel peripheral speed ON
Spindle number If the spindle number is not programmed, then grinding wheel peripheral speed is selected for the
spindle of the active tool.
GWPSOF INT: Grinding wheel peripheral speed OFF. Constant grinding wheel peripheral speed OFF
Spindle number If the spindle number is not programmed, then grinding wheel peripheral speed is selected for the
spindle of the active tool.
TMON INT: Tool monitoring ON: If no T number is programmed, monitoring is activated for the active tool.
Spindle number
TMOF INT: T number Tool monitoring OFF: If no T number is programmed, monitoring is deactivated for the active tool.

 Siemens AG, 2004. All rights reserved


12-428 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

10. Stock removal

Vocabulary Parameter 1 Parameter 2 Parameter 3 Parameter 4 Explanation


word/subpro-
gram identifier
CONTPRON REAL [ , 11]: CHAR: Stock INT: number of INT: Status of Contour preparation on: Activate reference
Contour table removal method relief cuts calculation point editing
"L": Longitudinal The contour programs and NC blocks which are
0: As in earlier
turning: versions called in the following steps are divided into
external individual movements and stored in the contour
machining 1: Calculation table.
"P": Face turning: forwards
External and back- The number of relief cuts is returned.
machining wards
"N": Face turning:
inside machining
"G": Longitudinal
turning: inside
machining
CONTDCON REAL [ , 6]: INT: Contour decoding
Contour table 0: In the The blocks for a contour are stored in a named
programmed table with one table line per block and coded to
direction save memory.
EXECUTE INT: Error status EXECUTE: Activate program execution.
This switches back to normal program
execution from reference point editing mode or
after setting up a protection zone.

11. Execute table

Vocabulary Parameter 1 Explanation


word/subpro-
gram identifier
EXECTAB REAL [ 11]: Execute table: Execute an element from a motion table.
Element from
motion table

12. Protection zones

Vocabulary Parameter 1 Parameter 2 Parameter 3 Parameter 4 Parameter 5 Explanation


word/function
identifier
CPROTDEF INT: Number of BOOL: INT: REAL: REAL: Channel-specific
protection zone TRUE: 0: 4. U. 5. Limit in plus Limit in minus protection area
Tool-oriented Parameters are direction direction definition:
protection zone not evaluated Definition of a
1: Parameter 4 is
channel-specific
evaluated protection zone
2: Parameter 5 is
evaluated
3: Parameters 4
and 5 are
evaluated
NPROTDEF INT: Number of BOOL: INT: REAL: REAL: NCK-specific
protection zone TRUE: 0: Par. 4 and 5 Limit in plus Limit in minus protection area
Tool-oriented are not direction direction definition:
protection zone evaluated Definition of a
1: Parameter 4 is machine-specific
evaluated protection zone
2: Parameter 5 is
evaluated
3: Parameters 4
and 5 are
evaluated

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-429
12 12
Tables 03.04
12.4 List of predefined subprograms

12. Protection zones

Vocabulary Parameter 1 Parameter 2 Parameter 3 Parameter 4 Parameter 5 Explanation


word/function
identifier
CPROT INT: Number of INT: option REAL: REAL: REAL: Channel-specific
protection zone 0: Protection zone Offset for pro- Offset of pro- Offset of pro- protection zone
off tection zone on tection zone in tection zone in 3rd ON/OFF
1: Preactivate 1st channel axis (= 2nd channel axis channel axis
protection zone axis on which the
2: Protection zone geometry axes are
ON mapped)
NPROT INT: Number of INT: option REAL: REAL: REAL: Machine-specific
protection zone 0: Protection zone Offset for pro- Offset of pro- Offset of pro- protection zone
off tection zone on tection zone in tection zone in 3rd ON/OFF
1: Preactivate 1st channel axis (= 2nd channel axis channel axis
protection zone axis on which the
2: Protection zone geometry axes are
ON mapped)
EXECUTE VAR INT: Error EXECUTE: Activate program execution. This switches back to normal program execution from
status reference point editing mode or after setting up a protection zone.

13. Preprocessing/single block

STOPRE Stop processing: Stop preprocessing until all prepared blocks are executed in main run.

14. Interrupts

Vocabulary Parameter 1 Explanation


word/function
identifier
ENABLE # INT: Number of Activate interrupt: Activates the interrupt routine assigned to the hardware input with the specified
interrupt input number. An interrupt is enabled after the SETINT instruction.
DISABLE # INT: Number of Deactivate interrupt: Deactivates the interrupt routine assigned to the hardware input with the
interrupt input specified number. Fast retraction is not executed. The assignment between the hardware input
and the interrupt routine made with SETINT remains valid and can be reactivated with ENABLE.
CLRINT # INT: Number of Select interrupt: Cancel the assignment of interrupt routines and attributes to an interrupt input.
interrupt input The interrupt routine is deactivated and no reaction occurs when the interrupt is generated.

# The vocabulary word is not valid for SINUMERIK FM-NC/810D.

15. Motion-synchronous actions

CANCEL INT: number of Aborts the modal motion-synchronous action with the specified ID
synchronized
action

16. Function definition

Parameter 1 Parameter 2 Parameter 3 Parameters 4 Explanation


and 7
FCTDEF INT: Function REAL: Lower limit REAL: Upper limit REAL: Define polynomial. This is evaluated in
number value value Coefficients SYFCT or PUTFTOCF.
a0 – a3

#) The vocabulary word is not valid for SINUMERIK FM-NC.

 Siemens AG, 2004. All rights reserved


12-430 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

17. Communication

Vocabulary Parameter 1 Parameter 2 Explanation


word/sub-
program
identifier
MMC # STRING: CHAR: MMC command: Command ON
**
Command Acknowledgement mode MMC command interpreter for the configuration of
"N": without acknowledgment windows via NC program
"S": synchronous acknowledgment see /AM/ IM1 Start-Up Functions for the MMC
"A": asynchronous acknowledgment
#) The vocabulary word is not valid for SINUMERIK FM-NC/810D.
**) Acknowledgment mode:
Commands are acknowledged on request from the executing component (channel, NC, ...).
Without acknowledgment: Program execution is continued when the command has been transmitted. The sender is not informed if the command cannot be executed successfully.

18. Program coordination

Vocabulary Parameter 1 Parameter 2 Parameter 3 Parameter 4 Para- Parame- Explanation


word/sub- meter 5 ters
program 6 to 8
identifier
INIT # INT: STRING: CHAR: Selection of a module for execution
Channel Path Acknowledge in a channel.
number ment mode**
START # INT: INT: Starts selected programs
Channel Channel simultaneously on multiple channels
number number from running program. The
command has no effect on the
existing channel.
1 : 1. Channel;
2 : 2. Channel.
WAITE # INT: INT: Wait for end of program: Wait for
Channel Channel end of program on another channel
number number
WAITM # INT: Marker INT: INT: INT: Wait: Wait for a marker to be
number 0–9 Channel Channel Channel reached in other channels. The
number number number program waits until the WAITM with
the relevant marker has been
reached in the other channel. The
number of the own channel can also
be specified.
WAITP AXIS: Axis AXIS: Axis AXIS: Axis AXIS: Axis AXIS: AXIS: Wait for positioning axis: Wait for
identifier identifier identifier identifier Axis Axis positioning axis to reach their
identifier identifier programmed end point end point.
WAITS INT: Spindle INT: Spindle INT: Spindle INT: Spindle INT: Wait for positioning spindle: Wait for
number number number number Spindle programmed spindles previously
number programmed with SPOSA to reach
their programmed end point.
RET End of subprogram with no function
output to the PLC.
GET # AXIS AXIS AXIS AXIS AXIS AXIS Assign machine axis
GETD# AXIS AXIS AXIS AXIS AXIS AXIS Assign machine axis directly

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-431
12 12
Tables 03.04
12.4 List of predefined subprograms

18. Program coordination

Vocabulary Parameter 1 Parameter 2 Parameter 3 Parameter 4 Para- Parame- Explanation


word/sub- meter 5 ters
program 6 to 8
identifier
RELEASE # AXIS AXIS AXIS AXIS AXIS AXIS Release machine axis
PUTFTOC # REAL: INT: INT: INT: Put fine tool correction: fine tool
Offset value Parameter Channel Spindle compensation
number number number
PUTFTOCF # INT: VAR REAL: INT: INT: INT: Put fine tool correction function
No. of function Reference Parameter Channel Spindle dependent:
The number value *) number number number Change online tool compensation
used here according to a function defined with
must be FCTDEF (max. 3rd degree
specified in polynomial).
FCTDEF.

The SPI function can also be used to program a spindle instead of an axis: GET(SPI(1))
#) The vocabulary word is not valid for SINUMERIK FM-NC/NCU571.

**) Acknowledgment mode:


Commands are acknowledged on request from the executing component (channel, NC, ...).
Without acknowledgment: Program execution is continued when the command has been transmitted. The executing component is not informed if the command
cannot be executed successfully. Acknowledgment mode "N" or "n".
Synchronous acknowledgment: Program execution is halted until the receiver component has acknowledged the command. The next command positive acknowledgment.
An error is output with negative acknowledgment.
Acknowledgment mode "S", "s" or omit.
The acknowledgment behavior is defined for some commands and programmable for others.
The acknowledgment behavior is always synchronous for program coordination commands.
If the acknowledgment mode is omitted, synchronous acknowledgment is taken as the default.

19. Data accessing

Parameter 1 Explanation
CHANDATA INT: Set channel number for channel data access (only permitted in initialization block); the subsequent
Channel accesses refer to the channel set with CHANDATA.
number

20. Messages

Parameter 1 Parameter 2 Explanation


MSG STRING: Message modal: the message is active until the next message is queued.
Message

 Siemens AG, 2004. All rights reserved


12-432 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

22. Alarms

Parameter 1 Parameter 2 Explanation


SETAL INT: Alarm Set alarm: Set alarm
number (cycle
alarms)

23. Compensations

Vocabulary Parameters Explanation


word/sub- 1- 4
program
identifier
QECLRNON # AXIS: Axis Quadrant error compensation learning ON Quadrant error compensation learning on
number
QECLRNOF # Quadrant error compensation learning OFF Quadrant error compensation learning off

#) The vocabulary word is not valid for SINUMERIK FM-NC.

24. Tool management

Parameter 1 Parameter 2 Parameter 3 Explanation


DELT # STRING [32]: INT: Duplo Delete tool. Duplo number can be
Tool identifier number omitted.
GETSELT # VAR INT: INT: Spindle Get selected T number. If no spindle
T number (return number number is specified, the command for the
value) master spindle applies.
SETPIECE # INT: Workpiece count INT: Spindle Set number of workpieces for all tools
number assigned to the spindle.
If the spindle number is omitted, the
command applies to the master spindle.
SETDNO INT: Tool no. T INT: Tool edge INT: D no. Set D no. of tool (T) and its tool edge to
no. new
DZERO Set D numbers of all tools of the TO unit
assigned to the channel to invalid
DELDL INT: Tool no. T INT: D no. Delete all additive offsets of the tool edge
(or of a tool if D is not specified)
SETMTH INT: Toolholder no. Set toolholder no.
POSM INT: Location no. for INT: No. of the INT: Location INT: Magazine Position magazine
positioning magazine to be number of the number of the
moved internal internal
magazine magazine
SETTIA VAR INT: INT: Magazine INT: Wear Deactivate tool from wear group
Status=result of no. group no.
operation (return
value)
SETTA VAR INT: INT: Magazine INT: Wear Activate tool from wear group
Status=result of no. group no.
operation (return
value)
RESETMON VAR INT: INT: Internal T INT: D no. of Set actual value of tool to setpoint
Status=result of no. tool
operation (return
value)

#) The vocabulary word is not valid for SINUMERIK FM-NC.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-433
12 12
Tables 03.04
12.4 List of predefined subprograms

25. Synchronous Spindles

Parame- Parame- Parame- Parame- Parameter 5 Parameter 6 Explanation


ter 1 ter 2 ter 3 ter 4
COUPDEF # AXIS: AXIS: REAL: REAL: STRING [8]: Block change response: STRING [2]: Couple
Following Leading Enumera- Denomina- "NOC": no block change control, block "DV": definition:
axis axis tor trans- tor trans- change is enabled immediately, Setpoint Definition of
formation formation "FINE": block change on "synchronism", linkage synchronous
ratio ratio "COARSE": block change on "AV": spindle group
(FA) (LA) synchronism coarse and "IPOSTOP": Actual-value
block change in setpoint-dependent linkage
termination of overlaid movement. If the
block change behavior is not specified,
no change takes place in the defined
behavior.
COUPDEL # AXIS: AXIS: Couple delete:
Following Leading Delete
axis axis synchronous
spindle group
COUPRES # AXIS: AXIS: Couple reset:
Following Leading Reset
axis axis synchronous
spindle group.
The program-
med values are
invalidated. The
machine data
values are valid.

For synchronous spindles, the axis parameters are programmed with SPI(1) or S1.

26. Structure instructions in the STEP editor (editor-based program support)

Parameter 1 Parameter 2 Parameter 3 Explanation


SEFORM STRING [128]: INT: plane STRING [128]: Current section name for STEP editor
section name icon

 Siemens AG, 2004. All rights reserved


12-434 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

#) The vocabulary word is not valid for SINUMERIK 810 D.

Vocabulary Parameter 1 Parameter 2 Parameter 3 Parameter 4 Explanation


word/sub-
program
identifier
COUPON # AXIS: AXIS: REAL: Couple on:
Following axis Leading axis Activation Activate ELG group/synchronous spindle pair. If no
position of activation positions are specified, the couple is activated
following axis as quickly as possible (ramp). If an activation position is
specified for the following axis or spindle, this refers
absolutely or incrementally to the leading axis/spindle.
Only if the 3rd parameter is specified do parameters 4
and 5 have to be programmed.
COUPOF # AXIS: AXIS: REAL: REAL: Couple off:
Following axis Leading axis Deactivation Deactivation Deactivate ELG group/synchronous spindle pair. The
position of position of couple parameters are retained. If positions are
following axis following axis specified, the couple is only canceled when all the
(absolute) (absolute) specified positions have been overtraveled. The
following spindle continues to revolve at the last speed
programmed before deactivation of the couple.
WAITC # AXIS: STRING [8]: AXIS: STRING [8]: Wait for couple condition:
Axis/spindle Block change Axis/spindle Block change Wait until couple block change conditions have been
criterion criterion met for the axes/spindles.
Up to 2 axes/spindles can be programmed.
Block change condition:
"NOC": no block change control, block change is
enabled immediately,
"FINE": block change on "synchronism fine".
"COARSE": block change on "synchronism coarse" and
"IPOSTOP": block change in setpoint-dependent
termination of overlaid movement.
If the block change behavior is not specified, the set
behavior is applicable and there is no change.
AXCTSWE AXIS: Advance container axis
Axis/spindle
#) The vocabulary word is not valid for SINUMERIK 810D.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-435
12 12
Tables 03.04
12.4 List of predefined subprograms

12.4.2 Predefined subprogram calls in motion-synchronous actions

The following predefined subprograms appear exclusively in motion-synchronous actions.

27. Synchronous procedures

Vocabulary Parameter 1 Parameter 2 Parameters 3 to Explanation


word/function 5
identifier
STOPREOF Stop preparation OFF: Cancel preprocessing stop
A synchronized action with a STOPREOF command
causes a preprocessing stop after the next output block (=
block for the main run). The preprocessing stop is
canceled with the end of the output block or when the
STOPREOF condition is fulfilled. All synchronized action
instructions with the STOPREOF command are therefore
interpreted as having been executed.
RDISABLE Read-in disable Read-in disable
DELDTG AXIS: Axis for Delete distance-to-go Delete distance to go
axial delete A synchronized action with the DELDTG command
distance-to-go causes a preprocessing stop after the next output block (=
(optional). If the block for the main run). The preprocessing stop is
axis is omitted, canceled with the end of the output block or when the first
delete DELDTG condition is fulfilled. The axial distance to the
distance-to-go is destination point on an axial delete distance-to-go is
triggered for the stored in $AA_DELT[<axis>]; the distance-to-go is stored
path distance in $AC_DELT.
SYNFCT INT: Number of VAR REAL: VAR REAL: If the condition in the motion synchronous action is
polynomial Result variable *) Input variable **) fulfilled, the polynomial determined by the first expression
function defined is evaluated at the input variable. The upper and lower
with FCTDEF. range of the value is limited and the input variable is
assigned.
FTOC INT: Number of VAR REAL: INT: Length 1, 2, 3 Modify tool fine compensation according to a function
polynomial Input variable **) INT: defined with FCTDEF (polynomial no higher than 3rd
function defined degree).
Channel number
with FCTDEF. Modify tool fine compensation according to a function
INT: defined with FCTDEF (polynomial no higher than 3rd
Spindle number degree).

*) Only special system variables may be used as result variables. These are described in the Programming Guide Advanced in the section on "Writing main run variables".

**) Only special system variables may be used as result variables. These variables are described in the Programming Guide Advanced in the list of system variables.

 Siemens AG, 2004. All rights reserved


12-436 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

12.4.3 Predefined functions

Predefined functions are invoked by means of a function call. Function calls return a value. They can be included as an operand in an expression.

1. Coordinate system

Vocabulary Result Parameter 1 Parameter 2 Explanation


word/
function
identifier
CTRANS FRAME AXIS REAL: Parameters 3 to 15 Parameters 4 to 16 Translation: Zero offset for
Offset same as 1 ... same as 2 ... multiple axis.
One axis identifier is
programmed at a time, with
its respective value in the
next parameter.
CTRANS can be used to
program offset for up to 8
axes.
CROT FRAME AXIS REAL: Parameters 3/5 Parameters 4/6 Rotation: Rotation of the
Rotation same as 1 ... same as 2 ... current coordinate system.
Maximum number of
parameters: 6 (one axis
identifier and one value per
geometry axis).
CSCALE FRAME AXIS REAL: Parameters 3 to 15 Parameters 4 to 16 Scale: Scale factor for
Scale factor same as 1 ... same as 2 ... multiple axes.
The maximum number of
parameters is 2 * maximum
number of axes (axis
identifier and value
respectively).
One axis identifier is
programmed at a time, with
its respective value in the
next parameter.
CSCALE can be used to
program scale factors for up
to 8 axes.
CMIRROR FRAME AXIS Parameters 2 to 8 Mirror: Mirror on a
same as 1 ... coordinate axis
rd
MEAFRAME FRAME 2-dim. REAL 2-dim. REAL 3 parameter: Frame calculation from 3
array array REAL variable measuring points in space
Frame functions CTRANS, CSCALE, CROT and CMIRROR are used to generate frame expressions.

2. Geometry functions

Vocabulary Result Parameter 1 Parameter 2 Parameter 3 Explanation


word/function
identifier
CALCDAT BOOL: VAR REAL [,2]: INT: Number of VAR REAL [3]: CALCDAT: Calculate circle data
Error status Table with input input points for Result: Calculates radius and center point of a
points (abscissa calculation (3 or 4) Abscissa, ordinate circle from 3 or 4 points (according to
and ordinate for and radius of parameter 1) which must lie on a
points 1, 2, 3 etc.) calculated circle circle. The points must be different.
center point

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-437
12 12
Tables 03.04
12.4 List of predefined subprograms

Identifiers Result Parameter 1 Parameter 2 Parameter 3 Parameter 4 Parameter 5 Parameter 6


CALCPOSI INT: REAL: REAL: REAL: REAL: BOOL: bin coded
Status Initial position in Increment. Valid minimum Return value 0: to monitor
WCS pos. data clearances from
0 OK possible incr. Evaluation G 1 SW limits
[0] abscissa limits
[0] abscissa path if path from codes group
-1 DLIMIT neg. [1] ordinate 2 Working
[1] ordinate [0] abscissa parameter 3 13
-2 Trans. n.def. field
[2] applicate [1] ordinate cannot be
[2] applicate (inch/metr.)
1 SW limit transversed in 4 Active prot-
[2] applicate
referred to full without limit 1: ection zone
2 Working field [3] lin. mach. A. violation
Initial pos. Reference to 8 Preactiv.
3 Prot. zone [4] rot. Axis basic system protection
More see PGA of control zone
regardless of
curr. G codes
Gr. 13
Explanation: CALCPOSI can be used to check whether the geometry axes can traverse a defined path starting at a
CALCPOSI given point without violating the axis limits (SW limits), working area limitations or protection zones.
The maximum permissible value is returned if the defined path cannot be traversed without violating
one of the limits specified above.

INTERSEC BOOL: VAR REAL [11]: VAR REAL [11]: VAR REAL [2]: Intersection: Calculation of inter-
Error status First contour Second contour Result vector: section
element element Intersection The intersection between two contour
coordinate, elements is calculated. The
abscissa and intersection coordinates are return
ordinate values. The error status indicates
whether an intersection was found.

3. Axis functions

Result Parameter 1 Parameter 2 Explanation


AXNAME AXIS: STRING [ ]: AXNAME: Get axname
Axis identifier Input string Converts the input string to an axis identifier. An alarm is
generated if the input string does not contain a valid axis
identifier.
SPI AXIS: INT: Axis number SPI: Convert spindle to axis
Axis identifier Converts a spindle number to an axis identifier. An alarm
is generated if the passed parameter does not contain a
valid spindle number.
ISAXIS BOOL INT: Check whether the geometry axis 1 to 3 specified as
TRUE: Number of the parameter exists in accordance with
Axis exists: geometry axis $MC_AXCONF_GEOAX_ASSIGN_TAB.
Otherwise: (1 to 3)
FALSE
AXSTRING STRING AXIS Convert axis identifier into string.

4. Tool management
Result Parameter 1 Parameter 2 Explanation
NEWT # INT: T number STRING [32]: INT: Duplo number Create new tool (prepare tool data). The duplo
Tool name number can be omitted.
GETT # INT: T number STRING [32]: INT: Duplo number Get T number for tool identifier
Tool name

 Siemens AG, 2004. All rights reserved


12-438 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

4. Tool management
Result Parameter 1 Parameter 2 Explanation
GETACTT # INT: Status INT: STRING [32]: Get active tool from a group of tools with the same
T number Tool name name.
TOOLENV INT: Status STRING: Save a tool environment in the SRAM with a
Name specified name.

DELTOOLENV INT: Status STRING: Delete a tool environment in the SRAM with a
specified name All tool environments if no name is
Name
specified.
GETTENV INT: Status STRING: INT: Read:
Name Number[0] T number,
Number[1] D number,
Number[2] DL number
from a tool environment with a specified name
#) The vocabulary word is not valid for SINUMERIK FM-NC.

Result 1. Par. 2. Par. 3. Par. 4. P 5. P. 6. P. Explanation


GETTCOR INT: REAL: STRING: STRING: INT: INT: INT: Read tool lengths and tool length components from tool
Status environment or current environment.
Length Compone Tool int. D DL
[11] nts : environ- T no. no. Details: see Description of Functions W1.
Coordi- ment / "" no.
nate
system

Result 1. Par. 2. Par. 3. Par. 4. Par. 5. Par. 6. Par. 7. Par. 8. Par. 9. Par.
SETTCOR INT: REAL: STRING: INT: INT: INT: STRING: INT: INT: INT:
Status Corr. Com- To corr. Type of Index of Name of int. T number D number DL number
vector ponent(s) com- write geo axis tool
[0-3] ponent(s) operation environ.

Explanation Change tool components taking into account all supplementary conditions which apply to evaluation of individual
components. Details: see Description of Functions W1

Result Parameter 1 Parameter 2 Parameter 3 Explanation


LENTOAX INT: INT: REAL: STRING: The function supplies information
Status Index of axis L1, L2, L3 for Coordinate about the assignment of tool lengths
L1, L2 or L3 of active tool to abscissa,
[0-2] abscissa, system for
ordinate, applicate assignment ordinate and applicate. The assign-
ment to geometry axes is influenced
[3], [3] Matrix by frames and the active plane (G17
-G19). Details: see Description of
Functions W1

5. Arithmetics

Result Parameter 1 Parameter 2 Explanation


SIN REAL REAL Sine
ASIN REAL REAL Arcsine
COS REAL REAL Cosine
ACOS REAL REAL Arccosine
TAN REAL REAL Tangent
ATAN2 REAL REAL REAL Arctangent 2
SQRT REAL REAL Square root
POT REAL REAL Square
TRUNC REAL REAL Truncate decimal places
ROUND REAL REAL Round decimal places

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-439
12 12
Tables 03.04
12.4 List of predefined subprograms

5. Arithmetics

Result Parameter 1 Parameter 2 Explanation


ABS REAL REAL Generate absolute value
LN REAL REAL Natural logarithm
x
EXP REAL REAL Exponential function ex

6. String functions

Result Parameter 1 Parameter 2 Explanation


to 3
ISNUMBER BOOL STRING Check whether the input string can be converted to a
number.
Result is TRUE if conversion is possible.
ISVAR BOOL STRING Check whether the transfer parameter contains a variable
known in the NC. (Machine data, setting data, system
variable, general variables like GUD´s.
Result is TRUE, if all the following check produce a
positive results according to the (STRING) transfer
parameter:
– the identifier exists
– it is a 1- or 2-dimensional array
– an array index is allowed
For axial variables, the axis names are accepted as an
index but not checked.
NUMBER REAL STRING Convert the input string into a number.
TOUPPER STRING STRING Convert all alphabetic characters in the input string to
upper case.
TOLOWER STRING STRING Convert all alphabetic characters in the input string to
lower case.
STRLEN INT STRING Result is the length of the input string up to the end of the
string (0).
INDEX INT STRING CHAR Find the character (2nd parameter) in the input string (1st
parameter). The reply gives the place at which the
character was first found. The search is from left to right.
The 1st character in the string has the index 0.
RINDEX INT STRING CHAR Find the character (2nd parameter) in the input string (1st
parameter). The reply gives the place at which the
character was first found. The search is from right to left.
The 1st character in the string has the index 0.
MINDEX INT STRING STRING Find one of the characters specified in the 2nd parameter
in the input string (1st parameter). The place where one of
the characters was first found is output. The search is from
left to right. The first character in the string has the index 0.
SUBSTR STRING STRING INT Returns the substring of the input string (1st parameter)
defined by the start character (2nd parameter) and
number of characters (3rd parameter).
Example:
SUBSTR("Hello world",1,5) returns "ello"

 Siemens AG, 2004. All rights reserved


12-440 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
12 12
03.04 Tables
12.4 List of predefined subprograms

12.4.4 Data types

Data types
Type Remarks Value range
31
INT Integers with sign ± (2 –1)
–300 +300
REAL Real numbers (fractions with decimal point, LONG REAL ± (10 ... 10 )
to IEEE)
BOOL Boolean value TRUE, FALSE or 1, 0 1, 0
CHAR 1 character in ASCII code 0 ... 255
STRING Character string, number of characters in [...] (max. of 200 Sequence of values with 0 ... 255
characters)
AXIS Axis names (axis addresses) only Any axis identifiers in the channel
FRAME Geometrical parameters for translation, rotation, scale, —
mirror

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition 12-441
12 12
Tables 03.04
12.4 List of predefined subprograms

Notes

 Siemens AG, 2004. All rights reserved


12-442 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix

Appendix

A Abbreviations ..........................................................................................................A-444

B Terms ......................................................................................................................A-454

C References..............................................................................................................A-477

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-443
A A
Appendix 03.04
A Abbreviations

A Abbreviations

AS Automation System

ASCII American Standard Code for Information Interchange

ASIC Application Specific Integrated Circuit

ASUB Asynchronous Subroutine

BA Mode of operation

BAG Mode Group

BCD Binary Coded Decimals

BCS Basic Coordinate System

BIN Binary Files

BIOS Basic Input Output System

BOT Boot Files for SIMODRIVE 611 D

BP Basic Program

C Bus Communication Bus

C1 .. C4 Channel 1 to channel 4

CAD Computer-Aided Design

CAM Computer-Aided Manufacturing

CNC Computerized Numerical Control

COM Communication

COR Coordinate Rotation

 Siemens AG, 2004. All rights reserved


A-444 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
A Abbreviations

CP Communication Processor

CPU Central Processing Unit

CR Carriage Return

CRT Cathode Ray Tube

CSB Central Service Board

CSF Control System Flowchart (PLC programming method)

CTS Clear To Send (serial data interfaces)

CUTOM Cutter Radius Compensation (Tool radius compensation)

DAC Digital to Analog Converter

DB Data Block in the PLC

DBB Data Block Byte in the PLC

DBW Data Block Word in the PLC

DBX Data Block Bit in the PLC

DC Direct Control: The rotary axis is moved along the shortest path to the
absolute position within one revolution.

DCD Carrier Detect

DCE Data Communications Equipment

DDE Dynamic Data Exchange

DIN German Industry Standard

DIO Data Input/Output: Data transfer display

DIR Directory

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-445
A A
Appendix 03.04
A Abbreviations

DLL Dynamic Link Library: Module which can be accessed by a running


program.
Often contains program sections that are required by different
programs.

DOS Disk Operating System: Operating system

DPM Dual-Port Memory

DPR Dual-Port RAM

DRAM Dynamic Random Access Memory

DRF Differential Resolver Function

DRY Dry Run

DSB Decoding Single Block

DTE Data Terminal Equipment

DW Data Word

EIA Code Special punchtape code, number of punched holes per character
always odd

ENC Encoder

EPROM Erasable Programmable Read Only Memory

ERROR Error from printer

FB Function Block

FC Function Call: Function block in the PLC

FDD Feed Drive

FDD Floppy Disk Drive

FEPROM Flash EPROM

 Siemens AG, 2004. All rights reserved


A-446 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
A Abbreviations

FIFO First-In-First-Out: Memory which operates without address


specification from which data are read in the same order as they are
stored.

FIPO Fine interpolator

FM Function Module

FM-NC Function Module – Numerical Control

FPU Floating Point Unit

FRA Frame Block

FRAME Data Record (frame)

FST Feed Stop

GUD Global User Data

HD Hard Disk

HEX Abbreviation for hexadecimal

HHU Handheld Unit

HMI Human Machine Interace

HMS High-resolution Measuring System

HW Hardware

I Input

I/O Input/Output

I/RF Infeed/Regenerative Feedback Unit (power supply) of SIMODRIVE


611(D)

IK (GD) Implicit Communication (Global Data)

IKA Interpolative Compensation Interpolative compensation

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-447
A A
Appendix 03.04
A Abbreviations

IM Interface Module

IMR Interface Module Receive

IMS Interface Module Send

INC Increment Increment

INI Initializing Data

IPO Interpolator

IS Interface Signal

ISO International Standard Organization

ISO Code Special punchtape code, number of punched holes per character
always even

JOG Jog mode

KÜ Transmission Ratio

Kv Servo Gain Factor

LAD Ladder Diagram (PLC programming method)

LCD Liquid Crystal Display

LEC Leadscrew Error Compensation

LED Light Emitting Diode

LF Line Feed

LUD Local User Data

MB Megabyte

MC Measuring Circuit

MCP Machine Control Panel

 Siemens AG, 2004. All rights reserved


A-448 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
A Abbreviations

MCS Machine Coordinate System (Machine)

MD Machine Data

MDA Manual Data Automatic (MDI)

MMC Human Machine Communication: User interface on numerical control


systems for operator control, programming and simulation. MMC and
HMI are identical in meaning.

MPF Main Program File: NC parts program (main program)

MPI Multi Port Interface

MS- Microsoft

MSD Main Spindle Drive

NC Numerical Control

NCK Numerical Control Kernel (with block preparation, traversing range,


etc.)

NCU Numerical Control Unit: Hardware unit of the NCK

NRK Designation of the operating system of the NCK

NURBS Non Uniform Rational B-Spline

O Output

OB Organization Block in the PLC

OEM Original Equipment Manufacturer: The manufacturer of equipment


that is marketed by another vendor, typically under a different
name.

OI Operator Interface

OP Operator Panel

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-449
A A
Appendix 03.04
A Abbreviations

OPI Operator Panel Interface

OPT Options

OSI Open Systems Interconnection

P Bus Peripheral Bus

PC Personal Computer

PCIN Name of SW for exchanging data with the control system

PCMCIA Personal Computer Memory Card International Association

PDB Product Database

PG Programming Device

PLC Programmable Logic Control

POS Positioning

PP Production Planning

RAM Random Access Memory (read-write memory)

REF Reference Point Approach Function

REPOS Reposition Function

RISC Reduced Instruction Set Computer: Processor type with a small


instruction set and high instruction throughput

ROV Rapid Override

RPA R Parameter Active: Memory area in the NCK


for R-NCK for R parameter numbers

RPY Roll Pitch Yaw: Type of coordinate system rotation

RS-232 Serial Interface (definition of interchange lines between DTE and


DCE)

 Siemens AG, 2004. All rights reserved


A-450 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
A Abbreviations

RTS Request To Send (serial data interfaces)

SBL Single Block

SD Setting Date

SDB System Data Block

SEA Setting Data Active: Identification (file type) for setting data

SFB System Function Block

SFC System Function Call

SK Softkey

SKP Skip Block

SM Stepper Motor

SOP Shopfloor-Oriented Programming

SPF Sub-Program File (subroutine file)

SR Subroutine

SRAM Static RAM (battery-backed)

SRK Cutter Radius Compensation

SSI Serial Synchronous Interface

STL Statement List

SW Software

SYF System Files

T Tool

TC Tool Change

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-451
A A
Appendix 03.04
A Abbreviations

TEA Testing Data Active: Identifier for machine data

TLC Tool Length Compensation

TNRC Tool Nose Radius Compensation

TO Tool Offset

TOA Tool Offset Active: Identification (file type) for tool offsets

TRANSMIT Transform Milling into Turning: Coordinate conversion on turning


machines for milling operations

TRC Tool Radius Compensation

UFR User Frame: Zero offset

WCS Workpiece Coordinate System (Work)

WO Work Offset

WOA Work Offset Active

WPD Workpiece Directory

ZO Zero Offset (WO)

ZOA Zero Offset Active (WOA): Identification (file type) for zero offset data

µC Microcontroller

 Siemens AG, 2004. All rights reserved


A-452 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
A Abbreviations

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-453
A A
Appendix 03.04
B Terms

B Terms

Important terms are listed below in alphabetical order, accompanied


by explanations. Cross-references to other entries in this glossary are
indicated by the symbol "->".

A
A spline The A spline runs tangentially through the programmed interpolation
points (3rd degree polynomial).

Absolute dimension A destination for an axis movement is defined by a dimension that


refers to the origin of the currently active coordinate system. See also
-> incremental dimension.

Acceleration with jerk In order to obtain the optimum acceleration gradient for the machine
limitation while providing effective protection for the mechanical components,
the machining program offers a choice between instantaneous
acceleration and continuous (smooth) acceleration.

Access rights The CNC program blocks and data are protected by a 7-level system
of access restrictions:
• Three password levels for system manufacturers, machine
manufacturers and users and
• Four keyswitch settings which can be evaluated via the PLC.

Activate/deactivate Working area limitation is a means of restricting the axis movement


over and above the restrictions imposed by the limit switches. A pair
of values delimiting the protected zone area can be specified for each
axis.

Address An address is the designation for a specific operand or operand area,


e.g. input, output, etc.

Alarms All -> messages and alarms are displayed in plain text on the operator
panel. Alarm text also includes the date, time and corresponding
symbol for the reset criterion.
Alarms and messages are displayed separately.
1. Alarms and messages in the parts program
Alarms and messages can be displayed directly from the parts
program in plaintext.
2. Alarms and messages from PLC
Alarms and messages relating to the machine can be dis-
played from the PLC program in plaintext. No additional function
block packages are required for this purpose.

 Siemens AG, 2004. All rights reserved


A-454 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Analog input/output Analog input/output modules are signal transducers for analog
module process signals.
Analog input modules convert analog measured values into digital
values that can be processed in the CPU.
Analog output modules convert digital values into manipulated
variables.

Approach fixed machine Approach motion towards one of the predefined -> fixed machine
point points.

Archiving Exporting files and/or directories to an external storage device.

Asynchronous • A parts program that can be started asynchronously (or


subroutine independently) of the current program status by means of an
interrupt signal (e.g. "High-speed NC input" signal).

Automatic Control system operating mode (block-sequential to DIN): Mode in NC


systems in which a -> parts program is selected and continuously
executed.

Auxiliary functions Auxiliary functions can be used to pass -> parameters to the -> PLC in
-> parts programs, triggering reactions there which are defined by the
machine manufacturer.

Axes CNC axes are classified according to their functional scope as:
• Axes: Interpolative path axes
• Positioning axes: Non-interpolative infeed and positioning axes
with axis-specific feedrates; axes can move across block limits.
Positioning axes need not be involved in workpiece machining as
such and include tool feeders, tool magazines, etc.

Axis address See -> axis identifier

Axis identifier In compliance with DIN 66217, axes are identified as X, Y and Z for a
right-handed rectangular -> coordinate system.
-> Rotary axes rotating around X, Y, Z are assigned the identifiers A,
B, C. Additional axes, which are parallel to those specified, can be
identified with other letters.

Axis name See -> axis identifier

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-455
A A
Appendix 03.04
B Terms

B
B spline The programmed positions for the B spline are not interpolation
points, but merely "check points". The curve generated does not pass
directly through these check points, but only in their vicinity (1st, 2nd
or 3rd degree polynomial).

Back up A copy of the memory contents stored on an external device.

Backlash compensation Compensation of a mechanical machine backlash, e.g. backlash due


to reversal of leadscrews. The backlash compensation can be entered
separately for each axis.

Backup battery The backup battery provides non-volatile storage for the -> user
program in the -> CPU and ensures that defined data areas and flags,
timers and counters are retentive.

Backup memory The backup memory guarantees the backup of memory areas of the
-> CPU without backup battery. A programmable number of timers,
counters, flags and data bytes can be backed up.

Base axis Axis whose setpoint or actual value is employed in calculating a


compensatory value.

Basic coordinate system Cartesian coordinate system, is mapped onto machine coordinate
system by means of transformation.
In the -> parts program, the programmer uses the axis names of the
basic coordinate system. The basic coordinate system exists in
parallel to the -> machine coordinate system when no ->
transformation is active. The difference between the systems relates
only to the axis identifiers.

Baud rate Rate at which data transmission takes place (bit/s).

Blank The unmachined workpiece.

Block All files required for programming and program execution are known
as blocks.

Block A section of a -> parts program terminated with a line feed.


A distinction is made between -> main blocks and -> subblocks.

Block search The block search function allows selection of any point in the parts
program at which machining must start or be continued. The function
is provided for the purpose of testing parts programs or continuing
machining after an interruption.

 Siemens AG, 2004. All rights reserved


A-456 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Booting Loading the system program after Power ON.

Bus connector A bus connector is an S7-300 accessory that is supplied with the ->
I/O modules. The bus connector extends the -> S7-300 bus from the
-> CPU or an I/O module to the next adjacent I/O module.

C
C axis Axis about which the tool spindle describes a controlled rotational and
positioning movement.

C spline The C spline is the best known and the most widely used spline. The
spline passes through each of the interpolation points at a tangent
and along the axis of curvature. 3rd-degree polynomials are used.

Channel A channel is characterized by the fact that it can process a -> parts
program independent of other channels. A channel exclusively
controls the axes and spindles assigned to it. Parts program
sequences of different channels can be coordinated through ->
synchronization.

Channel structure The channel structure makes it possible to process the -> programs of
individual channels simultaneously and asynchronously.

Circular interpolation The -> tool is required to travel in a circle between defined points on
the contour at a specified feed while machining the workpiece.

CNC -> NC

CNC high-level language The high-level language offers: -> user variables, -> predefined user
variables, -> system variables, -> indirect programming, -> arithmetic
and angular functions, -> relational and logic operations, -> program
jumps and branches, -> program coordination (SINUMERIK 840D),
-> macros.

CNC programming The CNC programming language is based on DIN 66025 with high-
language level language expansions. The -> CNC programming language and
-> high-level language expansions support the definition of macros
(sequenced statements).

COM Numerical control component for the implementation and coordination


of communication.

Compensation axis Axis having a setpoint or actual value modified by the compensation
value.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-457
A A
Appendix 03.04
B Terms

Compensation table Table of interpolation points. It supplies the compensation values of


the compensation axis for selected positions of the base axis.

Compensation value Difference between the axis position measured by the position sensor
and the desired, programmed axis position.

Connecting cables Connecting cables are pre-assembled or user-assembled 2-wire


cables with a connector at each end. They are used to connect the ->
CPU via the -> multipoint interface (MPI) to a -> programming device
or to other CPUs.

Continuous-path mode The purpose of continuous-path mode is to avoid rapid deceleration


-> of the path axes at parts program block boundaries and to make
the transition to the next block at as constant a velocity as possible.

Contour Outline of a -> workpiece.

Contour monitoring The following error is monitored within a definable tolerance band as a
measure of contour accuracy. Overloading of the drive, for example,
may result in an unacceptably large following error. In such cases, an
alarm is output and the axes stopped.

Coordinate system See -> machine coordinate system, -> workpiece coordinate system

CPU Central Processor Unit -> programmable controller

Cycle Protected subroutine for executing a recurring machining operation on


the -> workpiece.

Cycles support The available cycles are listed in menu "Cycle support" in the
"Program" operating area. Once the desired machining cycle has
been selected, the parameters required for assigning values are
displayed in plaintext.

D
Data block 1. Data unit of the -> PLC which can be accessed by -> HIGHSTEP
programs.
2. Data unit of the -> NC: Data blocks contain data definitions for
global user data. These data can be initialized directly when they
are defined.

Data transfer program PCIN is a routine for transmitting and receiving CNC user data, e.g.
PCIN parts programs, tool offsets, etc. via the serial interface. The PCIN
program can run under MS-DOS on standard industrial PCs.

 Siemens AG, 2004. All rights reserved


A-458 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Data word A data unit, two bytes in size, within a -> data block.

Deletion of distance-to- Command in parts program which stops machining and clears the
go remaining path distance to go.

Design • The SINUMERIK FM-NC is installed in the CPU tier


of the SIMATIC S7-300. The 200mm wide, fully encapsulated
module has the same external design as the SIMATIC S7-300
modules.
• The SINUMERIK 840D is installed as a compact module in the
SIMODRIVE 611D converter system. It has the same dimensions
as a 50mm wide SIMODRIVE 611D module. The SINUMERIK
840D comprises the NCU module and the NCU box.
• The SINUMERIK 810D has the same design as the SIMODRIVE
611D with a width of 150mm. The following components are
integrated: SIMATIC S7-CPU, 5 digital servo drive controls and 3
SIMODRIVE 611D power modules.

Diagnosis 1. Control operating area


2. The control incorporates a self-diagnosis program and test routines
for servicing: Status, alarm and service displays.

Digital input/output Digital modules are signal transducers for binary process signals.
module

Dimensions in metric Position and lead/pitch values can be programmed in inches in the
and inch systems machining program. The control is set to a basic system regardless of
the programmable unit of measure (G70/G71).

DRF Differential Resolver Function NC function which generates an


incremental zero offset in AUTOMATIC mode in conjunction with an
electronic handwheel.

Drift compensation When the CNC axes are in the constant motion phase, automatic drift
compensation is implemented in the analog speed control.

Drive • SINUMERIK FM-NC has an analog +10V interface to the


SIMODRIVE 611A converter system.
• The SINUMERIK 840D control system is linked to the SIMODRIVE
611D converter system via a high-speed digital parallel bus.

E
Editor The editor makes it possible to create, modify, extend, join and insert
programs/texts/program blocks.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-459
A A
Appendix 03.04
B Terms

Electronic handwheel Electronic handwheels can be used to traverse the selected axes
simultaneously in manual mode. The handwheel clicks are analyzed
by the increment analyzer.

Exact stop When an exact stop is programmed, a position specified in the block
is approached accurately and, where appropriate, very slowly. In
order to reduce the approach time, -> exact stop limits are defined for
rapid traverse and feed.

Exact stop limit When all path axes reach their exact stop limits, the control responds
as if it had reached its destination point precisely. The -> parts
program continues execution at the next block.

External zero offset A zero offset specified by the -> PLC.

F
Fast retraction from When an interrupt is received, it is possible to initiate a motion via the
contour CNC machining program which allows the tool to be retracted quickly
from the workpiece contour currently being machined. The retraction
angle and the distance retracted can also be parameterized. An
interrupt routine can be executed after the rapid retraction.
(SINUMERIK FM-NC, 840D).

Feedforward control, Contour inaccuracies resulting from following errors can be almost
dynamic completely eliminated by the dynamic, acceleration-dependent
feedforward control function. Feedforward control ensures an
excellent degree of machining accuracy even at high tool path
velocities.
Feedforward control can only be selected or deselected for all axes
together via the parts program.

Feedrate override The current feedrate setting entered via the control panel or by the
PLC is overlaid on the programmed feedrate (0–200%). The feedrate
can also be corrected by a programmable percentage factor (1–
200%) in the machining program.

Finished-part contour Contour of the finished workpiece. See also -> blank.

Fixed machine point A point defined uniquely by the machine tool, such as the reference
point.

Fixed-point approach Machine tools can execute defined approaches to fixed points such as
tool-change points, loading points, pallet-change points, etc. The
coordinates of these points are stored on the control. Where possible,
the control moves these axes in -> rapid traverse.

 Siemens AG, 2004. All rights reserved


A-460 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Frame A frame is a calculation rule that translates one Cartesian coordinate


system into another Cartesian coordinate system. A frame contains
the components -> zero offset, -> rotation, -> scaling and -> mirroring.

G
General reset The following memories of the -> CPU are erased by a general reset
operation:

• -> Working memory


• Read/write area of the -> load memory
• -> System memory
• -> Backup memory

Geometry Description of a -> workpiece in the -> workpiece coordinate system.

Geometry axis Geometry axes are used to describe a 2- or 3-dimensional area in the
workpiece coordinate system.

Global main Each global main run/subroutine can be stored only once under its
run/subroutine name in the directory; the same program name in different directories
with different contents is not possible as a global program.

Ground "Ground" is the term applied to all the electrically inactive,


interconnected parts of a piece of equipment which cannot carry any
hazardous contact voltage even in the event of a fault.

H
Helical interpolation The helical interpolation function is ideal for machining internal and
external threads using form milling cutters and for milling lubrication
grooves. The helix comprises two movements:
1. Circular movement in one plane
2. Linear movement perpendicular to this plane.

High-speed digital As an example, high-speed CNC program routines (interrupt routines)


inputs/outputs can be started via the digital inputs. High-speed, program-driven
switching functions can be initiated via the digital CNC outputs
(SINUMERIK 840D).

HIGHSTEP Combination of the programming features for the -> PLC in the
S7-300/400 range.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-461
A A
Appendix 03.04
B Terms

I
I/O module I/O modules create the link between the CPU and the process. I/O
modules are:
• ->Digital input/output modules
• ->Analog input/output modules
• ->Simulator modules

Identifier In accordance with DIN 66025, identifiers (names) for variables


(arithmetic variables, system variables, user variables), for
subroutines, for vocabulary words and for words can contain several
address letters. These letters have the same meaning as the words in
the block syntax. Identifiers must be unique. Identical identifiers must
not be used for different objects.

Inch system of System of measurement that defines distances in "inches" and


measurement fractions thereof.

Increment Travel path length specification based on number of increments. The


number of increments can be stored as a -> setting data or selected
with keys labeled with 10, 100, 1000, 10 000.

Incremental dimension A destination for axis traversal is defined by a distance to be covered


and a direction referenced to a point already reached. See also ->
absolute dimension.

Initialization block Initialization blocks are special -> program blocks. They contain
values which must be assigned before the program is executed.
Initialization blocks are used primarily for initializing predefined data or
global user data.

Initialization file An initialization file can be created for each -> workpiece. In it, the
various variable value instructions which apply exclusively to one
workpiece can be stored.

Intermediate blocks Movements with selected tool offset (G41/G42) can be interrupted by
a limited number of intermediate blocks (blocks without axis motions
in the offset plane). When such blocks are used, the tool offset can
still be calculated correctly. The permissible number of intermediate
blocks read in advance by the control can be set via system
parameters.

Interpolative Interpolative compensation provides a means of compensating for


compensation leadscrew errors (LEC) and measuring-system errors (MSEC)
resulting from the production process.

 Siemens AG, 2004. All rights reserved


A-462 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Interpolator Logical unit of the -> NCK which determines intermediate values for
the movements to be traversed on the individual axes on the basis of
destination positions specified in the parts program.

Interrupt routine Interrupt routines are special -> subroutines which can be started by
events (external signals) in the machining process. The parts program
block being processed is aborted and the axis position at the instant
of interruption is stored automatically.

Inverse-time feedrate On SINUMERIK FM-NC and 840D controls, it is possible to program


the time required to traverse the path of a block instead of the
feedrate speed for the axis movement (G93).

J
Jog Control system operating mode (setup): The machine can be set up in
Jog mode. Individual axes and spindles can be jogged by means of
direction keys. Other functions in Jog mode are -> reference point
approach, -> Repos and -> Preset -> (set actual value).

K
Keyswitch 1. S7-300: The keyswitch is the mode selector switch on the
-> CPU. The keyswitch is operated by means of a removable key.
2. 840D/FM-NC: The keyswitch on the -> machine control panel has
4 positions which are assigned functions by the operating system
of the control. There are also three keys of different colors
belonging to the keyswitch that can be removed in the specified
positions.

KÜ Transmission Ratio

Kv Servo gain factor, control variable of a control loop

L
Languages The user interface texts, system messages and alarms are available
in five system languages (floppy disk):
English, French, German, Italian and Spanish.
The user can select two of the listed languages at a time in the
control.

Leadscrew error Compensation of mechanical inaccuracies in a leadscrew involved in


compensation the feed motion. Errors are compensated by the control based on
stored deviation measurements.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-463
A A
Appendix 03.04
B Terms

Limit speed Minimum/maximum (spindle) speed: The maximum speed of a spindle


can be limited by values defined in the machine data, the -> PLC or ->
setting data.

Linear axis The linear axis is an axis which, in contrast to a rotary axis, describes
a straight line.

Linear interpolation The tool travels along a straight line to the destination point while
machining the workpiece.

Load memory On the CPU 314 of the -> PLC, the load memory is identical with the
-> working memory.

Look Ahead The Look Ahead function is a means of optimizing the machining
velocity by looking ahead over a parameterizable number of
traversing blocks.

Look Ahead for contour The control detects and reports the following types of collision:
violations 1. Path is shorter than tool radius.
2. Width of inside corner is less than the tool diameter.

M
Machine Control operating area

Machine axes Axes which exist physically on the machine tool.

Machine control panel An operator panel on a machine tool with operating elements such as
keys, rotary switches, etc. and simple indicators such as LEDs. It is
used for direct control of the machine tool via the PLC.

Machine coordinate System of coordinates based on the axes of the machine tool.
system

Machine zero A fixed point on the machine tool which can be referenced by all
(derived) measurement systems.

Machining channel A channel structure makes it possible to reduce downtimes by


allowing sequences of motions to be executed in parallel. For
example, a loading gantry can execute its movements during a
machining operation. In this case, a CNC channel ranks as an
autonomous CNC control complete with decoding, block preparation
and interpolation.

 Siemens AG, 2004. All rights reserved


A-464 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Macros A set of instructions grouped under one identifier. In the program, the
identifier represents the set of grouped instructions.

Main block A block prefixed by ":" containing all the parameters required to start
execution of a -> parts program.

Main program -> Parts program identified by a number or name in which other main
programs, subroutines or -> cycles may be called.

MDA Control system operating mode: Manual Data Automatic. In the MDA
mode, individual program blocks or block sequences with no
reference to a main program or subroutine can be input and executed
immediately afterwards through actuation of the NC Start key.

Measuring circuits • SINUMERIK FM-NC: The requisite control circuits for axes and
spindles are integrated in the control module as standard. A
maximum total of 4 axes and spindles can be implemented, with
no more than 2 spindles.
• SINUMERIK 840D: The signals from the sensors are analyzed in
the SIMODRIVE 611D drive modules. The maximum configuration
is a total of 8 axes and spindles, with up to 5 spindles being
permissible.

Messages All messages programmed in the parts program and -> alarms
detected by the system are displayed in plain text with date and time
and the corresponding symbol for the delete criterion on the operator
panel. Alarms and messages are displayed separately.

Metric system Standardized system of units for lengths in millimeters (mm), meters
(m), etc.

Mirroring Mirroring exchanges the leading signs of the coordinate values of a


contour in relation to an axis. Analogously, several axes can be
mirrored simultaneously.

Mode An operating concept on a SINUMERIK control. The modes -> Jog, ->
MDA, -> Automatic are defined.

Mode group All axes/spindles are assigned to one and only one channel at any
given time. Each channel is assigned to a mode group
The same -> mode is always assigned to the channels of a mode
group.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-465
A A
Appendix 03.04
B Terms

Multipoint interface The multipoint interface (MPI) is a 9-pin sub-D port. A parameterizable
number of devices can be connected to an MPI for the purpose of
communicating with one another:
• Programming devices
• MMI (HMI) systems
• Other automation systems
The "Multipoint Interface MPI" parameter block of the CPU contains
the -> parameters which define the properties of the multipoint
interface.

N
NC Numerical Control It incorporates all the components of the machine
tool control system: -> NCK, -> PLC, -> MMC, -> COM.
Note: CNC (computerized numerical control) would be a more
appropriate description for the SINUMERIK 840D control or FM-NC :
computerized numerical control.

NCK Numerical Control Kernel: Component of the NC control which


executes -> parts programs and essentially coordinates the
movements on the machine tool.

Network A network is the interconnection of several S7-300s and other


terminal devices such as a programming device, for example,
interlinked by means of -> connecting cables. The networked devices
interchange data via the network.

Node number The node number is the "contact address" of a -> CPU or the ->
programming device or another intelligent I/O module if these devices
are exchanging data with one another via a -> network. The node
number is assigned to the CPU or the programming device
by the S7 tool -> "S7 Configuration".

NRK Numeric Robotic Kernel (operating system of the -> NCK)

NURBS Motion control and path interpolation are implemented internally in the
control on the basis of NURBS (Non-Uniform Rational B Splines). A
standard procedure is thus available (SINUMERIK 840D) as an
internal control function for all modes of interpolation.

O
Oblique-plane machining Drilling and milling operations on workpiece surfaces which are
oblique to the coordinate planes of the machine are supported by the
"Oblique surface machining" function.

 Siemens AG, 2004. All rights reserved


A-466 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

OEM The scope for implementing individual solutions (OEM applications)


for the SINUMERIK 840D has been provided for machine
manufacturers who wish to create their own operator interface or
integrate process-oriented functions in the control.

Offset memory Data area in the control in which tool offset data are stored.

Operator interface The operator interface (OI) is the human-machine interface of a CNC.
It takes the form of a screen and has eight horizontal and eight
vertical softkeys.

Oriented spindle stop Stops the workpiece spindle at a specified orientation angle, e.g. to
perform an additional machining operation at a specific position.

Oriented tool retraction RETTOOL: If machining is interrupted (e.g. when a tool breaks), a
program command can be used to retract the tool in a user-specified
orientation by a defined distance.

Override Manual or programmable control feature which enables the user to


override programmed feedrates or speeds in order to adapt them to a
specific workpiece or material.

P
Parameters 1. S7-300: The S7-300 uses two types of parameter:
- Parameter of a STEP7 statement
A parameter of a STEP7 statement is the address of the
operand to be processed or a constant.
- Parameter of a -> parameter block
A parameter of a parameter block determines the behavior
of a module.
2. 840D/FM-NC:
- Control operating area
- Computation parameter, can be set any number of times or
queried by the programmer for any purpose in the parts
program.

Parts program A sequence of instructions to the NC control which combine to


produce a specific -> workpiece by performing certain machining
operations on a given -> blank.

Parts program The parts program management function can be organized according
management to -> workpieces. The size of the user memory determines the number
of programs and data to be managed. Each file (programs and data)
can be given a name consisting of a maximum of 16 alphanumeric
characters.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-467
A A
Appendix 03.04
B Terms

Path axis Path axes are all the machining axes in the -> channel which are
controlled by the -> interpolator such that they start, accelerate, stop
and reach their end positions simultaneously.

Path feed The path feed acts on -> path axes. It represents the geometrical sum
of the feeds on the participating -> geometry axes.

Path velocity The maximum programmable path velocity depends on the input
resolution. With a resolution of 0.1mm, for example, the maximum
programmable path velocity is 1000 m/min.

PG Programming Device

PLC Programmable Logic Control Component of the -> NC:


Programmable controller for processing the control logic on the
machine tool.

PLC program memory • SINUMERIK Fm-NC:


The PLC user program of CPU 314, the user data and the basic
PLC program are stored together in the PLC user memory. A user
memory of 24 KB is available on the S7-CPU314.

• SINUMERIK 840D:
The PLC user program, the user data and the basic PLC program
are stored together in the PLC user memory. The PLC user
memory can be expanded to up to 96 KB.

PLC programming The PLC is programmed with the STEP7 software. The STEP 7
programming software is based on the standard WINDOWS operating
system and incorporates the functionality of STEP5 programming with
innovative expansions and developments.

Polar coordinates A coordinate system which defines the position of a point on a plane
in terms of its distance from the origin and the angle formed by the
radius vector with a defined axis.

Polynomial interpolation Polynomial interpolation provides a means of generating a very wide


range of curves, including straight-line, parabolic and exponential
functions (SINUMERIK 840D).

Positioning axis An axis which performs an auxiliary movement on a machine tool (e.g.
tool magazine, pallet transport). Positioning axes are axes that do not
interpolate with the -> path axes.

 Siemens AG, 2004. All rights reserved


A-468 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Power ON The action of switching the control off and then on again.

Preset The control zero point can be redefined in the machine coordinate
system by means of the Preset function. Preset does not cause the
axes to move; instead, a new position value is entered for the current
axis positions.

Program 1. Control operating area


2. Sequence of instructions to the control system.

Program block Program blocks contain the main programs and subroutines of the ->
parts programs.

Programmable frames Programmable -> frames can be used to define new coordinate
system starting points dynamically while the parts program is running.
A distinction is made between absolute definition using a new frame
and additive definition with reference to an existing starting point.

Programmable logic Programmable logic controllers (PLC) are electronic controllers whose
controller functions are stored as a program in the control unit. The design and
wiring of the unit are not, therefore, dependent on the control
functions. Programmable logic controllers have the same structure as
a computer, i.e. they consist of a CPU with memory, input/output
modules and an internal bus system. The I/Os and programming
language are selected according to the requirements of the control
technology involved.

Programmable working Limitation of the movement area of the tool to within defined,
area limitation programmable limits.

Programming key Characters and character sequences which have a defined meaning
in the programming language for -> parts programs (see
Programming Guide).

Protection zone Three-dimensional area within a -> working area which the tool tip is
not permitted to enter.

Q
Quadrant error Contour errors on quadrant transitions caused by frictional fluctuations
compensation on guideways can be largely eliminated by means of quadrant error
compensation. A circularity test is performed to parameterize the
quadrant error compensation function.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-469
A A
Appendix 03.04
B Terms

R
R parameter Calculation parameter. The programmer can assign or request the
values of the R parameter in the -> parts program as required (R
variable).

Rail This rail is used to mount the modules of the S7-300 system.

Rapid traverse The highest traversing speed of an axis used, for example, to bring
the tool from an idle position to the -> workpiece contour or retract it
from the workpiece contour.

Reference point Point on the machine tool with which the measuring system of the
-> machine axes is referenced.

Reference point If the position measuring system used is not an absolute-value


approach encoder, then a reference point approach operation is required to
ensure that the actual values supplied by the measuring system are in
accordance with the machine coordinate values.

Remanence Data areas in data blocks, such as timers, counters and flags are
remanent if their contents are not lost in the case of a restart or Power
Off.

REPOS 1. Reapproach contour, triggered by operator


REPOS allows the tool to be returned to the interrupt position by
means of the direction keys.
2. Programmed contour reapproach
A selection of approach strategies are available in the form of
program commands: Approach point of interruption, approach start
of block, approach end of block, approach a point on the path
between start of block and interruption.

Rigid tapping This function is used to tap holes without the use of a compensating
chuck. The spindle is controlled as an interpolative rotary axis and drill
axis, with the result that threads are tapped precisely to the final
drilling depth, for example, in blind tapped holes (precondition:
Spindle axis mode).

Rotary axis Rotary axes cause the tool or workpiece to rotate to a specified angle
position.

Rotary axis, The range of motion of a rotary axis can be set to smaller than 360
continuously turning degrees or defined as continuous in both directions, depending on the
application. Continuously turning rotary axes are used, for example,
for eccentric machining, grinding and winding.

 Siemens AG, 2004. All rights reserved


A-470 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Rotation Component of a -> frame which defines a rotation of the coordinate


system through a specific angle.

Rounding axis Rounding axes cause the workpiece or tool to rotate to an angle
position described on a graduated grid. When the grid position has
been reached, the axis is "in position".

S
S7 Configuration S7 Configuration is a tool for parameterizing modules. S7
Configuration is used to set a variety of
-> parameter blocks of the -> CPU and the I/O modules on the
-> programming device. These parameters are uploaded to the CPU.

S7-300 bus The S7-300 bus is a serial data bus which supplies modules with the
appropriate voltage and via which they exchange data with one
another. The connection between the modules is made by means of
-> bus connectors.

Safety functions The control includes continuously active monitoring functions which
detect faults in the -> CNC, the programmable controller (-> PLC) and
the machine so early that damage to the workpiece, tool or machine
rarely occurs. In the event of a fault, the machining operation is
interrupted and the drives stopped. The cause of the malfunction is
logged and an alarm issued. At the same time, the PLC is notified that
a CNC alarm is pending.

Scaling Component of a -> frame which causes axis-specific scale alterations.

Serial RS-232 interface For data input / output, one serial RS-232 interface is available on the
MMC module MMC100, and two serial RS-232 interfaces on the MMC
modules MMC101 and MMC102. Machining programs and
manufacturer and user data can be imported and exported via these
interfaces.

Services Control operating area

Setting data Data which provide the control with information about properties of the
machine tool in a way defined by the system software.

Simulator module A simulator module is a module,


• on which, via control elements, digital input values can be
simulated and
• digital output values are displayed.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-471
A A
Appendix 03.04
B Terms

Softkey A key whose name appears on an area of the screen. The choice of
softkeys displayed is adapted dynamically to the operating situation.
The freely assignable function keys (softkeys) are assigned to
functions defined in the software.

Software limit switches Software limit switches define the limits of the travel range of an axis
and prevent the slide contacting the hardware limit switches. Two
pairs of values can be assigned per axis and activated separately via
the -> PLC.

Spindles The spindle functionality is a two-level construct:


1. Spindles: Speed or position-controlled spindle drives analog
+10V (SINUMERIK FM-NC)
digital (SINUMERIK 840D)
2. Auxiliary spindles: Speed-controlled spindle drives "auxiliary
spindle" function package, e.g. for power tools.

Spline interpolation Using the spline interpolation function, the control is able to generate
a smooth curve from just a small number of specified interpolation
points along a setpoint contour.

Standard cycles Standard cycles are used to program machining operations which
repeat frequently:
• For drilling/milling
• For turning (SINUMERIK FM-NC)
The available cycles are listed in menu "Cycle support" in the
"Program" operating area. Once the desired machining cycle has
been selected, the parameters required for assigning values are
displayed in plaintext.

Subblock Block prefixed by "N" containing information for a machining step such
as a position parameter.

Subroutine A sequence of instructions of a -> parts program which can be called


repeatedly with different initial parameters. A subroutine is called from
within a main program. Each subroutine can be blocked against
unauthorized output. -> Cycles are a type of subroutine.

Synchronization Instructions in -> parts programs for coordination of the operations in


different -> channels at specific machining points.

 Siemens AG, 2004. All rights reserved


A-472 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

Synchronized actions 1. Auxiliary function output


While a workpiece is being machined, technological functions
(-> auxiliary functions) can be output from the CNC program to the
PLC. These auxiliary functions control, for example, ancillary
equipment on the machine tool such as the sleeve, gripper, chuck,
etc.
2. High-speed auxiliary function output
The acknowledgement times for the -> auxiliary functions can be
minimized and unnecessary halts in the machining process
avoided for time-critical switching functions.

Synchronized axes Synchronized axes require the same amount of time to traverse their
path as -> geometry axes for their path.

System memory The system memory is a memory in the CPU, where the following
data is stored:
• Data required by the operating system
• The folllowing operands: Timers, counters, flags

System variable A variable which exists although it has not been programmed by the
-> parts program programmer. It is defined by the data type and the
variable name, which is prefixed with $. See also -> User-defined
variable.

T
Teach In Teach In is a means of creating or correcting parts programs. The
individual program blocks can be input via the keyboard and executed
immediately.
Positions approached via the direction keys or handwheel can also be
stored.
Additional information such as G functions, feedrates or M functions
can be entered in the same block.

Text editor -> Editor

Tool Software tool for the entry and editing of -> parameters of a parameter
block. Tools include:
• -> S7 Configuration
• S7 TOP
• S7 Info

Tool A tool employed to shape the workpiece, for example, a turning tool,
milling cutter, drill, laser beam, etc.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-473
A A
Appendix 03.04
B Terms

Tool nose radius A contour is programmed on the assumption that a pointed tool will be
compensation used. Since this is not always the case in practice, the curvature
radius of the tool being used is specified so that the control can make
allowance for it. The curvature center point is guided equidistantly to
the contour at an offset corresponding to the curvature radius.

Tool offset A tool is selected by programming a T function (5 decades, integer)


in the block. Up to nine tool edges (D addresses) can be assigned to
each T number.
The number of tools to be managed in the control is set in
parameterization.

Tool radius In order to program a desired -> workpiece contour directly, the
compensation control must traverse a path equidistant to the programmed contour,
taking into account the radius of the tool used (G41/G42).

Transformation Programming in a Cartesian coordinate system, execution in a non-


Cartesian coordinate system (e.g. with machine axes as rotary axes).

Traversing range The maximum permissible travel range for linear axes is ± 9 decades.
The absolute value depends on the selected input and position control
resolution and the unit of measurement (inch or metric).

U
User memory All programs and data such as parts programs, subroutines,
comments, tool offsets, zero offsets/frames and channel and program
user data can be stored in the common CNC user memory.

User program User programs for S7-300 automation systems are created using the
STEP 7 programming language. The user program has a modular
structure and is comprised of individual blocks.
The basic block types are:
Code blocks: Contain the STEP 7 commands.
Data blocks: Contain constants and variables for the STEP 7
program.

User-defined variable Users can define variables in the -> parts program or data block
(global user data) for their own use. A definition contains a data type
specification and the variable name. See also -> system variable.

 Siemens AG, 2004. All rights reserved


A-474 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
B Terms

V
Variable definition A variable is defined through the specification of a data type and a
variable name. The variable name can be used to address the value
of the variable.

Velocity control In order to achieve an acceptable travel velocity in movements which


call for very small adjustments of position in a block, the control can ->
look ahead.

Vocabulary words Words with a specific notation which have a defined meaning in the
programming language for -> parts programs.

W
Work offset -> Zero offset

Working memory The working storage is a Random Access Memory in the -> CPU
which the processor accesses as it executes the application
program.

Working space Three-dimensional zone into which the tool tip can be moved on
account of the physical design of the machine tool.
See also -> protection zone.

Workpiece Part to be produced/machined by the machine tool.

Workpiece contour Setpoint contour of the -> workpiece to be produced/machined.

Workpiece coordinate The origin of the workpiece coordinate system is the -> workpiece
system zero. In machining operations programmed in the workpiece
coordinate system, the dimensions and directions refer to this
system.

Workpiece zero The workpiece zero forms the starting point for the ->
workpiece coordinate system. It is defined by distances to the
machine zero.

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-475
A A
Appendix 03.04
B Terms

Z
Zero offset Specification of a new reference point for a coordinate system through
reference to an existing zero and a -> frame.
-> Work offset
1. Settable
SINUMERIK FM-NC: Four independent zero offsets can be
selected for each CNC axis.
SINUMERIK 840D: A parameterizable number of settable zero
offsets is available for each CNC axis. Each of the zero offsets can
be selected by G functions and selection is exclusive.
2. External
All offsets which define the position of the workpiece zero can be
overlaid with an external zero offset
- defined by handwheel (DRF offset) or
- defined by the PLC.
3. Programmable
Zero offsets can be programmed for all path and positioning axes
by means of the TRANS instruction.

 Siemens AG, 2004. All rights reserved


A-476 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
C References

C References

General Documentation

/BU/ SINUMERIK & SIMODRIVE, Automation Systems for Machine Tools


Catalog NC 60
Order No.: E86060-K4460-A101-A9-7600

/IKPI/ Industrial Communication and Field Devices


Catalog IK PI
Order No.: E86060-K6710-A101-B2-7600

/ST7/ SIMATIC
Products for Totally Integrated Automation und Micro Automation
Catalog ST 70
Order No.: E86060-K4670-A111-A8-7600

/Z/ MOTION-CONNECT
Cable, Connectors & System Components for SIMATIC, SINUMERIK,
MASTERDRIVES and SIMOTION
Catalog NC Z
Order No.: E86060-K4490-A001-B1-7600

Electronic Documentation

/CD1/ The SINUMERIK System (03.04 Edition)


DOC ON CD
(includes all SINUMERIK 840D/840Di/810D/802 and
SIMODRIVE publications)
Order No.: 6FC5298-7CA00-0BG0

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-477
A A
Appendix 03.04
C References

User Documentation

/AUK/ SINUMERIK 840D/810D (09.99 Edition)


Short Guide AutoTurn Operation
Order No.: 6FC5298-4AA30-0BP2

/AUP/ SINUMERIK 840D/810D (02.02 Edition)


Operator's Guide AutoTurn Graphic Programming System
Programming / Setup
Order No.: 6FC5298-4AA40-0BP3

/BA/ SINUMERIK 840D/810D (10.00 Edition)


Operator's Guide MMC
Order No.: 6FC5298-6AA00-0BP0

/BAD/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Operator's Guide HMI Advanced
Order No.: 6FC5298-6AF00-0BP3

/BAH/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Operator's Guide HT 6
Order No.: 6FC5298-0AD60-0BP3

/BAK/ SINUMERIK 840D/840Di/810D (02.01 Edition)


Short Guide Operation
Order No.: 6FC5298-6AA10-0BP0

/BAM/ SINUMERIK 810D/840D (08.02 Edition)


Operation/Programming ManualTurn
Order No.: 6FC5298-6AD00-0BP0

/BAS/ SINUMERIK 840D/840Di/810D (11.03 Edition)


Operation/Programming ShopMill
Order No.: 6FC5298-6AD10-0BP2

/BAT/ SINUMERIK 840D/810D (06.03 Edition)


Operation/Programming ShopTurn
Order No.: 6FC5298-6AD50-0BP2

/BEM/ SINUMERIK 840D/810D (03.04 Edition)


Operator's Guide HMI Embedded
Order No.: 6FC5298-6AC00-0BP3

/BNM/ SINUMERIK 840D/840Di/810D (03.04 Edition)


User's Guide Measuring Cycles
Order No.: 6FC5298-6AA70-0BP3

/BTDI/ SINUMERIK 840D/840Di/810D (04.03 Edition)


Motion Control Information System (MCIS)
User's Guide Tool Data Information
Order No.: 6FC5297-6AE01-0BP0

/CAD/ SINUMERIK 840D/840Di/810D (03.02 Edition)


Operator's Guide CAD-Reader
Order No.: (included in online help)

/DA/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Diagnostics Guide
Order No.: 6FC5298-6AA20-0BP4

 Siemens AG, 2004. All rights reserved


A-478 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
C References

/KAM/ SINUMERIK 840D/810D (04.01 Edition)


Short Guide ManualTurn
Order No.: 6FC5298-5AD40-0BP0

/KAS/ SINUMERIK 840D/810D (04.01 Edition)


Short Guide ShopMill
Order No.: 6FC5298-5AD30-0BP0

/KAT/ SINUMERIK 840D/810D (07.01 Edition)


Short Guide ShopTurn
Order No.: 6FC5298-6AF20-0BP0

/PG/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Programming Guide Fundamentals
Order No.: 6FC5298-7AB00-0BP0

/PGA/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Programming Guide Advanced
Order No.: 6FC5298-7AB10-0BP0

/PGK/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Short Guide Programming
Order No.: 6FC5298-7AB30-0BP0

/PGM/ SINUMERIK 840D/840Di/810D (11.02 Edition)


Programming Guide ISO Milling
Order No.: 6FC5298-6AC20-0BP2

/PGT/ SINUMERIK 840D/840Di/810D (11.02 Edition)


Programming Guide ISO Turning
Order No.: 6FC5298-6AC10-0BP2

/PGZ/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Programming Guide Cycles
Order No.: 6FC5298-7AB40-0BP0

/PI/ PCIN 4.4


Software for Data Transfer to/from MMC Module
Order No.: 6FX2060-4AA00-4XB0 (English, French, German)
Order from: WK Fürth

/SYI/ SINUMERIK 840Di (02.01 Edition)


System Overview
Order No.: 6FC5298-6AE40-0BP0

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-479
A A
Appendix 03.04
C References

Manufacturer/Service Documentation
a) Lists
/LIS/ SINUMERIK 840D/840Di/810D (03.04 Edition)
SIMODRIVE 611D
Lists
Order No.: 6FC5297-7AB70-0BP0

b) Hardware
/ASAL/ SIMODRIVE (10.03 Edition)
Planning Guide General Information for Asynchronous Motors
Order No.: 6SN1197-0AC62-0BP0

/APH2/ SIMODRIVE (10.03 Edition)


Planning Guide 1PH2 Asynchronous Motors
Order No.: 6SN1197-0AC63-0BP0

/APH4/ SIMODRIVE (10.03 Edition)


Planning Guide 1PH4 Asynchronous Motors
Order No.: 6SN1197-0AC64-0BP0

/APH7/ SIMODRIVE (12.03 Edition)


Planning Guide 1PH7 Asynchronous Motors
Order No.: 6SN1197-0AC65-0BP0

/APL6/ SIMODRIVE (12.03 Edition)


Planning Guide 1PL6 Asynchronous Motors
Order No.: 6SN1197-0AC66-0BP0

/BH/ SINUMERIK 840D/840Di/810D (11.03 Edition)


Operator Components Manual
Order No.: 6FC5297-6AA50-0BP3

/BHA/ SIMODRIVE Sensor (03.03 Edition)


User's Guide (HW) Absolute Position Sensor with Profibus-DP
Order No.: 6SN1197-0AB10-0YP2

/EMV/ SINUMERIK, SIROTEC, SIMODRIVE (06.99 Edition)


Planning Guide EMC-Installation Guide
Order No.: 6FC5297-0AD30-0BP1

The current Declaration of Conformity is available under the following


Internet address:
http://www4.ad.siemens.de

Please enter the ID No.: 15257461 in the "Search" field (top right) and
click on "go".

/GHA/ SINUMERIK/SIMOTION (02.03 Edition)


ADI4 – Analog Drive Interface for 4 Axes
Manual
Order No.: 6FC5297-0BA01-0BP1

/PFK6/ SIMODRIVE (05.03 Edition)


Planning Guide 1FK6 Three-Phase AC Servomotors
Order No.: 6SN1197-0AD05-0BP0

/PFK7/ SIMODRIVE (01.03 Edition)


Planning Guide 1FK7 Three-Phase AC Servomotors
Order No.: 6SN1197-0AD06-0BP0

 Siemens AG, 2004. All rights reserved


A-480 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
C References

/PFS6/ SIMOVERT MASTERDRIVES (07.03 Edition)


Planning Guide 1FS6 Three-Phase AC Servomotors
Order No.: 6SN1197-0AD08-0BP0

/PFT5/ SIMODRIVE (05.03 Edition)


Planning Guide 1FT5 Three-Phase AC Servomotors
Order No.: 6SN1197-0AD01-0BP0

/PFT6/ SIMODRIVE 611, SIMOVERT MASTERDRIVES (12.03 Edition)


Planning Guide 1FT6 Three-Phase AC Servomotors
Order No.: 6SN1197-0AD02-0BP0

/PFU/ SINAMICS, SIMOVERT MASTERDRIVES, (09.03 Edition)


MICROMASTER
SIEMOSYN Motors 1FU8
Order No.: 6SN1197-0AC80-0BP0

/PHC/ SINUMERIK 810D (11.02 Edition)


Configuring Manual CCU (HW)
Order No.: 6FC5297-6AD10-0BP1

/PHD/ SINUMERIK 840D (11.03 Edition)


Configuring Manual NCU NC 561.2-573.4 (HW)
Order No.: 6FC5297-6AC10-0BP3

/PJAL/ SIMODRIVE 611, SIMOVERT MASTERDRIVES (01.03 Edition)


Planning Guide Three-Phase AC Servomotors
General Part for 1FT/1FK Motors
Order No.: 6SN1197-0AD07-0BP0

/PJFE/ SIMODRIVE (02.03 Edition)


Planning Guide 1FE1 Built-In Synchronous Motors
Three-Phase AC Motors for Main Spindle Drives
Order No.: 6SN1197-0AC00-0BP4

/PJF1/ SIMODRIVE (12.02 Edition)


Installation Guide 1FE1 051.-1FE1 147. Built-In Synchronous Motors
Three-Phase AC Motors for Main Spindle Drives
Order No.: 610.43000.02

/PJLM/ SIMODRIVE (06.02 Edition)


Planning Guide 1FN1, 1FN3 Linear Motors
ALL General Information about Linear Motors
1FN1 1FN1 Three-Phase AC Linear Motor
1FN3 1FN3 Three-Phase AC Linear Motor
CON Connections
Order No.: 6SN1197-0AB70-0BP3

/PJM/ SIMODRIVE 611, SIMOVERT MASTERDRIVES (11.00 Edition)


Planning Guide Motors
Three-Phase AC Servo Motors for Feed and Main Spindle Drives
Order No.: 6SN1197-0AA20-0BP4

/PJM2/ SIMODRIVE (07.03 Edition)


Planning Guide Servomotors
Three-Phase AC Motors for Feed and Main Spindle Drives
Order No.: 6SN1197-0AC20-0BP0

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-481
A A
Appendix 03.04
C References

/PJTM/ SIMODRIVE (05.03 Edition)


Planning Guide 1FW6 Integrated Torque Motors
Order No.: 6SN1197-0AD00-0BP1

/PJU/ SIMODRIVE 611 (02.03 Edition)


Planning Guide Inverters
Order No.: 6SN1197-0AA00-0BP6

/PMH/ SIMODRIVE Sensor (07.02 Edition)


Configuring/Installation Guide
Hollow-Shaft Measuring System SIMAG H
Order No.: 6SN1197-0AB30-0BP1

/PMHS/ SIMODRIVE (12.00 Edition)


Installation Guide Measuring System for Main Spindle Drives
SIZAG2 Toothed-Wheel Encoder
Order No.: 6SN1197-0AB00-0YP3

/PMS/ SIMODRIVE (02.03 Edition)


Planning Guide
ECO Motor Spindle for Main Spindle Drives
Order No.: 6SN1197-0AD04-0BP0

/PPH/ SIMODRIVE (12.01 Edition)


Planning Guide 1PH2, 1PH4, 1PH7 Motors
AC Induction Motors for Main Spindle Drives
Order No.: 6SN1197-0AC60-0BP0

/PPM/ SIMODRIVE (11.01 Edition)


Planning Guide
Hollow-Shaft Motors for 1PM4 and 1PM6 Main Spindle Drives
Order No.: 6SN1197-0AD03-0BP0

c) Software
/FB1/ SINUMERIK 840D/840Di/810D (03.04 Edition)
Description of Functions Basic Machine (Part 1)
(the various sections are listed below)
Order No.: 6FC5297-7AC20-0BP0
A2 Various Interface Signals
A3 Axis Monitoring, Protection Zones
B1 Continuous Path Mode, Exact Stop and Look Ahead
B2 Acceleration
D1 Diagnostic Tools
D2 Interactive Programming
F1 Travel to Fixed Stop
G2 Velocities, Setpoint/Actual-Value Systems, Closed-Loop Control
H2 Output of Auxiliary Functions to PLC
K1 Mode Group, Channel, Program Operation Mode
K2 Axes, Coordinate Systems, Frames, Actual-Value System for
Workpiece, External Zero Offset
K4 Communication
N2 EMERGENCY STOP
P1 Transverse Axes
P3 Basic PLC Program
R1 Reference Point Approach
S1 Spindles
V1 Feeds
W1 Tool Offset

 Siemens AG, 2004. All rights reserved


A-482 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
C References

/FB2/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Description of Functions Extended Functions (Part 2)
including FM-NC: Turning, Stepper Motor
(the various sections are listed below)
Order No.: 6FC5297-7AC30-0BP0
A4 Digital and Analog NCK I/Os
B3 Several Operator Panels and NCUs
B4 Operation via PG/PC
F3 Remote Diagnostics
H1 JOG with/without Handwheel
K3 Compensations
K5 Mode Groups, Channels, Axis Replacement
L1 FM-NC Local Bus
M1 Kinematic Transformation
M5 Measurement
N3 Software Cams, Position Switching Signals
N4 Punching and Nibbling
P2 Positioning Axes
P5 Oscillation
R2 Rotary Axes
S3 Synchronous Spindles
S5 Synchronized Actions (up to and including SW 3/higher/FBSY/)
S6 Stepper Motor Control
S7 Memory Configuration
T1 Indexing Axes
W3 Tool Change
W4 Grinding

/FB3/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Description of Functions Special Functions (Part 3)
(the various sections are listed below)
Order No.: 6FC5297-7AC80-0BP0
F2 3-Axis to 5-Axis Transformation
G1 Gantry Axes
G3 Cycle Times
K6 Contour Tunnel Monitoring
M3 Coupled Motion and Leading Value Coupling
S8 Constant Workpiece Speed for Centerless Grinding
T3 Tangential Control
TE0 Installation and Activation of Compile Cycles
TE1 Clearance Control
TE2 Analog Axis
TE3 Master-Slave for Drives
TE4 Transformation Package Handling
TE5 Setpoint Exchange
TE6 MCS Coupling
TE7 Retrace Support
TE8 Path-Synchronous Switch Signal
V2 Preprocessing
W5 3D Tool Radius Compensation

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-483
A A
Appendix 03.04
C References

/FBA/ SIMODRIVE 611D/SINUMERIK 840D/810D (03.04 Edition)


Description of Functions Drive Functions
(the various sections are listed below)
Order No.: 6SN1197-0AA80-1BP1
DB1 Operation Messages/Alarm Reactions
DD1 Diagnostic Functions
DD2 Speed Control Loop
DE1 Extended Drive Functions
DF1 Enable Commands
DG1 Encoder Parameterization
DL1 Linear Motor MD
DM1 Calculation of Motor/Power Section Parameters and Controller
Data
DS1 Current Control Loop
DÜ1 Monitors/Limitations

/FBAN/ SINUMERIK 840D/SIMODRIVE 611 digital (02.00 Edition)


Description of Functions ANA MODULE
Order No.: 6SN1197-0AB80-0BP0

/FBD/ SINUMERIK 840D (07.99 Edition)


Description of Functions Digitizing
Order No.: 6FC5297-4AC50-0BP0
DI1 Start-up
DI2 Scanning with Tactile Sensors (scancad scan)
DI3 Scanning with Lasers (scancad laser)
DI4 Milling Program Generation (scancad mill)

/FBDM/ SINUMERIK 840D/840Di/810D (09.03 Edition)


Description of Functions NC Program Management
DNC Machines
Order No.: 6FC5297-1AE81-0BP0

/FBDN/ SINUMERIK 840D/840Di/810D (03.03 Edition)


Motion Control Information System (MCIS)
Description of Functions DNC NC Program Management
Order No.: 6FC5297-1AE80-0BP0
DN1 DNC Plant/DNC Cell
DN2 DNC IFC SINUMERIK, NC Data Transfer via Network

/FBFA/ SINUMERIK 840D/840Di/810D (11.02 Edition)


Description of Functions ISO Dialects for SINUMERIK
Order No.: 6FC5297-6AE10-0BP3

/FBFE/ SINUMERIK 840D/810D (04.03 Edition)


Description of Functions Remote Diagnosis
Order No.: 6FC5297-0AF00-0BP2
FE1 Remote Diagnosis ReachOut
FE3 Remote Diagnosis pcAnywhere

/FBH/ SINUMERIK 840D/840Di/810D


HMI Configuration Package (11.02 Edition)
Order No.: (supplied with the software)

Part 1 User's Guide


Part 2 Description of Functions

/FBH1/ SINUMERIK 840D/840Di/810D


HMI Configuration Package (03.03 Edition)
ProTool/Pro Option SINUMERIK
Order No.: (supplied with the software)

 Siemens AG, 2004. All rights reserved


A-484 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
C References

/FBHL/ SINUMERIK 840D/SIMODRIVE 611 digital (10.03 Edition)


Description of Functions HLA Module
Order No.: 6SN1197-0AB60-0BP3

/FBIC/ SINUMERIK 840D/840Di/810D (06.03 Edition)


Motion Control Information System (MCIS)
Description of Functions TDI Ident Connection
Order No.: 6FC5297-1AE60-0BP0

/FBMA/ SINUMERIK 840D/810D (08.02 Edition)


Description of Functions ManualTurn
Order No.: 6FC5297-6AD50-0BP0

/FBO/ SINUMERIK 840D/810D (09.01 Edition)


Description of Functions Configuring OP 030 Operator Interface
Order No.: 6FC5297-6AC40-0BP0
BA Operator's Guide
EU Development Environment (Configuring Package)
PSE Introduction to Configuring of Operator Interface
(IK Screen Kit: Software Update and Configuration)

/FBP/ SINUMERIK 840D (03.96 Edition)


Description of Functions C-PLC-Programming
Order No.: 6FC5297-3AB60-0BP0

/FBR/ SINUMERIK 840D/840Di/810D (09.01 Edition)


IT Solutions
Description of Functions Computer Link (SinCOM)
Order No.: 6FC5297-6AD60-0BP0
NFL Host Computer Interface
NPL PLC/NCK Interface

/FBSI/ SINUMERIK 840D/SIMODRIVE (11.03 Edition)


Description of Functions SINUMERIK Safety Integrated
Order No.: 6FC5297-6AB80-0BP2

/FBSP/ SINUMERIK 840D/840Di/810D (08.03 Edition)


Description of Functions ShopMill
Order No.: 6FC5297-6AD80-0BP1

/FBST/ SIMATIC (01.01 Edition)


Description of Functions FM STEPDRIVE/SIMOSTEP
Order No.: 6SN1197-0AA70-0YP4

/FBSY/ SINUMERIK 840D/810D (10.02 Edition)


Description of Functions Synchronized Actions
Order No.: 6FC5297-6AD40-0BP2

/FBT/ SINUMERIK 840D/810D (01.02 Edition)


Description of Functions ShopTurn
Order No.: 6FC5297-6AD70-0BP1

/FBTC/ SINUMERIK 840D/810D (01.02 Edition)


IT Solutions
Tool Data Communication SinTDC Description of Functions
Order No.: 6FC5297-5AF30-0BP0

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-485
A A
Appendix 03.04
C References

/FBTD/ SINUMERIK 840D/810D (02.01 Edition)


IT Solutions
Tool Information System (SinTDI) with Online Help
Description of Functions
Order No.: 6FC5297-6AE00-0BP0
/FBTP/ SINUMERIK 840D/840Di/810D (01.03 Edition)
Motion Control Information System (MCIS)
Description of Functions TPM Total Productive Maintenance
Order No.: Document is supplied with the software
/FBU/ SIMODRIVE 611 universal/universal E (07.03 Edition)
Closed-Loop Control Component for
Speed Control and Positioning Description of Functions
Order No.: 6SN1197-0AB20-0BP8
/FBU2/ SIMODRIVE 611 universal (04.02 Edition)
Installation Guide
(enclosed with SIMODRIVE 611 universal)
/FBW/ SINUMERIK 840D/810D (03.04 Edition)
Description of Functions Tool Management
Order No.: 6FC5297-6AC60-0BP1
/HBA/ SINUMERIK 840D/840Di/810D (03.02 Edition)
Manual @Event
Order No.: 6AU1900-0CL20-0BA0
/HBI/ SINUMERIK 840Di (09.03 Edition)
Manual SINUMERIK 840Di
Order No.: 6FC5297-6AE60-0BP2
/INC/ SINUMERIK 840D/840Di/810D (06.03 Edition)
System Description Commissioning Tool SINUMERIK SinuCOM NC
Order No.: (an integral part of the online help for the start-up tool)
/PJE/ SINUMERIK 840D/810D (08.01 Edition)
Description of Functions Configuring Package HMI Embedded
Software Update, Configuration Installation
Order No.: 6FC5297-6EA10-0BP0

(The document PS Configuring Syntax is supplied with the software and


available as a pdf-file.)
/POS1/ SIMODRIVE POSMO A (08.03 Edition)
User's Guide Distributed Positioning Motor on PROFIBUS DP
Order No.: 6SN2197-0AA00-0BP6
/POS2/ SIMODRIVE POSMO A (05.03 Edition)
Installation Guide (enclosed with POSMO A)
/POS3/ SIMODRIVE POSMO SI/CD/CA (07.03 Edition)
User's Guide Distributed Servo Drive Systems
Order No.: 6SN2197-0AA20-0BP5
/POS4/ SIMODRIVE POSMO SI (04.02 Edition)
Installation Guide (enclosed with POSMO SI)
/POS5/ SIMODRIVE POSMO CD/CA (04.02 Edition)
Installation Guide (enclosed with POSMO CD/CA)

 Siemens AG, 2004. All rights reserved


A-486 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
A A
03.04 Appendix
C References

/S7H/ SIMATIC S7-300 (2002 Edition)


Installation Manual Technological Functions
Order No.: 6ES7398-8AA03-8BA0
- Reference Manual: CPU Data (Hardware)
- Reference Manual: Module Data

/S7HT/ SIMATIC S7-300 (03.97 Edition)


Manual: STEP 7, Fundamentals, V. 3.1
Order No.: 6ES7810-4CA02-8BA0

/S7HR/ SIMATIC S7-300 (03.97 Edition)


Manual: STEP 7, Reference Manuals, V. 3.1
Order No.: 6ES7810-4CA02-8BR0

/S7S/ SIMATIC S7-300 (04.02 Edition)


FM 353 Positioning Module for Stepper Drive
Order together with configuring package

/S7L/ SIMATIC S7-300 (04.02 Edition)


FM 354 Positioning Module for Servo Drive
Order together with configuring package

/S7M/ SIMATIC S7-300 (01.03 Edition)


FM 357.2 Multimodule for Servo and Stepper Drives
Order together with configuring package

/SP/ SIMODRIVE 611-A/611-D


SimoPro 3.1
Program for Configuring Machine-Tool Drives
Order No.: 6SC6111-6PC00-0BA❏
Order from: WK Fürth

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition A-487
A A
Appendix 03.04
C References

d) Installation
and Start-up

/BS/ SIMODRIVE 611 analog (10.00 Edition)


Description Start-Up Software for Main Spindle and
Ansynchronous Motor Modules Version 3.20
Order No.: 6SN1197-0AA30-0BP1

/IAA/ SIMODRIVE 611A (10.00 Edition)


Installation and Start-Up Guide
Order No.: 6SN1197-0AA60-0BP6

/IAC/ SINUMERIK 810D (11.02 Edition)


Installation and Start-Up Guide
(incl. description of SIMODRIVE 611D start-up software)
Order No.: 6FC5297-6AD20-0BP1

/IAD/ SINUMERIK 840D/SIMODRIVE 611D (03.04 Edition)


Installation and Start-Up Guide
(incl. description of SIMODRIVE 611D digital start-up software
SIMODRIVE 611D)
Order No.: 6FC5297-7AB10-0BP0

/IAM/ SINUMERIK 840D/840Di/810D (03.04 Edition)


Installation and Start-Up Guide HMI/MMC
Order No.: 6FC5297-6AE20-0BP3
AE1 Updates/Supplements
BE1 Expanding the Operator Interface
HE1 Online Help
IM2 Starting up HMI Embedded
IM4 Starting up HMI Advanced
TX1 Creating Foreign Language Texts

 Siemens AG, 2004. All rights reserved


A-488 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
I I
03.04 Appendix
Index

D Index Axial DRF deselection and $AA_OFF deselection


6-231
$ Axis Q 2-59
$AA_ACC 7-264 Axis types
$AA_OFF deselection 6-232 Channel axes 1-39
$P_GWPS 7-273 Machine axes 1-39
$TC_ECPxy 8-341 Main spindle 1-39
$TC_SCPxy 8-341 Path axes 1-40
$TC_TPG1, ..., ...9 8-339 Positioning axes 1-40
$TC_TPG1/...8/...9 7-273 Special axes 1-39
2 Synchronized axes 1-42
2 straight lines 4-141 Axis U, V, W, X, Y, Z 2-59
3 B
3 straight lines 4-142 Basic coordinate system 1-33
A Blank 8-309
Absolute dimension 1-26 Block number 2-56, 2-57
Absolute dimensioning 3-85 Blocks 2-55
Acceleration Block format 2-55
Pattern 5-189 Block length 2-55
Activate/deactivate working area limitation 3-101 Block number 2-57
Additive offsets Comments 2-71
Delete 8-343 Main block/subblock 2-56
Select 8-340 Sequence of words in a block 2-56
Address letters 12-406 Skipping block/blocks 2-69
Address of block number N 2-56 Bottleneck detection 8-331
Addresses 2-58 C
Extended addresses 2-60 Centerless grinding 7-275
Fixed addresses 2-61, 12-407 Constant workpiece speed 7-275
Fixed addresses with axis extension 2-62 Chamfer 4-172
Modal/non-modal addresses 2-60 Chamfer the contour corner 4-172
Value assignment 2-64 Change of direction 8-317
Variable addresses 2-62 Channel axes 1-39
Alarm Character set 2-53
Number 2-73 Circle
Text 2-73 Radius CR 2-58
Align workpiece coordinate system on workpiece Circle radius CR 2-59
6-226 Circular interpolation 4-121
Aperture angle AC 2-59 Cirle programming
Approach and retraction velocities 8-323 With radius and end point 4-124
Approach point/angle 8-309 Helical interpolation 4-134
Approach, retraction paths 8-309 Programming a circle
Approaching a fixed point 4-162 With arc angle and center point 4-125
Arithmetic parameters R 2-59, 10-366 With center and end points 4-122
ATRANS 6-203, 6-207, 10-366 With intermediate and end points 4-128
Auxiliary function H 2-56, 2-58 With polar coordinates 4-126
Axial DRF deselection 6-231 With tangential transition 4-130
Specification of working plane 4-122

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition I-489
I I
Appendix 03.04
Index

Circular magazine 8-296 Selectable transitions 8-316


Clamping torque FXST 4-167 Transition circle 8-315
COARSEA 7-249 Corner rounding 5-183, 5-184
Collision Detection ON (CDON)/OFF (CDOF) CORROF 6-230
8-330 Cutting rate, constant 7-270, 7-271
Collision monitoring 8-330 Cylinder coordinates 4-111
Collision monitoring off Cylinder surface transformation 7-254
Determine offset from two adjacent blocks Cylinder thread 4-145
8-332 D
Collisions 8-310 Data types 2-67
Command axes 1-42 Constants 2-68
Comments 2-71 Deactivate compensation mode
Compensation plane 8-334 G40 8-310
Constant G40, KONT 8-311
Cutting rate 7-270 Definition of workpiece positions 1-23
Grinding wheel peripheral speed 7-272 Deselect frame 6-229
Workpiece speed 7-275 Destination 10-369, 10-371
Constants 2-68 Dimensioning
Binary constants 2-69 Incremental dimensioning 3-88
Hexadecimal constants 2-68 Dimensions 3-91
Integer constants 2-68 Absolute dimensioning 3-85
Real constants 2-68 Absolute/relative 3-85, 3-88
Continuous-path mode 5-178, 5-180, 5-181 Incremental dimensioning 3-85
Look Ahead 5-187 Metric/inch, G70/G71 3-91
With programmable transition rounding 5-180 Metric/inch, G700/G710 3-91
Contour Rotary axes and spindles 3-89
Approach, retract 8-309 DISC 8-315
Point 8-309 DL number 8-340
Roughing 2-72 Dwell time 5-197
Violation 8-331 E
Contour accuracy, programmable 5-196 End of block LF 2-54
Contour definitions 4-140 End of program, M2, M17, M30 2-52, 9-363
Coordinate systems 1-22 Exact stop
Absolute dimension 1-26 Command output 5-179
Basic coordinate system 1-33 End of interpolation 5-179
Incremental dimension 1-27 Positioning window 5-178
Machine coordinate system 1-31 F
Overview 1-29 Face thread 4-146
Plane designations 1-28 Facing axis
Polar coordinates 1-25 Zero points 4-169
Workpiece coordinate system 1-34 Feed
Coordinate systems and workpiece machining Axial feed FA 2-58
1-48 Example of optimization 7-266
Coordinate systems of active machining operation FPRAON, FPRAOFF 7-257
8-346 G95 FPR(…) 7-256
Corner behavior Units of measurement 7-235
Intersection 8-317 Feed F 2-56, 2-58

 Siemens AG, 2004. All rights reserved


I-490 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
I I
03.04 Appendix
Index

Feedforward control 5-195 G50 10-367


Feedrate 7-234 G642 5-180, 5-183
For path axes, F 7-236 G643 5-180, 5-183
For positioning axes 7-255 G644 5-180
For synchronized axes 7-236 G70 3-91
Modal 4-172 G700 3-92
Optimization for curved path sections, CFTCP, G71 3-91
CFC, CFIN 7-265 G710 3-92
Programmed 4-172 Geometry axes 1-38
With handwheel override, FD, FDA 7-259 Switchable 1-38
Feedrate non-modal 4-172 Geometry/speed monitoring 8-339
Feedrate override, percentage, OVR,OVRA Grinding wheel peripheral speed 7-272
7-258 Grinding wheel peripheral speed, constant 7-272
Feedrates in one block 7-278 Grinding-specific tool monitoring 8-338
FINEA 7-249 H
Fixed stop H functions 9-364
Clamping torque 4-167 High-speed function outputs, QU 9-359
Monitoring window 4-167 Halt at cycle end 9-362
Travel to fixed stop 4-163 Handwheel override 7-259
Flat D number structure 8-292 Handwheel travel
FPRAOF50 7-255 With velocity overlay 7-260
FPRAON50 7-255 Helical interpolation 4-134, 4-136
Frame generation according to tool orientation, Motional sequence 4-135, 4-137
TOFRAME, TOROT, PAROT 6-226 Programming the end point 4-135
Frame instructions Helix interpolation 4-134
Additive instructions 6-202 High-speed function outputs, QU 9-359
Programmable mirroring 6-222 I
Programmable rotation 6-210 Identifier for character string 2-54
Programmable scale factor 6-219 Identifier for special numerical values 2-54
Programmable zero offset 6-203, 6-207 Identifier for system variables 2-54
Settable and programmable instructions Identifiers 2-65
6-201 Array identifiers 2-67
Frame rotation Identifier name 2-66
In tool direction 6-226 Variable identifiers 2-66
Frame rotation in working direction Incremental dimension 1-27
G18 6-227 Incremental dimensioning 3-85, 3-88
G18 or G19 6-227 Infeed movement 8-315
Frame system 1-34, 6-200 Inside contour 8-331
Function outputs Internal preprocessor stop 5-198, 7-243
For travel commands 9-359 Interpolation parameter I, J, K 2-61
In continuous-path mode 9-360 Interpolation parameter IP, J, K 2-58
G INVCCW 4-136
G function list 12-413 INVCW 4-136
G34 4-152 IPOENDA 7-249
G35 4-152 J
G4050 8-344 J50 3-91
G4250 8-344 Jerk limitation 5-189, 5-191

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition I-491
I I
Appendix 03.04
Index

Jump destinations 2-70 Overview of coordinate systems 1-29


Jump instruction 10-369, 10-371 P
L Path action, depending on DISC values 8-316
LINE FEED 2-55 Path axes
Linear interpolation 4-115, 4-118 Traverse with handwheel override 7-261
Linear progressive and degressive thread lead Path axes 1-40
change 4-152 Path override OVR 2-58
List Path tangent 8-310
Of predefined subprograms 12-425 Plane designations 1-28
Of preparatory functions (G functions) 12-413 PLC axes 1-42, 1-43, 1-45
Of statements 12-390 Polar
Look Ahead 5-187 Angle AP 2-59
M Radius RP 2-59
M command sequence 9-360 Polar coordinates 1-25, 4-110
M functions 9-361 Cylinder coordinates 4-111
End of program, M2, M17, M30 9-363 Defining the pole 4-111
Optional stop 9-362 Polar angle AP 4-112
Programmed stop, MO 9-362 Polar radius RP 4-112
M550 7-267 Working plane 4-111
M6 8-291, 8-293 Polar radius RP = 0 4-112
Machine axes 1-39 Position-controlled spindle operation 7-245
Machine coordinate system 1-31 Positioning axes 1-40
Main axes 1-38 Traversing 7-242
Main block 2-56, 2-59 Positioning axis POS 2-58
Main spindle 1-39 Positioning position-controlled spindles
Make active tool offset operative immediately Position a rotating spindle 7-246
8-301 Preparatory
Master spindle 1-39 Function G 2-56
Messages 2-72 Information X, Y, Z 2-56
Miscellaneous function M 2-56, 2-58 Preparatory function G 2-58
MMC A-449 Preprocessor stop 7-243
Modal feedrate 4-172 Program
Modal rounding 4-172 Identifier 2-52
Monitoring window FXSW 4-167 Name 2-52
Motion commands 4-108 Programming messages 2-72
Number of axis values 4-108 Setting alarms 2-73
Programming motion commands Program jumps, conditional 10-371
4-108 Program jumps, unconditional 10-369
Start point - destination point 4-108 Program passes, number P 2-58
N Program repetition 11-379
NC program 2-52 Program section 2-69
Non-cutting tool path 8-317 Program section repetition 11-380
Non-linear interpolation 4-115 Programmable contour accuracy 5-196
Non-modal feedrate 4-172 Programmable frame rotations with solid angles
O 6-218
Offset memory 8-335 Programmable mirroring, MIRROR, AMIRROR
Operators 2-63, 2-64 6-222

 Siemens AG, 2004. All rights reserved


I-492 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
I I
03.04 Appendix
Index

Programmable rotation Ten skip levels 2-70


Change of planes 6-215 Skip levels 2-70
Direction of rotation 6-212 Smooth approach and retraction 8-319
In space 6-211 SOFTA50 5-189
ROT, AROT 6-210 Special axes 1-39
Programmable scale factor, SCALE, ASCALE Special characters 2-54
6-219 Speed S 2-56
Programmable zero offset Spindle 7-267
G58, G59 6-207 Direction of spindle rotation 7-267
TRANS, ATRANS 6-203 Position SPOS, SPOSA 2-61
Programmed feedrate 4-172 Position-controlled spindle operation 7-245
Programmed rotation in the plane 6-214 Positioning spindles for position-controlled axis
Programmed stop, M0 9-362 operation 7-246
Programming language Speed S 2-58, 2-61
Addresses 2-58 Spindle speed 7-268
Blocks 2-55 Working with several spindles 7-268
Character set 2-53 Spindle position across block boundary SPOSA
Data types 2-67 2-59
Identifiers 2-65 Spindle position SPOS 2-59
Variable identifier 2-60 Spindle speed limitation 7-277, 7-278, 7-280
Words 2-55 Spindle speed S 2-59
Programming the end point 8-321 Start point offset SF 4-147
R Statement list 12-390
Rapid traverse movement 4-114 Straight line with angle 4-140
Reading positions 8-324 Subblock N 2-58
Reference point approach 3-104 Subprogram list 12-425
Retraction direction 4-159 Subprograms 11-374
Retraction speed 4-159 Program repetition 11-379
Rotary axis A, B, C 2-58 Subroutine
Round the contour corner 4-172 Call L 2-58
Rounding 4-172 Subroutine, call 11-377
Modal 4-172 Synchronized axes 1-42
Run-in and run-out paths, programmable 4-150 T
S T0 8-291, 8-293
S50 5-197 Taper thread 4-146
SCALE50 6-219 Tapping
Select/deselect travel to fixed stop 4-163 Rigid 4-154
Settable block change time with G0 4-116 Right-hand/left-hand threads 4-154
Settable zero offsets 3-94 With compensating chuck 4-156
Setting alarms 2-73 Thread chains 4-148
Setting clamping torque 4-163 Thread cutting 4-144, 4-158
Setup value 8-341 Cylinder thread 4-145
Several feedrates in one block 7-278 Right-hand/left-hand thread 4-147
SF 4-144 Start point offset 4-147
SIEMENS cycles 2-73 Taper thread 4-146
Skip block Thread chains 4-148
Eight skip levels 2-70 With constant lead 4-144

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition I-493
I I
Appendix 03.04
Index

TOFRAME 8-337 Transition


Tool Ellipse/Parabola/Hyperbola 8-316
Number T 2-59 Radius 8-317
Offset number D 2-56 Transition circle 8-315, 8-331
Tool change point 8-310 Transition current/next block 8-311
Tool edge reference point 8-352 Transverse axis
Tool length Coordinate system 4-169
Compensation Dimensioning for transverse axis 4-170
From toolholder orientation, TCOABS 8-336 Travel to fixed stop 4-163
Component 8-335 Traversing path axes as positioning axes with G0
Tool lengths 4-115
Offset 8-335 Traversing with feedforward control 5-195
Tool monitoring Turning functions
Deactivate 8-338 Chamfer, rounding 4-173
Select/deselect 8-338 Dimensioning for transverse axis 4-170
Tool number D 2-58 V
Tool offset Value range 2-67
Coordinate system for wear values 8-346 Variable identifier 2-60
Tool offset, CUT2D, CUT2DF 8-333 Velocity controls 5-193
Tool offsets W
Approach and retract from contour 8-309 WAITS 7-250
Compensation at outside corners 8-315 WALIMON50 3-101
Smooth approach and retraction (SAR) 8-318 Wear value 8-341
Tool radius compensation 8-286 Window width for fixed stop monitoring 4-163
Tool point direction Words 2-55
Relevant 8-352 Working area limitation
Tool radius compensation 8-302, 8-344 Reference points on the tool 3-102
Changing the direction of compensation 8-305 Working plane, G17 to G19 3-98
Changing the offset number D 8-306 Workpiece coordinate system 1-34
Corner behavior 8-316 Y
Intersection 8-317 Y150 4-162
Selectable transitions 8-316 Z
Transition circle 8-315 Zero frame 3-94
CUT2D 8-333 Zero offset
CUT2DF 8-334 Activate zero offset 3-96
Tool T 2-56 Deactivate zero offset 3-96
Tool type G54 to G599 3-95
Slotted saw 8-290 Set offset values 3-95
Tool types 8-287, 8-338 Zero points 1-29
Toolholder
Request 8-335
Toolholder 8-335
Tools with a relevant tool point direction
8-352
Transformation TRACYL 7-254
Transformation TRANSMIT 7-252
Transformation TRAORI 6-229

 Siemens AG, 2004. All rights reserved


I-494 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
I I
03.04 Appendix
Index

E Commands, identifiers CORROF 6-229


CPRECOF 5-196
CPRECON 5-196
:
CR 2-59, 3-91, 4-136
: 2-59
CROTS 6-218
=
CT 4-121
= 2-54
CUT2D 3-100, 8-286, 8-333, 8-335
A
CUT2DF 3-100, 8-286, 8-333, 8-335
A 3-89
D
AC 2-59, 3-85, 4-111, 7-248
d 7-254
ACC 7-263
D 2-56, 8-294, 8-296, 8-299
ACCLIMA 5-191
D0 8-295
ACN 3-89, 7-248
DC 3-89, 7-248
ACP 3-89, 7-248
DELDL 8-343
ADIS 5-180
DIAM90 4-170
ADISPOS 5-180
DIAMOF 4-170
ALF 4-159
DIAMON 4-170
AMIRROR 6-222
DILF 4-158
ANG 12-390
DISC 8-315, 8-316
ANG1 4-141
DISCL 8-318
ANG2 4-141, 4-142
DISR 8-318
AP 2-59, 4-110, 4-112, 4-134
DITE 4-150
AR 4-134, 4-136
DITS 4-150
AROT 6-210
DL 8-340
AROTS 6-218
DRFOF 6-229
ASCALE 6-219
DRIVE 5-189
ATRANS 6-203, 6-207
DRIVEA 5-189
B
E
B 3-89
EX 10-367
Block number 10-369, 10-371
F
BRISK 5-189
F 2-56, 2-61, 4-118, 4-145, 4-156, 5-197, 7-234
BRISK/BRISKA 5-189
F2 7-278
BRISKA 5-189
F7 7-278
C
FA 2-58, 7-242, 7-255
C 3-89
FAD 8-318
CALCPOSI 3-102, 12-438
FALSE 2-67
CDOF 8-330
FB 7-280
CDOF2 8-330
FD 7-259
CDON 8-330
FDA 7-259
CFC 4-135, 7-265
FFWOF 5-195
CFIN 7-265
FFWON 5-195
CFTCP 7-265
FGREF 7-234
CHF 4-172
FGROUP 4-122, 7-234
CHR 4-172
FINEA 7-246
CIP 4-121
FL 7-234
CLGOF 7-275
FMA 7-278, 12-394
CLGON 7-275
COARSEA 7-246

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition I-495
I I
Appendix 03.04
Index

FP 4-162 G450 8-309, 8-315


FPR 7-255 G451 8-309, 8-315
FRC 4-172, 12-394 G460 8-326
FPRAOF 7-255 G461 8-326
FPRAON 7-255 G462 8-326
FRCM 4-172, 12-394 G500 3-94, 6-229
FTOCOF 7-276 G505 3-94, 3-96
FTOCON 7-276 G53 3-94, 6-229
FXS 4-163 G54 3-94
FXST 4-163 G55 3-94
FXSW 4-163 G56 3-94
G G57 3-94
G 2-56, 2-58 G58 6-207
G0 4-113, 4-114, 5-180, 5-188 G59 6-207
G1 4-116, 4-117, 4-118 G599 3-94, 3-96
G110 4-110 G60 5-178
G111 4-110 G601 5-178, 5-187
G112 4-110 G602 5-178
G140 8-318 G603 5-178
G141 8-318 G63 4-156
G142 8-318 G64 4-148, 5-178, 5-180, 11-375
G143 8-318 G64, G641 9-360
G147 8-318 G641 5-180
G148 8-318 G641 ADIS 5-180
G153 3-94, 6-229 G641 ADISPOS 5-180
G17 3-98, 3-99, 8-285, 8-303, 8-333 G642 5-180
G18 3-98, 8-285 G642 ADIS 5-180
G19 3-98, 8-285, 8-303, 8-333 G643 5-180
G2 4-121, 4-134, 4-170 G644 5-180
G247 8-318 G70 3-91
G248 8-318 G700 3-91
G25 3-101, 7-277 G71 3-91
G26 3-101, 7-277 G710 3-91
G3 4-121, 4-134, 4-170 G74 3-104
G33 4-144, 4-147 G75 4-162
G331 4-154 G9 5-178
G332 4-154 G90 3-85, 4-123
G34 4-152 G91 3-85, 3-88, 4-123
G340 8-318 G93 7-234
G341 8-318 G94 7-234
G347 8-318 G95 7-234
G348 8-318 G96 7-270
G35 4-152 G961 7-270
G4 5-197 G97 7-270
G40 8-302, 8-310, 8-344 G971 7-270
G41 3-99, 8-294, 8-300, 8-302, 8-309 GOTO 10-369, 10-371
G42 3-99, 8-294, 8-300, 8-302, 8-309 GOTOB 10-369, 10-371

 Siemens AG, 2004. All rights reserved


I-496 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
I I
03.04 Appendix
Index

GOTOC 10-369, 10-371 M19 7-246


GOTOF 10-369, 10-371 M2 9-361, 11-374
GWPS 7-272, 7-273, 7-274, 8-288 M3 4-147, 7-249, 7-267, 9-361
GWPSOF 7-272 M30 9-361, 11-378
GWPSON 7-272 M4 4-147, 7-249, 7-267, 9-361
H M40 9-361
H 2-56, 2-58, 2-61 M41 7-249, 9-361
I M42 9-361
I 2-58, 3-86, 3-91, 4-144, 4-145 M43 9-361
I1 3-91 M44 9-361
IC 3-85, 3-90, 4-111, 7-248 M45 7-249, 9-361
IF 10-371 M5 7-249, 7-267, 9-361
INVCCW 4-136 M6 9-361
INVCW 4-136 M7 9-359
IP 2-62 M70 7-246, 9-361
IPOBRKA 7-246 MEAS 4-170
IPOENDA 7-246 MEAW 4-170
J MIRROR 6-200, 6-222
J 2-58, 3-86, 4-145 MSG 2-72
J1 3-91 N
JERKA 5-189 N 2-56, 2-58, 10-367
JERKLIMA 5-191 NORM 8-309, 8-312
K O
K 2-58, 3-91, 4-144, 4-145 OFFN 8-302
K1 3-91 ORIPATH 12-400
KONT 8-309, 8-315 OVR 2-58, 7-258
KONTC 8-311 OVRA 7-258
KONTT 8-311 P
L P 2-58
L 2-58, 10-367 PAROT 6-226
L... 11-376 PAROTOF 6-226
Label 10-369, 10-371 PM 8-318
Label: 10-369, 10-371 POLF 4-158
LF 2-54 POLFMASK 4-158
LFOF 4-158 POLFMLIN 4-158
LFON 4-158 POS 2-58, 7-242, 7-257
LFPOS 4-159 POSA 2-58, 7-242
LFTXT 4-159 POSP 7-242
LFWP 4-159 PR 8-318
LIFTFAST 4-158 PUTFTOC 7-273, 7-276
LIMS 7-270 PUTFTOCF 7-273, 7-276
M Q
M 2-56, 2-58, 2-61 Q 2-59
M... 9-361 QU 9-359
M0 9-361 R
M1 7-267, 9-361 R 2-59
M17 9-361, 11-378 R... 10-366

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition I-497
I I
Appendix 03.04
Index

REPEAT 11-380 TOFRAME 6-226


REPEATB 11-380 TOFRAMEX 6-226
RET 11-375 TOFRAMEY 6-226
RND 4-172 TOFRAMEZ 6-226
RNDM 4-172 TOROT 6-226
ROT 3-99, 6-210 TOROTOF 6-226
ROTS 6-218 TOROTX 6-226
RP 2-59, 3-91, 4-110, 4-134 TOROTY 6-226
RPL 6-210 TOROTZ 6-226
RTLIOF 4-114, 4-115 TOWBCS 8-348
RTLION 4-114, 4-115 TOWKCS 8-348
S TOWMCS 8-348
S 2-56, 2-59, 2-61, 4-147, 4-156, 7-267, 7-270, TOWSTD 8-348
7-272 TOWTCS 8-348
S1 7-267, 7-268, 7-272, 7-277 TOWWCS 8-348
S2 7-267, 7-268, 7-269, 7-277 TRAANG 7-254
SCALE 6-219 TRACYL 7-252, 7-254
SETAL 2-73 TRAFOOF 3-105, 6-229, 7-252, 7-254
SETMS 7-267 TRANS 3-91, 6-203, 6-207, 10-366
SF 4-144 TRANSMIT 7-252
SOFT 5-189 TRUE 2-67
SOFTA 5-189 TURN 4-134
SPCOF 7-245 U
SPCON 4-147, 7-245 U 2-59
SPI 7-255 V
SPINU 2-61 V 2-59
SPOS 2-59, 3-90, 4-154, 7-246 VELOLIMA 5-191
SPOS, SPOSA 2-61 W
SPOSA 2-59, 4-154, 7-246, 7-248 W 2-59
SR 7-278 WAITMC 7-242
SRA 7-278 WAITP 7-242
ST 7-278 WAITS 7-246
STA 7-278 WALIMOF 3-101
String variable 10-369, 10-371 WALIMON 3-101
SUG 7-272, X
SUPA 3-94, 6-229 X 2-56, 2-59, 3-85, 3-91, 3-98, 3-100
T X1 3-104, 4-162
T 2-56, 2-59, 2-61 X2 4-140
T0 8-291 X3 4-141
TCARR 8-335 X4 4-142
TCOABS 8-335 Y
TCOFR 8-335 Y 2-56, 2-59, 3-85, 3-88, 3-91, 3-98, 3-100
TCOFRX 8-335 Y1 3-104
TCOFRY 8-335
TCOFRZ 8-335
TMOF 8-338
TMON 8-338

 Siemens AG, 2004. All rights reserved


I-498 SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition
I I
03.04 Appendix
Index

Z
Z 2-56, 2-59, 3-85, 3-88, 3-91, 3-98, 3-100
Z1 4-141
Z2 4-141
Z3 4-141
Z4 4-142

 Siemens AG, 2004. All rights reserved


SINUMERIK 840D/840Di/810D Programming Guide Fundamentals (PG) – 03.04 Edition I-499
To Suggestions

SIEMENS AG
Corrections
For publication:
A&D MC BMS
P.O. Box 3180
SINUMERIK 840D/840Di/810D
D-91050 Erlangen, Germany
Fundamentals
Phone: +49 (0) 180 5050 – 222 [Hotline]
Fax: +49 (0) 9131 98 – 2176 [Documentation]
User Documentation
Email: motioncontrol.docu@erlf.siemens.de
Programming Guide
From
Order No.: 6FC5298-7AB00-0BP0
Name:
03.04 Edition

Company/Department Should you come across any printing errors


when reading this publication, please notify us
Address: on this sheet. Suggestions for improvement are
also welcome.

Phone: /
Fax: /

Suggestions and/or corrections


Overview of SINUMERIK 840D/840Di/810D Documentation (03.2004)
General Documentation User Documentation

SINUMERIK
SIROTEC
SINUMERIK SINUMERIK SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK
840D/810D 840D/840Di/ Accessories 840D/810D/ 840D/840Di/ 840D/840Di/ 840D/840Di/
810D/ FM-NC 810D 810D 810D

Brochure Catalog Catalog AutoTurn Operator’s Guide Diagnostics Operator’s Guide *)


Ordering Info. Accessories – Short Guide – HT 6 Guide *) – Short Guide
NC 60 *) NC-Z – Programming/ – HMI Embedded
Setup – HMI Advanced

User Documentation Manufacturer/Service Documentation

SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK


840D/840Di/ 840D/810D 840Di 840D/840Di/ 840D/810D 840D/840Di/
810D 810D 810D

Program. Guide Operator’s Guide System Overview Configuring Operator Description of Description of
– Short Guide – ManualTurn (HW) *) Components Functions Functions
– Fundamentals *) – Short Guide ManualTurn – 810D (HW) *) – ManualTurn Synchronized
– Advanced *) – ShopMill – 840D – ShopMill Actions
– Cycles – Short Guide ShopMill – ShopTurn
– Measuring Cycles – ShopTurn
– ISO Turning/Milling – Short Guide ShopTurn
Manufacturer/Service Documentation

SINUMERIK
SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK
611D 840D/840Di/ 840D/840Di/ 840D/810D 840D/810D 840D/810D
840D/810D 810D 810D

Description of Description of Description of Configuring Kit Description of MCIS


Functions Functions Functions HMI Embedded Functions – Computer Link
Drive Functions *) – Basic Machine *) Tool Manage- Operator Interface – Tool Data Information System
– Extended Functions ment OP 030 – NC Data Management
– Special Functions – NC Data Transfer
– Tool Data Communication

Manufacturer/Service Documentation

MOTION
SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK CONTROL
SIMODRIVE SINUMERIK SIMODRIVE SIMODRIVE SIMODRIVE SIMODRIVE SYSTEMS
840D 840D/840Di 840D 840D
810D 611D 611D
611D

Description of Description of Installation & – Lists *) Description of Description of Functions EMC


Functions Functions Start-Up Guide *) – List Syst. Var. Functions – Hydraulics Module Guidelines
SINUMERIK Digitizing – 810D Linear Motor – Analog Module
Safety Integrated – 840D/611D
– HMI Manufacturer/Service Documentation
Electronic Documentation

SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK


SIMODRIVE 840Di
840D/840Di/ 840D/810D 840D/840Di/
840D/840Di/ 810D 810D
810D
611, Motors

DOC ON CD *) Description of Manual Description of Manual


The SINUMERIK System Functions (HW + Installation Functions @ Event
ISO Dialects for and Start-Up) Remote Diagnosis
SINUMERIK
*) These documents are a minimum requirement
Siemens AG
Automation & Drives
Motion Control Systems
P. O. Box 3180, D – 91050 Erlangen © Siemens AG, 2004
Subject to change without prior notice
Germany Order No. 6FC5298-7AB00-0BP0

www.siemens.com/motioncontrol Printed in Germany

You might also like