siemens 828D Programming Manual

4 (1)
SINUMERIK SINUMERIK 840D sl/840Di sl/828D/802D sl ISO Milling
_
_____________
_
_____________
_
_____________
_
_____________
_
_____________
_
_____________
_
_____________
_
_____________
_
_____________
Principles of programming
1
2
Motion commands
3
Additional functions
4
Abbreviations
A
G code table
B
Data Description
C
Data lists
D
Interrupts
E
SINUMERIK
SINUMERIK 840D sl/840Di sl/
828D/802D sl
ISO Milling
Programming Manual
06/09
6FC5398-7BP10-1BA0
Valid for
Software Version
SINUMERIK 802D sl 1.4
SINUMERIK 828D 2.6
SINUMERIK 840D sl/DE sl 2.6
SINUMERIK 840Di sl/DiE sl 1.4

Legal information

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 device/system may only be set up and used in conjunction with this documentation. Commissioning and
operation of a device/system may only be performed by qualified personnel. Within the context of the safety notes
in this documentation qualified persons are defined as persons who are authorized to commission, ground and
label devices, systems and circuits in accordance with established safety practices and standards.
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.
Siemens AG
Industry Sector
Postfach 48 48
90026 NÜRNBERG
GERMANY
Ordernumber: 6FC5398-7BP10-1BA0
Ⓟ 07/2009
Copyright © Siemens AG 2009.
Technical data subject to change
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
3

Table of contents

1 Principles of programming .........................................................................................................................
7
1.1 Introductory comments ..................................................................................................................
7
1.1.1 Siemens mode ...............................................................................................................................
7
1.1.2 ISO dialect mode ...........................................................................................................................
7
1.1.3 Switching between the modes .......................................................................................................
7
1.1.4 Display of the G code.....................................................................................................................
8
1.1.5 Maximum number of axes/axis identifiers......................................................................................
8
1.1.6 Decimal point programming...........................................................................................................
8
1.1.7 Comments....................................................................................................................................
10
1.1.8 Skip block.....................................................................................................................................
10
1.2 Preconditions for the feed............................................................................................................
11
1.2.1 Rapid traverse..............................................................................................................................
11
1.2.2 Path feed (F function) ..................................................................................................................
11
1.2.3 Fixed feedrates F0 to F9..............................................................................................................
13
1.2.4 Linear feed (G94).........................................................................................................................
15
1.2.5 Inverse-time feed (G93) ...............................................................................................................
15
1.2.6 Revolutional feedrate (G95).........................................................................................................
16
2 Drive commands......................................................................................................................................
17
2.1 Interpolation commands...............................................................................................................
17
2.1.1 Rapid traverse (G00) ...................................................................................................................
17
2.1.2 Linear interpolation (G01) ............................................................................................................
18
2.1.3 Circular interpolation (G02, G03).................................................................................................
19
2.1.4 Contour definition programming and addition of chamfers or radiuses.......................................
22
2.1.5 Helical interpolation (G02, G03)...................................................................................................
25
2.1.6 Involute interpolation (G02.2, G03.2)...........................................................................................
26
2.1.7 Cylindrical interpolation (G07.1)...................................................................................................
27
2.2 Reference point approach with G functions.................................................................................
30
2.2.1 Reference point approach with intermediate point (G28)............................................................
30
2.2.2 Checking the reference position (G27) ........................................................................................
32
2.2.3 Reference point approach with reference point selection (G30) .................................................
33
3 Motion commands ...................................................................................................................................
35
3.1 The coordinate system.................................................................................................................
35
3.1.1 Machine coordinate systems (G53) .............................................................................................
36
3.1.2 Workpiece coordinate system (G92) ...........................................................................................
37
3.1.3 Resetting the tool coordinate system (G92.1) .............................................................................
38
3.1.4 Selection of a workpiece coordinate system................................................................................
38
3.1.5 Writing work offset/tool offsets (G10)...........................................................................................
38
3.1.6 Local coordinate system (G52)....................................................................................................
40
3.1.7 Selection of the plane (G17, G18, G19) ......................................................................................
41
3.1.8 Parallel axes (G17, G18, G19).....................................................................................................
42
3.1.9 Rotation of the coordinate system (G68, G69) ............................................................................
43
3.1.10 3D rotation G68/G69....................................................................................................................
45
3.2 Defining the input modes of the coordinate values......................................................................
46
3.2.1 Absolute/incremental dimensioning (G90, G91) ..........................................................................
46
3.2.2 Inch/metric input (G20, G21)........................................................................................................
47
Table of contents
ISO Milling
4 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
3.2.3 Scaling (G50, G51) ..................................................................................................................... 48
3.2.4 Programmable mirroring (G50.1, G51.1) ....................................................................................
51
3.3 Time-controlled commands.........................................................................................................
53
3.3.1 Dwell time (G04) .........................................................................................................................
53
3.4 Tool offset functions ....................................................................................................................
54
3.4.1 Tool offset data memory .............................................................................................................
54
3.4.2 Tool length compensation (G43, G44, G49)...............................................................................
54
3.4.3 Cutter radius compensation (G40, G41, G42) ............................................................................
57
3.4.4 Collision detection .......................................................................................................................
61
3.5 S-, T-, M- and B functions ...........................................................................................................
65
3.5.1 Spindle function (S function) .......................................................................................................
65
3.5.2 Tool function................................................................................................................................
65
3.5.3 Additional function (M function)...................................................................................................
65
3.5.4 M functions of spindle control......................................................................................................
66
3.5.5 M functions for subroutine calls ..................................................................................................
67
3.5.6 Macro call via M function.............................................................................................................
67
3.5.7 M functions..................................................................................................................................
68
3.6 Controlling the feedrate...............................................................................................................
69
3.6.1 Automatic corner override G62 ...................................................................................................
69
3.6.2 Compressor in the ISO dialect mode ..........................................................................................
71
3.6.3 Exact stop (G09, G61), Continuous-path mode (G64), tapping (G63) .......................................
72
4 Additional functions..................................................................................................................................
73
4.1 Program supporting functions .....................................................................................................
73
4.1.1 Fixed drilling cycles .....................................................................................................................
73
4.1.2 Deep hole drilling cycle with chip breakage (G73)......................................................................
78
4.1.3 Fine drilling cycle (G76) ..............................................................................................................
81
4.1.4 Drilling cycle, preboring (G81) ....................................................................................................
84
4.1.5 Drilling cycle, preboring (G82) ....................................................................................................
85
4.1.6 Deep hole drilling cycle with chip removal (G83)........................................................................
87
4.1.7 Drilling cycle (G85)......................................................................................................................
90
4.1.8 Boring cycle (G86) ......................................................................................................................
91
4.1.9 Boring cycle, reverse countersinking (G87)................................................................................
93
4.1.10 Drilling cycle (G89), return with G01...........................................................................................
96
4.1.11 Cycle "Tapping without compensating chuck" (G84) ..................................................................
98
4.1.12 "Drilling a left-hand thread without compensating chuck" cycle (G74) .....................................
101
4.1.13 Left or right tapping cycle (G84 or G74)....................................................................................
103
4.1.14 Deselection of a fixed cycle (G80) ............................................................................................
106
4.1.15 Program example with a tool length compensation and fixed cycles .......................................
107
4.1.16 Multiple-start threads with G33 .................................................................................................
109
4.2 Programmable data input (G10) ...............................................................................................
110
4.2.1 Changing the tool offset value...................................................................................................
110
4.2.2 Working area limitation (G22, G23) ..........................................................................................
110
4.2.3 M function for calling subroutines (M98, M99)..........................................................................
111
4.3 Eight-digit program number.......................................................................................................
113
4.4 Polar coordinates (G15, G16) ...................................................................................................
115
4.5 Polar coordinates interpolation (G12.1, G13.1) ........................................................................
116
4.6 Measuring functions ..................................................................................................................
118
4.6.1 Rapid lift with G10.6 ..................................................................................................................
118
4.6.2 Measuring with "delete distance-to-go" (G31) ..........................................................................
118
4.6.3 Measuring with G31, P1 - P4 ....................................................................................................
121
Table of contents
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
5
4.6.4 Interrupt program with M96, M97...............................................................................................122
4.6.5 "Tool life control" function ..........................................................................................................
124
4.7 Macro programs.........................................................................................................................
125
4.7.1 Differences with subroutines......................................................................................................
125
4.7.2 Macro program call (G65, G66, G67) ........................................................................................
125
4.7.3 Macro call via G function............................................................................................................
132
4.8 Special functions........................................................................................................................
135
4.8.1 Contour repetition (G72.1, G72.2) .............................................................................................
135
4.8.2 Switchover modes for DryRun and skip levels ..........................................................................
137
A Abbreviations.........................................................................................................................................
139
B G code table ..........................................................................................................................................
147
C Data Description....................................................................................................................................
151
C.1 General machine data................................................................................................................
151
C.2 Channel-specific machine data..................................................................................................
164
C.3 Axis-specific setting data ...........................................................................................................
177
C.4 Channel-specific setting data.....................................................................................................
178
D Data lists................................................................................................................................................
181
D.1 Machine data..............................................................................................................................
181
D.2 Setting data................................................................................................................................
183
D.3 Variables ....................................................................................................................................
184
E Interrupts ...............................................................................................................................................
187
Glossary ................................................................................................................................................
189
Index......................................................................................................................................................
213
Table of contents
ISO Milling
6 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
7

Principles of programming

1

1.1 Introductory comments

1.1.1 Siemens mode

The following conditions are valid in the Siemens mode:
The default of the G commands can be defined for each channel via the machine data
20150 $MC_GCODE_RESET_VALUES.
No language commands from the ISO dialects can be programmed in the Siemens mode.

1.1.2 ISO dialect mode

The following conditions are valid in the active ISO dialect mode:
The ISO dialect mode can be set with machine data as the default setting of control
system. The control system reboots by default in the ISO dialect mode subsequently.
Only G functions from the ISO dialect can be programmed; the programming of Siemens
G functions is not possible in the ISO Mode.
Mixing of ISO dialect and Siemens language in the same NC block is not possible.
Switching between ISO Dialect M and ISO Dialect T with a G command is not possible.
Subroutines that are programmed in the Siemens mode can be called.
If Siemens functions are to be used, one must first switch to the Siemens mode.

1.1.3 Switching between the modes

The following G functions can be used to switch between the Siemens mode and the ISO
dialect mode:
G290 - Siemens NC programming language active
G291 - ISO Dialect NC Programming language active
The active tool, the tool offsets and work offsets are not influenced by the switchover.
G290 and G291 must be programmed alone in an NC block.
Principles of programming
1.1 Introductory comments
ISO Milling
8 Programming Manual, 06/09, 6FC5398-7BP10-1BA0

1.1.4 Display of the G code

The G code is displayed in the same language (Siemens or ISO Dialect) as the relevant
current block. If the display of the blocks is suppressed with DISPLOF, the G codes continue
to be displayed in the language in which the active block is displayed.
Example
The G functions of the ISO dialect mode are used to call the Siemens standard cycles. To do
this, DISPLOF is programmed at the start of the relevant cycle; this way the G functions that
are programmed in the ISO dialect language continue to be displayed.
PROC CYCLE328 SAVE DISPLOF
N10 ...
...
N99 RET
Procedure
The Siemens shell cycles are called via main programs. The Siemens mode is selected
automatically by calling the shell cycle.
With DISPLOF, the block display is frozen on calling the cycle; the display of the G code
continues in the ISO Mode.
The G codes that were changed in the shell cycle, are reset to their original status at the end
of the cycle with the "SAVE" attribute.

1.1.5 Maximum number of axes/axis identifiers

The maximum number of axes in the ISO dialect mode is 9. The axis identifiers for the first
three axes are defined permanently with X, Y and Z. All other axes can be identified with the
letters A, B, C, U, V and W.

1.1.6 Decimal point programming

In the ISO dialect mode, there are two notations for evaluating programmed values without
decimal point:
Pocket calculator notation
Values without decimal points are interpreted as mm, inch or degree.
Standard notation
Values without decimal point are multiplied by a conversion factor.
The setting is done over MD10884 $MN_EXTERN_FLOATINGPOINT_PROG.
There are two different conversion factors, IS-B and IS-C. This weighting is related to the
addresses X Y Z U V W A B C I J K Q R and F.
Example:
Linear axis in mm:
Principles of programming
1.1 Introductory comments
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
9
X 100.5
corresponds to a value with decimal point: 100.5 mm
X 1000
Pocket calculator notation: 1,000 mm
Standard notation:
IS-B: 1,000* 0.001= 1 mm
IS-C: 1,000* 0.0001= 0.1 mm
ISO dialect milling
Table 1- 1 Different conversion factors for IS-B and IS-C
Address Unit IS-B IS-C
Linear axis mm
inch
0,001
0,0001
0,0001
0,00001
Rotary axis Degree 0,001 0,0001
F feed G94 (mm/inch per min.) mm
inch
1
0,01
1
0,01
F feed G95 (mm/inch per min.) mm
inch
0,01
0,0001
0,01
0,0001
F thread lead mm
inch
0,01
0,0001
0,01
0,0001
C chamfer mm
inch
0,001
0,0001
0,0001
0,00001
R radius, G10 toolcorr mm
inch
0,001
0,0001
0,0001
0,00001
Q mm
inch
0,001
0,0001
0,0001
0,00001
I, J, K IPO parameters mm
inch
0,001
0,0001
0,0001
0,00001
G04 X or U s 0,001 0,001
A angle contour definition Degree 0,001 0,0001
G74, G84 tapping cycles
$MC_EXTERN_FUNCTION_MASK
Bit8 = 0 F as feed such as G94, G95
Bit8 = 1 F as thread lead
Principles of programming
1.1 Introductory comments
ISO Milling
10 Programming Manual, 06/09, 6FC5398-7BP10-1BA0

1.1.7 Comments

In the ISO dialect mode, brackets are interpreted as comment signs. In the Siemens mode,
";" is interpreted as comment. To simplify matters, an ";" is also understood as comment in
the ISO dialect mode.
If the comment start sign '(' is used inside a comment again, the comment is ended only if all
the open brackets are closed again.
Example:
N5 (comment) X100 Y100
N10 (comment(comment)) X100 Y100
N15 (comment(comment) X100) Y100
X100 Y100 is executed in block N5 and N10, but only Y100 in block N15, because the first
bracket is closed only after X100. Everything up to that point is interpreted as comment.

1.1.8 Skip block

The sign of skipping or suppression of blocks "/" can be used at any convenient position in a
block, i.e. even in the middle of the block. If the programmed block skip level is active on the
date of the compilation, the block is not compiled from this point up to the end of the block.
An active block skip level has the same effect as a block end.
Example:
N5 G00 X100. /3 YY100 --> Alarm 12080 "Syntax error"
N5 G00 X100. /3 YY100 --> no alarm, if block skip level 3 is active
Block skip signs within a comment are not interpreted as block skip signs
Example:
N5 G00 X100. ( /3 Part1 ) Y100
;the Y axis is traversed even when the block skip level 3 is active
The block skip levels /1 to /9 can be active. Block skip values <1 and >9 lead to alarm 14060
"Impermissible skip level for differential block skip".
The function is mapped to the existing Siemens skip levels. Unlike the ISO Dialect original,
"/" and "/1" are separate skip levels that must also be activated separately.
Note
The "0" in "/0" can be omitted.
Principles of programming

1.2 Preconditions for the feed

ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
11
1.2 Preconditions for the feed
The following Section describes the feed function with which the feedrate (covered path per
minute or per rotation) of a cutting tool is defined.

1.2.1 Rapid traverse

Rapid traverse is used for positioning (G00) as well as for manual traverse with rapid
traverse (JOG). In rapid traverse, each axis is traversed with the rapid traverse rate set for
the individual axes. The rapid traversing rate is defined by the machine manufacturer and it
is specified by the machine data for the individual axes. As the axes traverse independently
of each other, each axis reaches its target point at a different time. Hence, the resulting tool
path is generally not a straight line.

1.2.2 Path feed (F function)

Note
Unless something else is specified, the unit "mm/min" always stands for feedrate of the
cutting tool in this documentation.
The feed with which a tool should be traversed in linear interpolation (G01) or circular
interpolation (G02, G03) is designated with the address character "F".
The feed of the cutting tool in "mm/min" is specified after the address character "F".
The permissible range of F values is specified in the documentation of the machine
manufacturer.
Possibly, the feed is limited by the servo system and the mechanical system in the upward
direction. The maximum feed is set in the machine data and limited to the value defined
there before an overshoot.
The path feed is generally composed of the individual speed components of all geometry
axes participating in the movement and refers to the cutter center (see the two following
figures).
Principles of programming
1.2 Preconditions for the feed
ISO Milling
12 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
3URJUDPPLQJH[DPSOHZLWKWKH
IROORZLQJSURJUDP
*,QFUHPHQWDOGLPHQVLRQLQJ
*;<)
3DWKYHORFLW\LQ
WDQJHQWLDOGLUHFWLRQ
PPPLQ
PPPLQ
PPPLQ
<
;
Figure 1-1 Linear interpolation with 2 axes
PPPLQ
3URJUDPPLQJH[DPSOHZLWKWKH
IROORZLQJSURJUDP
*,QFUHPHQWDOGLPHQVLRQLQJ
*;<,)
&HQWHUSRLQW
)[
)\
<
;
Figure 1-2 Circular interpolation with 2 axes
In 3D interpolation, the feed of the resulting straight lines programmed with F are maintained
in the space.
Principles of programming
1.2 Preconditions for the feed
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
13
3URJUDPPLQJH[DPSOHZLWK
WKHIROORZLQJSURJUDP
*;<=)
PPPLQ
6WDUWSRLQW
(QGSRLQW
<
;
=
Figure 1-3 Feed in case of 3D interpolation
Note
If "F0" is programmed and the function "Fixed feedrate" is not active, then the Alarm 14800
"Programmed path velocity less than or equal to zero" is output.

1.2.3 Fixed feedrates F0 to F9

Activate feed values
Ten different feed values pre-set via setting data can be activated with F0 to F9. To activate
the rapid traverse rate with F0, the corresponding speed must be entered in the setting data
42160 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[0].
The feed values for F0 to F9 are entered in the setting data as real values. An evaluation of
the input values is not undertaken.
The function is activated via the machine data 22920
$MC_EXTERN_FIXED_FEEDRATE_F1_ON. If the machine data is set to FALSE, F1 - F9 is
interpreted as normal feed programming, e.g. F2 = 2 mm/min, F0=0 mm/min.
If the machine data = TRUE, the feed values for F0 - F9 are fetched from the setting data
42160 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[ ]. If the value 0 exists in one of the
setting data, then the corresponding address extension of feed 0 is activated during the
programming.
Principles of programming
1.2 Preconditions for the feed
ISO Milling
14 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
Example
$SC_FIXED_FEEDRATE_F1_F9[0] = 5000
$SC_FIXED_FEEDRATE_F1_F9[1] = 1000
$SC_FIXED_FEEDRATE_F1_F9[2] = 500
N10 X10 Y10 Z10 F0 G94 ;Approach position at 5000 mm/min
N20 G01 X150 Y30 F1 ;Feed 1000 mm/min active
N30 Z0 F2 ;Position approached at 500 mm/min
N40 Z10 F0 ;Approach position at 5000 mm/min
Table 1- 2 Setting data for the default setting of feedrate F
F function Setting Data
F0 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[0]
F1 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[1]
F2 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[2]
F3 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[3]
F4 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[4]
F5 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[5]
F6 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[6]
F7 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[7]
F8 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[8]
F9 $SC_EXTERN_FIXED_FEEDRATE_F1_F9[9]
Note: Input format = REAL
Note
If the function is activated with MD $MC_EXTERN_FIXED_FEEDRATE_F1_ON and if the
feed value from the setting data is not to be active with F1 to F9, then the feed value is
programmed as actual value. If, for instance, a feed value should be programmed at 1
mm/min, the feed must be programmed with F1.0 instead of F1.
If the "DRY RUN" (test run) switch is set to "ON", all the feed commands are traversed at the
feed set for the test run.
The Feed Override function is effective even for the fixed feedrates F0 to F9.
The feed set in the setting data is stored even after the control system is switched off.
In a macro call with G65/G66, the value programmed with F is stored in the system variable
$C_F, i.e. the numeric values 0 to 9 are stored.
If, in a cycle call, a fixed feed (F0 - F9) is programmed in a machining program, the feed
value is read from the relevant setting data and stored in the variable $C_F.
Principles of programming
1.2 Preconditions for the feed
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
15
Example
$SC_FIXED_FEEDRATE_F1_F9[0] = 1500.0
$SC_FIXED_FEEDRATE_F1_F9[1] = 550.0
N10 X10 Y10 Z10 F0 G94 ;Positioning with 1500
N20 G01 X150 Y30 F1 ;Feed 550 mm/min active
N40 Z10 F0 ;Positioning with 1500
Note
While macroprogramming with G65/66, the programmed value for the address F is always
stored in the cycle system variable. For F1 to F9, for example, the value 1 to 9 is entered in
the cycle system variable $C_F. The address signifies a transfer variable here and has no
direct reference to the feed.
The same is true of the thread lead programming in G33 - G34 with the address F. No feed
is programmed with F here, instead the distance between two threads during a spindle
revolution.
In cycle programming (e.g., G81 X.. Y.. Z.. R.. P.. Q.. F..), the feed is always programmed
under the address F. In a part program block with a cycle call over a G function (G81 - G87
etc.), the corresponding feed value during the programming of F1 to F9 is written from the
corresponding setting data in the variable $C_F.
Restriction
In the ISO dialect mode, the feed values are changed in the setting data with a handwheel.
In the Siemens mode, the feeds can be influenced only like a directly programmed feed, e.g.
through the override switch.

1.2.4 Linear feed (G94)

On specifying G94, the feed given after the address character F is executed in the mm/min,
inch/min or degree/min unit.

1.2.5 Inverse-time feed (G93)

On specifying G93, the feed given after the address character F is executed in the 1/min
unit. G93 is a modally effective G function.
Example
N10 G93 G1 X100 F2 ;
Principles of programming
1.2 Preconditions for the feed
ISO Milling
16 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
i.e., the programmed path is traversed within half a minute.
Note
The time inverse feed 1/min G93 is not implemented for SINUMERIK 802D.

1.2.6 Revolutional feedrate (G95)

On entering G95, the feed is executed in the mm/revolution unit or inch/revolution related to
the master spindle.
Note
All of the commands are modal. If the G feed command is switched among G93, G94 or
G95, the path feed must be reprogrammed. The feed can also be specified in
degree/revolution for the machining with rotary axes.
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
17

Drive commands

2

2.1 Interpolation commands

The positioning and interpolation commands, with which the tool path along the programmed
contour, such as a straight line or a circular arc, is monitored, are described in the next
Section.

2.1.1 Rapid traverse (G00)

You can use rapid traverse to position the tool rapidly, to traverse around the workpiece or to
approach tool change points.
The following G functions can be used to call the positioning (refer to following table):
Table 2- 1 G function for positioning
G function Function G group
G00 Rapid traverse 01
G01 Linear movement 01
G02 Circle/helix in the clockwise direction 01
G02.2 Involute in the clockwise direction 01
G03 Circle/helix in the counterclockwise direction 01
G03.2 Involute in the counterclockwise direction 01
Positioning (G00)
Format
G00 X... Y... Z... ;
Explanation
The tool movement programmed with G00 is executed at the highest possible traversing
speed (rapid traverse). The rapid traverse rate is defined separately for each axis in machine
data. If the rapid traverse movement is executed simultaneously on several axes, the rapid
traverse rate is determined by the axis which requires the most time for its section of the
path.
Axes that are not programmed in a G00 block are not traversed. In positioning, the individual
axes traverse independently of each other with the rapid traverse rate specified for each
axis. The precise speeds of your machine can be consulted in the documentation of the
manufacturer.
Drive commands
2.1 Interpolation commands
ISO Milling
18 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
3URJUDPPLQJH[DPSOH
*;<=
5DSLGWUDYHUVHUDWH
;D[LVPPPLQ
<D[LVPPPLQ
=D[LVPPPLQ
<D[LV
=D[LV
;D[LV



Figure 2-1 Positioning in the run state with 3 simultaneously controllable axes
Note
As in positioning with G00, the axes traverse independently of each other (not interpolated),
each axis reaches its end point at a different time. Hence, one must be very careful in
positioning with several axes, so that a tool does not collide with a workpiece of the tool
during the positioning.
Linear interpolation (G00)
Linear interpolation with G00 is defined by setting the machine data 20732
$MC_EXTERN_GO_LINEAR_MODE. Here, all programmed axes traverse in rapid traverse
with linear interpolation and reach their target positions simultaneously.

2.1.2 Linear interpolation (G01)

With G01 the tool travels on paraxial, inclined or straight lines arbitrarily positioned in space.
Linear interpolation permits machining of 3D surfaces, grooves, etc.
Format
G01 X... Y... Z... F... ;
In G01, the linear interpolation is executed with the path feed. The axes that are not
specified in the block with G01 are not traversed. The linear interpolation is programmed as
in the example given above.
Drive commands
2.1 Interpolation commands
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
19
Feed F for path axes
The feedrate is specified under the address F. Depending on the default setting in the
machine data, the units of measurement specified with the G commands (G93, G94, G95)
are either in mm or inch.
One F value can be programmed per NC block. The unit of feedrate is defined over one of
the mentioned G commands. The feed F acts only on path axes and remains active until a
new feed value is programmed. Separators are permitted after address F.
Note
A
n alarm is triggered while executing a G01 block if no feed was programmed in a block with
G01 or in the previous blocks.
The end point can be specified either as absolute or as incremental. Details are available in
Chapter "Absolute/incremental dimensioning".
3URJUDPPLQJH[DPSOH
*;<=)
<D[LV
;D[LV
=D[LV
PPPLQ
7DQJHQWLDOYHORFLW\



Figure 2-2 Linear interpolation

2.1.3 Circular interpolation (G02, G03)

Format
To start the circular interpolation, please execute the commands specified in the following
table.
Table 2- 2 Commands to be executed for circular interpolation
Element Command Description
Designation of the plane G17 Circular arc in Plane X-Y
G18 Circular arc in Plane Z-X
G19 Circular arc in Plane Y-Z
Drive commands
2.1 Interpolation commands
ISO Milling
20 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
Element Command Description
Direction of rotation G02 clockwise
G03 counterclockwise
End-point position Two axes from X, Y
or Z
End-point position in a workpiece coordinate
system
Two axes from X, Y
or Z
Distance of start point - end point with sign
Distance between start point -
center
Two axes from I, J or
K
Distance start point - circle center with sign
Radius of circular arc R Radius of circular arc
Feed F Speed along the circular arc
Designation of the plane
With the commands specified below, a tool traverses along the specified circular arc in the
plane X-Y, Z-X or Y-Z, so that the feed specified with "F" is maintained on the circular arc.
in Plane X-Y:
G17 G02 (or G03) X... Y... R... (or I... J... ) F... ;
in Plane Z-X:
G18 G02 (or G03) Z... X... R... (or K... I... ) F... ;
in the Plane Y-Z:
G19 G02 (or G03) Y... Z... R... (or J... K... ) F... ;
Before the circle radius programming (with G02, G03), one must first select the desired
interpolation plane with G17, G18 or G19. Circular interpolation is not allowed for the 4th and
5th axes, if these are linear axes.
Plane selection is also used to select the plane in which the tool radius compensation
(G41/G42) is performed. The Plane X-Y (G17) is automatically set after activating the control
system.
G17 X-Y plane
G18 Z-X plane
G19 Y-Z plane
The working planes should be specified, in general.
Circles can also be created outside the selected working plane. In this case, the axis
addresses (specification of circle end positions) determine the circular plane.
Circular interpolation is possible in the Xβ, Zβ or Yβ plane while selecting an optional 5th
linear axis, which also contains a 5th axis besides the X-Y, Y-Z and Z-X planes (β=U, V or
W)
Circular interpolation in the Xβ plane
G17 G02 (or G03) X... β... R... (or I... J... ) F... ;
Circular interpolation in the Zβ plane
G18 G02 (or G03) Z... β... R... (or K... I... ) F... ;
Drive commands
2.1 Interpolation commands
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
21
Circular interpolation in the Yβ plane
G19 G02 (or G03) Y... β... R... (or J... K... ) F... ;
If the address characters for the 4th and 5th axes are omitted - such as in the commands
"G17 G02 X... R... (or I... J... ) F... ;", then the X-Y plane is selected automatically as the
interpolation plane. Circular interpolation with the 4th and 5th axes is not possible if these
additional axes are rotary axes.
Direction of rotation
The direction of rotation of the circular arc is to be specified as given in the following figure.
G02 clockwise
G03 counterclockwise
<D[LV =D[LV
;D[LV
;D[LV =D[LV <D[LV
3ODQH;<* 3ODQH=;*
3ODQH<=*
*
*
*
*
*
*
Figure 2-3 Direction of rotation of the circular arc
End point
The end point can be specified corresponding to the definition with G90 or G91 as absolute
or incremental (not in G Code System A!).
If the specified end point does not lie on the circular arc, the system outputs Alarm 14040
"Error in end point of circle".
Possibilities of programming circular movements
The control system offers two options of programming circular movements.
The circular motion is described by the:
Drive commands
2.1 Interpolation commands
ISO Milling
22 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
Center point and end point in the absolute or incremental dimension (default)
Radius and end point in Cartesian coordinates
For a circular interpolation with a central angle <= 180 degree, the programming should
be "R > 0" (positive).
For a circular interpolation with a central angle > 180 degree, the programming should be
"R < 0" (negative).
(QGSRLQW
rRUOHVVHU
6WDUWSRLQW
rRUJUHDWHU
3URJUDPPLQJH[DPSOH
**;<5s)
5!
5
Figure 2-4 Circular interpolation with specification of Radius R
Feed
During the circular interpolation, the feed can be specified exactly as during linear
interpolation (see Chapter "Linear interpolation (G01)").

2.1.4 Contour definition programming and addition of chamfers or radiuses

Chamfers or radiuses can be added after each traversing block between linear and circular
contours. For example, to grind sharp edges of workpieces.
The following combinations are possible during addition:
between two straight lines
between two circular arcs
between a circular arc and a straight line
between a straight line and a circular arc
Format
, C...; Chamfer
, R...; Rounding
Drive commands
2.1 Interpolation commands
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
23
Example
N10 G1 X10. Y100. F1000 G18
N20 A140 C7.5
N30 X80. Y70. A95.824, R10
&KDPIHU 
5DGLXV 
r
r
;=
;=
;=
;=
5
=
;
Figure 2-5 3 straight lines
ISO dialect mode
In the ISO dialect original, the C address can be used as axis name as well as for denoting a
chamfer on the contour.
The Address R can either be a cycle parameter or an identifier of the radius of a contour.
To differentiate between these two possibilities, a comma "," must be used while
programming the contour definition before the address "R" or "C".
Siemens mode
The identifiers of chamfer and radius are defined in the Siemens mode using the machine
data. Name conflicts can be avoided this way. There should be no comma before the
identifier of the radius or chamfer. The following machine data (MD) is used:
MD for the radius: $MN_RADIUS_NAME
MD for the chamfer: $MN_CHAMFER_NAME
Drive commands
2.1 Interpolation commands
ISO Milling
24 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
Selection of plane
Chamfer or fillet is possible only in the plane specified through the plane selection (G17, G18
or G19). These functions cannot be used on parallel axes.
Note
No chamfer/rounding is inserted, if
No straight- or circular contour is available in the plane,
a movement takes place outside the plane,
The plane is changed or a number of blocks specified in the machine data, that do not
contain any information about traversing (e.g., only command outputs), is exceeded.
Coordinate system
After a block that changes the coordinate system (G92 or G52 to G59) or that contains a
command of reference point approach (G28 to G30), should not contain any command for
chamfering or rounding of corners.
Thread cutting
The specification of fillet in thread cutting blocks is not permissible.
Drive commands
2.1 Interpolation commands
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
25

2.1.5 Helical interpolation (G02, G03)

With helical interpolation, two motions are superimposed and executed in parallel:
A plane circular motion on which
A vertical linear motion is superimposed.
3URJUDPPLQJH[DPSOH
**;<5=)
6WDUWSRLQW
(QGSRLQW
=
;
<

5
) 


Figure 2-6 Helical interpolation
Note
G02 and G03 are modal. The circular motion is performed in those axes that are defined
by the specification of the working plane.
For detailed description of the interpolation parameters in case of helical interpolation,
refer to "Programming Manual Fundamentals".
Drive commands
2.1 Interpolation commands
ISO Milling
26 Programming Manual, 06/09, 6FC5398-7BP10-1BA0

2.1.6 Involute interpolation (G02.2, G03.2)

Overview
The involute of a circle is a curve traced out from the end point on a "piece of string"
unwinding from the curve. The involute interpolation allows trajectories along an involute. It is
executed in the plane in which the base circle is defined. If the starting point and the end
point are not in this plane, then, analogous to the helical interpolation for circles, there is a
superimposition to a curve in space.
1VWDUWSRLQW
; < 
1HQGSRLQW
; < 
1
1
<
;
&5 
An involute can be traversed in space in case of additional specification of paths vertical to
the active plane.
Format
G02.2 X... Y... Z... I... J... K... R
G03.2 X... Y... Z... I... J... K... R
G02.2: Travel on an involute in clockwise direction
G03.2: Travel on an involute in counterclockwise direction
X Y Z: End point in Cartesian coordinates
I J K: Center of the base circle in cartesian coordinates
R: Radius of the base circle
Drive commands
2.1 Interpolation commands
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
27
Supplementary conditions
Both the starting point and the end point must be outside the area of the base circle of the
involute (circle with radius R around the center point specified by I, J, K). If this condition is
not satisfied, an alarm is generated and the program execution is aborted.
Note
For more information about machine data and supplementary conditions that are relevant to
involute interpolation, please see References: /FB1/, A2 Chapter "Settings for involute
interpolation".

2.1.7 Cylindrical interpolation (G07.1)

Randomly running grooves can be cut on cylindrical workpieces with Function G07.1
(cylindrical interpolation). The path of the grooves is programmed with reference to the
unwinded, plane surface of the cylinder.
The G functions specified below can be used to switch the operation of cylindrical
interpolation on or off.
Table 2- 3 G functions for activating/deactivating the cylindrical interpolation
G function Function G group
G07.1 Operation with cylindrical interpolation 16
Format
G07.1 A (B, C) r ;Activation of operation with cylindrical interpolation
G07.1 A (B, C) 0 ;Deselection of operation with cylindrical interpolation
A, B, C: Address of the rotary axis
r: Radius of the cylinder
No other commands should be present in the block containing G07.1.
The G07.1 command is modal. Once G07.1 is specified, the cylindrical interpolation remains
active till G07.1 A (B, C) is deselected. The cylindrical interpolation is deactivated in closed
position or after NC RESET.
Note
G07.1 is based on the Siemens option TRACYL. Appropriate machine data is to be set for
this.
The corresponding data on this is available in the manual "Extended Functions", Section M1,
TRACYL.
Drive commands
2.1 Interpolation commands
ISO Milling
28 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
Programming example
At the cylindrical plane (it arises because the circumference of a cylindrical workpiece is
rolled off), in which the Z-axis is accepted as the linear axis and the A-axis as the rotary axis,
the following program is written:







 









Figure 2-7 G07.1 - Programming example
Program
M19
G40
G00 Z30. A-10.
G07.1 A57.296 ;Operation with cylindrical interpolation ON
;(workpiece radius = 57.926)
G90
G42 G01 A0 F200
G00 X50.
G01 A90. F100
G02 A120. Z60. R30
G01 Z90.
Z120. A150.
Z150.
G03 Z150. A210. R30.
G02 Z120. A240. R30
G01 A300.
Z30. A330.
A360.
G00 X100.
G40 G01 A370.
G07.1 A0 ;Operation with cylindrical interpolation OFF
G00 A0
Drive commands
2.1 Interpolation commands
ISO Milling
Programming Manual, 06/09, 6FC5398-7BP10-1BA0
29
Programming in operation with cylindrical interpolation
Only the following G functions can be used in cylindrical interpolation: G00, G01, G02, G03,
G04, G40, G41, G42, G65, G66, G67, G90, G91 and G07.1. In operation with G00 only
those axes can be used that are not involved at the cylindrical plane.
The following axes cannot be used as a positioning axis or a reciprocating axis:
1. The geometry axis in the peripheral direction of the surface of the cylinder (Y axis)
2. The additional linear axis for groove side offset (Z axis)
Relations between the cylindrical interpolation and operations with reference to the coordinate system
The functions mentioned below should not be used in operation with cylindrical
interpolation.
Mirroring
Scaling (G50, G51)
Rotation of the coordinate system (G68)
Setting the basic coordinate system
The relevant overrides (rapid traverse, JOG, spindle speed) are effective.
On deselecting this operation with cylindrical interpolation, the interpolation plane that
was selected before the operation with the cylindrical interpolation was called becomes
active again.
To perform the tool length compensation, the command for the tool length compensation
is to be written before specifying the G07.1 command.
The work offset (G54 - G59) is also to be written before specifying the G07.1 command.
Drive commands

2.2 Reference point approach with G functions

ISO Milling
30 Programming Manual, 06/09, 6FC5398-7BP10-1BA0
2.2 Reference point approach with G functions

2.2.1 Reference point approach with intermediate point (G28)

Format
G28 X... Y... Z... ;
The commands "G28 X... Y... Z... ;" can be used to traverse the programmed axes to their
reference point. Here, the axes are first traversed to the specified position with rapid
traverse, and from there to the reference point automatically. The axes not programmed in
the block with G28 are not traversed to their reference point.
Reference position
When the machine has been powered up (where incremental position measuring systems
are used), all the axes must approach their reference mark. Only then can traversing
movements be programmed. The reference point can be approached in the NC program with
G28. The reference point coordinates are defined with the machine data 34100
$_MA_REFP_SET_POS[0] up to [3]). A total of four reference positions can be defined.
3URJUDPPLQJH[DPSOH
***;<=
=D[LV
<D[LV
5HIHUHQFHSRLQW
DIL[HGSRLQWLQWKHPDFKLQH
'HOD\RI=D[LV/6
5HWXUQWRUHIHUHQFHSRLQW
,QWHUSRODWLRQSRLQWDVLQWHUPHGLDWHSRLQW
GXULQJSRVLWLRQLQJ
'HOD\RI<D[LV/6
3RVLWLRQLQJ
6WDUWSRLQW
$
%
=
<
Figure 2-8 Automatic reference point approach
Loading...
+ 185 hidden pages