PG 0211 en en-US
PG 0211 en en-US
PG 0211 en en-US
Fundamental Geometrical
Principles 1
Fundamental Principles of
NC Programming 2
Creating an NC program 3
SINUMERIK 4
Tool change
02/2011
6FC5398-1BP40-1BA0
Legal information - Warning notice system
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
with a safety alert symbol, indicates that minor personal injury can result if proper precautions are not taken.
CAUTION
without a safety alert symbol, indicates that property damage can result if proper precautions are not taken.
NOTICE
indicates that an unintended result or situation can occur if the corresponding information is not taken into account.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will be
used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to property
damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation for the specific task, in particular its warning notices and safety
instructions. Qualified personnel are those who, based on their training and experience, are capable of identifying
risks and avoiding potential hazards when working with these products/systems.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended or
approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be adhered to. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of the Siemens AG. The remaining trademarks in this
publication may be trademarks whose use by third parties for their own purposes could violate the rights of the
owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software described.
Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the information in this
publication is reviewed regularly and any necessary corrections are included in subsequent editions.
SINUMERIK documentation
The SINUMERIK documentation is organized in the following categories:
• General documentation
• User documentation
• Manufacturer/service documentation
Additional information
You can find information on the following topics at www.siemens.com/motioncontrol/docu:
• Ordering documentation/overview of documentation
• Additional links to download documents
• Using documentation online (find and search in manuals/information)
Please send any questions about the technical documentation (e.g. suggestions for
improvement, corrections) to the following address:
[email protected]
Training
For information about the range of training courses, refer under:
• www.siemens.com/sitrain
SITRAIN - Siemens training for products, systems and solutions in automation technology
• www.siemens.com/sinutrain
SinuTrain - training software for SINUMERIK
FAQs
You can find Frequently Asked Questions in the Service&Support pages under Product
Support. http://support.automation.siemens.com
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 3
Preface
SINUMERIK
You can find information on SINUMERIK under the following link:
www.siemens.com/sinumerik
Target group
This publication is intended for:
• Programmers
• Project engineers
Benefits
With the programming manual, the target group can develop, write, test, and debug programs
and software user interfaces.
Standard scope
This Programming Guide describes the functionality afforded by standard functions.
Extensions or changes made by the machine tool manufacturer are documented by the
machine tool manufacturer.
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.
Further, for the sake of simplicity, this documentation does not contain all detailed information
about all types of the product and cannot cover every conceivable case of installation,
operation or maintenance.
Technical Support
You will find telephone numbers for other countries for technical support in the Internet under
http://www.siemens.com/automation/service&support
Fundamentals
4 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Preface
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 5
Preface
Fundamentals
6 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Table of contents
Preface.........................................................................................................................................................3
1 Fundamental Geometrical Principles ........................................................................................................13
1.1 Workpiece positions .................................................................................................................. 13
1.1.1 Workpiece coordinate systems .................................................................................................. 13
1.1.2 Cartesian coordinates ................................................................................................................ 14
1.1.3 Polar coordinates ....................................................................................................................... 17
1.1.4 Absolute dimensions ................................................................................................................. 18
1.1.5 Incremental dimension .............................................................................................................. 20
1.2 Working planes.......................................................................................................................... 22
1.3 Zero points and reference points............................................................................................... 23
1.4 Coordinate systems................................................................................................................... 25
1.4.1 Machine coordinate system (MCS) ........................................................................................... 25
1.4.2 Basic coordinate system (BCS) ................................................................................................. 28
1.4.3 Basic zero system (BZS) ........................................................................................................... 30
1.4.4 Settable zero system (SZS) ....................................................................................................... 31
1.4.5 Workpiece coordinate system (WCS) ........................................................................................ 32
1.4.6 What is the relationship between the various coordinate systems? .......................................... 32
2 Fundamental Principles of NC Programming ............................................................................................33
2.1 Name of an NC program ........................................................................................................... 33
2.2 Structure and contents of an NC program................................................................................. 35
2.2.1 Blocks and block components ................................................................................................... 35
2.2.2 Block rules ................................................................................................................................. 37
2.2.3 Value assignments .................................................................................................................... 38
2.2.4 Comments ................................................................................................................................. 39
2.2.5 Skipping blocks .......................................................................................................................... 40
3 Creating an NC program ...........................................................................................................................43
3.1 Basic procedure......................................................................................................................... 43
3.2 Available characters .................................................................................................................. 45
3.3 Program header......................................................................................................................... 47
3.4 Program examples .................................................................................................................... 49
3.4.1 Example 1: First programming steps ......................................................................................... 49
3.4.2 Example 2: NC program for turning ........................................................................................... 50
3.4.3 Example 3: NC program for milling ............................................................................................ 52
4 Tool change ..............................................................................................................................................55
4.1 Tool change without tool management...................................................................................... 56
4.1.1 Tool change with T command ................................................................................................... 56
4.1.2 Tool change with M6 ................................................................................................................. 57
4.2 Tool change with tool management (option) ............................................................................. 59
4.2.1 Tool change with T command with active tool management (option) ........................................ 59
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 7
Table of contents
4.2.2 Tool change with M6 with active tool management (option) ...................................................... 62
4.3 Behavior with faulty T programming .......................................................................................... 64
5 Tool offsets ................................................................................................................................................65
5.1 General information about the tool offsets................................................................................. 65
5.2 Tool length compensation.......................................................................................................... 66
5.3 Tool radius compensation.......................................................................................................... 67
5.4 Tool compensation memory ...................................................................................................... 68
5.5 Tool types .................................................................................................................................. 70
5.5.1 General information about the tool types ................................................................................... 70
5.5.2 Milling tools ................................................................................................................................ 71
5.5.3 Drills ........................................................................................................................................... 73
5.5.4 Grinding tools ............................................................................................................................. 74
5.5.5 Turning tools .............................................................................................................................. 75
5.5.6 Special tools .............................................................................................................................. 77
5.5.7 Chaining rule .............................................................................................................................. 78
5.6 Tool offset call (D)...................................................................................................................... 79
5.7 Change in the tool offset data.................................................................................................... 82
5.8 Programmable tool offset (TOFFL, TOFF, TOFFR) .................................................................. 83
6 Spindle motion ..........................................................................................................................................89
6.1 Spindle speed (S), direction of spindle rotation (M3, M4, M5)................................................... 89
6.2 Cutting rate (SVC) ..................................................................................................................... 93
6.3 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)....................... 100
6.4 Constant grinding wheel peripheral speed (GWPSON, GWPSOF)......................................... 106
6.5 Programmable spindle speed limitation (G25, G26)................................................................ 108
7 Feed control ............................................................................................................................................109
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)............................................................. 109
7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC) ............................. 118
7.3 Position-controlled spindle operation (SPCON, SPCOF) ........................................................ 122
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)...................................................... 123
7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF) ................................. 133
7.6 Programmable feedrate override (OVR, OVRRAP, OVRA) .................................................... 137
7.7 Programmable acceleration override (ACC) (option)............................................................... 139
7.8 Feedrate with handwheel override (FD, FDA) ......................................................................... 141
7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN).................................... 145
7.10 Several feedrate values in one block (F, ST, SR, FMA, STA, SRA)........................................ 148
7.11 Non-modal feedrate (FB) ......................................................................................................... 151
7.12 Tooth feedrate (G95 FZ).......................................................................................................... 152
Fundamentals
8 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Table of contents
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 9
Table of contents
Fundamentals
10 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Table of contents
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 11
Table of contents
16 Tables .....................................................................................................................................................441
16.1 Operations ............................................................................................................................... 441
16.2 Operations: Availability for SINUMERIK 828D ........................................................................ 489
16.3 Addresses................................................................................................................................ 511
16.4 G function groups .................................................................................................................... 520
16.5 Predefined subroutine calls ..................................................................................................... 536
16.6 Predefined subroutine calls in motion-synchronous actions.................................................... 551
16.7 Predefined functions ................................................................................................................ 552
16.8 Currently set language in the HMI ........................................................................................... 557
A Appendix .................................................................................................................................................559
A.1 List of abbreviations................................................................................................................. 559
A.2 Documentation overview ......................................................................................................... 564
Glossary ...................................................................................................................................................567
Fundamentals
12 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles 1
1.1 Workpiece positions
< =
= ; ; <
r r
; = < ;
=
<
Figure 1-1 Workpiece coordinate system for Figure 1-2 Workpiece coordinate system for
turning milling
The workpiece zero (W) is the origin of the workpiece coordinate system.
Sometimes it is advisable or even necessary to work with negative position specifications. For
this reason, positions that are to the left of the zero point are assigned a negative sign ("-").
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 13
Fundamental Geometrical Principles
1.1 Workpiece positions
<
3
3
; ;
3
3
<
Position Coordinates
P1 X100 Y50
P2 X-50 Y100
P3 X-105 Y-115
P4 X70 Y-75
Fundamentals
14 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.1 Workpiece positions
3
3 3
3
=
Position Coordinates
P1 X25 Z-7.5
P2 X40 Z-15
P3 X40 Z-25
P4 X60 Z-35
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 15
Fundamental Geometrical Principles
1.1 Workpiece positions
< <
3
3
3
3
3 3
; =
Position Coordinates
P1 X10 Y45 Z-5
P2 X30 Y60 Z-20
P3 X45 Y20 Z-15
Fundamentals
16 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.1 Workpiece positions
Example
<
3
3
r
r
3ROH
;
Points P1 and P2 can then be described – with reference to the pole – as follows:
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 17
Fundamental Geometrical Principles
1.1 Workpiece positions
Example: Turning
3
3 3
3
=
In absolute dimensions, the following position specifications result for points P1 to P4:
Fundamentals
18 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.1 Workpiece positions
Example: Milling
<
3
3
3
;
In absolute dimensions, the following position specifications result for points P1 to P3:
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 19
Fundamental Geometrical Principles
1.1 Workpiece positions
Example: Turning
3
3 3
3
=
In incremental dimensions, the following position specifications result for points P2 to P4:
Note
With DIAMOF or DIAM90 active, the set distance in incremental dimensions (G91) is
programmed as a radius dimension.
Fundamentals
20 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.1 Workpiece positions
Example: Milling
The position specifications for points P1 to P3 in incremental dimensions are:
<
3
3
3
In incremental dimensions, the following position specifications result for points P1 to P3:
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 21
Fundamental Geometrical Principles
1.2 Working planes
< =
<
* ; *
* *
* *
;
=
Figure 1-3 Working planes for turning Figure 1-4 Working planes for milling
Fundamentals
22 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.3 Zero points and reference points
Zero points
M Machine zero
The machine zero defines the machine coordinate system (MCS). All other reference
points refer to the machine zero.
W Workpiece zero = program zero
The workpiece zero defines the workpiece coordinate system in relation to the
machine zero.
A Blocking point
Can be the same as the workpiece zero (only for lathes).
Reference points
R Reference point
Position defined by output cam and measuring system. The distance to the machine
zero M must be known so that the axis position at this point can be set exactly to this
value.
B Starting point
Can be defined by the program. The first machining tool starts here.
T Toolholder reference point
Is on the toolholder. By entering the tool lengths, the control calculates the distance
between the tool tip and the toolholder reference point.
N Tool change point
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 23
Fundamental Geometrical Principles
1.3 Zero points and reference points
;
5
1
%
0 $ : =
<
: :
0
;
Fundamentals
24 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.4 Coordinate systems
=P <P
;P
If programming is performed directly in the machine coordinate system (possible with some G
functions), the physical axes of the machine respond directly. Any workpiece clamping that is
present is not taken into account.
Note
If there are various machine coordinate systems (e.g. 5-axis transformation), then an internal
transformation is used to map the machine kinematics on the coordinate system in which the
programming is performed.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 25
Fundamental Geometrical Principles
1.4 Coordinate systems
Three-finger rule
The orientation of the coordinate system relative to the machine depends on the machine
type. The axis directions follow the so-called "three-finger rule" of the right hand (according to
DIN 66217).
Seen from in front of the machine, the middle finger of the right hand points in the opposite
direction to the infeed of the main spindle. Therefore:
• the thumb points in the +X direction
• the index finger points in the +Y direction
• the middle finger points in the +Z direction
=
<
;
Rotary motions around the coordinate axes X, Y and Z are designated A, B and C. If the
rotary motion is in a clockwise direction when looking in the positive direction of the
coordinate axis, the direction of rotation is positive:
;<= <
PXWXDOO\RUWKRJRQDO
D[HV
$%& %
5RWDU\D[HV
URWDWLQJDURXQG;<=
r
& ;
$
=
Fundamentals
26 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.4 Coordinate systems
=
<
%
<
= ;
;
<
;
& &
=
%
=
%
&
&
; <
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 27
Fundamental Geometrical Principles
1.4 Coordinate systems
<
0DFKLQH ;
FRRUGLQDWH
V\VWHP %&6
=
0DFKLQH]HURSRLQW
Fundamentals
28 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.4 Coordinate systems
<%&6
.LQHPDWLF
WUDQVIRUPDWLRQ
<0&6
; %&6
%DVLFFRRUGLQDWHV\VWHP%&6
= %&6
; 0&6
0DFKLQHFRRUGLQDWHV\VWHP0&6
= 0&6
Machine kinematics
The workpiece is always programmed in a two or three dimensional, right-angled coordinate
system (WCS). However, such workpieces are being programmed ever more frequently on
machine tools with rotary axes or linear axes not perpendicular to one another. Kinematic
transformation is used to represent coordinates programmed in the workpiece coordinate
system (rectangular) in real machine movements.
References
Function Manual Expansion Functions; M1: Kinematic transformation
Function Manual, Special Functions; F2: Multi-axis transformations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 29
Fundamental Geometrical Principles
1.4 Coordinate systems
<
%DVLFRIIVHW
<
;
%DVLF]HURV\VWHP%=6
=
;
%DVLFFRRUGLQDWHV\VWHP%&6
=
Basic offset
The basic offset describes the coordinate transformation between BCS and BZS. It can be
used, for example, to define the palette window zero.
The basic offset comprises:
• Zero offset external
• DRF offset
• Overlaid movement
• Chained system frames
• Chained basic frames
References
Function Manual, Basic Functions; Axes, Coordinate Systems, Frames (K2)
Fundamentals
30 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Geometrical Principles
1.4 Coordinate systems
<
**
<
;
6HWWDEOH
= ]HURV\VWHP6=6
;
%DVLF]HURV\VWHP%=6
=
If no programmable coordinate transformations (frames) are active, then the "settable zero
system" is the workpiece coordinate system (WCS).
Note
Programmable coordinate transformations (frames) always refer to the "settable zero
system".
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 31
Fundamental Geometrical Principles
1.4 Coordinate systems
3URJUDPPDEOH
]
] FRRUGLQDWHWUDQVIRUPDWLRQ
6HWWDEOHZRUNRIIVHW
]
]
\ \
6=6 :RUNSLHFH
:&6 [
\ \
[
* ]
]
\ \
*
%=6
0&6
%&6 :&6 [
6=6 3DOOHW
[
[
%DVLFRIIVHW
[
6HWWDEOH :RUNSLHFH
ZRUNRIIVHW
3URJUDPPDEOH
FRRUGLQDWHWUDQVIRUPDWLRQ
① A kinematic transformation is not active, i.e. the machine coordinate system and the basic
coordinate system coincide.
② The basic zero system (BZS) with the pallet zero result from the basic offset.
③ The "settable zero system" (SZS) for Workpiece 1 or Workpiece 2 is specified by the settable
zero offset G54 or G55.
④ The workpiece coordinate system (WCS) results from programmable coordinate
transformation.
Fundamentals
32 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Principles of NC Programming 2
Note
DIN 66025 is the guideline for NC programming.
Examples:
_MPF100
SHAFT
SHAFT_2
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 33
Fundamental Principles of NC Programming
2.1 Name of an NC program
Note
The name of a file stored internally in the NC memory starts with "_N_".
References
For further information on transferring, creating and storing part programs, please refer to the
Operating Manual for your user interface.
Fundamentals
34 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
Blocks
An NC program consists of a sequence of NC blocks. Each block contains the data for the
execution of a step in the workpiece machining.
Block components
NC blocks consist of the following components:
• Commands (statements) according to DIN 66025
• Elements of the NC high-level language
Digit sequence
The digit sequence is the value assigned to the address character. The sequence of digits
can contain a sign and decimal point. The sign always appears between the address letter
and the sequence of digits. Positive signs (+) and leading zeroes (0) do not have to be
specified.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 35
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
'LJLWVHTXHQFH
'LJLWVHTXHQFH
'LJLWVHTXHQFH
$GGUHVV
$GGUHVV
$GGUHVV
* ; 6
%ORFN
NOTICE
An identifier must be unique and cannot be used for different objects.
• Relational operators
• Logic operators
• Arithmetic functions
• Control structures
References:
Programming Manual, Job Planning; Section: "Flexible NC programming"
Fundamentals
36 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
Effectiveness of commands
Commands are either modal or non-modal:
• Modal
Modal commands retain their validity with the programmed value (in all following blocks)
until:
- A new value is programmed under the same command
- A command is programmed that revokes the effect of the previously valid command
• Non-modal
Non-modal commands only apply for the block in which they were programmed.
End of program
The last block in the execution sequence contains a special word for the end of program: M2,
M17 or M30.
Start of block
NC blocks can be identified at the start of the block by block numbers. These consist of the
character "N" and a positive integer, e.g.
N40 ...
The order of the block numbers is arbitrary, however, block numbers in rising order are
recommended.
Note
Block numbers must be unique within a program in order to achieve an unambiguous result
when searching.
End of block
A block ends with the character LF (LINE FEED = new line).
Note
The LF character does not have to be written. It is generated automatically by the line
change.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 37
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
Block length
A block can contain a maximum of 512 characters (including the comment and end-of-block
character LF).
Note
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.
Address Significance
N Address of block number
G Preparatory function
X,Y,Z Positional data
F Feed
S Spindle speed
T Tool
D Tool offset number
M Additional function
H Auxiliary function
Note
Certain addresses can be used repeatedly within a block, e.g.
G…, M…, H…
Fundamentals
38 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
Examples:
Note
A numeric extension must always be followed by one of the special characters "=", "(", "[", ")",
"]", ",", or an operator, in order to distinguish an address with numeric extension from an
address letter with a value.
2.2.4 Comments
To make an NC program easier to understand, comments can be added to the NC blocks.
A comment is at the end of a block and is separated from the program section of the NC block
by a semicolon (";").
Example 1:
Example 2:
Note
Comments are stored and appear in the current block display when the program is running.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 39
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
Programming
Blocks, which are to be skipped are marked with an oblique "/" in front of the block number.
Several consecutive blocks can also be skipped. The statements in the skipped blocks are
not executed; the program continues with the next block, which is not skipped.
Example:
1
3URJUDPH[HFXWLRQ
1
1
1
1
1
1
1
1
1
1
1
Fundamentals
40 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
Skip levels
Blocks can be assigned to skip levels (max. 10), which can be activated via the user interface.
Programming is performed by assigning a forward slash, followed by the number of the skip
level. Only one skip level can be specified for each block.
Example:
Note
The number of skip levels that can be used depends on a display machine data item.
Note
System and user variables can also be used in conditional jumps in order to control program
execution.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 41
Fundamental Principles of NC Programming
2.2 Structure and contents of an NC program
Fundamentals
42 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Creating an NC program 3
3.1 Basic procedure
The 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 especially advantageous
when changes have to be made later.
As every part is not identical, it does not make sense to create every program in the same
way. However, the following procedure has shown itself to be suitable in the most cases.
Procedure
1. Prepare the workpiece drawing
- Define the workpiece zero
- Draw the coordinate system
- Calculate any missing coordinates
2. Define the machining sequence
- Which tools are used when and for the machining of which contours?
- In which order will the individual elements of the workpiece be machined?
- Which individual elements are repeated (possibly also rotated) and should be stored in
a subroutine?
- Are there contour sections in other part programs or subroutines that could be used for
the current workpiece?
- Where are zero offsets, rotating, mirroring and scaling useful or necessary (frame
concept)?
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 43
Creating an NC program
3.1 Basic procedure
Fundamentals
44 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Creating an NC program
3.2 Available characters
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 45
Creating an NC program
3.2 Available characters
NOTICE
Take care to differentiate between the letter "O" and the digit "0".
Note
No distinction is made between upper and lower-case characters (exception: tool call).
Note
Non-printable special characters are treated like blanks.
Fundamentals
46 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Creating an NC program
3.3 Program header
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 47
Creating an NC program
3.3 Program header
If tool orientation / coordinate transformation is being used, any transformations still active
should be deleted at the start of the program:
Fundamentals
48 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Creating an NC program
3.4 Program examples
Procedure
1. Create a new part program (name)
2. Edit the part program
3. Select the part program
4. Activate single block
5. Start the part program
References:
Operating Manual for the existing user interface
Note
In order that the program can run on the machine, the machine data must have been set
appropriately ( → machine manufacturer!).
Note
Alarms can occur during program verification. These alarms have to be reset first.
Program example 1
Program code Comment
N10 MSG("THIS IS MY NC PROGRAM") ; Message "THIS IS MY NC PROGRAM"
displayed in the alarm line
N20 F200 S900 T1 D2 M3 ; Feedrate, spindle, tool, tool offset,
spindle clockwise
N30 G0 X100 Y100 ; Approach position in rapid traverse
N40 G1 X150 ; Rectangle with feedrate, straight
line in X
N50 Y120 ; Straight line in Y
N60 X100 ; Straight line in X
N70 Y100 ; Straight line in Y
N80 G0 X0 Y0 ; Retraction in rapid traverse
N100 M30 ; End of block
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 49
Creating an NC program
3.4 Program examples
Note
In order that the program can run on the machine, the machine data must have been set
appropriately ( → machine manufacturer!).
r
;
5
5
5
5 5
=
Fundamentals
50 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Creating an NC program
3.4 Program examples
Program example 2
Program code Comment
N5 G0 G53 X280 Z380 D0 ; Starting point
N10 TRANS X0 Z250 ; Zero offset
N15 LIMS=4000 ; Speed limitation (G96)
N20 G96 S250 M3 ; Select constant cutting rate
N25 G90 T1 D1 M8 ; Select tool selection and offset
N30 G0 G42 X-1.5 Z1 ; Set tool with tool radius compensation
N35 G1 X0 Z0 F0.25
N40 G3 X16 Z-4 I0 K-10 ; Turn radius 10
N45 G1 Z-12
N50 G2 X22 Z-15 CR=3 ; Turn radius 3
N55 G1 X24
N60 G3 X30 Z-18 I0 K-3 ; Turn radius 3
N65 G1 Z-20
N70 X35 Z-40
N75 Z-57
N80 G2 X41 Z-60 CR=3 ; Turn 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 tool and select offset
N105 G96 S210 M3 ; Select constant cutting rate
N110 G0 G42 X50 Z-60 M8 ; Set tool with tool radius compensation
N115 G1 Z-70 F0.12 ; Turn diameter 50
N120 G2 X50 Z-80 I6.245 K-5 ; Turn radius 8
N125 G0 G40 X100 Z50 M9 ; Retract tool and deselect tool radius
compensation
N130 G0 G53 X280 Z380 D0 M5 ; Approach tool change location
N135 M30 ; End of program
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 51
Creating an NC program
3.4 Program examples
Note
In order that the program can run on the machine, the machine data must have been set
appropriately ( → machine manufacturer!).
ෘ ෘ
[r
5
r
5
Fundamentals
52 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Creating an NC program
3.4 Program examples
Program example 3
Program code Comment
N10 T="PF60" ; Preselection of the tool with
name PF60.
N20 M6 ; Load the tool into the
spindle.
N30 S2000 M3 M8 ; Speed, direction of rotation,
cooling on.
N40 G90 G64 G54 G17 G0 X-72 Y-72 ; Basic settings of the
geometry and approach
starting point.
N50 G0 Z2 ; Z axis at safety clearance.
N60 G450 CFTCP ; Behavior with active G41/G42.
N70 G1 Z-10 F3000 ; Milling tool at working depth
with feedrate = 3000 mm/min.
N80 G1 G41 X-40 ; Activation of the milling
tool radius compensation.
N90 G1 X-40 Y30 RND=10 F1200 ; Travel to the contour with
feedrate = 1200 mm/min.
N100 G1 X40 Y30 CHR=10
N110 G1 X40 Y-30
N120 G1 X-41 Y-30
N130 G1 G40 Y-72 F3000 ; Deselection of the milling
tool radius compensation.
N140 G0 Z200 M5 M9 ; Retraction of the milling
tool, spindle + cooling off.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 53
Creating an NC program
3.4 Program examples
Fundamentals
54 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool change 4
Tool change method
In chain, rotary-plate and box magazines, a tool change normally takes place in two stages:
1. The tool is sought in the magazine with the T command.
2. The tool is then loaded into the spindle with the M command.
In circular magazines on turning machines, the T command carries out the entire tool change,
that is, locates and inserts the tool.
Note
The tool change method is set via a machine data ( → machine manufacturer).
Conditions
Together with the tool change:
• The tool offset values stored under a D number have to be activated.
• The appropriate working plane has to be programmed (basic setting: G18). This ensures
that the tool length compensation is assigned to the correct axis.
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 55
Tool change
4.1 Tool change without tool management
Function
There is a direct tool change when the T command is programmed.
Application
For turning machines with circular magazine.
Syntax
Tool selection:
T<number>
T=<number>
T<n>=<number>
Tool deselection:
T0
T0=<number>
Meaning
T: Command for tool selection including tool change and activation of the tool
offset
<n>: Spindle number as address extension
Note:
The possibility of programming a spindle number as address extension
depends on the configuration of the machine;
→ see machine manufacturer's specifications)
<number>: Number of the tool
Range of values: 0 - 32000
T0: Command for deselection of the active tool
Example
Program code Comment
N10 T1 D1 ; Loading of tool T1 and activation of the tool offset D1.
...
N70 T0 ; Deselect tool T1.
...
Fundamentals
56 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool change
4.1 Tool change without tool management
Function
The tool is selected when the T command is programmed. The tool only becomes active with
M6 (including tool offset).
Application
For milling machines with chain, rotary-plate or box magazines.
Syntax
Tool selection:
T<number>
T=<number>
T<n>=<number>
Tool change:
M6
Tool deselection:
T0
T0=<number>
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 57
Tool change
4.1 Tool change without tool management
Example
Program code Comment
N10 T1 M6 ; Loading of tool T1.
N20 D1 ; Selection of tool length compensation.
N30 G1 X10 ... ; Machining with T1.
...
N70 T5 ; Preselection of tool T5.
N80 ... ; Machining with T1.
...
N100 M6 ; Loading of tool T5.
N110 D1 G1 X10 ... ; Machining with tool T5
...
Fundamentals
58 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool change
4.2 Tool change with tool management (option)
Tool management
The optional "Tool management" function ensures that at any given time the correct tool is in
the correct location and that the data assigned to the tool are up to date. It also allows fast
tool changes and avoids both scrap by monitoring the tool service life and machine
downtimes by using spare tools.
Tool name
On a machine tool with active tool management, the tools must be assigned a name and
number for clear identification (e.g. "Drill", "3").
The tool call can then be via the tool name, e.g.
T="Drill"
NOTICE
The tool name may not contain any special characters.
4.2.1 Tool change with T command with active tool management (option)
Function
There is a direct tool change when the T command is programmed.
Application
For turning machines with circular magazine.
Syntax
Tool selection:
T=<location>
T=<name>
T<n>=<location>
T<n>=<name>
Tool deselection:
T0
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 59
Tool change
4.2 Tool change with tool management (option)
Significance
T=: Command for tool change and activation of the tool offset
The following specifications are possible:
<location>: Number of the magazine location
<name>: Name of tool
Note:
The correct notation (upper/lower case) must be observed
when programming a tool name.
<n>: Spindle number as address extension
Note:
The possibility of programming a spindle number as address extension
depends on the configuration of the machine; → see machine manufacturer's
specifications)
T0: Command for the tool deselection (magazine location not occupied)
Note
If the selected magazine location is not occupied in a tool magazine, the command acts as
for T0. The selection of the next occupied magazine location can be used to position the
empty location.
Example
A circular magazine has locations 1 to 20 with the following tool assignment:
Fundamentals
60 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool change
4.2 Tool change with tool management (option)
Note
If the "Select the first available tool from the group" search method is employed, the
sequence must first be defined within the tool group being loaded. In this case group T10
is loaded, as T15 is blocked.
When the strategy "Take the first tool with "active" status from the group" is applied, T1 is
loaded.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 61
Tool change
4.2 Tool change with tool management (option)
Function
The tool is selected when the T command is programmed. The tool only becomes active
with M6 (including tool offset).
Application
For milling machines with chain, rotary-plate or box magazines.
Syntax
Tool selection:
T=<location>
T=<name>
T<n>=<location>
T<n>=<name>
Tool change:
M6
Tool deselection:
T0
Significance
Note
If the selected magazine location is not occupied in a tool magazine, the command acts as
for T0. The selection of the next occupied magazine location can be used to position the
empty location.
Fundamentals
62 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool change
4.2 Tool change with tool management (option)
Example
Program code Comment
N10 T=1 M6 ; Loading of the tool from magazine location 1.
N20 D1 ; Selection of tool length compensation.
N30 G1 X10 ... ; Machining with tool T=1.
...
N70 T="Drill" ; Preselection of the tool with name "Drill".
N80 ... ; Machining with tool T=1.
...
N100 M6 ; Loading of the drill.
N140 D1 G1 X10 ... ; Machining with drill.
...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 63
Tool change
4.3 Behavior with faulty T programming
MD22562 TOOL_CHANGE_ERROR_MODE
Bit Value Meaning
7 0 Basic setting!
With the T programming, a check is made immediately as to whether the NCK
recognizes the T number. If not, an alarm is triggered.
1 The programmed T number will only be checked following D selection. If the NCK
does not recognize the tool number, an alarm is issued during D selection.
This response is desirable if, for example, tool programming is also intended to
achieve positioning and the tool data is not necessarily available (circular magazine).
Fundamentals
64 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets 5
5.1 General information about the tool offsets
Workpiece dimensions are programmed directly (e.g. according to the production drawing).
Therefore, tool data such as milling tool diameter, cutting edge position of the turning tool
(counterclockwise/clockwise turning tool) and tool length does not have to be taken into
consideration when creating the program.
3URJUDPPHGFRQWRXU
&RUUHFWHGWRROSDWK
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 65
Tool offsets
5.2 Tool length compensation
F F F F
This length is measured and entered in the tool compensation memory of the control together
with definable wear values. From this data, the control calculates the traversing movements in
the infeed direction.
Note
The offset value for the tool length is dependent upon the spatial orientation of the tool.
Fundamentals
66 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.3 Tool radius compensation
(TXLGLVWDQW
NOTICE
Tool radius compensation is applied according to the default CUT2D or CUT2DF (see " 2D
tool compensation (CUT2D, CUT2DF) [Page 317] ").
References
The various options for the tool radius compensation are described in detail in Section "Tool
radius compensations".
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 67
Tool offsets
5.4 Tool compensation memory
NOTICE
Values that have been entered once in the compensation memory are included in the
processing at each tool call.
Tool type
The tool type (drill, milling or turning tool) determines which geometry data is necessary and
how this is taken into account.
3 WRROWLS
5 UDGLXV
6 FXWWLQJHGJH
FHQWHUSRLQW
/
56
3
/
Fundamentals
68 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.4 Tool compensation memory
/HQJWK
5DGLXV
The tool geometry variables consist of several components (geometry, 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 compensation memory is activated.
How these values are calculated in the axes is determined by the tool type and the current
plane (G17/G18/G19).
References
Function Manual, Basic Functions; Tool Offsets (W1); Section "Tool edge"
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 69
Tool offsets
5.5 Tool types
Fundamentals
70 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.5 Tool types
Tool parameters
The following figures provide an overview of which tool parameters (DP...) for milling tools are
entered in the compensation memory:
(QWULHVLQ
WRROSDUDPHWHUV )
)
'3 [\
'3 *HRPHWU\OHQJWK
/HQJWK /HQJWK$GDSWHU
'3 *HRPHWU\UDGLXV
/HQJWK7RWDO
'3 $GDSWHUOHQJWK
)5HIHUHQFHSRLQWDGDSWHUZLWKWRRO
LQVHUWHG WRROKROGHUUHIHUHQFHSRLQW
:HDUYDOXHV (IIHFW
DVUHTXLUHG
/HQJWKLQ=
*
5DGLXVLQ;<
)v7RROKROGHU
/HQJWKLQ< UHIHUHQFHSRLQW
6HWUHPDLQLQJ *
5DGLXVLQ=;
YDOXHVWR /HQJWKLQ;
*
5DGLXVLQ<=
$IL[HGDVVLJQPHQWLVSRVVLEOHIRU***
HJOHQJWK ;OHQJWK =OHQJWK <VHH)%:7RROFRPSHQV
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 71
Tool offsets
5.5 Tool types
(QWULHVLQ 7RROEDVH
GLPHQVLRQ )
WRROSDUDPHWHUV
OHQJWK
7RROEDVH
'3 [\
GLPHQVLRQ
OHQJWK
7RROEDVH
'3 *HRPHWU\OHQJWK GLPHQVLRQ
)
OHQJWK
'3 *HRPHWU\UDGLXV
(IIHFW
* /HQJWKLQ= =
/HQJWKLQ<
/HQJWKLQ; <
5DGLXV75&LQ;< ;
:HDUYDOXHVDFFWR * /HQJWKLQ< <
UHTXLUHPHQWV /HQJWKLQ;
/HQJWKLQ=
;
5DGLXV75&LQ=; =
6HWUHPDLQLQJ
YDOXHVWR * /HQJWKLQ; ;
/HQJWKLQ=
/HQJWKLQ< =
5DGLXV75&LQ<= <
$IL[HGDVVLJQPHQWLVSRVVLEOHIRU***
HJOHQJWK ;OHQJWK <OHQJWK =VHH)%:7RROFRPSHQVDWLRQ
Note
Brief description of the tool parameters can be found on the user interface.
For further information, see:
References:
Function Manual, Basic Functions; Tool Offset (W1)
Fundamentals
72 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.5 Tool types
5.5.3 Drills
The following tool types are available in the "Drills" group:
Tool parameters
The following figure provides an overview of which tool parameters (DP...) for drills are
entered in the compensation memory:
(QWULHVLQ
WRROSDUDPHWHUV
)
'3 [\
'3 /HQJWK
/HQJWK
:HDUYDOXHV
DVUHTXLUHG
(IIHFW
* /HQJWKLQ= )7RROKROGHU
6HWUHPDLQLQJ UHIHUHQFHSRLQW
* /HQJWKLQ<
YDOXHVWR
* /HQJWKLQ;
Note
Brief description of the tool parameters can be found on the user interface.
For further information, see:
References:
Function Manual, Basic Functions; Tool Offset (W1)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 73
Tool offsets
5.5 Tool types
Tool parameters
The following figure provides an overview of which tool parameters (DP...) for grinding tools
are entered in the compensation memory:
(QWULHVLQWKHWRRO
SDUDPHWHUV 73* 6SLQGOHQXPEHU
'3 73* &KDLQLQJUXOH
'3 3RVLWLRQ
73* 0LQLPXPZKHHOUDGLXV
'3 /HQJWK 73* 0LQZKHHOZLGWK
'3 /HQJWK 73* $FWXDOZKHHOZLGWK
'3 5DGLXV 73* 0D[LPXPVSHHG
73* 0D[SHULSKHUDOVSHHG
7RROQRVHSRVLWLRQ 73* $QJOHRIWKHLQFOLQHGZKHHO
:HDUYDOXHV 73* 3DUDPHWHU1RIRUUDGLXVFDOFXODWLRQ
FRUUHVSRQGWRWKH
UHTXLUHPHQW )7RROFDUULHUUHIHUHQFHSRLQW
2WKHUYDOXHVVKRXOG
EHVHWWR
(IIHFW
* /HQJWKLQ<
/HQJWKLQ; )
5DGLXVLQ;<
/HQJWK
/HQJWK
*HRPHWU\
* /HQJWKLQ;
%DVLV
/HQJWKLQ= 5DGLXV
5DGLXVLQ=; )
* /HQJWKLQ=
/HQJWKLQ< %DVLVOHQJWK
5DGLXVLQ<= *HRPHWU\
/HQJWK
Note
Brief description of the tool parameters can be found on the user interface.
For further information, see:
References:
Function Manual, Basic Functions; Tool Offset (W1)
Fundamentals
74 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.5 Tool types
Tool parameters
The following figures provide an overview of which tool parameters (DP...) for turning tools
are entered in the compensation memory:
7XUQLQJWRRO
HJ*=;SODQH
)7RROKROGHUUHIHUHQFHSRLQW
;
)
5 6
3
/HQJWK;
5UDGLXVRIWRROQRVH
WRROUDGLXV
6SRVLWLRQRIWRROQRVHFHQWHU
/HQJWK=
7RROWLS3
WRROHGJH 'Q
=
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 75
Tool offsets
5.5 Tool types
7KHWRROSDUDPHWHU'3VSHFLILHVWKHOHQJWKRIWKHWRROQRVH
3RVLWLRQYDOXHWRSRVVLEOH
; 7RROQRVHSRVLWLRQ'3
3
=
;
3 6
=
1RWH
3DUDPHWHUVOHQJWKOHQJWKUHIHUWRWKH
SRLQWZLWKWRROQRVHSRVLWLRQEXWWR6
6 3ZLWK
(QWULHVLQ (IIHFW
WRROSDUDPHWHUV :HDUYDOXHV
DVUHTXLUHG /HQJWKLQ<
'3 [\ */HQJWKLQ;
'3
/HQJWKLQ;
'3 /HQJWK 6HWUHPDLQLQJ * /HQJWKLQ=
'3 /HQJWK YDOXHVWR
/HQJWKLQ=
*
'3 5DGLXV /HQJWKLQ<
Note
Brief description of the tool parameters can be found on the user interface.
For further information, see:
References:
Function Manual, Basic Functions; Tool Offset (W1)
Fundamentals
76 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.5 Tool types
Tool parameters
The following figure provides an overview of which tool parameters (DP...) for "Slotting saw"
tool type are entered in the compensation memory:
6ORWZLGWKE
(QWULHVLQ
WRROSDUDPHWHUV 7RROEDVHGLPHQVLRQ
/HQJWK
'3%DVHOHQJWK
'3%DVHOHQJWK ([FHVVGLP
N
'LDPHWHUG
'3*HRPHWU\GLDPHWHU
7RROEDVHGLPHQVLRQ
'3*HRPHWU\]HURZLGWK
'3*HRPHWU\RYHUVKRRW
/HQJWK
:HDUYDOXHV
(IIHFW
DVUHTXLUHG
*+DOIGLDPHWHU/LQ;3ODQHVHOHFWLRQ
([FHVVGLPLQ/<VWQGD[LV;<
6HWUHPDLQLQJ
6DZEODGHLQ5;<
YDOXHVWR
*+DOIGLDPHWHU/LQ<3ODQHVHOHFWLRQ
([FHVVGLPLQ/;VWQGD[LV;=
6DZEODGHLQ5=;
*+DOIGLDPHWHU/LQ=3ODQHVHOHFWLRQ
([FHVVGLPLQ/=VWQGD[LV<=
6DZEODGHLQ5<=
Note
Brief description of the tool parameters can be found on the user interface.
For further information, see:
References:
Function Manual, Basic Functions; Tool Offset (W1)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 77
Tool offsets
5.5 Tool types
References
Function Manual, Extended Functions; Grinding (W4)
Fundamentals
78 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.6 Tool offset call (D)
Function
Cutting edges 1 to 8 (with active TOOLMAN 12) of a tool can be assigned different tool offset
data records (e.g. different offset values for the left and right cutting edge of a grooving tool).
Activation of the offset data (including the data for the tool length compensation) of a special
cutting edge is performed by calling the D number. When D0 is programmed, offsets for the
tool have no effect.
A tool radius compensation must also be activated via G41/G42.
Note
Tool length offsets take immediate effect when the D number is programmed. If no D number
is programmed, the default setting defined via the machine data is active for a tool change
( → see machine manufacturer's specifications).
Syntax
Activation of a tool offset data record:
D<number>
Activate the tool radius compensation:
G41 ...
G42 ...
Deactivation of the tool offsets:
D0
G40
Significance
D: Command for the activation of an offset data record for the active tool
The tool length compensation is applied with the first programmed traverse
of the associated length compensation axis.
Notice:
A tool length compensation can also take effect without D programming,
when the automatic activation of a tool edge has been configured for the
tool change ( → see machine manufacturer's specifications).
<number>: The tool offset data record to be activated is specified via the <number>
parameter.
The type of D programming depends on the configuration of the machine
(see paragraph "Type of D programming").
Range of values: 0 - 32,000
D0: Command for the deactivation of the offset data record for the active tool
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 79
Tool offsets
5.6 Tool offset call (D)
G41: Command for the activation of the tool radius compensation with machining
direction left of the contour
G42: Command for the activation of the tool radius compensation with machining
direction right of the contour
G40: Command for the deactivation of the tool radius compensation
Note
The tool radius compensation is described in detail in the section "Tool radius compensation"
section.
Type of D programming
The type of D programming is defined via machine data.
This can be done as follows:
• D number = cutting edge number
D numbers ranging from 1 to max. 12 are available for every tool T<number> or T="Name"
(with TOOLMAN). These D numbers are assigned directly to the tool cutting edges.
A compensation data record ($TC_DPx[t,d]) belongs to each D number (= cutting edge
number).
• Free selection of D numbers
The D numbers can be freely assigned to the cutting edge numbers of a tool. The upper
limit for the D numbers that can be used is limited by a machine data.
• Absolute D number without reference to the T number
Independence between D number and T number can be selected in systems without tool
management. The reference of T number, cutting edge and offset by the D number is
defined by the user. The range of D numbers is between 1 and 32000.
References:
Function Manual, Basic Functions; Tool Offset (W1),
Function Manual, Tool Management, Chapter: "Variants of D-number assignments"
Fundamentals
80 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.6 Tool offset call (D)
Examples
Example 1: Tool change with T command (turning)
Example 2: Different offset values for the left and right cutting edge of a grooving tool
N10 T2
N20 G0 X35 Z-20
N30 G1 D1 X10
N40... D6 Z-5
10
Z
-20 -5
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 81
Tool offsets
5.7 Change in the tool offset data
Effectiveness
A change in the tool offset data takes effect the next time the T or D number is programmed.
Set tool offset data to be active immediately
The following machine data can be used to specify that entered tool offset data takes effect
immediately:
MD9440 $MM_ACTIVATE_SEL_USER
DANGER
If MD9440 is set, tool offsets resulting from changes in tool offset data during the part
program stop, are applied when the part program is continued.
Fundamentals
82 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.8 Programmable tool offset (TOFFL, TOFF, TOFFR)
Function
The user can use the commands TOFFL/TOFF and TOFFR to modify the effective tool length
or the effective tool radius in the NC program, without changing the tool offset data stored in
the compensation memory.
These programmed offsets are deleted again at the end of the program.
Syntax
Tool length offset:
TOFFL=<value>
TOFFL[1]=<value>
TOFFL[2]=<value>
TOFFL[3]=<value>
TOFF[<geometry axis>]=<value>
Tool radius offset:
TOFFR=<value>
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 83
Tool offsets
5.8 Programmable tool offset (TOFFL, TOFF, TOFFR)
Significance
Note
The TOFFR command has almost the same effect as the OFFN command (see "Tool radius
compensation (G40, G41, G42, OFFN) [Page 277]"). There is only a difference with active
peripheral curve transformation (TRACYL) and active slot side compensation. In this case,
the tool radius is affected by OFFN with a negative sign, but by TOFFR with a positive sign.
OFFN and TOFFR can be effective simultaneously. They then generally have an additive
effect (except for slot side compensation).
Fundamentals
84 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.8 Programmable tool offset (TOFFL, TOFF, TOFFR)
Supplementary conditions
• Evaluation of setting data
The following setting data is evaluated when assigning the programmed offset values to
the tool length components:
SD42940 $SC_TOOL_LENGTH_CONST (change of tool length components on change of
planes).
SD42950 $SC_TOOL_LENGTH_TYPE (assignment of the tool length compensation
independent of tool type)
If this setting data has valid values not equal to 0, then these take preference over the
contents of G code group 6 (plane selection G17 - G19) or the tool type
($TC_DP1[<T no.>, <D no.>]) contained in the tool data, i.e. this setting data influences
the evaluation of the offsets in the same way as the tool length components L1 to L3.
• Tool change
All offset values are retained during a tool change (cutting edge change), e.g. they are
also effective for the new tool (new cutting edge).
Examples
Example 1: Positive tool length offset
The active tool is a drill with length L1 = 100 mm.
The active plane is G17, i.e. the drill points in the Z direction.
The effective drill length is to be increased by 1 mm. The following variants are available for
the programming of this tool length offset:
TOFFL=1
or
TOFFL[1]=1
or
TOFF[Z]=1
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 85
Tool offsets
5.8 Programmable tool offset (TOFFL, TOFF, TOFFR)
In this example, the offset of 1 mm in the Z axis is retained when changing to G18 in block
N60; the effective tool length in the Y axis is the unchanged tool length of 100 mm.
However, in block N100, the offset is effective in the Y axis when changing to G18 as it was
assigned to tool length L1 in the programming and this length component is effective in the
Y axis with G18.
Fundamentals
86 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool offsets
5.8 Programmable tool offset (TOFFL, TOFF, TOFFR)
Further information
Applications
The "Programmable tool offset" function is especially interesting for ball mills and milling tools
with corner radii as these are often calculated in the CAM system to the ball center instead of
the ball tip. However, generally the tool tip is measured when measuring the tool and stored
as tool length in the compensation memory.
System variables for reading the current offset values
The currently effective offsets can be read with the following system variables:
Note
The system variables $AC_TOFFL, $AC_TOFF and AC_TOFFR trigger an automatic
preprocessing stop when reading from the preprocessing context (NC program).
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 87
Tool offsets
5.8 Programmable tool offset (TOFFL, TOFF, TOFFR)
Fundamentals
88 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion 6
6.1 Spindle speed (S), direction of spindle rotation (M3, M4, M5)
Function
The spindle speed and direction of rotation values set the spindle in rotary motion and provide
the conditions for chip removal.
; ; ;
Other spindles may be available in addition to the main spindle (e.g. the counterspindle or an
actuated tool on turning machines). As a rule, the main spindle is declared the master spindle
in the machine data. This assignment can be changed using an NC command.
Syntax
S... / S<n>=...
M3 / M<n>=3
M4 / M<n>=4
M5 / M<n>=5
SETMS(<n>)
...
SETMS
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 89
Spindle motion
6.1 Spindle speed (S), direction of spindle rotation (M3, M4, M5)
Significance
Note
Up to three S-values can be programmed per NC block, e.g.:
S... S2=... S3=...
Note
SETMS must be in a separate block.
Example
S1 is the master spindle, S2 is the second spindle. The part is to be machined from two sides.
To do this, it is necessary to divide the operations into steps. After the cut-off point, the
synchronizing device (S2) takes over machining of the workpiece after the cut off. To do this,
this spindle S2 is defined as the master spindle to which G95 then applies.
6
6
Fundamentals
90 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.1 Spindle speed (S), direction of spindle rotation (M3, M4, M5)
Further information
Interpretation of the S-value for the master spindle
If function G331 or G332 is active in G function group 1 (modally valid motion commands),
the programmed S-value will always be interpreted as the speed in rpm. Otherwise, the
interpretation of the S-value will depend upon G function group 15 (feedrate type): If G96,
G961 or G962 is active, the S-value is interpreted as a constant cutting rate in m/min;
otherwise, it is interpreted as a speed in rpm.
Changing from G96/G961/G962 to G331/G332 sets the value of the constant cutting rate to
zero; changing from G331/G332 to a function within the G function group other than G331/
G332 sets the speed value to zero. The corresponding S-values have to be reprogrammed if
required.
Note
Machine data can be used to set when axis movements should be executed; either once the
spindle has powered up to the setpoint speed, or immediately after the programmed
switching operations have been traversed.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 91
Spindle motion
6.1 Spindle speed (S), direction of spindle rotation (M3, M4, M5)
Note
The speed specified with S..., along with the functions programmed with M3, M4, M5, now
apply to the newly declared master spindle.
If SETMS is programmed without a spindle name, the master spindle programmed in the
machine data is used instead.
Fundamentals
92 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.2 Cutting rate (SVC)
Function
As an alternative to the spindle speed, the tool cutting rate, which is more commonly used in
practice, can be programmed for milling operations.
&XWWLQJUDWH
7RROUDGLXV
6SHHG
The control uses the radius of the active tool to calculate the effective spindle speed from
the programmed tool cutting rate:
S = (SVC * 1000) / (RT * 2π)
where: S: Spindle speed in rpm
SVC: Cutting rate in m/min or feet/min
RT: Radius of the active tool in mm
The tool type ($TC_DP1) of the active tool is not taken into account.
The programmed cutting rate is independent of the path feedrate F and G function group 15.
The direction of rotation and the spindle start are programmed using M3 and M4 respectively
and the spindle stop using M5.
A change to the tool radius data in the offset memory will be applied the next time a tool offset
is selected or the next time the active offset data is updated.
Changing the tool or selecting/deselecting a tool offset data record generates a recalculation
of the effective spindle speed.
Conditions
The programming of the cutting speed requires:
• The geometric ratios of a rotating tool (milling cutter or drilling tool)
• An active tool offset data record
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 93
Spindle motion
6.2 Cutting rate (SVC)
Syntax
SVC[<n>]=<value>
Note
In the block with SVC, the tool radius must be known; in other words, a corresponding tool
including a tool offset data record must be active or selected in the block. There is no fixed
sequence for SVC and T/D selection during programming in the same block.
Significance
Note
Changing between SVC and S
Changing between SVC and S programming is possible at will, even while the spindle is
turning. In each case, the value that is not active is deleted.
Note
Maximum tool speed
System variable $TC_TP_MAX_VELO[<tool number>] can be used to preset a maximum tool
speed (spindle speed).
If no speed limit has been defined, there will be no monitoring.
Note
SVC programming is not possible if the following are active:
• G96/G961/G962
• GWPS
• SPOS/SPOSA/M19
• M70
Conversely, programming one of these commands will lead to the deselection of SVC.
Note
The tool paths of "standard tools" generated e.g. using CAD systems which already take the
tool radius into account and only contain the deviation from the standard tool in the tool nose
radius are not supported in conjunction with SVC programming.
Fundamentals
94 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.2 Cutting rate (SVC)
Examples
The following shall apply to all examples: Toolholder = spindle (for standard milling)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 95
Spindle motion
6.2 Cutting rate (SVC)
Example 4:
Assumptions:
Master or tool change is determined by the toolholder.
MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER > 1
In the event of a tool change the old tool offset is retained. A tool offset for the new tool is only
activated when D is programmed:
MD20270 $MC_CUTTING_EDGE_DEFAULT = - 2
N30 $TC_TP2[2]="WZ2"
N31 $TC_DP6[2,1]=5.0 ; Radius = 5.0 mm of T2, offset D1
N40 $TC_TP2[8]="WZ8"
N41 $TC_DP6[8,1]=9.0 ; Radius = 9.0 mm of T8, offset D1
N42 $TC_DP6[8,4]=7.0 ; Radius = 7.0 mm of T8, offset D4
...
N100 SETMTH(1) ; Set master toolholder number
N110 T="WZ2" M6 D1 ; Tool T2 is loaded and offset D1 is activated.
N120 G1 G94 F1000 M3=3 SVC=100 ; S3 = (100 m/min * 1,000) / (5.0 mm * 2 * 3.14) = 3184.71 rpm
N130 SETMTH(4) ; Set master toolholder number
N140 T="WZ8" ; Corresponds to T8="WZ8"
N150 M6 ; Corresponds to M4=6
Tool "WZ8" is in the master toolholder, but because
MD20270=–2, the old tool offset remains active.
N160 SVC=50 ; S3 = (50 m/min * 1,000) / (5.0 mm * 2 * 3.14) = 1592.36 rpm
The offset applied to toolholder 1 is still active and
toolholder 1 is assigned to spindle 3.
N170 D4 Offset D4 of the new tool "WZ8" becomes active (in
toolholder 4).
N180 SVC=300 ; S6 = (300 m/min * 1,000) / (7.0 mm * 2 * 3.14) = 6824.39 rpm
Spindle 6 is assigned to toolholder 4.
Fundamentals
96 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.2 Cutting rate (SVC)
Example 5:
Assumptions:
Spindles are toolholders at the same time:
MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER = 0
In the event of a tool change tool offset data record D4 is selected automatically.
MD20270 $MC_CUTTING_EDGE_DEFAULT = 4
N30 $TC_TP2[2]="WZ2"
N31 $TC_DP6[2,1]=5.0 ; Radius = 5.0 mm of T2, offset D1
N40 $TC_TP2[8]="WZ8"
N41 $TC_DP6[8,1]=9.0 ; Radius = 9.0 mm of T8, offset D1
N42 $TC_DP6[8,4]=7.0 ; Radius = 7.0 mm of T8, offset D4
...
N100 SETMS(1) ; Spindle 1 = master spindle
N110 T="WZ2" M6 D1 ; Tool T2 is loaded and offset D1 is activated.
N120 G1 G94 F1000 M3 SVC=100 ; S1 = (100 m/min * 1,000) / (5.0 mm * 2 * 3.14) = 3184.71 rpm
N200 SETMS(3) ; Spindle 3 = master spindle
N210 M4 SVC=150 ; S3 = (150 m/min * 1,000) / (5.0 mm * 2 * 3.14) = 4777.07 rpm
Refers to tool offset D1 of T="WZ2", S1 continues to turn
at previous speed.
N220 T="WZ8" ; Corresponds to T8="WZ8"
N230 M4 SVC=200 ; S3 = (200 m/min * 1,000) / (5.0 mm * 2 * 3.14) = 6369.43 rpm
Refers to tool offset D1 of T="WZ2".
N240 M6 ; Corresponds to M3=6
Tool "WZ8" is in the master spindle, tool offset D4 of the
new tool becomes active.
N250 SVC=50 ; S3 = (50 m/min * 1,000) / (7.0 mm * 2 * 3.14) = 1137.40 rpm
Offset D4 on master spindle is active.
N260 D1 ; Offset D1 of new tool "WZ8" active.
N270 SVC[1]=300 ; S1 = (300 m/min * 1,000) / (9.0 mm * 2 * 3.14) = 5307.86 rpm
S3 = (50 m/min * 1,000) / (9.0 mm * 2 * 3.14) = 884.64 rpm
...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 97
Spindle motion
6.2 Cutting rate (SVC)
Further information
Tool radius
The following tool offset data (associated with the active tool) affect the tool radius when:
• $TC_DP6 (radius - geometry)
• $TC_DP15 (radius - wear)
• $TC_SCPx6 (offset for $TC_DP6)
• $TC_ECPx6 (offset for $TC_DP6)
The following are not taken into account:
• Online radius compensation
• Allowance on the programmed contour (OFFN)
Synchronized actions
SVC cannot be programmed from synchronized actions.
Fundamentals
98 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.2 Cutting rate (SVC)
Reading the cutting rate and the spindle speed programming variant
The cutting rate of a spindle and the speed programming variant (spindle speed S or cutting
rate SVC) can be read using system variables:
• With preprocessing stop in the part program via system variables:
$AC_SVC[<n>] Cutting rate applied when the current main run record for
spindle number <n> was preprocessed.
$AC_S_TYPE[<n>] Spindle speed programming variant applied when the
current main run record for spindle number <n> was
preprocessed.
Value: Significance:
1 Spindle speed S in rpm
2 Cutting rate SVC in m/min or ft/min
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 99
Spindle motion
6.3 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
Function
When the "Constant cutting rate" function is active, the spindle speed is modified as a
function of the respective workpiece diameter so that the cutting rate S in m/min or ft/min
remains constant at the tool edge.
6SLQGOHVSHHG
UHGXFHG &XWWLQJUDWH
FRQVWDQW
6SLQGOHVSHHG
LQFUHDVHG
Syntax
Activating/Deactivating constant cutting rate for the master spindle:
G96/G961/G962 S...
...
G97/G971/G972/G973
Note
SCC[<axis>] can be programmed together with G96/G961/G962 or in isolation.
Fundamentals
100 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.3 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
Significance
Note
When G96/G961/G962 is selected for the first time, a constant cutting rate S... must be
entered; when G96/G961/G962 is selected again, the entry is optional.
Note
The speed limitation programmed with LIMS must not exceed the speed limit programmed
with G26 or defined in the setting data.
Note
The reference axis for G96/G961/G962 must be a geometry axis assigned to the channel at
the time when SCC[<axis>] is programmed. SCC[<axis>] can also be programmed
when any of the G96/G961/G962 functions are active.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 101
Spindle motion
6.3 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
Examples
Example 1: Activating the constant cutting rate with speed limitation
Program code
N10 LIMS=300 LIMS[2]=450 LIMS[3]=800 LIMS[4]=1500
...
Fundamentals
102 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.3 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
Further information
Calculation of the spindle speed
The ENS position of the face axis (radius) is the basis for calculating the spindle speed from
the programmed cutting rate.
Note
Frames between WCS and SZS (e.g. programmable frames such as SCALE, TRANS or
ROT) are taken into account in the calculation of the spindle speed and can bring about a
change in speed (for example, if there is a change in the effective diameter in the case of
SCALE).
/,06
Note
On loading the block into the main run, all programmed values are transferred into the setting
data.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 103
Spindle motion
6.3 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
Note
The transverse axis must be defined in machine data.
Rapid traverse G0
With rapid traverse G0, there is no change in speed.
Exception:
If the contour is approached in rapid traverse and the next NC block contains a G1/G2/G3/etc.
path command, the speed is adjusted in the G0approach block for the next path command.
Fundamentals
104 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.3 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
Examples for geometry axis exchange with assignments of the reference axis:
References:
Function Manual, Basic Functions; Transverse Axes (P1) and Feedrates (V1)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 105
Spindle motion
6.4 Constant grinding wheel peripheral speed (GWPSON, GWPSOF)
Function
The "Constant grinding wheel peripheral speed (GWPS)" function is used to set the grinding
wheel speed so that, taking account of the current radius, the grinding wheel peripheral speed
remains constant.
Syntax
GWPSON(<t no.>)
GWPSOF(<t no.>)
S.../S<n>=...
Significance
Note
A grinding wheel peripheral speed can only be programmed for grinding tools
(types 400 to 499).
Example
A constant grinding wheel peripheral speed is to be used for grinding tools T1 and T5.
T1 is the active tool.
Fundamentals
106 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Spindle motion
6.4 Constant grinding wheel peripheral speed (GWPSON, GWPSOF)
Further information
Tool-specific parameters
In order to activate the function "Constant peripheral speed", 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. "Grinding-specific tool monitoring
in the parts program TMON, TMOF" or PUTFTOC, PUTFTOCF) must be taken into account
when changing speed.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 107
Spindle motion
6.5 Programmable spindle speed limitation (G25, G26)
Function
The minimum and maximum spindle speeds defined in the machine and setting data can be
modified by means of a part program command.
Programmed spindle speed limitations are possible for all spindles of the channel.
CAUTION
A spindle speed limitation programmed with G25 or G26 overwrites the speed limits in the
setting data and, therefore, remains stored even after the end of the program.
Syntax
G25 S… S1=… S2=…
G26 S… S1=… S2=…
Significance
Example
Program code Comment
N10 G26 S1400 S2=350 S3=600 ; Upper speed limit for master spindle, spindle 2
and spindle 3.
Fundamentals
108 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control 7
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
Function
These commands are used in the NC program to set the feedrates for all axes involved in the
machining sequence.
Syntax
G93/G94/G95
F...
FGROUP(<axis1>,<axis2>, etc.)
FGREF[<rotary axis>]=<reference radius>
FL[<axis>]=<value>
Significance
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 109
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
Examples
Example 1: Mode of operation of FGROUP
The following example is intended to demonstrate the effect of FGROUP on the path and path
feedrate. The variable $AC_TIME contains the time of the block start in seconds. It can only
be used in synchronized actions.
Program code
N10 G0 X0 Y0
N20 FGROUP(X)
N30 G1 X1000 Y1000 G94 F1000 FL[Y]=500
N40 Z-50
Fundamentals
110 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
< <
; =
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 111
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
Further information
Feedrate for path axes (F)
The path feedrate is generally composed of the individual speed components of all geometry
axes participating in the movement and refers to the center point of the cutter or the tip of the
turning tool.
<
0RYHPHQWRQ< )
;
0RYHPHQWRQ;
The feedrate is specified under address F. Depending on the default setting in the machine
data, the units of measurement specified with the G commands are either in mm or inch.
One F value can be programmed per NC block. The feedrate unit is defined using one of the
G commands G93/G94/G95. The feedrate F acts only on path axes and remains active until a
new feedrate is programmed. Separators are permitted after the address F.
Examples:
F100 or F 100
F.5
F=2*FEED
Fundamentals
112 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
<
*;)
;
PLQ
Note
If the path lengths vary greatly from block to block, a new F value should be specified in each
block with G93. When machining with rotary axes, the feedrate can also be specified in
degrees/min.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 113
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
Change FGROUP
The setting made with FGROUP can be changed:
1. By reprogramming FGROUP: e.g. FGROUP(X,Y,Z)
2. By programming FGROUP without a specific axis: FGROUP()
In accordance with FGROUP(), the initial setting in the machine data applies: Geometry
axes are now once again traversed in the path axis grouping.
Note
With FGROUP, axis identifiers must be the names of channel axes.
Note
G70/G71 have no effect on feedrate settings.
Fundamentals
114 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
F'
Note
This default is independent of the active basic system
(MD10240 $MN_SCALING_SYSTEM_IS_METRIC) and the currently active G70/G71/G700/
G710 setting.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 115
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
Special situations:
Program code
N100 FGROUP(X,Y,Z,A)
N110 G1 G91 A10 F100
N120 G1 G91 A10 X0.0001 F100
With this type of programming, the F value programmed in N110 is evaluated as the rotary
axis feedrate in degrees/min, while the feedrate evaluation in N120 is either 100 inch/min or
100 mm/min, dependent upon the currently active G70/G71/G700/G710 setting.
CAUTION
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:
• For G71/G710: FGREF[A]=57.296
• For G70/G700: FGREF[A]=57.296/25.4
Fundamentals
116 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.1 Feedrate (G93, G94, G95, F, FGROUP, FL, FGREF)
$AA_FGROUP[<axis>] Returns the value "1" if the specified axis affects the
path velocity in the current main run record by means of
the basic setting or through FGROUP programming.
Otherwise, the variable returns the value "0".
$AC_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
• Without preprocessing stop in the part program via system variables:
$PA_FGROUP[<axis>] Returns the value "1" if the specified axis affects the
path velocity by means of the basic setting or through
FGROUP programming. Otherwise, the variable returns
the value "0".
$P_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
Note
It is, therefore, possible to use the effective factor for orientation axes FGREF to define a
reference point on the tool to which the programmed path feedrate refers.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 117
Feed control
7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC)
Function
Positioning axes are traversed independently of the path axes at a separate, axis-specific
feedrate. There are no interpolation commands. The POS/POSA/POSP commands are used to
traverse the positioning axes and coordinate the motion sequences at the same time.
The following are typical examples of positioning axes:
• Pallet feed equipment
• Gauging stations
WAITP can be used to identify a position in the NC program where the program is to wait until
an axis programmed with POSA in a previous NC block reaches its end position.
WAITMC loads the next NC block immediately when the specified wait marker is received.
Syntax
POS[<axis>]=<position>
POSA[<axis>]=<position>
POSP[<axis>]=(<end position>,<partial length>,<mode>)
FA[<axis>]=<value>
WAITP(<axis>) ; Programming in a separate NC block.
WAITMC(<wait marker>)
Significance
Fundamentals
118 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 119
Feed control
7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC)
CAUTION
Examples
Example 1: Travel with POSA and access to machine status data
The control generates an internal preprocessing stop on access to machine status data
($A...). Machining is stoppeduntil all preprocessed and saved blocks have been executed in
full.
Fundamentals
120 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC)
Further information
Travel with POSA
Block step enable or program execution is not affected by POSA. The movement to the end
position can be performed during execution of subsequent NC blocks.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 121
Feed control
7.3 Position-controlled spindle operation (SPCON, SPCOF)
Function
Position-controlled spindle mode may be advisable in some cases, e.g. in conjunction with
large-pitch thread cutting with G33, where better quality can be achieved.
The SPCON NC command is used to switch over to position-controlled spindle mode.
Note
SPCON requires a maximum of 3 interpolation cycles.
Syntax
SPCON/SPCON(<n>)/SPCON(<n>,<m>, etc.)
...
SPCOF/SPCOF(<n>)/SPCOF(<n>,<m>, etc.)
Significance
Note
The speed is specified with S….
M3, M4 and M5 apply in respect of the directions of rotation and spindle stop.
Note
With synchronized spindle setpoint value linkage, the master spindle must be operated in
position-control mode.
Fundamentals
122 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
Function
SPOS, SPOSA or M19 can be used to set spindles to specific angular positions, e.g. during tool
change.
$QJOHSRVLWLRQ
SPOS, SPOSA and M19 induce a temporary switchover to position-controlled mode until the
next M3/M4/M5/M41 to M45.
End of positioning
The end-of-motion criterion when positioning the spindle can be programmed using FINEA,
CORSEA, IPOENDA or 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.
Synchronization
In order to synchronize spindle movements, WAITS can be used to wait until the spindle
position is reached.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 123
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
Conditions
The spindle to be positioned must be capable of operation in position-controlled mode.
Syntax
Position spindle:
SPOS=<value>/SPOS[<n>]=<value>
SPOSA=<value>/SPOSA[<n>]=<value>
M19/M<n>=19
Switch spindle over to axis mode:
M70/M<n>=70
Define end-of-motion criterion:
FINEA/FINEA[S<n>]
COARSEA/COARSEA[S<n>]
IPOENDA/IPOENDA[S<n>]
IPOBRKA/IPOBRKA(<axis>[,<instant in time>]) ; Programming in a separate NC
block.
Synchronize spindle movements:
WAITS/WAITS(<n>,<m>) ; Programming in a separate NC block.
Fundamentals
124 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 125
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
M<n>=19: Set the master spindle (M19 or M0=19) or spindle number <n>
(M<n>=19) to the angular position preset with
SD43240 $SA_M19_SPOS with the position approach mode preset in
SD43250 $SA_M19_SPOSMODE.
The NC block is not enabled until the position has been reached.
M<n>=70: Switch the master spindle (M70 or M0=70) or spindle number <n>
(M<n>=70) over to axis mode.
No defined position is approached. The NC block is enabled after the
switchover has been performed.
Fundamentals
126 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
Note
Three spindle positions are possible for each NC block.
Note
With incremental dimensions IC(<value>), spindle positioning can take place over several
revolutions.
Note
If position control was activated with SPCON prior to SPOS, this remains active until SPCOF is
issued.
Note
The control detects the transition to axis mode automatically from the program sequence.
Explicit programming of M70 in the part program is, therefore, essentially no longer
necessary. However, M70 can continue to be programmed, e.g to increase the legibility of
the part program.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 127
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
Examples
Example 1: Position spindle with negative direction of rotation
Spindle 2 is to be positioned at 250° with negative direction of rotation:
$&
r
r
'&
Fundamentals
128 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
Program variant 1:
Program variant 2:
; ;
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 129
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
Further information
Positioning with SPOSA
The block step enable or program execution is not affected by SPOSA. The spindle
positioning can be performed during execution of subsequent NC 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).
NOTICE
If a command, which implicitly causes a preprocessing stop, is read in a following block,
execution of this block is delayed until all positioning spindles are stationary.
Fundamentals
130 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
WAITS can be used after M5 to wait until the spindle(s) has (have) stopped. WAITS can be
used after M3/M4 to wait until the spindle(s) has (have) reached the specified speed/direction
of rotation.
Note
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).
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 131
Feed control
7.4 Positioning spindles (SPOS, SPOSA, M19, M70, WAITS)
'LUHFWLRQRIURWDWLRQ 'LUHFWLRQRIURWDWLRQ
'& $&
'& $&
3URJUDPPHG 3URJUDPPHG
DQJOH DQJOH
Fundamentals
132 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF)
Function
Positioning axes such as workpiece transport systems, tool turrets and end supports are
traversed independently of path and synchronized axes. A separate feedrate is therefore
defined for each positioning axis.
A separate axial feedrate can also be programmed for spindles.
It is also possible to derive the revolutional feedrate for path and synchronized axes or for
individual positioning axes/spindles from another rotary axis or spindle.
Syntax
Feedrate for positioning axis:
FA[<axis>]=…
Axis feedrate for spindle:
FA[SPI(<n>)]=…
FA[S<n>]=…
Derive revolutional feedrate for path/synchronized axes:
FPR (<rotary axis>)
FPR(SPI(<n>))
FPR(S<n>)
Derive rotational feedrate for positioning axes/spindles:
FPRAON(<axis>,<rotary axis>)
FPRAON(<axis>,SPI(<n>))
FPRAON(<axis>,S<n>)
FPRAON(SPI(<n>),<rotary axis>)
FPRAON(S<n>,<rotary axis>)
FPRAON(SPI(<n>),SPI(<n>))
FPRAON(S<n>,S<n>)
FPRAOF(<axis>,SPI(<n>), etc.)
FPRAOF(<axis>,S<n>, etc.)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 133
Feed control
7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF)
Significance
Note
The programmed feedrate FA[...] is modal.
Up to five feedrates for positioning axes or spindles can be programmed in each NC block.
Note
The derived feedrate is calculated according to the following formula:
Derived feedrate = programmed feedrate * absolute master feedrate
Fundamentals
134 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF)
Examples
Example 1: Synchronous spindle coupling
With synchronous spindle coupling, the positioning speed of the following spindle can be
programmed independently of the master spindle, e.g. for positioning operations.
Program code
...
N40 FPR(A)
N50 G95 X50 Y50 F500
...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 135
Feed control
7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF)
Further information
FA[…]
The feedrate type is always G94. When G70/G71 is active, the unit is metric/inches according
to the default setting in the machine data. G700/G710 can be used to modify the unit in the
program.
NOTICE
If no FA is programmed, the value defined in the machine data applies.
FPR(…)
As an extension of the G95command (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.
FPRAON(…)
FPRAON is used to derive the revolutional feedrate for positioning axes and spindles from the
current feedrate of another rotary axis or spindle.
FPRAOF(…)
The revolutional feedrate can be deactivated for one or a number of axes/spindles
simultaneously with the FPRAOF command.
Fundamentals
136 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.6 Programmable feedrate override (OVR, OVRRAP, OVRA)
Function
The velocity of path/positioning axes and spindles can be modified in the NC program.
Syntax
OVR=<value>
OVRRAP=<value>
OVRA[<axis>]=<value>
OVRA[SPI(<n>)]=<value>
OVRA[S<n>]=<value>
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 137
Feed control
7.6 Programmable feedrate override (OVR, OVRRAP, OVRA)
Examples
Example 1:
Set feedrate override: 80%
Example 2:
Example 3:
Example 4:
or
Fundamentals
138 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.7 Programmable acceleration override (ACC) (option)
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.
The programmable acceleration override can be used to modify 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 apply as 100% acceleration.
Syntax
ACC[<axis>]=<value>
ACC[SPI(<n>)]=<value>
ACC(S<n>)=<value>
Deactivate:
ACC[...]=100
Syntax
ACC: Acceleration change for the specified path axis or speed change
for the specified spindle.
NOTICE
With a greater acceleration rate, the values permitted by the manufacturer may be exceeded.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 139
Feed control
7.7 Programmable acceleration override (ACC) (option)
Example
Program code Comment
N50 ACC[X]=80 ; The axis slide in the X direction should only be
traversed with 80% acceleration.
N60 ACC[SPI(1)]=50 ; Spindle 1 should only accelerate or brake with 50% of
the acceleration capacity.
Further information
Acceleration override programmed with ACC
The acceleration override programmed with ACC[...] is always taken into consideration on
output as in system variable $AA_ACC. Readout in the parts program and in synchronized
actions takes place at different times in the NC processing run.
In synchronized actions
The following thus applies: The value written to a synchronized action is then only considered
in system variable $AA_ACC as written to the synchronized action if ACC has not been
changed in the meantime by a part program.
The preset acceleration can also be changed via synchronized actions (see Function Manual,
Synchronized Actions).
Example:
Program code
...
N100 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]=140
The current acceleration value can be called with system variable $AA_ACC[<axis>].
Machine data can be used to define whether the last ACC value set should apply on RESET/
part program end or whether 100% should apply.
Fundamentals
140 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.8 Feedrate with handwheel override (FD, FDA)
Function
The FD and FDA commands can be used to traverse axes with handwheels during execution
of the part program. The programmed settings for traversing the axes are then overlaid with
the handwheel pulses evaluated as path or velocity defaults.
Path axes
In the case of path axes, the programmed path feedrate can be overlaid. The handwheel is
evaluated as the first geometry axis of the channel. The handwheel pulses evaluated per
interpolation cycle dependent on the direction of rotation correspond to the path velocity to be
overlaid. The path velocity limit values which can be achieved by means of handwheel
override are:
• Minimum: 0
• Maximum: Machine data limit values of the path axes involved in traversing
Note
Path feedrate
The path feedrate F and the handwheel feedrate FD cannot be programmed in the same
NC block.
Positioning axes
In the case of positioning axes, the travel path or velocity can be overlaid as an axial value.
The handwheel assigned to the axis is evaluated.
• Path override
The handwheel pulses evaluated dependent on the direction of rotation correspond to the
axis path to be traveled. Only handwheel pulses in the direction of the programmed
position are evaluated.
• Velocity override
The handwheel pulses evaluated per interpolation cycle dependent on the direction of
rotation correspond to the axial velocity to be overlaid. The path velocity limit values which
can be achieved by means of handwheel override are:
- Minimum: 0
- Maximum: Machine data limit values of the positioning axis
A detailed description of how to set handwheel parameters appears in:
References:
/FB2/ Function Manual, Extended Functions; Manual Travel and Handwheel Travel (H1)
Syntax
FD=<velocity>
FDA[<axis>]=<velocity>
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 141
Feed control
7.8 Feedrate with handwheel override (FD, FDA)
Significance
Note
FD and FDA are non-modal.
Example
Further information
Traverse path axes with velocity override (FD=<velocity>)
The following conditions must be met for the part program block in which path velocity
override is programmed:
• Path command G1, G2 or G3 active
• Exact stop G60 active
• Linear feedrate G94 active
Fundamentals
142 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.8 Feedrate with handwheel override (FD, FDA)
Feedrate override
The feedrate override only affects the programmed path velocity and not the velocity
component generated with the handwheel (exception: (except if feed override = 0).
Example:
Example:
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 143
Feed control
7.8 Feedrate with handwheel override (FD, FDA)
Traversing range:
The traversing range is limited by the starting position and the programmed end point.
Fundamentals
144 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN)
7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN)
Function
With activated offset mode G41/G42, the programmed feedrate for the milling cutter radius
initially refers to the milling cutter center path (see the chapter titled "Coordinate
transformations (frames)").
When you mill a circle (the same applies to polynomial and spline interpolation) the extent to
which the feedrate varies at the cutter edge is so significant under certain circumstances that
it can impair the quality of the machined part.
Example: Milling a small outside radius with a large tool. The path that the outside of the
milling tool must travel is considerably longer than the path along the contour.
&RQWRXU
7RROSDWK
Because of this, machining at the contour takes place with a very low feedrate. To prevent
adverse effects, the feedrate needs to be controlled accordingly for curved contours.
Syntax
CFTCP
CFC
CFIN
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 145
Feed control
7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN)
Significance
Example
<
In this example, the contour is first produced
with CFC-corrected feedrate. During
finishing, the cutting base is also machined
with CFIN. This prevents the cutting base
being damaged at the outside radii by a
feedrate that is too high.
;
Fundamentals
146 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN)
Further information
Constant feedrate on contour with CFC
FRQVWDQW
W
W DQ
QV
FR
UHGXFHG
LQFUHDVHG
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 147
Feed control
7.10 Several feedrate values in one block (F, ST, SR, FMA, STA, SRA)
7.10 Several feedrate values in one block (F, ST, SR, FMA, STA, SRA)
Function
The "Multiple feedrates in one block" function can be used to activate different feedrate
values for an NC block, a dwell time or a retraction motion-synchronously, dependent on
external digital and/or analog inputs.
The HW input signals are combined in one input byte.
Syntax
F2=... to F7=...
ST=...
SR=...
FMA[2,<axis>]=... to FMA[7,<axis>]=...
STA[<axis>]=...
SRA[<axis>]=...
Significance
Fundamentals
148 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.10 Several feedrate values in one block (F, ST, SR, FMA, STA, SRA)
Note
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.
Note
The axial feedrate (FA or FMA value) or path feedrate (F value) corresponds to 100%
feedrate. The "Multiple feedrate values in one block" function can be used to achieve
feedrates smaller than or equal to the axial feedrate or path feedrate.
Note
If feedrates, dwell time or return path are programmed for an axis on account of an external
input, this axis must not be programmed as POSA axis (positioning axis over multiple blocks)
in this block.
Note
Look Ahead is also active for multiple feedrates in one block. In this way, the current feedrate
is restricted by the Look Ahead value.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 149
Feed control
7.10 Several feedrate values in one block (F, ST, SR, FMA, STA, SRA)
Examples
Example 1: Path motion
Fundamentals
150 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.11 Non-modal feedrate (FB)
Function
The "Non-modal feedrate" function can be used to define a separate feedrate for a single
block. After this block, the previous modal feedrate is active again.
Syntax
FB=<value>
Significance
Note
If no traversing motion is programmed in the block (e.g. computation block), the FB has no
effect.
If no explicit feedrate for chamfering/rounding is programmed, then the value of FB also
applies for any chamfering/rounding contour element in this block.
Feedrate interpolations FLIN, FCUB, etc. are also possible without restriction.
Simultaneous programming of FB and FD (handwheel travel with feedrate override) or F
(modal path feedrate) is not possible.
Example
Program code Comment
N10 G0 X0 Y0 G17 F100 G94 ; Initial setting
N20 G1 X10 ; Feedrate 100 mm/min
N30 X20 FB=80 ; Feedrate 80 mm/min
N40 X30 ; Feedrate is 100 mm/min again.
...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 151
Feed control
7.12 Tooth feedrate (G95 FZ)
Function
Primarily for milling operations, the tooth feedrate, which is more commonly used in practice,
can be programmed instead of the revolutional feedrate:
)HHGUDWHSDWK
SHUWRRWK
The control uses the $TC_DPNT (number of teeth) tool parameter associated with the
active tool offset data record to calculate the effective revolutional feedrate for each
traversing block from the programmed tooth feedrate.
F = FZ * $TC_DPNT
where: F: Revolutional feedrate in mm/rev or inch/rev
FZ: Tooth feedrate in mm/tooth or inch/tooth
$TC_DPNT: Tool parameter: Number of teeth/rev
The tool type ($TC_DP1) of the active tool is not taken into account.
The programmed tooth feedrate is independent of the tool change and the selection/
deselection of a tool offset data record; it is retained in modal format.
A change to the $TC_DPNT tool parameter associated with the active tool cutting edge will be
applied the next time a tool offset is selected or the next time the active offset data is updated.
Changing the tool or selecting/deselecting a tool offset data set generates a recalculation of
the effective revolutional feedrate.
Note
The tooth feedrate refers only to the path (axis-specific programming is not possible).
Fundamentals
152 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.12 Tooth feedrate (G95 FZ)
Syntax
G95 FZ...
Note
In the block, G95 and FZ can be programmed together or in isolation.
There is no fixed programmed sequence.
Significance
Note
Switchover between G95 F... and G95 FZ...
Switching over between G95 F... (revolutional feedrate) and G95 FZ... (tooth feedrate)
will delete the non-active feedrate value in each case.
Note
Derive feedrate with FPR
As is the case with the revolutional feedrate, FPR can also be used to derive the tooth
feedrate of any rotary axis or spindle (see "Feedrate for positioning axes/spindles (FA, FPR,
FPRAON, FPRAOF) [Page 133]").
CAUTION
Tool change/Changing the master spindle
A subsequent tool change or changing the master spindle must be taken into account by the
user by means of corresponding programming, e.g. reprogramming FZ.
CAUTION
Technological concerns such as climb milling or conventional milling, front face milling or
peripheral face milling, etc., along with the path geometry (straight line, circle, etc.), are not
taken into account automatically. Therefore, these factors have to be given consideration
when programming the tooth feedrate.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 153
Feed control
7.12 Tooth feedrate (G95 FZ)
Examples
Example 1: Milling cutter with 5 teeth ($TC_DPNE = 5)
Fundamentals
154 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.12 Tooth feedrate (G95 FZ)
Note
Following the change in master spindle (N100) the user also has to select an offset affecting
the tool actuated by spindle 2.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 155
Feed control
7.12 Tooth feedrate (G95 FZ)
Further information
Changing between G93, G94 and G95
FZ can also be programmed when G95 is not active, although it will have no effect and is
deleted when G95 is selected. In other words, when changing between G93, G94, and G95,
in the same way as with F, the FZ value is also deleted.
Reselection of G95
Reselecting G95 when G95 is already active has no effect (unless a change between F and
FZ has been programmed).
SAVE mechanism
In subprograms with the SAVE attribute FZ is written to the value prior to the subprogram
starting (in the same way as F).
Synchronized actions
FZ cannot be programmed from synchronized actions.
Fundamentals
156 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Feed control
7.12 Tooth feedrate (G95 FZ)
$AC_FZ Tooth feedrate effective when the current main run record was
preprocessed.
$AC_F_TYPE Path feedrate type effective when the current main run record
was preprocessed.
Value: Significance:
0 mm/min
1 mm/rev
2 inch/min
3 inch/rev
11 mm/tooth
31 inch/tooth
Note
If G95 is not active, the $P_FZ and $AC_FZ variables will always return a value of zero.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 157
Feed control
7.12 Tooth feedrate (G95 FZ)
Fundamentals
158 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings 8
8.1 Settable work offset (G54 to G57, G505 to G599, G53, G500,
SUPA, G153)
Function
The workpiece zero in relation to the zero point of the basic coordinate system is set up by the
settable zero offset (G54 to G57 and G505 to G599) in all axes.
In this way it is possible to call zero points program-wide per G command (e.g. for different
devices).
Milling:
= <
=
<
*
;
;
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 159
Geometry settings
8.1 Settable work offset (G54 to G57, G505 to G599, G53, G500, SUPA, G153)
Turning:
=
0 :
*
Note
During turning, for example, the offset value for returning of the chuck is entered in G54.
Syntax
Activating settable zero offset:
G54
...
G57
G505
...
G599
Deactivating settable zero offset:
G500
G53
G153
SUPA
Fundamentals
160 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.1 Settable work offset (G54 to G57, G505 to G599, G53, G500, SUPA, G153)
Significance
G54 to G57: Call of the 1st to 4th settable zero offset (ZO)
G505 to G599: Call of the 5th to 99th settable zero offset
G500: Deactivation of the current settable zero offset
G500=zero frame: Deactivation of the settable zero
(default setting; contains no offset until the next call, activation of
offset, rotation, mirroring or the entire basic frame
scaling) ($P_ACTBFRAME).
G500 not equal to 0: Activation of the first settable zero
offset ($P_UIFR[0]) and activation of
the entire basic frame
($P_ACTBFRAME) or possibly a
modified basic frame is activated.
G53: G53 suppresses the settable work offset and the programmable
work offset non-modally.
G153: G153 has the same effect as G53 and also suppresses the entire
basic frame.
SUPA: SUPA has the same effect as G153 and also suppresses:
• Handwheel offsets (DRF)
• Overlaid movements
• External zero offset
• PRESET offset
References:
For programmable work offset, see Chapter "Coordinate transformations (frames) [Page
337]".
Note
The basic setting at the start of the program, e.g. G54 or G500, can be set via machine data.
Note
For SINUMERIK 828D, the 5th/6th adjustable work offset is not called with G505 or G506,
but with G58 or G59. The commands G505 and G506 are therefore not available for
SINUMERIK 828D.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 161
Geometry settings
8.1 Settable work offset (G54 to G57, G505 to G599, G53, G500, SUPA, G153)
Example
< <
; ;
*
*
;
0
*
75$16;0
See also
Axial zero offset (G58, G59) Axial zero offset (G58, G59) [Page 347]
Fundamentals
162 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.1 Settable work offset (G54 to G57, G505 to G599, G53, G500, SUPA, G153)
Further information
Setting offset values
On the operator panel or universal interface, enter the following values in the internal control
zero offset table:
• Coordinates for the offset
• Angle for rotated clamping
• Scaling factors (if required)
<
6FDOLQJ
<
;
5RWD
WH
W
2IIVH
;
<
<
< ;
; <
In the next NC block with a programmed movement, all of the positional parameters and thus
the tool movements refer to the workpiece zero, which is now valid.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 163
Geometry settings
8.1 Settable work offset (G54 to G57, G505 to G599, G53, G500, SUPA, G153)
Note
With the four available zero offsets, it is possible (e.g. for multiple machining) to
simultaneously describe four workpiece clampings and call them in the program.
Fundamentals
164 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.2 Selection of the working plane (G17/G18/G19)
Function
The specification of the working plane, in which the desired contour is to be machined also
defines the following functions:
• The plane for tool radius compensation
• The infeed direction for tool length compensation depending on the tool type
• The plane for circular interpolation
=
,QIHHG
* <
;
*
*
,Q
IH
HG
HG
,QIH
Syntax
G17
G18
G19
Meaning
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 165
Geometry settings
8.2 Selection of the working plane (G17/G18/G19)
Note
In the default setting, G17 (X/Y plane) is defined for milling and G18 (Z/X plane) is defined for
turning.
When calling the tool path correction G41/G42 (see Chapter "Tool radius compensation
[Page 277]"), the working plane must be defined so that the controller can correct the tool
length and radius.
Example
The "conventional" approach for milling is:
1. Define working plane (G17 default setting for milling).
2. Select tool type (T) and tool offset values (D).
3. Switch on path correction (G41).
4. Program traversing movements.
Further information
General
It is recommended that the working plane G17 to G19 be selected at the start of the program.
In the default setting, the Z/X plane is preset for turning G18.
Turning:
<
* ;
*
*
Fundamentals
166 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.2 Selection of the working plane (G17/G18/G19)
The control requires the specification of the working plane for the calculation of the direction
of rotation (see circular interpolation G2/G3).
Note
The tool length components can be calculated according to the rotated working planes with
the functions for "Tool length compensation for orientable tools".
The compensation plane is selected with CUT2D, CUT2DF. For further information on this
and for the description of the available calculation methods,see Chapter "Tool radius
compensation [Page 277]".
The control provides convenient coordinate transformation functions for the spatial definition
of the working plane. Please see Chapter "Coordinate transformations (frames) [Page 337]"
for more information.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 167
Geometry settings
8.3 Dimensions
8.3 Dimensions
The basis of most NC programs is a workpiece drawing with specific dimensions.
These dimensions can be:
• In absolute dimensions or in incremental dimensions
• In millimeters or inches
• In radius or diameter (for turning)
Specific programming commands are available for the various dimension options so that the
data from a dimension drawing can be transferred directly (without conversion) to the NC
program.
Function
With absolute dimensions, the position specifications always refer to the zero point of the
currently valid coordinate system, i.e. the absolute position is programmed, on which the tool
is to traverse.
Modal absolute dimensions
Modal absolute dimensions are activated with the G90 command. Generally it applies to all
axes programmed in subsequent NC blocks.
Non-modal absolute dimensions
With preset incremental dimensions (G91), the AC command can be used to set non-modal
absolute dimensions for individual axes.
Note
Non-modal absolute dimensions (AC) are also possible for spindle positioning (SPOS, SPOSA)
and interpolation parameters (I, J, K).
Syntax
G90
<axis>=AC(<value>)
Significance
Fundamentals
168 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Examples
Example 1: Milling
= ;
<
;
Note
For information on the input of the circle center point coordinates I and J, see Section
"Circular interpolation".
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 169
Geometry settings
8.3 Dimensions
Example 2: Turning
Note
For information on the input of the circle center point coordinates I and J, see Section
"Circular interpolation".
See also
Absolute and incremental dimensions for turning and milling (G90/G91) Absolute and
incremental dimensions for turning and milling (G90/G91) [Page 174]
Fundamentals
170 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Function
With incremental dimensions, the position specification refers to the last point approached,
i.e. the programming in incremental dimensions describes by how much the tool is to be
traversed.
Modal incremental dimensions
Modal incremental dimensions are activated with the G91 command. Generally it applies to all
axes programmed in subsequent NC blocks.
Non-modal incremental dimensions
With preset absolute dimensions (G90), the IC command can be used to set non-modal
incremental dimensions for individual axes.
Note
Non-modal incremental dimensions (IC) are also possible for spindle positioning (SPOS,
SPOSA) and interpolation parameters (I, J, K).
Syntax
G91
<axis>=IC(<value>)
Significance
G91 extension
For certain applications, such as scratching, it is necessary that only the programmed
distance is traversed in incremental dimensions. The active zero offset or tool length
compensation is not traversed.
This behavior can be set separately for the active zero offset and tool length compensation
via the following setting data:
SD42440 $SC_FRAME_OFFSET_INCR_PROG (zero offsets in frames)
SD42442 $SC_TOOL_OFFSET_INCR_PROG (tool length compensations)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 171
Geometry settings
8.3 Dimensions
Value Meaning
0 With incremental programming (incremental dimensions) of an axis, the zero offset or the
tool length compensation is not traversed.
1 With incremental programming (incremental dimensions) of an axis, the zero offset or the
tool length compensation is traversed.
Examples
Example 1: Milling
= ;
<
;
Note
For information on the input of the circle center point coordinates I and J, see Section
"Circular interpolation".
Fundamentals
172 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Example 2: Turning
=
Note
For information on the input of the circle center point coordinates I and J, see Section
"Circular interpolation".
See also
Absolute and incremental dimensions for turning and milling (G90/G91) Absolute and
incremental dimensions for turning and milling (G90/G91) [Page 174]
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 173
Geometry settings
8.3 Dimensions
8.3.3 Absolute and incremental dimensions for turning and milling (G90/G91)
The two following figures illustrate the programming with absolute dimensions (G90) or
incremental dimensions (G91) using turning and milling technology examples.
Milling:
<
*
*
;
*
*
Turning:
;
*
*
=
*
*
Note
On conventional turning machines, it is usual to consider incremental traversing blocks in the
transverse axis as radius values, while diameter specifications apply for the reference
dimensions. This conversion for G90 is performed using the commands DIAMON, DIAMOF or
DIAM90.
Fundamentals
174 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Function
The non-modal and G90/G91-independent commands DC, ACP and ACN are available for the
positioning of rotary axes in absolute dimensions.
DC, ACP and ACN differ in the basic approach strategy:
'& 0D[LPXP
WUDYHUVLQJUDQJH
$&3 $&1
Syntax
<rotary axis>=DC(<value>)
<rotary axis>=ACP(<value>)
<rotary axis>=ACN(<value>)
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 175
Geometry settings
8.3 Dimensions
Note
The positive direction of rotation (clockwise or counterclockwise) is set in the machine data.
Note
The traversing range between 0° and 360° must be set in the machine data (modulo
behavior) for positioning with direction specification (ACP, ACN). G91 or IC must be
programmed to traverse modulo rotary axes more than 360° in a block.
Note
The commands DC, ACP and ACN can also be used for spindle positioning (SPOS, SPOSA)
from standstill.
Example: SPOS=DC(45)
Example
Milling on a rotary table
<
;
r
References
Function Manual, Extended Functions; Rotary Axes (R2)
Fundamentals
176 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Function
The following G functions can be used to switch between the metric measuring system and
the inch measuring system.
Syntax
G70/G71
G700/G710
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 177
Geometry settings
8.3 Dimensions
Example
Changeover between inch system and metric system
The parameterized basic system is metric:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC = TRUE
<
*
* *
*
;
Fundamentals
178 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Further information
G70/G71
With G70/G71 active, only the following geometric data is interpreted in the relevant
measuring system:
• Position data (X, Y, Z, …)
• Circular-path programming:
- Interpolation point coordinates (I1, J1, K1)
- Interpolation parameters (I, J, K)
- Circle radius (CR)
• Pitch (G34, G35)
• Programmable zero offset (TRANS)
• Polar radius (RP)
Synchronized actions
If, in a synchronized action (condition component and/or action component) no explicit
measuring system is programmed (G70/G71/G700/G710), the measuring system which was
active in the channel at the point of execution will be applied to the synchronized action
(condition component and/or action component).
NOTICE
Read position data in synchronized actions
If a measuring system has not been explicitly programmed in the synchronized action
(condition component and/or action component) position data specified in units of length in
the synchronized action are always read in the parameterized basic system.
References
• Function Manual, Basic Functions; Speeds, Setpoint/Actual-Value System, Closed-Loop
Control (G2), Section "Metric/inch dimension system"
• Programming Manual, Job Planning; Section "Motion-synchronous actions"
• Function Manual, Synchronized Actions
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 179
Geometry settings
8.3 Dimensions
Function
During turning, the dimensions for the transverse axis can be specified in the diameter ( ①)
or in the radius ( ② ):
:
=
;
:
=
So that the dimensions from a technical drawing can be transferred directly (without
conversion) to the NC program, channel-specific diameter or radius programming is activated
using the modal commands DIAMON, DIAM90, DIAMOF, and DIAMCYCOF.
Note
The channel-specific diameter/radius programming refers to the geometry axis defined as
transverse axis via MD20100 $MC_DIAMETER_AX_DEF ( → see machine manufacturer's
specifications).
Only one transverse axis per channel can be defined via MD20100.
Syntax
DIAMON
DIAM90
DIAMOF
Fundamentals
180 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Significance
Note
With DIAMON or DIAM90, the transverse-axis actual values will always be displayed as a
diameter. This also applies to reading of actual values in the workpiece coordinate system
with MEAS, MEAW, $P_EP[x] and $AA_IW[x].
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 181
Geometry settings
8.3 Dimensions
Example
Program code Comment
N10 G0 X0 Z0 ; Approach starting point.
N20 DIAMOF ; Diameter programming off.
N30 G1 X30 S2000 M03 F0.7 ; X axis = transverse axis, radius programming
active; traverse to radius position X30.
N40 DIAMON ; The diameter programming is active for the
transverse axis.
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 dimensions active.
N90 G90 X10 ; Absolute dimensions active.
N100 M30 ; End of program.
Further information
Diameter values (DIAMON/DIAM90)
The diameter values apply for the following data:
• Actual value display of the transverse axis in the workpiece coordinate system
• JOG mode: Increments for incremental dimensions and handwheel travel
• Programming of end positions:
Interpolation parameters I, J, K for G2/G3, if these have been programmed absolutely with
AC.
If I, J, K are programmed incrementally (IC), the radius is always calculated.
• Reading actual values in the workpiece coordinate system for:
MEAS, MEAW, $P_EP[X], $AA_IW[X]
Fundamentals
182 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Function
In addition to channel-specific diameter programming, the axis-specific diameter
programming function enables the modal or non-modal dimensions and display in the
diameter for one or more axes.
Note
The axis-specific diameter programming is only possible for axes that are permitted as
further transverse axes for the axis-specific diameter programming via
MD30460 $MA_BASE_FUNCTION_MASK ( → see machine manufacturer's specifications).
Syntax
Modal axis-specific diameter programming for several transverse axes in the channel:
DIAMONA[<axis>]
DIAM90A[<axis>]
DIAMOFA[<axis>]
DIACYCOFA[<axis>]
Acceptance of the channel-specific diameter/radius programming:
DIAMCHANA[<axis>]
DIAMCHAN
Non-modal axis-specific diameter/radius programming:
<axis>=DAC(<value>)
<axis>=DIC(<value>)
<axis>=RAC(<value>)
<axis>=RIC(<value>)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 183
Geometry settings
8.3 Dimensions
Meaning
Fundamentals
184 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Note
With DIAMONA[<axis>] or DIAM90A[<axis>], the transverse-axis actual values are
always displayed as a diameter. This also applies to reading of actual values in the
workpiece coordinate system with MEAS, MEAW, $P_EP[x] and $AA_IW[x].
Note
During the replacement of an additional transverse axis because of a GET request, the status
of the diameter/radius programming in the other channel is accepted with
RELEASE[<axis>].
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 185
Geometry settings
8.3 Dimensions
Examples
Example 1: Modal axis-specific diameter/radius programming
X is the transverse axis in the channel, axis-specific diameter programming is permitted for Y.
Fundamentals
186 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.3 Dimensions
Further information
Diameter values (DIAMONA/DIAM90A)
The diameter values apply for the following data:
• Actual value display of the transverse axis in the workpiece coordinate system
• JOG mode: Increments for incremental dimensions and handwheel travel
• Programming of end positions:
Interpolation parameters I, J, K for G2/G3, if these have been programmed absolutely
with AC.
If I, J, K are programmed incrementally (IC), the radius is always calculated.
• Reading actual values in the workpiece coordinate system for:
MEAS, MEAW, $P_EP[X], $AA_IW[X]
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 187
Geometry settings
8.4 Position of workpiece for turning
Axis identifiers
The two geometry axes perpendicular to one another are usually called:
Workpiece zero
Whereas the machine zero is permanently defined, the workpiece zero can be freely selected
on the longitudinal axis. Generally the workpiece zero is on the front or rear side of the
workpiece.
Both the machine and the workpiece zero are on the turning center. The settable offset on the
X axis is therefore zero.
; 0DFKLQH ;
:RUNSLHFH
:RUNSLHFH 0 :
]HUR
IURQW =
:RUNSLHFH
**RU75$16
; ; :RUNSLHFH
0DFKLQH
:RUNSLHFH 0
]HUR
UHDU =
:RUNSLHFH
**
RU75$16
M Machine zero
W Workpiece zero
Z Longitudinal axis
X Transverse axis
G54 to G599 Call for the position of the workpiece zero
or TRANS
Fundamentals
188 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Geometry settings
8.4 Position of workpiece for turning
Transverse axis
Generally the dimensions for the transverse axis are diameter specifications (double path
dimension compared to other axes):
7UDQVYHUVHD[LV
0 :
=
'
'
/RQJLWXGLQDOD[LV
The geometry axis that is to serve as transverse axis is defined in the machine data
( → machine manufacturer).
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 189
Geometry settings
8.4 Position of workpiece for turning
Fundamentals
190 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands 9
9.1 General information about the travel commands
Contour elements
The programmed workpiece contour can be made up of the following contour elements:
• Straight lines
• Circular arcs
• Helical curves (through overlaying of straight lines and circular arcs)
Travel commands
The following travel commands are available for the creation of these contour elements:
• Rapid traverse motion (G0)
• Linear interpolation (G1)
• Circular interpolation clockwise (G2)
• Circular interpolation counterclockwise (G3)
The travel commands are modal.
Target positions
A motion block contains the target positions for the axes to be traversed (path axes,
synchronized axes, positioning axes).
The target positions can be programmed in Cartesian coordinates or in polar coordinates.
CAUTION
The axis address may only be programmed once per block.
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 191
Motion commands
9.1 General information about the travel commands
Workpiece contour
The motion blocks produce the workpiece contour when performed in succession:
;
NOTICE
Before machining, the workpiece must be positioned in such a way that the tool or workpiece
cannot be damaged.
Fundamentals
192 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.2 Travel commands with Cartesian coordinates (G0, G1, G2, G3, X..., Y..., Z...)
9.2 Travel commands with Cartesian coordinates (G0, G1, G2, G3,
X..., Y..., Z...)
Function
The position specified in the NC block with Cartesian coordinates can be approached with
rapid traverse motion G0, linear interpolation G1 or circular interpolation G2 /G3.
Syntax
G0 X... Y... Z...
G1 X... Y... Z...
G2 X... Y... Z... ...
G3 X... Y... Z... ...
Significance
Note
In addition to the coordinates of the target position X..., Y..., Z..., the circular
interpolation G2 / G3 also requires further data (e.g. the circle center point coordinates; see
"Circular interpolation types (G2/G3, ...) [Page 209]").
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 193
Motion commands
9.2 Travel commands with Cartesian coordinates (G0, G1, G2, G3, X..., Y..., Z...)
Example
; ;
< < =
; ;
Fundamentals
194 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.3 Travel commands with polar coordinates
Function
The point from which the dimensioning starts is called the pole.
The pole can be specified in Cartesian or polar coordinates.
The reference point for the pole coordinates is clearly defined with the G110 to G112
commands. Absolute or incremental dimension inputs therefore have no effect.
Syntax
G110/G111/G112 X… Y… Z…
G110/G111/G112 AP=… RP=…
Significance
G110 ...: With the command G110, the following pole coordinates refer to the last
position reached.
G111 ...: With the command G111, the following pole coordinates refer to the zero
point of the current workpiece coordinate system.
G112 ...: With the command G112, the following pole coordinates refer to the last
valid pole.
Note:
The commands G110...G112 must be programmed in a separate NC
block.
X… Y… Z…: Specification of the pole in Cartesian coordinates
AP=… RP=…: Specification of the pole in polar coordinates
AP=…: Polar angle
Angle between the polar radius and the horizontal axis of the
working plane (e.g. X axis for G17). The positive direction of
rotation runs counterclockwise.
Range of values: ± 0…360°
RP=…: Polar radius
The specification is always in absolute positive values in [mm]
or [inch].
Note
It is possible to switch block-by-block in the NC program between polar and Cartesian
dimensions. It is possible to return directly to the Cartesian system by using Cartesian
coordinate identifiers (X..., Y..., Z...). The defined pole is moreover retained up to program
end.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 195
Motion commands
9.3 Travel commands with polar coordinates
Note
If no pole has been specified, the zero point of the current workpiece coordinate system
applies.
Example
r
3ROH
*< ;
*; *;
Fundamentals
196 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.3 Travel commands with polar coordinates
9.3.2 Travel commands with polar coordinates (G0, G1, G2, G3, AP, RP)
Function
Travel commands with polar coordinates are useful when the dimensions of a workpiece or
part of the workpiece are measured from a central point and the dimensions are specified in
angles and radii (e.g. for drilling patterns).
<
r
r r
Q
r r ;
Syntax
G0/G1/G2/G3 AP=… RP=…
Meaning
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 197
Motion commands
9.3 Travel commands with polar coordinates
Note
The polar coordinates refer to the pole specified with G110 ... G112 and apply in the working
plane selected with G17 to G19.
Note
The 3rd geometry axis, which lies perpendicular to the working plane, can also be specified
in Cartesian coordinates (see the following diagram). This enables spatial parameters to be
programmed in cylindrical coordinates.
Example: G17 G0 AP… RP… Z…
53
$3
Fundamentals
198 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.3 Travel commands with polar coordinates
General conditions
• No Cartesian coordinates such as interpolation parameters, axis addresses, etc. may be
programmed for the selected working plane in NC blocks with polar end point coordinates.
• If a pole has not been defined with G110 ... G112, then the zero point of the current
workpiece coordinate system is automatically considered as the pole:
<
,&
$3
$3
$3
r
r
• Polar radius RP = 0
The polar radius is calculated from the distance between the starting point vector in the
pole plane and the active pole vector. The calculated polar radius is then saved as modal.
This applies irrespective of the selected pole definition (G110 ... G112). If both points have
been programmed identically, this radius = 0 and alarm 14095 is generated.
• Only polar angle AP has been programmed
If no polar radius RP has been programmed in the current block, but a polar angle AP,
then when there is a difference between the current position and pole in the workpiece
coordinates, this difference is used as polar radius and saved as modal. If the difference =
0, then the pole coordinates are specified again and the modal polar radius remains at
zero.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 199
Motion commands
9.3 Travel commands with polar coordinates
Example
Creation of a drilling pattern
<
The positions of the holes are specified in
polar coordinates.
Each hole is machined with the same
r
production sequence:
r
Rough-drilling, drilling as dimensioned,
reaming …
r
The machining sequence is stored in the
subroutine.
r
r
;
See also
Circular interpolation types (G2/G3, ...) Circular interpolation types (G2/G3, ...) [Page 209]
Fundamentals
200 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.4 Rapid traverse movement (G0, RTLION, RTLIOF)
Function
Rapid traverse motion is used:
• For rapid positioning of the tool
• To travel around the workpiece
• To approach tool change points
• To retract the tool
Non-linear interpolation is activated with the part program command RTLIOF, linear
interpolation is activated with the part program command RTLION.
Note
The function is not suitable for workpiece machining!
Syntax
G0 X… Y… Z…
G0 AP=…
G0 RP=…
RTLIOF
RTLION
Significance
Note
G0 cannot be replaced by G.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 201
Motion commands
9.4 Rapid traverse movement (G0, RTLION, RTLIOF)
Examples
Example 1: Milling
<
1
1
;
Fundamentals
202 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.4 Rapid traverse movement (G0, RTLION, RTLIOF)
Example 2: Turning
1
1
=
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 203
Motion commands
9.4 Rapid traverse movement (G0, RTLION, RTLIOF)
Further information
Rapid traverse velocity
The tool movement programmed with G0 is executed at the highest traversing speed (rapid
traverse). The rapid traverse speed is defined separately for each axis in machine data. If the
rapid traverse movement is executed simultaneously on several axes, the rapid traverse
speed is determined by the axis, which requires the most time for its section of the path.
=
<
YHUVH
WUD
SLG
IUD
D WKR HQW
3
YHP
PR
3DWK
FRPSRQHQW=
3DWKFRPSRQHQW<
3DWKFRPSRQHQW;
;
NOTICE
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!
Fundamentals
204 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.4 Rapid traverse movement (G0, RTLION, RTLIOF)
Program code
G0 X0 Y10
G0 G40 X20 Y20
G0 G95 X100 Z100 M3 S100
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 205
Motion commands
9.5 Linear interpolation (G1)
Function
With G1 the tool travels on paraxial, inclined or straight lines arbitrarily positioned in space.
Linear interpolation permits machining of 3D surfaces, grooves, etc.
Milling:
Syntax
G1 X… Y… Z … F…
G1 AP=… RP=… F…
Significance
Fundamentals
206 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.5 Linear interpolation (G1)
Note
G1 is modal.
Spindle speed S and spindle direction M3/M4 must be specified for the machining.
Axis groups, for which path feedrate F applies, can be defined with FGROUP. You will find
more information in the "Path behavior" section.
Examples
Example 1: Machining of a groove (milling)
=
;
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 207
Motion commands
9.5 Linear interpolation (G1)
; ;
< < =
; ;
Fundamentals
208 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Syntax
G2/G3 X… Y… Z…
I=AC(…) J=AC(…) K=AC(…) ; Absolute center point and end point
with reference to the workpiece zero
G2/G3 X… Y… Z… I… J… K… ; Center point in incremental
dimensions with reference to the
circle starting point
G2/G3 X… Y… Z… CR=… ; Circle radius CR= and circle end
position in Cartesian coordinates
X..., Y..., Z...
G2/G3 X… Y… Z… AR=… ; Opening angle AR= end point in
Cartesian coordinates X..., Y..., Z...
G2/G3 I… J… K… AR=… ; Opening angle AR= center point at
addresses I..., J..., K...
G2/G3 AP=… RP=… ; Polar coordinates with the polar
angle AP= and the polar radius RP=
CIP X… Y… Z… I1=AC(…) J1=AC(…) K1=(AC…) The intermediate point at addresses
; I1=, J1=, K1=
CT X… Y… Z… ; Circle through starting and end point
and tangent direction at starting point
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 209
Motion commands
9.6 Circular interpolation
Significance
Examples
Example 1: Milling
r -
,
;
Fundamentals
210 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Example 2: Turning
r
r
=
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 211
Motion commands
9.6 Circular interpolation
9.6.2 Circular interpolation with center point and end point (G2/G3, X... Y... Z...,
I... J... K...)
Function
Circular interpolation enables machining of full circles or arcs.
Syntax
G2/G3 X… Y… Z… I… J… K…
G2/G3 X… Y… Z… I=AC(…) J=AC(…) K=(AC…)
Significance
Fundamentals
212 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Note
G2 and G3 are modal.
The default settings G90/G91 absolute and incremental dimensions are only valid for the
circle end point.
Per default, the center point coordinates I, J, K are entered in incremental dimensions in
relation to the circle starting point.
You can program the absolute center point dimensions in relation to the workpiece zero
block-by-block with: I=AC(…), J=AC(…), K=AC(…). One interpolation parameter I, J, K with
value 0 can be omitted, but the associated second parameter must always be specified.
Examples
Example 1: Milling
&LUFOH
VWDUWLQJSRLQW
<
-
- $&
,
&LUFOH W
HQGSRLQW
;
, $&
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 213
Motion commands
9.6 Circular interpolation
Example 2: Turning
;
=
Further information
Indication of working plane
<
;
*
*
*
Fundamentals
214 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
The control needs the working plane parameter (G17 to G19) to calculate the direction of
rotation for the circle (G2 is clockwise or G3 is counter-clockwise).
<
;
* *
* *
* *
Programmed feedrate
FGROUP can be used to specify which axes are to be traversed with a programmed feedrate.
For more information please refer to the Path behavior section.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 215
Motion commands
9.6 Circular interpolation
9.6.3 Circular interpolation with radius and end point (G2/G3, X... Y... Z.../ I... J... K..., CR)
Function
The circular motion is described by the:
• Circle radius CR=and
• End point in Cartesian coordinates X, Y, Z.
In addition to the circle radius, you must also specify 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.
Note
There is no practical limitation on the maximum size of the programmable radius.
Syntax
G2/G3 X… Y… Z… CR=
G2/G3 I… J… K… CR=
Significance
Note
You don't need to specify the center point with this procedure. Full circles (traversing angle
360°) are not programmed with CR=, but via the circle end position and interpolation
parameters.
Fundamentals
216 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Examples
Example 1: Milling
&5
&5
;
Program code
N10 G0 X67.5 Y80.511
N20 G3 X17.203 Y38.029 CR=34.913 F500
...
Example 2: Turning
;
=
Program code
...
N125 G1 X40 Z-25 F0.2
N130 G3 X70 Z-75 CR=30
N135 G1 Z-95
...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 217
Motion commands
9.6 Circular interpolation
9.6.4 Circular interpolation with opening angle and center point (G2/G3, X... Y... Z.../
I... J... K..., AR)
Function
The circular movement is described by:
• The opening angle AR = and
• The end point in Cartesian coordinates X, Y, Z or
• The circle center at addresses I, J, K
Syntax
G2/G3 X… Y… Z… AR=
G2/G3 I… J… K… AR=
Significance
Note
Full circles (traversing angle 360°) cannot be programmed with AR=, but must be
programmed using the circle end position and interpolation parameters. The center point
coordinates I, J, K are normally entered in incremental dimensions with reference to the
circle starting point.
You can program the absolute center point dimensions in relation to the workpiece zero
block-by-block with: I=AC(…), J=AC(…), K=AC(…). One interpolation parameter I, J, K with
value 0 can be omitted, but the associated second parameter must always be specified.
Fundamentals
218 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Examples
Example 1: Milling
&LUFOHVWDUWLQJ
SRLQW
<
r
-
,
$SHUWXUHDQJOH
;
Program code
N10 G0 X67.5 Y80.211
N20 G3 X17.203 Y38.029 AR=140.134 F500
N20 G3 I–17.5 J–30.211 AR=140.134 F500
Example 2: Turning
2 .3 2 6 °
14
30
Z
25
Ø 33.33
Ø 40
54.25
95
Program code
N125 G1 X40 Z-25 F0.2
N130 G3 X70 Z-75 AR=135.944
N130 G3 I-3.335 K-29.25 AR=135.944
N130 G3 I=AC(33.33) K=AC(-54.25) AR=135.944
N135 G1 Z-95
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 219
Motion commands
9.6 Circular interpolation
Function
The circular movement is described by:
• The polar angle AP=...
• The polar radius RP=...
The following rule applies:
• The pole lies at the circle center.
• The polar radius corresponds to the circle radius.
Syntax
G2/G3 AP= RP=
Significance
Fundamentals
220 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Examples
Example 1: Milling
<
r
$3
53
*
;
Program code
N10 G0 X67.5 Y80.211
N20 G111 X50 Y50
N30 G3 RP=34.913 AP=200.052 F500
Example 2: Turning
2 .3 2 6 °
14
30
Z
25
Ø 33.33
Ø 40
54.25
95
Program code
N125 G1 X40 Z-25 F0.2
N130 G111 X33.33 Z-54.25
N135 G3 RP=30 AP=142.326
N140 G1 Z-95
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 221
Motion commands
9.6 Circular interpolation
9.6.6 Circular interpolation with intermediate point and end point (CIP, X... Y... Z...,
I1... J1... K1...)
Function
CIP can be used to program arcs. These arcs can also be inclined in space. In this case, you
describe the intermediate and end points with three coordinates.
The circular movement is described by:
• The intermediate point at addresses I1=, J1=, K1= and
• The end point in Cartesian coordinates X, Y, Z.
< <
,
,QWHUPHGLDWHSRLQW
-
;
=
.
The traversing direction is determined by the order of the starting point, intermediate point
and end point.
Syntax
CIP X… Y… Z… I1=AC(…) J1=AC(…) K1=(AC…)
Meaning
Fundamentals
222 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Note
CIP is modal.
Examples
Example 1: Milling
; =
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 223
Motion commands
9.6 Circular interpolation
Example 2: Turning
=
Program code
N125 G1 X40 Z-25 F0.2
N130 CIP X70 Z-75 I1=IC(26.665) K1=IC(-29.25)
N130 CIP X70 Z-75 I1=93.33 K1=-54.25
N135 G1 Z-95
Fundamentals
224 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
9.6.7 Circular interpolation with tangential transition (CT, X... Y... Z...)
Function
The Tangential transition function is an expansion of the circle programming.
The circle is defined by:
• The start and end point and
• The tangent direction at the start point.
The G code CT produces an arc that lies at a tangent to the contour element programmed
previously.
$UF6(DWDWDQJHQWWRWKH
VWUDLJKWOLQH
6
(
$UFVWKDWOLHDWDWDQJHQWGHSHQG
RQWKHSUHYLRXVFRQWRXUHOHPHQW
&7
/ 6
&7
/ &7
/
(
Syntax
CT X… Y… Z…
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 225
Motion commands
9.6 Circular interpolation
Note
CT is modal.
As a rule, the circle is clearly defined by the tangent direction as well as the starting point and
end point.
Examples
Example 1: Milling
;
Fundamentals
226 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.6 Circular interpolation
Example 2: Turning
=
Further information
Splines
In the case of splines, the tangential direction is defined by the straight line through the last
two points. In the case of A and C splines with active ENAT or EAUTO, this direction is
generally not the same as the direction at the end point of the spline.
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.
Note
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.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 227
Motion commands
9.6 Circular interpolation
Fundamentals
228 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.7 Helical interpolation (G2/G3, TURN)
Function
The helical interpolation enables, for example, the production of threads or oil grooves.
With helical interpolation, two motions are superimposed and executed in parallel:
• A plane circular motion on which
• A vertical linear motion is superimposed.
Syntax
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=
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 229
Motion commands
9.7 Helical interpolation (G2/G3, TURN)
Note
G2 and G3 are modal.
The circular motion is performed in those axes that are defined by the specification of the
working plane.
Example
< <
;
=
Fundamentals
230 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.7 Helical interpolation (G2/G3, TURN)
Further information
Sequence of motions
1. Approach starting point
2. Execute the full circles programmed with TURN=.
3. Approach circle end position, e.g. as part rotation.
4. Execute steps 2 and 3 across the infeed depth.
The pitch, with which the helix is to be machined is calculated from the number of full circles
plus the programmed circle end position (executed across the infeed depth).
6WDUWSRLQW
VWIXOOFLUFOH
QGIXOOFLUFOH
UGIXOOFLUFOH
(QGSRLQWDV
SDUWLDOURWDWLRQ
7DUJHWSRLQW
Programmed feedrate
For helical interpolation, it is advisable to specify a programmed feedrate override (CFC).
FGROUP can be used to specify which axes are to be traversed with a programmed feedrate.
For more information please refer to the Path behavior section.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 231
Motion commands
9.8 Involute interpolation (INVCW, INVCCW)
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. It is executed in the plane in which
the basic circle is defined and runs from the programmed starting point to the programmed
end point.
<
&LUFOHFHQWHUSRLQW;<
%DVLFFLUFOH
(QGSRLQW
Syntax
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=...
Fundamentals
232 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.8 Involute interpolation (INVCW, INVCCW)
Meaning
NOTICE
With the indirect programming of the end point through specification of an opening angle AR,
the sign of the angle must be taken into account, as a sign change would result in another
involute and therefore another path.
(QGSRLQWV
$5
6WDUWLQJSRLQW
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 233
Motion commands
9.8 Involute interpolation (INVCW, INVCCW)
The specifications of the radius and center point of the basic circle as well as the starting point
and direction of rotation (INVCW/INVCCW) are the same for involutes 1 and 2. The only
difference is in the sign of the opening angle:
• With AR > 0, the path is on involute 1 and end point 1 is approached.
• With AR < 0, the path is on involute 2 and end point 2 is approached.
Supplementary conditions
• Both the starting point and the end point must be outside the area of the basic circle of the
involute (circle with radius CR around the center point specified by I, J, K). If this condition
is not satisfied, an alarm is generated and the program processing is aborted.
• The two options for the programming of the end point (directly via Cartesian coordinates or
indirectly via the specification of an opening angle) are mutually exclusive. Consequently,
only one of the two programming options may be used in a block.
• If the programmed end point does not lie exactly on the involute defined by the starting
point and basic circle, interpolation takes place between the two involutes defined by the
starting and end points (see following figure).
6WDUWLQJSRLQW
5DGLXV
The maximum deviation of the end point is determined by a machine data ( → machine
manufacturer). If the deviation of the programmed end point in the radial direction is
greater than that by the MD, then an alarm is generated and the program processing
aborted.
Fundamentals
234 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.8 Involute interpolation (INVCW, INVCCW)
Examples
Example 1: Counterclockwise involute from the starting point to the programmed end point
and back again as clockwise involute
< 1(QGSRLQW
; <
1
1
&5
16WDUWLQJSRLQW ;
; <
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 235
Motion commands
9.8 Involute interpolation (INVCW, INVCCW)
Example 2: Counterclockwise involute with indirect programming of the end point through
specification of an opening angle
<
&5
6WDUWLQJSRLQW ;
; <
$5
References
For more information about machine data and supplementary conditions that are relevant to
involute interpolation, see:
Function Manual, Basic Functions; Various NC/PLC interface signals and functions (A2),
Chapter: "Settings for involute interpolation"
Fundamentals
236 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.9 Contour definitions
Function
The contour definition programming is used for the quick input of simple contours.
Programmable are contour definitions with one, two, three or more points with the transition
elements chamfer or rounding, through specification of Cartesian coordinates and/or angles.
Arbitrary further NC addresses can be used, e.g. address letters for further axes (single axes
or axis perpendicular to the machining plane), auxiliary function specifications, G codes,
velocities, etc. in the blocks that describe contour definitions.
Note
Contour calculator
The contour definitions can be programmed easily with the aid of the contour calculator. This
is a user interface tool that enables the programming and graphic display of simple and
complex workpiece contours. The contours programmed via the contour calculator are
transferred to the part program.
References:
Operating Manual
Assigning parameters
The identifiers for angle, radius and chamfer are defined via machine data:
MD10652 $MN_CONTOUR_DEF_ANGLE_NAME (name of the angle for contour definitions)
MD10654 $MN_RADIUS_NAME (name of the radius for contour definitions)
MD10656 $MN_CHAMFER_NAME (name of the chamfer for contour definitions)
Note
See machine manufacturer's specifications.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 237
Motion commands
9.9 Contour definitions
Note
In the following description it is assumed that
• G18 is active ( ⇒ active working plane is the Z/X plane).
(However, the programming of contour definitions is also possible without restrictions with
G17 or G19.)
• The following identifiers have been defined for angle, radius and chamfer:
– ANG (angle)
– RND (radius)
– CHR (chamfer)
Function
The end point of the straight line is defined by the following specifications:
• Angle ANG
• One Cartesian end point coordinate (X2 or Z2)
;=
$1*
;=
Syntax
X… ANG=…
Z… ANG=…
Fundamentals
238 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.9 Contour definitions
Significance
Example
Program code Comment
N10 X5 Z70 F1000 G18 ; Approach of the starting position.
N20 X88.8 ANG=110 ; Straight line with angle specification.
N30 ...
or
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 239
Motion commands
9.9 Contour definitions
Note
In the following description it is assumed that:
• G18 is active ( ⇒ active working plane is the Z/X plane).
(However, the programming of contour definitions is also possible without restrictions with
G17 or G19.)
• The following identifiers have been defined for angle, radius and chamfer:
– ANG (angle)
– RND (radius)
– CHR (chamfer)
Function
The end point of the first straight line can be programmed by specifying the Cartesian
coordinates or by specifying the angle of the two straight lines. The end point of the second
straight line must always be programmed with Cartesian coordinates. The intersection of the
two straight lines can be designed as a corner, curve or chamfer.
;
;=
$1*
&DQDOVREHURXQGLQJ
RUFKDPIHU
;=
$1*
;=
Fundamentals
240 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.9 Contour definitions
Syntax
1. Programming of the end point of the first straight line by specifying the angle
• Corner as transition between the straight lines:
ANG=…
X… Z… ANG=…
ANG=… RND=...
X… Z… ANG=…
ANG=… CHR=...
X… Z… ANG=…
2. Programming of the end point of the first straight line by specifying the coordinates
• Corner as transition between the straight lines:
X… Z…
X… Z…
X… Z… RND=...
X… Z…
X… Z… CHR=...
X… Z…
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 241
Motion commands
9.9 Contour definitions
Significance
5RXQGLQJ
51'
Figure 9-3
CHR=... : Identifier for the programming of a chamfer
The specified value corresponds to the width of the chamfer in the
direction of motion:
&+5
&KDPIHU
$QJOHELVHFWRU
Figure 9-4
X... : Coordinates in the X direction
Z... : Coordinates in the Z direction
Note
For further information on the programming of a chamfer or rounding, see "Chamfer,
rounding (CHF, CHR, RND, RNDM, FRC, FRCM) [Page 271]".
Fundamentals
242 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.9 Contour definitions
Example
Program code Comment
N10 X10 Z80 F1000 G18 ; Approach of the starting position.
N20 ANG=148.65 CHR=5.5 ; Straight line with angle and chamfer specification.
N30 X85 Z40 ANG=100 ; Straight line with angle and end point specification.
N40 ...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 243
Motion commands
9.9 Contour definitions
Note
In the following description it is assumed that:
• G18 is active ( ⇒ active working plane is the Z/X plane).
(However, the programming of contour definitions is also possible without restrictions with
G17 or G19.)
• The following identifiers have been defined for angle, radius and chamfer:
– ANG (angle)
– RND (radius)
– CHR (chamfer)
Function
The end point of the first straight line can be programmed by specifying the Cartesian
coordinates or by specifying the angle of the two straight lines. The end point of the second
and third straight lines must always be programmed with Cartesian coordinates. The
intersection of the straight lines can be designed as a corner, a curve, or a chamfer.
Note
The programming described here for a three point contour definition can be expanded
arbitrarily for contour definitions with more than three points.
;
&DQDOVREHURXQGLQJ
RUFKDPIHU
;=
$1*
;=
;=
$1*
;=
Fundamentals
244 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.9 Contour definitions
Syntax
1. Programming of the end point of the first straight line by specifying the angle
• Corner as transition between the straight lines:
ANG=…
X… Z… ANG=…
X… Z…
ANG=… RND=...
X… Z… ANG=… RND=...
X… Z…
ANG=… CHR=...
X… Z… ANG=… CHR=...
X… Z…
2. Programming of the end point of the first straight line by specifying the coordinates
• Corner as transition between the straight lines:
X… Z…
X… Z…
X… Z…
X… Z… RND=...
X… Z… RND=...
X… Z…
X… Z… CHR=...
X… Z… CHR=...
X… Z…
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 245
Motion commands
9.9 Contour definitions
Significance
5RXQGLQJ
51'
Figure 9-5
CHR=... : Identifier for programming a chamfer
The specified value corresponds to the width of the chamfer in the
direction of motion:
&+5
&KDPIHU
$QJOHELVHFWRU
Figure 9-6
X... : Coordinates in the X direction
Z... : Coordinates in the Z direction
Note
For further information on the programming of a chamfer or rounding, see "Chamfer,
rounding (CHF, CHR, RND, RNDM, FRC, FRCM)".
Fundamentals
246 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.9 Contour definitions
Example
Program code Comment
N10 X10 Z100 F1000 G18 ; Approach of the starting position.
N20 ANG=140 CHR=7.5 ; Straight line with angle and chamfer
specification.
N30 X80 Z70 ANG=95.824 RND=10 ; Straight line to intermediate point with
angle and chamfer specification.
N40 X70 Z50 ; Straight line to end point.
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.
Number of programmed axes
• If no axis of the active plane has been programmed, then this is either the first or second
block of a contour definition consisting of two blocks.
If it is the second block of such a contour definition, then this means that the starting point
and end point in the active plane are identical. The contour definition is then at best a
motion perpendicular to the active plane.
• If exactly one axis of the active plane has been programmed, then this is either a single
straight line whose end point can be clearly defined via the angle and programmed
Cartesian coordinate or the second block of a contour definition consisting of two blocks.
In the second case, the missing coordinate is set to the same as the last (modal) position
reached.
• If two axes of the active plane have been programmed, then this is the second block of a
contour definition consisting of two blocks. If the current block has not been preceded by a
block with angle programming without programmed axes of the active plane, then this
block is not permitted.
Angle A may only be programmed for linear or spline interpolation.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 247
Motion commands
9.10 Thread cutting with constant lead (G33)
Function
Threads with constant lead can be machined with G33:
• Cylinder thread ③
• Face thread ②
• Tapered thread ①
Note
Technical requirement for thread cutting with G33 is a variable-speed spindle with position
measuring system.
Fundamentals
248 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.10 Thread cutting with constant lead (G33)
Multiple thread
Multiple thread (thread with offset cuts) can be machined by specifying a starting point offset.
The programming is performed in the G33 block at address SF.
6WDUWLQJSRLQWRIIVHWLQr
6WDUWLQJDQJOH
IRUWKUHDG
VHWWLQJGDWD
Note
If no starting point offset is specified, the "starting angle for thread" defined in the setting data
is used.
Thread chain
A thread chain can be machined with several G33 blocks programmed in succession:
;
U
ZL GVH
WK W
*
QGVHW VWVHW
ZLWK* ZLWK*
=
Note
With continuous-path mode G64, the blocks are linked by the look-ahead velocity control in
such a way that there are no velocity jumps.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 249
Motion commands
9.10 Thread cutting with constant lead (G33)
Syntax
Cylinder thread:
G33 Z… K…
G33 Z… K… SF=…
Face thread:
G33 X… I…
G33 X… I… SF=…
Tapered thread:
G33 X… Z… K…
G33 X… Z… K… SF=…
G33 X… Z… I…
G33 X… Z… I… SF=…
Significance
Fundamentals
250 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.10 Thread cutting with constant lead (G33)
Examples
Example 1: Double cylinder thread with 180° starting point offset
6WDUWLQJSRLQWr
=
6WDUWLQJSRLQW
r
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 251
Motion commands
9.10 Thread cutting with constant lead (G33)
=
Further information
Feedrate for thread cutting with G33
From the programmed spindle speed and the thread lead, the control calculates the required
feedrate with which the turning tool is traversed over the thread length in the longitudinal and/
or transverse direction. The feedrate F is not taken into account for G33, the limitation to
maximum axis velocity (rapid traverse) is monitored by the control.
DG
/H
)H
HG
UDW
H
6SHHG
Fundamentals
252 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.10 Thread cutting with constant lead (G33)
Cylinder thread
The cylinder thread is described by:
• Thread length
• Thread lead
The thread length is entered with one of the Cartesian coordinates X, Y or Z in absolute or
incremental dimensions (for turning machines preferably in the Z direction). 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 (K is preferable for turning machines).
;
5XQRXWSDWK
5XQLQSDWK
=
.
=
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 253
Motion commands
9.10 Thread cutting with constant lead (G33)
Face thread
The face thread is described by:
• Thread diameter (preferably in the X direction)
• Thread lead (preferably with I)
;
'LDPHWHU
,
/HDG
Fundamentals
254 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.10 Thread cutting with constant lead (G33)
Tapered thread
The tapered thread is described by:
• End point in the longitudinal and transverse direction (taper contour)
• Thread lead
The taper contour is entered in Cartesian coordinates X, Y, Z in absolute or incremental
dimensions - preferentially in the X and Z direction for machining on turning machines.
Allowance must also be made for the run-in and run-out paths, across which the feed is
accelerated or decelerated.
The specification of the lead depends on the taper angle (angle between the longitudinal axis
and the outside of the taper):
;
.
r
!r ,
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 255
Motion commands
9.10 Thread cutting with constant lead (G33)
Function
The DITS and DITE commands can be used to program the path ramp for acceleration and
braking, providing a means of adapting the feedrate accordingly if the tool run-in/run-out is too
short:
• Run-in path too short
Because of the shoulder at the thread run-in, there is not much room for the tool starting
ramp - this must then be specified shorter using DITS.
• Run-out path too short
Because of the shoulder at the thread run-out, there is not much room for the tool braking
ramp, introducing a risk of collision between the workpiece and the tool cutting edge.
The tool braking ramp can be specified shorter using DITE. However, there is still a risk of
collision.
Run-out: Program a shorter thread, reduce the spindle speed.
5XQLQUXQRXWSDWK
GHSHQGHQWRQPDFKLQLQJ
GLUHFWLRQ
Syntax
DITS=<value>
DITE=<value>
Significance
Note
Only paths, and not positions, are programmed with DITS and DITE.
Fundamentals
256 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.10 Thread cutting with constant lead (G33)
Note
The DITS and DITE commands relate to setting data
SD42010 $SC_THREAD_RAMP_DISP[0,1], in which the programmed paths are written. If
no run-in/deceleration path is programmed before or in the first thread block, the
corresponding value is determined by the current value of SD42010.
References:
Function Manual, Basic Functions; Feedrates (V1)
Example
Program code Comment
...
N40 G90 G0 Z100 X10 SOFT M3 S500
N50 G33 Z50 K5 SF=180 DITS=1 DITE=3 ; Start of smoothing with Z=53.
N60 G0 X20
Further information
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.
Alarm 22280 ("Programmed run-in path too short") is then issued for the thread run-in (with
the appropriate configuration in MD11411 $MN_ENABLE_ALARM_MASK). The alarm is
purely for information and has no effect on part program execution.
MD10710 $MN_PROG_SD_RESET_SAVE_TAB can be used to specify that the value written
by the part program is written to the corresponding setting data during RESET. The values
are, therefore, retained following power off/on.
Note
DITE acts at the end of the thread as a rounding clearance. This achieves a smooth change
in the axis movement.
When a block with the DITS and/or DITE command is loaded to the interpolator, the path
programmed under DITS is written to SD42010 $SC_THREAD_RAMP_DISP[0] and the path
programmed under DITE is written to SD42010 $SC_THREAD_RAMP_DISP[1].
The current dimensions setting (inch/metric) is applied to the programmed run-in/run-out
path.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 257
Motion commands
9.11 Thread cutting with increasing or decreasing lead (G34, G35)
Function
With the commands G34 and G35, the G33 functionality has been extended with the option of
programming a change in the thread lead at address F. With G34, this results in a linear
increase and with G35 to a linear decrease of the thread lead. The commands G34 and G35
can therefore be used for the machining of self-tapping threads.
Syntax
Cylinder thread with increasing lead:
G34 Z… K… F...
Cylinder thread with decreasing lead:
G35 Z… K… F...
Face thread with increasing lead:
G34 X… I… F...
Face thread with decreasing lead:
G35 X… I… F...
Taper thread with increasing lead:
G34 X… Z… K… F...
G34 X… Z… I… F...
Taper thread with decreasing lead:
G35 X… Z… K… F...
G35 X… Z… I… F...
Significance
Fundamentals
258 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.11 Thread cutting with increasing or decreasing lead (G34, G35)
NHND
) >PPUHY@
,*
Example
Program code Comment
N1608 M3 S10 ; Spindle on.
N1609 G0 G64 Z40 X216 ; Approach starting point.
N1610 G33 Z0 K100 SF=R14 ; Thread cutting with constant lead
(100 mm/rev)
N1611 G35 Z-200 K100 F17.045455 ; Lead decrease: 17.0454 mm/rev2
Lead at end of block: 50mm/rev
N1612 G33 Z-240 K50 ; Traverse thread block without jerk.
N1613 G0 X218
N1614 G0 Z40
N1615 M17
References
Function Manual, Basic Functions; Feedrates (V1), Section "Linear increasing/decreasing
thread lead change with G34 and G35"
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 259
Motion commands
9.12 Tapping without compensating chuck (G331, G332)
Precondition
With regard to technology, tapping without compensating chuck requires a position-controlled
spindle with position measuring system.
Function
Tapping without compensating chuck is programmed using the G331 and G332 commands.
The spindle prepared for tapping can make the following movements in position-controlled
operation with distance measuring system:
• G331: Tapping with thread lead in tapping direction up to end point
• G332: Retraction movement with the same lead as G331
Syntax
SPOS=<value>
G331 S...
G331 X… Y… Z… I… J… K…
G332 X… Y… Z… I… J… K…
Fundamentals
260 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.12 Tapping without compensating chuck (G331, G332)
Meaning
Note
After G332 (retraction), the next thread can be tapped with G331.
Note
Second gear-stage data record
To achieve effective adaptation of spindle speed and motor torque and be able to accelerate
faster, a second gear-stage data record for two further configurable switching thresholds
(maximum speed and minimum speed) can be preset in axis-specific machine data deviating
from the first gear step data record and also independent of these speed switching
thresholds. Please see the machine manufacturer’s specifications for further details.
References:
Function Manual, Basic Functions; Spindles (S1), Chapter: "Configurable gear adaptations".
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 261
Motion commands
9.12 Tapping without compensating chuck (G331, G332)
Examples
Example 1: G331 and G332
Example 2: Output the programmed drilling speed in the current gear stage
The appropriate gear stage for the programmed spindle speed S500 with M40 is determined
on the basis of the first gear-stage data record. The programmed drilling speed S800 is
output in the current gear stage and, if necessary, is limited to the maximum speed of the
gear stage. No automatic gear-stage change is possible following an SPOS operation. In order
for an automatic change in gear stage to be performed, the spindle must be in speed-control
mode.
Note
If gear stage 2 is selected at a spindle speed of 800 rpm, then the switching thresholds for
the maximum and minimum speed must be configured in the relevant machine data of the
second gear-stage data record (see the examples below).
Fundamentals
262 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.12 Tapping without compensating chuck (G331, G332)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 263
Motion commands
9.12 Tapping without compensating chuck (G331, G332)
Thread interpolation for the spindle starts from the current position, which is determined by
the previously processed section of the part program, e.g. if the gear stage was changed.
Therefore, it might not be possible to remachine the thread.
Note
Please note that when machining with multiple spindles, the drill spindle also has to be the
master spindle. SETMS(<spindle number>) can be programmed to set the drill spindle as
the master spindle.
Fundamentals
264 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.13 Tapping with compensating chuck (G63)
Function
With G63 you can tap a compensating chuck. The following are programmed:
• Drilling depth in Cartesian coordinates
• Spindle speed and direction
• Feedrate
The chuck compensates for any deviations occurring in the path.
Retraction movement
Programming also with G63, but with spindle rotation in the opposite direction.
Syntax
G63 X… Y… Z…
Meaning
Note
G63 is non-modal.
After a block with programmed G63, the last interpolation command programmed (G0, G1,
G2, etc.) is reactivated.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 265
Motion commands
9.13 Tapping with compensating chuck (G63)
Feedrate
Note
The programmed feed must match the ratio of the speed to the thread lead of the tap.
Thumb rule:
Feedrate F in mm/min = spindle speed S in rpm * thread lead in mm/rev
Not only the feedrate, but also the spindle speed override switch are set to 100% with G63.
Example
In this example, an M5 thread is to be drilled. The lead of an M5 thread is 0.8 (according to
the table).
With a selected speed of 200 rpm, the feed F = 160 mm/min.
Fundamentals
266 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.14 Fast retraction for thread cutting (LFON, LFOF, DILF, ALF, LFTXT, LFWP, LFPOS, POLF, POLFMASK,
9.14 Fast retraction for thread cutting (LFON, LFOF, DILF, ALF, LFTXT,
LFWP, LFPOS, POLF, POLFMASK, POLFMLIN)
Function
The "Fast retraction for thread cutting (G33)" function can be used to interrupt thread cutting
without causing irreparable damage in the following circumstances:
• NC Stop/NC RESET
• Switching of a rapid input (see "Fast retraction from the contour" in the Programming
Manual, Job Planning)
Retraction movement to a specific retraction position can be programmed by:
• Specifying the length of the retraction path and the retraction distance
or
• Specifying an absolute retraction position
Fast retraction cannot be used in the context of tapping (G331/G332).
Syntax
Fast retraction for thread cutting with specification of the length of the retraction path and the
retraction direction:
G33 ... LFON DILF=<value> LFTXT/LFWP ALF=<value>
Fast retraction for thread cutting with specification of an absolute retraction position:
POLF[<geometry axis name>/<machine axis name>]=<value> LFPOS
POLFMASK/POLFMLIN(<axis 1 name>,<axis 2 name>, etc.)
G33 ... LFON
Disable fast retraction for thread cutting:
LFOF
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 267
Motion commands
9.14 Fast retraction for thread cutting (LFON, LFOF, DILF, ALF, LFTXT, LFWP, LFPOS, POLF, POLFMASK,
Fundamentals
268 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.14 Fast retraction for thread cutting (LFON, LFOF, DILF, ALF, LFTXT, LFWP, LFPOS, POLF, POLFMASK,
Note
LFON or LFOF can always be programmed, but the evaluation is performed exclusively
during thread cutting (G33).
Note
POLF with POLFMASK/POLFMLIN are not restricted to thread cutting applications.
Examples
Example 1: Enable fast retraction for thread cutting
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 269
Motion commands
9.14 Fast retraction for thread cutting (LFON, LFOF, DILF, ALF, LFTXT, LFWP, LFPOS, POLF, POLFMASK,
Fundamentals
270 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.15 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM)
Function
Contour corners within the active working plane can be executed as roundings or chamfers.
For optimum surface quality, a separate feedrate can be programmed for chamfering/
rounding. If a feedrate is not programmed, the standard path feedrate F will be applied.
The "Modal rounding" function can be used to round multiple contour corners in the same way
one after the other.
Syntax
Chamfer the contour corner:
G... X... Z... CHR/CHF=<value> FRC/FRCM=<value>
G... X... Z...
Round the contour corner:
G... X... Z... RND=<value> FRC=<value>
G... X... Z...
Modal rounding:
Note
The technology (feedrate, feedrate type, M commands, etc.) for chamfering/rounding is
derived from either the previous or the next block dependent on the setting of bit 0 in
machine data MD20201 $MC_CHFRND_MODE_MASK (chamfer/rounding behavior). The
recommended setting is the derivation from the previous block (bit 0 = 1).
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 271
Motion commands
9.15 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM)
Note
Chamfering/Rounding
If the values programmed for chamfering (CHF/CHR) or rounding (RND/RNDM) are too high
for the contour elements involved, chamfering or rounding will automatically be reduced to an
appropriate value.
No chamfering/rounding is performed if:
• No straight or circular contour is available in the plane
• A movement takes place outside the plane
• The plane is changed
• A number of blocks specified in the machine data not to contain any information about
traversing (e.g., only command outputs) is exceeded
Note
FRC/FRCM
FRC/FRCM has no effect if a chamfer is traversed with G0; the command can be
programmed according to the F value without error message.
FRC is only effective if a chamfer/rounding is programmed in the 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 feedrate programmed under F for chamfering/rounding.
If FRCM is programmed, the FRCM value will need to be reprogrammed like F on change
G94 ↔ G95, etc. If only F is reprogrammed and if the feedrate type FRCM > 0 before the
change, an error message will be output.
Fundamentals
272 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.15 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM)
Examples
Example 1: Chamfering between two straight lines
&+5
&+
)
*
• MD20201 Bit 0 = 1 (derived from
˞
previous block)
&KDPIHU • G71 is active.
• The width of the chamfer in the direction
*
of motion (CHR) should be 2 mm and the
feedrate for chamfering 100 mm/min.
; %LVHFWRU
=
HJ*
Program code
...
N30 G1 Z… CHR=2 FRC=100
N40 G1 X…
...
Program code
...
N30 G1 Z… CHF=2(cosα*2) FRC=100
N40 G1 X…
...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 273
Motion commands
9.15 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM)
5RXQGLQJ
*
*
• The radius of the rounding should be
;
2 mm and the feedrate for rounding
50 mm/min.
=
HJ*
Program code
...
N30 G1 Z… RND=2 FRC=50
N40 G1 X…
...
5RXQGLQJ
*
• MD20201 Bit 0 = 1 (derived from
previous block)
51'
*
• G71 is active.
• The radius of the rounding should be
2 mm and the feedrate for rounding
; 50 mm/min.
=
HJ*
Program code
...
N30 G1 Z… RND=2 FRC=50
N40 G3 X… Z… I… K…
...
Fundamentals
274 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Motion commands
9.15 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 275
Motion commands
9.15 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM)
Fundamentals
276 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation 10
10.1 Tool radius compensation (G40, G41, G42, OFFN)
Function
When tool radius compensation (TRC) is active, the control automatically calculates the
equidistant tool paths for various tools.
(TXLGLVWDQW
(TXLGLVWDQW
Syntax
Significance
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 277
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
Note
In the NC block with G40/G41/G42, G0 or G1 has to be active and at least one axis has to be
specified on the selected working plane.
If only one axis is specified on activation, the last position on the second axis is added
automatically and traversed with both axes.
The two axes must be active as geometry axes in the channel. This can be achieved by
means of GEOAX programming.
Examples
Example 1: Milling
<
&RPSHQVDWLRQ
RQ;
&RPSHQVDWLRQ
1
RQ<
1
;
Fundamentals
278 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
<
<
; =
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 279
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
Example 3: Turning
20
Ø 100
Ø 20
20 1 =
Fundamentals
280 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
Example 4: Turning
r
;
5
5
5
5 5
=
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 281
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
Further information
The control requires the following information in order to calculate the tool paths:
• Tool no. (T...), cutting edge no. (D...)
• Machining direction (G41/G42)
• Working plane (G17/G18/G19)
G41
G42 G41
G42
G41
Fundamentals
282 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
Note
A negative offset value has the same significance as a change of offset side (G41 ↔ G42).
5DGLXV
;
=
V
GLX
5D
GLX
5D
/H
V
J WK QJ
HQ WK
/ <
Note
On 2-axis machines, tool radius compensation is only possible in "real" planes, usually with
G18.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 283
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
<
/HQJWK
;
/HQJWK
5DGLXV
/HQJWK
V
LX
DG
5
/H
QJ
WK
=
NORM and KONT can be used to define the tool path on activation and deactivation of
compensation mode (see "Contour approach and retraction (NORM, KONT, KONTC,
KONTT) [Page 287]").
Point of intersection
The intersection point is selected in the setting data:
SD42496 $SC_CUTCOM_CLSD_CONT (response of tool radius compensation with closed
contour)
Value Significance
FALSE If two intersections appear on the inside when offsetting an (virtually) closed contour,
which consists of two circle blocks following on from one another, or from one circle
block and one linear block, the intersection positioned closest to the end of block on
the first partial contour is selected, in accordance with standard procedure.
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 1,000 path increments (corresponds to 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.
Fundamentals
284 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
G41
G42
CAUTION
The radius change or compensation movement is performed across the entire block and only
reaches the new equidistance at the programmed end point.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 285
Tool radius compensation
10.1 Tool radius compensation (G40, G41, G42, OFFN)
In the case of linear movements, the tool travels along an inclined path between the starting
point and end point:
1&EORFNZLWKPRGLILHGUDGLXVFRUUHFWLRQ
7UDYHUVHSDWK
SDWK
3URJUDPPHG
CAUTION
The modified values only take effect the next time T or D is programmed. The change only
applies with effect from the next block.
Compensation mode
Compensation mode may only be interrupted by a certain number of consecutive blocks or M
functions which do not contain drive commands or positional data in the compensation plane.
Note
The number of consecutive blocks or M commands can be set in a machine data item (see
machine manufacturer's specifications).
Note
A block with a path distance of zero also counts as an interruption!
Fundamentals
286 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.2 Contour approach and retraction (NORM, KONT, KONTC, KONTT)
Function
If tool radius compensation is active (G41/G42), the NORM, KONT, KONTC or KONTT command
can be used to adapt the tool's approach and retract paths to the required contour profile or
blank form.
KONTC or KONTT ensure observance of the continuity conditions in all three axes. It is,
therefore, permissible to program a path component perpendicular to the offset plane
simultaneously.
Condition
The KONTC and KONTT commands will only be available if the "Polynomial interpolation"
option has been enabled in the control.
Syntax
Significance
Note
Only G1 blocks are permissible as original approach/retraction blocks for KONTC and KONTT.
The control replaces these with polynomials for the appropriate approach/retract path.
General conditions
KONTT and KONTC are not available in 3D variants of tool radius compensation (CUT3DC,
CUT3DCC, CUT3DF). If they are programmed, the control switches internally to NORM without
an error message.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 287
Tool radius compensation
10.2 Contour approach and retraction (NORM, KONT, KONTC, KONTT)
Example
KONTC
The full circle is approached beginning at the circle center point. The direction and curvature
radius at the block end point of the approach block are identical to the values of the next
circle. Infeed takes place in the Z direction in both approach/retraction blocks simultaneously.
The figure below shows the perpendicular projection of the tool path.
Fundamentals
288 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.2 Contour approach and retraction (NORM, KONT, KONTC, KONTT)
At the same time as the curvature is being adapted to the circular path of the full circle,
traversing is performed from Z60 to the plane of the circle Z0:
Further information
Approach/Retraction with NORM
1. Approach:
If NORM is activated, the tool will move directly to the compensated start position along a
straight line (irrespective of the preset approach angle programmed for the travel
movement) and is positioned perpendicular to the path tangent at the starting point.
5D
GL
XV
7DQJHQW
*
*
&RPSHQVDWHG &RPSHQVDWHG
WRROSDWK WRROSDWK
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 289
Tool radius compensation
10.2 Contour approach and retraction (NORM, KONT, KONTC, KONTT)
2. Retract:
The tool is perpendicular to the last compensated path end point and then moves
(irrespective of the preset approach angle programmed for the travel movement) directly
in a straight line to the next uncompensated position, e.g. to the tool change point.
5
DG
LX
V
7DQJHQW
*
*
CAUTION
Modified approach/retract angles must be taken into account during programming in order
that potential collisions can be avoided.
Fundamentals
290 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.2 Contour approach and retraction (NORM, KONT, KONTC, KONTT)
%HKLQGFRQWRXU
3DWKWDQJHQW
,QIURQWRIFRQWRXU 6WDUWSRLQW
* *
* *
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 291
Tool radius compensation
10.2 Contour approach and retraction (NORM, KONT, KONTC, KONTT)
$SSURDFK
SRLQW
6WDUWLQJSRLQW
$SSURDFKSDWK
7RROUDGLXV
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.
- Retract:
The same applies to retraction as to approach, but in the reverse order.
Fundamentals
292 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.2 Contour approach and retraction (NORM, KONT, KONTC, KONTT)
The figure below shows the differences in approach/retraction 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 it is machined in the opposite direction.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 293
Tool radius compensation
10.3 Compensation at the outside corners (G450, G451, DISC)
Function
With tool radius compensation activated (G41/G42), command G450 or G451 can be used to
define the course of the compensated tool path when traveling around outside corners:
* *
With G450 the tool center point travels With G451 the tool center point approaches
around the workpiece corner across an arc the intersection of the two equidistants,
with tool radius. which lie in the distance between the tool
radius and the programmed contour. G451
applies only to circles and straight lines.
Note
G450/G451 is also used to define the approach path with KONT active and approach point
behind the contour (see "Contour approach and retraction (NORM, KONT, KONTC, KONTT)
[Page 287]").
The DISC command can be used to distort the transition circles with G450, thereby producing
sharper contour corners.
Syntax
G450 [DISC=<value>]
G451
Fundamentals
294 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.3 Compensation at the outside corners (G450, G451, DISC)
Significance
Note
DISC only applies with call of G450, but can be programmed in a previous block without
G450. Both commands are modal.
Example
; =
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 295
Tool radius compensation
10.3 Compensation at the outside corners (G450, G451, DISC)
Further information
G450/G451
At intermediate point P*, the control executes operations such as infeed movements or
switching functions. These operations are programmed in blocks inserted between the two
blocks forming the corner.
With G450 the transition circle belongs to the next travel command with respect to the data.
DISC
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:
',6&
',6&
Fundamentals
296 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.3 Compensation at the outside corners (G450, G451, DISC)
Traversing behavior
When G450 is activated and with acute contour angles and high DISC values, the tool is lifted
off the contour at the corners. In the case of contour angles equal to or greater than 120°,
there is uniform travel around the contour:
65
',6& ',6&
&RQWRXUDQJOHGHJUHHV
57RROUDGLXV67UDYHUVHRYHUVKRRW
651RUPDOL]HGRYHUVKRRW
LQUHODWLRQWRWRROUDGLXV
When G451 is activated and with acute contour angles, superfluous non-cutting tool paths
can result from lift-off movements. A parameter can be used in the machine data to define
automatic switchover to transition circle in such cases.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 297
Tool radius compensation
10.4 Smooth approach and retraction
10.4.1 Approach and retraction (G140 to G143, G147, G148, G247, G248, G347, G348,
G340, G341, DISR, DISCL, FAD, PM, PR)
Function
The SAR (Smooth Approach and Retraction) function is used to achieve a tangential
approach to the start point of a contour, regardless of the position of the start point.
*
*
3URJUFRQWRXU
',65
*
This function is used preferably in conjunction with the tool radius compensation, but this is
not mandatory.
The approach and retraction movement consists of a maximum of four sub-movements:
• Start point of the movement P0
• End point P4
Points P0, P3 and P4 are always defined. Intermediate points P1 and P2 can be omitted,
according to the parameters defined and the geometrical conditions.
Syntax
G140
G141 to G143
G147, G148
G247, G248
G347, G348
G340, G341
DISR=..., DISCL=..., FAD=...
Fundamentals
298 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.4 Smooth approach and retraction
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 299
Tool radius compensation
10.4 Smooth approach and retraction
Example
7RROFHQWHUSDWK
\
7RRO
3UHW
3DSS [
3UHW
3DSS 3UHW
&RQWRXU
Fundamentals
300 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.4 Smooth approach and retraction
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 301
Tool radius compensation
10.4 Smooth approach and retraction
Further information
Selecting the approach and retraction contour
The appropriate G command can be used:
• to approach or retract with a straight line (G147, G148),
• a quadrant (G247, G248) or
• a semicircle (G347, G348).
3
7RRO 3IRUDSSURDFKUHWXUQZLWK
DVWUDLJKWOLQH*
7RROFHQWHUSDWK
3 &RQWRXU
',65
3
3IRUDSSURDFKUHWXUQZLWK
TXDGUDQW*
',65 7RROFHQWHUSDWK
7RRO
3 &RQWRXU
3
3IRUDSSURDFKUHWXUQZLWK
VHPLFLUFOH*
',65
7RROFHQWHUSDWK
7RRO
3 &RQWRXU
$SSURDFKDQGUHWUDFWLRQVKRZQZLWKLQWHUPHGLDWH
SRLQW3ZLWKVLPXOWDQHRXVDFWLYDWLRQRIWRROUDGLXV
FRPSHQVDWLRQ
Fundamentals
302 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.4 Smooth approach and retraction
Motion steps between start point and end point (G340 and G341).
The approach characteristic from P0 to P4 is shown in the figure below:
,QIHHGPRYHPHQW
6WUDLJKWOLQHFLUFOH 6WUDLJKW
RUKHOL[ RUFLUFOH
3
3 3
',6&/ 3 ',6&/ 3 3
$SSURDFKPRYHPHQWGHSHQGLQJRQ**
In cases which include the position of the active plane G17 to G19 (circular plane, helical axis,
infeed motion perpendicular to the active plane), any active rotating FRAME is taken into
account.
Length of the approach straight line or radius for approach circles (DISR) (see figure
"Selecting approach/retraction contour")
• Approach/retract with straight lines
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 taken into account 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/retract with circles
DISR specifies 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.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 303
Tool radius compensation
10.4 Smooth approach and retraction
Distance of the point from the machining plane (DISCL) (see figure when selecting approach/
retraction contour)
If the position of point P2 is to be specified by an absolute reference on the axis perpendicular
to the circle plane, the value must be programmed in the form DISCL=AC(...).
The following applies for DISCL=0:
• With G340: The whole of the approach motion now only consists of two blocks (P1, P2 and
P3 are combined). The approach contour is formed by P1 to P4.
• With G341: The whole approach contour consists of three blocks (P2 and P3 are
combined). If P0 and P4 are on the same plane, only two blocks result (infeed movement
from 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 that possess such a component.
• On detection of a direction reversal, a tolerance defined by the machine data
SAR_CLEARANCE_TOLERANCE is permitted.
More blocks can be inserted between an SAR block and the next traversing block
without moving the geometry axes.
Example:
Fundamentals
304 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.4 Smooth approach and retraction
2.
0DFKLQLQJXSWRWKLV
SRLQWZLWK*
FRQWLQXLQJZLWK*
)
<
= =
=
;
3 &RQWRXU
',65
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 305
Tool radius compensation
10.4 Smooth approach and retraction
- If in the SAR block only the axis perpendicular to the machining plane is programmed,
the contour will end at P1. The positions of the remaining axes will result, as described
above. If the SAR block is also the TRC disable block, an additional path from P1 to P0
is inserted such that no motion results at the end of the contour when disabling the
TRC.
- If only one axis on the machining plane is programmed, the missing second axis is
modally added from its last position in the previous block.
)ROORZLQJEORFN
ZLWKRXWFRPSHQVDWLRQ
3
7RROFHQWHUSDWK 3
7RRO
36$5EORFN
**
&RQWRXUSUHFHGLQJEORFN
5HWUDFWLRQZLWK6$5DQGVLPXOWDQHRXV
GHDFWLYDWLRQRI75&
Fundamentals
306 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.4 Smooth approach and retraction
Example:
<
;
= *
3 3 *
3 )
3
3 ) ) ;
During retraction, the roles of the modally active feedrate from the previous block and the
programmed feedrate value in the SAR block are reversed, i.e. the actual retraction contour is
traversed with the old feedrate and a new speed programmed with the F word applies from P2
up to P0.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 307
Tool radius compensation
10.4 Smooth approach and retraction
9HORFLWLHVLQWKH6$5VXEEORFNV
RQUHWUDFWLRQZLWK*
9HORFLWLHVLQWKH6$5VXEEORFNV
RQUHWUDFWLRQZLWK*
5DSLGWUDYHUVHLI*LVDFWLYH
RWKHUZLVHZLWKROGQHZ)ZRUG
9HORFLW\RIWKHSUHYLRXVEORFN
ROG)ZRUG
5HWUDFWLRQVSHHGSURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
9HORFLWLHVLQWKH6$5VXEEORFNV
RQUHWUDFWLRQ
Fundamentals
308 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.4 Smooth approach and retraction
Reading positions
Points P3 and P4 can be read in the WCS as a system variable during approach.
10.4.2 Approach and retraction with enhanced retraction strategies (G460, G461, G462)
Function
In certain special geometrical situations, special extended approach and retraction strategies,
compared with the previous implementation with activated collision detection for the approach
and retraction block, are required in order to activate or deactivate tool radius compensation.
A collision detection can result, for example, in a section of the contour not being completely
machined, see following figure:
1 <
7RROUDGLXV
;
&HQWHUSRLQWSDWKZLWK
WRROUDGLXVFRPSHQVDWLRQ
3URJUDPPHG
1 1 FRQWRXU
Syntax
G460
G461
G462
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 309
Tool radius compensation
10.4 Smooth approach and retraction
Significance
G460: As previously (activation of the collision detection for the approach and retraction
block)
G461: Insertion of a circle in the TRC block, if it is not possible to have an intersection
whose center point is in the end point of the uncorrected block, and whose radius
is the same as the tool radius.
Up to the intersection, machining is performed with an auxiliary circle around the
contour end point (i.e. up to the end of the contour).
G462: Insertion of a circle in the TRC block, if it is not possible to have an intersection;
the block is extended by its end tangent (default setting).
Machining is performed up to the extension of the last contour element (i.e. until
shortly before the end of the contour).
Note
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 independently of the
retraction behavior.
Examples
Example 1: Retraction behavior with G460
The following example describes only the situation for deactivation of tool radius
compensation: The behavior for approach is exactly the same.
Fundamentals
310 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.4 Smooth approach and retraction
Further information
G461
If no intersection is possible between the last TRC block and a preceding block, the offset
curve of this block is extended with a circle whose center point lies at the end point of the
uncorrected block and whose radius is equal to the tool radius.
The control attempts to cut this circle with one of the preceding blocks.
1 <
$X[LOLDU\FXUYH
;
&HQWHUSRLQWSDWKZLWK
WRROUDGLXVFRPSHQVDWLRQ
3URJUDPPHG
1 1 FRQWRXU
Note
If no intersection is found, alarm 10751 (collision danger) is output.
G462
If no intersection is possible between the last TRC block and a preceding block, a straight line
is inserted, on retraction with G462 (initial setting), at the end point of the last block with tool
radius compensation (the block is extended by its end tangent).
The search for the intersection is then identical to the procedure for G461.
1 <
$X[LOLDU\FXUYH
;
&HQWHUSRLQWSDWKZLWK
WRROUDGLXVFRPSHQVD
WLRQ
3URJUDPPHG
1 1 FRQWRXU
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 311
Tool radius compensation
10.4 Smooth approach and retraction
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.
Fundamentals
312 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.5 Collision monitoring (CDON, CDOF, CDOF2)
Function
With the collision detection and active tool radius compensation, the tool paths are monitored
through look-ahead contour calculation. This Look Ahead function allows possible collisions
to be detected in advance and permits the control to actively avoid them.
Syntax
CDON
CDOF
CDOF2
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 313
Tool radius compensation
10.5 Collision monitoring (CDON, CDOF, CDOF2)
Note
The number of NC blocks that are included in the collision detection, can be set via machine
data.
Example
Milling on the center point path with standard tool
The NC program describes the center point path of a standard tool. The contour for a tool that
is actually used results in undersize, which is shown unrealistically large to demonstrate the
geometric relationships in the following figure. The control also only has an overview of three
blocks in the example.
3DUWFRQWRXU
1 3
&RUUHFWHGVHWSDWK
1RUPDOVL]H
8QGHUVL]H
2IIVHWRQWKH RIIVHWFXUYH
VWDUWLQJSRLQWRI1 &RPSHQVD
WLRQPRWLRQ
3
1 1 1 3URJUDPPHGRULJLQDO
SDWKVWDQGDUGWRRO
2IIVHWRQWKHHQGSRLQWRI1
Further information
Program test
To avoid program stops, the tool with the largest radius from the range of used tools should
always be used during the program test.
Fundamentals
314 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.5 Collision monitoring (CDON, CDOF, CDOF2)
7RROSDWK
3URJUDPPHGFRQWRXU
As the tool radius selected for the machining of this inside contour is too large, the
"bottleneck" is bypassed.
An alarm is output.
7RROSDWK
3URJUDPPHGFRQWRXU
The tool bypasses the workpiece corner on a transition circle, then continues on the
programmed path.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 315
Tool radius compensation
10.5 Collision monitoring (CDON, CDOF, CDOF2)
7RROSDWK
3URJUDPPHG
FRQWRXU
In such cases, the contours are machined only as much as is possible without causing a
contour violation.
References
Function Manual, Basic Functions; Tool Offset (W1), Chapter: "Collision detection and
bottleneck detection"
Fundamentals
316 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.6 2D tool compensation (CUT2D, CUT2DF)
Function
With CUT2D or CUT2DF you define how the tool radius compensation is to act or to be
interpreted when machining in inclined planes.
Tool length compensation
The tool length compensation generally always refers to the fixed, non-rotated working plane.
2D tool radius compensation with contour tools
The tool radius compensation for contour tools is used for automatic cutting-edge selection in
the case of non-axially symmetrical tools that can be used for piece-by-piece machining of
individual contour segments.
Syntax
CUT2D
CUT2DF
2D tool radius compensation for contour tools is activated if either of the two machining
directions G41 or G42 is programmed with CUT2D or CUT2DF.
Note
If tool radius compensation is not activated, a contour tool will behave like a standard tool
with only the first cutting edge.
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 317
Tool radius compensation
10.6 2D tool compensation (CUT2D, CUT2DF)
Further information
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.
= =
Fundamentals
318 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.6 2D tool compensation (CUT2D, CUT2DF)
= =
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.
Note
The tool length compensation continues to be active relative to the non-rotated working
plane.
References
Function Manual, Basic Functions; Tool Offset (W1)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 319
Tool radius compensation
10.7 Keep tool radius compensation constant (CUTCONON, CUTCONOF)
Function
The "Keep tool radius compensation constant" function is used to suppress tool radius
compensation for a number of blocks, whereby a difference between the programmed and
the actual tool center path traveled set up by tool radius compensation in the previous blocks
is retained as the compensation. It can be an advantage to use this method when several
traversing blocks are required during line milling in the reversal points, but the contours
produced by the tool radius compensation (follow strategies) are not wanted. It can be used
independently of the type of tool radius compensation (21/2D, 3D face milling, 3D
circumferential milling).
Syntax
CUTCONON
CUTCONOF
Significance
Fundamentals
320 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.7 Keep tool radius compensation constant (CUTCONON, CUTCONOF)
Example
<
&RQWRXUZLWKRXW75&
1
1
1
&RQWRXUZLWK75& 1
1
1
1 1 ;
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 321
Tool radius compensation
10.7 Keep tool radius compensation constant (CUTCONON, CUTCONOF)
Further information
Tool radius compensation is normally active before the compensation suppression and is still
active when the compensation suppression is deactivated again. In the last traversing block
before CUTCONON, the offset point in the block end point is approached. All following blocks in
which offset suppression is active are traversed without offset. However, they are offset by
the vector from the end point of the last offset block to its offset point. These blocks can have
any type of interpolation (linear, circular, polynomial).
The deactivation block of the compensation suppression, i.e. the block that contains
CUTCONOF, is compensated normally. It starts in the offset point of the starting point. One
linear block is inserted between the end point of the previous block, i.e. the last programmed
traversing block with active CUTCONON, and this point.
Circular blocks, for which the circle plane is perpendicular to the compensation plane (vertical
circles), are treated as though they had CUTCONON programmed. This implicit activation of the
offset suppression is automatically canceled in the first traversing block that contains a
traversing motion in the offset plane and is not such a circle. Vertical circle in this sense can
only occur during circumferential milling.
Fundamentals
322 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tool radius compensation
10.8 Tools with a relevant cutting edge position
Further information
The original functionality has been modified as follows:
• A change from G40 to G41/G42 and vice-versa is no longer treated as a tool change.
Therefore, a preprocessing stop no longer occurs with TRANSMIT.
• 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 above
subsection "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. Deviations from the
previous behavior occur only in relatively rare cases where the approach or retraction
block does not intersect with an adjacent traversing block, see the following figure:
/DVWSRVLWLRQRIWKH
FXWWLQJHGJHFHQWHUSRLQW
2QWKHFRQWRXU
3URJUDPPHG &XWWLQJHGJHFHQWHU
UHWUDFWLRQEORFN SRLQW
7RROHQGSRVLWLRQ
&XWWLQJHGJHUHIHUHQFHSRLQW
&HQWHUSDWK
%ORFNZLWKRXW
3RLQWRI /DVWSRVLWLRQRIWKHFXWWLQJHGJHFHQWHUSRLQW
LQWHUVHFWLRQ
ZLWKWKH
SUHYLRXV
EORFN
&XWWLQJHGJHUHIHUHQFHSRLQW
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 323
Tool radius compensation
10.8 Tools with a relevant cutting edge position
• 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).
• 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).
Note
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. (A tool with a type,
which has not been explicitly approved, is treated as a ball end mill with the specified
radius. A tool point direction parameter is ignored).
Fundamentals
324 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Path action 11
11.1 Exact stop (G60, G9, G601, G602, G603)
Function
In exact stop traversing mode, all path axes and special axes involved in the traversing
motion that are not traversed modally, are decelerated at the end of each block until they
come to a standstill.
Exact stop is used when sharp outside corners have to be machined or inside corners
finished to exact dimensions.
The exact stop specifies how exactly the corner point has to be approached and when the
transition is made to the next block:
• "Exact stop fine"
The block change is performed as soon as the axis-specific tolerance limits for "Exact stop
fine" are reached for all axes involved in the traversing motion.
• "Exact stop coarse"
The block change is performed as soon as the axis-specific tolerance limits for "Exact stop
coarse" are reached for all axes involved in the traversing motion.
• "Interpolator end"
The block change is performed as soon as the control has calculated a set velocity of zero
for all axes involved in the traversing motion. The actual position or the following error of
the axes involved are not taken into account
Note
The tolerance limits for "Exact stop fine" and "Exact stop coarse" can be set for each axis via
the machine data.
Syntax
G60 ...
G9 ...
G601/G602/G603, etc.
Significance
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 325
Path action
11.1 Exact stop (G60, G9, G601, G602, G603)
Note
The commands for activating the exact stop criteria (G601/G602/G603) are only effective if
G60 or G9 is active.
Example
Program code Comment
N5 G602 ; Criterion "Exact stop coarse" selected.
N10 G0 G60 Z... ; Exact stop modal active.
N20 X... Z... ; G60 continues to act.
...
N50 G1 G601 ; Criterion "Exact stop fine" selected.
N80 G64 Z... ; Switchover to continuous-path mode.
...
N100 G0 G9 ; Exact stop acts only in this block.
N110 ... ; Continuous-path mode active again.
Further information
G60, G9
G9 generates the exact stop in the current block, G60 in the current block and in all following
blocks.
Continuous-path-mode commands G64 or G641 - G645 are used to deactivate G60.
G601, G602
%ORFNDGYDQFH
ZLWK* ZLWK*
3URJUDPPHG
SDWK
Fundamentals
326 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Path action
11.1 Exact stop (G60, G9, G601, G602, G603)
Note
Do not set the limits for the exact stop criteria any tighter than necessary. The tighter the
limits, the longer it takes to position and approach the target position.
G603
The block change is initiated when the control has calculated a set velocity of zero for the
axes involved. At this point, the actual value lags behind by a proportionate factor depending
on the dynamic response of the axes and the path velocity. The workpiece corners can now
be rounded.
%ORFNFKDQJH
3URJUDPPHGSDWK
7UDYHUVHG
SDWK
ZLWK)
7UDYHUVHG
SDWK
ZLWK)
))
References
Function Manual, Basic Functions, Continuouspath Mode, Exact Stop, Look Ahead (B1)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 327
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS,
ADISPOS)
Function
In continuous-path mode, the path velocity at the end of the block (for the block change) is not
decelerated to a level which would permit the fulfillment of an exact stop criterion. The
objective of this mode is, in fact, to avoid rapid deceleration of the path axes at the block-
change point so that the axis velocity remains as constant as possible when the program
moves to the next block. To achieve this objective, the "LookAhead" function is also activated
when continuous-path mode is selected.
Continuouspath mode with smoothing facilitates the tangential shaping and/or smoothing of
angular block transitions caused by local changes in the programmed contour.
Continuouspath operation:
• Rounds the contour
• Reduces machining times by eliminating braking and acceleration processes that are
required to fulfill the exact-stop criterion
• Improves cutting conditions because of the more constant velocity
Continuouspath mode is suitable if:
• A contour needs to be traversed as quickly as possible (e.g. with rapid traverse)
• The exact contour may deviate from the programmed contour within a specific tolerance
for the purpose of obtaining a continuous contour
Continuous-path mode is not suitable if:
• A contour needs to be traversed precisely
• An absolutely constant velocity is required
Note
Continuous-path mode is interrupted by blocks which trigger a preprocessing stop implicitly,
e.g. due to:
• Access to specific machine status data ($A...)
• Auxiliary function outputs
Syntax
G64...
G641 ADIS=…
G641 ADISPOS=…
G642...
G643...
G644...
G645...
Fundamentals
328 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
Meaning
G64: Continuous-path mode with reduced velocity as per the overload factor
G641: Continuous-path mode with smoothing as per distance criterion
ADIS=... : Distance criterion with G641 for path functions G1, G2, G3, etc.
ADISPOS=... : Distance criterion with G641 for rapid traverse G0
The distance criterion (= rounding clearance) ADIS or ADISPOS
describes the maximum distance the rounding block may cover before
the end of the block, or the distance after the end of block within which
the rounding block must be terminated respectively.
Note:
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.
G642: Continuous-path mode with smoothing within the defined tolerances
In this mode, under normal circumstances smoothing takes place
within the maximum permissible path deviation. However, instead of
these axis-specific tolerances, observation of the maximum contour
deviation (contour tolerance) or the maximum angular deviation of the
tool orientation (orientation tolerance) can be configured.
Note:
Expansion to include contour and orientation tolerance is only
supported on systems featuring the "Polynomial interpolation" option.
G643: Continuous-path mode with smoothing within the defined tolerances
(block-internal)
G643 differs from G642 in that is not used to generate a separate
rounding block; instead, axis-specific block-internal rounding
movements are inserted. The rounding clearance can be different for
each axis.
G644: Continuous-path mode with smoothing with maximum possible
dynamic response
Note:
G644 is not available with an active kinematic transformation. The
system switches internally to G642.
G645: Continuous-path mode with smoothing and tangential block transitions
within the defined tolerances
G645 has the same effect on corners as G642. With G645, rounding
blocks are also only generated on tangential block transitions if the
curvature of the original contour exhibits a jump in at least one axis.
Note
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 traversed at the corner.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 329
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
NOTICE
If a rounding movement initiated by G641, G642, G643, G644 or G645 is interrupted, the
starting or end point of the original traversing block (as appropriate for REPOS mode) will be
used for subsequent repositioning (REPOS), rather than the interruption point.
Example
<
< ([DFWVWRS
ILQH
; =
The two outside corners on the groove are to be approached exactly. Otherwise machining
should be performed in continuous-path mode.
Fundamentals
330 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
Further information
Continuous-path mode G64
In continuous-path mode, the tool travels across tangential contour transitions with as
constant a path velocity as possible (no deceleration at block boundaries). LookAhead
deceleration is applied before corners and blocks with exact stop.
& HOR
RQ F
Y
VW LW\
DQ
W
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.
Note
The extent of smoothing of the contour transitions depends on the feedrate and the overload
factor. The overload factor can be set in MD32310 $MA_MAX_ACCEL_OVL_FACTOR.
Setting MD20490 $MC_IGNORE_OVL_FACTOR_FOR_ADIS means that block transitions
will always be rounded irrespective of the set overload factor.
The following points should be noted in order to prevent an undesired stop in path motion
(relief cutting):
• Auxiliary functions, which are enabled after the end of the movement or before the next
movement interrupt continuous-path mode (Exception: High-speed auxiliary functions).
• 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.
However, intermediate blocks containing only comments, calculation blocks or subprogram
calls do not affect continuous-path mode.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 331
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
Note
If FGROUP does not contain all the path axes, there is often a step change in the velocity at
block transitions for those axes excluded from FGROUP; the control limits this change in
velocity to the permissible values set in MD32300 $MA_MAX_AX_ACCEL and MD32310
$MA_MAX_ACCEL_OVL_FACTOR. This braking operation can be avoided through the
application of a rounding function, which "smoothes" the specific positional interrelationship
between the path axes.
)HHGUDWH
SURJUDPPHG
)
*3UHGLFWLYHYHORFLW\FRQWURO
*3KDVHFRQVWDQWYHORFLW\FDQQRWEHUHDFKHG
Fundamentals
332 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
Example:
0D[
PP 3URJUDPPHG
HQGRIFRQWRXU
$',6$',6326
0D[PP
Note
Smoothing cannot and should not replace the functions for defined smoothing (RND, RNDM,
ASPLINE, BSPLINE, CSPLINE).
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 333
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
Note
Expansion to include contour and orientation tolerance is only supported on systems
featuring the "Polynomial interpolation" option.
Note
An orientation transformation must be active for smoothing within the orientation tolerance.
Value Meaning
0 Specification of maximum axial deviations with:
MD33100 $MA_COMPRESS_POS_TOL
1 Specification of maximum rounding clearance by programming:
ADIS=... or ADISPOS=...
2 Specification of the maximum possible frequencies of each axis occurring in the rounding
area with:
MD32440 $MA_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 When rounding with G644, neither the tolerance nor the rounding distance are monitored.
Each axis traverses around a corner with the maximum possible dynamic response.
With SOFT, 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.
Fundamentals
334 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 335
Path action
11.2 Continuous-path mode (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS)
References
For further information about continuous-path mode see:
Function Manual, Basic Functions; Continuous-Path Mode, Exact Stop, LookAhead (B1).
Fundamentals
336 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames) 12
12.1 Frames
Frame
The frame is a self-contained arithmetic rule that transforms one Cartesian coordinate system
into another Cartesian coordinate system.
Settable frames
Settable frames are the configurable work offsets which can be called from within any NC
program with the G54 to G57 and G505 to G599 commands. The offset values are predefined
by the user and stored in the zero offset memory on the control. They are used to define the
settable zero system (SZS).
See:
• Settable zero system (SZS) [Page 31]
• Settable work offset (G54 to G57, G505 to G599, G53, G500, SUPA, G153) [Page 159]
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 337
Coordinate transformations (frames)
12.1 Frames
Programmable frames
Sometimes it is useful or necessary to move the originally selected workpiece coordinate
system (or the "settable zero system") to another position within an NC program and, if
required, to rotate it, mirror it and/or scale it. This can be achieved using programmable
frames.
= =
5RWDWLRQ <
DURXQGWKH=D[LV
<
=
<
HW
;
IIV
R
N
RU
:
;
;
Fundamentals
338 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.2 Frame instructions
Function
The operations for programmable frames apply in the current NC program. They function as
either additive or substitute elements:
• Substitute operation
Deletes all previously programmed frame operations. The reference is provided by the last
settable work offset called (G54 to G57, G505 to G599).
< <
; ;
75$16$75$16 527
$527
< <
;
;
6&$/($6&$/( 0,5525$0,5525
• Additive operation
Appended to existing frames. The reference is provided by the currently set workpiece
zero or the last workpiece zero programmed with a frame operation.
$75$16
75$16
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 339
Coordinate transformations (frames)
12.2 Frame instructions
Applications
• Offset the zero point to any position on the workpiece.
• Align the coordinate axes by rotating parallel to the desired working plane.
=
<
= <
;
;
Advantages
In one setting:
• Inclined surfaces can be machined
• Drill holes with various angles can be produced
• Multi-face machining can be performed
Note
Depending on the machine kinematics, the conventions for working plane and tool offsets
must be taken into account for the machining in inclined working planes
Syntax
Note
Each frame operation is programmed in a separate NC block.
Fundamentals
340 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.2 Frame instructions
Meaning
; ;
= =
75$16$75$16 527
$527
; ;
= =
6&$/($6&$/( 0,5525$0,5525
rotation:
<
;
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 341
Coordinate transformations (frames)
12.2 Frame instructions
Note
Frame operations can be used individually or combined at will.
CAUTION
Frame operations are executed in the programmed sequence.
Note
Additive statements are frequently used in subroutines. The basic functions defined in the
main program are not lost after the end of the subroutine if the subroutine has been
programmed with the SAVE attribute.
Fundamentals
342 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.3 Programmable zero offset
Function
TRANS/ATRANS can be used to program work offsets for all path and positioning axes in the
direction of the axis specified in each case. This means that it is possible to work with
changing zero points, e.g. during repetitive machining operations at different workpiece
positions.
Milling: Turning:
Z ;
ZM
YM
Y
=
TRANS 0 :
X
4
G5
75$16
*
XM
Syntax
TRANS X… Y… Z…
ATRANS X… Y… Z…
Note
Each frame operation is programmed in a separate NC block.
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 343
Coordinate transformations (frames)
12.3 Programmable zero offset
Examples
Example 1: Milling
; ;
*
;0
Fundamentals
344 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.3 Programmable zero offset
Example 2: Turning
=
0 :
Further information
TRANS X... Y... Z...
Translation through the offset values programmed in the specified axis directions (path,
synchronized axes and positioning axes). The reference is provided by the last settable work
offset called (G54 to G57, G505 to G599).
NOTICE
The TRANS command resets all frame components of the previously activated programmable
frame.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 345
Coordinate transformations (frames)
12.3 Programmable zero offset
75$16
75$16
Note
ATRANS can be used to program an offset to be added to existing frames.
$75$16
75$16
Fundamentals
346 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.3 Programmable zero offset
Note
For SINUMERIK 828D the commands G58/G59 have a different function than for
SINUMERIK 840D sl:
• G58: Calls the 5th adjustable work offset (this corresponds to command G505 for
SINUMERIK 840D sl)
• G59: Calls the 6th adjustable work offset (this corresponds to command G506 for
SINUMERIK 840D sl)
Therefore, the following description of G58/G59 is only valid for SINUMERIK 840D sl.
Function
The G58 and G59 functions can be used to substitute translation components of the
programmable work offset with specific axes:
• G58 is used for the absolute translation component (coarse offset)
• G59 is used for the additive translation component (fine offset)
=
=0
<0
7UDQVODWLRQ
<
;
DEVR
OX
* WHWUDQVOD
*
75$ WLRQ
16
DGGLWLYHWUD
*
;0 $75$16
Conditions
The G58 and G59 functions can only be used if fine offset has been configured
(MD24000 $MC_FRAME_ADD_COMPONENTS = 1).
Syntax
G58 X… Y… Z… A…
G59 X… Y… Z… A…
Note
Each of the substitute operations G58 and G59 has to be programmed in a separate NC
block.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 347
Coordinate transformations (frames)
12.3 Programmable zero offset
Significance
Example
Program code Comment
...
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
+ additive translation component X5 Y5
→ total offset X25 Y15 Z10
N80 G59 X10 Y10 ; Additive translation component X10 Y10
+ absolute translation component X20 Y10
→ total offset X30 Y20 Z10
...
Further information
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]
Fundamentals
348 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.3 Programmable zero offset
The table below describes the effect of various program commands on the absolute and
additive offsets.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 349
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
Function
ROT/AROT can be used to rotate the workpiece coordinate system around each of the three
geometry axes X, Y, Z or through an angle RPL in the selected working plane G17 to G19
(or around the perpendicular infeed axis). This allows inclined surfaces or multiple workpiece
faces to be machined in one setting.
Syntax
ROT X… Y… Z…
ROT RPL=…
AROT X… Y… Z…
AROT RPL=…
Note
Each frame operation is programmed in a separate NC block.
Significance
Fundamentals
350 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
Examples
Example 1: Rotation in the plane
r
r
5
;
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 351
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
U
Fundamentals
352 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
<
;
=
<
Y Y
AROT Y90
X Z
X
Y
AROT Z90
Z Z
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 353
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
Further information
Rotation in the plane
The coordinate system is rotated:
• in the plane selected with G17 to G19.
Substitute operation ROT RPL=... or additive operation AROT RPL=...
• in the current plane around the angle of rotation programmed with RPL=....
527
< <
*
*
;
*
*
*
=
= ;
=
*
Note
See "Rotation in space" for more information.
Plane change
WARNING
If you program a change of plane (G17 to G19) after a rotation, the angles of rotation
programmed for the relevant axes are retained and continue to apply in the new working
plane. It is, therefore, advisable to deactivate rotation before a change of plane.
Deactivate rotation
For all axes: ROT (without axis parameter)
CAUTION
All frame components of the previously programmed frame are reset.
Fundamentals
354 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
NOTICE
The ROT command resets all frame components of the previously activated programmable
frame.
<
Note
AROT can be used to program a new rotation to be added to existing frames.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 355
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
<
527
$5
27
Note
In the case of both operations, please bear in mind the sequence and direction in which the
rotations are being executed!
Direction of rotation
The following is defined as the positive direction of rotation: The view in the direction of the
positive coordinate axis and clockwise rotation.
<
;
Fundamentals
356 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
Order of rotation
Up to 3 geometry axes can be rotated simultaneously in one NC block.
The sequence in which the rotations are executed is defined using machine data
(MD10600 $MN_FRAME_ANGLE_INPUT_MODE):
• RPY notation: Z, Y', X''
• Euler angles: Z, X', Z''
RPY notation (the default setting) results in the following sequence:
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
Y
This order applies if the geometry axes are programmed 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.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 357
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
CAUTION
To ensure the angles written are read back unambiguously, it is absolutely essential to
observe the defined value ranges.
Note
If you want to define the order of the rotations individually, program the desired rotation
successively for each axis with AROT.
Fundamentals
358 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.4 Programmable rotation (ROT, AROT, RPL)
<
*
; <
=
*
Condition:
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.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 359
Coordinate transformations (frames)
12.5 Programmable frame rotations with solid angles (ROTS, AROTS, CROTS)
Function
Orientations in space can be defined by programming frame rotations with solid angles. The
ROTS, AROTS and CROTS commands are available for this purpose. ROTS and AROTS behave
in the same way asROT and AROT.
Syntax
The orientation of a plane in space is defined unambiguously by specifying two solid angles.
Therefore, up to 2 solid angles may be programmed:
• When programming the solid angles X and Y, the new X axis lies in the old Z/X plane.
ROTS X... Y...
AROTS X... Y...
CROTS X... Y...
• When programming the solid angles Z and X, the new Z axis lies in the old Y/Z plane.
ROTS Z... X...
AROTS Z... X...
CROTS Z... X...
• When programming the solid angles Y and Z, the new Y axis lies in the old X/Y plane.
ROTS Y... Z...
AROTS Y... Z...
CROTS Y... Z...
Note
Each frame operation is programmed in a separate NC block.
Fundamentals
360 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.5 Programmable frame rotations with solid angles (ROTS, AROTS, CROTS)
Significance
Note
ROTS/AROTS/CROTS can also be programmed together with RPL to generate a rotation in the
plane set with G17 to G19:
ROTS/AROTS/CROTSRPL=...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 361
Coordinate transformations (frames)
12.6 Programmable scale factor (SCALE, ASCALE)
Function
SCALE/ASCALE can be used to program up or down scale factors for all path, synchronized,
and positioning axes in the direction of the axes specified in each case. This makes it
possible, therefore, to take geometrically similar shapes or different shrinkage allowances into
account in the programming.
Syntax
SCALE X… Y… Z…
ASCALE X… Y… Z…
Note
Each frame operation is programmed in a separate NC block.
Significance
Example
r
;
Fundamentals
362 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.6 Programmable scale factor (SCALE, ASCALE)
Further information
SCALE X... Y... Z...
You can specify an individual scale factor for each axis, by which the shape is to be reduced
or enlarged. The scale refers to the workpiece coordinate system set with G54 to G57,
G505 to G599.
CAUTION
The SCALE command resets all frame components of the previously activated programmable
frame.
<
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 363
Coordinate transformations (frames)
12.6 Programmable scale factor (SCALE, ASCALE)
E L
CA
AS
AROT
TRANS
Note
If an offset is programmed with ATRANS after SCALE, the offset values will also be scaled.
CAUTION
Please take great care when using different scale factors! Circular interpolations can, for
example, only be scaled using identical factors.
Note
However, different scale factors can be used specifically to program distorted circles.
Fundamentals
364 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.7 Programmable mirroring (MIRROR, AMIRROR)
Function
MIRROR/AMIRROR can be used to mirror workpiece shapes on coordinate axes. All traversing
movements programmed after the mirror call (e.g. in the subprogram) are executed with
mirroring.
Syntax
MIRROR X... Y... Z...
AMIRROR X... Y... Z...
Note
Each frame operation is programmed in a separate NC block.
Significance
Examples
Example 1: Milling
; ;
< <
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 365
Coordinate transformations (frames)
12.7 Programmable mirroring (MIRROR, AMIRROR)
Example 2: Turning
= =
0 : : 0
Fundamentals
366 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.7 Programmable mirroring (MIRROR, AMIRROR)
Further information
MIRROR X... Y... Z...
The mirror is programmed by means of an axial change of direction in the selected working
plane.
Example: Working plane G17 X/Y
The mirror (on the Y axis) requires a direction change in X and, accordingly, is programmed
with MIRROR X0. The contour is then mirrored on the opposite side of the mirror axis Y.
0,5525;
<
;
0,5525<
Mirroring is implemented in relation to the currently valid coordinate system set with G54 to
G57, G505 to G599.
CAUTION
The MIRROR command resets all frame components of the previously activated
programmable frame.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 367
Coordinate transformations (frames)
12.7 Programmable mirroring (MIRROR, AMIRROR)
75$16
$0,5525
Deactivate mirroring
For all axes: MIRROR (without axis parameter)
All frame components of the previously programmed frame are reset.
Note
The mirror command causes the control to automatically change the path compensation
commands (G41/G42 or G42/G41) according to the new machining direction.
<
* *
* * ;
0,5525;
Fundamentals
368 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.7 Programmable mirroring (MIRROR, AMIRROR)
Note
If you program an additive rotation with AROT after MIRROR, you may have to work with
reversed directions of rotation (positive/negative or negative/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.
Mirror axis
The axis to be mirrored can be set in machine data:
MD10610 $MN_MIRROR_REF_AX = <value>
Value Significance
0 Mirroring is performed around the programmed axis (negation of values).
1 The reference axis is the X axis.
2 The reference axis is the Y axis.
3 The reference axis is the Z axis.
Value Significance
0 Programmed axis values are not evaluated.
1 Programmed axis values are evaluated:
• For programmed axis values ≠ 0 the axis is mirrored if it has not yet been mirrored.
• For a programmed axis value = 0 mirroring is deactivated.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 369
Coordinate transformations (frames)
12.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT)
Function
TOFRAME generates a rectangular frame whose Z axis coincides with the current tool
orientation. This means that the user can retract the tool in the Z direction without risk of
collision (e.g. after a tool break in a 5-axis program).
The position of the X and Y axes is determined by the setting in machine data MD21110
$MC_X_AXES_IN_OLD_X_Z_PLANE (coordinate system with automatic frame definition).
The new coordinate system is either left as generated from the machine kinematics or is
turned around the new Z axis additionally so that the new X axis lies in the old Z/X plane
(see machine manufacturer's specifications).
The resulting frame describing the orientation is written in the system variable for the
programmable frame ($P_PFRAME).
TOROT only overwrites the rotation component in the programmed frame. All other
components remain unchanged.
TOFRAME and TOROT are designed for milling operations in which G17 (working plane X/Y) is
typically active. In the case of turning operations or generally when G18 or G19 is active,
however, frames are needed where the X or Y axis matches the orientation of the tool. These
frames are programmed with the TOFRAMEX/TOROTX or TOFRAMEY/TOROTY commands.
PAROT aligns the workpiece coordinate system on the workpiece.
= %DVLF
<
=
=
r
<%DVLF
<
; %DVLF ;
Fundamentals
370 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT)
Syntax
TOFRAME/TOFRAMEZ/TOFRAMEY/TOFRAMEX
...
TOROTOF
TOROT/TOROTZ/TOROTY/TOROTX
...
TOROTOF
PAROT
...
PAROTOF
Significance
TOFRAME: Align the Z axis of the workpiece coordinate system parallel to the
workpiece orientation by rotating the frame
TOFRAMEZ: As TOFRAME
TOFRAMEY: Align the Y axis of the workpiece coordinate system parallel to the
workpiece orientation by rotating the frame
TOFRAMEX: Align the X axis of the workpiece coordinate system parallel to the
workpiece orientation by rotating the frame
TOROT: Align the Z axis of the workpiece coordinate system parallel to the
workpiece orientation by rotating the frame
The rotation defined with TOROT is the same as that defined with TOFRAME.
TOROTZ: As TOROT
TOROTY: Align the Y axis of the workpiece coordinate system parallel to the
workpiece orientation by rotating the frame
TOROTX: Align the X axis of the workpiece coordinate system parallel to the
workpiece orientation by rotating the frame
TOROTOF: Deactivate orientation parallel to tool orientation
PAROT: Rotate frame to align workpiece coordinate system on workpiece
Translations, scaling and mirroring in the active frame remain valid.
PAROTOF: The workpiece-specific frame rotation activated with PAROT is deactivated
with PAROTOF.
Note
The TOROT command ensures consistent programming with active orientable toolholders for
each kinematic type.
Just as in 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 if no toolholder with orientation capability is
active.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 371
Coordinate transformations (frames)
12.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT)
Example
Program code Comment
N100 G0 G53 X100 Z100 D0
N120 TOFRAME
N140 G91 Z20 ; TOFRAME is included in the calculation, all
programmed geometry axis movements
refer to the new coordinate system.
N160 X50
...
Further information
Assigning axis direction
If one of the TOFRAMEX, TOFRAMEY, TOROTX, TOROTY commands is programmed instead of
TOFRAME/TOFRAMEZ or TOROT/TOROTZ, the axis direction commands listed in this table will
apply:
References
For further information about machines with orientable toolholder, see:
• Programming Manual, Job Planning; Chapter: "Tool orientation"
• Function Manual, Basic Functions; Tool Offset (W1),
Chapter: "Toolholder with orientation capability"
Fundamentals
372 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.9 Deselect frame (G53, G153, SUPA, G500)
Function
When executing certain processes, such as approaching the tool change point, various frame
components have to be defined and suppressed at different times.
Settable frames can either be deactivated modally or suppressed non-modally.
Programmable frames can be suppressed or deleted non-modally.
Syntax
Non-modal suppression:
G53/G153/SUPA
Modal deactivation:
G500
Delete:
TRANS/ROT/SCALE/MIRROR
Meaning
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 373
Coordinate transformations (frames)
12.10 Deselecting overlaid movements (DRFOF, CORROF)
Function
The additive work offsets set by means of handwheel traversal (DRF offsets) and the position
offsets programmed using system variable $AA_OFF[<axis>] can be deselected using the
part program commands DRFOF and CORROF.
Deselection triggers a preprocessing stop and the position component of the deselected
overlaid movement (DRF offset or position offset) is written to the position in the basic
coordinate system (in other words, no axes are traversed). The value of system variable
$AA_IM[<axis>] (current machine coordinate system setpoint of an axis) does not change;
the value of system variable $AA_IW[<axis>] (current workpiece coordinate system setpoint
of an axis) does change, because it now contains the deselected component from the
overlaid movement.
Syntax
DRFOF
CORROF(<axis>,"<character string>"[,<axis>,"<character string>"])
Significance
DRFOF: Command for the deactivation (deselection) of DRF handwheel offsets for all
active axes in the channel
Active: modal
CORROF: Command for the deactivation (deselection) of the DRF offset/position offset
($AA_OFF) for individual axes
Effective: modal
<axis>: Axis identifier (channel, geometry or machine axis identifier)
"<character == "DRF": DRF offset of axis is deselected
string>":
== "AA_OFF": $AA_OFF position offset of axis is
deselected
Note
CORROF is only possible from the part program, not via synchronized actions.
Fundamentals
374 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Coordinate transformations (frames)
12.10 Deselecting overlaid movements (DRFOF, CORROF)
Examples
Example 1: Axial deselection of a DRF offset (1)
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.
Example 4: Axial deselection of a DRF offset and a $AA_OFF position offset (1)
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.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 375
Coordinate transformations (frames)
12.10 Deselecting overlaid movements (DRFOF, CORROF)
Example 5: Axial deselection of a DRF offset and a $AA_OFF position offset (2)
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.
Further information
$AA_OFF_VAL
Once the position offset has been deselected by means of $AA_OFF, system variable
$AA_OFF_VAL (integrated distance of axis override) for the corresponding axis will equal
zero.
Fundamentals
376 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Auxiliary function outputs 13
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.
Auxiliary functions
The following auxiliary functions can be transferred to the PLC:
For each function group or single function, machine data is used to define whether the output
is triggered before, with or after the traversing motion.
The PLC can be programmed to acknowledge auxiliary function outputs in various ways.
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 377
Auxiliary function outputs
Properties
Important properties of the auxiliary function are shown in the following overview table:
Fundamentals
378 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Auxiliary function outputs
Further information
Number of function outputs per NC block
Up to 10 function outputs can be programmed in one NC block. Auxiliary functions can also
be output from the action component of synchronized actions.
References:
Function Manual, Synchronized Actions
Grouping
The functions described can be grouped together. Group assignment is predefined for some
M commands. The acknowledgment behavior can be defined by the grouping.
Note
The appropriate machine data must be set for the "High-speed function outputs" function ( →
machine manufacturer).
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 379
Auxiliary function outputs
CAUTION
Fundamentals
380 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Auxiliary function outputs
13.1 M functions
13.1 M functions
Function
The M functions initiate switching operations, such as "Coolant ON/OFF" and other functions
on the machine.
Syntax
M<value>
M[<address extension>] = <value>
Significance
Predefined M functions
Certain important M functions for program execution are supplied as standard with the
control:
M function Meaning
M0* Programmed stop
M1* Optional stop
M2* End of main program with return to beginning of program
M3 Spindle clockwise
M4 Spindle counterclockwise
M5 Spindle stop
M6 Tool change (default setting)
M17* End of subroutine
M19 Position the spindle
M30* End of program (as M2)
M40 Automatic gear change
M41 Gear stage 1
M42 Gear stage 2
M43 Gear stage 3
M44 Gear stage 4
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 381
Auxiliary function outputs
13.1 M functions
M function Meaning
M45 Gear stage 5
M70 Spindle is switched to axis mode
NOTICE
Extended address notation cannot be used for the functions marked with *.
The commands M0, M1, M2, M17 and M30 are always issued after the traversing movement.
NOTICE
The functions assigned to the free M function numbers are machine-specific. A certain M
function can therefore have a different functionality on another machine.
Refer to the machine manufacturer's specifications for the M functions available on a
machine and their functions.
Examples
Example 1: Maximum number of M functions in a block
M7 has been programmed as high-speed output so that the continuous-path mode (G64) is
not interrupted.
Note
Only use this function in special cases as, for example, the chronological alignment is
changed in combination with other function outputs.
Fundamentals
382 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Auxiliary function outputs
13.1 M functions
Programmed stop 2 - an auxiliary function associated with M1 with stop in the program
execution
Programmed stop 2 can be set via the HMI / dialog box "Program Control" and allows the
technological sequences to be interrupted at any time at the end of the part to be machined.
In this way, the operator can interrupt the production, e.g. to remove chip flows.
If an address extension has not been programmed, the function applies for the master
spindle.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 383
Auxiliary function outputs
13.1 M functions
Fundamentals
384 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands 14
14.1 Messages (MSG)
Function
Using the MSG() command, any character string from the part program can be output as
message to the operator.
Syntax
MSG("<Message text>"[,<Execution>])
...
MSG ()
Significance
Note
If the message is to be output in the language active at the user interface, then the user
requires information about the language that is currently set at the HMI. This information can
be interrogated in the part program and in the synchronized actions using system variable
$AN_LANGUAGE_ON_HMI (see "Currently set language in the HMI [Page 557]").
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 385
Supplementary commands
14.1 Messages (MSG)
Examples
Example 1: Output/delete message
Fundamentals
386 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.2 Writing string in OPI variable (WRTPR)
Function
Using the WRTPR() function, you can write any character string from the part program into the
OPI variable progProtText.
Syntax
WRTPR(<character string>[,<execution>])
Meaning
Examples
Program code Comments
N10 G91 G64 F100 ; Continuous-path mode
N20 X1 Y1
N30 WRTPR("N30") ; String "N30" is first written to N40.
; Continuous-path mode is kept.
N40 X1 Y1
N50 WRTPR("N50",1) ; String "N50" is written to N50.
; Continuous-path mode is interrupted.
N60 X1 Y1
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 387
Supplementary commands
14.3 Working area limitation
Function
G25/G26 limits the working area (working field, working space) in which the tool can traverse.
The areas outside the working area limitations defined with G25/G26 are inhibited for any tool
motion.
;
3URWHFWHG]RQH
:RUNLQJDUHD
=
0 :
The coordinates for the individual axes apply in the basic coordinate system:
=
<
*
* =
<
*
<
;
*
*
=
*
< ;
%DVLF *
FRRUGLQDWH
FRQWURO ;
Fundamentals
388 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.3 Working area limitation
The working area limitation for all validated axes must be programmed with the WALIMON
command. The WALIMOF command deactivates the working area limitation. WALIMON is the
default setting. Therefore, it only has to be programmed if the working area limitation has
been disabled beforehand.
Syntax
G25 X…Y…Z…
G26 X…Y…Z…
WALIMON
WALIMOF
Meaning
In addition to programming values using G25/G26, values can also be entered using axis-
specific setting data:
SD43420 $SA_WORKAREA_LIMIT_PLUS (Working area limitation plus)
SD43430 $SA_WORKAREA_LIMIT_MINUS (Working area limitation minus)
Activating and de-activating the working area limitation, parameterized using SD43420 and
SD43430, are carried-out for a specific direction using the axis-specific setting data that
becomes immediately effective:
SD43400 $SA_WORKAREA_PLUS_ENABLE (Working area limitation active in the positive
direction)
SD43410 $SA_WORKAREA_MINUS_ENABLE (Working area limitation active in the negative
direction)
Using the direction-specific activation/de-activation, it is possible to limit the working range for
an axis in just one direction.
Note
The programmed working area limitation, programmed with G25/G26, has priority and
overwrites the values entered in SD43420 and SD43430.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 389
Supplementary commands
14.3 Working area limitation
Note
G25/G26 can also be used to program limits for spindle speeds at the address S. For more
information see " Programmable spindle speed limitation (G25, G26) [Page 108] ".
Example
3URWHFWHG]RQH
Using the working area limitation G25/26, the
;% working area of a lathe is limited so that the
surrounding devices and equipment - such
as revolver, measuring station, etc. - are
; protected against damage.
Default setting: WALIMON
:RUNLQJDUHD
0 : =%
;
Fundamentals
390 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.3 Working area limitation
Further information
Reference point at the tool
When tool length compensation is active, the tip of the tool is monitored as reference point,
otherwise it is the toolholder reference point.
Consideration of the tool radius must be activated separately. This is done using channel-
specific machine data:
MD21020 $MC_WORKAREA_WITH_TOOL_RADIUS
If the tool reference point lies outside the working area defined by the working area limitation
or if this area is left, the program sequence is stopped.
Note
If transformations are active, then tool data are taken into consideration (tool length and tool
radius) can deviate from the described behavior.
References:
Function Manual, Basic Functions; Axis Monitoring, Protection Zones (A3),
Chapter: "Monitoring the working area limitation"
Note
The CALCPOSI subroutine is described in the Job Planning Programming Manual Using this
subroutine before any traversing motion is made, it can be checked as to whether the
predicted path is moved through taking into account the working area limits and/or the
protection zones.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 391
Supplementary commands
14.3 Working area limitation
Function
In addition to the working area limitation with WALIMON (see "Working area limitation in BCS
(G25/G26, WALIMON, WALIMOF) [Page 388]") there is an additional working area limitation
that is activated using the G commands WALCS1 to WALCS10. Contrary to the working area
limitation with WALIMON, the working area here is not in the basic coordinate system, but is
limited coordinate system-specific in the workpiece coordinate system (WCS) or in the
settable zero system (SZS).
Using the G commands WALCS1 - WALCS10, a data set (working area limitation group) is
selected under the up to ten channel-specific data sets for the coordinate system-specific
working area limitations. A data set contains the limit values for all axes in the channel. The
limitations are defined by channel-specific system variables.
Application
The working area limitation with WALCS1 - WALCS10 ("Working area limitation in the WCS/
SZS") is mainly used for working area limitations for conventional lathes. They allow the
programmer to use the defined "end stops" - when moving the axis "manually" to define a
working area limitation referred to the workpiece.
Syntax
The "working area limitation in the "WCS/SZS" is activated by selecting a working area
limitation group. G commands are used to make the selection:
Fundamentals
392 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.3 Working area limitation
Meaning
The working area limitations of the individual axes are set and the reference frame (WCS or
SZS), in which the working area limits are to be effective, activated with WALCS1 - WALCS10,
by writing to channel-specific system variables:
Example
Three axes are defined in the channel: X, Y and Z
A working area limitation group No. 2 is to be defined and then activated in which the axes are
to be limited in the WCS acc. to the following specifications:
• X axis in the plus direction: 10 mm
• X axis in the minus direction: No limitation
• Y axis in the plus direction: 34 mm
• Y axis in the minus direction: -25 mm
• Z axis in the plus direction: No limitation
• Z axis in the minus direction: -600 mm
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 393
Supplementary commands
14.3 Working area limitation
Further information
Effectivity
The working area limitation with WALCS1 - WALCS10 acts independently of the working area
limitation with WALIMON. If both functions are active, that limit becomes effective which the
axis motion first reaches.
Fundamentals
394 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.4 Reference point approach (G74)
Function
When the machine has been powered up (where incremental position measuring systems are
used), all of the axis slides must approach their reference mark. Only then can traversing
movements be programmed.
The reference point can be approached in the NC program with G74.
Syntax
G74 X1=0 Y1=0 Z1=0 A1=0 … ; Programmed in a separate NC block
Significance
Note
A transformation must not be programmed for an axis which is to approach the reference
point with G74.
Example
When the measurement system is changed, the reference point is approached and the
workpiece zero point is initialized.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 395
Supplementary commands
14.5 Fixed-point approach (G75, G751)
Function
The non-modal command G75/G751 can be used to move axes individually and
independently of one another to fixed points in the machine space, e.g. to tool change points,
loading points, pallet change points, etc.
The fixed points are positions in the machine coordinate system which are stored in the
machine data (MD30600 $MA_FIX_POINT_POS[n]). A maximum of four fixed points can be
defined for each axis.
The fixed points can be approached from every NC program irrespective of the current tool or
workpiece positions. An internal preprocessing stop is executed prior to moving the axes.
The approach can be made directly (G75) or via an intermediate point (G751):
,QWHUPHGLDWH
; ;
SRVLWLRQ
)L[HGSRLQW
*
*
)L[HGSRLQW
= =
Conditions
The following conditions must be satisfied to approach fixed points with G75/G751:
• The fixed-point coordinates must have been calculated exactly and written to machine
data.
• The fixed points must be located within the valid traversing range ( → note the software
limit switch limits!)
• The axes to be traversed must be referenced.
• No tool radius compensation must be active.
• A kinematic transformation may not be active.
• None of the axes to be traversed must be involved in active transformation.
• None of the axes to be traversed must be a following axis in an active coupling.
• None of the axes to be traversed must be an axis in a gantry grouping.
• Compile cycles must not activate motion components.
Fundamentals
396 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.5 Fixed-point approach (G75, G751)
Syntax
G75/G751 <axis name><axis position> ... FP=<n>
Significance
Note
Multiple axes can be programmed in one G75/751 block. The axes are then traversed
simultaneously to the specified fixed point.
Note
The following applies for G751: Axes which are to only approach the fixed point without first
moving to an intermediate point cannot be programmed.
Note
The value of the address FP must not be greater than the number of fixed points specified for
each programmed axis (MD30610 $MA_NUM_FIX_POINT_POS).
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 397
Supplementary commands
14.5 Fixed-point approach (G75, G751)
Examples
Example 1: G75
For a tool change, axes X (= AX1) and Z (= AX3) need to move to the fixed machine axis
position 1 where X = 151.6 and Z = -17.3.
Machine data:
• MD30600 $MA_FIX_POINT_POS[AX1,0] = 151.6
• MD30600 $MA_FIX_POINT[AX3,0] = 17.3
NC program:
Note
If the "Tool management with magazines" function is active, the auxiliary function T… or M...
(typically M6) will not be sufficient to trigger a block change inhibit at the end of G75 motion.
Reason: With "Tool management with magazines is active", auxiliary functions for tool
change are not output to the PLC.
Example 2: G751
Position X20 Z30 is to be approached first, followed by the fixed machine axis position 2.
Fundamentals
398 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.5 Fixed-point approach (G75, G751)
Further information
G75
The axes are traversed as machine axes in rapid traverse. The motion is mapped internally
using the "SUPA" (suppress all frames) and "G0 RTLIOF" (rapid traverse motion with single-
axis interpolation) functions.
If the conditions for "RTLIOF" (single-axis interpolation) are not met, the fixed point is
approached as a path.
When the fixed point is reached, the axes come to a standstill within the "Exact stop fine"
tolerance window.
G751
The intermediate position is approached with rapid traverse and active offset (tool offset,
frames, etc.), and the axes move with interpolation. The next fixed-point approach is executed
as with G75. Once the fixed point has been reached the offsets are reactivated (as with G75).
Active frames
All active frames are ignored. Traversing is performed in the machine coordinate system.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 399
Supplementary commands
14.5 Fixed-point approach (G75, G751)
Modulo axes
In the case of modulo axes, the fixed point is approached along the shortest distance.
References
For further information about "Fixed-point approach", see:
Function Manual, Extended Functions; Manual and Handwheel Travel (H1), Chapter: "Fixed-
point approach in JOG"
Fundamentals
400 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.6 Travel to fixed stop (FXS, FXST, FXSW)
Function
The "Travel to fixed stop" function can be used to establish defined forces for clamping
workpieces, such as those required for tailstocks, quills and grippers. The function can also
be used for the approach of mechanical reference points.
$FWXDOSRVLWLRQDIWHU
7UDYHOWRIL[HGVWRS
)L[HGVWRS
PRQLWRULQJZLQGRZ
3URJUDPPHG
HQGSRVLWLRQ 6WDUWSRVLWLRQ
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 implemented for axes
as well as for spindles with axis-traversing capability.
Syntax
FXS[<axis>]=…
FXST[<axis>]=…
FXSW[<axis>]=…
FXS[<axis>]=… FXST[<axis>]=…
FXS[<axis>]=… FXST[<axis>]=… FXSW[<axis>]=…
Significance
FXS: Command for activation and deactivation of the "Travel to fixed stop"
function
FXS[<axis>]=1: Activate function
FXS=[<axis>]=0: Deactivate function
FXST: Optional command for setting the clamping torque
Specified as % of the maximum drive torque
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 401
Supplementary commands
14.6 Travel to fixed stop (FXS, FXST, FXSW)
FXSW: Optional command for setting the window width for the fixed stop
monitoring
Specified in mm, inches or degrees
<axis>: Machine axis name
Machine axes (X1, Y1, Z1, etc.) are programmed
Note
The commands FXS, FXST and FXSW are modal.
The programming of FXST and FXSW is optional: If no parameter is specified, the last
programmed value or the value set in the relevant machine data applies.
CAUTION
It is not permissible to program a new position for an axis if the "Travel to fixed stop" function
has already been activated for an axis/spindle.
Spindles must be switched to position-controlled mode before the function is selected.
Fundamentals
402 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.6 Travel to fixed stop (FXS, FXST, FXSW)
CAUTION
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.
CAUTION
The window must be selected such that only a breakaway from the fixed stop causes the
fixed stop monitoring to respond.
Further information
Rise ramp
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).
Alarm suppression
The fixed stop alarm can be suppressed for applications by the part program by masking the
alarm in a machine data item and activating the new MD setting with NEW_CONF.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 403
Supplementary commands
14.6 Travel to fixed stop (FXS, FXST, FXSW)
Activating
The commands for travel to fixed stop can be called from synchronized actions or 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.
Program code
N10 IDS=1 WHENEVER (($R1=1) AND ($AA_FXS[Y]==0)) DO $R1=0 FXS[Y]=1 FXST[Y]=10
The normal part program must ensure that $R1 is set at the desired point in time.
Program code
IDS=4 WHENEVER (($R3==1) AND ($AA_FXS[Y]==1)) DO FXS[Y]=0 FA[Y]=1000 POS[Y]=0
Fundamentals
404 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.6 Travel to fixed stop (FXS, FXST, FXSW)
Supplementary conditions
• Measurement with deletion of distance-to-go
"Measure with deletion of distance-to-go" (MEAS command) and "Travel to fixed stop"
cannot be programmed at the same time in one 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
For "Travel to fixed stop" with positioning axes, the block change is performed irrespective
of the fixed stop movement.
• Link and container axes
Travel to fixed stop is also permitted for link and container axes.
The status of the assigned machine axis is maintained beyond the container rotation. This
also applies for modal torque limiting with FOCON.
References:
- Function Manual, Extended Functions; Several Control Panels on Multiple NCUs,
Distributed Systems (B3)
- Programming Manual, Job Planning; Subject: "Travel to fixed stop (FXS and FOCON/
FOCOF)"
• Travel to fixed stop is not possible:
- With gantry axes
- For concurrent positioning axes that are controlled exclusively from 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.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 405
Supplementary commands
14.7 Acceleration behavior
Function
The following part program commands are available for programming the current acceleration
mode:
• BRISK, BRISKA
The single axes or the path axes traverse with maximum acceleration until the
programmed feedrate is reached (acceleration without jerk limitation).
• SOFT, SOFTA
The single axes or the path axes traverse with constant acceleration until the programmed
feedrate is reached (acceleration with jerk limitation).
• DRIVE, DRIVEA
The single axes or the path axes traverse with maximum acceleration up to a programmed
velocity limit (MD setting!). The acceleration rate is then reduced (MD setting) until the
programmed feedrate is reached.
6HWSRLQW
3DWKYHORFLW\
%5,6. 62)7
WLPH SURWHFWLQJWKH
RSWLPL]HG PHFKDQLFDO
V\VWHP
7LPH
Fundamentals
406 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.7 Acceleration behavior
6HWSRLQW
/LPLWRI
FRQVWDQW
3DWKYHORFLW\
DFFHOHUDWLRQ
7LPH
Syntax
BRISK
BRISKA(<axis1>,<axis2>,…)
SOFT
SOFTA(<axis1>,<axis2>,…)
DRIVE
DRIVEA(<axis1>,<axis2>,…)
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 407
Supplementary commands
14.7 Acceleration behavior
Supplementary conditions
Changing acceleration mode during machining
If the acceleration mode is changed in a part program during machining (BRISK ↔ SOFT),
then there is a block change with exact stop at the end of the block during the transition even
with continuous-path mode.
Examples
Example 1: SOFT and BRISKA
Program code
N10 G1 X… Y… F900 SOFT
N20 BRISKA(AX5,AX6)
...
Program code
N05 DRIVE
N10 G1 X… Y… F1000
N20 DRIVEA (AX4, AX6)
...
References
Function Manual, Basic Functions; Acceleration (B2)
Fundamentals
408 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.7 Acceleration behavior
Function
In the case of axis couplings (tangential correction, coupled motion, master value coupling,
electronic gear; → see Programming Manual, Job Planning) following axes/spindles are
traversed dependent on one or more master axes/spindles.
The dynamics limits of the following axes/spindles can be manipulated using the VELOLIMA,
ACCLIMA, and JERKLIMA functions from the part program or from synchronized actions,
even if the axis coupling is already active.
Note
The JERKLIMA function is not available for all types of coupling.
References:
• Function Manual, Special Functions; Axis Couplings (M3)
• Function Manual, Extended Functions; Synchronous Spindle (S3)
Note
Availability for SINUMERIK 828D
The VELOLIMA, ACCLIMA and JERKLIMA functions can only be used with
SINUMERIK 828D in conjunction with the "coupled motion" function!
Syntax
VELOLIMA(<axis>)=<value>
ACCLIMA(<axis>)=<value>
JERKLIMA(<axis>)=<value>
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 409
Supplementary commands
14.7 Acceleration behavior
Examples
Example 1: Correction of the dynamics limits for a following axis (AX4)
Fundamentals
410 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.7 Acceleration behavior
Function
Using the "Technology" G group, the appropriate dynamic response can be activated for five
varying technological machining steps.
Dynamic values and G commands can be configured and are, therefore, dependent on
machine data settings ( → machine manufacturer).
References:
Function Manual, Basic Functions; Continuous-Path Mode, Exact Stop, Look Ahead (B1)
Syntax
Activate dynamic values:
DYNNORM
DYNPOS
DYNROUGH
DYNSEMIFIN
DYNFINISH
Note
The dynamic values are already active in the block in which the associated G command is
programmed. Machining is not stopped.
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 411
Supplementary commands
14.7 Acceleration behavior
Examples
Example 1: Activate dynamic values
Fundamentals
412 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.8 Traversing with feedforward control, FFWON, FFWOF
Function
The feedforward control reduces the velocity-dependent overtravel when contouring towards
zero. Traversing with feedforward control permits higher path accuracy and thus improved
machining results.
Syntax
FFWON
FFWOF
Significance
Note
The type of feedforward control and which path axes are to be traversed with feedforward
control is specified via machine data.
Default: Velocity-dependent feedforward control
Option: Acceleration-dependent feedforward control
Example
Program code
N10 FFWON
N20 G1 X… Y… F900 SOFT
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 413
Supplementary commands
14.9 Contour accuracy, CPRECON, CPRECOF
Function
In machining operations without feedforward control (FFWON), errors may occur on curved
contours as a result of velocity-related differences between setpoint and actual positions.
The programmable contour accuracy function CPRECON makes it possible to store a
maximum permissible contour violation in the NC program which must never be overshot.
The magnitude of the contour violation is specified with setting data $SC_CONTPREC.
The Look Ahead function allows the entire path to be traversed with the programmed contour
accuracy.
Syntax
CPRECON
CPRECOF
Significance
Note
A minimum velocity can be defined via the setting data item $SC_MINFEED, which is not
undershot, and the same value can also be written directly out from the part program via the
system variable $SC_CONTPREC.
On the basis of the value of the contour violation $SC_CONTPREC and the servo gain factor
(velocity/following error ratio) of the geometry axes concerned, the control calculates the
maximum path velocity at which the contour violation produced by the overtravel does not
exceed the minimum value stored in the setting data.
Example
Program code Comment
N10 X0 Y0 G0
N20 CPRECON ; Activate contour accuracy
N30 F10000 G1 G64 X100 ; Machining at 10 m/min in continuous-path mode
N40 G3 Y20 J10 ; Automatic feed limitation in circular block
N50 X0 ; Feedrate without limitation 10 m/min
Fundamentals
414 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.10 Dwell time (G4)
Function
G4 can be used to program a "dwell time" between two NC blocks during which workpiece
machining is interrupted.
Note
G4 interrupts continuous-path mode.
Application
For example, for relief cutting.
Syntax
G4 F…/S<n>=...
Note
G4 must be programmed in a separate NC block.
Significance
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 415
Supplementary commands
14.10 Dwell time (G4)
Note
Addresses F and S are only used for time parameters in the G4 block. The feedrate F...
and the spindle speed S... programmed upstream of the G4 block are retained.
Example
Program code Comment
N10 G1 F200 Z-5 S300 M3 ; Feedrate F, spindle speed S
N20 G4 F3 ; Dwell time: 3 s
N30 X40 Y10
N40 G4 S30 ; Dwelling 30 revolutions of the spindle (at S=300 rpm
and 100% speed override, corresponds to t = 0.1
min).
N50 X... ; The feedrate and spindle speed programmed in N10
continue to apply.
Fundamentals
416 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Supplementary commands
14.11 Internal preprocessing stop
Function
The control generates an internal preprocessing stop on access to machine status data
($A...). The following block is not executed until all preprocessed and saved blocks have been
executed in full. The previous block is stopped in exact stop (as G9).
Example
Program code Comments
...
N40 POSA[X]=100
N50 IF $AA_IM[X]==R100 GOTOF MARKE1 ; Access to machine status data ($A...),
the control generates an internal
preprocessing stop.
N60 G0 Y100
N70 WAITP(X)
N80 LABEL1:
...
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 417
Supplementary commands
14.11 Internal preprocessing stop
Fundamentals
418 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information 15
15.1 Axes
Axis types
A distinction is made between the following types of axes 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
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 419
Other information
15.1 Axes
*HRPHWU\D[HV 3RVLWLRQLQJD[HV
0DFKLQHD[HV
*HRPHWU\D[HV 6SHFLDOD[HV
&KDQQHOD[HV
6\QFKU
D[HV
.LQHPDWLFWUDQVIRUPDWLRQ
0DFKLQHD[HV
Fundamentals
420 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.1 Axes
Axis identifier
For turning machines:
Geometry axes X and Z are used, and sometimes Y.
5HYROYHUVZLYHO
D[LV
7RROV
6SHFLDOVSLQGOH
;
=
6SHFLDOD[LV
7DLO
*HRPHWU\ VWRFN
0DLQVSLQGOH D[HV
PDVWHUVSLQGOH
&D[LV
Further information
A maximum of three geometry axes are used for programming frames and the workpiece
geometry (contour).
The identifiers for geometry and channel axes may be the same, provided a reference is
possible.
Geometry axis and channel axis names can be the same in any channel so that the same
programs can be executed.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 421
Other information
15.1 Axes
Axis identifier
On a turning machine with circular magazine, for example:
• Revolver position U
• Tailstock V
Programming example
Spindle identifier
S or S0
Fundamentals
422 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.1 Axes
Axis identifier
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, …, AX<n>
Axis identifier
X, Y, Z, A, B, C, U, V
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 423
Other information
15.1 Axes
Types
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.
Note
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 programmed with POS/POSA are removed from the path axis grouping for the
duration of this block.
For more information about POS, POSA, and POSP, see "Traversing positioning axes (POS,
POSA, POSP, FA, WAITP, WAITMC) [Page 118]".
Fundamentals
424 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.1 Axes
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 425
Other information
15.1 Axes
'ULYH 'ULYH
1&8 V\VWHP 1&8 V\VWHP
&KDQQHO &KDQQHO %
$
&KDQQHO
$ %
$
/LQNPRGXOH+: /LQNPRGXOH+:
/LQNFRPPXQLFDWLRQ
The axis container concept is used for the dynamic modification of the assignment to an NCU.
Axis exchange with GET and RELEASE from the part program is not available for link axes.
Further information
Prerequisites
• The participating NCUs, NCU1 and NCU2, must be connected by means of high-speed
communication via the link module.
References:
Configuration Manual, NCU
• The axis must be configured appropriately by machine data.
• The "Link axis" option must be installed.
Description
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.
Fundamentals
426 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.1 Axes
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.
References:
For more detailed information about link axes see:
Function Manual, Advanced Functions; Multiple Operator Panels and NCUs (B3)
Axis container
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
(MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB) of an individual NCU are fixed.
References:
The axis container function is described in:
Function Manual, Advanced Functions; Multiple Operator Panels and NCUs (B3)
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 427
Other information
15.1 Axes
1&8OLQNPRGXOHV
'ULYH
'ULYH V\VWHP
V\VWHP
%
$
%
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 master value, simulated master value)
• Coupled motion
• Tangential correction
• Electronic gear (ELG)
• Synchronous spindle
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). Any violation of this rule triggers an alarm.
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.
Fundamentals
428 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.1 Axes
Further information
Conditions
• The dependent NCUs, i.e., NCU1 to NCU<n> (n equals max. of 8), must be
interconnected via the link module for high-speed communication.
References:
Configuration Manual, NCU
• The axis must be configured appropriately via 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.
Restrictions
• A master axis which is a leading link axis cannot be a link axis, i.e. it cannot be traversed
by NCUs other than its home NCU.
• A master axis which is a 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.
System variables
The following system variables can be used in conjunction with the channel axis identifier of
the leading link axis:
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 429
Other information
15.2 From travel command to machine movement
$[LVPRYHPHQWSURJUDPPHGLQWKHZRUNSLHFHFRRUGLQDWHV\VWHP
'HVFULSWLRQRIWKHZRUNSLHFH
JHRPHWU\YLDJHRPHWU\D[HV
HJ;<=
)UDPHFDOFXODWLRQ
5HPDLQLQJWUDYHUVLQJ
2IIVHW75$16 'HVFULSWLRQRIWRRO
5RWDWLRQ527 LQVWUXFWLRQV
RULHQWDWLRQE\PHDQVRI
6FDOLQJ6&$/( RULHQWDWLRQYHFWRU(XOHUDQJOH YLDVRFDOOHGVSHFLDOD[HV
HJ&89
&RQWRXULQ&DUWHVLDQ
FRRUGLQDWHV\VWHP
RIWKHFKDQQHO%&6 )UDPHFDOFXODWLRQ
7RROUDGLXVFRPSHQVDWLRQ 2IIVHW
0RYHPHQWRIWRRO]HUR 6FDOLQJ
LQ%&6
5RWDU\D[HVIRU
7RROOHQJWKFRPSHQVDWLRQ D[LVWUDQVIRUPDWLRQ
.LQHPDWLFWUDQVIRUPDWLRQLIDFWLYH
0RYHPHQWRIPDFKLQHD[HVRIFKDQQHODEF
Fundamentals
430 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.3 Path calculation
;
7
YDOXH :.
$EVROXWH
SRVLWLRQ
SRLQW
6HW
=
0 :
6HW
SRLQW
=2 YDOXH :.
$EVROXWHSRVLWLRQ
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) + (WO P2 - WO P1) + (TO
P2 - TO P1).
• With incremental dimensioning:
Distance = incremental dimension + (WO P2 - WO P1) + (TO P2 - TO P1).
5HIHUHQFH
:23 GLPHQVLRQ 7RRORIIVHW3 'LVWDQFH
VHWSRLQW
IRU3
0 : 3 0RWLRQ 3
$FWXDOYDOXH
$FWXDOYDOXH
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 431
Other information
15.4 Addresses
15.4 Addresses
Fundamentals
432 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.4 Addresses
Note
Settable addresses
Settable addresses must be unique within the control, i.e. the same address 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
• Feedrates
• Corner rounding criteria
• Measurement
• Axis, spindle behavior
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 433
Other information
15.4 Addresses
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:
Fundamentals
434 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.4 Addresses
The extended address notation is only permitted for the following direct addresses:
Address Meaning
X, Y, Z, … Axis addresses
I, J, K Interpolation parameters
S Spindle speed
SPOS, SPOSA Spindle position
M Special functions
H Auxiliary functions
T Tool number
F Feedrate
Examples:
The numeric extension can be replaced by a variable for addresses M, H, S and for SPOS
and SPOSA. The variable identifier is enclosed in square brackets.
Examples:
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 435
Other information
15.5 Identifiers
15.5 Identifiers
The commands according to DIN 66025 are supplemented with so-called identifiers by the
NC high-level language.
Identifiers can stand for:
• System variables
• User-defined variables
• Subroutines
• Keywords
• Jump markers
• Macros
Note
Identifiers must be unique. It is not permissible to use the same identifier for different objects.
Note
Reserved keywords must not be used as identifiers.
Fundamentals
436 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.5 Identifiers
Note
Users should select identifiers that start with "U" (User), as these identifiers are not used by
the system, compile cycles or SIEMENS cycles.
Variable identifiers
In variables used by the system, the first letter is replaced by the "$" character.
Examples:
Note
The "$" character may not be used for user-defined variables.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 437
Other information
15.6 Constants
15.6 Constants
Integer constants
An integer constant is an integer value with or without sign, e.g. a value assignment to an
address.
Examples:
Note
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.
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:
Note
The maximum number of characters is limited by the value range of the integer data type.
Fundamentals
438 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Other information
15.6 Constants
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:
Note
The maximum number of characters is limited by the value range of the integer data type.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 439
Other information
15.6 Constants
Fundamentals
440 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables 16
16.1 Operations
Legend:
1)
Effectiveness of the operation:
m modal
s non-modal
2)
Reference to the document containing the detailed description of the operation:
PGsl Programming Manual, Fundamentals
PGAsl Programming Manual, Job Planning
BNMsl Programming Manual Measuring Cycles
BHDsl Operating Manual, Turning
BHFsl Operating Manual, Milling
FB1 ( ) Function Manual, Basic Functions (with the alphanumeric abbreviation of the corresponding
function description in brackets)
FB2 ( ) Function Manual, Extended Functions (with the alphanumeric abbreviation of the corresponding
function description in brackets)
FB3 ( ) Function Manual, Special Functions (with the alphanumeric abbreviation of the corresponding
function description in brackets)
FBSIsl Function Manual, Safety Integrated
FBSY Function Manual, Synchronized Actions
FBW Function Manual, Tool Management
3) Default setting at beginning of program (factory settings of the control, if nothing else programmed).
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 441
Tables
16.1 Operations
Fundamentals
442 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 443
Tables
16.1 Operations
Fundamentals
444 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 445
Tables
16.1 Operations
Fundamentals
446 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 447
Tables
16.1 Operations
Fundamentals
448 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 449
Tables
16.1 Operations
Fundamentals
450 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 451
Tables
16.1 Operations
Fundamentals
452 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 453
Tables
16.1 Operations
Fundamentals
454 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 455
Tables
16.1 Operations
Fundamentals
456 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 457
Tables
16.1 Operations
Fundamentals
458 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 459
Tables
16.1 Operations
Fundamentals
460 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 461
Tables
16.1 Operations
Fundamentals
462 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 463
Tables
16.1 Operations
Fundamentals
464 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 465
Tables
16.1 Operations
Fundamentals
466 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 467
Tables
16.1 Operations
Fundamentals
468 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 469
Tables
16.1 Operations
Fundamentals
470 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 471
Tables
16.1 Operations
Fundamentals
472 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 473
Tables
16.1 Operations
Fundamentals
474 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 475
Tables
16.1 Operations
Fundamentals
476 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 477
Tables
16.1 Operations
Fundamentals
478 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 479
Tables
16.1 Operations
SETMS Reset to the master spindle defined in Spindle speed (S), direction of spindle rotation (M3, M4,
machine data M5) [Page 89]
SETMS(n) Set spindle n as master spindle PGsl
Spindle speed (S), direction of spindle rotation (M3, M4,
M5) [Page 89]
SETMTH Set master toolholder number FBW
SETPIECE Set piece number for all tools assigned FBW
to the spindle
SETTA Activate tool from wear group FBW
SETTCOR Modification of tool components taking FB1(W1)
all general conditions into account
SETTIA Deactivate tool from wear group FBW
SF Starting point offset for thread cutting m PGsl
Thread cutting with constant lead (G33, SF) [Page 248]
SIN Sine (trigon. function) PGAsl
SIRELAY Activate the safety functions FBSIsl
parameterized with SIRELIN,
SIRELOUT, and SIRELTIME
SIRELIN Initialize input variables of function FBSIsl
block
SIRELOUT Initialize output variables of function FBSIsl
block
SIRELTIME Initialize timers of function block FBSIsl
SLOT1 Technological cycle: PGAsl
longitudinal groove
Fundamentals
480 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 481
Tables
16.1 Operations
Fundamentals
482 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 483
Tables
16.1 Operations
Fundamentals
484 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 485
Tables
16.1 Operations
Fundamentals
486 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.1 Operations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 487
Tables
16.1 Operations
Fundamentals
488 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 489
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
490 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 491
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
492 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 493
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
494 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 495
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
496 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 497
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
498 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 499
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
500 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 501
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
502 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 503
Tables
16.2 Operations: Availability for SINUMERIK 828D
- - - - - -
PM ● ● ● ● ● ●
PO - - - - - -
POCKET3 ● ● ● ● ● ●
POCKET4 ● ● ● ● ● ●
POLF ● ● ● ● ● ●
POLFA ● ● ● ● ● ●
POLFMASK ● ● ● ● ● ●
POLFMLIN ● ● ● ● ● ●
POLY - - - - - -
POLYPATH - - - - - -
PON - - - - - -
PONS - - - - - -
POS ● ● ● ● ● ●
POSA ● ● ● ● ● ●
POSM ● ● ● ● ● ●
POSP ● ● ● ● ● ●
POSRANGE ● ● ● ● ● ●
POT ● ● ● ● ● ●
PR ● ● ● ● ● ●
PREPRO ● ● ● ● ● ●
PRESETON ● ● ● ● ● ●
PRIO ● ● ● ● ● ●
PROC ● ● ● ● ● ●
Fundamentals
504 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 505
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
506 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 507
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
508 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.2 Operations: Availability for SINUMERIK 828D
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 509
Tables
16.2 Operations: Availability for SINUMERIK 828D
● Standard
○ Option
- Not available
Fundamentals
510 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.3 Addresses
16.3 Addresses
List of addresses
The list of addresses consists of:
• Address letters
• Fixed addresses
• Fixed addresses with axis expansion
• Settable addresses
Address letters
The following address letters are available:
Numeric
Letter Meaning
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 Feedrate x
dwell time in seconds
G G function
H H function x
I Settable address identifier x
J Settable address identifier x
K Settable address identifier x
L Subroutines, subroutine call
M M function x
N Subblock number
O Unassigned
P Number of program runs
Q Settable address identifier x
R Variable identifier (arithmetic parameter) / settable address identifier without numerical x
extension
S Spindle value x
dwell time in spindle revolutions x
T Tool number x
V Settable address identifier x
V Settable address identifier x
W Settable address identifier x
X Settable address identifier x
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 511
Tables
16.3 Addresses
Numeric
Letter Meaning
extension
Y Settable address identifier x
Z Settable address identifier x
% Start character and separator for file transfer
: Main block number
/ Skip identifier
CIC,
Modal/ DC, CAC,
Axis G70/ G700/ G90/
Address type non- IC AC ACN, CDC, Qu Data type
identifier G71 G710 G91
modal ACP CACN,
CACP
L Subroutine s Integer without
no. sign
P Number of s Integer without
subroutine sign
passes
N Block number s Integer without
sign
G G function See Integer without
list of sign
G
func-
tions
F Feed, dwell m, s x x Real without
time sign
OVR Override m Real without
sign
S Spindle, dwell m, s x Real without
time sign
SPOS Spindle m x x x Real
position
SPOSA Spindle m x x x Real
position
beyond block
limits
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
Fundamentals
512 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.3 Addresses
CIC,
Modal DC, CAC,
Axis G70/ G700/ G90/
Address type /non- IC AC ACN, CDC, Qu Data type
identifier G71 G710 G91
modal ACP CACN,
CACP
AX: Axis Variable axis *) x x x x x x Real
identifier
IP: Variable s x x x x x Real
Inter- interpolation
polation parameter
parameter
POS: Positioning m x x x x x x x Real
Positioning axis
axis
POSA: Positioning m x x x x x x x Real
Positioning axis across
axis above block
end of boundaries
block
POSP: Positioning m x x x x x x Real: End
Positioning axis in parts position / Real:
axis in parts (oscillation) Partial length
Integer: Option
PO: Polynomial s x x Real without
Polynomial coefficient sign
FA: Feed Axial feedrate m x x Real without
axial sign
FL: Feed Axial feed m x Real without
limit limit sign
OVRA: Axial override m x Real without
Override sign
ACC: Axial Axial m Real without
accelera- acceleration sign
tion
FMA: Synchronous m x Real without
Feedrate feedrate axial sign
multiple
axial
STW: Sparking out m Real without
Sparking- time axial sign
out time
axial
SRA: Retraction m x x Real without
Sparking- path on sign
out retract external input
axial
OS: Oscillation m Integer without
Oscillating ON/OFF sign
ON/OFF
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 513
Tables
16.3 Addresses
CIC,
Modal DC, CAC,
Axis G70/ G700/ G90/
Address type /non- IC AC ACN, CDC, Qu Data type
identifier G71 G710 G91
modal ACP CACN,
CACP
OST1: Stopping time m Real
Oscillating at left reversal
time 1 point
(oscillation)
OST2: Stopping time m Real
Oscillating at right
time 2 reversal point
(oscillation)
OSP1: Left reversal m x x x x x x Real
Oscillating point
position 1 (oscillation)
OSP2: Right reversal m x x x x x x Real
Oscillating point
position 2 (oscillation)
OSB: Oscillation m x x x x x x Real
Oscillating start position
start
OSE: Oscillation m x x x x x x Real
Oscillating end position
end
position
OSNSC: Number of m Integer without
Oscillating: spark-out sign
number cycles
spark-out (oscillation)
cycles
OSCTRL: Oscillation m Integer without
Oscillating control sign: set
control options options, integer
without sign:
reset options
OSCILL: Axis assign- m Axis: 1 - 3
Oscillating ment for infeed axes
oscillation
activate
oscillation
FDA: Axis feedrate s x Real without
Feedrate for handwheel sign
DRF axial override
FGREF Reference m x x Real without
radius sign
POLF LIFTFAST m x x Real without
position sign
FXS: Travel to fixed m Integer without
Fixed stop stop ON sign
Fundamentals
514 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.3 Addresses
CIC,
Modal DC, CAC,
Axis G70/ G700/ G90/
Address type /non- IC AC ACN, CDC, Qu Data type
identifier G71 G710 G91
modal ACP CACN,
CACP
FXST: Torque limit m Real
Fixed stop for travel to
torque fixed stop
FXSW: Monitoring m Real
Fixed stop window for
window travel 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.
Settable addresses
CIC,
Modal/ DC, CAC, Max.
Address G70/ G700/ G90/
Axis identifier non- IC AC ACN, CDC, Qu num- Data type
type G71 G710 G91
modal ACP CACN, ber
CACP
Axis values and end points
X, Y, Z, A, B, Axis *) x x x x x x 8 Real
C
AP: Angle Polar angle m/s* x x x 1 Real
polar
RP: Polar Polar radius m/s* x x x x x 1 Real without
radius sign
Tool orientation
A2, B2, C2 1) Euler angle s 3 Real
or RPY
angle
A3, B3, C3 Direction s 3 Real
vector
component
A4, B4, C4 for Normal s 3 Real
start of block vector
component
A5, B5, C5 for Normal s 3 Real
end of block vector
component
A6, B6, C6 Direction s 3 Real
standardized vector
vector component
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 515
Tables
16.3 Addresses
CIC,
Modal/ DC, CAC, Max.
Address G70/ G700/ G90/
Axis identifier non- IC AC ACN, CDC, Qu num- Data type
type G71 G710 G91
modal ACP CACN, ber
CACP
A7, B7, C7 Inter- s 3 Real
standardized mediate
vector orientation
component
LEAD: Lead angle m 1 Real
Lead angle
THETA: Third Angle of s x x x 1 Real
degree of rotation,
freedom tool rotation
orientation around the
tool
direction
TILT: Tilt angle m 1 Real
Tilt angle
ORIS: Orientation m 1 Real
Orientation change
smoothing (referring to
factor the path)
Interpolation parameters
I, J, K** Inter- s x x x** x** 3 Real
polation
I1, J1, K1 parameter s x x x x x Real
Inter-
mediate
point
coordinate
RPL: Rotation in s 1 Real
Rotation the plane
plane
CR: Circle s x x 1 Real without
Circle radius radius sign
AR: Opening 1 Real without
Angle circular angle sign
TURN Number of s 1 Integer
turns for without sign
helix
PL: Parameter s 1 Real without
Parameter interval sign
interval length length
PW: Point Point s 1 Real without
weight sign
SD: Spline Spline s 1 Integer
degree degree without sign
TU: Turn Turn m Int without
sign
Fundamentals
516 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.3 Addresses
CIC,
Modal/ DC, CAC, Max.
Address G70/ G700/ G90/
Axis identifier non- IC AC ACN, CDC, Qu num- Data type
type G71 G710 G91
modal ACP CACN, ber
CACP
STAT: State State m Integer
without sign
SF: Starting m 1 Real
Spindle offset point offset
for thread
cutting
DISR: Distance for s x x 1 Real without
Distance for reposition- sign
repositioning ing
DISPR: Repos path s x x 1 Real without
Distance path difference sign
for reposition-
ing
ALF: Fast m 1 Integer
Angle lift fast retraction without sign
angle
DILF: Fast m x x 1 Real
Distance lift retraction
fast length
FP Fixed point: s 1 Integer
Number of without sign
fixed point
to approach
RNDM: Modal m x x 1 Real without
Round modal rounding sign
RND: Non-modal s x x 1 Real without
Round rounding sign
CHF: Chamfer s x x 1 Real without
Chamfer non-modal sign
CHR: Chamfer in s x x 1 Real without
Chamfer initial sign
direction of
motion
ANG: Angle Contour s 1 Real
angle
ISD: Insertion m x x 1 Real
Insertion depth
depth
DISC: Transition m x x 1 Real without
Distance circle sign
overshoot
tool offset
OFFN Offset m x x 1 Real
contour -
normal
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 517
Tables
16.3 Addresses
CIC,
Modal/ DC, CAC, Max.
Address G70/ G700/ G90/
Axis identifier non- IC AC ACN, CDC, Qu num- Data type
type G71 G710 G91
modal ACP CACN, ber
CACP
DITS Thread run- m x x 1 Real
in path
DITE Thread run- m x x 1 Real
out path
Nibbling/punching
SPN: Stroke/ Number of s 1 INT
punch path
number 1) sections
per block
SPP: Length of a m 1 Real
Stroke/punch path
path 1) section
Grinding
ST: Sparking- s 1 Real without
Sparking-out out time sign
time
SR: Return path s x x 1 Real without
Sparking-out sign
retract path
Approximate positioning criteria
ADIS Rounding m x x 1 Real without
clearance sign
ADISPOS Rounding m x x 1 Real without
clearance sign
for rapid
traverse
Measurement
MEAS: Measure s 1 Integer
Measure with touch- without sign
trigger
probe
MEAW: Measure s 1 Integer
Measure with- without without sign
out deleting deleting
distance-to- distance-to-
go go
Axis, spindle behavior
LIMS: Spindle m 1 Real without
Limit spindle speed sign
speed limitation
Feedrates
FAD Speed of s x 1 Real without
the slow sign
infeed
motion
Fundamentals
518 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.3 Addresses
CIC,
Modal/ DC, CAC, Max.
Address G70/ G700/ G90/
Axis identifier non- IC AC ACN, CDC, Qu num- Data type
type G71 G710 G91
modal ACP CACN, ber
CACP
FD: Path feed s x 1 Real without
Feed DRF for hand- sign
wheel
override
FRC Feed for s x Real without
radius and sign
chamfer
FRCM Feed for m x Real without
radius and sign
chamfer,
modal
OEM addresses
OMA1: OEM OEM m x x x 1 Real
address 1 1) address 1
OMA2: OEM OEM m x x x 1 Real
address 2 1) address 2
OMA3: OEM OEM m x x x 1 Real
address 3 1) address 3
OMA4: OEM OEM m x x x 1 Real
address 4 1) address 4
OMA5: OEM OEM m x x x 1 Real
address 5 1) 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 lead).
1
) The keyword is not valid for NCU571.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 519
Tables
16.4 G function groups
Key:
1) Internal number (e.g. for PLC interface)
2) Configurability of the G function as a delete setting for the function group on power up,
reset or end of part program with MD20150 $MC_GCODE_RESET_VALUES:
+ Configurable
- Not configurable
3) Effectiveness of the G function:
m modal
n non-modal
4) Default setting
If no function from the group is programmed with modal G functions, the default setting,
which can be changed in the machine data
(MD20150 $MN_$MC_GCODE_RESET_VALUES), applies:
SAG Default setting Siemens AG
MM Default setting Machine Manufacturer (see machine manufacturer's
specifications)
5) The G function is not valid for NCU571.
Fundamentals
520 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 521
Tables
16.4 G function groups
Group 4: FIFO
G function No. 1) Significance MD20150 2) W 3) STD 4)
SAG MM
STARTFIFO 1. Start FIFO + m x
Execute and simultaneously fill preprocessing
memory
STOPFIFO 2. STOP FIFO, + m
stop machining; fill preprocessing memory until
STARTFIFO is detected, FIFO is full or end of
program
FIFOCTRL 3. Activation of automatic preprocessing memory control + m
Fundamentals
522 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 523
Tables
16.4 G function groups
Fundamentals
524 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 525
Tables
16.4 G function groups
Fundamentals
526 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 527
Tables
16.4 G function groups
Fundamentals
528 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
SON 5) 2. Nibbling ON + m
PON 5) 3. Punching ON + m
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 529
Tables
16.4 G function groups
Fundamentals
530 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 531
Tables
16.4 G function groups
Group 48: Approach and retraction response with tool radius compensation
G function No. 1) Significance MD20150 2) W 3) STD 4)
SAG MM
G460 1. Collision detection for approach and retraction block + m x
ON
G461 2. Extend border block with arc if no intersection in TRC + m
block
G462 3. Extend border block with straight line if no intersection + m
in TRC block
Fundamentals
532 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 533
Tables
16.4 G function groups
Fundamentals
534 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.4 G function groups
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 535
Tables
16.5 Predefined subroutine calls
*) 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.
2. Axis groupings
Keyword / 1st-8th Explanation
subroutine parameter
identifier
FGROUP Channel axis Variable F value reference: defines the axes to which the path feed refers.
identifiers Maximum axis number: 8
The default setting for the F value reference is activated with FGROUP ( ) without
parameters.
1st-8th 2nd-9th Explanation
parameter parameter
SPLINEPATH INT: Spline AXIS: Definition of the spline group
group (must be Geometry or Maximum number of axes: 8
1) special axis
identifier
BRISKA AXIS Switch on brisk axis acceleration for the programmed axes
SOFTA AXIS Switch on jerk limited axis acceleration for programmed axes
JERKA AXIS The acceleration behavior set in machine data
$MA_AX_JERK_ENABLE is active for the programmed axes.
Fundamentals
536 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.5 Predefined subroutine calls
3. Coupled motion
Keyword / 1st parameter 2nd 3rd 4th 5th 6th Explanation
subroutine param. param. param. param. param.
identifier
TANG AXIS: Axis AXIS: AXIS: REAL: CHAR: CHAR Preparatory statement for the
name Leading Leading Coupling Option: Optimizat definition of a tangential
following axis axis 1 axis 2 factor "B": ion: follow-up: The tangent for the
follow-up "S" follow-up is determined by
in basic default the two master axes
coordi- "P" specified. The coupling factor
nate autom. specifies the relationship
system with between a change in the
"W": rounding angle of tangent and the
follow-up travel, following axis. It is usually 1.
in work- angle Optimization: See PGA
piece tolerance
coord.
system
TANGON AXIS: REAL: REAL: REAL: Tangential follow-up mode
Axis name Offset Round- Angle ON:
following axis Angle ing toler- par. 3, 4 with TANG Par. 6 =
travel ance "P"
TANGOF AXIS: Tangential follow-up mode
Axis name OFF
following axis
TLIFT AXIS: REAL: REAL: Tangential lift: tangential
Following axis Lift-off Factor follow-up mode, stop at
path contour end
rotary axis lift-off possible
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
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 537
Tables
16.5 Predefined subroutine calls
6. Revolutional feedrate
Keyword / 1st parameter 2nd parameter Explanation
subroutine
identifier
FPRAON AXIS: Axis, for which AXIS: Axis/spindle, from Feedrate per revolution axial ON: Axial
revolutional feedrate is which revolutional feedrate revolutional feedrate ON.
activated is derived.
If no axis has been
programmed, the
revolutional feedrate is
derived from the master
spindle.
FPRAOF AXIS: Axis for which Feedrate per revolution axial OFF: Axial
revolutional feedrate is revolutional 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, Feedrate per revolution: Selection of a rotary
from which revolutional axis or spindle from which the revolutional
feedrate is derived. feedrate of the path is derived if G95 is
If no axis has been programmed.
programmed, the If no axis/spindle has been programmed, the
revolutional feedrate is revolutional feedrate is derived from the master
derived from the master spindle.
spindle. The setting made with FPR is modal.
7. Transformations
Keyword / 1st parameter 2nd parameter Explanation
subroutine
identifier
TRACYL REAL: Working INT: Number Cylinder: Peripheral surface transformation
diameter of the trans- Several transformations can be set per channel. The transformation
formation number specifies which transformation is to be activated. If the
second parameter is omitted, the transformation group defined in the
MD is activated.
TRANSMIT INT: Number of Transmit: Polar transformation
the trans-for- Several transformations can be set per channel. The transformation
mation 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: Number Transformation inclined axis:
of the trans- Several transformations can be set per channel. The transformation
formation number specifies which transformation is to be activated. If the
second parameter is omitted, the transformation group defined in the
MD is activated.
If no angle programmed:
TRAANG ( ,2) or TRAANG, the last angle applies modally.
TRAORI INT: Number of Transformation oriented: 4, 5-axis transformation
the trans- Several transformations can be set per channel. The transformation
formation number specifies which transformation is to be activated.
Fundamentals
538 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.5 Predefined subroutine calls
TRACON INT: Number of REAL: Further Transformation concentrated: Cascaded transformation; the
the trans- parameters, meaning of the parameters depends on the type of cascading.
formation 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.
8. Spindles
Keyword / 1st parameter 2nd parameter Explanation
subroutine and others
identifier
SPCON INT: Spindle INT: Spindle Spindle position control ON: Switch to position-controlled spindle
number number operation.
SPCOF INT: Spindle INT: Spindle Spindle position control OFF: Switch to speed-controlled spindle
number number operation.
SETMS INT: Spindle Set master spindle: Declaration of spindle as master spindle for
number current channel.
With SETMS( ), the machine-data default applies automatically
without any need for parameterization.
9. Grinding
Keyword / 1st parameter Explanation
subroutine
identifier
GWPSON INT: Spindle Grinding wheel peripheral speed ON: Constant grinding wheel peripheral speed ON.
number If the spindle number is not programmed, then grinding wheel peripheral speed is
selected for the spindle of the active tool.
GWPSOF INT: Spindle Grinding wheel peripheral speed OFF. Constant grinding wheel peripheral speed OFF.
number If the spindle number is not programmed, grinding wheel peripheral speed is
deselected for the spindle of the active tool.
TMON INT: Spindle Tool monitoring ON:
number If no T number is programmed, monitoring is activated for the active tool.
TMOF INT: T number Tool monitoring OFF:
If no T number is programmed, monitoring is deactivated for the active tool.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 539
Tables
16.5 Predefined subroutine calls
Fundamentals
540 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.5 Predefined subroutine calls
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 541
Tables
16.5 Predefined subroutine calls
NPROT INT: Number of INT: Option REAL: Offset of REAL: Offset of REAL: Offset of Machine-
the protection 0: Protection protection zone protection zone protection zone specific
zone zone OFF in 1st geometry in 2nd geometry in 3rd geometry protection
axis axis axis zone ON/
1: Preactivate
OFF
protection zone
2: Protection
zone ON
3: Preactivate
protection zone
with conditional
stop, only with
protection
zones active
EXECUTE VAR INT: Error EXECUTE: Activate program execution. This switches back to normal program
status execution from reference point editing mode or after setting up a protection zone.
14. Interrupts
Keyword / 1st parameter Explanation
subroutine
identifier
ENABLE INT: Number of Activate interrupt: Activates the interrupt routine assigned to the hardware input with
the interrupt the specified number. An interrupt is enabled after the SETINT statement.
input
DISABLE INT: Number of Deactivate interrupt: Deactivates the interrupt routine assigned to the hardware input
the interrupt with the specified number. Fast retraction is not executed. The assignment between
input 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
the interrupt interrupt input. The interrupt routine is deactivated and no reaction occurs when the
input interrupt is generated.
Fundamentals
542 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.5 Predefined subroutine calls
17. Communication
Keyword / 1st 2nd parameter Explanation
subroutine parameter
identifier
MMC STRING: CHAR: MMC command: Command to MMC command
Command Acknowledgement mode** interpreter for the configuration of windows via NC
"N": Without acknowledgment program
"S": Synchronous acknowledgment Reference:
"A": Asynchronous acknowledgment Commissioning Manual Base Software and HMI sl
** Acknowledgement mode:
Commands are acknowledged on request from the executing component (channel, NC, etc.).
Without acknowledgement: Program execution is continued when the command has been
transmitted. The sender is not informed if the command cannot be executed successfully.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 543
Tables
16.5 Predefined subroutine calls
The SPI function can also be used to program a spindle instead of an axis: GET(SPI(1))
#) The keyword is not valid for NCU571.
** Acknowledgement mode:
Commands are acknowledged on request from the executing component (channel, NC, etc.).
Without acknowledgement: 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 acknowledgement: The program execution is paused until the receiving
component acknowledges the command. If the acknowledgement is positive, the next
command is executed.
Fundamentals
544 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.5 Predefined subroutine calls
20. Messages
Keyword / 1st 2nd Explanation
subroutine parameter parameter
identifier
MSG STRING: INT: Message modal: The message is active until the next message is queued.
STRING: Continuous- If the 2nd parameter = 1 is programmed, e.g. MSG(Text, 1), the message will
signal path-mode even be output as an executable block in continuous-path mode.
call
parameter
22. Alarms
Keyword / 1st 2nd Explanation
subroutine parameter parameter
identifier
SETAL INT: Alarm STRING: Set alarm: Sets alarm. A character string with up to four parameters can be
number Character specified in addition to the alarm number.
(cycle string The following predefined parameters are available:
alarms) %1 = channel number
%2 = block number, label
%3 = text index for cycle alarms
%4 = additional alarm parameters
23. Compensation
Keyword / 1st parameter- Explanation
subroutine 4th parameter
identifier
QECLRNON AXIS: Axis number Quadrant error compensation learning ON: Quadrant error
compensation learning ON
QECLRNOF Quadrant error compensation learning OFF: Quadrant error
compensation learning OFF
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 545
Tables
16.5 Predefined subroutine calls
Fundamentals
546 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.5 Predefined subroutine calls
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 547
Tables
16.5 Predefined subroutine calls
Fundamentals
548 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.5 Predefined subroutine calls
For synchronous spindles, the axis parameters are programmed with SPI(1) or S1.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 549
Tables
16.5 Predefined subroutine calls
Fundamentals
550 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.6 Predefined subroutine calls in motion-synchronous actions
*) Only special system variables are permissible as result variables. These are described in
the Programming Guide Advanced in the section on "Write main run variable".
**) Only special system variables are permissible as input variables. These variables are
described in the Programming Guide Advanced in the list of system variables.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 551
Tables
16.7 Predefined functions
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
Keyword/ Result 1st parameter 2nd parameter Explanation
function
identifier
CTRANS FRAME AXIS REAL: Offset 3rd - 15th 4th - 16th Translation: Zero offset
parameter parameter for multiple axes.
as 1 ... as 2 ... 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: 3rd/5th 4th/6th Rotation: Rotation of the
Rotation parameter parameter current coordinate
as 1 ... as 2 ... system.
Maximum number of
parameters: 6 (one axis
identifier and one value
per geometry axis)
CSCALE FRAME AXIS REAL: Scale 3rd - 15th 4th - 16th Scale: Scale factor for
factor parameter parameter multiple axes.
as 1 ... as 2 ... Maximum number of
parameters is 2*
maximum number of
axes (axis identifier and
value).
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 2nd - 8th Mirror: Mirror on a
parameter coordinate axis
as 1 ...
MEAFRAME FRAME 2-dim. REAL 2-dim. REAL 3rd Frame calculation from 3
array array parameter: measuring points in
REAL space
variables
Frame functions CTRANS, CSCALE, CROT and CMIRROR are used to generate frame
expressions.
Fundamentals
552 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.7 Predefined functions
2. Geometry functions
Keyword/ Result 1st parameter 2nd parameter 3rd parameter Explanation
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
points (abscissa calculation Abscissa, point of a circle from 3 or 4 points
and ordinate for (3 or 4) ordinate and (according to parameter 1), which
points 1, 2, 3, radius of must lie on a circle. The points
etc.) calculated must be different.
circle center
point
Names Result 1st parameter 2nd para- 3rd parameter 4th parameter 5th para- 6th para-
meter meter meter
CALCPOSI INT: REAL: REAL: REAL: REAL: BOOL: bin
Status Starting Increment: Minimum Return value 0: encoded
0 OK position in Path definition clearances of possible incr. Evaluation to be
WCS [0] Abscissa limits to be path if path G code monitored
-1 DLIMIT
[0] Abscissa observed from parameter group 13 1 SW limits
neg. [1] Ordinate
[1] Ordinate [0] Abscissa 3 cannot be (inch/metr.) 2 working
-2 Trans. [2] Applicate
[1] Ordinate fully traversed area
n.def. [2] Applicate referred to 1:
without
1 SW limit [2] Applicate Reference 4 active
starting violating limit
[3] Lin. to basic protection
2 Working position
machine control zone
area
Axis system, 8 preactive
3 Prot. zone
[4] Rot. Axis indepen- protection
See PGA for dent of zone
more active
G codes
group 13
Explanation: CALCPOSI is for checking whether, starting from a defined starting point, the geometry axes
CALCPOSI can traverse a defined path without violating the axis limits (software limits), working area
limitations, or protection zones. If the defined path cannot be traversed without violating
limits, the maximum permissible value is returned.
INTERSEC BOOL: VAR REAL [11]: VAR REAL [11]: VAR REAL [2]: Intersection: Calculation of
Error status First contour Second contour Result vector: intersection
element element Intersection The intersection between two
coordinate, contour elements is calculated.
abscissa and The intersection coordinates
ordinate are return values. The error
status indicates whether an
intersection was found.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 553
Tables
16.7 Predefined functions
3. Axis functions
Result 1st parameter 2nd parameter Explanation
AXNAME AXIS: STRING [ ]: AXNAME: Get axis identifier
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.
AXTOSPI INT: AXIS: AXTOSPI: Convert axis to spindle
Spindle Axis identifier Converts an axis identifier into a spindle number.
number An alarm is set if the transfer parameter does not
contain a valid axis identifier.
SPI AXIS: INT: SPI: Convert spindle to axis
Axis identifier Spindle number 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
TRUE: Number of the as 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 1st parameter 2nd parameter Explanation
NEWT INT: STRING [32]: INT: Duplo Create new tool (prepare tool data). The duplo
T number Tool name number number can be omitted.
GETT INT: STRING [32]: INT: Duplo Get T number for tool identifier.
T number Tool name number
GETACTT INT: INT: STRING[32]: Get active tool from a group of tools with the same
Status T number Tool name name.
TOOLENV INT: STRING: Save a tool environment in SRAM with the
Status Name specified name.
DELTOOLENV INT: STRING: Delete a tool environment in SRAM with the
Status Name specified name. All tool environments if no name
specified.
GETTENV INT: STRING: INT: Reading:
Status Name Number = [0] T number,
Number = [1] D number,
Number = [2] DL number
from a tool environment with the specified name
Result 1st par. 2nd par. 3rd par. 4th par. 5th par. 6th par. Explanation
GETTCOR INT: REAL: STRING: STRING: INT: INT: INT: Read tool lengths and tool
Status Length Compon Tool Int. T D DL length components from tool
[11] ents: environ number number number environment or current
Coordi- ment/ environment
nate "" Details: See /FB1/ Function
system Manual Basic Functions; (W1)
Fundamentals
554 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.7 Predefined functions
Result 1st par. 2nd par. 3rd par. 4th par. 5th par. 6th par. 7th par. 8th par. 9th par.
SETTCOR INT: REAL: STRING: INT: INT: INT: STRING: INT: INT: INT:
Status Offset Compo- Compo- Type of Index of Name of Int. T D DL
vector nent(s) nent(s) write geo. axis tool number number number
[0-3] to be opera- environ-
offset tion ment
Explanation Changing tool components whilst observing all marginal conditions that are included in the evaluation of the
individual components. Details: See Function Manual Basic Functions; (W1)
5. Arithmetic
Result 1st parameter 2nd parameter 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
ABS REAL REAL Generate absolute value
POT REAL REAL Square
TRUNC REAL REAL Truncate decimal places
ROUND REAL REAL Round decimal places
LN REAL REAL Natural logarithm
EXP REAL REAL Exponential function ex
MINVAL REAL REAL REAL Determines the smaller value of two variables
MAXVAL REAL REAL REAL Determines the larger value of two variables
Result 1st parameter 2nd parameter 3rd parameter Explanation
BOUND REAL: Check REAL: REAL: REAL: Check Checks whether the variable
status Minimum Maximum variable value lies within the defined min/
max value range
Explanation The arithmetic functions can also be programmed in synchronized actions. Arithmetic functions are
calculated and evaluated in the main run. Synchronized action parameter $AC_PARAM[n] can also be
used for calculations and as buffer memory.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 555
Tables
16.7 Predefined functions
6. String functions
Result 1st parameter 2nd parameter Explanation
to
3rd parameter
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 such as
GUDs)
Result is TRUE if all the following checks produce
positive results according to the (STRING) transfer
parameter:
– The identifier exists
– It is a one or two-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 The 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 1st
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("ACKNOWLEDGEMENT:10 to 99", 10, 2)
returns substring "10".
SPRINT STRING STRING Returns the input string (1st parameter).
Fundamentals
556 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Tables
16.8 Currently set language in the HMI
Note
$AN_LANGUAGE_ON_HMI is updated:
• after the system boots.
• after NCK and/or PLC reset.
• after switching over to another NCK within the scope of M2N.
• after changing over the language on the HMI.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 557
Tables
16.8 Currently set language in the HMI
Fundamentals
558 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Appendix A
A.1 List of abbreviations
A Output
AS Automation system
ASCII American Standard Code for Information Interchange
ASIC Application Specific Integrated Circuit: User switching circuit
ASUB Asynchronous subprogram
AuxF Auxiliary function
AV Job planning
BA Operating mode
BB Ready to run
BCD Binary Coded Decimals: Decimal numbers encoded In binary code
BCS Basic Coordinate System
BIN Binary files (Binary Files)
BIOS Basic Input Output System
BP Basic program
C Bus Communication bus
CAD Computer-Aided Design
CAM Computer-Aided Manufacturing
CNC Computerized Numerical Control: Computerized numerical control
COM Communication
COR Coordinate rotation
CP Communications Processor
CPU Central Processing Unit: Central processing unit
CR Carriage Return
CRC Cutter radius compensation
CRT Cathode Ray Tube picture tube
CSB Central Service Board: PLC module
CSF Function plan (PLC programming method)
CTS Clear To Send: Signal from serial data interfaces
CUTCOM 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: Movement of the rotary axis via the shortest path to the absolute
position within one revolution
DCD Data Carrier Detect
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 559
Appendix
A.1 List of abbreviations
Fundamentals
560 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Appendix
A.1 List of abbreviations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 561
Appendix
A.1 List of abbreviations
Fundamentals
562 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Appendix
A.1 List of abbreviations
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 563
Appendix
A.2 Documentation overview
8VHU'RFXPHQWDWLRQ
6,180(5,. 6,180(5,. 6,180(5,. 6,180(5,. 6,180(5,.
'VO 'VO 'VO 'VO 'VO
' ' 'LVO 6
'
'VO
0DQXIDFWXUHUVHUYLFHGRFXPHQWDWLRQ
,QIRUPDWLRQ7UDLQLQJ (OHFWURQLFGRFXPHQWDWLRQ
'2&RQ&' 0\'RFXPHQWDWLRQ
%HJLQQHUvV0DQXDO 7UDLQLQJGRFXPHQWV 0DQXDOV '2&RQ:(% 0DQDJHU
0LOOLQJDQG7XUQLQJ ದ0LOOLQJPDGHHDVLHU 7RRODQG
ZLWK6KRS0LOO PROGPDNLQJ
ದ7XUQLQJPDGHHDVLHU
ZLWK6KRS7XUQ
Fundamentals
564 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Appendix
A.2 Documentation overview
'RFXPHQWDWLRQRYHUYLHZ6,180(5,.'
*HQHUDOGRFXPHQWDWLRQ
6,180(5,.
6DOHVEURFKXUH (0&GLUHFWLYHV
8VHUGRFXPHQWDWLRQ
0DQXIDFWXUHUVHUYLFHGRFXPHQWDWLRQ
(OHFWURQLFGRFXPHQWDWLRQ
'2&RQ&' ,QGXVWU\0DOO
'2&RQ:(%
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 565
Appendix
A.2 Documentation overview
Fundamentals
566 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Absolute dimensions
A destination for an axis movement is defined by a dimension that refers to the origin of the
currently active coordinate system. See → Incremental dimension
Address
An address is the identifier for a certain operand or operand range, e.g. input, output etc.
Alarms
All → messages and alarms are displayed on the operator panel in plain text with date and
time and the corresponding symbol for the cancel criterion. Alarms and messages are
displayed separately.
1. Alarms and messages in the part program:
Alarms and messages can be displayed in plain text directly from the part program.
2. Alarms and messages from PLC
Alarms and messages for the machine can be displayed in plain text from the PLC
program. No additional function block packages are required for this purpose.
Archive
Reading out of files and/or directories on an external memory device.
Asynchronous subroutine
Part program that can be started asynchronously to (independently of) the current program
status using an interrupt signal (e.g. "Rapid NC input" signal).
Automatic
Operating mode of the control (block sequence operation according to DIN): Operating mode
for NC systems in which a → subprogram is selected and executed continuously.
Fundamentals
Programming Manual 02/2011, 6FC5398-1BP40-1BA0 567
Glossary
Auxiliary functions
Auxiliary functions enable → part programs to transfer → parameters to the → PLC, which
then trigger reactions defined by the machine manufacturer.
Axes
In accordance with their functional scope, the CNC axes are subdivided into:
• Axes: interpolating path axes
• Auxiliary axes: non-interpolating feed and positioning axes with an axis-specific feed rate.
Auxiliary axes are not involved in actual machining, e.g. tool feeder, tool magazine.
Axis address
See → Axis identifier
Axis identifier
Axes are identifed using X, Y, and Z as defined in DIN 66217 for a dextrorotatory, right-angled
→ coordinate system.
Rotary axes rotating around X, Y, and Z are identified using A, B, and C. Additional axes
situated parallel to the specified axes can be designated using other letters.
Axis name
See → Axis identifier
Backlash compensation
Compensation for a mechanical machine backlash, e.g. backlash on reversal for ball screws.
Backlash compensation can be entered separately for each axis.
Backup battery
The backup battery ensures that the → user program in the → CPU is stored so that it is safe
from power failure and so that specified data areas and bit memory, timers and counters are
stored retentively.
Base axis
Axis whose setpoint or actual value position forms the basis of the calculation of a
compensation value.
Fundamentals
568 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Baud rate
Rate of data transfer (Bit/s).
Blank
Workpiece as it is before it is machined.
Block
"Block" is the term given to any files required for creating and processing programs.
Block search
For debugging purposes or following a program abort, the "Block search" function can be
used to select any location in the part program at which the program is to be started or
resumed.
Booting
Loading the system program after power ON.
C axis
Axis around which the tool spindle describes a controlled rotational and positioning
movement.
Channel
A channel is characterized by the fact that it can process a → part program independently of
other channels. A channel exclusively controls the axes and spindles assigned to it. Part
program runs of different channels can be coordinated through → synchronization.
Circular interpolation
The → tool moves on a circle between specified points on the contour at a given feed rate,
and the workpiece is thereby machined.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 569
Glossary
CNC
See → NC
COM
Component of the NC for the implementation and coordination of communication.
Compensation axis
Axis with a setpoint or actual value modified by the compensation value
Compensation memory
Data range in the control, in which the tool offset data are stored.
Compensation table
Table containing interpolation points. It provides the compensation values of the
compensation axis for selected positions on the basic axis.
Compensation value
Difference between the axis position measured by the encoder 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. This connecting cable connects the → CPU to a → programming device or to
other CPUs by means of a → multi-point interface (MPI).
Continuous-path mode
The objective of continuous-path mode is to avoid substantial deceleration of the → path
axes at the part program block boundaries and to change to the next block at as close to the
same path velocity as possible.
Contour
Contour of the → workpiece
Contour monitoring
The following error is monitored within a definable tolerance band as a measure of contour
accuracy. An unacceptably high following error can cause the drive to become overloaded,
for example. In such cases, an alarm is output and the axes are stopped.
Fundamentals
570 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Coordinate system
See → Machine coordinate system, → Workpiece coordinate system
CPU
Central processing unit, see → PLC
C-Spline
The C-Spline is the most well-known and widely used spline. The transitions at the
interpolation points are continuous, both tangentially and in terms of curvature. 3rd order
polynomials are used.
Curvature
The curvature k of a contour is the inverse of radius r of the nestling circle in a contour point (k
= 1/r).
Cycles
Protected subroutines for execution of repetitive machining operations on the → workpiece.
Data Block
1. Data unit of the → PLC that → HIGHSTEP programs can access.
2. Data unit of the → NC: Data modules contain data definitions for global user data. These
data can be initialized directly when they are defined.
Data word
Two-byte data unit within a → data block.
Diagnosis
1. Operating area of the control.
2. The control has both a self-diagnostics program as well as test functions for servicing
purposes: status, alarm, and service displays
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 571
Glossary
DRF
Differential Resolver Function: NC function which generates an incremental zero offset in
Automatic mode in conjunction with an electronic handwheel.
Drive
The drive is the unit of the CNC that performs the speed and torque control based on the
settings of the NC.
Editor
The editor makes it possible to create, edit, extend, join, and import programs/texts/program
blocks.
Exact stop
When an exact stop statement is programmed, the position specified in a block is approached
exactly and, if necessary, very slowly. To reduce the approach time, → exact stop limits are
defined for rapid traverse and feed.
Fundamentals
572 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Feed override
The programmed velocity is overriden by the current velocity setting made via the →
machine control panel or from the → PLC (0 to 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 → Raw part.
Fixed-point approach
Machine tools can approach fixed points such as a tool change point, loading point, pallet
change point, etc. in a defined way. The coordinates of these points are stored in the control.
The control moves the relevant axes in → rapid traverse, whenever possible.
Frame
A frame is an arithmetic rule that transforms one Cartesian coordinate system into another
Cartesian coordinate system. A frame contains the following components: → zero offset, →
rotation, → scaling, → mirroring.
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.
Ground
Ground is taken as the total of all linked inactive parts of a device which will not become live
with a dangerous contact voltage even in the event of a malfunction.
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:
• Circular movement in one plane
• A linear movement perpendicular to this plane
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 573
Glossary
HIGHSTEP
Summary of programming options for → PLCs of the AS300/AS400 system.
Identifier
In accordance with DIN 66025, words are supplemented using identifiers (names) for
variables (arithmetic variables, system variables, user variables), subroutines, key words, and
words with multiple address letters. These supplements have the same meaning as the words
with respect to block format. Identifiers must be unique. It is not permissible to use the same
identifier for different objects.
Increment
Travel path length specification based on number of increments. The number of increments
can be stored as → setting data or be selected by means of a suitably labeled key (i.e. 10,
100, 1000, 10000).
Incremental dimension
Also 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 → Absolute dimension.
Fundamentals
574 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Intermediate blocks
Motions with selected → tool offset (G41/G42) may be interrupted by a limited number of
intermediate blocks (blocks without axis motions in the offset plane), whereby the tool offset
can still be correctly compensated for. The permissible number of intermediate blocks which
the control reads ahead can be set in system parameters.
Interpolator
Logic unit of the → NCK that defines intermediate values for the motions to be carried out in
individual axes based on information on the end positions specified in the part program.
Interpolatory compensation
Interpolatory compensation is a tool that enables manufacturing-related leadscrew error and
measuring system error compensations (SSFK, MSFK).
Interrupt routine
Interrupt routines are special → subroutines that can be started by events (external signals)
in the machining process. A part program block which is currently being worked through is
interrupted and the position of the axes at the point of interruption is automatically saved.
Inverse-time feedrate
With SINUMERIK 840D, the time required for the path of a block to be traversed can be
programmed for the axis motion instead of the feed velocity (G93).
JOG
Control operating mode (setup mode): In JOG mode, the machine can be set up. Individual
axes and spindles can be traversed in JOG mode by means of the direction keys. Additional
functions in JOG mode include: → Reference point approach, → Repos, and → Preset (set
actual value).
Key switch
The key switch on the → machine control panel has four positions that are assigned
functions by the operating system of the control. The key switch has three different colored
keys that can be removed in the specified positions.
Keywords
Words with specified notation that have a defined meaning in the programming language for
→ part programs.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 575
Glossary
KV
Servo gain factor, a control variable in a control loop.
Leading axis
The leading axis is the → gantry axis that exists from the point of view of the operator and
programmer and, thus, can be influenced like a standard NC axis.
Limit speed
Maximum/minimum (spindle) speed: The maximum speed of a spindle can be limited by
specifying machine data, the → PLC or → setting data.
Linear axis
In contrast to a rotary axis, a linear axis describes a straight line.
Linear interpolation
The tool travels along a straight line to the destination point while machining the workpiece.
Load memory
The load memory is the same as → RAM for the CPU 314 of the → PLC.
Look Ahead
The Look Ahead function is used to achieve an optimal machining speed by looking ahead
over an assignable number of traversing blocks.
Machine axes
Physically existent axes on the machine tool.
Fundamentals
576 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Machine zero
Fixed point of the machine tool to which all (derived) measuring systems can be traced back.
Machining channel
A channel structure can be used to shorten idle times by means of parallel motion sequences,
e.g. moving a loading gantry simultaneously with machining. Here, a CNC channel must be
regarded as a separate CNC control system with decoding, block preparation and
interpolation.
Macro techniques
Grouping of a set of statements under a single identifier. The identifier represents the set of
consolidated statements in the program.
Main block
A block prefixed by ":" introductory block, containing all the parameters required to start
execution of a -> part program.
Main program
The term "main program" has its origins during the time when part programs were split strictly
into main and → subprograms. This strict division no longer exists with today's SINUMERIK
NC language. In principle, any part program in the channel can be selected and started. It
then runs through in → program level 0 (main program level). Further part programs or →
cycles as subprograms can be called up in the main program.
MDA
Control 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.
Messages
All messages programmed in the part program and → alarms detected by the system are
displayed on the operator panel in plain text with date and time and the corresponding symbol
for the cancel criterion. Alarms and messages are displayed separately.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 577
Glossary
Mirroring
Mirroring reverses the signs of the coordinate values of a contour, with respect to an axis. It is
possible to mirror with respect to more than one axis at a time.
Mode group
Axes and spindles that are technologically related can be combined into one mode group.
Axes/spindles of a BAG can be controlled by one or more → channels. The same → mode
type is always assigned to the channels of the mode group.
Mode of operation
An operating concept on a SINUMERIK control. The following modes are defined: → Jog, →
MDA, → Automatic.
NC
Numerical Control: Numerical control (NC) includes all components of machine tool control:
→ NCK, → PLC, HMI, → COM.
Note
A more correct term for SINUMERIK 840D controls would be: Computerized Numerical
Control
NCK
Numerical Control Kernel: Component of NC that executes the → part programs and
basically coordinates the motion operations for the machine tool.
Network
A network is the connection of multiple S7-300 and other end devices, e.g. a programming
device via a → connecting cable. A data exchange takes place over the network between the
connected devices.
NRK
Numeric robotic kernel (operating system of → NCK)
NURBS
The motion control and path interpolation that occurs within the control is performed based on
NURBS (Non Uniform Rational B-Splines). As a result, a uniform process is available within
the control for all interpolations for SINUMERIK 840D.
Fundamentals
578 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
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.
Operator Interface
The user interface (UI) is the display medium for a CNC in the form of a screen. It features
horizontal and vertical softkeys.
Overall reset
In the event of an overall reset, the following memories of the → CPU are deleted:
• → Work memory
• Read/write area of → load memory
• → System memory
• → Backup memory
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.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 579
Glossary
Path axis
Path axes include all machining axes of the → channel that are controlled by the →
interpolator in such a way that they start, accelerate, stop, and reach their end point
simultaneously.
Path feedrate
Path feed affects → path axes. It represents the geometric sum of the feed rates of the →
geometry axes involved.
Path velocity
The maximum programmable path velocity depends on the input resolution. For example,
with a resolution of 0.1 mm the maximum programmable path velocity is 1000 m/min.
Peripheral module
I/O modules represent the link between the CPU and the process.
I/O modules are:
• → Digital input/output modules
• → Analog input/output modules
• → Simulator modules
PLC
Programmable Logic Control: → Programmable logic controller. Component of → NC:
Programmable controller for processing the control logic of the machine tool.
PLC Programming
The PLC is programmed using the STEP 7 software. The STEP 7 programming software is
based on the WINDOWS standard operating system and contains the STEP 5 programming
functions with innovative enhancements.
Fundamentals
580 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
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 enables a wide variety of curve characteristics to be generated, such
as straight line, parabolic, exponential functions (SINUMERIK 840D).
Positioning axis
Axis that performs an auxiliary movement on a machine tool (e.g. tool magazine, pallet
transport). Positioning axes are axes that do not interpolate with → path axes.
Pre-coincidence
Block change occurs already when the path distance approaches an amount equal to a
specifiable delta of the end position.
Program block
Program blocks contain the main program and subroutines of → part programs.
Program level
A part program started in the channel runs as a → main program on program level 0 (main
program level). Any part program called up in the main program runs as a → subprogram on
a program level 1 ... n of its own.
Programmable frames
Programmable → frames enable dynamic definition of new coordinate system output points
while the part program is being executed. A distinction is made between absolute definition
using a new frame and additive definition with reference to an existing starting point.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 581
Glossary
Programming key
Character and character strings that have a defined meaning in the programming language
for → part programs.
Protection zone
Three-dimensional zone within the → working area into which the tool tip must not pass.
R parameters
Arithmetic parameter that can be set or queried by the programmer of the → part program for
any purpose in the program.
Rapid traverse
The highest traverse rate of an axis. For example, rapid traverse is used when the tool
approaches the → workpiece contour from a resting position or when the tool is retracted
from the workpiece contour. The rapid traverse velocity is set on a machine-specific basis
using a machine data element.
Reference point
Machine tool position that the measuring system of the → machine axes references.
Rotary axis
Rotary axes apply a workpiece or tool rotation to a defined angular position.
Rotation
Component of a → frame that defines a rotation of the coordinate system around a particular
angle.
Rounding axis
Rounding axes rotate a workpiece or tool to an angular position corresponding to an indexing
grid. When a grid index is reached, the rounding axis is "in position".
Fundamentals
582 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Safety Functions
The control is equipped with permanently active montoring functions that detect faults in the
→ CNC, the → PLC, and the machine in a timely manner so that damage to the workpiece,
tool, or machine is largely prevented. In the event of a fault, the machining operation is
interrupted and the drives stopped. The cause of the malfunction is logged and output as an
alarm. At the same time, the PLC is notified that a CNC alarm has been triggered.
Scaling
Component of a → frame that implements axis-specific scale modifications.
Selecting
Series of statements to the NC that act in concert to produce a particular → workpiece.
Likewise, this term applies to execution of a particular machining operation on a given → raw
part.
Setting data
Data, which communicates the properties of the machine tool to the NC, as defined by the
system software.
Softkey
A key, whose name appears on an area of the screen. The choice of soft keys displayed is
dynamically adapted to the operating situation. The freely assignable function keys (soft keys)
are assigned defined functions in the software.
Spline interpolation
With spline interpolation, the controller can generate a smooth curve characteristic from only
a few specified interpolation points of a set contour.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 583
Glossary
SRT
Transformation ratio
Standard cycles
Standard cycles are provided for machining operations, which are frequently repeated:
• Cycles for drilling/milling applications
• for turning technology
The available cycles are listed in the "Cycle support" menu in the "Program" operating area.
Once the desired machining cycle has been selected, the parameters required for assigning
values are displayed in plain text.
Subblock
Block preceded by "N" containing information for a sequence, e.g. positional data.
Subroutine
The term "subprogram" has its origins during the time when part programs were split strictly
into → main and subprograms. This strict division no longer exists with today's SINUMERIK
NC language. In principle, any part program or any → cycle can be called up as a
subprogram within another part program. It then runs through in the next → program level
(x+1) (subprogram level (x+1)).
Synchronization
Statements in → part programs for coordination of sequences in different → channels at
certain machining points.
Synchronized Actions
1. Auxiliary function output
During workpiece machining, technological functions ( → auxiliary functions) can be
output from the CNC program to the PLC. For example, these auxiliary functions are used
to control additional equipment for the machine tool, such as quills, grabbers, clamping
chucks, etc.
2. Fast auxiliary function output
For time-critical switching functions, the acknowledgement times for the → auxiliary
functions can be minimized and unnecessary hold points in the machining process can be
avoided.
Synchronized axes
Synchronized axes take the same time to traverse their path as the geometry axes take for
their path.
Fundamentals
584 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
Synchronized axis
A synchronized axis is the → gantry axis whose set position is continuously derived from the
motion of the → leading axis and is, thus, moved synchronously with the leading axis. From
the point of view of the programmer and operator, the synchronized axis "does not exist".
System memory
The system memory is a memory in the CPU in which the following data is stored:
• Data required by the operating system
• The operands times, counters, markers
System variables
A variable that exists without any input from the programmer of a → part program. It is
defined by a data type and the variable name preceded by the character $. See → User-
defined variable.
Text editor
See → Editor
TOA area
The TOA area includes all tool and magazine data. By default, this area coincides with the →
channel area with regard to the reach of the data. However, machine data can be used to
specify that multiple channels share one → TOA unit so that common tool management data
is then available to these channels.
TOA unit
Each → TOA area can have more than one TOA unit. The number of possible TOA units is
limited by the maximum number of active → channels. A TOA unit includes exactly one tool
data block and one magazine data block. In addition, a TOA unit can also contain a toolholder
data block (optional).
Tool
Active part on the machine tool that implements machining (e.g. turning tool, milling tool, drill,
LASER beam, etc.).
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 585
Glossary
Tool offset
Consideration of the tool dimensions in calculating the path.
Transformation
Additive or absolute zero offset of an axis.
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).
User memory
All programs and data, such as part programs, subroutines, comments, tool offsets, and zero
offsets/frames, as well as channel and program user data, can be stored in the shared CNC
user memory.
User Program
User programs for the S7-300 automation systems are created using the programming
language STEP 7. The user program has a modular layout and consists of individual blocks.
The basic block types are:
• Code blocks
These blocks contain the STEP 7 commands.
• Data blocks
These blocks contain constants and variables for the STEP 7 program.
Fundamentals
586 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Glossary
User-defined variable
Users can declare their own variables for any purpose in the → part program or data block
(global user data). A definition contains a data type specification and the variable name. See
→ System variable.
Variable definition
A variable definition includes the specification of a data type and a variable name. The
variable names can be used to access the value of the variables.
Velocity control
In order to achieve an acceptable traverse rate in the case of very slight motions per block, an
anticipatory evaluation over several blocks ( → Look Ahead) can be specified.
WinSCP
WinSCP is a freely available open source program for Windows for the transfer of files.
Working area
Three-dimensional zone into which the tool tip can be moved on account of the physical
design of the machine tool. See → Protection zone.
Working memory
RAM is a work memory in the → CPU that the processor accesses when processing the
application program.
Workpiece
Part to be made/machined by the machine tool.
Workpiece contour
Set contour of the → workpiece to be created or machined.
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 587
Glossary
Workpiece zero
The workpiece zero is the starting point for the → workpiece coordinate system. It is defined
in terms of distances to the → machine zero.
Zero offset
Specifies a new reference point for a coordinate system through reference to an existing zero
point and a → frame.
1. Settable
SINUMERIK 840D: A configurable number of settable zero offsets are available for each
CNC axis. The offsets - which are selected by means of G functions - take effect
alternately.
2. External
In addition to all the offsets which define the position of the workpiece zero, an external
zero offset can be overridden by means of the handwheel (DRF offset) or from the PLC.
3. Programmable
Zero offsets can be programmed for all path and positioning axes using the TRANS
statement.
Fundamentals
588 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Index
Symbols Address, 35
Adjustable, 515
$AA_ACC, 140
Extended address, 434
$AA_FGREF, 116
Fixed addresses, 512
$AA_FGROUP, 117
modally effective, 434
$AA_OFF, 374
non-modal, 434
$AC_F_TYPE, 157
Value assignment, 38
$AC_FGROUP_MASK, 117
with axial extension, 434
$AC_FZ, 157
With axis expansion, 513
$AC_S_TYPE, 99
Address letters, 511
$AC_SVC, 99
Addresses, 432
$AC_TOFF, 87
ADIS, 328
$AC_TOFFL, 87
ADISPOS, 328
$AC_TOFFR, 87
ALF, 267
$AN_LANGUAGE_ON_HMI, 557
AMIRROR, 339, 365
$P_F_TYPE, 157
ANG, 238, 244
$P_FGROUP_MASK, 117
ANG1, 240
$P_FZ, 157
ANG2, 240, 244
$P_GWPS, 107
Angle
$P_S_TYPE, 99
Contour angle, 238
$P_SVC, 99
Contour definition angle, 240, 244
$P_TOFF, 87
AP, 197, 201, 206, 209, 220, 229
$P_TOFFL, 87
Approach point/angle, 289
$P_TOFFR, 87
AR, 209, 218, 229, 232
$P_WORKAREA_CS_COORD_SYSTEM, 393
AROT, 339, 350
$P_WORKAREA_CS_LIMIT_MINUS, 393
AROTS, 360
$P_WORKAREA_CS_LIMIT_PLUS, 393
ASCALE, 339, 362
$P_WORKAREA_CS_MINUS_ENABLE, 393
ATRANS, 339, 343
$P_WORKAREA_CS_PLUS_ENABLE, 393
Auxiliary function output
$PA_FGREF, 116
High-speed, 379
$PA_FGROUP, 117
In continuous-path mode, 380
$TC_DPNT, 152
Auxiliary function outputs, 377
$TC_TP_MAX_VELO, 94
Availability
$TC_TPG1/...8/...9, 107
System-dependent, 5
Axes
Channel, 423
A Command, 425
A, 109 Geometry, 421
A=..., 175 Lead link axis, 428
Absolute dimensions, 18 Link, 426
AC, 168, 218 Machine, 423
ACC, 139 Main, 421
Acceleration Path, 423
Mode, 406 PLC
ACCLIMA, 409 , 425
ACN, 175 Positioning, 424
ACP, 175 Synchronized, 425
Fundamentals
Programming Manual 02/2011 589
Index
Fundamentals
590 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Index
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 591
Index
Fundamentals
592 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Index
G97, 100 K
G971, 100
K, 209, 212, 260
G972, 100
K..., 248, 258
G973, 100
Kinematic transformation, 28
Geometry
KONT, 287
Axes, 421
KONTC, 287
Geometry axes, 28
KONTT, 287
Grinding tools, 74
Grinding wheel
Peripheral speed, 106
GWPS, 74, 106 L
GWPSOF, 106 Left-hand thread, 250
GWPSON, 106 LF, 37, 45
LFOF, 267
LFON, 267
H LFPOS, 267
LFTXT, 267
Handwheel
LFWP, 267
Override, 141
LIMS, 100
Helix interpolation, 229
LINE FEED, 37
Hexadecimal
Link
Constant, 438
Axes, 426
Lead link axis, 428
LookAhead, 332
I
I, 260
I..., 248, 258 M
IC, 171
M functions, 381
Identifier, 33, 36, 436
M..., 381
for character string, 45
M0, 381
for special numerical values, 45
M1, 381
for system variables, 45
M19, 123, 381
Variable identifiers, 437
M2, 381
Incremental dimension, 20
M3, 89
Incremental dimensions, 20, 171
M4, 89
Internal preprocessing stop, 417
M40, 381
Interpolation
M41, 381
Linear, 204
M42, 381
Non-linear, 204
M43, 381
Interpolation parameter IP, 434
M44, 381
INVCCW, 232
M45, 381
INVCW, 232
M5, 89
Involute, 232
M6, 57, 381
IP, 434
M70, 123
Machine coordinate system, 25
Machines
J Axes, 423
J, 212, 260 Master spindle, 422
J..., 258 MCS, 25
Jerk MD10652, 237
Limitation, 406 MD10654, 237
JERKLIMA, 409 MD10656, 237
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 593
Index
Fundamentals
594 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0
Index
Fundamentals
Programming Manual, 02/2011, 6FC5398-1BP40-1BA0 595
Index
Tool point X
Direction, relevant, 323
X..., 193
Tool radius compensation
X2, 238
At outside corners, 294
X3, 240
CUT2D, 318
Toolholder
-reference point, 23
Tooth feedrate, 152 Y
TOROT, 370 Y..., 193
TOROTOF, 370
TOROTX, 370
TOROTY, 370 Z
TOROTZ, 370
Z..., 193
TRAFOOF, 395
Z1, 240, 244
TRANS, 339, 343
Z2, 238, 240, 244
Transition circle, 315
Z3, 244
Transition radius, 295
Z4, 244
Transverse axis, 180, 189
Zero frame, 161
Travel command, 191
Zero offset
TURN, 229
Offset values, 163
Turning tools, 75
Settable, 31
variable, 159
Zero point
V Offset, axial, 347
Value assignment, 38 Offset, programmable, 343
Variable identifiers, 437 zero point
VELOLIMA, 409 Machine, 23
Workpiece, 23
Zero points, 23
W For turning, 188
Zero system
WAB, 298
Settable, 31
WAITMC, 118
WAITP, 118
WAITS, 123
WALCS0, 392
WALCS1-10, 392
WALIMOF, 388
WALIMON, 388
WCS, 32
Working area limitation
in BCS, 388
in WCS/SZS, 392
Reference points on the tool, 391
Working plane, 22, 165
Workpiece
Contour, 192
Workpiece coordinate system, 32
Align on workpiece, 370
WRTPR, 387
Fundamentals
596 Programming Manual, 02/2011, 6FC5398-1BP40-1BA0