pplicable to
the following controls:
SINUMERIK 840D powerline
SINUMERIK 840DE powerline (export version)
SINUMERIK 840Di
SINUMERIK 840DiE (export version)
SINUMERIK 810D powerline
SINUMERIK 810DE powerline (export version)
software version
NC 7
Feedrate Control and
Spindle Motion
Tool offsets
Special functions
Arithmetic Parameters and
Program Jumps
Subprograms and Repetition
of Program Sections
Tables
List of abbreviations
7
8
9
10
11
12
A
10.2004 Edition
6FC5 298-7AB00-0BP1
Page 4
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Copyright Siemens AG . All rights reserved.
The distribution and duplication of this document or the utilization and transmission of its
contents are not permitted without express written permission. Offenders will be liable for
damages. All rights, including rights created by patent grant or registration of a utility
model or design, are reserved.
Siemens AG
Automation and Drives
Postfach 4848, 90327 Nuremberg, Germany
Siemens Aktiengesellschaft 6FC5 298-7AB00-0BP1
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 2005
Technical data subject to change
Page 5
Preface
Structure of the documentation
The SINUMERIK documentation is organized in 3 parts:
• General documentation
• User documentation
• Manufacturer/service documentation
Audience
This document is designed for machine tool users. The document describes in detail all the
technical facts an operator needs to understand how to program the SINUMERIK
840D/810D control systems.
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.
Please contact your local Siemens office for more detailed information about other
SINUMERIK 840D/810D publications and publications that apply to all SINUMERIK controls
(e.g., universal interface, measuring cycles, etc.).
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.
Validity
This Programming Guide applies to the following controls:
SINUMERIK 840D powerline 7
SINUMERIK 840DE powerline (export version) 7
SINUMERIK 840Di 3
SINUMERIK 840DiE (export version) 3
SINUMERIK 810D powerline 7
SINUMERIK 810DE powerline (export version)
with operator panels OP 010, OP 010C, OP 010S, OP 12,
Fax form: See the reply form at the end of the document.
Fundamentals
This Programming Guide "Fundamentals" is intended for use by skilled machine operators
with the appropriate expertise in drilling, milling and turning operations. Simple programming
examples are used to explain the commands and statements, which are also defined
according to DIN 66025.
Job planning
The Programming Guide "Advanced" is intended for use by technicians with in-depth,
comprehensive programming knowledge. By virtue of a special programming language, the
SINUMERIK 840D/810D control enables the user to program complex workpiece programs
(e.g., for sculptured surfaces, channel coordination, etc.) and greatly facilitates the
programming of complicated operations.
1.4.11 Link axes .................................................................................................................................. 1-27
1.4.12 Lead link axes .......................................................................................................................... 1-28
1.5 Coordinate systems and workpiece machining ....................................................................... 1-30
2 Fundamental Principles of NC Programming.......................................................................................... 2-1
2.1 Structure and contents of an NC program ................................................................................. 2-1
2.2 Language elements of the programming language ................................................................... 2-2
2.3 Programming a sample workpiece........................................................................................... 2-21
2.4 First programming example for milling application .................................................................. 2-22
2.5 Second programming example for milling application ............................................................. 2-23
2.6 Programming example for turning application ......................................................................... 2-26
8.17.4 Tool length and plane change.................................................................................................. 8-78
8.18 Tools with a relevant cutting edge length ................................................................................ 8-79
9 Special functions..................................................................................................................................... 9-1
9.1 Auxiliary function outputs ........................................................................................................... 9-1
9.1.1 M functions................................................................................................................................. 9-5
9.1.2 H functions ................................................................................................................................. 9-7
10 Arithmetic Parameters and Program Jumps ......................................................................................... 10-1
A List of abbreviations................................................................................................................................A-1
In order for the machine or control to operate with the specified positions, these data must be
entered in a reference system that corresponds to the direction of motion of the axis slides. A
coordinate system with the axes X, Y and Z is used for this purpose.
DIN 66217 stipulates that machine tools must use right-handed, rectangular (Cartesian)
coordinate systems.
The workpiece zero (W) is the origin of the workpiece coordinate system. Sometimes it is
advisable or even necessary to work with negative positional data. Positions to the left of the
origin are prefixed by a negative sign (–).
1.1.2 Definition of workpiece positions
To specify a position, imagine that a ruler is placed along the coordinate axes. You can now
describe every point in the coordinate system by specifying the direction (X, Y and Z) and
three numerical values. The workpiece zero always has the coordinates X0, Y0, and Z0.
;
=
The infeed depth must also be described in milling operations.
One plane is sufficient to describe the contour on a lathe.
Workpiece positions in the working area
For the sake of simplicity, we will only use one plane of the coordinate system in this
example, i.e., the X/Y plane. Points P1 to P4 then have the following coordinates:
The method used to date to specify points in the coordinate system is known as the
"Cartesian coordinate" method.
However, there is another way to specify coordinates, i.e., as so-called "polar coordinates".
The polar coordinate method is useful only if a workpiece or part of a workpiece has radius
and angle measurements. The point, on which the measurements are based, is called the
"pole".
Example of polar data
The points P1 and P2 can then be described, with reference to the pole, as follows:
<
3
3
¡
¡
3ROH
P1 corresponds to radius =100 plus angle =30°
P2 corresponds to radius =60 plus angle =75°
1.1.4 Absolute dimensions
With absolute dimensions, all the positional data refer to the currently valid zero point.
Applied to tool movement this means:
the position, to which the tool is to travel.
Example of milling
The positional parameters for points P1 to P3 in absolute dimensions referring to the zero
point are the following:
Production drawings are frequently encountered, however, where the dimensions refer not to
the origin, but to another point on the workpiece. In order to avoid having to convert such
dimensions, it is possible to specify them in incremental dimensions. Incremental dimensions
refer to the positional data for the previous point. Applied to tool movement this means:
The incremental dimensions describe the distance the tool is to travel.
Example of milling
The positional data for points P1 to P3 in incremental dimensions are:
<
3
3
P1 corresponds to X20 Y35 ;(with reference to the zero point)
P2 corresponds to X30 Y20 ;(with reference to P1)
P3 corresponds to X20 Y-35 ;(with reference to P2)
Example of turning
The positions for points P1 to P4 in incremental dimensions are as follows:
G90 P1 corresponds to X25 Z-7.5 ;(with reference to the zero point)
G91 P2 corresponds to X15 Z-7.5 ;(with reference to P1)
G91 P3 corresponds to Z-10 ;(with reference to P2)
G91 P4 corresponds to X20 Z-10 ;(with reference to P3)
Note
When DIAMOF or DIAM90 is active, the path setpoint is programmed as a radius dimension
with G91.
1.1.6 Plane designations
When programming, it is necessary to specify the working plane so that the control system
can calculate the tool offset values correctly. The plane is also relevant to certain types of
circular programming and polar coordinates.
A plane is defined by means of two coordinate axes.
R Reference point. Position determined by cams and measuring system.
Start point. Can be defined for each program.
Start point of the first tool for machining.
The distance to the machine zero M must be known, so that the axis
position can be set at this place exactly on this value
1.3 Position of coordinate systems
1.3.1 Overview of various coordinate systems
We distinguish between the following coordinate systems:
• The machine coordinate system with the machine zero M
• The basic coordinate system (this can also be the workpiece coordinate system W)
• The workpiece coordinate system with the workpiece zero W
• The current workpiece coordinate system with the current offset workpiece zero Wa
In cases where different machine coordinate systems are in use (e.g., 5-axis transformation),
an internal transformation function mirrors the machine kinematics on the coordinate system
currently selected for programming.
Note
The individual axis identifiers are explained in the subsection headed "Axis types".
Where the machine coordinate system is used for programming (this is possible with some
of the G functions), the physical axes of the machine are addressed directly. No allowance
is made for workpiece clamping.
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 (in
accordance with 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:
Determination from the right hand rule for different machine types
With different machine types the determination from the right hand rule can look different in
each case. The following are examples of machine coordinate systems for various
machines.
The basic coordinate system is a Cartesian coordinate system, which is mirrored by
kinematic transformation (for example, 5-axis transformation or by using Transmit with
peripheral surfaces) onto the machine coordinate system.
If there is no kinematic transformation, the basic coordinate system differs from the machine
coordinate system only in terms of the axis designations.
The activation of a transformation can produce deviations in the parallel orientation of the
axes. The coordinate system does not have to be at a right angle.
Zero offsets, scaling, etc., are always executed in the basic coordinate system.
The coordinates also refer to the basic coordinate system when specifying the working field
limitation.
1.3.4 Workpiece coordinate system
3URJUDPPDEOH)5$0(
6=6
**VHWWDEOH)5$0(6
;%&6
;0&6
;%=6
;6=6
The geometry of a workpiece is described in the workpiece coordinate system. In other
words, the data in the NC program refer to the workpiece coordinate system.
These components can be used individually or in any combination.
Mirroring of the Z axis
;
=
=
0
=HURRIIVHW
:
:
=HURRIIVHW
Shifting and turning the workpiece coordinate system
One way of machining inclined contours is to use appropriate fixtures to align the workpiece
parallel to the machine axes.
=
;
0
<
=
<
;
... Another way is to generate a coordinate system, which is oriented to the workpiece. The
coordinate system can be moved and/or rotated with programmable frames.
This enables you to
• move the zero point to any position on the workpiece
• align the coordinate axes parallel to the desired working plane by rotation
• and thus machine surfaces clamped in inclined positions, produce drill holes at different
angles.
• Performing multi-side machining operations.
=
<
=
;
;
<
The conventions for the working plane and the tool offsets must be observed – in
accordance with the machine kinematics – for machining operations in inclined working
planes.
For further information, please see "Selection of working plane, G17 to G19".
1.3.6 Assignment of workpiece coordinate system to machine axes
The location of the workpiece coordinate system in relation to the basic coordinate system
(or machine coordinate system) is determined by settable frames.
The settable frames are activated in the NC program by means of commands such as G54.
1.3.7 Current workpiece coordinate system
Sometimes it is advisable or necessary to reposition and to rotate, mirror and/or scale the
originally selected workpiece coordinate system within a program.
The programmable frames can be used to reposition (rotate, mirror and/or scale) the current
zero point at a suitable point in the workpiece coordinate system. You will thus obtain the
current workpiece coordinate system.
• Synchronized axes traverse synchronously to path axes and take the same time to
traverse as all path axes.
• Positioning axes traverse asynchronously to all other axes. These traversing movements
take place independently of path and synchronized movements.
• Command axes traverse asynchronously to all other axes. These traversing movements
take place independently of path and synchronized movements.
• PLC axes are controlled by the PLC and can traverse asynchronously to all other axes.
The traversing movements take place independently of path and synchronized
movements.
1.4.1 Main axes/Geometry axes
The main axes define a right-angled, right-handed coordinate system. Tool movements are
programmed in this coordinate system.
In NC technology, the main axes are called geometry axes. This term is also used in this
Programming Guide.
The "Switchable geometry axes" function (see Advanced) can be used to alter the geometry
axes grouping configured by machine data. Here any geometry axis can be replaced by a
channel axis defined as a synchronous special axis.
Axis identifier
For turning machines:
Geometry axes X and Z are used, and sometimes Y.
5HYROYHUVZLYHO
D[LV
7RROV
;
0DLQVSLQGOH
PDVWHUVSLQGOH
&D[LV
=
*HRPHWU\
D[HV
6SHFLDOVSLQGOH
6SHFLDOD[LV
7DLO
VWRFN
For milling machines:
Geometry axes X, Y and Z are used.
A maximum of three geometry axes are used for programming frames and the workpiece
geometry (contour).
The machine kinematics determine, which spindle is the main spindle. This spindle is
declared the master spindle in the machine data. As a rule, the main spindle is declared the
master spindle. This assignment can be changed with the program command SETMS
(spindle number). By issuing SETMS without statement of the spindle number you can
switch back to the master spindle defined in the machine data. Special functions such as
thread cutting apply to the master spindle, see "Spindle speed S, spindle direction of rotation
M3, M4, M5".
Spindle identifier
Identifiers: S or S0
1.4.4 Machine axes
Machine axes are the axes physically existing on a machine. The movements of axes can
still be assigned by transformations (TRANSMIT, TRACYL, or TRAORI) to the machine
axes. If transformations are intended for the machine, different axis names must be
determined.
The machine axis names are programmed only in special cases, such as reference point or
fixed point approaching.
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, ..., AXn
1.4.5 Channel axes
Channel axes are all axes, which traverse in a channel.
Axis identifier
Identifiers: X, Y, Z, A, B, C, U, V
1.4.6 Path axes
Path axes define the path and therefore the movement of the tool in space.
The programmed feed is active for this path. The axes involved in this path reach their
position at the same time. As a rule, these are the geometry axes.
However, default settings define, which axes are the path axes, and therefore determine the
velocity.
Path axes can be specified in the NC program with FGROUP, see "Path behavior".
1.4.7 Positioning axes
Positioning axes are interpolated separately, i.e., each positioning axis has its own axis
interpolator and its own feedrate. Positioning axes do not interpolate with the path axes.
Positioning axes are traversed by the NC program or the PLC. If an axis is to be traversed
simultaneously by the NC program and the PLC, an error message appears.
A distinction is made between positioning axes with synchronization at the block end or over
several blocks.
Parameters
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 that are programmed with POS/POSA are removed from the path axis grouping
for the duration of this block.
You will find further information on POS, POSA, and POSP in the section on "Traversing
positioning axes, POS, POSA, POSP".
1.4.8 Synchronized axes
Synchronized axes traverse synchronously to the path from the start position to the
programmed end position.
The feedrate programmed in F applies to all the path axes programmed in the block, but
does not apply to synchronized axes. Synchronized axes take the same time as the path
axes to traverse.
A synchronized axis can be a rotary axis, which is traversed synchronously to the path
interpolation.
Command axes are started from synchronized actions in response to an event (command).
They can be positioned, started, and stopped fully asynchronous to the parts program. An
axis cannot be moved from the parts program and from synchronized actions
simultaneously.
Command axes are interpolated separately, i.e., each command axis has its own axis
interpolator and its own feedrate.
References:/FBSY/, Synchronized Actions
1.4.10 PLC axes
PLC axes are traversed by the PLC via special function blocks in the basic program; their
movements can be asynchronous to all other axes. The traversing movements take place
independently of path and synchronized movements..
1.4.11 Link axes
Link axes are axes, which are physically connected to another NCU and whose position is
controlled from this NCU. Link axes can be assigned dynamically to channels of another
NCU. Link axes are not local axes from the perspective of a particular NCU.
The axis container concept is used for the dynamic modification of the assignment to an
NCU. Axis substitution with GET and RELEASE from the parts program is not available for
link axes.
The participating NCUs, NCU1 and NCU2, must be connected by means of high-speed
communication via the link module.
References:
/PHD/, Configuring Manual NCU 571-573.2, Link Module
The axis must be configured appropriately by machine data.
The link axis option must be installed.
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.
The link communication must provide the means of interaction between the interpolators and
the position controller or PLC interface. The setpoints calculated by the interpolators must be
transported to the position control loop on the home NCU and, vice versa, the actual values
must be returned from there back to the interpolators.
For further information about link axes, please refer to
References: Function description /FB/ B3, Multiple Operator Panels and NCUs
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
MN_AXCONF_LOGIC_MACHAX_TAB of an individual NCU are fixed.
The axis container function is described in
References: Function description /FB/ B3, Multiple Operator Panels and NCUs
1.4.12 Lead link axes
A leading link axis is one that is interpolated by one NCU and utilized by one or several other
NCUs as the master axis for controlling slave axes.
An axial position controller alarm is sent to all other NCUs, which are connected to the
affected axis via a leading link axis.
NCUs that are dependent on the leading link axis can utilize the following coupling
relationships with it:
• Master value (setpoint, actual master value, simulated master value)
• Coupled motion
Programming
Prerequisites
• Tangential correction
• Electronic gear (ELG)
• Synchronous spindle
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.
• The dependent NCUs, i.e., NCU1 to NCUn (n equals, max. of 8), must be interconnected
via the link module for high-speed communication.
References:
/PHD/, Configuring Manual NCU 571-573.2, Link Module
• The axis must be configured appropriately by machine data.
• The link axis option must be installed.
• The same interpolation cycle must be configured for all NCUs connected to the leading
link axis.
Restrictions
• A master axis, which is leading link axis cannot be a link axis, i.e., it cannot be operated
by NCUs other than its home NCU.
• A master axis, which is leading link axis cannot be a container axis, i.e., it cannot be
addressed alternately by different NCUs.
• A leading link axis cannot be the programmed leading axis in a gantry grouping.
• Couplings with leading link axes cannot be cascaded.
• Axis replacement can only be implemented within the home NCU of the leading link axis.
System variables:
The following system variables can be used in conjunction with the channel axis identifier of
the leading link axis:
• $AA_LEAD_SP; Simulated master value position
• SAA_LEAD_SV; Simulated master value velocity
If these system variables are updated by the home NCU of the master axis, the new values
are also transferred to any other NCUs, which wish to control slave axes as a function of this
master axis.
References: /FB/ Function description B3, Multiple Operator Panels and NCUs
1.5 Coordinate systems and workpiece machining
The relationship between travel commands of the programmed axis movements from the
workpiece coordinates and the resulting machine movement is displayed.
How you can determine the distance traveled taking into account all shifts and corrections is
shown by reference to the path calculation.
Relationship between the travel commands from workpiece coordinates and the resulting machine
movements
Axis movement programmed in the workpiece coordinate system
DIN 66025 is the guideline for designing a parts program.
An (NC/part) program consists of a sequence of NC blocks (see table below). Each data
block represents one machining step. Instructions are written in the blocks in the form of
words. The last block in the execution sequence contains a special word for the end of
program: M2, M17 or. M30.
Set Word Word Word ... ;Comment
Set N10 G0 X20 ... ;1st Set
Set N20 G2 Z37 ... ;2nd Set
Set N30 G91 ... ... ;...
Set N40 ... ... ...
Set N50 M30 ... ... ;End of program (last block)
2
Program names
Each program has a different name; the name can be chosen freely during program creation
(except for punch tape format), taking the following conditions into account:
• The first two characters must be letters (or a letter with an underscore character)
• other letters, digits
Example:
_MPF100 or
SHAFT or
SHAFT_2
Only the first 24 characters of a program identifier are displayed on the NC.
File names can contain the characters 0...9, A...Z, a...z or _ and must not exceed 24
characters in total.
File names must have a 3-character extension (_xxx).
Data in punch tape format can be generated externally or processed with an editor. A file
name of a file that is filed internally in the NC memory starts with "_N_".
A file in punch tape format is introduced with %<name>, "%" must be in the first column of
the first row.
Examples:
%_N_SHAFT123_MPF = part program SHAFT123
Or
%flange3_MPF = part program flange3
For further information on downloading, creating, and storing parts programs, please refer to:
Non-printable special characters are treated like blanks.
In the same way as our language, NC programs are made up of blocks and each block is
made up of words.
A word in the "NC language" consists of an address character and a digit or sequence of
digits representing an arithmetic value.
:RUG
$GGUHVV
*
:RUG
$GGUHVV
1XPEHUVWULQJ
1XPEHUVWULQJ
:RUG
$GGUHVV
; 6
1XPEHUVWULQJ
6HW
The address character of the word is usually a letter. The sequence of digits can contain a
leading sign and decimal point. The leading sign always appears between the address letter
and the sequence of digits. The positive leading sign (+) does not have to be specified.
Blocks and block format
An NC program consists of individual blocks. A block generally consists of (several) words.
A block should contain all the data required for performing an operation step and is
terminated with the character "L
" character does not have to be inserted manually, it is generated automatically when
F
you change lines.
Block length
A block can contain a maximum of 512 characters (including the comment and end-of-block
character "L
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.
Word sequence in blocks
In order to keep the block structure as clear as possible, the words in a block should be
arranged as follows:
").
F
Example:
N10 G… X… Y… Z… F… S… T… D… M… H…
Address Meaning
N Address of block number
10 Block number
G Preparatory function
X,Y,Z Positional data
F Feed
S Spindle speed
T Tool
D Tool offset number
M Miscellaneous (i.e., special) function
H Auxiliary function
Note
Certain addresses can be used repeatedly within a block
(e.g., G…, M…, H…)
The main block must contain all the words necessary to start the operation sequence in the
program section beginning with the main block.
Block number
Note
Main blocks can be contained in both main programs and subprograms. The control does
not check whether a main block contains all the necessary information.
Main blocks are identified by a main block number. A main block number comprises the
character ":" and a positive whole number (block number). The block number always
appears at the start of a block.
Note
Main block numbers must be unique within a program to achieve an unambiguous result
when searching.
Example:
:10 D2 F200 S900 M3
Subblocks are identified by a subblock number. A subblock number comprises the character
"N" and a positive whole number (block number). The block number always appears at the
start of a block.
Example:
N20 G1 X14 Y35
N30 X20 Y40
Note
Subblock numbers must be unique within a program in order to achieve an unambiguous
result when searching.
The order of the block numbers is arbitrary, however increasing block numbers are
recommended. You can also program NC blocks without block numbers.
Extended address notation enables a larger number of axes and spindles to be organized in
a system. An extended address is composed of a numeric extension or a variable identifier
enclosed in square brackets and an arithmetic expression with an "=" sign.
Example:
X7 ;No "=" required, 7 is a value, but the "=" character can
X4=20 ;Axis X4 ("=" required)
CR=7.3 ;2 letters ("=" required)
S1=470 ;Speed for 1st spindle 470 rpm
M3=5 ;Spindle stop for 3rd spindle
The extended address notation is only permitted for the following direct addresses:
;also be used here
Address Meaning
X, Y, Z Axis addresses
I, J, K Interpolation parameters
S Spindle speed
SPOS,
SPOSA
M Special functions
H Auxiliary functions
T Tool number
F Feed
Spindle position
In the case of extended address notation, the number (index) can be substituted by a
variable for addresses M, H and S and for SPOS and SPOSA. The variable identifier is
enclosed in square brackets.
Example:
S[SPINU]=470 ;Speed for the spindle, whose number is stored in the
M[SPINU]=3 ;Clockwise rotation for the spindle, whose number is stored in
T[SPINU]=7 ;Selection of the tool for the spindle, whose number is stored
In arithmetic expressions, the execution order of all the operators can be specified by
parentheses, in order to override the normal priority rules.
Value assignments
Values can be assigned to the addresses. The method of value assignment depends on the
type of address identifier.
An "=" sign must be inserted between the address identifier and the value if
• The address identifier comprises more than one letter,
• The value includes more than one constant.
The "="-sign can be omitted if the address identifier is a single letter and the value consists
of only one constant. Leading signs are allowed and separators are permitted after the
address letter.
Example of value assignments
X10 ;Value assignment (10) to address X, "=" not required
X1=10 ;Value assignment (10) to address (X) with
FGROUP(X1, Y2) ;Axis names from passed parameters
AXDATA[X1] ;Axis name as an index when accessing axis data
AX[X1]=10 ;Indirect axis programming
X=10*(5+SIN(37.5)) ;Value assignment by means of a numeric expression
;numeric extension (1), "=" required
;"=" required
Names
Note
A numeric extension must always be followed by one of the special characters "=", "(", "[",
")", "]", ",", or an operator, in order to distinguish an address name with numeric extension
from an address letter with a value.
Identifiers can also be used to describe words (in compliance with DIN 66025). The
identifiers have the same meaning as the words within an NC block. Identifiers must be
unique. The same identifier must not be used for different objects.
The identifiers are composed of up to 32 characters. The following characters may be used:
• Letters
• Underscore symbols
• Digits
The first two characters must be letters or underscores, separators must not be programmed
between the individual characters (see the following pages).
Example:
CMIRROR, CDON
Note
Reserved vocabulary words must not be used as identifiers. Separators are not permitted
between the individual characters.
Note
Number of characters for each identifier
• Program names: 24 characters
• Axis identifiers: 8 characters
• Variable identifiers: 31 characters
Rules for allocating identifiers
The following rules are provided in order to avoid identifier collisions:
• All identifiers beginning with "CYCLE" or "_" are reserved for SIEMENS cycles.
• All identifiers beginning with "CCS" are reserved for SIEMENS compile cycles.
• User compile cycles begin with "CC”.
• We recommend that users select identifier names, which either begin with "U" (User) or
contain the underscore symbol, because these are not used by the system, compile
cycles or SIEMENS cycles.
Further reserved identifiers
• The identifier "RL" is reserved for conventional turning machines.
• All identifiers beginning with "E_ " are reserved for EASYSTEP programming.
Variable identifiers
In variables used by the system, the first letter is replaced by the "$" character. This
character may not be used for user-defined variables.
Examples (see "List of system variables"):
$P_IFRAME, $P_F
Leading zeroes are ignored in variables with numeric extensions (i.e., R01 is interpreted as
R1). Separators are allowed before a numeric extension.
Array identifiers
The rules for elementary variables also apply to array identifiers. It is possible to address
arithmetic variables as arrays.
Example:
R[10]=…
Data types
A variable can contain a numeric value (or several) or a character (or several), e.g., an
address letter.
The data type permitted for the variable is determined when the variable is defined. The data
type for system variables and predefined variables is fixed.
Elementary variable types/data types are:
Type Meaning Range of values
INT Integers with leading sign ±(231 - 1)
REAL Real numbers (fractions with decimal
point, LONG REAL to IEEE)
BOOL Boolean values: TRUE (1) and
FALSE (0)
CHAR ASCII character specified by the
code
STRING Character string, number of
characters in [...], maximum of 200
characters
AXIS Axis names (axis addresses) only Any axis identifiers in the channel
FRAME Geometrical parameters for
translation, rotation, scaling, and
mirroring
±(10-300 … 10+300)
1, 0
0 … 255
Sequence of values with 0 ... 255
Identical elementary types can be combined in arrays. Up to two-dimensional arrays are
possible.
Integer with or without leading sign, e.g., for assigning a value to an address
Examples:
X10.25 ;Assignment of the value +10.25 to address X
X -10.25 ;Assignment of the value –.25 to address X
X0.25 ;Assignment of the value +0.25 to address X
X.25 ;Assignment of the value +0.25 to address X without leading "0"
X=-.1EX-3 ;Assignment of the value –.1*10-3 to address X
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.
X0 cannot be replaced with X.
Example:
Do not replace G01 X0 with G01 X!
Hexadecimal constants
Constants can also be interpreted in hexadecimal format. The letters "A" to "F" stand for the
digits 10 to 15.
Hexadecimal constants are enclosed in single quotation marks and start with the letter "H",
followed by the value in hexadecimal notation. Separators are allowed between the letters
and digits.
Example for machine data (see also "Programming Guide Advanced"):
$MC_TOOL_MANAGEMENT_MASK='H3C7F' ;Assignment of hexadecimal values to
The maximum number of characters is limited by the value range of the integer data type.
Binary constants
;machine data
Constants can also be interpreted in binary format. In this case, only the digits "0" and "1"
are used.
Binary constants are enclosed in single quotation marks and start with the letter "B", followed
by the binary value. Separators are allowed between the digits.
Example for machine data (see also "Programming Guide Advanced"):
$MN_AUXFU_GROUP_SPEC='B10000001' ;Assignment of binary constants to
The maximum number of characters is limited by the value range of the integer data type.
Program section
A program section consists of a main block and several subblocks.
Examples:
:10 D2 F200 S900 M3
N20 G1 X14 Y35
N30 X20 Y40
N40 Y-10
...
N100 M30
;machine data bit 0 and 7 are set
Skipping blocks
Blocks, which are not to be executed in every program pass (e.g., execute a trial program
run), can be skipped.
1
1
1
1
1
1
1
1
1
1
1
1
3URJUDPH[HFXWLRQ
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 instructions in the skipped blocks are
not executed; the program continues with the next block, which is not skipped.
Up to 10 skip levels can be programmed. Only one skip level can be specified per NC block:
/ ... ;Block is skipped (1st skip level)
/0 ... ;Block is skipped (1st skip level)
/1 N010... ;Block is skipped (2nd skip level)
/2 N020... ;Block is skipped (3rd skip level)
...
/7 N100... ;Block is skipped (8th skip level)
/8 N080... ;Block is skipped (9th skip level)
/9 N090... ;Block is skipped (10th skip level)
Machine manufacturer
The number of skip levels that can be used depends on a display machine datum.
Block skipping of levels /0 to /9 is activated by an operator action (see /BA/ Operator's Guide
HMI Advanced Embedded, program control menu in Machine operating area) or by the
programmable controller.
Note
System and user variables can also be used in conditional jumps in order to control program
execution.
Jump destinations (labels)
Labels can be defined to jump within a program.
Label names are allocated with at least two and up to 32 characters (letters, digits,
underscore). The first two characters must be letters or underscores. The label name is
followed by a colon (":").
Labels always appear at the start of a block. If a program number exists, the label appears
immediately after the block number.
Comments
To make NC programs easier to understand for other users and programmers, it is advisable
to insert meaningful comments in the program.
Comments are appended to the end of a block and are separated from the program section
of the NC block by a semicolon (";").
Examples of comments
N10 G1 F100 X10 Y20 ;Comments to explain the NC block
Or
N10 ;Company G&S, order no. 12A71
N20 ;Program written by H. Müller, Dept. TV 4
N50 ;Section no. 12, housing for submersible pump type
;on November 21, 1994
TP23A
Note
Comments are stored and appear in the current block display when the program is running.
Programming messages
Messages can be programmed to provide the user with information about the current
machining situation during program execution.
A message in an NC program is generated when the message text is typed after vocabulary
word "MSG" in round parentheses "()" and double quotation marks.
A message can be deleted using "MSG ()".
Example of activating/deleting messages
N10 MSG ("Roughing the contour") ;Activate message
N20 X… Y…
N …
N90 MSG () ;Clear message from N10
A message text can be up to 124 characters long and is displayed in two lines
(2*62 characters). Contents of variables can also be displayed in message texts.
Example of message texts
N10 R12=$AA_IW [X] ;Current position of the X axis in R12
N20 MSG (″Check position of X axis″<<R12<<)
N …
N90 MSG () ;Clear message from N20
Or
N20 MSG (″Check position of X axis″<<$AA_IW[X]<<)
You can also set alarms in addition to messages in an NC program. Alarms are displayed in
a separate field on the screen display. An alarm always goes hand in hand with a response
from the controller according to the alarm category.
Alarms are programmed by writing the vocabulary word "SETAL" followed by the alarm
number enclosed in round brackets.
The valid range for alarm numbers is between 60,000 and 69,999, whereby 60,000 to 64,999
are reserved for SIEMENS cycles and 65,000 to 69,999 are available to the user.
Note
Alarms are always programmed in a separate block.
Example:
N100 SETAL (65000) ;Set alarm no. 65000
You will find a list of reactions associated with specific alarms in the Installation and Start-up
Guide.
The alarm text must be configured in the MMC.
Programmable cycle alarms
A character string containing up to 4 parameters can be specified in addition to the alarm
number for the predefined subprogram SETAL.
Variable user texts can be defined in these parameters. Predefined parameters with the
following meaning are also provided:
%1 = Channel number
%2 = Block number, label
%3 = Text index for cycle alarms
%4 = additional alarm parameters
2.3 Programming a sample workpiece
Programming
Procedures
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 a particular advantage if you need to make changes at a
later date.
Since workpieces differ in shape and form, it is not advisable to create every program using
exactly the same method. There are certain methods, which have proven to be successful in
most instances. A sort of "checklist" can be found below.
• Prepare the workpiece drawing
– define the workpiece zero
– Draw in the coordinate system
– Calculate any missing coordinates
• Define machining sequence
– Which tools are used when and to machine which type of contour?
– In what order are the individual elements of the workpiece machined?
– Which individual elements repeat (possibly rotated) and should therefore be included
N10 MSG("THIS IS MY NC PROGRAM") ;MSG = Message output in an alarm line
:10 F200 S900 T1 D2 M3 ;Feed, spindle, tool,
N20 G0 X100 Y100 ;Rapid traverse to position
N30 G1 X150 ;Rectangle with feed, straight line in X
N40 Y120 ;Straight line in Y
N50 X100 ;Straight line in X
N60 Y100 ;Straight line in Y
N70 G0 X0 Y0 ;Return rapid traverse movement
N100 M30 ;End of block
;tool offset, spindle clockwise
2.5 Second programming example for milling application
Programming a sample workpiece
This programming example contains surface and side milling, as well as drilling.
• The workpiece is intended for machining on a vertical milling machine.
• The dimensions are in inches.
Machine manufacturer
The machine data settings must be defined correctly before the program can run on the
machine.
In this section you will find descriptions of the commands, with which you can directly
program dimensions taken from a drawing. This has the advantage that no extensive
calculations have to be made for NC programming.
Note
The commands described in this section stand in most cases at the start of a NC program.
The way, in which these functions are combined, is not intended to be a patent remedy. For
example, the choice of working plane may be made at another point in the NC program.
The real purpose of this and all the following sections is to illustrate the conventional
structure of an NC program.
3
Overview of typical dimensions
The basis of most NC programs is a drawing with concrete dimensions.
When implementing in a NC program, it is helpful to take over exactly the dimensions of a
workpiece drawing into the machining program. These can be:
• Absolute dimension, G90 modally effective applies for all axes in the block, up to
revocation by G91 in a following block.
• Absolute dimension, X=AC(value) only this value applies only for the stated axis and is
not influenced by G90/G91. This is possible for all axes and also for SPOS, SPOSA
spindle positionings, and interpolation parameters I, J, K.
• Absolute dimension, X=CC(value) directly approaching the position by the shortest route,
only this value applies only for the stated rotary axis and is not influenced by G90/G91. Is
also possible for SPOS, SPOSA spindle positionings.
• Absolute dimension, X=ACP(value) approaching the position in positive direction, only
this value is set for the rotary axis, the range of which is set in the machine datum to 0...<
360°.
• Absolute dimension, X=ACN(value) approaching the position in negative direction, only
this value is set for the rotary axis, the range of which is set in the machine datum to 0...<
360°.
• Incremental dimension, G91 modally effective applies for all axes in the block, until it is
revoked by G90 in a following block.
• Incremental dimension, X=IC(value) only this value applies exclusively for the stated axis
and is not influenced by G90/G91. This is possible for all axes and also for SPOS,
SPOSA spindle positionings, and interpolation parameters I, J, K.
• Inch dimension, G70 applies for all linear axes in the block, until revoked by G71 in a
following block.
• Metric dimension, G71 applies for all linear axes in the block, until revoked by G70 in a
following block.
• Inch dimension as for G70, but applies also for feedrate and length-related setting data.
• Metric dimension as for G71, but applies also for feedrate and length-related setting data.
• Diametral programming, DIAMON on
• Diametral programming, DIAMOF off
Diametral programming, DIAM90 for traversing blocks with G90. Radius programming for
traversing blocks with G91.
3.2 Absolute/relative dimensions
3.2.1 Absolute dimension (G90, X=AC)
Function
With the G90 command or the non-modal statement AC you determine the descriptive
system for approaching individual axes from setpoints in absolute dimensions.
N20 G1 Z-15 F0.2 ;Tool infeed at feedrate
N30 G3 X11 Z-27 I=AC(-5) K=AC(-21) ;Circle center point in absolute
N40 G1 Z-40 ;Retracting
Description
Absolute dimensions, G90
The dimensions refer to the origin of the active coordinate system. You program the point to
which the tool is to travel, e.g. in the workpiece coordinate system.
=
:
;to position XYZ
dimensions
Non-modal absolute dimensioning AC
When G91 is active, AC can be used to allow entry of incremental dimensions for individual
axes in a specific block.
On conventional turning machines it is standard practice to interpret incremental NC blocks
in the transverse axis as radius values, while diameter dimensions are valid for absolute
coordinates. This conversion for G90 is performed using the commands DIAMON, DIAMOF
or DIAM90.
With the G91 command or the non-modal statement IC, you determine the descriptive
system for approaching individual axes from setpoints in incremental dimensions.
You program how far the tool is to travel.
Programming
G91
Or
X=IC(...) Y=IC(...) Z=IC(...)
Parameters
G91 Relative incremental dimensioning
X Y Z Axis identifiers of the axes to be traversed
=IC Incremental dimensions non-modally effective
Example of milling
The dimensions refer to the last point approached.
The circle center point coordinates of the circle interpolation are stated non-modally in
absolute coordinates, since as default the circle center point is independent of G91.
For entering the circle center point coordinates I and J see circle interpolation G2/G3.
On conventional turning machines it is standard practice to interpret incremental NC blocks
in the transverse axis as radius values, while diameter dimensions are valid for absolute
coordinates. This conversion for G91 is performed using the commands DIAMON, DIAMOF
or DIAM90.
For dimensioning for diameter or radius see circular interpolation G2/G3.
For applications such as scratching, it is necessary only to traverse the path programmed in
the incremental coordinates. The active zero offset or tool offset is not traversed. This can be
set separately using setting data.
Incremental dimensioning without traversing through the active tool offset
The active tool offset is not traversed if the setting datum
SD 42442: TOOL_OFFSET_INCR_PROG = 0.
Incremental dimensioning without traversing through the active zero offset
The active zero offset is not traversed if the setting datum
SD 42440: FRAME_OFFSET_INCR_PROG = 0
3.3 Absolute dimension for rotary axes (DC, ACP, ACN)
3.3 Absolute dimension for rotary axes (DC, ACP, ACN)
With the above parameters you can define the desired approach strategy for positioning
rotary axes.
Programming
A=DC(…) B=DC(…) C=DC(…)
Or
A=ACP(…) B=ACP(…) C=ACP(…)
Or
A=ACP(…) B=ACP(…) C=ACP(…)
Parameters
A B C Axis identifier for rotary axis to be traversed
DC Absolute dimensions, approach position directly
ACP Absolute dimensions, approach position in positive
ACN Absolute dimensions, approach position in negative
direction
direction
Example of milling
Machining on a rotary table: The tool is stationary, the table rotates through 270° in
clockwise direction. to produce a circular groove.
3.3 Absolute dimension for rotary axes (DC, ACP, ACN)
N10 SPOS=0 ;Spindle in position control
N20 G90 G0 X-20 Y0 Z2 T1 ;Absolute, infeed in rapid traverse
N30 G1 Z-5 F500 ;Lower at feedrate
N40 C=ACP(270) ;The table rotates through 270° in
N50 G0 Z2 M30 ;Lift, end of program
Absolute dimensioning with DC
The rotary axis travels to the position programmed in absolute coordinates along the shortest
direct path. The rotary axis traverses across an area of up to 180°.
Absolute dimensioning with ACP
The rotary axis travels to the positions programmed in absolute coordinates in the positive
direction of axis rotation (counterclockwise).
Absolute dimensioning with ACN
The rotary axis travels to the positions programmed in absolute coordinates in the negative
direction of axis rotation (clockwise).
;clockwise direction (positive), the tool
;mills a circular groove
'&
$&3$&1
0D[LPXP
7UDYHUVLQJUDQJH
Note
The traversing range must be set to between 0° and 360° in the machine data (modulo
method) for positioning with directional data (ACP, ACN). To traverse modulo rotary axes by
more than 360° in a block, G91 or IC must be programmed.
The positive direction of rotation (clockwise or counterclockwise) is set in the machine data.
You can also use DC, ACP and ACN for spindle positioning from zero speed.
Example: SPOS=DC(45)
3.4 Dimensions inch/metric, (G70/G700, G71/G710)
Function
Depending on the dimensions in the production drawing, you can program workpiece
geometries alternately in metric measurements and inches.
Programming
Call-up
G70 or G71
G700 or G710
Parameters
G700/G710
The functionality of G70/G71 has been extended with G700/G710. In addition to the
geometrical parameters, the technological parameters, such as feed F, are interpreted
during parts program execution in the system of units set in G700/G710.
The controller interprets all feedrates used with G700/G710 in the programmed system of
units, unlike G70/G71.
The programmed feedrate value is modal and thus does not change automatically on
subsequent G70/G71/G700/G710 selections.
Example of milling
Change between metric and imperial input with basic setting metric (G70/G71).
N50 X1.18 Y3.54
N60 G71 X 20 Y30 ;Enter positions in mm
N70 G0 Z2 M30 ;Retract in rapid traverse, end of
G70 or G71
You can instruct the control to convert the following geometrical dimensions (with necessary
deviations) into the system of units not set and enter them directly:
Examples
• Positional data X, Y, Z, ...
• Intermediate point coordinates I1, J1, K1
Interpolation parameters I, J, K and circle radius
CR in circle programming
All other parameters such as feedrates, tool offsets or settable zero offsets are interpreted
(when using G70/G71) in the default system of units (MD 10240:
SCALING_SYSTEM_IS_METRIC).
The representation of system variables and machine data is also independent of the
G70/G71 context.
If the feedrate in the G70/G71/G700/G710 context is to be activated, a new F value must be
programmed explicitly.
All length-related NC data, machine data and setting data for G700/G710 are always read
and written in the programmed context of G700/G710.
If positioning tasks are performed in synchronized actions and no G70/G71/G700/G710
command is programmed in the synchronized action itself, the G70/G71/G700/G710 context
active at the time of execution determines which system of units is used.
3.5.1 Dimensions for radius, diameter, (DIAMON, DIAMOF, DIAM90)
Function
The free choice of diameter or radius dimensions allows you to program the dimensions
straight from the engineering drawing without conversion.
Programming
',$021
'
;
:
'
',$02)
=
5
;
:
5
=
After power up of
• DIAMON/DIAM90, diameter dimensions are defined for the specified transverse axis. as
diameter.
• DIAM90 is displayed as a diameter, irrespective of the traversing method (G90/G91) the
actual value of the transverse axis. This also applies to reading of actual values in the
workpiece coordinate system with MEAS, MEAW, $P_EP[x] and $AA_IW[x].
While the machine zero is fixed, you can choose the position for the workpiece zero on the
longitudinal axis. The workpiece zero is generally located on the front or rear side of the
workpiece.
:RUNSLHFH
]HUR
IURQW
:RUNSLHFH
]HUR
UHDU
;
0DFKLQH
0
**RU75$16
;
0DFKLQH
0
**
RU75$16
;
:RUNSLHFH
;
:RUNSLHFH
:
=
:RUNSLHFH
=
=
:RUNSLHFH
Zero points
Both the machine zero and the workpiece zero are positioned on the center of rotation. The
settable offset on the X axis is thus zero.
coordinate system
The dimensions for the transverse axis are generally specified as diameter measurements
(double path dimension as compared to other axes).
The geometry axis to be used as a transverse axis is defined in machine data.
3.6 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA
Parameters
G54 to G57 Call the second to fifth settable zero offset/frame
G505 ...G599 Call the 6th to the 99th settable zero offset
G53 Non-modal deactivation of current settable zero offset and
G500 G500=zero frame, default setting,
SUPA Non-modal deactivation, including programmed offsets,
G153 Non-modal suppression of settable, programmable and total
For more information please refer to Frame section.
Offset of the zero in the Cartesian coordinate system by frames such as
• Programmable zero offset, e.g., TRANS, ATRANS
• Programmable rotations, e.g., ROT, AROT
programmable zero offset
(contains no offset, rotation, mirroring or scaling)
Deactivation of settable zero offsets/frames (G54 to G599)
until the next call.
Activation of the total basic frame ($P_ACTBFRAME).
G500 is not 0
Activation of first settable zero offset/frames
($P_UIFR[0]) and
Activation of total basic frame ($P_ACTBFRAME), or a
modified basic frame is activated.
handwheel offsets (DRF), external zero offset and PRESET
offset.
basic frame
Example
• Programmable scalings, e.g., SCALE, ASCALE
• Programmable mirrorings, e.g., MIRROR, AMIRROR
In this example, three workpieces, arranged on a pallet according to the zero offset values
G54 to G56, are machined successively. The machining sequence is programmed in
subprogram L47.
3.6 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA
<
6FDOLQJ
<
;
5RWDWH
2II FVHW
;
Switching on zero offset, G54 to G57
In the NC program, the zero offset is moved from the machine coordinate system to the
workpiece coordinate system by executing one of the four commands G54 to G57.
<
<
<
;
<
;
;
;
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.
Note
The 4 available zero offsets can be used, for example, for multiple machining operations, to
describe 4 workpiece clamping positions simultaneously and execute them in the program.
3.6 Zero offset (frame), G54 to G57, G505 to G599, G53, G500/SUPA
Further settable zero offsets, G505 to G599
Command numbers G505 to G599 are available for this purpose. This enables you to create
up to 100 settable zero offsets in total, in addition to the 4 default zero offsets G54 to G57,
by using the machine data. They are stored in the zero point memory.
Deactivating a zero offset
Command G500 activates the first settable zero offset including basic offset, i.e., when zero
frame is selected as the default, the current settable zero offset is deactivated.
G53 suppresses the programmable and settable offset modally.
G153 has the same effect as G53 and also suppresses the total basic frame.
SUPA has the same effect as G153 and also suppresses the DRF offset, overlaid motions,
and external ZOs.
Note
The basic setting at program start, e.g., G54 or G500, can be set with machine data.
You will find more information on programmable zero offsets in the Frames section
"Programmable zero offset".
Infeed direction Z Plane selection 1st - 2nd geometry axis
Infeed direction Y Plane selection 3rd - 1st geometry axis
Infeed direction X Plane selection 2nd - 3rd geometry axis
3-25
Page 100
Positional Data
3.7 Selection of working plane (G17 to G19)
Important
In the basic setting, preset for millingG17 (X/Y plane) and G18 (Z/X plane) for turning.
With selection of the tool path compensationG41/G42 (see section "Tool offsets") the
working plane must be specified so that the control can correct the tool length and radius.
Example for milling
The "conventional" approach with milling tool:
• define working plane (G17 basic setting for milling),
• select tool type (T) and tool offset values (D),
• switch on path compensation (G41),
• program traversing movements.
N10 G17 T5 D8 ;G17 selection of the working plane, here
N20 G1 G41 X10 Y30 Z-5 F500 The radius compensation is performed in
N30 G2 X22.5 Y40 I50 J40 Circular interpolation / tool radius
X/Y T,
;D tool selection. The length
compensation is performed in the Z
direction
the X/Y plane.
compensation in the X/Y plane.
Description
It is advisable to define the working plane G17 to G19 at the beginning of the program. In the
basic setting the Z/X plane is preset for turning G18