Rexroth MTC 200 NC Programming Instructions
Rexroth MTC 200 NC Programming Instructions
NC Programming
Instructions
Application Manual
www.EngineeringBooksPdf.com
About this Documentation NC Programming Instructions
Title
Rexroth MTC 200
NC Programming Instructions
Type of Documentation Application Manual
Validity The specified data is for product description purposes only and may not
be deemed to be guaranteed unless expressly confirmed in the contract.
All rights are reserved with respect to the content of this documentation
and the availability of the product.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Contents I
Contents
1 General Information 1-1
1.1 Notes............................................................................................................................................. 1-1
1.2 Program and Data Organization ................................................................................................... 1-2
2 NC Program 2-1
2.1 Organization of Setup Lists........................................................................................................... 2-1
2.2 Program Structure ........................................................................................................................ 2-2
Advance Program .................................................................................................................... 2-3
Reverse Program .................................................................................................................... 2-3
2.3 Process-Specific Programming .................................................................................................... 2-4
2.4 Elements of an NC Block.............................................................................................................. 2-5
Block Numbers ........................................................................................................................ 2-5
Skipping Blocks ....................................................................................................................... 2-6
2.5 NC Word ....................................................................................................................................... 2-7
Branch Label............................................................................................................................ 2-8
Note ......................................................................................................................................... 2-8
Comment ................................................................................................................................. 2-9
Comment in the Source Program ............................................................................................ 2-9
2.6 Available Addresses ................................................................................................................... 2-10
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
II Contents NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Contents III
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
IV Contents NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Contents V
7 Events 7-1
7.1 Definition of NC Events................................................................................................................. 7-1
7.2 Influencing Events ........................................................................................................................ 7-2
Set NC Event "SE"................................................................................................................... 7-2
Reset NC Event "RE" .............................................................................................................. 7-3
Wait until NC Event is Set "WES"............................................................................................ 7-3
Wait until NC Event is Reset "WER" ....................................................................................... 7-4
7.3 Conditional Branches for Events .................................................................................................. 7-5
Branch if NC Event is Set "BES" ............................................................................................. 7-5
Branch if NC Event is Reset "BER" ......................................................................................... 7-5
7.4 Asynchronous Handling of NC Events ......................................................................................... 7-6
Call Subroutine if Event is Set "BEV" ...................................................................................... 7-7
Program Branching if NC Event is Set "JEV" .......................................................................... 7-8
Cancel NC Event Monitoring "CEV" ........................................................................................ 7-8
Disable NC Event Monitoring "DEV" ....................................................................................... 7-8
Enable NC Event Monitoring "EEV" ........................................................................................ 7-8
7.5 Reading Events in Variable ........................................................................................................ 7-10
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
VI Contents NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Contents VII
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
VIII Contents NC Programming Instructions
15 Appendix 15-1
15.1 Table of G Code Groups............................................................................................................. 15-1
15.2 Table of M Function Groups ....................................................................................................... 15-2
15.3 Table of Functions ...................................................................................................................... 15-2
I. G00 through G19............................................................................................................... 15-3
II. G20 to G38 ....................................................................................................................... 15-4
III. G40 to G59 ...................................................................................................................... 15-5
IV. G61 to G79...................................................................................................................... 15-6
V. G90 through G99 ............................................................................................................. 15-8
VI. ACC through BTE ........................................................................................................... 15-9
VII. CEV through MMP ....................................................................................................... 15-10
VIII. MOP through RTS....................................................................................................... 15-11
IX. SE through WP ............................................................................................................. 15-12
15.4 File Header ............................................................................................................................... 15-13
Cycle Header ....................................................................................................................... 15-14
16 Index 16-1
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions General Information 1-1
1 General Information
1.1 Notes
A CNC (COMPUTER NUMERICAL CONTROL) is a special computer used to
control a machine tool, robot or transfer system. Like a personal com-
puter, the CNC controller has its own operating system, which is specifi-
cally designed for numerical applications, as well as so-called controller
software installed in this operating system.
The controller software translates the CNC program into a language
which the controller can understand.
Details relating to a particular CNC machine tool, robot, or transfer system
may be found in the machine builder's manual. The machine builder's
information takes precedence over the information provided in this Pro-
gramming Manual.
The programming examples are based on DIN 66025/ISO Draft 6983/2
along with the additional features implemented by Bosch Rexroth.
All geometric values are metric.
Combinations in the NC syntax and other functions which are not de-
scribed in this programming manual may also be executed on the con-
troller. However, we do not warrant the proper functioning of these com-
binations and functions upon initial shipment and in the event of service.
We reserve the right to make changes based on technical advancements.
These programming instructions apply to the MTC 200 control system as
of version 23VRS
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
1-2 General Information NC Programming Instructions
NC
Program Parameter Tool
List Set List
Data BTV0x
Hard Disc
6
User 5
6 6 4 6
5 5 Inter- 3 6 5
4 4 face NC-Event 2 4
3 3 Liste für 5 3
6 6 1 4 6
NC List 2 Cur. Tool List 2 5
Prozeß 0 NC Event 2 5
5 for Process 3
List for 1
Process 1 4 1 4 2
NC-VariablenProcess 4
0 0 0
3 3 Liste für 1 3
NC Variable 2 Zero Point 2 Prozeß 0 NC Variable 2
List Process 1 for Process 1 MDI List for 1
0 0 Block Process 0
Entry
CNC Memory
Parameters
System Parameters . 20
3 4 . 5 6
2 3 4
Axis Parameter Axis 1
1 2 5 6
Process Parameter Process 0 3 4
1 2 5 6
Process Parameter Process 0 3 4
1 2 5 6
NC Events Process 0 3 4
1 2 5 6
NC Variables Process 0 3 4
1 2 5 6
NC Cycle Programme Process 0 3 4
D Corrections Process 0 1 2
6 6
5 5
4 4
3 3
2 2
Zero Points 1 Zero Points 1
for Process 0 6 for Process 0 6
5 5
4 4
Data for 3 Data for 3
2 2
Process 0 1 Process 0 1
Setup List Setup List
NC-Program NC-Program
Nr. 1 Nr. 1
. .
Nr. 99 Nr. 99
11Daten.FH7
System parameters The system parameters define how many processes and axes need to be
managed by the CNC controller as well as what type of tool management
system is present.
Axis parameters The process-specific axes are specified in the axis parameters. The axis
is assigned to specific processes in the axis parameters and the corre-
sponding axis limit data—for example, maximum axis speed, travel lim-
its—are defined here.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions General Information 1-3
Process parameter The process-specific data, for example the default plane, programmable
and maximum displayable places to the right of the decimal point, maxi-
mum speed for contour mode, etc. are specified in the process parame-
ters.
A detailed description of the system, process and axis parameters may be
found in the parameter description
(DOK-CONTRL-PAR*DES*V23-AW0x-EN-P).
Tool List The tool list for a process contains the actual tool data for all tools as-
signed to the process; it therefore represents an image of the magazine
which is present at the station. Up to 99 different tool lists can be man-
aged via the user interface. The NC commands for tool handling are de-
scribed in the "Commands for Tool Management" chapter. A complete
description of all data and functions relating to tools is provided in the
document "Tool Management"
(DOK-MTC200-TOOLMAN*V23-PR0x-EN-P) and in the
"Tool Management" user description
(DOK-MTC200-TOOLMAN*V23-AW0x-EN-P).
NC events NC events are binary variables which can be used by the NC program. A
detailed description of NC events and event-dependent functions is pro-
vided in the "NC Events" chapter.
NC cycle programs A specific memory area is available in the CNC for NC cycle programs
supplied by the machine builder and Bosch Rexroth. Additional informa-
tion on NC cycle programs is provided in the manual on "NC Cycles."
(DOK-MTC200-CYC*DES*V22-AW0x-EN-P).
D corrections D corrections are additional active registers for the tool geometry data. D
corrections act in an additive manner relative to the existing geometry
registers L1, L2, L3 and R. D corrections can be used if tool management
is present, e.g. as tool reference point offset registers. 99 D corrections
are available for each of the 7 processes of the CNC. Each D correction
contains the L1, L2, L3 and R registers. The assignment of values in the
D correction register can be accomplished by using the CNC user inter-
face or the BTV0x.
NC program package An NC program package contains all necessary Tool Setup Lists (tool
specifications data) and NC programs of all processes used in the ma-
chining work. Up to 99 different NC program packages can be managed
via the user interface. Dividing the NC memory into two areas, A and B,
permits two NC program packages to be managed simultaneously in the
CNC. The decision which of the two NC program packages is to be exe-
cuted is made by the operator via the user interface or via the PLC. While
one NC program package is already running, a second NC program
package can be loaded into the controller's memory. This will overwrite
any NC program package that may already be present in the controller.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
1-4 General Information NC Programming Instructions
12Paket.FH7
Setup list The tool setup list contains a tool data set for each T number used in the
NC program. This tool data set defines which tool is to be used and which
specifications this tool must meet. If the machine tool builder determines
that a setup list is not required, the T number, together with its corre-
sponding data set, is used in the tool list. The setup list should be entered
before creating the program, however no later than during creation of the
program. Additional information on the setup list is provided in the docu-
mentation "Tool Management"
(DOK-MTC200-TOOLMAN*V23-PR0x-EN-P).
Offsets The CNC provides up to 60 zero points (10x G54-G59) for each process.
The zero points are assigned to the currently active 'A' or 'B' NC program
memory in the CNC memory. Entries in the zero point table in the opera-
tor interface are always assigned to the currently active NC program
memory.
See also the section "Zero Offsets".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions NC Program 2-1
2 NC Program
Station-specific organization Up to 7 tool setup lists (1 per process) are possible (organized in the NC pro-
gram package).
Program-specific organization Up to 693 tool setup lists (7 processes x 99 tool setup lists) are possible.
Process 6 Process 6
Process 2 Process 2
Process 1 Process 1
Process 0 Process 0
NC Program 1 Setup List 1 NC Program 1 Setup List
The setup list should be completed when the NC program is written, but
no later than when the NC program is transferred into the system. This is
the only way that names referencing T numbers in the NC program can
be meaningful. The final assignment of the tools which are located in the
tool magazine to the T numbers used in the program is made when the
program is initiated (optional tool check).
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
2-2 NC Program NC Programming Instructions
N C P ro g ra m Me m o ry B
N C P ro g ra m Me m o ry A
N C -P ro g ra m 0 4
Advance P rogram
N C -C yc le Me m o ry
Reverse P rogram
P ro g ra m N o . 9 9 P ro g ra m m N o . 0
Bosch Rexroth
User C ycles and and Machine
S ubroutines of the S ubroutines Builder´s
Advance and Reverse S ubroutines and
P rogram C ycles
23Ncorg.FH7
Program No. 99 Program number 99 is suitable for frequently used program modules such
as user cycles, the tool change subroutine or the reverse program.
Program No. 0 Program number 0 is reserved for the Bosch Rexroth machining cycles
and for the machine builder's cycles. A detailed description of the Bosch
Rexroth machining cycles is provided in the documentation "NC cycles".
NC programs are assigned to a given process:
• The NC program assigned to process number 0 (management
process) is called a parts program.
• The NC programs for processes 1 to 6 are called process programs.
If a system consists of a number of processes, the parts program in proc-
ess 0 handles the coordination of all the other processes.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions NC Program 2-3
Advance Program
An advance program consists of a complete sequence of NC blocks
needed to produce a workpiece. In addition to the path information
needed for machining, the advance program also contains all additional
auxiliary functions and branch/jump commands for subroutines and cy-
cles.
The advance program ends with the NC block in which RET (end of pro-
gram with reset) is programmed.
Example
T4 BSR .M6 Tool change SF D50
T8 MTP Next machining tool
G00 G90 G54 X0 Y0 Z50 S5000 M03 Home position
G01 X46 Y144 Z2 Pos. at safety distance
.
.
RET
Reverse Program
A reverse program consists of a complete series of NC blocks which de-
scribe an operation sequence that is to be performed to establish the ref-
erence or home position of a station, regardless of how complicated the
required traverse movement may be. As a rule, a reverse program is pro-
grammed in program number 0 or number 99 so that it can be used as a
subroutine to establish the reference point or home position of a station or
machine.
The reverse program begins with the NC block in which the label .HOME
is programmed. Other entry points for the reverse program can be de-
fined in the advance program with the assistance of reverse vectors (see
chapter 9 "Commands for controlling processes and programs").
If reverse programming is done in a systematic manner without any omis-
sions, the operator can extract the station(s) or the machine from the
most complicated machining situations and return to the initial position in
the event of errors or malfunctions or in any given EMERGENCY STOP
situation. This is done safely and without the risk of collision.
Example
.HOME Global homing
MRF Move tool magazine to reference position
D0 Cancel D corrections
G40 G47 G53 G90 Cancel corrections
G74 Z0 F1000 Move Z-axis to reference position
G74 X0 Y0 F1000 Move X and Y axis to referencing position
RET
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
2-4 NC Program NC Programming Instructions
Example
Use of a number of processes on a double-slide single-spindle lathe with
a milling head:
• Process 0
Synchronization of processes 1 and 2. Coordinates whether the proc-
esses work simultaneously and asynchronously or synchronously.
• Process 1
Process 1 contains the X and Z axes for the upper turret head.
• Process 2
Process 2 contains the X and Z axes for the lower turret head, main
spindle S1, the C axis, and spindle S2 as the driven tool spindle.
P ro cess 1
P ro g ra m N o . 1 0
N 0000 G90 G54 G18
N 0 0 0 1 G0 0 X2 0 Z0
. X
.
N 0 0 xx M0 3 0
P ro cess 0
P ro g ra m N o . 1 0
P rocess 1
N 0 0 0 0 .S TART
N 0 0 0 1 DP 1 DP 2
N0002 SP1 10
N0003 SP2 10 C S1
N 0 0 0 4 AP 1 AP 2
.
N 0 0 78 WP 1 WP 2
P rocess 2
P ro cess 2
P ro g ra m N o . 1 0
N 0000 G90 G54 G18 Z
N 0 0 0 1 G0 0 X2 0 Z0
.
.
N 0 0 xx M0 3 0
X
S2
24Dopp.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions NC Program 2-5
Structure of an NC block:
Block Numbers
Syntax N× × × × × = 0-9
Each NC block begins with the letter N followed by a signless, 4-digit
decimal integer figure as a block number. The numbering of NC blocks in
an NC program always starts with N0000. The numbering of NC blocks is
automatically generated by the user interface in steps of 1.
When NC blocks are inserted via the user interface, all subsequent NC
blocks are automatically renumbered.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
2-6 NC Program NC Programming Instructions
Skipping Blocks
In an NC-controlled machine tool, a simple way must be provided to skip
NC blocks so that certain functions such as measuring operations, part
loading and unloading and the corresponding program NC blocks can be
allowed to proceed in a controlled manner or can be skipped.
Blocks in a subprogram which are not to be processed each time the pro-
gram is executed must be identified by a slash "/" at the beginning of the
NC block.
Note: These blocks are only not processed when the user activates
the skip function by pressing the "Skip NC block" machine
control key.
Example
G01 X20 F400
; Additional measurement cross point
/ G00 X300 M03 S6500
/ G01 Z45 F100
/ G00 X370 M05
/ HLT
In cyclical mode, the CNC skips a series of NC blocks if the operator acti-
vates the skip function before the first NC block in this sequence is proc-
essed. If the user presses the "Skip NC block" machine control key while
a sequence of NC blocks containing the skip marks is being processed,
this will have no effect on processing in cyclical mode. The CNC contin-
ues to process regardless of this action.
During single-block processing mode, the CNC checks whether the skip
function is active at the beginning of each NC block. In contrast to cyclical
mode, this gives the user the opportunity to control which individual NC
blocks are skipped.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions NC Program 2-7
2.5 NC Word
The NC word contains the DIN 66025 instructions and various specific
Bosch Rexroth enhanced commands.
The NC word is divided into:
Numerical value The numerical value can have signs and decimal points. The sign is lo-
cated between the address letter and the numerical value. A positive sign
does not need to be entered.
Word Format
Address Letter Value
X 500
Extended Address Format
Address Letter No. Space Value
S 1 1000
25Wort.FH7
Example:
Note: There must be a blank between the address and the numeric
value to be assigned.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
2-8 NC Program NC Programming Instructions
Branch Label
Syntax .× × × × × × × = 0-9 , A-Z , a-z
A branch label points to a single branch label in a destination NC block. A
branch label is always present twice, once in the NC block in which the
branch occurs and once in the destination NC block to which the branch
is to be performed. A label always marks a program branch, regardless
whether the branch is conditional or unconditional.
The single branch address (destination label) may be in the same NC
program. If the single branch address is not found, it will be searched for
at first in program No. 99 and then in program No. 0.
In terms of syntax, the label begins with a decimal point followed by at
least one and no more than six visible characters. The syntax does not
differentiate between lower-case and capital letters. When a label is pro-
grammed in an NC block, the label must be the first element in the NC
block after the number.
Note: Certain branch labels are reserved by their names for the
Bosch Rexroth fixed cycles and for those of the machine
builder. The "*" sign following the decimal point is reserved for
Bosch Rexroth fixed cycles. A branch command using a label
is considered to be a program control command and is per-
formed last based on its priority. Machine movements in an
NC block are performed before a branch label.
Example
G54 G90 G00 X0 Z0
G04 F5
BSR .END
RET
.END
M05
G04 F1
RTS
Note
Syntax [ Text ]
Each NC block can contain a message, which will be displayed in the
diagnostic menu (station window) in the user interface at the end of NC
block processing. The note in the diagnostics line remains active until it is
overwritten by a new note. A so-called blank message must be pro-
grammed in order to clear the current message in the NC diagnostics line.
The message is also cleared from the NC diagnostics line when a pro-
gram is initiated. An NC block cannot contain more than one message.
A message is written in square brackets. It may not exceed a length of 48
characters. All ASCII characters may be used. The message can be in-
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions NC Program 2-9
serted at any location in the NC block; however, with the exception of the
comment, it is always the last function to be executed.
Example:
G01 G54, G90 [ Traverse X to safety distance ] F1000
X500
[ Traverse Z to safety distance ] G01 G51 G90 F1000
Z100
Comment
Syntax ( Text )
Each NC block can contain a comment. A comment is written in paren-
theses. It may not exceed a length of 80 characters. All ASCII characters
may be used. The comment can be inserted at any desired location in the
NC block. The comment is transferred to the controller memory and is
shown in the current NC block display.
An NC block cannot contain more than one comment and one message.
Example
G00 (Move X to start position) X150
(Move Z to start position) G01 Z10
Example
th
G01 X250 Y100 F1000 6 drilling position
; Call centered drilling cycle
BSR .*ZENBO
Restriction Comments in the source program must not be programmed between indi-
vidual NC words.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
2-10 NC Program NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-1
Y B Y
+ -
R
C
-
+ + A
Z X - X
Z
31Koord.FH7
All other axes relate to these 3 main axes. A, B and C are rotary or pivot-
ing axes having X, Y or Z as their center axes.
The A axis rotates about the X axis, the B axis rotates about the Y axis,
and the C axis rotates about the Z axis. The positive direction of rotation
of rotary axes corresponds to clockwise rotation when viewed in the posi-
tive axis direction. The direction of rotation and the orientation of the axes
with respect to each other result from the right-hand rule (see Fig. "Right-
hand rule").
With milling machines, the main axes are generally named X, Y and Z.
With lathes, the names are defined as Z and X.
Note: The axis names can be freely defined via the axis parameters.
Y-Axis
Z-Axis X-Axis
positive direction
of rotation
C -Axis
Z-Axis
32Hand.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-2 Motion Commands, Dimension Inputs NC Programming Instructions
Syntax
Syntax :
Address Letter Coordinate Value
Z 100.5
Address Letter Equal Sign Variable
X = @80
Address Letter Space Coordinate Value
X1 245.65
32Weg.FH7
Examples:
Z105.5 or
Z=105.5 or
Z105.5
X= @80
X1 245.65
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-3
3.3 Measurements
The path commands for the axes can be entered in two different ways:
• as an absolute dimension entry (G90) or
• as an incremental dimension entry (G91).
Syntax G90
Example:
Y
100
[P2] [P3]
80
60
[P1] [P4]
40
20
NC program:
G00 G90 G54 X0 Y0 Z10 S1000 M03 Start position
G01 X50 Y50 F500 [P1]
BSR .DRILL Branch to drilling subroutine
Y80 [P2]
BSR .DRILL Branch to drilling subroutine
X100 [P3]
BSR .DRILL Branch to drilling subroutine
Y50 [P4]
BSR .DRILL Branch to drilling subroutine
M05 Spindle OFF
RET Program end
.DRILL Drilling subroutine
G01 Z-10 F300 Drill to depth Z
G04 F2 Dwell time 2 seconds
G00 Z3 Return to safety distance
RTS End subroutine
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-4 Motion Commands, Dimension Inputs NC Programming Instructions
Syntax G91
G91 remains in effect until the end of the program or until it is overwritten
by G90.
Note: The distance that has been programmed for an axis using
G91 refers to the last absolute position. If the program coordi-
nate system is altered by shifting, rotation, mirroring, tool cor-
rection changes or after axis changeovers (G30, G31, G32, C
axis) and axis transfers, the axis must be positioned absolutely
before G91 or G90 are utilized.
Example:
Y
100
[P2] [P3]
80
60
[P1] [P4]
40
20
NC program:
G00 G90 G54 X0 Y0 Z3 S1000 M03 Start position
G01 G91 X50 Y50 F500 [P1]
BSR .DRILL Branch to drilling subroutine
Y30 [P2]
BSR .DRILL Branch to drilling subroutine
X50 [P3]
BSR .DRILL Branch to drilling subroutine
Y-30 [P4]
BSR .DRILL Branch to drilling subroutine
M05 Spindle OFF
RET Program end
.DRILL Drilling subroutine
G01 Z-13 F300 Drill to depth Z
G04 F2 Dwell time 2 seconds
G00 Z13 Return to safety distance
RTS End subroutine
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-5
3.4 Offsets
Zero points and various reference points used to establish workpiece
geometry are defined on all numerically controlled machines.
Machine zero point The machine zero point is located in a fixed position at the origin of the
machine coordinate system and cannot be moved.
M
34Masch.FH7
Machine reference point The machine reference point is a defined point located within the working
range of the machine. It is used to establish a defined initial position after
the machine is powered on. The machine builder in each axis in which
incremental positioning is used establishes the machine reference point.
R
34Refer.FH7
Workpiece zero point The workpiece zero point is the origin of the workpiece coordinate system.
As the program zero point, which the programmer establishes, it is used as
the basis for all workpiece dimensions. The reference to the machine zero
point is established by the zero offset value when the machine is set up.
W
34Werk.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-6 Motion Commands, Dimension Inputs NC Programming Instructions
Examples:
Y R
Table
Workpiece
M X
34Null.FH7
M W
35Nulld.FH7
Fig. 3-10: Zero points – lathe (machining ahead of the center of rotation)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-7
Z' Z
Z
Angle of Rotation P
P for the active
Plane (G18)
Y
X'
P
ZOZero X
Offset
Y
X
36Nullv.FH7
Using zero offsets G50, G51 and G54 to G59 and workpiece zero point
G52, the coordinate zero point of every NC axis can be applied to any
desired coordinate position within or beyond the individual range of
movement. It is thereby possible to process an identical NC program at
different machine positions.
The position of the machine zero point of each axis is specified in the
drive parameters as the difference in relation to the reference point. The
value entered in the drive parameters corresponds to the coordinate value
of the reference point in the machine coordinate system.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-8 Motion Commands, Dimension Inputs NC Programming Instructions
G53 Coordinate
G54 bis1G59 Workpiece System
0
G52 Offset
NC-
Prg
G54 ...
G59
Allgemeiner
General Offset
Offset
+ G50 Absolute
Zero Offset
NC-
Prg
Programmable, absolute
and incremental
zero offset.
+ G51 Incremental
Zero Offset
NC-
Prg Deselection via selection of a
new zero offset or via G53
The sum of zero offsets is made up of the adjustable zero offsets G54 -
G59 or the programmable workpiece zero point G52 and the programma-
ble zero offsets G50, G51 as well as the adjustable general offsets in the
zero point table.
Note: The programmable zero offsets G50 and G51 become inactive
when G52, G53, G54 - G59 are programmed. G59 inactive.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-9
Example:
Y 100 Y
[P5]
80 [P4]
80 [P3]
60 [P2]
40
60 20
40
[P1] 20 40 60 80 100 120 X
Enter in the Zero Offset
Table in the User Interface
with G54: X52.1 Y48.8
20
20 40 60 80 100 120
X
38G54ein.FH7
NC program:
G00 G90 G54 X0 Y0 Z10 S1000 M03 Starting position [P1]
G01 X50 Y50 F1000 [P2]
BSR .DRILL Branch to drilling subroutine
X70 Y60 [P3]
BSR .DRILL Branch to drilling subroutine
X90 Y70 [P4]
BSR .DRILL Branch to drilling subroutine
X110 Y80 [P5]
BSR .DRILL Branch to drilling subroutine
M05 Spindle OFF
RET Program end
.DRILL Drilling subroutine
G01 Z-10 F300 Drill to depth Z
G04 F2 Dwell time 2 seconds
G00 Z3 Return to safety distance
RTS End subroutine
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-10 Motion Commands, Dimension Inputs NC Programming Instructions
Example:
Y
[P3]
80 Y
[P2] X
60
40 P1
Enter in the Zero Offset
Table in the
User Interface
with G54 :
20 X52.1 Y40 PHI 45°
20 40 60 80 100 120 X
39G54koor.FH7
NC program:
G00 G90 G54 X0 Y0 Z10 S1000 M03 Starting position [P1]
G01 X40 Y70 F800 [P2]
BSR .DRILL Branch to drilling subroutine
X80 [P3]
BSR .DRILL Branch to drilling subroutine
M05 Spindle OFF
RET
.DRILL Drilling subroutine
G01 Z-10 F300 Drill to depth Z
G04 F2 Dwell time 2 seconds
G00 Z3 Return to safety distance
RTS End subroutine
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-11
ZO
ZOTable
TableO9
O9 ZO Table O9
ZO
ZOTable
TableO8
O8 ZO Table O8
ZO
ZOTable
TableO7
O7 ZO Table O7
ZO
ZOTable
TableO6
O6 ZO Table O6
ZO Table O5
ZO Table O5 ZO Table O5
ZO
ZOTable
TableO4
O4 ZO Table O4
ZO
ZO TableO3
Table O3 ZO Table O3
ZO Table O2
ZO Table O2 ZO Table O2
ZO
ZOTable
TableO1
O1 ZO Table O1
ZO
ZOTable
TableO0
O0 ZO Table O0
G54 G59
310bank.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-12 Motion Commands, Dimension Inputs NC Programming Instructions
Example:
Y Y
100
80 80
Y
60 [P3] [P4] 100
40 [P2] [P5]
60 80 [P8]
20 60
[P1] [P7]
40
40 20 40 60 80 100
ZO Pt. 20
Table [P6]
No. 0
Value G54:
Zero Pt. Table No. 1 20 40 60 80 100 x
20 Entry in the ZO Table
X17.5
with G54:
Y46.5
X81.0 Y29.5
20 40 60 80 100 120 x
311Null2.FH7
NC program:
[Zero offset table No. 0 is active]
G00 G90 G54 X0 Y0 Z10 S1000 M03 Starting position [P1]
G01 X30 Y30 F1000 [P2]
BSR .DRILL Branch to drilling subroutine
Y70 [P3]
BSR .DRILL Branch to drilling subroutine
X70 [P4]
BSR .DRILL Branch to drilling subroutine
Y30 [P5]
BSR .DRILL Branch to drilling subroutine
[activate zero offset table no. 1]
O1
G00 G54 X0 Y0 Starting position [P6]
G01 X40 Y40 F1000 [P7]
BSR .DRILL Branch to drilling subroutine
X60 Y60 [P8]
BSR .DRILL Branch to drilling subroutine
M05 Spindle OFF
RET Program end
.DRILL Drilling subroutine
G01 Z-10 F300 Drill to depth Z
G04 F2 Dwell time 2 seconds
G00 Z3 F1000 Return to safety distance
RTS End subroutine
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-13
X X
X 100
80 100 80
60
80
40
60
20
60
Z0
40 40 X2
20 40 60 80 100
P2 P3
Z
20 P4
P1
20 P5
G54:
Z18.0
X15.0
P0 20 40 60 80 100 Z
20 40 60 80 100 120 Z
312g50.FH7
NC program:
G00 G90 G54 X0 Z0 [P0]
BSR .CONT Branch to the contour subroutine
G50 X2 Zero offset X by 2 mm
BSR .CONT 2. call of the contour subroutine
RET
.CONT Contour subroutine
G01 X10 Z48 F750 [P1]
X25 Z59 [P2]
Z92 F1500 [P3]
X11 Z100 F600 [P4]
Z113 F1000 [P5]
G00 X40 Return to safety distance
Z0
X0 [P0]
RTS Return to main program
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-14 Motion Commands, Dimension Inputs NC Programming Instructions
Example:
80 Y Y
100 100
60 80 [P5] [P4] 80 [P5][P8] [P4]
60 60
40 40
40 [P2] [P3] [P2] [P3]
20 20
[P1] [P1]
20 40 60 80 100 120 x
313g52.FH7
NC program:
G90 G53 G00 X20 Y30
G52 X0 Y0 Call G52
BSR .CONT Branch to the subroutine
G52 X-70 Y0 Call G52
BSR .CONT Branch to the subroutine
RET
.CONT Subroutine
G00 X0 Y0 [P1]
G01 X40 Y20 F1000 [P2]
X100 [P3]
Y80 [P4]
X40 [P5]
Y20 [P2]
G00 X0 Y0
RTS Return to main program
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-15
Syntax G53
• Depending on the setting in the process parameters, G53 can be the
power-on default and the initial setting when the NC program starts.
• If G53 is placed in an NC block containing G91, only the position dis-
play is switched to the machine’s actual system.
• If the active zero offsets are canceled using G53 when tool path cor-
rection is active (G41, G42), a G40 (no tool path correction) is issued
internally. The tool correction is rebuilt for the following movement
blocks.
Syntax
M P O V A
OTD([1/2],[0..6],[0..9],[0..9],[1..10])
Axis
Offset
ZO Table
Process
NC Memory
35otd.FH7
Please refer to the section "Reading and writing ZO data from the OTD
program" for a detailed description of the OTD command.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-16 Motion Commands, Dimension Inputs NC Programming Instructions
Example:
Default state After switching on the machine or terminating the NC program, the first
permitted axis designation (X1 in the example) and the first permitted axis
meaning (X in the example) apply for each axis.
Level selection The axis designation and axis meaning of an axis can be changed using
NC commands.
Example:
B(X) means: The axis with axis designation B has axis meaning X.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-17
Description The first permitted axis meaning corresponding to the axis parameters is
selected for each axis of the process in the first step.
Then the plane defined by the axes with the following axis meanings is
selected:
1. Axis 2. Axis Vertical
of the plane: of the plane: axis:
G17: X Y Z
G18: Z X Y
G19: Y Z X
Plane YZ
G17
G19
Plane XY Abscissa
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-18 Motion Commands, Dimension Inputs NC Programming Instructions
Axis1, axis2 and axis3 are axis designations. If an axis designation con-
sists of only one letter, a "0" must be added. If it consists of one letter with
a subsequent numeral, "=0" must be added.
Examples:
axis1 axis2
G20: X Y
G21: Z X
G22: Y Z
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-19
Examples:
Permitted axis meanings For G20, G21 and G22, only permitted axis meanings may be selected for
each participating axis designation. If an axis meaning that is assigned to
one axis designation is to be selected for another axis designation, the
axis meaning is selected by exchanging the axis meanings.
The selection of the axis meanings for
G20 axis10 axis20 {axis30}
G21 axis10 axis20 {axis30}
G22 axis10 axis20 {axis30}
is carried out in the order that is prescribed by axis10, axis20 {, axis30}.
For each axis, the starting point is the first permitted axis meaning corre-
sponding to the axis parameters.
Example:
G20 Z0 C0 X2=0 leads to Z(X), C(Y), X2(Z) and thus to the following axis
meanings:
Axis designation : X1 C Z X2
First permissible axis meaning: X C Z W
Axis meaning acc. to first selection: Z C X W
Axis meaning acc. to second selection: Z Y X W
Axis meaning acc. to third selection: W Y X Z
NC command G20 Z0 C0 X2=0 is thus permitted with the given axis pa-
rameters.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-20 Motion Commands, Dimension Inputs NC Programming Instructions
Boundary conditions
• An axis designation may occur only once within a G20/G21/G22
command, i.e. axis1 ≠ axis2 ≠ axis3 , axis1 ≠ axis3 .
• Tool magazine axes and spindles are excluded.
• The working plane may also be spanned by a maximum of two rotary
axes.
• If a third axis (vertical to the plane) is specified, it must be a linear
axis.
• If an NC set contains a G20/G21/G22 command, the only additional
axis designations that may be programmed are the ones used for free
plane selection.
• The G17/G18/G19/G20/G21/G22 commands form a group
(G code group 2).
• A change in the plane selection overwrites the previous plane selec-
tion and has a modal effect.
• During switching-on, in the basic status, at the end of the program
(BST, RET, JMP, M02 and M30), during a control reset and during a
transition to manual mode (if process parameter "Manual axis jogging
causes reset" has been set), the NC selects the basis system of
coordinates stored in the parameters. This means that it selects the
first axis meaning for every axis in the axis parameters under
Cxx.053. It also selects the working plane that is saved there
(process parameter Bxx.004, default plane selection).
Effects
Coordinate values Programmed coordinate values always refer to axis designations.
Effective radii (RX, RY, RZ) Effective radii are always based on axis meanings, namely the effective
radius RX on the axes with the axis meanings X and A, RY on Y and B
and RZ on Z and C.
ACC For the acceleration factor, programmed coordinate values refer to axis
designations.
G16 Diameter programming G16 affects the axis with the axis meaning X.
G31 Facing machining G31 must not be active at the same time as G20, G21,
G22. The coordinate transformation associated with G31 refers to the XY
plane (G17).
G32 For lateral cylinder surface machining with G32, the effective radius RI
refers to axis meaning X. Generally, a plane selection must be carried out
with G20 before lateral cylinder surface machining is activated.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-21
G41, G42 Tool path compensation (radius compensation) affects the selected layer.
G48, G49 Tool length compensations L1, L2, L3 affect the following axes:
L1: 1. axis of the selected plane
L2: 2. axis of the selected plane
L3: Vertical axis
and thus the axes with the following axis meanings:
L1 L2 L3
G17/G20: X Y Z
G18/G21: Z X Y
G19/G22: Y Z X
The length correction includes the sum of length, wear, offset and D-cor-
rection. The radius correction (tool path correction) affects the selected
plane (machining plane).
G50, G51, G52, zero offsets The coordinate values that are programmed with G50, G51 and G52 refer
(ZOs) to axis designations. However, these are entered in the ZO table under
the associated active axis meanings. This must be taken into account
especially if the axis meaning of an axis has been changed using G20,
G21 or G22.
If an angle P is programmed with G50 or G51, this angle refers to the
selected plane.
G65 In the case of thread tapping with G65, only axis designations with axis
meanings X, Y, Z – but no rotary axes – may be programmed.
G74, G75, G77 The programmed coordinate values refer to axis designations.
G95 In the case of feeding per revolution (G95), the path velocity that is pro-
grammed with the F word refers to axis meanings.
G96 In addition to referring to the active spindle, constant cutting speed G96
refers to the axis meaning of X as the feed axis. If the selected plane is
modified, G96 is deselected and the spindle speed in rpm function (G97)
becomes active.
Note: Please refer to the description "Free plane selection and lateral
cylinder surface machining" for further information about free
plane selection.
Example:
A combined drilling and radial facing slide has the following axes within a
process (process 0):
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-22 Motion Commands, Dimension Inputs NC Programming Instructions
Linear
main Secondary axes Rotary main axes
axes
Mach-ining Vert.
G code Mean. Mean. Mean. Mean. Mean. Mean. Mean. Mean. Mean. plane Axis Remarks
X Y Z U V W A B C
Prelim. drilling
G17 X Y Z1 U - Z2 - - - XY Z
(power-up state)
Boring w/ radial
G21 Z2=0 U0 Y0 U Y Z2 X - Z1 - - - Z2 U Y
facing slide
S1 Z1 S2 Z2
U
Drill
Radial
Facing
Slide
Work-
piece
after
processing
Y
X
317Planschieber.FH7
This machining task is not to be executed with either G20 nor G22:
If G20 Z2=0 U0 Y0 is used, a subsequent G96 refers to the axis with the
designation Z as the feed axis and does not refer to U. With G20 U0 Z0
Y0, tool correction L1 for the radial facing slide tool refers to the axis with
the designation U and L2 refers to Z, which is the opposite of what it
should be.
With G22, the desired utilization of G96 is impossible from the start be-
cause the vertical axis contains axis meaning X.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-23
Example:
A turning center possesses the following axes within a process (axes
within the turning center (process 0)):
Axis designation Axis meaning Comment
X1 X Turning slide
Y Y For milling
Z Z For turning and milling
X2 W Milling slide
C C For machining on the lateral surface
B B Swivel axis for the milling slide
U U Tailstock
S1 S1 Main spindle
S2 S2 Tool spindle for milling
X1 X2
S2
Z
U
Y
C/S1
316Lage.FH7
Linear
main Secondary axes Rotary main axes
axes Mach-
ining Vert.
G code Mean. Mean. Mean. Mean. Mean. Mean. Mean. Mean. Mean. Axis Remarks
plane
X Y Z U V W A B C
The following axis meanings must be permitted for the various commands
for free plane selection for each axis designation:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-24 Motion Commands, Dimension Inputs NC Programming Instructions
Fig. 3-23: Required permitted axis meanings for various NC commands for free
plane selection
The permitted axis meanings must be selected for each axis and each
process in such a way that the requirements of all the NC commands for
free plane selection that occur in the process are fulfilled.
X
[P4] [P3]
[P2] [P1]
40
50
Z
317Durch.fh7
100
317Durch.FH7
NC program:
; Lathe, G16 is home position through process parameters
G01 G90 X40 Z-8 F1000 [P1]
Z-30 [P2]
X50 Z-63 F500 [P3]
Z-100 F1000 [P4]
RET
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-25
difference. Regarding the start point of circles, the circle center points
as well as the end points are to be specified as a diameter difference.
• The thread lead is interpreted as a radius dimension when machining
face threads on a lathe.
• Functions such as constant surface speed and feed per revolution in
the X direction are not affected by diameter programming.
• If position data are read into an NC variable for the diameter axis, this
is the diameter value.
• The zero offsets for the X axis are programmed in radius.
• The tool corrections in the X axis are interpreted as radius values.
• The diameter symbol ∅ is used in the position display to indicate the
axis in which diameter programming is active.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-26 Motion Commands, Dimension Inputs NC Programming Instructions
Example:
Ø X
[P4] [P3]
¼ Circle 1 inch
76,2
+K
+I
[P2] [P1]
50,8
45 [P0]
20
318G71.fh7
Fig. 3-25: Millimeters as the basic programming unit, with change to inches
G70
NC program:
G00 G90 G54 X45 Z100 [P0]
G01 X50,8 Z90 F800 [P1]
G70 Change to inches
Z3 F35 [P2]
G02 X3 Z2 I3 K3 [P3]
G71 Change to mm
G01 Z5 [P4]
.
RET
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-27
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-28 Motion Commands, Dimension Inputs NC Programming Instructions
Y
70
60
50
40
4 1
30
20
10
X
-10 10 20 30 40 50 60 70
319Spieg.fh7
3 2
319Spieg.FH7
Fig. 3-26: Correlation when mirror imaging one or more coordinate axes
NC program:
G00 G54 G90 X0 Y0 (1) No axis mirror-imaged
BSR .TRIA
G50 X50 (4) X axis is mirror-imaged
G73 X-1
BSR .TRIA
G72
G50 X-20 Y40 (3) X and Y axes are mirror-imaged
G73 X-1 Y-1
BSR .TRIA
G72
G50 X-50 Y20 (2) Y axis is mirror-imaged
G73 Y-1
BSR .TRIA
G72
RET
.TRIA Subroutine for the triangle
G90 G01 X30 Y30 F1000 Triangle starting point
X130
X30 Y90
Y30 Endpoint = starting point
G00 G54 X0 Y0
RTS
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-29
Zero offsets G54 - G59, G52 and the adjustable offset are not mirror
scaled. The programmable zero offsets G50 and G51 are also scaled
during programming after the scaling G function has been selected.
• The G functions for scaling are assigned to G function group 19.
• The scaling factors must always be positive values.
• For circle radius programming with R using G02/G03 or with the no-
minal radii RX, RY and RZ, the scaling factors used in the active ma-
chining plane must always be quantitatively identical.
• Selecting scaling does not result in any axis movement. Tool path
correction and NC block preparation are terminated when scaling is
selected. Tool lengths are not scaled.
• With circular interpolation, an error message will be issued if the
scaling factors have different absolute values. The same applies to
rotary axis programming using nominal radii.
• The numerical value which results after recalculation using the scal-
ing factor appears in the position display. The actual value and the re-
maining distance correspond to the real axis positions.
• Scaling factor > 1 Original part is enlarged.
• Scaling factor < 1 Original part is downsized.
• In the internal calculation definition, mirror imaging is performed first
followed by scaling.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-30 Motion Commands, Dimension Inputs NC Programming Instructions
Example: Scaling
70
60
50
40
1
30
20 First Traverse Move
10
after Selecting Scaling
X
-10 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
320Skali.fh7
70
60
50
40 2
30
X
20
10
320Skali.FH7
NC program:
G00 G54 G90 X0 Y0
BSR .TRIA (1) Triangle without scaling
G50 X40 Y-70 Move zero point
G79 X0.5 Y0.5 Set the scaling factors
BSR .TRIA (2) Triangle with scaling
G78 Cancel scaling
G00 G54 G90 X0 Y0
RET
.TRIA Subroutine for the triangle
G90 G01 X25 Y30 F1000 Start position
X100
X25 Y70
Y30 Final position = starting position
RTS
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-31
Notes for programming G74 • G74 deactivates the tool path and tool length correction using G40,
sets the machine zero point (G53), and switches to feed programming
(G94) and to absolute dimension entry (G90).
• The coordinate values of the programmed axes in a G74 NC block
must be defined as zero.
• If a number of axes are programmed in a G74 block, the axis move-
ment of the axes is not performed with interpolation.
• A feed rate programmed in a G74 NC block will also remain active for
other types of interpolation.
Note: The reference dimensions and the reference point cycle trav-
ersing speed are set by the machine builder in the drive pa-
rameters.
Festanschlag.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-32 Motion Commands, Dimension Inputs NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-33
Example:
0 100 170
321Fest.fh7
321Fest.FH7
NC program:
G00 Z100 M3 S1250 Z axis to starting position
G75 Z170 F200 Feed to positive stop
.
. Programming of movements on the
. stop axis is impossible!
G76 Cancel axis preload
G01 Z100 F1000 Z axis to starting position
G00 Z0 M5 Z axis to reference point
RET
Programmable Torque
In "Feed to positive stop G75", the torque at which the positive stop is
detected and the holding torque can be adjusted individually. The pa-
rameter settings are performed with the AXD commands.
Besides axis parameter "Cxx.044 Reduced torque at positive stop", the torque
when feeding to the positive stop can be programmed process-dependently
via the AXD parameters in the NC or PLC program.
65017 (P-7-3577) Reduced torque of the digital drive (in percent)
during movement to the positive stop The posi-
tive stop is detected at this torque.
65018 (P-7-3578) Reduced torque of the digital drive (in percent) at
the positive stop This value takes effect only if it is
less than the value that was entered in the "Re-
duced torque at positive stop" axis parameter and
less than 100%. The positive stop is held at this
torque.
NC program example
@41=AXD(X:P-7-3577) ; Save preselected values
@42=AXD(X:P-7-3578)
AXD(X:P-7-3577)=200 ; Values required for processing
AXD(X:P-7-3578)=120 ; Write (multiplication factor = 40)
G75 X200 F500 ; Drive to positive stop
...
G76 ; Cancel torque preload
AXD(X:P-7-3577)=@41 ; Saved preselected
AXD(X:P-7-3578)=@42 ; rewrite values
The torque at which the positive stop is detected is programmed with AXD
parameter "65017 (P-7-3577)". After the positive stop is detected, the axis
is held to the positive stop with the programmed torque in AXD parameter
"65018 (P-7-3578)" until the torque preload is cancelled with G76.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-34 Motion Commands, Dimension Inputs NC Programming Instructions
Syntax G76
Changeable by:
- User
- NC
- PLC
Machine Data
Limit X+ 122.6000 mm
Limit X- -56.0000 mm
Axis Parameter
softlimit.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-35
Machine Data
The changeable software limits are adjusted axis-specifically in page 12
of the machine data.
Machine data elements "Prog. traverse range limit positive" and "Prog.
traverse range limit negative" can be modified by the user in the machine
data menu, in the NC program and in the PLC.
The element "Prog. traverse range limit active", which is intended to visu-
alize the PLC interface signal, can be accessed only in read mode.
AxxS.LIMIT The axis status signal is set as soon as the control signal has reached the NC.
Boundary conditions
• The variable software limits have no influence in NC blocks which
were already calculated by block preparation when setting the
"AxxC.LIMIT" control signal.
• The changeable software limits must be less than the adjusted trav-
erse range limits in the axis parameter.
• If the axis is outside of the changeable software limits upon activation,
then the limits are active in the next traverse block.
Example:
G1 X250 F1500
X100
MTD(12,1,,2)=122.6
X200
...
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-36 Motion Commands, Dimension Inputs NC Programming Instructions
X X
Z In itia l P o sitio n Z
In itia l P o sitio n
F e e d Mo ve m e n t
F e e d Mo ve m e n t
Blo ck E n d
Blo ck E n d P o sitio n
P o sitio n
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-37
Example:
G77 X0 Y0 Z0 F1000
In itia l P o sitio n Z
F e e d Mo ve m e n t
Blo ck E n d P o sitio n
322Rück2.fh7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-38 Motion Commands, Dimension Inputs NC Programming Instructions
Task of NC program restart NC program restart is used to establish the states in the controller and the
machine that are required to be able to start or resume the working se-
quence from any block in the NC program.
Programming
NC program restart is divided into two sections. All processes that are
computed by the NC but not executed are programmed in the "ADJUST"
subroutine. The subroutine and, consequently, the NC program restart
are invoked using the ".ADJUST" label.
The final state after the execution of the subroutine must be the initial
state for a return to contour or repositioning process. Using the ".REPOS"
label, the "REPOS" subroutine is invoked after the "ADJUST" subroutine.
It contains all sequences and functions that enable a correct return to
contour or repositioning process to be performed.
Primary blocks are used for NC program restart, in particular when tools
or workpieces are supplied from a different process or an external source
during program execution.
DIN 66025 (Part 1) defines a colon ":" as the primary block character. The
colon must be programmed as the first character within an NC block.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-39
Example:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-40 Motion Commands, Dimension Inputs NC Programming Instructions
Note: At the program end and after a control reset, the NC initializes
all memories of the M or Q function groups with the value "-1".
The sole exceptions are the spindle and gear step groups.
Note: M19 commands (M19, M119, M219, and M319) are not stored
within the "M(16) and Q function buffer" page.
Working principle With certain exceptions, the NC processes the NC commands during a
NC program restart in the same way as it does during automatic mode.
The exceptions are listed below:
dwell time The NC does not take any dwell times (G04) into account during the
computing run.
Transformation for facing/ The transformation for facing (G31) or lateral cylinder surface machining
lateral cylinder surface (G32) must be selected at the end of the NC program restart process
machining according to the setting of the "Transformation selection" machine data
element of the "NC program restart and REPOS" page within the
"ADJUST" subroutine.
Homing axes The drives do not execute the "Homing axes" function (G74) during the
NC program restart. Thus, the actual position is not changed when a G74
command is executed.
Feed against positive stop When the NC executes the "Feed against positive stop" (G57) command
during the computing run, it does not move the drive concerned. Thus, the
motor current is not increased due to the mechanical resistance.
Spindle Control Commands With NC-controlled spindles, the NC does not execute the spindle control
commands (Mj03, Mj04, Mj05, Mj19; with "j" equal to 1, 2, or 3) during the
computing run. It issues the auxiliary functions to the PLC (as in normal
operation) only if this has been preselected in the process parameters.
The NC retains the states of the spindles with rotary axis capability that
are required for the subsequent program entry and stores them in the "NC
program restart and REPOS" page. The states that are required for the
program entry have been established using G77 Sj=0 (with j equal to " ",
"1", "2", 3") and/or G77 C0 (C: axis designation of the rotary axis) ac-
cording to the necessary modes (same as after an interruption). Which
mode is to be selected can be obtained from machine data page 60 "NC
program restart and REPOS".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-41
Example:
A spindle with rotary axis capability and the designation S1/C1 requires
the mode (spindle/rotary axis mode) that is necessary for further opera-
tion to be established after an interruption and/or after the NC program
restart in the REPOS subroutine.
.REPOS
:
@100=MTD(60, 0, 0,1)-1 BEQ .ADJ_5 ;Page:60, process:0,
Data element: 1 (rotary axis
mode for S1)
G77 S1=0 ;Select spindle mode
BRA .ADJ_6
.ADJ_5
G77 C1=0 ;Select rotary axis mode
.ADJ_6
:
Program control commands and The NC processes the program control commands (M00, M01, M02,
gear switching functions M30) and the gear switching functions (Mj40, Mj41, Mj42, Mj43, Mj44;
with j = "1", "2", or "3") without any restrictions, as in the normal program
mode. If the machine manufacturer has selected this feature in the proc-
ess parameters, the NC transfers them to the PLC.
Process control and During the NC program restart, the NC executes the process control
synchronization commands commands (DP, SP, RP, AP, WP, LP and POK) and the process syn-
chronization commands (WES and WER) as in normal operation. It is
required, however, that the individual programs have been started in the
individual processes as in normal operation.
Recommendation If the other processes are not to be taken into account (i.e. not to be influ-
enced) during NC program restart because they may have already
reached the required program locations in normal mode or via NC pro-
gram restart, a skip slash or a conditional jump instruction that precedes
the process control commands or process synchronization commands
can be used.
Data exchange with digital During the computer run, data exchange with digital drives (with SERCOS
drives with SERCOS Interface interface) via AXD commands is performed as in normal program opera-
tion. This also applies to APR SERCOS parameters that are processed
by the APR.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-42 Motion Commands, Dimension Inputs NC Programming Instructions
Example:
Certain functions (such as AXD commands) are not to be issued to the
controller during the NC program restart.
There are different ways of implementing this:
1. Conditional jumps
Using an event the PLC sets during the NC program restart, specific
functions can be skipped that are not to be executed in the NC during the
NC program restart.
:
BES .BP1 1:15
AXD (X:S-0-0104)=7000 ;new KV factor for X axis
AXD (Y:S-0-0104)=7000 ;new KV factor for Y axis
AXD (Z:S-0-0104)=7000 ;new KV factor for Z axis
.BP1
:
2. Implementation in the PLC
In this solution, the PLC executes the functions that may not be proc-
essed during the NC block restart (e.g. the AXD commands). As long as
these functions were activated using an auxiliary function type (e.g. using
Q functions), their output to the PLC can easily be implemented during
the NC program restart process. To do this, just set the related process
parameter:
Bxx.057 Q function output during NC program restart Yes/No
to No.
The related NC program could then look like this:
:
Q101 ;new KV factor for X axis
Q102 ;new KV factor for Y axis
Q103 ;new KV factor for Z axis
:
Axis transfer The NC executes the axis transfer commands (GAX and FAX) as in nor-
mal program operation. If the NC comes to a FAX command during the
computing run, the NC waits until the axis is requested by a different pro-
cess (which may also be in an NC program restart process) via GAX.
Correspondingly, the NC waits during an axis request using "GAX" until
another process (which may also be in an NC program restart process)
releases the axis concerned via "FAX".
Read position value The NC does not interpret the "PMP" and "NMP" commands (which are
used to acquire the current actual position of analog drives) during the
computing run.
Detailed description Additional and supplemental information about the "NC program restart
and REPOS" function can be found in the "NC program restart" descrip-
tion
"DOC-MTC200-SATZVOR*Vxx-ANW1-EN-P".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Commands, Dimension Inputs 3-43
Syntax G75 <[axis name][coordinate value]> <feed> switches the motor encoder
nd
to the 2 encoder
nd
G68<[axis name][coordinate value]> <feed> switches the 2 encoder to
the motor encoder
nd
The parameters of the 2 encoder are set in axis parameters Cxx.087,
Cxx.088, Cxx.089, Cxx.090 and Cxx.091. Switching is performed with an
extended encoder using G code G69. The encoder system is switched
back with the encoder still extended using G68.
Application
Application 1
For adaptive positioning with a linear sensor. Switching is performed dur-
ing movement.
Application 2
To switch from a motor encoder to an external measuring system. The
external measuring system can either be a linear encoder, a rotation en-
coder for circular axes, or a linear sensor. Switching is performed in a
standstill condition, but under power and with controller release.
nd
Note: The reference value of the 2 encoder system must lie out-
side of the travel limit in order to exclude the possibility of un-
desired movements if the workpiece is not reached!
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
3-44 Motion Commands, Dimension Inputs NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-1
4 Motion Blocks
4.1 Axes
[B]
Plane YZ
G17
G19 Plane XY
[A] Abscissa
[C]
Fig. 4-1: Linear main axes (X, Y, Z) and rotary main axes (A, B, C) in a Car-
tesian reference coordinate system
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-2 Motion Blocks NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-3
Examples:
404Kreis.fh7
C i r c le D i a m e t e r 1 6 0 m m Ma c h i n i n g S p e e d =
F 8 0 0 0 , G a in F a c to r= 7
G06, G08
Oscilloscope Function
P o s i t i o n Va l u e s Y A x i s [ m m ]
Position Deviation:
P o s i t i o n C o m m a n d Va l u e :
Expansion Factor: 1693.7
Axis Number: 2
AxisType: Digital Linear Axis
Axis Designation: Y
Process: Master
Axis Number: 1
Axis Type: Digital Linear Axis
Axis Designation: X
Process: Master
P o s i t i o n Va l u e s X Ax i s [ m m ]
402Kreis.FH7
Fig. 4-2: Circular interpolation with F8000 mm/min and following error-free
interpolation
Due to the compensated following error, the actual contour is nearly ideal from
the NC controller point of view. A position deviation of 0.002 mm occurred only
at the transition between the quadrants. The position deviation at the transition
between the quadrants can almost be completely compensated by program-
ming a friction torque compensation.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-4 Motion Blocks NC Programming Instructions
404Kreis.fh7
Ma c h i n i n g S p e e d = F 8 0 0 0 G a in F a c to r= 7
G06, G08
Oscilloscope Function
Position Deviation:
Position Command Value:
Expansion Factor: 1693.7
C i r c le S e c t i o n P o s itio n D e v ia tio n
E v a l u a t i o n i n Qu a d r a n t T r a n s i t i o n
403Kreis.FH7
The next figure shows, for comparison, the same circle at a path feed rate
of F1000 mm/min.
404Kreis.fh7
C i r c le D i a m e t e r 1 6 0 m m Ma c h i n i n g S p e e d =
F 1 0 0 0 , G a in F a c to r= 7
G06, G08
Oscilloscope Function
Position Deviation:
Position Command Value:
Expansion Factor: 2279.2
Axis Number: 2
Axis Type: Digital Linear Axis
Axis Designation: Y
Process: Master
Axis Number: 1
Axis Type: Digital Linear Axis
Axis Designation: X
Process: Master
P o s i t i o n V a l u e s Ax i s X [ m m ]
404Kreis.FH7
Fig. 4-4: Circular interpolation with F1000 mm/min and following error-free
interpolation
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-5
The figure below shows an evaluation of the position deviation in the tran-
sition between the quadrants.
404Kreis.fh7
Ma c h i n i n g S p e e d = F 1 0 0 0 m m / m i n G a in F a c to r= 7
G06, G08
Oscilloscope Function
Position Deviation:
Position Command Value:
Expansion Factor: 2279.2
C i r c le S e c t i o n P o s itio n D e v ia tio n
E v a l u a t i o n i n Qu a d r a n t T r a n s i t i o n
405Kreis.FH7
Example:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-6 Motion Blocks NC Programming Instructions
40 4K re is.fh7
C i r c le D i a m e t e r 1 6 0 m m Ma c h i n i n g S p e e d =
F 80 0 0 , G a i n F a c t o r = 7
G06, G08
Oscilloscope Function
Axis Number: 2
Axis Type: Digital Linear Axis
Axis Designation: Y
Process: Master with
Axis Number: 1
Axis Type: Digital Linear Axis
Axis Designation: X
Process: Master with
406Kreis.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-7
404Kreis.fh7
Ma c h i n i n g S p e e d = F 8 0 0 0 m m / m i n G a in F a c to r= 7
G06, G08
Oscilloscope Function
Position Deviation:
Position Command Val ue:
Expansion Factor: 527.5
C i r c le S e c t i o n P o s itio n D e v ia tio n
E v a l u a t i o n i n Qu a d r a n t T r a n s i t i o n
407Kreis.FH7
The next figure shows, for comparison, the same circle at a path feed rate
of F1000 mm/min.
40 4K re is.fh7
C i r c le D i a m e t e r 1 6 0 m m Ma c h i n i n g s p e e d =
F 10 0 0 , G a i n F a c t o r = 7
G 0 7, G 0 8
Oscilloscope Function
Position Deviation:
Position Command Value:
Expansion Factor: 1680.9
Axis Number: 2
Axis Type: Digital Linear Axis
Axis Designation: Y
Process: Master with
Axis Number: 1
Axis Type: Digital Linear Axis
Axis Designation: X
Process: Master with
408Kreis.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-8 Motion Blocks NC Programming Instructions
The figure below shows an evaluation of the position deviation in the tran-
sition between the quadrants.
404Kreis.fh7
Ma c h i n i n g S p e e d = F 1 0 0 0 m m / m i n G a in F a c to r= 7
G 0 7, G 0 8
Oscilloscope Function
Position Deviation:
Position Command Val ue:
Expansion Factor: 1680.9
C i r c le S e c t i o n P o s itio n D e v ia tio n
E v a l u a t i o n i n Qu a d r a n t T r a n s i t i o n
409Kreis.FH7
Fig. 4-9: Circular interpolation with G07, partial view with F1000 mm/min
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-9
Note: The machine builder specifies the maximum feed rate change
in the axis parameters.
Examples:
The velocity diagram (above and following sequence) clearly shows how
the NC block transition from the first to the second area is traversed at
unreduced velocity. The NC block transition cannot be detected. The feed
rate is reduced to F7000 in the NC block transition to the third segment.
The velocity is optimally reduced to the NC block starting velocity without
overshooting.
404Kreis.fh7
Oscilloscope Function
Signal 1 + Signal 2
[(mm)/min * 10^3]
Axis Number: 1
Axis Type: Dig. Linear Axis
Axis Name: X
Process: Master with 4 Axes
410Satz.FH7
Sample program for the displayed velocity diagrams in the figures "Block
transitions with G08 and F8000" and "Block transition with G08 from
F8000 to F7000":
G00 G54 G90 G06 G08 X200 Starting point of the X axis
G01 F8000 Feed speed
X150 1. segment
X50 2. segment
X0 F7000 3. segment with new F value
RET Program end
In the following velocity diagram, the change in velocity between the sec-
ond area with F8000 and the third area with F7000 has been magnified
using a zoom function. The optimal velocity NC block transition between
the segments can clearly be seen.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-10 Motion Blocks NC Programming Instructions
404Kreis.fh7
Block Transition from F8000 auf F7000 G06 und G08
Oscilloscope Function
Signal 1 + Signal 2
[(mm)/min * 10^3]
Axis Number: 1
Axis Type: Dig. Linear Axis
Axis Name: X
Process: Master with 4 Axes
411Satz.FH7
Note: The machine builder specifies the maximum feed rate change
in the axis parameters.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-11
Examples:
40 4K re is.fh7
3 S t r a i g h t L i n e s X 2 0 0 -- > X 0 G06 und G09
Oscilloscope Function
Signal 1 + Signal 2
[(mm)/min * 10^3]
Axis Number: 1
Axis Type: Dig. Linear Axis
Axis Name: X
Process: Master with 4 Axes
412Satz.FH7
The velocity diagram (see above figure) clearly shows how the velocity of
the axis is reduced to almost 0 between the workpiece areas. The
residual velocity at which the transition to the next NC block occurs is
derived from axis parameter Cxx.017 Maximum feed rate change w/o
ramp.
Sample program for the displayed velocity diagrams in the fig. "Block
transitions with G09 and F8000" and "Block transition with G09 from
F8000 to F7000":
G00 G54 G90 G06 G09 X200 Starting point of the X axis
G01 F8000 Feed speed
X150 1. segment
X50 2. segment
X0 F7000 3. segment with new F value
RET Program end
In the following velocity diagram, the change in velocity between the sec-
ond area with F8000 and the third area with F7000 has been magnified
using a zoom function.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-12 Motion Blocks NC Programming Instructions
404K reis.fh7
Blo c k T r a n s i t i o n f r o m F 8000 au f F 7000 G06 und G09
413Satz.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-13
Examples:
40 4K re is.fh7
T e s t - C o n t o u r : T r a n s i t i o n f r o m S t r a i g h t L i n e -- > C i r c l e N o t T a n g e n t i a l ,
C i r c le --> C i r c le T a n g e n t i a l
Po sitio n Va lu e s Axis X
[mm]
414Kontur.FH7
The "Contour diagram with G61" shown here illustrates how the contour is
accurately maintained by G61 in the transitions straight line →circle and
circle → circle. The positioning window for the examples shown here is
specified as 0.010 mm in the axis parameters. The positioning deviation
in the non-tangential transition from straight line → circle is specified as
0.00249 mm. The transition accuracy could be increased accordingly if
the positioning windows axis parameters were reduced. The position
deviation is less than 0.001 mm in the tangential transition circle →circle.
The following velocity diagram (Fig. "Velocity diagram with G61") shows
how the velocity is reduced until the positioning window is reached. When
the positioning window is reached, processing switches to the next NC
block and the next axis movement starts.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-14 Motion Blocks NC Programming Instructions
404K reis.fh7
D i a g r a m : T r a n s i t i o n f r o m S t r a i g h t L i n e --> C i r c le N o t T a n g e n t i a l,
C i r c le --> C i r c le T a n g e n t i a l
T r a n s i t i o n S t r a i g h t L i n e --> C i r c le T r a n s i t i o n C i r c l e - -> C i r c l e
N o t Ta n g e n tia l Ta n g e n tia l
415G61.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-15
Examples:
40 4K re is.fh7
T e s t -C o n t o u r : T r a n s i t i o n f r o m S t r a i g h t L i n e --> C i r c le N o t T a n g e n t i a l,
C i r c le --> C i r c le T a n g e n t i a l
Oscilloscope Function
Positions Deviation:
Position Command Value: F eed rate:
Expansion Factor: 2444.6 F4000
G06, G62
G a in = 7
416G62.FH7
The contour diagram shown here with G62 illustrates how the non-tan-
gential transitions (straight line →circle) are slurred as a consequence of
G62. The contour is traveled at optimal velocity (via G08). At the contour
itself, the machining quality is identical to that achieved with G61. If you
compare the contour diagrams in "Contour diagram with G61" and
"Contour diagram with G62", note that the expansion factor for the posi-
tion deviation is four times as high in "Contour diagram with G62".
In the following velocity diagram with G62, it can be seen how the path
velocity in the non-tangential transition straight line →circle is reduced by
the change of direction. The tangential transition circle →circle is traveled
at a constant path velocity as a consequence of conditions G62 and
G08.g
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-16 Motion Blocks NC Programming Instructions
404K reis.fh7
D i a g r a m : T r a n s i t i o n f r o m S t r a i g h t L i n e --> C i r c le N o t T a n g e n t i a l,
C i r c le --> C i r c le T a n g e n t i a l
417G62.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-17
Examples:
G01 ACC 50 X100 ACC with a constant
G01 ACC=@10 X100 ACC with a variable
G01 ACC=10*@10+30 X100 ACC with a math. expression
NC program:
G00 G54 G90 G61 G06 X200 Starting point
G01 X150 F8000 1. straight line
ACC 40 X50 2. straight line acceleration factor
40%ACC 15 X-50 3. straight-line acceleration factor 15%
RET Program end
Oscilloscope Function
( (Signal 1) 2 + (Signal 2) 2 )
[(mm)/min * 10^3]
Axis Number: 1
Axis Type: Dig. Linear Axis
Axis Name: X
Process: Master with 4 Axes
418Besch.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-18 Motion Blocks NC Programming Instructions
Note: The programmed F value for a G00 block is valid only for the
NC block in which it has been programmed. In the case of a
subsequent G00 block without an F value, the axes are moved
at maximum path velocity.
Example:
G00 G54 G90 X40 Y40 [P1] rapid traverse at maximum path velocity
X120 Y60 F8000 [P2] rapid travel with F word
Y
60 P2
40
P1
20
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-19
Y X
[P4]
100 [P3] 100
[P4]
80 80
[P2]
60 60
40 40
20 [P1] 20
[P1]
20 40 60 80 100 10 0 -10
X Z
420G01.FH7
NC program:
G00 G90 G54 G06 G08 Movement commands, interpolation con-
ditions
X0 Y0 Z10 S3000 M03 Starting position, spindle ON
G01 X26.26 Y18 Z5 F2000 [P1] Machining start position
Z-5 Feed Z axis
Y80 F1200 [P2] linear interpolation, 1 axis
X41 Y93.5 [P3] linear interpolation, 2 axes
X111 [P4] linear interpolation, 1 axis
G00 Z10 M05 Z axis to safety distance
RET
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-20 Motion Blocks NC Programming Instructions
Y X
[P3] [P2]
100 [P3] 100
80 [P2] 80
60 60
[P1]
40 40
20 [P1] 20
20 40 60 80 100 10 0 -10
X Z
421G013.FH7
NC program:
G00 G90 G54 G06 G08 Movement commands, interpolation con-
ditions
X0 Y0 Z10 S3000 M03 Starting position, spindle ON
G01 X40 Y25.5 Z5 F2000 [P1] Machining start position
Z-5 Feed Z axis
X95.74 Y80 Z-10 F1200 [P2] linear interpolation, 3 axes
X100 Y100 Z10 F2000 [P3] Z axis to safety distance
M05 Spindle OFF
G00 X0 Y0 Return to starting point
RET Program end
The programmed path condition G02 or the programmed tool G03 is moved
along a circular path to the programmed end point using the effective or
programmed feed rate (F value). The programmed axes are started simul-
taneously; all of them reach their programmed end point at the same time.
Circular movement is activated using:
• G02 in the clockwise direction and
• G03 in the counterclockwise direction
in the direction of the programmed end point (see Fig. "Circular
programming depending on planes"). The tool is moved around the
programmed center point of the circle.
A circular motion can be performed in each plane using the correspond-
ing selection (plane selection with G17, G18, G19 and free plane selec-
tion with G20, G21, G22). The programmed center of the circle and the
end points must lie on the same machining plane as the starting point.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-21
G02 G03
Plane YZ
G03
G17
G19 Abscissa
Plane XY
G02
G03 1st Axis [X]
G18
G02
Plane ZX
422Kreis.FH7
The radius and the starting angle of the arc are calculated from the start-
ing point and the center point. A radius which is determined based on the
end point and the center point, and that perhaps differs, is ignored. This
means that the end point can only be used to calculate the final angle.
Thus, the programmed end point may not always lie on the arc. The pro-
grammed end point can therefore differ from the traveled end point.
With incremental data input (G91), the center point and the end point are
expressed in relation to the starting point; with absolute input (G90), they
are expressed in relation to the current zero point.
When programming using absolute data input, the value of the starting
point is assigned to the coordinate value of an unprogrammed address
letter (X, Y, Z, I, J, K); with incremental input, the value 0 is assigned.
Since the starting point and end point are identical for a full circle, only the
center point needs to be entered when programming a full circle.
A circle or an arc is defined by the programmed axis commands and the
parameters for interpolation. The previous NC block defines the starting
point of the circle. The end point of the circle is defined by the axis value
data X, Y and Z in the G02/G03 NC block. The center point of the circle is
defined by the entered interpolation parameters I, J and K or directly via
radius R.
Interpolation Parameters I, J, K
Interpolation parameters are assigned to the axes which are used in a
circular interpolation. These parameters are parallel to the axes, and their
signs depend on the direction in which they are oriented in relation to the
center point of the circle. Based on DIN 66 025, interpolation parameters
I, J and K are assigned to axes X, Y and Z.
If coordinate values are not programmed using addresses I, J and K, the
corresponding starting point is assigned with absolute dimension pro-
gramming. The default value is 0 with incremental dimension program-
ming.
With G91 programming, the interpolation parameters define the distance
from the starting point of the circle to the center point; with G90 program-
ming, the distance from the current zero point to the center point is de-
fined.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-22 Motion Blocks NC Programming Instructions
Starting Point
End point Center Point
-J (G91)
+I (G90) -I (G91)
+J (G90)
X
423Kreis.FH7
Y
CP = Center Point
100
80
I=60
60 CP
40
[P1] J=60
20
NC program:
G00 G90 G54 G06 G08 Movement commands, interpolation con-
ditions
X0 Y0 Z10 S3000 M03 Starting position, spindle ON
G01 X40 Y37.24 F2000 Starting point of circle
Z-10 F500 Feed Z axis
G02 X40 Y37.24 I60 J60 Full circle in clockwise direction
Alternatively: G02 I60 J60 With full circle, without circle end point
G00 Z10 Z axis to safety distance
M05 Spindle OFF
X0 Y0 Return to starting point
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-23
Y I=20
CP = Center Point
100
80
60
CP
J=22.76
40
[P1]
20
NC program:
G00 G90 G54 G06 G08 Movement commands, interpolation condi-
tions
X0 Y0 Z10 S3000 M03 Starting position, spindle ON
G91 G01 X40 Y37.24 F2000 Starting point of circle in chain dimension
Z-20 F500 Feed Z axis
G02 X0 Y0 I20 J22.76 Full circle in clockwise direction
Alternatively: G02 I20 J22.76 With full circle, without circle end point
G00 G90 Z10 Z axis to safety distance (G90)
M05 Spindle OFF
X0 Y0 Return to starting point
RET Program end
Ø X
200 C P = C irc le C e n te r P o in t
[P 5 ] [P 4 ]
160 KM
+K
120 +I
[P 3 ] [P 2 ]
80
[P 1 ]
40
20 40 60 80 1 0 0 1 2 0 1 40 Z
426Dreh.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-24 Motion Blocks NC Programming Instructions
Syntax for circle radius G02 R+ ... with a traveling angle to 180°
programming in the G17 plane X ... Y ...
G03 R- ... with a traveling angle > 180°
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-25
Ø X
R= -30
100
80
[S]
[E]
60
R= +30
40
20
Fig. 4-27: Circle radius programming, determining the sign to be used for the
radius
Ø X
200
[P 5] [P 4]
160 C ircle C enter Point
40 R
120 +I
[P 3] [P 2]
80
[P 1]
40
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-26 Motion Blocks NC Programming Instructions
NC program:
G00 G90 G54 G06 G08 Movement commands, interpolation condi-
tions
M03 S2000 Spindle ON
X69 Z136.5 [P1] Starting position
G01 X40 Z128.5 F500 [P2] linear interpolation
Z100 [P3] circle starting point
G02 X160 Z60 R40 [P4] ¼ circle in clockwise direction
G01 Z10 [P5] machining end position
G00 X200 X axis to safety distance
M05 Spindle OFF
RET Program end
Helical Interpolation
Helical interpolation is a combined circular and linear interpolation which
is used to produce a spiraling tool path. Circular interpolation takes place
in the selected plane (plane selection with G17, G18, G19 and free plane
selection with G20, G21, G22) while linear interpolation occurs simultane-
ously in a third axis which is perpendicular to the plane of circular inter-
polation.
In helical interpolation, an arc and a straight line erected perpendicular to
the end point of the arc are both programmed in the same NC block. The
axis movements are coordinated in such a way that the tool moves at a
constant pitch in a helical path.
-50
25
50
Y
50
X
429Schrau.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-27
Y X
100 CP = Center Point 100
[P4]
80 80
60 60
[P1]
40 CP 40
I=62.5
[P2] [P3]
20 20
[P1] J=30
[P4]
20 40 60 80 100 10 0 -10
X Z
430G90s.FH7
Y X
I=22.5 CP = Center Point
100 100
[P4]
80 80
60 60
[P1]
40 40
CP
[P2] [P3] J=0
20 20
[P1]
[P4]
20 40 60 80 100 10 0 -10
X Z
431G91s.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-28 Motion Blocks NC Programming Instructions
T h r e a d L e a d 1 T h read P ass
djhhfdjhjf
L o n g itu d in al T h read
432Laeng.FH7
Syntax G33 <end point [X,Y,Z]> <lead [I,J,K]> <starting angle [P]>
The thread length is the difference between the starting point and the end
point that is programmed in NC block G33. The thread entering and exit-
ing path in which the feed rate is accelerated or reduced must be consid-
ered. The coordinate values can be programmed using absolute (G90) or
incremental (G91) positioning data.
The thread lead is entered in address I, J and K; however, no more than
one interpolation parameter can be programmed in a single-thread NC
block. Interpolation parameters I, J and K are programmed as incre-
mental values without sign. Interpolation parameters I, J and K are as-
signed to axes X, Y and Z.
Via address P, the thread starting angle can be programmed from 0° to
360°. By programming a thread starting angle, it is possible to cut multiple
coils without shifting the start point. If a starting angle is not programmed
via address P, it is assumed that the starting angle is 0°.
Clockwise or counterclockwise threads are produced by defining the di-
rection of rotation of the spindle: M03 or M04. If G33 is used to select a
different spindle for thread cutting, the spindle must be activated by
means of the "SPF <spindle number>" command prior to NC block G33.
The first spindle is always active in the power-on state. The spindle must
start at the desired speed prior to or in the G33 NC block.
In any case, positioning without lag G06 must always be used for thread
cutting in conjunction with G33 since this function has a positive influence
on the thread quality.
G33 belongs to the group of blockwise active G codes. G33 does not
remain active at the end of an NC block. The thread is cut from the cur-
rent starting point up to the programmed end point of the NC block, while
movements are possible in several axes (tapered threads).
• No more than 500 threads can be cut per thread NC block. If more
than 500 threads are required, these can be machined using thread
NC block sequences.
• The maximum spindle speed in a thread NC block is 13,500 rpm. The
required approach distance increases as the spindle speed and thread
lead increases.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-29
• While thread cutting, the constant surface speed G96 is ignored via
G33. The spindle speed which was programmed last via G97 is set.
• If the thread is cut using positioning with minimized lag G06, the spin-
dle speed can be changed during thread cutting by using spindle over-
ride, though this can negatively affect quality. The feed rate will adapt
accordingly. Feed rate override will not be active.
• In the case of an immediate stop (emergency stop, stop in setup
mode), the spindle speed and the feed rate are synchronously reduced
and are synchronously increased upon a restart.
• For taper threads, the thread lead is declared in relation to the main
axis. If the desired thread lead is to relate to the Z axis, then the thread
lead must be defined in interpolation parameter K. The thread lead is
programmed in interpolation parameter I if the thread lead relates to
the X axis.
• When lathing face threads, the thread lead is interpreted as a radius
dimension when programming the diameter.
• Depending on the parameter setting, the thread lead can be entered
using 3 or 4 places to the left of the decimal point and, correspond-
ingly, 5 or 4 places to the right of the decimal point.
X
100
[P4] [P1]
80
60
[P3]
[P6] [P2]
40 [P5]
20
Thread lead: 3 mm
Thread depth: 4 mm Thread depth per
cut: 2 mm
NC program:
G00 G54 G90 G06 G08 X80 Z130 S2000 M03 [P1] Starting conditions
G01 X45.5 F1500 [P2] Feed for first cut
st
G33 Z30 K3 P180 [P3] 1 thread pass
G00 X80 [P4] Withdraw X axis
Z130 [P1] Starting point
nd
G01 X43.5 F1500 [P5] Feed for 2 cut
G33 Z30 K3 P180 [P6] Second thread pass
G00 X80 [P4] Withdraw X axis
M05 Spindle OFF
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-30 Motion Blocks NC Programming Instructions
X
100 [P4] [P1]
105mm
80 [P3] Lead
[P6]
60
17°
40 [P2]
[P5]
10mm 47.5mm
20
P5 = 47.5 - 3 = 44.5
P5 = 44.5 - 2 ∗ ( 10 ∗ TAN17° ) = 38.39
P6 = 38.39 + ( 105 ∗ TAN17° ) = 70.49
P2 = 47.5 - 1.5 = 46
P2 = 46 - 2 ∗ ( 10 ∗ TAN17° ) = 39.89
P3 = 39.89 + ( 105 ∗ TAN17° ) = 71.99
Fig. 4-35: Calculation of thread starting and end point coordinates for X axis:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-31
X
100
80 [P6] [P3]
[P4]
60
40
[P1]
20 [P5] [P2]
Thread lead: 2 mm
Thread depth: 3 mm Thread
depth per cut:
1.5 mm
NC program:
G00 G54 G90 G06 G08 X27.5 Z100 S2500 M03 [P1] Starting con-
ditions
G01 Z78 F1500 [P2] Feed for
st
1 cut
st
G33 X72.5 I2 P180 [P3] 1 thread
thru hole
G00 Z100 [P4] Withdraw
Z axis
X27.5 [P1] Starting
point
G01 Z76.5 F1500 [P5] Feed for
nd
2 cut
nd
G33 X72.5 I2 P180 [P6] 2 thread
pass
G00 Z100 [P4] Withdraw
Z axis
M05 Spindle OFF
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-32 Motion Blocks NC Programming Instructions
L o n g itu d in a l T h re a d
T h re a d L e a d 1 T h re a d P a s s
436Laeng2.FH7
Syntax G33 <end point [X,Y,Z]> <lead [I,J,K]> <starting angle [P]>
G33 <end point [X,Y,Z]> <lead [I,J,K]>
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-33
X
100
80
[P6]
60 [P1]
[P5] [P4]
40
[P10] [P9] [P3]
[P2]
20 [P8] [P7]
3rd Section 2nd Section 1st Section
Thread lead: 1: 3 mm
2: 5 mm
3: 1 mm
Thread depth: 4 mm Thread depth
per cut: 2 mm
NC program:
G00 G54 G90 G06 G08 X60 Z135 S2000 M03 [P1] Starting conditions
G01 X23 F1500 [P2] Feed for first cut
st
G33 Z90 K3 P180 [P3] 1 thread segment /
st
1 pass
nd
G33 X38 Z50 K5 [P4] 2 thread segment /
st
1 pass
rd
G33 Z10 K1 [P5] 3 thread segment /
st
1 pass
G00 X60 [P6] Withdraw X axis
Z135 [P1] Starting point
G01 X21 F1500 [P7] Feed for
nd
2 cut
st
G33 Z90 K3 P180 [P8] 1 thread segment /
nd
2 pass
nd
G33 X36 Z50 K5 [P9] 2 thread segment /
nd
2 pass
rd
G33 Z10 K1 [P10] 3 thread segment
/
nd
2 pass
G00 X60 [P6] Withdraw X axis
M05 Spindle OFF
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-34 Motion Blocks NC Programming Instructions
Functions G63 and G64 differ only regarding the end of movement.
Syntax G63 <end point [X,Y,Z]> <feed per spindle revolution [F]>
G64 <end point [X,Y,Z]> <feed per spindle revolution [F]>
If the spindle is not turning when the feed/spindle link is established, the
link can be activated at the start of the common acceleration phase so
that the spindle and the feed axis are already accelerating in an interpo-
lating way. The selected acceleration focuses on the weakest axis (main
spindle or feed axis).
If the spindle is already rotating when the feed/spindle link is established,
the feed axis accelerates to the required speed at its maximum accelera-
tion; then the link is activated, so that the main spindle and the feed axis
do not interpolate until the constant-speed range is reached.
• Clockwise or counterclockwise thread tapping is achieved by declaring
the direction of rotation of the spindle: M03 or M04.
• If a different spindle is to be selected for thread tapping using G63/64,
the spindle must be activated by means of the SPF <spindle number>
command prior to NC block G63. The first spindle is always active in
the power-on state.
• Tapping should be performed using function G06 "Positioning without
lag". If G06 is not active with tapping without a compensating chuck or
if analog axis cards are installed, the same gain factor must be set for
the spindle and for the feed axis for G63/G64.
• Functions G08 (Velocity-optimal NC block transition) and G61 (Exact
stop) are meaningless for tapping.
• A main spindle which is stopped at the end of the movement (G63)
can be reactivated using spindle control commands M03/M04 and by
programming the speed value (S value).
• If the tap is turned out of the thread using G64, the spindle stops briefly at
the end point of the NC block in order to change from position-controlled to
speed-controlled mode.
• Except for dwell time G04 and the auxiliary functions, no NC com-
mands can be programmed between the G63 command Tap to depth
<X, Y or Z> and the G63/G64 command Withdraw tap.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-35
Y X
100 100
[P3]
[P4]
80 [P2] [P3] 80
60 60
[P1] [P4] [P1]
40 40
[P2]
20 20
10 0 -10
20 40 60 80 100 X Z
438g63.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-36 Motion Blocks NC Programming Instructions
Y X
100 100
[P4]
80 [P2] [P3] [P3] 80
60 60
[P2]
[P1] [P4]
40 [P1] 40
20 20
10 0 -10
20 40 60 80 100 X Z
439G634.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-37
Spindle speed or
feed rate
Spindle speed
Feed rate
Synchronous phase
Spindle speed
=
feed rate
Time t
440G64Vor.FH7
Fig. 4-41: Feed rate and spindle speed, tapping with G64
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-38 Motion Blocks NC Programming Instructions
A main spindle which can be positioned is required for tapping function G65.
• The M05 main spindle must be stopped before G65 (tapping) is acti-
vated.
• When G65 is active, it is not possible to traverse using G00; no circu-
lar and helical interpolation G02/G03 is performed, and no axis refer-
encing G74 is executed. Feed functions relating to the NC block tran-
sitions (G08, G09, G61, G62) are suppressed.
• Axis movements may not be programmed in a G65 NC block.
• The spindle must be activated after the G65 block, while the direction
of tapping (clockwise or counterclockwise), is given by the spindle di-
rection of rotation M03 or M04. The spindle remains inactive unless it
is activated by a movement command of a main axis.
• The linking factor Feed per spindle revolution must be programmed in
a single NC block containing G65 by using the F word.
• Tapping should be performed using the G06 function "Positioning
without lag".
• With main spindles, which are driven directly and in which the position
encoder is located directly on the spindle, the G65 function can also be
used to tap threads without using a compensating chuck, provided the
speed is moderate.
• If G65 is used to select a different spindle for tapping, the spindle must be
activated by means of the "SPF <spindle number>" command prior to NC
block G65. The first spindle is always active in the power-on state.
• G65 is superimposed by G93 or overwritten by G94 or G95, which
automatically stops the spindle.
• Depending on the parameter setting, the thread lead can be entered
using 3 or 4 places to the left of the decimal point and, correspond-
ingly, 5 or 4 places to the right of the decimal point.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-39
Note: If G65 is active, only the linear main axes, X, Y and Z may be
programmed. Other axis letters will result in an error message.
Using G65 together with the APR function (digital SERCOS
drives) while a KSR (combined spindle-turret axis) is used is
not possible.
Y X
100 100
[P4]
80 [P2] [P3] [P3] 80
60 60
[P2]
[P1] [P4]
40 [P1] 40
20 20
10 0 -10
20 40 60 80 100 X Z
441G65.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-40 Motion Blocks NC Programming Instructions
4.4 feed
F Word
The feed rate in an NC program is expressed by a feed, which uses the
address letter F and a feed rate, which is stated directly as a constant or
by means of an expression. The programmed feed rate determines the
processing speed for each type of interpolation. The feed rate is restricted
so that the limits entered in the parameters are not exceeded. If the F
word is programmed in conjunction with a function, the meaning can
change. The corresponding type of operation is defined in the corre-
sponding functions (G00, G04, G93, G95).
The feed values are reset after the controller has been powered on, the
program is loaded into the controller, or after a BST, RET, or control-re-
set. At the beginning of an NC program, the feed values must be pro-
grammed before or together with the first movement command.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-41
Note: The maximum path and axis speed are defined by the machine
builder in the axis parameters.
Y X
[P4]
[P3] [P4]
100 100
[P2]
80 80
60 60
40 40
[P1]
[P1]
20 20
20 40 60 80 100 X Z 10 0 -10
442g012.FH7
Fig. 4-43: Linear interpolation, G01 with 2 axes and time programming
NC program:
G00 G90 G54 G06 G08 Motion commands, interpolation
conditions
X0 Y0 Z10 S3000 M03 Starting position, spindle ON
G93 G01 X26.26 Y18 Z5 F0.97 [P1] Starting position, time
programming
G93 Z-5 F0.3 Feed Z axis
G93 Y80 F1.86 [P2] linear interpolation, 1 axis
G93 X41 Y93.5 F0.6 [P3] linear interpolation, 2 axes
G93 X111 F2.1 [P4] linear interpolation, 1 axis
G00 Z10 M05 Z axis to safety distance
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-42 Motion Blocks NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-43
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-44 Motion Blocks NC Programming Instructions
Calculating the
path velocity F= (
X& 2 + Y& 2 + Z& 2 + A& ∗ R X )2 + (B& ∗ RY )2 + (C& ∗ RZ )2
Fig. 4-44: Calculating the path velocity
Lead P
dkkfgjkd
Z=Vz
X= Vx Velocitiy in X direction
Y= VY Velocity in Y direction
C Rz = VC F Z= VZ Velocity in Z direction
A = Angle velocity of the rotary axis A
B = Angle velocity of the rotary axis B
C = Angle velocity of the rotary axis C
F = Path velocity
Rx = Radius of the axis in X direction
Ry = Radius of the axis in Y direction
Rz = Radius of the axis in Z direction
443Schneid.FH7
In this example, the following equation results from computing the path
velocity:
(
F = Z& 2 + C& ∗ RZ )2
Fig. 4-46: Example - path velocity calculation
F = Z& 2 = P ∗ nW
nw: Velocity
P: Thread pitch
Fig. 4-47: F value as velocity
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-45
Effect:
C = Vc
F = Vz = Z
444VorO.FH7
With RZ The CNC interprets the F value as the resulting path velocity.
NC program: G01 Z... C... RZ... F...
Computation:
(
F = Z& 2 + C& ∗ RZ
2
)
mit Z& = P ∗ nW
&
und C ∗ RZ = 2π ∗ RZ ∗ nW
⇒ F = P 2 + (2π ∗ RZ )2 ∗ nW
Effect:
Z = Vz
C = Vc F
445VorM.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-46 Motion Blocks NC Programming Instructions
Feed Limitation
Besides the maximum axis velocity that is defined in axis parameter
Cxx.016, the axis velocity can be limited with another dimension during
machining.
|v|
max_achsgeschw.FH7
The safety-related axis velocity allows the machine builder to, for exam-
ple, reduce the maximum allowable axis velocity (and thus the path veloc-
ity) while machining a heavy workpiece or to open the guard door.
Machine Data
The safety-related axis velocity is axis-specifically adjustable in the ma-
chine data, page 11.
Machine data element "Max. safety velocity (PLC)" can be modified in the
NC program and in the PLC by the machine builder.
Element "Safety velocity limit active", which is intended to visualize the
PLC interface signal, can only be accessed in read mode
AxxS.SPEED The axis status signal is set as soon as safety-related velocity limiting is
active.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-47
Boundary conditions
• A set-up engineer can change the safety-related axis velocity in the
machine data only if he has the correct password and no NC program
is active at the time.
• The safety-related axis velocity can be modified from the PLC at any
time via MTD_WR.
• For all axes of a process, it is possible to program a safety-related axis
velocity within an NC block via the MTD command.
• With the assistance of the axis-specific control signal "AxxC.SPEED",
the PLC can turn the monitoring of the safety-technical axis velocity on
and off.
• The user can identify the effectiveness of the safety-technical axis
velocity in the machine data via data element "Safety velocity limit ac-
tive".
• After the PLC interface signal has been set, the safety-related axis
velocity will take effect in the next NC block or after an immediate stop.
• A change of the safety-related axis velocity becomes active in the next
NC block or when an emergency stop occurs.
• With each change of the limits, the PLC status signal is set to "0" for a
PLC cycle.
• The NC does not consider any changes of the desired value which
have been caused by the feed override.
Boundary conditions
• Adaptive feed control can be utilized in conjunction with digital spindles
/ feed axes with SERCOS Interface.
• All axes and spindles involved in adaptive feed control must belong to
a process. This means the reference axis must also belong to the pro-
cess of which the feed of the path is to be controlled.
• Furthermore, all axes and spindles involved in adaptive feed control
(incl. all feed axes involved in the interpolation) must be based on an
APR. (The CPU informs the APR to which axes the distribution of the
internal override is to be performed.)
• Adaptive feed control can not be used with the following functions:
• - Homing (G74),
• - Feed to positive stop (G75).
• Furthermore, adaptive feed control is available only in the operating
modes automatic, semi-automatic and MDI.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-48 Motion Blocks NC Programming Instructions
Syntax
G25 Adaptive feed control OFF (default)
G26 Adaptive feed control ON
Parameters
If the machine builder answers process parameter Bxx.062 "Adaptive
feed control" with "Yes", then further process parameters appear as fol-
lows:
• Bxx.063 Reference axis for adaptive feed control
• Bxx.064 Command machining torque
• Bxx.065 Minimum machining torque
• Bxx.066 Maximum idling torque
• Bxx.067 Maximum feed reduction
• Bxx.068 Amplification
• Bxx.069 Measuring period
Machine Parameters
The process-specific page "Adaptive feed control" (page 30) has the fol-
lowing structure:
MPage30.bmp
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-49
Syntax ITM
The ITM command may be carried out
• together with G26 Switch on adaptive feed control at the beginning
of the machining process as well as
• independent of adaptive feed control (G26).
Thrust Missing
Type Process status signal
Meaning PxxS.THMIS = 1:
The machining torque has not exceeded the preselected minimum ma-
chining torque Bxx.065 during machining.
PxxS.THMIS = 0:
The machining torque has exceeded the preselected minimum machin-
ing torque Bxx.065 during machining.
Updating The NC updates the interface signal by turning adaptive feed control on
(G26) and off (G25). The NC resets this signal at the program end as well
as after a control reset.
Method of operation If the machining torque does not exceed adaptive feed control Bxx.065
during machining with adaptive feed control active, the NC reports this as
soon as adaptive feed control is turned off by setting interface signal
"Thrust Missing" (PxxS.THMIS).
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-50 Motion Blocks NC Programming Instructions
Excessive Thrust
Type Process status signal
Meaning PxxS.EXCTH = 1:
The current feed reduction exceeds the maximum feed reduction Bxx.067.
PxxS.EXCTH = 0:
The current feed reduction does not exceed the maximum feed reduction
Bxx.067.
Updating The NC updates the interface signal by turning adaptive feed control on
(G26) and off (G25). The NC resets this signal at the program end as well
as after a control reset.
Method of operation If the current feed reduction exceeds the maximum feed reduction
Bxx.067 during machining with adaptive feed control active, the NC re-
ports this by setting interface signal "Excessive Thrust" (PxxS.EXCTH).
Solution The torque offset (standstill torque) required to hold the axis must be
eliminated for adaptive feed control.
A command is required that records the standstill torque.
The standstill torque can be recorded with the following AXD command:
• APR SERCOS parameter P-7-3651
This refers to the specified reference axis in the parameters or machine
data. During adaptive feed control, the standstill torque is taken into ac-
count while the torque is being generated.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-51
Additional Documentation
A detailed description of the function is available under order number
"DOC-MTC200-AD*FEED*V19-FK01-EN-P"
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-52 Motion Blocks NC Programming Instructions
The spindle speed value ranges from 0 to the maximum value entered in
the spindle parameters.
The S value acts with the associated spindle functions as follows:
Meaning G / M Code Active Format Remarks
Spindle speed in G97 with modal 5 before deci- 2 after decimal If G97 is programmed after G96 is
RPM M03/M04 mal point point active, the most recently active
Mx03 / Mx04 speed is taken on as the new speed
command value.
(x = index [1 - 3]) M19 block- 3 2 Spindle positioned in degrees
Mx19 wise
Constant cutting G96 modal 5 2 Canceled by G97.
speed
Spindle speed G92 Only ac- 5 2 Canceled by G97; the G92 value is
limitation tive with reactivated the next time G96 is
G96. Mo- used.
dally ac-
tive until
G97.
Constant grinding G66 modal 5 2 Canceled by G97/G96
wheel circumferen-
tial speed
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-53
• The S value can be entered with 5 digits before and 2 digits behind the
decimal point.
• The spindle speed values are reset after the controller has been pow-
ered on, the program is loaded into the controller, or after a BST, RET,
or control-reset.
• If the spindle index is not declared when there is more than one spin-
dle in the process, the spindle speed specification will then apply to the
first spindle.
• The direction of rotation of the main spindle is determined by the M
function M03 (spindle clockwise) and M04 (spindle counterclockwise). It
must be programmed if more than one spindle is present in a process:
M103 / M104 for the first spindle,
M203 / M204 for the second spindle, and
M303 / M304 for the third spindle
Example:
M103 S1 1500 M203 S2 2500 M303 S3 3500
The first spindle is always active in the power-on state. If one of the above
functions acts on another spindle other than the first spindle, the refer-
ence spindle must be selected first using SPF <spindle number>.
• The reference spindle must be selected at least one NC block prior to
one of the above-mentioned function requests.
• SPF <spindle number> remains modally active until it is overwritten
with a different spindle number or is automatically set to the first spin-
dle at the end of the program (RET) or by BST.
• The programming of the spindle speed G97 in rpm is active for all
spindles present in the process. The reference spindle for one of the
above-mentioned functions must therefore be reset after G97 has
been programmed.
• SPF <spindle number> may be used only for main spindles that are in
the spindle mode. A main spindle which is in the rotary axis mode
cannot be selected as a reference spindle.
• Interrogating the reference spindle with SPF, SPT, or SPC as an oper-
and is possible in a separate NC block.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-54 Motion Blocks NC Programming Instructions
Example:
X
100
80 [P4] [P1]
60
[P3]
[P2]
[P6]
40 [P5]
20
G00 G54 G90 G06 G08 X80 Z130 [P1] Starting conditions
SPF 2 Reference spindle selection
S2 2000 M203 Spindle 2 ON
st
G01 X45.5 F1500 [P2] Feed for 1 cut
st
G33 Z30 K3 P180 [P3] 1 thread thru hole
G00 X80 [P4] Withdraw X axis
Z130 [P1] Starting point
nd
G01 X43.5 F1500 [P5] Feed for 2 cut
nd
G33 Z30 K3 P180 [P6] 2 thread pass
G00 X80 [P4] Withdraw X axis
M205 Spindle 2 OFF
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-55
Boundary conditions • After the SUG has been selected with G66, all programmed desired
speed values for the addressed spindle are interpreted in all operating
modes as m/s or feet/s.
• The grinding wheel peripheral speed remains in effect until the tool
data record is removed from the corresponding spindle or until the
spindle is stopped by control-reset in response to PLC signal
AxxCSPRST.
• The required spindle speed is calculated after the SUG has been se-
lected.
• The corresponding tool data elements of the addressed spindle are
used for calculating and monitoring the speed.
• If SUG is selected with G66, the corresponding spindle must contain a
valid tool data record (tool codes 1, 2 and 3 [correction type ≥ 3]). Oth-
erwise, an error message will be generated.
• If SUG is selected with G66, the corresponding length registers for the
wheel diameter must be >0; an error message will be generated if this is
not the case.
• A new speed is calculated if a new S value is programmed or if a ge-
ometry register which is relevant to the wheel diameter is changed in
the next NC block.
• The data elements of the D correction are currently excluded from the
speed calculation.
• G66 is cancelled via G96 or G97 or BST, RET and M30.
Calculation formula:
Note: The data elements of the basic tool data "Tool code and repre-
sentation type" that are necessary for grinding, as well as the
selection of SUG with G66, become active only if the label
"Grinding" is set in system parameter "Technology".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-56 Motion Blocks NC Programming Instructions
vc
S=
(2 ∗ r ∗ π )
S: spindle speed [rpm]
vc: surface speed [mm/min]
r: effective radius [mm], distance to turning axis
Fig. 4-54: Calculation of spindle speed
• In the power-on state, G96 always applies to the first spindle. If G96 is
to be based on a different spindle, the desired spindle must be se-
lected prior to the G96 NC block by using the SPF <spindle number>
command.
• Depending on the settings in the process parameters, G96 may be the
power-on default. G96 (constant surface speed) remains modally ac-
tive until it is canceled by G97.
• After the controller is turned on, or after an NC program is loaded, or when
a BST, RET or control reset occurs, G96 is set automatically depending on
the setting in the process parameter and the spindle speed values (S val-
ues) are reset.
• If the S value is changed while G96 is active, the S value change must
be programmed together with G96.
• When G96 is active, the maximum spindle speed can be limited by the
command "G92 S <spindle speed>".
• The spindle override is limited to 100% when G96 is active. Reducing
the spindle override to less than 100% results in a reduction of the
surface speed.
• If G96 is cancelled by G97, then the most recent active spindle speed
is taken on as the new desired spindle speed value.
• As of version V22, process parameter Bxx.071 "Reference coordinate
system for G96" can be used to select the reference system for de-
termining the spindle speed. In the selection of the machine coordinate
system as the reference system, the NC takes the active tool length
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-57
X
100
80 [P5] [P2]
[P1]
60
40
[P4]
20 [P6] [P3]
G00 G54 G90 G06 G08 X72.5 Z100 [P1] Starting conditions
S1 2500 M103 Spindle ON
st
G00 Z78 [P2] Feed for 1 cut
st
G96 X27.5 S1 400 [P3] 1 face turning pass
G00 Z100 [P4] Withdraw Z axis
X72.5 [P1] Starting point
nd
G00 Z76.5 [P5] Feed for 2 cut
nd
G96 X27.5 S1 400 [P6] 2 face turning pass
G00 Z100 [P4] Withdraw Z axis
M105 Spindle OFF
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-58 Motion Blocks NC Programming Instructions
|n|
Max. Machine-Specific RPM (Parameter)
max_spindeldreh.FH7
Machine Data
The maximum safety-related speed (PLC) and the maximum program-
mable speed (CNC) are axis-specifically adjusted in page 2 of the ma-
chine data.
AxxS.SPEED The axis status control signal is set as soon as the speed limitation is
active.
Boundary conditions
• A set-up engineer can change the programmable speed in the ma-
chine data only if he possesses the special password and if no NC
program is presently active.
• The speed limits can be modified from the PLC at any time via
MTD_WR.
• The speed limit for all spindles of a process can be programmed within
an NC block via the MTD command.
• With the assistance of the axis-specific control signal "AxxC.SPEED",
the PLC can turn the monitoring of the speed limits on and off.
• The user can identify the effectiveness of the speed limits in the ma-
chine data via the data element "Safety speed limit active" and via the
control signal "AxxS.SPEED".
• The NC monitors the spindle speed in accordance with the speed lim-
its in speed mode only if the control signal "AxxC.SPEED" is set.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-59
Syntax G97
• Depending on the settings in the process parameters, G97 may be the
power-on default. G97 – Spindle speed in rpm – remains modally ac-
tive until it is canceled by G96.
• After the controller is turned on, or after an NC program is loaded, or
after a BST, RET or control reset, G97 is set automatically depending
on the setting in the process parameter and the spindle speed values
(S values) are reset.
• If G96 is cancelled by G97, then the most recent active spindle speed
is taken on as the new desired spindle speed value.
• The programming of G 97 is active for all spindles present in the proc-
ess. The selection of the reference spindle using SPF must therefore
be reset after G 97 has been programmed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-60 Motion Blocks NC Programming Instructions
C axis
Effective
radius
RZ
50 mm
70 mm Y
30 mm
448Spira.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-61
NC program:
G90 G06 G17 Machining plane XY, end surface
•
•
G00 X-30 Y0 Z501 C90 Approach; positioning of C-axis
G01 Z497 F500 Lowering the cutter
[spiral groove machining]
G01 G91 X-40 C-270 RZ50 F1200 Spiral groove on the end surface
•
•
RET Program end
The G36, G37 and G38 commands form the G code group "Rotary axis
approach logic" (No. 21).
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-62 Motion Blocks NC Programming Instructions
Shortest path G36 In modulo calculation "Shortest path" G36, the command position is ap-
proached via the shortest path.
a ctu a l p o sitio n = 2 0 ° G9 0 G3 6
.
.
.
co m m a n d G1 C -380 F 1000
p o sitio n = -3 80 °
449g36.FH7
Positive direction G37 In modulo calculation "Positive direction" G37, the command position is
approached in the positive direction.
G90 G37
actual position = 20° .
.
.
com m and G1 C -380 F 1000
position = -380°
450g37.FH7
Negative direction G38 In modulo calculation "Negative direction" G38, the command position is
approached in the negative direction.
a ctu a l p o sitio n = 2 0 ° G9 0 G3 8
.
.
co m m a n d .
G1 C -380 F 1000
p o sitio n = -3 80 °
451g38.FH7S
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-63
4.7 Transformations
The main application of the "Transformation of Cartesian coordinates into
polar coordinates" function is facing turning parts on turning and grinding
machines.
This function is particularly useful for milling surfaces on lathes (cylinder
surface machining) and for grinding cams. It can also be used in other
applications (such as in milling machines with rotary table or rotating heads).
Transformation Functions
Coordinate transformation is available for:
• face machining and
• lateral cylinder surface machining.
Face m achining
452Zylin.FH7
Syntax G31
X1
Z1 Y1
Face machining
453G31.EPS
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-64 Motion Blocks NC Programming Instructions
Boundary conditions • The CNC supports the transformation function for the XY plane (G17).
The real axes involved in the transformation must have the axis
meaning X and C.
• The real Y axis (if present) becomes an auxiliary axis, which has the
meaning V. When the transformation is deactivated, the NC reestab-
lishes the original status.
• The zero point offsets are cancelled (G53) when coordinate transfor-
mation is selected (G31); tool path compensation correction and tool
length compensation are deactivated (G40, G47). The CNC switches
to radius programming (G15).
• The X axis must be in the positive area when the change to coordinate
transformation occurs.
• After the changeover to coordinate transformation, the zero offsets for
the fictitous axes become active, depending on which ones are set.
The zero offsets of the real main axes assigned to the fictitous axes
are not in effect.
• After the change to coordinate transformation, it is possible to program
directly using absolute (G90) or incremental (G91) dimensional input.
• It is possible to open a new program during coordinate transformation
by using NC block search; however, coordinate transformation (G31)
must be set with the basic settings for this function (G54, G48, etc.) in
MDI before starting the program.
• The fictitous axes cannot be passed on to other processes (FAX, GAX).
• The reference spindle for feed programming with tapping (G63, G64,
G65) must be set using the SPF command.
• In the power-on state, the coordinate transformation always applies to
the first spindle. If the transformation is to be applied to a different
spindle, the desired spindle must be selected prior to coordinate trans-
formation by using the SPC <spindle number> command.
• The real primary axes that are allocated to the fictitious axes must not
be programmed during coordinate transformation.
• G31 "Transformation" remains modally active until it is cancelled with
G30 or G32, or until it is reset automatically via BST or at the end of
the program (RET).
Invalid NC commands during The following list contains all functions that may not be programmed dur-
transformation ing the transformation:
• Thread cutting "G33",
• Zero offsets "G50", "G51", "G52"
(if offsets are programmed for "R1" and "R2"),
• Tapping "G63", "G64", "G65"
(if the primary spindle that is assigned to "R2" is addressed),
• Homing "G74"
(if homing is specified for the axes "F1" and "F2"),
• Feed to positive stop "G75"
• Cancel all axis preloads "G76"
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-65
Tool Compensation When the transformation function is activated and deactivated, the NC
deactivates tool length and tool radius compensation.
Tool length and tool radius compensation can be active when the trans-
formation begins. Their effect is not influenced by the transformation
function.
If the utilization of a type 4 tool (angle head tool) is mandatory, tool length
compensations "L1" and "L2" must be taken into account in geometric
programming. The value "0" must be entered for the corresponding tool
length compensations "L1" and "L2" of the tool.
Axis meaning The facing parameter values of axis meanings and axis designations of a
lathe with a primary spindle with rotary axis capability (S1/C), an X and a
Z axis, and a PLC-controlled turret with driven tools (S2) have been set as
follows:
Notes:
• The coordinate transformation function is an option that re-
quires a special hardware configuration. All axes that are
involved in the coordinate transformation must be on an
APR card. The real primary axes that are allocated to the
fictitious axes must not be programmed during coordinate
transformation.
• If the coordinate transformation function is executed in a
machine with a real Y axis, the corresponding process may
not contain an axis of axis meaning V.
• If the coordinate transformation function is activated, the CNC
automatically triggers a changeover to rotary axis mode.
• When face machining is activated and deactivated, the
CNC deactivates all zero point offsets and sets G53.
• If diameter programming (G16) is selected while face ma-
chining is active, the CNC interprets all position values of
the fictitious axis with axis meaning X as a diameter speci-
fication.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-66 Motion Blocks NC Programming Instructions
Detailed description Please refer to the "Coordinate transformation function V15" description
for further and supplementary information about face machining.
"DOC-MT*CNC-TRA*FKN*V15-ANW1-EN-P".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-67
X1
70
[P1] [P8]
50
40
30
[P2] 20 [P7]
10
Y1 70 50 40 30 20 10
[P3] [P6]
[P4] [P5]
455STIRN.FH7
NC program:
T12 M6 ;Tool change
;driven tool
M89 ;Engage driven tool
S2 3500 M203 ;Driven tool ON
G00 G17 G54 G48 Z100
X140 C0 ;Home position for the change
G31 ;Activate coordinate transformation
G54 G90 G54 G06 G08 ;Home position
G00 G42 G94 X1 60 Y1 20 ;[P1] Starting point of machining
G01 Z-0.5 F500 ;Feed Z axis
st
X1 20 Y1 60 F400 ;[P2] 1 straight line
nd
X1 -20 ;[P3] 2 straight line
rd
X1 -50 Y1 30 ;[P4] 3 straight line
G02 X1 -50 Y1 -30 I-50 J0 ;[P5] Semicircle in CW direction
th
G01 X1 -20 Y1 -60 ;[P6] 4 straight line
th
X1 20 ;[P7] 5 straight line
th
X1 60 Y1 -20 ;[P8] 6 straight line
th
Y1 20 ;[P1] 7 straight line
G00 Z10 ;Z axis to safety distance
G30 ;Cancel coordinate transformation
G54 G48 G00 X140 ;Home position
Z200 ;Withdraw Z axis
M90 ;Disengage driven tool
M30 ;End of program
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-68 Motion Blocks NC Programming Instructions
G02 and G03 blocks that are specified in the NC program. The straight
lines and circles on the lateral cylinder surface can be programmed on the
plane of the developed lateral cylinder surface that spans a linear axis
and a rotary axis.
Y C [mm]
X G20 Z0 C0 X0
B G32 RI 60
RI
C
0
X [mm] Z [mm]
456Zylin.FH7
Programming The rotary axis that is involved in lateral cylinder surface machining can
be programmed like a linear axis in [mm] or in [inch] (by specifying posi-
tions on the lateral cylinder surface).
Plane selection Before lateral cylinder surface machining is activated, the plane usually
must be selected with free plane selection (G20, G21, G22).
Selection and axis assignment To perform the individual machining tasks, the following planes are se-
lected during machine operation:
Linear
main Secondary axes Rotary main axes
axes
Mach Vert.
Axis Axis Axis Axis Axis Axis Axis Axis Axis ining Axis
G code mean. mean. mean. mean. mean. mean. mean. mean. mean. plane Remarks
X Y Z U V W A B C
Turning
G18 X1 Y Z U - X2 - B C Z X1 Y
(= power-on pos.)
Milling
G20 X2=0 Y0 Z0 X2 Y Z U - X1 - B C X2 Y Z
(= G17 with X2)
Milling
G20 Z0 X2=0 Y0 Z X2 Y U - X1 - B C Z X2 Y
(= G18 with X2)
Milling
G20 Y0 Z0 X2=0 Y Z X2 U - X1 - B C YZ X2
(= G19 with X2)
Lateral cylinder
G20 Z0 C0 X2=0 G32 RI=80 Z C X2 U - X1 - B C CZ X2
surface machining
Boundary conditions • During lateral cylinder surface machining, the involved rotary axis ob-
tains the functionality of a linear primary axis. Functions such as tool
radius path correction and zero point offsets, including rotations, may
also be used in the course of lateral cylinder surface machining.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-69
Detailed description Please refer to "Free plane selection and lateral cylinder surface machin-
ing V22" for further information about lateral cylinder surface machining.
"DOK-MTC200-FREPLAN*V22-AW01-EN-P".
Y
70
50
50
NC program:
:
;Milling contour "number 1"
G55 G15 G94 G97 G6 G8 S2 3000 M203
G00 C0
G20 Z0 C0 X0 ;Free plane selection
G32 RI 36.5 ;Lateral cylinder surface machining on
G55 G48 Z1-36.15
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-70 Motion Blocks NC Programming Instructions
Y1 25 Z1-36.15
X38
G01 X36 F150
G42 Y1 25 Z1-42 F297
Y1 50 Z1-42
G02 Y1 54.2426 Z1-30.7574 I-35 J50
G01 Y1 34.2426 Z1-10.7574
G02 Y1 25.7574 Z1-19.2426 I-15 J30
G01 Y1 36.5147 Z1-30
Y1 5 Z1-30
G02 Y1 5 Z1-42 I-36 J5
G01 Y1 25 Z1-42
G00 X38
G30 ;Lateral cylinder surface machining off
:
Deselection of face The fictitious Cartesian coordinate system is deselected and the coordi-
transformation G31 nate system that has been defined in the process parameters is selected.
The fictitious axes are deselected and may consequently no longer be
programmed.
The plane that has been specified in the process parameters is selected
as the current machining plane; the CNC switches over to the workpiece
programming mode (radius/diameter), which has been stored in the proc-
ess parameters.
After coordinate transformation has been cancelled, programming can be
performed directly in absolute (G90) or incremental (G91) dimensions.
Deselection of lateral cylinder Upon cancellation, the NC restores the programming mode (radius pro-
surface coordinate gramming G15 or diameter programming G16) that has been stored in
transformation G32 the process parameters.
Note: The CNC deactivates all zero point offsets and sets G53.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-71
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-72 Motion Blocks NC Programming Instructions
Angular
position of Comment
spindles
Prior to synchronization Master Each spindle is located in any given random position
Synchro-
nized
spindle
spindle
After synchronization step Master The synchronized spindle performs a movement to adjust
Synchro- to the given angle offset (=90°) (transf. ratio = 1).
nized
spindle
spindle
After rotation of 90° Master The synchronized spindle has rotated 90° in sync with the
Synchro- master spindle.
nized
spindle
spindle
After a change of 45° in the position Master The synchronized spindle has rotated 45° with respect to
offset Synchro- the master spindle.
nized
spindle
spindle
Permissible Configurations
The rules which define the permissible spindle configurations for the main
spindle synchronization are listed below. If one of these rules is violated at
the beginning of synchronization or during synchronization, the NC inter-
rupts the process and generates an error message.
• Only one master spindle can be used in main spindle synchronization.
• All spindles used in main spindle synchronization must belong to one
process.
− If the spindles of a different process are to participate in main
spindle synchronization, this is to be defined to the respective
process using the axis transfer commands.
• All spindles used in main spindle synchronization must be controlled
by the same APR card.
• No more than two synchronized spindles can belong to a synchroniza-
tion group in addition to the master spindle.
• The master spindle must have a lower drive number than the synchro-
nized spindles within the SERCOS drive loop.
• A single spindle cannot be both a master and a synchronized spindle
at the same time.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-73
Note: Only digital main spindle drives equipped with the SERCOS
Interface as well as digital DDS 2.2 feed drives equipped with
main spindle functions and the SERCOS Interface can be used
in main spindle synchronization.
Auxiliary functions for selecting As of version 5.15.xx, Q functions Q9000 - Q9999 are reserved for Bosch
and canceling main spindle Rexroth specific functions. Q functions Q9700 - Q9764 are for main spin-
synchronization dle synchronization. We recommend that the auxiliary functions be as-
signed as follows for main spindle synchronization:
9 Reserved 7 reserved for Process
Q function for Bosch main spindle number Function Remarks
Rexroth sync x = 0-6
Q 9 7 x 0 Main spindle synchron. groups 1 & 2 OFF
Q 9 7 x 1 Main spindle synchron. group 1 ON
Q 9 7 x 2 Main spindle synchron. group 2 ON
Q 9 7 x 3 Main spindle synchron. group 1 OFF
Q 9 7 x 4 Main spindle synchron. group 2 OFF
Synchronization process If the spindles are rotating at different speeds (stopped = 0 rpm) when
spindle synchronization is activated, the NC accelerates or decelerates
the synchronized spindle at maximum acceleration/deceleration until it
reaches the synchronization speed. As soon as it reaches the synchroni-
zation speed, the NC switches to position control and rotates the syn-
chronized spindle to the set position within one revolution using the short-
est path. If the master spindle and the synchronized spindle are stopped,
the synchronized spindle simply traverses to its command position, taking
the existing translation ratio and the existing angle offset and position
offset into account.
The NC switches all spindles involved in the synchronization to position
control. If functions such as M03, M04, or G95 are active while main spin-
dle synchronization is activated, the NC continues position control mode
for these spindles. The changeover operation does not have any negative
effects on the surface of the workpiece.
Deactivate synchronization Main spindle synchronization can be cancelled independently of the oper-
ating mode by resetting the activation interface signal. All spindles in-
volved in the synchronization retain their speeds after cancellation. If the
spindles must stop after cancellation, this must be programmed by means
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-74 Motion Blocks NC Programming Instructions
NC programming
None of the synchronized spindles which participate in main spindle syn-
chronization may be programmed during synchronized operation. How-
ever, if an attempt is made to do this, the NC terminates program execu-
tion and generates an error message.
Furthermore, the master and the synchronized spindles may not be oper-
ated in the rotary axis mode; a gear change may not be performed during
synchronized operation. Any attempt to do so will result in the termination
of the program and the generation of an appropriate error message.
• Synchronized operation remains active at the end of the program
(BST, RET, M02 and M30), with control reset or with jog in manual
mode if the PLC does not cancel the synchronized spindles which are
involved in synchronized operation.
• The master spindle must be the main spindle during synchronized
operation. In synchronized operation, functions G33 (Thread cutting),
G95 (Feed per revolution) and G96 (Constant surface speed) apply
exclusively to the master spindle. For this reason, the master spindle
must be selected as the main spindle as soon as main spindle syn-
chronization is activated.
• During synchronized operation, the user must not switch the spindles
which are involved in the main spindle synchronization from one proc-
ess to another. The use of the axis transfer commands with the spin-
dles which are engaged in synchronized operation will cause the pro-
gram to terminate and an error message to be generated. Thus, spin-
dles which are part of the synchronized operation and that belong to a
different primary process must be transferred to the respective proc-
ess before synchronization mode is activated. In addition, they may not
return to the primary process until synchronization mode is cancelled.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-75
007 Main spindle speed i_LS/SS1 1 - 65536 The translation ratio is calculated by dividing the main spindle
revolutions by the synchronized spindle revolutions.
008 Sync spindle1 speed i_LS/SS1 1 - 65536 The translation ratio is calculated by dividing the main spindle
revolutions by the synchronized spindle revolutions.
009 Direction of rotation sync spindle 1 0/1 0: No change in direction
1: Opposite direction
010 Sync run window, sync. spindle 1 0.0000°-359.9999° Sync run window for interface signal PxxSSS1OK
011 Error limit, sync spindle 1 0.0000°-359.9999° Error limit window for interface signal PxxS.SS1ER
012 Axis meaning, sync spindle 2 0, 10, 11, 12 0: No sync spindle present;
10: Spindle S1;
11: Spindle S2;
12: Spindle S3
013 Angle offset, sync spindle 2 0.0000°-359.9999° Angle offset between main spindle and synchronized spindle 2
014 Position offset, sync spindle 2 0.0000°-359.9999° Position offset between main spindle and synchronized spindle 2.
015 Main spindle speed, i_LS/SS2 1 - 65536 The translation ratio is calculated by dividing the main spindle
revolutions by the synchronized spindle revolutions.
016 Sync spindle 2 speed, i_LS/SS2 1 - 65536 The translation ratio is calculated by dividing the main spindle
revolutions by the synchronized spindle revolutions.
017 Direction of rotation, sync spindle 2 0/1 0: No change in direction
1: Opposite direction
018 Sync run window, sync. spindle 2 0.0000°-359.9999° Sync run window for interface signal PxxSSS2OK
019 Error limit, sync spindle 2 0.0000°-359.9999° Error limit window for interface signal PxxSSS2ER
The individual data elements can be reconfigured from the PLC via the
user interface or from the NC program if the corresponding main spindle
or synchronized spindle is not active. If the user accesses the data for a
spindle which is engaged in synchronized operation from the PLC or from
the user interface, an error message will be generated. If the user at-
tempts to use the MTD command in the NC program, an error message
will be generated, and the NC will stop processing. Exceptions are data
elements 005 "Angle offset" and 006 "Position offset" of the synchronized
spindles 1 and 2. The user can modify them at any time during synchro-
nized operation, either from the PLC via the user interface or from the NC
program.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-76 Motion Blocks NC Programming Instructions
Permissible Configurations
The following rules describe the configurations which are permissible for
synchronized operation. If the NC detects a violation of these rules, it in-
terrupts processing and generates an error message.
• One master axis and at least one slave axes must be present in each
synchronized axis group.
• A synchronized axis group must not contain more than one master axis.
• A maximum of three slave axes may be present in each synchronized axis
group.
• All axes in a synchronized axis group must belong to the same process.
If the axis of a different process is to participate as a main or slave axis in
the synchronized axis group, then this must be specified to the respective
process using default axis transfer commands.
• All axes in a synchronized axis group must be located on a single APR.
• The master axis must have a lower drive number than the slave axes on
the SERCOS loop.
• A single axis cannot be both a master axis and at the same time a slave
axis.
• All axes in a synchronized axis group must be of the same axis type
(linear, modulo rotating rotary, or limited rotating rotary axes).
• Tool storage axes must not be part of a synchronized axis group, either as
a master axis or as a slave axis.
• If rotary axes form a synchronized axis group, they must be programmed
using the same number of divisions per revolution.
• The master and slave axes in an active synchronized axis group may not
be present as a master or as a slave axis in a different synchronized axis
group.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-77
NC Programming
During synchronized operation, the user may not program any axis other
than the master axis of an active synchronized axis group. No other slave
axes may be programmed during synchronized mode. If the user at-
tempts to do so by, for example, mirror imaging or scaling a slave axes,
the NC interrupts program execution and generates an error message.
Zero point offsets and tool corrections (including D corrections) are taken
into account only for the master axis by the NC. During synchronized op-
eration, the slave axes receive the command values only for the master
axis, taking into account the respective translation ratio and direction of
rotation.
• The synchronized axis groups remain active at the end of the program
(BST, RET, M02 and M30), with control reset or with jog in manual mode if
the PLC does not cancel the active synchronized axis.
• During synchronized operation, the user may not switch the axis in the
synchronized axis group from one process to another. The use of the
axis transfer commands with the axes which are engaged in synchro-
nized operation will cause the program to terminate and an error mes-
sage to be generated. Axes which are operated in synchronized mode
and that belong to a different primary process must be transferred to
the respective process before the synchronized axis group is acti-
vated. In addition, they must not be returned to the primary process
until synchronized mode is cancelled.
• Feed to positive stop (G75) cannot be used with synchronized mode.
• If coordinate transformation is active via G31 and G32, the axes that
are involved in the transformation (axes labeled X and C) may not be
part of any active synchronized axis group.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-78 Motion Blocks NC Programming Instructions
007 Follower axis 1 = gantry axis 0/1 This data element currently is not evaluated.
008 Axis meaning, follower axis 2 0 -9 0: No follower axis present
1 - 9: Axis meaning X,Y,Z,U,V,W,A,B,C
009 Speed of lead axis i_LA/FA2 1 - 65536 The translation ratio is calculated by dividing the master axis
revolutions by the follower axis revolutions
010 Speed of follower axis 2 i_LA/FA2 1 - 65536 The translation ratio is calculated by dividing the master axis
revolutions by the follower axis revolutions
011 Direction of rotation follower axis 2 0/1 0: No change in direction
1: Opposite direction
012 Follower axis 2 = gantry axis 0/1 This data element currently is not evaluated.
013 Axis meaning, follower axis 3 0-9 0: No follower axis present
1 - 9: Axis meaning X,Y,Z,U,V,W,A,B,C
014 Speed of lead axis i_LA/FA3 1 - 65536 The translation ratio is calculated by dividing the master axis
revolutions by the follower axis revolutions
015 Speed of follower axis 3i_LA/FA3 1 - 65536 The translation ratio is calculated by dividing the master axis
revolutions by the follower axis revolutions
016 Direction of rotation follower axis 3 0/1 0: No change in direction
1: Opposite direction
017 Follower axis 3 = gantry axis 0/1 This data element currently is not evaluated.
The individual data elements can be reconfigured from the PLC via the
user interface or from the NC program if the corresponding synchronized
axis group is not active. If the user accesses the data for an active syn-
chronized axis group from the PLC or from the user interface, an error
message will be generated. If the user attempts to do this in the NC pro-
gram using the MTD command, an error message will be generated and
the NC will stop processing.
Method of Operation
Purpose NC commands "G11", "G10" and "RDI" are used to program/switch off func-
tion "Rounding of NC blocks with axis filter". This function is used mainly to
provide fast and time-optimized positioning using rapid traversing via several
data points. Within a sequence of motion commands, the block transitions are
rounded by means of a programmable axis filter so that the end point of the
motion sequence is reached in as short a time as possible.
Definition In this case, the term motion sequence is a sequence of NC blocks of G code
group 1 (G00, G01, G02, G03). An NC block which does not belong to this
group will exit the motion sequence.
Principle Rounding of block transitions occurs only within a motion sequence. With
the exception of the last data point (target point), it is not necessary to
fully hit the data points. The path curve can pass the data point at a
parameterizable maximum distance. At the end of the block, the last block
of a motion sequence directly hits the programmed target point position
without any rounding.
Rounding with axis filter Rounding of the block transitions is effected by means of a two-step axis
filter with acceleration filter and jerk limiting filter. This axis filter follows up
the interpolator and considers the values in the Cxx.018 "Maximum
acceleration" axis parameters, as well as the jerk limiting values entered
in the Bxx.034 "Time constant or acceleration" process parameter.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-79
Axis Filter
AxisFilter.FH7
Round distance RDI In the axis filter, an axis positioning windows delimits the maximum rounding
distance RDI (Round DIstance). The RDI value defines the maximum distan-
ce to the programmed data point for the start of the rounding process.
Pn
PnF1
PnF2
RoundDistance.FH7
Programming
RDI programming The process of rounding block transitions is modally enabled for the cur-
rent and the following blocks by programming the rounding distance RDI
(Round DIstance). It is effective only in motion blocks of G code group 1
(G00, G01, G02, G03). In each case, the transition from the current block
to the next block is rounded.
Rounding is switched off again with the "RDI 0" command.
"RDI=0" is the default state and is saved as active until RDI is overwritten
with another value. RDI is automatically reset to the default state at the
end of the program (RET), using the BST command or control reset.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-80 Motion Blocks NC Programming Instructions
Alternative programming with As an alternative to programming with RDI, G codes G11 and G10 (G
G10 and G11 code group 23) can be used to enable and disable the rounding function:
• G11: enables the rounding function.
The last programmed rounding distance RDI is effective. With a current
rounding distance of 0, G11 does not take effect. Programming of RDI
with a rounding distance other than 0 automatically enables G code G11.
G11 is saved as active until G10 is enabled.
• G10: disables the rounding mode.
Programming of "RDI=0" automatically enables G code G10. G10 is the
default state and is saved as active until G11 is enabled. G10 is en-
abled automatically at the end of the program (RET), by the BST com-
mand or by a control reset.
Behavior at the end of a motion Rounding of block transitions occurs only within a motion sequence. A mo-
sequence and when disabling tionless block – or, more precisely, a block outside of G code group 1 – termi-
rounding nates the motion sequence. But G11 remains enabled. At the end of the
block, the last block of a motion sequence hits the programmed target point
position without any rounding. This also applies to a motion block in which
rounding has been disabled.
N002
N003
N005
N006
N001 N004,
motionless
PosSequence.FH7
Restrictions For rounding with an axis filter, there are some restrictions:
• Rounding depends on velocity. The rounded path curve at the block tran-
sition varies dependent on the velocity (override).
• Rounding to the next block does not occur in the following cases:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-81
Purpose
Besides the already existing functions such as single block mode, semi-
automatic mode, feed override, rapid movement override, NC block skip-
ping, conditional and unconditional stop as well as the virtual NC, includ-
ing the (offline) simulation, the following functions allow an even quicker
startup for the user:
• suppressing assisting functions,
• disabling movement,
• test feed,
• quick run and
• graphic online simulation.
These functions – in the following named "Test mode" – allow the user to
concentrate specifically on the geometry, the process synchronization,
and collision analysis. They allow an individual examination of the overall
process, especially the parallel-running partial processes, and they permit
these to be run as often as desired and at any speed. This can be per-
formed with and without control of the I/O plane, as well as with and with-
out axis movements.
Examples
Simple milling machine On a milling machine, the test mode could, for example, be that the user
locks the feed axis (Z axis) by pressing an M key and preselects a higher
speed (test feed) for program processing.
During the adjacent test mode, the tool change is performed as in normal
program mode.
Simple lathing machine The test mode on a lathing machine is similar. All axes (X, Z, and W (tool
turret)) as well as the spindle are locked; the test feed is activated by
pressing an M key.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-82 Motion Blocks NC Programming Instructions
More complex machine For example, the following steps (test steps) are passed from the estab-
lishment of the NC program to the production of a part:
1. The user activates the following functions via M keys:
• lock all main axes (X,Z), turret and spindle (S)
• lock auxiliary axes (U (back rest)), V (tail stock),
• activate test feed, and
suppress auxiliary function output.
Before the program is started, the user also activates the online graphics.
2. If the program runs successfully, the user unlocks the main axes, the
tool turret, and the spindle by pressing an M key and reruns the NC
program (without part). Thereby the user checks, based on the path
movement, the correction data (zero offsets, tool corrections, etc.).
3. In a further step, the user also activates the auxiliary axes (U, V) and
checks their feed movements for collisions.
4. After this step has been successfully completed, the user then deacti-
vates the function "Suppress auxiliary function output" and checks the
performance of the auxiliary functions during the new run.
Then the part is machined.
Further application The axis/spindle lock is used not only for test applications, but also for
other purposes. For example, it is required for dual lathing or milling ma-
chines which can be operated alternatively as a dual machine or as two
individual machines.
Test Feed
Application The test feed permits a quick run of the NC program. This is particularly
advantageous if axes and spindles are locked. Furthermore, a continuous
run of the machining processes as well as of the feed and retract move-
ments is reached.
Method of operation The test feed is used when the function "Test feed" is selected in the op-
erating modes "automatic" and "semi-automatic" to run the program in-
stead of using the programmed feed.
When the function "Test feed" is active, the NC performs a test feed of
the axes that were programmed in conjunction with G01, G02, G03, G33,
G63, G64, G65, G74, G75 and G77. This feed value is also used as the
feed for G95 (feed per revolution), independent of the individual spindle
speed.
With G00, the NC performs a second test feed (rapid test feed) of the
axes if the function "Test feed" is active.
Independent of whether the axes or spindles are locked or not, the func-
tion "Test feed" is always available to the user during test mode.
In active test feed mode, the effect of the feed and rapid override are the
same as in normal operation. As in normal operating mode, the NC pre-
vents exceeding of the maximum axis velocity as well as the maximum
path velocity specified in the machine parameters.
Selecting test feed The machine user selects the test feed via the user interface by using an
M key.
When this has been selected and as long as it has not yet been set, the
interface signal "PxxCDRYRN" (DRY RuN) is set to the NC and machine
data element "Test feed" is set.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Motion Blocks 4-83
Entering test feeds The values for the test feeds "Test feed" and "Quick test feed" are to be
entered into the machine data on page "Test mode" by the machine
builder; if required, they can be overwritten by the end user directly into
the machine data or indirectly via the PLC. For example, the machine
builder can offer values via the M keys for the test feed as well as for the
quick test feed and have the end user select them.
Rapid Run
Application The rapid run offers the quickest possibility to check an NC program.
It can be implemented by using a block pre-run, where the user does not
have to select a start or a target block. The NC begins, as in normal op-
erating mode, with the first NC block and ends it as soon as the program
end has been reached. Thereby the axes and spindles remain stopped
and only the assisting functions within machine parameters (Bxx.058 -
Bxx.061) are performed.
The tool corrections, zero offsets, and D corrections regarding the travel range
limits or variable calculations etc. can therefore be checked in rapid run.
Online Simulation
Application Online simulation can be activated and de-activated in all operating and
subordinate operating modes and provides the user with reliable informa-
tion on the traveled path of the (moved or locked) axis within the machine.
Note: With very short NC blocks (e.g. transition radii) and at very
high path velocities, online simulation may not cover all NC
blocks. Within the graph, it can be selected to not show them
or to mark them with arrows or dots.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
4-84 Motion Blocks NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-1
5 Tool Compensation
Setup List
Purpose Using the setup list, the user can define the availability of all tools that are
required for machining and, using the equipment check, ensure their usabil-
ity for the machining processes that are to be performed. The setup list data
reflects the required data of the tools that are to be employed (e.g. geome-
try limit values).
Handling The setup lists and NC packages are loaded into the controller and saved
together using the storage function.
Activation Using system parameter A00.053 Organization of setup lists, the user
defines whether a separate (program-specific) setup list is to be created for
each NC program or whether only one (station-specific) setup list is to be
created for a process.
Process 6 Process 6
Process 2 Process 2
Process 1 Process 1
Process 0 Process 0
NC Program 1 Setup List 1 NC Program 1 Setup List
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-2 Tool Compensation MTC 200 NC programming instruction
Tool List
Purpose Tool lists are used for preparing and saving tool data of the individual
tools. The tool data always contain the basic tool data, which consist of
the tool identification, the location data, the units, the technology data and
at least one tool edge.
Besides the basic tool data, the tool data contain the data that are re-
quired for the tool edges (tool tip identification, geometry, tool life data,
user-defined data; see section "Elements of the tool data record").
Preparation With the help of the PC user interface, tool lists can be created, modified
and saved while machining is in progress. This enables the user to load
the tool storage device for subsequent machining processes.
Loading the tool list This permits the setup time of a new tool storage unit configuration to be
reduced to a minimum. The operator loads the tool list prepared in the
user interface into the control and loads the tool magazine according to
the tool list.
The current tool list contains the current information about the location
and the state of the individual tools (e.g. current remaining tool life). The
current tool list is generated from the tool list while taking the setup list
into account.
During the machining process, tool management continually updates the
current tool data, such as the location data, tool life data, and wear data.
Equipment Check
The equipment check compares the required tool data (setup list) with the
actual tool data (current tool list).
The equipment check is performed automatically whenever a program is
restarted after data of the setup or tool list have been modified and
transferred to the controller or after a different NC memory (A, B) has
been selected if interface signal PxxC.MGWTC (Process xx Command
MaGazine Without ToolCheck) has been set to log. "0".
Tool management does not perform an automatic equipment check after
a restart if PxxC.MGWTC has been set to log. "1".
Syntax TID
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-3
Ausruest.EPS
Each tool that has been entered in the setup list triggers the following
sequence during the equipment check:
Basic tool data • Based on the tool identification (ID), tool management searches the entire
current tool list for tools with the same name.
• Tool management first assigns the setup list-specific data to each
located tool. Any setup list-specific data that exist from a previously
made comparison will be overwritten.
• If a tool is not contained in the tool list, it is entered as missing in the
tool list of the user interface (sorted by T No.), i.e. tool status bit 1
"Tool does not exist" (⇔ "!") is set.
• Tools in the tool list to which no entry can be assigned in the setup list
are marked by tool management by setting tool status bit 2 "Tool not
required" (⇔"?").
• Depending on the tool, the tool status bits that are responsible for
location locking and location assignment are set or reset.
Tool edge data • Once the setup list-specific data have been assigned, tool manage-
ment checks the tool edge data and the basic tool data.
• For the tool edge data, the tool edge orientation, the existing geometry,
and the wear state are checked. The result is shown using the related
tool edge status bit.
• Tool status bit 5 ("Faulty tool edges" ⇔"f") indicates whether the tool
edge orientation and/or the tool geometry of at least one tool edge
does not satisfy the requirements.
• Accordingly, the wear state of the tool edges is shown in tool status
bits 17 and 18 ("Tool worn out" ⇔ "d" or "Tool below warning limit" ⇔
"w") if at least one tool edge is worn out or below the warning limit.
• From the basic tool data of the tool list, tool management checks the
correction type and the number of tool edges against the specifications
made in the setup list. According to the result, it updates tool status
bits 3 and 4 "Incorrect correction type" (⇔ "t") and "Incorrect number of
tool edges" (⇔ "e").
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-4 Tool Compensation MTC 200 NC programming instruction
Generate alternate tool chains • Tools with the same name that could be assigned to an entry in the
setup list (alternate tools) are summarized in alternate tool chains.
The tools are arranged in the following sequence in each alternate tool
chain:
− usable tools that have already been used, i.e. at least one tool edge
has a remaining tool life of less than 100%.
− usable tools that are still new, i.e. each tool edge has a remaining
tool life of 100%.
− worn tools that would otherwise be usable
− broken tools that would otherwise be usable
− unusable tools.
Within these groups, the sequence is according to increasing duplo
numbers.
The first tool of every alternate tool chain becomes the processing tool
(⇔ "p") of this chain. All other usable tools are marked as replacement
tools (⇔ "s").
• If interface signal PxxC.MGITW (Process xx Command MaGazine
Ignore Tool Worn Out) has been deleted, the NC program terminates
with an error message if there is an alternate tool chain that does not
have any usable tool. If interface signal PxxC.MGITW is set, the be-
havior is basically the same. However, tools that are worn and/or bro-
ken, but otherwise usable, are counted as usable tools.
?
NC program package setup list
(req. data) tools list 6
(actual data) 5
4
3
tool magazine 2
6 1
5 6 0 process
4 5
3 4
2 3
6 6 1 2
5 0 process 1
4 0 process
3
1
2 automatic
0 process equipment check
autoAus.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-5
Overview
The following overview tables contain the entire tool data record. The tool
data record consists of the setup list-specific data and of the tool list-spe-
cific data.
Data type The "Data type in the PLC" column specifies the form in which the indi-
vidual data items are available in the PLC.
Option The data elements for which the number of a system parameter is listed
in the column "Optional datum" are available in the tool data record only if
the entered system parameter is set.
User-defined tool list data The user can administrate application-specific tool data and tool states
within tool management of the Bosch Rexroth MTC 200. For example, the
maximum speed and the weight of a tool can be stored in the user data.
Binary information, such as "Cooling lubricant required" or "Tool resharp-
ened", can be stored in the user status bits. The following system pa-
rameters permit the naming of tool data and tool status bits according to
the requirements of the corresponding application:
• A00.061-A00.069
Designation of user tool data 1-9
• A00.070-A00.074
Designation of user tool edge data 1-5
• A00.092-A00.096
Designation of user tool edge data 6-10
• A00.075-A00.082
Symbol for user tool status bit 1-8,
• A00.083-A00.086
Symbol for user tool edge status bit 1-4,
"Grinding" technology data If tool management is to be used for a grinding machine, system parameter
A00.091 Tool technology must be set to "Grinding". The first 5 tool edge
user data (data elements 31 - 35) are assigned with the following grinding-
specific data:
• Min. spindle speed S min
• Maximum spindle speed S max
• Max. grinding wheel circumferential speed SUG max
• Angle of skew
• Current grinding wheel diameter
The first 5 tool user data are not allowed to be used by the user if system
parameter A00.091 Tool technology is set to "Grinding"!
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-6 Tool Compensation MTC 200 NC programming instruction
in the PLC
DATA
TYPE
UNIT
DESIGNATION VALUE RANGE DE OPT. SL TL
Tool identification
Index address hexadecimal double word with 32 bits - 01 X X
ID (tool name) up to 28 characters* STRG28 - 02 X
Storage 0-2 - 03 X
Location 0 - 999 - 04 X
Tool number 1 - 9999999 DINT - 05 X X
Location data
Free half-locations 0-4 USINT - 10 X
Units
Time unit 0/1 (0: min, 1: cycl.) USINT - 16 X
Technology data
Tool code 0- 9 USINT - 18 X X
Representation type 0 - 65535 INT - 19 X X
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-7
in the PLC
DATA
TYPE
UNIT
DESIGNATION VALUE RANGE DE OPT. SL TL
User data
User data 1 REAL any 20 A00.061 X
User data 2 REAL 21 A00.062 X
User data 3 REAL 22 A00.063 X
Group data
29
Group number 0 - 99 BYTE - 30 X
Group duplo number 0 - 99 BYTE - 31 X
Group status 0/1 (16 status bits) WORD - 32 X
All data elements (= "DE" column) of the basic tool data are described in
the following according to the order of the previous figure.
Tool Identification
Index address
DE 01 Basic tool data V22_20021105
Explanation Index addresses are automatically allocated by the controller when en-
tering a tool. The index address can only be accessed in reading; it is
used for controller-internal management of the tools.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-8 Tool Compensation MTC 200 NC programming instruction
Explanation The tool identification (also abbreviated "ID") can consist of a maximum of
28 characters (ASCII character set 32 - 126, min. 1 character >32) , pro-
viding a clear differentiation of the tools in use.
All utilized tools must be clearly named so that they can be uniquely identified
based on their tool name.
Only tools that can substitute each other (alternate tools) are grouped under
one tool name.
Such tools can be distinguished using an additional duplo number (see data
element 06 "Duplo number").
The extended tool designation permits any company-related tool designa-
tion system to be retained on the control level.
Storage
DE 03: Basic tool data V22_20021105
Explanation The "Storage" (="Tool storage type") data item is not shown directly within
the tool list. Within the data record, it indicates the type of storage location
at which the tool is located:
0:= Magazine or turret location
1:= Spindle
2:= Gripper
Example NC block for querying the tool storage location in process "P" in which tool
"T" with duplo number "D" is located:
@101=TLD(P,1,T,D,0,3,0)
Location
DE 04 Basic tool data V22_20021105
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-9
Explanation Within the tool storage unit, the "Location" data item determines the num-
ber of the tool pocket. For a spindle, it determines the number of the tool
spindle, and for a gripper the gripper location that contains the tool.
Using the tool list, all locations of the tool storage unit and all existing
spindles and grippers can be prepared asynchronously to accommodating
the real tools with respect to data processing.
Example NC block for querying the tool storage location in process "P" in which tool
"T" with duplo number "D" is located:
@101=TLD(P,1,T,D,0,4,0)
Tool number
DE 05 Basic tool data V22_20021105
Explanation Using the T word, which consists of a preceding address letter "T" and a
tool number (up to seven digits) or a tool location number (up to seven
digits), a tool or a location can be accessed within the NC program.
A programmed tool number initiates tool management to determine the
current location of the tool on the basis of the tool number and designa-
tion from the setup list using the designation and tool location number
from the tool list.
The assignment of the tool number (as it is used in the NC program) to
the tool (operation-specific tool name) that is made via the setup list en-
ables the NC program to access a tool.
If a setup list is not used, the current location is accessed directly via the
allocation tool number <> tool location number within the tool list.
Example 1. NC block for positioning tool T1234 on reference position "b" (b=1-4) of
the tool storage unit:
MTP b T1234
2. NC block for changing tool T123 into the spindle (e.g. "simple" milling
machine) for the case that the tool change cycle is called using branch
label "M6":
BSR .M6 T123
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-10 Tool Compensation MTC 200 NC programming instruction
Note: If tools have the same T number and duplo number, tool man-
agement employs the tools by their ascending location num-
bers.
Correction type
DE 07 Basic tool data V22_20021105
Explanation The correction type defines the number of corrections of a tool and their
locations (see Fig. 5-5:).
• Correction type 1: (boring tool)
A tool of correction type 1 has only one length compensation value
(L3) that is always perpendicular to the current machining plane.
• Correction type 2: (milling tool)
In addition to the length compensation value (L3), which is always
perpendicular to the current machining plane, a tool of correction type
2 has a radius compensation value (R) inside the machining plane.
• Correction type 3: (turning tool)
A tool of this type includes 2 length compensation values (L1, L2) and
one radius compensation value (R) inside the current machining plane.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-11
In order for the tool to be used for the scheduled machining process, the
correction type of the related tool in the magazine must coincide with the
type requested in the setup list.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
effect of the corrections
Type effective corrections Example tool edge orient
G 17/G 20 G 18 G 19
drilling tool
1 1 correction: Y Y Y
1 length correc tion
perpendicular to machining
level L3 0
L3
L3 X X L3 X
Z Z
5-12 Tool Compensation
Z
milling tool
2 2 corrections: Y Y Y
1 length correc tion
perpendicular to machining
level R L3
0
R
L3
Radius correction on
machining level L3 X R X L3 X
R
Z Z Z
lathing tool
3 3 corrections: Y Y Y
2 length corrections on R
the machining level R
L2 L1 0-8
Radius correction on
machining level L2
L2
L1 L1
X X X
R L2
R L1
Z Z Z
angular head tool
machining level L1 L1 L3
X X X
L2
Radius correction on
machining level R
Z Z Z
www.EngineeringBooksPdf.com
gripper tool
5 3 corrections: Y Y Y
L1/L2
1 length correc tion
perpendicular to machining
level L2 L3 L1
0
2 length corrections on the L2
L3 L1
L3
machining level L1 X X L3 X
L2
Z Z Z
KORR.FH7
MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
MTC 200 NC programming instruction Tool Compensation 5-13
Explanation Each tool can have up to nine tool edge data records assigned, irrespective
of the number of tool edges the tool actually has.
To avoid wasting NC storage space, A00.054 Maximum tool edge number
can be used to reduce the maximum number of tool edges to one tool edge
per tool.
In order to be able to be used for the scheduled machining process, the
related tool must satisfy the number of tool edges that is requested in the
setup list.
Schneidenanzahl.FH7
Tool status bits provide information about the current state of the tools
and their locations.
Classification They can be subdivided into status bits that are setup list-, location- and
tool-specific:
• Setup list-specific status bits describe the status of a tool with re-
spect to the requirements of the setup list.
• Location-specific status bits reflect the status of a location.
• Tool-specific status bits describe the status of a tool.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-14 Tool Compensation MTC 200 NC programming instruction
The following table lists all tool status bits. The table is followed by a detailed
explanation of the individual bits.
Symbol
access
Value
Word
Byte
Bit
Group name Group information Comment
ASP
TM
OP
SL
TL
LL
Tool not available ! 1
1 X X X Tool is missing
Tool available 0
Presence
Tool is not required ? 1 Tool not required for proc-
2
Tool required 0 essing
LOW byte 0 - 7
Error:
4 X X X not accord with the re-
tool edge number Correct number of tool edges 0 quirements
Tool edge(s) incorrect f 1 Tool edge data do not
Error: tool edge 5
Tool edge(s) not incorrect 0 comply with requirements
Upper half-location reser- Upper half-location reserved ) 1 Reserved for temp. moved
12 X X X X
vation Upper half-location not reserved 0 tools
Lower half-location reser- Lower half-location reserved ( 1 Reserved for temp. moved
13 X X X X
vation Lower half-location not reserved 0 tools
OP - Operator
ASP - Application-specific programs in PLC or NC SL - Setup list-specific status bit
LL - Location-specific status bit TL - Tool list-specific status bit
Fig. 5-7: Tool status bits 1 -16 from basic tool data element 09
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-15
Symbol
Group name Group information Comment
Value
Word
Byte
ASP
TM
OP
Bit
SL
TL
LL
Tool is worn out d 1 The remaining lifetime of
17 X X the tool has elapsed (re-
Tool is not worn out 0 place)
Wear state
Warning limit is reached w 1 The remaining lifetime is
18 X X
Warning limit not reached 0 about to expire (replace)
LOW byte 0 - 7
20 X X tool still to be used, not a
No replacement tool 0 processing tool
Tool with fixed location coding C 1 The tool may only be
Tool coding 21 X X X X changed into the prede-
Tool without fixed location coding 0 fined tool location
Tool locked L 1
Tool block 22 X X X Tool must not be used
Tool is not locked 0
Tool broken D 1 Tool is damaged: e.g.
Tool breakage 23 X X X
Tool is not broken 0 broken tool edge
High word 0 - 15
Fig. 5-8: Tool status bits 17 -32 from basic tool data element 09
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-16 Tool Compensation MTC 200 NC programming instruction
Note:
• The group definitions in the left column of the previous
table are only used for display (expedient reduction of the
data for the end user).
• These groups are not taken into consideration within the
CNC.
• Status bits with capital letters inform the operator that he
can change their status, if he desires, using the user
interface, the PLC or the NC user program.
• Status bits with lower case letters can not be influenced by
the user. They are administrated by NC tool management.
Meaning A tool marked with such a status bit is missing; it is not contained in the
tool storage unit.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-17
Meaning A tool marked with such a status bit is not needed for the current ma-
chining process.
Meaning A tool marked with such a status bit does not comply with the required
correction type.
Symbol t (type)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-18 Tool Compensation MTC 200 NC programming instruction
Meaning The tool concerned does not possess the required number of tool edges.
Symbol e (edge)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-19
Meaning There is at least one of the following faults for at least one tool edge:
• Incorrect tool edge orientation (e)
• L1 faulty (1)
• L2 faulty (2)
• L3 faulty (3)
• R incorrect (r)
Symbol f (fault)
Meaning The entry in DE 18 Tool code in the basic tool data of the tool list does not
correspond with the one in the setup list.
Symbol $
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-20 Tool Compensation MTC 200 NC programming instruction
Location locked
DE 09 Bit 9 Basic tool data V22_2002110
6
Symbol B
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-21
Meaning Tool status bit 12 is provided to identify the upper half-location of the tool
location as "reserved".
This status bit is not interpreted by the CNC. It can therefore be used like
a user tool status bit.
Symbol )
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-22 Tool Compensation MTC 200 NC programming instruction
Meaning Tool status bit 13 is provided to identify the lower half-location of the tool
location as "reserved".
This status bit is not interpreted by the CNC. It can therefore be used like
a user tool status bit.
Symbol (
Location assigned
DE 09 Bit 16 Basic tool data V22_20021106
Symbol +
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-23
Meaning • The remaining tool life of at least one tool edge is completely consumed
(remaining tool life ⇐0).
• This bit is also set if tool status bit D ("Tool broken") is set, even if all
tool edge remaining times of the tool are still in the positive range.
Symbol d (defective)
Updating time Tool management updates the "Tool worn out" tool status bit together
with the tool edge status bit of the existing tool edges:
• during the equipment check,
• during a transition to a different tool edge,
• when an edge is requested again
• when the tool is placed back in the magazine
(tool storage = magazine)
• when the tool is rotated out of the machining position
(tool storage = turret),
• when a tool is canceled using T0
(tool storage = turret or no tool storage present).
• if the data of the tool are modified using the interface or the PLC or if the
tool is replaced
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-24 Tool Compensation MTC 200 NC programming instruction
Meaning • The remaining tool life of at least one tool edge has reached the warning
limit.
• This bit is also set if tool status bit D ("Tool broken") is set, even if all
tool edge remaining times of the tool are still below the warning limit.
• Tools that have reached the warning limit should be replaced together
with the worn-out tools as soon as possible.
Updating time Tool management updates this tool status bit together with the "Warning
limit reached" tool edge status bit of the existing tool edges:
• during the equipment check,
• during a transition to a different tool edge,
• when an edge is requested again
• when the tool is placed back in the magazine
(tool storage = magazine)
• when the tool is rotated out of the machining position
(tool storage = turret),
• when a tool is canceled using T0
(tool storage = turret or no tool storage present).
• if the data of the tool are modified using the interface or the PLC or if the
tool is replaced
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-25
Note: The "w: Warning limit reached" (data element 09 / bit 18) sta-
tus signal is set towards the PLC if tool management determi-
nes that a tool has reached the warning limit and that no further
alternate tool is available.
Machining tool
DE 09 Bit 19 Basic tool data V22_20021106
Meaning • The "p: Machining tool" status bit characterizes a tool in a group of
alternate tools that becomes the active tool the next time T is invoked
(via the tool number that is common to them all).
• The correction values and the tool life data of this tool are used for
further machining.
p (primary tool)
Symbol
• During the equipment check
Updating time
• when the tool is brought back to the magazine
(tool storage unit = magazine),
• when the tool is rotated out of the machining position
(tool storage = turret)
• when a tool is canceled using T0
(tool storage = turret or no tool storage present).
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-26 Tool Compensation MTC 200 NC programming instruction
Replacement tool
DE 09 Bit 20
Basic tool data V22_20021106
Example Following is an example for the selection of an active tool from an alter-
nate tool chain with 4 tools.
The illustration below shows a table for the tool with T No. 77, which is
present a total of 4 times. The activation order for the current processing
tool is displayed in the next figure.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-27
T77 D1
Duplo Number
Tool Number (T-No.)
SchwesterWZ.FH7
Meaning Tool status bit 21 is used to identify if the tool should be brought back to
the original location in the tool magazine (tool basic data, DE 11 Old loca-
tion) or not.
This status bit is not interpreted by the CNC.
Symbol C
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-28 Tool Compensation MTC 200 NC programming instruction
Tool locked
DE 09 Bit 22 Basic tool data V22_20021106
Symbol L
Tool broken
DE 09 Bit 23 Basic tool data V22_20021106
Symbol D
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-29
Meaning The programmer can utilize user tool status bits 1 - 8 to record machine-
specific, tool-relevant, binary information. For example, information such as
"Tool has already been resharpened", "Tool has coolant/lubricant hole" or
"Tool requires coolant" can be entered.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-30 Tool Compensation MTC 200 NC programming instruction
Location Data
Free half-locations
DE 10 Basic tool data V22_20021105
Meaning The datum Free half-locations is not displayed and is currently not stored
with an NC function. The programmer can use it to administrate information
concerning occupied/available half-locations in the tool magazine. As a re-
sult, it is possible, for example, to partially or totally block neighboring
magazine locations for extra-wide tools in order to prevent collisions in the
tool storage unit.
Old pocket
DE 11 Basic tool data V22_20021105
Explanation The datum Old pocket is not displayed. It is included in the data record in
order to be able to ensure the associated fixed location, in addition to the
other data items, for fixed location-encoded tools that are in a spindle.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-31
Explanation Data element 12 Storage of the next replacement tool describes the stor-
age unit in which the next tool of an alternate tool sequence can be found.
It indicates if the replacement tool is in a
• 0 = Magazine or turret location
• 1 = Spindle or
• 2 = Gripper.
Please remember that the alternate tool sequence is closed. Provided that all
tools are useable, this means that the last tool in this sequence is also the penul-
timate tool in the first sequence.
Explanation Data element 13 Location of the next replacement tool describes the lo-
cation at which the next tool of an alternate tool sequence can be found.
It contains the number of magazine or turret location, spindle, or gripper.
Please remember that the alternate tool sequence is closed. Provided
that all tools are useable, this means that the last tool in this sequence is
the penultimate tool with respect to the first one (Location of the
previous replacement tool).
Explanation Data element 14 Storage of the previous replacement tool describes the
storage unit in which the previous tool of an alternate tool sequence can
be found.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-32 Tool Compensation MTC 200 NC programming instruction
Explanation Data element 15 Location of the previous replacement tool describes the
location at which the previous tool of an alternate tool sequence can be
found.
It contains the number of magazine or turret location, spindle, or gripper.
Please remember that the alternate tool sequence is closed. Provided that all
tools are useable, this means that the last tool in this sequence is also the
penultimate tool in the first sequence.
T12 D1
next
spare tool
of T12 D1
previous
spare tool T12 D2
of T12 D1
T12 D3
Kette.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-33
Units
Time unit
DE 16 Basic tool data V22_20021105
Unit of length
DE 17 Basic tool data V22_20021105
Explanation All geometry data items of a tool can be entered either in millimeters [mm]
or in inches [inch].
The length unit in the setup list need not be the same as the one in the tool
list. When they are loaded into the controller, all geometry data items are
converted into the basic unit for programming that is valid for the process.
Technology Data
Tool code
DE 18 Basic tool data V22_20021105
Explanation Data element 18 Tool code is significant for "Grinding" technology, which
is set with system parameter A00.091 Tool technology.
Please refer to section "Grinding Wheel-Specific Tool Data" for details
on the tool code.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-34 Tool Compensation MTC 200 NC programming instruction
Representation type
DE 19 Basic tool data V22_20021105
Explanation Tool user data items 1 - 9 in the basic tool data permit any user-related
status information to be allocated to a tool.
When the required designation is entered in system parameters A00.061
- A00.069, the user data are accepted in the tool data record and are dis-
played in the offline tool list and the current tool list.
In the offline tool list, the user data can be synchronously prepared in the
same way as the other data items.
Examples of user data in the basic tool data are:
• the weight of the tool (influences e.g. the velocity of the tool change),
• the maximum speed of the tool,
• the maximum dimensions of the tool (for collision checks).
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-35
Group number
DE 30 Basic tool data V23_20030206
Explanation The tool is allocated to a tool group. A reliable value for the group number
is "0" or higher; the higher values are limited by the contents of machine
parameter Bxx.073 "Number of tool groups" (0-99).
Group status
DE 32 Basic tool data V23_20030206
Explanation Data element "Group status" exists for each tool group. It can be acces-
sed both through tool addressing and through group addressing. The fol-
lowing table lists all group status bits. The table is followed by a detailed
explanation of the individual bits.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-36 Tool Compensation MTC 200 NC programming instruction
Value
Sym-
bol
Bit
Status Status bit Comment
TM OP ASP GL
Presence Group not available ! 1 1 X X Tool in this
group is missing
Group exists 0
User group status 1 User group status bit 1 any 1 9 X X X Any meaning
User group status 2 User group status bit 2 any 1 10 X X X Any meaning
User group status 3 User group status bit 3 any 1 11 X X X Any meaning
User group status 4 User group status bit 4 any 1 12 X X X Any meaning
User group status 5 User group status bit 5 any 1 13 X X X Any meaning
User group status 6 User group status bit 6 any 1 14 X X X Any meaning
User group status 7 User group status bit 7 any 1 15 X X X Any meaning
User group status 8 User group status bit 8 any 1 16 X X X Any meaning
0
WZG_all_V23_20021112.xls
TM - Tool management SL - Setup list-specific status bit
OP - Operator TL - Tool list-specific status bit
ASP - Application-spec. programs on the PLC or NC OPT - Optional datum
LL - Location-specific status bit GL - Tool group list-specific status bit
Fig. 5-12: Tool groups: group status (data element 32)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-37
Meaning A tool group indicated in this way is viewed as not existing because it
does not contain any tools.
Meaning A tool group indicated in this way does not contain any of the tools pres-
ent in the setup list. If there is no setup list, all groups are automatically
considered as required.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-38 Tool Compensation MTC 200 NC programming instruction
Group disabled
DE 32 Bit 3 Basic tool data V23_20030206
Symbol L
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-39
Group worn
DE 32 Bit 4 Basic tool data V23_20030206
Meaning A tool group is considered to be worn once the first alternate tool se-
quence of the group is worn.
Symbol d (defective)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-40 Tool Compensation MTC 200 NC programming instruction
Meaning This group status bit is set as soon as the first alternate tool sequence of
the tool group has reached the warning limit.
Machining group
DE 32 Bit 6 Basic tool data V23_20030206
Meaning The non-worn, non-locked tool group with the lowest group duplo number
is indicated as the machining group.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-41
Spare group
DE 32 Bit 7 Basic tool data V23_20030206
Meaning • A tool group from a group of alternate tool groups is called a "repla-
cement group" if it is not yet worn out and is not assigned the "Machi-
ning tool" status.
• The group duplo number specifies the sequence in which the replace-
ment groups are employed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-42 Tool Compensation MTC 200 NC programming instruction
Meaning User group status bits 1-8 permit any user-related status information to be
allocated to a tool group.
Symbol any
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-43
DATA TYPE in
OPT.
PLC
DE
SL
DESIGNATION VALUE RANGE UNIT
TL
Tool edge identification
Length L1 DINT 07 X
Length L2 DINT 08 X
Length L3 DINT 09 X
Radius R DINT 10 X
Wear L1 -99999.9999 - +99999.9999 DINT mm 11 A00.055 X
Wear L2 or DINT or 12 A00.055 X
Wear L3 DINT 13 A00.055 X
-9999.99999 - +9999.99999 inches
Wear R DINT 14 A00.055 X
Offset L1 DINT 15 A00.056 X
Offset L2 DINT 16 A00.056 X
Offset L3 DINT 17 A00.056 X
Offset R DINT 18 A00.056 X
Geometry limit values
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-44 Tool Compensation MTC 200 NC programming instruction
All data elements of the tool edge data record will be described in groups
in the following.
Explanation The tool edge orientation enables the tools of correction types 3 (turning
tool) and 4 (angle head tool) to be measured with respect to the theoreti-
cal tool tip "P" so that inaccuracies do not result from future machining.
L2 Y(G17)
X(G18)
Z(G19)
8 6
4 3 1 2
S S S S S S
P P P P P P
0 L1 0 L1
5 P S 7 5 P S 7
S P=S P S P=S P
X(G17) X(G17)
Z(G18) Z(G18)
Y(G19) Y(G19)
P P P P P P
S S S S
S S
1 2 4 3
6 8
Y(G17)
L2 X(G18)
Z(G19)
SCHNEIDENLAGE.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-45
P BB P B
P B
R
P B P B
S S
S
S S
Edge orientation 3
: resulting contour
: path of theoretical Edge peak "P" (programmed contour)
: path of Edge center "S"
Fig. 5-15:: Errors that occur if machining is performed without using tool edge
radius / cutter radius path compensation
The shaded area in figure Fig. 5-15: will not be removed since the con-
troller is using theoretical edge tip "P" as its point of reference.
Note: Tool edge center "S" is the reference point for the controller if
length compensation is active and tool edge / cutter radius com-
pensation is switched off.
When tool edge radius / cutter radius compensation is active, the CNC auto-
matically moves the actual contact point "B" along the programmed contour.
Thus, the resulting contour is identical to the programmed contour.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-46 Tool Compensation MTC 200 NC programming instruction
Explanation Tool edge status bits provide information about the current state of the re-
lated tool edge. They can be subdivided into status bits that are setup list-
specific and tool-specific.
Setup list-specific Setup list-specific status bits 1 - 5 describe the status of a tool edge with
tool edge status bits respect to the requirements of the setup list.
If a tool edge cannot be used for the subsequent machining process, the
setup list-specific status bits provide detailed information about the cause.
Exclusively tool management updates the setup list-specific status bits.
Neither the CNC nor the PLC nor the operator can modify the states of
these bits.
The setup list-specific status bits are not loaded into the PC when the tool
list is saved.
Tool-specific tool edge status Tool-specific tool edge status bits 9 - 16 describe the status of the asso-
bits ciated tool edges. They "move" along with the tool and/or its data record.
They are also loaded into the PC when a tool list is saved.
Each tool edge can have up to 4 user-related tool edge status bits (see
the documentation "Bosch Rexroth MTC 200 parameter description, sys-
tem parameters Axx.083 - Axx.086").
The following table lists all tool edge status bits. The table is followed by a
detailed explanation of the individual bits.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-47
Symbol
Group name Group information Comment
Value
ASP
TM
OP
Bit
SL
TL
Incorrect tool edge orientation o 1
Incorrect tool edge Tool edge data do not correspond to
Tool edge orientation is not incor- 0 1 X X
orientation the definition
rect
L1 faulty 1 1 Tool edge data do not correspond to
L1 faulty 2 X X
L1 not incorrect 0 the definition
Tool edge worn out d 1 The tool edge can no longer be used
9 X X
Tool not worn out 0 (replace)
Wear state
Warning limit is reached w 1 The remaining tool life of the tool edge
10 X X
Warning limit not reached 0 is near its end (replace)
Fig. 5-16: Tool edge status bit from tool edge data element 02
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-48 Tool Compensation MTC 200 NC programming instruction
Meaning The existing tool edge orientation does not correspond to the tool edge
orientation that is required by the setup list.
Symbol o (orientation)
Meaning The existing L1 tool length does not correspond to the required dimen-
sions (the individual tool dimensions are calculated from geometry, wear
and offset).
Symbol 1
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-49
Meaning The existing L2 tool length does not correspond to the required dimen-
sions (the individual tool dimensions are calculated from geometry, wear
and offset).
Symbol 2
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-50 Tool Compensation MTC 200 NC programming instruction
Meaning The existing L3 tool length does not correspond to the required dimensions
(the individual tool dimensions are calculated from geometry, wear and offset).
Symbol 3
Meaning The existing tool radius R does not correspond to the required dimensions
(the individual tool dimensions are calculated from geometry, wear and offset).
Symbol r
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-51
Meaning The remaining tool life of the tool edge is less than or equal to zero.
Symbol d
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-52 Tool Compensation MTC 200 NC programming instruction
Meaning The remaining tool life is less than the warning limit.
Symbol w
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-53
Meaning User tool edge status bits 1 - 4 permit any user-related status information
to be allocated to a tool edge.
Symbol any
Explanation The remaining tool life in percent specifies the wear state of a tool in per-
cent, irrespective of the tool / workpiece material combination and the tech-
nology data.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-54 Tool Compensation MTC 200 NC programming instruction
tRest[min]
tRest[%] = *100
tUtil[min]
tRest[cycles]
tRest[%] = *100
tUtil[cycles]
tRest[%] remaining tool life in percent
tRest[min] remaining tool life in min.
tRest[cycles] remaining tool life in cycles
tUtil[min] max. utilization time in min.
tUtil[cycles] max. utilization time in cycles
Fig. 5-17: Calculation of remaining tool life in percent
To monitor the actual remaining tool life with the theoretical tool life de-
Negative remaining tool life fined from the production planning, tool management can also determine
and manage negative remaining tool life. This allows the determination of
the actual tool life, minimizing the tool costs.
Update remaining tool life Tool management updates the remaining tool life automatically in percent:
• during the equipment check,
• during a transition to a different tool edge,
• when an edge is requested again
• when the tool is brought back to the magazine
(tool storage unit = magazine),
• when the tool is rotated out of the machining position
(tool storage = turret)
• when a tool is canceled using NC command T0
(tool storage = turret or no tool storage present).
The following requirements must be satisfied in order to permit machining
sequences to be taken into account in the calculation of the remaining
tool life for a tool:
• an interpolation with feed movement must have been programmed for
the tool (G1, G2, G3) and
• the tool must be programmed (= active).
The calculation of the remaining tool life in percent is based on the fol-
lowing formula:
tOn[min]
tRest[%] = tRest before[%] − *100
tUtil[min]
tOn[cycles]
tRest[%] = tRest before[%] − *100
tUtil[cycles]
tRest[%] remaining tool life after tool utilization
tRest before[%]remaining tool life before tool utilization
tOn[min] contact time of the tool in min.
(all programmed tool movements with feed rate)
tOn[cycles] contact time of the tool in cycles
(all programmed tool movements with feed rate)
tUtil[min] max. utilization time in min.
tUtil[cycles] max. utilization time in cycles
Fig. 5-18: Updating of remaining tool life in percent
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-55
Each time that updating occurs, tool management checks the remaining
tool life and sets the status "d" - Tool worn out (basic tool data element 09
/ bit 17) if the remaining tool life of a tool has expired or is exceeded. If no
further alternate tool that is not worn out is available for the tool whose
remaining tool life is expired, interface signal PxxS.MGTWO (MaGazine
Tool Worn Out) is set towards the PLC.
For further information, see the description "Bosch Rexroth MTC 200 tool
management", chapter "Movement control of a tool storage unit", section
"Tool life monitoring: tool worn "PxxS.MGTWO"" or the description "Bosch
Rexroth MTC 200 PLC interface description".
Warning limit
DE 04 Tool edge data V22_20021107
Explanation The warning limit in percent is determined by the user and specifies the
remaining tool life in percent at which tool management signals the "w"
Warning limit reached status.
During every update, tool management checks the remaining tool life and
sets interface signal PxxS.MGWRN MGWRN (MaGazine WaRNing –
warning limit reached) to the PLC if the remaining tool life of a tool has
reached the warning limit and all alternate tools also have the status "Tool
warning limit reached".
For further information, see the description "Bosch Rexroth MTC 200 tool
management", chapter "Movement control of a tool storage unit", section
"Tool life monitoring: warning limit reached "PxxS.MGWRN"" or the
description "Bosch Rexroth MTC 200 PLC interface description".
Explanation The maximum utilization time is the cutting time in minutes or NC cycles
during which a tool is used for cutting for a specific tool/material combina-
tion, from resharpening to the worn-out state, and under equal cutting con-
ditions. The Maximum utilization time is determined by the user.
Note: Entering "0" for the maximum utilization time switches off the
tool life updating process of the tool concerned.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-56 Tool Compensation MTC 200 NC programming instruction
Time used
DE 06 Tool edge data V22_20021107
Explanation DE 06 Time used is not displayed and currently not interpreted in the NC.
Geometry Data
Explanation When the corresponding correction is active, the dimensions of a tool are
compensated automatically using the geometry data.
The geometry data items are subdivided as follows:
Geometry (register) Wear (register) Offset (register)
Length L1 Wear L1 Offset L1
Length L2 Wear L2 Offset L2
Length L3 Wear L3 Offset L3
Radius R Wear R Offset R
The wear and offset registers can be activated using system parameters
• A00.055 Wear register and
• A00.056 Offset register
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-57
The CNC uses wear registers for compensating the time-related wear of
the tools with the help of the wear factors.
To do this, it calculates the associated wear value at certain points in time
(see "Wear factors") and adds it to the existing values in the wear regis-
ters.
As long as the wear factors (tool edge data elements 27 - 30) have not
been activated in system parameter A00.058 Wear factors or are set to
zero in the data records, the wear registers are exclusively available to the
user.
The wear registers can be influenced by
• tool editor function "Edit"
(see the documentation "Bosch Rexroth MTC 200 tool management –
user description")
and by
• user-configurable HMI function "Acknowledge tool change/ tool
breakage"
(see the WIN-HMI documentation
"Bosch Rexroth MTC 200 / ISP 200 / MTA 200 WinHMI user interface
– user description")
Besides resetting the remaining tool life in percent to 100%, all wear reg-
isters belonging to the tool will be deleted and the tool will be enabled
again for processing (basic tool data - tool status bit 22 = "0").
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-58 Tool Compensation MTC 200 NC programming instruction
The CNC does not influence the offset registers. Like the wear registers,
they may be used for compensating dimensional deviations that are deter-
mined either by the user or by a measuring control action.
The offset registers may also be used as memories for additional offsets,
such as for the compensation of adapter dimensions.
Length Compensation
The length values "L1", "L2", "L3" of a tool edge are calculated as follows:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-59
Wear L3 = -0.115 mm
L3 = 215.316 mm
Offset L3 = 20.267 mm
L3 215.316 mm
+ Wear L3 -0.115 mm
+ Offset L3 20.267 mm
Length correction L3 235.468 mm
LAENGENKORR.FH7
Fig. 5-20: Length compensation value "L3", example of a throwaway insert drill
(without D correction)
Radius Compensation
The radius compensation value "R" of a tool edge is calculated as follows:
Wear R = -0.084 mm
R = 40.051 mm
R 40.051 mm
+ Wear R -0.084 mm
+ Offset R 0 mm
Radius correction R 39.967 mm
RADIUSKORR.FH7
Fig. 5-22: Radius compensation "R", example of a cutter head (without D correc-
tion)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-60 Tool Compensation MTC 200 NC programming instruction
Note: The geometry limit values of the setup list are not taken into
account in the calculation of tool compensation processes.
Explanation The maximum length values "L1_max", "L2_max" and "L3_max", as well
as the minimum lengths: "L1_min", "L2_min" and "L3_min" specify the li-
mits of the corresponding length value within which the intended machi-
ning processes can still be performed.
The maximum radius "R_max" and
the minimum radius "R_min"
specify the limits of the tool radius within which the intended machining
processes can still be performed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-61
Wear Factors
Wear factors can be used for compensating wear-related variations in tool
length and tool radius.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-62 Tool Compensation MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-63
Explanation Tool edge user data 1 - 10 permit any tool edge to have any user-specific
data items assigned.
Note: User tool edge data items 1-5 are returned to the PLC as REAL
values.
User tool edge data items 6-10 are specified as DINT.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-64 Tool Compensation MTC 200 NC programming instruction
Note: When operating without setup lists, the user must enter the
designations of required grinding wheel-specific parameters
(data elements 31 to 35 of tool edge data) manually to activate
them.
Minimum spindle speed The data element is an editable element in the setup list and in the tool
(S min) DE 31 list. In operation with setup lists, the value from the setup list is accepted
in the tool list when the equipment check is performed. In operation with-
out setup lists, the value in the tool list is assigned a default value. After
the related data record has been activated in one of the spindles, the data
element is the minimum permissible spindle speed command value, tak-
ing the override into account. The specified minimum spindle speed is
also taken into account as the minimum permissible speed value when
the grinding wheel circumferential speed (SUG) is active. The conversion
for an active SUG is calculated according to the formula that is discussed
in conjunction with the grinding wheel circumferential speed.
• If setup lists are used for operation, the value 0 corresponds to the
state "Inactive checking".
• The data element is displayed according to the setting of system pa-
rameter A00.091 "Tool technology" in the setup list/tool list.
• If a corresponding tool data record has been activated for machining,
the value is considered as the lower spindle speed limit, below which
the value must not fall (including override). An error message is is-
sued if the command value falls below this limit speed.
Maximum spindle speed The data element is an editable element in the setup list and in the tool
(S max) DE 32 list. In operation with setup lists, the value from the setup list is accepted
in the tool list when the equipment check is performed. In operation with-
out setup lists, the value in the tool list is assigned a default value. After
the related data record has been activated in one of the spindles, the data
element is the maximum permissible spindle command value, taking the
override into account. The specified maximum spindle speed is also
taken into account as the maximum permissible speed value when the
grinding wheel circumferential speed (SUG) is active. The conversion for
an active SUG is calculated according to the formula that is discussed in
conjunction with the grinding wheel circumferential speed.
• If setup lists are used for operation, the value "0" corresponds to the
state "Inactive checking".
• The data element is displayed according to the setting of system pa-
rameter A00.091 "Tool technology" in the setup list/tool list.
• If a corresponding tool data record has been activated for machining,
the value is considered as the lower spindle speed limit that must not
be exceeded (including override). An error message is issued if the
command value exceeds this limit speed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-65
Maximum grinding wheel The data element is an editable element in the setup list and in the tool
circumferential speed list. In operation with setup lists, the value from the setup list is accepted
(SUG max) DE 33 in the tool list when the equipment check is performed. In operation with-
out setup lists, the value in the tool list is assigned a default value. After
the related data record has been activated in one of the spindles and the
SUG has been activated (G66), the data element is the maximum per-
missible spindle command value, taking the override into account.
dAct[mm] * p * Smax[1/min]
SUGmax[m/s] =
60000
dAct[inch] * p * Smax[1/min]
SUGmax[ft/s] =
720
SUGmax : Max. grinding wheel circumferential speed
dAct : Actual grinding wheel diameter
Smax : Maximum spindle speed
Fig. 5-24: Calculation of maximum grinding wheel circumferential speed
Angle of skew The "Angle of skew" data element is an editable element in the setup list
(slant angle) DE 34 and in the tool list. The data element is available only for tool code 2. The
value is required to calculate the grinding wheel diameter. The angle of
skew is entered in degrees.
Current grinding wheel diameter The "Grinding wheel diameter" data element is a pure display element
(current grinding wheel ∅) DE 35 that cannot be edited. The data element is available only in the tool list.
The computation formula for the grinding wheel diameter depends on the
entered tool code and the existing geometry elements. The data element
is displayed only for the three defined tool codes (1, 2, and 3). A value is
not displayed if a correction type ≤3 is entered.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-66 Tool Compensation MTC 200 NC programming instruction
Tool code 0 - 3 The input of tool code 1-3 is relevant and is processed only if the "Tool
technology" system parameter has been preset to "grinding". In all other
cases, the preset values of the data element are ignored.
Depending on the entered tool code, the associated tool edge data record
(tool list and setup list) is displayed on the desktop. The grinding-specific
(user) data items also depend on the selected correction type. In order to
be able to utilize the grinding-specific (user) data expediently, a correction
type ≥ 3 must be entered for the defined grinding wheels.
Tool code 1 For the straight circumferential grinding wheel, the correction type ele-
"Straight circumferential grinding ment in the tool data record must be filled in with 3, 4 or 5.
wheel" The current wheel diameter is calculated via tool length compensation L1.
L2
GERADE_SCHEIBE.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-67
Tool code 2 For the angled grinding wheel, the correction type element in the tool data
“Inclined grinding wheel” record must be filled in with 3 or 5.
The current wheel diameter is calculated via tool length compensation L1
and the angle ϕ.
L1
R
L2
SCHRAEGE_SCHEIBE.FH7
Tool code 3 For the surface-grinding wheel, the correction type element in the tool
“Surface grinding wheel” data record must be filled in with 3, 4, or 5.
The current wheel diameter is calculated via tool length compensation L2.
L2
PLANSCHEIBE.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-68 Tool Compensation MTC 200 NC programming instruction
P BB PB
PB R
S S
P B P B
S E dge orientation 3
S S
: resulting contour
: path of theoretical E dge peak 'P ' (program m ed contour)
: p a th o f E dg e ce n te r 'S '
511Unohn.FH7
The shaded area in the drawing will not be removed since the controller is
using the theoretical edge tip P as its point of reference.
When tool edge radius / cutter radius compensation is active, the CNC au-
tomatically moves the actual contact point B along the programmed con-
tour. Thus, the resulting contour is identical to the programmed contour.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-69
P B PB
PB R
S S
P B P B
S
S S
512Smit.FH7
With tool path compensation active, the center point of the tool travels
along a path which is parallel to the programmed contour and is offset by
the tool radius.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-70 Tool Compensation MTC 200 NC programming instruction
Contour Transitions
Inside corners With inside corners, the corrected NC block transition point is based on
the point at which the lines parallel to the contours intersect.
R R
S ' S S'
S
R
R
R
S
S '
S' S
513Innen.FH7
Outside corners The tool center point must travel around outside corners so that they are
not damaged.
Two methods can be used to accomplish this:
1. Insertion of an arc as the transition element by using NC command
G43, and
2. Insertion of a chamfer as the transition element by using NC com-
mand G44. The insertion of a chamfer is possible only if a straight-
line ↔ straight-line transition exists.
A chamfer is used as the transition element when the transition angle
between the two straight lines is greater than 90°. If the transition angle
is less than 90°, the NC block transition point is recalculated based on
the intersection point of the lines parallel to the contour.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-71
S2'
R S2 '
S
S1' R
S1 '
S2 '
R
R S S1 '
S2 '
514Außen.fh7
S1 '
514Aussen.FH7
R: tool radius
S: programmed NC block transition point
S1 ": corrected NC block transition point 1
S2 ": corrected NC block transition point 2
Fig. 5-35: Arc transition element with G43
R
R S2 '
S
S1 '
ß
515Fase.fh7
515Fase.FH7
Fig. 5-36: Chamfer transition element and corrected block transition point
When arcs or chamfers are inserted as contour transitions, the CNC auto-
matically generates an additional transition NC block. This NC block is
considered to be an independent NC block, and as such, it must be star-
ted separately in single-block processing mode.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-72 Tool Compensation MTC 200 NC programming instruction
S'
S'
S' S'
S'
S'
S'
516Rand.fh7
S
516RAND.FH7
Arcs can, of course, replace the contour elements which are represented
as straight lines. Any overlaps with elements other than the next contour
element are ignored.
The case shown here as a concave arc (see following fig.) is recognized
and program execution is terminated with an error message.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-73
S'
517Konk.fh7
517KONK.FH7
The cases shown below are concave arcs with contour violation.
S'
518KonkM.fh7
518KONKM.FH7
Due to the fact that a maximum of four NC blocks are generally prepared,
one of the next three NC blocks must be a movement NC block, which
includes at least a change of one axis coordinate of an axis belonging to
the selected working plane. If this is not the case, the contour movement
is completed, and the next contour transition will not be calculated. Look-
ahead NC block processing will be interrupted with calculations in the NC
program, which leads to the completion of a contour movement. Thus, a
coherent contour move cannot be programmed according to NC vari-
ables.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-74 Tool Compensation MTC 200 NC programming instruction
[P1]
R
[P0]
[P0]
519WKorr.fh7
R
[P1] R
[P0] [P1]
519WKORR.FH7
R: tool radius
[P0]: programmed starting point of the contour
[P1]: corrected starting point of the contour
Fig. 5-40: Starting point for tool path compensation
Traversed
Linear Movement
[Ps]
[P1]
520WKauf.fh7
R
Programmed
Linear Movement [P0]
520WKAUF.FH7
R: tool radius
[Ps]: starting point of tool path compensation
[P0]: programmed starting point of the contour
[P1]: corrected starting point of the contour
Fig. 5-41: Establishment of tool path compensation
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-75
[P1]
R
[Ps]
[P0]
521Wanf.fh7
521WANF.FH7
R: tool radius
[Ps]: starting point of tool path compensation
[P0]: programmed starting point of the contour
[P1]: corrected starting point of the contour
Fig. 5-42: Contour start for tool path compensation
[P2] [P3]
Contour Violation
[Ps1]
R
522Wges.fh7
[P6]
[P1], [P7]
[P5] [P4]
522WGES.FH7
R: tool radius
[P0]: programmed starting point of the contour
[P1]: corrected starting point of the contour
Fig. 5-43: Tool path compensation with closed contours
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-76 Tool Compensation MTC 200 NC programming instruction
[Pe1]
R
[Pe0]
[Pe0]
523WEnd.fh7
R
[Pe1]
[Pe0]
[Pe1]
R
523WEND.FH7
R: tool radius
[Pe0]: programmed end point of the contour
[Pe1]: corrected end point of the contour
Fig. 5-44: End point for tool path compensation
Traversed
Linear Movement
[Pee]
[Pe1]
R
programmed
[Pe0]
524WAuf.fh7
Linear Movement
524WAUF.FH7
R: tool radius
[Pee]: end point of tool path compensation
[Pe0]: programmed end point of the contour
[Pe1]: corrected end point of the contour
Fig. 5-45: Removal of tool path compensation
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-77
[Pee]
[Pe1]
R
[Pe0]
525KEnde.fh7
525KENDE.FH7
R: tool radius
[Pee]: end point of tool path compensation
[Pe0]: programmed end point of the contour
[Pe1]: corrected end point of the contour
Fig. 5-46: Contour end for tool path compensation
[P2] [P3]
Contour Violation
[Pe7]
R
[P6]
[P1], [P7]
526Kgesch.fh7
[P5] [P4]
526KGESCH.FH7
R: tool radius
[P7]: programmed end point of the contour
[Pe7]: corrected end point of the contour
Fig. 5-47: Tool path compensation with closed contours
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-78 Tool Compensation MTC 200 NC programming instruction
[Ps0]
Traversed
Linear Movement R
[Ps1]
[Pe0]
R
Programmed
527Wechs.fh7
[Pe1] Linear Movement
527WECHS.FH7
R: tool radius
[Pe0]: programmed end point of the first contour
[Pe1]: corrected end point of the first contour
[Ps0]: programmed starting point of the second contour
[Ps1]: corrected starting point of the second contour
Fig. 5-48: Change in direction of compensation
Syntax G40
• G40 is the power-on state; it has a modal effect. G40 is cancelled by
G41 or G42.
• G40 is automatically set after the controller has been powered on, as
well as after an NC program is loaded and after a BST, RET or control
reset.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-79
Syntax G41
• G41 remains modally active until it is canceled by G40 or G42 or until
a reset is automatically performed at the end of the program (RET) or
BST.
• When tool path compensation is active, no more than two NC blocks
can be programmed without programming a movement in the current
process plane. If more than two NC blocks are programmed without a
movement, tool path compensation is canceled with G40.
Syntax G42
• G42 remains modally active until it is canceled by G40 or G41 or until a
reset is automatically performed at the end of the program (RET) or BST.
• When tool path compensation is active, no more than two NC blocks
can be programmed without programming a movement in the current
process plane. If more than two NC blocks are programmed without a
movement, tool path compensation is canceled with G40.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-80 Tool Compensation MTC 200 NC programming instruction
Tool Path Correction G41, G42 Behind and Before the Turning Center
Edge O rientation
Edge O rientation
Edge O rientation
Edge O rientation
G 41
G 41
G 42
G 42
G3
G3
G2
G2
G2
G2
G3
G3
before the turning center
behind the turning center
X
X
Y
Y
Z
Z
Edge O rientation
Edge O rientation
Z
Edge O rientation
Edge O rientation
G 42
G 42
G 41
G 41
G2
G2
G3
G3
G3
G3
G2
G2
X
528G4142.FH7
Fig. 5-49: Tool path correction G41, G42 with machining behind and before the
turning center
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-81
Y
P6
100
P2 P1
80
P8
P11
60
P7 P12 P5
40 P10
P9
P3
20
528G42.fh7
P4
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-82 Tool Compensation MTC 200 NC programming instruction
Syntax G43
• G43 is the power-on state. It is modally active until it is overwritten by G44.
• G43 can be activated only via G41 or G42. G43 has no effect if tool
path compensation (G40) is canceled. G43 is reset automatically at
the end of the program (RET) or by the BST command.
• If an arc is inserted via G43 as a contour transition, the CNC auto-
matically generates an additional transition NC block. This NC block is
considered to be an independent NC block, and must be started
separately in "Single block" processing mode.
• The conditions for the insertion of transition elements are described in
the section "Contour transitions".
R S2 ' S2 '
S R
S1 '
S1 '
529Über.fh7
529UEBER.FH7
R: tool radius
S: programmed NC block transition point
S1 ': corrected NC block transition point 1
S2 ': corrected NC block transition point 2
Fig. 5-51: Inserting an arc transition element
Syntax G44
• A chamfer as a transition element can be used only for transitions
between two straight lines. With all other transition pairs, an arc is
automatically used as a transition element, even if G44 is active.
• After it is selected, a G44 remains modally active until it is cancelled by
G43 or until it is automatically reset at the end of the program or by
BST. G44 can be activated only via G41 or G42. G44 has no effect if
tool path compensation (G40) is canceled.
• If a chamfer is inserted via G44 as a contour transition, the CNC auto-
matically generates an additional transition NC block. This NC block is
considered to be an independent NC block, and must be started
separately in "Single block" processing mode.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-83
R
R S2 '
S
S1 '
R = tool radius
S = programmed NC block point
S1 ' = corrected block transition point 1
S2 ' = corrected block transition point 2
S'
S R
530FEin.fh7
R = tool radius
S = programmed NC block point
S' = corrected block transition point
530FEIN.FH7
Syntax G98
• G98 is the power-on state. It is modally active until it is overwritten by
G99. G98 can be activated only via G41 or G42. G98 has no effect if
tool path compensation (G40) is canceled. G98 is reset automatically
at the end of the program (RET) or by the BST command.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-84 Tool Compensation MTC 200 NC programming instruction
Syntax G99
• After it is selected, G99 remains modally active until it is canceled by
G98 or until it is automatically reset at the end of the program (RET) or
by BST. G99 can be activated only via G41 or G42. G99 has no effect
if tool path compensation (G40) is canceled.
Z+
Programmed
Z-value
531inaktiv.fh7
531INAKTIV.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-85
Tool Length
Z+
Programmed
532aktiv.fh7 Z-value
32AKTIV.FH7
Syntax G47
• Depending on the settings in the process parameters, G47 may be the
power-on default. G47 remains modally active until it is canceled by
G48 or G49.
• G47 is set automatically depending on the setting in the process pa-
rameter after the controller is turned on, after an NC program is
loaded, after a BST, RET or control reset.
Syntax G48
• Depending on the settings in the process parameters, G48 may be the
power-on default. G48 remains modally active until it is canceled by
G47 or G49.
• G48 is set automatically depending on the setting in the process pa-
rameter after the controller is turned on, after an NC program is
loaded, or after a BST, RET or control reset.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-86 Tool Compensation MTC 200 NC programming instruction
Syntax G49
• G49 remains modally active until it is canceled by G47 or G49, or until
it is automatically reset at program end (RET), by BST or by control
reset.
• G49 only acts on L3. When applied to L1 and L2, G49 acts as G48,
and thus accounts for the tool length positively.
Syntax The individual data elements are addressed by means of codes. Depen-
ding on both types of addressing ...
• addressing via location and magazine (A=0)
• addressing via tool number and tool duplo number (A=1) ...
both variants of TLD command are possible:
P A S/T L/D E D S
TLD([0..6], [0], [0..3] ,[1...999],[0..9],[1..35],[1..32])
TLD([0..6],[1],[1..9999999],[1...999],[0..9],[1..35],[1..32])
Status
Data element
Edge
Location / Index no.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-87
V23_20030319
TLD addressing via location and magazine type
Designation Symbol Value range / meaning
Process P 0-6 Process number
Group duplo
GD Not relevant Not relevant
number
V23_20030319
TLD addressing via tool and duplo number
Designation Symbol Value range / meaning
Process P 0-6 Process number
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-88 Tool Compensation MTC 200 NC programming instruction
5.10 D corrections
D corrections are additional to the tool geometry data active registers. D
corrections act additionally to the existing geometry registers L1, L2, L3
and R. 99 D corrections are available for each of the 7 processes. Each D
correction contains the L1, L2, L3 and R registers. The values of the D
correction registers can be assigned using the CNC operator interface.
D corrections act like the geometry data in the tool management system.
D corrections can be used when tool management is present, for example
as tool reference point offset registers. If tool management is not defined
with a CNC process, the D corrections themselves can be used in place
of tool management for simple applications. The D correction functions
like correction type 4 in tool management. An edge orientation cannot be
defined in the D corrections.
Programming If the D corrections are selected in a movement block, they will be used in
the same NC block for the calculation of the new position.
Example:
L2 L3 L1
R
L3 L1 R L2
L1 X L2 X L3 X
R
533dkorr.fh7
Z Z Z
533Dkorr.FH7
Geometry registers L1, L2 and L3 are not used for compensation unless
tool length correction G48/G49 is active. Geometry register R is used for
compensation only when tool path compensation G41/G42 is active.
If tool management is active for a selected machining tool and a D cor-
rection is also active, then the tool lengths and the radius are calculated
as follows:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Tool Compensation 5-89
Using D corrections
Correction values :
Werkzeuggeometriewerte
Tool geometry values
Correction type 1
Edge orientation 0
Length L3 241
Wear L3 0
Offset L3 0
Length L1 70.4
Length L2 0
L1 of
D-Correction 10 Length L3 34.6
Radius 0
70.4 mm
534Dwerk.fh7
34.6 mm 241 mm
L3 of Length correctionL3
D-Correction10
534DWERK.FH7
The maximum value which can be entered via the GUI for geometry reg-
isters L1, L2, L3 and R is entered in the process parameters.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
5-90 Tool Compensation MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Auxiliary Functions (S, M, Q) 6-1
Note: If an auxiliary function has been output to the PLC, block proc-
essing stops until the function is acknowledged. Thus, pro-
gramming an auxiliary function which is not defined in the PLC
program will block further program execution. Programming
auxiliary functions temporarily stops block processing. Func-
tions such as G08 (velocity-optimal NC block transition) will be
interrupted.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
6-2 Auxiliary Functions (S, M, Q) MTC 200 NC programming instruction
Organization of M functions in
function groups
1 Program control commands M000, M001, M002, M030
2 Spindle control commands Spindle 1 M003, M004, M005, M013, M014
2 Spindle control commands Spindle 1 M103, M104, M105, M113, M114
3 Spindle control commands Spindle 2 M203, M204, M205, M213, M214
4 Spindle control commands Spindle 3 M303, M304, M305, M313, M314
5 Coolant and lubricant Spindle 1 M007, M008, M009
5 Coolant and lubricant Spindle 1 M107, M108, M109
6 Coolant and lubricant Spindle 2 M207, M208, M209
7 Coolant and lubricant Spindle 3 M307, M308, M309
8 Clamp and unclamp Spindle 1 M010, M011
8 Clamp and unclamp Spindle 1 M110, M111
9 Clamp and unclamp Spindle 2 M210, M211
10 Clamp and unclamp Spindle 3 M310, M311
11 Gear range selection Spindle 1 M040, …, M045
11 Gear range selection Spindle 1 M140, ..., M145
12 Gear range selection Spindle 2 M240, ..., M245
13 Gear range selection Spindle 3 M340, …, M345
14 Spindle override M046, M047
15 Feed override M048, M049
16 Blockwise active M functions as well as all M func- M019, M119, M219, M319
tions defined by the machine builder Mxxx
Fig. 6-1: Organization of M functions in function groups
Note: If more than one gear range is activated in the axis parameters,
the M functions will no longer be available for general use.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Auxiliary Functions (S, M, Q) 6-3
Conditional stop M001 M001 acts like M000 when the interface signal "Conditional stop"
(PxxC.M01) is set by means of a machine control key. The NC evaluates
the interface signal "Conditional stop" after acknowledging the auxiliary
function.
End of NC program M002 / M030 M002/M030 act like the RET command. In addition, the NC sends the
currently programmed auxiliary function to the PLC. Both auxiliary func-
tions communicate the end of program to the PLC by resetting the NC
program to the start of the program. The NC thus establishes the power-
on state. After M002 or M030 are performed, all subroutine levels and all
reverse vectors are cleared and the NC controller is in the initial state in
the main program level.
Mx05 Spindle stop Shut off spindle and shut off supply of coolant/lubricant.
Mx13 Spindle clockwise and Turn on spindle rotation in the clockwise direction and turn on cool-
coolant/lubricant ON ant/lubricant supply if the required switching functions are defined in the
PLC program.
Mx14 spindle counterclockwise Turn on spindle rotation in the counterclockwise direction and turn on
and coolant/lubricant ON coolant/lubricant supply if the required switching functions are defined in
the PLC program.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
6-4 Auxiliary Functions (S, M, Q) MTC 200 NC programming instruction
Spindle Positioning
Function M19 S... allows the primary spindle to be stopped in a defined
position. The angular position is programmed in degrees at address S.
The primary spindle can be positioned while not turning as well as while
turning.
• The NC block is only processed completely after Mx19 has been ac-
knowledged by the PLC, when the spindle has reached the program-
med end position.
• If Mx19 is programmed without an S word, an error will be issued
when the program is executed.
• Function Mx19 is possible only with primary spindles that are able to
be positioned.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Auxiliary Functions (S, M, Q) 6-5
Gear Changes
If the quantity of gear steps is larger than 1 in the axis parameters of the
CNC for one of the spindles, then M function groups 11-13 are reserved
for control internal function of the CNC.
M functions for gear changes and their corresponding function groups:
11 Gear range selection Spindle 1 Mx40, ..., Mx44
(x=0 or 1)
12 Gear range selection Spindle 2 M240, ..., M244
13 Gear range selection Spindle 3 M340, …, M344
6.4 Q Function
A self-defined auxiliary function in the PLC program with address letter Q
and a whole-number constant of up to 4 digits and without a posi-
tive/negative sign can be called by the user. The numerical range for this
constant is 0 to 9999.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
6-6 Auxiliary Functions (S, M, Q) MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Events 7-1
7 Events
Description NC events are binary variables which can be used by the NC program
and which, like flags in the PLC program, represent any desired state
defined by the programmer. NC events can be set and reset as desired in
the NC and PLC programs. Waiting for a defined state in an NC event
can synchronize processes.
Therefore, please refer to the machine builder's information regarding
events influenced by the PLC program since the builder may have used
various NC events for synchronization purposes.
The status of the NC event is retained after powering down. Before NC
events are used in an NC program, they should be placed in a defined
state.
Process events (0-6) 32 events are assigned to each process. By addressing with the process
number, all 224 NC events can be used in a process, regardless of whether
the process itself is defined. An NC event is identified by the process to
which it belongs (process number) and by the NC event number. Interrupt-
controlled program branches can be performed with the assistance of proc-
ess events. These topics are described in section 7.4 "Asynchronous han-
dling of events", page 7-5. If an event type is not indicated, the process de-
faults to the process in which the NC event is programmed.
External events (X) 32 external events are available; these are exchanged with the PLC in a 2ms
cycle. These events can be used to carry out fast I/O selection of the 2ms
implementation (see "PLC Programming Instructions", section 11.3) of the
PLC. In the PLC, these events are to be addressed using process number 7
with the event functions.
Peripheral events (P) For peripheral events, 32 outputs and 32 inputs are available; these are
exchanged with the PLC in a 2ms cycle. These events are mapped on a
physical input and output area of the PLC. Write event functions set
%IBP0 peripheral inputs of the PLC, while read event functions evaluate
the %QBP0 peripheral outputs of the PLC.
The write functions are:
SE P:<ev. no.>, RE P:<ev. no.>, EVENT(P,<ev. no.>)=...
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
7-2 Events MTC 200 NC programming instruction
The following table shows how the write events are assigned to the inputs
in the PLC:
The following table shows which PLC outputs correspond to the read
events:
Event number • If the symbol "*" is declared instead of event number 0-31, all the NC
events in the given process / event type are addressed.
• If the symbol "*" is declared instead of the NC event number, all the
NC events in the given process are addressed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Events 7-3
• If the symbol "*" is declared instead of the NC event number, all the
NC events in the given process are addressed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
7-4 Events MTC 200 NC programming instruction
At the beginning of both NC programs, all events for the given process
are reset. NC program process 2 stops the block process in line 3 until
NC program process 1 in line 6 has set event No. 1.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Events 7-5
Example:
BES .WAIT 1:* - jumps to label WAIT when all events in process 1 are set.
Example:
BER .WAIT 1:* - jumps to label WAIT when all events in process 1 are
reset.
Example:
At the beginning of both NC programs, all events for the given process
are reset. If event 15 is set in process 1 before process 2 has reached
line 3, then process 2 continues its processing at branch label .WAIT.
Otherwise, the process is continued in line 4.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
7-6 Events MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Events 7-7
.LOOP1
JEV .LEAVE 0 ;If event 0 is set, jump to routine "Empty"
Q456 ;Message to PLC: Emptying can be initiated
CEV 0 ;Clear event monitoring
.........
.LEAVE ;Routine for emptying the machine
After the branch from the subroutine, block preparation is resumed at the
beginning of the interrupted NC block so that this block is now completely
processed to ensure that all the functions of the interrupted block are
performed. This can lead to unexpected results with incremental pro-
gramming and incremental variable programming (@01=@01+3).
• The portion of the NC program which is processed as a subroutine
must be terminated upon the branch back from the subroutine. Moni-
toring of the triggered event and lower-priority events is resumed
automatically.
• Repeating the assignment of a branch label to an event using the BEV
command overwrites the previous assignment as well as any different
branching behavior defined using the JEV command "Branch to sub-
routine if event is set".
• The PLC program can also influence events.
Therefore, please refer to the machine builder's information since the
builder may have used various events for synchronization purposes.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
7-8 Events MTC 200 NC programming instruction
Syntax DEV
Syntax EEV
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Events 7-9
Y
100
40
71events.fh7
20
20 40 60 80 100 X
71EVENTS.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
7-10 Events MTC 200 NC programming instruction
Syntax @<Var>=EVENT([<proc.no.0-6>|@<var>],<ev.no.031>|*|expression)
@<variable>=EVENT(X,<event No.0-31>|*|expression)
@<variable>=EVENT(P,<event No.0-31>|*|expression)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Events 7-11
Syntax EVENT([<proc.no.0-6>|@<var>],<ev.no.0-31>|*|express.)=express.
@<variable>=EVENT(X,<event No.0-31>|*|expression)
@<variable>=EVENT(P,<event No.0-31>|*|expression)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
7-12 Events MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-1
8.1 Conditions
Default Plane
A Cartesian coordinate system is a prerequisite to utilize the tool corrections
properly. At least one of the three primary axes must exist physically.
Depending on the application,
• one of the axes (e.g. drilling unit),
• two of the axes (e.g. lathe) or
• all three axes (e.g. milling machines) can exist physically.
Irrespectively of the actual number of axes, one of the three machining
planes
• XY (G17, G20),
• ZX (G18, G21) and
• YZ (G19, G22)
can be selected.
With the functions for free plane selection (G20, G21, G22), any axis
designation can be assigned to the axis meanings which define a machi-
ning plane.
Tool length compensation "L3" always works perpendicularly to the machi-
ning plane. Length compensations "L1" and "L2" and the tool edge radius /
cutter radius compensation always act within the machining plane.
R
R R
L2 L3 L1
L3 X L1 X L2 X
L1 L2 L3
Z Z Z
Ebene.FH7
Fig. 8-1: Effect of tool corrections "L1", "L2", "L3" and "R" as a function of the
selected machining plane
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-2 NC Functions to Control Tool Management MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-3
CNC
magazine
NC TM tool preselection
NC program oll
ed T12
ntr
-co 10 9 8 7
. NC
T12 MTP PLC 11 6
. PL
C-
co
. ntr
oll 12 5
ed
. MMV
1 2 3 4
.
.
gripper
.
. MMV_Q
. : occupied
MRY : free spindle 1
.
.
.
. loading tool
.
TMS 1 12 11 10
. TMS 2 9
.
.
. 3 8
. 4 5 6 7
.
.
TMS_Q gripper
.
.
M30 : occupiedT12
: free spindle 1
cnc2.FH7
Fig. 8-2: Preselecting tools and preparing tool data for a magazine
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-4 NC Functions to Control Tool Management MTC 200 NC programming instruction
Preparing a tool Tool changing commands "TCH" or "TMS" (see also the section "Tool
changing commands of the NC") are used for transferring the preselected
tool into the spindle and for providing the tool data. In this process, the
preselected tool becomes the active tool. In the default selection, tool
edge 1 becomes the active tool edge.
CNC
turret
NC TM loading tool
lled
NC program n tro
-co
. NC
T831 MTP PLC T238
reference
PL mark
. C-
co
ntr T91
. oll
ed
. MMV T125
1
2
3
T254
. 8 4
+
. T831 7 5
6
T121
.
MMV_Q
. T238
MRY
.
.
.
534DWERK.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-5
The call "T0 MTP" does not bring about a turret movement; the tool data
are merely deselected.
In the case of nonexistent turret locations, the T command may activate
an additional tool zero offset (see the "Bosch Rexroth MTC 200 tool ma-
nagement" description, section 3-27).
Asynchronous turret movements The following parameter value selection is necessary for swiveling the
turret asynchronously to the NC program execution:
• A00.052 Tool management: YES
• Bxx.014 Tool management: YES
• Bxx.015 Type of tool storage: Turret
• Bxx.044 Asynchronous turret movement: YES
Furthermore, the default PLC function "REV_SYNC" (synchronous swiv-
eling of the turret; see "Bosch Rexroth MTC 200 PLC interface descrip-
tion") must not be active.
If the above-mentioned conditions are satisfied, NC command "MFP",
"MTP", "MMP", "MOP", "MHP" or "MRF" can be used for initiating the tur-
ret movements. While the turret is swiveling, the NC continues program
execution. Using the MRY command or activating the "REV_SYNC" stan-
dard PLC function permits the turret swivel movements and NC program
execution to be synchronized.
The activation of the tool compensation values depends on the setting of
parameter Bxx.057 "Activate tool correction for turret".
The following table illustrates the effect of the parameter settings. The
following NC program sequence is discussed:
• G1 - ; Axis movements with T1 E1 as the active tool
• T2 ; Preselection of the T2 tool
• MTP ; Move programmed tool into position
• E2 ; Activating tool edge E2
• MRY ; Wait until tool storage movement is terminated
Behavior
NC pro- synchronous asynchronous
gram se- Activation of tool com- Activation of tool com- Activation of tool com- Activation of tool com-
quence pensation at start pensation at end pensation at start pensation at end
Active Presel. Active Presel. Active Presel. Active Presel.
G1 - T1 E1 T1 T1 E1 T1 T1 E1 T1 T1 E1 T1
T2 T0 E0 T2 T0 E0 T2 T0 E0 T2 T0 E0 T2
MTP T2 E1 T2 T2 E1 T2 T2 E1 T2 T0 E0 T2
E2 T2 E2 T2 T2 E2 T2 T2 E2 T2 T0 E2 T2
MRY T2 E2 T2 T2 E2 T2 T2 E1 T2 T2 E1 T2
Revolver.xls (Tabelle 2)
Note: Due to the dual function (spindle and turret axis) of these
axes, asynchronous turret movements are not possible with
"Combined spindle/turret axes".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-6 NC Functions to Control Tool Management MTC 200 NC programming instruction
Additional tool carrier Alternatively to the MTP command, command "SPT <spindle number>"
can also be used to select an additional tool carrier. After selection, the
st
tool with the 1 edge is active; the offset of the new machine zero point is
taken into account. This offset is also calculated when tool compensation
(G47) is inactive and is taken into account in the determination of the
spindle speed for the constant surface speed (G96).
A detailed description of the processing of additional tool carriers can be
found in the description "Bosch Rexroth MTC 200 tool management",
section 4-16.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-7
Meaning Use the NC command "TG <group>" to preselect a tool group as a machi-
ning group. The active group can be read with "@<var>=TG". In an unpa-
rameterized group, the CNC reports error 322 "Invalid function". Af-
ter activation or a control reset, the controller automatically preselects
group 0.
Examples N0333 TG3 T19 ;activation of tool group 3 as the current machining
group with simultaneous tool preselection
N1299 @101=TG ;read out the active tool group number
Meaning The tool search mode, as well as the implicit group activation when the T
word is entered, can be influenced with NC command "TGSM=<mode>".
The mode can be reread with "@<var>=TGSM". After activation or a con-
trol reset, the controller automatically preselects tool search mode 0.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-8 NC Functions to Control Tool Management MTC 200 NC programming instruction
Changing Tools
The process of changing tools is initiated by NC commands.
In most cases, changing tools also requires motions and activating / de-
activating G codes. Thus, the entire program sequence should be com-
bined in a subroutine or a cycle. This reduces the programming effort in
the main program to selecting the tool via the T command and invoking
the tool changing subroutine.
Using a macro provides an elegant solution of the tool changing invocation:
Macro: DEFINE M6 AS BSR .M6
Thus, invoking "T<XX> M6" initializes a tool change in the NC program. The
changing process proper is then programmed from the label ".M6" onwards.
Example: NC program:
•
•
•
N0047 T12 M6 ; invoke "Change tools"
N0048 G54 G0 X123 Y45 F350
•
•
•
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-9
Note: Please refer to the "Bosch Rexroth MTC 200 tool management"
documentation, "Sample applications" section for examples of
programming tool storage units (magazines and turrets).
MFP Move free pocket into change Syntax: MFP (POS, DIR)
position
POS: Position to be moved to
Move next Free Pocket in Position
DIR: Direction of rotation
MOP Move old pocket into position Syntax: MOP (POS, DIR, SPI)
POS: Position to be moved to
DIR: Direction of rotation
SPI: Spindle
Move Old Pocket in Position
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-10 NC Functions to Control Tool Management MTC 200 NC programming instruction
reference mark
8 7 6 5
9 reference 4
cam
10 3
11 12 1 2
: occupied
Syntax MHP
MHP(DIR)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-11
Optionally, you can enter the direction of the movement to the home posi-
tion. The controller chooses the shortest way if a direction is not specified.
The distance is specified using the following drive parameters:
• Reference dimension 1 (S-0-00052) with motor measuring system
• Reference dimension 2 (S-0-00054) with external measuring system
With a PLC-controlled tool storage unit, tool management transfers "Loca-
tion 1" (PLC interface signal "PxxS.MGCP Command magazine position")
to the PLC. Using the "MMV" function, the PLC then moves to the home
position and brings "Location 1" to the reference mark.
reference mark
reference cam
10 9 8 7
11 6
12 5
1 2 3 4
: occupied
The CNC does not wait until the tool storage unit has reached the home
position. It continues to process the NC program while the tool storage
move is being carried out.
If this is not desired, the "MRY" command can be used to halt execution
of the NC program until the tool storage motion is completed.
Syntax MTP
MTP(POS)
MTP(POS,DIR)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-12 NC Functions to Control Tool Management MTC 200 NC programming instruction
Optionally, the position into which the selected tool is to be brought and the
direction to be taken when the tool is moved to the specified change posi-
tion can also be declared.
Tool management chooses the shortest way and "Position 1" if neither di-
rection nor position is specified.
"Tool edge 1" of the tool automatically becomes the active tool edge.
If the tool storage unit contains several tools of the same name and the
same "T number" (alternate tools), tool management automatically selects
the tool to which the "Machining tool" status is assigned.
With machines that feature a tool magazine, which can be positioned
during the machining process, the "MTP" command is frequently used for
prepositioning the magazine.
"MTP" is usually programmed in the NC program together with the tool
preselection "T<XX>" immediately after changing the previous required
tool. In this way, the next tool is brought into the tool changing position
while the process is running.
In particular, this command is employed for tool changers with dual arm
grippers where the previously used tool is to be stored in the magazine
pocket from which the new one is taken.
Like "MFP", the "T0 MTP" command moves the next free location to the
specified position.
The CNC does not wait until the tool storage unit has completed its motion. It
continues to process the NC program while the move is being carried out.
If this is not desired, the MRY command can be used to halt execution of
the NC program until the tool storage motion is completed.
An additional tool carrier for tool storage type "Turret" is also selected with the
T number and the MTP command; however, the turret is not positioned. After
st
selection, the tool with the 1 edge is active; the offset of the new machine ze-
ro point is taken into account. This offset is also calculated when tool compen-
sation (G47) is inactive and is taken into account in the determination of the
spindle speed for the constant surface speed (G96).
A detailed description of the processing of additional tool carriers can be
found in the documentation "Bosch Rexroth MTC 200 tool management",
section 4-18.
T238
reference T121 reference
mark mark
T91
T254
T125 2 T91 MTP(2,2) 5
1 3 4 6
T254 + T238
POS2 8 4 POS1 POS2 3 7
+ T91 POS1
T831 7 5 2 8
6 1
T121
T831
T238 T238
T125
MTP.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-13
Syntax MMP
MMP(POS)
MMP(POS,DIR)
Note: When used with the T-word, the "MMP" command refers ex-
clusively to locations and not to tools. For this reason, if tools
are called according to the position using MMP, any spare
tools which are present are ignored during a process unless
they are explicitly programmed in the NC program with the aid
of the T word and the corresponding pocket number.
The CNC does not wait until the tool storage unit has completed its mo-
tion. It continues to process the NC program while the move is being car-
ried out.
If this is not desired, the MRY command can be used to halt execution of
the NC program until the tool storage motion is completed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-14 NC Functions to Control Tool Management MTC 200 NC programming instruction
POS3 T238
reference POS3 T254 reference
mark mark
T91 T121
MMP.FH7
Bxx.044
Turret movement "Asynchronous turret movement"
NO Yes
Input
synchronous asynchronous
ACTIVE = 0
REV_SYNC
Input
synchronous synchronous
ACTIVE = 1
Bxx044_REV_SYNC_V22_20030218.xls
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-15
Syntax MMA
MMA(POS)
MMA(POS,DIR)
The CNC does not wait until the tool storage unit has completed its mo-
tion. It continues to process the NC program while the move is being car-
ried out.
If this is not desired, the MRY command can be used to halt execution of
the NC program until the tool storage motion is completed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-16 NC Functions to Control Tool Management MTC 200 NC programming instruction
Syntax MFP
MFP(POS)
MFP(POS,DIR)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-17
loading loading
position position
10 9 8 7 1 12 11 10
11 + 6 2 + 9
POS 1 MFP(2,1) POS 1
POS 2 POS 2
12 5 3 8
1 2 3 4 4 5 6 7
gripper gripper
reference mark reference mark
: occupied
: free
spindle 1 spindle 1
MFP.FH7
Syntax MOP
MOP(POS)
MOP(POS,DIR,SPI)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-18 NC Functions to Control Tool Management MTC 200 NC programming instruction
If this command is used consistently, all tools will be returned to the pock-
ets in which they were located before they were used in the machining
process. This keeps the tool storage unit in an orderly condition. This is
desirable, for example, when extra-wide tools always have to be stored in
the same magazine pocket.
The CNC does not wait until the tool storage unit has completed its motion. It
continues to process the NC program while the move is being carried out.
If this is not desired, the MRY command can be used to halt execution of
the NC program until the tool storage motion is completed.
Example:
The tool (T256) in "Spindle 1" is to be returned to its old pocket in the
magazine. This requires the old pocket to be moved to "POS 2". Due to
the fact that the magazine may only be turned in the positive direction, the
turning direction is declared as "1".
Declare "Position 2" for POS, a positive turning direction for DIR and the
first spindle for SPI.
old location
of T256
loading loading
position position
10 9 8 7 4 3 2 1
11 + 6 5 + 12
POS 1 MOP(2,1,1) POS 1
POS 2 POS 2
12 5 6 11
1 2 3 4 7 8 9 10
gripper gripper
reference mark reference mark
: occupied
T256
: free
spindle 1 spindle 1
MOP.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-19
MTP (2,0) ;Move programmed tool to "POS 2" along the shortest path
MRY ;Wait until position 2 is approached
•
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-20 NC Functions to Control Tool Management MTC 200 NC programming instruction
the program is executing and continuing to the next "MEN", "BST", "RET" or
control reset.
Machine data entries The machine data page contains one absolute axis position each
• for positions P1-P4 (control variable LV1 = -1 to -4),
• for the position of home position (MHP command) (LV1 = 0),
• for all n magazine locations (LV1 = 1-n).
Effect on jogging the tool axis If nonuniform tool pocket distribution has been activated using process
parameter Bxx.072 "Page No. for variable positions", the jogging of tool
axes refers to one of the four change positions P1-P4. For more informa-
tion, see section "Magazine jogging operating mode in case of variable
tool pocket distribution "PxxC.MGJGn"" in the "Bosch Rexroth MTC 200
interface description".
Notes:
• The nonuniform spacing function is not available when a
combined spindle/revolver axis or PLC-controlled tool sto-
rage units are used.
• When nonuniform pocket distribution is activated for NC-
controlled tool turrets, parameters Bxx.021-Bxx.024 "Po-
sition 1-4" no longer have an effect.
• Only the magazine position approached using a tool sto-
rage movement command (e.g. MTP, MMP, jogging) is a
valid position (P1-P4) for the tool change.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-21
CNC
SPS
NC WZM PLC
NC program
TMS
TMS
.
.
XMS
tool mgmt.
checks
requested
tool transfer
of PLC
XMS_PA
XMS_NA
XMS_Q
tool mgmt.
performs XMS_CA
requested tool
transfer of PLC
tool mgmt.
aborts TMS_Q
requested tool
transfer of PLC
CNC1.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-22 NC Functions to Control Tool Management MTC 200 NC programming instruction
SPI: Spindle
Werkzeugbefehle_NC3_V22_20030122.xls
Syntax TCH
TCH(POS)
TCH(POS,SPI)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Functions to Control Tool Management 8-23
Syntax TMS
TMS(POS)
TMS(POS,SPI)
Syntax TSM
TSM(POS)
TSM(POS,SPI)
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
8-24 NC Functions to Control Tool Management MTC 200 NC programming instruction
Before "TSM" is called, a tool must be present in the tool spindle and the
magazine must have an empty location at the specified change position.
This command is needed for single-arm gripper systems or for gripper-
less tool changers if the change operation has to be divided into a pick-
and place-sequence.
The "TPE" command checks whether the magazine or turret location that
is currently at "Position 1" is empty.
If this is the case, tool management immediately continues program exe-
cution. Otherwise, program execution is stopped and an error message is
generated.
Using this command permits collisions to be avoided when a tool is
stored. The command must be used in the storage sequence of the tool
changing subroutine before a movement is performed.
Note: The "TPE" command always refers to the location at "Position 1".
The "TSE" command checks whether the tool location that is currently in
"Spindle 1" is empty.
If this is the case, tool management immediately continues program exe-
cution. Otherwise, program execution is stopped and an error message is
generated.
Using this command permits collisions to be avoided when a tool is
stored. The command must be used in the storage sequence of the tool
changing subroutine before a movement is performed.
Note: The "TSE" command always refers to the location at "Spindle 1".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-1
MTC200 station 1
External External External External External
Mechanism Mechanism Mechanism Mechanism Mechanism
7 8 9 10 11
MTC200 station 2
External External External External External
Mechanism Mechanism Mechanism Mechanism Mechanism
12 13 14 15 16
MTC200 station 3
External External External External External
Mechanism Mechanism Mechanism Mechanism Mechanism
17 18 19 20 21
MTC200 station 4
External External External External External
Mechanism Mechanism Mechanism Mechanism Mechanism
22 23 24 25 26
91Proz.fh7
MTC200 station 5
External External External External External
Mechanism Mechanism Mechanism Mechanism Mechanism
27 28 29 30 31
91PROZ.FH7
In addition to the master process, the CNC can control six additional pro-
cesses and up to 25 external mechanisms.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-2 Process and Program Control Commands MTC 200 NC programming instruction
Syntax DP <process> ⇒ DP 2
DP <variable>
Process[0-6] internal processes
Process[7-31] external mechanisms
All other process control commands will not be accepted unless the cor-
responding process was previously defined using DP.
• The DP command can be used more than once in an NC block. A
number of processes can be defined simultaneously in an NC block.
• The definition of a process using DP is canceled at the end of the pro-
gram.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-3
Syntax RP <process> ⇒ RP 4
RP <variable>
Process[0-6] internal processes
Process[7-31] external mechanisms
Syntax AP <process> ⇒ AP 1
AP <variable>
Process[0-6] internal processes
Process[7-31] external mechanisms
Syntax WP <process> ⇒ WP 5
WP <variable>
Process[0-6] internal processes
Process[7-31] external mechanisms
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-4 Process and Program Control Commands MTC 200 NC programming instruction
Syntax LP <process> ⇒ LP 4
LP <variable>
Process[0-6] internal processes
Process[7-31] external mechanisms
This command can be used, for example, to specify that a station which is
not needed for machining can be turned off or that it must be in a specific
position so as not to endanger ongoing work.
• Stations which are locked using LP cannot be operated manually,
even though they might not be involved in the programmed work.
• Process control command LP is reset at the end of the program by
RET, BST or by control reset.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-5
...
.FEHLP2 Error handling process, error process 2
...
.HOME Branch label for the .HOME program
DP 1 DP 2 Definition of processes 1 & 2
SP 1 15 Program preselection, program 15 in process 1
SP 2 15 Program preselection, program 15 in process 2
RP 1 RP 2 Start reverse program in processes 1 & 2
WP1 WP 2 Wait until both processes have completed their
programs
BST .START Jump with stop to label .START
PROGRAM END
Syntax POK
If the POK command is programmed in process 0, the PLC signal is not
set to 1 until all processes defined by means of DP (including the external
mechanisms) have already processed the POK command.
• The signals for the POK command are reset at the end of the pro-
gram by RET or BST or by a control reset.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-6 Process and Program Control Commands MTC 200 NC programming instruction
Syntax Free axis <axis name> in the process in which the axis is located.
FAX (<axis name>) ⇒ FAX (Y)
Get axis <axis name> from the process defined in the command pa-
rameter.
GAX (<process>:<axis name>) ⇒ GAX (1:Y)
• The primary process must always be stated when specifying the pro-
cess for the GAX command. If the axis is called from the primary pro-
cess via GAX, it is not necessary to state the process number.
An axis transfer will not occur until the process in which the axis is cur-
rently located and is called by a different process frees the axis. The pro-
cess which gets the axis (GAX) must wait until the other process frees the
axis (FAX). Likewise, the process which frees the axis waits until a differ-
ent process gets the axis. This prevents the axis from assuming a "lost"
state.
Transferable axes are displayed in the position display of each process in
which they can be present.
If a transferable axis is located in the indicated process, the complete axis
data set is displayed for this axis. On the other hand, if the axis is cur-
rently assigned to a different process, two dashes are displayed instead of
the position and speed data.
• All axes in the CNC – with the exception of the magazine and turret
axes – can be transferred between the processes.
• The transfer from one process to another can only take place at an
NC block transition. NC block processing is stopped and is not con-
tinued until it is certain that the override value for the new process is
active for the axes.
• Rotary and linear axes can be transferred between processes only
when they are stopped.
• Spindles can also be transferred between the processes at the speci-
fied spindle speed. However, spindle-dependent feed modes such as
"feed per turn" are deactivated when spindles are transferred.
• The axis continues to be assigned to the primary process, even after
the axis is transferred to a secondary process. Thus, axis errors and
their diagnostic messages are displayed in the primary process.
• All axes belonging to a different primary process are freed at the end
of the program by RET ,M02, M30 or BST or by a control reset and by
jogging axes in setup mode; all axes in a different process are re-
quested (get).
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-7
Z Y
B B
92achsü.fh7
X
92ACHS.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-8 Process and Program Control Commands MTC 200 NC programming instruction
Process 0 - Processing
RE 1:10 Reset events for jump loops in process
RE 2:10 1+2
T1 BSR .M6 Tool change, 1st tool
[right side]
GAX (1:B) Get B axis from process 1
SE 1:9 Process 1 is interrupted up to this NC
block
WER 1:9 Wait until process 1 is synchronous
BSR .BET1 Process right side
[left side]
GAX (2:B) Get B axis from process 2
SE 2:9 Process 2 is interrupted up to this NC
block
WER 2:9 Wait until process 2 is synchronous
BSR .BET1 Process left side
T2 BSR .M6 Change tool, 2nd tool
[right side]
GAX (1:B) Get B axis from process 1
SE 1:9 Process 1 is interrupted up to this NC
block
WER 1:9 Wait until process 1 is synchronous
BSR .BET2 Process right side
[left side]
GAX (2:B) Get B axis from process 2
SE 2:9 Process 2 is interrupted up to this NC
block
WER 2:9 Wait until process 2 is synchronous
BSR .BET2 Process left side
M03 S1000
;machining
Release B axis
M05 Process subroutine 1 end
FAX (B) Process program 2nd tool
RTS
.BET2 Process subroutine 2 end
Enable B-axis
End of machining subroutine 1
Machining program of 2nd tool
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-9
Syntax RET
After the RET command is performed, all subroutine levels and their re-
verse vectors are cleared and the controller is in the initial state of the
main program level.
• In terms of its function, RET is comparable to the M002/M030 func-
tions defined in DIN 66025.
Syntax HLT
If a message is to be output for the HLT command, note that the mes-
sage must already be programmed in an NC block before the HLT com-
mand. The reason for this is that the HLT command is executed ahead of
a message in the standard order in which NC commands are carried out
(see Chapter "Elements of an NC block").
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-10 Process and Program Control Commands MTC 200 NC programming instruction
9.4 Subroutines
Subroutine Technique
When workpieces are being machined, it is sometimes necessary to re-
peat a given operation a number of times. This operation could be pro-
grammed as a subroutine so that similar processing sequences could be
called up repeatedly. This subroutine could be called from any point in the
NC machining program as a complete function module.
Subroutines are organized in the CNC based on the following structure.
N C P ro g ra m Me m o ry B
N C P ro g ra m Me m o ry A
N C P ro g ra m 0 4
Adva n ce P ro g ra m
N C C ycle Me m o ry
Reve rse P ro g ra m P ro g ra m N o . 9 9 P ro g ra m N o . 0
Bo sch Re xro th
Use r C ycle s a n d a n d Ma chin e
S u bro u tin e s o f the S u bro u tin e s Bu ilde rs
Adva n ce a n d Reve rse S u bro u tin e s a n d
P ro gra m C ycle s
3NCORG.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-11
Subroutine Structure
A subroutine consists of the:
• start of the subroutine,
• NC blocks of the subroutine, and
• end of subroutine
In terms of syntax, the jump label begins with a decimal point followed by
at least one and no more than six legal characters. The syntax is NOT
case sensitive. The "∗ " sign following the decimal point is reserved for
Bosch Rexroth fixed cycles.
Subroutine Nesting
A subroutine can be called up from an NC program as well as from a dif-
ferent subroutine. This is referred to as "subroutine nesting."
The CNC allows 10 subroutine nesting levels. This means that subrou-
tines can be nested no more than 9 levels in depth.
9 Nesting Levels
.SR1 .SR2 .SR3 .SR4 .SR5 .SR6 .SR7 .SR8 .SR9
NC Program
Call
95Uscha.fh7
BSR .SR1 BSR .SR2 BSR .SR3 BSR .SR4 BSR .SR5 BSR .SR6 BSR .SR7 BSR .SR8 BSR .SR9
95USCHA.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-12 Process and Program Control Commands MTC 200 NC programming instruction
Syntax RTS
• If a subroutine call did not precede the return from a subroutine (BSR,
JSR), the program will be stopped and an error message will be gen-
erated.
.
BSR .SR1
.
.
BSR .SR1
.
.
BSR .SR1
.
.
RET
.SR1
.
96Uruf.fh7
.
RTS
96URUF.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-13
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-14 Process and Program Control Commands MTC 200 NC programming instruction
Z
Y
X
300/150/50
300/150/-200
10/150/50
Y
Z
N C P rogram S ubroutine
.BO H R RE V .U1
G00 G90 G54 X-200 Y150 Z300 RE V .M1 G0 Z2
X50 RE V .M2 G1 Z-30 F 800
Z10 G0 Z10
BS R .BO H R RTS
X75
BS R .BO H R
...... Reverse Vectors U
M30
.U1G00 Z10 RTS
9 7Re ve rs.fh7
Reverse Vectors M
Global H om ing
.M2G00 Z300
.M1G00 X-200 Y150 Z300 RE T .H O ME
......
if BS R .H O ME instead of RE T RE T
97REVERS.FH7
Note: All reverse vectors (REV) are cleared upon a control reset.
The branch label of the reverse program points to the basic
reverse vector .HOME.
The NC blocks that are defined by the reverse vectors (REV)
are no longer processed. Merely the NC blocks of the basic
reverse vector .HOME are considered.
Example:
; Tool change program
.M6
; install new tool?
.M6_TOL
@0:00=TLD(,0,1,1,0,5,) Read tool no. spindle 1
@0:00=@0:00-T BEQ .M6_T0 Must tool be changed?
; Magazine positioning
BTE .M6_BAC T0 programmed ?
MTP move to programmed location
BRA .M6_TCH
.M6_BAC
MFP Move to free location
; Tool change
.M6_TCH
G40 G47 G53 G90 M9 tool offset OFF, machine zero
point, absolute measure
SE 0:15
G0 Z392 M19 S90 MRY REV .RM6_2 Z axis and spindle in changing pos.
Q1 REV .RM6_3 Close gripper
Q2 REV .RM6_4 Release tool
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-15
A control reset is not possible as long as the event is set (during the exe-
cution of the Q functions). A control reset is possible only after the event
has been reset.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-16 Process and Program Control Commands MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Process and Program Control Commands 9-17
• If the symbol "∗ " is declared instead of the event number, processing
branches to the addressed branch label if all the events in the speci-
fied process are reset.
• The PLC program can also influence events.
Therefore, please refer to the machine builder's information since the
builder may have used various events for synchronization purposes.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
9-18 Process and Program Control Commands MTC 200 NC programming instruction
Overview Table
@10=A-B @10=B-A
A = B BEQ BEQ
A <> B BNE BNE
A < B BMI ---
A <= B --- BPL
A > B --- BMI
A >= B BPL ---
WARNING
Example:
• Remedy:
Depending on the resolution, e.g. 0.01, convert into an integer expression:
@10=INT((51.8-50-1.8)• 1000) BEQ .label works!
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Variable Assignments and Arithmetic Functions 10-1
10.1 Variables
NC variables are used in an NC program to represent a numerical value.
A value can be assigned to an NC variable by the NC program, PLC pro-
gram or from the user interface; the value of the NC variable can be read
accordingly by these programs or by the user interface.
NC variables are identified
• by the address @,
• by optionally stating the process number followed by a colon, and
• by a 1-3-digit number.
256 variables (0 to 255) are available for each of the 7 processes in the
CNC. In theory, a total of 1792 variables are available in the CNC that can
be used regardless of how many processes are defined.
Note: Variables @100 through @199 and @236 through @248 are
already used in the Bosch Rexroth cycles. If the user employs
these variables, they may be overwritten by those cycles.
If the process number is not assigned, then the variable relates to the
process in which the variable was programmed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
10-2 Variable Assignments and Arithmetic Functions MTC 200 NC programming instruction
Variable Assignment
The values of the following addresses can be assigned to the NC vari-
ables of the CNC, or the following values from the CNC addresses can be
written into the NC variables.
Coordinate values of existing The machine coordinates are read into the NC variable when the coordi-
axes nate values are read.
Valid addresses:
X, Y, Z, A, B, C, U, V, W
X[1-3], Y[1-3], Z[1-3], A[1-3], B[1-3], C[1-3], U[1-3], V[1-3], W[1-3]
Feed rate Only the current feed rate (@xx=F) can be read. However, all F values
can be defined, such as G04 F=@9 for a dwell time.
Valid address: F
@24=F Write active feed rate to the NC variable.
F=@25 F value via the contents of the NC variable.
Valid address: P
G50 Z30 P=@29 Angle of rotation P via contents of the variables.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Variable Assignments and Arithmetic Functions 10-3
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
10-4 Variable Assignments and Arithmetic Functions MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Variable Assignments and Arithmetic Functions 10-5
Syntax RAD
DEG
• The unit RAD is the power-on condition and is modally active until the
unit DEG overwrites it. G98 is reset automatically at the end of the
program (RET) or by the BST command.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
10-6 Variable Assignments and Arithmetic Functions MTC 200 NC programming instruction
Examples: expressions
@200=X+SQRT(2)*SQRT(X*X+Z*Z)
F=0.1*PI*800
@201=TAN(@200)
@202=SQRT(@200)+F
@203=@205+@206/@207-50
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Variable Assignments and Arithmetic Functions 10-7
Operands
Operands can be:
• constants,
• system constants,
• variables,
• address letters, and
• functions.
Constants Floating decimal point constants can be comprised of the following ele-
ments:
• sign of the mantissa,
• up to 6 decimal digits,
• decimal point behind the first through sixth decimal digits,
• exponent symbol E,
• sign of the exponent, and
• up to 2 decimal digits for the exponent.
System constants The circle number "PI" (3.14159265...) and the conversion factor from the
inch system to the metric "KI" system (25.4) are available for use as system
constants which are programmed using their symbolic names. Because of
their higher internal accuracy, these constants should always be used.
Operators
The standard symbols for basic mathematical operations can be used as
operators.
+ Addition
− Subtraction
∗ Multiplication
/ Division
% Remainder of an integer division (modulo)
• Division by 0 will cause an error.
• Higher-order operations are implemented by functions.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
10-8 Variable Assignments and Arithmetic Functions MTC 200 NC programming instruction
Parentheses
To nest expressions and circumvent the integrated principle "multiplica-
tion/division before addition/subtraction", partial expressions can be
placed within parentheses. The number of nesting levels is unlimited.
Functions
The CNC provides the following mathematical functions:
ABS Absolute value
INT Integer component
SQRT Square root
SIN Sine
COS Cosine
TAN Tangent
ASIN Arc sine
ACOS Arc cosine
ATAN Arc cotangent
E^ Power to the base "e"
10^ Power to base 10
2^ Power to base 2
LN Logarithm to the base "e"
LG Logarithm to the base 10
LD Logarithm to the base 2
TIME Time in seconds
The mathematical functions enclose their operands in parentheses. The
operands used in functions can also be expressions – in other words, the
functions can be nested.
Absolute value - ABS The absolute value function delivers the positive value of its operand.
x < 0: ABS(x) = x
x = 0: ABS(x) = 0
x > 0: ABS(x) = x
Example:
ABS(-1.23) ⇒ 1.23
Integer - INT The INT function delivers the next smallest integer for the operand.
Example:
INT(1.99) ⇒ 1
INT(1.01) ⇒ 1
INT(-2.99) ⇒ -2
INT(-2.01) ⇒ -2
Square root - SQRT The SQRT function produces the square root of its operand.
Example:
SQRT(2) ⇒ 1.4142…
The SQRT function does not permit any negative operands.
Sine - SIN The operand for the SIN function is interpreted depending on which angle
unit is set (RAD, DEG).
Value range: -1 ⇐SIN(x) ⇒+1
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Variable Assignments and Arithmetic Functions 10-9
Example:
RAD
SIN(PI/6) ⇒ 0.5
DEG
SIN(30) ⇒ 0.5
Cosine - COS The operand for the COS function is interpreted depending on which an-
gle unit is set (RAD, DEG).
Value range: -1 ⇐COS(x) ⇒+1
Example:
RAD
COS(PI/6) ⇒ 0.866…
DEG
COS(30) ⇒ 0.866..
Tangent - TAN The operand for the TAN function is interpreted depending on which an-
gle unit is set (RAD, DEG).
Example
RAD
TAN(PI/4) ⇒ 1
DEG
TAN(45) ⇒ 1
The TAN function is not defined for π/2 and for -π/2.
Arc-sine - ASIN The operand for the ASIN function must be greater than or equal to -1 or
less than or equal to +1.
When the angle unit ”radians” is set:
Value range: -π/2 ⇐ASIN(x) ⇐+π/2
Example:
ASIN(0.5) ⇒ 0.523… = (π/6)
When angle unit "degrees" is set:
Value range: -180 ⇐ASIN(x) ⇐+180
Example:
ASIN(0.5) ⇒ 30
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
10-10 Variable Assignments and Arithmetic Functions MTC 200 NC programming instruction
Example
Logarithm to base e - LN The operand for the LN function must be greater than zero.
Example:
LN(10) ⇒ 2.302...
Logarithm to base 10 - LG The operand for the LG function must be greater than zero.
Example:
LG(100) ⇒ 2
Logarithm to base 2 - LD The operand for the LD function must be greater than zero.
Example
LD(8) ⇒ 3
Time in seconds - TIME The TIME function supplies a reference-free time in seconds accurate to
2 milliseconds. This time can be used to determine time differences.
Example
@50=TIME Determine active time
.
.
@60=TIME-@50 Determine time difference
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Variable Assignments and Arithmetic Functions 10-11
100 @200=90
80
R=5
@202=5
60
@201=50
40
20
101Recht.fh7
20 40 60 80 100 120 140 160 180
X
101RECHT.FH7
NC program:
T4 BSR .M6 Tool change
G00 G54 G06 G08 X160 Y80 Z10 Start position
G01 Z-10 F1000 Infeed Z axis
G42 X135 Y80 F1500 Establishment of tool path
compensation
@200=90 @201=50 @202=5 @203=1200 Preassign variables
BSR .RE1 Subroutine call
G90 G00 Z10 Z axis to safety distance
G40 G01 X160 Y110 Removal of tool path com-
pensation
T0 BSR .M6 Store tool
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
10-12 Variable Assignments and Arithmetic Functions MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Enhanced NC Syntax (NC Control Structures) 11-1
11.1 Overview
As of version 19, the NC syntax has been expanded by the following control
structures:
• IF-ELSE
• FOR
• WHILE
• REPEAT-UNTIL
• SWITCH-CASE
• CONTINUE
• BREAK
Example
N0001 IF(@10>X) ;control instruction
N0002 Y100 F100 ;instruction if condition is met
N0003 ELSE
N0004 { ;instruction block if condition is not met
N0005 Y=@10 ;condition
N0006 G04 F100
N0007 }
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
11-2 Enhanced NC Syntax (NC Control Structures) MTC 200 NC programming instruction
Example
N0001 FOR(@10=0,@10<100,@11*0.1 )
N0002 X=@10 F100
N0003 ...
The X axis is moved from @10=0 to 100 with an increment of @11*0.1.
The condition of termination can be located in the middle section of the
FOR-instruction: "@10<100"
Examples for valid conditions (@10 < @11*10 && @100 != G(1) )
(TLD(,0,1,2,0,5,)==1)
(!(@10<@1 && @12>100))
Note: Assure that no blank character is before the "(" character; other-
wise the bracket expression will be interpreted as a comment.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Enhanced NC Syntax (NC Control Structures) 11-3
Example
N0001 IF(@10<100) ;variable value smaller 100
N0002 { ;block beginning
N0003 Y=-3 ;axis movements
N0004 X=@10 Z=@11
N0005 Y=20
N0006 } ;block end and end of the IF instruction
N0007 G0 X=@100 Z=@101
11.4 IF Instruction
The following instruction is performed only if the condition is met. The
ELSE branch is optional and is alternatively performed if the condition is
not met. Nested IF instructions are solved from the inside out.
Example
st
N0001 IF(@10<100) ;1 IF instruction
nd
N0002 IF(@11>10) ;2 IF instruction
N0003 Y=100
nd
N0004 ELSE ;ELSE of the 2 IF instruction
rd
N0005 IF(@11<100) ;3 IF instruction
N0006 Y=200
rd
N0007 ELSE ;ELSE of the 3 IF instruction
rd nd st
N0008 Y=300 ;End of the 3 ,2 and 1 IF instruction
N0009 X100 Z200
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
11-4 Enhanced NC Syntax (NC Control Structures) MTC 200 NC programming instruction
Example
N0001 FOR(@10=0,@10<=100,0.1)
N0002 X=@10 Z=@10*0.25
The positions X 0.0 Z 0.0, X 0.1 Z 0.025, ... ,X 100 Z 25 are fed sequen-
tially.
Syntax description: FOR instruction = "FOR" "(" variable "," condition "," pitch ")" "\n" instruction
Example
N0001 WHILE( @10>0 )
N0002 {
N0003 @12=@12+@10 X@12 Y@10
N0004 @10=@10-1
N0005 }
Blocks N0003 and N0004 are repeated until @10=0 is met.
Syntax description: WHILE instruction = "WHILE" "(" condition ")" "\n" instruction.
Example
N0001 REPEAT
N0002 ....
N0011 UNTIL(@10>100 || @12==@11 )
The block enclosed by REPEAT-UNTIL is executed at least once and is
repeated until @10>100 or @12=@11.
Note: There must not be any blanks between UNTIL and (condition).
Blanks are reported as format errors during the download.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Enhanced NC Syntax (NC Control Structures) 11-5
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
11-6 Enhanced NC Syntax (NC Control Structures) MTC 200 NC programming instruction
Examples for valid conditions (@10 < @11*10 && @100 != G(1) )
(TLD(,0,1,2,0,5,)==1)
(!(@10<@1 && @12>100))
Note: Assure that no blank character is before the "(" character; oth-
erwise the bracket expression will be interpreted as a com-
ment.
Syntax description: SWITCH instruction = "SWITCH" "(" math. expression ")" "\n"
"{" "\n"
{{ "CASE integer number ":" "\n" }
{ instruction }}
[ "DEFAULT" ":" "\n"
instruction ]
}" "\n"
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Enhanced NC Syntax (NC Control Structures) 11-7
Example
N0000 G01 F1000
N0001 FOR(@1=0,@1<10,1)
N0002 X=@[ 2 ]:[ @1 ] Y=@[ 3 ]:[ @1 ]
Polygon points (X,Y)=@2:i ,@3:i are traversed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
11-8 Enhanced NC Syntax (NC Control Structures) MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-1
12 Special NC Functions
SERCOS ID Number
SERCOS ID number <group letter>-<drive parameter set number>-<data block number>
The meaning of the SERCOS parameters (group letter S) and their func-
tions are described by the SERCOS committee in the publication
"SERCOS Interface."
The meaning of the SERCOS parameters (group letter P) and their func-
tions are described in the documentation for the SERCOS digital drive.
The minus sign (-) is used as a delimiter character between the individual
parameters.
Parameter set number The parameter set number addresses the desired parameter set of the
drive. The parameter set number can have values from 0 to 7. Bosch
Rexroth drives are equipped with four parameter sets which can be
switched during operation. One of the four parameter sets is always ac-
tive – switching occurs due to a command from the controller. The drive
generally works with the ID numbers of parameter set 0.
Data block number The pertaining drive datum can be addressed via the data block number.
The data block number can range from 0 (also 0000) to 4095.
• The reading or writing of drive data using the "AXD command" should
be programmed in a separate NC block which does not contain any
other NC commands.
• The reading or writing of drive data using the "AXD command" always
takes place at the end of the NC block. In other words, the assign-
ment of a value to an NC variable into which the drive datum was
read cannot be used in the same NC block as the basis for deciding
whether a conditional branch/jump is to be performed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-2 Special NC Functions MTC 200 NC programming instruction
• When drive data are read or written using the "AXD" command, NC
block preprocessing is interrupted. Thus if tool path compensation
(G41, G42) is active, it is considered to be finished. Likewise, "Con-
touring mode (acceleration)" (G08) is no longer possible.
• A read drive datum can be assigned to only one variable, but not to
an address letter. The assigning expression may consist of only the
AXD command. No other operands or operators are permitted.
• When the AXD command is used to write drive data, the assigned
expression can be a formula or a constant.
NC program:
T11 BSR .M6 Tool change SF D10
G00 G90 G54 G07 G08 X199 Y136 Z5 Start position
S5000 M03 Spindle ON
@50=AXD(X:S-0-0104) Read active gain factor for X axis
@51=AXD(Y:S-0-0104) Read active gain factor for Y axis
AXD(X:S-0-0104)=7*1000 New gain factor for the X axis
AXD(Y:S-0-0104)=7*1000 New gain factor for the Y axis
AXD(X:S-0-0155)=70 Friction torque compensation for X
AXD(Y:S-0-0155)=110 Friction torque compensation for Y
G01 Z-5 F1000 Lower cutter into material
G41 X199 Y141 F8000 Start point of circular machining
G03 X180 Y122 I199 J122 Start circle
G01 X180 Y100 Transition element
G02 X180 Y100 I100 J100 Full circle ∅160
G01 X180 Y77 Transition element
G03 X198 Y59 I198 J77 Exit circle
G00 Z5 Cutter to safety distance
AXD(X:S-0-0104)=@50 Old gain factor for the X axis
AXD(Y:S-0-0104)=@51 Old gain factor for the Y axis
AXD(X:S-0-0155)=0 Friction torque compensation
OFF for X
AXD(Y:S-0-0155)=0 Friction torque compensation OFF
for Y
T0 BSR .M6 Tool change
RET Program end
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-3
Oscilloscope Function
404Kreis.fh7
P o s i t i o n Va l u e A x i s Y [ m m ]
PPoossiittiioonn D Deevviiaattiioonn::
Desired
D e s i rD
Desired sPosition
e de Position sValue:
Pi roesdi t iPoonValue:
: ition:
Expansion Factor: 1693.7
Axis Number: 2
A x i s Ty p e : D i g i t a l L i n e a r A x i s
Axis Description: Y
P
PPrrroooccceeessssss::: M
Maaasssttteeerrrr w
M w
wwiiititth
thhh
Axis Number: 1
A x i s Ty p e : D i g i t a l L i n e a r A x i s
Axis Description: X
PProzess:
r o z e s s : MMaster
a s t e r wwith
ith
C i r c le D i a m e t e r 1 6 0 m m
P o s i t i o n Va l u e A x i s X [ m m ]
11-1.FH7
Oscilloscope Function
Position Deviation:
Positon Command Value:
Expansion Factor: 1693.7
112KREIS.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-4 Special NC Functions MTC 200 NC programming instruction
M P O V A
OTD([1/2],[0..6],[0..9],[0..9],[1..10])
Axis
Offset
Zero Offset Table
Process
NC Memory
113otd.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-5
General requirements for the A variable can be inserted instead of the constant.
MTD command
• An arithmetic expression instead of a constant or variable is not per-
mitted.
• The optional parameters need not be specified.
• The commas that are used for delimiting the parameters must always
be set.
Command OTD can not be used to write to the zero offset values for
G50/G51, G52 and to the active zero offset value.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-6 Special NC Functions MTC 200 NC programming instruction
Syntax The individual data elements are addressed by means of codes. De-
pending on both types of addressing ...
• Addressing via location and magazine (A=0)
• Addressing via tool number and tool duplo number (A=1) ...
both variants of TLD command are possible:
P A S/T L/D E D S
TLD([0..6], [0], [0..3] ,[1...999],[0..9],[1..35],[1..32])
TLD([0..6],[1],[1..9999999],[1...999],[0..9],[1..35],[1..32])
Status
Data element
Edge
Location / Index no.
57tld.FH7
Value range and meaning of The two following figures illustrate the parameters of the TLD command in
parameters detail:
V23_20030319
TLD addressing via location and magazine type
Data element DE 9 32 -
3-8 Tool status 10 - 31 Group 1 2 3 - 40
status
1 - 32 1 - 16 1 - 16
Status S --- Tool status --- Group --- Tool edge status bit ---
bit status bit
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-7
V23_20030319
TLD addressing via tool and duplo number
Data element 9 32 -
DE
3-8 10 - 31 Group 1 2 3 - 40
Tool status
status
1 - 32 1 - 16 1 - 16
Status S --- Tool status --- Group --- ---
bit status bit Tool edge status bit
All data present in the tool list can be read. The individual data elements
are addressed by means of codes. The identifiers of the individual data
elements are represented in the following tables:
• Basic tool data
• Tool status bit from basic tool data element 09
• Group status bit from basic tool data element 32
• Tool edge data
• Tool edge status bit from tool edge data element 02
The identifiers of the individual data elements (DEL) and status bits (S)
are represented in the following tables.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-8 Special NC Functions MTC 200 NC programming instruction
• Data of tool list (basic tool data) for the TLD command
V23_20030319
Basic tool data (per tool)
DATA TYPE
in the PLC
UNIT
DESIGNATION VALUE RANGE DE OPT. SL TL
Tool identification
29
Group number 0 - 99 BYTE - 30 X
Group duplo number 0 - 99 BYTE - 31 X
Group status 0/1 (16 status bits) WORD - 32 X
Fig. 12-5: Data of tool list (basic tool data) for the TLD command
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-9
• Data of tool list (tool edge data) for the TLD command
Tool edge data (per tool edge) V22_20030317
DATA TYPE in
OPT.
PLC
DESIGNATION VALUE RANGE UNIT
DE
SL
TL
Tool edge identification
Length L1 DINT 07 X
Length L2 DINT 08 X
Length L3 DINT 09 X
Radius R -99999.9999 - +99999.9999 DINT mm 10 X
Wear L1 DINT 11 A00.055 X
or or
Wear L2 DINT 12 A00.055 X
Wear L3 -9999.99999 - +9999.99999 DINT inches 13 A00.055 X
Wear R DINT 14 A00.055 X
Offset L1 DINT 15 A00.056 X
Offset L2 DINT 16 A00.056 X
Offset L3 DINT 17 A00.056 X
Offset R DINT 18 A00.056 X
Geometry limit values
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-10 Special NC Functions MTC 200 NC programming instruction
Symbol
Value
Word
Byte
Group
Bit
Group name Comment
information
ASP
TM
OP
SL
TL
LL
Tool not ! 1
available 1 X X X Tool is missing
Tool available 0
Presence
Tool is not ? 1
required Tool not required for
2
processing
Tool required 0
Correction type t 1
Error: wrong Correction type does not
3 X X X
correction type Correction type 0 accord with the requirements
not wrong
Incorrect number e 1
LOW byte 0 - 7
Error: of tool edges Number of cutters does not
4 X X X
tool edge number Correct number 0 accord with the requirements
of tool edges
Tool edge(s) f 1
incorrect Tool edge data do not comply
Error: tool edge 5
Tool edge(s) not 0 with requirements
incorrect
Tool code $ 1
incorrect Does not accord with the
Error: tool code 6
Tool code 0 requirements
correct
Upper half-
Reserved for extensions 10
location locking
Lower half-
Reserved for extensions 11
location locking
Upper half- ) 1
location
reserved Reserved for temp. moved
Upper half-location reservation 12 X X X X
Upper half- 0 tools
location not
reserved
byte
Lower half- ( 1
location
reserved Reserved for temp. moved
Lower half-location reservation 13 X X X X
Lower half- 0 tools
location not
reserved
Upper half-
Reserved for extensions 14
location locking
Lower half-
Reserved for extensions 15
location locking
Location + 1
assigned
Location assignment 16 X X X There is a tool at this location
Location not 0
assigned
WSB_all_V22_20030918.xls
TM - Tool management SL - Setup list-specific status bit
OP - Operator TL - Tool list-specific status bit
ASP - Application-specific programs in PLC or NC
LL - Location-specific status bit
Fig. 12-7: Tool status bits 1-16 for the TLD command
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-11
Symbol
Group name Group information Comment
Value
Word
Byte
OP
TM
AS
Bit
SL
TL
LL
P
Tool is worn out d 1 The remaining lifetime of the
17 X X
Tool is not worn out 0 tool has elapsed (replace)
Wear state
Warning limit is reached w 1 The remaining lifetime is about
18 X X
Warning limit not reached 0 to expire (replace)
LOW byte 0 - 7
20 X X to be used, not a processing
No replacement tool 0 tool
Tool with fixed location coding C 1 The tool may only be changed
Tool coding 21 X X X X
Tool without fixed location coding 0 into the predefined tool location
Tool locked L 1
Tool block 22 X X X Tool must not be used
Tool is not locked 0
WSB_all_V22_20030918.xls
TM - Tool management SL - Setup list-specific status bit
OP - Operator TL - Tool list-specific status bit
ASP - Application-specific programs in PLC or NC T Tool
LL - Location-specific status bit
Fig. 12-8: Tool status bits 17-32 for the TLD command
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-12 Special NC Functions MTC 200 NC programming instruction
Symbol
Group name Group information Comment
Value
ASP
OP
TM
Bit
SL
TL
Incorrect tool edge orientation o 1 Tool edge data do not correspond to the
Incorrect tool edge orientation 1 X X
Tool edge orientation is not incorrect 0 definition
Tool edge worn out d 1 The tool edge can no longer be used
9 X X
Tool not worn out 0 (replace)
Wear state
Warning limit is reached w 1 The remaining tool life of the tool edge is
10 X X
Warning limit not reached 0 near its end (replace)
Fig. 12-9: Tool edge status bits for the TLD command
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-13
Value
Sym-
bol
Bit
Status Status bit Comment
TM OP ASP GL
User group status 1 User group status bit 1 any 1 9 X X X Any meaning
0
User group status 2 User group status bit 2 any 1 10 X X X Any meaning
0
User group status 3 User group status bit 3 any 1 11 X X X Any meaning
0
User group status 4 User group status bit 4 any 1 12 X X X Any meaning
0
User group status 5 User group status bit 5 any 1 13 X X X Any meaning
0
User group status 6 User group status bit 6 any 1 14 X X X Any meaning
0
User group status 7 User group status bit 7 any 1 15 X X X Any meaning
0
User group status 8 User group status bit 8 any 1 16 X X X Any meaning
0
WZG_all_V23_20021112.xls
TM - Tool management SL - Setup list-specific status bit
OP - Operator TL - Tool list-specific status bit
ASP - Application-spec. programs on the PLC or NC OPT - Optional datum
GL - Tool group list-specific status bit
LL - Location-specific status bit
Fig. 12-10: Tool group status bits for the TLD command
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-14 Special NC Functions MTC 200 NC programming instruction
Optional parameters for the TLD • The CNC inserts the current process if a process [0-6] is not speci-
command fied.
• If the parameter address [0/1] is not specified, the CNC inserts a va-
lue of 0 and interprets the two subsequent parameters as storage unit
and pocket.
• If the duplo number [1-9999] is not specified, the CNC inserts the
duplo number of the related machining tool.
• If the tool edge [0-9] is not specified, the CNC inserts a value of 0,
thus accessing the basic tool data.
• The parameter status [1-32] is to be specified only if a tool status bit ,
a tool edge status bit or a group status bit is accessed.
• If the group number [0..99] is not specified, the CNC inserts the
number of the enabled group.
• If the group duplo number [0..99] is not specified, the CNC inserts the
duplo number of the enabled group.
General verifications for the TLD The validity of the programmed parameter values can be checked only
command when the command is executed (i.e. at the runtime of the NC program). If
one of the parameters is incorrect or invalid, the CNC initiates an immedi-
ate stop and issues the error message:
Limitations of writing with the • You cannot write to setup list-specific data elements.
TLD command
• You may not write to any tool, tool edge or group status bit that is
allocated to tool management.
• You cannot write to a pocket, storage unit or tool number data ele-
ment.
• If one of these conditions is not observed when a data element is
written, the CNC initiates an immediate stop and issues the error
message:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-15
Examples:
Reading with the TLD command
Example:
The tool number of the tool in spindle 2 is assigned to a variable.
@55 = TLD ( , 0, 1, 2, 0, 5, )
Symbol Designation
S Status
5 →Tool number
DE Data element
2 →2
L Location
→Spindle 2
1 →Spindle
SA Storage type
TLD_Beispiel_1_lesen_V22_20021114.xls
Example:
The duplo number of tool 1 is assigned to a variable.
@200 = TLD ( , 1, 1, , 0, 6, )
Symbol Designation
S Status
TLD_Beispiel_2_lesen_V22_20021114.xls
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-16 Special NC Functions MTC 200 NC programming instruction
@ 0: 0 = TLD ( , 0, 1, 1, 0, 5, ) Reads the tool number of the first spindle and stores
it in variable 0 of the process.
@ 0: 0 = @ 0: 0 - T BEQ .M6_T0 Interrogation whether a tool change is required
TLD_Beispiel_3_lesen_V22_20021114.xls
TLD ( , 1, 1, , 0, 6, ) = 5
Symbol Designation
S Status
TLD_Beispiel_1_schreiben_V22_20021114.xls
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-17
Example:
The duplo number of tool 1 is set to 6
TLD ( , 1, 1, , 0, 6, ) = 3+1+2
Symbol Designation
S Status
TLD_Beispiel_2_schreiben_V22_20021114.xls
Example:
The last used or preselected tool is disabled
Symbol Designation
P Process 3 →Process 3
TLD_Beispiel_3_schreiben_V22_20021114.xls
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-18 Special NC Functions MTC 200 NC programming instruction
Example:
Duplo group 1 of tool group 5 is disabled
TLD ( 3, 1, , , , 32, 3, 5, 1 ) = 1
Symbol Designation
P Process 3 →Process 3
TLD_Beispiel_4_schreiben_20030617.xls
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-19
P S W
DCD([0..6],[1..99],[1..4])
Value
Memory
Process
115dcd.FH7
Verifications during access The declared parameters must lie within the given value range. The CNC
checks their validity first during operation. The CNC interrupts program
execution and issues an error message if a declared parameter lies out-
side of the valid value range.
Example:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-20 Special NC Functions MTC 200 NC programming instruction
Required data structures The majority of the data required for the controller by the machine builder
and end user can be shown in the following forms:
• single structure,
• one- or two-dimensional field or
• one- or two-dimensional field on a structure.
Page 001: Page Label Page 100: Page Label Page 200: Page Label
Serial Index 1 Serial Index 1 Serial Index 1
L Limit 1 Limit 1 Limit 1 Limit 1 L Herst1 Herst1 Herst1 Herst1 L Anw. 1 Anw. 1 Anw. 1 Anw. 1
a Limit 2 Limit 2 Limit 2 Limit 2 a Herst2 Herst2 Herst2 Herst2 a Anw. 2 Anw. 2 Anw. 2 Anw. 2
u Limit 3 Limit 3 Limit 3 Limit 3 u Herst3 Herst3 Herst3 Herst3 u Anw. 3 Anw. 3 Anw. 3 Anw. 3
114Masch.fh7
f Limit 4 Limit 4 Limit 4 Limit 4 f Herst4 Herst4 Herst4 Herst4 f Anw. 4 Anw. 4 Anw. 4 Anw. 4
i Limit 1 Limit 1 Limit 1 Limit 1 i Herst1 Herst1 Herst1 Herst1 i
n n Anw. 1 Anw. 1 Anw. 1 Anw. 1
Limit 2 Limit 2 Limit 2 Limit 2 Herst2 Herst2 Herst2 Herst2 n Anw. 2 Anw. 2 Anw. 2 Anw. 2
d Limit 3 Limit 3 Limit 3 Limit 3 d Herst3 Herst3 Herst3 Herst3 d
e e Anw. 3 Anw. 3 Anw. 3 Anw. 3
Limit 4 Limit 4 Limit 4 Limit 4 Herst4 Herst4 Herst4 Herst4 e Anw. 4 Anw. 4 Anw. 4 Anw. 4
x x x
Limit 1 Limit 1 Limit 1 Limit 1 Herst1 Herst1 Herst1 Herst1 Anw. 1 Anw. 1 Anw. 1 Anw. 1
2 Limit 2 Limit 2 Limit 2 Limit 2 Herst2 Herst2 Herst2 Herst2 Anw. 2 Anw. 2 Anw. 2 Anw. 2
2 Herst3 Herst3 Herst3 Herst3 2
Limit 3 Limit 3 Limit 3 Limit 3 Anw. 3 Anw. 3 Anw. 3 Anw. 3
Limit 4 Limit 4 Limit 4 Limit 4 Herst4 Herst4 Herst4 Herst4 Anw. 4 Anw. 4 Anw. 4 Anw. 4
Limit 1 Limit 1 Limit 1 Limit 1 Herst1 Herst1 Herst1 Herst1 Anw. 1 Anw. 1 Anw. 1 Anw. 1
Limit 2 Limit 2 Limit 2 Limit 2 Herst2 Herst2 Herst2 Herst2 Anw. 2 Anw. 2 Anw. 2 Anw. 2
Limit 3 Limit 3 Limit 3 Limit 3 Herst3 Herst3 Herst3 Herst3 Anw. 3 Anw. 3 Anw. 3 Anw. 3
Limit 4 Limit 4 Limit 4 Limit 4 Herst4 Herst4 Herst4 Herst4 Anw. 4 Anw. 4 Anw. 4 Anw. 4
114Masch.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-21
PG L1 L2 EL
MTD([1..299],[-1000..+1000],[-1000..+1000],[1..1000])
Element No.
Dimension 2
Dimension 1
Page No.
116mtd.FH7
General requirements for the • The individual numbers are to be separated by a comma.
MTD command
• A variable can be inserted instead of constants.
• An arithmetic expression instead of a constant or variable is not per-
mitted.
• All parameters listed above must always be indicated.
Verifications during access The declared parameters must lie within the given value range. The NC
checks their validity first during operation. The NC interrupts program execu-
tion and initiates an error message if a declared parameter lies outside of the
valid value range. The NC reacts in the same way if the user write-accesses a
write-protected data element from the NC program. The NC automatically
limits the value to the lowest or largest value of the data element if the user
declares a value outside of the valid value range for a data element.
Detailed description Further and supplementary information about the functions and the han-
dling of machine data can be found in the description "Machine data",
folder 1.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-22 Special NC Functions MTC 200 NC programming instruction
Note: Using the MTD command, any number of data elements can
be read out from the machine data within an NC block, but
only one data element can be written. (see the following sec-
tion "Possible allocations between AXD, TLD, OTD, DCD,
MTD").
Note: Only one AXD command may be written for each NC block.
Multiple AXD allocations per line are not permitted.
AXD commands in parentheses are not permitted.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-23
Note: Using the TLD command, any number of data elements of the
tool data can be read within one NC block, but only one data
element can be written.
As opposed to the OTD and MTD commands, only one alloca-
tion in the NC block may occur (also when reading).
DCD commands in parentheses are not permitted.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-24 Special NC Functions MTC 200 NC programming instruction
Note: Using the MTD command, any number of data elements can be
read out from the machine data within an NC block, but only one
data element can be written at a time.
MTD commands in parentheses are not permitted.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction Special NC Functions 12-25
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
12-26 Special NC Functions MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Compiler Functions 13-1
13 NC Compiler Functions
13.1 Basics
NC compiler The NC compiler, which is integrated into the user interface, provides a
preliminary translation of NC programs.
The functions:
• chamfers and roundings,
• enhanced look-ahead function,
• graphical NC editor (for contour and machining programming),
• macro technique and
• modal function
have been implemented using these features.
RD
RD
RD
121Fase.fh7
CF
CF
CF
CF
CF
CF
CF
CF
121Fase.FH7
Fig. 13-1: Inserting chamfers and roundings between linear and circular con-
tours
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
13-2 NC Compiler Functions MTC 200 NC programming instruction
• The value that follows CF specifies the chamfer width; the value after
RD specifies the rounding radius.
• The instructions CF and RD may be inserted between two movement
blocks at the end of the first block. The required chamfer or rounding
will then be inserted after the block in which it has been programmed.
Alternatively, the CF or RD command may be inserted in a separate
block between two movement blocks.
• Chamfers and roundings are always produced on the active plane.
Example:
.
.
.
G1 X.. Y.. RD =3
G01 G3 X.. Z.. I.. J..
.
.
RD
.
Y G0
122Rund.fh7
X
122RUND.FH7
Contiguous movement blocks • Chamfers and roundings should only be inserted between contiguous
movement blocks. A maximum of 20 blocks that do not contain a
movement may be present between two movement blocks which are
to be connected by a chamfer or a rounding.
• The preceding and subsequent movement blocks must contain either
a linear or a circular movement.
• The command for inserting a chamfer or rounding must be written
either in the first movement block or after it, but always before the
second movement block. If the compiler encounters the insertion
command for a chamfer or rounding in the second movement block, it
inserts the chamfer or rounding between the second and the subse-
quent movements.
• If the instruction for inserting a chamfer or rounding is written in a sepa-
rate NC block, the immediately preceding NC block must contain the re-
lated linear or circular movement.
• Movements that are outside the active working plane cannot be inter-
connected by chamfers or roundings.
Invalid commands Chamfers or roundings cannot be inserted between two movement blocks
if one of the following functions is selected or deselected:
• Radius/diameter programming (G15, G16),
• Changing planes (G17, G18, G19, G20, G21, G22),
• Transformation functions (G30, G31, G32),
• Zero offsets and rotations (G50 through G59),
• Dimension inch/mm (G70, G71),
• Mirror function (G72, G73),
• Homing axes (G74),
• Feeding to positive stop / canceling any axis pre-loading (G75, G76),
• Repositioning and restarting (G77),
• Scaling function (G78, G79),
• Absolute/incremental dimension (G90, G91),
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Compiler Functions 13-3
Global / local macros Besides local macros, which the user may define within an NC program
and employ subsequently, the machine manufacturer can store global
macro definitions in the "NC Options menu" (in the "NC programming"
menu item). In contrast to local macro definitions, global macro definitions
are valid in all NC programs and in MDI operation of the graphic user in-
terface.
Example:
Changing tools:
:
DEFINE M860 AS M86 M3 S10 Disengage while the spindle is
slowly turning
DEFINE M6 AS BSR .WZW Reproduce DIN tool change
function M6
DEFINE QUICK AS G01 F15000 Quick process at 15 m/min
DEFINE ANPOS AS X=200 Y=100 Z=50 ;Loading pos. for changing tools
QUICK ANPOS M860 M6 Quick loading in X, Y, Z and
changing tools
:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
13-4 NC Compiler Functions MTC 200 NC programming instruction
Notes:
• A macro name may have up to 20 characters. Blanks may
not be used.
• The instruction related to a global macro may contain up to
156 characters (consisting of 2 lines with up to 78 charac-
ters each).
• With a local macro, the compiler interprets all NC instruc-
tions that follow the AS key word as the instruction se-
quence that must be inserted instead of the macro name.
• Nesting macros is not permitted. This means that there
may not be any further macros within an instruction se-
quence that is to be inserted.
Not permitted: DEFINE M860 AS M86 M6 S10
• In contrast to the textual user interface and to the SOT, the
user may program global macros in MDI mode within the
graphic user interface.
• Key words may not be super-defined by macros.
• When using a macro in an instruction, a blank character
must be inserted before and after the macro name. There-
fore, a macro may not be contained in an instruction (e.g. x
= macro name) or in a formula/equation, because a blank
may not exist after the equal sign (=).
Reserved key words The following key words are currently in use by Bosch Rexroth. The user
should not use them in the macro technique.
• ACC_EFF
• ACD_COMP
• ADTRC
• BBTRC
• CCW
• CF
• COMPARE
• CONT
• CONT_END
• CORRECTION
• CW
• DEFINE AS
• LA_OFF
• LA_ON
• LINE
• METB
• MODF_OFF
• MODF_ON
• MOVE
• PROBE
• RD
• RELIEF
• RESTORE
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Compiler Functions 13-5
• SAVE
• SETTING
• START
• TLMON_CHK
• TLMON_OFF
• TLMON_ON
• TR_RADIUS
• TRC..
• VFBT
• COPY_XX
• CYCLE_XX
• FORM_XX
• PATERN_XX
• WINDOW_XX
• XX = 01 through 99
Note: Use the macro technique with extreme care, because it allows
the programming language to be changed to a high degree.
Invariably defined positions The machine manufacturer can enter several fixed positions in the macro
table (such as reference positions, tool changing positions, loading and
unloading positions, etc.). These positions can have mnemonics assigned
which the user may utilize later in the NC program.
Example:
Spindle
Y
Z
Tool magazine
Toolchange
position
X
123Punkte.fh7
123PUNKTE.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
13-6 NC Compiler Functions MTC 200 NC programming instruction
NC program
:
G00 P_WSW
:
Retract movement with In the process of moving to the reference position or to the tool changing
intermediate position position, the tool must frequently first be moved away from the machining
area before it can safely be retracted. Using the macro technique, both
movements can be combined in a single command.
Example:
Intermediate position
X ( 80 / 50 )
Retract position
( 80 / 75 )
124Rück.fh7
124RUECK.FH7
NC program:
:
RETURN X80 Z50 ;Programming the intermediate position
:
M30
The following subroutine is entered in the cycle memory:
.P_RT G0 X80 Z75 RTS ;Move to retract position cycle
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Compiler Functions 13-7
Modal function The MODF_ON (STRI) modal function permits repeatedly used expres-
sions to be written only once.
Explanation • The string STRI, transferred in parentheses with the modal function,
may contain up to 80 characters.
• It is inserted in all subsequent blocks with axis movements.
• The modal function is deselected using the MODF_OFF keyword.
Notes:
• The instruction concerned is executed immediately in the
NC blocks in which the user writes a modal instruction us-
ing MODF_ON.
• The MODF_OFF instruction deactivates the modal instruc-
tion in the block in which it is programmed.
• It must be noted that the modal function (such as
MODF_ON(RD 2)) does not have an effect on blocks with-
out axis movements (i.e. without feed axes). This is also
true for contours that were created in the graphical editor
and were saved as a function call in the NC program.
Examples:
Drilling holes
200
N12
100
125Loch.fh7
N9 N10 N11
X
100 200 300 400
N8
125LOCH.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
13-8 NC Compiler Functions MTC 200 NC programming instruction
NC program:
;
T6 M6
G54 G0 X-10 Y-10 Z50 S3500 M3
;
;******************* G83 - deep hole drilling chip removal *******************
@71=-20.0 depth (abs)
@72=6.0 chip depth (inc)
@73=2.0 safety distance (abs)
@74=0.5 cutter distance (inc)
@75=0.0 dwell time
@76=250.0 feed
;***************************************************************************
X100 Y100 Z10 MODF_ON (BSR .*G83)
X200
X300
X400
Y200
X300
X200
X100
MODF_OFF
T0 M6
G0 G53 X570 Y490
M30
180
RD
RD
160
RD RD
140
RD RD
120
RD RD CF
100
CF
80
CF
CF
60
CF
CF
40
CF
CF CF
20
126Modal.fh7
CF
Z
40 80 120 160 200 240 280 320 360 400 440
126MODAL.FH7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Compiler Functions 13-9
Enhanced The enhanced look-ahead function optimizes the velocity curve of the
look-ahead function programmed path movement during compilation and/or the program
download. If required and without modifying the programmed contour, the
look-ahead function inserts intermediate blocks in order to achieve a
steadier path velocity curve.
Using the enhanced Using the enhanced look-ahead function is always expedient if an NC
look-ahead function program that consists of very short NC blocks is to be executed and if the
internal block look-ahead function proves insufficient.
With non-tangential block transitions, the NC always reduces the velocity
to zero at transitions that are crossed with G6 or G8. In order to be able to
stop in the last block, this process frequently requires continuous decel-
eration across several blocks. With very short NC blocks, the internal
CNC look-ahead function, however, usually does not recognize the end of
the polygon blocks, or a too-short NC block, or a non-tangential block
transition in time. Consequently, the NC does not induce the deceleration
process in time, aborts NC program execution during the deceleration
process, and issues the error message
"Deceleration distance too short".
Using the enhanced look-ahead function enables the compiler to adjust
the velocity profile of certain program sequences within the NC program
to the maximum velocities and the acceleration capability of the individual
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
13-10 NC Compiler Functions MTC 200 NC programming instruction
Global variables Global variables have been introduced that are used as transfer parame-
ters for the enhanced look-ahead function. Usually, the user can employ
these variables without modification. Some variables may be preassigned
in the NC Options menu (in the NC programming menu item).
METB ;Minimum execution time of an NC block
Explanation: Global variable Minimum execution time of an NC block
(METB) specifies the shortest execution time of an NC
block within the polygon sequence that is to be optimized.
It must be greater than the related block cycle time.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Compiler Functions 13-11
Contiguous motion blocks Within the program sequence to be optimized, only those NC blocks may
exist which contain G1, G2 and G3 movements, event instructions
(SE,RE), speed definitions (F), acceleration limits (ACC_EFF) and quick
auxiliary function outputs (MQxxx, QQxxx and Sxxxxx.xx if "S" was pa-
rameterized as a quick auxiliary function).
No variables The end points may not be determined by variables in those NC blocks in
which the speed profile is to process the look-ahead function.
Tool management The tool change, including the pertaining T function and the tool edge
selection, is to be performed before the enhanced look-ahead function is
activated or after it has been deactivated.
Percentile acceleration In certain program sequences and, if applicable, depending on the tool or
correction the workpiece weight, the resulting path acceleration must be reduced.
Using
ACC_EFF ;change effective resulting path acceleration
permits the effective resulting path acceleration to be changed. This ac-
celeration factor ranges from 1% to 200%.
Axis-related velocities Besides programming the path velocity via the F value, axis velocities
may also be programmed during the look-ahead function.
To specify an axis velocity, the F must immediately (without a blank) be
followed by the axis name.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
13-12 NC Compiler Functions MTC 200 NC programming instruction
Example:
G01 X 2034 Z1 421 FZ1=4500 ;axis-related velocity for Z1
:
Access to current data Command Access Current Data ACD_COMP[...] permits access to cur-
in the controller rent controller data (currently only NC variables) during compilation.
Y
127Poly.fh7
127POLY.FH7
Fig. 13-7: Velocity curve of a polygon that is to be optimized for grinding nee-
dles
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Compiler Functions 13-13
Notes:
• In reverse programs, the "LA_OFF" command must be pro-
grammed when the "LA_ON" command is used.
• The compiler does not take into account any velocity changes
of the axes that are caused by a rotation of the contour.
Function The graphic NC editor represents an efficient and highly precise tool that
supports parts programming. It enables the user to easily define geomet-
ric elements (e.g. parts contours) graphically, and to specify their ma-
chining.
At the end of the dialog box, the user may choose whether the data that is
required for machining is to be saved in the form of NC blocks or in the
form of a function call, together with the related parameters, in the NC
program.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
13-14 NC Compiler Functions MTC 200 NC programming instruction
Note: During the setup of the process program. the following data for
the pertaining tool must be available:
• cutter position,
• tool radius,
• corner angle, and
• setting angle
Detailed description Further detailed information concerning these functions of the NC com-
piler can be found in the description "NC compiler"
"DOK-MTC200-NC*COMP*V23-FK01-EN-P".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Programming Practices 14-1
14 NC Programming Practices
{X,Y,Z,U,V,W,A,B,C}
• Interpolation parameters I
• Interpolation parameters J
• Interpolation parameters K
• F word
• S word
• P word
• Zero offset table (O word)
• Path acceleration as percent (ACC)
• Auxiliary Q function (Q word)
• Tool number (T word)
• Tool edge number (E word)
• Tool command
• Setting an event (SE)
• Resetting an event (RE)
• Wait until NC event is set (WES)
• Wait until NC event is reset (WER)
• Define process (DP) (repeatedly)
• Program preselection for process (SP)
• Start reverse program (RP) (repeatedly)
• Start advance program (AP) (repeatedly)
• Wait for process (WP) (repeatedly)
• Lock process (LP) (repeatedly)
• Set Complete status (POK)
• Program control command
• Note
• Comment
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
14-2 NC Programming Practices MTC 200 NC programming instruction
Example: NC program
G00
S5000
M03
F10000
X100 Y50
Time-optimized, spindle starts after movement:
G00 X100 Y50 F10000 S5000 M03
Time-optimized, spindle starts before movement:
M03 S5000
G00 X100 Y50 F10000
Example: NC program
G07 G09 G40 G43 G47 G53 G62 G90 G94 RAD
(ON states)
G00 G90 S5000 M03 F10000 X100 Y50
G00 G90 F10000 X200 Y50
G01 G90 F10000 Y100
Time-optimized:
G00 X100 Y50 F10000 S5000 M03
X200
G01 Y100
Note: Calculate all constants when you create the program, and
assign these constants without using equal signs.
Example: NC program
DEG X=100 Y=20+100*SIN(30)
Time-optimized:
X100 Y70
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
MTC 200 NC programming instruction NC Programming Practices 14-3
Example:
S2 = 1400
Time-optimized:
S2 1400
Time-optimized:
T1 MTP Position magazine to tool 1TCH
TCH Switch tools between spindle and magazine location
T2 MTP Position magazine to tool 2 (parallel)
BSR .BEARB1 Machining process 1
TCH Switch tools between spindle and magazine location
BSR .BEARB2 Machining process 2
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
14-4 NC Programming Practices MTC 200 NC programming instruction
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-1
15 Appendix
The G functions which are blockwise active can be read only in the block
in which they are programmed. Otherwise a value of -1 is issued when the
blockwise active G functions are read.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-2 Appendix NC Programming Instructions
The M functions which are blockwise active can only be read in the block
in which they are programmed. Otherwise a value of -1 is issued when the
blockwise active M functions are read.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-3
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-4 Appendix NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-5
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-6 Appendix NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-7
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-8 Appendix NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-9
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-10 Appendix NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-11
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-12 Appendix NC Programming Instructions
IX. SE through WP
Function Meaning Description Page
SE Set NC event Syntax: SE <process number>: <event number> 7-2
; The defined event is set via the command parameter and remains active
until it is reset by the RE command.
SP Program prese- Syntax: SP <process> <program number> 9-2
lection for ; The defined NC program is selected for the specified process.
process
SPC Select main Syntax: SPC <spindle number> 4-73
spindle for trans- ; SPC selects the main spindle for transformation. The selection of the main
formation spindle must take place before selecting the transformation.
* modal
SPF Select main Syntax: SPF <spindle number> 4-54
spindle ; SPF selects the main spindle for G33, G63/G64, G65, G95 and G96.
* modal
SPT Select tool Syntax: SPT <spindle number> 8-8
spindle ; SPT selects the tool spindle for tool edge selection E.
* modal
T Tool selection Syntax: T<constant> or T = <expression>
and request ; Preselects the tool number or location number specified under the
constant or contained in the expression.
TCH Complete tool Syntax: TCH(<position>,<spindle>) { (.,.) optional } 8-28
change ; Initiate complete tool change between tool spindle and magazine location.
TG Preselect tool Syntax: TG<constant>, TG=<expression>, <variable>=TG 8-9
group / read active ; Tool group management: A tool group is preselected as a machining
group group. The active group can be read.
TGSM Define/read tool Syntax: TGSM<constant>, TGSM=<expression>, <variable>=TGSM 8-10
search mode ; Tool group management: Tool search mode "TGSM" is defined. This also
results in implicit group activation when the T word is specified. The active
tool search mode can be read.
TID Equipment check Syntax: TID 5-2
; Explicit execution of the equipment check: Comparison of the command
tool data (setup list) and the actual tool data (tool list)
TLD Access to tool Syntax: TLD([process], [addressing], [storage type / tool number], 12-7
data from the NC [location / tool duplo number], [tool edge], [data element],
program [status],[group number], [group duplo number])
TMS Tool from maga- Syntax: TMS(<position>,<spindle>) { (.,.) optional } 8-28
zine to spindle ; Initiate tool transfer (physical / logical) from the magazine pocket in the
change position to the selected tool spindle.
TPE Tool pocket Syntax: TPE 8-30
empty? ; If the magazine/turret position that is currently in "Position 1" is not empty,
program execution is stopped and an error message is generated.
TSE Tool spindle Syntax: TSE 8-30
empty? ; If the tool location in "Position 1" is not empty, program execution is
stopped and an error message is generated.
TSM Tool from spindle Syntax: TSM(<position>,<spindle>) { (.,.) optional } 8-29
to magazine ; Initiate tool transfer (physical / logical) from the selected tool spindle to the
magazine pocket in the change position.
WER Wait until NC Syntax: WER <process number>: <event number> 7-4
event is reset ; Program processing is interrupted until the event is reset.
WES Wait until NC Syntax: WES <process number>: <event number> 7-3
event is set ; Program processing is interrupted until the event is set.
WP Wait for process Syntax: WP <process> 9-3
; The block processing is halted until the specified process is completed.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-13
Data import The NC programs created in this way can not contain a file header. When
these NC programs are read in, the designation, identified with "*", is pro-
vided as a new designation.
If the NC program does not contain a file header, it can not be checked
during import if the file to import is an NC program. During import, the file
name is offered as a new designator.
Example:
%NPG
*Progr. No. 1
%NPG
Detailed description Further detailed information concerning these functions of the NC cycles
can be found in the description "NC cycle description"
"DOK-MTC200-CYC*DES*V22-AW01-EN-P".
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-14 Appendix NC Programming Instructions
Cycle Header
Creating Input Menus for Cycles
Using an enhanced cycle header enables the user to read cycles into the
NC program in a menu-controlled and graphically supported manner.
Reading in this context means that the parameters required for the cycle
and the request are read from the enhanced cylinder header and are dis-
played in a data input menu of the MT GUI. The programmer para-
meterizes the cycle in the data entry page. Once the entry is terminated,
the data are entered into the NC program as NC program lines. Default
values and input limits can be defined; these are checked in the data en-
try menu.
G89_GER.bmp
Fig. 15-2: Entering parameters for the cycle header in the GUI
Header ID The enhanced cycle header must be identified as such. This identification
consists of a start and an end ID.
Start ID %CHBEGIN%
syntax
Explanation: CycleHeaderBEGIN
End ID %CHEND%
syntax
Explanation: CycleHeaderEND
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-15
NC Variables
NC variables to which the programmer is to assign a value in the input
menu are entered as follows in the enhanced file header:
Explanation:
Input menu Text
First value: Minimum value (Min)
Second value: Maximum value (Max)
[text] Comment text
With Min < Max, the delimiter between the values is "..".
The sequence is checked and must be observed.
Example:
Explanation:
Input menu Text
First value: Minimum value (Min)
Second value: Maximum value (Max)
[text] Comment text
With Min < Max, the delimiter between the values is "..".
The sequence is checked and must be observed.
Syntax BOOL
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-16 Appendix NC Programming Instructions
Events
Events to which the programmer is to assign a certain initial state in the
input menu are entered as follows in the enhanced file header:
Explanation: Event
x Process number [0-6]
yy Event number [0-99]
Optionally, a default value can be entered in the enhanced file header
when the above-mentioned command is modified as follows:
Explanation:
Sequence of the parameters:
Range type Range
[text] Text for TRUE
[text] Text for FALSE
The delimiter between the texts for TRUE/FALSE is ",".
Example:
Standard Calls
If the cycle requires special calls, these can be integrated into the
enhanced cylinder header. These standard NC program lines are not
checked but are only copied into the request program. Several of these
lines are possible, but no NC block continuation lines.
Syntax %N%
Explanation: NC block
Example:
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Appendix 15-17
Graphic File
To provide graphical support of the parameter entered in the data input
menu, graphic files can be defined in the enhanced cycle header; these
are displayed upon a corresponding operator entry.
Explanation: GraphicFile
File formats: BMP or PCX
Resolution: 226 x 262 pixels
Colors: 16
During the installation of the user interface, a basic image with the name
CYCLE000.PCX is stored in the \MT-CNC\CYCLE\GRAPH directory. The
image can be edited using the graphic editor in the user interface.
%CHBEGIN%
%GF%ZYKL89.PCX
%V% @171 Depth (abs)
%V% @172 Safety distance (abs)
%V% @173 Lift 1st main axis (inc)
%V% @174 Lift 3rd main axis (inc)
%V% @175 Feed
%V% @176 Dwell time
%N% BSR .*G89 ;Cycle call
%CHEND%
%CHBEGIN%
%GF% MAINBLOC.PCX
%V% @1 %D% 16 INT [ 15 - 16 ] Radius/diameter program
%V% @2 %D% 18 INT [ 17 - 19 ] Plane selection
%V% @3 %D% 48 INT [ 47 - 49 ] Tool length correction
%V% @4 %D% 54 INT [ 52 - 59 ] Zero offset
%V% @5 %D% 95 INT [ 65 - 95 ] Feed program
%V% @6 %D% 96 INT [ 96 - 97 ] Spindle speed program
%V% @7 %D% 0 INT [ 0 - 1 ] Interpolation functions
%V% @8 %D% 120 INT [ -30 - 130 ] Position of X-axis
%V% @9 %D% 50 INT [ 90 - 500 ] Position of Z-axis
%V% @10 %D% 200 INT [ 0 - 6000 ] Spindle RPM
%V% @11 %D% 4 INT [ 3 - 5 ] Spindle rotation direction
%N% G=@1 G=@2 G=@3 G=@4 G=@5 G=@6
%N% G=@7 X=@8 Z=@9 S=@10 M=@11
%CHEND%
A primary block is generated in the NC program from which reference is
made to an NC cycle.
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
15-18 Appendix NC Programming Instructions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Index 16-1
16 Index
$
$ 5-68
A
A00.052 8-5
A00.053 5-1
A00.054 5-5, 5-13, 5-42
A00.055 5-56, 5-57
A00.056 5-56, 5-58
A00.058 5-57
A00.061 5-5, 5-34
A00.069 5-5, 5-34
A00.070 5-5, 5-63
A00.074 5-5, 5-63
A00.075 5-5
A00.082 5-5
A00.083 5-5
A00.086 5-5
A00.091 5-5, 5-33, 5-34, 5-64, 5-66
A00.092 5-5, 5-63
A00.096 5-5, 5-63
ABS 10-8
Absolute value function 10-8
ACC 4-16
ACC_EFF command 13-11
Acceleration filter 4-78
Access to Tool Data from NC Program 'TLD' 5-86, 12-6
Access to tool data of NC program 'TLD'
General requirements 12-14
Optional parameters 12-14
ACD_COMP 13-12
Achsübergabe zwischen den Prozessen ‘FAX’, ‘GAX’ 9-6
ACOS 10-9
Activating and canceling tool path compensation
cancelling tool path compensation 'G40' 5-78
constant feed at contour 'G99' 5-84
constant feed on tool center line 'G98' 5-83
inserting a 'chamfer' transition element 'G44' 5-82
inserting transition element 'arc' 'G43' 5-82
tool path compensation, left 'G41' 5-79
tool path compensation, right 'G42' 5-79
Adaptive feed control 4-47
Additional spindle speed limitation 4-58
Additional tool carrier 8-4, 8-5, 8-6, 8-12
Address label
I, J, K 10-2
Address letter
Q 6-5, 10-3
R 10-2
S 4-52, 6-4
S, S[1-3] 10-2
ADJUST 3-38
ADJUST and REPOS subroutine 3-39
Adjustable zero offset - G59 3-7
Adjustable zero offsets - G54 3-7
Adressbuchstabe
ACC 10-2, 10-3
D 10-3
E 10-3
F 10-2
O 10-3
P 10-2
RX, RY, RZ 10-3
T 10-3
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
16-2 Index NC Programming Instructions
B
Basic tool data 5-6
BEQ branch command 9-17
BER branch command 7-5, 9-17
BES branch command 7-5, 9-16
BEV command 7-7
Block instructions 11-3
BMI branch command 9-17
BNE branch command 9-17
Boring tool 5-10
BPL branch command 9-17
BRA branch command 9-9
Branches depending on arithmetic results
Branch If Equal to Zero 'BEQ' 9-17
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Index 16-3
C
Cancelling tool path compensation 'G40' See Activating and Canceling Tool
Path Compensation
Cartesian coordinate system 8-1 See Coordinate system
CEV 7-8
Chamfers 13-1
Chamfers and roundings 13-1
contiguous motion blocks 13-2
Illegal commands 13-2
No variables 13-3
Changing tools 8-8
combined circular and linear interpolation See Interpolation Functions - Helical
Interpolation
Conditional branches 9-16
Branch if NC Event is Reset 'BER' 9-17
Branch if NC Event is Set 'BES' 9-16
Branch if Spindle is Empty 'BSE' 9-16
Branch if T0 Was Set 'BTE' 9-16
Branch upon Reference 'BRF' 9-16
Conditional jumps 3-42
Constant cutting speed 8-6, 8-12
Constant feed at contour 'G99' See Activating and Canceling Tool Path
Compensation
Constant feed on tool center line 'G98' See Activating and Canceling Tool Path
Compensation
Constant surface speed 'G96' See Spindle Speed
Contact point 'B' 5-45
CONTINUE 11-1
CONTINUE instruction 11-5
Control software 1-1
Coordinate system 3-1
Coordinate transformation
face machining 4-63
lateral cylinder surface machining 4-63
COS 10-9
Current grinding wheel diameter 5-65
Current tool list 5-2
Cycle header 15-14
creating input menus for cycles 15-14
events 15-16
header ID 15-14
NC variables 15-15
standard calls 15-16
Cycle Header
graphic file 15-17
D
D corrections 1-3, 5-88
use 5-89
Data exchange with digital drives with SERCOS Interface 3-41
Default plane 8-1
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
16-4 Index NC Programming Instructions
DEG 10-5
DEV 7-8
Diameter programming 'G16' 3-24
Dimension entry
Absolute dimension entry ‘G90’ 3-3
Dimensions
incremental dimensions ‘G91’ 3-4
DIN 66025
Deviation from standard with G00 4-80
DP command 9-2
Dwell time 'G04' See Feed
E
EEV 7-8
Effective radii 'RX', 'RY', 'RZ' See Rotary Axis Programming
Elemente eines NC-Satzes 2-5
Elements of a NC Block 2-5
Elements of an NC block
skipping blocks 2-6
Enhanced look-ahead function 13-1
ACC_EFF change effective resulting path acceleration 13-11
access to current data in the controller 13-12
ADTRC loading distance to establish the tool radius path compensation 13-11
axis-related velocities 13-11
contiguous motion blocks 13-11
global variables 13-10
METB minimum execution time of an NC block 13-10
no variables 13-11
percentual acceleration correction 13-11
Possible uses 13-9
TL_RADIUS specify tool radius 13-10
Tool management 13-11
TRC tool radius compensation 13-11
Enhanced Look-Ahead Function 13-9
Equipment check 5-2
Event 3-42
Events
Asynchronous handling of NC events
Call Subroutine if Event is Set 'BEV' 7-7
Cancel NC Event Monitoring 'CEV' 7-8
Disable NC Event Monitoring 'DEV' 7-8
Enable NC Event Monitoring 'EEV' 7-8
Program Branching if NC Event is Set 'JEV' 7-8
conditional branches for events 7-5
Conditional branches for events
Branch if NC Event is Reset 'BER' 7-5
Branch if NC Event is Set 'BES' 7-5
influencing events 7-2
Influencing events
Reset Event 'RE' 7-3
Set Event 'SE' 7-2
Wait until NC Event is Reset 'WER' 7-4
Wait until NC Event is Set 'WES' 7-3
Interrupting NC events 7-6
Exact stop 4-80
Exact stop limit See Interpolation conditions – exact stop limit'G61'
F
F word See Feed
Facing 3-40
FAX 3-42, 9-6
feed 4-40
Feed
axis velocity 4-44
dwell time 'G04' 4-43
F word 4-40
feed rate per spindle revolution 'G95' 4-42
programmed path velocity (F) 4-44
for thread cutting
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Index 16-5
with RZ 4-45
without RZ 4-44
time programming 'G93' 4-41
velocity programming 'G94' 4-42
Feed against positive stop 3-40
Feed control 4-47
Feed rate per spindle revolution 'G95' See Feed
Feed to positive stop 3-31
cancel all axis preloads G76 3-34
feed to positive stop G75 3-32
Fixed location-encoded tools 5-30
Follower and Gantry axes
applications 4-75
auxiliary functions for synchronized operation 4-76
machine data for synchronized axis groups 4-77
NC programming 4-77
permissible configurations 4-76
steps of a follower operation 4-76
Follower axes and gantry axes 4-75
FOR 11-1
FOR instruction 11-4
Free plane selection 8-1
Functions 15-3
G
G00 4-18, 5-61, 5-62
G01 4-19
G02 4-20
G03 4-20
G04 4-43
G06 4-2
G07 4-5
G08 4-8
G09 4-10
G10 4-78, 4-80
G11 4-78, 4-80
G15 Radius programming 3-24
G17 8-1
G17 plane selection XY 3-17
G18 8-1
G18 plane selection ZX 3-17
G19 8-1
G19 plane selection YZ 3-17
G20 3-18, 8-1
G21 3-18, 8-1
G22 3-18, 8-1
G30 4-70
G31 4-63
G32 4-68
G33 4-28, 4-32
G36 4-61
G37 4-61
G38 4-61
G40 5-78, 8-8
G41 5-62, 5-79
G42 5-62, 5-79
G43 5-82
G44 5-82
G47 5-85, 8-8, 8-12
G48 5-58, 5-61, 5-85
G49 5-58, 5-61, 5-86
G50 3-7
G50 absolute 3-13
G51 3-7
G51 incremental 3-13
G52 3-7, 3-14
G53 3-15
G54 3-7, 8-8
G54 G59 3-9
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
16-6 Index NC Programming Instructions
G59 3-7
G61 4-80
G61 – Exact stop 4-12
G62 - Rapid NC Block Transition 4-14
G63 - Spindle stops at the end of movement 4-34
G64 - Spindle continues rotating after the end of motion 4-34
G65 4-38
G66 5-65
G66 Constant grinding wheel peripheral speed 4-55
G70 3-25
G71 3-26
G72 - Deactivate mirroring for all axes 3-27
G73 - Activate mirroring 3-25, 3-26, 3-27
G74 3-31, 8-10
G75 3-32
G76 3-34
G77 3-37
G78 - Scaling for all axes off 3-29
G90 3-3
G91 3-4
G92 4-57
G93 4-41
G94 4-42
G95 4-42
G96 4-56, 8-6, 8-12
G98 5-83
G99 5-84
GAX 3-42, 9-6
GAX command 9-6
Geometry registers 5-56
Go to axes reference point ‘G74’ 3-31
Graphic NC editor 13-13
function 13-13
Instructions 13-13
Graphical NC editor 13-1
Grinding wheel peripheral speed 4-55
Grinding wheel-specific tool data 5-64
Gripper 5-11
H
Helical interpolation See Interpolation Functions
HLT command 9-9
HMI function
Acknowledge tool change/ tool breakage 5-57
Home position 8-10
Homing axes 3-40
I
IF instruction 11-3
IF-ELSE 11-1
Inch data 3-25
Inclined axis 4-50
Inclined grinding wheel 5-67
Inserting a chamfer transition element 'G44' See Activating and canceling tool
path compensation
Inserting an arc transition element 'G43' See Activating and Canceling Tool Path
Compensation
INT 10-8
INT function 10-8
Interpolation conditions 4-2
Interpolation functions 4-18
circular interpolati 'G02' / 'G03'
Interpolation parameters I, J, K 4-21
circular interpolation 'G02' / 'G03'
circle radius programming 4-24
clockwise 'G02' 4-20
counterclockwise 'G03' 4-20
interpolation parameters I, J, K
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Index 16-7
J
Jerk filter 4-78
JEV command 7-8
JMP jump command 9-10
Jogging
With nonuniform tool pocket distribution 8-20
JSR command 9-11
L
LA_OFF 13-10
LA_ON 13-10
Lateral cylinder surf. machining
plane selection 4-68
Lateral cylinder surface machining 3-40, 4-67
LD function 10-10
Length compensation 5-58
Length wear factors 5-61
Level selection 3-16
LG function 10-10
Linear and rotary auxiliary axes See Axes
Linear Main Axes 4-1
LN function 10-10
Location data 5-30
Location-specific tool status bit 5-19
LP command 9-4
M
M functions 6-1
M000 6-3
M001 6-3
M002 / M030 6-3
M19 S... 6-4
Machine parameter
Bxx.034 Time constant for acceleration 4-78
Cxx.018 Maximumacceleration 4-78
Machining planes 8-1
Macro technique 13-1, 13-5
enhancing NC functions 13-5
macro 13-3
Main spindle synchronization 4-71
functions 4-71
Machine data for main spindle synchronization 4-74
permissible configurations 4-72
sequence of a synchronization operation
activate main spindle synchronization 4-73
deactivate synchronization 4-73
synchronization process 4-73
use 4-71
Mainspindlesynchronization
sequenceofasynchronizationoperation
auxiliaryfunctionsforselectingandcancelingmainspindlesynchronization 4-73
Mathematical expressions
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
16-8 Index NC Programming Instructions
functions
tangent - TAN 10-9
Mathematical expressions
Function
Arc-sine - ASIN
Angle unit - degrees 10-9
functions 10-8
absolute value - ABS 10-8
arc-cosine - ACOS 10-9
angle unit - radian 10-9
arc-sine - ASIN 10-9
arc-tangent - ATAN 10-9
cosine - COS 10-9
integer - INT 10-8
logarithm to base 10 - LG 10-10
logarithm to base 2 - LD 10-10
logarithm to base e - LN 10-10
power to base - E^ 10-10
power to base 10 - 10^ 10-10
power to base 2 - 2^ 10-10
sine - SIN 10-8
square root - SQRT 10-8
time in seconds - TIME 10-10
Functions
Arc-cosine ACOS
Angle unit - degrees 10-9
Inverse tangent - ATAN
Unit - degrees 10-10
operands 10-7
constants 10-7
floating-point constants 10-7
system constants 10-7
operators 10-7
addition + 10-7
division / 10-7
multiplication 10-7
remainder integer whole division (modulo) % 10-7
subtraction - 10-7
parentheses 10-8
Mathematical Expressions 10-6
Maximum grinding wheel circumferential speed 5-65
Maximum spindle speed 5-64
Measurement units 3-25
millimeters 'G71' 3-26
Measurements 3-3
MEN 8-19
METB command 13-10
MFP 8-5, 8-16
MHP 8-10
MHP 8-5, 8-20
Millimeter data 3-26
Milling tool 5-10
Minimum spindle speed (S min) 5-64
Mirror imaging of coordinate axes ‘G72’ / 'G73
mirroring one axis 3-27
Mirror imaging of coordinate axes ‘G72’ / 'G73' 3-27
MMA 8-15
MMP 8-5, 8-13, 8-20
Modal function 13-1, 13-7
drilling holes 13-7
Modal rounding and chamfering 13-8
MODF_OFF 13-7
MODF_ON 13-7
MODF_ON(STRI) - modal function ON 13-7
MOP 8-5, 8-17
Motion Blocks 4-1
Motion commands 3-2
coordinate value 3-2
Motion sequence 4-78, 4-80
MRF 8-5, 8-10
MRY 8-5, 8-19
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Index 16-9
N
NC compiler 13-1
NC Compiler Functions 13-1
NC control structures
Block instructions 11-3
BREAK 11-1
BREAK instruction 11-5
Conditions 11-2, 11-6
CONTINUE 11-1
CONTINUE instruction 11-5
FOR 11-1
FOR instruction 11-4
IF instruction 11-3
IF-ELSE 11-1
REPEAT-UNTIL 11-1
REPEAT-UNTIL instruction 11-4
SWITCH instruction 11-5
SWITCH-CASE 11-1
WHILE 11-1
WHILE instruction 11-4
NC cycle programs 1-3
NC events 1-3
NC program 2-1
NC program changeover between spindle and C axis See Rotary Axis
Programming
NC program package 1-3
NC program restart 3-38
NC program restart with ‘ADJUST’ and ‘REPOS’ 3-38
NC programming 14-1
NC syntax
Enhanced 11-1
NC variable 1-3
NC variables
Indexed 11-7
NC word 2-7
numerical value 2-7
NC wort
address letter 2-7
NC-specific peculiarities in NC block restart 3-40
Nonuniform spacing of tool positions 8-20
Nonuniform tool pocket distribution 8-20
Number of tool edges 5-13
O
O[0-9] 3-11
Offset register 5-56
Offsets 3-5
Operation without setup list 5-4
Organization of setup lists
program-specific organization 2-1
station-specific organization 2-1
Organization of setup lists 2-1
OTD command 3-15, 12-4
P
P 3-10
Parameters 1-2
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
16-10 Index NC Programming Instructions
PHI 3-10
PLC 3-42
POK command 9-5
Positions 1-4 8-20
Possible allocations between AXD, OTD, TLD, MTD
allocations between AXD, OTD, TLD, DCD and MTD commands
invalid allocations 12-25
Possible allocations between AXD, OTD, TLD, MTD, DCD 12-22
allocations between AXD, OTD, TLD and MTD commands 12-25
handling AXD commands
illegal allocations 12-22
possible allocations 12-22
handling DCD commands
illegal allocations 12-24
possible allocations 12-24
handling MTD commands
Invalid allocations 12-24
possible allocations 12-24
handling OTD commands
illegal allocations 12-23
possible allocations 12-23
handling TLD commands 12-23
illegal allocations 12-23
possible allocations 12-23
Preparing a tool 8-4
Preparing tools and tool data
selecting tool spindle ‘SPT’ 8-6
Preparing tools and tool data for a magazine 8-3
Preparing tools and tool data for a turret 8-4
Primary blocks 3-38
Process control commands 9-1
Define Process 'DP' 9-2
Lock Process 'LP' 9-4
Select NC Program for Process 'SP' 9-2
Start Advance Program 'AP' 9-3
Wait for Process 'WP' 9-3
Process parameter 1-3
Process-specific programming 2-4
Program control commands 9-9
Branch Absolute 'BRA' 9-9
Branch with Stop 'BST' 9-9
Jump to Another NC Program 'JMP' 9-10
Program End with Reset 'RET' 9-9
Programmed Halt 'HLT' 9-9
Program organization
program no. 99 2-2
reverse program 2-3
Program Organization
Advance program 2-3
Program No. 0 2-2
Program structure 2-2
Zero offset, absolute 3-7
Zero offset, incremental 3-7
Programmable absolute zero offset - G50 3-7
Programmable incremental zero offset - G51 3-7
Programmable work piece zero point - G52 3-7
Prozess-spezifische Programmierung 2-4
PxxC.MGITW 5-4, 5-29
PxxC.MGNSL 5-4, 5-60
PxxC.MGWTC 5-2
PxxS.MGCP 8-15
PxxS.MGTWO 5-39, 5-55
PxxS.MGWRN 5-40, 5-55
Q
Q function 6-5
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Index 16-11
R
RAD 10-5
Radius compensation 5-59
Radius programming 'G15' 3-24
Radiusverschleißfaktor 5-62
RD command 13-1
RDI 4-78, 4-79, 10-6
RE command 7-3
Read position value 3-42
Read/write D corrections from the NC program 'DCD' 12-19
Read/write machine data
purpose of machine data
required data structure 12-20
Read/write machine data elements 'MTD'
General requirements 12-21
Verifications during access 12-21
Read/Write Machine Data 12-20
Read/write zero offset data from the NC program 'OTD'
General requirements 12-5
Reading and writing ZO data to/from the NC program ‘OTD’ 12-4
Reading events in variable 7-10
Reference position 8-10
Remaining tool life in percent 5-53
REPEAT-UNTIL 11-1
REPEAT-UNTIL instruction 11-4
Replacement tool s 5-26
REPOS 3-38
Reposition and restart to the contour
reposition in the automatic operating modes 3-36
Repositioning and NC block restart to the contour 3-36
Repositioning and restarting to contour
repositioning and restarting to destination position 'G77' 3-37
RET command 9-9
REV_SYNC 8-5
Reverse vectors 9-13
set reverse vector ‘REV’
clear reverse vectors by control-reset 9-15
Set Reverse Vector 'REV' 9-13
Right-hand rule 3-1
Rotary axis programming 4-60
approach logic for endlessly rotating rotary axes
modulo calculation
negative direction ‘G38’ 4-62
positive direction ‘G37’ 4-62
shortest path ‘G36’ 4-62
effective radii 'RX', 'RY', 'RZ' 4-60
NC program changeover between spindle and C axis 4-61
changeover with rotary axis-capable main spindle drive 4-61
rotary axis start-up logic
modulo calculation 4-61
Rotary main axes 4-1 See Axes
Round distance RDI 4-79, 10-6
Rounding 13-1
Rounding of NC blocks with axis filter
enabling/disabling 4-79, 4-80, 10-6
Rounding within a motion sequence 4-80
Rounding of NC blocks with axis filter G11 / RDI 4-78
RP command 9-3
RTS command 9-12
RX 4-60
RY 4-60
RZ 4-60
S
S 4-52
S max 5-64
S min 5-64
S word 6-5
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
16-12 Index NC Programming Instructions
T
TAN 10-9
TAN function 10-9
Tapping 4-37
Tapping 'G65' See Interpolation Functions See Interpolation Functions
Tapping without compensating chuck 'G63' / 'G64' See Interpolation Functions
TCH 8-4, 8-22
Technology data 5-33
Theoretical edge tip 5-44
Thread cutting 'G33' See Interpolation Functions
Thread sequence 4-32
Thread Sequences with 'G33' See Interpolation Functions
TID 5-2
TIME 10-10
TIME function 10-10
Time programming 'G93' See Feed
Time-optimized NC programming
CNC time data 14-4
priorities 14-2
programming in the NC block 14-1
stopping block preparation by NC commands 14-3
time data with digital drives 14-4
Time-Optimized NC Programming 14-1
TL_RADIUS command 13-10
TLD 5-86, 12-6
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Index 16-13
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
16-14 Index NC Programming Instructions
U
Units 5-33
User tool data 5-34
User tool edge data 5-63
Using the transformation function 4-63
V
Variable Assignments and Arithmetic Functions 10-1
Variables 10-1
data representation 10-1
negating the contents of a variable 10-1
value assignment 10-1
variable assignment 10-2
acceleration factor 10-2, 10-3
angle 10-2
auxiliary function 10-3
coordinate values of existing axes 10-2
D correction 10-3
effective distances 10-3
feed rate 10-2
G functions 10-3
interpolation parameters 10-2
M functions 10-4
radius 10-2
spindle speed 10-2
tool edge number 10-3
zero offset table 10-3
Variable assignment
Tool number 10-3
variable assignments
angle
angle of rotation ‘P’ 10-2
starting angle ‘P’ 10-2
W
Wear factors 5-61
Wear registers 5-57
WES 7-3
WHILE 11-1
WHILE instruction 11-4
workpiece zero point, programmable - G52 3-7
WP command 9-3
Z
Zero offset, adjustable - G59 3-7
Zero offsets 3-7
additional tool carrier 8-4, 8-5, 8-6, 8-12
adjustable general offset in the zero offset table 3-15
adjustable zero offsets ‘G54 - G59’ 3-9
cancel zero offsets 'G53' 3-15
coordinate rotation with angle of rotation 'P' 3-10
programmable absolute zero offset 'G50' 3-13
programmable incremental zero offset 'G51' 3-13
read/write zero offset data from NC program via ‘OTD’ 3-15
sum of zero offsets 3-8
zero offset tables ‘O’ 3-11
Zero Offsets
programmable zero point of workpiece 'G52' 3-14
Zero offsets, adjustable - G54 3-7
Zero points 1-4
machine reference point 3-5
machine zero point 3-5
workpiece zero point 3-5
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Service & Support 17-1
17.1 Helpdesk
Unser Kundendienst-Helpdesk im Hauptwerk Lohr Our service helpdesk at our headquarters in Lohr am
am Main steht Ihnen mit Rat und Tat zur Seite. Main, Germany can assist you in all kinds of inquiries.
Sie erreichen uns Contact us
17.2 Service-Hotline
Außerhalb der Helpdesk-Zeiten ist der Service After helpdesk hours, contact our service
direkt ansprechbar unter department directly at
17.3 Internet
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
17-2 Service & Support NC Programming Instructions
Vertriebsgebiet Mitte
Germany Centre SERVICE SERVICE SERVICE
Rexroth Indramat GmbH CALL ENTRY CENTER HOTLINE ERSATZTEILE / SPARES
Bgm.-Dr.-Nebel-Str. 2 / Postf. 1357 MO – FR MO – FR verlängerte Ansprechzeit
97816 Lohr am Main / 97803 Lohr von 07:00 - 18:00 Uhr von 17:00 - 07:00 Uhr - extended office time -
Kompetenz-Zentrum Europa
from 5 pm - 7 am ♦ nur an Werktagen
from 7 am – 6 pm + SA / SO - only on working days -
Tel.: +49 (0)9352 40-0 Tel.: +49 (0)172 660 04 06 ♦ von 07:00 - 18:00 Uhr
Tel. +49 (0) 9352 40 50 60
Fax: +49 (0)9352 40-4885 oder / or - from 7 am - 6 pm -
[email protected] Tel.: +49 (0)171 333 88 26 Tel. +49 (0) 9352 40 42 22
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Service & Support 17-3
Sweden - Schweden Switzerland East - Schweiz Ost Switzerland West - Schweiz West
Bosch Rexroth AB Bosch Rexroth Schweiz AG Bosch Rexroth Suisse SA
Electric Drives & Controls Electric Drives & Controls Av. Général Guisan 26
Ekvändan 7 Hemrietstrasse 2 1800 Vevey 1
254 67 Helsingborg 8863 Buttikon
Tel.: +46 (0) 42 38 88 -50 Tel. +41 (0) 55 46 46 111 Tel.: +41 (0)21 632 84 20
Fax: +46 (0) 42 38 88 -74 Fax +41 (0) 55 46 46 222 Fax: +41 (0)21 632 84 21
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
17-4 Service & Support NC Programming Instructions
Czech Republic - Tschechien Czech Republic - Tschechien Hungary - Ungarn Poland – Polen
Bosch -Rexroth, spol.s.r.o. DEL a.s. Bosch Rexroth Kft. Bosch Rexroth Sp.zo.o.
Hviezdoslavova 5 Strojírenská 38 Angol utca 34 ul. Staszica 1
627 00 Brno 591 01 Zdar nad Sázavou 1149 Budapest 05-800 Pruszków
Tel.: +420 (0)5 48 126 358 Tel.: +420 566 64 3144 Tel.: +36 (1) 422 3200 Tel.: +48 22 738 18 00
Fax: +420 (0)5 48 126 112 Fax: +420 566 62 1657 Fax: +36 (1) 422 3201 – service: +48 22 738 18 46
Fax: +48 22 758 87 35
– service: +48 22 738 18 42
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions Service & Support 17-5
Taiwan Thailand
Bosch Rexroth Co., Ltd. NC Advance Technology Co. Ltd.
Taichung Branch 59/76 Moo 9
1F., No. 29, Fu-Ann 5th Street, Ramintra road 34
Xi-Tun Area, Taichung City Tharang, Bangkhen,
Taiwan, R.O.C. Bangkok 10230
Tel : +886 - 4 -23580400 Tel.: +66 2 943 70 62
Fax: +886 - 4 -23580402 +66 2 943 71 21
[email protected] Fax: +66 2 509 23 62
[email protected] Hotline +66 1 984 61 52
[email protected] [email protected]
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
17-6 Service & Support NC Programming Instructions
USA East Region – Ost USA Northeast Region – Nordost USA West Region – West
Bosch Rexroth Corporation Bosch Rexroth Corporation Bosch Rexroth Corporation
Electric Drives & Controls Electric Drives & Controls 7901 Stoneridge Drive, Suite 220
Charlotte Regional Sales Office Northeastern Technical Center Pleasant Hill, California 94588
14001 South Lakes Drive 99 Rainbow Road
Charlotte, North Carolina 28273 East Granby, Connecticut 06026
Tel.: +1 704 5 83 97 62 Tel.: +1 860 8 44 83 77 Tel.: +1 925 227 10 84
+1 704 5 83 14 86 Fax: +1 860 8 44 85 95 Fax: +1 925 227 10 81
Canada East - Kanada Ost Canada West - Kanada West Mexico Mexico
Bosch Rexroth Canada Corporation Bosch Rexroth Canada Corporation Bosch Rexroth Mexico S.A. de C.V. Bosch Rexroth S.A. de C.V.
Burlington Division 5345 Goring St. Calle Neptuno 72 Calle Argentina No 3913
3426 Mainway Drive Burnaby, British Columbia Unidad Ind. Vallejo Fracc. las Torres
Burlington, Ontario Canada V7J 1R1 07700 Mexico, D.F. 64930 Monterrey, N.L.
Canada L7M 1A8
Tel.: +1 905 335 5511 Tel. +1 604 205 5777 Tel.: +52 55 57 54 17 11 Tel.: +52 81 83 65 22 53
Fax: +1 905 335 4184 Fax +1 604 205 6944 Fax: +52 55 57 54 50 73 +52 81 83 65 89 11
Hotline: +1 905 335 5511 Hotline: +1 604 205 5777 [email protected] +52 81 83 49 80 91
[email protected] [email protected] Fax: +52 81 83 65 52 80
[email protected]
Columbia - Kolumbien
Reflutec de Colombia Ltda.
Calle 37 No. 22-31
Santafé de Bogotá, D.C.
Colombia
Tel.: +57 1 368 82 67
+57 1 368 02 59
Fax: +57 1 268 97 37
[email protected]
[email protected]
DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com
NC Programming Instructions
Notes
DOK-MTC200-NC**PROV23-AW01-EN-P
www.EngineeringBooksPdf.com
Bosch Rexroth AG
Electric Drives and Controls
P.O. Box 13 57
97803 Lohr, Germany
Bgm.-Dr.-Nebel-Str. 2
97816 Lohr, Germany
Phone +49 93 52-40-50 60
Fax +49 93 52-40-49 4 1
[email protected]
www.boschrexroth.com
Printed in Germany
R911296998 DOK-MTC200-NC**PRO*V23-AW01-EN-P
www.EngineeringBooksPdf.com