Siemens 840D - Basic Functions
Siemens 840D - Basic Functions
SINUMERIK
SINUMERIK 840D sl / 828D
Basic Functions
Function Manual
Valid for
Controllers
SINUMERIK 840D sl / 840DE sl
SINUMERIK 828D
Software
CNC software
01/2015
6FC5397-0BP40-5BA2
Version
4.7 SP1
Fundamental safety
instructions
B2: Acceleration
10
11
12
13
14
R1: Referencing
15
S1: Spindles
16
V1: Feedrates
17
18
19
Appendix
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
indicates that minor personal injury can result if proper precautions are not taken.
NOTICE
indicates that property damage can result if proper precautions are not taken.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will be
used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to property
damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation, in particular its warning notices and safety instructions. Qualified
personnel are those who, based on their training and experience, are capable of identifying risks and avoiding
potential hazards when working with these products/systems.
Trademarks
All names identified by are registered trademarks of Siemens AG. The remaining trademarks in this publication
may be trademarks whose use by third parties for their own purposes could violate the rights of the owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software described.
Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the information in
this publication is reviewed regularly and any necessary corrections are included in subsequent editions.
Siemens AG
Division Digital Factory
Postfach 48 48
90026 NRNBERG
GERMANY
Preface
SINUMERIK documentation
The SINUMERIK documentation is organized in the following categories:
General documentation
User documentation
Manufacturer/service documentation
Additional information
You can find information on the following topics at www.siemens.com/motioncontrol/docu:
Ordering documentation/overview of documentation
Additional links to download documents
Using documentation online (find and search in manuals/information)
Please send any questions about the technical documentation (e.g. suggestions for
improvement, corrections) to the following address:
[email protected]
Training
For information about the range of training courses, refer under:
www.siemens.com/sitrain
SITRAIN - Siemens training for products, systems and solutions in automation technology
www.siemens.com/sinutrain
SinuTrain - training software for SINUMERIK
FAQs
You can find Frequently Asked Questions in the Service&Support pages under Product
Support. http://support.automation.siemens.com
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Preface
SINUMERIK
You can find information on SINUMERIK under the following link:
www.siemens.com/sinumerik
Target group
This publication is intended for:
Project engineers
Technologists (from machine manufacturers)
System startup engineers (Systems/Machines)
Programmers
Benefits
The function manual describes the functions so that the target group knows them and can
select them. It provides the target group with the information required to implement the
functions.
Standard version
This documentation only describes the functionality of the standard version. Extensions or
changes made by the machine tool manufacturer are documented by the machine tool
manufacturer.
Other functions not described in this documentation might be executable in the control. This
does not, however, represent an obligation to supply such functions with a new control or when
servicing.
Further, for the sake of simplicity, this documentation does not contain all detailed information
about all types of the product and cannot cover every conceivable case of installation, operation
or maintenance.
Technical Support
You will find telephone numbers for other countries for technical support in the Internet under
http://www.siemens.com/automation/service&support
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Preface
Appendix with:
List of abbreviations
Documentation overview
Index of terms
Note
For detailed descriptions of data and alarms see:
For machine and setting data:
Detailed description of machine data (only electronically on DOConCD or DOConWEB)
For NC/PLC interface signals:
Function Manual, Basic Functions; NC/PLC Interface Signals (Z1)
Function Manual, Basic Functions; NC/PLC Interface Signals (Z2)
Function Manual, Special Functions; NC/PLC Interface Signals (Z3)
For alarms:
Diagnostics Manual
Notation
Example
NC/PLC interface
signals
Machine data
Setting data
Note
Signal address
The description of functions include as <signal address> of an NC/PLC interface signal, only
the address valid for SINUMERIK 840D sl. The signal address for SINUMERIK 828D should
be taken from the data lists "Signals to/from ..." at the end of the particular description of
functions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Preface
Quantity structure
Explanations concerning the NC/PLC interface are based on the absolute maximum number
of sequential components:
Mode groups (DB11)
Channels (DB21, etc.)
Axes/spindles (DB31, etc.)
Data types
The control provides the following data types that can be used for programming in part
programs:
Type
Meaning
Value range
INT
Signed integers
REAL
5,0*10-324 1,7*10+308
BOOL
Boolean values
CHAR
STRING
AXIS
Axis names
FRAME
---
Note
Arrays can only be formed from similar elementary data types. Up to 3-dimensional arrays are possible.
== AXPOS
ELSE
...
<> AXPOS
ENDIF
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
Preface.........................................................................................................................................................3
1
1.2
Industrial security...................................................................................................................33
Brief description.....................................................................................................................35
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8
2.2.9
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.5.1
2.3.5.2
2.3.5.3
2.3.6
2.3.6.1
2.3.6.2
2.3.6.3
2.3.6.4
2.3.6.5
2.3.6.6
2.3.6.7
Functions................................................................................................................................53
Screen refresh behavior for overload - only 840D sl..............................................................53
Settings for involute interpolation - only 840D sl....................................................................54
Activate DEFAULT memory - only 840D sl............................................................................57
Read and write PLC variable - only 840D sl..........................................................................57
Access protection via password and keyswitch.....................................................................60
Password...............................................................................................................................62
Keyswitch positions (DB10, DBX56.4 to 7)............................................................................63
Parameterizable protection levels..........................................................................................64
Switching over motor/drive data sets.....................................................................................65
General Information...............................................................................................................65
Formatting interfaces.............................................................................................................65
Request interface...................................................................................................................66
Display interface.....................................................................................................................67
Example.................................................................................................................................67
Overview of the interfaces......................................................................................................68
Supplementary conditions......................................................................................................69
2.4
2.4.1
Examples...............................................................................................................................70
Parameter set changeover.....................................................................................................70
2.5
2.5.1
2.5.1.1
2.5.1.2
2.5.1.3
2.5.1.4
2.5.2
Data lists................................................................................................................................72
Machine data..........................................................................................................................72
Display machine data.............................................................................................................72
NC-specific machine data......................................................................................................72
Channelspecific machine data...............................................................................................72
Axis/spindlespecific machine data.........................................................................................72
System variables....................................................................................................................74
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
2.5.3
2.5.3.1
2.5.3.2
2.5.3.3
2.5.3.4
2.5.3.5
2.5.3.6
2.5.3.7
2.5.3.8
3
Signals...................................................................................................................................74
Signals to NC.........................................................................................................................74
Signals from NC.....................................................................................................................74
Signals to operator panel front...............................................................................................75
Signals from operator panel front...........................................................................................75
Signals to channel..................................................................................................................76
Signals from channel..............................................................................................................76
Signals to axis/spindle............................................................................................................76
Signals from axis/spindle.......................................................................................................76
Brief description.....................................................................................................................79
Axis monitoring functions.......................................................................................................79
Protection zones....................................................................................................................79
3.2
3.2.1
3.2.1.1
3.2.1.2
3.2.2
3.2.2.1
3.2.2.2
3.2.2.3
3.2.2.4
3.2.2.5
3.2.3
3.2.4
3.2.5
3.2.5.1
3.2.5.2
3.2.5.3
3.2.6
3.2.6.1
3.2.6.2
3.2.7
3.2.7.1
3.2.7.2
3.2.7.3
3.2.8
3.2.9
3.2.9.1
3.2.9.2
3.2.9.3
3.2.9.4
3.2.9.5
3.3
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
Protection zones..................................................................................................................130
General................................................................................................................................130
Types of protection zone......................................................................................................132
Definition via part program instruction..................................................................................135
Definition as per system variable.........................................................................................138
Activating and deactivating protection zones.......................................................................140
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
3.3.6
3.3.7
3.3.8
3.4
3.4.1
Supplementary conditions....................................................................................................159
Axis monitoring functions.....................................................................................................159
3.5
3.5.1
3.5.1.1
3.5.2
3.5.2.1
Examples.............................................................................................................................159
Axis monitoring functions.....................................................................................................159
Working area limitation in WCS/SZS...................................................................................159
Protection zones..................................................................................................................162
Definition and activation of protection zones........................................................................162
3.6
3.6.1
3.6.1.1
3.6.1.2
3.6.1.3
3.6.2
3.6.2.1
3.6.3
3.6.3.1
3.6.3.2
3.6.3.3
3.6.3.4
Data lists..............................................................................................................................171
Machine data........................................................................................................................171
NC-specific machine data....................................................................................................171
Channelspecific machine data.............................................................................................172
Axis/spindlespecific machine data.......................................................................................173
Setting data..........................................................................................................................174
Axis/spindlespecific setting data..........................................................................................174
Signals.................................................................................................................................174
Signals to channel................................................................................................................174
Signals from channel............................................................................................................175
Signals to axis/spindle..........................................................................................................175
Signals from axis/spindle.....................................................................................................176
Brief Description...................................................................................................................177
4.2
4.3
4.3.1
4.3.2
4.3.3
4.3.3.1
4.3.3.2
4.3.3.3
4.3.3.4
4.3.3.5
4.3.4
4.3.4.1
4.3.4.2
Continuous-path mode.........................................................................................................184
General functionality............................................................................................................184
Velocity reduction according to overload factor...................................................................186
Rounding..............................................................................................................................188
Rounding according to a path criterion (G641)....................................................................190
Rounding in compliance with defined tolerances (G642/G643)...........................................192
Rounding with maximum possible axial dynamic response (G644).....................................195
Rounding of tangential block transitions (G645)..................................................................198
Rounding and repositioning (REPOS).................................................................................199
LookAhead...........................................................................................................................200
Standard functionality...........................................................................................................200
Free-form surface mode: Extension function.......................................................................206
4.4
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
Dynamic adaptations............................................................................................................210
Smoothing of the path velocity.............................................................................................210
Adaptation of the dynamic path response............................................................................213
Determination of the dynamic response limiting values.......................................................217
Interaction between the "smoothing of the path velocity" and "adaptation of the path
dynamic response" functions...............................................................................................218
Dynamic response mode for path interpolation....................................................................222
Free-form surface mode: Basic functions............................................................................224
4.5
4.5.1
Compressor functions..........................................................................................................227
Compression of blocks for linear and circular movement....................................................227
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
10
4.5.2
4.5.3
4.6
Contour/Orientation tolerance..............................................................................................232
4.7
4.8
RESET behavior..................................................................................................................238
4.9
4.9.1
4.9.2
Supplementary conditions....................................................................................................238
Block change and positioning axes......................................................................................238
Block change delay..............................................................................................................239
4.10
4.10.1
4.10.1.1
4.10.1.2
4.10.1.3
4.10.2
4.10.2.1
4.10.3
4.10.3.1
4.10.3.2
Data lists..............................................................................................................................239
Machine data........................................................................................................................239
General machine data..........................................................................................................239
Channelspecific machine data.............................................................................................239
Axis/spindlespecific machine data.......................................................................................240
Setting data..........................................................................................................................241
Channelspecific setting data................................................................................................241
Signals.................................................................................................................................241
Signals from channel............................................................................................................241
Signals from axis/spindle.....................................................................................................241
B2: Acceleration.......................................................................................................................................243
5.1
5.1.1
5.1.2
Brief description...................................................................................................................243
General................................................................................................................................243
Features...............................................................................................................................243
5.2
5.2.1
5.2.1.1
5.2.1.2
5.2.1.3
5.2.2
5.2.2.1
5.2.2.2
5.2.3
5.2.3.1
5.2.3.2
5.2.4
5.2.4.1
5.2.4.2
5.2.5
5.2.5.1
5.2.5.2
5.2.5.3
5.2.6
5.2.6.1
5.2.6.2
5.2.7
5.2.7.1
5.2.7.2
5.2.8
5.2.8.1
Functions..............................................................................................................................245
Acceleration without jerk limitation (BRISK/BRISKA) (channel/axis-specific)......................245
General Information.............................................................................................................245
Parameterization..................................................................................................................246
Programming........................................................................................................................247
Constant travel time (channel-specific)................................................................................248
General Information.............................................................................................................248
Parameterization..................................................................................................................249
Acceleration matching (ACC) (axis-specific)........................................................................250
General Information.............................................................................................................250
Programming........................................................................................................................250
Acceleration margin (channel-specific)................................................................................251
General Information.............................................................................................................251
Parameterization..................................................................................................................251
Path-acceleration limitation (channel-specific).....................................................................251
General Information.............................................................................................................251
Parameterization..................................................................................................................252
Programming........................................................................................................................252
Path acceleration for real-time events (channel-specific)....................................................253
General Information.............................................................................................................253
Programming........................................................................................................................254
Acceleration with programmed rapid traverse (G00) (axis-specific)....................................255
General Information.............................................................................................................255
Parameterization..................................................................................................................255
Acceleration with active jerk limitation (SOFT/SOFTA) (axis-specific).................................256
General Information.............................................................................................................256
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
5.2.8.2
5.2.9
5.2.9.1
5.2.9.2
5.2.10
5.2.10.1
5.2.10.2
5.2.11
5.2.11.1
5.2.11.2
5.2.11.3
5.2.12
5.2.12.1
5.2.12.2
5.2.13
5.2.13.1
5.2.13.2
5.2.13.3
5.2.14
5.2.14.1
5.2.14.2
5.2.15
5.2.15.1
5.2.15.2
5.2.16
5.2.16.1
5.2.16.2
5.2.17
5.2.18
5.2.18.1
5.2.18.2
5.2.19
5.2.19.1
5.2.19.2
5.2.19.3
5.2.19.4
5.2.19.5
5.2.19.6
5.2.20
5.2.20.1
5.2.20.2
Parameterization..................................................................................................................256
Excessive acceleration for non-tangential block transitions (axis-specific)..........................256
General Information.............................................................................................................256
Parameterization..................................................................................................................257
Acceleration margin for radial acceleration (channel-specific).............................................257
General Information.............................................................................................................257
Parameterization..................................................................................................................258
Jerk limitation with path interpolation (SOFT) (channel-specific).........................................259
General Information.............................................................................................................259
Parameterization..................................................................................................................261
Programming........................................................................................................................261
Jerk limitation with single-axis interpolation (SOFTA) (axis-specific)...................................262
Parameterization..................................................................................................................262
Programming........................................................................................................................263
Path-jerk limitation (channel-specific)..................................................................................263
General Information.............................................................................................................263
Parameterization..................................................................................................................264
Programming........................................................................................................................264
Path jerk for real-time events (channel-specific)..................................................................265
General Information.............................................................................................................265
Programming........................................................................................................................266
Jerk with programmed rapid traverse (G00) (axis-specific).................................................267
General Information.............................................................................................................267
Parameterization..................................................................................................................267
Excessive jerk for block transitions without constant curvature (axis-specific)....................268
General Information.............................................................................................................268
Parameterization..................................................................................................................268
Velocity-dependent jerk adaptation (axis-specific)...............................................................268
Jerk filter (axis-specific)........................................................................................................270
General Information.............................................................................................................270
Parameterization..................................................................................................................272
Kneeshaped acceleration characteristic curve.....................................................................274
Adaptation to the motor characteristic curve........................................................................274
Effects on path acceleration.................................................................................................276
Substitute characteristic curve.............................................................................................276
Parameterization..................................................................................................................279
Programming........................................................................................................................280
Boundary conditions.............................................................................................................281
Acceleration and jerk for JOG motions................................................................................282
Parameterization..................................................................................................................282
Supplementary conditions....................................................................................................284
5.3
5.3.1
5.3.1.1
5.3.2
5.3.2.1
5.3.3
5.3.4
5.3.4.1
Examples.............................................................................................................................285
Acceleration.........................................................................................................................285
Path velocity characteristic...................................................................................................285
Jerk......................................................................................................................................286
Path velocity characteristic...................................................................................................286
Acceleration and jerk............................................................................................................288
Knee-shaped acceleration characteristic curve...................................................................289
Activation..............................................................................................................................289
5.4
5.4.1
Data lists..............................................................................................................................290
Machine data........................................................................................................................290
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
11
Table of contents
5.4.1.1
5.4.1.2
5.4.1.3
5.4.2
5.4.2.1
5.4.3
6
12
Brief description...................................................................................................................293
6.2
6.2.1
6.2.2
6.2.2.1
6.2.2.2
6.2.2.3
6.2.2.4
6.2.3
6.2.4
6.2.5
6.2.6
6.2.7
6.2.8
6.2.9
Detailed description..............................................................................................................294
Programming........................................................................................................................294
Functional sequence............................................................................................................296
Selection..............................................................................................................................296
Fixed stop is reached...........................................................................................................297
Fixed stop is not reached.....................................................................................................299
Deselection..........................................................................................................................300
Behavior during block search...............................................................................................302
Behavior for reset and function abort...................................................................................305
Behavior with regard to other functions................................................................................306
Setting data..........................................................................................................................307
System variables..................................................................................................................308
Alarms..................................................................................................................................310
Travel with limited torque/force FOC....................................................................................311
6.3
Examples.............................................................................................................................314
6.4
6.4.1
6.4.1.1
6.4.2
6.4.2.1
6.4.3
6.4.3.1
6.4.3.2
Data lists..............................................................................................................................315
Machine data........................................................................................................................315
Axis/spindlespecific machine data.......................................................................................315
Setting data..........................................................................................................................316
Axis/spindle-specific setting data.........................................................................................316
Signals.................................................................................................................................316
Signals to axis/spindle..........................................................................................................316
Signals from axis/spindle.....................................................................................................316
Brief description...................................................................................................................317
7.2
7.2.1
7.2.2
7.2.3
7.2.4
7.2.5
7.3
7.3.1
7.3.2
7.3.3
7.4
7.4.1
7.4.2
7.4.3
Setpoint/actual-value system...............................................................................................336
General................................................................................................................................336
Setpoint and encoder assignment........................................................................................339
Adapting the motor/load ratios.............................................................................................342
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
7.4.4
7.4.5
7.4.6
7.4.6.1
7.4.6.2
7.4.6.3
7.4.6.4
7.4.6.5
7.4.6.6
7.4.6.7
7.5
7.5.1
7.5.2
Closed-loop control..............................................................................................................357
General................................................................................................................................357
Parameter sets of the position controller..............................................................................361
7.6
7.6.1
7.6.2
7.6.3
7.6.4
7.6.5
7.7
7.7.1
7.7.1.1
7.7.1.2
7.7.1.3
7.7.1.4
Data lists..............................................................................................................................374
Machine data........................................................................................................................374
Displaying machine data......................................................................................................374
NC-specific machine data....................................................................................................374
Channelspecific machine data.............................................................................................374
Axis/spindlespecific machine data.......................................................................................375
Brief description...................................................................................................................377
Function...............................................................................................................................377
Definition of an auxiliary function.........................................................................................378
Overview of the auxiliary functions.......................................................................................378
8.2
8.2.1
8.2.2
8.2.3
8.2.3.1
8.2.3.2
8.2.3.3
8.3
8.3.1
8.3.1.1
8.3.1.2
8.3.1.3
8.3.1.4
8.4
8.5
8.6
Priorities of the output behavior for which parameters have been assigned........................411
8.7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13
Table of contents
14
8.8
8.9
8.10
8.11
8.12
Response to overstore.........................................................................................................417
8.13
8.13.1
8.13.2
8.13.3
8.13.4
8.13.5
8.13.6
8.13.7
8.14
8.15
8.15.1
8.15.2
Information options...............................................................................................................438
Group-specific modal M auxiliary function display...............................................................439
Querying system variables...................................................................................................440
8.16
8.16.1
8.16.2
Supplementary conditions....................................................................................................442
General constraints..............................................................................................................442
Output behavior....................................................................................................................443
8.17
8.17.1
8.17.2
Examples.............................................................................................................................444
Extension of predefined auxiliary functions..........................................................................444
Defining auxiliary functions..................................................................................................446
8.18
8.18.1
8.18.1.1
8.18.1.2
8.18.2
8.18.2.1
8.18.2.2
8.18.2.3
8.18.2.4
Data lists..............................................................................................................................450
Machine data........................................................................................................................450
NC-specific machine data....................................................................................................450
Channelspecific machine data.............................................................................................450
Signals.................................................................................................................................451
Signals to channel................................................................................................................451
Signals from channel............................................................................................................451
Signals to axis/spindle..........................................................................................................453
Signals from axis/spindle.....................................................................................................454
Product brief.........................................................................................................................455
9.2
9.2.1
9.2.2
Mode group..........................................................................................................................457
Mode group stop..................................................................................................................460
Mode group reset.................................................................................................................460
9.3
9.3.1
9.3.2
9.4
9.4.1
Channel................................................................................................................................467
Global start disable for channel............................................................................................470
9.5
9.5.1
Program test.........................................................................................................................471
Program execution without setpoint outputs........................................................................471
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
9.5.2
9.5.3
9.5.4
9.6
Workpiece simulation...........................................................................................................478
9.7
9.7.1
9.7.2
9.7.2.1
9.7.2.2
9.7.2.3
9.7.2.4
9.7.3
9.7.4
9.7.5
9.7.6
9.7.6.1
9.8
9.8.1
9.8.2
9.8.2.1
9.8.3
9.8.4
9.8.5
9.8.6
9.8.7
9.8.8
9.8.8.1
9.8.8.2
9.8.8.3
9.8.8.4
9.8.8.5
9.8.8.6
9.8.8.7
9.8.8.8
9.8.8.9
9.8.8.10
9.8.8.11
9.8.8.12
9.8.9
9.9
9.9.1
9.9.2
9.9.3
9.9.4
9.9.5
9.9.6
9.9.7
9.9.8
9.9.9
9.9.10
Program operation...............................................................................................................526
Initial settings.......................................................................................................................527
Selection and start of part program or part program block...................................................529
Part program interruption.....................................................................................................531
RESET command................................................................................................................532
Program status.....................................................................................................................533
Channel status.....................................................................................................................534
Responses to operator or program actions..........................................................................535
Part-Program Start...............................................................................................................537
Example of a timing diagram for a program run...................................................................538
Program jumps.....................................................................................................................538
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
15
Table of contents
16
9.9.10.1
9.9.11
9.9.11.1
9.9.11.2
9.9.11.3
9.9.11.4
9.9.11.5
9.9.12
9.9.12.1
9.9.12.2
9.9.12.3
9.9.12.4
9.9.12.5
9.9.13
9.10
9.10.1
9.10.1.1
9.10.1.2
9.10.1.3
9.10.1.4
9.10.2
9.10.3
9.10.4
9.10.5
9.11
9.11.1
9.11.2
9.11.3
9.12
9.12.1
9.12.2
9.12.3
9.12.3.1
9.12.3.2
9.12.3.3
9.12.3.4
9.12.3.5
9.13
9.13.1
9.13.2
9.13.3
9.13.4
Single block..........................................................................................................................581
Parameterization..................................................................................................................581
Programming........................................................................................................................582
Supplementary conditions....................................................................................................586
Single-block behavior in mode group with type A/B.............................................................586
9.14
9.14.1
9.14.2
9.14.3
9.14.4
9.14.5
9.14.6
9.14.7
Program control....................................................................................................................587
Function selection (via operator panel front or PLC)............................................................588
Activation of skip levels........................................................................................................589
Adapting the size of the interpolation buffer.........................................................................590
Program display modes via an additional basic block display.............................................592
Basic block display for ShopMill/ShopTurn..........................................................................592
Structure for a DIN block......................................................................................................595
Execution from external.......................................................................................................598
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
10
9.14.8
9.15
9.15.1
9.15.2
9.15.2.1
9.15.2.2
9.15.2.3
9.15.2.4
EES (optional)......................................................................................................................603
Function...............................................................................................................................603
Commissioning.....................................................................................................................604
Preconditions.......................................................................................................................604
Global part program memory (GDIR)...................................................................................606
Settings for file handling in the part program for EES..........................................................607
Memory configuration...........................................................................................................609
9.16
9.16.1
System settings for power-up, RESET / part program end and part program start.............609
Tool withdrawal after POWER ON with orientation transformation......................................614
9.17
9.17.1
9.17.2
9.17.2.1
9.17.2.2
9.17.2.3
9.17.2.4
9.17.2.5
9.17.2.6
9.17.3
9.17.3.1
9.17.3.2
9.17.3.3
9.17.3.4
9.17.3.5
9.17.3.6
9.17.4
9.17.5
9.18
9.18.1
9.18.2
9.19
9.19.1
9.19.1.1
9.19.1.2
9.19.1.3
9.19.2
9.19.2.1
9.19.3
9.19.3.1
9.19.3.2
9.19.3.3
9.19.3.4
9.19.3.5
9.19.3.6
9.19.3.7
Data lists..............................................................................................................................651
Machine data........................................................................................................................651
General machine data..........................................................................................................651
Channel-specific machine data............................................................................................653
Axis/spindlespecific machine data.......................................................................................656
Setting data..........................................................................................................................656
Channelspecific setting data................................................................................................656
Signals.................................................................................................................................656
Signals to NC.......................................................................................................................656
Signals to mode group.........................................................................................................657
Signals to NC.......................................................................................................................657
Signals to channel................................................................................................................657
Signals from channel............................................................................................................658
Signals to NC.......................................................................................................................659
Signals from axis/spindle.....................................................................................................659
Brief description...................................................................................................................661
Axes.....................................................................................................................................661
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
17
Table of contents
18
10.1.2
10.1.3
Coordinate systems.............................................................................................................663
Frames.................................................................................................................................664
10.2
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
10.2.6
10.2.7
10.2.8
10.2.9
10.2.10
10.2.11
Axes.....................................................................................................................................667
Overview..............................................................................................................................667
Machine axes.......................................................................................................................669
Channel axes.......................................................................................................................670
Geometry axes.....................................................................................................................670
Special axes.........................................................................................................................670
Path axes.............................................................................................................................671
Positioning axes...................................................................................................................671
Main axes.............................................................................................................................672
Synchronized axes...............................................................................................................673
Axis configuration.................................................................................................................675
Link axes..............................................................................................................................677
10.3
10.3.1
10.3.2
10.4
10.4.1
10.4.2
10.4.2.1
10.4.2.2
10.4.3
10.4.4
10.4.5
10.4.6
10.4.7
Coordinate systems.............................................................................................................681
Overview..............................................................................................................................681
Machine coordinate system (MCS)......................................................................................685
Actual value setting with loss of the referencing status (PRESETON)................................686
Actual value setting without loss of the referencing status (PRESETONS).........................691
Basic coordinate system (BCS)...........................................................................................696
Additive offsets.....................................................................................................................698
Basic zero system (BZS)......................................................................................................700
Settable zero system (SZS).................................................................................................702
Workpiece coordinate system (WCS)..................................................................................703
10.5
10.5.1
10.5.2
10.5.2.1
10.5.2.2
10.5.2.3
10.5.2.4
10.5.2.5
10.5.2.6
10.5.2.7
10.5.2.8
10.5.2.9
10.5.2.10
10.5.2.11
10.5.3
10.5.3.1
10.5.3.2
10.5.3.3
10.5.4
10.5.4.1
10.5.4.2
10.5.4.3
Frames.................................................................................................................................704
Frame types.........................................................................................................................704
Frame components..............................................................................................................705
Translation...........................................................................................................................705
Fine offset............................................................................................................................706
Rotation Overview (geometry axes only).............................................................................707
Rotation with a Euler angles: ZY'X" convention (RPY angles).............................................708
Rotation with a Euler angles: ZX'Z" convention...................................................................713
Rotation in any plane...........................................................................................................714
Scaling.................................................................................................................................715
Mirroring...............................................................................................................................716
Chain operator.....................................................................................................................716
Programmable axis name....................................................................................................716
Coordinate transformation....................................................................................................718
Data management frames and active frames......................................................................718
Overview..............................................................................................................................718
Activating data management frames....................................................................................720
NCU-global and channel-specific frames.............................................................................721
Frame chain and coordinate systems..................................................................................722
Overview..............................................................................................................................722
Relative coordinate systems................................................................................................723
Selectable SZS....................................................................................................................725
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
10.5.4.4
10.5.4.5
10.5.5
10.5.5.1
10.5.5.2
10.5.5.3
10.5.5.4
10.5.5.5
10.5.5.6
10.5.5.7
10.5.5.8
10.5.6
10.5.6.1
10.5.6.2
10.5.6.3
10.5.6.4
10.5.7
10.5.7.1
10.5.7.2
10.5.8
10.5.8.1
10.5.8.2
10.5.8.3
10.5.9
10.5.10
10.5.11
10.5.12
10.5.12.1
10.5.12.2
10.5.12.3
10.5.12.4
10.5.12.5
10.5.12.6
10.6
10.6.1
10.6.2
10.6.3
10.7
Restrictions..........................................................................................................................792
10.8
10.8.1
10.8.2
10.8.3
Examples.............................................................................................................................792
Axes.....................................................................................................................................792
Coordinate systems.............................................................................................................794
Frames ...............................................................................................................................796
10.9
10.9.1
10.9.1.1
10.9.1.2
10.9.1.3
10.9.1.4
10.9.2
Data lists..............................................................................................................................798
Machine data........................................................................................................................798
Displaying machine data......................................................................................................798
NC-specific machine data....................................................................................................798
Channel-specific machine data............................................................................................799
Axis/spindlespecific machine data.......................................................................................800
Setting data..........................................................................................................................800
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19
Table of contents
10.9.2.1
10.9.3
10.9.4
10.9.4.1
10.9.4.2
10.9.4.3
11
12
13
20
Brief Description...................................................................................................................803
11.2
Relevant standards..............................................................................................................803
11.3
11.4
11.5
11.6
11.6.1
11.6.1.1
11.6.2
11.6.2.1
11.6.2.2
11.6.2.3
Data lists..............................................................................................................................808
Machine data........................................................................................................................808
Axis/spindlespecific machine data.......................................................................................808
Signals.................................................................................................................................809
Signals to NC.......................................................................................................................809
Signals from NC...................................................................................................................809
Signals to BAG.....................................................................................................................809
Function...............................................................................................................................811
12.2
Parameterization..................................................................................................................814
12.3
Programming........................................................................................................................817
12.4
Supplementary conditions....................................................................................................818
12.5
Examples.............................................................................................................................819
12.6
12.6.1
12.6.1.1
12.6.1.2
Data lists..............................................................................................................................820
Machine data........................................................................................................................820
Channelspecific machine data.............................................................................................820
Axis/spindlespecific machine data.......................................................................................820
Brief description...................................................................................................................821
13.2
13.3
13.4
13.5
13.6
13.7
13.7.1
13.7.2
13.7.3
13.7.4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
13.7.5
13.7.6
13.7.7
13.7.8
13.7.9
Data backup.........................................................................................................................828
PLC series startup, PLC archive..........................................................................................828
Software upgrade.................................................................................................................831
I/O modules (FM, CP modules)............................................................................................831
Troubleshooting...................................................................................................................832
13.8
13.8.1
13.8.2
13.8.3
13.8.4
13.9
13.9.1
13.9.2
13.9.3
Interface structure................................................................................................................836
PLC/NCK interface...............................................................................................................836
Interface PLC/HMI................................................................................................................842
PLC/MCP/HHU interface......................................................................................................847
13.10
13.10.1
13.10.2
13.10.3
13.10.4
13.10.5
13.10.6
13.10.7
13.10.8
13.10.9
13.10.10
13.10.11
13.10.12
13.11
13.12
13.12.1
13.12.2
13.12.3
13.12.4
Assignment overview...........................................................................................................878
Assignment: NCK/PLC interface..........................................................................................878
Assignment: FB/FC..............................................................................................................879
Assignment: DB...................................................................................................................879
Assignment: Timers.............................................................................................................880
13.13
13.13.1
13.13.2
13.13.3
13.13.4
13.13.4.1
13.13.4.2
13.13.4.3
13.13.4.4
13.13.4.5
13.13.4.6
13.13.4.7
13.13.4.8
13.13.5
13.14
13.14.1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
21
Table of contents
22
13.14.2
13.14.3
Performing a start-up...........................................................................................................895
Example...............................................................................................................................896
13.15
13.16
13.16.1
13.16.1.1
13.16.1.2
13.16.1.3
13.16.2
13.16.2.1
13.16.2.2
13.16.2.3
13.17
13.17.1
13.17.2
13.17.3
13.17.4
13.17.4.1
13.17.4.2
13.17.4.3
13.17.4.4
13.17.4.5
13.17.4.6
13.17.4.7
13.17.4.8
13.17.4.9
13.17.4.10
13.17.4.11
13.17.4.12
13.17.4.13
13.17.4.14
13.17.4.15
13.17.4.16
13.17.4.17
13.17.4.18
13.17.4.19
13.17.4.20
13.17.4.21
13.17.4.22
13.17.4.23
13.17.4.24
13.17.4.25
13.17.4.26
13.17.4.27
13.17.4.28
13.17.4.29
13.17.4.30
13.17.4.31
13.17.4.32
13.17.4.33
13.17.4.34
Block descriptions................................................................................................................914
FB1: RUN_UP - basic program, start section.......................................................................914
FB2: GET - read NC variable...............................................................................................922
FB3: PUT - write NC variables.............................................................................................930
FB4: Request PI service......................................................................................................937
FB4: PI_SERV - request PI service......................................................................................937
List of available Pl services..................................................................................................941
PI service: ASUB .................................................................................................................942
PI service: CANCEL.............................................................................................................943
PI service: CONFIG.............................................................................................................943
PI service: DIGION...............................................................................................................944
PI service: DIGIOF...............................................................................................................944
PI service: FINDBL...............................................................................................................944
PI service: LOGIN................................................................................................................945
PI service: LOGOUT............................................................................................................945
PI service: NCRES...............................................................................................................945
PI service: SELECT.............................................................................................................945
PI service: SETUDT.............................................................................................................946
PI service: SETUFR.............................................................................................................947
PI service: RETRAC.............................................................................................................947
PI service: CRCEDN............................................................................................................948
PI service: CREACE............................................................................................................948
PI service: CREATO............................................................................................................949
PI service: DELECE.............................................................................................................949
PI service: DELETO.............................................................................................................950
PI service: MMCSEM...........................................................................................................950
PI service: TMCRTO............................................................................................................951
PI service: TMFDPL.............................................................................................................952
PI service: TMFPBP.............................................................................................................953
PI service: TMGETT.............................................................................................................955
PI service: TMMVTL.............................................................................................................955
PI service: TMPOSM............................................................................................................957
PI service: TMPCIT..............................................................................................................958
PI service: TMRASS............................................................................................................958
PI service: TRESMO............................................................................................................958
PI service: TSEARC.............................................................................................................959
PI service: TMCRMT............................................................................................................962
PI service: TMDLMT............................................................................................................963
PI service: POSMT...............................................................................................................963
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
13.17.4.35
13.17.5
13.17.6
13.17.7
13.17.8
13.17.9
13.17.10
13.17.11
13.17.12
13.17.13
13.17.14
13.17.15
13.17.16
13.17.17
13.17.18
13.17.19
13.17.20
13.17.21
13.17.22
13.17.23
13.17.24
13.17.25
13.17.26
13.17.27
13.17.28
13.17.28.1
13.17.28.2
13.17.29
13.17.30
13.17.31
PI service: FDPLMT.............................................................................................................964
FB5: GETGUD - read GUD variable....................................................................................965
FB7: PI_SERV2 - request PI service....................................................................................973
FB9: MtoN - operator panel switchover................................................................................974
FB10: Safety relay (SI relay)................................................................................................979
FB11: Brake test..................................................................................................................981
FB29: Signal recorder and data trigger diagnostics.............................................................987
FC2 : GP_HP - basic program, cyclic section......................................................................990
FC3: GP_PRAL - basic program, interruptdriven section.....................................................992
FC5: GP_DIAG - basic program, diagnostic alarm and module failure................................994
FC6: TM_TRANS2 - transfer block for tool management and multitool...............................996
FC7: TM_REV - transfer block for tool change with revolver...............................................997
FC8: TM_TRANS - transfer block for tool management....................................................1000
FC9: ASUB - start of asynchronous subroutines...............................................................1007
FC10: AL_MSG - error and operating messages...............................................................1010
FC12: AUXFU - call interface for user with auxiliary functions...........................................1012
FC13: BHGDisp - display control for handheld unit...........................................................1013
FC17: Star-delta - star-delta changeover...........................................................................1017
FC18: SpinCtrl - spindle control.........................................................................................1020
FC19: MCP_IFM - transfer of MCP signals to interface.....................................................1030
FC21: transfer PLC NCK data exchange...........................................................................1037
FC22: TM_DIR - direction selection for tool management.................................................1044
FC24: MCP_IFM2 - transferring MCP signals to the interface...........................................1046
FC25: MCP_IFT - transfer of MCP/OP signals to interface................................................1049
FC26: HPU_MCP - transfer of HT 8 signals to the interface..............................................1052
Overview of the NC/PLC interface signals of HT 8............................................................1057
Overview of the NC/PLC interface signals of HT 8............................................................1058
FC19, FC24, FC25, FC26 - description of the source code...............................................1059
FC1005: AG_SEND - transfers data to Ethernet CP..........................................................1061
FC1006: AG_RECV - receives data from the Ethernet CP................................................1062
13.18
13.18.1
13.18.2
13.18.3
13.18.4
Signal/data descriptions.....................................................................................................1063
Interface signals NCK/PLC, HMI/PLC, MCP/PLC..............................................................1063
Decoded M signals.............................................................................................................1064
G Functions........................................................................................................................1065
Message signals in DB 2....................................................................................................1066
13.19
13.19.1
13.19.2
13.19.2.1
13.19.2.2
13.19.2.3
13.19.3
13.19.4
13.19.5
13.19.6
13.20
13.20.1
13.20.1.1
13.20.1.2
13.20.1.3
13.20.2
Data lists............................................................................................................................1076
Machine data......................................................................................................................1076
Display machine data.........................................................................................................1076
NC-specific machine data..................................................................................................1077
Channelspecific machine data...........................................................................................1077
Signals...............................................................................................................................1077
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
23
Table of contents
13.20.2.1
14
24
Overview............................................................................................................................1079
PLC firmware.....................................................................................................................1079
PLC user interface.............................................................................................................1079
Data that are cyclically exchanged.....................................................................................1081
Alarms and messages........................................................................................................1081
Retentive data....................................................................................................................1082
Non-retentive data..............................................................................................................1082
PLC machine data..............................................................................................................1082
PLC key data......................................................................................................................1082
PLC I/O, fast onboard inputs/outputs.................................................................................1083
PLC Toolbox......................................................................................................................1083
Star/delta changeover........................................................................................................1083
14.2
14.3
14.3.1
14.3.2
14.4
14.5
14.5.1
14.5.1.1
14.5.1.2
14.5.1.3
14.5.1.4
14.5.1.5
14.5.2
14.5.2.1
14.5.2.2
Data interface.....................................................................................................................1086
PLC-NCK interface.............................................................................................................1087
Mode signals......................................................................................................................1087
NC channel signals............................................................................................................1088
Axis and spindle signals.....................................................................................................1089
General NCK signals..........................................................................................................1090
Fast data exchange PLC-NCK...........................................................................................1090
PLC-HMI interface..............................................................................................................1091
Operating area numbers....................................................................................................1091
Screen numbers.................................................................................................................1092
14.6
14.6.1
14.6.1.1
14.6.1.2
14.6.1.3
14.6.1.4
14.6.1.5
14.6.1.6
14.6.1.7
14.6.1.8
14.6.1.9
14.6.2
14.6.2.1
14.6.2.2
14.6.3
14.6.3.1
14.6.4
14.6.4.1
14.6.4.2
14.6.4.3
Function interface...............................................................................................................1100
Read/write NC variables....................................................................................................1100
User interface.....................................................................................................................1100
Job specification.................................................................................................................1101
Job management: Start job................................................................................................1102
Job management: Waiting for end of job...........................................................................1103
Job management: Job completion.....................................................................................1103
Job management: Flow diagram........................................................................................1104
Job evaluation....................................................................................................................1105
Operable variables.............................................................................................................1107
Specifying selected NC variables.......................................................................................1113
Program instance services (PI services)............................................................................1115
User interface.....................................................................................................................1115
PI services..........................................................................................................................1117
PLC user alarms................................................................................................................1120
User interface.....................................................................................................................1120
PLC axis control.................................................................................................................1124
Overview............................................................................................................................1124
User interface: Preparing the NC axis as PLC axis...........................................................1125
User interface: Functionality...............................................................................................1126
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
14.6.4.4
14.6.4.5
14.6.4.6
14.6.4.7
14.6.4.8
14.6.4.9
14.6.4.10
14.6.4.11
14.6.4.12
14.6.4.13
14.6.4.14
14.6.4.15
14.6.5
14.6.5.1
14.6.5.2
14.6.5.3
14.6.5.4
15
Spindle positioning.............................................................................................................1128
Rotate spindle....................................................................................................................1129
Oscillate spindle.................................................................................................................1131
Indexing axis......................................................................................................................1132
Positioning axis metric.......................................................................................................1134
Positioning axis inch...........................................................................................................1135
Positioning axis metric with handwheel override................................................................1137
Positioning axis inch with handwheel override...................................................................1138
Rotate spindle with automatic gear stage selection...........................................................1140
Rotate spindle with constant cutting rate [m/min]...............................................................1141
Rotate spindle with constant cutting rate [feet/min]............................................................1143
Error messages..................................................................................................................1144
Starting ASUBs..................................................................................................................1146
General..............................................................................................................................1146
Job start.............................................................................................................................1146
Job result............................................................................................................................1147
Signal flow..........................................................................................................................1148
R1: Referencing......................................................................................................................................1149
15.1
Brief Description.................................................................................................................1149
15.2
Axisspecific referencing.....................................................................................................1150
15.3
Channelspecific referencing...............................................................................................1152
15.4
15.5
15.5.1
15.5.2
15.5.3
15.5.4
15.5.5
15.5.6
15.6
15.6.1
15.6.2
15.6.3
15.6.4
15.6.5
15.7
15.7.1
15.7.2
15.8
15.9
15.9.1
15.9.2
15.9.3
15.9.4
15.9.5
15.9.6
15.9.7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
25
Table of contents
16
26
15.9.8
15.9.9
15.10
15.10.1
15.10.2
15.11
15.11.1
Supplementary conditions..................................................................................................1194
Large traverse range..........................................................................................................1194
15.12
15.12.1
15.12.1.1
15.12.1.2
15.12.1.3
15.12.2
15.12.2.1
15.12.2.2
15.12.2.3
15.12.2.4
15.12.2.5
15.12.2.6
Data lists............................................................................................................................1195
Machine data......................................................................................................................1195
NC-specific machine data..................................................................................................1195
Channelspecific machine data...........................................................................................1195
Axis/spindlespecific machine data.....................................................................................1195
Signals...............................................................................................................................1196
Signals to BAG...................................................................................................................1196
Signals from BAG...............................................................................................................1196
Signals to channel..............................................................................................................1197
Signals from channel..........................................................................................................1197
Signals to axis/spindle........................................................................................................1197
Signals from axis/spindle...................................................................................................1197
S1: Spindles...........................................................................................................................................1199
16.1
Brief Description.................................................................................................................1199
16.2
16.2.1
16.2.2
16.2.3
16.2.4
16.2.5
16.2.5.1
16.2.5.2
16.2.5.3
16.2.5.4
16.2.6
16.2.6.1
16.2.6.2
16.2.7
Modes................................................................................................................................1200
Overview............................................................................................................................1200
Mode change.....................................................................................................................1201
Control mode......................................................................................................................1202
Oscillation mode.................................................................................................................1205
Positioning mode................................................................................................................1205
General functionality..........................................................................................................1205
Positioning from rotation....................................................................................................1212
Positioning from standstill..................................................................................................1217
"Spindle in position" signal for tool change........................................................................1220
Axis mode..........................................................................................................................1221
General functionality..........................................................................................................1221
Implicit transition to axis mode...........................................................................................1224
Initial spindle state..............................................................................................................1227
16.3
Reference / synchronize....................................................................................................1228
16.4
16.4.1
16.4.2
16.4.3
16.4.4
16.4.5
16.4.6
16.4.7
16.4.8
16.4.9
16.4.10
16.5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
17
16.6
Selectable spindles............................................................................................................1269
16.7
16.7.1
16.7.2
16.7.3
16.7.4
16.7.5
Programming......................................................................................................................1272
Programming from the part program..................................................................................1272
Programming via synchronized actions.............................................................................1276
Programming spindle controls via PLC with FC18 - only 840D sl......................................1276
Special spindle motion via the PLC interface.....................................................................1277
External programming (PLC, HMI).....................................................................................1282
16.8
16.8.1
16.8.2
16.8.3
16.8.4
16.8.5
16.8.6
16.8.7
16.8.8
16.8.9
Spindle monitoring.............................................................................................................1283
Permissible speed ranges..................................................................................................1283
Axis/spindle stationary.......................................................................................................1284
Spindle in setpoint range....................................................................................................1284
Minimum / maximum speed of the gear stage...................................................................1285
Diagnosis of spindle speed limitation.................................................................................1286
Maximum spindle speed....................................................................................................1288
Maximum encoder limit frequency.....................................................................................1290
End point monitoring..........................................................................................................1291
M40: Automatic gear stage selection for speeds outside the configured switching
thresholds...........................................................................................................................1293
16.9
16.9.1
16.9.2
16.9.3
16.9.4
16.10
16.10.1
Supplementary conditions..................................................................................................1299
Changing control parameters.............................................................................................1299
16.11
16.11.1
Examples...........................................................................................................................1299
Automatic gear step selection (M40)..................................................................................1299
16.12
16.12.1
16.12.1.1
16.12.1.2
16.12.1.3
16.12.2
16.12.2.1
16.12.2.2
16.12.3
16.12.3.1
16.12.3.2
Data lists............................................................................................................................1300
Machine data......................................................................................................................1300
NC-specific machine data..................................................................................................1300
Channelspecific machine data...........................................................................................1300
Axis/spindlespecific machine data.....................................................................................1301
Setting data........................................................................................................................1302
Channelspecific setting data..............................................................................................1302
Axis/spindle-specific setting data.......................................................................................1303
signals................................................................................................................................1303
Signals to axis/spindle........................................................................................................1303
Signals from axis/spindle...................................................................................................1304
V1: Feedrates.........................................................................................................................................1307
17.1
Brief description.................................................................................................................1307
17.2
17.2.1
17.2.2
17.2.3
17.2.3.1
17.2.3.2
17.2.3.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
27
Table of contents
18
28
17.2.3.4
17.2.3.5
17.2.4
17.2.5
17.3
17.4
17.4.1
17.4.2
17.4.3
17.4.4
17.4.5
17.4.6
17.4.7
17.4.8
17.4.9
17.4.10
Feedrate control.................................................................................................................1334
Feedrate disable and feedrate/spindle stop.......................................................................1334
Feedrate override on machine control panel......................................................................1335
Programmable feedrate override.......................................................................................1339
Dry run feedrate.................................................................................................................1340
Multiple feedrate values in one block.................................................................................1342
Fixed feedrate values ........................................................................................................1347
Programmable feedrate characteristics.............................................................................1349
Feedrate for chamfer/rounding FRC, FRCM......................................................................1350
Non-modal feedrate FB......................................................................................................1352
Influencing the single axis dynamic response ...................................................................1353
17.5
Supplementary conditions..................................................................................................1358
17.6
17.6.1
17.6.1.1
17.6.1.2
17.6.1.3
17.6.2
17.6.2.1
17.6.2.2
17.6.3
17.6.3.1
17.6.3.2
17.6.3.3
17.6.3.4
Data lists............................................................................................................................1359
Machine data......................................................................................................................1359
NC-specific machine data..................................................................................................1359
Channel-specific machine data..........................................................................................1359
Axis/Spindle-specific machine data....................................................................................1360
Setting data........................................................................................................................1360
Channel-specific setting data.............................................................................................1360
Axis/spindle-specific setting data.......................................................................................1361
Signals...............................................................................................................................1361
Signals to channel..............................................................................................................1361
Signals from channel..........................................................................................................1361
Signals to axis/spindle........................................................................................................1361
Signals from axis/spindle...................................................................................................1362
Brief description.................................................................................................................1363
18.2
18.2.1
18.2.2
18.2.3
18.2.4
18.2.5
18.2.6
18.2.7
Tool....................................................................................................................................1365
General..............................................................................................................................1365
Compensation memory structure.......................................................................................1368
Calculating the tool compensation.....................................................................................1370
Address extension for NC addresses T and M..................................................................1370
Free assignment of D numbers..........................................................................................1372
Compensation block in case of error during tool change...................................................1378
Definition of the effect of the tool parameters....................................................................1381
18.3
18.3.1
18.3.2
18.3.3
18.3.4
18.3.5
18.3.6
18.3.7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
18.4
18.4.1
18.4.2
18.4.3
18.4.4
18.4.5
18.4.6
18.4.7
18.4.8
18.4.9
18.4.10
18.5
18.5.1
18.5.2
18.5.3
18.5.4
18.5.4.1
18.5.4.2
18.5.4.3
18.5.4.4
18.5.4.5
18.5.4.6
18.5.5
18.5.6
18.5.7
18.5.8
18.5.9
18.5.10
18.5.11
18.5.12
18.5.13
18.6
18.6.1
18.6.2
18.6.3
18.6.4
18.6.5
18.6.6
18.6.7
18.7
18.7.1
18.7.2
18.7.3
18.7.4
18.7.5
18.7.6
18.7.7
18.7.8
18.7.9
Cutting edge data modification for tools that can be rotated .............................................1468
Function.............................................................................................................................1468
Determination of angle of rotation......................................................................................1468
Cutting edge position, cut direction and angle for rotary tools...........................................1469
Modifications during the rotation of turning tools................................................................1472
Cutting edge position for milling and tapping tools.............................................................1474
Modifications during rotation of milling and tapping tools...................................................1475
Parameter assignment.......................................................................................................1476
Programming......................................................................................................................1477
Example.............................................................................................................................1480
18.8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
29
Table of contents
30
18.8.1
18.8.2
G91 extension....................................................................................................................1481
Machining in direction of tool orientation............................................................................1483
18.9
18.10
18.10.1
18.10.2
18.10.3
18.10.4
18.10.5
18.10.6
18.10.7
18.11
18.11.1
18.11.2
18.11.3
18.11.4
18.11.5
18.11.5.1
18.11.5.2
18.12
18.12.1
18.12.2
18.12.3
18.12.4
18.12.5
18.12.6
18.12.7
18.13
18.14
18.14.1
18.14.2
Supplementary conditions..................................................................................................1534
Flat D number structure.....................................................................................................1534
SD42935 expansions.........................................................................................................1535
18.15
18.15.1
18.15.1.1
18.15.1.2
18.15.1.3
18.15.1.4
18.15.2
Examples...........................................................................................................................1535
Toolholder with orientation capability.................................................................................1535
Example: Toolholder with orientation capability.................................................................1535
Example of toolholder with orientation capability with rotary table.....................................1536
Basic tool orientation example...........................................................................................1538
Calculation of compensation values on a location-specific and workpiece-specific basis..1539
Examples 3-6: SETTCOR function for tool environments..................................................1541
18.16
18.16.1
18.16.1.1
18.16.1.2
18.16.1.3
18.16.2
18.16.2.1
18.16.3
18.16.3.1
Data lists............................................................................................................................1547
Machine data......................................................................................................................1547
NC-specific machine data..................................................................................................1547
Channelspecific machine data...........................................................................................1548
Axis/spindlespecific machine data.....................................................................................1549
Setting data........................................................................................................................1549
Channelspecific setting data..............................................................................................1549
Signals...............................................................................................................................1550
Signals from channel..........................................................................................................1550
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table of contents
19
19.2
19.2.1
19.2.2
19.2.3
19.2.4
19.3
19.3.1
19.3.2
19.4
19.4.1
19.4.2
19.5
19.5.1
19.5.2
19.5.3
19.6
19.6.1
19.6.2
19.6.3
19.6.4
19.6.5
19.6.6
19.7
19.7.1
19.8
19.8.1
19.8.2
19.9
19.10
19.10.1
19.10.2
19.10.3
19.10.4
19.11
19.11.1
Spindles (S1)......................................................................................................................1636
Signals to axis/spindle (DB31, ...)......................................................................................1636
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
31
Table of contents
19.11.2
19.12
19.12.1
19.12.2
19.12.3
Feeds (V1).........................................................................................................................1652
Signals to channel (DB21, ...)............................................................................................1652
Signals to axis/spindle (DB31, ...)......................................................................................1663
Signals from axis/spindle (DB31, ...)..................................................................................1670
Appendix.................................................................................................................................................1671
A.1
List of abbreviations...........................................................................................................1671
A.2
Documentation overview....................................................................................................1680
Glossary.................................................................................................................................................1681
Index.......................................................................................................................................................1703
32
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
WARNING
Danger to life or malfunctions of the machine as a result of incorrect or changed
parameterization
As a result of incorrect or changed parameterization, machines can malfunction, which in turn
can lead to injuries or death.
Protect the parameterization (parameter assignments) against unauthorized access.
Respond to possible malfunctions by applying suitable measures (e.g. EMERGENCY
STOP or EMERGENCY OFF).
1.2
Industrial security
Note
Industrial security
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, solutions, machines, equipment and/or networks. They are
important components in a holistic industrial security concept. With this in mind, Siemens
products and solutions undergo continuous development. Siemens recommends strongly that
you regularly check for product updates.
For the secure operation of Siemens products and solutions, it is necessary to take suitable
preventive action (e.g. cell protection concept) and integrate each component into a holistic,
state-of-the-art industrial security concept. Third-party products that may be in use should also
be considered. For more information about industrial security, visit Hotspot-Text (http://
www.siemens.com/industrialsecurity).
To stay informed about product updates as they occur, sign up for a product-specific
newsletter. For more information, visit Hotspot-Text (http://support.automation.siemens.com).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
33
34
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Brief description
Contents
The PLC/NCK interface comprises a data interface on one side and a function interface on the
other. The data interface contains status and control signals, auxiliary functions and G
functions, while the function interface is used to transfer jobs from the PLC to the NCK.
This Description describes the functionality of interface signals, which are of general relevance
but are not included in the Descriptions of Functions.
Asynchronous events
Status signals
PLC variable (read and write)
2.2
2.2.1
General
NC/PLC interface
The NC/PLC interface comprises the following parts:
Data interface
Function interface
Data interface
The data interface is used for component coordination:
PLC user program
NC
HMI (operator control component)
MCP (machine control panel)
Data exchange is organized by the basic PLC program.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
35
Function interface
The function interface is generated by function blocks (FB) and function calls (FC). Function
requests, e.g. to traverse axes, are sent from the PLC to the NC via the function interface.
36
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
References
Description of the basic PLC program:
Function Manual, Basic Functions, Basic PLC Program (P3)
Description of the event-driven signal exchange (auxiliary and G functions):
Function Manual, Basic Functions; Auxiliary Function Output to PLC (H2)
Overview of all interface signals, functional and data components:
List Manual 2
2.2.2
2.2.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
37
2.2.4
38
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB19 DBX 0.3 / 0.4 (Delete cancel alarms / Delete recall alarms) (HMI Advanced)
Request to delete all currently pending alarms with Cancel or Recall delete criterion. Deletion
of the alarms is acknowledged via the following interface signals.
DB19 DBX20.3 (cancel alarm deleted)
DB19 DBX20.4 (recall alarm deleted)
DB19 DBB13 (control of the file transfer via hard disk) (HMI Advanced only)
Job byte to control file transfer via hard disk. The jobs relate to the user control file in the
interface signals:
DB19 DBB16 (part program handling: Number of the control file for user file names)
DB19 DBB17 (part program handling: Index of the file to be transmitted from the user list)
DB19 DBB16 (control of file transfer via hard disk) (HMI Advanced only)
Control byte for file transfer via hard disk to define the index for the control file (job list). This
file is handled according to the job in the interface signal:
DB19 DBB13
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
39
DB19 DBB17 (part program handling: Index of the file to be transferred from the user list)
Control byte for file transfer via hard disk to indicate the line in the user control file in which the
control file to be transferred is stored
2.2.5
Signals to channel
2.2.6
Signals to axis/spindle
40
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Operating mode
Ineffective
Follow-up
Hold
In closed-loop control
Follow-up
In follow-up mode, the set position of the machine axis is continuously corrected to the actual
position (set position = actual position).
Feedback: DB31, ... DBX61.3 == 1 (follow-up active)
During follow-up mode, clamping or standstill monitoring are not active.
Note
If the DB31, ... DBX2.1 (controller enable) interface signal is set during follow-up mode,
repositioning to the last programmed position is performed with REPOSA (approach on a
straight line with all axes) when the NC program is active. In all other cases, all subsequent
motions start at the actual position.
Hold
In "Hold" mode, the set position of the machine axis does not follow the actual position. If the
machine axis is moved away from the set position, the difference between the set position and
the actual position increases constantly (following error). The following error is suddenly
corrected if the controller enable is set without complying with the axial acceleration
characteristic (speed jump).
Feedback: DB31, ... DBX61.3 == 0 (follow-up active)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
41
B
&RQWUROOHU
HQDEOHFDQFHOHG
)ROORZXSVHWSRLQW
3RVLWLRQDFWXDOYDOXH
Figure 2-1
,6)ROORZXSPRGH
5HPRYH,66HUYRHQDEOH
7HUPLQDOV
'LVFRQQHFWWHUPLQDOV
6HW,66HUYRHQDEOH
<
6HTXHQFH
1
<.
<
3RVLWLRQVKLIWUHVXOWLQJIURP
FODPSLQJ
Figure 2-2
42
1
<.
<
;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
<
,6)ROORZXSPRGH
5HPRYH,66HUYRHQDEOH
7HUPLQDOV
'LVFRQQHFWWHUPLQDOV
6HW,66HUYRHQDEOH
6HTXHQFH
3DWKIROORZHGLIQRSDUWSURJUDPLVDFWLYH
7UDMHFWRU\LILQ1RQO\;LV
SURJUDPPHGDQGWKHSDUWSURJUDPLV
DFWLYH
<.
<
1
3RVLWLRQVKLIWUHVXOWLQJIURP
FODPSLQJ
1
<.
<
5HWXUQXVLQJ5(326$LISDUW
SURJUDPLVDFWLYHLQ$8720$7,&
PRGH
$[LVPRYHPHQWJHQHUDWHGIURP
SURJUDPPHGSRVLWLRQ<
;
Figure 2-3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
43
6SHHG
B FRQWUROOHU
&XUUHQW
FRQWUROOHU
0RWRU
(QF
(QF
LDFW
QDFW
LVHW
/0
/0
/0
/0
3DUNLQJD[LV
Figure 2-4
44
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX1.6
DB31, ...
DBX2.1
Function
Any
"Parking" active
10
01
01
10
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
45
46
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3RVLWLRQFRQWUROOHURSHQHGLPPHGLDWHO\
)3
)3
DFW
$[LVLVPRYLQJ
0'67$1'67,//B9(/2B72/
5DSLGVWRS
ZLWKRSHQFLUFXLWSRVLWLRQFRQWUROORRS
)3
VHW
W
0'$;B(0(5*(1&<B6723B7,0(
,66HUYRHQDEOH
0'6(592B',6$%/(B'(/$<B7,0(
W
,63RVLWLRQFRQWUROOHUDFWLYH
W
6HUYRHQDEOHWRGULYH
,66SHHGFRQWUROOHUDFWLYH
Figure 2-5
W
DBX9.2
DBX9.1
DBX9.0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
47
DBX9.2
DBX9.1
DBX9.0
Parameter set changeover must be enabled via the machine data (not required for spindles):
MD35590 $MA_PARAMSET_CHANGE_ENABLE = 1 or 2
For detailed information on the parameter set changeover, see Section "Parameter set
selection during gear step change (Page 1246)".
Parameter set changeover when machine axis is in motion
The response to a parameter set changeover depends on the consequential change in the
closed-loop control circuit gain factor KV:
MD32200 $MA_POSCTRL_GAIN (servo gain factor)
"Identical servo gain factors (KV)" or "position control not active":
The NC responds immediately to the parameter set changeover. The parameter set is also
changed during the motion.
"Unequal servo gain factors (KV)" or "position control not active":
In order to effect a changeover as smoothly as possible, changeover is not activated until
the axis "is stationary", i.e. once the parameterized zero speed has been reached or
undershot:
DB31, ... DBX61.4 = 1 (axis/spindle stationary)
MD36060 $MA_STANDSTILL_VELO_TOL (threshold velocity/speed "axis/spindle
stationary")
Parameter set changeover from the part program
For parameter set changeover from the part program, the user (machine manufacturer) must
define corresponding user-specific auxiliary functions and evaluate them in the PLC user
program. The PLC user program will then set the changeover request on the corresponding
parameter set.
For detailed information on the auxiliary function output, see Section "H2: Auxiliary function
outputs to PLC (Page 377)".
2.2.7
48
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
49
2.2.8
DB31, ... DBX21.0 - 4 (requesting a switchover of a motor and/or drive data set)
The PLC issues a request to the drive to switch over to a new motor and/or drive data set.
The interface can be flexibly parameterized using: DB31, ... .DBX130.0 - 4 (see Chapter
"Switching over motor/drive data sets (Page 65)")
The active motor and/or drive data set is indicated using: DB31, ... DBX93.0 - 4
Note
Main spindle drive
For a main spindle drive, only motor data sets 1 and 2 are valid when switching over between
a star and delta connection.
Motor data set 1: Star
Motor data set 2: Delta
50
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
2.2.9
DB31, ... DBX93.0 - 4 (indicates active motor and drive data set)
The drive signals back the active motor and drive data set to the PLC.
The interface can be flexibly parameterized using: DB31, ... .DBX130.0 - 4 (see Chapter
"Switching over motor/drive data sets (Page 65)")
The request to switch over motor and/or drive data set is realized using: DB31, ... DBX21.0 4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
51
52
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
2.3
Functions
2.3.1
Value
Meaning
If the preprocessing run of a channel is too slow, the display is not refreshed in all channels.
If the preprocessing run of a channel is too slow, the display is only refreshed in the time critical channels in order
to obtain processor time for the preprocessing run.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
53
2.3.2
Introduction
The involute of the circle is a curve traced out from the end point on a "piece of string" unwinding
from the curve. Involute interpolation allows trajectories along an involute.
<
;<
%DVHFLUFOHFHQWHU ;
<
6WDUWSRLQW
5
)
%DVHFLUFOH
(QGSRLQW
Figure 2-6
Programming
A general description of how to program involute interpolation can be found in:
References:
Programming Manual, Fundamentals
In addition to the programmed parameters, machine data is relevant in two instances of involute
interpolation; this data may need to be set by the machine manufacturer / end user.
54
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Accuracy
If the programmed end point does not lie exactly on the involute defined by the starting point,
interpolation takes place between the two involutes defined by the starting and end points (see
illustration below).
The maximum deviation of the end point is determined by the machine data:
MD21015 $MC_INVOLUTE_RADIUS_DELTA (end point monitoring for involute)
6WDUWSRLQW
%DVHFLUFOH
(QGSRLQW
0D[GHYLDWLRQ
Figure 2-7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
55
Limit angle
If AR is used to program an involute leading to the base circle with an angle of rotation that is
greater than the maximum possible value, an alarm is output and program execution aborted.
$5PD[
$5
6WDUWSRLQW
Figure 2-8
The alarm display can be suppressed using the following parameter settings:
MD21016 $MC_INVOLUTE_AUTO_ANGLE_LIMIT = TRUE (automatic angle limitation for
involute interpolation)
The programmed angle of rotation is then also limited automatically and the interpolated path
ends at the point at which the involute meets the base circle. This, for example, makes it easier
to program an involute which starts at a point outside the base circle and ends directly on it.
Dynamic response
Involutes that begin or end on the base circle have an infinite curvature at this point. To ensure
that the velocity is adequately limited at this point when tool radius compensation is active,
without reducing it too far at other points, the "Velocity limitation profile" function must be
activated:
56
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
2.3.3
2.3.4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
57
Access from NC
System variables are available in the NC for fast access to PLC variables from a part program
or synchronized action. The data is read/written directly by the NC. The data type results from
the identifier of the system variables. The position within the memory area is specified as index
in bytes.
System variable
Data type
Range of values
$A_DBB[<index>]
Byte (8 bits)
$A_DBW[<index>]
$A_DBD[<index>]
$A_DBR[<index>]
3/&&$//)&
2IIVHW[
2IIVHW[
'DWDW\SH'%'E\WHV
Figure 2-9
Supplementary conditions
The structuring of the DPR memory area is the sole responsibility of the user. No checks
are made for matching configuration.
A total of 4096 bytes are available in the input and output directions.
Single-bit operations are not supported and must be linked back to byte operations by the
user.
Since the contents of variables are manipulated directly in the communications buffer, the
user must remember that intermediate changes in values occur as a result of multiple
access operations where a variable is evaluated several times or when variables are linked
(i.e. it may be necessary to store values temporarily in local variables or R parameters or
to set up a semaphore).
58
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
N12
N20
$A_DBR[0]=145.145
N30
G4 F2
N40
STOPRE
N50
DBR=$A_DBR[0]
N60
N70
MSG ( "error" )
N80
M0
N90
END:
N99
M30
Activation
The maximum number of simultaneously writable output variables is adjustable via:
MD28150 $MC_MM_NUM_VDIVAR_ELEMENTS (number of elements for writing PLC
variables)
Example
A variable of type WORD is to be transferred from the PLC to the NC.
The position offset within the NC input (PLC output area) should be the fourth byte. The position
offset must be a whole-number multiple of the data width.
Writing from PLC:
Program code
Comment
. . .
CALL FC21 (
Enable
:=M10.0,
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
59
Comment
:=B#16#4,
:=04,
IVAR2
:=-1,
Error
:=M10.1,
ErrCode :=MW12);
. . .
)
Comment
. . .
PLCDATA = $A_DBW[4];
; Read a word
. . .
References
A detailed description of the data exchange by the PLC with FC 21 can be found in:
SINUMERIK 840D sl: Section "FC21: transfer PLC NCK data exchange (Page 1037)"
2.3.5
Access authorization
Access to functions, programs and data is useroriented and controlled via 8 hierarchical
protection levels. These are subdivided into:
Password levels for Siemens, machine manufacturer and end user
Keyswitch positions for end user
60
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
User
Access to (examples)
Password
Siemens
Password
Machine manufacturer: De
velopment
Password
Password
Keyswitch position 3
Keyswitch position 2
Keyswitch position 1
Keyswitch position 0
0 to 3; established by the ma
chine manufacturer or end
user
Example:
Example:
Access features
Protection level 0 provides the greatest number of access rights, protection level 7 the least.
If certain access rights are granted to a protection level, these protection rights automatically
apply to any higher protection levels.
Conversely, protection rights for a certain protection level can only be altered from a higher
protection level.
Access rights for protection levels 0 to 3 are permanently assigned by Siemens and cannot
be altered (default).
Access rights can be set by querying the current keyswitch positions and comparing the
passwords entered. When a password is entered it overwrites the access rights of the
keyswitch position.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
61
2.3.5.1
Password
Set password
The password for a protection level (0 3) is entered via the HMI user interface.
Example:
DIAGNOSTIC operating area, softkey: SET PASSWORD
References:
Commissioning Manual SINUMERIK 840D sl base software and HMI sl
Delete password
Access rights assigned by means of setting a password remain effective until they are explicitly
revoked by deleting the password.
Example:
DIAGNOSTIC operating area, softkey: DELETE PASSWORD
References:
Commissioning Manual SINUMERIK 840D sl base software and HMI sl
Note
Access rights and password status (set/deleted) are not affected by POWER OFF/ON!
62
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Defaults
The following default passwords are defined for protection levels 1 to 3:
Protection level 1: SUNRISE
Protection level 2: EVENING
Protection level 3: CUSTOMER
Note
Following NC-CPU ramp-up in commissioning mode (NCK commissioning switch: position
1) the passwords for protection levels 1 3 are reset to the default settings. For reasons
of data protection, we strongly recommend that you change the default settings.
2.3.5.2
Key switch
The keyswitch has four positions, to which protection levels 4 to 7 are assigned. The keyswitch
comprises a number of keys in a variety of colors which can be set to different switch positions.
6ZLWFKSRVLWLRQ
5HWUDFWLRQSRV
3RVLWLRQ
Figure 2-10
'%'%%
3URWHFWLRQOHYHO
%LW
3RVLWLRQ
RU
EODFNNH\
%LW
3RVLWLRQ
RURU
JUHHQNH\
%LW
3RVLWLRQ
RURU
RU
UHGNH\
%LW
Switch positions 0 to 3
Switch positions
Switch position 0 has the most restricted access rights. Switch position 3 has the least restricted
access rights.
DB10, DBX56.4 / .5 / .6 / .7 (switch positions 0 / 1 / 2 / 3)
Machine-specific enables for access to programs, data and functions can be assigned to the
switch positions. For detailed information, please refer to:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
63
2.3.5.3
Default values
On delivery or following standard commissioning, with very few exceptions, the default value
for the protection level will be set to 7, i.e. the lowest protection level.
64
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
2.3.6
2.3.6.1
General Information
2.3.6.2
Formatting interfaces
Formatting
The formatting interface is used to set which bits of the request and display interface are used
to address the motor data sets (MDS) and which are used to address the drive data sets (DDS):
DB31, ... DBX130.0 - 4, with bit x = <value>
<value>
Meaning
Bit position for motor data set (MDS) or invalid bit position
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
65
See also
Example (Page 67)
Overview of the interfaces (Page 68)
2.3.6.3
Request interface
The switchover to a new motor (MDS) and/or drive data sets (DDS) is requested via the
interface:
DB31, ... DBX21.0 - .4 = <MDS/DDS index>
Value range
Addressing a motor or drive data set n, with n = 1, 2, 3, ..., is realized based on its index i, with
i = n - 1 = 0, 1, 2, ...
Motor data sets: MDS[ 0, 1, 2, ... 15 ]
Drive data sets: DDS[ 0, 1, 2, ... 31 ]
Formatting interfaces
Formatting the request interface, i.e. which bits are used to address the motor data sets (MDS)
and which are used to address the drive data sets (DDS) is set via the formatting interface
(Page 65).
66
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
2.3.6.4
Display interface
The active motor data set (MDS) and drive data set (DDS) are displayed via the interface:
DB31, ... DBX93.0 - .4 == <MDS / DDS index>
Value range and formatting are identical to the request interface (Page 66).
2.3.6.5
Example
Two motor data sets (MDS) and two drive data sets (DDS) are available in the drive for each
motor data set. This corresponds to "No.": 9 of the possible data set combinations displayed
in the Figure 2-11 Principle of the motor/drive data set switchover (Page 69).
Format
Bit positions for drive data set switchover (DDS):
DB31, ... DBX130.0 == 1
Bit positions for motor data set switchover (MDS):
DB31, ... DBX130.1 == 0
Invalid bit positions:
DB31, ... DBX130.2 == 0
DB31, ... DBX130.3 == 0
DB31, ... DBX130.4 == 0
Interfaces of the drive data sets (DDS)
Relevant bit positions of the request and display interfaces:
DB31, ... DBX21.0 / DBX93.0
DB31, ... DBX21.0 / DBX93.0 == 0 1st drive data set DDS[0]
DB31, ... DBX21.0 / DBX93.0 == 1 2nd drive data set DDS[1])
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
67
See also
Overview of the interfaces (Page 68)
2.3.6.6
68
1 ... 32
1, 2, 4, 8, 16
1, 2, 4, 8
1, 2, 4, 8
1, 2, 4
1, 2, 4
1, 2, 4
1, 2, 4
1, 2
10
1, 2
11
1, 2
12
1, 2
13
1, 2
14
1, 2
15
1, 2
16
1, 2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
0'6
'%
'%;[
&RPELQDWLRQWKDWLVQRWVXSSRUWHG
5HOHYDQWELWSRVLWLRQUHJDUGLQJ
0RWRUGDWDVHW0'6
'ULYHGDWDVHW''6
,QYDOLGELWSRVLWLRQV
MDS
Request interface
Display interface
Formatting interface
Figure 2-11
2.3.6.7
'%
'%;[[
Supplementary conditions
Variable number of drive data sets for the "last" motor data set
The "last" motor data set is the motor data set with the highest number or index.
Generally, the same number of drive data sets is created for each motor data set (number of
"DDS per MDS") in the drive. Only the "last" motor data set can differ from this; any number
(a) of drive data sets can be parameterized:
1 a (number of "DDS per MDS")
Example
4 motor data sets (MDS) and 8 drive data sets (DDS) per motor data set (DDS per MDS) are
to be parameterized. This corresponds to "No.": 22 of the possible data set combination
displayed in the Figure 2-11 Principle of the motor/drive data set switchover (Page 69):
Motor data sets: MDS[ 0 ], MDS[ 1 ], ... MDS[ 3 ] ("last" motor data set)
Drive data sets per motor data set: DDS[ 0 ] ... DDS[ 7 ]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
69
Number of drive data sets (DDS) per motor data set (MDS)
MDS[ 3 ]
1-8
See also
Overview of the interfaces (Page 68)
2.4
Examples
2.4.1
Preconditions
The parameter set changeover must be enabled by the machine data:
MD35590 $MA_PARAMSET_CHANGE_ENABLE [AX1] = 1 or 2 (parameter set change
possible)
The 1st parameter set for machine axis X1 is set, in accordance with machine data with index
"0" NC/PLC interface:
DB31, DBX9.0 - DBX9.2 = 0 (controller parameter set)
Comment
70
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
*) The appropriate line must be specified separately for each parameter set according to the applicable syntax rules.
Switchover
In order to switch over the position-control gain, the PLC user program selects the 4th
parameter set for machine axis X1.
Request by PLC user program:
DB31, DBX9.0 DBX9.2 = 3 (parameter set servo)
A request to change over to the 4th parameter set is sent for machine axis AX1.
The parameter set is changed over once a delay has elapsed.
Parameter set 4 is now active, in accordance with machine data with index "3"
Feedback by NC:
DB31, DBX69.0 DBX69.2 = 3 (parameter set servo)
The NC confirms/acknowledges the parameter-set changeover.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
71
2.5
Data lists
2.5.1
Machine data
2.5.1.1
Number
Identifier: $MM_
Description
9000
LCD_CONTRAST
Contrast
9001
DISPLAY_TYPE
Monitor type
9004
DISPLAY_RESOLUTION
Display resolution
SINUMERIK Operate
2.5.1.2
Number
Identifier: $MN_
Description
10350
FASTIO_DIG_NUM_INPUTS
10360
FASTIO_DIG_NUM_OUTPUTS
10361
FASTIO_DIG_SHORT_CIRCUIT
11120
LUD_EXTENDED_SCOPE
11270
DEFAULT_VALUES_MEM_MSK
Activ.
Function: Save DEFAULT values of GUD.
18150
MM_GUD_VALUES_MEM
2.5.1.3
Number
Identifier: $MC_
Description
21015
INVOLUTE_RADIUS_DELTA
21016
INVOLUTE_AUTO_ANGLE_LIMIT
27800
TECHNOLOGY_MODE
Technology in channel
28150
MM_NUM_VDIVAR_ELEMENTS
28530
MM_PATH_VELO_SEGMENTS
2.5.1.4
Number
Identifier: $MA_
Description
30350
SIMU_AX_VDI_OUTPUT
33050
LUBRICATION_DIST
72
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Identifier: $MA_
Description
35590
PARAMSET_CHANGE_ENABLE
36060
STANDSTILL_VELO_TOL
36610
AX_EMERGENCY_STOP_TIME
36620
SERVO_DISABLE_DELAY_TIME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
73
2.5.2
System variables
Names
Description
$P_FUMB
$A_DBB[n]
$A_DBW[n]
$A_DBD[n]
$A_DBR[n]
2.5.3
Signals
2.5.3.1
Signals to NC
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Keyswitch setting 0 to 3
DB10.DBX56.4 - 7
DB2600.DBX0.4 - 7
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB10.DBX103.0
AT box ready
DB10.DBX103.5
DB10.DBX103.6
DB10.DBX103.7
NC ready
DB10.DBX104.7
DB10.DBX108.1
DB10.DBX108.2
DB10.DBX108.3
DB2700.DBX2.3
DB10.DBX108.5
DB2700.DBX2.5
Drives ready
DB10.DBX108.6
DB2700.DBX2.6
NC Ready
DB10.DBX108.7
DB2700.DBX2.7
NC alarm is active
DB10.DBX109.0
DB2700.DBX3.0
DB10.DBX109.5
DB10.DBX109.6
DB2700.DBX3.6
NC battery alarm
DB10.DBX109.7
2.5.3.2
74
Signals from NC
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
2.5.3.3
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Screen bright
DB19.DBX0.0
Screen dark
DB19.DBX0.1
DB1900.DBX5000.1 1)
Key disable
DB19.DBX0.2
DB1900.DBX5000.2
DB19.DBX0.3
DB19.DBX0.4
DB19.DBX0.7
DB1900.DBX5000.7
DB19.DBX13.5
DB19.DBX13.6
DB19.DBX13.7
DB1700.DBX1000.7
DB19.DBX14.7
DB19.DBB16 2)
DB1700.DBB1001 2)
DB19.DBB17
DB1700.DBB1002
DB19.DBX44.0
1)
2)
Bit 7: Always 1
2.5.3.4
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Screen is dark
DB19.DBX20.1
DB19.DBX20.7
DB1900.DBX0.7
DB19.DBX26.0
DB1700.DBX2000.2
DB19.DBX26.1
DB1700.DBX2000.1
DB19.DBX26.3
DB1700.DBX2000.3
DB19.DBX26.5
DB1700.DBX2000.5
DB19.DBX26.6
DB1700.DBX2000.6
DB19.DBX26.7
DB1700.DBX2000.7
DB19.DBX42.0
DB19.DBX45.0
DB19.DBX45.1
DB19.DBX45.2
DB19.DBX45.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
75
2.5.3.5
Signals to channel
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB320x.DBX6.2
SINUMERIK 840D sl
SINUMERIK 828D
DB330x.DBX4.6
DB21, .DBX36.7
DB330x.DBX4.7
Overstore active
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Axis/spindle disable
DB380x.DBX1.3
Follow-up mode
DB380x.DBX1.4
DB380x.DBX1.5
DB380x.DBX1.6
Controller enable
DB380x.DBX2.1
DB380x.DBX2.2
DB380x.DBX4001.0 - 4
DB380x.DBX4001.5
DB380x.DBX4001.6
Pulse enable
DB380x.DBX4001.7
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB390x.DBX0.4/5
DB390x.DBX4.6/7
Follow up active
DB390x.DBX1.3
DB390x.DBX1.4
DB390x.DBX1.5
DB390x.DBX1.6
DB390x.DBX1.7
Lubrication pulse
DB390x.DBX1002.0
DB390x.DBX4001.0 - 4
Drive ready
DB390x.DBX4001.5
DB390x.DBX4001.6
2.5.3.6
Signal name
2.5.3.7
2.5.3.8
76
Signals to axis/spindle
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
SINUMERIK 840D sl
SINUMERIK 828D
Pulses enabled
DB390x.DBX4001.7
DB390x.DBX4002.0
DB390x.DBX4002.1
Run-up completed
DB390x.DBX4002.2
DB390x.DBX4002.3
DB390x.DBX4002.4
|nact| < nx
DB390x.DBX4002.5
nact = nset
DB390x.DBX4002.6
DB390x.DBX4008.0 - 4
DB390x.DBX4008.7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
77
78
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Brief description
3.1.1
Comprehensive monitoring functions are present in the controller for protection of people and
machines:
Contour monitoring
Positioning monitoring
Zero-speed monitoring
Clamping monitoring
Speed-setpoint monitoring
Actual-velocity monitoring
Measuring system monitoring
Limit-switch monitoring
Monitoring of the working area limitation
3.1.2
Protection zones
With the help of protection zones, elements of the machine (e.g. spindle chuck, tool changer,
toolholder, tailstock, movable probe, etc.) and the workpiece can be protected against
collisions.
During automatic execution of part programs in the AUTOMATIC or MDA mode, the NC checks
at the start of every part program block whether a collision between protection zones can occur
upon moving along the programmed path.
After manual deactivation of an active protection zone, traversing can be performed in this
zone. After leaving the protection zone, the protection zone automatically becomes active
again.
The definition, activation and deactivation of protection zones takes place via part program
instructions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
79
3.2
3.2.1
Contour monitoring
3.2.1.1
Contour error
Contour errors are caused by signal distortions in the position control loop.
Signal distortions can be linear or non-linear.
3.2.1.2
Following-error monitoring
Function
In control engineering terms, traversing along a machine axis always produces a certain
following error, i.e. a difference between the set and actual position.
80
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
)ROORZLQJHUURU
GV
)LUVWFXW
7ROHUDQFHEDQG
0HDVXUHG
IROORZLQJHUURU
0'0$B&217285B72/
&DOFXODWHGIROORZLQJHUURU
PRGHO
%HJLQ
PDFKLQLQJ
Figure 3-1
Following-error monitoring
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
81
Effectiveness
The following-error monitoring only operates with active position control and the following axis
types:
Linear axes with and without feedforward control
Rotary axes with and without feedforward control
Position-controlled spindles
Fault
If the configured tolerance limit is exceeded, the following alarm appears:
25050 "Axis <Axis name> Contour monitoring"
The affected axis/spindle is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(maximum time for braking ramp when an error occurs)
82
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.2
3.2.2.1
Overview
The following overview shows the correlation between the positioning, zero speed and
clamping monitoring functions:
9RUV
(IIHFWLYHWROHUDQFH
IRUVWDQGVWLOODQGFODPSLQJ
PRQLWRULQJ
$FWXDOYDOXH
'%'%;FODPSLQJLQSURJUHVV
0'0$B&/$03B326B72/
6HWSRLQW
0'0$B67$1'67,//B326B72/
0'0$B6723B/,0,7B&2$56(
0'0$B6723B/,0,7B),1(
0'
0$B67$1'67,//
B'(/$<B7,0(
([DFWVWRSILQHVLJQDO
([DFWVWRSFRDUVHVLJQDO
0'0$B326,7,21,1*B7,0(
3.2.2.2
Positioning monitoring
Function
At the end of a positioning operation:
Set velocity = 0 AND
DB31, ... DBX64.6/7 (motion command minus/plus) = 0
checks the position monitoring to ensure that the following error of every participating machine
axis is smaller than the exact-stop fine tolerance during the delay time.
MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
83
MD36020 $MA_POSITIONING_TIME
Large
Small
MD32200 $MA_POSCTRL_GAIN
(servo gain factor)
MD36020 $MA_POSITIONING_TIME
Small
Large
Effectiveness
The position monitoring only operates with active position control and the following axis types:
Linear axes
Rotary axes
Position-controlled spindles
Fault
If the configured position-monitoring time is exceeded, the following alarm appears:
25080 "Axis <Axis name> Position monitoring"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(maximum time for braking ramp when an error occurs)
3.2.2.3
Zero-speed monitoring
Function
At the end of a positioning operation:
Set velocity = 0 AND
DB31, ... DBX64.6/7 (motion command minus/plus) = 0
84
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Effectiveness
The zero-speed monitoring only operates with active position control and the following axis
types:
Linear axes
Rotary axes
Position-controlled spindles
Fault
If the delay time and/or the standstill tolerance is exceeded, the following alarm appears:
25040 "Axis <Axis name> Zero-speed monitoring"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(maximum time for braking ramp when an error occurs)
3.2.2.4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
85
3.2.2.5
Clamping monitoring
Function
For machine axes that are mechanically clamped upon completion of a positioning operation,
larger motions can result from the clamping process (> standstill tolerance). As a result,
standstill monitoring is replaced by clamping monitoring during the clamping process.
Clamping monitoring monitors the adherence to the configured clamping tolerance:
MD36050 $MA_CLAMP_POS_TOL (clamping tolerance)
Activation
The clamping monitoring is activated by the following interface signal:
DB31, ... DBX2.3 (clamping in progress) = 1
Note
The clamping monitoring is not active in "follow-up mode" (DB31, ... DBX1.4 = 1).
Error case
If the clamping tolerance is exceeded, alarm 26000 "clamping monitoring" is displayed: The
affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME (maximum time for braking ramp when a
fault occurs)
86
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
5HOHDVHD[LVFODPSLI
0'0$B6723B21B&/$03,1*>@ +
7UDYHOUHTXHVW
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
&RQWUROOHUHQDEOH
3DWKYHORFLW\
1
1
*=
*$WXUQURWDU\WDEOHWKURXJKGHJUHHV
W>PV@
Figure 3-2
The part program blocks N310 and N410 refer to the following programming example:
Program code
Comment
; Machining
N220 G1 X5 Y20
N310 G0 Z50
; Retract
N410 G0 A90
N510 G0 X100
; Approach
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
87
Comment
N520 G0 Z2
N610 G1 Z-4
; Machining
N620 G1 X0 Y-20
88
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
5HOHDVHD[LVFODPSLI
0'0$B6723B21B&/$03,1*>@ +
7UDYHOUHTXHVW
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
&RQWUROOHUHQDEOH
3DWKYHORFLW\
1
1
1
*;
*=UHWUDFWLRQ
*$7XUQURWDU\WDEOH
W>PV@
Figure 3-3
89
6HWD[LVFODPSLI
0'0$B6723B21B&/$03,1*>@
+
7UDYHOUHTXHVW
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
&RQWUROOHUHQDEOH
)HHGUDWHRYHUULGH
3DWKYHORFLW\
1
*$ 7XUQ
URWDU\
WDEOH
1
*;$SSURDFK
1
*=$SSURDFK
1
*=0DFKLQH
W>PV@
Figure 3-4
Supplementary conditions
Continuous-path mode
For the above-mentioned functions:
Automatic stop to release the clamping
Optimized release of the axis clamping via travel command
Automatic stop to set the clamping
the "Look Ahead" function must be active.
90
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
; Machining
N220 G1 X5 Y20
N310 G0 Z50
; Retract
N320 M82
; No path motion
N410 G0 A90
N420 M83
; No path motion
N510 G0 X100
; Approach
N520 G0 Z2
N610 G1 Z-4
; Machining
N620 G1 X0 Y-20
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
91
92
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.3
Speed-setpoint monitoring
Function
The speed setpoint comprises:
Speed setpoint of the position controller
Speed setpoint portion of the feedforward control (with active feedforward control only)
Dift compensation (only for drives with analog setpoint interface)
)HHGIRUZDUGFRQWUROYDOXH
.9
)ROORZLQJ
HUURU
'ULIWYDOXH
DSSOLHVRQO\WRDQDORJGULYHV
3RVLWLRQFRQWUROOHU
Figure 3-5
7RVSHHG
FRQWUROOHU
6SHHG
VHWSRLQW
PRQLWRULQJ
The speed-setpoint monitoring ensures by limiting the control or output signal (10 V for analog
setpoint interface or rated speed for digital drives) that the physical limitations of the drives are
not exceeded:
MD36210 $MA_CTRLOUT_LIMIT (maximum speed setpoint)
6SHHGVHWSRLQW>@
(J
Figure 3-6
0'0$B&75/287B/,0,7>Q@
0'0$B&75/287B/,0,7>Q@
IRUWHVWPRGH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
93
Effectiveness
The speed-setpoint monitoring is only active for closed-loop position-controlled axes and
cannot be deactivated.
Fault
If the configured delay time is exceeded, the following alarm appears:
25060 "Axis <Axis name> Speed-setpoint limitation"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(maximum time for braking ramp when an error occurs)
Note
Upon reaching the speed-setpoint monitoring, the position feedback loop of the axis becomes
non-linear due to the limitation. Contour errors result if the axis is involved in generating the
contour.
3.2.4
Actual-velocity monitoring
Function
The actual-velocity monitoring checks that the actual velocity of a machine axis/spindle does
not exceed the configured threshold:
MD36200 $MA_AX_VELO_LIMIT (velocity-monitoring threshold)
The threshold should be 10-15% above the configured maximum velocity.
For axes:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
For spindles:
MD35110 $MA_GEAR_STEP_MAX_VELO_LIMIT[n] (maximum speed of gear stage)
If you use this setting the speed will not normally exceed the velocity-monitoring threshold
(exception: Drive error).
94
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Activation
The actual-velocity monitoring is activated as soon as the active measuring system returns
valid actual values (encoder limit frequency not exceeded).
Effectiveness
The actual-velocity monitoring only operates with active position control and the following axis
types:
Linear axes
Rotary axes
Open-loop-controlled and position-controlled spindles
Fault
If the threshold is exceeded, the following alarm is displayed:
25030 "Axis <Axis name> Actual-velocity alarm limit"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(maximum time for braking ramp when an error occurs)
3.2.5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
95
Meaning
=0
Monitoring of HW faults:
ON
If a hardware fault is detected in the active measuring system,
POWER ON alarm 25000 is displayed:
"Axis <Axis name> Hardware fault active encoder"
The affected axis is stopped via the configured braking ramp in
follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME (maximum time
for braking ramp when a fault occurs)
If a hardware fault is detected in the passive measuring system,
alarm 25001 is displayed:
"Axis <Axis name> Hardware fault passive encoder"
There is no further alarm response.
Zero-mark monitoring:
OFF
Alarms 25020 and 25021 (see below) are suppressed.
= 100
No zero-mark monitoring as well as hiding of all encoder monitoring functions (i.e. in addition to alarm
25020 (25021)), alarms 25000 (25001) and 25010 (25011) are suppressed.
Monitoring of HW faults:
ON (see above)
Zero-mark monitoring:
ON
If zero-mark monitoring is tripped in the active measuring system,
alarm 25020 is displayed:
"Axis <Axis name> Zero-mark monitoring active encoder"
The affected axis is stopped via the configured braking ramp in
follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME (maximum time
for braking ramp when a fault occurs)
If zero-mark monitoring is tripped in the passive measuring system,
alarm 25021 is displayed:
"Axis <Axis name> Zero-mark monitoring passive encoder"
There is no further alarm response.
> 100
Monitoring of HW faults:
Zero-mark monitoring:
ON (see above)
96
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.5.1
Encoder-limit-frequency monitoring
Function
The NC encoder-limit-frequency monitoring is based on the configuration and telegram
information of the drive. It monitors that the encoder frequency does not exceed the configured
encoder limit frequency:
MD36300 $MA_ENC_FREQ_LIMIT (encoder limit frequency)
Encoder-limit-frequency monitoring always refers to the active measuring system selected in
the NC/PLC interface:
DB31, ... DBX1.5/1.6 (position measuring system 1/2)
Effectiveness
The encoder limit frequency is operative for:
Linear axes
Rotary axes
Open-loop-controlled and position-controlled spindles
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
97
Fault
Upon exceeding of the encoder limit frequency, the following occurs:
Message to the PLC:
DB31, ... DBX60.2 or 60.3 = 1 (encoder limit frequency exceeded 1 or 2)
Spindles
Spindles are not stopped but continue to turn with speed control.
If the spindle speed is reduced so much that the encoder frequency passes below the
encoder limit frequency, the actual value system of the spindle is automatically
resynchronized.
Axes
The following alarm is displayed:
21610 "Channel <Channel number> Axis <Axis name> Encoder <Encoder number >
Frequency exceeded"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(maximum time for braking ramp when an error occurs)
Note
If the encoder limit frequency is exceeded, a position-controlled machine axis must be rereferenced (see Section "R1: Referencing (Page 1149)").
3.2.5.2
Function
With absolute encoders (MD30240 $MA_ENC_TYPE = 4), absolute values supplied by the
measuring system are used to check the plausibility of the actual value.
During the check, the NC compares the cyclic position value held in the position control cycle
clock based on the incremental information from the encoder with a new position value
generated directly from the absolute and incremental information and checks that the
calculated position difference does not exceed the permissible deviation.
MD36310 $MA_ENC_ZERO_MONITORING (permissible deviation in 1/2 coarse increments
between the absolute and the incremental encoder track)
Note
The plausibility check of absolute encoders specifically detects all deviations caused by dirt
on the absolute track or by faults when transferring the absolute value. However, small errors
in the incremental track (burst interference, impulse errors) are not detected. In such instances
the plausibility check only responds to deviations in the millimeter range. This form of
monitoring should therefore serve as additional monitoring to assist the diagnosis of absoluteposition faults.
98
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
>0
Permissible deviation in 1/2 coarse increments between the absolute and the incremental
encoder track
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
99
Fault
Alarm 25020
If the plausibility check is tripped in the active measuring system, alarm 25020 is displayed:
"Axis <Axis name> Zero-mark monitoring active encoder"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(maximum time for braking ramp when an error occurs)
Alarm 25021
If the plausibility check is tripped in the passive measuring system, alarm 25021 is displayed:
"Axis <Axis name> Zero-mark monitoring passive encoder"
There is no further alarm response.
Note
In the event of a fault, the adjustment of the absolute encoder is lost and the axis is no longer
referenced. The absolute encoder must be readjusted (see Section "Referencing with absolute
encoders (Page 1179)").
Note
Errors in the incremental track that cannot be detected with amplitude monitoring can cause
position deviations in the millimeter range. The deviation depends on the lattice pitch/line count
and the traversing velocity of the axis when the error occurs.
Complete position monitoring is only possible through redundancy, i.e. through comparison
with an independent second measuring system.
3.2.5.3
100
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Effectiveness
Customized monitoring can be activated in parallel to or as an alternative to standard zeromark monitoring, depending on the setting in machine data:
MD36310 $MA_ENC_ZERO_MONITORING
Value
Meaning
>0
100
If both monitoring functions are active (MD36310 > 0), you can perform cascaded monitoring.
Example:
If a value falls below the threshold specified in MD36310, customized monitoring triggers a
prewarning; standard zero-marking monitoring will only detect a fault if the threshold is
exceeded and will then deactivate automatically.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
101
System variables
You can implement customized error reactions using the following system variables:
System variable
Meaning
$VA_ENC_ZERO_MON_ERR_CNT[<n>,<axis>]
$VA_ABSOLUTE_ENC_DELTA_INIT[<n>,<axis>]
102
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.6
Limit-switch monitoring
Overview of the end stops and possible limit-switch monitoring:
7UDYHUVLQJUDQJHPLQXV
7UDYHUVLQJUDQJHSOXV
:RUNLQJDUHDOLPLWDWLRQ
QGVRIWZDUHOLPLWVZLWFK
VWVRIWZDUHOLPLWVZLWFK
+DUGZDUHOLPLWVZLWFK
(PHUJHQF\VWRS
0HFKDQLFDOWUDYHUVLQJOLPLW
3.2.6.1
Function
A hardware limit switch is normally installed at the end of the traversing range of a machine
axis. It serves to protect against accidental overtravelling of the maximum traversing range of
the machine axis while the machine axis is not yet referenced.
If the hardware limit switch is triggered, the PLC user program created by the machine
manufacturer sets the corresponding interface signal:
DB31, ... DBX12.0/1 = 1 (hardware limit switch minus/plus)
Parameterization
The braking behavior of the machine axis upon reaching the hardware limit switch is
configurable via the machine data:
MD36600 $MA_BRAKE_MODE_CHOICE (braking behavior on hardware limit switch)
Value
Meaning
Effectiveness
The hardware limit-switch monitoring is active after the controller has ramped up in all modes.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
103
Effect
Upon reaching the hardware limit switch, the following occurs:
Alarm 21614 "Channel <Channel number> Axis <Axis name> Hardware limit switch
<Direction>"
The machine axis is braked according to the configured braking behavior.
If the axis/spindle is involved in interpolation with other axes/spindles, these are also braked
according to their configured braking behavior.
The traversing keys of the affected machine axis are blocked based on the direction.
3.2.6.2
Function
Software limit switches serve to limit the traversing range of a machine axis. Per machine axis
and per traversing direction, two (1st and 2nd) software limit switches are available:
MD36100 POS_LIMIT_MINUS (1st software limit switch minus)
MD36110 POS_LIMIT_PLUS (1st software limit switch plus)
MD36120 POS_LIMIT_MINUS2 (2nd software limit switch minus)
MD36130 POS_LIMIT_PLUS2 (2nd software limit switch plus)
By default, the 1st software limit switch is active. The 2nd software limit switch can be activated
for a specific direction with the PLC user program:
DB31, ... DBX12.2 / 12.3 (2nd software limit switch minus/plus)
Effectiveness
The software limit switches are active:
Immediately after the successful referencing of the machine axis.
In all operating modes.
Boundary conditions
The software limit switches refer to the machine coordinate system.
The software limit switches must be inside the range of the hardware limit switches.
The machine axis can be moved to the position of the active software limit switch.
PRESET
After use of the function PRESET, the software limit-switch monitoring is no longer active.
The machine must first be re-referenced.
Endlessly rotating rotary axes
No software limit-switch monitoring takes place for endlessly rotating rotary axes:
MD30310 $MA_ROT_IS_MODULO == 1 (modulo conversion for rotary axis and spindle)
Exception: Setup-rotary axes
104
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Effects
Automatic operating modes (AUTOMATIC, MDA)
Without transformation, without overlaid motion, unchanged software limit switch:
A part program block with a programmed traversing motion that would lead to overrunning
of the software limit switch is not started.
With transformation:
Different reactions occur depending on the transformation type:
Behavior as above.
or
The part program block with a programmed traversing motion that would lead to
overrunning of the software limit switch is started. The affected machine axis stops at
the active software limit switch. The other machine axes participating in the traversing
motion are braked. The programmed contour is left during this process.
With overlaid motion
The part program block with a programmed traversing motion that would lead to overrunning
of the software limit switch is started. Machine axes that are traveling with overlaid motion
or have traveled with overlaid motion stop at the active software limit switch in question.
The other machine axes participating in the traversing motion are braked. The programmed
contour is left during this process.
Manual operating modes
JOG without transformation
The machine axis stops at the software limit switch position.
JOG with transformation
The machine axis stops at the software limit switch position. Other machine axes
participating in the traversing motion are braked. The preset path is left during this process.
General
Changing of the software limit switch (1st 2nd software limit switch)
If the actual position of the machine axis after changing lies behind the software limit switch,
it is stopped with the maximum permissible acceleration.
Overrunning the software limit switch in JOG mode
If the position of the software limit switch is reached and renewed pressing of the traversing
button should cause further travel in this direction, an alarm is displayed and the axis is not
traversed farther:
Alarm 10621 "Channel <Channel number> Axis <Axis name> is at the software limit switch
<Direction>"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
105
3.2.7
3.2.7.1
General
Function
The "working area limitation" function can be used to limit the traversing range of a channel's
geometry and special axes to a permissible operating range. The function monitors compliance
with working area limits both in AUTOMATIC mode and in JOG mode.
The following versions are available:
Working area limitation in the Basic Coordinate System (BCS)
The traversing range limits are specified relative to the Basic Coordinate System.
Working area limitation in the workpiece coordinate system (WCS) or adjustable zero
system (AZS)
The traversing range limits are specified relative to the workpiece coordinate system or to
the adjustable zero system.
The two types of monitoring are independent of each other. If they are both active at the same
time, the traversing range limit which most restricts the access will take effect, depending on
the direction of travel.
106
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Response
Automatic operating modes
With / without transformation
The parts program block with a programmed traversing motion that would lead to
overrunning of the working area limits is not executed.
With superimposed motion
The axis, which would violate the working area limitation due to a superimposed motion, is
braked with maximum acceleration and without jerk limits (BRISK), and will come to a stop
in the position of the working area limitation. Other axes involved in the movement are
braked according to current acceleration behavior (e.g. SOFT). The path correlation may
be lost due to different braking accelerations (contour violation).
Manual operating modes
JOG with / without transformation
The axis is positioned at the working area limitation and then stopped.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
107
Powerup response
If an axis moves outside the permissible working area when activating the working area limits,
it will be immediately stopped with the maximum permissible acceleration.
Geo-axis replacement
Through the following machine data it is adjustable, whether during geometry axis change the
active working area limitation is retained or deactivated:
MD10604 $MN_WALIM_GEOAX_CHANGE_MODE = <value>
3.2.7.2
<value>
Meaning
The working area limitation is deactivated during the geometry axis change.
The working area limitation remains activated during the geometry axis change.
Application
Using the "working area limitation in BCS", the working area of a machine tool is limited so
that the surrounding devices (e.g. tool revolver, measuring stations) are protected against
damage.
108
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3URJUDPPDEOHZRUNLQJ
DUHDOLPLWDWLRQ
*
; PD[
*
; PLQ
Figure 3-7
:
*
= PLQ
*
= PD[
The programmed working area limitation has priority and overwrites the values entered in
SD43420 and SD43430.
Activation/Deactivation
Working area limitation through setting data
The activation/deactivation of the working area limitation for each axis takes place in a directionspecific manner via the immediately effective setting data:
SD43400 $SA_WORKAREA_PLUS_ENABLE (working area limitation active in the positive
direction)
SD43410 $SA_WORKAREA_MINUS_ENABLE (working area limitation active in the negative
direction)
Value
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
109
Reset position
The reset position for the working area limitation (WALIMON or WALIMOF) is configurable via:
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
3.2.7.3
Application
The "working area limitation" in the WCS/SZS enables a channel-specific, flexible workpiecespecific limitation of the traversing range of the channel axes in the workpiece coordinate
system (WCS) or settable zero system (SZS). It is intended mainly for use in conventional
lathes.
110
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Requirement
The channel axes must be referenced.
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
111
Data storage
The system variables of the working area limits are stored retentively in the static memory of
the NC.
Note
For the storage of the limiting values for the linear axes, the default setting is considered for
the system of units (MD10240 $MN_SCALING_SYSTEM_IS_METRIC).
Data backup
The system variables of the working area limits can be backed up in separate files:
Backup file
_N_CHx_WAL
_N_COMPLETE_WAL
Note
The system variables of the working area limits are part of the "_N_INITIAL_INI" file.
112
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.8
Activation / deactivation
Activation
"Parking" a machine axis activated by resetting the axis-specific NC/PLC interface signals for
the parameterized position measuring systems and the controller enable of the machine axis:
DB31, ... DBX1.5 (position measuring system 1) = 0
DB31, ... DBX1.6 (position measuring system 2) = 0
DB31, ... DBX2.1 (controller enable) = 0
The encoder status of the position measuring system of the axis is then set to "Not referenced":
DB31, ... DBX60.4 (referenced/synchronized, position measuring system 1) == 0
DB31, ... DBX60.5 (referenced/synchronized, position measuring system 2) == 0
The following further NC/PLC interface signals are also reset:
DB31, ... DBX61.5 (position controller active) == 0
DB31, ... DBX61.6 (speed controller active) == 0
DB31, ... DBX61.7 (current controller active) == 0
DB31, ... DBX93.7 (pulses enabled) == 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
113
114
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.9
3.2.9.1
Function
Contrary to the "Parking a machine axis (Page 113)" function, for which all position measuring
systems of a machine axis are deactivated, using the "Park the passive position measuring
system" function, users have the option, of only "parking" the passive position measuring
system of a machine axis (i.e. to deactivate the encoder evaluation and monitoring in the drive
and in the control), while the active position measuring system can remain operational.
Note
For an explanation of active/passive measuring system, refer to "Setpoint/actual-value
system (Page 336)".
Application
The "Park passive measuring system" function can, for example, be used in the following cases:
Changing attachment heads with and without integrated encoder
Using the "Park passive position measuring system" function, it is possible to mount
attachment heads alternating with and without integrated encoder for different machining
tasks on the main spindle, without the missing encoder signals initiating drive and control
faults.
See also:
Example: Changing an attachment head for a direct position measuring system
(Page 119)
Example: Changing an attachment head for two direct position measuring systems
(Page 123)
Using linear position measuring systems, which are not available over the complete
traversing range of a machine axis
Using the "Park passive position measuring system" function, it is possible to pass through
the range outside the linear position measuring system, without the missing encoder signals
initiating drive and control faults.
See also:
"Example: Measuring system switchover when encoders are missing in certain parts
of the range (Page 127)".
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
115
Activation / deactivation
Activation
The passive position measuring system of a machine axis is parked under the following
conditions:
"Park passive position measuring system" function is active for the measuring system:
MD31046 $MA_ENC_PASSIVE_PARKING[<n>] = 1
with <n> = 0 (position measuring system 1) or 1 (position measuring system 2)
Note
MD31046 is not active:
for axes with fewer than two encoders:
MD30200 $MA_NUM_ENCS < 2
for simulated encoders:
MD30240 $MA_ENC_TYPE = 0
Note
For position measuring systems, which are used as motor measuring systems, the "Park
passive position measuring system" function should be deactivated (MD31046 = 0)!
and
The user sets the following NC/PLC interface signal to "0":
DB31, ... DBX1.5 (position measuring system 1) = 0
or
DB31, ... DBX1.6 (position measuring system 2) = 0
The controller then sets the status for the activation state of the position measuring system to
"0":
DB31, ... DBX102.5 (position measuring system 1 activated) == 0
or
DB31, ... DBX102.6 (position measuring system 2 activated) == 0
The position measuring system is now no longer monitored and updated.
Deactivation
"Park" is deactivated if the user activates the position measuring system:
DB31, ... DBX1.5 (position measuring system 1) = 1
or
DB31, ... DBX1.6 (position measuring system 2) = 1
The controller then sets the status for the activation state of the position measuring system
back to "1":
DB31, ... DBX102.5 (position measuring system 1 activated) == 1
or
116
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
117
Meaning
Only the position from the previous active position measuring system is transferred.
The position measuring system is not referenced:
DB31, ... DBX60.4 (referenced/synchronized, position measuring system 1) == 0
or
DB31, ... DBX60.5 (referenced/synchronized, position measuring system 2) == 0
Position and "Referenced" status are transferred from the previously active position measur
ing system.
The position measuring system is referenced:
DB31, ... DBX60.4 (referenced/synchronized, position measuring system 1) == 1
or
DB31, ... DBX60.5 (referenced/synchronized, position measuring system 2) == 1
Note
Position and "Referenced" status of the previously active position measuring system are only
transferred for incremental position measuring systems, depending on MD34210
$MA_ENC_REFP_STATE[<n>] and only when the "Park passive position measuring system"
function is active (MD31046 $MA_ENC_PASSIVE_PARKING[<n>] = 1).
The transferred position has the accuracy of the previous active position measuring system.
The position measuring system should be rereferenced if this accuracy is not adequate.
WARNING
Incorrect synchronization of the position measuring system caused by offset of the actual
machine axis position
If changes have been made to the position measuring system during "parking" that require a
change to the parameterized machine data, for example, another encoder has been mounted,
the position measuring system must be completely remeasured and referenced See Chapter
"R1: Referencing (Page 1149)".
3.2.9.2
Supplementary conditions
118
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.9.3
Initial situation
Attachment head "A" has an encoder E2.
Attachment head "B" does not have an encoder.
Spindle "SP" has an encoder E1.
One of the following two telegram types is configured in MD13060
$MN_DRIVE_TELEGRAM_TYPE (standard telegram type for PROFIdrive):
Telegram 116 (motor encoder + an external encoder)
or
Telegram 136 (motor encoder + an external encoder, and torque precontrol)
The following position measuring systems are configured in the spindle "SP":
Motor encoder E1 as position measuring system 1
Direct encoder E2 as position measuring system 2
Attachment head "A" with encoder E2 is currently mounted on the spindle.
Position measuring system 2 is the active measuring system:
DB31, ... DBX1.6 = 1
Position measuring system 1 is passive.
The "Park passive position measuring system" function is:
not active for position measuring system 1:
MD31046 $MA_ENC_PASSIVE_PARKING [ 0 ] = 0
active for position measuring system 2:
MD31046 $MA_ENC_PASSIVE_PARKING [ 1 ] = 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
119
Objective
The user would like to change from attachment head "A" to attachment head "B."
Implementation
6SLQGOH63
$WWDFKPHQWKHDG$
*HDUER[
0RWRU
(
(
$WWDFKPHQWKHDG$
*HDUER[
6SLQGOH63
$WWDFKPHQWKHDG$
(
*HDUER[
0RWRU
$WWDFKPHQWKHDG%
(
(
6SLQGOH63
$WWDFKPHQWKHDG%
$FWLYHHQFRGHU
0RWRU
3DVVLYHHQFRGHU
(
120
3DUNHGHQFRGHU
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Before changing an attachment head, using the function "Parking a machine axis
(Page 113)", the user must deactivate all position measuring systems of the machine
axis:
DB31, ... DBX1.5 (position measuring system 1) = 0
DB31, ... DBX1.6 (position measuring system 2) = 0
The controller then resets the status signals for the position measuring systems:
DB31, ... DBX102.5 (position measuring system 1 activated) == 0
DB31, ... DBX102.6 (position measuring system 2 activated) == 0
The user waits for the status signals and only now removes the attachment head "A"
from the spindle. This electrically disconnects the encoder cable between the attach
ment head "A" and coupling. The absence of encoder E2 does not generate any NC or
drive faults.
Attachment head "B" is now mounted on the spindle.
The user only activates position measuring system 1:
DB31, ... DBX1.5 (position measuring system 1) = 1
The control then sets the status signal:
DB31, ... DBX102.5 (position measuring system 1 activated) == 1
The "Park passive position measuring system" function is active for position measuring
system 2. This means that position measuring system 2 does not become passive, but
remains in the "Park" state.
Objective
The user now wishes to remount attachment head "A" again.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
121
Implementation
6SLQGOH63
$WWDFKPHQWKHDG%
0RWRU
(
$WWDFKPHQWKHDG%
1
6SLQGOH63
$WWDFKPHQWKHDG%
0RWRU
$WWDFKPHQWKHDG$
(
3
*HDUER[
4
(
6SLQGOH63
$WWDFKPHQWKHDG$
*HDUER[
$FWLYHHQFRGHU
0RWRU
(
122
(
3DVVLYHHQFRGHU
3DUNHGHQFRGHU
Using the "Park machine axis" function, the user deactivates position measuring system
1:
DB31, ... DBX1.5 (position measuring system 1) = 0
The controller then resets the status signal for the position measuring system:
DB31, ... DBX102.5 (position measuring system 1 activated) == 0
The user waits for the status signal and only now removes the attachment head "B" from
the spindle.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.9.4
Example: Changing an attachment head for two direct position measuring systems
Initial situation
Attachment head "A" has an encoder E3.
Attachment head "B" does not have an encoder.
Spindle "SP" has two encoders E1 and E2.
One of the following two telegram types is configured in MD13060
$MN_DRIVE_TELEGRAM_TYPE (standard telegram type for PROFIdrive):
Telegram 118 (two external encoders)
or
Telegram 138 (two external encoders, plus torque precontrol)
References:
For information with regard to the encoder assignment, see:
Commissioning Manual, CNC Commissioning: NC, PLC, Drive;
Section: "Communication between the NC and the drive" > "Drives: Assign axis"
The following position measuring systems are configured in the spindle "SP":
Direct encoder E2 as position measuring system 1
Direct encoder E3 as position measuring system 2
Attachment head "A" with encoder E3 is currently mounted on the spindle.
Position measuring system 2 is the active measuring system:
DB31, ... DBX1.6 = 1
Position measuring system 1 is passive.
The "Park passive position measuring system" function is:
Not active for position measuring system 1:
MD31046 $MA_ENC_PASSIVE_PARKING [ 0 ] = 0
Active for position measuring system 2:
MD31046 $MA_ENC_PASSIVE_PARKING [ 1 ] = 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
123
Objective
The user would like to change from attachment head "A" to attachment head "B."
Implementation
6SLQGOH63
$WWDFKPHQWKHDG$
*HDUER[
*HDUER[
0RWRU
(
(
(
$WWDFKPHQWKHDG$
*HDUER[
6SLQGOH63
$WWDFKPHQWKHDG$
*HDUER[
(
*HDUER[
0RWRU
(
(
$WWDFKPHQWKHDG%
(
3
6SLQGOH63
*HDUER[
$WWDFKPHQWKHDG%
$FWLYHHQFRGHU
0RWRU
3DVVLYHHQFRGHU
(
124
(
3DUNHGHQFRGHU
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Before changing an attachment head, using the function "Parking a machine axis
(Page 113)", the user must deactivate all position measuring systems of the machine
axis:
DB31, ... DBX1.5 (position measuring system 1) = 0
DB31, ... DBX1.6 (position measuring system 2) = 0
The controller then resets the status signals for the position measuring systems:
DB31, ... DBX102.5 (position measuring system 1 activated) == 0
DB31, ... DBX102.6 (position measuring system 2 activated) == 0
The user waits for the status signals and only now removes the attachment head "A"
from the spindle. This electrically disconnects the encoder cable between the attach
ment head "A" and coupling. The absence of encoder E3 does not generate any NC or
drive faults.
Attachment head "B" is now mounted on the spindle.
The user only activates position measuring system 1:
DB31, ... DBX1.5 (position measuring system 1) = 1
The control sets the status signal:
DB31, ... DBX102.5 (position measuring system 1 activated) == 1
The "Park passive position measuring system" function is active for position measuring
system 2. This means that position measuring system 2 does not become passive, but
remains in the "Park" state.
Objective
The user now wishes to remount attachment head "A" again.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
125
Implementation
6SLQGOH63
$WWDFKPHQWKHDG%
*HDUER[
0RWRU
(
(
$WWDFKPHQWKHDG%
1
6SLQGOH63
$WWDFKPHQWKHDG%
*HDUER[
0RWRU
(
$WWDFKPHQWKHDG$
(
3
*HDUER[
4
(
6SLQGOH63
*HDUER[
$WWDFKPHQWKHDG$
*HDUER[
$FWLYHHQFRGHU
0RWRU
(
126
(
(
3DVVLYHHQFRGHU
3DUNHGHQFRGHU
Using the "Park machine axis" function, the user deactivates position measuring system
1:
DB31, ... DBX1.5 (position measuring system 1) = 0
The controller then resets the status signal for the position measuring system:
DB31, ... DBX102.5 (position measuring system 1 activated) == 0
The user waits for the status signal and only now removes the attachment head "B" from
the spindle.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.2.9.5
Example: Measuring system switchover when encoders are missing in certain parts of
the range
In the following example, the direct linear position measuring system is only available in the
machining zones, while only the motor measuring system is available outside the machining
zones.
Initial situation
Linear axis "X" has two incremental encoders:
Motor encoder E1
Direct linear encoder E2
Direct linear encoder E2 is only available in the machining range.
One of the following two telegram types is configured in MD13060
$MN_DRIVE_TELEGRAM_TYPE (standard telegram type for PROFIdrive):
Telegram 116 (motor encoder + an external encoder)
or
Telegram 136 (motor encoder + an external encoder, and torque precontrol)
The following position measuring systems are configured for the machine axis:
Motor encoder E1 as position measuring system 1
Direct linear encoder E2 as position measuring system 2
When the machine is switched on, the user activates both position measuring systems:
DB31, ... DBX1.5 (position measuring system 1) = 1
DB31, ... DBX1.6 (position measuring system 2) = 1
When both position measuring systems are simultaneously activated, then the control
selects position measuring system 1 as active position measuring system.
Position measuring system 2 is selected for machining:
DB31, ... DBX1.5 (position measuring system 1) = 0
DB31, ... DBX1.6 (position measuring system 2) = 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
127
Objective
When passing through the range outside linear position measuring system E2, the missing
encoder signals should not initiate any faults in the drive and in the control.
128
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Implementation
1
*HDUER[
0RWRU
7DEOH
%DOOVFUHZ
/LQHDUVFDOH
(
(
2
*HDUER[
0RWRU
7DEOH
%DOOVFUHZ
/LQHDUVFDOH
(
(
3
*HDUER[
0RWRU
7DEOH
%DOOVFUHZ
/LQHDUVFDOH
(
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
(
(
0RWRUHQFRGHU
$FWLYHHQFRGHU
(
'LUHFWOLQHDUHQFRGHU
3DVVLYHHQFRGHU
7UDYHUVLQJPRWLRQ
3DUNHGHQFRGHU
129
Before the table reaches the end of the linear position measuring system, a switchover
must be made to the motor measuring system. The user does this by activating both
position measuring systems:
DB31, ... DBX1.5 (position measuring system 1) = 1
DB31, ... DBX1.6 (position measuring system 2) = 1
Using the "Park passive position measuring system" function, the linear position meas
uring system, which is passive after the measuring system switchover, is parked by the
control.
The control resets the status signal:
DB31, ... DBX102.6 (position measuring system 2 activated) == 0
The user waits for the status signal before continuing to traverse in the range outside
the linear position measuring system.
Traversing through the range outside the linear position measuring system with the
motor measuring system.
If the table returns to the linear position measuring system range, at standstill, the user
switches from the motor measuring system to the linear position measuring system:
DB31, ... DBX1.5 (position measuring system 1) = 0
DB31, ... DBX1.6 (position measuring system 2) = 1
The control sets the status signal:
DB31, ... DBX102.6 (position measuring system 2 activated) == 1
The motor measuring system becomes a passive position measuring system.
Result
Both position measuring systems are referenced. The position of the linear position measuring
system corresponds to the position of the motor measuring system at the switchover instant.
The linear position measuring system must be rereferenced if the position accuracy is not
sufficient.
3.3
Protection zones
3.3.1
General
Function
Protection zones are static or moveable in 2- or 3-dimensional ranges within a machine to
protect machine elements against collisions.
130
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Coordinate system
The definition of a protection zone takes place with reference to the geometric axis of a channel
in the basic coordinate system.
Reference
Tool-related protection zones
Coordinates for toolrelated protection zones must be given as absolute values referred to
the tool carrier reference point F.
Workpiece-related protection zones
Coordinates for workpiecerelated protection zones must be given as absolute values
referred to the zero point of the basic coordinate system.
Note
If no toolrelated protection zone is active, the tool path is checked against the workpiecerelated protection zones.
If no workpiece-oriented protection zone is active, protection-zone monitoring does not take
place.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
131
Orientation
The orientation of the protection zones is determined by the plane definition (abscissa/
ordinate), in which the contour is described, and the axis perpendicular to the contour (vertical
axis).
The orientation of the protection zones must be the same for the tool and workpiecerelated
protection zones.
3.3.2
Coordinates
The coordinates of a protection zone must always be programmed as absolute values with
respect to the reference point of the protection zone. When the protection zone is activated
via the part program it is possible to apply a relative offset to the reference point of the protection
zone.
132
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Examples
In the following figures some examples for protection zones have been presented:
;
:RUNSLHFHUHODWHG
SURWHFWLRQ]RQHIRU
VSLQGOHFKXFN
7RROKROGHU
:RUNSLHFHUHODWHG
SURWHFWLRQ]RQHIRU
WRROKROGHU
'ULOO
3
:
;
Figure 3-8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
133
<
7RROUHODWHG
SURWHFWLRQ]RQH
7RROUHODWHG
SURWHFWLRQ]RQH
6
;
:RUNSLHFHUHODWHG
SURWHFWLRQ]RQH
=
Figure 3-9
:RUNSLHFHUHODWHG
SURWHFWLRQ]RQHIRU
WDLOVWRFN
0
=
Figure 3-10
134
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.3.3
General
A protection-zone definition must contain the following information:
Protection zone type (workpiece- or tool-related)
Orientation of the protection zone
Type of limitation in the third dimension
Upper and lower limits of the protection zone in the third dimension
Activation type ("Protection zone immediately active": only possible via system variable)
Contour elements
Definition beginning
The definition start is defined by the corresponding subroutine:
CPROTDEF(n, t, applim, appplus, appminus)
NPROTDEF(n, t, applim, appplus, appminus)
Parameters Type
Description
INT
BOOL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
TRUE
FALSE
135
INT
Description
Type of limitation in the third dimension
0
No limitation
appminus
REAL
appplus
REAL
1)
;
,QWHUQDOSURWHFWLRQ]RQH
0
=
,QWHUQDOSURWHFWLRQ]RQH
;
Figure 3-11
Toolrelated protection zones must be convex. If a concave protection zone is required, the
protection zone must be divided up into several convex protection zones.
136
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
&RQYH[SURWHFWLRQ]RQHV
&RQFDYHSURWHFWLRQ]RQHVQRWSHUPLVVLEOH
Figure 3-12
Contour elements
The following contour elements are permissible:
G0, G1 for straight contour elements
G2 for circle segments in the clockwise direction
Permissible only for workpiece-related protection zones.
Not permissible for tool-related protection zones because they must be convex.
G3 for circular segments in the counterclockwise direction
A protection zone cannot be described by a complete circle. A complete circle must be divided
into two half circles.
The sequence G2, G3 or G3, G2 is not permitted. A short G1 block must be inserted between
the two circular blocks.
Constraints
During the definition of a protection zone, the following functions must not be active or used:
Tool radius compensation (cutter radius compensation, tool nose radius compensation)
Transformation
Reference point approach (G74)
Fixed point approach (G75)
Dwell time (G4)
Block search stop (STOPRE)
End of program (M17, M30)
M functions: M0, M1, M2
Programmable frames (TRANS, ROT, SCALE, MIRROR) and configurable frames (G54 to G57)
are ineffective.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
137
End of definition
The end of definition is defined by the following subroutine:
EXECUTE(NOT_USED)
Parameters
Type
Description
NOT_USED
INT
3.3.4
General
When the protection zones are defined via part program instructions (see Section "Definition
via part program instruction (Page 135)"), the protection zone data is stored in system
variables. The system variables can also be written directly so that the definition of protection
areas can also be performed directly in the system variables.
The same supplementary conditions apply for the definition of the contour of a protection zone
as for a protection zone definition via part program instructions.
System variables
The protection zone definitions cover following system variables:
System variable
Type
Meaning
$SN_PA_ACTIV_IMMED[n]
$SC_PA_ACTIV_IMMED[n]
BOOL
Activation type
The protection zone is active / not active immediately after
the power up of the controller and the referencing of the axes.
$SN_PA_T_W[n]
$SC_PA_T_W[n]
$SN_PA_ORI[n]
$SC_PA_ORI[n]
138
INT
INT
FALSE
TRUE
Immediately active
Reserved
Reserved
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Meaning
$SN_PA_LIM_3DIM[n]
$SC_PA_LIM_3DIM[n]
INT
No limitation
$SN_PA_PLUS_LIM[n]
$SC_PA_PLUS_LIM[n]
REAL
$SN_PA_MINUS_LIM[n]
$SC_PA_MINUS_LIM[n]
REAL
$SN_PA_CONT_NUM[n]
$SC_PA_CONT_NUM[n]
INT
$SN_PA_CONT_TYP[n, i]
$SC_PA_CONT_TYP[n, i]
INT
Contour type[i], contour type (G1, G2, G3) of the nth contour
element
$SN_PA_CONT_ABS[n, i]
$SC_PA_CONT_ABS[n, i]
REAL
$SN_PA_CONT_ORD[n, i]
$SC_PA_CONT_ORD[n, i]
REAL
$SN_PA_CENT_ABS[n, i]
$SC_PA_CENT_ABS[n, i]
REAL
$SN_PA_CENT_ORD[n, i]
$SC_PA_CENT_ORD[n, i]
REAL
Note
The system variables of the protection zone definitions are not restored with REORG.
Blocks
_N_NCK_PRO
_N_CHAN1_PRO
_N_CHAN2_PRO
Data backup
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
139
3.3.5
File
Blocks
_N_INITIAL_INI
_N_COMPLETE_PRO
_N_CHAN_PRO
Type
Description
<n>:
INT
<state>:
INT
Activation status
<xMov>,
<yMov>,
<zMov>:
REAL
Deactivated
Preactivated
Activated
Note
A protection zone is only taken into account after the referencing of all geometry axes of the
channel in which it has been activated.
140
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
141
3UHDFWLYDWHGSURWHFWLRQ]RQH
0
=
Figure 3-13
142
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Meaning
The active protection zones are deactivated during the transformation change.
The active protection zones remain active during the transformation change.
The active protection zones are deactivated during the geometry axis change.
The active protection zones remain active during the geometry axis change.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
143
Memory requirements
The memory required for protection zones is parameterized via the following machine data:
Persistent memory
MD18190 $MN_MM_NUM_PROTECT_AREA_NCK (number of available machinedefined protection zones)
MD28200 $MC_MM_NUM_PROTECT_AREA_CHAN (number of available channeldefined protection zones)
Dynamic memory
MD28210 $MC_MM_NUM_PROTECT_AREA_ACTIVE (maximum number of
protection zones that can be activated simultaneously in the channel)
MD28212 $MC_MM_NUM_PROTECT_AREA_CONTUR (maximum number of
definable contour elements per protection zone)
See also
Definition via part program instruction (Page 135)
Definition as per system variable (Page 138)
3.3.6
144
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
145
3URWHFWLRQ]RQH
;D[LV
6WDUWLQJSRLQW
3URWHFWLRQ]RQH
3URWHFWLRQ]RQH
<D[LV
0D[LPXPWUDYHUVLQJUDQJH
DWWKHVWDUWWLPH
$EVROXWHWUDYHUVLQJUDQJHOLPLW
5HODWLYHWUDYHUVLQJUDQJHOLPLW
GXHWRWKHSURWHFWLRQ]RQH
Figure 3-14
0D[LPXPD[LDOWUDYHUVLQJUDQJH
DWWKHVWDUWWLPH
At the start time of the traversing motions of the axes X and Y, the axial traversing range limits
are determined from the start time:
X axis
Positive traversing direction: Protection zone 2
Negative traversing direction: Absolute traversing range limit, e.g. software limit switch
Y axis
Positive traversing direction: Protection zone 1
Negative traversing direction: Absolute traversing range limit, e.g. working area limitation
146
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
147
3.3.7
Positioning axes
For positioning axes, only the programmed block end point is monitored.
An alarm is displayed during the traversing motion of the positioning axes:
Alarm: "10704 Protection-zone monitoring is not guaranteed".
Axis interchange
If an axis intended for the axis interchange is not active in a channel, the position of the axis
last approached in the channel is taken as the current position. If this axis has not yet been
traversed in the channel, zero is taken as the position.
148
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.3.8
Checking for protection zone violation, working area limitation and software limit
switches (CALCPOSI)
Function
As of the start position, the CALCPOSI() function checks whether active limits have been
violated along the traversing distance in the workpiece coordinate system (WCS) with regard
to the geometry axes.
If the distance cannot be fully traversed because of limits, a positive, decimal-coded status
value and the maximum possible traversing distance are returned.
Definition
Syntax
Meaning
CALCPOSI:
No
Yes
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
149
INT
Range of values:
-8 x 100000
Values
Meaning
-1
-2
-3
-4
-5
-6
-7
-8
<Status>:
(Part 2)
Note
If several limits are violated simultaneously, the limit with the greatest restriction on
the specified traversing distance is signaled.
1
1x
2x
Tens digit
This value is also returned if the end point does not violate any
limit itself, but the path from the starting point to the end point
would cause a limit value to be violated (e.g. by passing through
a protection zone, curved software limit switches in the WCS
for non-linear transformations, e.g. transmit).
150
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
<Status>:
(Part 3)
1xx
2xx
<Status>:
(Part 4)
1xxx
<Status>:
(Part 5)
0xxxxx
1xxxxx
<Start>:
Input
Data type:
Range of values:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
151
Reference to a vector.
Input: Incremental traversing distance
<Dist> [0]: Abscissa
<Dist> [1]: Ordinate
<Dist> [2]: Applicate
Output (only for set hundred thousands digit in <Status>):
<Dist> contains a unit vector v as output value which defines the further travers
ing direction in the WCS.
Case 1: Formation of vector v for <TestID>, bit 4 == 1
The input vectors <Dist> and <MaxDist> span the motion plane. This plane is
cut by the violated limitation surface. The intersecting line of the two planes
defines the direction of vector v. The orientation (sign) is selected so that the
angle between the input vector <MaxDist> and v is not greater than 90 degrees.
Case 2: Formation of vector v for <TestID>, bit 5 == 1
Vector v is the unit vector in the projection direction of the traversing vector
contained in <Dist> on the limitation surface. If the projection of the traversing
vector on the limitation surface is the zero vector, an error is returned.
<Limit>:
Parameter type:
Input/output
Data type:
Range of values:
<Limit> [3]: Contains the minimum clearance for linear machine axes which, for
example, cannot be assigned a geometry axis because of a non-linear
transformation. This value is also used as limit value for the monitoring of the
conventional protection zones and the collision avoidance protection zones.
<Limit> [4]: Contains the minimum clearance for rotary machine axes which, for
example, cannot be assigned a geometry axis because of a non-linear
transformation.
Note
This value is only active for the monitoring of the software limit switches for special
transformations.
152
Parameter type:
Input
Data type:
Range of values:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Reference to a vector with the incremental traversing distance in which the specified
minimum clearance of an axis limit is not violated by any of the relevant machine
axes:
<Dist> [0]: Abscissa
<Dist> [1]: Ordinate
<Dist> [2]: Applicate
If the traversing distance is not restricted, the contents of this return parameter are
the same as the contents of <Dist>.
With <TestID>, bit 4 == 1: <Dist> and <MaxDist>
<MaxDist> and <Dist> must contain vectors as input values that span a motion plane.
The two vectors must be mutually linearly dependent. The absolute value of <MaxD
ist> is arbitrary. For the calculation of the motion direction, see the description for
<Dist>.
<System>:
Parameter type:
Output
Data type:
Range of values:
BOOL
Default value:
FALSE
Value
FALSE
Meaning
Measuring system corresponding to the currently active G func
tion from G group 13 (G70, G71, G700, G710).
Note
If G70 is active and the basic system is metric (or G71 is active
and the basic system is inch), the system variables $AA_IW
and $AA_MW are provided in the basic system and, if used,
must be converted for CALCPOSI().
TRUE
<TestLim>:
INT
Default value:
Bit 0, 1, 2, 3 == 1 (15)
Bit
Decimal
Meaning
16
32
64
128
256
1) If several protection zones are violated, the protection zone with the greatest restriction on the
specified traversing distance is returned.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
153
Example
In the example (see figure), the active software limit switches and working area limits in the XY plane and the following three protection zones are displayed
C2: Tool-related, channel-specific protection zone, active, circular, radius = 2 mm
C4: Workpiece-related, channel-specific protection zone, preactivated, square, side length
= 10 mm
N3: NC-specific protection zone, active, rectangular, side length = 10 mm x 15 mm
The protection zones and working area limits are defined first in the NC program. The
CALCPOSI() function is then called with different parameterizations.
6RIWZDUHOLPLWVZLWFK
<
&
1
1
:RUNLQJDUHDOLPLWDWLRQ
1
11
11
&
NC program
Program code
N10
N20
N30
N40
N50
N60
DEF
DEF
DEF
DEF
DEF
DEF
REAL _STARTPOS[3]
REAL _MOVDIST[3]
REAL _DLIMIT[5]
REAL _MAXDIST[3]
INT _SB
INT _STATUS
154
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
_DLIMIT[0]
_DLIMIT[1]
_DLIMIT[2]
_DLIMIT[3]
_DLIMIT[4]
=
=
=
=
=
0.
0.
0.
0.
0.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
155
Results of CALCPOSI():
N...
<status>
420
3123
8.040
4.594
N3 is violated.
430
1122
20.000
11.429
No limit is violated.
440
1121
30.000
17.143
510
4213
0.000
0.000
520
0000
0.000
-27.000
540
2222
0.000
-25.000
620
4223
-13.000
0.000
156
<MaxDist>[0] X
<MaxDist>[1] Y
Remarks
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
<status>
710
1221
<MaxDist>[0] X
0.000
<MaxDist>[1] Y
21.213
Remarks
Frame with translation and rotation active. The permissible
traversing distance in _MOVDIST applies in the shifted and
rotated WCS.
820
102121
18.000
18.000
Supplementary conditions
Axis status
All machine axes considered by CALCPOSI() must be homed.
Circle-related distance specifications
All circle-related distance specifications are always interpreted as radius specifications. This
must be taken into account particularly for transverse axes with activated diameter
programming (DIAMON/DIAM90).
Traversing distance reduction
If the specified traversing distance of an axis is limited, the traversing distance of the other
axes is also reduced proportionally in the <MaxDist> return value. The resulting end point is
therefore still on the specified path.
Rotary axes
Rotary axes are only monitored when they are not modulo rotary axes.
It is permissible that no software limit switches, working area limits or protection zones are
defined for one or more of the relevant axes.
Software limit switch and working area limitation status
Software limit switches and working area limits are only taken into account if they are active
during the execution of CALCPOSI(). The status can be influenced, for example, via:
Machine data: MD21020 $MC_WORKAREA_WITH_TOOL_RADIUS
Setting data: $AC_WORKAREA_CS_...
NC/PLC interface signals DB31, ... DBX12.2 / 3
Commands: GWALIMON/WALIMOF
Software limit switches and transformations
With CALCPOSI(), the positions of the machine axes (MCS) cannot always be clearly
determined from the positions of the geometry axes (WCS) during various kinematic
transformations (e.g. TRANSMIT) because of ambiguities at certain positions of the traversing
distance. In normal traversing operation, the uniqueness generally results from the history and
the condition that a continuous motion in the WCS must correspond to a continuous motion in
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
157
References
Further information on working area limitation can be found in:
Programming Manual, Fundamentals
Section "Supplementary commands" > "Working area limitation"
Further information on software limit switches can be found in:
Function Manual, Basic Functions; (A3) Axis monitoring, protection zones,
Section "Axis monitoring" > "Limit switch monitoring"
158
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3.4
Supplementary conditions
3.4.1
Settings
For correct operation of the monitoring, the following settings must be made or checked, in
addition to the machine data mentioned:
General
MD31030 $MA_LEADSCREW_PITCH (leadscrew pitch)
MD31050 $MA_DRIVE_AX_RATIO_DENOM (denominator load gearbox)
MD31060 $MA_DRIVE_AX_RATIO_NUMERA (numerator load gearbox)
MD31070 $MA_DRIVE_ENC_RATIO_DENOM (denominator measuring gearbox)
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA (numerator measuring gearbox)
MD32810 $MA_EQUIV_SPEEDCTRL_TIME (equivalent time constant speed control loop
for feedforward control)
Encoder resolution
For the appropriate machine data, see Section "G2: Velocities, setpoint / actual value
systems, closed-loop control (Page 317)".
Only drives with analog speed setpoint interface
MD32260 $MA_RATED_VELO (rated motor speed)
MD32250 $MA_RATED_OUTVAL (rated output voltage)
3.5
Examples
3.5.1
3.5.1.1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
159
Comment
N1 $P_WORKAREA_CS_COORD_SYSTEM[1]=3
N10 $P_WORKAREA_CS_PLUS_ENABLE[1,X]=TRUE
N11 $P_WORKAREA_CS_LIMIT_PLUS[1,X]=10
N12 $P_WORKAREA_CS_MINUS_ENABLE[1,X]=FALSE
N20 $P_WORKAREA_CS_PLUS_ENABLE[1,Y]=FALSE
N22 $P_WORKAREA_CS_MINUS_ENABLE[1,Y]=TRUE
N23 $P_WORKAREA_CS_LIMIT_MINUS[1,Y]=25
N30 $P_WORKAREA_CS_PLUS_ENABLE[1,Z]=FALSE
N32 $P_WORKAREA_CS_MINUS_ENABLE[1,Z]=FALSE
N40 $P_WORKAREA_CS_PLUS_ENABLE[1,A]=TRUE
N41 $P_WORKAREA_CS_LIMIT_PLUS[1,A]=10
N42 $P_WORKAREA_CS_MINUS_ENABLE[1,A]=TRUE
N43 $P_WORKAREA_CS_LIMIT_MINUS[1,A]=-40
160
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N51 $P_WORKAREA_CS_COORD_SYSTEM[2]=1
N60 $P_WORKAREA_CS_PLUS_ENABLE[2,X]=TRUE
N61 $P_WORKAREA_CS_LIMIT_PLUS[2,X]=10
N62 $P_WORKAREA_CS_MINUS_ENABLE[2,X]=FALSE
N70 $P_WORKAREA_CS_PLUS_ENABLE[2,Y]=TRUE
N73 $P_WORKAREA_CS_LIMIT_PLUS[2,Y]=34
N72 $P_WORKAREA_CS_MINUS_ENABLE[2,Y]=TRUE
N73 $P_WORKAREA_CS_LIMIT_MINUS[2,Y]=25
N80 $P_WORKAREA_CS_PLUS_ENABLE[2,Z]=FALSE
N82 $P_WORKAREA_CS_MINUS_ENABLE[2,Z]=TRUE
N83 $P_WORKAREA_CS_LIMIT_PLUS[2,Z]=600
N90 $P_WORKAREA_CS_PLUS_ENABLE[2,A]=FALSE
N92 $P_WORKAREA_CS_MINUS_ENABLE[2,A]=FALSE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
161
3.5.2
Protection zones
3.5.2.1
Requirement
The following internal protection zones are to be defined for a turning machine:
One machine- and workpiece-related protection zone for the spindle chuck, without
limitation in the third dimension
One channel-specific protection zone for the workpiece, without limitation in the third
dimension
One channel-specific, tool-related protection zone for the toolholder, without limitation in
the third dimension
The workpiece zero is placed on the machine zero to define the protection zone for the
workpiece.
When activated, the protection zone is then offset by 100 mm in the Z axis in the positive
direction.
6WDUWSRLQW
;
3URWHFWLRQ]RQH
IRUVSLQGOHFKXFN
)
7RROKROGHU
6WDUWSRLQW
6WDUWSRLQW
'ULOO
0
:
5
;
Figure 3-15
162
3URWHFWLRQ]RQH
IRUWRROKROGHU
3URWHFWLRQ]RQH
IRUZRUNSLHFH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Program code
Comment
DEF INT AB
G18
NPROTDEF(1,FALSE,0,0,0)
G01 X100 Z0
G01 X-100 Z0
G01 X100 Z0
EXECUTE(AB)
CPROTDEF(1,FALSE,0,0,0)
G01 X80 Z0
G01 X-80 Z0
G01 X80 Z0
EXECUTE(AB)
CPROTDEF(2,TRUE,0,0,0)
G01 X0 Z-50
G01 X0 Z50
G01 X0 Z-50
EXECUTE(AB)
System variable
Val
ue
Remark
$SN_PA_ACTIV_IMMED[0]
$SN_PA_T_W[0]
""
$SN_PA_ORI[0]
$SN_PA_LIM_3DIM[0]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
163
164
System variable
Val
ue
Remark
$SN_PA_PLUS_LIM[0]
$SN_PA_MINUS_LIM[0]
$SN_PA_CONT_NUM[0]
$SN_PA_CONT_TYP[0,0]
$SN_PA_CONT_TYP[0,1]
$SN_PA_CONT_TYP[0,2]
$SN_PA_CONT_TYP[0,3]
$SN_PA_CONT_TYP[0,4]
$SN_PA_CONT_TYP[0,5]
$SN_PA_CONT_TYP[0,6]
$SN_PA_CONT_TYP[0,7]
$SN_PA_CONT_TYP[0,8]
$SN_PA_CONT_TYP[0,9]
$SN_PA_CONT_ORD[0,0]
-100
$SN_PA_CONT_ORD[0,1]
-100
$SN_PA_CONT_ORD[0,2]
100
$SN_PA_CONT_ORD[0,3]
100
$SN_PA_CONT_ORD[0,4]
$SN_PA_CONT_ORD[0,5]
$SN_PA_CONT_ORD[0,6]
$SN_PA_CONT_ORD[0,7]
$SN_PA_CONT_ORD[0,8]
$SN_PA_CONT_ORD[0,9]
$SN_PA_CONT_ABS[0,0]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Val
ue
Remark
$SN_PA_CONT_ABS[0,1]
110
$SN_PA_CONT_ABS[0,2]
110
$SN_PA_CONT_ABS[0,3]
$SN_PA_CONT_ABS[0,4]
$SN_PA_CONT_ABS[0,5]
$SN_PA_CONT_ABS[0,6]
$SN_PA_CONT_ABS[0,7]
$SN_PA_CONT_ABS[0,8]
$SN_PA_CONT_ABS[0,9]
$SN_PA_CENT_ORD[0,0]
$SN_PA_CENT_ORD[0.1]
$SN_PA_CENT_ORD[0,2]
$SN_PA_CENT_ORD[0,3]
$SN_PA_CENT_ORD[0,4]
$SN_PA_CENT_ORD[0,5]
$SN_PA_CENT_ORD[0,6]
$SN_PA_CENT_ORD[0,7]
$SN_PA_CENT_ORD[0,8]
$SN_PA_CENT_ORD[0,9]
$SN_PA_CENT_ABS[0,0]
$SN_PA_CENT_ABS[0.1]
$SN_PA_CENT_ABS[0,2]
$SN_PA_CENT_ABS[0,3]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
165
Val
ue
Remark
$SN_PA_CENT_ABS[0,4]
$SN_PA_CENT_ABS[0,5]
$SN_PA_CENT_ABS[0,6]
$SN_PA_CENT_ABS[0,7]
$SN_PA_CENT_ABS[0,8]
$SN_PA_CENT_ABS[0,9]
Table 3-3
166
System variable
Val
ue
Remark
$SN_PA_ACTIV_IMMED[0]
$SN_PA_ACTIV_IMMED[1]
$SC_PA_TW[0]
""
$SC_PA_TW[1]
$SC_PA_ORI[0]
$SC_PA_ORI[1]
$SC_PA_LIM_3DIM[0]
$SC_PA_LIM_3DIM[1]
$SC_PA_PLUS_LIM[0]
$SC_PA_PLUS_LIM[1]
$SC_PA_MINUS_LIM[0]
$SC_PA_MINUS_LIM[1]
$SC_PA_CONT_NUM[0]
$SC_PA_CONT_NUM[1]
$SN_PA_CONT_TYP[0,0]
$SN_PA_CONT_TYP[0,1]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Val
ue
Remark
$SN_PA_CONT_TYP[0,2]
$SN_PA_CONT_TYP[0,3]
$SN_PA_CONT_TYP[0,4]
$SN_PA_CONT_TYP[0,5]
$SN_PA_CONT_TYP[0,6]
$SN_PA_CONT_TYP[0,7]
$SN_PA_CONT_TYP[0,8]
$SN_PA_CONT_TYP[0,9]
$SN_PA_CONT_TYP[1,0]
$SN_PA_CONT_TYP[1,1]
$SN_PA_CONT_TYP[1,2]
$SN_PA_CONT_TYP[1,3]
$SN_PA_CONT_TYP[1,4]
$SN_PA_CONT_TYP[1,5]
$SN_PA_CONT_TYP[1,6]
$SN_PA_CONT_TYP[1,7]
$SN_PA_CONT_TYP[1,8]
$SN_PA_CONT_TYP[1,9]
$SN_PA_CONT_ORD[0,0]
-80
$SN_PA_CONT_ORD[0,1]
-80
$SN_PA_CONT_ORD[0,2]
80
$SN_PA_CONT_ORD[0,3]
80
$SN_PA_CONT_ORD[0,4]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
167
168
System variable
Val
ue
Remark
$SN_PA_CONT_ORD[0,5]
$SN_PA_CONT_ORD[0,6]
$SN_PA_CONT_ORD[0,7]
$SN_PA_CONT_ORD[0,8]
$SN_PA_CONT_ORD[0,9]
$SN_PA_CONT_ORD[1,0]
-190
$SN_PA_CONT_ORD[1,1]
-210
$SN_PA_CONT_ORD[1,2]
-210
$SN_PA_CONT_ORD[1,3]
$SN_PA_CONT_ORD[1,4]
$SN_PA_CONT_ORD[1,5]
$SN_PA_CONT_ORD[1,6]
$SN_PA_CONT_ORD[1,7]
$SN_PA_CONT_ORD[1,8]
$SN_PA_CONT_ORD[1,9]
$SN_PA_CONT_ABS[0,0]
$SN_PA_CONT_ABS[0,1]
40
$SN_PA_CONT_ABS[0,2]
40
$SN_PA_CONT_ABS[0,3]
$SN_PA_CONT_ABS[0,4]
-50
$SN_PA_CONT_ABS[0,5]
$SN_PA_CONT_ABS[0,6]
$SN_PA_CONT_ABS[0,7]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Val
ue
Remark
$SN_PA_CONT_ABS[0,8]
$SN_PA_CONT_ABS[0,9]
$SN_PA_CONT_ABS[1,0]
-50
$SN_PA_CONT_ABS[1,1]
-30
$SN_PA_CONT_ABS[1,2]
20
$SN_PA_CONT_ABS[1,3]
50
$SN_PA_CONT_ABS[1,4]
-50
$SN_PA_CONT_ABS[1,5]
$SN_PA_CONT_ABS[1,6]
$SN_PA_CONT_ABS[1,7]
$SN_PA_CONT_ABS[1,8]
$SN_PA_CONT_ABS[1,9]
$SN_PA_CENT_ORD[0,0]
$SN_PA_CENT_ORD[0.1]
-190
$SN_PA_CENT_ORD[0,2]
$SN_PA_CENT_ORD[0,3]
$SN_PA_CENT_ORD[0,4]
$SN_PA_CENT_ORD[0,5]
$SN_PA_CENT_ORD[0,6]
$SN_PA_CENT_ORD[0,7]
$SN_PA_CENT_ORD[0,8]
$SN_PA_CENT_ORD[0,9]
$SN_PA_CENT_ORD[1.0]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
169
170
System variable
Val
ue
Remark
$SN_PA_CENT_ORD[1.1]
-190
$SN_PA_CENT_ORD[1.2]
$SN_PA_CENT_ORD[1.3]
$SN_PA_CENT_ORD[1.4]
$SN_PA_CENT_ORD[1.5]
$SN_PA_CENT_ORD[1.6]
$SN_PA_CENT_ORD[1.7]
$SN_PA_CENT_ORD[1.8]
$SN_PA_CENT_ORD[1.9]
$SN_PA_CENT_ABS[0,0]
$SN_PA_CENT_ABS[0.1]
-30
$SN_PA_CENT_ABS[0,2]
$SN_PA_CENT_ABS[0,3]
$SN_PA_CENT_ABS[0,4]
$SN_PA_CENT_ABS[0,5]
$SN_PA_CENT_ABS[0,6]
$SN_PA_CENT_ABS[0,7]
$SN_PA_CENT_ABS[0,8]
$SN_PA_CENT_ABS[0,9]
$SN_PA_CENT_ABS[1.0]
$SN_PA_CENT_ABS[1.1]
-30
$SN_PA_CENT_ABS[1.2]
$SN_PA_CENT_ABS[1.3]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Val
ue
Remark
$SN_PA_CENT_ABS[1.4]
$SN_PA_CENT_ABS[1.5]
$SN_PA_CENT_ABS[1.6]
$SN_PA_CENT_ABS[1.7]
$SN_PA_CENT_ABS[1.8]
$SN_PA_CENT_ABS[1.9]
Activation
Table 3-4
Part program excerpt for activating the three protection zones for spindle chuck, workpiece,
and toolholder:
Program code
Comment
NPROT(1, 2, 0, 0, 0)
CPROT(1, 2, 0, 0, 100)
CPROT(2, 2, 0, 0, 0)
3.6
Data lists
3.6.1
Machine data
3.6.1.1
Axis monitoring
Number
Identifier: $MN_
Description
10604
WALIM_GEOAX_CHANGE_MODE
10710
PROG_SD_RESET_SAVE_TAB
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
171
Protection zones
Number
Identifier: $MN_
Description
10618
PROTAREA_GEOAX_CHANGE_MODE
18190
MM_NUM_PROTECT_AREA_NCK
3.6.1.2
Identifier: $MC_
Description
20150
GCODE_RESET_VALUES
21020
WORKAREA_WITH_TOOL_RADIUS
24130
TRAFO_INCLUDES_TOOL_1
24230
TRAFO_INCLUDES_TOOL_2
24330
TRAFO_INCLUDES_TOOL_3
24426
TRAFO_INCLUDES_TOOL_4
24436
TRAFO_INCLUDES_TOOL_5
24446
TRAFO_INCLUDES_TOOL_6
24456
TRAFO_INCLUDES_TOOL_7
24466
TRAFO_INCLUDES_TOOL_8
24476
TRAFO_INCLUDES_TOOL_9
24486
TRAFO_INCLUDES_TOOL_10
25106
TRAFO_INCLUDES_TOOL_11
25116
TRAFO_INCLUDES_TOOL_12
25126
TRAFO_INCLUDES_TOOL_13
25136
TRAFO_INCLUDES_TOOL_14
25146
TRAFO_INCLUDES_TOOL_15
25156
TRAFO_INCLUDES_TOOL_16
25166
TRAFO_INCLUDES_TOOL_17
25176
TRAFO_INCLUDES_TOOL_18
25186
TRAFO_INCLUDES_TOOL_19
25196
TRAFO_INCLUDES_TOOL_20
28600
MM_NUM_WORKAREA_CS_GROUPS
172
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Protection zones
Number
Identifier: $MC_
Description
28200
MM_NUM_PROTECT_AREA_CHAN (SRAM)
28210
MM_NUM_PROTECT_AREA_ACTIVE
28212
MM_NUM_PROTECT_AREA_CONTUR
3.6.1.3
Identifier: $MA_
Description
30200
NUM_ENCS
Number of encoders
30240
ENC_TYPE
30310
ROT_IS_MODULO
30800
WORK_AREA_CHECK_TYPE
31046
ENC_PASSIVE_PARKING
32200
POSCTRL_GAIN [n]
32250
RATED_OUTVAL
32260
RATED_VELO
32300
MAX_AX_ACCEL
32800
EQUIV_CURRCTRL_TIME
32810
EQUIV_SPEEDCTRL_TIME
32910
DYN_MATCH_TIME [n]
34210
ENC_REFP_STATE
Encoder status
35160
SPIND_EXTERN_VELO_LIMIT
36000
STOP_LIMIT_COARSE
36010
STOP_LIMIT_FINE
36020
POSITIONING_TIME
36030
STANDSTILL_POS_TOL
36040
STANDSTILL_DELAY_TIME
36050
CLAMP_POS_TOL
36052
STOP_ON_CLAMPING
36060
STANDSTILL_VELO_TOL
36100
POS_LIMIT_MINUS
36110
POS_LIMIT_PLUS
36120
POS_LIMIT_MINUS2
36130
POS_LIMIT_PLUS2
36200
AX_VELO_LIMIT
36210
CTRLOUT_LIMIT
36220
CTRLOUT_LIMIT_TIME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
173
Identifier: $MA_
Description
36300
ENC_FREQ_LIMIT
36302
ENC_FREQ_LIMIT_LOW
36310
ENC_ZERO_MONITORING
Zero-mark monitoring
36312
ENC_ABS_ZEROMON_WARNING
36400
CONTOUR_TOL
36500
ENC_CHANGE_TOL
36510
ENC_DIFF_TOL
36600
BRAKE_MODE_CHOICE
36610
AX_EMERGENCY_STOP_TIME
36620
SERVO_DISABLE_DELAY_TIME
Protection zones
None
3.6.2
Setting data
3.6.2.1
Identifier: $SA_
Description
43400
WORKAREA_PLUS_ENABLE
43410
WORKAREA_MINUS_ENABLE
43420
WORKAREA_LIMIT_PLUS
43430
WORKAREA_LIMIT_MINUS
Protection zones
None
3.6.3
Signals
3.6.3.1
Signals to channel
174
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Protection zones
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB320x.DBX1.1
Feed disable
DB320x.DBX6.0
DB320x.DBX8.0-7
DB320x.DBX9.0
DB320x.DBX9.1
DB320x.DBX10.0-7
DB320x.DBX11.0
DB320x.DBX11.1
3.6.3.2
Protection zones
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB330x.DBX8.0-7
DB330x.DBX9.0
DB330x.DBX9.1
DB330x.DBX10.0-7
DB330x.DBX11.0
DB330x.DBX11.1
DB330x.DBX12.0-7
DB330x.DBX13.0
DB330x.DBX13.1
DB330x.DBX14.0-7
DB330x.DBX15.0
DB330x.DBX15.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Follow-up mode
DB380x.DBX1.4
DB380x.DBX1.5/6
3.6.3.3
Signals to axis/spindle
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
175
SINUMERIK 840D sl
SINUMERIK 828D
Controller enable
DB380x.DBX2.1
Clamping in progress
DB380x.DBX2.3
DB380x.DBX3.6
DB380x.DBX4.3
DB380x.DBX1000.0/1
Software limit switch minus / 2nd software limit switch plus DB31, ... .DBX12.2/3
DB380x.DBX1000.2/3
Protection zones
None
3.6.3.4
SINUMERIK 840D sl
SINUMERIK 828D
DB390x.DBX0.2
Referenced/synchronized 1/2
DB390x.DBX0.4/5
DB390x.DBX4.6/7
DB390x.DBX5006.5/6
Protection zones
None
176
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Brief Description
Continuous-path mode
In continuous-path mode, the NC attempts to keep the programmed path velocity as constant
as possible. In particular, deceleration of the path axes at the block limits of the part program
is to be avoided.
LookAhead
LookAhead is a function for optimizing the continuous path mode.
Smooth machining of workpieces is necessary to ensure a high-quality surface finish. For this
reason, path velocity variations should be avoided during machining whenever possible.
Without LookAhead, the NC only takes the traversing block immediately following the current
traversing block into consideration when determining the possible path velocity. If the following
block contains only a short path, the NC must reduce the path velocity (decelerate in the current
block) to be able to stop in time at the end of the next block, if necessary.
When the NC "looks ahead" over a configurable number of traversing blocks following the
current traversing block, a much higher path velocity can be attained under certain
circumstances because the NC now has considerably more traversing blocks and more path
available for calculation.
This results in the following advantages:
Machining with higher path velocities on average
Improved surface quality by avoiding deceleration and acceleration processes
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
177
NC block compression
When a workpiece design is completed with a CAD/CAM system, the CAD/CAM system
generally also compiles the corresponding part program to create the workpiece surface. To
do so, most CAD/CAM systems use linear blocks to describe even curved sections of the
workpiece surface. Many interpolation points are generally necessary to maintain the required
contour accuracy. This results in many linear blocks, typically with very short paths.
178
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
179
4.2
Application
Exact stop mode should always be used when the programmed contour must be executed
exactly.
Activation
Exact stop mode can be activated on a modal basis or in blocks in the part program:
180
G command
Meaning
G60
G9
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Exact stop criteria "Exact stop coarse" and "Exact stop fine".
The exact stop criteria "Exact stop coarse" and "Exact stop fine" are used to specify tolerance
windows for a machine axis reaching the "exact stop" state.
([DFWVWRSILQH
$[LVGLUHFWLRQ
QHJDWLYH
Figure 4-1
6(7326,7,21
([DFWVWRS
FRDUVH
$[LVGLUHFWLRQ
SRVLWLYH
$&78$/326,7,21
Parameters are assigned to the two exact stop criteria via the machine data:
MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
MD36000 $MA_STOP_LIMIT_COARSE (exact stop coarse)
Note
The tolerance windows of the exact stop criteria "Exact stop coarse" and "Exact stop fine"
should be assigned in such a way that the following requirement is fulfilled:
"Exact stop coarse" > "Exact stop fine"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
181
Exact-stop criterion
G601
G602
G603
Interpolator end
Y
%ORFNFKDQJH
:LWK*
$FWXDOYDOXH
:LWK*
:LWK*
6HWSRLQW
Figure 4-2
182
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Example
MD20550 $MC_EXACT_POS_MODE = 02
Ones position = 2:
With rapid traverse, exact stop criterion G602 (Exact stop window coarse) is always active,
irrespective of any programming in the parts program.
Tens digit = 0:
For traversing with all other parts program commands of the first G function group, the exact
stop criterion programmed in the parts program is active.
Assignable exact stop criterion for rapid traverse transitions in continuous path mode
The behavior at the block transition of part program blocks before and after rapid traverse
blocks can be parameterized as follows:
MD20552 $MC_EXACT_POS_MODE_G0_TO_G1 = <value>
Value
Meaning
Stop at block transition: Same behavior as in the case of G601 (Exact stop window fine)
Stop at block transition: Same behavior as G602 (Exact stop window coarse).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
183
Meaning
Like 0, in addition, the override of the next non-G0 block is taken into account with LookAhead
in the G0 block during the transition from G0 to non-G0.
Like 0; in addition, the override of the next block is taken into account with LookAhead during
the transition from G0 to non-G0 and from non-G0 to G0.
4.3
Continuous-path mode
4.3.1
General functionality
Continuous-path mode
In the continuous-path mode, the path velocity is not decelerated for the block change in order
to permit the fulfillment of an exact stop criterion. The objective of this mode is to avoid rapid
deceleration of the path axes at the block-change point so that the axis velocity remains as
constant as possible when the program moves to the next block. To achieve this objective, the
"LookAhead" function is also activated when the continuous-path mode is selected.
Continuous-path mode causes the smoothing and tangential shaping of angular block
transitions by local changes in the programmed contour. The extent of the change relative to
the programmed contour can be limited by specifying the overload factor or rounding criteria.
Continuous-path mode:
Contour rounding.
Reduces machining times by eliminating braking and acceleration processes that are
required to fulfill the exact-stop criterion.
Improves cutting conditions because of the more constant velocity.
Continuous-path mode is suitable if:
A contour must be traversed as quickly as possible (e.g. with rapid traverse).
The exact contour may deviate from the programmed contour within a specific tolerance
for the purpose of obtaining a continuous contour
Continuous-path mode is not suitable if:
A contour is to be traversed precisely.
An absolutely constant velocity is required.
184
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
185
4.3.2
Function
The function lowers the path velocity in continuou-path mode until the non-tangential block
transition can be traversed in one interpolation cycle while respecting the deceleration limit
and taking an overload factor into account.
With the reduced velocity, axial jumps in velocity are produced with a non-tangential contour
at the block transition. These jumps in velocity are also performed by the coupled motion
synchronized axes. The jump in velocity prevents the path velocity dropping to zero. This jump
is performed if the axial velocity was reduced with the axial acceleration to a velocity from
which the new setpoint can be reached with the jump. The magnitude of the setpoint jump can
be limited using an overload factor. Because the magnitude of the jump is axial, the minimum
jump of the path axes which are active during the block change is considered during block
transition.
<D[LV
%ORFNFKDQJH
;D[LV
3DWKYHORFLW\
%ORFNFKDQJH
9HORFLW\RI
WKH;D[LV
/HDGD[
/HDGI[
D[
$[LDO
YHORFLW\MXPS
I[!
,32
F\FOH
9HORFLW\RI
WKH<D[LV
/HDGD\
/HDGI\
D\
D[LDO
YHORFLW\MXPS
I\!I[!
I2YHUORDGIDFWRU
Figure 4-3
,32
F\FOH
With a practically tangential block transition, the path velocity is not reduced if the permissible
axial accelerations are not exceeded. This means that very small bends in the contour (e.g.
0.5) are overtraveled directly.
186
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Overload factor
The overload factor restricts step changes in the machine axis velocity at block ends. To ensure
that the velocity jump does not exceed the maximum load on the axis, the jump is derived from
the acceleration of the axis.
The overload factor indicates the extent by which the acceleration of the machine axis
(MD32300 $MA_MAX_AX_ACCEL) may be exceeded for an IPO-cycle.
The velocity jump results as follows:
Velocity jump = axis acceleration * (overload factor-1) * interpolator cycle.
The overload factor is saved in the machine data:
MD32310 $MA_MAX_ACCEL_OVL_FACTOR (overload factor for axial velocity jumps)
Factor 1.0 means that only tangential transitions with finite velocity can be traversed. For all
other transitions, the velocity is reduced to zero by changing the setpoint. This behavior is
equivalent to the function "Exact stop with interpolator end". This is undesirable for continuouspath mode, so the factor must be set to greater than 1.0.
Note
For startup and installation, please note that the factor must be reduced if the machine is likely
to be subject to vibrations during angular block transitions and rounding is not to be used.
By setting the following machine data, the block transitions are rounded independent of the
set overload factor with G641/G642:
MD20490 $MC_IGNORE_OVL_FACTOR_FOR_ADIS
Activation/deactivation
Continuous-path mode with a reduction in speed according to the overload factor can be
activated in any NC part program block by the modal command G64.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode G64 can be deactivated by selecting:
Modal exact stop G60
Rounding G641, G642, G643, G644 or G645
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
187
4.3.3
Rounding
Function
The "Rounding" function adds intermediate blocks (positioning blocks) along a programmed
contour (path axes) at non-continuous (angular) block transitions so that the resulting new
block transition is continuous (tangential).
Synchronized axes
The rounding considers not only the geometry axes but also all synchronous axes. Although
a continuous block transition cannot be created for both axis types concurrently for the parallel
travel of path and synchronous axes. In this case, to favor path axes that always travel exactly,
only an approximately continuous block transition is created for synchronous axes.
Rounding for G64
Rounding is performed even when to observe the dynamic-response limits at the block
transition, a speed is required that for G64 exceeds the permitted speed at the block transition
(see Section "Velocity reduction according to overload factor (Page 186)" "Overload factor").
Exceptions
In the following cases, no rounding occurs at the block transition, for example, between the
N10 blocks after N20, i.e. no rounding block is added:
Implicit stopping of the traversing motion
Possible causes:
Auxiliary function output active before the traversing motion for N20
N20 does not contain any traversing motion for path axes
In N20, an axis that was previously a positioning axis traverses as a path axis for the first
time
In N20, an axis that was previously a path axis traverses as a positioning axis for the first
time
188
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
189
4.3.3.1
Function
In continuous-path mode with rounding according to a path criterion, the size of the rounding
area is influenced by the path criteria ADIS and ADISPOS.
The path criteria ADIS and ADISPOS describe the maximum distances which a rounding block
can occupy before and after a block.
3DWKFULWHULRQ
$',6
$',6326
3URJUDPPHG
LQSXWEORFN
3URJUDPPHGEORFNLQWHUPHGLDWHSRLQW
5RXQGLQJFRQWRXU
3URJUDPPHG
RXWSXWEORFN
Note
Acute angles produce rounding curves with a large degree of curvature and therefore cause
a corresponding reduction in velocity.
Note
ADISPOS is programmed in the same way as ADIS, but must be used specifically for
movements in rapid traverse mode G0.
190
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1RFRUQHUURXQGLQJ
1
YE UHPDLQLQJSDWK
1
1
$',6
YESDWK1
1
$',6
%HJLQQLQJRI
EORFN1
Figure 4-4
YESDWK1
$',6
YESDWK1
$',6
Activation/deactivation
Continuous-path mode with rounding based on a path criterion can be activated in any NC
part program block by the modal command G641. Before or on selection, the path criteria
ADIS/ADISPOS must be specified.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding based on a path criterion (G641) can be deactivated by
selecting:
Modal exact stop (G60)
Continuous-path mode G64, G642, G643, G644 or G645
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
191
Program example
Program code
Comment
N2 X50
N3 X50.7
N4 Y50.7
N5 Y51.4
N6 Y51.0
N7 X52.1
4.3.3.2
Function
In continuous-path mode involving rounding in compliance with defined tolerances, the
rounding normally takes place while adhering to the maximum permissible path deviation.
Instead of these axis-specific tolerances, the maintenance of the maximum contour deviation
(contour tolerance) or the maximum angular deviation of the tool orientation (orientation
tolerance) can be configured.
Activation
Continuous-path mode with rounding in compliance with defined tolerances can be activated
in any NC part program block by the modal command G642 or G643.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding in compliance with defined tolerances (G642/G643) can
be deactivated by selecting:
Modal exact stop (G60)
Continuous-path mode G64, G641, G644 or G645
192
G642
G643
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Parameterization
Maximum path deviation
The maximum path deviation permitted with G642/G643 is set for each axis in the machine
data:
MD33100 $MA_COMPRESS_POS_TOL
Contour tolerance and orientation tolerance
The contour tolerance and orientation tolerance are set in the channel-specific setting data:
SD42465 $SC_SMOOTH_CONTUR_TOL (maximum contour deviation)
SD42466 $SC_SMOOTH_ORI_TOL (maximum angular deviation of the tool orientation)
The settings data can be programmed in the NC program and can in this way be specified
differently for each block transition.
Note
The setting data SD42466 $SC_SMOOTH_ORI_TOL is effective only in active orientation
transformation.
Rounding behavior
Rounding behavior with G642 and G643 is configured via the machine data:
MD20480 $MC_SMOOTHING_MODE (rounding behavior with G64x)
The units positions (E) define the behavior for G643, the tens positions (Z) the behavior for
G642:
Value E or Z
Meaning
All axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
Geometry axes:
Rounding by maintaining the contour tolerance:
SD42465 $SC_SMOOTH_CONTUR_TOL
Remaining axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
Geometry axes:
Rounding by maintaining the orientation tolerance:
SD42466 $SC_SMOOTH_ORI_TOL
Remaining axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
193
Meaning
Geometry axes:
Rounding by maintaining the contour tolerance and the orientation tolerance:
SD42465 $SC_SMOOTH_CONTUR_TOL
SD42466 $SC_SMOOTH_ORI_TOL
Remaining axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
All axes:
The rounding length programmed with ADIS or with ADISPOS is used (as in case of
G641).
Any axis-specific tolerance or contour and orientation tolerance specifications are
ignored.
Meaning
< 100:
A profile of the limit velocity is calculated within the rounding area, based on the defined
maximum values for acceleration and jerk on the participating axes or path.
This can lead to an increase in the path velocity in the rounding area and therefore to the
acceleration of the participating axes.
100:
A profile of the limit velocity is not calculated for rounding blocks with G641/G642. A
constant velocity limit is specified instead.
This prevents the participating axes being accelerated into the rounding area during
rounding with G641/G642. However, in certain cases, this setting can cause the rounding
blocks to be traversed too slowly, especially in large rounding areas.
1xx:
2xx:
Note
MD28530 $MC_MM_PATH_VELO_SEGMENTS (number of memory elements for limiting the
path velocity)
Supplementary conditions
Restriction for protection zones with active radius compensation and tool orientation:
Although tool radius compensation is applied for a tool orientation, which is not perpendicular
to one of the three datum planes of the basic coordinate system, the protection zones are not
rotated onto the corresponding plane.
For G643 the following must apply:
MD28530 $MC_MM_PATH_VELO_SEGMENTS > 0 (number of memory elements for limiting
the path velocity)
If this condition is met, then it must be applicable for all axes:
194
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
4.3.3.3
Function
Maximizing the dynamic response of the axes is key to this type of continuous-path mode with
rounding.
Note
Rounding with G644 is only possible if:
All the axes involved contain only a linear motion in both the observed blocks.
No kinematic transformation is active
In case an involved axis contains a polynomial (polynomial programmed, spline active,
compressor active) or a kinematic transformation is active, the block transition is rounded with
G642.
Activation
Continuous-path mode with rounding with the maximum possible axial dynamic response can
be activated in any NC part program block by the modal command G644.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding with the maximum possible axial dynamic response
(G644) can be deactivated by selecting:
Modal exact stop (G60)
Continuous-path mode G64, G641, G642, G643 or G645
Parameterization
Rounding behavior with G644 is configured via the thousands and tens of thousands places
in the machine data:
MD20480 $MC_SMOOTHING_MODE (rounding behavior with G64x)
Value
Meaning
Thousand's place:
0xxx:
When rounding with G644, the maximum deviations for each axis specified by the following
machine data are respected:
MD33100 $MA_COMPRESS_POS_TOL
If the dynamics of the axis permit, then any specified tolerance is not utilized.
1xxx:
Input the maximum rounding path by programming ADIS=... or ADISPOS=...(as for G641)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
195
Meaning
2xxx:
Input the maximum possible frequencies of each axis in the rounding area using the ma
chine data:
MD32440 $MA_LOOKAH_FREQUENCY (smoothing frequency for LookAhead)
The rounding area is defined so that no frequencies in excess of the specified maximum
can occur while the rounding motion is in progress.
3xxx:
Any axis that has a velocity jump at a corner traverses around the corner with the maximum
possible dynamic response (maximum acceleration and maximum jerk).
SOFT:
If SOFT is active, the maximum acceleration and the maximum jerk of each axis is main
tained.
BRISK:
If BRISK is active, only the maximum acceleration and not the maximum jerk of each axis
is maintained.
With this setting, neither the maximum deviations nor the rounding distance are checked.
The resulting deviations or rounding distances are determined exclusively by the dynamic
limits of the respective axis and the current path velocity.
4xxx:
As in case of 0xxx, the maximum deviations of each axis specified with the following ma
chine data are used:
MD33100 $MA_COMPRESS_POS_TOL
Contrary to 0xxx, the specified tolerance is also utilized, if possible. Therefore, the axis does
not attain its maximum possible dynamics.
5xxx:
As in case of 1xxx, the maximum possible rounding path is specified through programming
of ADIS=... or ADISPOS= respectively.
Contrary to 1xxx, the specified rounding path is also utilized, if possible. Therefore, the axes
involved do not attain their maximum possible dynamics.
The velocity profiles of the axes in the rounding area are determined without jerk limiting
for BRISK and with jerk limiting for SOFT.
1xxxx
The velocity profiles of the axes in the rounding area are always determined with jerk limit
ing, regardless of whether BRISK or SOFT is active.
196
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Jerk limitation
The smoothing of the velocity jump on each axis and thus the shape of the rounding path
depends on whether an interpolation is performed with or without jerk limitation.
Without jerk limitation the acceleration of each axis reaches its maximum value in the entire
rounding area.
9HORFLW\
3RVLWLRQ
7LPH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
197
9HORFLW\
3RVLWLRQ
7LPH
VWSKDVH
4.3.3.4
QGSKDVH UGSKDVH
Function
In continuous-path mode with rounding, rounding blocks are also only generated on tangential
block transitions if the curvature of the original contour exhibits a jump in at least one axis.
The rounding motion is defined here so that the acceleration of all axes involved remains
smooth (no jumps) and the parameterized maximum deviations from the original contour
(MD33120 $MA_PATH_TRANS_POS_TOL) are not exceeded.
In the case of angular, non-tangential block transitions, the rounding behavior is the same as
with G642 (see Section "Rounding in compliance with defined tolerances (G642/G643)
(Page 192)").
198
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Activation/deactivation
Continuous-path mode with rounding of tangential block transitions can be activated in any
NC part program block by the modal command G645.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding of tangential block transitions (G645) can be deactivated
by selecting:
Modal exact stop (G60)
Continuous-path mode G64, G641, G642, G643 or G644
Parameterization
The following machine data indicates the maximum permissible path deviation for each axis
during rounding with G645:
MD33120 $MA_PATH_TRANS_POS_TOL
This value is only of relevance to tangential block transitions with variable acceleration. When
angular, non-tangential block transitions are rounded, (as with G642) the tolerance from
MD33100 $MA_COMPRESS_POS_TOL becomes effective.
See also
Free-form surface mode: Basic functions (Page 224)
4.3.3.5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
199
5(326VWDUWLQJSRLQW
50%%/
,QWHUUXSWLRQSRLQW
1
50,%/50(%/
501%/
7UDYHOGLUHFWLRQ
$SSUR[LPDWHSRVLWLRQLQJ
EORFN
RMBBL
RMIBL
RMEBL
RMNBL
1
4.3.4
LookAhead
4.3.4.1
Standard functionality
Function
LookAhead is a function which is active in continuous-path mode (G64, G64x) and determines
a foreseeable velocity control for multiple NC part program blocks over and beyond the current
block.
Note
LookAhead is only available for path axes, not for spindles and positioning axes.
If a part program contains consecutive blocks with very small paths, only one velocity is
reached per block without LookAhead, enabling deceleration of the axes at the end of the block
while maintaining acceleration limits. This means that the programmed velocity is not reached
at all. With LookAhead, however, it is possible to implement the acceleration and deceleration
phase over multiple blocks with approximately tangential block transitions, thereby achieving
a higher feedrate with shorter distances.
200
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
)HHG
)
SURJUDPPHG
*/RRN$KHDGYHORFLW\FRQWURO
*&RQVWDQWYHORFLW\SKDVHFDQQRWEHDFKLHYHG
1
Figure 4-5
1
1 1
1 1
%ORFNSDWK
Velocity control with short distances and exact stop G60 or continuous-path mode G64
with LookAhead
Deceleration to velocity limits is possible with LookAhead such that violation of the acceleration
and velocity limit is prevented.
LookAhead takes plannable velocity limits into consideration such as:
Exact stop at block end
Velocity limit in the block
Acceleration limit in the block
Velocity limit on block transition
Synchronization with block change at block transition.
Mode of operation
LookAhead carries out a block-specific analysis of velocity limits and specifies the required
brake ramp profile based on this information. LookAhead is adapted automatically to block
length, braking capacity and permissible path velocity.
For safety reasons, the velocity at the end of the last prepared block must initially be assumed
to be zero because the next block might be very small or be an exact-stop block, and the axes
must have been stopped by the end of the block.
With a series of blocks with high set velocity and very short paths, the speed can be increased
in each block depending on the velocity value currently calculated by the LookAhead function
in order to achieve the required set velocity. After this it can be reduced so that the velocity at
the end of the last block considered by the LookAhead function can be zero. This results in a
serrated velocity profile (see the following fig.) which can be avoided by reducing the set
velocity or increasing the number of blocks considered by the LookAhead function.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
201
YVHW
Y
Y DFW
1
Figure 4-6
1
1
1
1 1
Example for modal velocity control (number of blocks considered by the LookAhead
function = 2)
Activation/deactivation
LookAhead is activated by selecting continuous-path mode G64, G641, G642, G643, G644
or G645.
Selecting the exact stop which works on a non-modal basis enables rounding to be interrupted
(G09).
LookAhead is deactivated by selecting the modal exact stop (G60).
Parameterization
Number of blocks
To achieve reliable axis traversal in continuous-path mode, the feedrate must be adapted over
several blocks. The number of blocks considered by the LookAhead function is calculated
automatically and can, if required, be limited by a machine data. The default setting is "1",
which means that LookAhead only considers the following block for velocity control.
Because LookAhead is especially important for short blocks (relative to the deceleration path),
the number of blocks required is of interest for LookAhead braking. It is sufficient to consider
the path length to be equal to the deceleration path that is required to brake from maximum
velocity to standstill.
For a machine with a low axial acceleration of a = 1 m/s2 and a high feedrate of vpath = 10 m/
min, the following number of nLookAhead blocks are allocated to the controller where it has has
an attainable block cycle time of TB = 10 ms:
nLookAhead = Deceleration path/Block length = ( vpath2 / (2a)) / (vpath * TB) = 9
Considering these conditions, it is advisable to adapt the feedrate over 10 blocks. The number
of blocks entered for the LookAhead function forecast does not change the LookAhead
algorithm and memory requirement.
Since the machining velocity is very often set to a lower value than the maximum velocity in a
program, more blocks than are required would be predicted, overloading the processor
202
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
TRUE
Function active
FALSE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
203
204
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Y PD[
3URJUDPPHG
VHWSRLQW
9HORFLW\SURILOHDQG
1
1
1
1
1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
205
Supplementary conditions
Axis-specific feed stop/axis disable
Axis-specific feed stop and axis-specific axis disable are ignored by LookAhead.
If an axis is to be interpolated that should on the other hand be made stationary by axis-specific
feed stop or axis disable, LookAhead does not stop path motion before the block in question
but decelerates in the block itself.
If this response is not wanted, an axis-specific feed stop can be transferred to a channel via
the PLC to stop the path immediately (see also Section "Clamping monitoring (Page 86)").
4.3.4.2
Function
The "Free-form surface mode: Extension function" is an extension of the Look Ahead standard
functionality and is used to calculate the path velocity profile during free-form surface
processing (see also Section "Free-form surface mode: Basic functions (Page 224)").
Its use optimizes the continuous-path mode as follows:
Symmetry between the acceleration and deceleration profiles
Uniform acceleration process, even with changing jerk or acceleration limits
Uniform acceleration process of target velocity profiles, irrespective of the degree to which
they can or cannot be started with the specified dynamic response limit
Look Ahead braking to lower setpoint velocities
Uniformity and compliance with the dynamic response limit guarantee that the setpoint velocity
profiles are smoothed to a homogeneous velocity profile on the part. This serves to minimize
the effect of following errors on the quality of the surface.
Advantages
Greater uniformity in the surface of the workpiece
Lower machine load
Applications
The "Free-form surface mode: Extension function" is used to process workpieces which
primarily comprise free-form surfaces.
Note
As better results are not achieved for standard processing applications, standard Look Ahead
functionality should be used in these cases.
206
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Activation
The function is only effective:
In AUTOMATIC
In the "Acceleration with jerk limit (SOFT)" mode
Parameterization
Working memory
The memory for the "Free-form surface mode: Extended function" is configured via the
machine data:
MD28533 $MC_MM_LOOKAH_FFORM_UNITS = <value>
The required memory depends on the part program, the block lengths, the axis dynamic
response, as well as on an active kinematic transformation.
The following setting applies as a guideline for processing free-form surfaces: MD28533 = 18
Note
Due to the additional storage requirements, MD28533 should only be set for the channels in
which free-form surfaces are being processed.
Number of NC blocks in the IPO buffer
It is generally advisable to significantly increase the configured number of NC blocks in the
interpolation buffer when using the "Free-form surface mode: Extension function":
MD28060 $MC_MM_IPO_BUFFER_SIZE > 100
If the block memory capacity is too low, this may diminish the uniformity of the path-velocity
profile.
Activation/deactivation
The function can be switched on or off independently for every dynamic response mode (see
Section "Dynamic response mode for path interpolation (Page 222)"):
MD20443 $MC_LOOKAH_FFORM[<n>]= <value>
Index <n>
0
1
2
3
<value>
Off
On
Off
On
Roughing (DYNROUGH)
Off
On
Off
On
Finishing (DYNSEMIFIN)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
207
<value>
Off
On
The "Free-form surface mode: Extension function" is typically only active if the "Free-form
surface mode: Basic functions" are also active. Therefore, the settings in
MD20443 $MC_LOOKAH_FFORM[<n>] should correspond to the settings in
MD20606 $MC_PREPDYN_SMOOTHING_ON[<n>].
The standard Look Ahead functionality is active in the dynamic response modes in which the
"Free-form surface mode: Extension function" is switched off.
Programming
Generally speaking, the "Free-form surface mode: Extension function" becomes effective as
a result of a change in the dynamic response mode in the part program.
Example
The following parameters are assumed:
MD20443 $MC_LOOKAH_FFORM[0] = 0
MD20443 $MC_LOOKAH_FFORM[1] = 0
MD20443 $MC_LOOKAH_FFORM[2] = 1
MD20443 $MC_LOOKAH_FFORM[3] = 1
MD20443 $MC_LOOKAH_FFORM[4] = 1
Change of the dynamic response mode in the part program:
Program code
Comment
N10 DYNPOS
...
N100 G17 G54 F10000
N101 DYNFINISH
208
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
Note
When switching between the standard Look Ahead functionality and the "Free-form surface
mode: Extension function" or vice versa, continuous-path mode is interrupted by an interpolator
stop.
Supplementary conditions
Automatic function switchover
Use of the following functions results in an automatic switchover to standard Look Ahead
functionality:
Thread cutting/tapping (G33, G34, G35, G331, G332, G63)
Path master-value coupling
Punching, nibbling
Cartesian PTP travel
The "Free-form surface mode: Extension function" is then switched on again automatically.
Using the commands of G function group 15 (feed types)
The following feed types are not recommended in conjunction with the "Free-form surface
mode: Extension function".
Feedrate per revolution (G95, G96, G97, etc.)
Inverse-time feedrate (G93)
Use of FLIN
The FLIN feedrate profile cannot be used in conjunction with the "Free-form surface mode:
Extension function".
Influence of feedrate overrides
Feedrate overrides (via a machine control panel, $AC_OVR, ...) can extend the traverse time
over standard Look Ahead functionality considerably.
Interaction with rapid traverse motion (G0)
G0 blocks which are interspersed during free-form surface processing do not switch the Look
Ahead functionality over (from the "Free-form surface mode: Extended function" to the
standard Look Ahead functionality or vice versa). This means that even though the standard
dynamic response setting (DYNNORM) is effective with G0, the standard Look Ahead
functionality which is preset for DYNNORM ( MD20443 $MC_LOOKAH_FFORM[0]) does
not automatically become effective as well. By retaining the Look Ahead functionality which is
currently active, a more homogeneous velocity profile is achieved, particularly since G0 and
polynomial blocks are usually smoothed and connected by rounding.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
209
4.4
Dynamic adaptations
4.4.1
Introduction
The velocity control function utilizes the specified axial dynamic response. If the programmed
feedrate cannot be achieved, the path velocity is brought to the parameterized axial limit values
and the limit values of the path (velocity, acceleration, jerk). This can lead to repeated braking
and acceleration on the path.
If a short acceleration takes place during a machining function with high path velocity, and is
thus followed almost immediately by braking, the reduction in the machining time is only
minimal. Acceleration of this kind can, however, have undesirable effects if, for example, it
results in machine resonance.
In some applications in mold making, especially in the case of high-speed cutting, it is desirable
to achieve a constant path velocity. In these cases, it can therefore be reasonable to sacrifice
transient acceleration processes in favor of a smoother tool path velocity.
Function
If the "smoothing the path velocity" function is active, a smoothing factor, which determines
the maximum permissible productivity loss, takes effect with a view to achieving smoother path
velocity control: Acceleration processes which contribute less than this factor to a shorter
program runtime are not performed. Account is only taken of acceleration processes whose
frequencies lie above the configurable limit frequencies of of the axes involved.
Benefits:
Avoidance of excitations of possible machine resonance due to continuous, transient
braking and acceleration processes (in the area of less IPO cycles).
Avoidance of constantly varying cutting rates due to acceleration which brings no significant
shortening of the program running time.
Note
The smoothing of the path velocity does not lead to contour errors.
Variations in axis velocity due to curvatures in the contour at constant path velocity may
continue to occur and are not reduced with this function.
Variations in path velocity due to the input of a new feedrate are not changed either. This
remains the responsibility of the programmer of the subprogram.
210
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Requirements
The smoothing of the path velocity is only effective in continuous-path mode with
LookAhead over multiple blocks with SOFT and BRISK. Smoothing is not effective with G0.
The controller's cycle times must be configured in such a way that preprocessing can
prepare sufficient blocks to enable an acceleration process to be analyzed.
Activation/deactivation
The "smoothing of the path velocity" function is activated/deactivated with the machine data:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead)
Value
Meaning
0.0
>0
Parameterization
Smoothing factor
The smoothing factor is set via the channel-specific machine data:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead)
The percentage value defines how much longer a processing step without accelerations/
decelerations may be than the corresponding step with accelerations/decelerations.
This would be a "worst-case" value, if all accelerations within the part program, except the
initial approach motion, were smoothed. The actual extension will always be smaller, and may
even be 0, if the criterion is not met by any of the accelerations. Values between 50 and 100%
may also be entered without significantly increasing the machining time.
Consideration of the programmed feed
The path velocity can be smoothed with or without taking the programmed feedrate into
consideration. The selection is made via the machine data:
MD20462 $MC_LOOKAH_SMOOTH_WITH_FEED (path smoothing with programmed
feedrate)
Value
Meaning
When considering the programmed feedrate, the specified smoothing factor (see MD20460)
is maintained better when the override is 100%.
Axis-specific limit frequencies
The axis-specific limit frequencies are defined via the machine data:
MD32440 $MA_LOOKAH_FREQUENCY (smoothing frequency for LookAhead)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
211
Mode of operation
The minimum value for MD32440 is calculated as fpath on the basis of the axes involved in the
path. For the smoothing only those acceleration processes are taken into consideration, in
which the start and the end velocity of this motion are reached within the time given below:
t = t2 - t1 = 2 / fpath
These acceleration processes are dispensed with if the resulting extension in the processing
time does not exceed the limit specified in excess of the smoothing factor (MD20460).
Example
The following parameters are assumed:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 10%
MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 20 Hz
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 20 Hz
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 10 Hz
The path involves the three axes X = AX1, Y = AX2, Z = AX3.
The minimum value of MD32440 for these three axes is thus 10 Hz. This means that any
acceleration, which is completed within a period of t2 - t1 = 2/10 Hz = 200 ms, is examined. The
time t2 is the time it takes to reach velocity v1 again following an acceleration process starting
from velocity v1. The extending of the execution time is also only considered within this range.
If the time t2 - t1 is greater than 200 ms or if the additional program execution time t3 - t2 is more
than 10% (= MD20460) of t2 - t1, the following time characteristic applies:
212
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Y
Y
Y
W
Figure 4-7
W
If, however, the time t2 - t1 is less than 200 ms or if the additional program execution time
t3 - t2 is no more than 10% of t2 - t1, the following time characteristic applies:
Y
Y
Y
W
W
Figure 4-8
4.4.2
W
Function
Highly dynamic acceleration and deceleration processes during machining can cause
excitation of mechanical vibrations of machine elements and consequently a reduction of the
surface quality of the workpiece.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
213
Effectiveness
The "adaptation of the dynamic path response" function is only effective during path motions:
Continuous-path mode (G64, G64x)
In continuous-path mode, the optimal effect of the dynamic response adaptation is attained
with an active 100% override. Considerable deviations from this value or functions that
cause the path axes to decelerate (e.g. auxiliary function outputs to the PLC) greatly reduce
the desired action.
Exact stop (G60)
In addition, the "adaptation of the dynamic path response" function is not active during path
motions:
Programmed rapid traverse (G0)
Changes in the override value
Stop requests during motion (e.g. NC Stop, NC Reset)
"Velocity-dependent path acceleration" function (DRIVE) is active
Activation/deactivation
The function is activated/deactivated with the machine data:
MD20465 $MC_ADAPT_PATH_DYNAMIC (adaptation of the dynamic path response)
Value
Meaning
= 1.0
> 1.0
When activation takes place, the "smoothing the path velocity" function is always activated
internally in continuous-path mode as well (see Section "Smoothing of the path velocity
(Page 210)").
If the smoothing factor (MD20460 $MC_LOOKAH_SMOOTH_FACTOR) is set to 0%
(= function deactivated; default!), a smoothing factor of 100% is used as a substitute. For a
smoothing factor other than 0%, the set value takes effect.
214
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Parameterization
Adaptation factor of the dynamic path response
Via the adaptation factor of the dynamic path response, temporary changes in the path velocity
are executed with smaller dynamic response limit values.
The adaptation factor is to be set on a channel-specific basis:
For traversing motions with acceleration without jerk limitation (BRISK) via:
MD20465 $MC_ADAPT_PATH_DYNAMIC[ 0 ]
The adaptation factor acts on the acceleration.
For traversing motions with acceleration with jerk limitation (SOFT) via:
MD20465 $MC_ADAPT_PATH_DYNAMIC[ 1 ]
The adaptation factor acts on the jerk.
Axis-specific limit frequencies
The dynamic response limiting should only be active during deceleration and acceleration
processes that trigger mechanical vibrations larger than a specific limiting frequency, thus
causing excitation of machine resonances.
This limit frequency from which the dynamic response limiting activates, is specified on an axisspecific basis via the machine data:
MD32440 $MA_LOOKAH_FREQUENCY (smoothing frequency for LookAhead)
For further information, see Section "Smoothing of the path velocity (Page 210)".
Mode of operation
During processing and via all the axes involved in the path, the controller cyclically establishes
the minimum of all the limit frequencies to be the limit frequency (f) for the adaptation of the
dynamic response and calculates the relevant time window (tadapt) from this:
tadapt = 1 / f
The size of the relevant time window tadapt determines the further behavior:
1. The time needed to change the velocity is less than tadapt:
The acceleration rates are reduced by a factor > 1 and the value written in machine data:
MD20465 ADAPT_PATH_DYNAMIC (adaptation of the path dynamics)
The reduction in acceleration rate increases the time taken to change the velocity.
The following cases are different:
The acceleration rate is reduced with a value less than MD20465 so that the process
lasts for tadapt [s]. The permitted reduction does not need to be fully utilized.
The acceleration time is reduced with the value written in MD20465. The process lasts
less than tadapt despite the reduced acceleration. The permitted reduction was fully
utilized.
2. The time needed to change the velocity is greater than tadapt:
No dynamic response adaptation is required.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
215
Example
The following example is intended to show the effect of the "adaptation of the dynamic path
response" function on traversing motions with acceleration and without jerk limitation (BRISK).
The following parameters are assumed:
MD20465 $MC_ADAPT_PATH_DYNAMIC[0] = 1.5
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 1.0
MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 20 Hz
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 10 Hz
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 20 Hz
TAX1 = 1/20 Hz = 50 ms
TAX2 = 1/10 Hz = 100 ms
TAX3 = 1/20 Hz = 50 ms
Note
To illustrate the effect of dynamic response adaptation, the value for the smoothing factor
(MD20460) is set to "1", whereby the "smoothing of the path velocity" function is practically
deactivated.
The path involves the three axes X = AX1, Y = AX2, Z = AX3.
For path motions in which axis AX2 is involved, all deceleration and acceleration processes
that would last less than TAX2 are adapted.
If only axes AX1 and/or AX3 are involved in path motions, all deceleration and acceleration
processes that would last less than TAX1 = TAX3 are adapted.
The relevant time window is marked tadapt... in the figures below.
WDGDSW
WDGDSW
Y
WDGDSW
W
Figure 4-9
216
W
WDGDSW
W
W
W
W
W
W
Path velocity profile optimized for time without smoothing or dynamic adaptation response
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Y
%
WDGDSW
Y
WDGDSW
WDGDSW
W
Figure 4-10
W
W
W
W
W
W
Interval t6 - t7:
4.4.3
W
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
217
Procedure
The determination of the dynamic response limits for the traversing of path axes by means of
acceleration with jerk limiting (SOFT) is described below. This procedure can be applied by
analogy to the case of acceleration without jerk limiting (BRISK).
1. Deactivate the "adaptation of the dynamic path response" function:
MD20465 $MC_ADAPT_PATH_DYNAMIC[1] = 1
2. Observe the positioning behavior of each path axis at different traversing velocities. When
doing so, set the jerk such that the desired positioning tolerance is maintained.
Note
The higher the traversing velocity from which the positioning process is started, the higher
in general the jerk can be set.
3. Use the maximum permissible jerk determined for the least critical traversing velocity:
MD32431 $MA_MAX_AX_JERK (maximum jerk)
4. Determine the FAPD factor for all of the path axes using:
FAPD = (largest determined jerk) / (smallest determined jerk)
Note
The smallest determined jerk is the value for the jerk during the most critical traversing
velocity.
5. Enter the largest FAPD factor that was determined via all the path axes as the value for the
adaptation factor for the path dynamic response:
MD20465 $MC_ADAPT_PATH_DYNAMIC[ 1 ] = FAPD
4.4.4
Interaction between the "smoothing of the path velocity" and "adaptation of the
path dynamic response" functions
The following examples serve to illustrate the interaction between the "smoothing of the path
velocity" and "adaptation of the path dynamic response" functions in continuous-path mode.
Example 1
Acceleration mode: BRISK
The path involves the 3 axes X = AX1, Y = AX2, Z = AX3.
The following parameters are assumed:
MD20465 $MC_ADAPT_PATH_DYNAMIC[0] = 3
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 80.0
MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 20
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 20
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 20
218
TAX1 = 1/20 Hz = 50 ms
TAX2 = 1/20 Hz = 50 ms
TAX3 = 1/20 Hz = 50 ms
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Y
Y
Figure 4-11
W
W
W
W
W
Path velocity profile optimized for time without smoothing or dynamic adaptation response
Y
%
Y
W
Figure 4-12
W
W
W
W
Path velocity profile with smoothing of the path velocity and adaptation of dynamic path
response
Interval t3 - t5:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
219
Note
The example shows that those acceleration or deceleration processes that are not eliminated
by the smoothing of the path velocity can be subsequently optimized by adapting the dynamic
path response. For this reason, both functions should always be activated, if possible.
Example 2
Acceleration mode: SOFT
The path involves the 3 axes X = AX1, Y = AX2, Z = AX3.
The following parameters are assumed:
MD20465 $MC_ADAPT_PATH_DYNAMIC[1] = 1
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 0.0
MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 10
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 10
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 20
This leads to a path velocity profile which is optimized in terms of time without smoothing the
path velocity or adapting the dynamic path response:
/LPLWLQJRISDWKYHORFLW\EDVHGRQG\QDPLF
D[LVUHVSRQVHRUSURJUDPPHGIHHG
3DWKYHORFLW\FKDUDFWHULVWLF
7LPHLQLQWHUSRODWLRQF\FOHV
%ORFNFKDQJHPDUNHUV
220
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
6PRRWKHUSDWKYHORFLW\GXHWRORZHUSDWKMHUN
7LPHLQLQWHUSRODWLRQF\FOHV
The smoothing factor is set to 0% instead of 1% (in accordance with the default!):
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 0.0
A smoothing factor of 100% comes into effect with this parameter assignment.
This gives rise to a path velocity profile with smoothing of the path velocity and adaptation of
dynamic path response:
6PRRWKHUSDWKYHORFLW\GXHWR
UHGXFHGSDWKMHUN
1RDFFHOHUDWLRQRUEUDNLQJHIIHFWRISDWKVPRRWKLQJ
7LPHLQLQWHUSRODWLRQF\FOHV
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
221
4.4.5
Function
Technology-specific, dynamic response settings can be saved in machine data and can be
activated in the part program via the commands from G function group 59 (dynamic response
mode for path interpolation).
Command
DYNNORM
DYNPOS
DYNROUGH
Roughing
DYNSEMIFIN
Finishing
DYNFINISH
Smooth finishing
Note
The dynamic response of the path axes alone is determined by the commands from G function
group 59 (dynamic response mode for path interpolation). They have no effect on:
Positioning axes
PLC axes
Command axes
Motions based on axis coupling
Overlaid motions with handwheel
JOG motions
Reference point approach (G74)
Fixed-point approach (G75)
Rapid traverse motion (G0)
The standard dynamic response setting (DYNNORM) always takes effect for these axis
motions.
Application
By switching the dynamic response settings, roughing can be optimized in terms of time and
smoothing can be optimized in terms of the surface, for example.
Parameterization
Axis-specific dynamic response settings:
MD32300 $MA_MAX_AX_ACCEL[<n>] (axis acceleration)
MD32310 $MA_MAX_ACCEL_OVL_FACTOR[<n>] (overload factor for axial jumps in
velocity)
MD32431 $MA_MAX_AX_JERK[<n>] (maximum axial jerk for path motion)
222
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
for DYNNORM
for DYNPOS
for DYNROUGH
for DYNSEMIFIN
for DYNFINISH
Note
Writing the machine data without an index places the same value in all field elements of the
relevant machine data.
Reading the machine data without an index always supplies the value of the field with index
0.
Suppressing G commands
It is recommended that G commands from G function group 59 (dynamic response mode for
path interpolation) which are not intended for use should be suppressed via the following
machine data:
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[<n>] (list of reconfigured NC
commands)
If a suppressed G command is used, an alarm is displayed. This prevents machine data that
has not been parameterized taking effect.
Example
The G commands DYNPOS and DYNSEMIFIN can be suppressed with the following settings:
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[0]="DYNPOS"
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[1]=" "
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[2]="DYNSEMIFIN"
MD10712 $MN_ NC_USER_CODE_CONF_NAME_TAB[3]=" "
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
223
References
You can find detailed information about programming the G commands from G function group
59 (dynamic response mode for path interpolation) in:
References:
Programming Manual, Job Planning; Section: Path traversing behavior
4.4.6
Introduction
In applications in tool and mold making, it is important that the surfaces on the workpiece are
as uniform as possible. This requirement is generally more important than the precision of the
surface of the workpiece.
Workpiece surfaces which lack uniformity can be attributable to the following causes, for
example:
The part program for manufacturing the workpiece contains a non-uniform geometry. This,
most notably, affects the profile of the curvature and torsion.
Note
The curvature k of a contour is the inverse of radius r of the adapted circle in a contour
point (k = 1/r). The torsion is the change in curvature (first derivative).
As a result of the lack of uniformity in geometry, the machine's dynamic response limits are
reached during processing of the part program, and needless deceleration and acceleration
processes occur. Depending on the extent of the effective over-travel of the axes, this leads
to different deviations in contours.
Needless deceleration and acceleration processes can trigger machine vibrations which
result in unwanted marks on the workpiece.
There are various options available for eliminating these causes:
Use a CAD/CAM system
The part programs generated by CAD/CAM systems contain a very uniform curvature and
torsion profile, preventing needless reductions in path velocity.
Specify the maximum path velocity in such a way that unwanted geometric fluctuations in
the curvature and torsion profile have no effect.
Function
"Free-form surface mode: Basic functions" can be used to make the definition of path velocity
limits insensitive to small geometric fluctuations in curvature and torsion without exceeding the
machine's dynamic limits in terms of the acceleration and jerk of the axes.
This has the following advantages:
Greater uniformity in the profile of the path velocity
Greater uniformity in the surface of the workpiece
Reduction in the processing time (if the dynamic response of the machine permits it)
224
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Applications
The function is used to process workpieces which primarily comprise free-form surfaces.
Requirements
The function can only be activated if the requisite memory capacity is reserved during memory
configuration:
MD28610 $MC_MM_PREPDYN_BLOCKS = 10
The value entered prescribes the number of blocks which have to be taken into consideration
in the determination of the path velocity (velocity preparation).
A sensible value is "10".
If MD28610 has a value of "0", only the motions of the axes in a particular block are taken into
consideration when determining the maximum velocity of the path for that block. If the geometry
of neighboring blocks is also taken into consideration when determining the velocity of the path
(value > 0), a more uniform profile in path velocity is achieved.
Activation/deactivation
The function can be switched on or off independently for every dynamic response mode (see
Section "Dynamic response mode for path interpolation (Page 222)"):
MD20606 $MC_PREPDYN_SMOOTHING_ON[<n>] = <value>
Index <n>
0
1
2
<value>
Off
On
Off
On
Roughing (DYNROUGH)
Off
On
Off
On
Off
On
Finishing (DYNSEMIFIN)
Note
Due to the additional storage requirements, the function should only be activated in the relevant
processing channels.
Parameterization
Change in the contour sampling factor
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
225
The default contour sampling factor is "1", i.e. the contour sampling time equals the interpolator
clock cycle.
The contour sampling factor can be both greater or less than "1".
If a value less than "1" is set, monitoring of contour sampling precision is disabled.
The set sampling time must not be below the configured minimum contour sampling time:
MD10680 $MN_MIN_CONTOUR_SAMPLING_TIME
Note
MD10680 is specifically set for every controller model and cannot be changed.
Programming
Depending on the setting in machine data MD20606 $MC_PREPDYN_SMOOTHING_ON,
"Free-form surface mode: Basic functions" can be switched on and off in the part program by
changing the active dynamic response mode.
Example:
By assigning the parameters MD20606 $MC_PREPDYN_SMOOTHING_ON[2-4] = 1 and
MD20606 $MC_PREPDYN_SMOOTHING_ON[0-1] = 0, the function can be switched on via
226
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
See also
Rounding of tangential block transitions (G645) (Page 198)
Velocity-dependent jerk adaptation (axis-specific) (Page 268)
Free-form surface mode: Extension function (Page 206)
4.5
Compressor functions
4.5.1
Function
CAD/CAM systems generate a large number of linear and circular blocks, some of which with
very short path lengths, to describe complex contours. The maximum possible path velocity
is frequently limited by the block change time. As of a certain path velocity, not enough new
traversing blocks can be prepared in the preprocessing and switched to the main run.
The compressor functions replace consecutive linear and circular blocks with polynomial
blocks having the longest possible path lengths while achieving a parameterized contour
precision. This has the following advantages:
Reduction of the number of traversing blocks
Increasing the path velocity
Increasing the surface quality
Continuous block transitions
COMPON, COMPCURV
The compressor functions COMPON and COMPCURV generate one polynomial block from up to
ten consecutive linear blocks of the form: "G01 X... Y... Z... F...". The polynomial
blocks of the compressor functions have the following properties:
COMPON: Continuous velocity block transitions.
COMPCURV: Continuous velocity and acceleration block transitions
COMPCAD
The compressor function COMPCAD can generate one polynomial block from theoretically any
number of consecutive linear and circular blocks. The polynomial blocks have constant velocity
and acceleration at the block transitions. Corners that are desirable are identified as such and
taken into account.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
227
Parameterization
The compressor functions are parameterized in the following machine data and setting data:
Axis-specific machine data
Number
Identifier $MA_
Meaning
MD33100
COMPRESS_POS_TOL
Identifier $MC_
Meaning
MD20170
COMPRESS_BLOCK_PATH_LIMIT
MD20172
COMPRESS_VELO_TOL
MD20482
COMPRESSOR_MODE
MD20484
COMPRESSOR_PERFORMANCE
Compressor performance
MD20485
COMPRESS_SMOOTH_FACTOR
MD20486
COMPRESS_SPLINE_DEGREE
MD20487
COMPRESS_SMOOTH_FACTOR_2
228
Number
Identifier $SC_
Meaning
SD42470
CRIT_SPLINE_ANGLE
SD42475
COMPRESS_CONTUR_TOL
SD42476
COMPRESS_ORI_TOL
SD42477
COMPRESS_ORI_ROT_TOL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
Corner limit angle and compressor function COMPCAD
The corner limit angle for COMPCAD set via the setting data SD42470
$SC_CRIT_SPLINE_ANGLE is only used as an approximate measure for corner detection.
By evaluating the plausibility, the compressor can also identify flatter block transitions as
corners and larger angles as outliers.
Recommended settings
The following machine data has an effect on the compressor functions. We recommend setting
the following values:
Number
Identifier
Recommended
value
MD18360
$MN_MM_EXT_PROG_BUFFER_SIZE
MD20490
$MC_IGNORE_OVL_FACTOR_FOR_ADIS
MD28520
$MC_MM_MAX_AXISPOLY_PER_BLOCK
MD28530
$MC_MM_PATH_VELO_SEGMENTS
MD28540
$MC_MM_ARCLENGTH_SEGMENTS
10
MD28060
$MC_MM_IPO_BUFFER_SIZE
100
MD28070
$MC_MM_NUM_BLOCKS_IN_PREP
MD32310
$MA_MAX_ACCEL_OVL_FACTOR
100
60
<Value for G64
operation>
Programming
Syntax
COMPON
COMPCURV
COMPCAD
COMPOF
Meaning
COMPON:
COMPCURV:
Effective:
Effective:
COMPCAD:
Modal
COMPOF :
Modal
Modal
See also
Tolerance and compression of G0 blocks (Page 235)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
229
4.5.2
Function
When spline blocks are generated to describe complex contours by means of CAD/CAM
systems, spline blocks with very short path lengths occur between spline blocks with long path
lengths. These force the control to significantly reduce the path velocity. The functions for the
compression of short spline blocks generate new spline blocks with the longest possible path
lengths.
Availability
System
Availability
SINUMERIK 840D sl
SINUMERIK 828D
Option
Parameterization
The compression of short spline blocks can be activated for the following spline types:
BSPLINE
BSPLINE/ORICURVE
CSPLINE
It is activated in the channel-specific machine data:
MD20488 $MC_SPLINE_MODE, bit <n> = <value>
Bit
<value>
Supplementary conditions
If commands that are not traverse commands, e.g. auxiliary function outputs, are
programmed in and between the traversing blocks to be compressed, the spline blocks
cannot be combined.
The maximum number of blocks that can be combined into a program section in succession,
depends on the parameterized size of the block memory available in the block preparation.
MD28070 $MC_MM_NUM_BLOCKS_IN_PREP (number of blocks for block preparation)
230
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Example
To achieve a higher path velocity when executing the traversing blocks, compression for short
spline blocks is activated for BSPLINE interpolation:
MD20488 $MC_SPLINE_MODE, Bit 0 = 1
Program code
Comment
; Initial setting
; Activation: B spline
4.5.3
Supplementary conditions
Orientation transformation (TRAORI)
When orientation transformation is active, the compressor functions COMPON, COMPCURV, and
COMPCAD can also compress motion blocks for tool orientation and tool rotation. A detailed
description can be found in:
Reference:
Function Manual, Special Functions; Chapter " F2: Multi-axis transformation" > "Orientation"
> "Compression of the orientation"
Block search with calculation
If the target block for block search type 2 or type 4 (block search with calculation to ...) is
in a program section in which a compressor function (COMPON, COMPCURV, COMPCAD) is
active, positions are approached on the path calculated by the compressor when the
contour is approached again. These positions must precisely match the positions on the
path programmed in the part program.
If programmed blocks are eliminated from the part program during compression, these
blocks will not be found at the target block in the block search Alarm 15370 "Search target
not found."
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
231
4.6
Contour/Orientation tolerance
Parameter assignment
Machine data
Contour tolerance / orientation tolerance
MD33100 $MA_COMPRESS_POS_TOL[<axis>] = <value> (maximum tolerance with
compression)
Via the axis-specific machine data, the maximum permitted contour deviation (contour
tolerance) or angle deviation of the tool orientation (orientation tolerance) of each axis is
set. The machine data is effective with the following functions:
Rounding: G642, G643, G644, G645
Compressor: COMPON, COMPCURV, COMPCAD
The higher the value, the more short blocks can be compressed into a long block.
The machine data is not effective with the rounding function G641. The programmable
distance to the block transition with ADIS= or ADISPOS= is used for G641.
Rounding mode
MD20480 $MC_SMOOTHING_MODE (rounding behavior with G64x)
Compressor mode
MD20482 $MC_COMPRESSOR_MODE (mode of compression)
Rounding G645
MD33120 $MA_PATH_TRANS_POS_TOL (maximum contour deviation for rounding
G645)
Effective on rounding tangential, but not continuously curved block transitions (e.g. circle straight line)
Setting data
Channel-specific contour tolerance
SD42465 $SC_SMOOTH_CONTUR_TOL (maximum contour deviation)
Channel-specific orientation tolerance
SD42466 $SC_SMOOTH_ORI_TOL (maximum angular deviation of the tool orientation)
Channel-specific orientation tolerance with rounding with OST
SD42676 $SC_ORI_SMOOTH_TOL (tolerance for smoothing with orientation on rounding)
Channel-specific orientation tolerance with rounding with ORISON
SD42678 $SC_ORISON_TOL (tolerance for smoothing the orientation)
Programming
Syntax
CTOL = <value>
OTOL = <value>
ATOL[<axis>] = <value>
232
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
OTOL:
ATOL:
No
Effective:
Modal
No
Effective:
Modal
No
Effective:
Modal
<axis>:
Name of the channel axis to which the programmed tolerance will apply
<value>:
Tolerance value
Value range:
0: Tolerance value
< 0: Resetting the programmed tolerance value The tolerance
value parameterized in the machine or setting data applies again.
Notes
The channel-specific tolerance values programmed with CTOL and OTOL have higher priority than
the axis-specific tolerance values programmed with ATOL.
With end of program or reset, the tolerance value parameterized in the machine or setting data is
effective again.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
233
System variables
Reading with preprocessing stop
Via the following system variables, the currently active tolerances can be read in the NC part
program and synchronized action:
$AC_CTOL
Channel-specific contour tolerance effective when the current main run record was
preprocessed.
If no contour tolerance is effective, $AC_CTOL will return the root of the sum of the squares
of the tolerances of the geometry axes.
$AC_OTOL
Channel-specific orientation tolerance effective when the current main run record was
preprocessed.
If no orientation tolerance is effective, $AC_OTOL will return the root of the sum of the
squares of the tolerances of the orientation axes during active orientation transformation.
Otherwise, it will return the value "-1."
$AA_ATOL[<axis>]
Axis-specific contour tolerance effective when the current main run record was
preprocessed.
If no contour tolerance is active, $AA_ATOL[<geometry axis>] returns the contour tolerance
divided by the root of the number of geometry axes.
If an orientation tolerance and an orientation transformation are active
$AA_ATOL[<orientation axis>] will return the orientation tolerance divided by the root of
the number of orientation axes.
Note
If now tolerance values have been programmed, the $A variables are not differentiated enough
to distinguish the tolerance of the individual functions.
Circumstances like this can occur if the machine data and the setting data set different
tolerances for compressor functions, smoothing and orientation smoothing. The system
variables then return the greatest value occurring with the functions that are currently active.
For example, if a compressor function is active with an orientation tolerance of 0.1 and
ORISON orientation smoothing with 1, the $AC_OTOL variable will return the value "1." If
orientation smoothing is deactivated, $AC_OTOL will return the value "0.1."
Reading without preprocessing stop
Via the following system variables, the currently active tolerances can be read in the NC part
program:
$P_CTOL
Currently active channel-specific contour tolerance.
$P_OTOL
Currently active channel-specific orientation tolerance.
$PA_ATOL
Currently active axis-specific contour tolerance.
234
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Supplementary conditions
Programming
The tolerances programmed with CTOL, OTOL, and ATOL also affect functions that indirectly
depend on these tolerances:
Limiting the chord error in the setpoint value calculation
The basic functions of the free-form surface mode
The following rounding functions are not affected by the programming of CTOL, OTOL, and
ATOL:
Rounding orientation with OSD
OSD does not use a tolerance, it uses a distance from the block transition.
Rounding with G644
G644 is not used for processing, it is used for optimizing tool changes and other movements
without machining.
Rounding with G645
G645 virtually always behaves like G642 and, thus, uses the programmed tolerances. The
tolerance value from machine data MD33120 $MA_PATH_TRANS_POS_TOL is only used
in uniformly tangential block transitions with a jump in curvature, e.g. a tangential circle/
straight line transition. The rounding path at these points may also be located outside the
programmed contour, where many applications are less tolerant. Furthermore, it generally
takes a small, fixed tolerance to compensate for the sort of changes in curvature which
need not concern the NC programmer.
4.7
Function
The function "Tolerance and compression of rapid traverse blocks (G00)" allows rapid traverse
motion to be traversed faster.
It consists of the components:
1. Parameterization / programming of a tolerance factor for rapid traverse movements
Using this factor, the tolerances for G0 motion can be set differently to the workpiece
machining tolerances.
2. Compressing G0 blocks
If the compression of G0 blocks is active while NC block compression is active, not only
traversing blocks with programmed feedrate (G01) but also traversing blocks with G0 (rapid
traverse) are compressed.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
235
Parameter assignment
G0 tolerance factor
The G0 tolerance factor is set via the channel-specific machine data:
MD20560 $MC_G0_TOLERANCE_FACTOR (tolerance factor for G0)
The G0 tolerance factor can be both greater or less than 1.0. If the factor equals 1.0 (default
value), the same tolerances are effective for non rapid traverse movements as for rapid
traverse movement. Normally, the G0 tolerance factor is set to 1.0.
Compressing G0 blocks
The compression of G0 blocks is set for specific channels using the hundreds position in the
machine data:
MD20482 $MC_COMPRESSOR_MODE = <value>
Value
Meaning
0xx
1xx
2xx
3xx
236
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programming
The tolerance factor set using MD20560 $MC_G0_TOLERANCE_FACTOR can be temporarily
overwritten by programming STOLF in the part program:
Syntax
STOLF = <tolerance factor>
Meaning
STOLF:
<tolerance
factor>:
G0 tolerance factor
Value range: Tolerance factor > 0.0
Example
In the following program section, the following tolerance factors apply alternately:
1. MD33100 $MA_COMPRESS_POS_TOL (contour tolerance at corners) COMPCAD
(Page 227)
2. MD33120 PATH_TRANS_POS_TOL (contour tolerance for tangential transitions) G645
3. MD20560 $MC_G0_TOLERANCE_FACTOR"
Contour deviation = (MD20560 $MC_G0_TOLERANCE_FACTOR) * (MD33100
$MA_COMPRESS_POS_TOL)
4. Programmable contour tolerance for traversing blocks CTOL
5. Programmable contour tolerance for rapid traverse blocks STOLF
Program code
Comment
CTOL = 0.02
STOLF = 4
The value in MD20560 is not changed by programming the tolerance factor. After a reset or
end of part program, the value set using MD20560 is effective again.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
237
System variables
The active G0 tolerance factor can be read via the following system variables.
$AC_STOLF (active G0 tolerance factor)
$P_STOLF (programmed G0 tolerance factor)
Reset response
After power-on reset, channel reset, or end of part program, the value parameterized in
machine data MD20560 $MC_G0_TOLERANCE_FACTOR becomes effective again.
4.8
RESET behavior
MD20150
With the reset (channel or mode group reset), the initial setting parameterized channelspecifically becomes effective for all G groups:
MD20150 $MC_GCODE_RESET_VALUES (initial setting of the G groups)
The following G function groups are of relevance to "continuous-path mode, exact stop,
LookAhead":
Group 10: Exact stop - continuous-path mode
Group 12: Block-change criterion for exact stop
Group 21: Acceleration profile
Group 30: NC block compression
Group 59: Dynamic response mode for path interpolation
For detailed information on setting initial states, see Section "K1: Mode group, channel,
program operation, reset response (Page 455)."
4.9
Supplementary conditions
4.9.1
238
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
4.9.2
4.10
Data lists
4.10.1
Machine data
4.10.1.1
Number
Identifier: $MN_
Description
10110
PLC_CYCLE_TIME_AVERAGE
10680
MIN_CONTOUR_SAMPLING_TIME
10682
CONTOUR_SAMPLING_FACTOR
10712
NC_USER_CODE_CONF_NAME_TAB
12030
OVR_FACTOR_FEEDRATE
12100
OVR_FACTOR_LIMIT_BIN
18360
MM_EXT_PROG_BUFFER_SIZE
4.10.1.2
Number
Identifier: $MC_
Description
20150
GCODE_RESET_VALUES
20170
COMPRESS_BLOCK_PATH_LIMIT
20172
COMPRESS_VELO_TOL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
239
Identifier: $MC_
Description
20400
LOOKAH_USE_VELO_NEXT_BLOCK
20430
LOOKAH_NUM_OVR_POINTS
20440
LOOKAH_OVR_POINTS
20443
LOOKAH_FFORM
20450
LOOKAH_RELIEVE_BLOCK_CYCLE
20460
LOOKAH_SMOOTH_FACTOR
20462
LOOKAH_SMOOTH_WITH_FEED
20465
ADAPT_PATH_DYNAMIC
20480
SMOOTHING_MODE
20482
COMPRESSOR_MODE
Compressor mode
20488
SPLINE_MODE
20490
IGNORE_OVL_FACTOR_FOR_ADIS
20550
EXACT_POS_MODE
20560
G0_TOLERANCE_FACTOR
G0 tolerance factor
20600
MAX_PATH_JERK
20602
CURV_EFFECT_ON_PATH_ACCEL
20603
CURV_EFFECT_ON_PATH_JERK
20606
PREPDYN_SMOOTHING_ON
28060
MM_IPO_BUFFER_SIZE
28070
MM_NUM_BLOCKS_IN_PREP
28520
MM_MAX_AXISPOLY_PER_BLOCK
28530
MM_PATH_VELO_SEGMENTS
28533
MM_LOOKAH_FFORM_UNITS
28540
MM_ARCLENGTH_SEGMENTS
28610
MM_PREPDYN_BLOCKS
4.10.1.3
Number
Identifier: $MA_
Description
32310
MAX_ACCEL_OVL_FACTOR
32431
MAX_AX_JERK
32432
PATH_TRANS_JERK_LIM
32433
SOFT_ACCEL_FACTOR
32434
G00_ACCEL_FACTOR
32435
G00_JERK_FACTOR
32440
LOOKAH_FREQUENCY
33100
COMPRESS_POS_TOL
33120
PATH_TRANS_POS_TOL
240
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Identifier: $MA_
Description
35240
ACCEL_TYPE_DRIVE
36000
STOP_LIMIT_COARSE
36010
STOP_LIMIT_FINE
36012
STOP_LIMIT_FACTOR
36020
POSITIONING_TIME
4.10.2
Setting data
4.10.2.1
Number
Identifier: $SC_
Description
42465
SMOOTH_CONTUR_TOL
42466
SMOOTH_ORI_TOL
42470
CRIT_SPLINE_ANGLE
42475
COMPRESS_CONTUR_TOL
4.10.3
Signals
4.10.3.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB330x.DBX4.3
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB390x.DBX0.6
DB31, .DBX60.7
DB390x.DBX0.7
4.10.3.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
241
242
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.1
Brief description
5.1.1
General
Scope of functions
The Description of Functions covers the following sub-functions:
Acceleration
Jerk
Kneeshaped acceleration characteristic
Acceleration and jerk
The effective acceleration and jerk can be optimally matched to the machine and machining
situation concerned using axis- and channel-specific programmable maximum values,
programmable acceleration profiles in part programs and synchronized actions, and dynamic
adaptations and limitations.
Kneeshaped acceleration characteristic
The knee-shaped acceleration characteristic means that, in the case of machine axes featuring
a motor (in particular stepper motors) with a torque characteristic that is highly dependent upon
speed, acceleration can be set at the level required to ensure optimum utilization of the motor
whilst at the same time protecting it against overload.
5.1.2
Features
Acceleration
Axis-specific functions:
Programmable maximum acceleration value
Acceleration profile that can be selected via part-program instruction:
Acceleration without jerk limitation (BRISKA)
Setting of maximum value using part-program instruction (ACC)
Specific maximum value for programmed rapid traverse (G00).
Specific maximum value for traverse with active jerk limitation
Excessive acceleration for non-tangential block transitions
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
243
B2: Acceleration
5.1 Brief description
Channel-specific functions:
Acceleration profile that can be selected via part-program instruction:
Acceleration without jerk limitation (BRISK)
Programmable constant travel time for the purpose of avoiding extreme sudden acceleration
Programmable acceleration margin for overlaid traversing
Adjustable acceleration limitation
Adjustable acceleration for specific real-time events
Programmable acceleration margin for radial acceleration
Jerk
Axis-specific functions:
Acceleration profile that can be selected via part-program instruction:
Acceleration with jerk limitation (SOFTA)
Programmable maximum jerk value for single-axis interpolation
Programmable maximum jerk value for path interpolation
Channel-specific functions:
Acceleration profile that can be selected via part-program instruction:
Acceleration with jerk limitation (SOFT)
Adjustable jerk limitation
Adjustable path jerk for specific real-time events
Specific maximum value for programmed rapid traverse (G00)
Excessive jerk for block transitions without constant curvature
244
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
5.2
Functions
5.2.1
5.2.1.1
General Information
General Information
In the case of acceleration without jerk limitation (jerk = infinite) the maximum value is applied
for acceleration immediately. As regard to acceleration with jerk limitation, it differs in the
following respects:
Advantages
Shorter processing times with the same maximum values for velocity and acceleration.
Disadvantages
Increased load on the machine's mechanical components and risk of inducing highfrequency and difficult-to-control mechanical vibrations.
Acceleration profile
D
DPD[
W
DPD[
Y
YPD[
W
amax:
vmax:
t:
Time
Figure 5-1
W
W
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
245
B2: Acceleration
5.2 Functions
The following features of the acceleration profile can be identified from the figure above:
Time: t0
Sudden acceleration from 0 to +amax
Interval: t0 - t1
Constant acceleration with +amax; linear increase in velocity
Time: t1
Sudden acceleration from 2 * amax with immediate switchover from acceleration to braking
Note
The sudden acceleration can normally be avoided by specifying a constant velocity time
(see Section "Constant travel time (channel-specific) (Page 248)").
Interval: t1 - t2
Constant acceleration with -amax; linear decrease in velocity
5.2.1.2
Parameterization
246
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
MD18960 $MN_POS_DYN_MODE = <mode>
<mode>
Meaning
5.2.1.3
Programming
Functionality
The BRISK part-program instruction is used to select the "without jerk limitation" acceleration
profile for the purpose of path acceleration.
G group: 21
Effective: Modal
Reset response
The channel-specific initial setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Supplementary conditions
If the acceleration profile is changed in a part program during machining (BRISK/SOFT) an
exact stop is performed at the end of the block.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
247
B2: Acceleration
5.2 Functions
Function
The BRISKA part-program command is used to select the "without jerk limitation" acceleration
profile for single-axis movements (JOG, JOG/INC, positioning axis, reciprocating axis, etc.).
G group: Effectiveness: Modal
Axis:
Value range: Axis name of the channel axes
Reset behavior
The axis-specific initial setting is activated via a reset:
MD32420 $MA_JOG_AND_POS_ENABLE
5.2.2
5.2.2.1
General Information
Overview
In the case of acceleration without jerk limitation, sudden acceleration of 2 * amax occurs on
switchover between acceleration and braking. In order to avoid this sudden acceleration, a
channel-specific constant travel time can be programmed. The constant travel time defines
the time taken to traverse between the acceleration and braking phases at constant velocity:
MD20500 $MC_CONST_VELO_MIN_TIME (minimum time with constant velocity)
Note
The constant travel time is ineffective:
Active function: Look Ahead
In traversing blocks with a travel time that is less or equal to the interpolation cycle time.
248
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
DPD[
W
DPD[
Y
YPD[
W
W
W
1:
2:
amax:
vmax:
t:
Time
Figure 5-2
W
W
W
The effect of the constant travel time can be seen from the figure above:
Time: t1
End of acceleration phase with sudden acceleration 1 * amax
Interval: t1 - t2
Acceleration 0; constant velocity using the parameterized constant travel time
Time: t2
Start of braking phase with sudden acceleration 1 * amax
The times t0, t1' and t2' indicate the characteristic that would have been produced had no
constant travel time been defined.
5.2.2.2
Parameterization
The constant travel time is parameterized for specific channels using machine data:
MD20500 $MC_CONST_VELO_MIN_TIME
(minimum time with constant velocity)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
249
B2: Acceleration
5.2 Functions
5.2.3
5.2.3.1
General Information
Function
Using the ACC command, the currently effective maximum axis acceleration parameterized in
the acceleration-specific machine data can be reduced for a specific axis. The reduction is in
the form of a percentage factor, which is specified when programming the command.
For instance, reducing the maximum possible axis acceleration in a machining segment can
be used to prevent mechanical vibration as a result of high machining forces.
Effectiveness
Reducing the acceleration with ACC is effective for all interpolation types in the AUTOMATIC
and MDI operating modes and for the dry run feedrate.
Acceleration reduction is not effective:
in the JOG mode
During the machine function REF (reference point approach).
If, as a result of a fault that has been detected, the axis is stopped with a fast stop (setpoint
= 0).
5.2.3.2
Programming
Syntax
ACC[<axis>]=<reduction factor>
ACC[SPI(<spindle number>)]=<reduction factor>
ACC(S<spindle number>)=<reduction factor>
Meaning
<ACC>:
<axis>:
250
Modal
AXIS
Value range:
SPI(<spindle
number>):
The SPI(...) function converts the spindle number into the corresponding
channel axis name.
S<spindle
number>:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Further information
System variable
The acceleration reduction (set using ACC), currently active in the channel, can be read on
an axis-for-axis basis using:
$AA_ACC[<axis>]
Reset response
The acceleration reduction set using ACC can be kept after a channel reset or after the end
of the program. The parameterization is performed via:
MD32320 $MA_DYN_LIMIT_RESET_MASK
5.2.4
5.2.4.1
General Information
General information
Under normal circumstances, preprocessing makes maximum use of the parameterized
maximum values of the machine axes for the purpose of path acceleration. In order that an
acceleration margin may be set aside for overlaid movements, e.g., within the context of the
"Rapid lift away from the contour" function, path acceleration can be reduced by a
programmable factor. When, for example, a factor of 0.2 is applied, preprocessing will only
use 80% of the maximum possible path acceleration. 20% is set aside as an acceleration
margin for overlaid movements.
5.2.4.2
Parameterization
Parameters for the acceleration margin are assigned for each channel by means of machine
datum:
MD20610 $MC_ADD_MOVE_ACCEL_RESERVE
(acceleration margin for overlaid motions)
5.2.5
5.2.5.1
General Information
General Information
To enable a flexible response to the machining situations concerned, setting data can be used
to limit the path acceleration calculated during preprocessing for specific channels:
SD42500 $SC_SD_MAX_PATH_ACCEL (maximum path acceleration)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
251
B2: Acceleration
5.2 Functions
The value specified in the setting data is only taken into account if it is smaller than the path
acceleration calculated during preprocessing.
The limitation must be activated for specific channels using setting data:
SD42502 $SC_IS_SD_MAX_PATH_ACCEL = TRUE
5.2.5.2
Parameterization
Parameterization is carried out for specific channels using setting data:
SD42500 $SC_SD_MAX_PATH_ACCEL (maximum path acceleration)
SD42502 $SC_IS_SD_MAX_PATH_ACCEL (activation of path-acceleration limitation)
5.2.5.3
Programming
Limit value
Syntax
$SC_SD_MAX_PATH_ACCEL = limit value
Functionality
The path-acceleration limitation can be adjusted for the situation by programming the setting
data.
Limit value:
Value range: 0
Unit: m/s2
Application:
Part program
Static synchronized action
Switch ON/OFF
Syntax
$SC_IS_SD_MAX_PATH_ACCEL = value
Functionality
The path-acceleration limitation can be activated/deactivated by programming the setting data.
252
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Parameter: Value
Value range: TRUE, FALSE
Application:
Part program
Static synchronized action
5.2.6
5.2.6.1
General Information
General Information
So that no compromise has to be made between machining-optimized acceleration on the one
hand and time-optimized acceleration in connection with the following real-time events on the
other:
NC Stop / NC Start
Changing the feedrate override
Changing the velocity default for "safely reduced velocity" within the context of the "Safety
Integrated" function
For the real-time events mentioned above, the path acceleration can be specified using a
channel-specific system variable:
$AC_PATHACC = path acceleration
Real-time event acceleration will only be active for the duration of the change in velocity in
respect of one of the real-time events specified above.
Limitation
If the specified path acceleration exceeds the capabilities of the machine axes that are of
relevance for the path, a limit will be imposed on the path acceleration within the controller so
that the resulting axial acceleration (ares) is restricted to less than 2x the parameterized
maximum axial value (amax).
ares = 2 * amax, with amax = MD32300 $MA_MAX_AX_ACCEL
Note
Path acceleration for real-time events is enabled, irrespective of the radial acceleration.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
253
B2: Acceleration
5.2 Functions
Effectiveness
Effective
Real-time event acceleration is only enabled in AUTOMATIC and MDA operating modes
in conjunction with the following real-time events:
NC Stop / NC Start
Override changes
Changing the velocity default for "safely reduced velocity" within the context of the
"Safety Integrated" function
Not effective
Path acceleration for real-time events is ineffective for changes in path velocity that are
attributable to path planning during preprocessing for the channel, such as contour
curvatures, corners, kinematic transformation limitations, etc.
Real-time-event path acceleration is ineffective if the programmed value is smaller than
the path acceleration calculated during preprocessing for the path section concerned.
Programming
For information about programming system variables in the part program or synchronized
actions, see Section "Programming (Page 254)".
5.2.6.2
Programming
Syntax
$AC_PATHACC = path acceleration
Functionality
Real-time-event path acceleration is set via the channel-specific system variables.
Parameter: Path acceleration
Value range: Path acceleration 0
Unit: m/s2
Deactivation: $AC_PATHACC = 0
Application:
Part program
Static synchronized action
Reset response
Real-time-event path acceleration is deactivated on reset.
Supplementary conditions
Programming $AC_PATHACC in the part program automatically triggers a preprocessing stop
with REORG (STOPRE).
254
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
5.2.7
5.2.7.1
General Information
Frequently, the acceleration for the machine axes involved in the machining process must be
set lower than the machine's performance capability officially allows because of the
supplementary conditions associated with the specific process concerned.
For time-optimized traversing of the machine axes with programmed rapid traverse (partprogram instruction G00), a specific maximum value can be programmed for the axis-specific
acceleration.
5.2.7.2
Parameterization
The maximum value for axis-specific acceleration with programmed rapid traverse is
parameterized (G00) using the axis-specific machine data:
MD32434 $MA_G00_ACCEL_FACTOR
(scaling of the acceleration limitation with G00)
This is used to generate the maximum value for axis-specific acceleration with programmed
rapid traverse (G00) that is taken into account by the path planning component during
preprocessing:
Acceleration[axis] =
MD32300 $MA_MAX_AX_ACCEL * MD32434 $MA_G00_ACCEL_FACTOR
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
255
B2: Acceleration
5.2 Functions
5.2.8
5.2.8.1
General Information
Function
Compared with acceleration without jerk limitation, acceleration with jerk limitation results in a
certain degree of time loss, even when the same maximum acceleration value is used. To
compensate for this time loss, a specific maximum value can be programmed for the axisspecific acceleration as far as traversing of the machine axes with active jerk limitation (SOFT/
SOFTA) is concerned.
The maximum value for acceleration with active jerk limitation is parameterized using a factor
calculated in relation to the axis-specific maximum value. This is used to generate the
maximum value for axis-specific acceleration with active jerk limitation that is taken into
account by the path planning component during preprocessing:
Acceleration[axis] =
MD32300 $MA_MAX_AX_ACCEL * MD32433 $MA_SOFT_ACCEL_FACTOR
5.2.8.2
Parameterization
The maximum value for acceleration with active jerk limitation (SOFT/SOFTA) is parameterized
using the axis-specific machine data:
MD32434 $MA_SOFT_ACCEL_FACTOR
(scaling of the acceleration limitation with SOFT)
5.2.9
5.2.9.1
General Information
Function
In the case of non-tangential block transitions (corners), the programmable controller may have
to decelerate the geometry axes significantly in order to ensure compliance with the
parameterized axis dynamics. For the purpose of reducing/avoiding deceleration in connection
with non-tangential block transitions, a higher level of axis-specific acceleration can be enabled.
Excessive acceleration is parameterized using a factor calculated in relation to the axis-specific
maximum value. This is used to generate the maximum value for axis-specific acceleration
with non-tangential block transitions that is taken into account by the path planning component
during preprocessing:
Acceleration[axis] =
MD32300 $MA_MAX_AX_ACCEL * MD32310 $MA_MAX_ACCEL_OVL_FACTOR
256
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
5.2.9.2
Parameterization
Excessive acceleration for non-tangential block transitions is parameterized using the axisspecific machine data:
MD32310 $MA_MAX_ACCEL_OVL_FACTOR
(overload factor for velocity jumps)
5.2.10
5.2.10.1
General Information
Overview
In addition to the path acceleration (tangential acceleration), radial acceleration also has an
effect on curved contours. If this is not taken into account during parameterization of the path
parameters, the effective axial acceleration during acceleration and deceleration on the curved
contour can, for a short time, reach 2x the maximum value.
Effective axial acceleration =
Path acceleration + radial acceleration =
2 * ( MD32300 $MA_MAX_AX_ACCEL )
1
1
DSDWK
DUDGLDO
1
Figure 5-3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
257
B2: Acceleration
5.2 Functions
The corresponding maximum values are generally calculated as follows:
Radial acceleration =
MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL * MD32300 $MA_MAX_AX_ACCEL
Path acceleration =
(1 - MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL) * MD32300 $MA_MAX_AX_ACCEL
Example
The following machine parameters apply:
MD32300 $MA_MAX_AX_ACCEL for all geometry axes: 3 m/s
Maximum path velocity with a path radius of 10 mm due to mechanical constraints of the
machine: 5 m/min.
The radial acceleration is calculated as follows:
D UDGLDO
Y SDWK >PPLQ@
U>PP@ >PV @
PV
0'0$B0$;B$;B$&&(/ >PV @
Linear motions
The acceleration margin referred to above is ineffective in the case of linear motions (linear
interpolation) without active kinematic transformation.
5.2.10.2
Parameterization
The proportion of maximum available axis acceleration to be taken into account as an
acceleration margin for radial acceleration on curved contours is parameterized using the
channel-specific machine data:
MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL
(influence of path curvature on dynamic path response)
258
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
5.2.11
5.2.11.1
General Information
Overview
As far as the functionality described in the rest of this document is concerned, constant
acceleration, i.e., acceleration with jerk limitation (jerk = infinite value), is the assumed
acceleration profile. In the case of acceleration with jerk limitation, linear interpolation is applied
in respect of acceleration from 0 to the maximum value.
Advantages
Minimal load on the machine's mechanical components and low risk of high-frequency and
difficult-to-control mechanical vibrations thanks to constant excessive acceleration.
Disadvantages
Longer machining times compared with stepped acceleration profile when the same maximum
velocity and acceleration values are used.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
259
B2: Acceleration
5.2 Functions
Acceleration profile
U
UPD[
W
UPD[
D
DPD[
W
DPD[
Y
YPD[
W
W
rmax:
amax:
vmax:
t:
Time
Figure 5-4
W
W
W
W
W
Jerk, acceleration and velocity schematic with jerk limitation acceleration profile
The following features of the acceleration profile can be identified from the figure above:
Interval: t0 - t1
Constant jerk with +rmax; linear increase in acceleration; quadratic increase in velocity
Interval: t1 - t2
Constant acceleration with +amax; linear increase in velocity
Interval: t2 - t3
Constant jerk with -rmax; linear decrease in acceleration; quadratic decrease in excessive
velocity until maximum value +vmax is reached
Interval: t3 - t4
Constant jerk with +rmax; linear increase in braking acceleration; quadratic decrease in
velocity
260
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Interval: t4 - t5
Constant braking acceleration with -amax; linear decrease in velocity
Interval: t5 - t6
Constant jerk with -rmax; linear decrease in braking acceleration; quadratic decrease in
velocity reduction until zero velocity is reached v = 0
5.2.11.2
Parameterization
5.2.11.3
Programming
Syntax
SOFT
Functionality
The SOFT part-program instruction is used to select the acceleration profile with jerk limitation
for the traversing operations of geometry axes in the channel.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
261
B2: Acceleration
5.2 Functions
G group: 21
Effective: Modal
Reset response
The channel-specific initial setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Boundary conditions
If the acceleration mode is changed in a part program during machining (BRISK SOFT), a
block change is performed at the point of transition with an exact stop at the end of the block,
even in continuous-path mode.
5.2.12
5.2.12.1
Parameterization
Meaning
The following is effective as maximum axial jerk for positioning axis motions:
MD32430 $MA_JOG_AND_POS_MAX_JERK
With active G75 (fixed-point approach): MD32431 $MA_MAX_AX_JERK[0]
262
MD32431 $MA_MAX_AX_JERK[1]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
5.2.12.2
Programming
Syntax
SOFTA (Axis {Axis})
Functionality
The SOFTA part-program command is used to select acceleration with jerk limitation for singleaxis movements (positioning axis, reciprocating axis, etc.)
G group: Effectiveness: Modal
Axis:
Value range: Axis name of the channel axes
Reset behavior
The axis-specific initial setting is activated via a reset:
MD32420 $MA_JOG_AND_POS_ENABLE
5.2.13
5.2.13.1
General Information
Overview
To enable a flexible response to the machining situations concerned, setting data can be used
to limit the path jerk calculated during preprocessing for specific channels:
SD42510 $SC_SD_MAX_PATH_JERK (maximum path jerk)
The value specified in the setting data is only taken into account in the channel if it is smaller
than the path jerk calculated during preprocessing.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
263
B2: Acceleration
5.2 Functions
The limitation must be activated for specific channels using setting data:
SD42512 $SC_IS_SD_MAX_PATH_JERK = TRUE
5.2.13.2
Parameterization
Parameterization is carried out for specific channels using setting data:
SD42510 $SC_SD_MAX_PATH_JERK (maximum path jerk)
SD42512 $SC_IS_SD_MAX_PATH_JERK
(activation of path-jerk limitation)
5.2.13.3
Programming
Functionality
The path-jerk limitation can be adjusted for the situation by programming the setting data.
Jerk value:
Value range: 0
Unit: m/s3
Application:
Part program
Static synchronized action
Switch ON/OFF
Syntax
$SC_IS_SD_MAX_PATH_JERK = value
Functionality
The path-jerk limitation can be activated/deactivated by programming the setting data.
264
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Parameter: Value
Value range: TRUE, FALSE
Application:
Part program
Static synchronized action
5.2.14
5.2.14.1
General Information
Overview
So that no compromise has to be made between machining-optimized jerk on the one hand
and time-optimized jerk in connection with the following real-time events on the other:
NC Stop / NC Start
Changing the feedrate override
Changing the velocity default for "safely reduced velocity" within the context of the "Safety
Integrated" function
for the real-time events mentioned, the path jerk can be specified using a channel-specific
system variable:
$AC_PATHJERK = path jerk
Path jerk for real-time events will only be active for the duration of the change in velocity in
respect of one of the real-time events specified above.
Limitation
As the jerk is not a physical variable of any relevance to the drive, no limit is imposed on the
jerk set.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
265
B2: Acceleration
5.2 Functions
Effectiveness
Effective
Path jerk for real-time events is only enabled in AUTOMATIC and MDA operating
modes in conjunction with the following real-time events:
NC Stop / NC Start
Override changes
Changing the velocity default for "safely reduced velocity" within the context of the
"Safety Integrated" function
Not effective
Path jerk for real-time events is ineffective for changes in the path velocity that are
attributable to path planning during preprocessing for the channel, such as contour
curvatures, corners, kinematic transformation limitations, etc.
Path jerk for real-time events is ineffective if the programmed value is smaller than
the path jerk calculated during preprocessing for the path section concerned.
Programming
For the purpose of setting the jerk for real-time events in accordance with the acceleration, the
system variables can be set as follows:
$AC_PATHJERK = $AC_PATHACC/smoothing time
$AC_PATHACC: Path acceleration [m/s2]
Smoothing time: Freely selectable, e.g. 0.02 s
For information about programming system variables in the part program or synchronized
actions, see Section "Programming (Page 266)".
5.2.14.2
Programming
Syntax
$AC_PATHJERK = path jerk
Functionality
The path jerk for real-time events is set via the channel-specific system variables.
Jerk value:
Value range: Path jerk 0
Unit: m/s3
Application:
Part program
Static synchronized action
Reset behavior
The function is deactivated on reset.
266
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Boundary conditions
Programming $AC_PATHJERK in the part program automatically triggers a preprocessing
stop with REORG (STOPRE).
5.2.15
5.2.15.1
General Information
Overview
Frequently, the maximum jerk for the machine axes involved in the machining process must
be set lower than the machine's performance capability officially allows because of the
supplementary conditions associated with the specific process concerned.
For time-optimized traversing of the machine axes with programmed rapid traverse (partprogram instruction G00), a specific maximum value can be programmed for the axis-specific
jerk.
5.2.15.2
Parameterization
The maximum value for axis-specific jerk with programmed rapid traverse is parameterized
(G00) using the axis-specific machine data:
MD32434 $MA_G00_ACCEL_FACTOR
(scaling of the acceleration limitation with G00)
This is used to generate the maximum value for axis-specific jerk with programmed rapid
traverse (G00) that is taken into account by the path planning component during preprocessing:
Jerk[axis] =
MD32431 $MA_MAX_AX_JERK * MD32435 $MA_G00_JERK_FACTOR
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
267
B2: Acceleration
5.2 Functions
5.2.16
5.2.16.1
General Information
Overview
In the case of block transitions without constant curvature (e.g. straight line > circle), the
programmable controller has to decelerate movement of the geometry axes significantly in
order to ensure compliance with the parameterized axis dynamics. For the purpose of reducing/
avoiding deceleration in connection with block transitions without constant curvature, a higher
level of axis-specific jerk can be enabled.
The excessive jerk is parameterized using a dedicated axis-specific maximum value.
5.2.16.2
Parameterization
The excessive jerk for block transitions without constant curvature is parameterized using the
axis-specific machine data:
MD32432 $MA_PATH_TRANS_JERK_LIM
(excessive jerk for block transitions without constant curvature)
5.2.17
Function
The dynamic path response results from the parameterized, constant axial maximum values
for velocity, acceleration and jerk of the axes involved in the path:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
MD32300 $MA_MAX_AX_ACCEL (maximum axis acceleration)
MD32431 $MA_MAX_AX_JERK (max. axial jerk for path motion)
For contours with non-constant curvature (torsion), as for example in connection with free-form
surfaces, fluctuations in the path velocity, particularly in the upper velocity range, can result
mainly due to the axial jerk. The fluctuations of the path velocity lead to adverse affects in the
surface quality.
The influence of the axial jerk on the path velocity is decreased for contours with non-constant
curvature through a velocity-dependent increase of the permissible axial jerk. Fluctuations in
the path velocity can be avoided with the appropriate parameterization.
The velocity-dependent increase of the permissible axial jerk has no effect on the maximum
possible path acceleration and path jerk. These result from the constant axial maximum values
parameterized in the in the machine data even when jerk adaptation is active.
As both curvature and torsion are zero in the case of linear motion, the velocity-dependent jerk
adaptation has no effect with linear motions.
268
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Availability
The "velocity-dependent jerk adaptation" function is available independent of the function
"Free-form surface mode: Basic functions (Page 224)".
Parameterization
The "Velocity-dependent jerk adaptation" function is parameterized with the following machine
data:
MD32437 $MA_AX_JERK_VEL0[<n>] = <threshold valuelower>
Lower velocity threshold of the jerk adaptation. Velocity-dependent jerk adaptation takes
effective as of this velocity.
The lower velocity threshold can be set separately via index n for each dynamic response
mode (see Section "Dynamic response mode for path interpolation (Page 222)"):
MD32438 $MA_AX_JERK_VEL1[<n>] = <threshold valueupper>
Upper velocity threshold of the jerk adaptation. The velocity-dependent jerk reaches its
maximum value jmax parameterized with MD32439 $MA_MAX_AX_JERK_FACTOR at this
velocity.
The upper velocity threshold can be set separately via index n for each dynamic response
mode (see Section "Dynamic response mode for path interpolation (Page 222)"):
MD32439 $MA_MAX_AX_JERK_FACTOR = <factor>
Factor for the parameterization of the maximum velocity-dependent jerk jmax on reaching
the upper velocity threshold MD32438 $MA_AX_JERK_VEL1[<n>]:
jmax = (MD32431 $MA_MAX_AX_JERK) * (MD32439 $MA_MAX_AX_JERK_FACTOR)
The velocity-dependent jerk adaptation is active at a value > 1.0.
The velocity-dependent jerk adaptation is inactive at a value = 1.0.
0D[LPXPSHUPLVVLEOHD[LDOMHUN
M
M
Y
v0:
MD32437 $MA_AX_JERK_VEL0
v1:
MD32438 $MA_AX_JERK_VEL1
Y
j0:
MD32431 $MA_MAX_AX_JERK
j1:
Figure 5-5
$[LVYHORFLW\
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
269
B2: Acceleration
5.2 Functions
Note
The velocity-dependent jerk adaptation is only active, if:
MD32439 $MA_MAX_AX_JERK_FACTOR > 1.0
Example
Example of parameter assignment:
MD32437 $MA_AX_JERK_VEL0 = 3000 mm/min
MD32438 $MA_AX_JERK_VEL1 = 6000 mm/min
MD32439 $MA_MAX_AX_JERK_FACTOR[AX1] = 2.0
MD32439 $MA_MAX_AX_JERK_FACTOR[AX2] = 3.0
MD32439 $MA_MAX_AX_JERK_FACTOR[AX3] = 1.0
Effect
The velocity-dependent jerk adaptation becomes active for the 1st and 2nd axis, while the
function for the 3rd axis is not active.
The parameterized jerk is effective at axis velocities in the range of 0 to 3000 mm/min.
The maximum jerk is linearly increased for axis velocities in the range 3000 mm/min to
6000 mm/min.
The maximum permitted jerk of the 1st axis is, for axis velocities greater than 6000 mm/
min, increased by a factor of 2 - for the 2nd axis, by factor of 3.
The parameterized values apply in each dynamic response mode.
5.2.18
5.2.18.1
General Information
Overview
In certain application scenarios, e.g. when milling free-form surfaces, it may be beneficial to
smooth the position setpoint characteristics of the machine axes. This enables surface quality
to be improved by reducing the mechanical vibrations generated in the machine.
For the purpose of smoothing the position setpoint characteristic of a machine axis, a jerk filter
can be activated at position controller level, independently of the channel- and axis-specific
jerk limitations taken into account at interpolator level.
The effect of the jerk filter must be as strong as possible without having an unacceptable impact
on contour accuracy. The filter should also have as "balanced" a smoothing effect as possible,
i.e. if the same contour is traversed forwards and backwards, the contour smoothed by the
filter should be as similar as possible in both directions.
270
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
To enable the jerk filter to be optimally matched to the machine conditions, various filter modes
are available:
2nd-order filter (PT2)
Sliding mean value generation
Bandstop filter
+V
V
I=
V
I1
V ' =
I=
V
' 1
I1
where:
fZ:
fN:
DZ:
Numerator damping
DN:
Denominator damping
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
271
B2: Acceleration
5.2 Functions
Since a vibration-capable filter setting is not expected to yield useful results in any case, as
with the jerk filter's "2nd-order filter" (PT2) low-pass filter (PT2) mode there is no setting option
for the denominator damping DN. The denominator damping DN is permanently set to 1.
The bandstop filter can be parameterized in two different ways:
Real bandstop filter
Bandstop filter with additional amplitude response increase/decrease at high frequencies
Real bandstop filter
The real bandstop filter is applied when identical numerator and denominator natural
frequencies are selected:
fZ = fN = fblock (blocking frequency)
If numerator damping setting = 0 is selected, the blocking frequency is equivalent to complete
attenuation. In this case the 3 dB bandwidth is calculated as follows:
f3 dB bandwidth = 2 * fblock
If instead of complete attenuation, a reduction by a factor of k is all that is required, then
numerator damping should be selected in accordance with k. In this case the above formula
for calculating the 3 dB bandwidth no longer applies.
Bandstop filter with additional amplitude response increase/decrease at high frequencies
In this case, the numerator and denominator natural frequencies are set to different values.
The numerator natural frequency determines the blocking frequency.
By selecting a lower/higher denominator natural frequency than the numerator natural
frequency, you can increase/decrease the amplitude response at high frequencies. An
amplitude response increase at high frequencies can be justified in most cases, as the
controlled system generally possesses a lowpass characteristic itself, i.e. the amplitude
response drops at high frequencies anyway.
Supplementary conditions
If too high a numerator natural frequency is selected, the filter is disabled. In this case the
limiting frequency fZmax depends on the position-control cycle:
I =PD[
5.2.18.2
7
=PLQ
6KDQQRQ7KHRUHP
7
3RVLWLRQFRQWUROF\FOH
Parameterization
Activation
The jerk filter is activated using the machine data:
MD32400 $MA_AX_JERK_ENABLE (axial jerk limitation)
The jerk filter is active in all operating modes and with all types of interpolation.
272
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Filter mode
The filter mode is selected via the machine data:
MD32402 $MA_AX_JERK_MODE
Value
Filter mode
2nd-order filter
Bandstop filter
Time constant
The time constant for the axial jerk filter is set with the machine data:
MD32410 $MA_AX_JERK_TIME
The jerk filter is only effective when the time constant is greater than a position-control cycle.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
273
B2: Acceleration
5.2 Functions
5.2.19
5.2.19.1
Function
Various types of motor, particularly stepper motors, have a torque characteristic that is highly
dependent upon speed and shows a steep decrease in torque in the upper speed range. To
ensure optimum utilization of the motor characteristic curve, it is necessary to reduce the
acceleration once a certain speed is reached.
0>1P@
0PD[
0UHG
QUHG
1:
nred:
nmax:
Maximum speed
Mmax:
Max. torque
Mred:
Figure 5-6
QPD[
Q>@
Torque characteristic curve of a motor with torque characteristic that is highly dependent
upon speed
274
= Constant characteristic
= Hyperbolic characteristic
= Linear characteristic
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
The following figures show typical velocity and acceleration characteristic curves for the
respective types of characteristic:
Constant characteristic
YPD[
DPD[
YUHG
DUHG
YUHG
Figure 5-7
YPD[
Hyperbolic characteristic
YPD[
DPD[
YUHG
DUHG
YUHG
Figure 5-8
YPD[ Y
Linear characteristic
Y
YPD[
DPD[
YUHG
DUHG
YUHG
Figure 5-9
YPD[ Y
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
275
B2: Acceleration
5.2 Functions
The key data for the characteristic curves equate to:
vmax
vred
amax
ared
5.2.19.2
= $MA_MAX_AX_VELO
= $MA_ACCEL_REDUCTION_SPEED_POINT * $MA_MAX_AX_VELO
= $MA_MAX_AX_ACCEL
= (1 - $MA_ACCEL_REDUCTION_FACTOR) * $MA_MAX_AX_ACCEL
Function
The path acceleration characteristic curve is generated on the basis of the types of
characteristic for the axes that are of relevance for the path. If axes with different types of
characteristic curve are interpolated together, the acceleration profile for the path acceleration
will be determined on the basis of the reduction type that is most restrictive.
The following order of priorities applies, whereby 1 = top priority:
1. Acceleration reduction: 0 = constant characteristic
2. Acceleration reduction: 1 = hyperbolic characteristic
3. Acceleration reduction: 2 = linear characteristic
4. No acceleration reduction effective
A situation, whereby no acceleration reduction is active, arises for example when:
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT = 1
and/or
MD35230 $MA_ACCEL_REDUCTION_FACTOR = 0
Note
Machine axes featuring stepper motor and DC drive can be interpolated together.
5.2.19.3
Function
If the programmed path cannot be traversed with the acceleration curve parameterized in the
machine data of the participating axes, e.g. if kinematic transformation and acceleration types
BRISK or SOFT are active, a substitute curve is generated by reducing the dynamic limit values.
The reduced dynamic limit values are calculated to ensure that the substitute characteristic
curve provides the best possible compromise between maximum velocity and constant
acceleration.
276
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
DUHG
YUHG
YSURJ
YD
Locked area
aers:
a15%
YPD[
Normal range
Reducing range
vprog
Programmed velocity
v15%a
Velocity at a15%
Figure 5-10
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
277
B2: Acceleration
5.2 Functions
Y
U
DHUV
DUHG
YUHG
YPD[
YHUV
Normal range
aN
Normal acceleration
aers:
vers
Path radius
Reducing range
Figure 5-11
278
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Y
YPD[
YUHG
1
1
1
1
1
vred:
Creep velocity
vmax
Maximum velocity
Nx
Figure 5-12
5.2.19.4
1
Parameterization
The knee-shaped acceleration characteristics can be activated specific to the machine axis
via the machine data:
MD35240 $MA_ACCEL_TYPE_DRIVE = TRUE
The knee-shaped acceleration characteristic curve is parameterized for specific axes using
machine data:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT
(speed for reduced acceleration)
MD35230 $MA_ACCEL_REDUCTION_FACTOR (reduced acceleration)
MD32300 $MA_MAX_AX_ACCEL (Maximum axis acceleration)
MD35242 $MA_ACCEL_REDUCTION_TYPE
(type of acceleration reduction: 0 = constant, 1 = hyperbolic, 2 = linear)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
279
B2: Acceleration
5.2 Functions
5.2.19.5
Programming
Functionality
The knee-shaped characteristic curve is activated for path acceleration using the DRIVE partprogram instruction.
G group: 21
Effective: Modal
Reset response
The channel-specific default setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Dependencies
If the knee-shaped acceleration characteristic curve is parameterized for a machine axis, then
this becomes the default acceleration profile for all traversing operations.
If the effective acceleration profile is changed for a specific path section using the SOFT or
BRISK part-program instructions, then an appropriate substitute characteristic curve with lower
dynamic limit values is used in place of the knee-shaped acceleration characteristic curve.
The knee-shaped acceleration characteristic curve can be reactivated by reprogramming
DRIVE.
Functionality
The knee-shaped characteristic curve is activated for all single-axis interpolations (positioning
axis, reciprocating axis, etc.) for specific axes using the part-program command.
G group: Effectiveness: Modal
280
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
Axis:
Value range: Axis name of the channel axes
Reset behavior
The channel-specific default setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Dependencies
If the knee-shaped acceleration characteristic curve is parameterized for a machine axis, then
this becomes the default acceleration profile for all traversing operations.
If the effective acceleration profile is changed for a specific axis using the SOFTA or BRISKA
part-program commands, then an appropriate substitute characteristic curve is used in place
of the knee-shaped acceleration characteristic curve.
It is possible to switch back to the knee-shaped acceleration characteristic curve for a specific
axis by programming DRIVEA.
5.2.19.6
Boundary conditions
Path interpolation
If for a machine axis involved in a programmed path the knee-shaped acceleration
characteristic parameterized without the part program instruction DRIVE is active, then a
substitute characteristic curve with reduced dynamic limiting values is determined for the path.
Kinematic transformation
The knee-shaped acceleration characteristic is not considered in an active kinematic
transformation. With internal control, a switchover is done to acceleration without jerk limitation
(BRISK) and a substitute characteristic curve becomes active for the path acceleration.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
281
B2: Acceleration
5.2 Functions
5.2.20
5.2.20.1
Parameterization
282
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.2 Functions
With MD21166 = 0, the axis-specific limit value from MD32301 $MA_JOG_MAX_ACCEL is
effective instead of the channel-specific acceleration limitation.
Note
With MD21166 $MC_JOG_ACCEL_GEO [<geometry axis>], there is no direct limitation to
MD32300 $MA_MAX_AX_ACCEL.
Note
When a transformation is active, MD32300 $MA_MAX_AX_ACCEL determines the maximum
possible axial acceleration.
Maximum jerk when manually traversing geometry axes
The maximum jerk when manually traversing geometry axes in the SOFT acceleration mode
(acceleration with jerk limitation) can be specified for each channel via the machine data:
MD21168 $MC_JOG_JERK_GEO [<geometry axis>]
With <geometry axis> = 0, 1, 2
With MD21168 = 0, the axis-specific limit value from MD32436 $MA_JOG_MAX_JERK is
effective instead of the channel-specific jerk limitation.
Note
MD21168 $MC_JOG_JERK_GEO is only effective when the axial jerk limitation in JOG mode
has been enabled for the basic machine axes:
MD32420 $MA_JOG_AND_POS_JERK_ENABLE [<axis>] == TRUE
Maximum jerk when manually traversing orientation axes
The maximum jerk when manually traversing orientation axes can be specified for each
channel via the machine data:
MD21158 $MC_JOG_JERK_ORI [<orientation axis>]
For MD21158 to take effect, the channel-specific jerk limitation for the manual traversing of
orientation axes must be enabled via the following machine data:
MD21159 $MC_JOG_JERK_ORI_ENABLE == TRUE
Note
Orientation axes are not affected by the machine data MD32301 $MA_JOG_MAX_ACCEL and
MD32436 $MA_JOG_MAX_JERK.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
283
B2: Acceleration
5.2 Functions
5.2.20.2
Supplementary conditions
284
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.3 Examples
As with SOFTA, the part program instructions BRISKA and DRIVEA are also effective in JOG
mode, i.e. the acceleration is without jerk limitation, even when MD32420
$MA_JOG_AND_POS_JERK_ENABLE is set to "TRUE" for the relevant machine axes.
Note
The manual traversing of orientation axes is not affected by BRISKA/SOFTA/DRIVEA.
5.3
Examples
5.3.1
Acceleration
5.3.1.1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
285
B2: Acceleration
5.3 Examples
Path velocity characteristic
Y>PV@
$&B295
$&B295
W>PV@
1
1
Accelerate to 100% of path velocity (F10000) in accordance with acceleration default: ACC (N2200...)
2:
Brake to 10% of path velocity as a result of override modification ($AC_OVR) in accordance with real-time accel
eration $AC_PATHACC (N53/N54...)
3:
Accelerate to 100% of path velocity as a result of override modification ($AC_OVR) in accordance with real-time
acceleration $AC_PATHACC (N53/N55...)
4:
Brake to block end velocity for intermediate smoothing block in accordance with acceleration default: ACC (N2200...)
5:
6:
Accelerate to 100% of path velocity ($AC_OVR) in accordance with acceleration default: ACC (N2300...)
7:
Decelerate as a result of override modification at a rate of acceleration that is in accordance with real-time accel
eration $AC_PATHACC (N53/N54...)
8:
Accelerate to 100% of path velocity as a result of override modification ($AC_OVR) in accordance with real-time
acceleration $AC_PATHACC (N53/N55...)
9:
Intermediate block inserted within the control as a result of the programmed smoothing (RNDM) (N2200...)
Figure 5-13
Switching between path acceleration specified during preprocessing and real-time acceleration
5.3.2
Jerk
5.3.2.1
286
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.3 Examples
Program code
; Synchronized action:
interventions)
Y>PV@
295
295
1
295
W>PV@
1
51'0
51'0
2:
3:
4:
5:
Figure 5-14
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
287
B2: Acceleration
5.3 Examples
5.3.3
Comment
N100 G0 X0 Y0 Z0
; Rapid traverse
N110 G1 X10
; Straight line
Contour
\
1
1
1
Figure 5-15
288
1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.3 Examples
Velocity and acceleration characteristic
0'0$;B$;B$&&(/>;@
0'62)7B$&&(/B)$&725>;@
0'0$;B$&&(/B29/B)$&725>;@
0'0$;B$;B-(5.>;@
1
1
1
1
$[LVDFFHOHUDWLRQ
0'3$7+B75$16B-(5.B/,0>;@
$[LVYHORFLW\
Figure 5-16
5.3.4
5.3.4.1
Activation
The example illustrates how the knee-shaped acceleration characteristic curve is activated on
the basis of the machine data and a part program extract.
Machine data
Machine data
Value
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT[
X]
= 0.4
MD35230 $MA_ACCEL_REDUCTION_FACTOR[X]
= 0.85
MD35242 $MA_ACCEL_REDUCTION_TYPE[X]
=2
MD35240 $MA_ACCEL_TYPE_DRIVE[X]
= TRUE
MD35220
$MA_ACCEL_REDUCTION_SPEED_POINT[Y]
= 0.0
MD35230 $MA_ACCEL_REDUCTION_FACTOR[Y]
= 0.6
MD35242 $MA_ACCEL_REDUCTION_TYPE[Y]
=1
MD35240 $MA_ACCEL_TYPE_DRIVE[Y]
= TRUE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
289
B2: Acceleration
5.4 Data lists
Machine data
Value
MD35220
$MA_ACCEL_REDUCTION_SPEED_POINT[Z]
= 0.6
MD35230 $MA_ACCEL_REDUCTION_FACTOR[Z]
= 0.4
MD35242 $MA_ACCEL_REDUCTION_TYPE[Z]
=0
MD35240 $MA_ACCEL_TYPE_DRIVE[Z]
= FALSE
Comment
N15 Z20
N20 BRISK
; Switchover to BRISK
N30 Z100
N40 BRISKA(Z)
N45 DRIVEA(Z)
N55 BRISKA(X)
5.4
Data lists
5.4.1
Machine data
5.4.1.1
Number
Identifier: $MN_
Description
18960
POS_DYN_MODE
5.4.1.2
Number
Identifier: $MC_
Description
20150
GCODE_RESET_VALUES
20500
CONST_VELO_MIN_TIME
290
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
B2: Acceleration
5.4 Data lists
Number
Identifier: $MC_
Description
20600
MAX_PATH_JERK
20602
CURV_EFFECT_ON_PATH_ACCEL
20610
ADD_MOVE_ACCEL_RESERVE
21158
JOG_JERK_ORI
21159
JOG_JERK_ORI_ENABLE
21166
JOG_ACCEL_GEO
21168
JOG_JERK_GEO
5.4.1.3
Number
Identifier: $MA_
Description
32000
MAX_AX_VELO
32300
MAX_AX_ACCEL
32301
JOG_MAX_ACCEL
32310
MAX_ACCEL_OVL_FACTOR
32320
DYN_LIMIT_RESET_MASK
32400
AX_JERK_ENABLE
32402
AX_JERK_MODE
32410
AX_JERK_TIME
32420
JOG_AND_POS_JERK_ENABLE
32430
JOG_AND_POS_MAX_JERK
32431
MAX_AX_JERK
32432
PATH_TRANS_JERK_LIM
32433
SOFT_ACCEL_FACTOR
32434
G00_ACCEL_FACTOR
32435
G00_JERK_FACTOR
32436
JOG_MAX_JERK
32437
AX_JERK_VEL0
32438
AX_JERK_VEL1
32439
MAX_AX_JERK_FACTOR
35220
ACCEL_REDUCTION_SPEED_POINT
35230
ACCEL_REDUCTION_FACTOR
Reduced acceleration
35240
ACCEL_TYPE_DRIVE
35242
ACCEL_REDUCTION_TYPE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
291
B2: Acceleration
5.4 Data lists
5.4.2
Setting data
5.4.2.1
Number
Identifier: $SC_
Description
42500
SD_MAX_PATH_ACCEL
42502
IS_SD_MAX_PATH_ACCEL
42510
SD_MAX_PATH_JERK
42512
IS_SD_MAX_PATH_JERK
5.4.3
System variables
Identifier
Description
$AC_PATHACC
$AC_PATHJERK
292
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Brief description
Function
With the "Travel to fixed stop" function, moving machine parts, e.g. tailstock or sleeve, can be
traversed so that they can apply a defined torque or force with respect to other machine parts
over any time period.
Characteristics
Programmability using commands in the part program or synchronized action:
Activating and deactivating the "Travel to fixed stop" function
Setting the clamping torque
Setting the monitoring window
Manual intervention option using setting data:
Activating and deactivating the "Travel to fixed stop" function
Setting the clamping torque
Setting the monitoring window
Presettings using machine data
Clamping torque
Monitoring window
Identifying the function status via NC/PLC interface signals
Enable or acknowledgment options via NC/PLC interface signals
Reading the reference and actual status of the function via system variable
"Travel to fixed stop" is possible for axes and spindles.
"Travel to fixed stop" is possible simultaneously for several axes and parallel to the
traversing of other axes.
Multi-channel block search can be performed with calculation of all the required additional
data (SERUPRO).
Simulated axis traversal in conjunction with "travel to fixed stop" and "torque reduction"
possible.
"Vertical" axes can also be moved with FXS to a fixed stop.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
293
6.2
Detailed description
6.2.1
Programming
Function
Travel to fixed stop
The "Travel to fixed stop" function is controlled via the FXS, FXST and FXSW commands.
The activation can also be performed without traversing motion of the relevant axis. The torque
is immediately limited. The fixed stop is monitored as soon as the axis is traversed.
Note
Synchronized actions
The "Travel to fixed stop" function can also be controlled via synchronized actions.
References:
Function Manual, Synchronized Actions
Travel with limited torque/force
Travel with limited torque/force can be controlled via the FOCON, FOCOF and FOC commands
(see Section "Travel with limited torque/force FOC (Page 311)").
Syntax
FXS[<axis>]=<request>
FXST[<axis>]=<clamping torque>
FXSW[<axis>] = <window width>
Meaning
Parameter
Meaning
FXS:
<Request>:
FXST:
<Clamping torque>:
294
FXSW:
<Window width>:
<axis>:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value Meaning
Supplementary conditions
The traversing motion to the fixed stop can be programmed as a path- or block-related or
modal positioning axis motion.
Travel to fixed stop can be be selected for several machine axes simultaneously.
For a machine axis, which is traversed to a fixed stop, it is not permissible that
transformation, coupling and frame functions are active:
The travel path and the activation of the function must be programmed in one block in the
part program.
If "Travel to fixed stop" is activated via synchronized actions, the travel path and the
activation of the function can be programmed in separate blocks.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
295
6.2.2
Functional sequence
6.2.2.1
Selection
$FWXDOSRVLWLRQDIWHUWUDYHOWR
IL[HGVWRS
3URJUHQG
SRVLWLRQ
Figure 6-1
)L[HGVWRS
6WDUWSRVLWLRQ
PRQLWRULQJZLQGRZ
Procedure
The NC detects that the function "Travel to fixed stop" is selected via the command
FXS[x]=1 and signals the PLC using the IS DB31, ... DBX62.4 ("Activate travel to fixed stop")
that the function has been selected.
If the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK (monitoring PLC acknowledgements for travel
to fixed stop)
is set correspondingly, the system waits for the acknowledgement of the PLC using the IS
DB31, ... DBX3.1 ("Enable travel to fixed stop").
The programmed target position is then approached from the start position at the programmed
velocity. The fixed stop must be located between the start and target positions of the axis/
spindle. A programmed torque limit (clamping torque specified via FXST[<axis>]) is effective
from the start of the block, i.e. the fixed stop is also approached with reduced torque. Allowance
for this limitation is made in the NC through an automatic reduction in the acceleration rate.
If no torque has been programmed in the block or since the start of the program, then the value
is valid in the axis-specific machine data:
MD37010 $MA_FIXED_STOP_TORQUE_DEF (default for fixed stop clamping torque)
is entered.
296
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
6.2.2.2
Meaning
The fixed stop has been reached when the contour deviation of the machine axis has ex
ceeded the value set in the machine data:
MD37030 $MA_FIXED_STOP_THRESHOLD (threshold for fixed stop detection)
An external sensor detects when the fixed stop has been reached and informs the control
via the following axial NC/PLC interface signal:
DB31, ... DBX1.2 == 1 (sensor for fixed stop)
The fixed stop has been reached, if one of the conditions, specified under <value> == 0
OR <value> == 1 applies.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
297
Monitoring window
If, in the traversing block to the fixed stop or since the beginning of the program, no specific
value for the monitoring window is programmed with FXSW then the value set in the machine
data is active:
MD37020 $MA_FIXED_STOP_WINDOW_DEF (default for fixed stop monitoring window)
If the axis leaves the position it was in when the fixed stop was detected by more than the
specified window, then alarm 20093 "Fixed stop monitoring has responded" is displayed and
the "Travel to fixed stop" function is deselected.
The monitoring window must be selected by the user such that the alarm is activated only
when the axis leaves the fixed stop position.
NOTICE
"Fixed stop reached" and when the fixed stop breaks
As soon as the "fixed stop reached" state is identified, then a speed setpoint derived from the
axis-specific machine data servo gain factor (KV) (MD32200) and the threshold for the fixed
stop detection (MD37030) is entered for the drive. If the fixed stop breaks in this state, then
the axis accelerates until it reaches the monitoring window limit. The velocity that is then
reached is proportional to the values set in the specified machine data. For appropriately high
values, it is possible that the drive accelerates up to the maximum motor speed.
Overview
0'0$B),;('B6723B7+5(6+2/'
)ROORZLQJHUURU
'%'%;
DFWLYDWLQJWUDYHOWRIL[HGVWRS
'%'%;
IL[HGVWRSUHDFKHG
%ORFNFKDQJH
9$B);6
Figure 6-2
298
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
6.2.2.3
Alarm suppression
Alarms for various causes of breakage can be suppressed using the machine data:
MD37050 $MA_FIXED_STOP_ALARM_MASK = <value>
Value
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
299
Overview
)ROORZLQJHUURU
'%'%;
DFWLYDWLQJWUDYHOWRIL[HGVWRS
'%'%;
IL[HGVWRSUHDFKHG
%ORFNFKDQJH
9$B);6
Figure 6-3
6.2.2.4
Deselection
The "travel to fixed stop" function is deselected using the command FXS[<axis>] = 0 in a
block of an NC program.
300
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Pulse enable
The pulse enable or pulse inhibit can be canceled via:
Drive: Via terminal EP (enable pulses)
NC/PLC interface signal: DB31, ... DBX21.7 ("pulse enable")
The behavior at the fixed stop can be set via the following machine data:
MD37002 $MA_FIXED_STOP_CONTROL, bit 0 and bit 1 (sequence control for traversing to
fix stop)
Bit
0
Val
ue
Meaning
The torque is linearly ramped-up over the time specified in the machine data:
MD37012 $MA_FIXED_STOP_TORQUE_RAMP_TIME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
301
Overview
)ROORZLQJHUURU
'%'%;
DFWLYDWLQJWUDYHOWRIL[HGVWRS
'%'%;
IL[HGVWRSUHDFKHG
%ORFNFKDQJH
9$B);6
Figure 6-4
6.2.3
Function
Block search with calculation
If the target block is located in a program section in which the axis must stop at a fixed limit,
then the fixed stop is approached if it has not yet been reached.
If the target block is located in the program section in which the axis must not stop at a fixed
limit, then the axis leaves the fixed stop if it is still positioned there.
If the axis is in the "Fixed stop reached" state, message 10208 "Press NC start to continue
the program" is displayed. The program can be continued with NC start.
Clamping torque FXST and monitoring window FXSW have the value that they have for
normal program processing at the start of the target block.
Block search without calculation
The commands FXS, FXST and FXSW are ignored during the block search.
302
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
System variable
The reference and actual state of the "travel to fixed stop" function can be read using the
following system variable:
$AA_FXS (reference state)
$VA_FXS (actual state)
SERUPRO: $AA_FXS (reference state)
During SERUPRO, $AA_FXS supplies the following values depending on the activation status
of the "Travel to fixed stop" function:
Activation status of the "travel to fixed stop" func System variable $AA_FXS ==
tion
"Deactivated"
"Activated"
Note
During SERUPRO, the system variable $AA_FXS only supplies the values 0 and 3. As a result,
based on $AA_FXS, the program sequence can be changed with SERUPRO compared to the
normal program execution for program branches.
SERUPRO: $VA_FXS (actual state)
During SERUPRO, the variable $VA_FXS always supplies the real state of axis on the machine.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
303
Comment
N1020 REPOSA
304
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Deactivating FXS-REPOS
FXS-REPOS is deactivated by:
An FXS synchronized action which refers to REPOSA
$AA_FXS[X] = $VA_FXS[X] in the SERUPRO_ASUB
Note
A SERUPRO ASUB without FXS treatment or no SERUPRO ASUB results automatically
in FXS-REPOS.
CAUTION
Speed too high for FXS-REPOS
FXS-REPOS traverse all path axes together to the target position. Axes with and without
FXS treatment thus traverse together with the G code and feedrate valid in the target block.
As a result, the fixed stop may be approached in rapid traverse(G0) or higher velocity.
FOC-REPOS
FOC-REPOS behaves in the same way as FXS-REPOS.
A changing torque characteristic during the program preprocessing cannot be implemented
with FOC-REPOS.
Example
Axis X is traversed from position 0 to 100. FOC is switched on every 20 millimeters for 10
millimeters. The resulting torque characteristic is generated with non-modal FOC and cannot
be traced by FOC-REPOS. Axis X is traversed by FOC-REPOS with or without FOC in
accordance with the last programming before the target block.
For programming examples of FXS "Travel to fixed stop", see Section "Program test
(Page 471)".
6.2.4
NC reset
As long as the function is still not in the "Successful travel to fixed stop" state, the travel to
fixed stop can be aborted with NC reset.
Even when the fixed stop has already has been approached, but the specified stop torque not
yet fully reached, then the function can still be aborted with NC reset. The position setpoint of
the axis is synchronized with the current actual position.
As soon as the function is in the "Successful travel to fixed stop" state, the function also remains
active after the NC reset.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
305
Function abort
A function abort can be triggered by the following events:
Emergency stop
CAUTION
Dangerous machine situations possible for travel to limit stop
It must be ensured that no dangerous machine situations occur while travel to fixed stop
is active when an "Emergency stop" is triggered or reset.
For example, behavior when setting and canceling the pulse enable:
MD37002 $MA_FIXED_STOP_CONTROL, bit 0 (behavior for pulse disable at the stop)
Bit 0 = 0: Travel to fixed stop is aborted
Bit 0 = 1: Travel to fixed stop is interrupted, i.e. the drive is without power
Once the pulse disable is canceled again, the drive presses with the stop torque again.
Note
NC and drive have no power during "Emergency stop", i.e. the PLC must react.
Functional state: "Fixed stop not reached"
Functional state: "Fixed stop aborted"
Aborted by the PLC user program:
DB31, ... DBX62.4 = 0 ("Activate travel to fixed stop")
Cancellation of the pulse enable and machine data parameterization:
MD37002 $MA_FIXED_STOP_CONTROL, bit 0 = 0 (see above)
6.2.5
306
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
6.2.6
Setting data
The values programmed via the function-specific FXS, FXST and FXSW commands are written
block-synchronously to the following, immediately effective, axis-specific setting data:
Switching the function on/off
SD43500 $SA_FIXED_STOP_SWITCH (selection/deselection of travel to fixed stop)
Clamping torque
SD43510 $SA_FIXED_STOP_TORQUE (clamping torque)
Note
Clamping torque greater than 100%
A value for the clamping torque in SD43510 greater than 100% of the maximum motor torque
is only advisable for a short time. In addition, the maximum motor torque is limited by the drive.
For example, the following drive parameters have a limiting effect:
p1520/p1521 upper torque limit/force limit / lower torque limit/force limit
p1522/p1523 upper torque limit/force limit / lower torque limit/force limit
p1530/p1531 power limit, motoring / power limit, regenerating
p0640 current limit
p0326 motor stall force correction factor
Detailed information on the drive parameters and the functions can be found in:
References
SINAMICS S120/S150 List Manual
SINAMICS S120 Function Manual
Monitoring window
SD43520 $SA_FIXED_STOP_WINDOW (monitoring window)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
307
Default setting
The defaults for the setting data are set via the following machine data:
Clamping torque:
MD37010 $MA_FIXED_STOP_TORQUE_DEF (default clamping torque)
Monitoring window:
MD37020 $MA_FIXED_STOP_WINDOW_DEF (default monitoring window)
Effectiveness
The setting data for the clamping torque and monitoring window takes effect immediately. In
this way, the clamping state can be adapted to the machining situation at any time by the
operator or via the PLC user program.
References
Further detailed information on the machine and setting data can be found in:
List Manual, Detailed Machine Data Description
See also
Z1: NC/PLC interface signals (Page 1551)
6.2.7
System variables
Reference/actual state
The reference and actual state of the "travel to fixed stop" function can be read using the
following system variables:
$AA_FXS = <value> (status, "Travel to fixed stop" reference state)
$VA_FXS = <value> (status, "Travel to fixed stop" actual state)
<val
ue>
308
Description
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
PLC has withdrawn the enable, DB31, ... DBX3.1 == 0 (travel to fixed stop enabled)
Comment
R100=$AA_IM[X1]
IF R100 ...
; Evaluation of the
...
; actual position
GOTOF PROG_END
FXS_ERROR:
CASE($VA_FXS_INFO[X1]) OF 0 GOTOF LABEL_0 OF 1 GOTOF LABEL_1 ...
LABEL_0: ...
GOTOF CASE_END
LABEL_1: ...
GOTOF CASE_END
...
CASE_END:
...
PROG_END: M30
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
309
6.2.8
Alarms
Alarm 20091 "Fixed stop not reached"
If the fixed stop position is not reached during travel to fixed stop, alarm 20091 "Fixed stop not
reached" is displayed and a block change executed.
Alarm 20092 "Travel to fixed stop is still active"
If there is a travel request or renewed function selection for the axis after the fixed stop has
been reached, alarm 20092 "Travel to fixed stop is still active" is displayed.
Alarm 20093 "Standstill monitoring at fixed stop has triggered"
If an axis has reached the fixed stop and is then moved out of this position by more than the
value specified in the setting data
SD43520 FIXED_STOP_WINDOW (fixed stop monitoring window)
alarm 20093 "Standstill monitoring at fixed stop has triggered" is displayed, travel to fixed stop
for this axis is deselected and the following system variable set:
$AA_FXS[x] = 2
Alarm 20094 "Function has been aborted"
The travel to fixed stop is aborted if the clamping torque can no longer be applied due to the
cancellation of the pulse enable, or the requested acknowledgement signal at the NC/PLC
interface has been reset:
Acknowledgement signal required: MD37060 $MA_FIXED _STOP_ACKN_MASK, bit 0 = 1
Acknowledgement signal: DB31, ... DBX3.1 == 0 (enable travel to fixed stop)
310
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
6.2.9
Function
Using the "Force Control" function to traverse with limited torque/force, when traversing, the
maximum permissible torque/force can be limited to a percentage of the maximum possible
axis torque. The limit value can be changed at any time, also while the axis is traversing. The
changes can be realized in the interpolator clock cycle, dependent on distance, time or on any
other variable. The "Force Control" function can also be programmed in synchronized actions.
The function can be permanently activated, or block related.
Programming
Syntax
FOCON[<axis>]
FOCOF[<axis>]
FOC[<axis>]
Meaning
Parameter
Meaning
FOCON:
FOCOF:
FOC:
<axis>:
Example
Program code
Comment
N10 FOCON[X]
N40 FOCOF[X]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
311
Parameterization
Machine data
MD37010 $MA_FIXED_STOP_TORQUE_DEF (default for fixed stop clamping torque)
The value specified in the machine data is effective after activating the function, as long as
no explicit value is programmed using FXST.
MD36042 $MA_FOC_STANDSTILL_DELAY_TIME (delay time standstill monitoring for
active torque/force limiting)
Value
0
1
Meaning
If a limiting torque or force is programmed using FXST = <value> before activation, then
this is effective from activation onwards.
If a limiting torque or force was not programmed using FXST = <value> before activation,
then the value specified in the machine data is effective as standard.
MD37010 $MA_FIXED_STOP_TORQUE_DEF (default for fixed stop clamping torque)
System variable
Status of the "Force Control" function
The status of the "Force Control" function can be read using system variable $AA_FOC.
312
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
Meaning
Restrictions
the "Force Control" function has the following restrictions:
The change of the torque/force limitation representing itself as an acceleration limitation is
only taken into account in the traversing movement at block limits (see command ACC).
Only FOC: No monitoring is possible from the NC/PLC interface to check that the active
torque limit has been reached.
If the acceleration limitation is not adapted accordingly, an increase in the following error
occurs during the traversing motion.
If the acceleration limitation is not adapted accordingly, the end-of-block position is possibly
reached later than specified in:
MD36040 $MA_STANDSTILL_DELAY_TIME.
The machine data:
MD36042 $MA_FOC_STANDSTILL_DELAY_TIME
is introduced for this and monitored in this status.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
313
6.3
Examples
Comment
(($R1==1) AND
($AA_FXS[Y]==0)) DO
$R1=0 FXS[Y]=1
FXST[Y]=10
FA[Y]=200
POS[Y]=150
; Positioning movement Y
($AA_FXS[Y]==4) DO
FXST[Y]=30
; Limit torque:
($AA_FXS[Y]==1) DO
FXST[Y]=$R0
(($R3==1) AND
($AA_FXS[Y]==1)) DO
FXS[Y]=0
; Deselect FXS
FA[Y]=1000 POS[Y]=0
; Positioning movement Y
30%
...
N60 GET(Y)
...
Note
Avoidance of multiple selection for FXS
To avoid a multiple selection, we recommend that prior to activating FXS, query either the
$AA_FXS==0 system variable or a user-specific flag. See above, program example N10
314
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N10 G0 G90 X0
; Starting position
Note
A block-related synchronized action is processed in the following main program block.
6.4
Data lists
6.4.1
Machine data
6.4.1.1
Number
Identifier: $MA_
Description
36042
FOC_STANDSTILL_DELAY_TIME
37000
FIXED_STOP_MODE
37002
FIXED_STOP_CONTROL
37010
FIXED_STOP_TORQUE_DEF
37012
FIXED_STOP_TORQUE_RAMP_TIME
37020
FIXED_STOP_WINDOW_DEF
37030
FIXED_STOP_THRESHOLD
37040
FIXED_STOP_BY_SENSOR
37050
FIXED_STOP_ALARM_MASK
37052
FIXED_STOP_ALARM_REACTION
37060
FIXED_STOP_ACKN_MASK
37070
FIXED_STOP_ANA_TORQUE
37080
FOC_ACTIVATION_MODE.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
315
6.4.2
Setting data
6.4.2.1
Number
Identifier: $SA_
Description
43500
FIXED_STOP_SWITCH
43510
FIXED_STOP_WINDOW
43520
FIXED_STOP_TORQUE
6.4.3
Signals
6.4.3.1
Signals to axis/spindle
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB380x.DBX1.1
DB380x.DBX1.2
Axis/spindle disable
DB380x.DBX1.3
Controller enable
DB31, .DBX2.1
DB380x.DBX2.1
DB31, .DBX3.1
DB380x.DBX3.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB390x.DBX2.4
DB390x.DBX2.5
6.4.3.2
316
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Brief description
The description of functions explains how to parameterize a machine axis in relation to:
Actual-value/measuring systems
Setpoint system
Operating accuracy
Travel ranges
Axis velocities
Control parameters
7.2
7.2.1
Velocities
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
317
Example:
Interpolation cycle = 12 ms
N10 G0 X0 Y0; [mm]
N20 G0 X100 Y100; [mm]
Path length programmed in block = 141.42 mm
Vmax = (141.42 mm/12 ms) * 0.9 = 10606.6 mm/s = 636.39 m/min
&RPSXWDWLRQDOUHVROXWLRQ>
,QFU
@
LQWHUSRODWLRQF\FOH>V@
PPRUGHJUHHV
Example:
MD10200 $MN_INT_INCR_PER_MM = 1000 [incr. /mm];
Interpolation cycle = 12 ms;
Vmin = 10 -3/(1000 incr/mm x 12 ms) = 0.005 mm/min;
The value range of the feedrates depends on the computational resolution selected.
For the standard assignment of machine data:
MD10200 $MN_INT_INCR_PER_MM
(computational resolution for linear positions) (1000 incr./mm)
or
MD10210 $MN_INT_INCR_PER_DEG
(computational resolution for angular positions) (1000 incr./deg.)
The following value range can be programmed with the specified resolution:
Range of values for path feed F and geometry axes:
Metric system:
Inch system:
0.001 F 999,999.999
318
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Inch system:
0.001 FA 999,999.999
0.001 FA 399,999.999
[inch/min, inch/rev]
7.2.2
Traversing ranges
Range
Range
999,999.999
399,999.999
999,999.999
999,999.999
Interpolation parameters I, J, K
999,999.999
399,999.999
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
319
7.2.3
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP
7.2.4
(1&B5(62/>Q@
(1&B38/6(B08/7>Q@
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B180(5$>Q@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
Resolutions: Differences
Resolutions, e.g. resolutions of linear and angular positions, velocities, accelerations and jerk,
must be differentiated as follows:
Input resolution
Data is input via the control panel or part programs.
Display resolution
Data is displayed via the control panel.
Computational resolution
Data input via the control panel or part program is displayed internally.
320
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Example of rounding:
Computational resolution: 1000 incr./mm
Programmed path: 97.3786 mm
Effective value: 97.379 mm
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
321
Comment
7.2.5
Input/output units
Machine and setting data with a physical unit are interpreted in the input/output units stated
below depending on whether the metric or inch system is selected:
Physical unit
Linear position
Inch
1 mm
1 inch
Angular position
1 degree
1 degree
Linear velocity
1 mm/min
1 inch/min
Angular velocity
1 rpm
1 rpm
Linear acceleration
1 m/s
1 inch/s2
s2
1 rev./
1 rev./s2
Angular acceleration
Linear jerk
Angular jerk
Time
Position controller servo gain
Revolutional feedrate
Compensation value linear position
Compensation value angular position
1 m/s3
1 inch/s3
1 rev./s3
1 rev./s3
1s
1s
1/s
1/s
1 mm/rev
inch/rev
1 mm
1 inch
1 degree
1 degree
Internally in the control, the following units are used, whatever basic system is selected:
Physical unit
Linear position
Angular position
Linear velocity
1 mm
1 degree
1 mm/s
Angular velocity
1 deg./s
Linear acceleration
1 mm/s2
Angular acceleration
Linear jerk
Angular jerk
322
Unit
1 degree/s2
1 mm/s3
1 degree/s3
Time
1s
1/s
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Unit
Revolutional feedrate
1 mm/degree
1 mm
1 degree
The user can define different input/output units for machine and setting data. This also requires
an adjustment between the newly selected input/output units and the internal units via the
following machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
MD10230 $MN_SCALING_FACTORS_USER_DEF[n]
,QSXWRXWSXWXQLWVIRUPDFKLQH
DQGVHWWLQJGDWD
'RWKHLQSXW
RXWSXWXQLWV
FRUUHVSRQGWRWKH
VWDQGDUGEDVLFV\VWHP"
<HV
1R
8VHUGHILQHG
0'6&$/,1*B)$&7256B86(5B'()>Q@
0'6&$/,1*B)$&7256B86(5B'()B0$6.
)RUPDWFRQYHUVLRQ
,QWHUQDOXQLWV
Example 1:
Machine data input/output of the linear velocities is to be in m/min instead of mm/min (initial
state).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
323
The scaling factor for the linear velocities is to differ from the standard setting. For this,
in machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
bit number 2 must be set.
MD10220 $MN_SCALING_USER_DEF_MASK = 'H4'; (bit no. 2 as hex value)
The scaling factor for the linear velocities is to differ from the standard setting. For this,
in machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
bit number 2 must be set.
MD10220 $MN_SCALING_USER_DEF_MASK = 'H4'; (bit no. 2 as hex value)
0'6&$/,1*B)$&7256B86(5B'()>Q@
P
PLQ
0'6&$/,1*B)$&7256B86(5B'()>Q@
PP
V
0'6&$/,1*B)$&7256B86(5B'()>Q@
PP
V
PP
V
Index n defines the "linear velocity" in the "Scaling factors of physical quantities" list.
Example 2:
In addition to the change in Example 1, the machine data input/output of linear accelerations
must be in ft/s2 instead of m/s2 (initial state).
(The internal unit is mm/s2.)
0'6&$/,1*B86(5B'()B0$6.
+ %LW1RDQG%LW1RIURPH[DPSOH
DVKH[YDOXH
0'6&$/,1*B)$&7256B86(5B'()>@
IW
V
PP
V
0'6&$/,1*B)$&7256B86(5B'()>@
PP
V
PP
V
Index 4 defines the "linear acceleration" in the "Scaling factors of physical quantities" list.
324
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.3
7.3.1
Comment
N100 G71
....
; Metric machining
N200 G70
...
; Machining in inches
N300
...
; Metric machining
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
325
G functions G700/G710
The G functions G700/G710 extend the functionality of G70/G71 as follows:
1. The feedrate is interpreted in the programmed system of units:
G700: length parameters [inch]; feedrates [inch/min]
G710: length parameters [mm]; feedrates [mm/min]
The programmed feedrate is modal and therefore remains active after subsequent G70/G71/
G700/G710 commands. If the feedrate is to apply in the new G70/G71/G700/G710 context,
it must be re-programmed.
2. System variables and machine data specifying lengths in the part program are read and
written in the programmed system of units.
Differences during the reading and writing of machine data and system variables
The following differences exist between G70/G71 and G700/G710 in terms of reading and
writing machine data and system variables in the part program:
G70/G71: Reading and writing takes place in the configured basic system.
G700/G710: Reading and writing is performed in the configured system of units.
Example
The following part program is executed with an initial metric state:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC = 1
Program code
Comment
N130 $MA_LUBRICATION_DIST[X]=10
N160
326
R1=1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N170 ENDIF
N180 IF ($AA_IW[X] > 10)
N190
R2=1
N200 ENDIF
N210 IF ( (R1+R2) = 1 )
N220
SETAL(61000)
N230 ENDIF
N240 M30
N120: if G70 is replaced by G700, alarm 61000 (N220) does not occur.
Synchronized actions
To ensure, in the case of synchronized actions, that the current part program context does not
determine the system of units used in the condition and/or action part, the system of units must
be defined within the synchronized action (condition and/or action parts). This is the only way
of achieving defined, reproducible behavior in the use of length-related data within a
synchronized action.
Example 1
The system of units is not specified within the synchronized action. The X axis is therefore
traversed in the system of units of the parameterized initial setting:
Program code
Comment
N100 R1=0
N110 G0 X0 Z0
N120 WAITP(X)
N130 ID=1 WHENEVER $R1==1 DO POS[X]=10
N140 R1=1
N150 G71 Z10 F10
; Z = 10 mm, X = 10 mm
; Z = 10 inch, X = 10 inch
; Z = 10 mm, X = 10 mm
N180 M30
Example 2
The "metric" system of units is explicitly programmed with G71 within the synchronized action.
This means the traversing motion of the X axis takes place in the metric measuring system:
Program code
Comment
N100 R1=0
N110 G0 X0 Z0
N120 WAITP(X)
N130 ID=1 WHENEVER $R1==1 DO G71 POS[X]=10
N140 R1=1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
327
Comment
; Z = 10 mm, X = 10 mm
; Z = 10 inch, X = 10 mm
; Z = 10 mm, X = 10 mm
N180 M30
Reading and writing of data in the case of G70/G71 and G700/G710 in the part program
Data area
G70 / G71
G700 / G710
Read
Write
Read
Write
Feedrates
Positional data X, Y, Z
Interpolation parameters I, J, K
Thread pitch
Programmable FRAME
Settable FRAMES
Basic frames
Protection zones
Tool offsets
GUD
LUD
PUD
R parameters
Siemens cycles
Note
Read position data in synchronized actions
If a system of units has not been explicitly programmed in the synchronized action (condition
component and/or action component) length-related position data in the synchronized action
will always be read in the parameterized basic system.
328
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.3.2
General
The control system can operate with the metric or inch system. The initial setting of the system
of units (basic system) is defined in the following machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC (basic system metric).
Depending on the basic system, all length-related data is interpreted either as metric or inch
measurements.
The relevant softkey on the HMI in the "Machine" operating area is used to change the system
of units of the controller.
The system of units is only switched over under the following supplementary conditions:
MD10260 $MN_CONVERT_SCALING_SYSTEM=1
MD20110 $MC_RESET_MODE_MASK, bit 0 is set in every channel.
All channels are in the Reset state.
Axes do not currently traverse with JOG, DRF, or PLC.
Constant grinding wheel peripheral speed (GWPS) is not active.
Actions such as part program start or mode change are disabled while the system of units is
being switched over.
The actual change in the system of units is made by writing all the necessary machine data
and subsequently activating them.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
329
System data
When the system of units is switched over, from the user's viewpoint, all length-related
specifications are converted to the new system of units automatically.
This includes:
Positions
Feedrates
Accelerations
Jerk
Tool offsets
Programmable, settable and external zero offsets and DRF offsets
Compensation values
Protection zones
Machine data
Jog and handwheel factors
After the changeover, all of the above data is available in physical quantities.
330
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Reference point
The reference point is retained. It is not necessary to repeat referencing.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
331
Data backup
Individual data sets that are read from the control and contain data affected by the system of
units, are assigned an identifier during reading that indicates the current setting for the system
of units:
MD10260 $MN_CONVERT_SCALING_SYSTEM
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
332
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.3.3
Programming
It should be possible to program the effective machining feedrate in the usual way as a path
feedrate via the F value in processing procedures where the tool, the workpiece or both are
moved by a rotary axis (e.g. laser machining of rotating tubes).
In order to achieve this, it is necessary to specify an effective radius (reference radius) for each
of the rotary axes involved. You can do this by programming the modal NC address:
FGREF[<rotary axis>]=<reference radius>
The unit of the reference radius depends on the G70/G71/G700/G710 setting.
In order to include the axes in the calculation of the path feedrate, they must all be specified
in the FGROUP command.
In order to ensure compatibility with the behavior with no FGREF programming, the evaluation
1 degree = 1 mm is activated on system powerup and RESET.
This corresponds to a reference radius of:
FGREF = 360 mm / (2) = 57.296 mm
This default is independent of the active basic system
(MD10240 $MN_SCALING_SYSTEM_IS_METRIC) and the currently active G70/G71/G700/
G710 setting.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
333
The programmed F value in block N110 is evaluated as a rotary axis feedrate in degrees/min,
while the feedrate weighting in block N120 is either 100 inch/min or 100 mm/min, depending
on the current inch/metric setting.
NOTICE
Different systems of units
The FGREF factor also works if only rotary axes are programmed in the block. The normal F
value interpretation as degree/min applies in this case only if the radius reference corresponds
to the FGREF default:
For G71/G710: FGREF[A]=57.296
For G70/G700: FGREF[A]=57.296/25.4
Example
The following example is intended to demonstrate the effect of FGROUP on the path and path
feedrate. The variable $AC_TIME contains the time of the block start in seconds. It can only
be used in synchronized actions.
Program code
Comment
N100 G0 X0 A0
N110 FGROUP(X,A)
N120 G91 G1 G710 F100
N130 DO $R1=$AC_TIME
N140 X10
N150 DO $R2=$AC_TIME
N160 X10 A10
N170 DO $R3=$AC_TIME
N180 A10
N190 DO $R4=$AC_TIME
N200 X0.001 A10
N220 DO $R5=$AC_TIME
N230 X10
N240 DO $R6=$AC_TIME
N250 X10 A10
334
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N260 DO $R7=$AC_TIME
N270 A10
N280 DO $R8=$AC_TIME
N290 X0.001 A10
N300 FGREF[A]=360/(2*$PI)
N310 DO $R9=$AC_TIME
N320 X0.001 A10
N330 M30
Diagnostics
Read reference radius
The value of the reference radius of a rotary axis can be read using system variables:
For the display in the user interface, in synchronized actions or with a preprocessing stop
in the part program via the system variable:
$AA_FGREF[<axis>]
Without preprocessing stop in the part program via the system variable:
$PA_FGREF[<axis>]
Programmed value
$AC_FGROUP_MASK
Returns the value "1" if the specified axis affects the path
velocity in the current main run record by means of the
basic setting or through FGROUP programming. Otherwise,
the variable returns the value "0".
Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
335
$PA_FGROUP[<axis>]
Returns the value "1" if the specified axis affects the path
velocity by means of the basic setting or through FGROUP
programming. Otherwise, the variable returns the value "0".
Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
$P_FGROUP_MASK
7.4
Setpoint/actual-value system
7.4.1
General
Control loop
A control loop with the following structure can be configured for every closed-loop controlled
axis/spindle:
&ORVHG
ORRS
FRQWURO
6SHHGVHWSRLQW
RXWSXW
,)&SRVLWLRQ
PHDVXULQJ
V\VWHP
$FWXDOYDOXH
SURFHVVLQJ
180B(1&6
$FWXDOYDOXH
SURFHVVLQJ
Figure 7-1
6SHHG
VHWSRLQW
URXWLQJ
0RWRU
&75/287B7<3( 6,08/$7,21
(1&B7<3( 6,08/$7,21
*
(QFRGHU
$FWXDO
YDOXH
URXWLQJ
*
(QFRGHU
Setpoint output
A setpoint telegram can be output for each axis/spindle. The setpoint output to the actuator is
realized from the SINUMERIK 840D sl.
336
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Actual-value acquisition
A maximum of two measuring systems can be connected for each axis/spindle, e.g. a direct
measuring system for machining processes with high accuracy requirements and an indirect
measuring system for high-speed positioning tasks.
The number of encoders used is recorded in the machine data:
MD30200 $MA_NUM_ENCS (number of encoders)
In the case of two actual-value branches, the actual value is acquired for both branches.
The active measuring system is always used for position control, absolute value calculation
and display. If both measuring systems are activated at the same time by the PLC interface,
positioning measuring system 1 is chosen internally by the controller.
Reference point approach is executed by the selected measuring system.
Each position measuring system must be referenced separately.
For an explanation of encoder monitoring, see Section "A3: Axis Monitoring, Protection
Zones (Page 79)".
For an explanation of actual-value acquisition compensation functions, see:
References:
Function Manual, Extended Functions; Compensations (K3)
Monitoring
The permissible deviation between the actual values of the two measuring systems is to be
entered in the machine data:
MD36510 $MA_ENC_DIFF_TOL
For the cyclic comparison of the two measuring systems used, this difference must not be
exceeded, as otherwise Alarm 25105 "Measuring systems deviate" is generated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
337
Simulation axes
The speed control loop of an axis can be simulated for test purposes.
The axis "traverses" with a following error, similar to a real axis.
A simulation axis is defined by setting the two following machine data to "0":
MD30130 $MA_CTRLOUT_TYPE[n] (output value of setpoint)
MD30240 $MA_ENC_TYPE[n] (type of actual-value acquisition)
As soon as the standard machine data has been loaded, the axes become simulation axes.
The setpoint and actual value can be set to the reference point value with reference point
approach.
The machine data:
MD30350 $MA_SIMU_AX_VDI_OUTPUT (output of axis signals with simulation axes)
can be used to define whether the axis-specific interface signals are to be output on the PLC
during the simulation.
Actual-value correction
If actual-value corrections performed by the NC on the encoder selected for position control
do not influence the actual value of another encoder defined in the same axis, then this encoder
is to be declared as "independent" via the following machine data:
MD30242 $MA_ENC_IS_INDEPENDENT
Actual-value corrections include the following:
Modulo treatment
Reference point approach
Measuring system comparison
PRESET
338
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.4.2
Setpoint marshalling
The following machine data is relevant for the setpoint assignment of a machine axis.
MD30100
$MA_CTRLOUT_SEGMENT_NR
Value
840D sl
MD30110
Meaning
PROFIBUS DP / PROFINET (default)
$MA_CTRLOUT_MODULE_NR
Value
840D sl
Meaning
The logical I/O address of the drive is assigned from MD13050
$MN_DRIVE_LOGIC_ADDRESS[ n ] via the drive number.
The drive number (x) results from the index (n) of MD13050:
x= n+1
Note
The machine data is of no significance if the drive is simulated (MD30130
$MA_CTRLOUT_TYPE = 0).
MD30120
$MA_CTRLOUT_NR
Value
840D sl
MD30130
Meaning
Modular drive at PROFIBUS / PROFINET with PROFIdrive profile (default)
$MA_CTRLOUT_TYPE
Value
840D sl
Meaning
Simulation (operation without drive)
Encoder assignment
The following machine data is relevant for assigning the encoder information of the drive transferred in the PROFIdrive telegram - to the encoder inputs of the machine axis:
MD30210
$MA_ENC_SEGMENT_NR[ n ]
Value
840D sl
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
PROFIBUS DP / PROFINET
339
MD30220
$MA_ENC_MODULE_NR[ n ]
Value
840D sl
Meaning
The logical I/O address of the drive is assigned from MD13050
$MN_DRIVE_LOGIC_ADDRESS[ n ] via the drive number.
The drive number (x) results from the index (n) of MD13050:
x= n+1
MD30230
$MA_ENC_INPUT_NR[ n ]
Value
840D sl
Meaning
Number of the encoder interface within the PROFIdrive telegram
Examples
PROFIdrive telegram 103
x = 1 1st encoder interface (G1_ZSW, G1_XIST1, G1_XIST2)
x = 2 2nd encoder interface (G2_ZSW, G2_XIST1, G2_XIST2)
PROFIdrive telegram 118
x = 1 1st encoder interface (G2_ZSW, G2_XIST1, G2_XIST2)
x = 2 2nd encoder interface (G3_ZSW, G3_XIST1, G3_XIST2)
Note:
For SINAMICS S120:
- Encoder 1 (G1_...): Motor encoder
- Encoder 2 (G2_...): Direct measuring system
- Encoder 3 (G3_...): Additional measuring system
MD30240
$MA_ENC_TYPE[ n ]
Value
Meaning
840D sl
Incremental encoder
Absolute encoder
Note:
Corresponds to PROFIdrive parameter p979
340
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
MD30242
$MA_ENC_IS_INDEPENDENT[ n, axis ]
Encoder is independent
System
Value
840D sl
Meaning
The encoder is not independent.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
341
Note
Machine data index [ n ]
The machine data index [ n ] for encoder assignment has the following meaning:
n = 0: First encoder assigned to the machine axis
n = 1: Second encoder assigned to the machine axis
The assignment is made using machine data:
MD30220 $MA_ENC_MODULE_NR[ n ]
MD30230 $MA_ENC_INPUT_NR[ n ]
References
Commissioning Manual, CNC Commissioning: NC, PLC, Drive;
Section: "Communication between the NC and the drive" > "Drives: Assign axis"
7.4.3
Gear types
The following gear types are available for adapting the mechanical ratios:
342
Gear type
Activation
Adaptation
Installation location
Motor/load gear
Parameter set
Fixed configuration
Gear unit
Power ON
Sensor-dependent
Sensor-side
NewConfig
Load-dependent
Tool-side
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
/RDGVLGHHQFRGHU
(1&B,6B',5(&7
(1&B,6B',5(&7
7RROVLGHHQFRGHU
(1&B,6B',5(&7
(1&B,6B',5(&7
7RRO
0
0RWRUORDG
JHDU
3RZHUHGWRROV
,QWHUPHGLDWH
JHDU
'5,9(B$;B5$7,2B180(5$
'5,9(B$;B5$7,2B'(120
'5,9(B$;B5$7,2B180(5$
'5,9(B$;B5$7,2B'(120
Figure 7-2
1RRIORDGUHYV
1RRIWRROUHYV
1RRIPRWRUUHYV
1RRIORDGUHYV
Motor/load gear
The motor/load gear supported by SINUMERIK is configured via the following machine data:
MD31060 $MA_DRIVE_AX_RATIO_NUMERA (numerator load gearbox)
MD31050 $MA_DRIVE_AX_RATIO_DENOM (denominator load gearbox)
The transmission ratio is obtained from the numerator/denominator ratio of both machine data.
The associated parameter sets are used automatically as default by the controller to
synchronize the position controller with the relevant transmission ratios.
Since a gear stage change is not always carried out automatically, and there are also several
ways to request a gear stage change, the position controller is not always incorporated via
parameter sets.
Note
For further information about the parameter sets for gear stage change, see Section "S1:
Spindles (Page 1199)".
Intermediate gear
Additional, configurable load intermediate gears are also supported by the controller:
MD31066 $MA_DRIVE_AX_RATIO2_NUMERA (intermediate gear numerator)
MD31064 $MA_DRIVE_AX_RATIO2_DENOM (intermediate gear denominator)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
343
Boundary conditions
If the encoder to be used for position control is connected directly at the tool, the gear stage
change only affects the physical quantities at the speed interface between the NC and the
drive of the motor/load gear. The internal parameter sets are not changed.
344
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.4.4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
345
346
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Q 6HW 6SHHGVHWSRLQW
0D[VSHHGVHWSRLQW
0'&75/287B/,0,7
0D[D[LVYHORFLW\
0'0$;B$;B9(/2
W>V@
Figure 7-3
However, due to control processes, the axes should not reach their maximum velocity
(MD32000 $MA_MAX_AX_VELO) at 100% of the speed setpoint, but at 80% to 95%.
In case of axes, whose maximum speed is attained at around 80% of the speed setpoint range,
the default value (80%) of the machine data:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
can be taken over.
7.4.5
Meaning
MD30200 NUM_ENCS
Number of encoders
MD30300 IS_ROT_AX
MD30310 ROT_IS_MODULO
MD30320 DISPLAY_IS_MODULO
MD30330 MODULO_RANGE
MD30340 MODULO_RANGE_START
MD31030 $MA_LEADSCREW_PITCH
Leadscrew pitch
MD31064 $MA_DRIVE_AX_RATIO2_DENOM
MD31066 $MA_DRIVE_AX_RATIO2_NUMERA
MD32000 $MA_MAX_AX_VELO
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
347
Meaning
MD30210 ENC_SEGMENT_NR[ n ]
MD30220 ENC_MODULE_NR[ n ]
MD30230 ENC_INPUT_NR[ n ]
MD30240 ENC_TYPE[ n ]
MD30242 ENC_IS_INDEPENDENT[ n ]
Encoder is independent
MD30244 ENC_MEAS_TYPE[ n ]
MD30250 ACT_POS_ABS[ n ]
MD30260 ABS_INC_RATIO[ n ]
MD30270 ENC_ABS_BUFFERING[ n ]
MD34090 $MA_REFP_MOVE_DIST_CORR[ n ]
MD34320 $MA_ENC_INVERS[ n ]
Note
Machine data with NEWCONFIG effectiveness criterion can be activated either in the part
program with the command NEWCONF or via the user interface by pressing a softkey.
7.4.6
Actual-value resolution
7.4.6.1
348
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Parameterizing the actual value resolution depending on the axis type (linear/rotary axis)
The control system calculates the actual value resolution based on the following machine data.
Machine data for calculating the actual value resolution
MD30300 $MA_IS_ROT_AX
MD31000 $MA_ENC_IS_LINEAR[ n ]
MD31010 $MA_ENC_GRID_POINT_DIST[ n ]
Linear axis
Linear axis
Linear scale /
direct measuring
system
Indirect
Direct
measur measuring
ing system
system:
Machine/
tool
Rotary axis
Indirect
measur
ing sys
tem
Direct
measur
ing sys
tem: Ma
chine/tool
Spacing
MD34320 $MA_ENC_INVERS[ n ]
1)
MD31020 $MA_ENC_RESOL[ n ]
Pulses/
rev
Pulses/
rev
Pulses/
rev
Pulses/
rev
MD31025 $MA_ENC_PULSE_MULT[ n ]
Encoder multipli
cation
MD31030 $MA_LEADSCREW_PITCH
mm/rev.
mm/rev.
MD31040 $MA_ENC_IS_DIRECT[ n ]
-/1
MD31044 $MA_ENC_IS_DIRECT2[ n ]
-/1
MD31050 $MA_DRIVE_AX_RATIO_DENOM[ n ]
Load
rev.
-/1
Load
rev.
2)
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[ n ]
Motor
rev. if in
feed
gear avail
able
-/1
Motor
rev.
2)
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[ n ]
Encoder
rev.
Encoder
rev.
Encoder
rev.
Encoder
rev.
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[ n ]
Motorside en
coder 3)
Motor
rev.
Motor
rev.
Load
rev.
- Not relevant
1) For distance-coded measuring systems
2) These machine data are not required for encoder matching (path evaluation). However,
they must be entered correctly for the setpoint calculation! Otherwise the required servo
gain factor (KV) will not be set. The load revolutions are entered into machine data
MD31050 $MA_DRIVE_AX_RATIO_DENOM and the motor revolutions in machine data
MD31060 $MA_DRIVE_AX_RATIO_NUMERA.
3) The encoder on the motor side is a built-in encoder and, therefore, does not have a
measuring gear unit.
The transmission ratio is always 1:1.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
349
Meaning
MD30300 IS_ROT_AX
MD31010 ENC_GRID_POINT_DIST
MD31030 LEADSCREW_PITCH
Leadscrew pitch
MD31064 DRIVE_AX_RATIO2_DENOM
MD31066 DRIVE_AX_RATIO2_NUMERA
Meaning
MD31000 ENC_IS_LINEAR[ n ]
MD31020 ENC_RESOL[ n ]
MD31025 ENC_PULSE_MULT[ n ]
MD31040 ENC_IS_DIRECT[ n ]
MD31044 ENC_IS_DIRECT2[ n ]
MD31070 DRIVE_ENC_RATIO_DENOM[ n ]
MD31080 DRIVE_ENC_RATIO_NUMERA[ n ]
Meaning
MD31050 $MA_DRIVE_AX_RATIO_DENOM[ m ]
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[ m ]
m: Parameter set index, with m = 0, 1, ... (1st parameter set, 2nd parameter set, etc.)
350
&RPSXWDWLRQDOUHVROXWLRQ
,QWHUQDOLQFUHPHQWVPP
$FWXDOYDOXHUHVROXWLRQ
(QFRGHULQFUHPHQWVPP
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
,QWHUQDOLQFUHPHQWVGHJUHHV
$FWXDOYDOXHUHVROXWLRQ
(QFRGHULQFUHPHQWVGHJUHHV
Machine data
General machine data: $MN_
Meaning
MD10200 INT_INCR_PER_MM
MD10210 INT_INCR_PER_DEG
Recommended setting
The above components and settings that are responsible for the actual-value resolution, should
be selected so that the actual-value resolution is higher than the parameterized computational
resolution.
Computational resolution
Actual-value resolution
7.4.6.2
7DEOH
%DOOVFUHZ
/LQHDUVFDOH
/RDGJHDU
0'(1&B,6B/,1($5
0'(1&B*5,'B32,17B',67OLQHDUHQFRGHU
0'(1&B,19(56LQWKHRSSRVLWHGLUHFWLRQ
Figure 7-4
The ratio of the internal increments to the encoder increments per mm is calculated as follows:
Internal increments / mm
Encoder increments /mm
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
351
7.4.6.3
(QFRGHU
,6B527B$;
(1&B,6B',5(&7
n
6SLQGOH
7DEOH
0
0HDV
JHDUER[
%DOOVFUHZ
/RDG
JHDUER[
(1&B5(62/
/($'6&5(:B3,7&+
'5,9(B$;B5$7,2B180(5$ = 1XPEHURI0RWRUUHYROXWLRQV
1XPEHURIVSLQGOHUHYV
'5,9(B$;B5$7,2B'(120
'5,9(B(1&B5$7,2B180(5$
1XPEHURIPRWRUUHYROXWLRQV
=
'5,9(B(1&B5$7,2B'(120
1XPEHURIHQFRGHUUHYROXWLRQV
Figure 7-5
The ratio of the internal increments to the encoder increments per mm is calculated as follows:
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP
(1&B5(62/>Q@
(1&B38/6(B08/7>Q@
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B180(5$>Q@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
Example
Assumptions:
Rotary encoder on the motor: 2048 pulses/revolution
Internal pulse multiplication: 2048
Gearbox, motor / ball screw: 5:1
Leadscrew pitch: 10 mm/revolution
Computational resolution: 10000 increments per mm
Machine data
352
Value
MD30300 $MA_IS_ROT_AX
MD31000 $MA_ENC_IS_LINEAR[0]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
MD31040 $MA_ENC_IS_DIRECT[0]
MD31020 $MA_ENC_RESOL[0]
2048
MD31025 $MA_ENC_PULSE_MULT
2048
MD31030 $MA_LEADSCREW_PITCH
10
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0]
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[0]
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[0]
MD31050 $MA_DRIVE_AX_RATIO_DENOM[0]
MD10210 $MN_INT_INCR_PER_DEG
10000
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP
7.4.6.4
(1&B,6B',5(&7
(1&B,6B/,1($5
7DEOH
0
/RDG
JHDU
%DOOVFUHZ
0HDV
JHDU
/($'6&5(:B3,7&+
Q 6SLQGOH
'5,9(B(1&B5$7,2B180(5$
'5,9(B(1&B5$7,2B'(120
Figure 7-6
(1&B5(62/
Q (QFRGHU
1RRIVSLQGOHUHYV
1RRIHQFRGHUUHYV
The ratio of the internal increments to the encoder increments per mm is calculated as follows:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
353
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP
7.4.6.5
(1&B5(62/>Q@
(1&B38/6(B08/7>Q@
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
,6B527B$;
Q /RDG
0
Q 0RWRU
/RDGJHDU
5RWDU\WDEOH
'5,9(B$;B5$7,2B180(5$
'5,9(B$;B5$7,2B'(120
'5,9(B(1&B5$7,2B180(5$
'5,9(B(1&B5$7,2B'(120
Figure 7-7
1RRIPRWRUUHYV
1RRIORDGUHYV
1XPEHURIPRWRUUHYROXWLRQV
1XPEHURIHQFRGHUUHYROXWLRQV
The ratio of the internal increments to the encoder increments per degree is calculated as
follows:
,QWHUQDOLQFUHPHQWVGHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV
354
GHJUHHV
(1&B5(62/>Q@
(1&B38/6(B08/7>Q@
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B180(5$>Q@
,17B,1&5B3(5B'(*
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Example
Assumptions:
Rotary encoder on the motor: 2048 pulses/revolution
Internal pulse multiplication: 2048
Gearbox, motor / rotary axis: 5:1
Computational resolution: 1000 increments per degree
Machine data
Value
MD30300 $MA_IS_ROT_AX
MD31000 $MA_ENC_IS_LINEAR[0]
MD31040 $MA_ENC_IS_DIRECT[0]
MD31020 $MA_ENC_RESOL[0]
2048
MD31025 $MA_ENC_PULSE_MULT
2048
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0]
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[0]
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[0]
MD31050 $MA_DRIVE_AX_RATIO_DENOM[0]
MD10210 $MN_INT_INCR_PER_DEG
,QWHUQDOLQFUHPHQWVGHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV
1000
GHJUHHV
LQFUGHJUHHV
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
355
7.4.6.6
(1&B,6B',5(&7
Q (QFRGHU
/
,6B527B$;
/RDGJHDU
Figure 7-8
(1&B5(62/
(1&B,6B/,1($5B
'5,9(B(1&B5$7,2B180
'5,9(B(1&B5$7,2B'(120(5$
1RRIORDGUHYV
1RRIHQFRGHUUHYV
5HVROYHUJHDULQJ
The ratio of the internal increments to the encoder increments per degree is calculated as
follows:
,QWHUQDOLQFUHPHQWVGHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV
356
GHJUHHV
(1&B5(62/>Q@
(1&B38/6(B08/7>Q@
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
,17B,1&5B3(5B'(*
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.4.6.7
(1&B,6B',5(&7
(1&B,6B',5(&7
'5,9(B$;B5$7,2B180(5$
'5,9(B$;B5$7,2B'(120
Q
7RRO
5RWDWLQJWRRO
7RRO
*
0HDV
JHDU
Q
(QFRGHU
(1&B5(62/
/RDG
JHDU
0RWRU
,QWHUPHGLDWHJHDU
(1&B,6B',5(&7
(1&B,6B',5(&7
(1&B,6B',5(&7
(1&B,6B',5(&7
'5,9(B$;B5$7,2B180(5$
'5,9(B$;B5$7,2B'(120
'5,9(B(1&B5$7,2B180(5$
'5,9(B(1&B5$7,2B'(120
Figure 7-9
1RRIORDGUHYV
1RRIVSLQGOHUHYV
1RRIPRWRUUHYV
1RRIVSLQGOHUHYV
1XPEHURIPRWRUUHYROXWLRQV
1XPEHURIHQFRGHUUHYROXWLRQV
The ratio of the internal increments to the encoder increments per degree is calculated as
follows:
,QWHUQDOLQFUHPHQWVGHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV
7.5
Closed-loop control
7.5.1
General
GHJUHHV
(1&B5(62/>Q@
(1&B38/6(B08/7>Q@
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
,17B,1&5B3(5B'(*
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
357
0'0$B$;B-(5.B(1$%/(
0'0$B$;B-(5.B02'(
0'0$B$;B-(5.B7,0(
)LQH
LQWHUSRODWLRQ
'\QDPLF
UHVSRQVH
DGDSWDWLRQ
-HUN
OLPLWLQJ
0'0$B),32B7<3(
0'0$B'(69$/B'(/$<B(1$%/(
0'0$B'(69$/B'(/$<B7,0(
3KDVHILOWHU
0'0$B326&75/B*$,1>Q@
&ORVHGORRS
FRQWURO
)HHGIRUZDUG
FRQWURO
0'0$B'<1B0$7&+B(1$%/(
0'0$B'<1B0$7&+B7,0(>Q@
6SHHG
VHWSRLQW
SURFHVVLQJ
0'0$B)5,&7B&203B(1$%/(
0'0$B$;B027,21B',5
,6
3RVLWLRQPHDVXUHPHQW
V\VWHP
0'0$B)):B02'(
0'0$B)):B$&7,9$7,21B02'(
0'0$B9(/2B)):B:(,*+7>Q@
0'0$B$;B,1(57,$
0'0$B$;B0$66
0'0$B(48,9B63(('&75/B7,0(>Q@
0'0$B(48,9B&855&75/B7,0(>Q@
Figure 7-10
$FWXDOYDOXH
SURFHVVLQJ
0'0$B(1&B)(('%$&.B32/>Q@
0'0$B(1&B&203B(1$%/(>Q@
0'0$B%$&./$6+>Q@
0'0$B%$&./$6+B)$&725>Q@
For information on the jerk limitation, see Section "B2: Acceleration (Page 243)".
For a description of the feedforward control, backlash, friction compensation, and leadscrew
error compensation.
References:
Function Manual Extended Functions; Compensations (K3)
Fine interpolation
Using the fine interpolator (FIPO), the contour precision can be further increased by reducing
the staircase effect in the speed setpoint. You can set three different types of fine interpolation:
MD33000 $MA_FIPO_TYPE = <FIPO mode>
<FIPO mode>
Meaning
Differential fine interpolation with mean value generation (smoothing) over an IPO
cycle
Cubic fine interpolation optimized for use with the pre-control for the highest contour
precision
358
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
.9
9HORFLW\
)ROORZLQJHUURU
>PPLQ@
>PP@
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
359
6WHSUHVSRQVH
RIWKH
SRVLWLRQFRQWURO
ORRS
$[LVHTXLYDOHQWWLPH
$[LV
HTXLYDOHQW 0'
0$B'<1B0$7&+B7,0(
WLPH
$[LVZLWKKLJKVHUYRJDLQ
DQGG\QDPLFUHVSRQVHDGDSWDWLRQ
$[LVZLWK
KLJKVHUYR
JDLQ
$[LVZLWKORZVHUYRJDLQ
Figure 7-11
Example of a dynamic response adaptation of three axes without speed feedforward control
The equivalent time constant of the position control loop is:
Axis 1:
30 ms
Axis 2:
20 ms
Axis 3:
24 ms
With an equivalent time constant of 30 ms, axis 1 is the dynamically weakest axis.
This results in the following new equivalent time constants for the axes:
Axis 1:
Axis 2:
Axis 3:
MD32910 $MA_DYN_MATCH_TIME = 0 ms
MD32910 $MA_DYN_MATCH_TIME = 30 ms - 20 ms = 10 ms
MD32910 $MA_DYN_MATCH_TIME = 30 ms - 24 ms = 6 ms
Approximation formulas for the equivalent time constant of the position control loop of an axis
The equivalent time constant Tequiv of the position control loop of an axis is approximately
calculated depending on the type of feedforward control:
Without feedforward control:
76SDUHV
360
0'326&75/B*$,1>V@
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
0'(48,9B63(('&75/B7,0(
0'(48,9B&855&75/B7,0(
Note
If dynamic response adaptation is realized for a geometry axis, then all other geometry axes
must be set to the same dynamic response.
References:
Commissioning Manual CNC: NCK, PLC, Drives
7.5.2
Machine data
A parameter set comprises the following machine data:
Number
Identifier $MA_
Meaning
31050
DRIVE_AX_RATIO_DENOM
31060
DRIVE_AX_RATIO_NUMERA
32200
POSCTRL_GAIN
32452
BACKLASH_FACTOR
Backlash compensation
32610
VELO_FFW_WEIGHT
36012
STOP_LIMIT_FACTOR
32800
EQUIV_CURRCTRL_TIME
32810
EQUIV_SPEEDCTRL_TIME
32910
DYN_MATCH_TIME
36200
AX_VELO_LIMIT
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
361
Parameter set
1. Gear stage
000
(Index=1)
1. Gear stage
001
(Index=1)
2. Gear stage
010
(Index=2)
3. Gear stage
011
(Index=3)
4. Gear stage
100
(Index=4)
5. Gear stage
101
110
111
(Index=5)
For further information on gear stages for spindles, see Section "S1: Spindles (Page 1199)".
7.6
7.6.1
Function
With feedforward control active, the position setpoint is sent through a socalled balancing filter
before it reaches the controller itself. It is thus possible to control the speed setpoint to 100%
in advance, without resulting in overshoots when positioning.
Activation
The feedforward control variant is selected and so also the filter activated using the axisspecific machine data:
362
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Speed precontrol
Parameterization
Recommended setting for recommissioning
If recommissioning, or if default values have been loaded (switch position 1 on commissioning
switch and POWER ON), the following machine data default values apply:
MD32620 $MA_FFW_MODE = 3
MD32610 $MA_VELO_FFW_WEIGHT (feedforward control factor for the velocity
feedforward control) = 1
The balancing time for the speed feedforward control then just has to be adjusted in the
following machine data:
MD32810 $MA_EQUIV_SPEEDCTRL_TIME (equivalent time constant speed control loop for
feedforward control)
Setting the equivalent time constant of the speed control loop (MD32810)
We recommend that the axis be allowed to move in and out in "AUTOMATIC" mode with a
part program and that travel-in to the target position, i.e. the actual position value of the active
measuring system, be monitored with the servo trace.
The initial value for setting is the time constant of the speed control loop. This can be read
from the reference frequency characteristic of the speed control loop. In the frequent case of
a PI controller with speed setpoint smoothing, an approximate equivalent time can be read
from drive machine data p1414, p1415, p1416 and p1421.
This start value (e.g. 1.5 ms) is now entered:
MD32810 $MA_EQUIV_SPEEDCTRL_TIME = 0.0015
The axis then travels forward and backward and the operator monitors a greatly-magnified
characteristic of the actual position value at the target position.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
363
Measure
Overshoot
Increase MD32810
Increasing the value slows the axis down but increases the geometric contour error
on curves; similar to reducing the position controller gain: MD32200
$MA_POSCTRL_GAIN. This can be observed on the user interface in the operating
section "Diagnostics" > "Axis service" using the computed KV value.
Excessively slow
approach
Reduce MD32810
Reducing the value speeds the axis up but decreases the geometric contour error
on curves.
364
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.6.2
Function
In some applications, such as when milling sculptured surfaces, it can be advantageous to
smooth the position setpoint curves using the jerk filter to obtain better surfaces by reducing
the excitations of machine vibrations. The filter effect of the position setpoints must be as strong
as possible without impermissibly affecting contour accuracy. The smoothing behavior of the
filter must also be as "symmetrical" as possible, i.e. if the same contour was to be traversed
both forward and backward, the characteristic rounded by the filter should be as similar as
possible in both directions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
365
Activation
To activate the axial jerk filter setpoint, the following machine data must be set to "TRUE":
MD32400 $MA_AX_JERK_ENABLE (axial jerk limitation)
Parameterization
The axial jerk filter is parameterized via the machine data:
MD32402 $MA_AX_JERK_MODE (filter type for axial jerk limitation)
MD32410 $MA_AX_JERK_TIME (time constant for the axial jerk filter)
Example:
MD32400 $MA_AX_JERK_EN
ABLE
=1
MD32402
$MA_AX_JERK_MODE
=2
MD32410
$MA_AX_JERK_TIME
= 0.02
366
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Deactivation
Disabling the jerk filter:
1. Block the filter calculation:
MD32400 $MA_AX_JERK_ENABLE = 0
2. Activate the interlock via "Enable machine data" or RESET on the machine control panel.
Boundary conditions
Filter times
The jerk filter is only effective when the time constant (MD32410) is greater than one position
control cycle.
Filter effect
The display of the calculated servo gain factor (KV) in the "Axis service" screen form displays
smaller values than would be appropriate based on the filter effect.
Path accuracy is better than the displayed servo gain (KV) suggests.
Therefore, on resetting MD32400 = 1 to MD32400 = 2, the displayed servo gain (KV) can
be reduced while retaining the same filter time, although the path accuracy improves.
Axes that are interpolating axes with one another
Must be set identically.
Once an optimum value has been identified for these axes, the one with the longest filter
time should be used as the setting for all axes within the interpolation group.
References
For further information on jerk limitation at the interpolator level, see Sections "Jerk limitation
with single-axis interpolation (SOFTA) (axis-specific) (Page 262)" and "Axis/spindlespecific
machine data (Page 291)".
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
367
7.6.3
Function
The axial phase filter setpoint (dead time / delay) implements a pure phase shift with which
the setpoint phase response can be influenced. Together with the axial setpoint jerk filter
(MD32402_$MA_AX_JERK_MODE[<Axis>] = 2; see section "Position controller, position
setpoint filter: Jerk filter (Page 365)") it makes it possible to adapt the amplitude response and
the phase response independently of one another to the dynamically weakest of several axes,
which should proceed along a programmed course together.
6HWSRLQW
7LPHW
Figure 7-12
368
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Examples
Assumption: Position control cycle clock = 2 ms
1. MD32890 $MA_DESVAL_DELAY_ENABLE[<Axis>] = "FALSE"
MD32895 $MA_DESVAL_DELAY_TIME[<Axis>] = <Time constant>
Phase filter setpoint: Not active
Time constant: Irrelevant
2. MD32890 $MA_DESVAL_DELAY_ENABLE[<Axis>] = TRUE
MD32895 $MA_DESVAL_DELAY_TIME[<Axis>] = 0.002
Phase filter setpoint: Active
Time constant: 2 ms the setpoint output is delayed by a position control cycle clock.
3. MD32890 $MA_DESVAL_DELAY_ENABLE[<Axis>] = TRUE
MD32895 $MA_DESVAL_DELAY_TIME[<Axis>] = 0.256
Phase filter setpoint: Active
Set time constant: 256 ms;
maximum possible time constant: 64 * 2 ms = 128 ms
internally effective time constant: 128 ms
Supplementary conditions
SINUMERIK Safety Integrated
The phase filter setpoint delays the output of axial setpoints; e.g. for retractions (ESR for Stop
E). However, the phase filter setpoint has no influence over shutdown processes; e.g. the SBH
activation time.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
369
7.6.4
Preconditions
The function can only be used on axes with two encoders:
MD30200 $MA_NUM_ENCS = 2
One of the encoders must be parameterized as an indirect measuring system and the other
as a direct measuring system:
Direct measuring system:
MD31040 $MA_ENC_IS_DIRECT[1]=1
The encoder for position actual-value acquisition is connected directly to the machine
(load encoder).
Indirect measuring system:
MD31040 $MA_ENC_IS_DIRECT[0]=0
The encoder for position actual-value acquisition is located on the motor (motor
encoder).
Telegram type 136 or 138 must be configured as standard telegram type for PROFIdrive
both in the drive and also in the NC (MD13060 $MN_DRIVE_TELEGRAM_TYPE).
Function
For active injected positional deviation, the difference position between the direct and the
indirect measuring system of an axis is determined and in accordance with the weighting-factor
setting is applied as additional current setpoint for the feedforward control in the position control
cycle. The resulting oscillation damping improves the stability and positioning behavior of the
axis.
Application
The function is used for axes with strong tendency to vibrate.
Effectiveness
The function acts only for axes with small natural frequency (to approximately 20 Hz).
Activation/parameterization
The function is activated by specifying the weighting factor:
MD32950 $MA_POSCTRL_DAMPING (damping of the speed control loop) = <value>
Value range: -100% ... +100%
370
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.6.5
Function
As standard, the core of the position controller is a P controller. It is possible to switch-in an
integral component for special applications (such as an electronic gear). The resulting
proportional-plus-integral-action controller then corrects the error between setpoint and actual
positions down to zero in a finite, settable time period when the appropriate machine data is
set accordingly.
CAUTION
Overshootings of the actual position for activated PI controller
In this instance, you must decide whether this effect is admissible for the application in
question. Knowledge of the control technology and measurements with servo trace are an
absolute prerequisite for using the function. If the appropriate machine data is incorrectly set,
then machines could be damaged due to instability.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
371
Procedure
1. First optimize the position control loop as a proportional-action controller using the tools
described in the previous subsections.
2. Increase the tolerances of the following machine data while measurements are being taken
to determine the quality of the position control with proportional-plus-integral-action
controller:
MD36020 $MA_POSITIONING_TIME
MD36030 $MA_STANDSTILL_POS_TOL
MD36040 $MA_STANDSTILL_DELAY_TIME
MD36400 $MA_CONTOUR_TOL
3. Activate the position control loop as a proportional-plus-integral-action controller by setting
the following machine data:
MD32220 $MA_POSCTRL_INTEGR_ENABLE ; set value 1
MD32210 $MA_POSCTRL_INTEGR_TIME ; integral time [sec.]
Effect of integral time:
Tn 0:
The control error is corrected quickly; however, the control loop can become instable.
Tn :
Effectiveness of the integral component is almost 0. Behavior of the controller like a
pure proportional controller.
4. Find the right compromise for Tn between these two extreme cases for the application.
Note
Tn must not be chosen too near the stability limit because the occurrence of an instability
can cause machine damage.
It is therefore recommended to set Tn to no less than 1 s.
Use servo trace to trace the travel-in of an automatic program traveling to and from a target
position.
5. Set the servo trace to display the following:
Following error
Actual velocity
Actual position
Reference position
6. Reset the tolerance values in the following machine data to the required values, once the
optimum value for Tn has been identified:
MD36020 $MA_POSITIONING_TIME
MD36030 $MA_STANDSTILL_POS_TOL
MD36040 $MA_STANDSTILL_DELAY_TIME
MD36400 $MA_CONTOUR_TOL
372
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Supplementary conditions
DSC
If the integrator function is used, DSC (Dynamic Stiffness Control) must be switched off.
Example
Setting result after several iterative processes for KR and Tn.
Machine data settings:
MD32220 $MA_POSCTRL_INTEGR_ENABLE = 1
MD32210 $MA_POSCTRL_INTEGR_TIME = 0.003
MD32200 $MA_POSCTRL_GAIN[1] = 5.0
Parameter set selection 0
Each of the following quantities - following error, actual velocity, actual position, and position
setpoint - has been recorded by servo trace. When traversing in JOG mode, the characteristic
of the individual data shown in the following figure was then drawn.
*UDSKLF7U$[LV;7U$[LV;!
7U)ROORZLQJHUURU
0DUNHU;
7U$FWXDOYHORFLW\
*UDSKLF7U$[LV;7U$[LV;!
7U$FWXDOSRVLWLRQPHDVXULQJV\VW 0DUNHU;
7U3RVLWLRQVHWSRLQW
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
373
7.7
Data lists
7.7.1
Machine data
7.7.1.1
Number
Identifier: $MM_
Description
9004
DISPLAY_RESOLUTION
Display resolution
9010
SPIND_DISPLAY_RESOLUTION
9011
DISPLAY_RESOLUTION_INCH
7.7.1.2
Number
Identifier: $MN_
Description
10000
AXCONF_MACHAX_NAME_TAB
10050
SYSCLOCK_CYCLE_TIME
10070
IPO_SYSCLOCK_TIME_RATIO
10060
POSCTRL_SYSCLOCK_TIME_RATIO
10200
INT_INCR_PER_MM
10210
INT_INCR_PER_DEG
10220
SCALING_USER_DEF_MASK
10230
SCALING_FACTORS_USER_DEF
10240
SCALING_SYSTEM_IS_METRIC
10250
SCALING_VALUE_INCH
10260
CONVERT_SCALING_SYSTEM
10270
POS_TAB_SCALING_SYSTEM
10290
CC_TDA_PARAM_UNIT
10292
CC_TOA_PARAM_UNIT
13050
DRIVE_LOGIC_ADDRESS
13060
DRIVE_TELEGRAM_TYPE
13070
DRIVE_FUNCTION_MASK
DP function used
13080
DRIVE_TYPE_DP
7.7.1.3
Number
Identifier: $MC_
Description
20150
GCODE_RESET_VALUES
374
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7.7.1.4
Number
Identifier: $MA_
Description
30110
CTRLOUT_MODULE_NR
30120
CTRLOUT_NR
30130
CTRLOUT_TYPE
30200
NUM_ENCS
Number of encoders
30220
ENC_MODULE_NR
30230
ENC_INPUT_NR
30240
ENC_TYPE
30242
ENC_IS_INDEPENDENT
Encoder is independent
30300
IS_ROT_AX
Rotary axis
31000
ENC_IS_LINEAR
31010
ENC_GRID_POINT_DIST
31020
ENC_RESOL
31030
LEADSCREW_PITCH
Leadscrew pitch
31040
ENC_IS_DIRECT
31044
ENC_IS_DIRECT2
31050
DRIVE_AX_RATIO_DENOM
31060
DRIVE_AX_RATIO_NUMERA
31064
DRIVE_AX_RATIO2_DENOM
31066
DRIVE_AX_RATIO2_NUMERA
31070
DRIVE_ENC_RATIO_DENOM
31080
DRIVE_ENC_RATIO_NUMERA
31090
JOG_INCR_WEIGHT
31200
SCALING_FACTOR_G70_G71
32000
MAX_AX_VELO
32100
AX_MOTION_DIR
Travel direction
32110
ENC_FEEDBACK_POL
32200
POSCTRL_GAIN
32210
POSCTRL_INTEGR_TIME
32220
POSCTRL_INTEGR_ENABLE
32250
RATED_OUTVAL
32260
RATED_VELO
32450
BACKLASH
Backlash
32500
FRICT_COMP_ENABLE
32610
VELO_FFW_WEIGHT
32620
FFW_MODE
32630
FFW_ACTIVATION_MODE
32650
AX_INERTIA
32652
AX_MASS
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
375
Identifier: $MA_
Description
32711
CEC_SCALING_SYSTEM_METRIC
32800
EQUIV_CURRCTRL_TIME
32810
EQUIV_SPEEDCTRL_TIME
32890
DESVAL_DELAY_ENABLE
32895
DESVAL_DELAY_TIME
32900
DYN_MATCH_ENABLE
Dynamics matching
32910
DYN_MATCH_TIME [n]
32930
POSCTRL_OUT_FILTER_ENABLE
32950
POSCTRL_DAMPING
33000
FIPO_TYPE
34320
ENC_INVERS[n]
35100
SPIND_VELO_LIMIT
36200
AX_VELO_LIMIT [n]
36210
CTRLOUT_LIMIT[n]
36400
AX_JERK_ENABLE
36410
AX_JERK_TIME
36500
ENC_CHANGE_TOL
36510
ENC_DIFF_TOL
36700
ENC_COMP_ENABLE[n]
Interpolatory compensation
376
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Brief description
8.1.1
Function
Auxiliary functions permit activation of the system functions of the NCK and PLC user functions.
Auxiliary functions can be programmed in:
Part programs
Synchronized actions
User cycles
For detailed information on the use of auxiliary function outputs in synchronized actions, see:
References:
Function Manual, Synchronized Actions
Function
Example
Meaning
Additional function
M30
End of program
Spindle function
S100
Tool number
T3
Tool number 3
D, DL
Tool offset
D1
Feedrate
F1000
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
377
Function
Example
Meaning
Additional function
M2=3
Spindle function
S2=100
Tool number
T2=3
Function
Example
Meaning
Auxiliary function
H2=5
User-specific function
1)
8.1.2
1)
Recommendation
8.1.3
M functions
M (special function)
Address extension
Value
Range of values
Meaning
Range of values
Type
Meaning
Number 8)
0 (implicit)
---
0 ... 99
INT
Function
378
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
Range of values
Type
Meaning
Number 8)
1 ... 20
Spindle number
1 ... 99
INT
Function
Remarks:
M3, M4, M5, M19, M70 with address extension as the spindle number. (e.g. M2=5; spindle stop for spindle 2).
Without an address extension, the function influences the master spindle.
Range of values
Meaning
Range of values
Type
Meaning
Number 8)
0 ... 99
Any
INT
Function
Remarks:
User-specific M functions.
8)
Use
Controlling machine functions in synchronism with the part program.
Further information
The following M functions have a predefined meaning: M0, M1, M2, M17, M30
M3, M4, M5, M6, M19, M70, M40, M41, M42, M43, M44, M45.
For each M function (M0 - M99), there is a dynamic signal at the NC/PLC interface that
indicates the validity (new output) of the M function. In addition, 64 further signals can be
assigned for user M functions (see Section "P3: Basic PLC program for SINUMERIK 840D
sl (Page 821)").
For subprograms, machine data can be used to set whether an output of the M function
should be undertaken for the end of the part program M17, M2 and M30 to the PLC:
MD20800 $MC_SPF_END_TO_VDI (subprogram end to PLC)
For the predefined M function M40 M45, only limited redefinition of the output specification
is possible.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
379
S functions
S (spindle function)
Address extension
Value
Range of values
Meaning
Range of values
Type
Meaning
Number 8)
0 ... 20
Spindle number 5)
REAL
Spindle speed
Remarks:
The master spindle of the channel is addressed if no address extension is specified.
3)
Use
Spindle speed.
Further information
S functions are assigned to auxiliary function group 3 by default.
Without an address extension, the S functions refer to the master spindle of the channel.
S function-specific machine data:
MD22210 $MC_AUXFU_S_SYNC_TYPE (output time of the S functions)
H functions
H (aux. function)
Address extension
Range of values
380
Value
Meaning
Range of values
Type
Meaning
Number 8)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Any
- 2147483648 ...
+ 2147483647
INT
REAL
Any
Remarks:
The functionality must be implemented by the user in the PLC user program.
2) 3) 4) 8)
Use
User-specific auxiliary functions.
Further information
H function-specific machine data:
MD22110 $MC_AUXFU_H_TYPE_INT (type of H-auxiliary function is an integer)
MD22230 $MC_AUXFU_H_SYNC_TYPE (output time of the H functions)
T functions
T (tool number) 5) 6)
Address extension
Value
Range of values
Meaning
Range of values
1 ... 12
Spindle number
0 ... 32000
(with active tool man (also symbolic tool names for
agement)
active tool management)
Type
Meaning
Number 8)
INT
Remarks:
Tool names are not output to the PLC. 1)
1) 5) 6) 8)
Use
Tool selection.
Further information
Identification of the tools, optionally via tool number or location number (see Section "W1:
Tool offset (Page 1363)").
References:
Function Manual Tool Management
When T0 is selected, the current tool is removed from the toolholder but not replaced by a
new tool (default setting).
T function-specific machine data:
MD22220 $MC_AUXFU_T_SYNC_TYPE (output time of the T functions)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
381
D functions
D (tool offset)
Address extension
Value
Range of values
Meaning
Range of values
Type
Meaning
Number 8)
---
---
0 ... 9
INT
Remarks:
Clearing the tool offset with D0. Default is D1.
8)
Use
Selection of the tool offset.
Further information
Initial setting: D1
After a tool change, the default tool cutting edge can be parameterized via:
MD20270 $MC_CUTTING_EDGE_DEFAULT (basic position of the tool cutting edge
without programming)
Deselection of the tool offset: D0
D function-specific machine data:
MD22250 $MC_AUXFU_D_SYNC_TYPE (output time of the D functions)
DL functions
DL (additive tool offset)
Address extension
Value
Range of values
Meaning
Range of values
Type
Meaning
Number 8)
---
---
0 ... 6
INT
Remarks:
The additive tool offset selected with DL refers to the active D number.
8)
Use
Selection of the additive tool offset with reference to an active tool offset.
Further information
Initial setting: DL = 0
DL values cannot be output to the PLC via synchronized actions.
Default setting of the additive tool offset without an active DL function:
MD20272 $MC_SUMCORR_DEFAULT (basic setting of the additive offset without a
program)
382
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
F functions
F (feedrate)
Address extension
Value
Range of values
Meaning
Range of values
Type
Meaning
Number 8)
---
---
REAL
Path feedrate
Remarks:
--8)
Use
Path velocity.
Further information
F function-specific machine data:
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
FA functions
FA (axial feedrate)
Address extension
Value
Range of values
Meaning
Range of values
Type
Meaning
Number 8)
1 - 31
Axis number
REAL
Axial feedrate
Remarks:
--8)
Use
Axial velocity.
Further information
F function-specific machine data:
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
383
Meaning of footnotes
1)
2)
3)
4)
5)
6)
7)
8)
8.2
If tool management is active, neither a T change signal nor a T word is output to the interface
(channel).
The type for the values can be selected by the user via MD22110 $MC_AUX
FU_H_TYPE_INT.
Because of the limited display options on the operator panel screens, the REAL type values
displayed are restricted to:
999 999 999.9999 to 999 999 999.9999
The NC calculates internally but with complete accuracy.
The REAL values are rounded and output to the PLC when setting the machine data:
MD22110 $MC_AUXFU_H_TYPE_INT = 1 (type of H-auxiliary functions is an integer)
The PLC user program must interpret the value transferred according to the machine data
setting.
If the tool management is active, the meaning of the address extension can be parameter
ized. Address extension = 0 means the value must be replaced by that of the master spindle
number, i.e. it is equivalent to not programming the address extension.
Auxiliary functions M19 "Position spindle" collected during a block search are not output
to the PLC.
M6: Range of values of the address extension:
- without tool management: 0 ... 99
- with tool management: 0 ... maximum spindle number
0: to be replaced by the value of the master spindle number or master toolholder
If tool management is active, the auxiliary function M6 "Tool change" can only be program
med once in a part program block, irrespective the address extensions that are program
med.
Maximum number of auxiliary functions per part program block.
Function
Every pre-defined auxiliary function is assigned to a system function and cannot be changed.
If a pre-defined auxiliary function is programmed in a part program/cycle, then this is output to
the PLC via the NC/PLC interface and the corresponding system function is executed in the
NCK.
384
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
8.2.1
Meaning
Index <n>
Type
MD22050 $MC_AUXFU_PREDEF_TYPE[<n>]
Address extension
MD22060 $MC_AUXFU_PREDEF_EXTENSION[<n>]
Value
MD22070 $MC_AUXFU_PREDEF_VALUE[<n>]
Group
MD22040 $MC_AUXFU_PREDEF_GROUP[<n>]
Index <n>
Type
Address ex
tension
Value
Group
Stop
Conditional stop
End of subprogram
17
30
(0)
6 1)
(1)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
(2)
Spindle left
(2)
Tool change
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
385
Index <n>
Type
Address ex
tension
Value
Group
Spindle stop
Position spindle
(2)
19
Axis mode
10
11
40
(4)
Gear stage 1
12
41
(4)
Gear stage 2
13
42
(4)
Gear stage 3
14
43
(4)
Gear stage 4
15
44
(4)
Gear stage 5
16
45
(4)
Spindle speed
17
-1
(3)
Index <n>
Type
Address ex
tension
Value
Group
Feedrate
18
-1
(1)
19
-1
(1)
DL
20
-1
(1)
Tool selection
21
(0)
-1
(1)
Stop (associated)
22
-1 3)
23
-1
4)
5)
70
(2)
2)
(2)
End of subprogram
24
-1
Nibbling
25
20 6)
(10)
Nibbling
26
23 6)
(10)
Nibbling
27
22 6)
(11)
Nibbling
28
Nibbling
29
Nibbling
30
Nibbling
Nibbling
25
6)
(11)
26 6)
(12)
122 6)
(11)
31
125
(11)
32
27 6)
(12)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
33
(72)
Spindle left
34
(72)
Spindle stop
35
(72)
Position spindle
36
19
Axis mode
37
38
6)
386
70
2)
40
(72)
(72)
(74)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index <n>
Type
Address ex
tension
Value
Group
Gear stage 1
39
41
(74)
Gear stage 2
40
42
(74)
Gear stage 3
41
43
(74)
Gear stage 4
42
44
(74)
Gear stage 5
43
45
(74)
Spindle speed
44
-1
(73)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
45
(75)
Spindle left
46
(75)
Spindle stop
47
(75)
Position spindle
48
19
Axis mode
49
50
40
(77)
Gear stage 1
51
41
(77)
Gear stage 2
52
42
(77)
Gear stage 3
53
43
(77)
Gear stage 4
54
44
(77)
Gear stage 5
55
45
(77)
Spindle speed
56
-1
(76)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
57
(78)
Spindle left
58
(78)
Spindle stop
59
(78)
70
2)
(75)
(75)
Position spindle
60
19
(78)
Axis mode
61
70 2)
(78)
62
40
(80)
Gear stage 1
63
41
(80)
Gear stage 2
64
42
(80)
Gear stage 3
65
43
(80)
Gear stage 4
66
44
(80)
Gear stage 5
67
45
(80)
Spindle speed
68
-1
(79)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
387
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
69
(81)
Spindle left
70
(81)
Spindle stop
71
(81)
Position spindle
72
19
Axis mode
73
74
40
(83)
Gear stage 1
75
41
(83)
Gear stage 2
76
42
(83)
Gear stage 3
77
43
(83)
Gear stage 4
78
44
(83)
Gear stage 5
79
45
(83)
Spindle speed
80
-1
(82)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
81
(84)
Spindle left
82
(84)
Spindle stop
83
(84)
70
2)
(81)
(81)
Position spindle
84
19
(84)
Axis mode
85
70 2)
(84)
86
40
(86)
Gear stage 1
87
41
(86)
Gear stage 2
88
42
(86)
Gear stage 3
89
43
(86)
Gear stage 4
90
44
(86)
Gear stage 5
91
45
(86)
Spindle speed
92
-1
(85)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
93
(87)
Spindle left
94
(87)
Spindle stop
95
(87)
Position spindle
96
19
Axis mode
97
388
70
2)
(87)
(87)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index <n>
Type
Address ex
tension
Value
Group
98
40
(89)
Gear stage 1
99
41
(89)
Gear stage 2
100
42
(89)
Gear stage 3
101
43
(89)
Gear stage 4
102
44
(89)
Gear stage 5
103
45
(89)
Spindle speed
104
-1
(88)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
105
(90)
Spindle left
106
(90)
Spindle stop
107
(90)
Position spindle
108
19
Axis mode
109
110
40
(92)
Gear stage 1
111
41
(92)
Gear stage 2
112
42
(92)
Gear stage 3
113
43
(92)
Gear stage 4
114
44
(92)
Gear stage 5
115
45
(92)
Spindle speed
116
-1
(91)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
117
(93)
Spindle left
118
(93)
Spindle stop
119
(93)
Position spindle
120
19
Axis mode
121
122
40
(95)
Gear stage 1
123
41
(95)
Gear stage 2
124
42
(95)
Gear stage 3
125
43
(95)
Gear stage 4
126
44
(95)
Gear stage 5
127
45
(95)
Spindle speed
128
-1
(94)
70
2)
(90)
(90)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
70
2)
(93)
(93)
389
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
129
10
(96)
Spindle left
130
10
(96)
Spindle stop
131
10
(96)
Position spindle
132
10
19
Axis mode
133
10
134
10
40
(98)
Gear stage 1
135
10
41
(98)
Gear stage 2
136
10
42
(98)
Gear stage 3
137
10
43
(98)
Gear stage 4
138
10
44
(98)
Gear stage 5
139
10
45
(98)
Spindle speed
140
10
-1
(97)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
141
11
(99)
Spindle left
142
11
(99)
Spindle stop
143
11
(99)
Position spindle
144
11
19
(99)
Axis mode
145
11
70 2)
(99)
146
11
40
(101)
Gear stage 1
147
11
41
(101)
Gear stage 2
148
11
42
(101)
Gear stage 3
149
11
43
(101)
Gear stage 4
150
11
44
(101)
Gear stage 5
151
11
45
(101)
Spindle speed
152
11
-1
(100)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
153
11
(102)
Spindle left
154
12
(102)
Spindle stop
155
12
(102)
Position spindle
156
12
19
Axis mode
157
12
70
2)
(96)
(96)
390
70
2)
(102)
(102)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index <n>
Type
Address ex
tension
Value
Group
158
12
40
(104)
Gear stage 1
159
12
41
(104)
Gear stage 2
160
12
42
(104)
Gear stage 3
161
12
43
(104)
Gear stage 4
162
12
44
(104)
Gear stage 5
163
12
45
(104)
Spindle speed
164
12
-1
(103)
Index <n>
Type
Address ex
tension
Value
Group
165
13
(105)
Spindle left
166
13
(105)
Spindle stop
167
13
(105)
Position spindle
168
13
19
Axis mode
169
13
170
13
40
(107)
Gear stage 1
171
13
41
(107)
Gear stage 2
172
13
42
(107)
Gear stage 3
173
13
43
(107)
Gear stage 4
174
13
44
(107)
Gear stage 5
175
13
45
(107)
Spindle speed
176
13
-1
(106)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
177
14
(108)
Spindle left
178
14
(108)
Spindle stop
179
14
(108)
Position spindle
180
14
19
Axis mode
181
14
182
14
40
(110)
Gear stage 1
183
14
41
(110)
Gear stage 2
184
14
42
(110)
Gear stage 3
185
14
43
(110)
Gear stage 4
186
14
44
(110)
Gear stage 5
187
14
45
(110)
Spindle speed
188
14
-1
(109)
70
2)
(105)
(105)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
70
2)
(108)
(108)
391
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
189
15
(111)
Spindle left
190
15
(111)
Spindle stop
191
15
(111)
Position spindle
192
15
19
Axis mode
193
15
194
15
40
(113)
Gear stage 1
195
15
41
(113)
Gear stage 2
196
15
42
(113)
Gear stage 3
197
15
43
(113)
Gear stage 4
198
15
44
(113)
Gear stage 5
199
15
45
(113)
Spindle speed
200
15
-1
(112)
Index <n>
Type
Address ex
tension
Value
Group
201
16
(114)
Spindle left
202
16
(114)
Spindle stop
203
16
(114)
Position spindle
204
16
19
(114)
Axis mode
205
16
70 2)
(114)
206
16
40
(116)
Gear stage 1
207
16
41
(116)
Gear stage 2
208
16
42
(116)
Gear stage 3
209
16
43
(116)
Gear stage 4
210
16
44
(116)
Gear stage 5
211
16
45
(116)
Spindle speed
212
16
-1
(115)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
213
17
(117)
Spindle left
214
17
(117)
Spindle stop
215
17
(117)
Position spindle
216
17
19
Axis mode
217
17
70
2)
(111)
(111)
392
70
2)
(117)
(117)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index <n>
Type
Address ex
tension
Value
Group
218
17
40
(119)
Gear stage 1
219
17
41
(119)
Gear stage 2
220
17
42
(119)
Gear stage 3
221
17
43
(119)
Gear stage 4
222
17
44
(119)
Gear stage 5
223
17
45
(119)
Spindle speed
224
17
-1
(118)
Index <n>
Type
Address ex
tension
Value
Group
225
18
(120)
Spindle left
226
18
(120)
Spindle stop
227
18
(120)
Position spindle
228
18
19
Axis mode
229
18
230
18
40
(122)
Gear stage 1
231
18
41
(122)
Gear stage 2
232
18
42
(122)
Gear stage 3
233
18
43
(122)
Gear stage 4
234
18
44
(122)
Gear stage 5
235
18
45
(122)
Spindle speed
236
18
-1
(121)
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
237
19
(123)
Spindle left
238
19
(123)
Spindle stop
239
19
(123)
Position spindle
240
19
19
Axis mode
241
19
242
19
40
(125)
Gear stage 1
243
19
41
(125)
Gear stage 2
244
19
42
(125)
Gear stage 3
245
19
43
(125)
Gear stage 4
246
19
44
(125)
Gear stage 5
247
19
45
(125)
Spindle speed
248
19
-1
(124)
70
2)
(120)
(120)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
70
2)
(123)
(123)
393
Index <n>
Type
Address ex
tension
Value
Group
Spindle right
249
20
(126)
Spindle left
250
20
(126)
Spindle stop
251
20
(126)
Position spindle
252
20
19
Axis mode
253
20
254
20
40
(128)
Gear stage 1
255
20
41
(128)
Gear stage 2
256
20
42
(128)
Gear stage 3
257
20
43
(128)
Gear stage 4
258
20
44
(128)
Gear stage 5
259
20
45
(128)
Spindle speed
260
20
-1
(127)
70
2)
(126)
(126)
394
Index <n>
Type
Address ex
tension
Value
Group
Tool selection
261
-1
129
Tool selection
262
-1
130
Tool selection
263
-1
131
Tool selection
264
-1
132
Tool selection
265
-1
133
Tool selection
266
-1
134
Tool selection
267
-1
135
Tool selection
268
-1
136
Tool selection
269
-1
137
Tool selection
270
10
-1
138
Tool selection
271
11
-1
139
Tool selection
272
12
-1
140
Tool selection
273
13
-1
141
Tool selection
274
14
-1
142
Tool selection
275
15
-1
143
Tool selection
276
16
-1
144
Tool selection
277
17
-1
145
Tool selection
278
18
-1
146
Tool selection
279
19
-1
147
Tool selection
280
20
-1
148
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index <n>
Type
Address ex
tension
Value
Group
Tool change
281
6 1)
149
Tool change
282
6 1)
150
Tool change
283
1)
151
Tool change
284
6 1)
152
Tool change
285
1)
153
Tool change
286
6 1)
154
Tool change
287
1)
155
Tool change
288
1)
156
Tool change
289
6 1)
157
Tool change
290
10
1)
158
Tool change
291
11
6 1)
159
Tool change
292
12
1)
160
Tool change
293
13
1)
161
Tool change
294
14
6 1)
162
Tool change
295
15
1)
163
Tool change
296
16
6 1)
164
Tool change
297
17
1)
165
Tool change
298
18
6 1)
166
Tool change
299
19
1)
167
Tool change
300
20
1)
168
Legend:
( ) The value can be changed.
1)
The value is depends on the machine data:
MD22560 $MC_TOOL_CHANGE_M_MODE (M function for tool change)
2)
The value can be preset with a different value using the following machine data:
3)
4)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
395
6)
8.2.2
Meaning
Index <n>
Output behavior
Index <n>
Output behavior, bit
18
17
16
15
14
13
12
11
10
Stop
(0)
(0)
(0) (1)
Conditional stop
(0)
(0)
(0) (1)
End of subroutine
(0)
(0)
(0) (1)
(0)
(0)
(0) (1)
(0)
(0)
(0) (1)
Tool change
(0)
(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle right
(0)
(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle left
(0)
(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle stop
(0)
(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle positioning
(0)
(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Axis mode
10
(0)
(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
11
(0)
Gear stage 1
12
(0)
Gear stage 2
13
(0)
Gear stage 3
14
(0)
Gear stage 4
15
(0)
Gear stage 5
16
(0)
Spindle speed
17
(0)
(0) (1)
Feed
18
(0)
(1)
(0) (1)
19
(0)
(0)
(0) (1)
DL
20
(0)
(0)
(0) (1)
Tool selection
21
(0)
(0)
(0) (1)
Stop (associated)
22
(0)
(0) (1)
396
(0)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index <n>
Output behavior, bit
23
(0)
(0)
(0) (1)
End of subroutine
24
(0)
(0)
(0) (1)
Nibbling
25
(0)
Nibbling
26
(0)
Nibbling
27
(0)
Nibbling
28
(0)
Nibbling
29
(0)
Nibbling
30
(0)
Nibbling
31
(0)
Nibbling
32
(0)
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
397
Meaning
10
11
12
13
14
15
16
398
Nibbling off
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
17
Nibbling on
18
Nibbling
Note
In the case of auxiliary functions for which no output behavior has been defined, the following
default output behavior is active:
Bit 0 = 1: Output duration one OB1 cycle
Bit 7 = 1: Output at block end
8.2.3
Parameterization
8.2.3.1
Group assignment
The handling of the auxiliary functions for a block search is defined using the group assignment
of an auxiliary function. The 168 auxiliary function groups available are subdivided into
predefined and user-definable groups:
Predefined groups:
User-defined groups:
1 ... 4
10 ... 12
5 ... 9
72 ... 168
13 ... 71
Each predefined auxiliary function is assigned, as standard, to an auxiliary function group. For
most pre-defined auxiliary functions, this assignment can be changed using the following
machine data:
MD22040 $MC_AUXFU_PREDEF_GROUP[<n>] (group assignment of predefined auxiliary
functions)
If an auxiliary function is not assigned to any group, then a value of "0" should be entered into
the machine data.
For the pre-defined auxiliary functions with the following indices <n>, the group assignment
cannot be changed: 0, 1, 2, 3, 4, 22, 23, 24
Note
1. Auxiliary function group and block search
Auxiliary functions of the 1st auxiliary function group are, for a block search, only collected,
but not output.
8.2.3.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
399
Type
The identifier of an auxiliary function is defined via the "type," e.g.:
"M"
"S"
"F"
For feed
Address extension
The "address extension" of an auxiliary function is for addressing different components of the
same type. In the case of predefined auxiliary functions, the value of the "address extension"
is the spindle number to which the auxiliary function applies.
The setting is made via the following machine data:
MD22060 $MC_AUXFU_PREDEF_EXTENSION[<n>] (address extension for predefined
auxiliary functions)
Grouping together auxiliary functions
To assign an auxiliary function for all spindles of a channel to the same auxiliary function group,
the value "-1" is entered for the "address extension" parameter.
Example:
The auxiliary function M3 (machine data index = 6) is assigned to the second auxiliary function
group for all the channel's spindles.
MD22040 $MC_AUXFU_PREDEF_GROUP[ 6 ]
MD22050 $MC_AUXFU_PREDEF_TYPE[ 6 ]
MD22060 $MC_AUXFU_PREDEF_EXTENSION[ 6 ]
MD22070 $MC_AUXFU_PREDEF_VALUE[ 6 ]
=2
= "M"
= -1
=3
Value
The parameters "value" and "type" define the meaning of an auxiliary function, i.e. the system
function that is activated on the basis of this auxiliary function.
The "value" of an auxiliary function is defined in the machine data:
400
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
8.2.3.3
Output behavior
Parameter "Output behavior" defines when the predefined auxiliary function is output to the
NC/PLC interface and when it is acknowledged by the PLC.
The setting is done via the following machine data:
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>] (output behavior of predefined auxiliary
functions)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
401
4XLW
(GLWLRQ
$[LVPRWLRQ
0
%ORFN
FKDQJH
(GLWLRQ
4XLW
6SLQGOH
UHVSRQVH
%ORFN
FKDQJH
4XLW
(GLWLRQ
06;B2XWSXWRSWLRQ
%ORFN
FKDQJH
(GLWLRQ
4XLW
0
%ORFN
FKDQJH
402
6SLQGOH
UHVSRQVH
$[LVPRWLRQ
0
06;B2XWSXWRSWLRQ
$[LVPRWLRQ
0
06;B2XWSXWRSWLRQ
6SLQGOH
UHVSRQVH
6SLQGOH
UHVSRQVH
$[LVPRWLRQ
06;B2XWSXWRSWLRQ
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
4XLW
2XWSXW
0;
2XWSXWRSWLRQ
0
%ORFNFKDQJH
6SLQGOH
UHVSRQVH
4XLW
2XWSXW
0;
2XWSXWRSWLRQ
0
$[LVPRWLRQ
%ORFNFKDQJH
2XWSXW
6SLQGOH
UHVSRQVH
4XLW
0
$[LVPRWLRQ
%ORFNFKDQJH
2XWSXW
W
6SLQGOH
UHVSRQVH
4XLW
0
'HIDXOWVHWWLQJ
06;
2XWSXWRSWLRQ
'HIDXOWVHWWLQJ
06;
2XWSXWRSWLRQ
$[LVPRWLRQ
%ORFNFKDQJH
6SLQGOH
UHVSRQVH
2XWSXW
4XLW
0
%ORFNFKDQJH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
'HIDXOWVHWWLQJ
0;
2XWSXWRSWLRQ
$[LVPRWLRQ
403
Y
'HIDXOWVHWWLQJ
6SLQGOHUHVSRQVH
0;
$FN
2XWSXW
2XWSXWEHKDYLRU
0
$[LVPRYHPHQW
%ORFNFKDQJH
Y
'HIDXOWVHWWLQJ
0;
2XWSXWEHKDYLRU
6SLQGOHUHVSRQVH
$FN
2XWSXW
0
$[LVPRYHPHQW
%ORFNFKDQJH
2XWSXW
$FN
6
6SLQGOHUHVSRQVH
'HIDXOWVHWWLQJ
06;
2XWSXWEHKDYLRU
$[LVPRYHPHQW
%ORFNFKDQJH
8.3
404
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Address extension 1)
Value
Tool change
Spindle right
Spindle left
Spindle stop
Position spindle
19
Axis mode
70
40
Gear stage 1
41
Gear stage 2
42
Gear stage 3
43
Gear stage 4
44
Gear stage 5
45
Spindle speed
-1
Tool selection
-1
1)
Address extension = 1 is the default value used in the auxiliary functions predefined in the machine
data
Example:
Extension of the predefined auxiliary function for the system function "spindle right" for the
second and third spindle of the channel.
Auxiliary function "spindle right" for the second spindle of the channel:
MD22010 $MC_AUXFU_ASSIGN_TYPE[ n ]
= "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ n ]
=2
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ n ]
=3
Auxiliary function "spindle right" for the third spindle of the channel:
MD22010 $MC_AUXFU_ ASSIGN_TYPE[ m ]
= "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ m ]
=3
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ m ]
=3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
405
8.3.1
Parameterization
8.3.1.1
8.3.1.2
Group assignment
The handling of the auxiliary functions for a block search is defined using the group assignment
of an auxiliary function. The 168 auxiliary function groups available are subdivided into
predefined and user-definable groups:
Predefined groups:
User-defined groups:
1 ... 4
10 ... 12
5 ... 9
72 ... 168
13 ... 71
Every user-defined auxiliary function is assigned as standard to the 1st auxiliary function group.
The assignment can be changed using the following machine data:
MD22000 $MC_AUXFU_ASSIGN_GROUP[<n>] (group assignment of user-defined auxiliary
functions)
If an auxiliary function is not assigned to any group, then a value of "0" should be entered into
the machine data.
Note
1. Auxiliary function group and block search
Auxiliary functions of the 1st auxiliary function group are, for a block search, only collected,
but not output.
8.3.1.3
406
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
The name of an auxiliary function is defined via the "type".
The identifiers for user-defined auxiliary functions are:
Type
Identifier
Meaning
"H"
Auxiliary function
"M"
Special function
"S"
Spindle function
"T"
Tool number
Address extension
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[<n>] (address extension user-defined
auxiliary functions)
The functionality of the address extension is not defined in user-specific auxiliary functions. It
is generally used to distinguish between auxiliary functions with the same "value".
Grouping together auxiliary functions
If all the auxiliary functions of the same type and value are assigned to the same auxiliary
function group, a value of "-1" must be entered for the "address extension" parameter.
Example:
All user-specific auxiliary functions with the value "= 8" are assigned to the tenth auxiliary
function group.
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 1 ]
MD22010 $MC_AUXFU_ ASSIGN_TYPE [ 1 ]
MD22020 $MC_AUXFU_ ASSIGN_EXTENSION [ 1 ]
MD22030 $MC_AUXFU_ ASSIGN_VALUE [ 1 ]
= 10
= "H"
= -1
=8
Value
MD22030 $MC_AUXFU_ASSIGN_VALUE[<n>] (value of user-defined auxiliary functions)
The functionality of the "value" parameter is not defined in user-specific auxiliary functions.
The value is generally used to activate the corresponding PLC user function.
Grouping together auxiliary functions
If all the auxiliary functions of the same type and address extension are assigned to the same
auxiliary function group, a value of "-1" must be entered for the "value" parameter.
Example:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
407
8.3.1.4
= 11
= "H"
=2
= -1
Output behavior
The "output behavior" of user-defined auxiliary functions can be parameterized via the machine
data:
MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>] (output behavior of user-defined auxiliary
functions)
For a description of the individual output parameters, see the "Output behavior (Page 401)"
section of the predefined auxiliary functions. The information given there can be applied
analogously to the output behavior of user-defined auxiliary functions.
8.4
Function
Associated auxiliary functions are user-defined auxiliary functions that have the same effect
as the corresponding predefined auxiliary functions. User-defined auxiliary functions can be
associated for the following predefined auxiliary functions:
M0 (stop)
M1 (conditional stop)
Requirements
The precondition for association of a user-defined auxiliary function with one of the predefined
auxiliary functions mentioned is parameterization of a user-defined auxiliary function. Only "M"
is allowed as a "type" parameter of the user-defined auxiliary function.
Parameter assignment
Association of a user-defined auxiliary function with one of the predefined auxiliary functions
mentioned is set in the machine data:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE (additional M function for program stop)
MD22256 $MC_AUXFU_ASSOC_M1_VALUE (additional M function for conditional stop)
408
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Group assignment
The group assignment of an associated user-defined auxiliary function is always the group
assignment of the corresponding predefined auxiliary function.
Application
Associated auxiliary functions can be used in:
Main program
Subroutine
Cycle
Note
Associated auxiliary functions may not be used in synchronized actions.
Boundary conditions
Please note the following boundary conditions:
A user-defined auxiliary function may not be multiply associated.
Predefined auxiliary functions (e.g. M3, M4, M5 etc.) may not be associated.
Example
Associating the user-defined auxiliary function M123 with M0:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE = 123
The user-defined auxiliary function M123 thus has the same functionality as M0.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
409
8.5
Function
The output behavior of auxiliary functions relative to a traversing motions programmed in the
parts program block can be defined type-specifically.
Parameter assignment
Parameters are assigned to type-specific output behavior via the machine data:
MD22200 $MC_AUXFU_M_SYNC_TYPE (output time for M functions)
MD22210 $MC_AUXFU_S_SYNC_TYPE (output time for S functions)
MD22220 $MC_AUXFU_T_SYNC_TYPE (output time for T functions)
MD22230 $MC_AUXFU_H_SYNC_TYPE (output time for H functions)
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time for F functions)
MD22250 $MC_AUXFU_D_SYNC_TYPE (output time for D functions)
MD22252 $MC_AUXFU_DL_SYNC_TYPE (output time for DL functions)
The following output behaviors can be parameterized:
MD $MC_AUXFU_xx_SYNC_TYPE = <value>
Value
Output behavior
For a description of the various output behaviors, see the section titled "Output behavior
(Page 401)".
Note
For the output behavior that can be set for each type of auxiliary function, please refer to the
"Detailed Description of Machine Data" Parameter Manual.
Example
Output of auxiliary functions with different output behaviors in a part program block with
traverse movement.
410
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
MD22220 $MC_AUXFU_T_SYNC_TYPE = 0
MD22230 $MC_AUXFU_H_SYNC_TYPE = 2
M function:
Output during motion
T function:
Output prior to motion
H function:
Output at the end of the block
;
7
0
+
W
!6WDUW1
8.6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
411
Output duration
The following priorities apply to the output duration:
Priority
Output behavior
Defined via:
Highest
Auxiliary function-specific
Auxiliary function-specific
MD22035 $MC_AUXFU_ASSIGN_SYNC[<n>]
MD22080 $MC_AUXFU_PREDEF_SYNC[<n>]
Group-specific
MD11110 $MC_AUXFU_GROUP_SPEC[<n>]
Lowest
Not defined
Output behavior
Defined via:
Highest
Auxiliary function-specific
MD22035 $MC_AUXFU_ASSIGN_SYNC[<n>]
Group-specific
MD11110 $MC_AUXFU_GROUP_SPEC[<n>]
Type-specific
MD22200 $MC_AUXFU_M_SYNC_TYPE
MD22080 $MC_AUXFU_PREDEF_SYNC[<n>]
MD22210 $MC_AUXFU_S_SYNC_TYPE
MD22220 $MC_AUXFU_T_SYNC_TYPE
MD22230 $MC_AUXFU_H_SYNC_TYPE
MD22240 $MC_AUXFU_F_SYNC_TYPE
MD22250 $MC_AUXFU_D_SYNC_TYPE
MD22252 $MC_AUXFU_DL_SYNC_TYPE
Lowest
Not defined
Note
Part program blocks without path motion
In a part program block without a path motion (even those with positioning axes and spindles),
the auxiliary functions are all output immediately in a block.
8.7
Syntax
An auxiliary function is programmed in a part program block with the following syntax:
<Type>[<Address extension>=]<Value>
412
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
If no address extension is programmed, the address extension is implicitly set = 0.
Predefined auxiliary functions with the address extension = 0 always refer to the master spindle
of the channel.
Symbolic addressing
The values for the "address extension" and "value" parameters can also be specified
symbolically. The symbolic name for the address extension must then be stated in brackets.
Example:
Symbolic programming of the auxiliary function M3 (spindle right) for the first spindle:
Program code
Comment
DEF SPINDEL_NR=1
DEF DREHRICHTUNG=3
Note
If you use symbolic names to program an auxiliary function, the symbolic name is not
transferred when the auxiliary function is output to the PLC. The corresponding numerical value
is transferred instead.
Examples
Example 1: Programming of predefined auxiliary functions
Program code
Comment
N10 M3
N20 M0=3
N30 M1=3
N40 M2=3
Example 2: Programming examples of auxiliary functions with the corresponding values for
output to the PLC
Program code
Comment
DEF Coolant=12
; Output to PLC: - - -
DEF Lubricant=130
; Output to PLC: - - -
H[coolant]=lubricant
H=coolant
H5
H=5.379
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
413
8.8
Comment
H17=3.5
H[coolant]=13.8
H='HFF13'
H='B1110'
H5.3=21
; Error
Function
User-specific auxiliary functions, for which the output behavior "Output duration of an OB1
cycle (slow acknowledgement)" was parameterized, can be defined for individual outputs via
the parts program guide QU (Quick) for auxiliary functions with quick acknowledgement.
Syntax
An auxiliary function with quick acknowledgment is defined in a part program block with the
following syntax:
<Type>[<Address extension>]=QU(<Value>)
Example
Different behavior for the output of the auxiliary functions M100 and M200 in a parts program.
The output behavior of the auxiliary functions is parameterized as follows:
M100
Output duration one OB1 cycle (slow acknowledgment)
Output during motion
M200
Output duration one OB1 cycle (slow acknowledgment)
Output prior to motion
Program code
Comment
N40 X0
414
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
M17
1)
Without a traverse movement, auxiliary functions are always output to the PLC immediately.
The following figure shows the time sequence of the part program. Please note the time
difference during the processing of parts program blocks N20 and N30.
;D[LV
<D[LV
0
0
%ORFNQXPEHU
1
1
1
1
1
0
6WUREHIURP1&.DQG
DFNQRZOHGJPHQWE\EDVLF
0
3/&SURJUDP
0FKDQJH,6
0FKDQJH,6
3/&F\FOHWLPH2%
8.9
2%
Function
On output of an auxiliary function to the PLC, the following signals and values are transferred
to the NC/PLC interface:
Change signals
"Address extension" parameter
"Value" parameter
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
415
8.10
Function
For auxiliary functions with parameterized and/or programmed output behavior, too:
"Output duration one OB40 cycle (quick acknowledgment)"
"Output before the motion" or "Output during the motion"
there may be drops in velocity in continuos-path mode (short traverse paths and high
velocities). This the system has to wait for acknowledgment of the auxiliary function by the
PLC toward the end of the block. To avoid these velocity drops, the block change can be made
irrespective of whether such auxiliary functions have been acknowledged:
Parameter assignment
Suppression of the block change delay with quick auxiliary functions is set via the machine
data:
MD22100 $MC_AUXFU_QUICK_BLOCKCHANGE (block change delay with quick auxiliary
functions)
Value
Meaning
In the case of quick auxiliary function output to the PLC, the block change is delayed until
acknowledgment by the PLC (OB40).
In the case of quick auxiliary function output to the PLC, the block change is not delayed.
Boundary conditions
Synchronism of auxiliary functions that are output without a block change delay is no longer
ensured for the part program block in which they are programmed. In the worst case scenario,
acknowledgment comes one OB40 cycle and execution of the auxiliary function comes one
OB1 cycle after the change to the next part program block.
416
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
8.11
Function
Triggering a preprocessing stop in conjunction with an auxiliary function can be programmed
explicitly via the STOPRE part program command. Always triggering a preprocessing stop in
M function programming can be parameterized for each M function via the following machine
data:
MD10713 $MN_M_NO_FCT_STOPRE[<n>] (M function with preprocessing stop)
Example
The user-defined M function M88 is intended to trigger a preprocessing stop.
Parameter assignment:
MD10713 $MN_M_NO_FCT_STOPRE [ 0 ] = 88
Application:
Parts program (extract)
Program code
Comment
...
N100 G0 X10 M88
N110 Y=R1
...
Boundary conditions
If a subroutine called indirectly via an M function in a part program in one of the following ways,
no preprocessing stop is performed:
MD10715 $MN_M_NO_FCT_CYCLE (M function to be replaced by subroutine)
M98 (ISO dialect T / ISO dialect M)
8.12
Response to overstore
Overstore
On the SINUMERIK operator interface, before starting the following functions:
NC START of a part program
NC START to resume an interrupted part program
the auxiliary functions that are output at the start can be changed by the "Overstore" function.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
417
Duration of validity
An overstored auxiliary function, e.g. M3 (spindle right), is valid until it is overwritten by another
auxiliary function from the same auxiliary function group, by additional overstoring or by
programming in a part program block.
8.13
8.13.1
Output behavior
In the case of type 1, 2, and 4 block searches, the auxiliary functions are collected on the basis
of specific groups. The last auxiliary function in each auxiliary function group is output after
NC-START in a separate part program block before the actual reentry block, and has the
following output behavior:
Output duration of one OB1 cycle (normal acknowledgement)
Output prior to motion
418
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Output control
Whether or not the auxiliary function is output to the PLC after a block search can be configured
via bit 8 of the machine data:
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
(output behavior of predefined auxiliary functions)
where <n> = system function index (0 ... 32)
MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>]
(output behavior of user-defined auxiliary functions)
where <n> = auxiliary function index (0 ... 254)
MD11110 $MN_AUXFU_GROUP_SPEC[<n>]
(output behavior of the auxiliary functions in a group)
where <n> = group index (0 ... 63)
Bit
10
Value
Meaning
This behavior does not affect the display and does not affect variables
$AC_AUXFU_STATE[<n>], $AC_AUXFU_VALUE[<n>], and $AC_AUXFU_EXT[<n>].
The auxiliary functions are always regarded as collected after a block search, even though
they are not output to the PLC.
During collection, an auxiliary function that is not output after a block search also overwrites
an auxiliary function whose bit 8 is not set.
The user can scan the collected auxiliary functions after a block search and, under certain
circumstances, output them again by means of the subprogram or synchronized actions.
Note
The following auxiliary functions are not collected:
Auxiliary functions which are not assigned to any auxiliary function group.
Auxiliary functions which are assigned to the first auxiliary function group.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
419
8.13.2
Function
User-defined auxiliary functions can also be assigned to multiple groups via the group
assignment (MD22000 $MC_AUXFU_ASSIGN_GROUP). During the block search these
auxiliary functions are collected for all the configured groups.
Note
Predefined auxiliary functions can only be assigned to one group.
Example
The DIN includes the following M-commands for coolant output:
M7: Coolant 2 ON
M8: Coolant 1 ON
M9: Coolants 1 and 2 OFF
Consequently, both coolants can also be active together:
If M7 and M8 are collected in two separate groups (e.g. groups 5 and 6)
If M9 has to be assigned to these two groups, e.g.
Group 5: M7, M9
Group 6: M8, M9
Parameterization:
MD11100 $MN_AUXFU_MAXNUM_GROUP_ASSIGN = 4
MD22000 $MC_AUXFU_ASSIGN_GROUP [0] = 5
MD22000 $MC_AUXFU_ASSIGN_GROUP [1] = 5
MD22000 $MC_AUXFU_ASSIGN_GROUP [2] = 6
MD22000 $MC_AUXFU_ASSIGN_GROUP [3] = 6
MD22010 $MC_AUXFU_ASSIGN_TYPE [0] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [1] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [2] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [3] = M
420
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
During the block search, the auxiliary function M9 is collected for groups 5 and 6.
Scan of the collected M auxiliary functions:
M function of the fifth group: $AC_AUXFU_M_VALUE [4] = 7
M function of the sixth group: $AC_AUXFU_M_VALUE [5] = 9
8.13.3
8.13.4
Function
The following predefined procedure is provided to simplify the process of determining the
output sequence of M auxiliary functions for the programmer:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
421
Output parameters:
VAR INT _NUM_OUT:
VAR INT _M_OUT[]:
VAR INT _EXT_OUT[]:
The function determines the sequence in which the M auxiliary functions, which have been
collected on a group-specific basis, are output for the predefined M codes. The sequence is
determined from the collection times $AC_AUXFU_M_TICK[<n>] (see Section "Time stamp of
the active M auxiliary function (Page 421)").
A particular M code is only taken into account once, even if it belongs to more than one group.
If the number of relevant M commands is less than or equal to 0, all the collected M codes are
output. The number of relevant M commands is limited to 64.
Example
M commands for coolant output:
M7: Coolant 2 ON
M8: Coolant 1 ON
M9: Coolants 1 and 2 OFF
Group assignment:
Group 5: M7, M9
Group 6: M8, M9
Part program (section):
Program code
...
N10 ... M8
N20 ... M9
N30 ... M7
...
422
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
8.13.5
Function
In certain situations, such as a tool change, it may be necessary not to output the spindlespecific auxiliary functions collected during the block search in action blocks, but to delay
output, for example, until after a tool change. The automatic output of the spindle-specific
auxiliary functions after a block search may be suppressed for this purpose. Output can then
be performed manually later by overstoring or by an ASUB.
Parameterization
Suppression of the automatic output of the spindle-specific auxiliary functions after a block
search is set via machine data:
MD11450 $MN_SEARCH_RUN_MODE (behavior after a block search)
Bit
Value
Meaning
The output of the spindle-specific auxiliary functions is performed in the action blocks.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
423
System variables
The spindle-specific auxiliary functions are always stored in the following system variables
during block searches, irrespective of the parameter assignment described above:
System variable
Description
$P_SEARCH_S [<n> ]
$P_SEARCH_SDIR [<n>]
0 ... Smax
$P_SEARCH_SGEAR [<n>]
3, 4, 5, -5, -19, 70
$P_SEARCH_SPOS [<n>]
40 ... 45
or
Accumulated traversing path
Range of values:
$P_SEARCH_SPOSMODE [<n>]
0 ... 5
For later output of the spindle-specific auxiliary functions, the system variables can be read in
an ASUB, for example, and output after the action blocks are output:
DB21, ... DBX32.6 = 1 (last action block active)
Note
The contents of the system variables $P_S, $P_DIR and $P_SGEAR may be lost after block
search due to synchronization operations.
For more detailed information on ASUB, block search and action blocks, see Section "K1:
Mode group, channel, program operation, reset response (Page 455)".
Example
Block search for contour with suppression of output of the spindle-specific auxiliary functions
and start of an ASUB after output of action blocks.
Parameterization: MD11450 $MN_SEARCH_RUN_MODE, bit 2 = 1
After the block search on N55, the ASUB is started.
Part program:
Program code
Comment
N05 M3 S200
; Spindle 1
N10 G4 F3
N15 SPOS=111
; Spindle 2
N25 G4 F3
424
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N30 SPOS[2]=IC(77)
N55 X10 G0
; Target block
N60 G4 F10
N99 M30
ASUB:
Program code
Comment
PROC ASUP_SAVE
MSG ("Output of the spindle functions")
DEF INT SNR=1
AUSG_SPI:
M[SNR]=$P_SEARCH_SGEAR[SNR]
S[SNR]=$P_SEARCH_S[SNR]
M[SNR]=$P_SEARCH_SDIR[SNR]
SNR=SNR+1
; Next spindle
MSG("")
REPOSA
RET
Explanation of example
If the number of spindles is known, outputs of the same type can be written in one part program
block to reduce program runtime.
Output of $P_SEARCH_SDIR should be made in a separate part program block because
spindle positioning or switchover to axis mode in conjunction with the gear change can cause
an alarm.
If the ASUB which has been started is ended with REPOSA, spindle 1 remains at position 111
degrees, while spindle 2 is repositioned at position 77 degrees.
If a different response is required, the program sequence for block search (for example) "N05
M3 S..." and "N30 SPOS[2] = IC(...)" requires special treatment.
Whether block search is active can be ascertained in the ASUB via the system variable
$P_SEARCH.
$P_SEARCH==1 ; Block search active
In the case of incremental positioning after speed control operation, the path to be traversed
is defined but, in some cases, the final position reached only becomes known during
positioning. This is the case, for example, during position calibration on crossing the zero mark
when switching on position control. For this reason, the distance programmed after the zero
position is accepted as the REPOS position (REPOSA in the ASUB).
Supplementary conditions
Collected S values
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
425
If the feed operation is changed (e.g. for a tool change) before output of the system variable
$P_SEARCH_S, the original setting from the target block in the part program must be restored
to avoid use of the wrong type of feed.
Collected direction of rotation
For output of the direction of rotation, the system variable $P_SEARCH_SDIR is assigned
default value "-5" at the start of the block search. This value has no effect on output.
This ensures that the last spindle operating mode is retained for a block search across program
sections in which spindles are not programmed with a direction of rotation, positioning or axis
mode.
The programming of M19, SPOS, and SPOSA is collected as "M-19" (internal M19) in the
system variables $P_SEARCH_SDIR as an alternative to M3, M4, M5, and M70.
For the output of "M-19", the positioning data is read internally from the system variables
$P_SEARCH_SPOS and $P_SEARCH_SPOSMODE. Both system variables can also be
written to, in order, for example, to make corrections.
Note
Because of the assignments described above (e.g. M[<n>] = $P_SEARCH_SDIR[<n>]), the
values "5" and "19" generally remain hidden from the user and only have to be observed in
the case of special evaluation of the system variables in the ASUB.
8.13.6
Output behavior
In the case of type 5 block searches (SERUPRO), an auxiliary function can be output to the
PLC during the block search and/or collected on a group-specific basis in the following system
variables:
$AC_AUXFU_PREDEF_INDEX[<n>] (index of a predefined auxiliary function)
$AC_AUXFU_TYPE[<n>] (type of auxiliary function)
$AC_AUXFU_STATE[<n>] (output state of the auxiliary function)
$AC_AUXFU_EXT[<n>] (address extension of the auxiliary function)
$AC_AUXFU_VALUE[<n>] (value of the auxiliary function)
For a description of the system variables, see Section "Querying system variables (Page 440)".
426
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Output control
Whether an auxiliary function is output to the PLC during a type 5 block search (SERUPRO)
and/or collected on a group-specific basis in the following system variables can be configured
via bits 9 and 10 of the machine data:
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
(output behavior of predefined auxiliary functions)
where <n> = system function index (0 ... 32)
MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>]
(output behavior of user-defined auxiliary functions)
where <n> = auxiliary function index (0 ... 254)
MD11110 $MN_AUXFU_GROUP_SPEC[<n>]
(output behavior of the auxiliary functions in a group)
where <n> = group index (0 ... 63)
Bit
Value
10
Meaning
Output counter
The user can output the collected auxiliary functions to the PLC on a channel-by-channel basis
in the block search ASUB. For the purposes of serialized output via multiple channels, the
three output counters are changed across all the channels each time an auxiliary function is
output:
System variable
Meaning
$AC_AUXFU_TICK[<n>,<m>]
Meaning
<n>
<m>
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
427
Meaning
$AC_AUXFU_TICK[<n>,<m>]
Counter value
$AN_AUXFU_LIST_CHANNO[<n>] 2)
Channel number
$AN_AUXFU_LIST_GROUPINDEX[<n>] 2)
Group index
428
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
&KDQQHO
&KDQQHO
Q 0$;180B*52836
&KDQQHO
Q 0$;180B*52836
Q
Q 0$;180B*52836
Q
Q
Q
$&B$8;)8B35('()B,1'(;>Q@
$&B$8;)8B7<3(>Q@
$&B$8;)8B(;7>Q@
$&B$8;)8B9$/8(>Q@
$&B$8;)8B67$7(>Q@
$&B$8;)8B63(&>Q@
$&B$8;)8B7,&.>Q@
$&B$8;)8B35('()B,1'(;>Q@
$&B$8;)8B7<3(>Q@
$&B$8;)8B(;7>Q@
$&B$8;)8B9$/8(>Q@
$&B$8;)8B67$7(>Q@
$&B$8;)8B63(&>Q@
$&B$8;)8B7,&.>Q@
Q
Q
$&B$8;)8B35('()B,1'(;>Q@
$&B$8;)8B7<3(>Q@
$&B$8;)8B(;7>Q@
$&B$8;)8B9$/8(>Q@
$&B$8;)8B67$7(>Q@
$&B$8;)8B63(&>Q@
$&B$8;)8B7,&.>Q@
*OREDOOLVWRIDX[LOLDU\IXQFWLRQV
Q 0$;180B*52836
0$;180B&+$11(/6
$1B$8;)8B/,67B(1',1'(;
$1B$8;)8B/,67B*5283,1'(;>Q@
$1B$8;)8B/,67B&+$112>Q@
The global list is structured on the basis of the sequence in which the search target was found.
It is intended to be used as a system proposal for auxiliary functions to be output in the following
ASUB at the end of SERUPRO. If an auxiliary function is not to be output, the corresponding
group index is to be set to "0".
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
429
430
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Meaning
11
Channel-specific collection
Cross-channel collection
The spindle auxiliary functions are filtered out beforehand at the end of the search depending
on the spindle state. The channel data is updated accordingly. The global auxiliary function
list can be processed sequentially in the ASUBs at the end of the SERUPRO, and the sorted
auxiliary functions can be output with channel synchronization.
8.13.7
Function
After completing the block search with the program test (SERUPRO), before starting the
subsequent processing, the auxiliary functions collected during the search must be output. For
this purpose, during the block search, the auxiliary functions are collected in a global list. The
SERUPRO end ASUBs generate the corresponding part program blocks channel-specific from
this list. This ensures that the collected auxiliary functions can be output both channel-specific
as well as cross-channel in the correct sequence. A fully functional SERUPRO end ASUB is
a component of the NCK software.
Users/machinery construction OEMs can change the SERUPRO end ASUB. The
subsequently described functions support processing the global list of auxiliary functions and
generating the part program blocks required for synchronized auxiliary function output.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
431
Function AUXFUSYNC(...)
Function:
The function AUXFUSYNC generates a complete part program block as string from the global
list of auxiliary functions at each call. The part program block either contains auxiliary functions
or commands to synchronize auxiliary function outputs (WAITM, G4, etc.).
The function triggers a preprocessing stop.
Syntax:
PROC AUXFUSYNC(VAR INT <NUM>, VAR INT <GROUPINDEX>[10], VAR
STRING[400] <ASSEMBLED>)
Parameters:
<NUM>:
<GROUP INDEX>:
<ASSEMBLED>:
Further information:
If auxiliary functions were collected via a synchronized action, two NC blocks are generated.
One NC block to output the auxiliary functions. An executable NC block via which the NC block
is transported to the main run to output the auxiliary functions:
1. Output of the auxiliary functions via synchronized action, e.g.: WHEN TRUE DO M100 M102
2. Executable NC block, e.g.: G4 F0.001
Function AUXFUDEL(...)
Function:
The function AUXFUDEL deletes the specified auxiliary function from the global list of auxiliary
functions channel-specific for the calling channel. Deletion is realized by setting the
corresponding group index ...GROUPINDEX[n] to 0.
The function must be called before calling AUXFUSYNC.
The function triggers a preprocessing stop.
Syntax:
PROC AUXFUDEL(CHAR <TYPE>, INT <EXTENSION>, REAL <VALUE>, INT
<GROUP>)
432
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Function AUXFUDELG(...)
Function:
The function AUXFUDELG deletes all auxiliary functions of the specified auxiliary function
group from the global list of auxiliary functions channel-specific for the calling channel. Deletion
is realized by setting the corresponding group index ...GROUPINDEX[n] to 0.
The function must be called before calling AUXFUSYNC.
The function triggers a preprocessing stop.
Syntax:
PROC AUXFUDELG(INT <GROUP>)
Parameters:
<GROUP>:
Examples
Two examples for configuring a user-specific SERUPRO end ASUB.
Example 1: Deleting auxiliary functions and generating the auxiliary function output with
AUXFUSYNC(...)
Program code
Comment
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
433
Comment
N90
N140 AUXFUDEL("M",2,3,5)
N150
N170 AUXFUDELG(6)
N180
N190 IF ISFILE(FILENAME)
N210
DELETE(ERROR,FILENAME)
N220
IF (ERROR<>0)
; Error evaluation
N230
N240
SETAL(61000+ERROR)
ENDIF
N250 ENDIF
; CAUTION!
; If, for a multi-channel block search, auxiliary functions with AUXFUDEL/AUXFUDELG
; are deleted from the global list of auxiliary functions, before the loop to
; generate the subprogram FILENAME with AUXFUSYNC, the channels must be synchronized.
The synchronization ensures that all delete requests were processed
; in all channels and a consistent list is available.
; Example: WAITM(99,1,2,3)
N270 LOOP
N300
AUXFUSYNC(NUM,GROUPINDEX,ASSEMBLED)
IF (NUM==-1)
N310
N320
GOTOF LABEL1
N350
ENDIF
N380
WRITE(ERROR,FILENAME,ASSEMBLED)
N390
IF (ERROR<>0)
; Error evaluation
N400
N410
SETAL(61000+ERROR)
ENDIF
N430 ENDLOOP
N440
N450 LABEL1:
N460
N480 CALL FILENAME
N490
N510 DELETE(ERROR,FILENAME)
N520 IF (ERROR<>0)
N530
SETAL(61000+ERROR)
N540 ENDIF
N550
N560 M17
434
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N0770
N0790 AUXFUDELG(6)
N0800
N0810 IF ISFILE(FILENAME)
N0830
DELETE(ERROR,FILENAME)
N0840
IF (ERROR<>0)
N0850
N0860
SETAL(61000+ERROR)
ENDIF
N0870 ENDIF
N0880
; CAUTION!
; If, for a multi-channel block search, auxiliary functions with AUXFUDEL/AUXFUDELG
; are deleted from the global list of auxiliary functions, before the loop to
; generate the subprogram FILENAME with AUXFUSYNC, the channels must be synchronized.
The synchronization ensures that all delete requests were processed
; in all channels and a consistent list is available.
; Example: WAITM(99,1,2,3)
N0890 LOOP
N0920
AUXFUSYNC(NUM,GROUPINDEX,ASSEMBLED)
; Procedure to generate
; auxiliary function blocks from the global
; auxiliary function list.
N0930
N0940
IF (NUM==-1)
N0960
N0970
GOTOF LABEL1
ENDIF
N0980
N1000
IF (NUM>0)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
435
Comment
N1010
N1020
ASSEMBLED=""
N1030
N1050
N1060
N1080
IF GROUPINDEX[LAUF]<>0
N1090
N1100
ISQUICK=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H2'
N1110
N1120
ISSYNACT=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H1000'
N1130
N1140
ISIMPL=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H2000'
N1150
N1180
IF ISSYNACT
N1190
N1200
N1260
N1270
ELSE
ASSEMBLED= ASSEMBLED << "M[" << $AC_AUXFU_EXT[GROUPINDEX[LAUF]] << "]="
N1280
N1290
IF ISQUICK
N1300
N1310
N1320
N1330
N1340
N1350
IF ISQUICK
N1360
N1370
N1380
N1400
N1420
N1430
N1450
WRITE(ERROR,FILENAME,ASSEMBLED)
N1460
N1470
IF ISSYNACT
N1480
ASSEMBLED="G4 F0.001"
N1490
WRITE(ERROR,FILENAME,ASSEMBLED)
436
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
ENDIF
N1510
N1520
ELSE
N1540
N1550
WRITE(ERROR,FILENAME,ASSEMBLED)
ENDIF
N1560
N1570 ENDLOOP
N1580
N1590 LABEL1:
N1600
N1620 CALL FILENAME
N1630
N1650 DELETE(ERROR,FILENAME)
N1660 IF (ERROR<>0)
N1670
SETAL(61000+ERROR)
N1680 ENDIF
N1690
N1700 M17
8.14
Function
Implicitly output auxiliary functions are auxiliary functions which have not been programmed
explicitly and which are also output by other system functions (e.g. transformation selection,
tool selection, etc.). These implicit auxiliary functions do not lead to any system function;
instead, the M codes are collected according to output behavior parameters assigned to them
and/or are output to the PLC.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
437
Parameterization
The M codes for auxiliary functions to be output implicitly are defined with the machine data:
MD22530 $MC_TOCARR_CHANGE_M_CODE (M code at toolholder change)
This machine data value indicates the number of the M code which is output when a
toolholder is activated at the NC/PLC interface.
If the value is positive, the unchanged M code is always output.
If the value is negative, the number of the toolholder is added to the machine data value,
and this number is output.
MD22532 $MC_GEOAX_CHANGE_M_CODE (M code when switching the geometry
axes)
Number of the M code which is output when the geometry axes on the NC/PLC interface
are switched.
MD22534 $MC_TRAFO_CHANGE_M_CODE (M code in the case of transformation
changes)
Number of the M code which is output during a transformation switch of the geometry axes
at the NC/PLC interface.
Note
No M code is output if the number of the M code being output or the MD22530/MD22532/
MD22534 value is between 0 and 6, or is either 17 or 30. Whether or not an M code which
is generated in this manner leads to conflicts with other functions is not monitored.
Output behavior
In the case of implicitly output auxiliary functions, bit 13 is set in machine data MD22080 or
MD22035 (output behavior of predefined or user-defined auxiliary functions).
This bit can be queried via the system variable $AC_AUXFU_SPEC[<n>].
8.15
Information options
Information about auxiliary functions (e.g. about the output status) is possible via:
The group-specific modal M auxiliary function display on the user interface
Querying system variables in part programs and synchronized actions
438
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
8.15.1
Function
The output status and acknowledgement status of M auxiliary functions can be displayed on
the user interface on a group-specific basis.
Requirements
To implement function-oriented acknowledgement and display of M auxiliary functions, the
auxiliary functions must be managed in the PLC and, thus, in the user program itself. Therefore,
it is up to the PLC programmer to program the acknowledgement of these auxiliary functions.
He has to know which auxiliary functions in which group have to be acknowledged.
Standard
M auxiliary functions that are not managed by means of the PLC are identified by the NC as
"transferred" and output to the PLC. There is no functional acknowledgement for these auxiliary
functions. All M-auxiliary functions collected after a block search are also displayed so that the
operator knows which auxiliary functions will be output after a start following a block search.
PLC activities
In the case of auxiliary function groups that are managed by the PLC itself, the PLC user
program must acknowledge all auxiliary functions of this groups when Apply and Function
End are activated. The PLC programmer must know all the auxiliary functions of these groups.
Miscellaneous
Only the group-specific M auxiliary functions are displayed. The block-by-block display is also
retained. Up to 15 groups can be displayed, whereby only the last M function of a group that
was either collected or output to the PLC is displayed for each group. The M functions are
presented in various display modes depending on their status:
Status
Display mode
Inverted
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
439
Display update
The display is organized in such a way that the collected auxiliary functions are always
displayed first, before those that were managed by the PLC and before those that were
managed by the NC. A collected auxiliary function is marked as collected until it has been
output from the NCK to the PLC. PLC-managed auxiliary functions are retained until they are
displaced by another auxiliary function. In the case of a reset, only the collected auxiliary
functions and the NC-managed auxiliary functions are deleted.
8.15.2
Function
Auxiliary functions can be queried on a group-specific basis via system variables in the part
program and via synchronized actions:
$AC_AUXFU_... [<n>] = <value>
system variables
Meaning
$AC_AUXFU_PREDEF_INDEX[<n>]
<value>:
<n>:
Note:
A predefined auxiliary function can be uniquely identified via
this variable.
$AC_AUXFU_TYPE[<n>]
<value>:
$AC_AUXFU_EXT[<n>]
<n>:
<value>:
or M function specific:
$AC_AUXFU_M_EXT[<n>]
Type INT
:
<n>:
440
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
$AC_AUXFU_VALUE[<n>]
<value>:
or M function specific:
$AC_AUXFU_M_VALUE[<n>]
$AC_AUXFU_SPEC[<n>]
<n>:
Value:
<n>:
Note:
This variable can be used to determine whether the auxiliary
function should be output with a fast acknowledgement.
$AC_AUXFU_STATE[<n>]
<value>:
or M function specific:
$AC_AUXFU_M_STATE[<n>]
<n>:
INT
Value range:
0 ... 5
0:
No auxiliary function
1:
2:
3:
4:
5:
Example
All M-auxiliary functions of the 1st group will be stored in the order they are output
id=1 every $AC_AUXFU_M_STATE[0]==2 do $AC_FIFO[0,0]=
$AC_AUXFU_M_VALUE[0]
References
For more information on the system variables, refer to:
List Manual, system variables
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
441
8.16
Supplementary conditions
8.16.1
General constraints
Spindle replacement
Because the auxiliary functions are parameterized channel-specifically, if function: "spindle
replacement" is used, the spindle-specific auxiliary function must be parameterized
immediately in all channels that use the spindles.
Tool management
If tool management is active, the following constraints apply:
T and M<k> functions are not output to the PLC.
Note
k is the parameterized value of the auxiliary function for the tool change (default: 6):
MD22560 $MC_TOOL_CHANGE_M_CODE (auxiliary function for tool change)
If no address extension is programmed, the auxiliary function refers to the master spindle
or the master tool holder of the channel.
Definition of the master spindle:
MD20090 $MC_SPIND_DEF_MASTER_SPIND
Part program instruction: SETMS
Definition of the master tool holder
MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER
Part program instruction: SETMTH
442
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
8.16.2
Output behavior
Thread cutting
During active thread cutting G33, G34 and G35, the following output behavior is always active
for the spindle-specific auxiliary functions:
M3 (spindle right)
M4 (spindle left)
Output duration of one OB40 cycle (quick acknowledgement)
Output during motion
The spindle-specific auxiliary function M5 (spindle stop) is always output at the end of the block.
The part program block that contains M5 is always ended with exact stop, i.e. even during
active continuous-path mode.
Synchronized actions
With output auxiliary functions from synchronized actions, the parameterized output behavior
is ignored except for the following parameters:
Bit0: Output duration of one OB1 cycle (normal acknowledgement)
Bit1: Output duration of one OB40 cycle (quick acknowledgement)
Meaning
The auxiliary functions M17 or M2/M30 (subprogram end) are not output to the PLC. Con
tinuous-path mode is not interrupted at the end of the subprogram
The auxiliary functions M17 or M2/M30 (subprogram end) are output to the PLC.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
443
Meaning
The auxiliary function M01 (conditional stop) is always output to the PLC. A quick ac
knowledgement is ineffective, because M01 is permanently assigned to the first auxiliary
function group and is therefore always output at the end of the block.
The auxiliary function M01 (conditional stop) is only output to the PLC, if the function:
"Programmed stop" is activated via the HMI user interface.
In the case of a quick acknowledgement, the M1 is output to the PLC during the motion.
While the function is not active, this does not interrupt continuous-path mode.
Spindle-specific auxiliary function output only as information for the PLC user program
In certain controller situations, e.g. at the end of a block search, the collected spindle-specific
auxiliary functions (e.g. M3, M4, M5, M19, M40...M45, M70) is output to the NC/PLC interface
only for information purposes for the PLC user program. The controller generates a part
program block (action block) in which the collected auxiliary functions are entered with a
negative address extension. The corresponding system functions are then not executed.
Example: M(-2) = 41 request gear stage change for the 2nd spindle
8.17
Examples
8.17.1
Task
Parameter assignment of auxiliary functions M3, M4, and M5 for the second spindle of the
channel
Parameter assignment: M3
Requirements:
Machine data index: 0 (first user-defined auxiliary function)
auxiliary function group: 5
Type and value: M3 (spindle right)
444
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
=5
= "M"
=2
=3
= 'H21'
Parameter assignment: M4
Requirements:
Machine data index: 1 (second user-defined auxiliary function)
auxiliary function group: 5
Type and value: M4 (spindle left)
Address extension: 2 as appropriate for the 2nd spindle of the channel
Output behavior:
Output duration one OB1 cycle (normal acknowledgment)
Spindle response following acknowledgment
Output during motion
Parameter assignment:
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 1 ]
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 1 ]
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 1 ]
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 1 ]
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 1 ]
=5
= "M"
=2
=4
= 'H51'
Parameter assignment: M5
Requirements:
Machine data index: 2 (third user-defined auxiliary function)
auxiliary function group: 5
Type and value: M5 (spindle stop)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
445
8.17.2
=5
= "M"
=2
=5
= 'H91'
Task
Parameter assignment of the auxiliary function-specific machine data for a machine with the
following configuration:
Spindles
Spindle 1: Master spindle
Spindle 2: Second spindle
Gear stages
Spindle 1: 5 gear stages
Spindle 2: No gear stages
Switching functions for cooling water on/off
Spindle 1
"ON" = M50
"OFF" = M51
Spindle 2
"ON" = M52
"OFF" = M53
446
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Requirements
Spindle 1 (master spindle)
Note
Default assignments
The auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70 of spindle 1
(master spindle) are assigned as standard to the second auxiliary function group.
All S and S1 values of spindle 1 (master spindle) are assigned to the third auxiliary function
group by default.
The gear stage last programmed is to be output after block search. The following auxiliary
functions are assigned to the ninth auxiliary function group for this reason:
M40, M41, M42, M43, M44, M45
M1=40, M1=41, M1=42, M1=43, M1=44, M1=45
The auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70 (second auxiliary
function group) and S and S1 values (third auxiliary function group) should possess the
following output behavior:
Output duration one OB40 cycle (quick acknowledgment)
Output prior to motion
The auxiliary functions for gear changeover M40 to M45 and M1=40 to M1=45
(ninth auxiliary function group) should have the following output behavior:
Output duration one OB1 cycle (normal acknowledgment)
Output prior to motion
Spindle 2
Only one M function for directional reversal may be programmed in one block. The direction
of rotation last programmed is to be output after block search. The following auxiliary
functions are assigned to the tenth auxiliary function group for this reason:
M2=3, M2=4, M2=5, M2=70
All S2 values are assigned to auxiliary function group 11.
The auxiliary functions M2=3, M2=4, M2=5, M2=70 (tenth auxiliary function group) and S2
values (auxiliary function group 11) should have the following output behavior:
Output duration one OB40 cycle (quick acknowledgment)
Output prior to motion
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
447
Comment
$MN_AUXFU_MAXNUM_GROUP_ASSIGN=21
$MN_AUXFU_GROUP_SPEC[1]='H22'
$MN_AUXFU_GROUP_SPEC[2]='H22'
$MN_AUXFU_GROUP_SPEC[8]='H21'
$MC_AUXFU_ASSIGN_TYPE[0]="M"
$MC_AUXFU_ASSIGN_EXTENSION[0]=0
$MC_AUXFU_ASSIGN_VALUE[0]=40
$MC_AUXFU_ASSIGN_GROUP[0]=9
; ... (and analogously for aux. functions 2 to
5)
$MC_AUXFU_ASSIGN_TYPE[5]="M"
$MC_AUXFU_ASSIGN_EXTENSION[5]=0
$MC_AUXFU_ASSIGN_VALUE[5]=45
$MC_AUXFU_ASSIGN_GROUP[5]=9
$MC_AUXFU_ASSIGN_TYPE[6]="M"
$MC_AUXFU_ASSIGN_EXTENSION[6]=1
$MC_AUXFU_ASSIGN_VALUE[6]=40
$MC_AUXFU_ASSIGN_GROUP[6]=9
; . . . (and analogously for aux. functions 8 to
11)
$MC_AUXFU_ASSIGN_TYPE[11]="M"
$MC_AUXFU_ASSIGN_EXTENSION[11]=1
$MC_AUXFU_ASSIGN_VALUE[11]=45
$MC_AUXFU_ASSIGN_GROUP[11]=9
448
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
$MN_AUXFU_GROUP_SPEC[9] = 'H22'
$MC_AUXFU_ASSIGN_TYPE[12]="M"
$MC_AUXFU_ASSIGN_EXTENSION[12]=2
$MC_AUXFU_ASSIGN_VALUE[12]=3
$MC_AUXFU_ASSIGN_GROUP[12]=10
$MC_AUXFU_ASSIGN_TYPE[13]="M"
$MC_AUXFU_ASSIGN_EXTENSION[13]=2
$MC_AUXFU_ASSIGN_VALUE[13]=4
$MC_AUXFU_ASSIGN_GROUP[13]=10
$MC_AUXFU_ASSIGN_TYPE[14]="M"
$MC_AUXFU_ASSIGN_EXTENSION[14]=2
$MC_AUXFU_ASSIGN_VALUE[14]=5
$MC_AUXFU_ASSIGN_GROUP[14]=10
$MC_AUXFU_ASSIGN_TYPE[15]="M"
$MC_AUXFU_ASSIGN_EXTENSION[15]=2
$MC_AUXFU_ASSIGN_VALUE[15]=70
$MC_AUXFU_ASSIGN_GROUP[15]=10
$MN_AUXFU_GROUP_SPEC[10] = 'H22'
$MC_AUXFU_ASSIGN_TYPE[16] = "S"
$MC_AUXFU_ASSIGN_EXTENSION[16]=2
$MC_AUXFU_ASSIGN_VALUE[16]=-1
$MC_AUXFU_ASSIGN_GROUP[16]=11
$MN_AUXFU_GROUP_SPEC[11]='H21'
$MC_AUXFU_ASSIGN_TYPE[17]="M"
$MC_AUXFU_ASSIGN_EXTENSION[17]=0
$MC_AUXFU_ASSIGN_VALUE[17]=50
$MC_AUXFU_ASSIGN_GROUP[17]=12
$MC_AUXFU_ASSIGN_TYPE[18]="M"
$MC_AUXFU_ASSIGN_EXTENSION[18]=0
$MC_AUXFU_ASSIGN_VALUE[18]=51
$MC_AUXFU_ASSIGN_GROUP[18]=12
$MN_AUXFU_GROUP_SPEC[12]='H21'
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
449
Comment
$MC_AUXFU_ASSIGN_TYPE[19]="M"
$MC_AUXFU_ASSIGN_EXTENSION[19]=0
$MC_AUXFU_ASSIGN_VALUE[19]=52
$MC_AUXFU_ASSIGN_GROUP[19]=13
$MC_AUXFU_ASSIGN_TYPE[20]="M"
$MC_AUXFU_ASSIGN_EXTENSION[20]=0
$MC_AUXFU_ASSIGN_VALUE[20]=53
$MC_AUXFU_ASSIGN_GROUP[20]=13
8.18
Data lists
8.18.1
Machine data
8.18.1.1
Number
Identifier: $MN_
Description
10713
M_NO_FCT_STOPRE
10714
M_NO_FCT_EOP
10715
M_NO_FCT_CYCLE
11100
AUXFU_MAXNUM_GROUP_ASSIGN
11110
AUXFU_GROUP_SPEC
11450
SEARCH_RUN_MODE
8.18.1.2
Number
Identifier: $MC_
Description
20110
RESET_MODE_MASK
20112
START_MODE_MASK
20270
CUTTING_EDGE_DEFAULT
20800
SPF_END_TO_VDI
22000
AUXFU_ASSIGN_GROUP
22010
AUXFU_ASSIGN_TYPE
22020
AUXFU_ASSIGN_EXTENSION
450
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Identifier: $MC_
Description
22030
AUXFU_ASSIGN_VALUE
22035
AUXFU_ASSIGN_SPEC
22040
AUXFU_PREDEF_GROUP
22050
AUXFU_PREDEF_TYPE
22060
AUXFU_PREDEF_EXTENSION
22070
AUXFU_PREDEF_VALUE
22080
AUXFU_PREDEF_SPEC
22100
AUXFU_QUICK_BLOCKCHANGE
22110
AUXFU_H_TYPE_INT
22200
AUXFU_M_SYNC_TYPE
22210
AUXFU_S_SYNC_TYPE
22220
AUXFU_T_SYNC_TYPE
22230
AUXFU_H_SYNC_TYPE
22240
AUXFU_F_SYNC_TYPE
22250
AUXFU_D_SYNC_TYPE
22252
AUXFU_DL_SYNC_TYPE
22254
AUXFU_ASSOC_M0_VALUE
22256
AUXFU_ASSOC_M1_VALUE
22530
TOCARR_CHANGE_M_CODE
22532
GEOAX_CHANGE_M_CODE
22534
TRAFO_CHANGE_M_CODE
22560
TOOL_CHANGE_M_CODE
8.18.2
Signals
8.18.2.1
Signals to channel
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB320x.DBX14.5
SINUMERIK 840D sl
SINUMERIK 828D
M function 1 - 5 change
DB250x.DBX4.0-4
S function 1 - 3 change
DB250x.DBX6.0
S function 1 - 3 quick
T function 1 - 3 change
8.18.2.2
Signal name
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
451
SINUMERIK 840D sl
SINUMERIK 828D
T function 1 - 3 quick
D function 1 - 3 change
DB250x.DBX10.0
D function 1 - 3 quick
DL function change
DL function quick
H function 1 - 3 change
DB250x.DBX12.0-2
H function 1 - 3 quick
F function 1 - 6 change
M function 1 - 5 quick
F function 1 - 6 quick
DB250x.DBB3004
M function 1 (DInt)
DB250x.DBD3000
DB250x.DBB3012
M function 2 (DInt)
DB250x.DBD3008
DB250x.DBB3020
M function 3 (DInt)
DB250x.DBD3016
DB250x.DBB3028
M function 4 (DInt)
DB250x.DBD3024
DB250x.DBB3036
M function 5 (DInt)
DB250x.DBD3032
DB250x.DBB4004
S function 1 (real)
DB250x.DBD4000
DB250x.DBB4012
S function 2 (real)
DB250x.DBD4008
DB250x.DBB4020
S function 3 (real)
DB250x.DBD4016
T function 1 (integer)
DB250x.DBD2000
T function 2 (integer)
T function 3 (integer)
DB250x.DBD5000
DL function (real)
DB250x.DBB6004
452
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
SINUMERIK 840D sl
SINUMERIK 828D
DB250x.DBD6000
DB250x.DBB6012
DB250x.DBD6008
DB250x.DBB6020
DB250x.DBD6016
F function 1 (real)
F function 2 (real)
F function 3 (real)
F function 4 (real)
F function 5 (real)
F function 6 (real)
DB250x.DBB1000
DB250x.DBB1001
DB250x.DBB1002
DB250x.DBB1003
DB250x.DBB1004
DB250x.DBB1005
DB250x.DBB1006
DB250x.DBB1007
DB250x.DBB1008
DB250x.DBB1009
DB250x.DBB1010
DB250x.DBB1011
DB250x.DBB1012.0-3
DB330x.DBX4002.5
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
8.18.2.3
Signals to axis/spindle
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
453
8.18.2.4
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB370x.DBD0000
DB370x.DBD0004
454
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Product brief
Channel
An NC channel represents the smallest unit for manual traversing of axes and automatic
processing of part programs. At any one time, a channel will always be in a particular mode,
e.g. AUTOMATIC, MDI, or JOG. A channel can be regarded as an independent NC.
Mode group
A channel always belongs to a mode group. A mode group can also consist of several channels.
A mode group can be identified by the fact that all channels of the mode group are always in
the same mode at a particular time, e.g. AUTOMATIC, MDI, or JOG. This is ensured through
the NC internal mode logic.
A mode group can be regarded as an independent multi-channel NC.
Channel gaps
When channels are configured, placeholder channels can be provided in order to create as
uniform a configuration as possible over machines in a series. Only the channels that are
actually used are then activated.
Program test
The following options are available for testing or moving in position a new part program.
Program execution without setpoint outputs
Program execution in singleblock mode
Program execution with dry run feedrate
Skip part program blocks
Block search with or without calculation.
Block search
The block search function enables the following program simulations for locating specific
program points:
Type 1 without calculation at contour
Type 2 with calculation at contour
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
455
Program operation
The execution of part programs or part program blocks in AUTOMATIC or MDI modes is
referred to as program operation. During execution, the program sequence can be controlled
by PLC interface signals and commands.
For each channel, basic settings or channel-specific machine data can be specified. These
initial settings affect, for example, G groups and auxiliary function output.
A part program can be selected only if the relevant channel is in the Reset state.
Furthermore, all further program runs are handled by PLC interface signals and the
corresponding commands.
Start of part program or part program block
Part program calculation and program control
RESET command, program status, and channel status
Responses to operator and program actions
Eventdriven program calls
Single block
With the single-block function, the user can execute a part program block-by-block.
There are 3 types of setting for the single-block function:
SLB1: = IPO single block
SLB2: = Decode single block
SLB3: = Stop in cycle
456
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.2
Mode group
Mode group
In a mode group, multiple channels if an NC are grouped together to form one processing unit.
In principle, it is an independent "NC" within an NC.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
457
Parameter assignment
A channel is assigned to a mode group in the machine data:
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[<channel index>] = mode group
number
All channels with the same mode group number form one mode group.
Note
A NC always comprises one mode group with one channel by default. It is not possible to
parameterize an NC without a channel.
458
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
459
Example
Machine data
Meaning
MD10010 $MN_AS
SIGN_CHAN_TO_MODE_GROUP[0] = 1
MD10010 $MN_AS
SIGN_CHAN_TO_MODE_GROUP[1] = 2
MD10010 $MN_AS
SIGN_CHAN_TO_MODE_GROUP[2] = 0
MD10010 $MN_AS
SIGN_CHAN_TO_MODE_GROUP[3] = 1
MD10010 $MN_AS
SIGN_CHAN_TO_MODE_GROUP[4] = 2
See also
K2: Axis Types, Coordinate Systems, Frames (Page 661)
S1: Spindles (Page 1199)
9.2.1
Function
The following NC/PLC interface signals are used to stop the traversing motions of the axes or
of the axes and spindles in all mode group channels and to interrupt part program execution:
DB11 DBX0.5 (mode group stop)
DB11 DBX0.6 (mode group stop, axes plus spindles)
9.2.2
Function
A mode group Reset is requested via a mode group-specific NC/PLC interface signal:
DB11 DBX0.7 = 1 (mode group reset)
460
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Effect
Effect on the channels of mode group:
Part program preparation (preprocessing) is stopped.
All axes and spindles are decelerated to zero speed according to their acceleration curves
without contour violation.
Any auxiliary functions not yet output to the PLC are no longer output.
The preprocessing pointers are set to the interruption point, and the block pointers are set
to the beginning of the appropriate part programs.
All initial settings (e.g. the G functions) are set to the parameterized values.
All alarms with "Channel reset" criterion are canceled.
If all the channels of the mode group are in reset state, then:
All alarms with "Mode group reset" cancel criterion are canceled.
The NC/PLC interface indicates completion of the mode group Reset and the mode group's
readiness to operate:
DB11 DBX6.7 (all channels in the reset state)
DB11 DBX6.3 = 1 (mode group ready)
9.3
Unique mode
All channels of a mode group are always in the same mode:
AUTOMATIC
JOG
MDI
If individual channels are assigned to different mode groups, a channel switchover activates
the corresponding mode group. This allows mode changes to be initiated via a channel
switchover.
Modes
The following modes are available:
AUTOMATIC
Automatic execution of part programs:
Part program test.
All channels of the mode group can be active at the same time.
JOG in Automatic
JOG in AUTOMATIC is an extension of AUTOMATIC mode intended to simplify use. JOG
can be executed without leaving AUTOMATIC mode if boundary conditions so permit.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
461
Selection
The user can select the desired mode by means of softkeys on the user interface.
This selection (AUTOMATIC, MDI, or JOG) is forwarded to the PLC on the NC/PLC interface,
but is not activated:
DB11 DBX4.0, 0.1, 0.2 (strobe mode)
462
Priority
Mode
JOG
DB11 DBX0.2
MDI
DB11 DBX0.1
AUTOMATIC
DB11 DBX0.0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Display
The current mode of the mode group is displayed via the NC/PLC interface:
DB11 DBX6.0, 0.1, 0.2 (active mode)
Mode-group signal (NCK PLC)
DB11 DBX6.2
JOG
DB11 DBX6.1
MDI
DB11 DBX6.0
AUTOMATIC
Machine functions
Machine functions can be selected within a mode that also apply within the mode group:
Machine functions within the JOG mode
REF (reference point approach)
REPOS (repositioning)
JOG retract (retraction motion in the tool direction)
Machine functions within the MDI mode
REF (reference point approach)
REPOS (repositioning)
TEACHIN (teach-in of axis positions)
NC/PLC interface signals
DB11 DBX5.0, 0.1, 0.2 (machine function strobe): Requirement
DB11 DBX1.0, 0.1, 0.2 (machine function): Activation
DB11 DBX7.0-2 (active machine function): Feedback signal
Channel states
Channel reset
The machine is in its initial state. This is defined by the machine manufacturer's PLC
program, e.g. after POWER ON or at the end of the program.
Channel active
A program has been started, and the program is being executed or a reference point
approach is in progress.
Channel interrupted
The running program or reference point approach has been interrupted.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
463
JOG in Automatic
JOG in AUTOMATIC mode is permitted if the mode group is in "RESET" state and the axis is
jog-capable. "RESET" state for the mode group means:
All channels are in the "RESET" state
All programs are canceled
DRF is not active in any channel
An axis is JOG-capable if it is not in any of the following states:
PLC axis as concurrent positioning axis (request of the axis from the PLC)
Command axis (the axis has been programmed by a synchronized action and the motion
has not been completed yet)
Rotating spindle (spindle rotating despite RESET)
An asynchronous reciprocating axis
Note: The jog-capable property is independent of the JOG in AUTOMATIC function.
Activation
The function "JOG in AUTOMATIC" can be activated with the machine data:
MD10735 $MN_JOG_MODE_MASK
Before POWER ON, the following machine data must be set:
MD10735 $MN_JOG_MODE_MASK, bit 0 = 1
The user switches to AUTO (PLC user interface DB11 DBX0.0 = 01 edge). JOG in
AUTOMATIC is then active if the NCK previously had channel state RESET and program
state Aborted in all mode group channels. The axis in question must also be jog-capable.
DRF must be deactivated (if not already deactivated).
RESET is initiated or the running program is finished with M30/M2 in all mode group
channels that do not have channel state Reset and program state Aborted.
The relevant axis is automatically made "JOG-capable" (e.g. axis interchanget: PLC NC).
Note: In most applications, the axes to be traversed are "JOG-capable" and with the switchover
to AUTOMATIC, "JOG in AUTOMATIC" is also active.
Characteristics
The +/ keys cause a JOG movement, and the mode group is switched internally to JOG.
(i.e. Internal JOG).
Moving the handwheels causes a JOG movement, and the mode group is switched
internally to JOG, unless DRF is active.
464
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
465
See also
R1: Referencing (Page 1149)
9.3.1
9.3.2
Mode change
Introduction
A mode change is requested and activated via the mode group interface (DB11, ...). A mode
group will either be in AUTOMATIC, JOG, or MDA mode, i.e. it is not possible for several
channels of a mode group to take on different modes at the same time.
What mode transitions are possible and how these are executed can be configured in the PLC
program on a machine-specific basis.
Note
The mode is not changed internally until the signal "Channel status active" is no longer pending.
For error-free mode change however, all channels must assume a permissible operating mode.
466
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
JOG
MDA
AUTO
Reset
Interrupt
AUTOMATIC
Reset
X
JOG
MDA
MDA
Interrupt Interrupt
X
Interrupt
Interrupt
X
X
active
AUTO
Special cases
Errors during mode change
If a mode change request is rejected by the system, the error message "Operating mode
cannot be changed until after NC Stop" is output. This error message can be cleared without
changing the channel status.
Mode change disable
A mode change can be prevented by means of interface signal:
DB11, DBX0.4 (Mode change disable).
This suppresses the mode change request.
The user must configure a message to the operator indicating that mode change is disabled.
No signal is set by the system.
Mode change from MDA to JOG
If all channels of the mode group are in Reset state after a mode change from MDA to JOG,
the NC switches from JOG to AUTO. In this state, part program commands START or
INIT can be executed.
If a channel of the mode group is no longer in Reset state after a mode change, the part
program command START is rejected and Alarm 16952 is issued.
9.4
Channel
In a channel of the NC, the part programs defined by the user are executed.
The following properties characterize a channel:
A channel is always assigned to a mode group (Page 457) (BAG).
A channel can only execute one part program at any point in time.
Machine, geometry, and special axes and spindles are assigned to a channel. Only these
can be traversed via the part program executed in the channel.
A channel consists of the internal units
Preprocessing (program decoding and block preparation)
Main run (path and axis interpolation).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
467
Channel configuration
Channels can be filled with their own channel name via the following machine data:
MD20000 $MC_CHAN_NAME (channel name)
The various axes are then assigned to the available channels via machine data. There can be
only one setpoint-issuing channel at a time for an axis/spindle. The axis/spindle actual value
can be read by several channels at the same time. The axis/spindle must be registered with
the relevant channel.
The following channel-specific settings can also be made using machine data:
Position of deletions or the basic program settings of G groups via the machine data:
MD20150 $MC_GCODE_RESET_VALUES (initial setting of the G groups)
Auxiliary function groups regarding the combination and the output time.
Transformation conditions between machine axes and geometry axes.
Other settings for the execution of a part program.
468
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Interface signals
The signals of the 1st channel are located in the NC/PLC interface in DB21, the signals from
channel 2 are located in DB22. The channel or channels can be monitored and controlled from
the PLC or NCK.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
469
9.4.1
User/PLC
A global Start disable can be set for the selected channel via the HMI or from the PLC.
Function
When Start disable is set, no new program starts are accepted for the selected channel. Start
attempts are counted internally.
If a start is executed by the PLC before a global block disable is sent from the HMI to the NCK,
the program is not stopped by the Start disable and its status is transmitted to the HMI.
NC Start disable and global Start disable have the same effect on the internal counter for starts
that have been sent but not executed. (OPI variable startRejectCount).
470
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Messages
If desired, a message can be issued when a Start attempt occurs while a global block disable
is active.
The control is exercised using machine data:
MD11411 $MN_ENABLE_ALARM_MASK Bit 6
1:
0:
9.5
Alarm 16956 appears: Channel %1, Program %2 cannot be started because of "Global
Start disable".
Start attempts when a global block disable is set are not signaled by an alarm.
Program test
Several control functions are available for testing a new part program. These functions are
provided to reduce danger at the machine and time required for the test phase. Several
program functions can be activated at the same time to achieve a better result.
Test options
The following test options are described below:
Program execution without setpoint outputs
Program execution in singleblock mode
Program execution with dry run feedrate
Skip part program blocks
Block search with or without calculation.
9.5.1
Function
In the "Program test" status, a part program is executed without the output of axis or spindle
setpoints.
The user can use this to check the programmed axis positions and auxiliary function outputs
of a part program. This program simulation can also be used as an extended syntax check.
Selection
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX25.7 (program test selected)
This does not activate the function.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
471
Activation
The function is activated via interface signal:
DB21, ... DBX1.7 (activate program test)
Display
The corresponding field on the operator interface is reversed and the interface signal in the
PLC as a checkback of the active program test:
DB21, ... DBX33.7 (program test active)
472
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.5.2
Function
In case of "Program execution in single-block mode" the part program execution stops after
every program block. If tool cutter radius compensation or a tool nose radius correction is
selected, processing stops after every intermediate block inserted by the controller.
The program status switches to "Program status stopped".
The channel status remains active.
The next part program block is processed on NC Start.
Application
The user can execute a part program block-by-block to check the individual machining steps.
Once the user decides that an executed part program block is functioning correctly, the next
block can be called.
Single-block types
The following single block types are differentiated:
Decoding single block
With this type of single block, all blocks of the part program (even the pure computation
blocks without traversing motions) are processed sequentially by "NC Start".
Action single block (initial setting)
With this type of single block, the blocks that initiate actions (traversing motions, auxiliary
function outputs, etc.) are processed individually.
Blocks that were generated additionally during decoding (e.g. for cutter radius
compensation at acute angles) are also processed individually in single-block mode.
Processing is however not stopped at calculation blocks as these do not trigger actions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
473
Selection
It is possible to select the single-block mode:
Via the machine control panel (key "Single Block")
Via the user interface
For an exact procedure, see:
References:
Operating Manual of the installed HMI application
Activation
The function is activated through the PLC basic program via the interface signal:
DB21, ... DBX0.4 (activate single block)
Display
Active single-block mode is indicated by a reversal in the relevant field in the status line on the
user interface.
Because of the single-block mode, as soon as the part program processing has processed a
part program block, the following interface signal is set:
DB21, ... DBX35.3 (program status interrupted)
474
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.5.3
Function
During "Program execution with dry run feedrate" the traversing speeds which have been
programmed together with G01, G02, G03, G33, G34 and G35, are replaced by a
parameterized feedrate value:
SD42100 $SC_DRY_RUN_FEED (dry run feedrate)
The dry run feedrate also replaces the programmed revolutional feedrate in program blocks
with G95.
The exact way of working of the parameterized dry run feedrate (SD42100) depends on the
setting of another setting data:
SD42101 $SC_DRY_RUN_FEED_MODE (mode for test run speed)
Value
Meaning
Dry run feedrate is the maximum of the programmed feedrate and setting data SD42100.
(Default setting!)
SD42100 becomes effective only when the stored value is greater than the programmed
feedrate.
Dry run feedrate is the minimum of the programmed feedrate and SD42100.
SD42100 becomes effective only when the stored value is less than the programmed fee
drate.
The value in SD42100 acts as the dry run feedrate, regardless of the programmed feedrate.
10
As in the case of "0", except thread cutting (G33, G34, G35) and thread boring (G331, G332,
G63). These functions are executed as programmed.
11
As in the case of "1", except thread cutting (G33, G34, G35) and thread boring (G331, G332,
G63). These functions are executed as programmed.
12
As in the case of "2", except thread cutting (G33, G34, G35) and thread boring (G331, G332,
G63). These functions are executed as programmed.
A dry run feedrate can be selected in the automatic modes and activated on interruption of an
automatic mode or end of a block.
For further information on influencing the feedrate, see Section "V1: Feedrates (Page 1307)".
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
475
Application
DANGER
High cutting speeds
Workpieces may not be machined when "dry run feedrate" is active because the altered
feedrates might cause the permissible tool cutting rates to be exceeded and the workpiece
or machine tool could be damaged.
Selection
This function is selected via the user interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX24.6 (dry run feedrate selected)
This does not activate the function.
Activation
The function is activated via interface signal:
DB21, ... DBX0.6 (activate dry run feed)
Display
Active dry run feedrate mode is indicated by a reversal in the relevant field in the status line
on the user interface.
476
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.5.4
Function
When testing or breaking in new programs, it is useful to be able to disable or skip certain part
program blocks during program execution. For this, the respective records must be marked
with a slash.
Main program/subroutine
%100
N10 ...
N20 ...
Block being
processed
N30 ...
/N40 ...
/N50 ...
Skip blocks
N40 and N50 during
processing
N60 ...
N70 ...
N80 ...
N90 ...
N100 ...
N110 ...
N120 M30
Figure 9-1
Selection
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX26.0 (skip block selected)
This does not activate the function.
Activation
The function is activated via the interface signal:
DB21, ... DBX2.0 (activate skip block)
Note
The "Skip part programs" function remains active during block searches.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
477
Display
Activated "Skip block" function is indicated by a reversal of the relevant field on the operator
interface.
9.6
Workpiece simulation
Function
The actual part program is completely calculated in the tool simulation and the result is
graphically displayed in the user interface. The result of programming is verified without
traversing the machine axes. Incorrectly programmed machining steps are detected at an early
stage and incorrect machining on the workpiece prevented.
Simulation NCK
The simulation uses its own NCK instance (simulation NCK). Therefore, before a simulation
is started, the real NCK must be aligned to the simulation NCK. With this alignment, all active
machine data are read out of the NCK and read into the simulation NCK. The NCK and cycle
machine data are included in the active machine data.
Comment
478
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
ELSE
N5 X300 OMA1=10
ENDIF
9.7
Function
Block search offers the possibility of starting part program execution from almost any part
program block.
This involves the NC rapidly performing an internal run through the part program (without
traversing motions) to the selected target block during block search. Here, every effort is made
to achieve the exact same control status as would result at the target block during normal part
program execution (e.g. with respect to axis positions, spindle speeds, loaded tools, NC/PLC
interface signals, variable values) in order to be able to resume automatic part program
execution from the target block with minimum manual intervention.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
479
Note
For further explanations regarding the block search, see Section "Behavior during block
search (Page 418)."
Subsequent actions
After completion of a block search, the following subsequent actions may occur:
Type 1 - Type 5: Automatic Start of an ASUB
When the last action block is activated, a user program can be started as an ASUB.
Type 1 - Type 4: Cascaded block search
A further block search with a different target specification can be started from "Search target
found".
9.7.1
480
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Time sequence
Block search
starting
Search target 1
found
Block search
starting
Last
action block
Block search
active (DB21, ...
DBX33.4)
Action block
active (DB21, ...
DBX32.3)
Last action block
active (DB21, ...
DBX32.6)
Channel status
Reset (DB21, ...
DBX35.7)
Channel status
interrupted
(DB21, ... DBX35.6)
Action blocks
During a block search type 2 or type 4 (block search with calculation to ...), actions such as
tool (T, D), spindle (S), feedrate programming or M function outputs are collected. With NC
start to execute the action blocks, the collected actions are output to the PLC.
Note
With NC start for the action blocks, the spindle programming collected during block search
type 2 or type 4 (block search with calculation to ...) (S value, M3 / M4 / M5 / M19, SPOS) becomes
active.
The user has to ensure in the PLC user program that the tool can be operated or the spindle
programming is reset or not output:
DB31, ... DBX2.2 = 1 (spindle reset) .
Supplementary conditions
Continuation mode after block search type 4
If initial programming of an axis is performed incrementally to a block search type 4 (block
search with calculation to block end point), the programmed incremental value can be added
to the position value collected up to the search target or to the current actual value of the axis.
The setting is made via:
SD42444 $SC_TARGET_BLOCK_INCR_PROG
The setting data is evaluated with NC start for outputting the action blocks.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
481
9.7.2
9.7.2.1
482
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.7.2.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
483
With the change of the last action block after a block search, the following takes place:
Execution of the part program is stopped
DB21, ... DBB32.6 = 1 (last action block active)
Display alarm 10208
With the change of the last action block after a block search, the following takes place:
Execution of the part program is stopped
DB21, ... DBB32.6 = 1 (last action block active)
Only display alarm 10208 if DB21, ... DBX1.6 == 1 (PLC action ended)
In combination with the alarm, the following interface signals are set:
DB21, ... DBX36.7 = 1 (NC alarm with machining standstill is pending)
DB21, ... DBX36.6 = 1 (NC alarm channel-specific is pending)
9.7.2.3
Output of spindle-specific auxiliary functions collected during block search (M3, M4, M5, M19,
M70) in action blocks.
The spindle-specific auxiliary functions collected during block search are not output in the
action block.
They can be output at a later time, for example, in an ASUP. The spindle-specific auxiliary
functions collected are stored in system variables:
System variables
The spindle-specific auxiliary functions collected during block search are stored in the following
system variables:
484
System variable
Description
$P_SEARCH_S [ <n> ]
$P_SEARCH_SDIR [ <n> ]
$P_SEARCH_SGEAR [ <n> ]
$P_SEARCH_SMODE [ <n> ]
$P_SEARCH_SPOS [ <n> ]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
$P_SEARCH_SPOSMODE [ <n> ]
For later output of the spindle-specific auxiliary functions, the system variables can be read,
for example, in an ASUB, and output after output of the action blocks:
DB21, ... DBX32.6 == 1 (last action block active)
Note
The contents of the system variables $P_S, $P_DIR and $P_SGEAR may be lost after block
search due to synchronization operations.
For more detailed information on ASUB, block search and action blocks, see Sections "Output
suppression of spindle-specific auxiliary functions (Page 423)" and "Program test (Page 471)."
9.7.2.4
$A_...
$V_...
Because no blocks enter the main run during a block search of type 2 and type 4 (block search
with calculation to ...), main run and servo/drive-related system variables are not changed
during the block search. Where necessary, for these system variables, the block search must
specially handled in the NC program by querying whether a block search is active $P_SEARCH
(block search active).
Preprocessing-related system variables provide correct values in all search types.
9.7.3
Parameter assignment
Making the function effective
The automatic ASUB start after a block search is activated by the following MD setting:
MD11450 $MN_SEARCH_RUN_MODE, bit 1 = 1
Program to be activated
In the default setting, the program _N_PROG_EVENT_SPF is activated from the directory
_N_CMA_DIR as ASUB after the block search by changing the last action block. If another
program is to be activated, then the name of this user program must be entered in the following
machine data:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
485
Note
For more information on parameterizing MD11620, MD20108, and MD20107, see Section
"Parameterization (Page 549)."
Programming
The event by which the ASUP has been started is stored in the system variable
$P_PROG_EVENT. On automatic activation after a block search, $P_PROG_EVENT returns
the value "5."
Sequence
Sequence of automatic start of an ASUB after a block search
1. User: Activation of the block search type 2 or type 4 (block search with calculation to ...)
via the operator interface
2. Search for the target block with collection of auxiliary functions
3. Stop after "Search target found display of alarm 10208 "Continue program with NC start"
4. User: NC start to execute the action block s DB21, ... DBX7.1 = 1 (NC start)
5. Execution of the action blocks
6. Last action block is activated Automatic start of /_N_CMA_DIR/_N_PROG_EVENT_SPF
(default) as an ASUB.
486
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.7.4
Functionality
The "Cascaded block search" function can be used to start another block search from the
status "Search target found". The cascading can be continued after each located search target
as often as you want and is applicable to the following block search functions:
Type 1 block search without calculation
Type 2 block search with calculation at contour
Type 3 block search with calculation at block end point
Note
Another "cascaded block search" can be started from the stopped program execution only
if the search target has been found.
Activation
The "cascaded block search" is configured in the existing machine data:
MD11450 $MN_SEARCH_RUN_MODE
Cascaded block search is enabled (i.e., several search targets can be specified)
with Bit 3 = 0 (FALSE).
For compatibility reasons, the cascaded block search can be disabled with Bit 3 = 1 (TRUE).
By default, the cascaded block search is set with Bit 3 = 0.
Execution behavior
Search target found, restart search
When the search target is reached, the program execution stops and the search target is
displayed as a current block. After each located search target, a new block search can be
repeated as often as you want.
Change search target specifications
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
487
Last
action block
Block search
active (DB21, ...
DBX33.4)
Action block
active (DB21, ...
DBX32.3)
Last action block
active (DB21, ...
DBX32.6)
Channel status
Reset (DB21, ...
DBX35.7)
Channel status
interrupted
(DB21, ... DBX35.6)
Figure 9-2
9.7.5
Selection
From the following examples, select the type of block search that corresponds to your task.
488
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
489
Tool
change point
(450,300)
300
200
Approach movement
Target block N220
100
Approach point
(170,30)
X
0
100
Figure 9-3
200
300
400
Approach motion for search to block end point (target block N220)
Note
"Search to contour" with target block N220 would generate an approach motion to the tool
change point (start point of the target block).
490
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Tool
change point
(450,300)
300
Approach movement
200
N260
Approach point
100
0
100
Figure 9-4
200
300
400
Note
"Search to block end point" with target block N260 would result in Alarm 14040 (circle end
point error).
Comment
; Main program
...
;Machine contour section 1 with "CUTTER_1"tool
...
N100 G0 G40 X200 Y200
N110 Z100 D0
; Preselect tool
N210 WZW
N230 Z-5
; Infeed
N250 Y150
N260 G2 J50 X100 Y200
N270 G1 X50
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
491
Comment
N280 Y50
N290 X150
N300 G0 G40 G60 X170 Y30
N310 Z100 D0
N530 GETSELT(TNR_VORWAHL)
;
;Execute tool change only if tool is not yet active
N540 IF TNR_AKTIV == TNR_VORWAHL GOTOF ENDE
N550 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0
N560 M6
;
END: M17
PROC SUCHLAUF_ENDE SAVE
;ASUB for calling the tool change routine after block search
N1000 DEF INT TNR_AKTIV
N1050 GETSELT(TNR_VORWAHL)
N1080 WZW
ASUP_ENDE:
492
N1110 M90
; Feedback to PLC
N1120 REPOSA
; ASUB end
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.7.6
Supplementary conditions
9.7.6.1
9.8
9.8.1
Channels
In combination with the HMI, SERUPRO is provided for the following channels:
For the current SERUPRO channel only (1)
For all channels with the same workpiece name as the SERUPRO channel (2)
For all channels with the same mode group as the SERUPRO channel (3)
For all channels of the NCU (4)
The scope of channels for SERUPRO is selected by means of configuration file maschine.ini,
in Section [BlockSearch]:
Section [BlockSearch]
SeruproEnabled=1
SeruproConfig=1
;Number (1) to (4) of above indicated channel grouping. Default value is (1)
All other channels started with SERUPRO are operated in "Self-Acting SERUPRO" mode.
Only the channel in which a target block has been selected can be started with a block search
in SERUPRO mode.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
493
Activation
SERUPRO is activated via the HMI. SERUPRO is operated using the "Prog.Test Contour"
softkey.
SERUPRO uses REPOS to approach the target block.
494
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
495
496
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.8.2
Value
Meaning
Reserved
SERUPRO: Path and positioning axes traverse concurrently in the repositioning block
REPOS : Path and positioning axes traverse concurrently in the repositioning block
During the interruption, changed feedrates and spindle speeds act only after the first part program block
following the interruption location
During the interruption, changed feedrates and spindle speeds act following the interruption location
SERUPRO: In the repositioning block, neutral axes and positioning spindles traverse as path axes.
3
4
5
6
7
SERUPRO: In the repositioning block, neutral axes and positioning spindles traverse as command axes.
@@@
@@@
The level of interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
is read if REPOSA is interpreted.
Axes, which are neither geometry nor orientation axes, are then excluded by REPOS and are not moved.
CAUTION
Risk of collision
MD11470 $MN_REPOS_MODE_MASK, Bit 3 or Bit 4 = 1
The user alone is responsible for ensuring that the concurrent traversal of the axes in the
repositioning block does not cause any collision on the machine.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
497
498
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Bit 4=1
Note
If neither bit 3 nor bit 4 is set, "non-path axes" are repositioned in the residual block in this
phase.
Bit 7 = 1
Modified feedrates and spindle speeds are valid immediately in the residual
block and are given priority. This behavior relates to every REPOS operation.
Neutral axes and positioning spindles are repositioned after SERUPRO.
Neutral axes that are not allowed to be further repositioned must receive inter
face signal:
DB31, ... DBX10.0 (REPOSDELAY)
This cancels the REPOS motion.
The level of interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
is read if REPOSA is interpreted.
Axes, which are neither geometry nor orientation axes, are then excluded by
REPOS and are not moved.
Remark: REPOSDELAY is changed from edge to level evaluation.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
499
500
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
In the current ASUB, DB21, ... DBX31.4 (REPOSMODEEDGE) does not affect the final
REPOS unless this signal applies to the REPOS blocks.
In case 1, the signal is allowed only in the stopped state.
Response to RESET:
NCK has acknowledged the PLC signal
DB21, ... DBX31.4 (REPOSMODEEDGE) == 1 AND
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) == 1
If a RESET occurs in this situation, DB21, ... DBX319.1 - .3 (Repos Path Mode Ackn) is
deleted.
NCK has not yet acknowledged the PLC signal:
DB21, ... DBX31. (REPOSMODEEDGE 4) == 1 AND
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) == 0
If a RESET occurs in this situation, then:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) = 0
DB21, ... DBX319.1319.3 (Repos Path Mode Ackn) = 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
501
502
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1
1
,QLWLDWH$68%
1
3UHVHOHFW501%/
6WRSRIWKHSDUWSURJUDP
6WDUWRIWKHSDUWSURJUDP
7KHUHPDLQLQJEORFNLVFRPSOHWHG
5(3263$7+02'(
5(32602'(('*(
5(32602'(('*($&.1
5HSRV3DWK0RGH$FNQ
W
Figure 9-5
REPOS sequence in part program with timed acknowledgement signals from NCK
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
503
Range of validity
Interface signal:
DB31, ... DBX70.0 (REPOS offset)
is supplied at the end of the SERUPRO operation.
The REPOS offset is invalidated at the start of a SERUPRO ASUB or the automatic ASUB
start.
504
All axes currently controlled by this channel have either no REPOS offset or their
REPOS offsets are invalid.
Miscellaneous.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.8.2.1
%
,QWHUUXSWLRQSRLQW
1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1
1
505
Note
RMNBL is a general REPOS extension and it is not restricted to SERUPRO.
RMIBL and RMBBL behavior identically for SERUPRO.
DB21, ... DBX31.0 - .2 (REPOS mode) affects only the traversing motion of the path axes.
The behavior of the other axis can be changed individually using interface signal DB31, ...
DBX10.0 (REPOSDELAY). The REPOS offset is not applied immediately, but only when it is
next programmed.
For further information on the programming of the repositioning point, see:
References:
Programming Manual, Job Planning; Path Behavior, Section: Repositioning on contour
9.8.3
Meaning
Program test with block search/dry run feedrate:
Axes: MD22601 $MC_SERUPRO_SPEED_FACTOR * dry run feedrate
Spindles: MD22601 $MC_SERUPRO_SPEED_FACTOR * programmed speed
Dynamic limitations of axes / spindles are not considered.
506
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
Program test with dry run feedrate
Under program test, traversing is performed with the programmed velocity / speed.
Dynamic limitations of axes / spindles are considered.
Supplementary conditions
Main axes
MD22600 $MC_SERUPRO_SPEED_MODE acts on the following main run axes with
SERUPRO:
PLC axes
Command axes
Positioning axes
Reciprocating axes
Synchronized actions
NOTICE
Actions of synchronized action may not be executed with SERUPRO
Because during SERUPRO other actual values (e.g. axis positions) are generated internally
that are different from those in normal program execution, with SERUPRO, conditions of
synchronized actions that check the actual values (e.g. axis positions) are no longer
recognized as true (TRUE) and that the action part of the synchronized action is therefore
not executed.
Revolutional feedrate
Effects of MD22601 $MC_SERUPRO_SPEED_FACTOR during DryRun:
Switchover of G95/G96/G961/G97/G971 to G94
Tapping and thread cutting: Normal dry run velocity.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
507
9.8.4
SERUPRO ASUB
Tool management
If tool management is active, the following setting is recommended:
MD20310 $MC_TOOL_MANAGEMENT_MASK Bit 20 = 0
The tool management command generated during the SERUPRO operation is thus not output
to the PLC!
The tool management command has the following effect:
The NC acknowledges the commands automatically.
No magazine data is changed.
Tool data is not changed.
Exception:
The tool enabled during the test mode can assume 'active' state. In this way, the wrong tool
may be on the spindle after the SERUPRO operation.
Remedy:
The user starts a SERUPRO ASUB that is actually traversed. Prior to the start, the user
can start an ASUB that loads the correct tool.
SERUPRO operation: Functionality: In sequence steps 2. to 6.
SERUPRO ASUB: Functionality: The sequence of step 7.
508
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
PROC L6
N520 STOPRE
; In program testing
N530 IF $P_ISTEST
N550 ELSE
N570 ENDIF
N580 GETSELT(TNR_VORWAHL)
N620 ENDIF
N630 M17
ASUB for calling the tool change routine after type 5 block search
Program code
Comment
PROC ASUPWZV2
N1000 DEF INT TNR_SPINDEL
N1050 GETSELT(TNR_VORWAHL)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
509
Comment
N1080 L6
N1085 ASUP_ENDE1:
N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF ASUP_ENDE
N1100 T = $TC_TP2[TNR_VORWAHL]
N1110 ASUP_ENDE:
N1110 M90
; Feedback to PLC
N1120 REPOSA
;ASUB end
In both of the programs PROC L6 and PROC ASUPWZV2, the tool change is programmed
with M206 instead of M6.
ASUB "ASUPWZV2" uses different system variables to detect the progress of the program
($P_TOOLNO) and represent the current status of the machine ($TC_MPP6[9998,1] ).
Spindle ramp-up
When the SERUPRO ASUB is started, the spindle is not accelerated to the speed specified
in the program because the SERUPRO ASUB is intended to move the new tool into the correct
position at the workpiece after the tool change.
A spindle ramp-up is performed with SERUPRO ASUB as follows:
SERUPRO operation has finished completely.
The user starts the SERUPRO ASUB via function block FC 9
in order to ramp up the spindle.
The start after M0 in the ASUB does not change the spindle status.
SERUPRO ASUB automatically stops before the REPOS part program block.
The user presses START.
The spindle accelerates to the target block state if the spindle was not programmed
differently in the ASUB.
Note
Modifications for REPOS of spindles:
The transitions of speed control mode and positioning mode must be taken into
consideration in the event of modifications in SERUPRO approach and spindle functionality.
For further information on the operating mode switchover of spindles, see Section "Modes
(Page 1200)".
510
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.8.5
Selfacting SERUPRO
Selfacting SERUPRO
The channel-specific function "Self-acting SERUPRO" allows a SERUPRO sequence without
having to previously define a search target in a program of the associated SERUPRO channels.
In addition, a special channel, the "serurpoMasterChan", can be defined for each "Self-acting
SERUPRO". A search target can be defined in this channel.
The "Selfacting SERUPRO" function supports the SERUPRO cross-channel block search.
Function
The "SelfActing SERUPRO" operation cannot be used to find a search target. If the search
target is not reached, no channel is stopped. In certain situations, however, the channel is
nevertheless stopped temporarily. In this case, the channel will wait for another channel.
Examples are: Wait marks, couplings, or axis replacement.
Wait phase occurs:
During this wait phase, the NC checks whether the channel "seruproMasterChan" has reached
a search target. If no search target is reached, the Wait phase is left.
If the search target is reached,
the SERUPRO operation is also ended in the channel. The "seruproMasterChan" channel
must have been started in normal SERUPRO mode.
No wait phase occurs:
"Self-Acting SERUPRO" is ended by M30 of the part program.
The channel is now in Reset state again.
A SERUPRO approach does not not take place.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
511
Activation
"Self-acting SERUPRO" is activated via the HMI as a block search start for the Type 5 block
search for target channel "seruproMasterChan".
No search target is specified for dependent channels started from the target channel.
9.8.6
Programming
Syntax
IPTRLOCK()
Functionality
Marks the beginning of the program section as of which "Continue machining at the contour"
is locked. The next executable block (main run block) in which IPTRLOCK becomes active is
now used as target block for a block search with "Continue machining at the interruption point",
until the release with IPTRUNLOCK. This block is referred to as the hold block in the following.
Effectiveness: Modal
Syntax
IPTRUNLOCK()
Marks the end of the program section locked for "Continue machining at the contour". As of
the next executable block (main run block) in which IPTRLOCK becomes active, the current
block is used again as target block for a block search with "Continue machining at the
interruption point". This block is referred to as the release block in the following.
Effectiveness: Modal
Example
Program code
Comment
...
N010 IPTRLOCK()
N020 R1=R1+1
512
N030 G4 F1
; Hold block
...
; Locked area
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N200 IPTRUNLOCK()
N220 R1=R1+1
N230 G4 F1
; Release block
...
Boundary conditions
IPTRLOCK acts within a program (*.MPF, *.SPF) at the most up to the end of the program
(M30, M17, RET). IPTRUNLOCK implicitly becomes active at the end of the program.
Multiple programming of IPTRLOCK within a program does not have a cumulative effect.
With the first programming of IPTRUNLOCK within the program or when the end of the
program is reached, all previous IPTRLOCK calls are terminated.
If there is a subprogram call within a locked area, "Continue machining at the contour" is
also locked for this and all following subprogram levels. The lock also cannot be cancelled
within the called subprogram through explicit programming of IPTRUNLOCK.
Example: Nesting of locked program sections in two program levels
With the activation of the "Continue machining at the contour" lock in PROG_1, "Continue
machining at the contour" is also locked for PROG_2 and all following program levels.
Program code
Comment
PROC PROG_1
; Program 1
...
N010 IPTRLOCK()
N020 R1=R1+1
N030 G4 F1
; Hold block
...
N040 PROG_2
; Locked area
...
N050 IPTRUNLOCK()
N060 R2=R2+2
N070 G4 F1
; Release block
...
Program code
Comment
PROC PROG_2
; Program 2
N210 IPTRLOCK()
...
N250 IPTRUNLOCK()
...
N280 RET
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
513
Comment
PROC PROG_1
; Program 1
...
N010 IPTRLOCK()
N020 R1=R1+1
N030 G4 F1
; Hold block
...
N150 IPTRLOCK()
; Locked area
...
; Locked area
N250 IPTRLOCK()
; Locked area
...
N360 IPTRUNLOCK()
N370 R2=R2+2
N380 G4 F1
; Release block
...
System variable
The status of the current block can be determined via the system variable $P_IPTRLOCK:
$P_IPTRLOCK
Meaning
FALSE
The current block is not within a program section locked for "Continue machining
at the contour"
TRUE
The current block is within a program section locked for "Continue machining at
the contour"
Val
ue
Meaning
This program section begins with the last executable block before the activation and ends with
the deactivation.
514
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N100 G0 X100
N200 EGON(Y,"NOC",X,1,1)
N300 LEADON(A,B,1)
...
N400 EGOFS(Y)
...
N500 LEADOF(A,B)
N600 G0 X200
A program abort within search-suppressed program section (N200 - N500) always provides
the interrupt pointer with N100.
NOTICE
Unwanted state caused by function overlappings
If there is an overlap of the "Programmable interrupt pointer" and "Automatic interrupt pointer"
functions via machine data, the NC selects the largest possible search-suppressed area.
A program may need a coupling for almost all of the runtime. In this case, the automatic
interrupt pointer would always point to the start of the program and the SERUPRO function
would in fact be useless.
9.8.7
SERUPRO is inactive during POWER ON. The mode change is permitted during SERUPRO.
RESET will cancel SERUPRO and deselects the internally selected program test. SERUPRO
cannot be combined with other block search types.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
515
9.8.8
Supplementary conditions
9.8.8.1
STOPRE block
The STOPRE block receives all modal settings from the preceding block and can, therefore,
apply conditions in advance in relation to the following actions:
Synchronize program line currently processing with the main run.
Derive modal settings for SERUPRO in order, for example, to influence this REPOS motion
on approach of SERUPRO.
Example 1:
Position a Z axis by specifying an X axis setpoint.
When block "G1 F100 Z=$AA_IM[X]" is interpreted, the preceding STOPRE block ensures
synchronization with the main run. The correct setpoint of the X axis is thus read via $AA_IM
to move the Z axis to the same position.
Example 2:
Read and correctly calculate external zero offset.
Program code
Comment
N60 G0 X1000
N70 ...
Via an implicit STOPRE before N50, the NCK can read and correctly calculate the current zero
offset.
For a SERUPRO operation on the N50 search target, repositioning is on the implicit STOPRE
in the SERUPRO approach and the velocity is determined from N40 with F5000.
516
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.8.8.2
SPOS
If a spindle is programmed with M3/M4 and the target block contains an SPOS command, the
spindle is switched over to SPOS on completion of the SERUPRO process (search target
located). This is indicated on the VDI interface.
9.8.8.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
517
References
For detailed information on the SERUPRO block search, see Section "Detailed description
(Page 294)".
9.8.8.4
Supplementary condition
A changing torque characteristic cannot be implemented during repositioning.
Example
A program traverses axis X from 0 to 100 and switches "Travel with limited torque/force"
(FOC) on every 20 increments for 10 increments. This torque characteristic is usually generated
with non-modal FOC and cannot be performed during repositioning (REPOS). Instead, axis X
is traversed from 0 to 100 with or without limited torque/force in accordance with the last
programming.
References
For detailed information on the SERUPRO block search, see Section "Detailed description
(Page 294)".
9.8.8.5
Synchronous spindle
518
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.8.8.6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
519
Master-slave
A system ASUB can be started automatically after the block search is finished. In this
subprogram, the user can control the coupling state and the associated axis positions
subsequently. The required information is provided via the following system variables:
System variable
Description
$P_SEARCH_MASLD[<slave axis>]
$AA_MASL_STAT[<slave axis>]
$P_SEARCH_MASLC[<slave axis>]
The system variables are deleted when the coupling is switched on with MASLON.
Note
The coupled axes must be in the same channel when the block search is executed.
References
Further information on the master-slave coupling can be found in:
Function Manual, Special Functions; Section "TE3: Speed/torque coupling, master-slave"
520
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
MASLOF(Y)
N30
N40
MASLON(Y)
N50 ENDIF
N60 REPOSA
...
RET
Machine data
To ensure that the ASUB starts automatically, the following machine data must be set:
NC-specific machine data:
- MD11604 $MN_ASUP_START_PRIO_LEVEL = 100
- MD11450 $MN_SEARCH_RUN_MODE = 'H02'
Channel-specifically for the channel in which the ASUB is started or generally for all
channels:
- MD20105 $MC_PROG_EVENT_IGN_REFP_LOCK, bit<n> = TRUE
n: For all required event-driven program calls (prog events)
- MD20115 $MC_IGNORE_REFP_LOCK_ASUP, bit<n> = TRUE
n: For all required user interrupts
NOTICE
System interrupts
Interrupts 9 and 10 used by the system are released with MD20115
$MC_IGNORE_REFP_LOCK_ASUP, bit 8 and bit 9. Interrupt 9 starts an ASUB which
contains traversing motions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
521
Axis couplings
Acceleration of the processing speed and leading axis and following axes in different
channels
For a leading axis whose following axes are assigned to a different channel than that of the
leading axis, the setting for acceleration of the processing speed has no effect (MD22601
$MC_SERUPRO_SPEED_FACTOR):
Coupled motion
The coupled motion function (TRAILON) is supported by SERUPRO.
For further information on coupled motion with TRAILON and TRAILOF, see:
References:
Function Manual, Special Functions; Axis Couplings (M3)
Programming Manual, Job Planning; Section "Axis couplings"
Gantry axes
The gantry axis function is supported by SERUPRO.
For further information on the functionality of gantry axes, see:
References:
Function Manual, Special Functions; Section "G1: Gantry axes"
Tangential control
The tangential follow-up of individual axes function is supported by SERUPRO.
Additional information about the tangential control can be found in:
References:
Function Manual, Special Functions; Section "T3: Tangential control"
9.8.8.7
Axis functions
SERUPRO conditions
The special conditions for SERUPRO must be observed with axis enable, autonomous axis
operations, and axis replacement.
Axis enable
The axial interface DB31, ... DBX3.7 ("Program test axis/spindle enable") controls the axis
enables if no closed-loop controller enable is to (or can) be issued at the machine and is active
only during the program test or when SERUPRO is active.
It is possible to issue this enable via interface signal PLCNCK
DB31, ... DBX3.7 (program test axis/spindle enable). If the real servo enable is missing during
program test or SERUPRO, the effect on the axes/spindles is as follows:
As soon as the simulated program run intends to move an axis/spindle, the message
"Waiting for axis enable" or "Waiting for spindle enable" is displayed and the simulation is
stopped.
If during a simulated motion, NC/PLC interface signal DB31, ... DBX3.7 (program test axis/
spindle enable) is then canceled, alarm 21612: "Channel %1 axis %2 NC/PLC interface
signal controller enable reset during motion is activated.
522
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Axis replacement
Problem: A program moves an axis and gives up control before the target block with WAITP(X).
X is thus not subject to REPOS and the axis is not taken into account in SERUPRO approach.
Via the machine data MD11470 $MN_REPOS_MODE_MASK, the following behavior can be
achieved for SERUPRO-REPOS:
The neutral axes are moved as "command axes" in the SERUPRO-REPOS. The axis
interpolates without a path context even if it was last programmed as a path axis. In this
scenario, the velocity results from MD32060 $MA_POS_AX_VELO. After SERUPRO
approach, this axis is again neutral.
Neutral axes that are however not allowed to be repositioned must receive the axial NC/PLC
interface signal REPOSDELAY. This deletes the REPOS movement.
Example:
After SERUPRO, one axis is deliberately moved in the synchronized action via technology
cycles. The command axes are always moved in the approach block, never in the target block.
The target block can only be changed if all command axes have been moved to the end.
CAUTION
The PLC-controlled axis is not repositioned
Axes enabled by RELEASE(X) before the target block are not repositioned.
9.8.8.8
Operational sequences
The gear stage change (GSC) requires physical motions from the NCK in order to be able to
engage a new gear.
In the SERUPRO operation, no gear stage change is required and is carried out as follows:
Some gears can only be changed when controlled by the NC, since either the axis must
oscillate or a certain position must be approached beforehand.
The gear stage change can be suppressed selectively for DryRun, program test, and
SERUPRO using bits 0 to 2 in MD35035 $MA_SPIND_FUNCTION_MASK.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
523
9.8.8.9
Superimposed motion
Only SERUPRO
If "overlaid movements" are used, only the block search via program test (SERUPRO) can be
used, since the overlaid movements are interpolated accordingly in the main run. This applies
in particular to $AA_OFF.
9.8.8.10
524
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.8.8.11
Example:
The synchronous spindle coupling at the beginning of the SERUPRO operation is retained for
the part program start.
9.8.8.12
$MC_START_MODE_MASK = 'H400'
is switched off
$MC_START_MODE_MASK_PRT = 'H00'
remains active
$MC_ENABLE_START_MODE_MASK_PRT = 'H01'
$MC_START_MODE_MASK_PRT is evaluated
in SERUPRO instead of
$MC_START_MODE_MASK
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
525
9.8.9
System variable
Overview of the system variables relevant for SERUPRO:
System variable
Meaning
$AC_ASUP, bit 20
$AC_SERUPRO
SERUPRO status:
$AC_SERUPRO == 1 SERUPRO is active
$P_ISTEST
$P_SEARCHL
$AC_REPOS_PATH_MODE
9.9
Program operation
Definition
The execution of part programs or part program blocks in AUTOMATIC or MDA modes is
referred to as program operation.
Channel control
Every channel can be manipulated by means of interface signals from the PLC. The control is
exercised via mode groupspecific or channelspecific interface signals. An overview of these
signals is given under data lists in this Description of Functions.
Status messages
Each channel reports its current program operation status to the PLC with interface signals.
These signals are, in turn, divided up into mode groupspecific and channelspecific signals.
526
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.9.1
Initial settings
Machine data
Defined conditions can be set via machine data for the program operation or certain
implementations of the NC language scope.
Initial settings
Initial settings can be programmed in channel-specific machine data for each channel. These
initial settings affect, for example, G groups and auxiliary function output.
Auxiliary function output
The timing for output of auxiliary functions can be predefined via machine data
AUXFU_x_SYNC_TYPE (MD22200, 22210, 22220, 22230, 22240, 22250, 22260), (output
timing for M, S, T, H, F, D, E functions). For more detailed explanations, see Section "H2:
Auxiliary function outputs to PLC (Page 377)".
G groups
An initial programming setting can be specified for each of the available G groups using
MD20150 $MC_GCODE_RESET_VALUES (reset state of G groups). This initial setting is
automatically active during program start or in Reset until it is deselected by a G command
from the same G group.
Via the MD22510 $MC_GCODE_GROUPS_TO_PLC (G codes, which are output to interface
NCK-PLC after block change / RESET), the output of the G codes to the PLC interface can
be activated.
A list of G groups with the associated G functions is available in:
References:
Programming Manual, Fundamentals
NC language scope
The way that non-active options and functions should be moved with NC language commands
can be set via the machine data MD10711 $MN_NC_LANGUAGE_CONFIGURATION:
0: All available language commands can be programmed. Whether or not the needed function
is activated can only be recognized upon execution.
If only certain options are enabled and not all operations are available:
1: All the language commands are known. Language commands for non-enabled options are
already recognized at the beginning of the program interpretation and lead to the alarm 12553
"option/function is not active."
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
527
Check sample application for NC language scope on cylinder surface transformation TRACYL
The cylinder surface transformation is optional and must be enabled beforehand. In order to
check this, the following initial conditions are assumed:
The cylinder surface transformation option is not enabled and the machine data
$MN_NC_LANGUAGE_CONFIGURATION = 2; NC language command TRACYL is unknown
The following program is started
Program code
Comment
N1 R1=STRINGIS("TRACYL")
N2 IF STRINGIS("TRACYL")==204
N3 TRACYL(1, 2, 3)
N4 ELSE
N5 G00
N6 ENDIF
N7 M30
528
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Setting options
MD10711 =
Option
Function
Return value as the basic information (1st digit from the left)
9.9.2
Reset status
Channel status
A part program can be selected only if the relevant channel is in the Reset state.
Start command, channel status
There are two possible START commands for initiating processing of a part program or part
program block:
The channel-specific interface DB21, ... DBX7.1 (NC Start), which is usually controlled from
the machine control panel key NC Start, starts program execution in the same channel.
With the NC instruction START, program execution in the first channel can be started from
the second channel, for example.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
529
Signals, Alarms
Required signal states
The part program can now be enabled for execution in the channel with the START command
on the condition that certain signal states exist on the machine.
The following enable signals are relevant on the NC/PLC interface:
DB11 DBX4.4 (mode group ready) must be present
DB11 DBX0.7 (mode group reset) must not be present
DB21, ... DBX1.7 (activate program test) must not be present
DB21, ... DBX7.0 (NC start disable) must not be present
DB21, ... DBX7.2 (NC stop at the block limit) must not be present
DB21, ... DBX7.3 (NC stop) must not be present
DB21, ... DBX7.4 (NC stop axes plus spindle) must not be present
DB21, ... DBX7. 7 (reset) must not be present
DB10 DBX56.1 (emergency stop) may not be present
No axis or NCK alarm must be active
For a further explanation of the individual signals see Section 5.
Execution of command
The part program or the part program block is automatically executed and the the following
interface signals are set:
DB21, ... DBX35.5 (channel status reset)
DB21, ... DBX35.0 (program status running)
The program is processed until the end of the program has been reached or the channel is
interrupted or aborted by a STOP or RESET command.
Alarms
Under certain conditions the START command will have no effect and one of the following
alarms will be triggered:
10200 "No NC Start permitted with active alarm"
10202 "No NC Start permitted with active command"
10203 "No NC Start permitted for non-referenced axes"
References:
Diagnostics Manual, Alarms
530
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.9.3
Channel status
A part program interruption is only executed when the channel and program are active:
DB21, ... D35.5 == 1 ("Channel active")
DB21, ... D35.0 == 1 ("Program running")
STOP commands
The part program processing can be interrupted via the following STOP commands:
DB21, ... DBX7.2 ("NC stop at the block limit)
DB21, ... DBX7.3 ("NC stop")
DB21, ... DBX7.4 ("NC stop, axes plus spindles")
DB21, ... DBX2.0 ("Single block")
Program command M00 or M01
The channel and program are then in the state "interrupted":
DB21, ... D35.6 == 1 ("Channel interrupted")
DB21, ... D35.3 == 1 ("Program interrupted")
References
A detailed description of the interface signals can be found in:
Function Manual Basic Functions; NC/PLC Interface Signals (Z1)
Sequence
The following actions are performed after a STOP command:
Interruption of the part program execution at the next block limit (with "NC stop at the block
limit", M00, M01 or single block), or immediately for all other STOP commands.
The traversing axes of the channel are stopped via braking ramp. The braking of the axes
down to standstill can be extended over several blocks.
The block indicator shows the current block at the point of interruption.
The auxiliary functions that have not been output before the point of interruption are no
longer output.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
531
9.9.4
RESET command
Command priority
Channel status
The RESET command can be executed in every channel state. This command is aborted by
another command.
532
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Commands
RESET-Command
The following Reset commands are available:
DB11, ... DBX0.7 ("mode group reset")
DB21, ... DBX7.7 ("Reset")
For a further explanation of the individual interface signals, please see
References: /FB1/ Function Manual Basic Functions; NC/PLC interface signals (Z1)
A RESET command can be used to interrupt an active part program or a part program block
(in MDA).
After execution of the Reset command, the interface signal DB21, ... DBX35.7 ("Channel status
Reset") is set.
The part program cannot be continued at the point of interruption. All the axes of the channel
go into exact stop unless they are in followup mode. The same applies to the spindles
configured in the channel.
The following actions are executed when the RESET command is triggered:
Part program preparation is stopped immediately.
Axes and, if they exist, spindles in the channel are decelerated along a braking ramp.
Any auxiliary functions of the current block not yet output, are no longer output.
The block indicator is reset to the beginning of the part program.
All Reset alarms (channelspecific, axisspecific, spindlespecific) are cleared from the display.
9.9.5
Program status
The status of the selected program is displayed in the interface for each channel.
The PLC can then trigger certain responses and interlocks configured by the manufacturer
depending on the status at the interface.
The program status is only displayed in AUTOMATIC and MDA mode. In all other modes the
program status is aborted or interrupted.
Program states
The following program states are displayed at the NC/PLC interface (DB21, ... ):
DB21, ... DBX35.4 ("aborted")
DB21, ... DBX35.3 ("interrupted")
DB21, ... DBX35.2 ("stopped")
DB21, ... DBX35.1 ("waiting")
DB21, ... DBX35.0 ("running")
A detailed description of the interface signals can be found in Section "Signals from channel
(DB21, ...) (Page 1613)".
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
533
Resulting state
Aborted
IS "Reset"
Interrupted
Stopped
Waiting
IS "NC stop"
IS "Read-in disable"
Feed override = 0%
IS "Spindle stop"
M02/M30 in a block
x
x
M00/M01 in a block
IS "Single block"
IS "Delete distance-to-go"
Auxiliary functions output to PLC but not
yet acknowledged
Wait instruction in program
9.9.6
Running
x
x
x
Channel status
The current channel status is displayed in all operating modes at the NC/PLC interface
(DB21, ... ) for each channel.
Channel states
The following channel states are displayed at the NC/PLC interface (DB21, ... ):
DB21, ... DBX35.7 ("reset")
DB21, ... DBX35.6 ("interrupted")
DB21, ... DBX35.5 ("active")
A detailed description of the interface signals can be found in Section "Signals from channel
(DB21, ...) (Page 1613)".
534
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Resulting state
Reset
IS "Reset"
Interrupted
Active
IS "NC stop"
IS "Read-in disable"
Feed override = 0%
IS "Spindle stop"
M02/M30 in a block
x
x
M00/M01 in a block
IS "Single block"
IS "Delete distance-to-go"
The "Channel state active" signal is obtained when a part program or part program block is
being executed or when axes are traversed in JOG mode.
9.9.7
Status transitions
The following table shows the channel and program states that result after certain operator
and program actions.
The left-hand side of the table shows the channel and program states and the mode groups
from which the initial situation can be selected. Various operator/program actions are listed on
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
535
Program status
Active mode
W
A
x
x
x
J
RESET (4)
RESET (5)
x
10
11
12
x
x
13
14
15
16
17
18
x
x
NC Stop (12)
NC Stop (7); at block end (5)
x
Channel status
R --> aborted
U --> interrupted
A --> running
x
x
NC Start (15)
NC Start (13); Mode change (10 or 11)
RESET (6)
NC Start (13); Mode change (5 or 6)
536
Program status
N --> aborted
U --> interrupted
S --> stopped
W --> waiting
A --> running
Modes
A --> aborted
M --> aborted
J --> aborted
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.9.8
Part-Program Start
Start handling
Table 9-4
Sequence
Conditions
Comments
(must be satisfied before the com
mand)
Program preselection
Channel preselected
Preselected channel in
RESET state
User ID sufficient for
program preselection
5
6
Program execution
M02/M30/RESET
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
None
End of program
537
9.9.9
IS "Read-in disable"
IS "Feed stop"
IS "Spindle enable"
IS "Spindle stop"
1
IS "Program state running"
Figure 9-6
Spindle
run-up
Axis running
Program:
N10 G01 G90 X100
M3 S1000 F1000
M170 If N20 M0 If
.....
9.9.10
Program jumps
9.9.10.1
Function
With the function "Jump back to start of the program" the control jumps back from a part
program to the beginning of the program. The program is then processed again.
As compared to the function "Program jumps to jump marks", with which a repeated processing
of the program can also be implemented, the function "Jump back to the start of the program"
offers the following advantages:
The programming of a jump mark at the start of the program is not necessary.
The program restart can be controlled through the NC/PLC interface signal:
DB21, ... DBX384.0 (control program branching)
538
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Application
The function is used, if the processing of subsequent workpieces is to be done through an
automatic program restart e.g. in case of turning machine with bar loader/-changer.
Activation
The jump back takes place only when the following NC/PLC interface signal is set:
DB21, ... DBX384.0 (control program branching) = 1
If the signal is at "0", then no jump back is exected and the program processing is continued
with the next part program block after the function call.
Parameter assignment
Program runtime
The runtime of the selected NC program is stored in the system variable $AC_CYCLE_TIME.
When starting a new program, the system variable is automatically reset to "0"(see Chapter
" Program runtime (Page 641) ")
Via the following machine data it can be set that the system variable $AC_CYCLE_TIME is
reset to "0" even in case of a program restart through the function "jump back to start of
program":
MD27860 $MC_PROCESSTIMER_MODE (Activation of the program runtime measurement)
Bit
Value
Description
$AC_CYCLE_TIME is not reset to "0" by the function "jump back to start of program".
Note
In order that the setting of bit 8 can become effective, the measurement of the current program
runtime must be active (MD27860 bit 1 = 1).
Workpiece count
After the part program end (M02 / M30) has been attained, the activated workpiece counters
($AC_TOTAL_PARTS / $AC_ACTUAL_PARTS / $AC_SPECIAL_PARTS) are incremented by
"1" (see Chapter " Workpiece Counter (Page 647) ").
Via the following machine data it can be set that the activated workpiece counter is incremented
even in case of a program restart through the function "jump back to start of program":
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
539
Val
ue
Description
In case of a program restart through the function "jump back to start of program", the
workpiece counter:
7
11
15
$AC_TOTAL_PARTS is incremented.
$AC_ACTUAL_PARTS is incremented.
$AC_SPECIAL_PARTS is incremented.
Programming
The function is called in the main or the part program via the command GOTOS.
Syntax:
GOTOS
Parameters:
none
Example
Programming
Comment
N10 ...
...
N90 GOTOS
...
9.9.11
9.9.11.1
Overview
Function
The program section repetition allows the repetition of any labeled section of a part program.
540
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.9.11.2
Functionality
Via REPEATB (B=Block) in part program block N150, the part program processing branches
to the part program block N120 that is labeled START_1. This is repeated x number of times.
If P is not specified, the program section is repeated exactly once. After the last repetition, the
part program is continued with the part program block N160 following the REPEATBinstruction.
:
N100 ...
N120 START_1: ...
; Label: START_1
N130 ...
N140 ...
N150 REPEATB START_1 P=n
N160 ...
:
Note
Label search direction
The part program block identified by the label can appear before or after the REPEATB
statement. The search initially commences toward the start of the program. If the label is not
found, a search is made in the direction of the program end.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
541
Programming
Syntax:
9.9.11.3
Functionality
Via REPEAT in part program block N150, the part program processing branches to the part
program block N120 that is labeled START_1. This part program block and all of the following
part program blocks (N130 and N140) are repeated x number of times up to the part program
block that contains the REPEATinstruction (N150). If P is not specified, the part program section
(N120 - N140) is repeated exactly once. After the last repetition, the part program is continued
with the part program block N160 following the REPEATinstruction.
:
N100 ...
N120 START_1: ...
N130 ...
N140 ...
N150 REPEAT START_1 P=n
N160 ...
:
Note
Label search direction
The part program block marked with the Start label must come before the REPEATinstruction.
Programming
Syntax:
542
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.9.11.4
Functionality
Via REPEAT in part program block N160, the part program processing branches to the part
program block N120 that is labeled START_1 with a start label. This part program block and
all the part program blocks up to and including the part program block marked with the end
label END_1 (N140) are repeated x number of times. If P is not specified, the part program
section (N120 - N140) is repeated exactly once. After the last repetition, the part program is
continued with the part program block N170 following the REPEATinstruction.
:
N100 ...
N120 START_1: ...
N130 ...
N140 END_1 ...
N150 ...
N160 REPEAT START_1 END_1 P=n
N170 ...
:
Note
Label search direction
The program section marked with the Start and End labels can come before or after the
REPEATinstruction. The search initially commences toward the start of the program. If the Start
label is not found, a search is made in the direction of the program end.
If the REPEAT instruction is between the Start and End label, only the part program section
from the Start label to the REPEAT instruction is repeated.
REPEAT instruction repeated.
Programming
Syntax:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
543
9.9.11.5
A part program section between a Start label and the key word: ENDLABEL
Functionality
Via REPEAT in part program block N150, the part program processing branches to the part
program block N120 that is labeled START_1 with a start label. This part program block and
all the part program blocks up to and including the part program block marked with the key
word ENDLABEL (N140) are repeated x number of times. If P is not specified, the part program
section (N120 - N140) is repeated exactly once. After the last repetition, the part program is
continued with the part program block N170 following the REPEATinstruction.
:
N100 ...
N120 START_1: ...
N130 ...
N140 ENDLABEL: ...
N150 ...
N160 REPEAT START_1 END_1 P=n
N170 ...
:
Note
Label search direction
The program section marked with the Start and End labels can come before or after the
REPEATinstruction. The search initially commences toward the start of the program. If the Start
label is not found, a search is made in the direction of the program end.
If no keyword ENDLABEL is located between the Start label and the REPEAT instruction, the
part program section from the Start label to the REPEAT instruction is repeated.
Programming
Syntax:
544
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.9.12
9.9.12.1
Function
Function
The "Event-driven program calls" function provides the option that when a certain event occurs
in the NC, an NC program with user-defined content can be executed. For example, to initiate
the basic setting of functions or initialize system and user variables.
Events
Triggering events can be:
Program start
End of program
Channel reset
Powering-up of the NC
The triggering events are selected with the machine data MD20108
$MC_PROG_EVENT_MASK (see Section "Parameterization (Page 549)").
User program
In the default setting the program _N_PROG_EVENT_SPF is activated after the triggering
event occurs. Using machine data MD11620 $MN_PROG_EVENT_NAME, another program
can be parameterized (see Chapter "Parameterization (Page 549)").
The activated user program is executed in the channel in which the event had occurred.
The application program is executed with the lowest priority and so can be interrupted by the
user ASUB.
Processing sequence
Sequence when activated by an event: Program start
Initial state:
Channel:
Mode:
Reset status
AUTOMATIC (optional: Overstore (active)
MDI
TEACH IN
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
545
Active
AUTOMATIC (optional: Overstore (active)
MDI
TEACH IN
1. In the channel, the end of program block is exchanged in the the executed program.
2. End of program is executed, evaluation of the following machine data:
MD20110 $MC_RESET_MODE_MASK
MD20150 $MC_GCODE_RESET_VALUES
MD20152 $MC_GCODE_RESET_MODE
3. Implicit call of the parameterized user program as ASUB
4. A reset is executed in the channel, evaluation of the following machine data:
MD20110 $MC_RESET_MODE_MASK
MD20150 $MC_GCODE_RESET_VALUES
MD20152 $MC_GCODE_RESET_MODE
Sequence when activated by an event: Channel reset
Initial state:
Channel:
Mode:
Any
Any
546
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3DUW
SURJUDP
6WDUW
B1B352*B
(9(17B63)
(QG
3DUW
SURJUDP
(QG
B1B352*B
(9(17B63)
$FWLYH
B1B352*B
(9(17B63)
(QG
'%'%;
3URJUDPVWDWXVUXQQLQJ
'%'%;
3URJUDPVWDWXVVWRSSHG
'%'%;
3URJUDPVWDWXVDERUWHG
'%'%;
FKDQQHOVWDWXVDFWLYH
'%'%;
FKDQQHOVWDWXVLQWHUUXSWHG
'%'%;
&KDQQHOVWDWXVUHVHW
Figure 9-7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
547
2SHUDWRU
SDQHO
UHVHW
B1B352*B
(9(17B63)
$FWLYH
B1B352*B
(9(17B63)
(QG
'%'%;
3URJUDPVWDWXVUXQQLQJ
'%'%;
3URJUDPVWDWXVVWRSSHG
'%'%;
3URJUDPVWDWXVDERUWHG
'%'%;
FKDQQHOVWDWXVDFWLYH
'%'%;
FKDQQHOVWDWXVLQWHUUXSWHG
'%'%;
&KDQQHOVWDWXVUHVHW
Figure 9-8
Interface signals DB21, ... DBX35.4 (program state interrupted) and DB21, ... DBX35.7
(channel state reset)
The interface signals are only set if the activated, event-driven user program has already
been exited.
The interface signals are not set between:
end of program and the start of the event-driven user program
Channel reset and the start of the event-driven user program
Value
Event
End of program
Channel reset
Powering-up of the NC
1. Program start after block search (see "Automatic Start of an ASUB after block
search (Page 485)")
If the event-driven user program is exited, or canceled with a reset, then the interface signals
are again deleted.
The interface signals are available as a minimum for the duration of a complete PLC cycle.
548
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.9.12.2
Parameterization
Events
The events that activate the user program are selected on a channel-specific basis using
machine data:
MD20108 $MC_PROG_EVENT_MASK, bit x
Note
MD20108 $MC_PROG_EVENT_MASK is not evaluated in the simulation.
Program
The program (default setting: _N_PROG_EVENT_SPF) must be loaded and cleared.
Default setting
As default setting, when an event occurs, user program _N_CMA_DIR/
_N_PROG_EVENT_SPF is executed.
User-specific setting
If, for an event, another user program is to be executed, the program name must be entered
into the following machine data:
MD11620 $MN_PROG_EVENT_NAME
The program must be in a cycle directory.
The following search path is run through when an event occurs.
1. /_N_CUS_DIR/ (user cycles)
2. /_N_CMA_DIR/ (manufacturer cycles)
3. /_N_CST_DIR/ (standard cycles)
The first program found with the specified name is executed.
Note
The specified name is checked syntactically as in case of a subprogram name, i.e. the first
two characters must be letters or underscores (no numbers). Prefix (_N_) and suffix (_SPF)
of the program names are added automatically, if not specified.
The same protection mechanisms that can be activated for cycles (protection levels for
writing, reading, etc.) are activated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
549
Value
Meaning
The occurrence of an event set with MD20108 (part program start, part program end
and/or operator panel reset) leads to the activation of the event-driven user program.
The occurrence of an event set with MD20108 does not lead to the activation of the
event-driven user program.
Value
Meaning
In the event-driven user program:
If the single-block processing is suppressed, then the event-driven user program is processed
without interruption.
Note
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK affects all single-block processing
types.
The single-block processing in the event-driven user program can be switched-off through
the following configuration:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (prevent single-block stop) bit 0 = 1
The differentiated settings in MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK are
then ineffective.
550
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Meaning
In the event-driven user program:
Value
Meaning
During execution of an event-driven user program, the updating of the display of the
program and channel states is:
Not suppressed
Suppressed
Not suppressed
Suppressed
Not suppressed
Suppressed
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
551
Note
The system variables $AC_STAT and $AC_PROG are not affected by this function, i.e. in the
running event-driven user program, $AC_STAT is set to "active" and $AC_PROG to "running".
NC/PLC interface signals DB21, ... DBX35.0-7 ("Program state ..." and "Channel state ...")
also remain unaffected.
Value
Meaning
The event-driven user program is:
Stopped/prevented at NC stop
Stopped/prevented at NC stop
Stopped/prevented at NC stop
In this way, an edge change of the interface signal DB21, ... DBX7.3 (NC Stop) initiated by the
user by activating the NC Stop key in case of reset or power-up is ignored during the execution
of the event-driven user program and an undesired stop behavior at the machine is prevented.
Note
A programming of DELAYFSTON/ DELAYFSTOF in the event-driven user program cannot be
provided with the behavior set with MD20193, because the NC Stop can cause an interruption
before the execution of the first command DELAYFSTON.
9.9.12.3
Programming
User program
End of program
552
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Activation after output of the last action block after Block search (see "Automatic Start of an
ASUB after block search (Page 485)")
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
553
9.9.12.4
Boundary conditions
9.9.12.5
Examples
Programming:
Program code
Comment
RET
ENDIF
IF ($P_PROG_EVENT==2) OR ($P_PROG_EVENT==3)
DRFOF
IF $MC_CHAN_NAME=="CHAN1"
CANCEL(2)
ENDIF
RET
ENDIF
IF ($P_PROG_EVENT==4)
554
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
IF $MC_CHAN_NAME=="CHAN1"
IDS=1 EVERY $A_INA[1]>5.0 DO $A_OUT[1]=1
ENDIF
RET
ENDIF
RET
Programming:
Program code
Comment
N20 M17
Comment
...
CHANDATA(3)
$MC_PROG_EVENT_IGN_INHIBIT='H04F'
$MC_PROG_EVENT_MASK='H04'
...
Meaning:
The part program _N_PROG_EVENT_SPF from the directory _N_CMA_DIR should be started
automatically with the RESET key and processed till the end, regardless of whether the readin disable is activated or deactivated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
555
9.9.13
References:
Programming Manual, Job Planning
Stop events
Overview of the NCK events that cause a stop:
NCK events
Reaction
Stop criteria
Immediate
PROG_END
Alarm 16954
NC prog.: M30
Interrupt
Delayed
DELDISTOGO_SYNC
Immediate
PROGRESETREPEAT
Delayed
PROGCANCELSUB
Delayed
SINGLEBLOCKSTOP
Delayed
In the stop delay area: NC stops at the end of the 1st block
outside the stop delay area.
Single block is active before the stop delay area:
IS: "NC Stop at block limit" DB21, ... DBX7.2
SINGLEBLOCK_IPO
Delayed
SINGLEBLOCK_DECODIER
Delayed
STOPALL
Immediate
STOPPROG
Delayed
OVERSTORE_BUFFER_END_REACHED
Alarm 16954
PREP_STOP
Alarm 16954
PROG_STOP
Alarm 16954
NC prog.: M0 and M1
STOPPROGATBLOCKEND
Delayed
STOPPROGATSUPEND
System fault
WAITM
Alarm 16954
NC prog.: WAITM
WAITE
Alarm 16954
NC prog.: WAITE
INIT_SYNC
Alarm 16954
MMCCMD
Alarm 16954
556
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Reaction
Stop criteria
PROGMODESLASHON
Delayed
PROGMODESLASHOFF
Delayed
PROGMODEDRYRUNON
Delayed
PROGMODEDRYRUNOFF
Delayed
BLOCKREADINHIBIT_ON
Delayed
STOPATEND_ALARM
Immediate
STOP_ALARM
Immediate
STOPATIPOBUFFER_ISEMPTY_ALARM
Immediate
STOPATIPOBUF_EMPTY_ALARM_REORG
Immediate
RETREAT_MOVE_THREAD
Alarm 16954
NC prog.: Alarm 16954 at LFON (Stop & fast lift in G33 not
possible
WAITMC
Alarm 16954
NC prog.: WAITMC
NEWCONF_PREP_STOP
Alarm 16954
NC prog.: NEWCONF
BLOCKSEARCHRUN_NEWCONF
Alarm 16954
NC prog.: NEWCONF
SET_USER_DATA
Delayed
OPI: PI "_N_SETUDT"
ESR
Delayed
EXT_ZERO_POINT
Delayed
STOPRUN
Alarm 16955
Reaction
The reaction to a stop event can be:
Immediate
Stops immediately even in the stop delay area. Is known as a "hard stop event".
Delayed
Does not stop (even short-term) until after the stop delay area. Is known as a "soft stop
event".
Alarm 16954
Program is aborted because illegal program commands have been used in the stop delay
area.
Alarm 16955
Program is continued, an illegal action has taken place in the stop delay area.
Alarm 16957
The program area (stop delay area) enclosed by DELAYFSTON and DELAYFSTOF could not
be activated. As a result, every stop will take effect immediately and is not subject to a
delay! This will always occur when the deceleration begins before the stop delay area but
ends within the stop delay area. Likewise, if the stop delay area is entered with an override
of 0, the stop delay area also cannot be activated. (Example: A G4 before the stop delay
area allows the user to reduce the override to 0. The next block in the stop delay area then
begins with override 0 and the described alarm situation occurs.)
Note
MD11411 $MN_ENABLE_ALARM_MASK (activation of warnings) Bit 7 activates this alarm.
Stop criteria
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
557
Note
Some NCK events are stopped for a short time, in order to perform a switching operation, and
restart immediately. These include, e.g. the ASUB that stops the contour briefly in order to
then start the ASUB immediately. These events are also allowed in the stop delay area,
however they are pushed back to its end and are thus considered "soft stop events".
Conditions
The following conditions apply while a stop delay area is being processed:
A change in the feed is ignored while in the stop delay area. A feed disable is thus not
effective until the program area has been exited, and is stopped.
None of the main run axes, such as command axes and positioning axes, which are
traversed with POSA, are stopped.
Part program command G4 is permitted in the stop delay area.
Other part program commands that cause a stop in the meantime (e.g. WAITM) are not
permitted and trigger the alarm 16954.
A stop delay area entered with an override of 0% will not be accepted!
9.10
9.10.1
Function
9.10.1.1
General functionality
Note
The terms "asynchronous subprogram (ASUB)" and "interrupt routine" are used
interchangeably in the description below to refer to the same functionality.
558
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Interrupt routines
Interrupt routines are NC programs which are started by interrupt events (interrupt inputs,
process or machine status).
A part program block currently being executed will be aborted by the activation of an interrupt
routine if it is not specifically declared to be locked against interruption. It is possible to continue
the part program at the point of interruption at a later stage.
0DLQSURJUDPVXESURJUDP
,QWHUUXSWURXWLQH
16(7,17
1
%ORFNEHLQJ
SURFHVVHG
DURXWLQHWRDQHYHQW
DQGVZLWFKLWUHDG\$VVLJQ
$%+(%B=
1
1
1
(YHQW
LQSXWVZLWFKHG
15
1;<
1
1
1
0
1
1
1
5HWXUQSRVVLEOH
10
Interrupt signals
A total of eight interrupt signals (inputs) are available.
All inputs can be controlled via the PLC.
The first four interrupt signals are also controlled via the four fast NC inputs of the NCU
module.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
559
4 rapid NC inputs
PLC interface
4 interrupt signals
Figure 9-9
4 interrupt signals
Interrupt signals
For further information about PLC control of the rapid NC inputs (interrupt signals) see Section
"P3: Basic PLC program for SINUMERIK 840D sl (Page 821)".
References:
Function Manual, Extended Function; Digital and Analog NCK I/O (A4)
560
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Activation
The activation of an interrupt routine is initiated via:
0/1 edge of the interrupt signal, triggered by a 0/1 edge at the associated fast NC input
Call of the "Function call ASUB" (see Section "P3: Basic PLC program for SINUMERIK
840D sl (Page 821)")
Setting an output via synchronized action which is parameterized on an interrupt via shortcircuit (see "Examples (Page 570)")
References:
Function Manual, Synchronized Actions
Display
The activation of an interrupt routine is shown channel-specifically with the following NC/PLC
interface signal:
DB21, DBX378.0 == 1 (ASUB active)
9.10.1.2
Reorganization
In addition to decelerating the axes, the previously decoded calculation blocks are calculated
back to the interruption block, i.e. all the variables, frames and G codes are assigned the value
that they would have at the point of interruption if the part program had not been previously
decoded. These values are transferred to the buffer so that they can be called up again when
the interrupt routine is completed.
Exceptions where no reorganization is possible:
In thread cutting blocks
With complex geometries (e.g. spline or radius compensation)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
561
Part program:
PROGNAME
N10 ...
N20 Y20
N30 X60
N40 ...
N50 M30
Interrupt routine:
INTER
N101 ...
N102 ...
N103 ...
N104 REPOSL M17
N104
Path with
REPOSL
Standard (for G90)
N101
N20
N30
Interruption point
Figure 9-10
9.10.1.3
N40
562
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.10.1.4
NC response
The different reactions of the control to an activated interrupt routine in the various operating
modes are given in the following table:
Status of NC
ASUB start
Program is active
Interrupt, (PLC)
Reset
Interrupt, (PLC)
The ASUB is executed like a main program. Reset (without M30) is exe
cuted at the end of the ASUB. The next control system status depends on
the following machine data:
MD20110 $MC_RESET_MODE_MASK
MD20112 $MC_START_MODE_MASK
References:
Function Manual Basic Functions; Axes, Coordinate Systems, Frames
(K2), Chapter: "Workpiece-related actual-value system"
Interrupt, (PLC)
ASUB is executed. At the end of the ASUB the STOP state is reapplied.
If REPOS in the ASUB:
The ASUB processing is stopped before the approach block.
The approach movement can be initiated with the Start key.
Start key
Once the ASUB has been executed, processing of the interrupted pro
gram is resumed.
Manual mode
+ channel stopped
Interrupt, (PLC)
Control system assumes the status "internal program execution mode" for
the addressed channel (not evident externally) and then activates the
ASUB. The selected operating mode remains valid. The original status is
resumed after execution of the ASUB (M17).
JOG
AUTO Teach-In
AUTO Teach reference
point.
Interrupt, (PLC)
MDA JOG,
Interrupt, (PLC)
MDA Teach-In,
MDA Teach reference point.
Manual mode
+ channel running
Interrupt, (PLC)
Interrupt, (PLC)
When the following machine data is set, the user ASUB is processed
despite the "NC Start disable" alarm response:
MD20194 $MC_IGNORE_NONCSTART_ASUP
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
563
ASUB start
Processing of INITIAL.INI
not possible
not possible
Block search
Alarm that cannot be re
moved by NC start.
Digitalizing active
Channel in fault condition
User alarm other
than 65500 - 65999,
channel in reset,
MD20194 not active
9.10.2
Parameterization
Value
Meaning
The mode group-specific signals (NC/PLC interface signals DB11) are effective.
The mode group-specific signals (NC/PLC interface signals DB11) are not effective.
MD11600 also controls whether the internal program execution mode is imported only for the
channel in which the interrupt routine has been activated, or to all channels in the mode group.
Bit
Value
Meaning
If, because of the machine data setting, the channel in which the interrupt is being processed
has left the mode group, the mode group signals "Mode group reset", "Mode group stop", etc.
have no effect on this channel. In this way, the interrupt routine is run without being disturbed
by the mode group signals.
564
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
565
566
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
References
A detailed description of the machine data can be found in:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
567
9.10.3
Programming
Comment
...
N20 SETINT(3) ABHEBEN_Z
...
Priorities
If several SETINT instructions are in the part program and therefore several signals can be
simultaneously received, the assigned interrupt routines must be allocated priorities that define
the sequence in which the interrupt routines are executed:
PRIO=<value>
There are priorities from 1 to 128. Priority 1 corresponds to the highest priority.
Example:
Program code
Comment
...
N20 SETINT(3) PRIO=2 ABHEBEN_Z
...
568
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
REPOS-query
With interrupt routines, sequences may be generated for which there is no unambiguous return
to an interruption point in the block processing sequence (REPOS).
The system variable $P_REPINF can be used to scan the ASUB to determine whether a
REPOS is possible.
Value
Meaning
Flexible programming
The following commands help in the flexible programming of interrupt routines:
Command
Meaning
SAVE
If the SAVE command has been used to define the interrupt routine, the G
codes, frames and transformations previously active in the interrupted part
program become operative again as soon as the interrupt routine is ended.
DISABLE
The DISABLE command can be set to protect part program sections from
being interrupted by an interrupt routine.
The assignment interrupt signal part program is maintained but the in
terrupt routine no longer responds to the 0/1 signal transition.
ENABLE
The DISABLE command can be reset with the ENABLE command. Interrupt
routines are not activated until the next 0/1 transition of the interrupt signal.
CLRINT
References
Programming Manual, Job Planning; Section: "Flexible NC Programming" > "Interrupt routine
(ASUB)"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
569
9.10.4
Restrictions
9.10.5
Examples
570
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.11
9.11.1
Function
Function
The NCK software supplied contains preprogrammed processes (internal ASUBs) for
implementation of the RET and REPOS functions. They can be replaced by user-specific
ASUBs written by the machine tool manufacturer.
DANGER
Programming fault
The machine manufacturer is responsible for the contents of ASUB routines used to replace
ASUP.SYF supplied by Siemens.
Installation
In the manufacturer directory _N_CMA_DIR or in the user directory _N_CUS_DIR a routine
with the name "_N_ASUP_SPF" can be loaded. It must implement the actions desired by the
user for the functions RET and REPOS.
9.11.2
Parameter assignment
Activation
The parameters for the activation of the user-specific routine "_N_ASUP_SPF" are set with the
machine data:
MD11610 $MN_ASUP_EDITABLE (activation of a user-specific ASUB).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
571
Meaning
Neither in case of RET nor in case of REPOS is the user-specific routine _N_AS
UP_SPF activated.
If the user-defined routine is activated for RET, then the routine provided in the system
is activated for REPOS.
If the user-defined routine is activated for REPOS, then the routine provided in the
system is activated for RET.
As in case RET and also in case of REPOS the user-specific routine is activated.
Bit 2 defines in which directory the user-specific routine is to be searched first in case of
activation.
Bit
Value
Meaning
572
Bit
Value
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.11.3
Programming
Continuation
When using the system ASUB, the behavior for the continuation after execution of the actions
is permanently specified within the ASUB:
System ASUB 1 continuation with RET (subprogram return)
System ASUB 2 continuation with REPOS (repositioning)
The description of the system variables specifies the behavior with regard to the system ASUB
for each cause at "Continued for".
Note
Continued for user-specific ASUB
It is recommended for user-specific ASUBs that the appropriate continuation of the system
ASUB be retained.
Cause: Change of operating mode ($AC_ASUP, bit 9 == 1)
At a change of operating mode, the continuation depends on the machine data:
MD20114 $MC_MODESWITCH_MASK (interruption of MDA through mode change)
Bit 0 == 0: System ASUB 1 continuation with RET
Bit 0 == 1: System ASUB 2 continuation with REPOS
References
A detailed description of the system variables can be found in:
List Manual, System Variables
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
573
9.12
9.12.1
Function
Description
An ASUB can be initiated in various situations, either by the user, the system or eventcontrolled. A user alarm with the "NC Start disable" alarm response prevents the ASUB start
in some situations. For a pending alarm response, a user ASUB from reset acknowledges with
the alarm 16906.
With the appropriate setting of a channel-specific machine data it is possible to start and
perform an ASUB although a user alarm with the alarm response "NC Start disable" is active.
The alarm response is overridden for the ASUB start and permits its execution.
Note
NCK alarms with the "NC Start disable" alarm response are not affected by the override. A
user ASUB from reset is still not possible and will be rejected with the alarm 16906.
Effect
Delete
65000 - 65499
Reset
65500 - 65999
Reset
66000 - 66999
Reset
67000 - 67999
Display
Cancel
68000 - 68999
Reset
69000 - 69999
Reset
Note
Although it is possible to override the "NC Start disable" alarm response for the following alarm
number ranges, the other responses of the associated alarms ensure for the stop conditions.
The stop conditions cannot be overridden with the function described in this chapter:
66000 66999
68000 68999
69000 69999
574
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.12.2
Activation
Setting
Each ASUB channel can be set separately with the following channel-specific machine data:
MD20194 $MC_IGNORE_NONCSTART_ASUP (ASUB start permitted despite pending alarm
response "NC Start disable" for certain user alarms)
A change of the MD setting acts only with the NEWCONF part program command or from the
user interface per softkey.
Sequence
The normal sequence for the ASUB start has the following form:
Set machine data appropriate with MD20194 $MC_IGNORE_NONCSTART_ASUP and
activate with NEWCONF.
Start the part program.
A user alarm from the number ranges that can be overridden appears, e.g. alarm 65500.
This can occur from a synchronized action or with a part program command.
Despite alarm, the part program is processed to the program end M02, M30 or M17.
The Reset channel state is active.
A started user ASUB from reset is now performed.
Note
An ASUB start from a running or stopped part program is also permitted for a pending "NC
Start disable" alarm response. It is irrelevant whether a user alarm or an NCK alarm with the
"NC Start disable" alarm response is involved.
Note
If the part program is stopped during the processing of the user ASUB, the ASUB can no longer
be continued with the NC Start key, e.g. for M0 in the ASUB or for user stop. The "NC Start
disable" alarm response is rejected with the alarm 16906. The previously generated user alarm
can be acknowledged only with reset.
9.12.3
Examples
9.12.3.1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
575
Main program
Program code
N10 G90 G0 Z10
N20 SETAL(65500)
N30 X100
N40 Z0
N50 M30
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X20
N130 REPOSA
Sequence
1
$ODUP
1
5(326$
1
1
8VHU$68%IURPDFWLYH
SURJUDP
8VHU$68%IURPUHVHW
1
0
$ODUP
The block N10 is processed. The alarm 65500 appears that contains the "Display" and "NC
Start disable" alarm responses. The part program does not stop as result. The block N30 is
loaded and processed. If the user ASUB is used in the block middle, it is performed despite
pending "NC Start disable" alarm response. The REPOSA resumes at the program interruption
and processes the part program to the program end M30. If the user ASUB is now used, it will
be rejected with alarm 16906. The NC state is reset.
9.12.3.2
576
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Main program
Program code
N4 $MC_IGNORE_NONCSTART_ASUP=1
N6 NEWCONF
N10 G90 G0 Z10
N20 SETAL(65500)
N30 X100
N40 Z0
N50 M30
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X20
N130 REPOSA
Sequence
1
$ODUP
1
5(326$
1
1
1
8VHU$68%IURPDFWLYH
SURJUDP
1
1
8VHU$68%IURPUHVHW
5(326$
0
9.12.3.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
577
Main program
Program code
N4 $MC_IGNORE_NONCSTART_ASUP=1
N6 NEWCONF
N10 G90 G0 Z10
N20 SETAL(65500)
N30 X100
N40 Z0
N50 M30
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X10
N122 M0
N124 X10
N130 REPOSA
Sequence
1
$ODUP
1
0
$ODUP
1&6WDUWDIWHUVWDQGVWLOO
1
1
8VHU$68%IURPDFWLYH
SURJUDP
578
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.12.3.4
Main program
Program code
N4 $MC_IGNORE_NONCSTART_ASUP=1
N6 NEWCONF
N10 G90 G0 Z10
N20 SETAL(65500)
N30 X100
N40 Z0
N50 M30
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X20
N130 REPOSA
Sequence
1&VWRS
1
$ODUP
1
$ODUP
1&6WDUWDIWHUVWDQGVWLOO
1
1
8VHU$68%IURPDFWLYH
SURJUDP
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
579
9.12.3.5
Main program
Program code
N10 G90 G0 Z10
N20 SETAL(65500)
N30 X50
N35 M0
N38 X100
N40 Z0
N50 M30
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X20
N130 REPOSA
Sequence
$ODUP
1
$ODUP
1&6WDUWDIWHUVWDQGVWLOO
1
1
1
0
8VHU$68%IURPVWRSSHG
The block N10 is processed. The alarm 65500 appears that contains the "Display" and "NC
Start disable" alarm responses. The part program does not stop as result. The block N30 is
loaded and processed. The part program stops at block N35 because of M0. The NC state is
stopped. If the user ASUB is now used, it is performed despite the stopped NC state and
pending "NC Start disable" alarm response. It does not matter whether or not the machine
data MD20194 $MC_IGNORE_NONCSTART_ASUP is set. After block N120, the ASUB
remains stationary before REPOSA. Repositioning is possible only at the next NC Start. The
NC Start, however, is rejected with the alarm 16906 because of the "NC Start disable" alarm
response. The previously generated 65500 alarm can be acknowledged only with reset.
580
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.13
Single block
With the "single block" function, the user can execute a part program block-by-block.
Function versions
The "single block" function is available in three versions:
SBL1 (= IPO single block)
When SBL1 is active, machining stops or pauses after each machine action block (IPO
block).
SBL2 (= decode single block)
When SBL2 is active, machining always stops or pauses after each part program block. If
a part program block is processed in several IPO blocks, machining stops after every IPO
block. Thread cutting is an exception.
SBL3 (= stop in cycle)
As with SBL2, however, there is a stop after every part program block in the cycle, too.
9.13.1
Parameterization
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
581
9.13.2
Programming
Meaning
SBLOF:
SBLON:
582
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
When single-block execution SBL3 is active (stop after every part program block even in the
cycle), the SBLOF command has no effect.
Single-block suppression for the complete program
Programs designated with SBLOF are completely executed just like a block when single-block
execution is active, i.e. single-block execution is suppressed for the complete program.
SBLOF is also valid in the called subprograms.
Single-block suppression for a subprogram
SBLOF is in the PROC line and is valid up to the end of the subprogram or until it is interrupted.
At the return command, the decision is made whether to stop at the end of the subprogram:
Return jump with M17: Stop at the end of the subprogram
Return jump with RET: No stop at end of the subprogram
Example:
Program code
PROC EXAMPLE SBLOF
G1 X10
RET
Comment
N30 Y20
N40 M100
N50 R10=90
N60 SBLON
N70 M110
N80 ...
The area between N20 and N60 is executed as one step in single-block mode.
Note
When single-block execution SBL2 is active (stop after each part program block) there is no
execution stop in the SBLON block if bit 12 is set to "1" in the
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (prevent single-block stop).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
583
Comment
RET
N40 ELSE
N50 REPOSA
N60 ENDIF
If the single-block stop in the system or user ASUB is suppressed using the settings in machine
data MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (bit 0 = 1 or bit 1 = 1), then the singleblock stop can be re-activated by programming SBLON in the ASUB.
If the single-block stop in the user ASUB is suppressed using the setting in machine data
MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP then the single-block stop cannot be
reactivated by programming SBLON in the ASUB.
Cycle CYCLE1:
584
Program code
Comment
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N110 R10=3*SIN(R20)+5
N120 IF (R11 <= 0)
N130 SETAL(61000)
N140 ENDIF
N150 G1 G91 Z=R10 F=R11
N160 M17
CYCLE1 is processed for an active single block, i.e. the Start key must be pressed once to
process CYCLE1.
Example 2: An ASUB, which is started by the PLC in order to activate a modified zero offset
and tool offsets, is to be executed invisibly
Program code
N100 PROC ZO SBLOF DISPLOF
N110 CASE $P_UIFRNUM OF
0 GOTOF _G500
1 GOTOF _G54
2 GOTOF _G55
3 GOTOF _G56
4 GOTOF _G57
DEFAULT GOTOF END
Comment
N10 X0 F1000
N20 UP1(0)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
585
Comment
; Suppress single-block stop.
N100 X10
N110 UP2(0)
PROC UP2(INT _NR)
N200 X20
N210 SBLON
N220 X22
N230 UP3(0)
PROC UP3(INT _NR)
N300 SBLOF
N305 X30
N310 SBLON
N320 X32
N330 SBLOF
N340 X34
N350 M17
; SBLOF is active.
N240 X24
N250 M17
N120 X12
N130 M17
9.13.3
N30 X0
N40 M30
Supplementary conditions
9.13.4
Classifying channels
One mode group channel must be classified as a single-block control channel (KS), while the
other mode group channels must be classified as dependent channels (KA) via interface signal.
Type A or type B single-block behavior can be selected for KA channels.
586
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Channel classification
In one channel (KS) in a mode group, the user should select single block (NST DB21 ... DBX0.4
(activate single block)). Single-block type A or B refers to other channels (KA) of a mode group.
0RGHJURXS
&KDQQHO.6
&KDQQHO.$
&KDQQHO.$
&KDQQHOQ.$
%HKDYLRUFDQEHVHOHFWHGYLDW\SH$RUW\SH%
Figure 9-11
9.14
Program control
Options
1. Function selection (via operator interface or PLC)
2. Activation of skip levels
3. Adapting the size of the interpolation buffer
4. Program display modes via an additional basic block display
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
587
9.14.1
Function
Selection signal
Activation signal
Feedback signal
---
---
Single block:
---
Associated M01
DRF selection
References:
Operating Manual HMI Advanced "Operating Area, Machine"
588
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.14.2
Function
It is possible to skip blocks which are not to be executed every time the program runs. Blocks
to be skipped are indicated in the part program by the character "/" before the block number.
The skip levels in the part program are specified by "/0" to "/9".
Only one skip level can be specified for each part program block.
Parameter assignment
The number of skip levels is defined using machine data:
MD51029 $MM_MAX_SKP_LEVEL (max. number of skip levels in the NC program)
Programming
Blocks which are not to be executed in every program pass (e.g. program test blocks) can be
skipped according to the following schematic.
Program code
Comment
/N005
/0 N005
/1 N010
/2 N020
/3 N030
/4 N040
/5 N050
/6 N060
/7 N070
/8 N080
/9 N090
Activation
The 10 skip levels "/0" to "/9" are activated by the PLC setting the PLC NCK interface
signals.
The function is activated from the HMI via the "Program control" menu in the "Machine"
operating area:
For skip levels "/0" to "/7":
Via the interface HMI PLC DB21, ... DBB26 (skip block selected).
For skip levels "/8" to "/9":
Via the interface HMI PLC DB21, ... DBX27.0 to DBX27.1.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
589
9.14.3
MD28060
The channelspecific interpolator executes prepared blocks from the interpolation buffer during
the part program run. The maximum number of blocks requiring space in the interpolation
buffer at any given point in time is defined by the memory configuring MD28060
$MM_IPO_BUFFER_SIZE (number of NC blocks in the IPO buffer (DRAM)). For some
applications it may be meaningful not to use the full buffer capacity in order to minimize the
"interval" between preparation and interpolation.
SD42990
The number of blocks in the interpolation buffer can be restricted dynamically to a smaller
value than in MD28060 $MC_MM_IPO_BUFFER_SIZE (number of NC blocks in the IPO buffer
(DRAM)), minimum 2 blocks, with the setting data SD42990
$SC_MAX_BLOCKS_IN_IPOBUFFER (max. number of blocks in the IPO buffer).
Values of setting data SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER:
Value
Effect
<0
or 1
The interpolation buffer is activated with no more than the maximum specified
number of blocks.
>= MM_IPO_BUFFER_SIZE
590
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
If SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER is set in the part program, the interpolation
buffer limitation takes effect immediately if the block with the SD is being preprocessed by the
interpreter.
This means that the limitation of the IPO buffer may take effect a few blocks before the intended
limitation (see also MD 28070 $MC_MM_NUM_BLOCKS_IN_PREP).
To avoid premature activation and to make the limitation of the IPO buffer take effect in
synchronism with the block, a STOPRE (preprocessing stop) must be programmed before the
SD is set in the part program.
Validity
SD42990 $SC_MAX_BLOCK_IN_IPOBUFFER has global, channel-specific validity and can
also be modified in a part program. This modified value is maintained at program end. If this
setting data is to be reset again on defined events, a so-called event-driven program must be
created to do this. For example, this setting data could always be set to a predefined value on
RESET.
Application
The IPO buffer limitation can be used whenever the number of blocks between block
preparation and interpolation must be minimized, e.g., when actual positions in the part
program must be read and processed for other purposes.
Example
N10 ...
N20 ...
..........
N100 $SC_MAX_BLOCKS_IN_IPOBUFFER = 5
N110 ...
N120 ...
............
N200 $SC_MAX_BLOCKS_IN_IPOBUFFER = -1
N210 ...
............
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
591
9.14.4
9.14.5
592
Significance:
MD28400 $MC_MM_ABSBLOCK
MD28402 $MC_MM_ABSBLOCK_BUF
FER_CONF[2]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
MD9011 $MM_DISPLAY_RESOLUTION_INCH
MD9010 $MM_SPIND_DISPLAY_RESOLUTION
MD9424 $MM_MA_COORDINATE_SYSTEM
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
593
Transverse axis setpoints are always shown as diameter values in the basic
block display.
Example:
G0 X10 Y10 Z10
COMPCAD
...
To avoid bottlenecks in the NCK performance, the basic block display is deactivated
automatically. As a sign that the display blocks are missing, a display block with the string "..."
is generated.
All display blocks are always generated in the single block.
594
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.14.6
MD9004 $MM_DISPLAY_RESOLUTION
MD17200 $MN_GMMC_INFO_NO_UNIT[0]
MD17200 $MN_GMMC_INFO_NO_UNIT[2]
MD9424 $MM_MA_COORDINATE_SYSTEM
MD17200 $MN_GMMC_INFO_NO_UNIT[3]
Programmed axis positions are represented as absolute positions in the coordinate system
(WCS / ENS) specified in MD9424 $MM_MA_COORDINATE_SYSTEM (coordinate system
for actual value display)
Note
The modulo correction is omitted for modulo axes, which means that positions outside the
modulo range can be displayed. It also means that the basic block display differs from the
position display in which values are always moduloconverted.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
595
Examples
Comparisons between display block (original block) and basic block display:
Programmed positions are displayed as absolute.
The addresses AP/RP are displayed with their programmed values.
Original block:
Display block:
N10 X10.123
N20 G91 X1
N20 X11.123
Display block:
Display block:
Display block:
596
N420 F1.5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Display block:
N510 R1=2
N520 G[8]= R1
N520 G54
Modal G codes that do not generate an executable block are collected and output with the
display block of the next executable block if permitted by the syntax (DIN block). If this is
not the case (e.g. predefined subprogram call TRANSMIT), a separate display block
containing the modified G codes is placed in front of the next executable block.
Original block:
Display block:
N610 G64
G64
N620 TRANSMIT
N620 TRANSMIT
A display block is always generated for part program lines in which the addresses F and
FA appear (including for MD22240 $MC_AUXFU_F_SYNC_TYPE = 3 (output time of the
F functions)).
Original block:
Display block:
N630 F1000
N630 F1000
N640 X100
N640 X100
The display blocks generated for the block display are derived directly from the programmed
part program blocks. If intermediate blocks (e.g. tool radius compensation G41/G42, radius/
chamfer RNDM, RND, CHF, CHR) are generated in the course of contour preprocessing,
these are assigned the display information from the part program block on which the motion
is based.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
597
Original block:
Display block:
With the EXECTAB command (processing a table of contour elements), the block
generated by EXECTAB is shown in the display block.
Original block:
Display block:
With the EXECSTRING command, the block generated via EXECSTRING is displayed in
the display block.
Original block:
N910 DEF STRING[40] PROGSTRING = "N905 M3 S1000 G94 Z100 F1000 G55"
N920 EXECSTRING(PROGSTRING)
Original block:
N905 Z100 G55 G94 M3 S1000 F1000
9.14.7
Function
The "execution from external source" function can be used to execute programs from an
external program memory that cannot be saved in the NC memory due to their size.
Note
Protected cycles (_CPF files) can not be executed from an external program memory.
598
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Applications
Direct execution from external programs
In principle, any program that is accessible via the directory structure of the interface in the
"Execution from external" HMI mode can be selected and executed.
Execution of external subprograms from the part program
The external subprogram is called through the part program command EXTCALL with
specification of a call path (optional) and the subprogram name ( see "Executing external
subprograms (EXTCALL) (Page 600)").
Parameter assignment
A reloading memory (FIFO buffer) must be reserved in the dynamic NC memory for executing
a program in "execution from external source" mode.
Size of FIFO buffer
The size of the FIFO buffer is set in the machine data:
MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE (FIFO buffer size for processing from
external)
Note
Programs with jump commands
For external programs that contain jump commands (GOTOF, GOTOB, CASE, FOR, LOOP,
WHILE, REPEAT, IF, ELSE, ENDIF etc.) the jump destinations must lie within the post loading
memory.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
599
9.14.8
Function
Individual machining steps for producing complex workpieces may involve program sequences
that require so much memory that they cannot be stored in the NC memory.
In such cases, the user has the option of executing the program sequences as subprograms
from an external program memory in the "Execution from external source" mode with the help
of the EXTCALL part program command.
Preconditions
The following preconditions are applicable to the execution from external subprograms:
The subprograms must be accessible via the directory structure of the operator interface.
A reloading memory (FIFO buffer) must be reserved for each subprogram in the dynamic
NC memory.
600
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
Subprograms with jump commands
For external subprograms that contain jump commands (GOTOF, GOTOB, CASE, FOR, LOOP,
WHILE, REPEAT, IF, ELSE, ENDIF etc.) the jump destinations must lie within the post loading
memory.
The size of the post loading memory is set via:
MD18360 MM_EXT_PROG_BUFFER_SIZE
ShopMill/ShopTurn programs
The contour descriptions added at the file end mean the ShopMill and ShopTurn programs
must be stored completely in the read-only memory.
Parameterization
The path for the external subprogram directory can be preset using setting data:
SD42700 $SC_EXT_PROG_PATH (program path for the EXTCALL external subprogram
call)
The entire path of the program to be called along with the subprogram path or name specified
during programming is derived therefrom.
Programming
An external subprogram is called by means of parts program command EXTCALL.
Syntax:
EXTCALL("<path/><program name>")
Parameter:
<path>:
<program name>:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
601
Note
Path specification: Short designations
The following short designations can be used to specify the path:
LOCAL_DRIVE: for local drive
CF_CARD: for CompactFlash Card
USB: for USB front connection
CF_CARD: and LOCAL_DRIVE: can be alternatively used.
EXTCALL call with absolute path name
If the subprogram exists at the specified path, it will be executed following the EXTCALL call.
If it does not exist, program execution is canceled.
EXTCALL call with relative path name / without path name
In the event of an EXTCALL call with a relative path name or without a path name, the available
program memories are searched as follows:
If a path name is preset in SD42700 $SC_EXT_PROG_PATH, the data specified in the
EXTCALL call (program name or with relative path name) is searched for first, starting from
this path. The absolute path results from linking the following characters:
The path name preset in SD42700
The "/" character as a separator
The subprogram path or name programmed in EXTCALL
If the called subprogram is not found at the preset path, the data specified in the
EXTCALL call is then searched for in the user-memory directories.
The search ends when the subprogram is found for the first time. If the search does not
produce any hits, the program is canceled.
Example
Execute from local drive
Main program:
Program code
N010 PROC MAIN
N020 ...
N030 EXTCALL ("ROUGHING")
N040 ...
N050 M30
External subprogram:
Program code
N010 PROC ROUGHING
602
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
The "MAIN.MPF" main program is stored in NC memory and is selected for execution.
The "SCHRUPPEN.SPF" or "SCHRUPPEN.MPF" subprogram to be subsequently loaded is
on the local drive in the directory "/user/sinumerik/data/prog/WKS.DIR/WST1.WPD".
The subprogram path is preset in SD42700:
SD42700 $SC_EXT_PROG_PATH = "LOCAL_DRIVE:WKS.DIR/WST1.WPD"
Note
Without the path being specified in the SD42700, the EXTCALL operation for this example
would have to be programmed as follows:
EXTCALL("LOCAL_DRIVE:WKS.DIR/WST1.WPD/SCHRUPPEN")
9.15
EES (optional)
9.15.1
Function
Note
To use the function, the "Execute from external storage (EES)" licensed option is required!
Using the EES (Execution from External Storage) function, users have the option of having
the NCK execute programs directly from an external program memory.
The following options for external memories are available:
Local drive LOCAL_DRIVE/CF_CARD: CF card of the NCU, user CF card of the PPU or
hard disk of a CPU
Local drive SYS_DRIVE: System CF card of the PPU
Note
For the SINUMERIK 828D, a user memory (100 MB) is released on the system CF card
when the EES function is active. The EES function can therefore be used without a user
CF card of the PPU.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
603
9.15.2
Commissioning
9.15.2.1
Preconditions
To use the EES function, the drives used with the control system must be declared.
References:
Commissioning Manual, base software and operating software
Universal/Turning/Milling/Grinding Operating Manual
604
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
605
9.15.2.2
606
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.15.2.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
607
When calling the program, only search for files with file ID
In order to speed up the program search for subprogram calls during EES operation, we
recommend that you limit the search to files with file ID (e.g. SPF, MPF, etc.).
MD11625 $MN_FILE_ONLY_WITH_EXTENSION = 1
Note
MD11625 has no effect on the program search when processing external subprograms with
EXTCALL.
Reference:
Description of the search path for the subprogram call, see the Programming Manual Job
Planning.
608
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.15.2.4
Memory configuration
Reducing the end user program memory in the passive file system
With active EES, the end user program memory in the passive file system can be reduced:
MD18352 $MN_MM_U_FILE_MEM_SIZE (end user memory for part programs / cycles / files)
The released memory can then be used, for example, for tool data or manufacturer cycles
(MD18353 $MN_MM_M_FILE_MEM_SIZE).
References:
For detailed information on the memory configuration, see Function Manual, Extended
Functions
9.16
System settings for power-up, RESET / part program end and part
program start
Concept
The behavior of the control can be set via the machine data for the following events:
Run-up (power-on)
Reset / part program end
Part program start
The control-system response after:
MD20110 $MC_RESET_MODE_MASK
*)
MD20144 $MC_TRAFO_MODE_MASK
MD20150 $MC_GCODE_RESET_VALUES
RESET / part program end
MD20110 $MC_RESET_MODE_MASK
MD20150 $MC_GCODE_RESET_VALUES
MD20152 $MC_GCODE_RESET_MODE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
609
MD20112 $MC_START_MODE_MASK
MD20110 $MC_RESET_MODE_MASK
*)
610
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
0'
5(6(7B02'(B0$6.
%LWb
%LW
'HIDXOW
7UDQVIRUPDWLRQDFWLYH
DFFRUGLQJWR0'0'ELW0'ELW
*HRD[LVH[FKDQJHDFWLYH
DFFRUGLQJWR0'ZLWK0'
%LW
%LW
%LW
7KHWRROOHQJWKFRPSHQV
DWLRQVHOHFWHGEHIRUH
32:(521UHPDLQVDFWLYH
0'
%LWDQGELW
%LW
7RROOHQJWKFRPSHQVDWLRQDFWLYH
DFFWR0'0'0'
7UDQVIRUPDWLRQRII
7RROOHQJWKFRPSHQVDWLRQRII
*FRGHVDFFRUGLQJWR0'0&B*&2'(B5(6(7B9$/8(6
&RXSOHGD[LVJURXSLQJVDUHGHDFWLYDWHG
7DQJHQWLDOWUDFNLQJLVQRWDFWLYDWHG
6\QFKURQRXVVSLQGOHFRXSOLQJLVQRWDFWLYDWHG
$[LDOIHHGUDWHSHUUHYROXWLRQRII3DWKDQGV\QFKURQL]HGD[HVRQPDVWHUVSLQGOHEDFN
*HRPHWU\D[LVDVVLJQPHQWDFFRUGLQJWR0'0&B$;&21)B*(2$;B$66,*1B7$%
0DVWHUYDOXHFRXSOLQJLVQRWDFWLYDWHG
%DVLFIUDPHLVGHVHOHFWHG
(OHFWURQLFJHDULVQRWDFWLYDWHG
,QLWLDOVWDWHIRUPDVWHUVSLQGOHDFFRUGLQJWR0'0&B63,1'B'()B0$67(5B63,1'
0DVWHUWRROKROGHULQLWLDOVWDWHDFFRUGLQJWR0'0&B722/B0$1*(0(17B722/+2/'(5
5HIHUHQFHD[LVDFFRUGLQJWR0'0&B',$0(7(5B$;B'()
5(6(7SDUWVSURJUDPHQG
Figure 9-12
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
611
System settings after reset / part program end and part program start
MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1
5(6(7SDUWVSURJUDPHQG
%LW
0'
5(6(7B02'(B0$6.
%LW
'HIDXOW
*FRGHVDFFRUGLQJWR0'DQG0'
0'ELWVDUHHYDOXDWHGLH
WKHIXQFWLRQDVVLJQHGWRWKHUHVSHFWLYHELWV
HLWKHUDGRSWVLWVUHVHWSRVLWLRQRUUHWDLQV
LWVFXUUHQWSRVLWLRQUHIHUWRWDEOHVEHORZ
%LW
7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
3DUWVSURJUDPVWDUW
*FRGHVDFFRUGLQJWR0'
7RROOHQJWKFRPSHQVDWLRQRII
7UDQVIRUPDWLRQRII
&RXSOHGPRWLRQRII
7DQJHQWLDOWUDFNLQJRII
6\QFKURQRXVVSLQGOHRII
*HRPHWU\D[LVDVVLJQPHQWDFFRUGLQJWR0'
0DVWHUYDOXHFRXSOLQJRII
$[LDOUHYROXWLRQDOIHHGUDWHRII
5HVHUYHGEDVLFIUDPHRII
0DVWHUVSLQGOHDFFRUGLQJWR0'
0DVWHUWRROKROGHURII
5HIHUHQFHD[LVDFFRUGLQJWR0'
%LW
0'
5(6(7B02'(B0$6.
%LW
7KHVHWWLQJVDFWLYDWHGE\5(6(7
EHFRPHYDOLG
%LWV
)XQFWLRQDGRSWV5(6(7SRVLWLRQ
%LW
5HIHUHQFHD[LVLVUHWDLQHG
%LW GHIDXOW
%LWV7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
%LW)XQFWLRQDGRSWV5(6(7SRVLWLRQ
,QWHUSUHWDWLRQRIWKHILUVWSDUWSURJUDPEORFN
Figure 9-13
612
System settings after reset / part program end and part program start
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Control basic setting after run-up, reset / part program end and part program start
The control initial setting after run-up (power-on), reset / part program end and part program
start is defined in the following machine data:
MD20110 $MC_RESET_MODE_MASK (definition of the control initial setting after run-up
and reset / part program end)
MD20112 $MC_START_MODE_MASK (definition of the control initial setting after part
program start)
References
Detailed Machine Data Description
Meaning
MD20120 $MC_TOOL_RESET_VALUE
MD20121 $MC_TOOL_PRESEL_RESET_VALUE
MD20130 $MC_CUTTING_EDGE_RESET_VALUE
MD20140 $MC_TRAFO_RESET_VALUE
MD20144 $MC_TRAFO_MODE_MASK
MD20150 $MC_GCODE_RESET_VALUES
MD20152 $MC_GCODE_RESET_MODE
MD21330 $MC_COUPLE_RESET_MODE_1
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB
MD20118 $MC_GEOAX_CHANGE_RESET
Example
Activate reset setting on reset:
MD20110, bit 0 = 1
MD20112 = 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
613
9.16.1
Function
If a part program with a machining operation with tool orientation is aborted due to a power
failure or reset, it is possible to select the previously active transformation and generate a
frame in the direction of the tool axis after the control has run up (power on). The tool can then
be retracted in JOG mode by means of a retraction movement towards the tool axis.
Requirement
The active measuring systems must have a machine reference for all the machine axes
involved in the transformation. See Section "Automatic restoration of the machine reference
(Page 1190)".
614
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Parameterization
The following machine data must be set so that the last active transformation is retained after
POWER ON:
MD20144 $MC_TRAFO_MODE_MASK, bit 1 = 1
MD20110 $MC_RESET_MODE_MASK, bit 0 = 1
MD20110 $MC_RESET_MODE_MASK, bit 7 = 1
See also Section "System settings for power-up, RESET / part program end and part program
start (Page 609)".
Programming
Wait for machine reference WAITENC
With the command WAITENC, the system waits channel-specific in a program until there is a
valid machine reference for all the active measuring systems of the parameterized axes. See
the "Requirement" section above. The parameter assignment of the axes is performed via:
MD34800 $MA_WAIT_ENC_VALID = 1
Application
In the user program (/_N_CMA_DIR/_N_PROG_EVENT_SPF) to be called event-controlled
when running up (requirement: MD20108 bit 3 = 1), the system must wait using the command
WAITENC until the valid axis positions are available.
A frame that positions the tool axis in the direction of the X, Y or Z axis can then be generated
using the NC language command TOROTX/TOROTY/TOROTZ.
Example
Orientation transformation and orientation axes with incremental encoders.
Configuration:
Meaning:
MD10720 $MN_OPERATING_MODE_DEFAULT [ 0 ] = 6
MD20108 $MC_PROG_EVENT_MASK = H9
MD20152 $MC_GCODE_RESET_MODE [ 52 ] = 1
Comment
; Example with activation of the frame, which aligns the WCS in the tool direction, when running up and
resetting with part program start.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
615
Comment
IF $P_PROG_EVENT == 4
; Run-up
IF $P_TRAFO <> 0
WAITENC
TOROTZ
ENDIF
M17
ENDIF
IF $P_PROG_EVENT == 1
TOROTOF
RET
ENDIF
The WAITENC command essentially corresponds to the following program sequence (example
for 5-axis machine with AB kinematics):
Program code
Comment
WHILE TRUE
ENDWHILE
:Position synchronization
GET_LABEL: GET(X,Y,Z,A,B,)
Continuing machining
AUTOMATIC mode
For automatic execution of programs in the AUTOMATIC mode, all the machine axes, whose
actual position of the active measuring system has been restored, must be referenced.
MDI mode and overstore
In the MDI mode and for the overstore function, machining can also be performed, without
referencing the axes, with restored positions. To do this, NC start with restored positions must
be enabled explicitly for a specific channel:
MD20700 $MC_REFP_NC_START_LOCK = 2
Supplementary condition
Axes with incremental encoders and without actual value buffering
It is to be assumed that axes with incremental encoders and without actual value buffering are
clamped with sufficient speed in the event of a power failure to prevent them drifting from their
last position setpoint.
616
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.17
9.17.1
Overview
Function
User-specific auxiliary functions (e.g. M101) do not trigger any system functions. They are only
output to the NC/PLC interface. The functionality of the auxiliary function must be implemented
by the user / machine manufacturer in the PLC user program. A description will be provided
as to how a user-specific subprogram call can be configured (replacement subprogram)
instead of the output to NC/PLC interface, which is the default setting.
Function M101 is then still programmed in the part program. However, when executing the
part program, the substitute subprogram is called. Therefore, the NC replaces the function by
a subprogram call. This results in the following advantages:
When adapting to the production process, an existing, tested and proven part program can
still be used, unchanged. The changes required are then shifted into the user-specific
subprograms.
The functionality can be implemented within the substitute subprogram with the full
functional scope of the NC language.
The communication overhead between NC and PLC is not required.
Switching functions
Tool selection
TCA
Tool offset
DL
M41 - M45
SPOS
Spindle positioning
SPOSA
Spindle positioning
M19
Spindle positioning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
617
9.17.2
9.17.2.1
Replacement of M functions
General Information
The following conditions are applicable for replacing the M functions:
Per block only one M function is replaced.
A block in which an M function is to be replaced, must not contain the following elements:
M98
Modal subprogram call
Subprogram return
Part program end
M functions that trigger system functions must not be replaced by a subprogram (see
Section "Non-replaceable M functions").
Parameterization
M function and subprogram
M functions and the replacement subprograms are parameterized in the following machine
data:
MD10715 $MC_M_NO_FCT_CYCLE[<Index>] = <M function number>
MD10716 $MC_M_NO_FCT_CYCLE_NAME[<Index>] = "<subprogram name>"
The M function and the corresponding replacement subprogram are connected through the
same index.
Example: M function M101 is replaced by subprogram SUB_M101 and M function M102 by
SUB_M102:
MD10715 $MC_M_NO_FCT_CYCLE[ 0 ]
MD10716 $MC_M_NO_FCT_CYCLE_NAME[ 0 ]
= 101
= "SUB_M101"
MD10715 $MC_M_NO_FCT_CYCLE[ 1 ]
MD10716 $MC_M_NO_FCT_CYCLE_NAME[ 1 ]
= 102
= "SUB_M102"
618
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programming
Rules for replacing M functions:
The replacement subprogram is called at the block end
Within the replacement subprogram, no M functions are replaced
In an ASUB, the M function is also replaced if the ASUB was started within the replacement
subprogram.
Meaning
MD10714 $MN_M_NO_FCT_EOP
MD10804 $MN_EXTERN_CHAN_M_NO_SET_INT
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
619
Meaning
MD10806 $MN_EXTERN_CHAN_M_NO_DISABLE_INT
MD10814 $MN_EXTERN_M_NO_MAC_CYCLE
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR
MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR
MD22254 $MC_AUXFU_ASSOC_M0_VALUE
MD22256 $MC_AUXFU_ASSOC_M1_VALUE
MD26008 $MC_NIBBLE_PUNCH_CODE
MD26012 $MC_PUNCHNIB_ACTIVATION
Note
Exception
The M function parameterized with MD22560 $MC_TOOL_CHANGE_M_CODE (tool change
with M function) must not be replaced with a subprogram.
9.17.2.2
Boundary conditions
For replacing functions T, TCA, D and DL, the following supplementary conditions apply:
A maximum of one function replacement is active per block.
A block with the function replacement must not contain the following elements:
M98
Modal subprogram call
Subprogram return
Part program end
If the multitool slot number is programmed with address MTL for the multitool select with
T = slot number, the T replacement also replaces the MTL address. The programmed
values can be queried in the replacement subprogram using the $C_MTL_PROG and
$C_MTL system variables.
620
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Machine data
MD10717 $MN_T_NO_FCT_CYCLE_NAME
TCA
MD15710 $MN_TCA_CYCLE_NAME
D/DL
MD11717 $MN_D_NO_FCT_CYCLE_NAME
Note
It is recommended that the same subprogram is used to replace T, TCA and D/DL functions.
Value
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
621
Bit 1
At block start
After the replacement subprogram has been executed, the program line, which re
sulted in the replacement subprogram being called, is interpreted. The T address
and the D or DL address and the M function for the tool change are no longer pro
cessed.
Meaning
Meaning
MD22550 $MC_TOOL_CHANGE_MODE = 0
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 0
Programming
Comment
N110 D1
; D1
; D1 is active.
N130 D2 X110 Z0 T5
A detailed example for replacement of the T function can be found in Section: "Examples of
M/T function replacement at a tool change (Page 624)".
622
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.17.2.3
System variable
General Information
The replacement subprogram is provided with all of the information relevant to the functions
programmed in the block (T or TCA, D or DL, M) via system variables.
Exception
D or DL number is not transferred if:
MD10719 $MN_T_NO_FCT_CYCLE_MODE, bit 0 = 1
MD22550 $MC_TOOL_CHANGE_MODE = 1
AND
D or DL are programmed together with the T or M function in a block.
CAUTION
Values do not act
The values provided for the replacement subprogram in the system variables are not yet
effective. It is the sole responsibility of the user / machine manufacturer to resolve this by
using the appropriate programming in the replacement subprogram.
System variable
System variable
Meaning
$C_M_PROG
$C_M
$C_AUX_VALUE[0]
$C_ME
$C_AUX_EXT[0]
$C_AUX_IS_QUICK[0]
$C_T_PROG
$C_T
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
623
Meaning
$C_TE
Contains for:
$C_T_PROG == TRUE
$C_TS_PROG == TRUE
the value of the address extension of the T function
9.17.2.4
$C_TS_PROG
$C_TS
$C_TCA
$C_DUPLO_PROG
$C_DUPLO
$C_THNO_PROG
$C_THNO
$C_D_PROG
$C_D
$C_DL_PROG
$C_DL
$P_SUB_STAT
$C_MTL_PROG
$C_MTL
Example 1
The function M6 is replaced by calling the subprogram "SUB_M6".
The information relevant for a tool change should be transferred using system variables.
Parameterization
Machine data
MD10715 $MN_M_NO_FCT_CYCLE[2] = 6
MD10716 $MN_M_NO_FCT_CYCLE_NAME[2] = "SUB_M6"
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 2
Meaning
Tool change with M6
Replacement subpro
gram for M6
Information transfer
using system variables
Main program
Programming
Comment
PROC MAIN
624
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
...
N10 T1 D1 M6
...
N90 M30
Subprogram "SUB_M6"
Programming
Comment
PROC SUB_M6
N110 IF $C_T_PROG==TRUE
; IF address T is programmed
N120
T[$C_TE]=$C_T
Execute T selection
N130 ENDIF
; ENDIF
N140 M[$C_ME]=6
N150 IF $C_D_PROG==TRUE
; IF address D is programmed
N160
D=$C_D
N170 ENDIF
Execute D selection
; ENDIF
N190 M17
Example 2
The new tool is prepared for changing with the T function. The tool change is only realized
with function M6. The T function is replaced by calling the subprogram "MY_T_CYCLE". The
D / DL number is transferred to the subprogram.
Parameterization
Parameterization
Meaning
MD22550 $MC_TOOL_CHANGE_MODE = 1
Replacement subprogram
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 0
Main program
Program code
Comment
N210 D1
; D1 is active.
N230 D2 X110 Z0 T5
N240 M6
Example 3
The new tool is prepared for changing with the T function. The tool change is only realized
with function M6. The T function is replaced by calling the subprogram "MY_T_CYCLE". The
D / DL number is not transferred to the subprogram.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
625
Meaning
MD22550 $MC_TOOL_CHANGE_MODE = 1
Replacement subprogram
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1
Main program
Program code
Comment
N310 D1
N320 G90 G0 X100 Y100 Z50
; D1 is active.
N330 D2 X110 Z0 T5
N340 M6
Example 4
The functions T and M6 are replaced by the subprogram "MY_T_CYCLE".
The parameters are transferred to the subprogram when replacing M6.
If M6 is programmed together with D or DL in the block, the D or the DL number is also
transferred as parameter to the subprogram if no transfer of the D/DL number has been
parameterized:
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1
Parameterization
Configuration
Meaning
MD22550 $MC_TOOL_CHANGE_MODE = 1
MD22560 $MC_TOOL_CHANGE_M_CODE = 6
MD10715 $MC_M_NO_FCT_CYCLE[3] = 6
M function to be replaced
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 3
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1
Main program
Program code
Comment
N410 D1
626
; D1 is active.
N330 D2 X110 Z0 T5 M6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.17.2.5
Parameterization
Machine data
MD11717 $MN_D_NO_FCT_CYCLE_NAME = "D_T_SUB_PROG"
Meaning
Replacement subpro
gram
for D function
Replacement subpro
gram
for M function
Call at block start
Tool change with T
function
Main program
Programming
Comment
PROC MAIN
...
...
N90 M30
Subprogram "D_T_SUB_PROG"
Programming
Comment
; IF address T is programmed
N4120
POS[B]=CAC($C_T)
N4130
T[$C_TE]=$C_T
N4140 ENDIF
; ENDIF
N4300 IF $C_T_PROG==TRUE
; IF address D is programmed
N4320
D=$C_D
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
627
Comment
N4330 ENDIF
; ENDIF
N4400 IF $C_DL_PROG==TRUE
; IF address DL is programmed
N4420
D=$C_DL
N4430 ENDIF
; ENDIF
N9999 RET
9.17.2.6
Conflict case
A conflict is present if several functions are programmed in one block and the functions should
be replaced with different subprograms:
Addresses D and DL replaced with subprogram:
MD11717 $MN_FCT_CYCLE_NAME = "D_SUB_PROG"
Address T replaced with subprogram:
MD10717 $MN_FCT_CYCLE_NAME = "T_SUB_PROG"
M function M6 replaced with subprogram:
MD10715 $MN_M_NO_FCT_CYCLE[0] = 6
MD10716 $MN_M_NO_FCT_CYCLE_NAME[0] = "M6_SUB_PROG"
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 0
MD22550 $MC_TOOL_CHANGE_MODE = 1
MD22560 $MC_TOOL_CHANGE_M_CODE = 6
Resolution
A conflict is resolved corresponding to the following table:
The following are programmed in one program line:
628
Called subprogram:
D and/or DL
T or TCA
M6
M6_SUB_PROG
T_SUB_PROG
M6_SUB_PROG
D_SUB_PROG
M6_SUB_PROG
T_SUB_PROG
M6_SUB_PROG
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.17.3
9.17.3.1
General
Function
When a coupling is active the following spindle functions can be replaced for leading spindles:
M40: Automatic gear stage change
M41 ... M45 Programmed gear stage change
SPOS, SPOSA and M19: Spindle positioning
Boundary conditions
To replace a spindle function, the following conditions must be met:
The programmed spindle must be the leading spindle of an active coupling.
Leading and following spindle are located in the same channel. This is only detected if
the leading spindle is located in the channel in which the coupling was closed. If the
leading spindle is changed to another channel, a gear stage change or positioning of
this spindle does not call the replacement subprogram.
A programmed gear stage change must result in a real gear stage change. For this
purpose, the programmed and active gear stage must differ.
In a block, only one spindle function can be replaced. Multiple replacements lead to the
termination of the program processing. The spindle functions, which are to be replaced,
must then be distributed over several blocks.
Parameterization
Spindle function
The spindle functions to be replaced by the subprogram are selected in the machine data:
MD30465 $MA_AXIS_LANG_SUB_MASK
Bit
0
Meaning
Gear-stage change automatic (M40) and directly (M41-M45)
Val
ue
Meaning
No replacement
Meaning
No replacement
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
629
Meaning
Meaning
Block processing
If the replacement subprogram is called at the block start, after processing the replacement
subprogram, the block that initiated the call is processed. The replaced commands are no
longer processed.
If the replacement subprogram is called at the block end, the block that initiated calling the
replacement subprogram is first processed without the commands to be replaced. The
replacement subprogram is then subsequently called.
9.17.3.2
Function
When a coupling is active, the commands for gear stage change (M40, M41 ... M45) of the
leading spindle are replaced by calling a user-specific subprogram.
Parameterization
Activation
MD30465 $MA_AXIS_LANG_SUB_MASK, bit 0 = 1
630
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Meaning
9.17.3.3
Function
When a coupling is active, the positioning commands (SPOS, SPOSA or M19) of a leading
spindle are replaced by calling a user-specific subprogram (replacement subprogram).
Application example
When machining workpieces in parallel on a double-spindle machine, the spindles are coupled
through a coupling factor not equal to 1. When changing the tool, they must be brought to the
same position. The replacement subprogram opens the coupling, separately positions the
spindles at the tool change position and then recloses the coupling.
Parameterization
Activation
MD30465 $MA_AXIS_LANG_SUB_MASK, bit 1 = 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
631
Value
Meaning
9.17.3.4
System variable
System variable
Meaning
$P_SUB_AXFCT
$P_SUB_GEAR
$P_SUB_AUTOGEAR
TRUE, if M40 was active in the block that had initiated the replacement
operation.
Outside the replacement subprogram: Actual setting in the interpreter
$P_SUB_LA
Contains the axis name of the leading spindle of the active coupling, which
had triggered the replacement operation.
Note
If the variable is used outside the replacement subprogram, program pro
cessing is cancelled with an alarm.
$P_SUB_CA
Contains the axis name of the following spindle of the active coupling, which
had triggered the replacement operation.
Note
If the variable is called outside the replacement subprogram, program pro
cessing is cancelled with an alarm.
632
$P_SUB_AXFCT
$P_SUB_SPOS
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
$P_SUB_SPOSA
$P_SUB_M19
$P_SUB_SPOSIT
$P_SUB_SPOSMODE
Contains the position approach mode for the programmed spindle position:
Value
Meaning
AC
IC
DC
ACP
ACN
OC
PC
Note:
If the variable is called outside the replacement subprogram, program pro
cessing is cancelled with an alarm.
$P_SUB_STAT
9.17.3.5
Parameterization
Machine data
MD15700 $MN_LANG_SUB_NAME = "LANG_SUB"
MD15702 $MN_LANG_SUB_PATH = 0
MD22080 $MC_AUXFU_PREDEF_SPEC[12] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[13] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[13] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[15] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[16] = 'H21'
MD30465 $MA_AXIS_LANG_SUB_MASK[AX5] =
'H0001'
Meaning
Subprogram
Manufacturer's folder
M41: Output prior to motion
M42: Output prior to motion
M43: Output prior to motion
M44: Output prior to motion
M45: Output prior to motion
Replace gear change commands
Main program
Programming
Comment
PROC MAIN
N110 COUPON(S2,S1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
633
Comment
N130 M40
N140 M3 S1000
N9999 M30
Comment
N1140
DELAYFSTON
N1150
COUPOF(S2,S1)
N1160
N1170
M1=$P_SUB_GEAR M2=$P_SUB_GEAR
N1180
DELAYFSTON
N1190
COUPON(S2,S1)
N1200 ENDIF
...
N9999 RET
Comment
634
N1100 IF($P_SUB_AXFCT==1)
N1110
_GEAR=$P_SUB_GEAR
N1120
_LA=$P_SUB_LA
N1130
_CA=$P_SUB_CA
N1140
DELAYFSTON
N1150
COUPOF(_CA,_LA)
N1160
N1170
M[AXTOSPI(_LA)]=_GEAR M[AXTOSPI(_CA)]=_GEAR
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N1180
DELAYFSTOF
N1190
COUPON(_CA,_LA)
N1200 ENDIF
...
N9999 RET
9.17.3.6
Parameterization
Machine data
Meaning
MD30465 $MA_AXIS_LANG_SUB_MASK[AX5] =
Replace positioning commands
'H0002'
MD22080 $MC_AUXFU_PREDEF_SPEC[9] = 'H0021' Output of M19 to the PLC before mo
tion
Setting Data
SD43240 $SA_M19_SPOS[AX5] = 260
SD43250 $SA_M19_SPOSMODE[AX5] = 4
Meaning
Spindle position for M19 = 260
Position approach mode for M19:
"Approach in the positive direction
(ACP)"
Main program
Programming
Comment
PROC MAIN
...
N210 COUPON(S2,S1)
N220 SPOS[1]=100
...
N310 G01 F1000 X100 M19
Comment
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
635
Comment
DELAYFSTON
N2190
COUPOF(S2,S1)
N2200
N2210
IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
N2220
N2230
CASE $P_SUB_SPOSMODE OF \
0 GOTOF LABEL1_DC \
1 GOTOF LABEL1_IC \
2 GOTOF LABEL1_AC \
3 GOTOF LABEL1_DC \
4 GOTOF LABEL1_ACP \
5 GOTOF LABEL1_ACN \
DEFAULT GOTOF LABEL_ERR
LABEL1_DC:
SPOS[1]=DC($P_SUB_SPOSIT) SPOS[2]=DC($P_SUB_SPOSIT)
LABEL1_IC:
DELAYFSTOF
GOTOF LABEL1_CONT
SPOS[1]=IC($P_SUB_SPOSIT) SPOS[2]=IC($P_SUB_SPOSIT)
DELAYFSTON
GOTOF LABEL1_CONT
LABEL1_AC:
SPOS[1]=AC($P_SUB_SPOSIT) SPOS[2]=AC($P_SUB_SPOSIT)
GOTOF LABEL1_CONT
ELSE
N2270
M1=19 M2=19
N2280
ENDIF
N2285
DELAYFSTOF
N2290
COUPON(S2,S1)
N2410 ELSE
N2420
...
N3300 ENDIF
; End replacements
...
636
N9999 RET
LABEL_ERR: SETAL(61000)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
; Leading axis/spindle
; Following axis/spindle
...
N2100 IF($P_SUB_AXFCT==2)
N2110 ;Replacement of SPOS/SPOSA/M19 for active synchronous spindle coupling
N2120
_LA=$P_SUB_LA
N2130
_CA=$P_SUB_CA
N2140
_LSPI=AXTOSPI(_LA)
N2180
_CSPI=AXTOSPI(_LA)
N2185
DELAYFSTON
N2190
COUPOF(_CA,_LA)
N2200
N2210
IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
N2220
N2230
CASE $P_SUB_SPOSMODE OF
0 GOTOF LABEL1_DC \
1 GOTOF LABEL1_IC \
2 GOTOF LABEL1_AC \
3 GOTOF LABEL1_DC \
4 GOTOF LABEL1_ACP \
5 GOTOF LABEL1_ACN \
DEFAULT GOTOF LABEL_ERR
LABEL1_DC:
SPOS[_LSPI]=DC($P_SUB_SPOSIT) SPOS[_CSPI]=DC($P_SUB_SPOSIT)
LABEL1_IC:
DELAYFSTOF
GOTOF LABEL1_CONT
SPOS[_LSPI]=IC($P_SUB_SPOSIT) SPOS[_CSPI]=IC($P_SUB_SPOSIT)
DELAYFSTON
GOTOF LABEL1_CONT
LABEL1_AC:
SPOS[_LSPI]=AC($P_SUB_SPOSIT) SPOS[_CSPI]=AC($P_SUB_SPOSIT)
GOTOF LABEL1_CONT
ELSE
M[_LSPI]=19 M[_CSPI]=19
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
637
Comment
N2280
ENDIF
N2285
DELAYFSTOF
N2290
COUPON(_CA,_LA)
N2410 ELSE
N2420
...
N3300 ENDIF
...
9.17.4
N9999 RET
LABEL_ERR: SETAL(61000)
General rules
The subprogram called when making the replacement can contain the command PROC and
the attribute SBLOF and DISPLOF.
The replacement is also made in the ISO language mode. However, the replacement
subprograms are exclusively processed in the standard language mode (Siemens). There
is an implicit switchover into the standard language mode. The original language mode is
reselected with the return jump from the replacement subprogram.
System variables are exclusively used to transfer information to the replacement
subprogram. Transfer parameters are not possible.
The behavior for a single block and attribute SBLOF depends on the setting in:
MD10702 IGNORE_SINGLEBLOCK_MASK, bit 14 (prevent single-block stop)
638
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
0
Meaning
The replacement subprogram behaves like a "normal" subprogram:
Return jump with M17: Stop at the end of the subprogram
Note
The output of the M function at the PLC depends on:
MD20800 $MC_SPF_END_TO_VDI, bit 0 (subprogram end to PLC)
- Bit 0 = 0: No output
- Bit 0 = 1: M17 is output to the PLC.
Return jump with RET: No stop at the end of the replacement subprogram
In the block, in which the replacement subprogram is called, only one stop is made. Regardless
of whether:
The subprogram was called at the block start and/or at the block end
Other subprograms are called in the subprogram
The subprogram is exited with M17 or RET
The single-block stop takes place for the replacement of M functions at the end of the replace
ment subprogram.
For the replacement of T and D/DL functions, the time of the single-block stop depends on
when the subprogram is called:
Call at block start: Single-block stop at the end of the block
Call at the block end: Single-block stop at the end of the replacement subprogram
For replacement subprograms with the attribute DISPLOF in the block display, the program
line is displayed as actual block, which resulted in the subprogram being called.
In the replacement subprogram, areas or the complete replacement subprogram can be
protected against interruptions, such as NC stop, read-in inhibit etc., using the
DELAYFSTON and DELAYFSTOF commands.
Replacements do not occur recursively, i.e. the function that has led to the replacement
subprogram call is no longer replaced if it is programmed again in the replacement
subprogram.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
639
9.17.5
Restrictions
Function replacements are not permitted in:
Synchronized actions
Technology cycles
There must be no blockwise synchronized actions in front of a block that contains functions
at the beginning to be replaced. See the paragraph below "Example for: Non-modal
synchronized actions".
Only the actions required for the respective replacements can be performed in the
replacement subprogram.
In a block, in which the replacement subprogram is called at the block end, the following
should be observed:
No modal subprogram call should be active
No subprogram return jump should be programmed
No program end should be programmed
Note
The controller does not monitor whether the function to be replaced has been realized
in the replacement subprogram.
If, in block N1010, the function M43 initiates that a replacement subprogram is called,
machining is interrupted and an alarm is output.
9.18
640
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.18.1
Program runtime
Function
The "Program runtime" function provides various timers to monitor technological processes,
which can be read into the part program and into synchronized actions via system variables.
There are two types of timers:
1. Standard timers
Standard timers are always active
2. Timers that can be activated
Timers that can be activated must be activated via machine data.
Standard timers
Time since the last control power-up
System variable
Meaning
$AN_SETUP_TIME
Time since the last control power-up with default values in minutes.
Is automatically reset to "0" in each control power-up with default values.
$AN_POWERON_TIME
Time since the last normal control power-up ("warm restart") in minutes.
Is automatically reset to "0" in each normal control power-up.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
641
Description
$AC_ACT_PROG_NET_TIME
$AC_OLD_PROG_NET_TIME
Net runtime in seconds of the program that has just been correctly ended
"Correctly ended" means that the program was not interrupted with RESET, but
instead ended properly with M30.
If a new program is started, $AC_OLD_PROG_NET_TIME remains unscanned,
till M30 is reached again.
Additional properties:
$AC_OLD_PROG_NET_TIME is set to "0" if the currently selected program
is edited.
$AC_OLD_PROG_NET_TIME is not changed at the end of an ASUB or an
event-controlled program (PROG_EVENT).
Tip:
The implied copying process of $AC_ACT_PROG_NET_TIME after
$AC_OLD_PROG_NET_TIME takes place only when
$AC_PROG_NET_TIME_TRIGGER is not written.
642
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
$AC_OLD_PROG_NET_TIME_COUNT
Changes to $AC_OLD_PROG_NET_TIME
After POWER ON, $AC_OLD_PROG_NET_TIME_COUNT is at "0".
$AC_OLD_PROG_NET_TIME_COUNT is always increased if the control has
newly written to $AC_OLD_PROG_NET_TIME.
If the user terminates the running program with RESET,
$AC_OLD_PROG_NET_TIME and $AC_OLD_PROG_NET_TIME_COUNT re
main unchanged.
With $AC_OLD_PROG_NET_TIME_COUNT it can thus be ascertained, wheth
er $AC_OLD_PROG_NET_TIME was written.
Example:
If two programs running consecutively have the same runtime and were ended
correctly, then the user can identify this via the changed value in
$AC_OLD_PROG_NET_TIME_COUNT.
$AC_PROG_NET_TIME_TRIGGER
Not active
Note
Residual time for a workpiece
If the same workpieces are produced one after the other, then from the timer values:
Processing time for the last workpiece produced (see $AC_OLD_PROG_NET_TIME)
and
Current processing time (see $AC_ACT_PROG_NET_TIME)
the remaining residual time for a workpiece can be determined.
The residual time is displayed on the user interface in addition to the current processing time.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
643
$AC_CYCLE_TIME
$AC_CUTTING_TIME
Activation/deactivation
The timer that can be activated is switched-in/switched-out using machine data:
644
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
0
1
Meaning
Timer for $AC_OPERATING_TIME not active.
Parameterization
Behavior of the timer that is always active
The behavior of the timer that is always active for GOTOS and override = 0% is set using
machine data:
MD27850 $MC_PROG_NET_TIMER_MODE
Bit
Value
For override = 0%, $AC_ACT_PROG_NET_TIME is not increased. This means that the
program runtime is measured without the time for which the override was set to "0"
(basic setting).
Meaning
Value
5
6
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
645
Value
Meaning
$AC_CYCLE_TIME is not reset to "0" in case of a jump with GOTOS to the program
start.
$AC_CYCLE_TIME is reset to "0" in case of a jump with GOTOS to the program start.
Only for bit 0, 1 = 1 (timer for $AC_OPERATING_TIME and $AC_CYCLE_TIME are active)
0
Supplementary conditions
Block search
No program runtimes are determined through block searches.
REPOS
The duration of a REPOS process is added to the current processing time
($AC_ACT_PROG_NET_TIME).
Examples
Example 1: Parameterization of the runtime measurement via MD27860
Activating the runtime measurement for the active NC program and hence no measurement
in case of active dry run feedrate and program test:
MD27860 $MC_PROCESSTIMER_MODE = 'H2'
Activating the measurement for the tool action time and measurement also with active dry
run feedrate and program test.
MD27860 $MC_PROCESSTIMER_MODE = 'H34'
Activating the measurement for the total runtime and the processing time with an active
tool, including measurement with a program test:
MD27860 $MC_PROCESSTIMER_MODE = 'H25'
Activating the measurement for the total runtime and the machining time (independent of
the tool), including measurement with a program test:
MD27860 $MC_PROCESSTIMER_MODE = 'Ha5'
Activating the measurement for the processing time with an active tool, including
measurements at an override = 0%, but not with a trial run feed active:
MD27860 $MC_PROCESSTIMER_MODE = 'H22'
Example 2: Measuring the duration of "mySubProgrammA"
Program code
...
N50 DO $AC_PROG_NET_TIME_TRIGGER=2
N60 FOR ii= 0 TO 300
646
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
After the program has processed line N80, the net runtime of "mySubProgrammA" is located
in $AC_OLD_PROG_NET_TIME.
The value from $AC_OLD_PROG_NET_TIME:
Is kept beyond M30.
Is updated each time the loop is run through.
Example 3: Measuring the duration of "mySubProgrammA" and "mySubProgrammC"
Program code
N10 DO $AC_PROG_NET_TIME_TRIGGER=2
N20 mySubProgrammA
N30 DO $AC_PROG_NET_TIME_TRIGGER=3
N40 mySubProgrammB
N50 DO $AC_PROG_NET_TIME_TRIGGER=4
N60 mySubProgrammC
N70 DO $AC_PROG_NET_TIME_TRIGGER=1
N80 mySubProgrammD
N90 M30
9.18.2
Workpiece counter
Function
Various counters with a range of values from 0 to 999,999,999 are available with the
"Workpiece counter" function in the form of channel-specific system variables. Read and write
access to the system variables is possible.
The following channel-specific machine data can be used to control counter activation, counter
reset timing and the counting algorithm.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
647
Meaning
Number of workpieces to be produced (setpoint number of workpieces)
In this counter the number of workpieces at which the actual workpiece
count ($AC_ACTUAL_PARTS) will be reset to "0" can be defined.
MD27880 can be used to activate the generation of the display alarm:
"Channel %1 workpiece target = %2 reached"
and of the channel-specific NC/PLC interface signal:
DB21, DBX317.1 (workpiece target reached)
.
$AC_TOTAL_PARTS
$AC_ACTUAL_PARTS
$AC_SPECIAL_PARTS
Note
All workpiece counters are set to "0" when the control runs up with default values and can be
read and written independent of their activation.
Activation
The workpiece counter is activated with the machine data:
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
Bit
648
Value
Meaning
$AC_REQUIRED_PARTS is active
$AC_TOTAL_PARTS is active.
$AC_TOTAL_PARTS is incremented by the value "1" upon a jump back with GOTOS.
$AC_ACTUAL_PARTS is active
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Meaning
$AC_ACTUAL_PARTS is incremented by the value "1" through M02/M30.
10
11
$AC_ACTUAL_PARTS is incremented by the value "1" upon a jump back with GOTOS.
12
$AC_SPECIAL_PARTS is active.
13
14
15
Meaning
Supplementary conditions
Mode change / NC RESET
The counters are not affected by a mode change or NC RESET.
$AC_REQUIRED_PARTS 0
Where $AC_REQUIRED_PARTS 0 and MD27880 $MC_PART_COUNTER, bit 0 = 1, the
counting procedure and the identity comparison set with MD27880 are not conducted for
all the active counters.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
649
Examples
Activation of the workpiece counter $AC_REQUIRED_PARTS:
MD27880 $MC_PART_COUNTER = 'H3'
$AC_REQUIRED_PARTS is active
Display alarm at: $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS
Activation of the workpiece counter $AC_TOTAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H10'
MD27882 $MC_PART_COUNTER_MCODE[0] = 80
$AC_TOTAL_PARTS is active; the counter is incremented by the value 1 with each
M02.
$MC_PART_COUNTER_MCODE[0] has no significance.
Activation of the workpiece counter $AC_ACTUAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H300'
MD27882 $MC_PART_COUNTER_MCODE[1] = 17
$AC_TOTAL_PARTS is active; the counter is incremented by a value of "1" with each
M17.
Activation of the workpiece counter $AC_SPECIAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H3000'
MD27882 $MC_PART_COUNTER_MCODE[2] = 77
$AC_SPECIAL_PARTS is active.
The following takes place with every M77: $AC_SPECIAL_PARTS + 1
Deactivation of the workpiece counter $AC_ACTUAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H200'
MD27882 $MC_PART_COUNTER_MCODE[1] = 50
$AC_ACTUAL_PARTS is inactive
Activation of all counters:
MD27880 $MC_PART_COUNTER = 'H3313'
MD27882 $MC_PART_COUNTER_MCODE[0] = 80
MD27882 $MC_PART_COUNTER_MCODE[1] = 17
MD27882 $MC_PART_COUNTER_MCODE[2] = 77
$AC_REQUIRED_PARTS is active
Display alarm at: $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS
$AC_TOTAL_PARTS is active; the counter is incremented by the value 1 with each
M02.
$MC_PART_COUNTER_MCODE[0] has no significance.
$AC_ACTUAL_PARTS is active; the counter is incremented by a value of "1" with each
M17.
$AC_SPECIAL_PARTS is active; the counter is incremented by a value of "1" with each
M77.
650
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
...
N100 $AC_REQUIRED_PARTS=-10
; Not counting.
N300 M42
...
N500 $AC_REQUIRED_PARTS=52
N501 M43
; Counting.
; Counting.
...
9.19
Data lists
9.19.1
Machine data
9.19.1.1
Identifier: $MM_
Description
9421
MA_AXES_SHOW_GEO_FIRST
9422
MA_PRESET_MODE
9423
MA_MAX_SKP_LEVEL
SINUMERIK Operate
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
651
Identifier: $MN_
Description
10010
ASSIGN_CHAN_TO_MODE_GROUP
10125
EES_NC_NAME
10280
PROG_FUNCTION_MASK
10700
PREPROCESSING_LEVEL
10702
IGNORE_SINGLEBLOCK_MASK
10707
PROG_TEST_MASK
10708
SERUPRO_MASK
10710
PROG_SD_RESET_SAVE_TAB
10711
NC_LANGUAGE_CONFIGURATION
10713
M_NO_FCT_STOPRE
10715
M_NO_FCT_CYCLE
10716
M_NO_FCT_CYCLE_NAME
10717
T_NO_FCT_CYCLE_NAME
10718
M_NO_FCT_CYCLE_PAR
10719
T_NO_FCT_CYCLE_MODE
11450
SEARCH_RUN_MODE
11470
REPOS_MODE_MASK
Repositioning properties
11600
BAG_MASK
11602
ASUP_START_MASK
11604
ASUP_START_PRIO_LEVEL
11610
ASUP_EDITABLE
11612
ASUP_EDIT_PROTECTION_LEVEL
11620
PROG_EVENT_NAME
11625
FILE_ONLY_WITH_EXTENSION
11626
CYCLES_ONLY_IN_CYCDIR
11717
D_NO_FCT_CYCLE_NAME
15700
LANG_SUB_NAME
15702
LANG_SUB_PATH
17200
GMMC_INFO_NO_UNIT
17201
GMMC_INFO_NO_UNIT_STATUS
18045
EES_MODE_INFO
18360
MM_EXT_PROG_BUFFER_SIZE
18362
MM_EXT_PROG_NUM
652
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.19.1.2
Identifier: $MC_
Description
20000
CHAN_NAME
Channel name
20050
AXCONF_GEOAX_ASSIGN_TAB
20060
AXCONF_GEOAX_NAME_TAB
20070
AXCONF_MACHAX_USED
20080
AXCONF_CHANAX_NAME_TAB
20090
SPIND_DEF_MASTER_SPIND
20100
DIAMETER_AX_DEF
20106
PROG_EVENT_IGN_SINGLEBLOCK
20107
PROG_EVENT_IGN_INHIBIT
20108
PROG_EVENT_MASK
20109
PROG_EVENT_MASK_PROPERTIES
20114
MODESWITCH_MASK
20116
IGNORE_INHIBIT_ASUP
20117
IGNORE_SINGLEBLOCK_ASUP
20160
CUBIC_SPLINE_BLOCKS
20170
COMPRESS_BLOCK_PATH_LIMIT
20191
IGN_PROG_STATE_ASUP
20192
PROG_EVENT_IGN_PROG_STATE
20193
PROG_EVENT_IGN_STOP
20194
IGNORE_NONCSTART_ASUP
20210
CUTCOM_CORNER_LIMIT
20220
CUTCOM_MAX_DISC
20230
CUTCOM_CURVE_INSERT_LIMIT
20240
CUTCOM_MAXNUM_CHECK_BLOCKS
20250
CUTCOM_MAXNUM_DUMMY_BLOCKS
20270
CUTTING_EDGE_DEFAULT
20400
LOOKAH_USE_VELO_NEXT_BLOCK
20430
LOOKAH_NUM_OVR_POINTS
20440
LOOKAH_OVR_POINTS
20500
CONST_VELO_MIN_TIME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
653
Identifier: $MC_
Description
20600
MAX_PATH_JERK
20610
ADD_MOVE_ACCEL_RESERVE
20700
REFP_NC_START_LOCK
20750
ALLOW_GO_IN_G96
20800
SPF_END_TO_VDI
21000
CIRCLE_ERROR_CONST
21010
CIRCLE_ERROR_FACTOR
21100
ORIENTATION_IS_EULER
21110
X_AXIS_IN_OLD_X_Z_PLANE
21200
LIFTFAST_DIST
21210
SETINT_ASSIGN_FASTIN
21202
LIFTFAST_WITH_MIRROR
Block search
Number
Identifier: $MC_
Description
20128
COLLECT_TOOL_CHANGE
22600
SERUPRO_SPEED_MODE
22601
SERUPRO_SPEED_FACTOR
22621
ENABLE_START_MODE_MASK_PRT
22622
DISABLE_PLC_START
22680
AUTO_IPTR_LOCK
Reset response
Number
Identifier: $MC_
Description
20110
RESET_MODE_MASK
20112
START_MODE_MASK
20118
GEOAX_CHANGE_RESET
20120
TOOL_RESET_VALUE
20121
TOOL_PRESEL_RESET_VALUE
20130
CUTTING_EDGE_RESET_VALUE
Tool cutting edge length compensation when poweringup (RESET / part program end)
20140
TRAFO_RESET_VALUE
20150
GCODE_RESET_VALUES
20152
GCODE_RESET_MODE
654
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Identifier: $MC_
Description
20156
MAXNUM_GCODES_EXT
22620
START_MODE_MASK_PRT
Identifier: $MC_
Description
22000
AUXFU_ASSIGN_GROUP
22010
AUXFU_ASSIGN_TYPE
22020
AUXFU_ASSIGN_EXTENSION
22030
AUXFU_ASSIGN_VALUE
22200
AUXFU_M_SYNC_TYPE
22210
AUXFU_S_SYNC_TYPE
22220
AUXFU_T_SYNC_TYPE
22230
AUXFU_H_SYNC_TYPE
22240
AUXFU_F_SYNC_TYPE
22250
AUXFU_D_SYNC_TYPE
22400
S_VALUES_ACTIVE_AFTER_RESET
22410
F_VALUES_ACTIVE_AFTER_RESET
22510
GCODE_GROUPS_TO_PLC
22550
TOOL_CHANGE_MODE
22560
TOOL_CHANGE_M_CODE
Memory settings
Number
Identifier: $MC_
Description
27900
REORG_LOG_LIMIT
28000
MM_REORG_LOG_FILE_MEM
28010
MM_NUM_REORG_LUD_MODULES
28020
MM_NUM_LUD_NAMES_TOTAL
28040
MM_LUD_VALUES_MEM
28050
MM_NUM_R_PARAM
28060
MM_IPO_BUFFER_SIZE
28070
MM_NUM_BLOCKS_IN_PREP
28080
MM_NUM_USER_FRAMES
28090
MM_NUM_CC_BLOCK_ELEMENTS
28100
MM_NUM_CC_BLOCK_USER_MEM
28400
MM_ABSBLOCK
28402
MM_ABSBLOCK_BUFFER_CONF
28500
MM_PREP_TASK_STACK_SIZE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
655
Number
Identifier: $MC_
Description
27860
PROCESSTIMER_MODE
27880
PART_COUNTER
27882
PART_COUNTER_MCODE[ ]
9.19.1.3
Number
Identifier: $MA_
Description
30465
AXIS_LANG_SUB_MASK
30550
AXCONF_ASSIGN_MASTER_CHAN
30600
FIX_POINT_POS
33100
COMPRESS_POS_TOL
9.19.2
Setting data
9.19.2.1
Number
Identifier: $SC_
Description
42000
THREAD_START_ANGLE
42010
THREAD_RAMP_DISP
42100
DRY_RUN_FEED
42200
SINGLEBLOCK2_STOPRE
42444
TARGET_BLOCK_INCR_PROG
42700
EXT_PROG_PATH
42750
ABSBLOCK_ENABLE
42990
MAX_BLOCKS_IN_IPOBUFFER
9.19.3
Signals
9.19.3.1
Signals to NC
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Emergency stop
DB10.DBX56.1
DB2600.DBX0.1
656
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
9.19.3.2
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
AUTOMATIC mode
DB11.DBX0.0
DB3000.DBX0.0
MDA mode
DB11.DBX0.1
DB3000.DBX0.1
JOG mode
DB11.DBX0.2
DB3000.DBX0.2
DB11.DBX0.4
DB3000.DBX0.4
DB11.DBX0.5
DB3000.DBX0.5
DB11.DBX0.6
DB3000.DBX0.6
DB11.DBX0.7
DB3000.DBX0.7
DB11.DBX1.0
DB3000.DBX1.0
DB11.DBX1.1
DB11.DBX1.2
DB3000.DBX1.2
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB11.DBX4.0
DB11.DBX4.1
DB11.DBX4.2
DB11.DBX5.0
DB11.DBX5.1
DB11.DBX5.2
DB11.DBX6.0
DB3100.DBX0.0
DB11.DBX6.1
DB3100.DBX0.1
DB11.DBX6.2
DB3100.DBX0.2
DB11.DBX6.3
DB3100.DBX0.3
DB11.DBX6.4
DB3100.DBX0.4
DB11.DBX6.5
DB11.DBX6.7
DB3100.DBX0.7
DB11.DBX7.0
DB3100.DBX1.0
DB11.DBX7.1
DB11.DBX7.2
DB3100.DBX1.2
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Activate DRF
DB320x.DBX0.3
DB320x.DBX0.4
Activate M01
DB320x.DBX0.5
DB320x.DBX0.6
9.19.3.3
9.19.3.4
Signals to NC
Signals to channel
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
657
SINUMERIK 840D sl
SINUMERIK 828D
DB320x.DBX1.7
DB320x.DBX2.0-7
Read-in disable
DB320x.DBX6.1
DB320x.DBX6.4
NC start disable
DB320x.DBX7.0
NC start
DB320x.DBX7.1
DB320x.DBX7.2
NC stop
DB320x.DBX7.3
DB320x.DBX7.4
Reset
DB330x.DBX3.7
REPOSPATHMODE
REPOSMODEEDGE
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DRF selected
DB170x.DBX0.3
M01 selected
DB170x.DBX0.5
DB170x.DBX0.6
REPOSPATHMODE 0 - 2
DB170x.DBX1.3
DB170x.DBX1.7
DB170x.DBX2.0-7
DB170x.DBX3.0
DB170x.DBX3.1
REPOSPATHMODE 0 - 2
DB320x.DBX15.6
DB320x.DBX15.7
DB330x.DBX0.0
DB330x.DBX0.3
DB330x.DBX0.4
M0/M1 active
DB330x.DBX0.5
DB330x.DBX0.6
DB330x.DBX1.4
M02/M30 active
DB330x.DBX1.5
Transformation active
DB330x.DBX1.6
9.19.3.5
658
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
SINUMERIK 840D sl
SINUMERIK 828D
DB330x.DBX1.7
DB330x.DBX3.0
DB330x.DBX3.1
DB330x.DBX3.2
DB330x.DBX3.3
DB330x.DBX3.4
DB330x.DBX3.5
DB330x.DBX3.6
DB330x.DBX3.7
Channel is ready
DB330x.DBX4.5
DB350x.DBB0-63
DB330x.DBX4001.1
ASUB is stopped
DB330x.DBX4002.0
DB330x.DBB4004
ASUB is active
DB330x.DBB4006.0
DB330x.DBB4006.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
REPOSDELAY
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
REPOS offset
REPOSDELAY
Path axis
DB390x.DBX1002.4
9.19.3.6
9.19.3.7
Signals to NC
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
659
660
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Brief description
10.1.1
Axes
10
Machine axes
Machine axes are the axes that actually exist on a machine tool.
Channel axes
Every geometry axis and every special axis is assigned to a channel and, therefore, a channel
axis. Geometry axes and additional axes are always traversed in "their" channel.
Geometry axes
The three geometry axes always make up a fictitious rectangular coordinate system, the basic
coordinate system (BCS).
By using FRAMES (offset, rotation, scaling, mirroring), it is possible to image geometry axes
of the workpiece coordinate system (WCS) on the BCS.
Special axes
In contrast to geometry axes, no geometrical relationship is defined between the special axes.
Path axes
Path axes are interpolated together (all the path axes of a channel have a common path
interpolator).
All the path axes of one channel have the same acceleration phase, constant travel phase and
delay phase.
Positioning axes
Positioning axes are interpolated separately (each positioning axis has its own axis
interpolator). Each positioning axis has its own feedrate and acceleration characteristic.
Synchronized axes
Synchronous axes are interpolated together with path axes (all path axes and synchronous
axes of one channel have a common path interpolator).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
661
Axis configuration
The machine data below are used to assign the geometry axes, special axes, channel axes
and machine axes as well as the names of the individual axis types:
MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (assignment of geometry axis to channel
axis)
MD20060 $MC_AXCONF_GEOAX_NAME_TAB (name of the geometry axis in the channel)
MD20070 $MC_AXCONF_MACHAX_USED (machine axis number valid in channel)
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX (assignment of spindle to machine axis)
Link axis
Link axes are axes, which are physically connected to another NCU and whose position is
controlled from this NCU. Link axes can be assigned dynamically to channels of another NCU.
Link axes are not local axes from the perspective of a particular NCU.
The axis container concept is used for the dynamic modification of the assignment to an NCU.
Axis replacement with GET and RELEASE from the part program is not available for link axes
across NCU boundaries.
The link axes are described in
References:
Function Manual, Extended Functions; Several Operator Panels on Multiple NCUs, Distributed
Systems (B3)
Axis container
An axis container is a circular buffer data structure, in which local axes and/or link axes are
assigned to channels. The entries in the circular buffer can be shifted cyclically.
In addition to the direct reference to local axes or link axes, the link axis configuration in the
logical machine axis image also allows references to axis containers.
This type of reference consists of:
Axis container number
A slot (circular buffer location within the corresponding container)
662
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.1.2
Coordinate systems
MCS
The machine coordinate system (MCS) has the following properties:
It is defined by the machine axes.
The machine axes can be perpendicular to each other to form Cartesian system or arranged
in any other way.
The names of the machine axes can be defined.
The machine axes can be linear or rotary axes.
BCS
The basic coordinates system (BKS) has the following properties:
The geometry axes form a perpendicular Cartesian coordinate system.
The BCS is derived from a kinematic transformation of the MCS.
BZS
The basic zero system (BZS) is the basic coordinate system with a basic offset.
SZS
The settable zero system (SZS) is the workpiece coordinate system with a programmable
frame from the viewpoint of the WCS. The workpiece zero is defined by the settable frames
G54 to G599.
WCS
The workpiece coordinate system (WCS) has the following properties:
In the workpiece coordinate system all the axes coordinates are programmed (parts
program).
It is made up of geometry axes and special axes.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
663
10.1.3
Frames
A frame is a closed calculation rule (algorithm) that translates one Cartesian coordinate system
into another.
Frame components
A frame consists of the following components:
Frame components
Programmable with:
Offset
TRANS
Coarse offset
CFINE
G59 (axial work offset)
664
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programmable with:
Rotation
ROT / ROTS
AROT / AROTS
CROTS
Scaling
SCALE
ASCALE
Mirroring
MIRROR
AMIRROR
6FDOLQJ
0LUURULQJ
5RWDWLRQ
)LQHRIIVHW
5RXJKRIIVHW
Figure 10-1
Frame components
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
665
Rotation
Orientations in space are defined via frame rotations as follows:
Rotation with ROT defines the individual rotations for all geometry axes.
Solid angles with ROTS, AROTS, CROTS define the orientation of a plane in space.
Frame rotation with TOFRAME defines a frame with a Z axis pointing in the tool direction.
Scaling
SCALE is used to program the programmable scale factors for all geometry axes and special
axes.
If a new scaling is to be based on a previous scaling, rotation, translation or mirroring, then
ASCALE must be programmed.
Mirroring
The following machine data is used to set how the mirroring is to be performed:
MD10610 $MN_MIRROR_REF_AX
Concatenation
Frames and frame components can be combined using the concatenation operator ":". The
channel-specific active frame $P_ACTFRAME results, for example, from the chaining of all
active frames of the channel:
$P_ACTFRAME =
Supplementary conditions
Incremental dimensioning G91
Incremental programming with G91 is defined such that the offset value is traversed additively
to the incrementally programmed value when a work offset is selected.
The behavior depends on the setting in the setting data:
SD42440 $SC_FRAME_OFFSET_INCR_PROG (work offsets in frames)
666
Value
Meaning
Work offset is applied on FRAME and incremental programming of an axis (= default setting).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Consistency
When writing, reading and activating frames, e.g. using channel coordination, the user is solely
responsible for achieving consistent behavior within the channels. Cross-channel activation of
frames is not supported.
10.2
Axes
10.2.1
Overview
*HRPHWU\D[HV
6SHFLDOD[HV
&KDQQHOD[HV
3DWKD[HV
)HHGUDWHGHWHU
PLQHGSDWKD[HV
)*5283
6\QFKUR
QRXVD[HV
3RVLWLRQLQJD[HV
&RPPDQGD[HV
5HFLSURFDWLQJD[HV
3/&D[HV
6SLQGOHD[HV
*DQWU\D[HV
&RXSOHGPRWLRQD[HV
*XLGHYDOXHFRXSOLQJD[HV
.LQHPDWLF
WUDQVIRUPDWLRQ
/LQHDUD[HV
5RWDU\D[HV
2ULHQWDWLRQD[HV
0DFKLQHD[HV
Figure 10-2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
667
0DFKLQHD[HV
/RFDOPDFKLQHD[LV
Figure 10-3
668
/LQND[LVYLD1&8OLQN
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.2.2
Machine axes
Meaning
Machine axes are the axes that actually exist on a machine tool.
=
&
;
<
Figure 10-4
Application
The following can be machine axes:
Geometry axes X, Y, Z
Orientation axes A, B, C
Loader axes
Tool turrets
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
669
10.2.3
Channel axes
Meaning
Each geometry axis and each special axis is assigned to a channel. Geometry axes and
additional axes are always traversed in "their" channel.
10.2.4
Geometry axes
Meaning
The three geometry axes always make up a fictitious rectangular coordinate system.
By using FRAMES (offset, rotation, scaling, mirroring), it is possible to image geometry axes
of the workpiece coordinate system (WCS) on the BCS.
Application
Geometry axes are used to program the workpiece geometry (the contour).
Plane selection G17, G18 and G19 (DIN 66217) always refers to the three geometry axes. That
is why it is advantageous to name the three geometry axes X, Y and Z.
10.2.5
Special axes
Significance
In contrast to geometry axes, no geometrical relationship is defined between the special axes.
Note
Geometry axes have an exactly defined relationship in the form of a rightangled coordinate
system.
670
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Application
Typical special axes are:
Rotary axes
Machine tool axes
Tool revolver axes
Loader axes
10.2.6
Path axes
Meaning
Path axes are interpolated together (all the path axes of a channel have a common path
interpolator).
All the path axes of one channel have the same acceleration phase, constant travel phase and
delay phase.
The feedrate programmed under address F (path feedrate) applies to all the path axes
programmed in a block, with the following exceptions:
An axis has been programmed that has been defined as having no control over the path
velocity with instruction FGROUP.
Axes programmed with instructions POS or POSA have an individual feedrate setting (axis
interpolator).
Application
Path axes are used to machine the workpiece with the programmed contour.
10.2.7
Positioning axes
Meaning
Positioning axes are interpolated separately (each positioning axis has its own axis
interpolator). Each positioning axis has its own feedrate and acceleration characteristic.
Positioning axes can be programmed in addition to path axes (even in the same block). Path
axis interpolation (path interpolator) is not affected by the positioning axes. Path axes and the
individual positioning axes do not necessarily reach their block end points at the same time.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
671
Application
Typical positioning axes are:
Loaders for moving workpieces away from machine
Tool magazine/turret
Reference
For further information, see Section "P3: Basic PLC program for SINUMERIK 840D sl
(Page 821)" and "S1: Spindles (Page 1199)".
References:
Function Manual, Extended Functions; Positioning Axes (P2)
Function Manual, Special Functions; Gantry Axes (G1)
Function Manual, Special Functions; Axis Couplings and ESR (M3)
Function Manual, Extended Functions; Oscillation (P5)
Function Manual, Synchronized Actions
10.2.8
Main axes
Meaning
A main axis is an axis that is interpolated by the main run.
672
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Channel control
An axis interpolated by the main axis reacts in terms of:
NC stop
Alarm handling
Program control
End of program
RESET
Note
The response at the end of the program varies. The axis movement need not always be
completed and, therefore, may carry on beyond the end of the program.
Application
Certain axes in the main run can be decoupled at the channel response triggered by the NC
program sequence and controlled from the PLC. These axes are also interpolated in the main
run and respond independently for the channel and program sequence.
A PLC-controlled axis can then be controlled independently by the NC. This concerns the
following actions:
The sequence for canceling the axis (equivalent to delete distancetogo)
Stopping or interrupting the axis
Continuing the axis (continue sequence of motion)
Resetting the axis to its basic status
10.2.9
Synchronized axes
Meaning
Synchronous axes are components of the path axes, which are not referenced in order to
calculate the tool path velocity. They are interpolated together with path axes (all path axes
and synchronous axes of one channel have a common path interpolator).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
673
FGROUP command
The command FGROUP specifies whether the axis is a feed-defining path axis (used to calculate
the path velocity) or a synchronous axis (not used to calculate the path velocity).
Example
Program code
Comment
N10 FGROUP(X,Y)
Note
The channel axis name must be used for the FGROUP command.
This is defined by the machine data:
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
Application
In the case of helical interpolation FGROUP can be programmed to determine whether:
The programmed feedrate should be valid on the path
(all three programmed axes are path axes)
The programmed feedrate should be valid on the circle
(two axes are path axes and the infeed axis is a synchronous axis)
674
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.2.10
Axis configuration
*HRPHWU\D[LVQDPHV
0'0&B$;&21)B*(2$;B1$0(B7$%>N@>Q@
8VHGFKDQQHOD[HV
0'0&B$;&21)B*(2$;B$66,*1B7$%>N@>Q@
&KDQQHON
&KDQQHON
&KDQQHO
&KDQQHO
VWJHRPHWU\D[LV
QGJHRPHWU\D[LV
UGJHRPHWU\D[LV
VWJHRPHWU\D[LV
QGJHRPHWU\D[LV
UGJHRPHWU\D[LV
>@ ;
>@ <
>@ =
8VHGPDFKLQHD[HV
0'0&B$;&21)B0$&+$;B86('>N@>Q@
&KDQQHOD[LVQDPH
0'0&B$;&21)B&+$1$;B1$0(B7$%>N@>Q@
&KDQQHON
VWFKDQQHOD[LV
QGFKDQQHOD[LV
UGFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
&KDQQHON
&KDQQHO
>@ ;
>@ <
>@ =
>@ $
>@ %
>@ 8
>@ 9
>@
.DQDODFKVH
.DQDODFKVH
.DQDODFKVH
.DQDODFKVH
.DQDODFKVH
.DQDODFKVH
.DQDODFKVH
.DQDODFKVH
$[LVFRQWDLQHU&7
0'01B$;&7B$;&21)B$66,*1B7$%
6ORW
&7
&7
&7
&7
&
B
1
&
1
&RQWDLQHUOLQND[LV
0DFKLQHD[LV$;PRQ1&8Q
ZLWKQ!RZQ1&8
&
B
6ORW
>@
>@
>@
>@
;
6ORW
B
>@ $;
>@ $;
>@ $;
>@ $;
>@ $;
>@ $;
>@
>@
$;
$[LVFRQWDLQHUQDPHV
0'
01B$;&7B1$0(B7$%>Q@
&
VWPDFKLQHD[LV
QGPDFKLQHD[LV
UGPDFKLQHD[LV
WKPDFKLQHD[LV
WKPDFKLQHD[LV
WKPDFKLQHD[LV
WKPDFKLQHD[LV
WKPDFKLQHD[LV
&KDQQHO
>@
>@
>@
>@
>@
>@
>@
>@
>@
$;
B
/RFDOPDFKLQHD[HV
0'
01B$;&21)B0$&+$;B1$0(B7$%>Q@
&7B6/
1&B$;Q
/RJLFDOPDFKLQHD[LVLPDJH
0'01B$;&21)B/2*,&B0$&+$;B7$%>Q@
>@
>@
>@
>@
>@
>@
>@
$; $; $; $;
>@
>@
>@
6ORW
/LQND[LV0DFKLQHD[LV$;QRQ1&8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
675
Axis configuration
Special features
Leading zeros for user-defined axis names are ignored:
MD10000 `$MN_AXCONF_MACHAX_NAME_TAB[0] = X01 corresponds to X1
The geometry axes must be assigned to the channel axes in ascending order without any
gaps.
All channel axes that are not geometry axes are special axes.
676
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
0DFKLQHD[HVXVHG
0'0&B$;&21)B0$&+$;B86('>Q@>P@
&KDQQHOQ
VWFKDQQHOD[LV
QGFKDQQHOD[LV
UGFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
Figure 10-6
&KDQQHO
>@ ;
>@ <
>@ =
>@ $
>@ %
>@ 8
>@ 9
>@
&KDQQHOQ
&KDQQHOD[LVJDS
VWFKDQQHOD[LV
QGFKDQQHOD[LV
UGFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
WKFKDQQHOD[LV
&KDQQHO
>@
>@
>@
>@
>@
>@
>@
>@
10.2.11
Link axes
Meaning
A link axis is a machine axis that is not on the NCU from which it is traversed. The name of a
local machine axis is not entered in the machine data for the logical machine axis image of the
traversing NCU, but the NCU and machine axis name of the NCU to which it is physically
connected.
As an example, machine axis AX1 of NCU2 should be traversed from NCU1:
NCU1: MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB[n] = NC2_AX1
Requirement
The NCUs involved must be connected using link communication as a requirement for using
link axes. The link axes and link communication functions are described in detail in:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
677
10.3
10.3.1
Reference points
M = Machine zero
R = Reference point
W = Workpiece zero
Machine zero M
The machine zero M defines the machine coordinate system MCS. All other reference points
refer to the machine zero.
Workpiece zero W
The workpiece zero W defines the workpiece coordinate system in relation to the machine
zero M. The programmed part-program blocks are executed in the workpiece coordinate
system WCS.
Reference point R
The position of the reference point R is defined by cam switches. Reference point R calibrates
the position measuring system.
With incremental encoders, the reference point must be approached every time the control
power is switched on. The control can only then work with the measuring system and transfer
all position values to the coordinate systems.
678
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
5
0
:
7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
679
10.3.2
Control POWER ON
For incremental measuring probes, the reference point must be approached each time the
control is activated so that the control can transfer all position values to the coordinate system.
;
0DFKLQH
FRRUGLQDWH
V\VWHP0&6
:RUNSLHFH
FRRUGLQDWH
V\VWHP:&6
:RUNSLHFH
OHQJWK
6SLQGOH
0
=
0DFKLQH
]HUR
Figure 10-7
:RUNSLHFH
]HUR
7RROKROGHU
7
0DFKLQH
]HUR
5HIHU
HQFH
SRLQW
/
7RROKROGHUUHIHUHQFHSRLQW
/
0
Figure 10-8
680
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.4
Coordinate systems
10.4.1
Overview
Definitions
DIN 66217 stipulates that machine tools must use right-angled, rectangular (Cartesian)
coordinate systems. The positive directions of the coordainate axes are determined using the
"Right Hand Rule". The coordinate system is related to the workpiece and programming takes
place independently of whether the tool or the workpiece is being traversed. When
programming, it is always assumed that the tool traverses relative to the coordinate system of
the workpiece, which is intended to be stationary.
\
Figure 10-9
Right-hand rule
<
;<=
$[HVSHUSHQGLFXODUWR
RQHDQRWKHU
%
$%&
5RWDU\D[HVURWDWLQJ
DERXW;<=
r
&
;
$
=
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
681
Coordinate systems
The following coordinate systems are defined for machine tools:
682
Coordinate system
Abbreviation
MCS
BCS
BZS
SZS
WCS
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
:&6
)UD
P
HF
KD
LQ
)UDPHIRUF\FOHV
SURJUDPPDEOHIUDPH
7UDQVIRUPDWLRQV
6=6
6\VWHPIUDPHIRU72527
72)5$0(ZRUNSLHFHV
**VHWWDEOHIUDPH
FKDQQHOVSHFRU1&8JOREDO
%=6
&KDLQHGDUUD\RIEDVLFIUDPHV
FKDQQHOVSHFDQGRU1&8JOREDO
&KDLQHGV\VWHPIUDPHVIRU3$527VHWDFWXDO
YDOXHVFUDWFKLQJH[W]HURRIIVHW
.LQHPDWLFWUDQVIRUPDWLRQ
0&6
5HIHUHQFHSRLQWRIIVHW
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
683
684
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.4.2
=
&
;
<
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
685
0
=
10.4.2.1
Function
The PRESETON() procedure sets a new actual value for one or more axes in the machine
coordinate system (MCS). This corresponds to work offset of the axis MCS. The axis is not
traversed.
686
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programming
Syntax
PRESETON(<axis_1>, <value_1> [, <axis_2>, <value_2>, ... <axis_8>,
<value_8>])
Meaning
PRESETON:
<axis_x>:
<value_x>:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
687
System variable
$AC_PRESET
The axis-specific system variable $AC_PRESET provides the vector from the zero point of the
currently offset MCS' to the zero point of the original MCS0 after the referencing of the machine
axis.
$AC_PRESET<axis> = $AC_PRESET<axis> + "current actual position of the axis in the MCS"
- "PRESETON actual position"
The work offset can be undone with the system variables:
PRESETON(<axis>, $VA_IM + $AC_PRESET[<axis>]) ; "current actual
position of the axis in the MCS'" + "offsets"
Example
Program code
N10 G1 X10 F5000
N20 PRESETON(X, $AA_IM[X]+70) ; Actual value = 10 + 70 = 80 => $AC_PRESET
= $AC_PRESET - 70
Supplementary conditions
Axes for which PRESETON must not be used
Traversing positioning axes
Traversing command axes in spindle mode
Traversing concurrent positioning axes (FC18)
Axes involved in a transformation
Traversing path axes
Reciprocating axes
Axes on which one or more of the following safety functions (Safety Integrated) are active
Enable safe limit switch
MD36901 $MA_SAFE_FUNCTION_ENABLE[<safe axis>], bit 1 = 1
Enable safe cam, pair 1 ... 4, cam +/MD36901 $MA_SAFE_FUNCTION_ENABLE[<safe axis>], bits 8 ... 15 = 1
Hirth axes
Synchronized axes of a gantry grouping
Axes for which the reference point approach from the part program (G74) is active
Slave axis of a speed/torque coupling (master-slave)
688
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N10 G0 X0 Y0
; X, Y: Geometry axes
N15 RELEASE(Y)
; Neutral axis
N20 PRESETON(Y,20)
N30 G0 X40
N40 M30
Example: A further geometry (X) is traversing at the same time as command axis
Program code
Comment
N10 G0 X0 Y0
; X, Y: Geometry axes
; X command axis
N30 DO PRESETON(Y,20)
N40 M30
PLC-controlled axes
PRESETON can be used on PLC-controlled axes according to their current type.
Spindle states
The following table shows the reactions that occur when PRESETON is used on a spindle in a
synchronized action:
PRESETON in the NC program
Spindle mode
Speed control mode
Positioning mode SPOS
Traversing sta
tus
Assigned to the NC
program
Main axis
In motion
Alarm 22324
Alarm 22324
Stationary
In motion
Stationary
In motion
Alarm 10610
Axis mode
In motion
Stationary
+: Possible
-: Not possible
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
689
690
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.4.2.2
Function
The PRESETONS() procedure sets a new actual value for one or more axes in the machine
coordinate system (MCS). This corresponds to work offset of the axis MCS. The axis is not
traversed.
A preprocessing stop with synchronization is triggered by PRESETONS. The actual position is
not assigned until the axis is at standstill.
If the axis is not assigned to the channel at PRESETONS, the further procedure depends on the
axis-specific configuration of the axis interchange behavior:
MD30552 $MA_AUTO_GET_TYPE
Referencing status
By setting a new actual value in the machine coordinate system (MCS) with PRESETONS, the
referencing status of the machine axis is not changed.
Requirements
Encoder type
PRESETONS is only possible with the following encoder types of the active measuring
system:
MD30240 $MA_ENC_TYPE[<measuring system>] = 0 (simulated encoder)
MD30240 $MA_ENC_TYPE[<measuring system>] = 1 (raw signal encoder)
Referencing mode
PRESETONS is only possible with the following referencing mode of the active measuring
system:
MD34200 $MA_ENC_REFP_MODE[<measuring system>] = 0 (no reference point
approach possible)
MD34200 $MA_ENC_REFP_MODE[<measuring system>] = 1 (referencing of
incremental, rotary or linear measuring systems: zero pulse on the encoder track)
Commissioning
Axis-specific machine data
Actual value setting without loss of the referencing status (PRESETONS) must be set axisspecifically:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
691
Programming
Syntax
PRESETONS(<axis_1>, <value_1> [, <axis_2>, <value_2>, ... <axis_8>,
<value_8>])
Meaning
PRESETONS:
<axis_x>:
<value_x>:
System variable
$AC_PRESET
The axis-specific system variable $AC_PRESET provides the vector from the zero point of the
currently offset MCS' to the zero point of the original MCS0 after the referencing of the machine
axis.
$AC_PRESET<axis> = $AC_PRESET<axis> + "current actual position of the axis in the MCS"
- "PRESETONS actual position"
The work offset can be undone with the system variables:
PRESETONS(<axis>, $VA_IM + $AC_PRESET[<axis>]) ; "current actual
position of the axis in the MCS'" + "offsets"
Example
Work offset of the X axis MCS by 70 units.
692
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Supplementary conditions
Axes for which PRESETONS must not be used
Traversing positioning axes
Traversing command axes in spindle mode
Traversing concurrent positioning axes (FC18)
Axes involved in a transformation
Traversing path axes
Reciprocating axes
Axes on which one or more of the following safety functions (Safety Integrated) are active
Enable safe limit switch
MD36901 $MA_SAFE_FUNCTION_ENABLE[<safe axis>], bit 1 = 1
Enable safe cam, pair 1 ... 4, cam +/MD36901 $MA_SAFE_FUNCTION_ENABLE[<safe axis>], bits 8 ... 15 = 1
Hirth axes
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
693
Comment
N10 G0 X0 Y0
N15 RELEASE(Y)
; X, Y: Geometry axes
1)
; Neutral axis
N20 PRESETONS(Y,20)
N30 G0 X40
N40 M30
1) Note
The release of an axis in the action part of a synchronized action does not ensure that the release
is on time.
N20 ID=1 WHEN 20.0 < $AA_IM[X] DO RELEASE(Y) PRESETONS(Y,20) ; NOT
recommended!
Example: A further geometry (X) is traversing at the same time as command axis
Program code
Comment
N10 G0 X0 Y0
; X, Y: Geometry axes
; X command axis
N30 PRESETONS(Y,20)
N40 M30
PLC-controlled axes
PRESETONS can be used on PLC-controlled axes according to their current type.
Spindle states
The following table shows the reactions that occur when PRESETONS is used on a spindle in
a synchronized action:
PRESETONS in the NC program
Spindle mode
Speed control mode
Positioning mode SPOS
Positioning across block bounda
ries SPOSA
694
Traversing sta
tus
Assigned to the NC
program
Main axis
In motion
Alarm 22324
Alarm 22324
Stationary
In motion
Stationary
In motion
Alarm 10610
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Traversing sta
tus
Assigned to the NC
program
Main axis
In motion
Stationary
+: Possible
-: Not possible
Axis couplings
Leading axes: The sudden change of the leading axis position caused by PRESETONS is
not traversed in the following axes. The coupling is not changed.
Following axes: Only the overlaid position component of the following axis is affected by
PRESETONS.
Gantry grouping
If PRESETONS is used on the guide axis of a gantry grouping, the work offset is also
performed in all synchronized axes of the gantry grouping.
Indexing axes
PRESETONS can be used on indexing axes.
Software limit switches, operating range limit, protection areas
If the axis position is outside the specified limits after a work offset by PRESETONS, an alarm
is not displayed until an attempt is made to traverse the axis.
Block search with calculation
PRESETONS commands are collected during the block search and executed with the NC start
to continue the NC program.
Position-dependent NC/PLC interface signals
The status of the position-dependent NC/PLC interface signals is redetermined based on
the new actual position.
Example: Fixed point positions
Parameterized fixed point positions: MD30600 $MA_FIX_POINT_POS[0...3] = <fixed
point position 1...4>
NC/PLC interface signals DB31, ... DBX75.3 ... 5 (JOG approach fixed point reached)
If the axis is at a fixed point position with the exact stop tolerance, the associated NC/PLC
interface signal is set. The NC/PLC interface signal is reset when the actual value is set by
PRESETONS to a different value outside the exact stop tolerance around the fixed point
position.
DRF offset
A DRF offset of the axis is deleted by PRESETONS.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
695
10.4.3
<
;
0&6 %&6
=
0DFKLQH]HUR
696
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
= %&6
%DVLFFRRUGLQDWHV\VWHP%&6
; 0&6
= 0&6
0DFKLQHFRRUGLQDWHV\VWHP0&6
Machine kinematics
The workpiece is always programmed in a two- or three-dimensional, right-angled coordinate
system (WCS). However, such workpieces are being programmed ever more frequently on
machine tools with rotary axes or linear axes not perpendicular to one another. Kinematic
transformation is used to represent coordinates programmed in the workpiece coordinate
system (rectangular) in real machine movements.
References:
Function Manual, Special Functions; 3- to 5-Axis Transformation (F2)
Function Manual, Extended Functions; Kinematic Transformation (M1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
697
10.4.4
Additive offsets
=%16
; %16
$$B(75$163B(;7)5$0(
; %.6
The external work offset $AA_ETRANS is effective in two ways depending on the machine
data parameterization:
1. The $AA_ETRANS system variable has a direct effect as offset value after activation by
the NC/PLC interface signal.
2. The value of the $AA_ETRANS system variable is taken into the system frame
$P:EXTFRAME and the data management frame $P_EXTFR after activation by the NC/
PLC interface signal. The active complete frame $P_ACTFRAME is then recalculated.
Machine data
In conjunction with the $AA_ETRANS system variable, a distinction is made between two
procedures which are selected via the following machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK, bit1 = <value>
<value>
0
Meaning
Function: Direct writing of $AA_ETRANS[<axis>] by the PLC, HMI or NC program.
Enable to traverse the work offset of $AA_ETRANS[<axis>] in the next possible traversing block: DB31, ...
DBX3.0
Function: Activation of the active system frame $P:EXTFRAME and the data management frame $P_EXTFR
Enable to traverse the work offset of $AA_ETRANS[<axis>] through: DB31, ... DBX3.0. Then in the channel:
Stop of all traversing movements in the channel (except command and PLC axes)
Preprocessing stop with subsequent reorganization (STOPRE)
Coarse offset of the active frame $P_EXTFRAME[<axis>] = $AA_ETRANS[<axis>]
Coarse offset of the data management frame $P_EXTFR[<axis>] = $AA_ETRANS[<axis>]
Recalculation of the active complete frame $P_ACTFRAME
Traversing of the offset in the programmed axes.
Continuation of the interrupted traversing movement or the NC program
698
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
<axis>:
Channel axis
<value>:
Offset value
DRF offset
The DRF offset enables the adjustment of an additive incremental work offset for geometry
and additional axes in the basic coordinate system through handwheel.
The DRF offset can be read via the axis-specific system variable:
$AC_DRF[<Axis>]
References:
Function Manual, Extended Functions; Manual and Handwheel Travel (H1),
Section: DRF offset
Overlaid movements
The "Overlaid movement" for the programmed axis can only be accessed from synchronized
actions via the system variable $AA_OFF[axis].
RESET response
Channel reset / end of program reset
The activated values remain active after RESET and program end.
Reset response of channel-specific system fames as follows:
The system frame for the "external work offset" is active after RESET with the following
machine data setting:
MD24006 $MC_CHSFRAME_RESET_MASK, bit 1 = 1
The "external work offset" in the active system frame is deleted in the data management
through the following machine data setting:
MD24006 $MC_CHSFRAME_RESET_MASK, bit 1 = 0
The following frames are active after RESET:
System frame for:
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 4 = 1 (workpiece reference point)
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 5 = 1 (cycles)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
699
10.4.5
%DVLFRIIVHW
<
;
=
%DVLF]HURV\VWHP%=6
;
%DVLFFRRUGLQDWHV\VWHP%&6
=
Figure 10-16 Basic offset between BCS and BZS
700
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic offset
The basic offset describes the coordinate transformation between BCS and BZS. It can be
used, for example, to define the palette window zero.
The basic offset comprises:
Zero offset external
DRF offset
Superimposed motion
Chained system frames
Chained basic frames
]
3URJUDPPDEOH
IUDPH
]
]
\
\
6=6
\
%=6
:RUNSLHFH
*
0&6
%&6
:&6
*
:&6
6=6
%DVHIUDPH
3DOOHW
3URJUDPPDEOH
IUDPH
:RUNSLHFH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
701
10.4.6
**
<
;
=
6HWWDEOH]HURV\VWHP6=6
;
%DVLF]HURV\VWHP%=6
=
Figure 10-18 Settable FRAME G54 ... G599 between BNS and ENS
Programmable offsets act on the "settable zero system". All programmable offsets refer to the
"settable zero system".
702
Value
Significance
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
Display of the current coordinate system
When "Actual-value display in relation to the SZS" is active, the WCS is still displayed on the
HMI operator interface as the coordinate system to which the actual-value display relates.
Example
Actual-value display in relation to the WCS or SZS
Code (excerpt)
10.4.7
Axis X (WCS)
Axis X (SZS)
N10 X100
100
100
N20 X0
10
N40 X100
100
110
=
:RUNSLHFHFRRUGLQDWHV\VWHP:&6
;
=
6HWWDEOH]HURV\VWHP6=6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
703
10.5
Frames
10.5.1
Frame types
A frame is a data structure that contains values for offset (TRANS), fine offset (FINE), rotation
(ROT), mirroring (MIRROR) and scaling (SCALE) for axes.
When activating the frame, using the frame values, a static coordinate transformation for the
axes contained in the frame is performed using a defined algorithm.
Axial frame
An axial frame contains the frame values of an axis.
Example of the data structure of an axial frame for axis X:
Axis
X
TRANS
FINE
ROT
MIRROR
SCALE
10.0
0.1
0.0
Channel-specific frame
A channel-specific frame contains frame values for all channel axes (geometry, special and
machine axes).
Rotations (ROT) are only included in the calculation for geometry axes.
A channel-specific frame is only active in the channel in which the frame is defined.
Example of the data structure of a channel-specific frame:
Geometry axes: X, Y, Z
Special axes: A
Machine axes: AX1
Axis
TRANS
FINE
ROT
MIRROR
SCALE
10.0
0.1
0.0
0.0
0.0
0.0
0.0
0.0
45.0
2.0
0.1
0.0
AX1
0.0
0.0
0.0
Global frame
A global frame contains the frame values for all machine axes.
A global frame is active in all channels of the NC.
Example of the data structure of a channel-specific frame:
Machine axes: AX1, ... AX5
704
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Axis
TRANS
FINE
ROT
MIRROR
SCALE
AX1
10.0
0.1
AX2
0.0
0.0
AX3
0.0
0.0
AX4
2.0
0.1
AX5
0.0
0.0
10.5.2
Frame components
10.5.2.1
Translation
Programming
The programming of the translation or coarse offset can be performed via the following
commands:
Example of data management frames $P_UIFR
Complete frame: $P_UIFR[<n>] = CTRANS(<K1>,<V1>[,<K2>,<V2>]
[,<K3>,<V3>])
with Km = coordinate x, y or z and Vm = offset m
Frame component: $P_UIFR[<n>,<k>,TR] = <V>
with K = coordinate x, y or z and V = offset
Example of programmable frame
TRANS <K1> <V1> [<K2> <V2>][<K3> <V3>]
with Km = coordinate x, y or z and Vm = offset m
Programs examples:
Program code
Remark
$P_UIFR[1] = CTRANS(X,10,Y,10)
Complete frame
$P_UIFR[1,X,TR] = 10
Frame components
Programmable frame
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
705
7UDQVODWLRQ
)LQHRIIVHW
[
[
10.5.2.2
Fine offset
Parameterization
The fine offset is enabled via the machine data:
MD18600 $MN_MM_FRAME_FINE_TRANS = <value>
Value
Meaning
Fine offset is possible for settable frames, basic frames and the programmable frame via
command or program.
Programming
The programming of the translation or coarse offset can be performed via the following
commands:
Example of data management frames $P_UIFR
Complete frame: $P_UIFR[<n>] = CFINE(<K1>,<V1>[,<K2>,<V2>]
[,<K3>,<V3>])
with Km = coordinate x, y or z and Vm = offset m
Frame component: $P_UIFR[<n>,<K>,FI] = <V>
with K = coordinate x, y or z and V = offset
Example of programmable frame
TRANS <K1> <V1> [<K2> <V2>][<K3> <V3>]
with Km = coordinate x, y or z and Vm = offset m
Programming examples:
706
Program code
Remark
$P_UIFR[1] = CTRANS(X,10,Y,10)
Complete frame
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.2.3
Program code
Remark
$P_UIFR[1,X,TR] = 10
Frame components
Programmable frame
Function
The direction of rotation around the coordinate axes is determined by means of a right-hand,
rectangular coordinate system with axes x, y and z. If the rotary motion is in a clockwise
direction when looking in the positive direction of the coordinate axis, the direction of rotation
is positive. A, B and C designate rotations whose axes are parallel to the coordinate axes.
\
%
&
]
The following figure shows the new position of the coordinate system x', y' and z' after the
rotation around z with = -45
\
\
]
]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
707
Meaning
Note
For historical reasons, Euler angles in zx'z" convention can be used. However, it is strongly
recommended that only Euler angles in zy'x" convention (RPY angles) be used (see Section
Rotation with a Euler angles: ZY'X" convention (RPY angles) (Page 708)).
10.5.2.4
VWURWDWLRQDURXQG]
QGURWDWLRQDURXQG\
UGURWDWLRQDURXQG[
] ]
\
\
[
708
x''
y'
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
<=
<
<=
x
y
z
<=
<
<=
180
90
180
AROT:
<nth GAx>:
<angle>:
Absolute rotation,
reference frame: Arbitrary programmed frame
Arbitrary active or data management frame
Absolute rotation,
reference frame: Programmable frame $P_PFRAME,
reference point: Zero point of the current workpiece coordinate sys
tem set with G54 ... G57, G505 ... G599
Additive rotation,
reference frame: Programmable frame $P_PFRAME,
reference point: Zero point of the current workpiece coordinate sys
tem set with G54 ... G57, G505 ... G599
Name of the nth geometry axis around which rotation is to be per
formed with the specified angle. The value 0 is implicitly set as angle
of rotation for a geometry axis that has not been programmed.
Assignment of geometry axis to rotary axis:
Geometry axis
Rotary axis
1st geometry axis
x''
2nd geometry axis
y'
3rd geometry axis
z
Angle specification in degrees.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
709
<Frame>:
<Index>:
<GAx>:
RT:
<Angle>
y, RT
z, RT
45
30
-20
1) The values of the saved rotation components are obtained when reading back
y, RT
z, RT
-170
160
1) The values of the saved rotation components are obtained when reading back
Note
It is recommended that when writing the rotation components of the frame, the specified value
ranges are observed so that the same values are obtained when reading back the rotation
components.
Gimbal lock
Gimbal lock designates a geometric problem in which the rotation components can no longer
be unambiguously calculated back from the position vector. Gimbal lock occurs in RPY angles
with an angular position of the rotation component y = 90. In this case, the rotation components
are converted by the controller after being written so that the following applies:
Rotation component z = rotation component z - rotation component x
Rotation component x = 0
Rotation component y = 90
710
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programmed
<Frame>=CROT(X,30,Y,90,Z,40)
y, RT
z, RT
90
40 - 30 = 10
CAUTION
Different values for reading back the rotation component z
Because of the different conversion times after writing the complete frame or the writing of
individual rotation components of a data management frame and the writing of individual
rotation components of an active frame, different values can be read back for rotation
component z.
Differences when writing the complete frame and frame components
Two cases must be distinguished when writing the rotation components of a frame:
1. Writing the complete frame: <Frame>=CROT(X,a,Y,b,Z,c)
When writing the complete frame, the conversion is immediately at the time of writing.
2. Writing individual rotation components, e.g. rotation around X: <Frame>[0,X,RT]=a
When writing individual rotation components, the conversion depends on the storage
location of the frame:
Data management frames
With data management frames, the conversion is at the time of activation of the frame
based on the rotation components written by this time. With regard to the conversion of
a data management frame, a data management frame therefore behaves in the same
way after writing individual rotation components as when writing the complete frame.
Active frames
In the case of active frames, the conversion is immediately at time of writing of the
rotation component.
Examples: Writing the complete frame
The conversion is made in each block after the complete frame has been written.
Programmed
y, RT
z, RT
N10 <Frame>=CROT(X,0,Y,90,Z,90)
90
90
N20 <Frame>=CROT(X,90,Y,90)
90
-90 1)
N30 <Frame>=CROT(X,90,Y,90,Z,90)
90
0 1)
1) Different values compared to the writing of individual rotation components of an active frame
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
711
y, RT
z, RT
90
90
90
-90 1)
90
0 1)
y, RT
z, RT
90
90
90
0 1)
90
90 1)
712
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.2.5
VWURWDWLRQDURXQG]
QGURWDWLRQDURXQG[
] ]
UGURWDWLRQDURXQG]
]
[
z''
x'
Range of values
Data from Euler angles can only be unambiguously calculated back within the following value
ranges:
0
-180
-180
<=
<=
<=
x
y
z
<
<=
<=
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
180
180
180
713
10.5.2.6
714
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.2.7
Scaling
6F
DO
LQ
Programming
The program commands below are used to program the scaling:
$P_UIFR[1] = CSCALE(x,1,y,1)
SCALE x = 1y = 1
$P_UIFR[1,x,sc] = 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
715
10.5.2.8
Mirroring
\
0LUURULQJ
Programming
The program commands below are used to program a mirroring:
$P_UIFR[1] = CMIRROR(x,1,y,1)
MIRROR x = 1y = 1
$P_UIFR[1,x,mi] = 1
10.5.2.9
Chain operator
Frame components or complete frames can be combined into a complete frame using the
chain operator ( : ).
10.5.2.10
SPI
When programming frame commands, the SPI(<spindle number>) axis function can be
used in place of an axis name.
SPI(<spindle number>) forms the reference of the spindle to the channel axis.
refer to MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ ] (assignment of spindle to machine
axis)
The following frame commands can be programmed with SPI(spino):
CTRANS()
CFINE()
CMIRROR()
716
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programming examples
$P_PFRAME[SPI(1),TR]=22.22
$P_PFRAME=CTRANS(X, axis value,Y,axis value,SPI(1),axis value)
$P_PFRAME=CSCALE(X,Scale,Y,scale,SPI(2),scale)
$P_PFRAME=CMIRROR(S1,Y,Z)
$P_UBFR=CTRANS(A,10):CFINE(SPI(1),0.1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
717
10.5.2.11
Coordinate transformation
6FDOLQJ
0LUURULQJ
5RWDWLRQ
)LQHRIIVHW
5RXJKRIIVHW
The formulae below are used to discover the coordinate transformation for geometry axes:
:&6%&6
%&6:&6
Y
LQY0
LQY6
LQY5YW
V:
V':
10.5.3
10.5.3.1
Overview
Frame types
The following frame types are available:
System frames ($P_PARTFR, ... see figure)
Basic frames ($P_NCBFR[<n>], $P_CHBFR[<n>])
Grinding frames ($P_GFR[<n>])
Settable frames ($P_UIFR[<n>])
Programmable frame ($P_PFRAME)
718
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3DUWSURJUDP
$UFKLYLQJ
8VHULQWHUIDFH
'DWHQKDOWXQJVIUDPHV
VWDWLVFKHU6SHLFKHUGHU1&
*ULQGLQJIUDPHV
1&8RGHU&+$1
3B*)5>Q@
6\VWHPIUDPHV
&+$1
3B&<&)5
3B5(/)5
3B75$)5
3B,62)5
3B,62)5
3B,62)5
3B*)5>@
3B:3)5
1&8
3B722/)5
3B(;7)5
3B,62)5
%DVLFIUDPHV
&+$1
3B1&%)5>Q@
3B&+%)5>Q@
6HWWDEOHIUDPHV
1&8RGHU&+$1
3B8,)5>Q@
3B6(7)5
3B3$57)5
3B1&%)5>@
$FWLYDWLQJGDWDPDQDJHPHQWIUDPHVZLWK
&KDQQHO
3B$&7)5$0(
$FWLYHWRWDOIUDPHE\FKDLQLQJDOO
DFWLYHIUDPHVLQWKHVSHFLILHG
VHTXHQFH
3B&+%)5>@
3B8,)5>@
***3,B6(78'7
*)5$0(*)5$0(5HVHW
7UDQVIRUPDWLRQFKDQJH*(2$;
$FWLYHIUDPHV
3B3$57)5$0(3B6(7)5$0(3B(;7)5$0(
3B,62)5$0(3B,62)5$0(3B,62)5$0(
3B$&7%)5$0(3B,)5$0(3B*)5$0(
3B722/)5$0(3B:3)5$0(3B75$)5$0(
3B3)5$0(3B,62)5$0(3B&<&)5$0(
3DUWSURJUDP
Writing frames
Data management frames and active frames can be written from the part program. Only data
management frames can be written via the user interface.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
719
10.5.3.2
720
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Val
ue
Meaning
@@@
Data management frames are only activated by programming the system variables
$P_CHBFRMASK, $P_NCBFRMASK and $P_CHSFRMASK.
G500...G599 activates the appropriate settable frame.
Data management frames are implicitly described by functions, such as TOROT, PAROT,
external work offset and transformations.
Data management frames are not implicitly described by functions, such as TOROT,
PAROT,external work offset and transformations.
10.5.3.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
721
10.5.4
10.5.4.1
Overview
The figure below shows the frame chain for the current complete frame. The frame chain is
located between the basic coordinate system (BCS) and the workpiece coordinate system
(WCS).
The settable zero system (SZS) corresponds to the WCS transformed by the programmable
frame. The basic zero system (BZS) still includes the current settable frame. The system frame
for the external work offset exists only if it has been configured. Otherwise, the external work
offset is traversed as overlaid movement of the axis.
722
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3B75$)5$0(3B3)5$0(
3B,62)5$0(3B&<&)5$0(
:.6
(16
3B,)5$0(3B*)5$0(
)U
D
H
FK
DL
3B722/)5$0(3B:3)5$0(
3B$&7%)5$0(
3B3$57)5$0(3B6(7)5$0(3B(;7)5$0(
3B,62)5$0(3B,62)5$0(3B,62)5$0(
+DQGZKHHO'5)RIIVHWRYHUODLGPRYHPHQWH[WHUQDOZRUNRIIVHWNLQHPDWLF
WUDQVIRUPDWLRQ
%16
%.6
0.6
5HIHUHQFHSRLQWRIIVHW
WCS:
SZS:
BZS:
BCS:
MCS:
Complete frame
The current complete frame $P_ACTFRAME results from the chaining of all active frames of
the frame chain:
$P_ACTFRAME =
10.5.4.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
723
6 5(/
:.
6 5(/
B5
(/
3
)5
B5
$0
(/
)5
$0
(1
3
:.6
(16
The data maintenance frame $P_RELFR can be written in the part program and via BTSS. All
the frame components can be modified.
The active system frame $P_RELFRAME can be written in the part program and via BTSS.
The configuring of the system frame $P_RELFR is done via the following machine data:
Machine data
Bit
Meaning
MD28082 $MC_MM_SYSTEM_FRAME_MASK
11
MD28083 $MC_MM_SYSTEM_DATAFRAME_MASK
11
MD24006 $MC_CHSFRAME_RESET_MASK.
11
MD24007 $MC_CHSFRAME_RESET_CLEAR_MASK
11
MD24008 $MC_CHSFRAME_POWERON_MASK
11
The axis position in the relative coordinate system WCSRel can be read via the variable
$AA_PCS_REL[ax]. The variable can be read in part program, BTSS and via synchronized
actions.
The axis position in the relative coordinate system ENSRel can be read via the variable
$AA_ACS_REL[ax]. The variable can be read in part program, BTSS and via synchronized
actions.
724
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.4.3
Selectable SZS
Within a cycle, machining is performed in a cycle-specific workpiece coordinate system (WCS).
The cycle-specific WCS results from SZS transformed by the programmable frame
$P_PFRAME and/or cycle frame $P_CYCFRAME programmed for the cycle.
If a cycle is interrupted by a machine operator, e.g. through an NC stop, traversing should then
be performed in the original coordinate system (SZS) valid before the activation of the cycle.
Machine data
The specification how the SZS is to be calculated from the cycle-specific WCS is set via the
following machine data.
MD24030 $MC_FRAME_ACS_SET = <value>
<value> Meaning
0
0'0&B)5$0(B$&6B6(7
< :.6
6
:.
0'0&B)5$0(B$&6B6(7
; :.6
< :.6
<(16
6
:.
; :.6
3B&<&)5$0(
<(16
3B75$)5$0(3B3)5$0(
3B,62)5$0(3B&<&)5$0(
(16
(16
;(16
3B75$)5$0(3B3)5$0(
3B,62)5$0(
;(16
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
725
10.5.4.4
Manual traversing of geometry axes either in the WCS or in the SZS ($AC_JOG_COORD)
Previously, geometry axes have been traversed manually in JOG mode in the WCS. In
addition, there is also the option to carry out this manual operation in the SZS coordinate
system. The $AC_JOG_COORD variable enables the user to switch between manual
traversing in the WCS and SZS. The user can now select if he wants to traverse in the SZS
or the WCS.
During manual traversing in the JOG mode, the geometry axes can be traversed either in the
workpiece coordinate system (WCS) or in the settable zero system (SZS).
System variables
During manual traversing in the JOG mode, the geometry axes can be traversed either in the
workpiece coordinate system (WCS) or in the settable zero system (SZS). The selection is
made via the system variable $AC_JOG_COORD:
$AC_JOG_COORD = <value>
<value> Meaning
726
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.4.5
Suppression of frames
*
*
68
3$
Suppression of frames is performed channel-specifically via the commands G53, G135 and
SUPA described in the following. Activation of the frame suppression results in jumps in the
position display (HMI) as well as in the position values in system variables that refer to the
WCS, SZS or BZS. The behavior can be set via machine data.
3B75$)5$0(3B3)5$0(
3B,62)5$0(3B&<&)5$0(
3B722/)5$0(3B:3)5$0(
:&6
6=6
3B,)5$0(3B*)5$0(
3B$&7%)5$0(
3B3$57)5$0(3B6(7)5$0(3B(;7)5$0(
3B,62)5$0(3B,62)5$0(3B,62)5$0(
+DQGZKHHO'5)RIIVHWRYHUODLGPRYHPHQW
H[WHUQDOZRUNRIIVHW
%=6
%&6
.LQHPDWLFVWUDQVIRUPDWLRQ
5HIHUHQFHSRLQWRIIVHW
0&6
Machine data
The behavior of position displays (HMI) and position values in system variables is specified
via the following machine data:
MD24020 $MC_FRAME_SUPPRESS_MODE, bit<n> = <value> (positions during frame
suppression)
Bit
Val
ue
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
727
Val
ue
Meaning
Programming
Com
mand
Meaning
G53:
G153:
SUPA:
Implicit preprocessing stop and non-modal suppression of the frames as for G53 and
G135 plus following frames:
Handwheel offsets (DRF)
Overlaid movement
External work offset
G500:
Modal activation of the G500 frame. The G500 frame should normally be a zero frame.
DRFOF:
10.5.5
10.5.5.1
Overview
The following frames are available:
Settable frames (G500, G54 ... G57, G505 ... G599)
Grinding frames (GFRAME0 ... GFRAME100)
Basic frames
Programmable frame
System frames
728
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.5.2
Machine data
Channel-specific settable frames
The number of channel-specific settable frames is set with the following machine data:
MD28080 $MC_MM_NUM_USER_FRAMES = <number>
System variable index n = 0, 1, 2, ... <number> - 1
NCU-global settable frames
The number of NCU-global settable frames is set with the following machine data:
MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES = <number>
System variable index n = 0, 1, 2, ... <number> - 1
If the machine data has a value > 0, there are no channel-specific settable frames. The machine
data to set the channel-specific settable frames is then not evaluated.
System variables
$P_UIFR[<n>] (settable frames of the data management)
System variable $P_UIFR[<n>] can be used to read and write the settable frames of the data
management. The new values are not immediately active in the channel when writing a settable
frame of the data management. The activation in the channel only takes effect with the
programming of a work offset G500, G54...G599.
For NCU-global frames, the changed settable frame of the data management is active in each
channel of the NCU which executes a G500, G54..G599 command.
The settable frames in the data management are also stored during a data backup.
$P_IFRAME (active settable frame)
System variable $P_IFRAME can be used to read and write the settable frame active in the
channel. The new values are immediately active in the channel when writing the settable frame.
In the case of NCU-global settable frames, the changed active frame acts only in the channel
in which the new values were programmed. If the changed NCU-global settable frame is to be
active in all channels of the NCU, the settable frame active in the channel and the
corresponding settable frame of the data management must be written together:
$P_UIFR[<n>] = $P_IFRAME = <new value>
$P_UIFR[<n>] (settable frame in the data management)
$P_IFRAME (settable frame active in the channel)
For the changed settable frame to take effect in another channel, it must be activated in this
channel with the appropriate command, e.g. G54.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
729
...
...
99
99
Programming
A channel-specific settable frame of the data management $P_UIFR[<n>] becomes the
settable frame $P_IFRAME active in the channel through the appropriate command (G54 ...
G57, G505 ... G599 and G500).
Command
G500
$P_UIFR[0]
G54
$P_UIFR[1]
G55
$P_UIFR[2]
G56
$P_UIFR[3]
G57
$P_UIFR[4]
G505
$P_UIFR[5]
...
...
G599
$P_UIFR[99]
Supplementary conditions
Writing of settable frames through HMI/PLC
Only the settable frames of the data management can be written from the HMI or the PLC user
program.
10.5.5.3
Machine data
Channel-specific grinding frames
The number of channel-specific grinding frames is set with the following machine data:
730
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
System variables
$P_GFR[<n>] (grinding frames of the data management)
System variable $P_GFR[n] can be used to read and write the grinding frames of the data
management. The new values are not immediately active in the channel when writing a grinding
frame. The activation in the channel only takes effect with the programming of the appropriate
command GFRAME0...GFRAME100. For NCU-global frames, the changed frame only becomes
active in those channels of the NCU, which execute a GFRAME0 ... GFRAME100 command.
The grinding frames in the data management are also stored during a data backup.
$P_GFRAME (active grinding frame)
System variable $P_GFRAME can be used to read and write the grinding frame active in the
channel. The new values are immediately active in the channel when writing the active grinding
frame.
In the case of NCU-global settable frames, the changed frame acts only in the channel in which
the new frame values were programmed.
If the changed NCU-global settable frame is to be active in all channels of the NCU starting
from one channel, the settable frame active in the channel and the settable frame in the data
management must be written together:
$P_GFR[<n>] = $P_GFRAME = <new value>
$P_GFR[<n>] (grinding frame of the data management)
$P_GFRAME (grinding frame active in the channel)
For the changed grinding frame to take effect in another channel, it must be activated in this
channel with the appropriate command GFRAME<n>.
$P_GFRNUM (number of the active grinding frame)
System variable $P_GFRNUM can be used to read the index <n> of the grinding frame of the
data management active in the channel:
Grinding frame active in the channel $P_GFRAME == $P_GFR[ $P_GFRNUM ]
$P_GFRNUM
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
731
...
...
99
99
Programming
A channel-specific grinding frame of the data management $P_GFR[<n>] becomes the
grinding frame $P_GFRAME active in the channel through the appropriate command
(GFRAME0 ... GFRAME100).
Command
GFRAME0
$P_GFR[ 0 ]
GFRAME1
$P_GFR[ 1 ]
...
...
GFRAME100
$P_GFR[ 99 ]
Supplementary conditions
Writing of grinding frames through HMI/PLC
Only the grinding frames of the data management can be written from the HMI or the PLC user
program.
10.5.5.4
Machine data
Number of channel-specific basic frames
The number of channel-specific basic frames is set with the following machine data:
MD28081 $MC_MM_NUM_BASE_FRAMES = <number>
System variable index n = 0, 1, 2, ... <number> - 1
System variables
$P_CHBFR[<n>] (channel-specific basic frames of the data management)
System variable $P_CHBFR[<n>] can be used to read and write the channel-specific basic
frames of the data management. The new values are not immediately active in the channel
when writing a channel-specific basic frame. The activation in the channel only takes effect
with the programming of the appropriate command G500, G54...G599.
The channel-specific basic frames in the data management are also stored during a data
backup.
732
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Supplementary conditions
Writing of grinding frames through HMI/PLC
Only the grinding frames of the data management can be written from the HMI or the PLC user
program.
Basic frames can be read and written via part programs, via the OPI (only data management
frames and from the PLC.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
733
10.5.5.5
Machine data
Number of NCU-global basic frames
The number of NCU-global basic frames is set with the following machine data:
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES = <number>
System variable index n = 0, 1, 2, ... <number> - 1
System variables
$P_NCBFR[<n>] (NCU-global basic frames of the data management)
System variable $P_NCBFR[<n>] can be used to read and write the NCU-global basic frames
of the data management. The new values are not immediately active in the channel when
writing an NCU-global basic frame. The activation in the channel only takes effect with the
programming of the appropriate command G500, G54...G599.
The NCU-global basic frames in the data management are also stored during a data backup.
$P_NCBFRAME[<n>] (current NCU-global basic frames)
System variable $P_NCBFRAME[<n>] can be used to read and write the active NCU-global
basic frames. When writing an active NCU-global basic frame, the new values take effect
immediately through the recalculation of the active complete basic frame $P_ACTBFRAME.
If the changed NCU-global basic frame is to be active in all channels of the NCU starting from
one channel, the NCU-global basic frame active in the channel and the NCU-global frame in
the data management must be written together:
$P_NCBFR[<n>] = $P_NCBFRAME = <new value>
$P_NCBFR[<n>] (NCU-global basic frame of the data management)
$P_NCBFRAME (NCU-global basic frame active in the channel)
For the changed NCU-global frame to take effect in another channel, it must be activated in
this channel with the appropriate command G500, G54..G599.
Programming
A channel-specific settable frame of the data management $P_UIFR[<n>] becomes the
settable frame $P_IFRAME active in the channel through the appropriate command (G54 ...
G57, G505 ... G599 and G500).
734
Command
G500
$P_CHBFR[ 0 ] : $P_NCBFR[0]
G54
$P_CHBFR[ 1 ] : $P_NCBFR[1]
G55
$P_CHBFR[ 2 ] : $P_NCBFR[2]
G56
$P_CHBFR[ 3 ] : $P_NCBFR[3]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.5.6
Command
G57
$P_CHBFR[ 4 ] : $P_NCBFR[4]
G505
$P_CHBFR[ 5 ] : $P_NCBFR[5]
...
...
G599
$P_CHBFR[ 99 ] : $P_NCBFR[99]
Function
All active NCU-global and channel-specific basic frames are combined into the complete basic
frame $P_ACTBFRAME:
$P_ACTBFRAME = $P_NCBFRAME[0] : ... : $P_NCBFRAME[<n>] :
$P_CHBFRAME[0] : ... : $P_CHBFRAME[<n>]
%16
7%
)5
$0
3B&+%)5$0(>Q!@
3
B$
&
3B&+%)5$0(>@
3B1&%)5$0(>Q!@
3B1&%)5$0(>@
%.6
Machine data
Reset response
Which basic frames are active after a reset (channel reset, end of program reset or Power On)
is set via the machine data:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
735
$P_NCBFRAME[0] :
$P_NCBFRAME[7]
Programming
Basic frame masks
The basic frames that are linked to form the complete basic frame are selected via the basic
frame masks $P_NCBFRMASK and $P_CHBFRMASK.
The appropriate basic frame is selected by setting a bit in the basic frame mask:
$P_NCBFRMASK, bit 0, 1, 2, ... n $P_NCBFRAME[0, 1, 2, ... n]
$P_CHBFRMASK, bit 0, 1, 2, ... n $P_NCHFRAME[0, 1, 2, ... n]
The basic frame masks $P_NCBFRMASK and $P_CHBFRMASK can only be read/written in the
NC program. The basic frame masks can be read via the OPI.
After writing a basic frame mask, the active complete basic frame $P_ACTBFRAME and
complete frame $P_ACTFRAME are recalculated.
Example
10.5.5.7
Program code
Comment
$P_NCBFRMASK = 'H81'
736
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
MIRROR
Mirrorings of a geometry axis were previously (up to SW-P4) related to a defined reference
axis only using the machine data:
MD10610 $MN_MIRROR_REF_AX
(reference axis for the mirroring).
From the user's point of view, this definition is difficult to understand. When mirroring the z
axis, the display showed that the x axis was mirrored and the y axis had been rotated through
180 degrees. When mirroring two axes this became even more complex and it was no longer
easy to understand, which axes had been mirrored and, which had not.
As of SW P5, there is the option to clearly display the mirroring of an axis. Mirroring is then
not mapped to mirroring of a reference axis and rotations of other axes.
This setting can be configured using:
MD10610 $MN_MIRROR_REF_AX = 0
MIRROR and AMIRROR are used to expand the programming of the programmable frame.
Previously, the specified value of the coordinate axis, e.g. the value 0 for MIRROR X0 was not
evaluated, but rather the AMIRROR had a toggle function, i.e. MIRROR X0 activates mirroring
and an additional AMIRROR X0 deactivates it. MIRROR always has an absolute effect and
AMIRROR an additive effect.
The
MD10612 $MN_MIRROR_TOGGLE = 0 ("Mirror Toggle")
machine data setting can be used to define that the programmed values are evaluated.
A value of 0, as inAMIRROR X0, deactivates the mirroring of the axis, and values not equal
to 0 cause the axis to be mirrored if it is not already mirrored.
Reading or writing mirroring component-by-component is independent of the machine data:
MD10612 $MN_MIRROR_TOGGLE
A value = 0 means that the axis is not mirrored and a value = 1 means that the axis will always
be mirrored, irrespective of whether it has already been mirrored or not.
$P_NCBFR[0,x,mi]=1
$P_NCBFR[0,x,mi]=0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
737
G58 X20
10.5.5.8
TRANS X10
10
ATRANS X10
Unchanged
alt_fine + 10
CTRANS(X,10)
10
CTRANS()
CFINE(X,10)
10
$P_PFRAME[X,TR] = 10
10
Unchanged
$P_PFRAME[X,FI] = 10
Unchanged
10
G58 X10
10
Unchanged
G59 X10
Unchanged
10
Machine data
Parameterization of the channel-specific system frames
Only channel-specific system frames whose system functions are actually used should be
configured for memory space reasons.
Per channel, each system frame occupies approx. 1 KB static and approx. 6 KB dynamic
memory.
The channel-specific system frames are parameterized in the following machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK, bit<n>
Bit
738
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10
11
System variables
Channel-specific system frames of the data management
The channel-specific system frames of the data management can be read and written via the
following frame variables:
System variable
$P_SETFR
$P_EXTFR
$P_PARTFR
$P_TOOLFR
$P_WPFR
$P_CYCFR
$P_TRAFRAME
$P_ISO1FR
$P_ISO2FR
$P_ISO3FR
$P_ISO4FR
$P_RELFR
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
739
Note
Cycle programming
The frame variables of the system frames are only for the cycle programming. Therefore, in
NC programs the system frames should not be written directly by the user, but rather only via
system functions such as TOROT, PAROT, etc.
Channelspecific active system frames
System variables of the active channel-specific system frames:
System variable
$P_SETFRAME
$P_EXTFRAME
$P_PARTFRAME
$P_TOOLFRAME
$P_WPFRAME
$P_CYCFRAME
$P_TRAFRAME
$P_ISO1FRAME
$P_ISO2FRAME
$P_ISO3FRAME
$P_ISO4FRAME
$P_RELFRAME
If a channel-specific system frame of the data management is not parameterized, the following
applies for the corresponding active system frame: $P_<system frame> == zero frame.
Channel-specific active SZS (ACS) complete frame
The system variable $P_ACSFRAME is used to read which system frames form the SZS (ACS)
coordinate system. The specification is made via the machine data described above. See
Subsection "Machine data" > "Parameterization of the SZS (ACS) coordinate system"
10.5.6
10.5.6.1
740
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
$P_UIFR[1] = CROT(x,10,y,20,z,30)
G54
TRANS a10
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
741
Comment
GEOAX(1, a)
; a becomes x axis;
$P_ACTFRAME=CROT(x,10, y,20,z,30):CTRANS(x10).
742
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Program code
Comment
TRAORI
TRAFOOF
10.5.6.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
743
TRANSMIT
\
&
Transmit expansions:
The machine data below can be used to take the axial complete frame of the TRANSMIT rotary
axis, i.e., the translation, fine offset, mirroring and scaling, into account in the transformation:
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 1
MD24955 $MC_TRANSMIT_ROT_AX_FRAME_2 = 1
A rotary axis offset can, for example, be entered by compensating the oblique position of a
workpiece in a frame within a frame chain. As a rule, this offset can also be included in the
transformation as an offset in the rotary axis. A c axis offset, as in the figure above, then leads
to corresponding x and y values.
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 2
MD24955 $MC_TRANSMIT_ROT_AX_FRAME_2 = 2
With this setting, the axial offset of the rotary axis is taken account of in the transformation up
to the SZS. The axial offsets of the rotary axis included in the SZS frames are entered into the
transformation frame as rotation. This setting is only effective if the transformation frame has
been configured.
Frame expansions:
The expansions described below are only valid for the following machine data settings:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
The selection of transformation TRANSMIT produces a virtual geometry axis, coupled by way
of the rotary axis, which is merely included in the contour frame but does not have a reference
to an axial frame. The geometric value results from the rotation of a rotary axis. All other
geometry axes accept their axial components when the transformation is selected.
Translations:
744
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
; TRAFRAME, SETFRAME
$MC_CHSFRAME_RESET_MASK='H41'
$MC_CHSFRAME_POWERON_MASK='H41'
$MN_FRAME_GEOAX_CHANGE_MODE=1
$MC_RESET_MODE_MASK='H4041'
;$MC_RESET_MODE_MASK='H41'
;$MC_GCODE_RESET_VALUES[7]=2
$MC_GCODE_RESET_VALUES[7]=1
$MN_MM_NUM_GLOBAL_USER_FRAMES=0
$MN_MM_NUM_GLOBAL_BASE_FRAMES=3
$MC_MM_NUM_USER_FRAMES=10
; from 5 to 100
$MC_MM_NUM_BASE_FRAMES=3
; from 0 to 8
$MN_NCBFRAME_RESET_MASK='HFF'
$MC_CHBFRAME_RESET_MASK='HFF'
$MN_MIRROR_REF_AX=0
$MN_MIRROR_TOGGLE=0
$MN_MM_FRAME_FINE_TRANS=1
; Fine offset
$MC_FRAME_ADD_COMPONENTS=TRUE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
745
$MC_TRAFO_TYPE_1=256
$MC_TRAFO_AXES_IN_1[0]=1
$MC_TRAFO_AXES_IN_1[1]=6
$MC_TRAFO_AXES_IN_1[2]=3
$MC_TRAFO_AXES_IN_1[3]=0
$MC_TRAFO_AXES_IN_1[4]=0
$MA_ROT_IS_MODULO[AX6]=TRUE;
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=6
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
$MC_TRANSMIT_BASE_TOOL_1[0]=0.0
$MC_TRANSMIT_BASE_TOOL_1[1]=0.0
$MC_TRANSMIT_BASE_TOOL_1[2]=0.0
$MC_TRANSMIT_ROT_AX_OFFSET_1=0.0
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_1=TRUE
$MC_TRANSMIT_ROT_AX_FRAME_1=1
746
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Part program:
; Frame settings
N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,c,4)
N830 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N840 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,c)
N850
N860 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,c,15)
N870
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
747
; Set frame
N1350 ROT RPL=-45
N1360 ATRANS X-2 Y10
N1370
; Four-edge roughing
N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm
N1400 X-10
N1410 Y10
N1420 X10
N1430 Y-10
N1440
; Tool change
N1460 G0 Z20 G40 OFFN=0
N1470 T3 D1 X15 Y-15
N1480 Z10 G41
N1490
; Four-edge finishing
N1510 G1 X10 Y-10
N1520 X-10
N1530 Y10
N1540 X10
N1550 Y-10
N1560
; Deselect frame
N2950 m30 N1580 Z20 G40
748
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
749
TRACYL
&
[
'LDPHWHUG
TRACYL expansions:
The machine data below can be used to take the axial complete frame of the TRACYL rotary
axis, i.e., the translation, fine offset, mirroring and scaling, into account in the transformation:
MD24805 $MC_TRACYL_ROT_AX_FRAME_1 = 1
MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 1
A rotary axis offset can, for example, be entered by compensating the oblique position of a
workpiece in a frame within a frame chain. As a rule, this offset can also be included in the
transformation as an offset in the rotary axis or as a y offset. A c axis offset, as in the figure
above, then leads to corresponding x and y values.
MD24805 $MC_TRACYL_ROT_AX_FRAME_1 = 2
750
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
; TRAFRAME, SETFRAME
$MC_CHSFRAME_RESET_MASK = 'H41'
$MC_CHSFRAME_POWERON_MASK = 'H41'
$MN_FRAME_GEOAX_CHANGE_MODE = 1
$MC_RESET_MODE_MASK = 'H4041'
;$MC_RESET_MODE_MASK = 'H41'
;$MC_GCODE_RESET_VALUES[7] = 2
$MC_GCODE_RESET_VALUES[7] = 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
751
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
$MC_MM_NUM_USER_FRAMES = 10
; from 5 to 100
$MC_MM_NUM_BASE_FRAMES = 3
; from 0 to 8
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MN_MIRROR_REF_AX = 0
$MN_MIRROR_TOGGLE = 0
$MN_MM_FRAME_FINE_TRANS = 1
; Fine offset
$MC_FRAME_ADD_COMPONENTS = TRUE
Part program:
;Simple traversing test with groove side offset
N450 G603
N460
; Frame settings
N500 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4)
752
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
; Transformation ON
N780 TRACYL(40.)
N790
N800 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N810 setal(61000)
N820 endif
N830 if $P_CHBFR[0] <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N840 setal(61000)
N850 endif
N860 if $P_IFRAME <>
TRANS(X,1,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N870 setal(61000)
N880 endif
N890 if $P_UIFR[1] <>
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
753
; Transformation off
N1180 TRAFOOF
N1190
N1200 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,15)
N1210 setal(61000)
N1220 endif
N1230 if $P_BFRAME <> $P_CHBFR[0]
N1240 setal(61000)
N1250 endif
N1260 if $P_IFRAME <>
TRANS(X,11,Y,2,Z,3,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1270 setal(61000)
N1280 endif
754
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
TRAANG
Frame expansions:
The expansions described below are only valid for the following machine data settings:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
Translations:
When selecting TRAANG, translations of the virtual axis are deleted.
Rotations:
Rotation before the transformation is taken over.
Mirroring:
Mirrorings of the virtual axis are taken over.
Scaling:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
755
; SETFRAME
$MC_CHSFRAME_RESET_MASK = 'H41'
$MC_CHSFRAME_POWERON_MASK = 'H41'
$MN_FRAME_GEOAX_CHANGE_MODE = 1
$MC_RESET_MODE_MASK = 'H4041'
;$MC_RESET_MODE_MASK = 'H41'
;$MC_GCODE_RESET_VALUES[7] = 2
$MC_GCODE_RESET_VALUES[7] = 1
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
$MC_MM_NUM_USER_FRAMES = 10
; from 5 to 100
$MC_MM_NUM_BASE_FRAMES = 3
; from 0 to 8
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MN_MIRROR_REF_AX = 0
$MN_MIRROR_TOGGLE = 0
$MN_MM_FRAME_FINE_TRANS = 1
; Fine offset
$MC_FRAME_ADD_COMPONENTS = TRUE
; Inclined axis
$MC_TRAFO_AXES_IN_1[1] = 3
; Axis is parallel to z
$MC_TRAFO_AXES_IN_1[2] = 2
$MC_TRAFO_AXES_IN_1[3] = 0
$MC_TRAFO_AXES_IN_1[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
756
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Part program:
; Frame settings
N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4,c,5)
N830 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N840 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,c)
N850
N860 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,b,40,c,15)
N870
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
757
758
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
; Set frame
N1350 ROT RPL=-45
N1360 ATRANS X-2 Y10
N1370
; Four-edge roughing
N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm
N1400 X-10
N1410 Y10
N1420 X10
N1430 Y-10
N1440
; Tool change
N1460 G0 Z20 G40 OFFN=0
N1470 T3 D1 X15 Y-15
N1480 Z10 G41
N1490
; Four-edge finishing
N1510 G1 X10 Y-10
N1520 X-10
N1530 Y10
N1540 X10
N1550 Y-10
N1560
; Deselect frame
N1580 Z20 G40
N1590 TRANS
N1600
N1610 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,CAX,10,B,40,C,15)
N1620 setal(61000)
N1630 endif
N1640 if $P_BFRAME <> $P_CHBFR[0]
N1650 setal(61000)
N1660 endif
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
759
10.5.6.3
760
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Rotations in active frames, which rotate coordinate axes with no geometry axes,
are deleted from the active frames.
Shear angles in the active frames are orthogonalized.
Scalings of all geometry axes in the active frames are set to value 1.
setal(61000)
endif
10.5.6.4
Mapped Frames
Overview
The "mapped frames" function supports the cross-channel consistent change of axial frames
inside channel-specific or global data management frames. Using axial machine data, it is
defined between which axes mapping is realized.
If frame mapping is, e.g. active for machine axes AX1 and AX4, and the axial frame of axis
AX1 is changed in a channel-specific data management frame (e.g. basic frame $P_CHBFR[x])
(translation, fine translation, scaling, mirroring), then this frame data for AX1 and AX4 is
transferred to all channel-specific data management frames (e.g. basic frame $P_CHBFR[x])
in all channels in which they are parameterized as channel axes.
Frame mapping is not realized when changing the axial frame data for the rotation.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
761
Preconditions
The following requirements must be fulfilled for frame mapping:
The data management frames used for mapping must be configured:
MD28083 $MC_MM_SYSTEM_DATAFRAME_MASK (system frames)
Channel-specific data management frames must be explicitly enabled for mapping:
MD10616 $MN_MAPPED_FRAME_MASK (enable frame mapping)
Note
For global data management frames, mapping is always carried out. An enable is not
required.
Parameterization
The parameterization of the mapping relationships is realized in the axis-specific machine data:
MD32075 $MA_MAPPED_FRAME[<AXn>] = "AXm"
AXn, AXm: Machine axis name with n, m = 1, 2, ... max. number of machine axes
Mapping rules
The following rules apply for frame mapping:
The mapping is bidirectional.
An axial frame can be written for AXn or AXm. The frame data is always accepted and
taken for the other axis.
All parameterized mapping relationships are always evaluated.
When writing an axial frame of axes AXn, all mapping relationships are evaluated and the
frame data accepted for all directly and indirectly involved axes.
The mapping is global across all channels.
When writing an axial frame of axis AXn or AXm for a channel-specific frame, the frame
data is accepted for all channels in which AXn or AXm are parameterized as channel axes.
When writing an axial frame using geometry or special axis name, the mapping relationships
are evaluated via the machine axes currently assigned to the geometry or special axis.
Mapping is frame-specific.
When writing an axial frame, the frame data is only mapped within the same channelspecific or global data management frame.
Note
Data consistency
The user / machine manufacturer is solely responsible for ensuring that after a frame is
written, consistent frame data is available in all channels, e.g. by using channel
synchronization.
762
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
&KDQQHO
&KDQQHO
&KDQQHO
&KDQQHO
&KDQQHOD[HV
*HRPHWU\
VSHFLDOD[LV
0DFKLQH
D[LV
$;
$;
$;
$;
$;
$;
$;
$;
$;
$;
$;
$;
$;
<
$;
<
$;
Description
$;
([SOLFLWPDSSLQJ
,PSOLFLWPDSSLQJ
Parameterization: $MA_
MAPPED_FRAME[<AX1>] = "AX4"
AX1(K1) AX4(K2)
MAPPED_FRAME[<AX1>] = "AX4"
MAPPED_FRAME[<AX4>] = "AX7"
MAPPED_FRAME[<AX1>] = "AX1"
AX1(K1+K2+K3)
MAPPED_FRAME[<AX1>] = "AX4"
AX1(K1+K2) AX4(K3+K4)
MAPPED_FRAME[<AX4>] = "AX7"
channel axes can be written in the same channel: MAPPED_FRAME[<AX7>] = "AX8"
MAPPED_FRAME[<AX8>] = "AX5"
AX4(K1) AX7(K2) AX8(K2) AX5(K1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
763
Example
The following channels and channel axes are parameterized at a control:
Channel 1
Z: Geometry axis
AX1: Machine axis of geometry axis Z
Channel 2
Z: Geometry axis
AX4: Machine axis of geometry axis Z
The zero point of the Z axis should always be the same in both channels:
Mapping relationship: $MA_MAPPED_FRAME[AX1] = "AX4"
Programming in the part program
Channel 1
Channel 2
...
...
N130 G54
N230 G54
N150
N250
SETAL(61000)
SETAL(61000)
N160 ENDIF
N260 ENDIF
...
...
Description:
N100 / N200
764
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
N120 / N220
N130 / N230
N140 / N240
10.5.7
10.5.7.1
Inverse frame
To round off the frame arithmetic, the part program provides a function which calculates the
inverse frame from another frame. The chaining between a frame and its inverse frame always
produces a zero frame.
FRAME INVFRAME( FRAME ) zero frame
Frame inversion is an aid for coordinate transformations. Measuring frames are usually
calculated in the WCS. If you should wish to transform this calculated frame into another
coordinate system, i.e. the calculated frame should be entered into any desired frame within
the frame chain, then the calculations below should be used.
The new complete frame is a chain of the old complete frame and the calculated frame.
$P_ACTFRAME = $P_ACTFRAME : $AC_MEAS_FRAME
Application example:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
765
Comment
; Type
$TC_DP2[1,1]=20.
; 0
$TC_DP3[1,1]= 10.
$TC_DP4[1,1]= 0.
; (y)
$TC_DP5[1,1]= 0.
; (x)
$TC_DP6[1,1]= 2.
; Radius
T1 D1
g0 x0 y0 z0 f10000
G54
$P_CHBFRAME[0] = CROT(Z,45)
$P_IFRAME[X,TR] = -SIN(45)
$P_IFRAME[Y,TR] = -SIN(45)
$P_PFRAME[Z,TR] = -45
$AC_MEAS_VALID = 0
G1 X-1 Y-3
$AC_MEAS_LATCH[0] = 1
G1 X5 Y-3
$AC_MEAS_LATCH[1] = 1
G1 X-4 Y4
$AC_MEAS_LATCH[2] = 1
G1 X-4 Y1
$AC_MEAS_LATCH[3] = 1
$AA_MEAS_SETPOINT[X] = 0
$AA_MEAS_SETPOINT[Y] = 0
$AA_MEAS_SETPOINT[Z] = 0
$AC_MEAS_CORNER_SETANGLE = 90
$AC_MEAS_WP_SETANGLE = 30
$AC_MEAS_ACT_PLANE = 0
$AC_MEAS_T_NUMBER = 1
; Select tool
$AC_MEAS_D_NUMBER = 1
$AC_MEAS_TYPE = 4
RETVAL = MEASURE()
IF RETVAL <> 0
SETAL(61000 + RETVAL)
ENDIF
IF $AC_MEAS_WP_ANGLE <> 30
SETAL(61000 + $AC_MEAS_WP_ANGLE)
ENDIF
766
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
IF $AC_MEAS_CORNER_ANGLE <> 90
SETAL(61000 + $AC_MEAS_CORNER_ANGLE)
ENDIF
; Transform measured frame and write to $P_SETFRAME so that a complete frame is created,
; which linked from the old total frame results in the measurement frame.
$P_SETFRAME = $P_ACTFRAME : $AC_MEAS_FRAME : INVFRAME($P_ACTFRAME) : $P_SETFRAME
$P_SETFR = $P_SETFRAME
G1 X0 Y0
G1 X10
Y10
X0
Y0
M30
10.5.7.2
Programming
Parameter 1:
Type: FRAME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
767
Type: STRING
Function value:
Type: INT
Value:
0
1
2
3
Significance:
OK
Specified target (string) is wrong
Target frame is not configured
Rotation in frame is not permitted
The ADDFRAME() function calculates the target frame, which is specified by the STRING. The
target frame is calculated in such a way that the new complete frame appears as a chain of
the old complete frame and the transferred frame, e.g.:
ERG = ADDFRAME(TMPFRAME,"$P_SETFRAME")
The new complete frame is calculated to be:
$P_ACTFRAMEnew = $P_ACTFRAMEold : TMPFRAME
If a current frame has been specified as a target frame, then the new complete frame becomes
active at the preprocessing stage. If the target frame is a data management frame, then the
frame is not operative until it is explicitly activated in the part program.
The function does not set any alarms, but returns the error codes via the return value. The
cycle can react according to the error codes.
10.5.8
Functions
10.5.8.1
768
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.8.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
769
10.5.8.3
Toolholder
Translations
With kinematics of type "P" and "M", the selection of a toolholder activates an additive frame
(table offset of the orientable toolholder) which takes into account the work offset as a result
of the rotation of the table. The work offset is entered in the system frame $P_PARTFR. In this
case the translatory component of this frame is overwritten. The other frame components are
retained.
The system frame $P_PARTFR must be enabled via the following machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK, bit 2 = 1 (system frame for TCARR and
PAROT)
Note
Alternatively, the offset can also parameterized via machine data to record the table offset:
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER = <number of the basic frame>
This option is only for compatibility reasons to older software versions. You are strongly
recommended not to use this procedure any longer.
A frame offset as a result of a toolholder change becomes effective immediately on selection
of TCARR=.... A change in the tool length, on the other hand, only becomes effective
immediately if a tool is active.
A frame rotation is not executed with the activation, or a rotation which is already active is not
changed. As in case T (only the tool can be rotated), the position of the rotary axes used for
the calculation is dependent on the command TCOFR/TCOABS and determined from the rotation
component of an active frame or from the $TC_CARR entries. Activation of a frame changes
the position in the workpiece coordinate system accordingly, without compensating motion by
the machine itself.
The ratios are shown in the figure below:
770
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3RVLWLRQRIWKHFRRUGLQDWHV\VWHP
DIWHU3$527
3RVLWLRQRIWKHWDEOH
DIWHUURWDWLRQ
With kinematics of type M (tool and table are each rotary around one axis), the activation of a
toolholder with TCARR simultaneously produces a corresponding change in the effective tool
length (if a tool is active) and the work offset.
Rotations
Depending on the machining task, it is necessary to take into account not only a work offset
(whether as frame or as tool length) when using a rotary toolholder or table, but also a rotation.
However, the activation of an orientable toolholder never leads directly to a rotation of the
coordinate system.
If only the tool can be rotated, a frame can be defined for it using TOFRAME or TOROT.
With rotary tables (kinematics types P and M), activation with TCARR similarly does not lead
to an immediate rotation of the coordinate system, i.e. even though the zero point of the
coordinate system is offset relative to the machine, while remaining fixed relative to the zero
point of the workpiece, the orientation remains unchanged in space.
If the coordinate system needs to be fixed relative to the workpiece, i.e. not only offset relative
to the original position but also rotated according to the rotation of the table, then PAROT can
be used to activate such a rotation in a similar manner to the situation with a rotary tool.
With PAROT, the translations, scalings and mirroring in the active frame are retained, but the
rotation component is rotated by the rotation component of an orientable toolholder
corresponding to the table. The entire programmable frame including its rotation component
remains unchanged.
The rotation component that describes the rotation of the table is then either entered in the
system frame $PARTFR or in the basic frame parameterized with MD20184
$MC_TOCARR_BASE_FRAME_NUMBER:
$MC_MM_SYSTEM_FRAME_MASK, bit 2 = <value>
Value
Meaning
As with the note made in the description of the table offset, the second alternative here is not
recommended for use with new systems.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
771
772
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
$X[LOLDU\SODQH
Programming with MOVT is independent of the existence of a toolholder that can be oriented.
The direction of the motion is dependent on the active plane.
It runs in the directions of the vertical axes, i.e. with G17 in Z direction, with G18 in Y direction
and with G19 in X direction. This applies when no orientable toolholder is active and for the
case of an orientable toolholder without rotary tool or with a rotary tool in its basic setting.
MOVT acts similarly for active orientation transformation (3-, 4-, 5-axis transformation).
If in a block with MOVT the tool orientation is changed simultaneously (e.g. active 5-axis
transformation by means of simultaneous interpolation of the rotary axes), the orientation at
the start of the block is decisive for the direction of motion of MOVT.
With an active 5-axis transformation, the path of the tool center point (TCP) is not affected by
the change of orientation, i.e. the path remains a straight line and its direction is determined
by the tool orientation at the start of the block.
If MOVT is programmed, linear or spline interpolation must be active (G0,G1, ASPLINE,
BSPLINE, CSPLINE). Otherwise, an alarm is produced.
If a spline interpolation is active, the resultant path is generally not a straight line, since the
end point calculated by MOVT is treated as if it had been programmed explicitly with X, Y, Z.
A block with MOVT must not contain any programming of geometry axes (alarm 14157).
Y...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
773
&
, ,
Inclined plane
Solid angle
New G17' plane parallel to the inclined plane:
1. Rotation of x around y through the angle
2. Rotation of y around x' through the angle
For this reason, the language commands ROTS, AROTS and CROTS are used, with which the
rotations can be immediately described as solid angles.
The orientation of a plane in space is defined unambiguously by specifying two solid angles.
The third solid angle is derived from the first two. Therefore, a maximum of two solid angles
may be programmed, e.g. in the form ROTS X10 Y15. If a third solid angle is specified, an
alarm will be triggered.
It is permissible to specify a single solid angle. The rotations which are performed with ROTS
or AROTS in this case are identical to those for ROT and AROT.
An expansion of the existing functionality arises only in cases where exactly two solid angles
are programmed.
The two programmed axes define a plane, the non-programmed axis defines the related third
axis of a right-hand coordinate system. Which axis is first and which second is then
unambiguously defined for both programmed axes (the definition corresponds to those found
in the plane definition of G17/G18/G19). The angle programmed with the axis letter of an axis
774
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
775
776
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
The new X direction is chosen to lie in the X-Z plane of the old coordinate system. In this
setting, the angle difference between the old and new Y axis will be minimal.
The new Y direction is chosen to lie in the Y-Z plane of the old coordinate system. In this setting
the angle difference between the old and new X axis will be minimal.
The value chosen is the mean value of the two settings, which would have been chosen with
1 and 2.
TOFRAMEY
TOFRAMEX
TOROT, TOROTZ
TOROTY
TOROTX
Tool direction
(vertical axis)
Secondary axis
(horizontal axis)
Secondary axis
(ordinate)
Example
N90
$SC_TOFRAME_MODE=1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
777
[[
The old and new X and X' coordinate axes coincide in the projection in the direction of the old
Z axis. The old and new Y and Y' coordinate axes form an angle of 8.13 degrees (right angles
are generally not retained in the projection).
SD42980 $SC_TOFRAME_MODE == 2:
Y and Y' coincide and X and X' form an angle of 8.13 degrees.
SD42980 $SC_TOFRAME_MODE == 3:
X and X' as well as Y and Y' each form an angle of 4.11 degrees.
Note
The named angles (8.13 and 4.11 degrees) are the angles, which the projections of the axes
form in the X-Y plane. They are not the spatial angles of these axes.
TCARR (request toolholder) and PAROT (align workpiece coordinate system on the workpiece)
TCARR uses the basic frame identified by following machine data:
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER.
A system frame can be created for TCARR and PAROT alone, in order to avoid conflicts with
systems, which already use all the basic frames.
PAROT, TOROT and TOFRAME have previously changed the rotation component of the
programmable frames. In this case, it is not possible to shut down PAROT or TOROT separately.
On RESET, the programmable frame is deleted, which means that after changing the operating
mode to JOG, the rotation component of PAROT and TOROT is no longer available. The user
must also have unrestricted access to the programmable frame. Frames produced by PAROT
and TOROT must be able to be archived and reloaded via data backup.
778
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
PAROTOF
PAROTOF is the switch off command for PAROT. This command deletes the rotations in the
system frame for PAROT. In so doing, the rotations in the current $P_PARTFRAME and in the
data management frame $P_PARTFR are deleted. The position of the coordinate system is
then recreated according to TCARR. PAROTOF is in the same G group as PAROT and appears
therefore in the G code display.
TOROT (align Z axis of the WCS by rotating the frame parallel to the tool orientation) and TOFRAME
(ditto.)
The system frame for TOROT and TOFRAME is activated via the following machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK, bit 3 = 1
This system frame is located before the programmable frame in the frame chain.
The SZS coordinate system is located before the programmable frame.
TOROTOF
TOROTOF is the switch off command for TOROT and TOFRAME. This command deletes the
corresponding system frame. The current $P_TOOLFRAME and the data management frame
$P_TOOLFR are also deleted. TOROTOF is in the same G group as TOROT and TOFRAME and
appears therefore in the G code display.
Example
Use of an orientable toolholder with resolved kinematics.
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]= 13
; Tool length 13 mm
; Definition of toolholder 1:
N30 $TC_CARR1[1] = 0
N40 $TC_CARR2[1] = 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
779
N60 $TC_CARR4[1] = 0
N70 $TC_CARR5[1] = 0
N90 $TC_CARR7[1] = 1
N100 $TC_CARR8[1] = 0
N110 $TC_CARR9[1] = 0
N120 $TC_CARR10[1] = 0
N130 $TC_CARR11[1] = 1
N140 $TC_CARR12[1] = 0
N150 $TC_CARR13[1] = 30
N170 $TC_CARR15[1] = 0
N180 $TC_CARR16[1] = 0
N190 $TC_CARR17[1] = 0
N200 $TC_CARR18[1] = 0
N210 $TC_CARR19[1] = 0
N220 $TC_CARR20[1] = 15
N230 $TC_CARR21[1] = A
N240 $TC_CARR22[1] = B
; Toolholder type
N280 PAROT
; Rotation of table
N290 TOROT
N290 X0 Y0 Z0
N300 G18 MOVT=AC(20)
N320 MOVT=-10
N330 PAROTOF
N340 TOROTOF
N400 M30
10.5.9
780
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programmable frame
With the end of the subprogram the programmable frame active before the subroutine call is
reactivated.
System frames
If the system frames are changed by the subprogram, the change remains effective even after
the end of the subprogram.
10.5.10
Data backup
Data block _N_CHANx_UFR is used to archive the system frames.
Machine data
MD28082 $MC_MM_SYSTEM_FRAME_MASK
should not have changed between saving and reintroducing the saved system frames. If it
has changed then it is possible that saved system frames could no longer be loaded.
In this case, the loading process triggers an alarm.
Data backup always takes place in accordance with the currently valid geometry axis
assignment, not in accordance with the axis configurations set in the machine data.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
781
10.5.11
782
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
10.5.12
10.5.12.1
POWER ON
Frame
Programmable frame:
$P_PFRAME
Deleted.
10.5.12.2
System frames:
Retained
$P_PARTFRAME, $P_SET
FRAME, $P_ISO1FRAME,
$P_ISO2FRAME,
$P_ISO3FRAME, $P_TOOL
FRAME, $P_WPFRAME, $P_TRA
FRAME, $P_ISO4FRAME, $P_RE
LFRAME, $P_CACFRAME
DRF offset
Deleted.
Mode change
System frames
The system frames are retained and remain active.
JOG mode
In JOG mode, the frame components of the current frame are only taken into account for the
geometry axes if a rotation is active. No other axis-specific frames are taken into account.
PLC and command axes
The response for PLC and command axes can be set via machine data:
MD32074 $MA_FRAME_OR_CORRPOS_NOTALLOWED (frame or HL correction is not
permissible)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
783
10.5.12.3
Meaning
System frame for actual value setting and scratching is active after RESET.
Is not evaluated.
Is not evaluated.
10
11
RESET response of the system frames of TCARR, PAROT, TOROT and TOFRAME
The RESET response of the system frames of TCARR, PAROT, TOROT and TOFRAME depends
on the G code RESET setting.
784
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Meaning
TCARR and PAROT system frames are retained as before the RESET.
MD20152 $MC_GCODE_RESET_MODE[51] = 0
- MD20150 $MC_GCODE_RESET_VALUES[51] = 1
PAROTOF
- MD20150 $MC_GCODE_RESET_VALUES[51] = 2
PAROT
MD20152 $MC_GCODE_RESET_MODE[51] = 1
TCARR and
PAROT are re
tained.
MD20152 $MC_GCODE_RESET_MODE[52] = 0
- MD20150 $MC_GCODE_RESET_VALUES[52] = 1
TOROTOF
- MD20150 $MC_GCODE_RESET_VALUES[52] = 2
TOROT
- MD20150 $MC_GCODE_RESET_VALUES[52] = 3
TOFRAME
MD20152 $MC_GCODE_RESET_MODE[52] = 1
TOROT and
TOFRAME are re
tained.
The complete basic frame results from the following additional machine data:
MD24002 $MC_CHBFRAME_RESET_MASK, bit<n> = 1
n: nth channel-specific basic frame is calculated into the chained complete
basic frame.
MD10613 $MN_NCBFRAME_RESET_MASK, bit<n> = 1
n: nth NCU-global basic frame is calculated into the chained complete basic
frame.
TCARR and PAROT are two independent functions, which describe the same frame. With
PAROTOF, the component of TCARR is not activated on RESET.
MD20152 $MC_GCODE_RESET_MODE[ ] (RESET response of G groups)
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
Deleted.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
785
System frames:
$P_PARTFRAME, $P_SETFRAME,
$P_ISO1FRAME, $P_ISO2FRAME,
$P_ISO3FRAME, $P_TOOLFRAME,
$P_WPFRAME, $P_TRAFRAME,
$P_ISO4FRAME, $P_RELFRAME,
$P_CACFRAME
MD24006 $MC_CHSFRAME_RESET_MASK
Retained
DRF offset
Retained
MD20150 $MC_GCODE_RESET_VALUES[ ]
10.5.12.4
Meaning
System frame for actual value setting and scratching is deleted during RESET.
10
11
786
Frame
Deleted.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Retained
System frames:
Retained
$P_PARTFRAME, $P_SETFRAME,
$P_ISO1FRAME, $P_ISO2FRAME,
$P_ISO3FRAME, $P_TOOLFRAME,
$P_WPFRAME, $P_TRAFRAME,
$P_ISO4FRAME, $P_RELFRAME,
$P_CACFRAME
10.5.12.5
Retained
DRF offset
Retained
Block search
Block search with calculation
Data management frames are also modified when carrying out a block search with calculation.
Cancellation of block search
If a block search is aborted with channel reset, then the following machine data can be used
to set that all data management frames are reset to the value they had before the block search:
MD28560 $MC_MM_SEARCH_RUN_RESTORE_MODE, bit<n>
Bit
Value
Meaning
All frames in the data management are restored.
In case of cascaded block searches, the frames are set to the status of the previous block
search.
SERUPRO
The "SERUPRO" function is not supported.
10.5.12.6
REPOS
There is no special treatment for frames. If a frame is modified in an ASUB, it is retained in the
program. On repositioning with REPOS, a modified frame is included, provided the modification
was activated in the ASUB.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
787
10.6
10.6.1
Overview
Definition
The term "workpiece-related actual-value system" designates a series of functions that permit
the user:
To use a workpiece coordinate system defined in machine data after powerup.
Features:
No additional operations are necessary.
Effective in JOG and AUTOMATIC modes
To retain the valid settings for the following after end of program for the next part program:
Active plane
Settable frame (G54-G57)
Kinematic transformation
Active tool offset
To change between work coordinate system and machine coordinate system via the user
interface.
To change the work coordinate system by operator action (e.g., changing the settable frame
or the tool offset).
10.6.2
Switchover to WCS
The change to the WCS via the user interface causes the axis positions relative to the origin
of the WCS to be displayed.
Switchover to MCS
The change to the MCS via the user interface causes the axis positions relative to the origin
of the MCS to be displayed.
788
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
)UDPHFKDLQ
:&6
)UDPHIRUF\FOHVSURJUDPPDEOH
IUDPHWUDQVIRUPDWLRQV
6=6
6\VWHPIUDPHIRU72527
72)5$0(ZRUNSLHFHV
*WR*VHWWDEOHIUDPH
FKDQQHOVSHFRU1&8JOREDO
%=6
&KDLQHGILHOGRIEDVLFIUDPHV
FKDQQHOVSHFDQGRU1&8JOREDO
&KDLQHGV\VWHPIUDPHVIRU3$52735(6(7
VFUDWFKLQJ]HURRIIVHWH[WHUQDO
+DQGZKHHO'5)RIIVHWVXSHULPSRVHGPRYHPHQW]HUR
RIIVHWH[WHUQDO
.LQHPDWLFWUDQVIRUPDWLRQ
%&6
0&6
+RPHSRVLWLRQRIIVHW
0&6 0DFKLQH&RRUGLQDWH6\VWHP
%&6 %DVLF&RRUGLQDWH6\VWHP
:&6 :RUNSLHFH&RRUGLQDWH6\VWHP
%=6 %DVLF=HUR6\VWHP
6=6 6HWWDEOH=HUR6\VWHP
For further information, see "H2: Auxiliary function outputs to PLC (Page 377)" and "W1: Tool
offset (Page 1363)".
References:
Programming Guide Fundamentals
Function Manual, Extended Functions; Kinematic Transformation (M1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
789
10.6.3
Special reactions
Overstore
Overstoring in RESET state of:
Frames (zero offsets)
Active plane
Activated transformation
Tool offset
immediately affects the actual-value display of all axes in the channel.
MD9440
If the HMI machine data
MD9440 ACTIVATE_SEL_USER_DATA
for the operator panel front is set, the entered values become active immediately in RESET
state.
When values are entered in the part-program execution stop state, they become effective when
program execution continues.
790
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Actual-value reading
If the actual value of $AA_IW is read in the WCS after activation of a frame (zero offset) or a
tool offset, the activated changes are already contained in the result read even if the axes have
not yet been traversed with the activated changes.
The actual values in the settable zero system (SZS) can be read from the part program for
each axis using the variable $AA_IEN[axis].
The actual values in the basic zero system (BZS) can be read from the part program for each
axis using the variable $AA_IBN[axis].
Actual-value display
The programmed contour is always displayed in the WCS.
The following offsets are added to the MCS:
Kinematic transformation
DRF offset/zero offset external
Active frame
Active tool offset of the current tool
Switchover by PLC
The actual values can be displayed in the WCS, SZS, BZS or MCS via the PLC. The PLC can
define, which coordinate system corresponds to the workpiece coordinate system on a
machine.
On MMC power-up the MCS is preset.
With the signal DB19 DBB0.7 "MCS/WCS switchover", it is also possible to switch from the
PLC to the WCS.
Transfer to PLC
Depending on machine data
MD20110 / MD20112, bit 1
, the auxiliary functions (D, T, M) are output to the PLC (or not) on selection of the tool length
compensation.
Note
If the WCS is selected from the PLC, an operator action can still be used to switch between
the WCS and MCS for the relevant mode.
However, when the mode and or area is changed, the WCS selected by the PLC is evaluated
and activated (see Section "K1: Mode group, channel, program operation, reset response
(Page 455)").
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
791
10.7
Restrictions
There are no supplementary conditions to note.
10.8
Examples
10.8.1
Axes
792
1. Machine axis: X1
2. Machine axis: Y1
3. Machine axis: Z1
4. Machine axis: B1
5. Machine axis: W1
6. Machine axis: C1
Linear axis
Linear axis
Linear axis
Rotary table (for turning for multiface machining)
Rotary axis for tool magazine (tool revolver)
(Spindle)
1. Geometry axis: X
2. Geometry axis: Y
3. Geometry axis: Z
1. Special axis: B
2. Special axis: WZM
1. spindle: S1/C
(1. channel)
(1. channel)
(1. channel)
(1. channel)
(1. channel)
(1. channel)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
<
6
:=0
%
;
=
Value
MD10000 AXCONF_MACHAX_NAME_TAB[0]
= X1
MD10000 AXCONF_MACHAX_NAME_TAB[1]
= Y1
MD10000 AXCONF_MACHAX_NAME_TAB[2]
= Z1
MD10000 AXCONF_MACHAX_NAME_TAB[3]
= B1
MD10000 AXCONF_MACHAX_NAME_TAB[4]
= W1
MD10000 AXCONF_MACHAX_NAME_TAB[5]
= C1
MD20050 AXCONF_GEOAX_ASSIGN_TAB[0]
=1
MD20050 AXCONF_GEOAX_ASSIGN_TAB[1]
=2
MD20050 AXCONF_GEOAX_ASSIGN_TAB[2]
=3
MD20060 AXCONF_GEOAX_NAME_TAB[0]
=X
MD20060 AXCONF_GEOAX_NAME_TAB[1]
=Y
MD20060 AXCONF_GEOAX_NAME_TAB[2]
=Z
MD20070 AXCONF_MACHAX_USED[0]
=1
MD20070 AXCONF_MACHAX_USED[1]
=2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
793
10.8.2
Machine data
Value
MD20070 AXCONF_MACHAX_USED[2]
=3
MD20070 AXCONF_MACHAX_USED[3]
=4
MD20070 AXCONF_MACHAX_USED[4]
=5
MD20070 AXCONF_MACHAX_USED[5]
=6
MD20080 AXCONF_CHANAX_NAME_TAB[0]
=X
MD20080 AXCONF_CHANAX_NAME_TAB[1]
=Y
MD20080 AXCONF_CHANAX_NAME_TAB[2]
=Z
MD20080 AXCONF_CHANAX_NAME_TAB[3]
=B
MD20080 AXCONF_CHANAX_NAME_TAB[4]
= WZM
MD20080 AXCONF_CHANAX_NAME_TAB[5]
= S1
MD30300 IS_ROT_AX[3]
=1
MD30300 IS_ROT_AX[4]
=1
MD30300 IS_ROT_AX[5]
=1
MD30310 ROT_IS_MODULO[3]
=1
MD30310 ROT_IS_MODULO[4]
=1
MD30310 ROT_IS_MODULO[5]
=1
MD30320 DISPLAY_IS_MODULO[3]
=1
MD30320 DISPLAY_IS_MODULO[4]
=1
MD20090 SPIND_DEF_MASTER_SPIND
=1
MD35000 SPIND_ASSIGN_TO_MACHAX[AX1]
=0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX2]
=0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX3]
=0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX4]
=0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX5]
=0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX6]
=1
Coordinate systems
794
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Machine data
Machine data
Value
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[0]
= X1
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[1]
= X2
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[2]
= X3
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[3]
= X4
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[4]
= X5
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[5]
= X6
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES
=1
MD28081 $MC_MM_NUM_BASE_FRAMES
=1
Value
Value
$MC_AXCONF_CHANAX_NAME_TAB[0]
=X
$MC_AXCONF_CHANAX_NAME_TAB[0]
=X
$MC_AXCONF_CHANAX_NAME_TAB[1]
=Y
$MC_AXCONF_CHANAX_NAME_TAB[1]
=Y
$MC_AXCONF_CHANAX_NAME_TAB[2]
=Z
$MC_AXCONF_CHANAX_NAME_TAB[2]
=Z
$MC_AXCONF_MACHAX_USED[0]
=1
$MC_AXCONF_MACHAX_USED[0]
=4
$MC_AXCONF_MACHAX_USED[1]
=2
$MC_AXCONF_MACHAX_USED[1]
=5
$MC_AXCONF_MACHAX_USED[2]
=3
$MC_AXCONF_MACHAX_USED[2]
=6
$MC_AXCONF_GEOAX_NAME_TAB[0]
=X
$MC_AXCONF_GEOAX_NAME_TAB[0]
=X
$MC_AXCONF_GEOAX_NAME_TAB[1]
=Y
$MC_AXCONF_GEOAX_NAME_TAB[1]
=Y
$MC_AXCONF_GEOAX_NAME_TAB[2]
=Z
$MC_AXCONF_GEOAX_NAME_TAB[2]
=Z
$MC_AXCONF_GEOAX_ASSIGN_TAB[0]
=1
$MC_AXCONF_GEOAX_ASSIGN_TAB[0]
=4
$MC_AXCONF_GEOAX_ASSIGN_TAB[1]
=2
$MC_AXCONF_GEOAX_ASSIGN_TAB[1]
=5
$MC_AXCONF_GEOAX_ASSIGN_TAB[2]
=3
$MC_AXCONF_GEOAX_ASSIGN_TAB[2]
=6
Comment
. . .
N100 $P_NCBFR[0] = CTRANS( x, 10 )
. . .
N130 $P_NCBFRAME[0] = CROT(X, 45)
. . .
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
795
Comment
. . .
N100 $P_NCBFR[0] = CTRANS( x, 10 )
. . .
. . .
10.8.3
Frames
Example 1
The channel axis is to become a geometry axis through geometry axis substitution.
The substitution is to give the programmable frame a translation component of 10 in the X axis.
The current settable frame is to be retained:
FRAME_GEOX_CHANGE_MODE = 1
$P_UIFR[1] = CROT(x,10,y,20,z,30) ; Frame is retained after geo axis substitution.
G54
TRANS a10
GEOAX(1, a)
; a becomes x axis.
; $P_ACTFRAME= CROT(x,10,y,20,z,30):CTRANS(x10)
Example 2
Channel axes 4, 5 and 6 become the geometry axes of a 5axis orientation transformation. The
geometry axes are thus all substituted before the transformation.
The current frames are changed when the transformation is activated.
The axial frame components of the channel axes, which become geometry axes, are taken
into account when calculating the new WCS. Rotations programmed before the transformation
are retained. The old WCS is restored when the transformation is deactivated.
The most common application will be that the geometry axes do not change before and after
the transformation and that the frames are to stay as they were before the transformation.
Machine data:
$MN_FRAME_GEOAX_CHANGE_MODE = 1
$MC_AXCONF_CHANAX_NAME_TAB[0] = "CAX"
796
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
TRAFOOF;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
797
10.9
Data lists
10.9.1
Machine data
10.9.1.1
Number
Identifier: $MM_
Description
9242
MA_STAT_DISPLAY_BASE
9243
MA_TU_DISPLAY_BASE
9244
MA_ORIAXES_EULER_ANGLE_NAME
9245
MA_PRESET_FRAMEIDX
9247
USER_CLASS_BASE_ZERO_OFF_PA
9248
USER_CLASS_BASE_ZERO_OFF_MA
9424
MA_COORDINATE_SYSTEM
9440
ACTIVE_SEL_USER_DATA
9449
WRITE_TOA_LIMIT_MASK
9450
MM_WRITE_TOA_FINE_LIMIT
9451
MM_WRITE_ZOA_FINE_LIMIT
SINUMERIK Operate
10.9.1.2
Number
Identifier: $MN_
Description
10000
AXCONF_MACHAX_NAME_TAB
10600
FRAME_ANGLE_INPUT_MODE
10602
FRAME_GEOAX_CHANGE_MODE
10610
MIRROR_REF_AX
10612
MIRROR_TOGGLE
798
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Identifier: $MN_
Description
10613
NCBFRAME_RESET_MASK
10615
NCBFRAME_POWERON_MASK
10617
FRAME_SAVE_MASK
10650
IPO_PARAM_NAME_TAB
10660
INTERMEDIATE_POINT_NAME_TAB
11640
ENABLE_CHAN_AX_GAP
18600
MM_FRAME_FINE_TRANS
18601
MM_NUM_GLOBAL_USER_FRAMES
18602
MM_NUM_GLOBAL_BASE_FRAMES
10.9.1.3
Number
Identifier: $MC_
Description
20050
AXCONF_GEOAX_ASSIGN_TAB
20060
AXCONF_GEOAX_NAME_TAB
20070
AXCONF_MACHAX_USED
20080
AXCONF_CHANAX_NAME_TAB
20110
RESET_MODE_MASK
20118
GEOAX_CHANGE_RESET
20126
TOOL_CARRIER_RESET_VALUE
20140
TRAFO_RESET_VALUE
20150
GCODE_RESET_VALUES
20152
GCODE_RESET_MODE
20184
TOCARR_BASE_FRAME_NUMBER
21015
INVOLUTE_RADIUS_DELTA
22532
GEOAX_CHANGE_M_CODE
22534
TRAFO_CHANGE_M_CODE
24000
FRAME_ADD_COMPONENTS
24002
CHBFRAME_RESET_MASK
24004
CHBFRAME_POWERON_MASK
24006
CHSFRAME_RESET_MASK
24007
CHSFRAME_RESET_CLEAR_MASK
24008
CHSFRAME_POWERON_MASK
24010
PFRAME_RESET_MODE
24020
FRAME_SUPPRESS_MODE
24030
FRAME_ACT_SET
24040
FRAME_ADAPT_MODE
24050
FRAME_SAA_MODE
24805
TRACYL_ROT_AX_FRAME_1
24855
TRACYL_ROT_AX_FRAME_2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
799
Identifier: $MC_
Description
24905
TRANSMIT_ROT_AX_FRAME_1
24955
TRANSMIT_ROT_AX_FRAME_2
28080
MM_NUM_USER_FRAMES
28081
MM_NUM_BASE_FRAMES
28082
MM_SYSTEM_FRAME_FRAMES
28560
MM_SEARCH_RUN_RESTORE_MODE
10.9.1.4
Number
Identifier: $MA_
Description
32074
FRAME_OR_CORRPOS_NOTALLOWED
35000
SPIND_ASSIGN_TO_MACHAX
10.9.2
Setting data
10.9.2.1
Number
Identifier: $SC_
Description
42440
FRAME_OFFSET_INCR_PROG
42980
TOFRAME_MODE
10.9.3
System variables
Identifier
Description
$AA_ETRANS[axis]
$AA_IBN[axis]
$AA_IEN[axis]
$AA_OFF[axis]
$AC_DRF[axis]
$AC_JOG_COORD
$P_ACSFRAME
$P_ACTBFRAME
$P_ACTFRAME
$P_BFRAME
$P_CHBFR[<n>]
Data management frame: Basic frame can be activated via G500, G54...G599
800
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
$P_CHBFRAME[<n>]
$P_CHBFRMASK
$P_CHSFRMASK
$P_CYCFR
$P_CYCFRAME
$P_EXTFR
$P_EXTFRAME
$P_IFRAME
$P_ISO1FR
$P_ISO2FR
$P_ISO3FR
$P_ISO4FR
$P_ISO1FRAME
$P_ISO2FRAME
$P_ISO3FRAME
$P_ISO4FRAME
$P_NCBFR[n]
$P_NCBFRAME[n]
$P_NCBFRMASK
$P_PARTFR
$P_PARTFRAME
Active system frame for TCARR and PAROT with orientable toolholder
$P_PFRAME
$P_SETFR
$P_SETFRAME
$P_TOOLFR
$P_TOOLFRAME
$P_TRAFRAME
$P_TRAFRAME
$P_UBFR
1st basic frame in the channel in the data management that is activated after
G500, G54...G599. Corresponds to $P_CHBFR[0].
$P_UIFR[n]
Data management frame: Settable frame, can be activated via G500, G54 to
G599
$P_UIFRNUM
$P_WPFR
$P_WPFRAME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
801
10.9.4
Signals
10.9.4.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
T function modification
D function modification
T function 1
DB250x.DBD2000
D function 2
DB250x.DBD5000
DB350x.DBB0
DB350x.DBB1
...
...
DB350x.DBB28
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Spindle/no axis
DB390x.DBX0.0
10.9.4.2
10.9.4.3
802
Signals to axis/spindle
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
11
Brief Description
Function
The control system supports the machine manufacturer in implementing an emergency stop
function on the basis of the following functions:
An emergency stop button is installed in a location easily accessible to the machine operator
on all SINUMERIK machine control panels. The functionality of the emergency stop button
includes the positive opening of electrical switching contacts and a mechanical selfactivating latching/locking.
The emergency stop request to the NC is transmitted via the NC/PLC interface on the PLC.
The Emergency Stop function must bring the machine to a standstill according to stop
category 0 or 1 (EN 60204).
In the case of an emergency stop, all machine functions controlled by the PLC can be
brought to a safe state that can be set by the machine manufacturer.
Unlatching the emergency stop button does not cancel the emergency stop state nor does
it initiate a restart.
After the emergency stop state has been canceled, it is not necessary to reference the
machine axes or synchronize the spindles. The actual positions of the machine axes are
continuously tracked during the emergency stop sequence.
11.2
Relevant standards
Relevant standards
Compliance with the following standards is essential for the emergency stop function:
EN ISO 12000-1
EN ISO 12000-2
EN 418
EN 60204
Emergency stop
In accordance with EN 418, an emergency stop is a function that:
Is intended to prevent or diminish developing or existing risks to operating personnel, and
damage to the machine or machined materials.
Is triggered by a single action of a person, if the normal stop function is not suitable for it.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
803
Hazards
In the terms of EN 418, risks may arise from:
Functional irregularities (machine malfunctions, unacceptable properties of the material to
be machined, human error, etc.).
Normal operation.
11.3
804
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Connection conditions
For connecting the emergency stop button see:
References:
Operator Components Manual
11.4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
805
11.5
806
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
'%'%;(PHUJHQF\VWRS
1
'%'%;
$FNQRZOHGJHHPHUJHQF\VWRS
'%'%;(PHUJHQF\VWRSDFWLYH
2
'%'%;5(6(7
3
(1)
(2)
(3)
DB10 DBX56.2 and DB21, ... DBX7.7 reset DB10 DBX106.1 (emergency stop active)
Figure 11-1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
807
Effects
Resetting the emergency stop state has the following effects:
Within the controller for all machine axes:
The servo enables are set.
The follow-up mode is canceled.
The position control is activated.
The following interface signals are set:
DB31, ... DBX60.5 (position control active)
DB11 DBX6.3 (mode group ready)
The following interface signal is reset:
DB10 DBX106.1 (emergency stop active)
Alarm 3000 "Emergency stop" is deleted.
Part program processing is interrupted in all channels of the NC.
11.6
Data lists
11.6.1
Machine data
11.6.1.1
Number
Identifier: $MA_
Description
36610
AX_EMERGENCY_STOP_TIME
36620
SERVO_DISABLE_DELAY_TIME
808
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
11.6.2
Signals
11.6.2.1
Signals to NC
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Emergency stop
DB10.DBX56.1
DB2600.DBX0.1
DB10.DBX56.2
DB2600.DBX0.2
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB10.DBX106.1
DB2700.DBX0.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB11.DBX0.7
DB3000.DBX0.7
11.6.2.2
11.6.2.3
Signals from NC
Signals to BAG
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
809
810
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
12
Function
Transverse axis
Within the framework of "turning" technology, the transverse axis refers to the machine axis
that travels perpendicular to the axis of symmetry of the spindle, in other words, to longitudinal
axis Z.
;
7UDQVYHUVHD[LV
:
=
/RQJLWXGLQDOD[LV
Figure 12-1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
811
Geometry axis
one
m of 3
Specific effect:
Channel
Axis
Channel
Machine data:
MD20100
MD30460
MD20100
Programming:
DIAM*
SCC[<Axis>]
channel-specific modal
channel-specific modal
G group 29
DIAM*A[<Axis>]
Linear channel
axes
Geometry axis
m of n
one
one of 3
axis-specific modal
blockwise axis-specific only programming
Note
Rotary axes are not permitted to serve as transverse axes.
Diameter-related data
DIAMON/DIAMONA[<Axis>]
After activation of the diameter programming with DIAMON/DIAMONA[<Axis>] (see
"Programming (Page 817)"), the following data refer to diameter dimensions:
Display data of transverse axis in the workpiece coordinate system:
Setpoint and actual position
Distance-to-go
REPOS offset
"JOG" mode:
Increments for incremental dimension (INC) and handwheel travel (dependent upon
active MD)
812
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DIAMCYCOF/DIACYCOFA[<Axis>]
With DIAMCYCOF / DIACYCOFA[<Axis>], a changeover to radius programming takes place
within the controller. The diameter programming status that was active before DIAMCYCOF or
DIACYCOFA[AX] continues to be displayed to the HMI.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
813
12.2
Parameterization
Value
Meaning
Note
The setting MD30460 bit 2 = 1 is only possible for linear axes.
814
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Meaning
10
Tool portion of an active tool carrier that can be oriented if no tool is active
11
12
15
Value
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
815
Value
Meaning
half of the path of the specified handwheel increment is traveled, if channelspecific or axis-specific diameter programming is active for this axis.
13
When jogging around circles, the circle center point coordinate is always a radius
value, see SD42690 $SC_JOG_CIRCLE_CENTRE
14
For cycle masks, the absolute values of the transverse axis are in the radius.
Value
Meaning
15
816
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
12.3
Programming
Transverse axes can be programmed with respect to both diameter and radius. Generally,
they are diameter-related, i.e. programmed with doubled path dimension so that the
corresponding dimensional information can be transferred to the part program directly from
the technical drawings.
;
7UDQVYHUVHD[LV
' '
=
/RQJLWXGLQDOD[LV
Figure 12-2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
817
12.4
Supplementary conditions
Axis replacement
Due to a GET request from the parts program, the diameter programming status for an
additional transverse axis is accepted in the new channel during axis replacement using
RELEASE[<Axis>].
Axis replacement in synchronized actions
For axis replacement in synchronized actions, a transverse axis takes the status of the axisspecific diameter programming with it into the new channel if:
with MD30460, bit 2 = 1 axis-specific diameter programming is permitted for the transverse
axis.
the transverse axis is not subordinated to the channel-specific diameter programming in
the releasing channel.
The active dimension can be queried via the system variable $AA_DIAM_STAT[<Axis>].
818
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
12.5
Examples
Example 1
X is a transverse axis defined via MD20100 $MC_DIAMETER_AX_DEF.
Y is a geometry axis and U is an additional axis. These two axes are additional transverse
axes with diameter specifications defined in MD30460 $MA_BASE_FUNCTION_MASK with
bit 2 = 1.
DIAMON is not active after power up.
Program code
Comment
N20 DIAMON
N40 DIAMONA[Y]
N60 DIAM90
N70 Y200
N90 DIAMCHANA[Y]
Example 2
Transverse axes with diameter specification applied as in the previous example.
X and Y are located in channel 1 and are also known in channel 2; i.e. permitted for axis
replacement.
Program code
Comment
Channel 1
N10 G0 G90 X100 Y50
N20 DIAMON
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
819
Comment
N40 DIAMONA[Y]
N60 SETM(1)
;Synchronous marker 1
N70 WAIT(1,2)
Channel 2
...
N50 DIAMOF
...
N100 WAIT(1,1)
N110 GETD(Y)
N120 Y100
12.6
Data lists
12.6.1
Machine data
12.6.1.1
Number
Identifier: $MC_
Description
20050
AXCONF_GEOAX_ASSIGN_TAB[n]
20060
AXCONF_GEOAX_NAME_TAB[n]
20100
DIAMETER_AX_DEF
20110
RESET_MODE_MASK
20112
START_MODE_MASK
20150
GCODE_RESET_VALUES[n]
Reset G groups
20152
GCODE_RESET_MODE[n]
20360
TOOL_PARAMETER_DEF_MASK
20624
HANDWH_CHAN_STOP_COND
27100
ABSBLOCK_FUNCTION_MASK
12.6.1.2
Number
Identifier: $MA_
Description
30460
BASE_FUNCTION_MASK
Axis functions
820
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13
Brief description
General
The PLC basic program organizes the exchange of signals and data between the PLC user
program and the NCK (Numerical Control Kernel), HMI (Human Machine Interface) and MCP
(Machine Control Panel). In the case of signals and data, a distinction is made between the
following groups:
Cyclic signal exchange
Event-driven signal exchange
Messages
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
821
Messages
User messages are acquired and conditioned by the basic program. The message signals are
transferred to the basic program via a specified bit array. where they are evaluated and, if
message events occur, entered in the PLC's interrupt buffer by means of the ALARM S/SQ
functions. If an HMI (e.g. SINUMERIK Operate) is being used, the messages are transferred
to the HMI and displayed.
822
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.2
31
Channels
10
Mode groups
10
Functions
Status/control signals
M decoders (M00-99)
G group decoders
ASUB interface
Error/operating messages
PI services
Tool management
Star/delta switchover
m:n
Safety Integrated
Program diagnostics
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
823
13.3
13.4
Meaning
Remark
RUN-P
RUN
Only read access operations are possible using a programming device (PG). It
is not possible to make changes to the PLC program until the password has
been set.
STOP
Processing the PLC program is stopped and all PLC outputs are set to substitute
values.
MRES
The PLC is switched into the STOP state followed by a PLC general reset (de
fault data).
References
A detailed description of the position of the PLC mode selector on the front of the NCU module,
as well as its use in connection with NCK and PLC general reset can be found in:
CNC Commissioning Manual: NCK, PLC, Drive:
Section "Switch-on/power-up" > "Operator control and display elements for power-up"
Section "Switch-on/power-up" > "NCK and PLC general reset"
Section "General tips" > "Separate NCK and PLC general reset"
824
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.5
13.6
13.7
13.7.1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
825
13.7.2
Remark
The catalog structures of a project and the procedure for creating projects and user programs
are described in the relevant SIMATIC documentation.
Procedure
The basic program blocks are copied using the SIMATIC Manager and
"File" > "Open" > "Library".
The following components must be copied from the library:
From the block container: FCs, FBs, DBs, OBs, SFC, SFB, UDT
The source_files (from the source container): GPOB840D
Possibly MDECLIST, HHU_DB and others
The symbols table (from the symbols container)
826
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.7.3
Version codes
Basic program
The version of the basic program is displayed on the Version screen of the user interface along
with the controller type.
The controller type is encoded as follows:
Leftjustified decade of DB17.DBD0 (byte 0)
Controller type
03
User program
Users can also display their own PLC version codes in the Version screen. For this purpose,
a data of type STRING containing a maximum of 54 characters must be defined in any data
block. The data can contain a text of the user's choice. The parameterization on this string is
done via a pointer on FB1. For this, the data block must be defined symbolically.
See also section "block descriptions" > "FB1: RUN_UP - basic program, start section
(Page 914) ".
13.7.4
Machine program
The machine manufacturer creates the machine program using the library routines supplied
with the basic program. The machine program contains the logic operations and sequences
on the machine. The interface signals to the NC are also controlled in this program. More
complex communication functions with the NCK, e.g. read/write NC data, tool-management
acknowledgments, etc., are activated and executed via blocks FCs and FBs of the basicprogram).
The machine program can be created in various STEP 7 creation languages, e.g. AWL, KOP,
FUP, S7-HIGRAPH, S7GRAPH, SCL. The complete machine program must be generated and
compiled in the correct sequence.
This means that blocks that are called by other blocks must generally be compiled before
these blocks.
If blocks that are called by other blocks are subsequently modified in the interface
(VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR) as the program is developed, then the call
block and all blocks associated with it must be compiled again. This general procedure applies
analogously to instance data blocks for FBs. If these sequence of operations is not maintained,
time-stamp conflicts occur when the data retranslated into STEP 7. As such, the recompilability
of the blocks is not ensured and with the function "Status of block" unnecesary conflicts can
also appear. It is, moreover, advisable to generate blocks in ASCIISTL by means of the STEP
7 editor when they have been created in Ladder Diagram or in single statements (incremental
mode).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
827
13.7.5
Data backup
The PLC-CPU does not save any symbolic names, but instead only the datatype descriptions
of the block parameters VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR and the datatypes
of the global data blocks.
Note
No sensible recompilation is possible without the related project for this machine. This
especially affects, for instance the function status of the block or the necessary changes done
in the PLC-CPU programs later. It is, therefore, necessary to keep a backup copy of the STEP
7 project located in the PLC CPU on the machine. This is a great help for the service case and
saves unnecessary consumption of time in restoring the original project.
If the STEP 7 project exists and has been created according to the instructions given above,
then symbols can be processed in the PLCCPU on this machine. It may also be advisable to
store the machine source programs as ".awl" files in case they are required for any future
upgrade.
The source programs of all organization blocks and all instance data blocks should always be
available.
13.7.6
828
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Automation
The process of generating a series archive can be automated (comparable to the command
interface in STEP 7). In generating this series archive, the command interface is expanded.
The following functions are available for this expansion:
The functions (shown here in VB script) are not available until server instantiations and Magic
have been called:
Const S7BlockContainer = 1138689, S7PlanContainer = 17829889
Const S7SourceContainer = 1122308
set S7 = CreateObject("Simatic.Simatic.1")
instantiate rem command interface of STEP 7
Set S7Ext = CreateObject("SimaticExt.S7ContainerExt")
Call S7Ext.Magic("")
Functions:
Function Magic(bstrVal As String) As Long
Function MakeSerienIB (FileName As String, Option As Long,
Container As S7Container) As Long
Description
Function Magic(bstrVal As String) As Long
The call provides access to certain functions. The function must be called once after server
instantiation. The value of bstrVal can be empty. This initiates a check of the correct STEP 7
version and path name in Autoexec. The functions are enabled with a return parameter of 0.
Return parameter (-1) = incorrect STEP 7 version
Return parameter (-2) = no entry in Autoexec.bat
Function MakeSeriesstart-up(FileName As String, Option As Long, Container As S7Container)
As Long
"Option" parameter:
0:
Bit 0 = 1:
Series startup file without general reset. When project contains SDBs, this option is
inoperative.
A general reset is then always executed
Bit 1 = 1:
= OK
-1
-2
-4
-5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
829
-7
= Write error when generating series startup files (e.g. diskette full)
Use in script
Program code
If S7Ext.Magic("") < 0 Then
Wscript.Quit(1)
End If
Set Proj1 = s7.Projects("new")
set S7Prog = Nothing
Set s7prog = Proj1.Programs.Item(1) 'if there is only one program'
For Each cont In s7prog.Next
If (Cont.ConcreteType = S7BlockContainer) Then
' Check block container
Exit For
End if
Cont = Nothing
Next
Error = S7Ext.MakeSerienIB("f:\dh\arc.dir\PLC.arc", 0, Cont)
' Now error analysis
The For Each ... Next block programmed above can be programmed in the Delphi
programming language as follows (the programming for C, C++ programming languages is
similar):
Program code
Var
EnumVar: IEnumVariant;
rgvar: OleVariant;
fetched: Cardinal;
//For Each Next
EnumVar := (S7Prog.Next._NewEnum) as IEnumVariant;
While (EnumVar.Next(1,rgvar,fetched) = S_OK) Do Begin
Cont := IS7Container(IDispatch(rgvar)); // block container
Check sources
If (Cont.ConcreteType = S7BlockContainer) Then Break;
Cont := NIL;
End;
830
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.7.7
Software upgrade
A general PLC reset should be performed to achieve a defined initial state before the PLC
software is upgraded. In this case, among other things, all user data (program and data blocks)
will be deleted. The PLC general reset is described in:
References:
Commissioning Manual CNC: NCK, PLC, Drive, General Tips,
Section: PLC general reset
NC variables
The latest NC VAR selector can be used for each NC software version (even earlier versions).
The variables can also be selected from the latest list for earlier NC software versions. The
data content in DB120 (default DB for variables) does not depend on the software status. That
is, variables selected in an older software version need not be reselected when the software
is upgraded.
13.7.8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
831
13.7.9
Troubleshooting
This section describes problems which may occur, their causes and remedies and should be
read carefully before hardware is replaced.
Errors, cause/description and remedy
832
Serial
no.
error in
forma
tion
Errors
Cause/description
No connec
tion via MPI to
PLC.
PLC cannot
be accessed
in spite of PLC
general reset.
Measures:
The diagnostic buffer on the PLC
must be read to analyze the sys
tem error in detail. To access the
buffer, the PLC must be stopped
(e.g. set "PLC" switch to position
2). A hardware reset must then be
performed. The diagnostic buffer
can then be read out with STEP
7. Relay the information from the
diagnostic buffer to the Hotline /
Development Service. A general
reset must be carried out if re
quested after the hardware RE
SET. The diagnostic buffer can
then be read with the PLC in the
Stop state.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.8
13.8.1
General
A CPU of the S7-300 automation system is used as PLC for the SINUMERIK 840D sl. The
PLC-CPU is integrated into the NCU component as a sub-module. A reference to the
performance data of the PLC CPU can be found in Section "Key data of the PLC CPU
(Page 823)".
13.8.2
13.8.3
Physical interfaces
With the SINUMERIK 840D sl, the PLC integrated in the NCU offers the option of exchanging
signals between the NCK and PLC directly via a dual-port RAM.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
833
230&3
(63*
(WKHUQHW
6WDUWXSSRUW
(WKHUQHW3RUW
(WKHUQHW7&3,3
ZRUNVEXV
LQWHUQDOEXV&EXVUDFN
6SURWRFRO
&
6
6
&3
'
VO
'ULYH
8QLWV
1&.
&EXV
&
6XEVWFRPP
3/&
9',
,QWHUIDFH
'3'LUHFW
$FFHVV
&5LVF
,QWHUQDOYLUWXDO352),%86
5HDOWLPHV\VWHP
6,180(5,.&RQWURO8QLW1&8
03,352),%86
352),%86
([WHUQDO
'ULYH
8QLWV
(7
Figure 13-1
Interface: NCK/PLC
The data exchange between NCK and PLC is organized by the basic program on the PLC
side. The status information, such as "Program running", stored by the NCK in the NCK/PLC
interface is copied to data blocks by the basic program at the beginning of the cycle (OB1) and
can then be accessed in the user program (user interface). The control signals for the NCK
(e.g. NC start) entered in the interface data block by the user are also written to the internal
DPR and transferred to the NCK at the start of the cycle.
Workpiece-program-specific auxiliary functions transferred to the PLC are first evaluated by
the basic program (interruptdriven) and then transferred to the user interface at the start of OB
1. If the relevant NC block contains auxiliary functions that require that NCK processing is
interrupted (e.g. M06 for tool change), the basic program stops the decoding of the NCK block
initially for one PLC cycle. The user can then use the "read disable" interface signal to halt the
block execution until the tool change has been completed. If, on the other hand, the relevant
NC block only contains auxiliary functions, which do not require interruption of the decoding
834
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Interface: HMI/PLC
HMI/PLC data exchange is performed via the integrated CP, whereby the HMI is always the
active partner (client) and the PLC is always the passive partner (server). Data transferred or
requested by the HMI is read from and written to the HMI/PLC interface area by the PLC
operating system (timing: Cycle control point). From the viewpoint of the PLC application, the
data is identical to I/O signals.
Interface: MCP/PLC or HHU/PLC (connection: Ethernet)
MCP/PLC and HHU (HT 2) / PLC data is exchanged via the integrated CP. The CP transfers
the MCP/HHU signals to and fetches them from the PLC's internal DPR (Dual-Port RAM). On
the PLC side, the basic program handles communication with the user interface. The basicprogram parameters (FB1, DB7) define the operand areas (e.g. I/O areas) and the start
addresses.
Interface: MCP/PLC (connection: PROFIBUS)
MCP/PLC data exchange takes place via the PLC's PROFIBUS. The MCP's I/O addresses
are to be set in the PLC's process image area and via HW configuration in STEP 7. The
MCP*In, MCP*Out pointer variables must be set to the same addresses. The selected DP
slave number must be entered in MCP*BusAdr.
Interface: HHU/PLC (connection: MPI)
The HHU/PLC data exchange is performed via the MPI interface on the PLC. The
"Communication with global data (GD)" service is used for this purpose (see also STEP 7 User
Manual). The PLC operating system handles the transfer of signals from and to the user
interface. The STEP 7 "Communication configuration" configuring tool is used to define both
GD parameters as well as operand areas (e.g. I/O areas) and their start addresses.
13.8.4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
835
13.9
Interface structure
Interface DBs
Mapping in interface data blocks is necessary due to the large number of signals exchanged
between the NCK and PLC. These are global data blocks from the viewpoint of the PLC
program. During system start-up, the basic program creates these data blocks from current
NCK machine data (no. of channels, axes, etc.). The advantage of this approach is that the
minimum amount of PLC RAM required for the current machine configuration is used.
13.9.1
PLC/NCK interface
General
The PLC/NCK interface comprises a data interface on one side and a function interface on the
other. The data interface contains status and control signals, auxiliary functions and G
functions, while the function interface is used to transfer jobs from the PLC to the NCK.
Data interface
The data interface is subdivided into the following groups:
NCK-specific signals
Mode-group-specific signals
Channel-specific signals
Axis/spindle/drive-specific signals
836
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Function interface
The function interface is formed by FBs and FCs. The figure below illustrates the general
structure of the interface between the PLC and the NCK.
'%
+0,
'%
0HVVDJHV
1&
6LJQDOVWR1&.FRPSLOHF\FOHV
6LJQDOVIURP1&.FRPSLOHF\FOHV
1&
1&
6LJQDOVWR1&
'%
6LJQDOVIURP1&
'%
'%
'DWDLQWHUIDFH
0RGHJURXS
6LJQDOVIURPPRGHJURXS
'%
+0,
+0,
6LJQDOVWR+0,
6LJQDOVIURP+0,
'%
'%
'%
1&FKDQQHO
&KDQQHO
&KDQQHO
&KDQQHO
6LJQDOVWRFKDQQHO
3/&XVHU
SURJUDP
6LJQDOVIURPFKDQQHO
'%
'%
'%
$[LV
VSLQGOH
GULYH
'%
7RRO
PDQDJHPHQW
1&FKDQQHO
)XQFWLRQLQWHUIDFH
0RGHJURXS
0RGHJURXS
0RGHJURXS
6LJQDOVWRPRGHJURXS
$[LVVSLQGOH
$[LVVSLQGOH
$[LVVSLQGOH
6LJQDOVWRD[LV
6LJQDOVIURPD[LV
7RROPDQDJHPHQW
-REIRUORDGLQJXQORDGLQJORFDWLRQV
-REIRUVSLQGOHDQGWXUUHW
)&
6WDUW$68%
$[LVVSLQGOH
6WDUWFRQFXUUHQWD[LVVSLQGOH
3RVLWLRQLQJD[LVLQGH[LQJD[LV
7RRO
PDQDJHPHQW
$FNQRZOHGJPHQWIRUWRROPDQDJHPHQW
'ULYH
6WDUGHOWDVZLWFKRYHU
'LUHFWLRQVHOHFWLRQIRUWRROPDJD]LQH
)%
1&
5HDGZULWH1&.YDULDEOHV
3,VHUYLFHV
5HDG*8'
+0,
0WR1
6DIHW\
,QWHJUDWHG
6,UHOD\EUDNHWHVW
Figure 13-2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
837
Compile-cycle signals
In addition to the standard signals exchanged between the PLC and NCK, an interface data
block for compile cycles is also generated if required (DB9). The associated signals, which are
dependent on the compile cycles, are transmitted cyclically at the start of OB1. The basic
program starts transmission at the lowest address and works up to the highest. First, signals
are transferred from the PLC to the NCK, then from the NCK to the PLC. The user must
synchronize the NCK and PLC as necessary (e.g. using the semaphore technique). Signal
transmission is asynchronous between NCK and PLC. This means, for example, that active
NCK data transmission can be interrupted by the PLC. This can mean that data is not always
consistent.
PLC/NCK signals
The group of signals from the PLC to NCK includes:
Signals for modifying the digital and analog I/O signals of the NCK
Keyswitch and emergency stop signals
'%
,QIOXHQFLQJGLJLWDO1&.LQSXWV
RQERDUGLQSXWV
,QIOXHQFLQJGLJLWDO1&.RXWSXWV
RQERDUGRXWSXWV
$[LVWDEOHV
.H\RSHUDWHGVZLWFK(PHUJHQF\2II
$FWXDOYDOXHVRIGLJLWDO1&.LQSXWV
RQERDUGLQSXWV
%\WH
6HWSRLQWVRIGLJLWDO1&.RXWSXWV
RQERDUGRXWSXWV
9DULRXVVLJQDOV
+DQGZKHHOVHOHFWLRQ
+0,VWDWXVVLJQDOV
6WDWXVVLJQDOVEDVLFSURJUDP
6WDWXVVLJQDOV
6RIWZDUHFDP
+0,
*3
1&.
'HFRGLQJ
+DQGZKHHO
VHOHFWLRQ
,QIOXHQFLQJGLJLWDO1&.LQSXWV
H[WHUQDOLQSXWV
,QIOXHQFLQJGLJLWDO1&.RXWSXWV
H[WHUQDORXWSXWV
$[LVLQWHUIDFH
,QIOXHQFLQJDQDORJ1&.LQSXWV
*HRD[LVLQWHUIDFHLQ
H[WHUQDOLQSXWV
WKHFKDQQHO
,QIOXHQFLQJDQDORJ1&.RXWSXWV
H[WHUQDORXWSXWV
$FWXDOYDOXHVRIGLJLWDO1&.LQSXWV
H[WHUQDOLQSXWV
6HWSRLQWVRIGLJLWDO1&.RXWSXWV
H[WHUQDORXWSXWV
$FWXDOYDOXHVRIDQDORJ1&.LQSXWV
H[WHUQDOLQSXWV
6HWSRLQWVRIDQDORJ1&.RXWSXWV
H[WHUQDORXWSXWV
Figure 13-3
838
PLC/NCK interface
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
NCK/PLC signals
The group of signals from the NCK to PLC includes:
Actual values of the digital and analog I/O signals of the NCK
Ready and status signals of the NCK
Also output in this group are the HMI handwheel selection signals and the status signals.
The signals for handwheel selection are decoded by the basic program and entered in the
machine/axis-specific interface.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
839
%DVLFSURJUDP
0RGHVHOHFWLRQ
'%
%\WH
&RQWUROVLJQDOV
0RGHVHOHFWLRQ
6HOHFWLRQVLJQDOVIURP+0,
0RGHJURXS
+0,
0&3
Figure 13-4
0RGHJURXS
$FWLYHPRGH
1&.
840
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
%\WHV
%3
+0,VLJQDO
URXWLQJ
+0,
'%
3URJUDPFRQWURO
$FWLYDWLQJSURWHFWLRQ
]RQHV
7UDYHUVHVLJQDOV
*(2D[HV
3URJUDPFRQWURO
IURP+0,
3URJUDPFKDQQHO
VWDWXV
*HRD[HVVWDWXV
$X[LOLDU\IXQFWLRQ
FKDQJHVLJQDOV
067''/+)
YDOXHV
'HFRGHG0VLJQDOV
00
$FWLYH*IXQFWLRQV
6WDWXVVLJQDOV
3URWHFWLRQ]RQHV
$[LVVSLQGOH
LQWHUIDFH
Figure 13-5
&RQWUROVLJQDOV
6WDWXVVLJQDOV
$X[LOLDU\*IXQFWLRQV
%3
0GHFRGHU
1&FKDQQHO
*JURXS
GHFRGHU
06)
GLVWULEXWRU
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
841
'%
&RPPRQ
%\WH D[LVVSLQGOH
VLJQDOV
$[LVVLJQDOV
6SLQGOHVLJQDOV
'ULYHVLJQDOV
7HFKQRORJ\
*ULQGLQJ
5HVHUYHG
)HHG
VSLQGOHRYHUULGH
&RQWUROVLJQDOV
7UDYHUVLQJVLJQDOV
/LPLWVZLWFK
&RQWUROVLJQDOV
&RQWUROVLJQDOV
&RQWUROVLJQDOV
&RPPRQ
D[LVVSLQGOH
VLJQDOV
6WDWXVVLJQDOV
$FWLYH,1&PRGH
$[LVVLJQDOV
6WDWXVVLJQDOV
$[LDO)YDOXH
6HWSRLQWJHDUVWDJH
6WDWXVVLJQDOV
06YDOXH
6WDWXVVLJQDOV
6SLQGOH
VLJQDOV
'ULYHVLJQDOV
7HFKQRORJ\
*ULQGLQJ
$[LV
VSLQGOH
GULYH
6WDWXVVLJQDOV
YDOXHVIURP06)GLVWULEXWRUVRIWKHEDVLFSURJUDP
Figure 13-6
13.9.2
1&.
Interface PLC/HMI
General
The following groups of functions are required for the PLC/HMI interface:
Control signals
Machine operation
PLC messages
PLC status display
842
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Control signals
Some control signals are signal inputs, for example, via the machine control panel, which have
to be taken into account by the HMI. This group of signals includes, for example, display actual
values in MCS or WCS, key disable, etc. These are exchanged with the HMI via a separate
interface data block (DB19).
Machine operation
All operator inputs, which lead to response actions on the machine, are monitored by the PLC.
Operator actions are usually performed on the machine control panel (MCP). However, it is
also possible to perform some operator actions on the HMI, e.g. mode selection.
The PLC operating system enters the operating signals sent by the HMI directly into the
interface data blocks. As standard, the basic program routes these operating signals in such
a way that, provided equivalent operator actions are available, these can be performed either
on the HMI or on the MCP. If required, the user can switch off operation via HMI using an FB1
parameter "MMCToIF".
PLC messages
The signaling functions are based on the system diagnostic functions integrated in the
operating system of the AS 300. These have the following characteristics:
The PLC operating system enters all important system states and state transitions in a
diagnostics status list. Communication events and I/O module diagnostics data (for
modules with diagnostic functions) are also entered.
Diagnostics events, which lead to a system stop, are also entered with a time stamp in a
diagnostic buffer (circular buffer) in the chronological order of their occurrence.
The events entered in the diagnostic buffer are automatically transmitted to human machine
interface systems (OP or HMI) via the bus systems once these have issued a ready signal
(message service). "Transfer to the node ready" is a function of the PLC operating system.
Receipt and interpretation of the messages are executed by the HMI software.
The PLC user program can also use SFCs (System Function Calls) to enter messages in
the diagnostic buffer or ALARM S/ALARM SQ buffer.
The events are entered in the alarm buffer.
The associated message texts must be stored on the OP or HMI.
An FC (FC10) for message acquisition is prepared in conjunction with the basic program. This
FC records events, subdivides them into signal groups and reports them to the HMI via the
alarm buffer.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
843
Acknowledgement concept
The following acknowledgement procedures are implemented for error and operational
messages:
Operating messages are intended for the display of normal operating states as information for
the user. Acknowledgement signals are, therefore, not required for this type of message. An
entry is made in the diagnostic status list for incoming and outgoing messages. The HMI
maintains an up-to-date log of existing operating messages using the identifiers "operating
message arrived" and "operating message gone".
Alarm messages display error states on the machine, which will usually lead to the machine
being stopped. Where several errors occur in rapid succession, it is important to be able to
distinguish their order of occurrence for troubleshooting purposes. This is indicated, on the
one hand, by the order in which they are entered in the diagnostic buffer and on the other, by
the time stamp, which is assigned to every entry.
If the cause of the error disappears, the associated alarm message is only deleted if the user
has acknowledged it (e.g. by pressing a key on the MCP). In response to this signal, the
"Message acquisition" FC examines which of the reported errors have disappeared and enters
these in the diagnostic buffer with the entry "Alarm gone". This enables the HMI to also maintain
an up-to-date log of pending alarm messages. The time of day indicating the time at which the
error occurred is maintained for messages, which are still pending (in contrast to a received
interrogation).
STEP 7
A tool can be started in the SIMATIC Manager via menu item "Target system" > "CPU
messages". Alarms and messages can be displayed by number using this tool. To do this,
acivate the "Alarm" tab and enter a check mark under "A" in the upper half of the screen.
844
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
User program
The user PLC program merely needs to call the basic program block FC10 with appropriate
parameter settings in the cyclic program section and set or reset the bit fields in DB2. All further
necessary measures are implemented by the basic program and HMI.
&KDQJHVLJQDOV
%LWILHOGV
&KDQQHO )HHGGLVDEOH
5HDGLQGLVDEOH
1&VWDUWGLVDEOH
&KDQQHOQ
$[LVVSLQGOH
0HVVDJH
DFTXLVLWLRQ
6)&
$/$50B6
$/$50B64
)HHGUDWHVSLQG
OHGLVDEOH
$[LVVSLQGOHQ
8VHUDUHD
*URXSVLJQDOV
GLVDEOHVLJQDOV
Figure 13-7
,QWHUUXSW
EXIIHU
$FTXLVLWLRQ
RIJURXSVLJQDOV
IRUFKDQQHODQG
D[LV'%
0HVVDJHVHUYLFH
3*
+0,23
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
845
846
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.9.3
PLC/MCP/HHU interface
General
There are different connection options for the machine control panel (MCP) and the handheld
unit (HHU). This is in part due to the history of the MCP and HHU. This description focuses
primarily on the connection of the Ethernet components.
On the SINUMERIK 840D sl, the machine control panel (MCP) and handheld unit (HHU) are
connected via the Ethernet bus, which also links the TCU to the NCU. The advantage of this
is that only one bus cable is required to connect the operating unit.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
847
&XVWRPL]HG
NH\VGLVSOD\V
++8
7&8
0&3
(WKHUQHWEXV
&3'VO
+0,
):
3*
1&.
(QJLQHHULQJ
(WKHUQHWEXV
)%
'35
0&3
VLJ
3/&
Figure 13-8
Bus addresses
On Ethernet components, MAC and IP addresses or logic names are determining factors in
respect of communication. The control system's system programs convert logic names into
MAC or IP addresses. On the PLC, the numeric component of the logic name is used for
communication. This numeric part is specified by the user to the FB1 using parameter
"MCPxBusAdr".
The logical name of an MCP or HHU always begins with "DIP". This is followed by a number
corresponding to the switch position of the MCP component (e.g. DIP192, DIP17).
848
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
(%Q
0RGHV
,1&PRGH
.H\VLJQDOV )HHGVSLQGOHRYHUULGH
'LUHFWLRQNH\V
.H\RSHUDWHGVZLWFK
&XVWRPHUNH\V
$%P
/('V
$FWXDORSHUDWLQJPRGH
$FWXDO,1&PRGH
)HHGVSLQGOH1&VWDWXV
$FWLYHGLUHFWLRQNH\
)&
0RGH
JURXS
1&.D[LV
VSLQGOH
LQWHUIDFH
6WDWXVRIFXVWRPHUNH\V
$'R
0RQLWRULQJ
7UDQVPLWGDWD
$'S
0RQLWRULQJ
5HFHLYHGDWD
Figure 13-9
13.10
General
The PLC program has a modular structure. The organization blocks (OB) form the interface
between the operating system and the basic and user programs.
Restart (warm restart) with start-up and synchronization (OB100)
Cyclic operation (OB1)
Process alarms (OB40)
Asynchronous errors: Diagnostics alarm (OB82), module failure (OB86)
The calls of the function blocks of the basic and user programs must be programmed by the
user in the organization blocks (OB).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
849
)%
2%
5HVWDUW
%DVLFSURJUDP
8VHUSURJUDP
2%
)&
)&
%DVLFSURJUDP
0&3VLJQDOV
+7VLJQDOV
)&
7RROPDQDJHPHQW
)&
6SLQGOHFRQWURO
)&
6WDUW$68%
8VHUSURJUDP
&\FOLFSURFHVVLQJ
)&
2%
6WDUGHOWD
)&
)%
5HDGZULWHYDU
3,VHUYLFHV
)&
'LVSOD\FRQWURO
+7
(UURUDQGRSHUDWLQJ
PHVVDJHV
)&
%DVLFSURJUDP
+DUGZDUHLQWHUUXSW
8VHUSURJUDP
13.10.1
Startup,
The synchronization of NCK and PLC is performed during startup. The system and user data
blocks are checked for integrity and the most important basic program parameters are verified
for plausibility. In cases of errors, the basic program produces an alarm (visible on HMI) and
switches the PLC to the Stop state.
A warm restart is not provided, i.e. following system initialization, the operating system runs
organization block OB100 and always commences cyclic execution at the start of OB1.
850
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Synchronization
The PLC is synchronized with the HMI and NCK and CP during powerup.
Sign-of-life
After a correct initial start and the first complete OB1 cycle (initial setting cycle) the PLC and
NCK continuously exchange sign-of-life signals. If the sign of life from the NCK fails to
materialize, the PLC/NCK interface is initialized and the signal "NCK CPU ready" in DB10 is
set to FALSE.
13.10.2
General
The NCK PLC interface is processed completely in cyclic mode. From a chronological
viewpoint, the basic program runs ahead of the user program. In order to minimize the
execution time of the basic program, only the control/status signals are transmitted cyclically;
transfer of the auxiliary functions and G functions only takes place on request.
The following functions are performed in the cyclic part of the basic program:
Transmission of the control/status signals
Distribution of the auxiliary functions
M decoding (M00 - M99),
M, S, F distribution
Transfer the MCP signals via NCK
Acquisition and conditioning of the user errors and operating messages.
Control/status signals
A shared feature of the control and status signals is that they are bit fields. The basic program
updates them at the start of OB1.
The signals can be subdivided into the following groups:
General signals
Mode group-specific signals (such as mode types)
Channel-specific signals (such as program and feed modifications)
Axis- and spindle-specific signals (such as feed disable)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
851
Structure
1. Value
G function
Value range
2. Value
1. Value
G function
Data type
2. Value
1. Value
2551)
2. Value
Byte
M word
M group
M word
99
99.999.999
Word
DWord
S word
Spindle no.
S word
Floating
point2)
Word
DWord
T word
Magazine
no.
T word
99
65535
Word
Word
D word
D word
99
255
Byte
Byte
H word
H group
H word
99
Floating
point
Word
DWord
F word
Axis no.
F word
18
Floating
point
Word
DWord
1)
2)
The M, S, T, H, D and F values sent by the NCK are output together with the accompanying
change signals to the CHANNEL DB interface via the auxiliary/G functions (see List Manual).
The function value and the extended address are transferred to the appropriate data word.
The accompanying modification signal is activated to 1 for one PLC cycle. When the
modification signal is reset, the acknowledgement is passed to the NCK. The
acknowledgement of high-speed auxiliary functions is given by the basic program immediately
the basic program detects the auxiliary function.
In addition to distribution of the auxiliary and G functions, selected signals are processed as
described below.
M decoder
M functions can be used to transfer switching commands and fixed-point values. Decoded
dynamic signals are output to the CHANNEL DB interface for standard M functions (range M00
- M99) signal length = 1 cycle time).
852
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
G group decoders
In the case of G functions sent by the NCK, the related groups are decoded and the current
G number is entered in the corresponding interface byte of the CHANNEL DB, i.e. all active
G functions are entered in the channel DBs. The entered G functions are retained even after
the NC program has terminated or aborted.
Note
During system startup, all G group bytes are initialized with the value "0".
M, S, F distributor
The M, S, F, distributor is used to enter spindle-specific M words M(1...6)=[3,4,5], S words and
F words for axial feeds in the appropriate spindle and axis data blocks. The criterion for
distribution is the extended address which is passed to the PLC for M words, S words and
axial F words.
User messages
The acquisition and processing of the user error and operational messages is performed by
an FC in the basic program.
13.10.3
13.10.4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
853
13.10.5
General
In the event of a diagnostic alarm or failure of an I/O module, organization block OB82 or OB86
is called (components of the basic program). The basic program block FC5 "Diagnostic alarm
and module failure" (Page 994) is called from these blocks.
Bus diagnostics
The DP slave modules of the PROFIBUS connections MPI/DP or DP1 are registered by the
basic program as group message in the form of a ready signal in the interface signal
DB10.DBX92.0 (MPI/DP bus slaves OK)
DB10.DBX92.1 (DP1 bus slaves OK)
DB10.DBX92.2 (PN bus slaves OK)
The group message is derived from the LED status of the respective PROFIBUS (System state
list SZL 0x174).
Alarm Output
If a fault or a failure of a slave is detected, alarm 400551, 400552 or 400553 (fault on the MPI/
DP, DP or PN bus) is also signaled. The alarm is automatically deleted when the error is
removed.
Suppression of the alarm output 400551, 400552, 400553
By setting the individual bits to "TRUE", the output of the group fault message on the HMI is
suppressed:
DB10.DBX92.4 (alarm suppression message 400551) = TRUE
DB10.DBX92.5 (alarm suppression message 400552) = TRUE
DB10.DBX92.6 (alarm suppression message 400553) = TRUE
It is irrelevant whether the bit is set before the error occurs or during and active error.
If removed (reset of the bit to "FALSE"), the appropriate message is displayed on the HMI in
the event of an error.
In addition, bits DBX92.4-6 are reset to "FALSE" during the control power-up, so that the
evaluation of the error messages is always activated after a control restart.
Note
By setting the bit, the fault monitoring for the complete bus line is deactivated!
854
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.10.6
General
During cyclic operation, the PLC basic program continuously monitors NCK availability by
polling the signoflife character. If the NCK is no longer reacting, the NCK PLC interface is
initialized, and the NCK CPU ready signal in the area of the signals from NC (DB 10.DBX
104.7) is reset. Furthermore, the signals sent from the NCK to the PLC and vice versa are set
to an initial state.
The PLC itself remains active so that it can continue to control machine functions. However,
it remains the responsibility of the user program to set the machine to a safe state.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
855
13.10.7
General
In addition to the modules of the basic program, which are called at the start of OB1, OB40
and OB100, functions are also provided which have to be called and supplied with parameters
at a suitable point in the user program.
These functions can be used, for example, to pass the following jobs from the PLC to the NCK:
Traversing concurrent axes (FC18)
Start asynchronous subprograms (ASUBs) (FC9),
Select NC programs (FB4)
Control spindle (FC18),
Read and write variables (FB2, FB3)
Note
Checking and diagnostics of a function call of the basic PLC program
To simplify the checking and diagnostics of a function call (FB or FC) of the basic PLC
program that is controlled via a trigger (e.g. via Req, Start parameters) and that provide an
execution acknowledgement as output parameter (e.g. via Done, NDR, Error parameters),
proceed as follows.
A variable compiled of other signals which produce the trigger for the function call should
be set. Start conditions may be reset only as a function of the states of parameters Done,
NDR and Error.
The appropriate control mechanism can be placed in front of or behind the function call. If
the mechanism is placed after the call, the output variables can be defined as local variables
(advantage: Reduction of global variables, markers, data variables and time-related
advantages over data variables).
The trigger parameter must be a global variable (e.g. marker, data variable).
Jobs that are still active must be reset from the user program in OB100 (Req, Start,
parameters,
etc. from TRUE FALSE). A POWER OFF/ON could result in a state in which jobs are still
active.
Concurrent axes
The distinguishing features of concurrent axes are as follows:
They must be defined as such via the NC machine data.
They can be traversed either from the PLC or from the NC by means of the JOG keys.
Starting from the PLC is possible in the NC operating modes MDI and AUTOMATIK via FC.
The start is independent of NC block boundaries.
Function calls are available for positioning axes, indexing axes and spindles (FC18).
856
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
)&
6SLQ&WUO
6WDUW
6WRS
)XQFW
0RGH
$[LV1R
3RV
)5DWH
,Q3RV
(UURU
6WDWH
$FWLY
'RQH
(UURU
6WDUW(UU
5HI
Note
If an asynchronous subprogram has not been prepared by an NC program or by FB4 (ASUB)
(e.g. if no interrupt no. has been assigned), a start error is output (StartErr = TRUE).
Read/Write NC variables
NCK variables can be read with FB GET while values can be entered in NCK variables with
FB PUT. The NCK variables are addressed via identifiers at inputs Addr1 to Addr8. The
identifiers (symbols) point to address data which must be stored in a global DB. To allow
generation of this DB, the PC software is supplied with the basic program with which the
required variables can be selected from a table, which is also supplied. The selected variables
are first collected in a second, project-related list. Command Generate DB creates a "*.AWL"
file which must be linked to the program file for the machine concerned and compiled together
with the machine program.
1 to 8 values can be read or written with a read or write job. If necessary, the values are
converted [e.g. NCK floating-point values (64-bit) are converted to PLC format (32-bit with 24-
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
857
)%
)%
*(7
5HT
1XP9DU
$GGU
8QLW
&ROXPQ
/LQH
(UURU
1'5
6WDWH
387
5HT
1XP9DU
$GGU
8QLW
&ROXPQ
/LQH
5'
(UURU
'RQH
6WDWH
6'
AG_SEND/AG_RECV functions
The AG_SEND/AG_RECV functions correspond to the functions of the library
"SIMATIC_NET_CP" of the S7-300 CPU in STEP 7. In general, the online help is valid for these
functions.
The AG_SEND/AG_RECV functions can be used for data exchange with another station via
the integrated "CP 840D sl". A description of the functions is provided in Chapter "Block
descriptions (Page 914)".
Note
Other communication blocks (e.g. BSEND, USEND) which possess a CP343-1 are not
supported in SINUMERIK 840D sl.
13.10.8
General
Note
The basic program library on the CD supplied with the Toolbox for the 840D contains files
NST_UDTB.AWL and TM_UDTB.AWL.
The compiled UDT blocks from these two files are stored in the CPU program of the basic
program.
A UDT is a data type defined by the user that can, for example, be assigned to a data block
generated in the CPU.
Symbolic names of virtually all the interface signals are defined in these UDT blocks.
The UDT numbers 2, 10, 11, 19, 21, 31, 71, 72, 73, 77, 1002, 1071, 1072, 1073 are used.
858
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Assignment to interface DB
Meaning
UDT2
DB2
Alarms/messages
UDT10
DB10
NCK signals
UDT11
DB11
UDT19
DB19
HMI signals
UDT21
DB21 to DB30
Channel signal
UDT31
DB31 to 61
Axis/spindle signals
UDT71
DB71
UDT72
DB72
UDT73
DB73
UDT77
DB77
UDT1002
DB2
UDT 1071
DB 1071
UDT 1072
DB 1072
UDT 1073
DB 1073
To symbolically program the interface signals, the interface data blocks must first be
symbolically assigned using the symbol editor.
For example, symbol "AxisX" is assigned to operand DB31 with data type UDT31 in the symbol
file.
After this input, the STEP 7 program can be programmed in symbols for this interface.
Note
Programs generated with an earlier software version that utilize the interface DBs described
above can also be converted into symbol programs. A fully qualified command for data access
e.g. "U DB31.DBX60.0" is then necessary for (spindle / no axis) in the program created till now.
This command is converted upon activation of the symbolics in the editor "AxisX.E_SpKA".
Description
Abbreviated symbolic names of the interface signals are defined in the two STL files
NST_UDTB.AWL and TM_UDTB.AWL.
In order to create the reference to the names of the interface signals, the name is included in
the comment after each signal.
The names are based on the English language. The comments are in English.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
859
13.10.9
Function description
Up to 256 M functions with extended address can be decoded from the basic program using
the "M decoding according to list" function. The function is activated using FB1 parameter
"ListMDecGrp" (number of M groups for decoding). The assignment of the M function with
extended address and a signal in the signal list is defined in the decoding list. The signals are
also grouped for this purpose.
Decoding list (DB75)
The source file for the decoding list (MDECLIST.AWL) is supplied with the basic program. Data
block DB75 is created when the STL source is compiled. Before the function is activated, the
decoding list (DB75) must be transferred to the PLC followed by a restart.
An M function is decoded if it is in the decoding list. When decoding the M function, the
corresponding signal is set in the signal list as a function of the specific group. When setting
a signal in the signal list, the interface signal "Read in inhibit" is set by the basic program in
the associated channel of the NC. The interface signal is reset again for the channel as soon
as the user resets all of the signals output from this channel in the signal list; i.e. after they
have been acknowledged.
Signal list (DB76)
When activating the function in data block DB76, the basic program creates the signal list.
From then, for each M signal decoded according to the list, a signal is set in the signal list
(DB76) in the corresponding group. At the same time, the "Readin inhibit" interface signal is
set in the channel in which the M function has been output. The interface signal is reset again
for the channel as soon as the user resets all of the signals output from this channel in the
signal list; i.e. after they have been acknowledged.
Highspeed auxiliary functions
When an M function contained in the decoding list is output as "fast help function", no read-in
inhibit is set for the corresponding channel of the NC.
The figure below shows the structure of the M decoding according to list:
860
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1&
&KDQQHO
3DUWSURJUDP
10
%DVLF3/&SURJUDP
3/&
8VHUSURJUDP
'%
0GHFRGLQJDFF
WROLVW
'HFRGLQJOLVW
)&;
'%
6LJQDOVWR1&
6LJQDOOLVW
5HDGLQLQKLELW
3URFHVVLQJ
6WDWXVFRQWURO
VLJQDO
5HDGLQLQKLELW
'%
&KDQQHO
3DUWSURJUDP
10
)&<
5HDGLQLQKLELW
'%
5HDGLQLQKLELW
Activation
M decoding is activated using FB1 parameter "ListMDecGrp"
The number of M groups to the evaluated and/or decoded is specified using the appropriate
parameter. The function is active for a parameter value = 1 ... 16.
Basic program, OB100, FB1 parameter ListMDecGrp = <number of M groups> (also see
" FB1: RUN_UP - basic program, start section (Page 914) ").
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
861
Extended M address
MSigGrp[1].MExtAdr
MSigGrp[1].MFirstAdr
MSigGrp[1].MLastAdr
MSigGrp[2].MExtAdr
MSigGrp[2].MFirstAdr
MSigGrp[2].MLastAdr
...
...
...
...
16
MSigGrp[16].MExtAdr
MSigGrp[16].MFirstAdr
MSigGrp[16].MLastAdr
Type
Value range
Meaning
MExtAdr
INT
0 ... 99
MFirstAdr
DINT
0 to 99.999.999
MLastAdr
DINT
0 to 99.999.999
Extended M address
Example
3 groups of M functions are to be decoded:
Group 1: M2 = 1 to M2 = 5
Group 2: M3 = 12 to M3 = 23
Group 3: M40 = 55
Structure of the decoding and signal list
Group
862
First M address
of the group
Last M address of
the group
12
23
40
55
55
DB76.DBX4.0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Program code
DATA_BLOCK DB 75
TITLE =
VERSION : 0.0
STRUCT
MSigGrp : ARRAY [1 .. 16 ] OF STRUCT
MExtAdr : INT;
MFirstAdr : DINT;
MLastAdr : DINT;
END_STRUCT ;
BEGIN
MSigGrp[1].MExtAdr
:=
MSigGrp[1].MFirstAdr :=
MSigGrp[1].MLastAdr
:=
MSigGrp[2].MExtAdr
:=
MSigGrp[3].MExtAdr
:=
END_DATA_BLOCK
...
);
Description
A restart must be performed after the entry has been made in OB100 and the decoding list
(DB75) has been transferred to the PLC. The basic program creates the signal list (DB76)
when it restarts.
An NC program is then started, for instance in the 1st channel. An extended M function is
included in this (M3=17). When decoding the M function (M3 group 2), the associated signal
(DBW1.5) is set in the signal list (DB76) and the interface signal "Read-inhibit" in the 1st
channel. The execution of the NC program is stopped. Further, the "Extended address M
function" and the "M function number" are displayed in the channel DB of the 1st channel.
The "Read-in inhibit" signal in the 1st channel is reset once the user has reset all of the signals
output from this channel in the signal list (DB76), and has therefore acknowledged them.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
863
13.10.10
General
The user has the option of storing PLC-specific machine data in the NCK. These machine data
can then be processed during power-up of the PLC (OB100). This enables, for example, user
options, machine expansion levels, machine configurations, etc., to be implemented.
The interface to read this data is in DB20. However, DB20 is set up by the basic program
during powerup only when user machine data are used, i.e., sum of GP parameters "UDInt",
"UDHex" and "UDReal" is greater than ZERO.
The sizes of the individual areas, and hence the total length of the DB20, is set by the following
PLC machine data:
MD14504 $MN_MAXNUM_USER_DATA_INT
MD14506 $MN_MAXNUM_USER_DATA_HEX
MD14508 $MN_MAXNUM_USER_DATA_FLOAT
These settings are specified to the user in the GP parameters "UDInt", "UDHex" and "UDReal".
The data is stored in the DB20 by the GP seamlessly in the sequence:
1. Integer MD
2. Hexa-fields MD
3. Real MD
The integer and real values are stored in DB20 in S7 format.
Hexadecimal data is stored in DB20 in the order in which they are input (use as bit arrays).
'%
8VHUPDFKLQH
GDWDW\SH,17
1XPEHURI8',QW
8VHUPDFKLQH
GDWDW\SH%<7(
1XPEHURI8'KH[
8VHUPDFKLQH
GDWDW\SH5($/
1XPEHURI8'UHDO
864
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
If the number of PLC machine data used is increased later, then DB20 must be deleted
beforehand. To prevent such extensions in use having any effect on the existing user program,
the data in DB20 should be accessed in symbolic form wherever possible, e.g. by means of a
structure definition in the UDT.
Alarms
400120
Explanation
Reaction
Remedy
Continuation
Example
The project in the example requires 4 integer values, 2 hexadecimal fields with bit information
and 1 real value.
Machine data:
MD14510 $MN_USER_DATA_INT[0]
MD14510 $MN_USER_DATA_INT[1]
MD14510 $MN_USER_DATA_INT[2]
MD14510 $MN_USER_DATA_INT[3]
...
MD14512 $MN_USER_DATA_HEX[0]
MD14512 $MN_USER_DATA_HEX[1]
...
MD14514 $MN_USER_DATA_FLOAT[0]
GP parameter (OB100):
CALL FB1, DB7(
MCPNum :=
MCP1In :=
MCP1Out :=
MCP1StatSend :=
MCP1StatRec :=
MCP1BusAdr :=
MCP1Timeout :=
MCP1Cycl :=
NCCyclTimeout :=
NCRunupTimeout :=
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
123
456
789
1011
12
AC
123.456
1,
P#E0.0,
P#A0.0,
P#A8.0,
P#A12.0,
6,
S5T#700MS,
S5T#200MS,
S5T#200MS,
S5T#50S;
865
//=4,
//=2,
//=1 )
Data
0.0
123
2.0
456
4.0
789
6.0
1011
8.0
b#16#12
9.0
b#16#AC
10.0
1.234560e+02
ARRAY [0 .. 3] OF INT;
UDHex0 :
UDReal :
ARRAY [0 .. 0] OF REAL;
END_STRUCT;
END_TYPE
Note
ARRAY OF BOOL are always sent to even-numbered addresses. For this reason, an array
range of 0 to 15 must generally be selected in the UDT definition or all Boolean variables
specified individually.
Although only a REAL value is used initially in the example, a field (with one element) has
been created for the variable. This ensures that extensions can be made easily in the future
without the symbolic address being modified.
Symbolic accesses
An entry is made in the symbol table to allow data access in symbolic form:
866
Symbol
Operand
Data type
UData
DB20
UDT20
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
"UData".UDInt[0];
"UData".UDInt[1];
"UData".UDInt[2];
"UData".UDInt[3];
"UData".UDHex0[0];
"UData".UDHex0[1];
"UData".UDHex0[2];
"UData".UDHex0[3];
"UData".UDHex0[4];
"UData".UDHex0[5];
"UData".UDHex0[6];
"UData".UDHex0[7];
...
...
"UData".UDHex0[15];
"UData".UDReal[0];
...
13.10.11
General
Up to two machine control panels and one handheld unit can be in operation at the same time.
There are various connection options (Ethernet/PROFINET, PROFIBUS) for the machine
control panel (MCP) and handheld unit (HHU). It is possible to connect two MCPs to different
bus systems (mixed operation is only possible on Ethernet and PROFIBUS). This can be
achieved using FB1 parameter "MCPBusType". In this parameter, the right-hand decade (units
position) is responsible for the first MCP and the left-hand decade (tens position) for the second
MCP.
Parameterization of components is always performed by calling the basic program block FB1
in OB100. FB1 saves its parameters in the associated instance data block (DB7, symbolic
"gp_par"). Separate parameter sets are provided for each machine control panel and the
handheld unit. The input/output addresses of the user must be defined in these parameter
sets. These input and output addresses are also used in FC19, FC24, FC25, FC26 and FC13.
Further, the addresses for status information, PROFIBUS or Ethernet/PROFINET are also to
be defined. The default time settings for timeout and cyclic forced retriggering should not be
changed. Please refer to the Operator Components manual for further information on MCPs
and handheld unit components.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
867
Activation
Each component is activated either via the number of machine control panels ("MCPNum"
parameter) or, in the case of the handheld unit, via the "HHU" parameter. The MCP and HHU
connection settings are entered in FB1 parameters "MCPMPI", "MCPBusType" or "BHG",
"BHGMPI".
Configuration
Essentially, there are various communication mechanisms for transferring data between the
MCP/HHU and PLC. These mechanisms are characterized by the bus connection of the MCP
and HHU. In one case (Ethernet), data is transported via the "CP 840D sl".
The mechanism is parameterized completely via the MCP/HHU parameters in FB1.
In the other case the transmission is via the PLC operating system through the PROFIBUS
configuration.
The parameter setting is done via STEP 7 in HW-Config. To enable the basic program to
access the data and failure monitoring of MCP/HHU, the addresses set in FB1 parameters
must be made available to the basic program.
An overview of the various coupling mechanisms is shown below. Mixed operation can also
be configured.
If an error is detected due to a timeout monitor, an entry is made in the alarm buffer of the PLC
CPU (alarms 400260 to 400262). In this case, the input signals from the MCP or from the
handheld unit (MCP1In/MCP2In or BHGIn) are reset to 0. If it is possible to resynchronize the
PLC and MCP/HHU, communication is resumed automatically and the error message reset
by the GP.
Note
The abbreviation "(n.r.)" in the tables below means "Not relevant".
868
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
(WKHUQHW
&3
'VO
'
LQW
3
5
3/&
1&
0&3
0&3
++8
03,'3
'3
HHU
MCP1In
MCP2In
BHGIn
MCP1Out
MCP2Out
BHGOut
MCP1StatSend
MCP2StatSend
BHGStatSend
MCP1StatRec (n.r.)
MCP2StatRec (n.r.)
BHGStatRec
MCP1BusAdr
MCP2BusAdr
BHGInLen (n.r.)
MCP1Timeout (n.r.)
MCP2Timeout (n.r.)
BHGOutLen (n.r.)
MCP1Cycl (n.r.)
MCP2Cycl (n.r.)
BHGTimeout (n.r.)
MCPMPI = FALSE
BHGCycl (n.r.)
MCP1Stop
MCP2Stop
BHGRecGDNo
MCP1NotSend
MCP2NotSend
BHGRecGBZNo (n.r.)
BHGRecObjNo (n.r.)
BHGSendGDNo (n.r.)
BHGSendGBZNo (n.r.)
MCPSDB210= FALSE
BHGSendObjNo (n.r.)
MCPCopyDB77 = FALSE
BHGMPI = FALSE
BHGStop
BHG NotSend
An error entry is also made in the PLC alarm buffer for timeouts. As a result, the following error
messages are output at the HMI:
400260: MCP 1 failure
or
400261: MCP 2 failure
400262: HHU failure
An MCP or HHU failure is detected immediately after a cold restart even if no data has yet
been exchanged between the MCP/HHU and PLC.
The monitoring function is activated as soon as all components have signaled "Ready" after
powerup.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
869
870
Op2KeyIn
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Op1KeyOut
Op2KeyOut
OpKey1BusAdr
Op2KeyBusAdr
Op1KeyStop
Op2KeyStop
Op1KeyNotSend
Op2KeyNotSend
MCP identification
Via the identify interface in DB7 it is possible to query the type of the Ethernet component
(MCP, HT 2, HT 8 or direct keys) with the relevant parameters at the input/output in cyclic
operation:
Relevant parameters at the input:
"IdentMcpBusAdr", "IdentMcpProfilNo", "IdentMcpBusType", "IdentMcpStrobe"
Relevant parameters at the output:
"IdentMcpType", "IdentMcpLengthIn", "IdentMcpLengthOut"
Here the DIP device address or the TCU index at the parameter "IdentMcpBusAdr" is activated
by the user program together with setting of the Strobe signal.
The input parameter "IdentMcpProfilNo" is normally to be set to the value 0. This parameter
is to be set to the value 1 only in the identification of the direct keys. The parameter
"IdentMcpBusType" currently has no significance for a user program and is to be left in its
default value.
After resetting the Strobe signal by the basic program, valid output information becomes
available to the user. The resetting of the Strobe signals by the basic program can last for
several PLC cycles (up to two seconds).
The output parameters should show the user the size of the data areas for the addressed
device. Furthermore, it can be defined here whether an HT 2 or an HT 8 or no device is
connected to the connection box. With this information, the MCP channel or the HHU channel
can be activated. In the cyclic operation the parameters can be written symbolically by the user
program and read via the symbol names of the DB7 (gp_par).
Relevant parameters (FB1)
MCP device identification
Input
Output
IdentMcpBusAdr
IdentMcpType
IdentMcpBusProfilNo
IdentMcpLengthIn
IdentMcpBusProfilNo = Value 1
IdentMcpBusType
IdentMcpLengthOut
IdentMcpStrobe
IdentMcpBusProfilNo
Value
MCP, HHU, HT 8, HT 2
B#16#0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
871
B#16#1
IdentMcpType (Mcp-Type)
no device connected
B#16#80
MCP 483C IE
B#16#81
MCP 310
B#16#82
MCP OEM
B#16#83
MCP DMG
B#16#84
HT 8
B#16#85
B#16#86
MCP_MPP
B#16#87
HT 2
B#16#88
B#16#89
872
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
(WKHUQHW
1&.
&3
'VO
LQW3/&
0&3
0&3
++8
'
3
5
03,'3
'3
352),%86SURMHFW
IRU0&3++8
HHU
MCP1In
MCP2In
BHGIn
MCP1Out
MCP2Out
BHGOut
MCP1StatSend (n.r.)
MCP2StatSend (n.r.)
BHGStatSend
MCP1StatRec
MCP2StatRec
BHGStatRec
MCP1BusAdr
MCP2BusAdr
BHGInLen
MCP1Timeout
MCP2Timeout
BHGOutLen
MCP1Cycl (n.r.)
MCP2Cycl (n.r.)
BHGTimeout (n.r.)
MCPMPI = FALSE
MCP1Stop
MCPBusType = b#16#33
BHGCycl (n.r.)
MCP2Stop
BHGRecGDNo
BHGRecGBZNo (n.r.)
BHGRecObjNo (n.r.)
MCPSDB210= FALSE
BHGSendGDNo (n.r.)
MCPCopyDB77 = FALSE
BHGSendGBZNo (n.r.)
BHGSendObjNo (n.r.)
BHGMPI = FALSE
BHGStop
MCP failure normally switches the PLC to the STOP state. If this is undesirable, OB 82, OB
86 can be used to avoid a stop. The basic program has, as standard, the OB82 and OB86 call.
FC5 is called in these OBs. This FC5 checks whether the failed slave is an MCP. If this is the
case, no PLC stop is triggered. Setting "MCPxStop" := TRUE causes the basic program to
deactivate the MCP as a slave via SFC12. If the PLC does not switch to the stop state following
the failure or fault of the MCP, an alarm message will be generated via the basic program. The
interrupt is deleted when the station recovers.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
873
(WKHUQHW
1&.
&3
'VO
LQW3/&
0&3
0&3
++8
'
3
5
03,'3
'3
352),%86
FRQILJIRU0&3
HHU
MCP1In
MCP2In
BHGIn
MCP1Out
MCP2Out
BHGOut
MCP1StatSend (n.r.)
MCP2StatSend (n.r.)
BHGStatSend
MCP1StatRec
MCP2StatRec
BHGStatRec
MCP1BusAdr
MCP2BusAdr
BHGInLen
MCP1Timeout
MCP2Timeout
BHGOutLen
MCP1Cycl (n.r.)
MCP2Cycl (n.r.)
BHGTimeout (n.r.)
MCPMPI = FALSE
MCP1Stop
MCPBusType = b#16#44
BHGCycl (n.r.)
MCP2Stop
BHGRecGDNo
BHGRecGBZNo (n.r.)
BHGRecObjNo (n.r.)
MCPSDB210= FALSE
BHGSendGDNo (n.r.)
MCPCopyDB77 = FALSE
BHGSendGBZNo (n.r.)
BHGSendObjNo (n.r.)
874
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
HHU
BHGMPI = FALSE
BHGStop
MCP failure normally switches the PLC to the STOP state. If this is undesirable, then OB82,
OB86 can be used to avoid a PLC stop. The basic program has, as standard, the OB82 and
OB86 call. FC5 is called in these OBs. This FC5 checks whether the failed slave is an MCP.
If this is the case, no PLC stop is triggered. Setting MCPxStop:= TRUE causes the basic
program to deactivate the MCP as a slave via SFC12. If the PLC does not switch to the stop
state following the failure or fault of the MCP, an alarm message will be generated via the basic
program. The alarm is deleted when the station returns.
(WKHUQHW
1&.
&3
'VO
LQW3/&
0&3
0&3
++8
'
3
5
03,'3
'3
352),1(7
352),1(7
SURMHFWIRU0&3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
875
HHU
MCP1In
MCP2In
BHGIn
MCP1Out
MCP2Out
BHGOut
MCP1StatSend (n.r.)
MCP2StatSend (n.r.)
BHGStatSend
MCP1StatRec
MCP2StatRec
BHGStatRec
MCP1BusAdr (n.r.)
MCP2BusAdr (n.r.)
BHGInLen
MCP1Timeout
MCP2Timeout
BHGOutLen
MCP1Cycl
MCP2Cycl
BHGTimeout (n.r.)
MCPMPI = FALSE
MCP1Stop
BHGCycl (n.r.)
MCP2Stop
BHGRecGDNo
MCPBusType = b#16#36
BHGRecGBZNo (n.r.)
BHGSendGDNo (n.r.)
MCPCopyDB77 = FALSE
BHGSendGBZNo (n.r.)
BHGSendObjNo (n.r.)
BHGMPI = FALSE
BHGStop
MCP failure normally switches the PLC to the STOP state. If this is undesirable, then OB82,
OB86 can be used to avoid a PLC stop. The basic program has, as standard, the OB82 and
OB86 call. FC5 is called in these OBs. This FC5 checks whether the failed slave is an MCP.
If this is the case, no PLC stop is triggered. The input address at parameter MCPxIn is of
significance when monitoring for MCPxIn failure.
Setting MCPxStop:= TRUE causes the basic program to deactivate the MCP as a slave via
SFC12. If the PLC does not switch to the stop state following the failure or fault of the MCP,
an alarm message will be generated via the basic program. The alarm is deleted when the
station returns.
13.10.12
876
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Control signals
Parameters MCP1Stop, MCP2Stop and BHGStop can be used to stop communication with
individual components (parameter setting = 1). This stop or activation of communication can
be applied in the current cycle. However, the change in value must be implemented through
the symbolic notation of the parameters and not by means of another FB1 call.
Example: Stopping the transfer from the 1st machine control panel:
SET;
S gp_par.MCP1Stop;
HHU (Ethernet variant): FB1 parameter BHGRecGDNo = <bus address of the new
operator component>
4. Enable the communication (possible in the same PLC cycle as point 3): Parameter
MCP1Stop, MCP2Stop or BHGStop = 0
5. The communication with the new component is active when the following applies: : DB10,
DBX104.0, .1 or .2 == 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
877
A 11.6
A
11.7
...
13.11
13.12
Assignment overview
13.12.1
878
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.12.2
Assignment: FB/FC
Number
Meaning
FB15
Basic program
Basic program
FC0 ... 29
FB0 ... 29
FC30 ... 999
1)
The actual upper limit of the block number (FB/FC) depends on the PLC CPU on which the selected
NCU is located.
Note
Values of FC, FB see " Memory requirements of the basic PLC program (Page 897)".
13.12.3
Assignment: DB
Note
Only as many data blocks as are required according to the NC machine data configuration are
set up.
Name
1
2 ... 5
PLC-MELD
6 ... 8
Name
Pack
age
BP
PLC messages
BP
Basic program
NC-COMPILE
BP
10
NC INTERFACE
BP
11
Mode group 1
BP
12
13 ... 14
15
Basic program
16
PI Service definition
17
Version identifier
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
879
Name
Name
Pack
age
18
19
HMI interface
20
21 ... 30
CHANNEL 1 ... n
Interface NC channels
BP
31 ... 61
AXIS 1 ... m
BP
62 ... 70
71 ... 74
Tool management
75 ... 76
M group decoding
77
78 ... 80
81 ... 999 1)
1)
BP
The actual upper limit of the block number (DB) depends on the PLC CPU on which the selected
NCU is located. The data blocks of channels, axes/spindles and tool management functions that are
not activated may be assigned as desired by the user.
Note
The data blocks of channels, axes/spindles and tool management functions that are not
activated may be assigned as required by the user.
13.12.4
Assignment: Timers
Timer No.
T 0 ... T 512
1)
880
Significance
1)
User area
The actual upper limit of the timer number (DB) depends on the PLC CPU on which the selected NCU
is located.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.13
13.13.1
Function
Preselected programs/workpieces can be selected for machining by the NC via the PLC/HMI
interface.
The preselection is realized by entering programs/workpiece in files (these are known as PLC
program lists (*.ppl).
Preconditions
The following machine data must be set to allow the HMI to process tasks:
MD9106 $MM_SERVE_EXTCALL_PROGRAMS
In order to activate a sector-specific PLC program list, you must set the appropriate machine
data and at least the protection level password:
Area User
MD51041 $MN_ENABLE_PROGLIST_USER = 1
Protective level password: 3 (users)
Program list: /user/sinumerik/hmi/plc/programlist/plc_proglist_user.ppl
Area Manufacturer (OEM)
MD51043 $MN_ENABLE_PROGLIST_MANUFACT = 1
Protective level password: 1 (manufacturer)
Program list: /oem/sinumerik/hmi/plc/programlist/plc_proglist_manufacturer.ppl
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
881
Program list
129
/user/sinumerik/hmi/plc/programlist/plc_proglist_user.ppl
130
131
/oem/sinumerik/hmi/plc/programlist/plc_proglist_manufacturer.ppl
Program number
The program number refers to the programs contained in the selected program list.
882
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
No error
User specification Program list plc_proglist_main.ppl not found (only for DB19.DBB16 1,
2, 3)
883
See also
A2: Various NC/PLC interface signals and functions (Page 35)
13.13.2
13.13.3
Meaning
13.13.4
Number
Machine
201
Parameters
205
Programming
203
Program Manager
202
Diagnostics
204
Commissioning
206
Screen numbers
The current screen number is normally displayed in: DB19.DBW24
If the HMI monitor is active, the current screen number is no longer displayed in DB19.DBW24,
but instead in the user-specific configured area of the HMI monitor (Page 893).
884
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.13.4.1
JOG mode
Screen
Number
Turning technology
Cycle start screen for all screens that can be taken over
81
Milling technology
Cycle start screen for all screens that can be taken over
Turning/milling
Start screen
19
T,S,M
Set WO
21
Positioning
Face milling
18
Stock removal
80
91
General settings
106
107
108
Swiveling
60
All G functions
100
101
Thread synchronizing
102
Retract
103
Handwheel
104
Action synchronization
105
Turning technology: Workpiece zero
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
30
885
Number
User screen
31
User screen
34
User screen
35
User screen
36
User screen
37
User screen
38
User screen
40
Measure edge Z
5
Turning technology: Workpiece, measurement
50
51
Manual Y
71
52
53
User screen
54
User screen
55
56
57
Automatic length in Z
58
Automatic length in Y
73
Automatic length in X
59
Milling technology: Workpiece zero
886
30
Measure edge X
Measure edge X
22
Measure edge Z
23
User screen
31
32
Right-angled corner
33
Rectangular pocket
34
2 holes
35
3 holes
36
4 holes
37
Rectangular spigot
38
10
2 circular spigots
39
3 circular spigots
40
4 circular spigots
41
Set up level
42
11
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Number
12
Milling technology: Workpiece, measurement
50
16
74
24
17
13
75
25
14
User screen
51
15
52
96
98
99
94
95
92
97
90
83
82
93
84
85
86
87
88
Screen number
Turning/milling
Taper turning
61
Angle milling
62
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
887
888
Screen number
63
Straight line
1300
1330
Straight X alpha
1340
Straight Z alpha
1350
Circle
1360
Drilling
1400
Center drilling
1410
1420
Drilling, centering
1433
Drilling, drilling
1434
Drilling, reaming
1435
Drilling, boring
1436
1440
1441
Drilling, tapping
1453
1455
Positions
1473
Position row
1474
Position grid
1477
Position frame
1478
Position circle
1475
1479
Obstacle
1476
Turning
1500
1513
1514
1515
Turning, groove 1
1523
Turning, groove 2
1524
Turning, groove 3
1525
1533
1534
1535
1536
1543
1544
1545
1546
Turning, cut-off
1550
Milling
1600
1610
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Screen number
1613
1614
1623
1624
1633
1634
1635
Milling, multi-edge
1640
1454
Milling, engraving
1670
Contour turning
1200
1210
1220
1230
1240
Contour milling
1100
1110
1120
1130
1140
1150
Turning technology: Simulation
Side view
1740
Front view
1750
3D view
1760
2-window view
1770
Half section
1780
Turning technology: Simultaneous recording
Side view
1741
Front view
1751
3D view
1761
2-window view
1771
Machine space
1791
Half section
1781
Milling technology: Simulation
Top view
1742
3D view
1760
1744
1746
1748
1752
Half section
1780
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
889
Screen number
Turning view
1782
Milling technology: Simultaneous recording
13.13.4.2
Top view
1743
3D view
1761
1745
1747
1749
1753
Machine space
1791
Half section
1781
Turning view
1783
13.13.4.3
Number
MDA
20
All G functions
100
101
Handwheel
104
Action synchronization
105
Program control
210
Settings
250
890
101
13.13.4.4
Number
Number
Automatic
200
Overstore
202
Program control
210
Block search
220
General settings
250
106
107
All G functions
100
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Number
101
Handwheel
104
Action synchronization
105
Turning technology: Simultaneous recording
Side view
243
Front view
244
3D view
245
2-window view
246
Machine space
247
Half section
253
Milling technology: Simultaneous recording
13.13.4.5
Top view
242
3D view
244
248
249
251
252
Machine space
247
Half section
253
Turning view
254
Number
Tool list
600
Tool wear
610
620
Magazine
630
Work offset
642
643
644
645
647
User variable
R parameters
650
660
661
662
Global GUD 4
663
Global GUD 5
664
Global GUD 6
665
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
891
Number
Global GUD 7
666
Global GUD 8
667
Global GUD 9
668
690
691
692
Channel GUD 4
693
Channel GUD 5
694
Channel GUD 6
695
Channel GUD 7
696
Channel GUD 8
697
Channel GUD 9
698
Local LUD
681
Local LUD/PUD
684
Setting data
671
Spindle data
670
672
Ctrl-Energy
13.13.4.6
6170
Ctrl-Energy, analysis
6171
Ctrl-Energy, profiles
6172
6176
6177
6179
6178
Number
Turning technology: Simulation
Side view
413
Front view
414
3D view
415
2-window view
416
Half section
423
Milling technology: Simulation
892
Top view
412
3D view
414
418
419
421
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.13.4.7
422
Half section
423
Turning view
424
13.13.4.8
Number
NC directory
300
Local drive
325
330
Configured drive2
340
Configured drive3
350
Configured drive4
360
Configured drive5
383
Configured drive6
384
Configured drive7
385
Configured drive8
386
13.13.5
Number
Number
Alarm list
500
Messages
501
Alarm log
502
NC/PLC variable
503
HMI monitor
Function
The HMI monitor is an 8-byte data area in a freely selectable data block, in which the HMI can
provide the following data for the PLC user program:
Operating area numbers (Page 884)
Screen numbers (Page 884)
Parameterization
The data area is configured using the following display machine data:
MD9032 $MM_HMI_MONITOR = "string"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
893
Meaning
EB n + 0
EB n + 1
Reserved
EB n + 2
EB n + 3
EB n + 4
...
EB n + 7
Reserved
...
Reserved
Supplementary conditions
When the HMI monitoring is active, the following PLC/HMI interface signals are no longer
processed:
DB19.DBB10 (PLC hardkeys)
DB19.DBB21 (active SINUMERIK operating area)
DB19.DBW24 (current screen number)
Example
Assumptions
Current operating area: "Machine", number: 201
Actual screen: "AUTOMATIC" start screen, number: 200
PLC data area: DB60.DBB10
Parameterization
MD9032 $MM_HMI_MONITOR = "DB60.DBB10"
Values in the data area
DB60.DBB10: 201
DB60.DBW12: 200
894
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.14
13.14.1
Overview
Using the function described below, input and output data from drive components on the
integrated PROFIBUS can be consistently, cyclically read and written from the PLC user
program of the hardware PLC. The following boundary conditions must be observed:
For reading / writing input/output data, the system functions SFC14 / SFC15 must be used.
The reading / writing of input/output data is always over the entire slot length.
The function only supports cyclical, non-equidistant data transfer.
An output slot may not already be occupied on the NC side; (e.g. output slots of drives).
13.14.2
Performing a start-up
Preconditions
Before the function is put into operation on the NC side, the following preconditions must be
satisfied:
The drive components on the integrated PROFIBUS of the NCU must be fully configured
using SIMATIC STEP 7, HW Config.
The configuration is loaded into the PLC.
NC machine data
The start addresses of the slots to be transferred cyclically are to be entered into the following
machine data:
Input slots:
MD10520 $MN_PLCINTERN_LOGIC_ADDRESS_IN[<Index>] = <Slot address>
Output slots:
MD10525 $MN_PLCINTERN_LOGIC_ADDRESS_OUT[<Index>] = <Slot address>
<Index>: 0, 1, 2, ... (Max no. of slots) 1
<Slot address>: The slot address parameterized in HW Config
Note
Maximum quantity of data
The sum of all data to be cyclically transferred in inward and outward directions may not
currently exceed 2,048 bytes.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
895
13.14.3
Example
896
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.15
Function
Remark
Working memory
must be loaded /
on CF card
52182
FC2, 3, 5, 12
Must be loaded
470
DB4, 5, 7, 8
Must be loaded
1006
DB2, 3, 17
632
Must be loaded
398
Total
55698
PLC/NCK signals
Must be loaded
262
DB11
Is generated by BP
56
DB19
PLC/HMI signals
Is generated by BP
434
DB21 to 30
PLC/channel signals
416
DB31 to 61
148
92
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
897
92
FC24
100
FC26
68
144
Acquisition FM/BM
66
ASUB start
128
114
132
Handheld unit
FC13
FC10
ASUB
FC9
Star/delta switchover of
MSD
Spindle control
FC18
Spindle control
PLC/NC communication
FB2
Read NC variable
76
DBn
Read NC variable
270
FB3
Write NC variable
76
DBm
Write NC variable
270
FB4
PI services
76
DBo
PI services
130
DB16
PI services description
618
FB5
76
DBp
166
DB15
General communication
146
FB7
PI services 2
76
DBo
PI services 2
144
FC21
Transfer
164
Switchover M to N
Load with M to N
58
M to N
FB9
Safety Integrated
FB10
Safety relay
74
FB11
Brake test
76
DB18
Safety data
DB for Safety
308
Tool management
898
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Transfer function
turret
84
FC8
Transfer function
132
FC22
Direction selection
138
DB71
Loading locations
Generated by BP as a function of NC MD
40+30*B
DB72
Spindles
Generated by BP as a function of NC MD
40+48*Sp
DB73
Revolver
Generated by BP as a function of NC MD
40+44*R
DB74
Basic function
Generated by BP as a function of NC MD
100+(B+
Sp+R)*22
436
Compile cycles
DB9
Interface
PLC compile cycles
Example:
Based on the memory requirements in the table above, the memory requirements have been
determined for two sample configurations (see table below).
Block
Type, No.
Function
Remark
Working memory
54688
Interface DBs
1612
MCP
92
Total
Block
Type, No.
Function
Remark
56392
Working memory
54688
see above
Interface DBs
2768
see above
MCP
92
see above
Error/operating messages
66
see above
ASUBs
1 ASUB initiation
128
see above
Concurrent axis
For 2 turrets
132
see above
PLC/NC communication
838
see above
Tool management
674
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
899
Compile cycles
436
Total
59822
13.16
13.16.1
Supplementary conditions
13.16.1.1
Hardware
For the PLCs used in SINUMERIK 840D sl, the following equipment is required for the
programming devices or PCs:
Minimum
Recommendation
Processor
Pentium
Pentium
RAM (MB)
256
512 or more
Hard disk,
free capacity (MB)
500
> 500
Interfaces
Graphic
SVGA (1024*768)
Mouse
Yes
Operating system
The required version of STEP 7 can be installed on equipment meeting the above requirements
in cases where the package has not already been supplied with the programming device.
900
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
901
13.16.1.2
13.16.1.3
902
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.16.2
NC VAR selector
13.16.2.1
Overview
General
The PC application "NC VAR selector" retrieves the addresses of required NC variables and
processes them for access in the PLC program (FB2/FB3). This enables the programmer to
select NC variables from the entire range of NC variables, to store this selection of variables,
to edit them by means of a code generator for the STEP 7 compiler and finally to store them
as an ASCII file (*.AWL) in the machine CPU program. This process is shown in the figure "NC
VAR selector".
For storing the files created by NC-VAR-selector a catalog is to be implemented via the
Windows Explorer with any catalog name. The selected data of the NC-VAR selector
(data.VAR and data.AWL files) must be stored in this catalog. Thereafter, the STL file is to be
transferred and compiled via the menu option "Code" "in STEP 7 Project". The "data.AWL"
(STL data) file must then be inserted into the STEP 7 machine project via "Insert", "External
Source" in the STEP 7 Manager. The source container must be selected in the manager for
this purpose. This action stores this file in the project structure. Once the file has been
transferred, these AWL (STL) files must be compiled with STEP 7.
Note
The latest NC VAR selector can be used for each NC software version (even earlier versions).
For older NC software versions the variables can also be selected from the latest complete
list. The data content in DB120 (default DB for variables) does not depend on the software
status. That is, variables selected in an older software version need not be reselected when
the software is upgraded.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
903
3URMHFW
)XOOOLVW
YDUB
YDUB
YDUB
YDUB
6HOHFWHG
OLVW
*HQHUDWH
FRGH
YDUB
6HOHFWHG
OLVW
6DYH
YDU
PGE
DZO
+DUGGLVN
After the "NC VAR selector" application has been started, select a list of variables of an NC
variant (hard disk file Ncv.mdb) to display all the variables contained in this list in a window.
The following ncv*.mdb variable list is available:
Variables
List
ncv_NcData.mdb
ncv_SinamicsServo.mdb
The user can also transfer variables to a second list (separate window). This latter selection
of variables can then be stored in an ASCII file or edited as a STEP 7 source file (.awl) and
stored.
After generating a PLC data block by means of the STEP 7 compiler, the programmer is able
to read or write NCK variables via the basic program function blocks "PUT" and "GET" using
the STEP 7 file.
The list of selected variables is also stored as an ASCII file (file extension .var).
The variable list supplied with the "NC VAR selector" tool is adapted to the current NC software
version. This list does not contain any variables (GUD variables) defined by the user. These
variables are processed by the function block FB5 in the basic program.
Note
The latest version of the "NC VAR selector" is capable of processing all previous NC software
versions. It is, therefore, not necessary to install different versions of the "NC VAR selector"
in parallel.
904
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.16.2.2
Description of functions
Overview
The figure below illustrates how the NC VAR selector is used within the STEP 7 environment.
1&9$5VHOHFWRU
1&YDULDEOHV
OLVW
PGE
1DPH
67(3b
6HOHFWLRQ
OLVW
YDU
1DPH
DZOILOH
9DULDEOHV
1DPHYDOXH!
)LOH'%
9DULDEOHV
1DPHYDOXH!
8VHUGDWD
8,
&DOO)%9DU
9DU1DPH
9DU,'
$UHDXQLW
&ROXPQ
The NC VAR selector is used to generate a list of selected variables from a list of variables
and then to generate an .awl file that can be compiled by the STEP 7 compiler.
A *.awl file contains the names and alias names of the NC variables, as well as information
about their address parameters. Any data block generated from this file will only contain
the address parameters (10 bytes per parameter).
The generated data blocks must always be stored in the machine-specific file storage
according to STEP 7 specifications.
To ensure that the parameterization of the GET/PUT (FB2/3) blocks with respect to NC
addresses can be implemented with symbols, the freely assignable, symbolic name of the
generated data block must be included in the STEP 7 symbol table.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
905
906
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
If, after selection of the project, new variables are to be added, a complete list of NC variables
must be selected. No complete list need be called if the user only wishes to delete variables
from the project.
Storing a project
The variable list is stored using the "Project" > "Save" or "Save As...." menu items.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
907
Printing a project
The "Print" command under the "Project" menu item can be selected to print a project file. The
number of lines per page is selected under the "Print Setting" menu item. The default setting
is 77 lines.
Undoing actions
Operator actions relating to the creation of the project file (transfer variables, delete variables,
change alias names) can be undone in this menu.
908
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
The field variables (e.g. axis area, T area data, etc.) are indicated by means of brackets ([.]).
Additional information must be specified here. When the variables are transferred to the project
list, the additional information required is requested.
Displaying subsets
Double-click on any table field (with the exception of variable fields) to display a window in
which filter criteria can be preset.
Figure 13-25 Window with filter criteria for displaying list of variables
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
909
CHAN_NAME
chanAlarm
chanStatus
channelName
chanAssignment
Select variable
A variable is selected by means of a simple mouse click and transferred to the window of
selected variables by double-clicking. This action can also be undone under the "Edit" menu
item.
Alias name
The variable names provided can be up to 32 characters in length. To make variables clearly
identifiable in the data block to be generated, several ASCII characters are added to the
selected name. However, the STEP 7 compiler recognizes only 24 ASCII characters as an
unambiguous STEP 7 variable. Since it cannot be precluded that variable names can only be
differentiated by the last 8 character positions, ALIAS names are used for names, which are
too long. When a variable is selected, the length of the STEP 7 name to be used is, therefore,
checked. If the name is longer than 24 characters, the user must enter an additional name,
which is then used as the alias.
In this case, the user must ensure that the alias name is unambiguous.
Alias input can always be activated by the user in the "Options" menu.
An alias name can then be entered every time a variable is transferred.
It is also possible to edit alias names at a later point in time by double-clicking on the S7 variable
name field. This action can also be undone under the "Edit" menu item.
910
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Scrolling
A scroll bar is displayed if it is not possible to display all variables in the window. The remaining
variables can be reached by scrolling (page up/down).
Figure 13-27 Entry field for line, column and block no.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
911
Delete variables
Variables are deleted in the window of selected variables by selecting the appropriate variables
(single mouse click) and pressing the "Delete" key. No deletion action is taken with the doubleclick function. It is possible to select several variables for deletion (see Section "Example of
search criteria > Selecting variables").
This action can also be undone under the "Edit" menu item.
Note
Deleting of variables results in a change of the absolute addresses of the pointer structures to
the variables. When changing the variable selection, it is, therefore, absolutely necessary to
generate one or several text files of all user blocksprior to the change. This is the only way to
ensure that the assignment of the variables in FB "GET" or FB "PUT" remains correct, even
after recompilation.
Figure 13-28 Window for project path and name of file to be stored
912
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Code generation
This menu item contains three selection options:
1. Settings (input of data block number to be generated) and other settings
2. Generate (create data block)
3. In the STEP 7 project (transferring the data block to a STEP 7 project)
Settings
Under this menu item, the DB number and the symbol for this DB number for which the code
is created is entered.
Under the "Mass System" tab, a selection is made to determine how the unit system variables
are calculated in the PLC.
Under the "Generate" tab, the project creation is defined for the relevant target system.
Generate
Under this menu item, the STEP 7 file from the selected variable list with extension ".awl" is
set.
A file is generated when "Select" is clicked:
An .awl file that can be used as an input for the STEP 7 compiler.
A window opens, in which path and name for the .awl file to be generated must be specified
for the file to be saved.
In STEP 7 project
The generated STL file is transferred to a selectable SIMATIC project (program path) and
compiled. Furthermore, the symbol can also be transferred. This function is available as of
STEP 7 Version 5.1. This process takes a longer time owing to the call of STEP 7. Before
transferring a new STL file the file window of the STL file is to be closed in the LAD/FBD/STL
editor.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
913
13.16.2.3
Startup, installation
The Windows application "NC Var selector" is installed using the SETUP program supplied
with the package.
13.17
Block descriptions
13.17.1
Function
The synchronization of NC and PLC is performed during startup. The data blocks for the NC/
PLC user interface are created based on the NC configuration defined via machine data and
the basic program parameters are verified for plausibility. In the event of an error, FB1 passes
an error identifier to the diagnostic buffer and switches the PLC to the stop state.
"Restart" start-up mode
The integrated PLC only supports the start-up mode "Restart". After the basic system
initialization, the organization block OB100 "Restart" is always run through first, followed by
OB1 "Cyclic mode".
Input parameters
For parameterizing the basic program, only the respective relevant parameters of the function
block FB1 must be written with user-specific values. The preset values in the instance data
block DB7 of the FB1 do not need to be assigned. The function block FB1 must only be called
in the organization block OB100.
Output parameters
The output parameters of function block FB1 can also be read from the cyclical part of the
basic program. Two options are available for this purpose:
1. Direct access to the instance data block DB7 of FB1 in symbolic form.
Example: "L gp_par.MaxChan", with "gp_par" as the symbolic name of DB7
2. A bit memory is assigned to an output parameter when FB1 is parameterized. The bit
memory is then read in the basic program in order to determine the value of the output
parameter.
Example: "MaxChan":= MW 20
Note
For assigning the FB1 parameters for MCP and BHG, see "Configuration machine control
panel, handheld unit, direct keys (Page 867) ".
914
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
INT:=1;
// 0: No MCP
// 1: 1 MCP (default)
// 2: 2 MCPs
MCP1In:
POINTER;
MCP1Out:
POINTER;
MCP1StatSend:
POINTER;
MCP1StatRec:
POINTER;
MCP1BusAdr:
INT:=6;
// default
MCP1Timeout:
S5TIME:= S5T#700MS;
MCP1Cycl:
S5TIME:= S5T#200MS;
MCP2In:
POINTER;
MCP2Out:
POINTER;
MCP2StatSend:
POINTER;
MCP2StatRec:
POINTER;
MCP2BusAdr:
INT;
MCP2Timeout:
S5TIME:= S5T#700MS;
MCP2Cycl:
S5TIME:= S5T#200MS;
MCPMPI:
BOOL:= FALSE;
MCP1Stop:
BOOL:= FALSE;
MCP2Stop:
BOOL:= FALSE;
MCP1NotSend:
BOOL:= FALSE;
MCP2NotSend:
BOOL:= FALSE;
MCPSDB210:
BOOL:= FALSE;
MCPCopyDB77:
BOOL:= FALSE;
MCPBusType:
BYTE=B#16#0;
HHU:
INT:=0;
BHGIn:
POINTER;
BHGOut:
POINTER;
BHGStatSend:
POINTER;
BHGStatRec:
POINTER;
BHGInLen:
BYTE:= B#16#6;
// Input 6 bytes
BHGOutLen:
BYTE:= B#16#14;
// Output 20 bytes
BHGTimeout:
S5TIME:= S5T#700MS;
BHGCycl:
S5TIME:= S5T#100MS;
BHGRecGDNo:
INT:=2;
BHGRecGBZNo:
INT:=2;
BHGRecObjNo:
INT:=1;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
915
INT:=2;
BHGSendGBZNo:
INT:=1;
BHGSendObjNo:
INT:=1;
BHGMPI:
BOOL:= FALSE;
BHGStop:
BOOL:= FALSE;
BHGNotSend:
BOOL:= FALSE;
NCCyclTimeout:
S5TIME:= S5T#200MS;
NCRunupTimeout:
S5TIME:= S5T#50S;
ListMDecGrp:
INT:=0;
NCKomm:
BOOL:= FALSE;
MMCToIF:
BOOL:=TRUE;
HWheelMMC:
BOOL:=TRUE;
ExtendAlMsg :
BOOL;
MsgUser:
INT:=10;
UserIR:
BOOL:= FALSE;
BOOL:= FALSE;
IRAuxfuH:
BOOL:= FALSE;
IRAuxfuE:
BOOL:= FALSE;
UserVersion:
POINTER;
OpKeyNum :
INT;
Op1KeyIn
POINTER;
Op1KeyOut :
POINTER;
Op1KeyBusAdr :
INT;
Op2KeyIn :
POINTER;
Op2KeyOut :
POINTER;
Op2KeyBusAdr :
INT;
Op1KeyStop :
BOOL;
Op2KeyStop :
BOOL;
Op1KeyNotSend :
BOOL;
Op2KeyNotSend :
BOOL;
OpKeyBusType :
BYTE ;
IdentMcpBusAdr :
INT;
IdentMcpProfilNo : BYTE ;
IdentMcpBusType : BYTE ;
IdentMcpStrobe :
BOOL;
END_VAR
VAR_OUTPUT
916
MaxBAG:
INT;
MaxChan:
INT;
MaxAxis:
INT;
ActivChan:
ARRAY[1..10] OF
BOOL;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
ARRAY[1..31] OF
BOOL;
UDInt :
INT;
UDHex:
INT;
UDReal :
INT;
IdentMcpType :
BYTE ;
IdentMcpLengthIn : BYTE ;
IdentMcpLengthOut BYTE ;
:
END_VAR
Typ
e
Type
Value range
Description
MCPNum:
INT
0, 1, 2
MCP1In:
POINTER
POINTER
POINTER
Currently no significance
MCP2In:
MCP1Out:
MCP2Out:
MCP1StatSend:
MCP2StatSend:
MCP1StatRec:
POINTER
INT
MCP2StatRec:
MCP1BusAdr:
MCP2BusAdr:
MCP1Timeout:
1, 2, 3 ... 126
192, 193, 194 .. 223
S5time
Recommendation: 700 ms
S5time
Recommendation: 200 ms
MCPMPI:
BOOL
FALSE
MCP1Stop:
BOOL
0 (FALSE), 1 (TRUE)
MCP2Timeout:
MCP1Cycl:
MCP2Cycl:
MCP2Stop:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
917
Typ
e
Type
Value range
MCP1NotSend :
MCP2NotSend:
BOOL
0 (FALSE), 1 (TRUE)
MCPSDB210:
BOOL
MCPCopyDB77:
MCPBusType:
Description
0: Send and receive operation activated
1: Receive machine control panel signals
only
false
BOOL
false
BYTE
3, 4, 5, 6
b#16#yx:
Bus type MCP1: lower nibble (x)
Bus type MCP2: upper nibble (y)
3: PROFIBUS
4: PROFIBUS on the MPI/DP port
5: Ethernet
6: PROFINET
Mixed mode is possible (see Chapter "Con
figuration machine control panel, handheld
unit, direct keys (Page 867)")
HHU:
INT
0, 5
BHGIn:
POINTER
BHGOut:
POINTER
BHGStatSend:
POINTER
BHGStatRec:
POINTER
BHGInLen:
BYTE
HHU default:
B#16#6 (6 Byte)
BHGOutLen:
BYTE
HHU default:
B#16#14 (20 Byte)
BHGTimeout:
S5time
Recommendation: 700 ms
BHGCycl:
S5time
Recommendation: 100 ms
BHGRecGDNo:
INT
HHU default: 2
BHGRecGBZNo:
INT
HHU default: 2
BHGRecObjNo:
INT
HHU default: 1
918
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Typ
e
Type
Value range
Description
BHGSendGDNo:
INT
HHU default: 2
BHGSendGBZNo:
Int
HHU default: 1
BHGSendObjNo:
INT
HHU default: 1
BHGMPI:
BOOL
0 (FALSE)
BHGStop:
BOOL
0 (FALSE), 1 (TRUE)
BHGNotSend:
BOOL
0 (FALSE), 1 (TRUE)
NCCyclTimeout:
S5time
Recommendation: 200 ms
NCRunupTimeout:
S5time
Recommendation: 50 s
ListMDecGrp:
INT
0, 1, 2 ... 16
NCKomm:
BOOL
0 (FALSE), 1 (TRUE)
MMCToIF:
BOOL
0 (FALSE), 1 (TRUE)
HWheelMMC:
BOOL
0 (FALSE), 1 (TRUE)
ExtendAlMsg :
BOOL
0 (FALSE), 1 (TRUE)
MsgUser:
INT
0, 1, 2 ... 64
UserIR:
BOOL
0 (FALSE), 1 (TRUE)
IRAuxfuT:
BOOL
0 (FALSE), 1 (TRUE)
IRAuxfuH:
BOOL
0 (FALSE), 1 (TRUE)
IRAuxfuE:
BOOL
0 (FALSE), 1 (TRUE)
UserVersion:
POINTER
P#DBn.DBXx.0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
919
Typ
e
Type
Value range
INT
0, 1, 2
Description
Number of active direct control key mod
ules
0: No Ethernet direct control keys availa
ble.
Op1KeyIn:
Op2KeyIn:
POINTER
P#Ex.0
or
P#Mx.0
or
P#DBn.DBXx.0.
Op1KeyOut :
POINTER
P#Ax.0
or
P#Mx.0
or
P#DBn.DBXx.0.
INT
1, 2, 3 ... 191
BOOL
0 (FALSE), 1 (TRUE)
Op2KeyOut :
Op1KeyBusAdr :
Op2KeyBusAdr :
Op1KeyStop :
Op2KeyStop :
Op1KeyNotSend :
BOOL
0 (FALSE), 1 (TRUE)
Op2KeyNotSend :
OpKeyBusType :
BYTE
b#16#55
IdentMcpBusAdr :
INT
1, 2, 3 ... 254
IdentMcpProfilNo :
BYTE
0, 1
Ethernet
only IE devices
Profile of a device
0: Complete device
1: Only direct control keys
IdentMcpBusType :
BYTE
b#16#5
IdentMcpStrobe :
BOOL
0 (FALSE), 1 (TRUE)
MaxBAG:
INT
1, 2, 3 ... 10
MaxChan:
INT
1, 2, 3 ... 10
Number of channels
MaxAxis:
INT
1, 2, 3 ... 31
Number of axes
ActivChan:
ARRAY[1...10]
OF BOOL
0 (FALSE), 1 (TRUE)
ActivAxis:
ARRAY [1..31]
OF BOOL
0 (FALSE), 1 (TRUE)
UDInt :
INT
0,
UDHex:
INT
---
UDReal :
INT
---
IdentMcpType :
BYTE
0, B#16#80, B#16#81,
B#16#82 ... B#16#89
IdentMcpLengthIn :
BYTE
---
IdentMcpLengthOut :
BYTE
---
920
only IE devices
1: Activate query
MCP type
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
BYTE ;
OB100_STRTUP :
BYTE ;
OB100_PRIORITY :
BYTE ;
OB100_OB_NUMBR :
BYTE ;
OB100_RESERVED_1 :
BYTE ;
OB100_RESERVED_2 :
BYTE ;
OB100_STOP :
WORD;
OB100_RESERVED_3 :
WORD;
OB100_RESERVED_4 :
WORD;
OB100_DATE_TIME :
DATE_AND_TIME;
END_VAR
BEGIN
CALL FB1, DB7(
MCPNum :=
1,
MCP1In :=
P#E0.0,
MCP1Out :=
P#A0.0,
MCP1StatSend :=
P#A8.0,
MCP1StatRec :=
P#A12.0,
MCP1BusAdr :=
6,
MCP1Timeout :=
S5T#700MS,
MCP1Cycl :=
S5T#200MS,
NC-CyclTimeout :=
S5T#200MS,
NC-RunupTimeout :=
S5T#50S);
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
921
13.17.2
Function
The FB2 "GET" function block is used to read variables from the NC area.
In order to reference the NC variables, they are first selected with the "NC VAR selector" tool
and generated as STL source in a data block. A name must then be assigned to this data block
in the S7 symbol table. When calling FB2, the variable addresses are transferred in the
following form: Parameter "Addr1" to "Addr8" = "<DB name>.<S7 name>"
Request for reading NC variables
Call of FB2 with positive edge change, parameter "Req" = 0 1
S7 names of the NC variables: Parameter "Addr1" to "Addr8" = "NCVAR".<S7 name>"
Pointer for writing the variable values: Parameters "RD1" to "RD8" = "P#<Address>"
Completion of the read request
Read request successfully completed: Parameter "Done" == 1.
Read request completed with error:"Parameter "Error" == 1, error cause in parameter "State"
Prerequisites
Release of the NC/PLC communication by OB100, FB1 parameter "NCKomm" = 1
For the data block DB120 (data interface), the S7 Symbol Editor must be used to assign a
symbol (default: NCVAR) in the S7 symbol table of the S7 project. Via this symbol, the NC
variable is then specified in the FB2 parameters "Addr<x>", e.g. "ADDR1: = "NCVAR".<NC
variable>"
General conditions
FB2 has multi-instance capability.
Every call of FB2 must be assigned a separate instance DB from the user area.
When channel-specific variables are read, only variables from exactly one channel may be
addressed via "Addr1" to "Addr8" if FB2 is called.
When drive-specific variables are read, only variables from exactly one SERVO drive object
may be addressed via "Addr1" to "Addr8" if FB2 is called. The SERVO drive object must
be assigned to a machine axis of the NC. The line index corresponds to the logical drive
number.
In a read job, only variables from the same area, channel, or drive object can be read.
Note
Error case
When reading variables from different channels or drive objects, or simultaneously from a
channel and a drive object, an error message is output:
"Error" == TRUE
"State" == W#16#02
922
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Variable addressing
For some NC variables, it is necessary to select "Area no." and/or "Line" or "Column" from the
NC VAR selector. It is possible to select a basic type, i.e. "Area no.", "Line" and "Column" are
preassigned "0". The values of the "Area no.", "Line" and "Column" specified by the NC VAR
selector are checked for a "0" in FB2. If an NC-VAR selector value == "0", the corresponding
value of the FB2 parameter is adopted. To do this, the FB2 parameters "Unit<x>", "Column<x>"
and "Line<x>", with <x> = 1 - 8, must be written before FB2 is called.
Table 13-1
Parameter match
FB2 parameter
NC VAR selector
Unit
Area no.
Column
Column
Line
Line
Area
C[1]
C[2]
V[.]
H[.]
---
---
---
The same rules apply for channels 3 to 10 as for group 1 and group 2 shown in the example.
Note
The number of usable variables can be less than eight when simultaneously reading several
variables of the "String" type.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
923
BOOL;
NumVar :
INT;
Addr1 :
ANY;
Unit1 :
BYTE ;
Column1 :
WORD;
Line1 :
WORD;
Addr2 :
ANY;
Unit2 :
BYTE ;
Column2 :
WORD;
Line2 :
WORD;
Addr3 :
ANY;
Unit3 :
BYTE ;
Column3 :
WORD;
Line3 :
WORD;
Addr4 :
ANY;
Unit4 :
BYTE ;
Column4 :
WORD;
Line4 :
WORD;
Addr5 :
ANY;
Unit5 :
BYTE ;
Column5 :
WORD;
Line5 :
WORD;
Addr6 :
ANY;
Unit6 :
BYTE ;
Column6 :
WORD;
Line6 :
WORD;
Addr7 :
ANY;
Unit7 :
BYTE ;
Column7 :
WORD;
Line7 :
WORD;
Addr8 :
ANY;
Unit8 :
BYTE ;
Column8 :
WORD;
Line8 :
WORD;
END_VAR
VAR_OUTPUT
Error :
BOOL;
NDR :
BOOL;
State :
WORD;
END_VAR
924
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
VAR_IN_OUT
RD1 :
ANY;
RD2 :
ANY;
RD3 :
ANY;
RD4 :
ANY;
RD5 :
ANY;
RD6 :
ANY;
RD7 :
ANY;
RD8 :
ANY;
END_VAR
Typ
e
Type
Value range
Description
Req:
BOOL
---
NumVar:
INT
1 ... 8
Addr1 - Addr8:
ANY
"DBName".<VarName>
Unit1 - Unit8:
BYTE
---
Column1 Column8:
WORD
---
Line1 - Line8:
WORD
---
Error:
BOOL
0 (FALSE), 1 (TRUE)
1: Negative acknowledgement of
job or execution of job impossible
NDR :
BOOL
0 (FALSE), 1 (TRUE)
State:
WORD
---
RD1 - RD8:
I/O
ANY
P#DBnr.dbxm.n BYTE x
Error identifiers
NC variables
State
Description
Note
High byte
Low byte
1-8
Access error
---
Error in job
1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
925
Low byte
1)
Description
Note
Negative acknowledgement,
job not executable
1-8
Insufficient local user memo Data type of the read variable is greater than
ry available
specified in "RD1" - "RD8"
FIFO full
1-8
Transmission occupied
1-8
10
11
12
NumVar == 0
1-8
13
ANY data reference incorrect Requested "NcVar" data has not been para
meterized
1) High byte > 0 Number of the variable in which the error occurred
Drive-specific variables
If an error occurs while reading/writing a drive-specific variable (DB1200.DBX3000.1 == 1),
an error number is displayed in the access result which is based on the error numbers defined
in the PROFIdrive profile.
State
x
Description
<Error number of PROFIdrive profile> + 20H or 36D
Configuration steps
Proceed as follows to read NC variables:
Select variables with the NC VAR selector.
Save selected variables in a *.VAR file.
Generate a STEP 7 *.STL source file.
926
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Pulse diagram
5HT
1'5
(UURU
Call example
Reading three channel-specific machine data from channel 1, whose address specifications
are stored in DB120.
Specification of data
The data is selected with the NC VAR selector and saved in the DB120.VAR file. Then the
DB120.AWL file is created from this.
S7 (ALIAS) names are selected.
To adopt the channel designation into the variable name and to delete the characters "[" and
"]", which are not permitted in a STEP 7 symbol, new S7 names are selected:
Area
Block
Type
No.
C[1]
Name
MD20070 $MC_AXCONF_MA
CHAX_USED[1]
CHAR
20070
C1AxConfMachAxUsed1
C[1]
MD20070 $MC_AXCONF_MA
CHAX_USED[2]
CHAR
20070
C1AxConfMachAxUsed2
C[1]
MD20090 $MC_SPIND_DEF_MAS
TER_SPIND
INT
20090
C1SpindDefMasterSpind
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Byte S7 Name
927
Operand
Data type
NCVAR
DB120
DB120
FB2
BEGIN
END_DATA_BLOCK
Function FC "VariablenCall" : VOID
U
I 7.7;
M 100.0;
// Activate req.
M 100.1;
M 100.0;
// Terminate job
I 7.6;
M 102.0;
// Error pending
M 100.0;
// Terminate job
M 100.0,
NumVar :=
3,
Addr1 :=
"NCVAR".C1AxConfMachAxUsed1,
Addr2 :=
"NCVAR".C1AxConfMachAxUsed2,
Addr3 :=
"NCVAR".C1SpindDefMasterSpind,
Error :=
M102.0,
NDR :=
M100.1,
State :=
MW104,
RD1 :=
P#DB99.DBX0.0 BYTE 1,
RD2 :=
P#DB99.DBX1.0 BYTE 1,
RD3 :=
928
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
BYTE := B#16#82;
area_and_unit :
BYTE := B#16#41;
column :
WORD := W#16#1;
line :
WORD := W#16#0;
block type :
BYTE := B#16#15;
NO. OF LINES :
BYTE := B#16#1;
type :
BYTE := B#16#F;
length :
BYTE := B#16#8;
END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK
CALL FB2, DB110(
Req :=
M 0.0,
NumVar :=
2,
Addr1 :=
"NCVAR".C1_RP_rpa0_0,
Line1 :=
W#16#1,
Addr2 :=
"NCVAR".C1_RP_rpa0_0,
Line2 :=
W#16#2,
Error :=
M 1.0,
NDR :=
M 1.1,
State :=
MW 2,
RD1 :=
RD2 :=
S7 data type
DOUBLE
REAL
DOUBLE
REAL2
FLOAT
REAL
LONG
DINT
INTEGER
DINT
UINT_32
DWORD
INT_16
INT
UINT_16
WORD
UNSIGNED
WORD
CHAR
CHAR or BYTE
STRING
STRING
BOOL
BOOL
DATETIME
DATE_AND_TIME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
929
13.17.3
Function
The FB3 "PUT" function block is used to write variables from the NC area.
In order to reference the NC variables, they are first selected with the "NC VAR selector" tool
and generated as STL source in a data block. A name must then be assigned to this data block
in the S7 symbol table. When calling FB3, the variable addresses are transferred in the
following form: Parameter "Addr1" to "Addr8" = "<DB name>".<S7 name>
Request for writing NC variables
Call of FB3 with positive edge change, parameter "Req" = 0 1
S7 names of the NC variables: Parameter "Addr1" to "Addr8" = "NCVAR".<S7 name>"
Pointer for writing the variable values: Parameters "RD1" to "RD8" = "P#<Address>"
Completion of the write request
Write request successfully completed: Parameter "Done" == 1.
Write request with error completed:"Parameter "Error" == 1, error cause in parameter "State"
Prerequisites
Release of the NC/PLC communication by OB100, FB1 parameter "NCKomm" = 1
For the data block DB120 (data interface), the S7 Symbol Editor must be used to assign a
symbol (default: NCVAR) in the S7 symbol table of the S7 project. Via this symbol, the NC
variable is then specified in the FB3 parameters "Addr<x>", e.g. "ADDR1":= "NCVAR".<NCVariable>"
General conditions
FB3 has multi-instance capability.
Every call of FB3 must be assigned a separate instance DB from the user area.
In order to define machine data and GUD without a password, the protection level of the
data you want to access must be redefined to the lowest level.
References:
Commissioning Manual; Section: "Protection levels concept"
Programming Manual, Job Planning; Section: "Define protection levels for user data"
When channel-specific variables are written, only variables from exactly one channel may
be addressed via "Addr1" to "Addr8" if FB2 is called.
930
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Variable addressing
For some NC variables, it is necessary to select "Area no." and/or "Line" or "Column" from the
NC VAR selector. It is possible to select a basic type, i.e. "Area no.", "Line" and "Column" are
preassigned "0". The values of the "Area no.", "Line" and "Column" specified by the NC VAR
selector are checked for a "0" in FB2. If an NC-VAR selector value == "0", the corresponding
value of the FB3 parameter is adopted. To do this, the FB3 parameters "Unit<x>", "Column<x>"
and "Line<x>", with <x> = 1 - 8, must be written before FB3 is called.
FB3 parameter
NC VAR selector
Unit<x>
Area no.
Column<x>
Column
Line<x>
Line
Area
C[1]
C[2]
V[.]
H[.]
---
---
---
The same rules apply for channels 3 to 10 as for group 1 and group 2 shown in the example.
Note
The number of usable variables can be less than eight when simultaneously writing several
variables of the "String" type.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
931
BOOL;
NumVar :
INT;
Addr1 :
ANY;
Unit1 :
BYTE ;
Column1 :
WORD;
Line1 :
WORD;
Addr2 :
ANY;
Unit2 :
BYTE ;
Column2 :
WORD;
Line2 :
WORD;
Addr3 :
ANY;
Unit3 :
BYTE ;
Column3 :
WORD;
Line3 :
WORD;
Addr4 :
ANY;
Unit4 :
BYTE ;
Column4 :
WORD;
Line4 :
WORD;
Addr5 :
ANY;
Unit5 :
BYTE ;
Column5 :
WORD;
Line5 :
WORD;
Addr6 :
ANY;
Unit6 :
BYTE ;
Column6 :
WORD;
Line6 :
WORD;
Addr7 :
ANY;
Unit7 :
BYTE ;
Column7 :
WORD;
Line7 :
WORD;
Addr8 :
ANY;
Unit8 :
BYTE ;
Column8 :
WORD;
Line8 :
WORD;
END_VAR
VAR_OUTPUT
Error :
BOOL;
Done :
BOOL;
State :
WORD;
END_VAR
VAR_IN_OUT
932
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
ANY;
SD2 :
ANY;
SD3 :
ANY;
SD4 :
ANY;
SD5 :
ANY;
SD6 :
ANY;
SD7 :
ANY;
SD8 :
ANY;
END_VAR
Typ
e
Type
Value range
Description
Req:
BOOL
NumVar:
INT
1 ... 8
Addr1 - Addr8:
ANY
"DBName".<VarName>
Unit1 - Unit8:
BYTE
Column1 - Column8:
WORD
Line1 - Line8:
WORD
Error:
BOOL
0 (FALSE), 1 (TRUE)
Done:
BOOL
0 (FALSE), 1 (TRUE)
State:
WORD
SD1 - SD8:
I/O
ANY
Data to be written
P#DBnr.dbxm.n BYTE x
Error identifiers
NC variables
State
Description
Note
High byte
Low byte
1- 8
Access error
---
Error in job
Negative acknowledgement,
job not executable
1)
Check job
NC reset
1- 8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
933
Description
Note
FIFO full
1- 8
Transmission occupied
1- 8
10
11
High byte
Low byte
0
0
1)
12
NumVar == 0
1- 8
13
ANY data reference incorrect Requested "NcVar" data has not been para
meterized
1- 8
15
1) High byte > 0 Number of the variable in which the error occurred
Drive-specific variables
If an error occurs while reading/writing a drive-specific variable (DB1200.DBX3000.1 == 1),
an error number is displayed in the access result which is based on the error numbers defined
in the PROFIdrive profile.
State
x
Description
<Error number of PROFIdrive profile> + 20H or 36D
Configuration steps
To write NC variables, the same configuration steps are required as for reading NC variables.
It is useful to store the address data of all NC variables to be read or written in a DB.
934
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Pulse diagram
5HT
'RQH
(UURU
Call example
Writing of three channel-specific machine data of channel 1:
Selection of three data with NC VAR selector and storage in file DB120.VAR
S7 (ALIAS) names are selected in order to adopt the block designation into the name and to
remove the characters [ ], which are not permitted in a STEP 7 symbol.
Area
Block
Name
Type
Byte
S7 Name
C[1]
RP
rpa[5]
DOUBLE
rpa_5C1RP
C[1]
RP
rpa[11]
DOUBLE
rpa_11C1RP
C[1]
RP
rpa[14)
DOUBLE
rpa_14C1RP
Operand
Data type
NCVAR
DB120
DB120
FB3
BEGIN
Function FC "VariablenCall" : VOID
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
935
I 7.7;
M 100.0;
// Activate req.
M 100.1;
M 100.0;
// Terminate job
I 7.6;
M 102.0;
// Error pending
M 100.0;
// Terminate job
M 100.0,
NumVar :=
3,
Addr1 :=
"NCVAR".rpa_5C1RP,
Addr2 :=
"NCVAR".rpa_11C1RP,
Addr3 :=
"NCVAR".rpa_14C1RP,
Error :=
M102.0,
Done :=
M100.1,
State :=
MW104,
SD1 :=
P#DB99.DBX0.0 REAL 1,
SD2 :=
P#DB99.DBX4.0 REAL 1,
SD3 :=
BYTE := B#16#82;
area_and_unit :
BYTE := B#16#41;
column :
WORD := W#16#1;
line :
WORD := W#16#0;
block type :
BYTE := B#16#15;
NO. OF LINES :
BYTE := B#16#1;
type :
BYTE := B#16#F;
length :
BYTE := B#16#8;
END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK
CALL FB3, DB122(
936
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
M 10.0,
NumVar :=
2,
Addr1 :=
"NCVAR".C1_RP_rpa0_0,
Line1 :=
W#16#1,
Addr2 :=
"NCVAR".C1_RP_rpa0_0,
Line3 :=
W#16#2
Error :=
M 11.0,
Done :=
M 11.1,
State :=
MW 12,
SD1 :=
SD2 :=
13.17.4
13.17.4.1
Function
The function block FB4 "PI_SERV" is used to start PI services.
The available PI services are described in the following chapters with their specific parameters.
An overview of the available PI services can be found in: List of available Pl services
(Page 941)
Note
Due to the large number of "WVar" parameters, it is recommended that you use the function
block FB7 instead of FB4. See Chapter "FB7: PI_SERV2 - request PI service (Page 973)".
Start of a PI service
Request to start a PI service: Call of FB4 with positive edge change, parameter "Req" = 0 1
Completion of a PI service
Job or PI service successfully completed: Parameter "Done" == 1.
Job or PI service completed with error:"Parameter "Error" == 1, error cause in parameter "State"
Prerequisites
Release of the NC/PLC communication by OB100, FB1 parameter "NCKomm" = 1
For the data block DB16 (data interface of the PI services), the S7 Symbol Editor must be
used to assign a symbol (default: PI) in the S7 symbol table of the S7 project. The requested
PI service is then specified via this symbol in the FB4 parameter "PIService", e.g.
"PIService:= "PI".<PI service>"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
937
Req :
BOOL;
PIService :
ANY;
Unit :
INT;
Addr1 :
ANY;
Addr2 :
ANY;
Addr3 :
ANY;
Addr4 :
ANY;
WVar1 :
WORD;
WVar2 :
WORD;
WVar3 :
WORD;
WVar4 :
WORD;
WVar5 :
WORD;
WVar6 :
WORD;
WVar7 :
WORD;
WVar8 :
WORD;
WVar9 :
WORD;
WVar10 :
WORD;
END_VAR
VAR_OUTPUT
Error :
BOOL;
Done :
BOOL;
State :
WORD;
END_VAR
938
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Ty
pe
Type
Value range
Description
Req:
BOOL
0 (FALSE), 1 (TRUE)
Job request
PIService:
ANY
"<DBName>".<PI serv
ice>
Requested PI service
<DBName>: symbol name for
DB16, default: "PI"
<PI service>: List of available Pl
services (Page 941)
Unit:
INT
1, 2, 3 ...
Addr1 to Addr4:
ANY
"<DBName>".<Var
Name>
WVar1 to WVar10:
WORD
Error:
BOOL
0 (FALSE), 1 (TRUE)
Area number
Reference to a string
Significance depending on selected PI
service
INTEGER or WORD variable
Significance depending on selected PI
service
Error status
1: Negative acknowledgment of job or
execution of job impossible
Done:
BOOL
0 (FALSE), 1 (TRUE)
State:
WORD
1)
Job status
1: Job successfully executed
Error detection
Only relevant if "Error" == 1
1)
State
Description
Note
FIFO full
Transmission occupied
13
14
PI service is unknown
15
Call example
Function: Program selection in channel 1 (main program and workpiece program)
Entry of PI service for DB16 and STR for DB124 using the S7 SYMBOL editor:
Parameterization
Symbol
Operand
Data type
PI
DB16
DB16
STR
DB124
DB124
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
939
DATA_BLOCK DB126
FB4
BEGIN
END_DATA_BLOCK
// -----------------------------------------------------------------------DATA_BLOCK DB124
STRUCT
PName:
string[32]:= '_N_TEST_MPF
';
// Main program
Path:
string[32]:= '/
_N_MPF_DIR/';
PName_WST:
Path_WST:
END_STRUCT
BEGIN
END_DATA_BLOCK
// ------------------------------------------------------------------------Function FC "PICall" : VOID
U
I 7.7;
M 0.0;
// Activate req.
M 1.1;
M 0.0;
// Terminate job
I 7.6;
M 1.0;
// Error pending
M 0.0;
// Terminate job
M0.0,
PIService:=
"PI".SELECT,
// PI service: SELECT
Unit:=
1,
// Channel 1
Addr1:=
"STR".Path,
Addr2:=
"STR".PName,
// Addr1:=
"STR".Path_WST,
// Workpiece: Path
// Addr2:=
"STR".PName_WST,
// Workpiece: Program
Error:=
M1.0,
Done:=
M1.1,
State:=
MW2
);
940
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Flow diagram
5HT
'RQH
(UURU
13.17.4.2
Function
Assign interrupt
Execute cancel
Digitizing on
Digitizing off
Activate password
Reset password
Trigger NC-RESET
Function
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
941
13.17.4.3
PI service
Function
Delete tool
Create multitool
Delete multitool
Position multitool
PI service: ASUB
Function: Assign interrupt
A program stored on the NCK is assigned an interrupt signal of a channel. The program must
be executable and the path and program name must be specified completely and correctly.
For detailed information, please refer to:
References
Programming Manual, Job Planning; Section: "File and Program Management" > "Program
Memory".
Description of formal parameters
942
Signal
Type
Value range
PIService:
ANY
"PI".ASUP
Unit:
INT
1, 2, 3 ... 10
Description
Assign interrupt 1)
Channel
Addr1:
STRING
Path name
Addr2
STRING
Program name
WVar1:
WORD
1, 2, 3 ... 8
Interrupt number
WVar2:
WORD
1, 2, 3 ... 8
Priority
WVar3:
WORD
0, 1
LIFTFAST 2)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Value range
Description
WVar4:
WORD
0, 1
BLSYNC 3)
1) As an alternative for the interrupt assignment, the SETINT command can be used. See 2)
2) References: Programming Manual, Job Planning; Section: "Flexible NC programming" > "Interrupt
routine (ASUB)" > "Fast retraction from the contour (SETINT, LIFTFAST, ALF)"
3) References: Programming Manual, Job Planning; Section: "Flexible NC programming" > "Interrupt
routine (ASUB)" > "Assign and start interrupt routine (SETINT, PRIO, BLSYNC)"
Note
The ASUB PI service must only executed in the RESET state of the specified channel.
References:
Programming Manual, Job Planning; Section: "Flexible NC-Programming" > "Interrupt routine
(ASUB)"
13.17.4.4
PI service: CANCEL
Function: Execute cancel
Triggers the "Cancel" function equivalent to the corresponding "Cancel alarm" button on the
user interface (operator panel front).
Description of formal parameters
13.17.4.5
Signal
Type
Value range
Description
PIService:
ANY
"PI".CANCEL
Cancel
PI service: CONFIG
Function: Reconfiguration
The reconfiguration command activates machine data which has been entered sequentially
by the operator or the PLC, almost in parallel.
The command can only be activated when the controller is in RESET state or the program is
interrupted (NC stop at block limit). An FB4 error checkback signal is output if this condition is
not fulfilled (state = 3).
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".CONFIG
Reconfiguration
Unit:
INT
WVar1:
INT
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Classification
943
13.17.4.6
PI service: DIGION
Function: Digitizing on
Selecting digitizing in the parameterized channel.
Description of formal parameters
13.17.4.7
Signal
Type
Value range
Description
PIService:
ANY
"PI".DIGION
Digitizing on
Unit:
INT
1, 2, 3 ... 10
Channel
PI service: DIGIOF
Function: Digitizing off
Deactivating digitizing in the parameterized channel.
Description of formal parameters
13.17.4.8
Signal
Type
Value range
Description
PIService:
ANY
"PI".DIGIOF
Digitizing off
Unit:
INT
1, 2, 3 ... 10
Channel
PI service: FINDBL
Function: Activate block search
A channel is switched to search mode and the appropriate acknowledgement then transmitted.
The search is then executed immediately by the NC. The search pointer must already be in
the NC at this point in time. The search can be interrupted at any time by an NC RESET. Once
the search is successfully completed, the normal processing mode is reactivated automatically.
NC start then takes effect from the located search target.
It is the sole responsibility of the operator to ensure a collision-free approach path.
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".FINDBL
block search
INT
1 to 10
Channel
WORD
1, 2, 3
Preprocessing mode
Unit:
WVar1:
1: Without calculation
2: With calculation
3: With main block consideration
944
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.4.9
PI service: LOGIN
Function: Create password
Transfers the parameterized password to the NC. The passwords generally consist of eight
characters. If required, blanks must be added to the string of the password.
Example
Password: STRING[8] := 'SUNRISE';
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".LOGIN
Create password
Unit:
Addr1:
13.17.4.10
INT
STRING
8 characters
NC
Password
PI service: LOGOUT
Function: Reset password
The password last transferred to the NC is reset.
Description of formal parameters
13.17.4.11
Signal
Type
Value range
PIService:
ANY
"PI".LOGOUT
Unit:
INT
Description
Reset password
NC
PI service: NCRES
Function: Trigger NC-RESET
Triggers an NC-RESET. Parameters "Unit" and "WVar1" must always be set to 0.
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".NCRES
Trigger NC-RESET
INT
WORD
Unit:
WVar1:
13.17.4.12
PI service: SELECT
Function: Select processing for a channel
A program stored on the NC is selected for one channel for execution. This is possible only if
the file may be executed. The path names and the program names are to be written in correct
notation. For detailed information, please refer to:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
945
WPD
Main program
MPF
Subprogram
SPF
Cycles
CYC
Asynchronous subprograms
ASP
Binary files
BIN
Type
Value range
Description
PIService:
ANY
"PI".SELECT
Program selection
Channel
Unit:
13.17.4.13
INT
1, 2, 3 ... 10
Addr1:
STRING
Path name
Addr2:
STRING
Program name
PI service: SETUDT
Function: Set current user data active
The current user data, such as tool offsets, basic frames and settable frames are set to active
in the next NC block (only in stop state).
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".SETUDT
INT
1, 2, 3 ... 10
Channel
WORD
1, 2, 3, 4, 5
Unit:
WVar1:
946
WVar2:
WORD
Reserved
Wvar3:
WORD
Reserved
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.4.14
PI service: SETUFR
Function: Activate user frames
User frames are loaded to the NC. All necessary frame values must be transferred to the NC
first with FB3 "Write variables".
Description of formal parameters
13.17.4.15
Signal
Type
Value range
Description
PIService:
ANY
"PI".SETUFR
Unit:
INT
1, 2, 3 ... 10
Channel
PI service: RETRAC
Function: Select JOG retract
Selects the JOG retract mode. The retraction axis, i.e. the geometry axis, with which the
retraction is executed can be determined by the NC automatically or specified explicitly.
The mode remains active until it is ended with RESET.
Note
The RETRAC PI service can only be activated in JOG mode in the "Reset" state.
Automatic determination
For automatic determination, the geometric axis is selected as a retraction axis, which is
perpendicular (orthogonal) to the currently selected working plane:
G17: Retraction axis 3rd geometry axis (Z)
G18: Retraction axis 2nd geometry axis (Y)
G19: Retraction axis 1st geometry axis (X)
Note
OPI variable retractState
The active retraction axis can be read via the OPI variable retractState.Bit 2/3.
Description of formal parameters
Signal
Type
Value range
PIService:
ANY
"PI".RETRAC
Unit:
INT
1, 2, 3 ... 10
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Select JOG retract mode
Channel
947
Type
Value range
WVar1:
WORD
0, 1, 2, 3
Description
Retraction axis
0: Automatic determination of the retraction axis by the
NC.
1: Retraction axis is the 1st geometry axis of the WCS
2: Retraction axis is the 2nd geometry axis of the WCS
3: Retraction axis is the 3rd geometry axis of the WCS
WVar2:
13.17.4.16
WORD
PI service: CRCEDN
Function: Creates new cutting edge
If the T number of an existing tool is entered in parameter "T Number" in the PI service, then
a tool edge for the existing tool is created (in this case, the parameter "D number", i.e. the
number of the edge to be created, has a value range of 1, 2, 3 ... 9.
If a positive T number is specified as a parameter and the tool for the T number entered does
not exist, the PI service is aborted.
If a value of 0 is entered as the T number (model of absolute D numbers), the D number values
can range from 1, 2, 3 to -31999. The new cutting edge is set up with the specified D number.
If the specified cutting edge already exists, the PI service is aborted in both cases.
Description of formal parameters
Signal
Type
Value range
PIService:
ANY
"PI".CRCEDN
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
WVar2:
INT
Description
Create new cutting edge
TOA
T number of tool for which cutting edge must be cre
ated. A setting of 00000 states that the cutting edge
should not refer to any particular tool (absolute D
number).
1 ... 9
1 - 31999
13.17.4.17
PI service: CREACE
Function: Create tool cutting edge
Creation of the cutting edge with the next higher / next unassigned D number for the tool with
the transferred T number in TO, TS (if present). The cutting edge for the OEM cutting edge
data is set up simultaneously in the TUE block (if one is present).
948
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.4.18
Signal
Type
Value range
PIService:
ANY
"PI".CREACE
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
Description
Create tool cutting edge
TOA
T number
PI service: CREATO
Function: Create tool
Creation of a tool with specification of a T number. The tool is entered as existing in the tool
directory area (TV). The first "cutting edge" D1 (with zero contents) is created for tool offsets
in the TO block. D1 (with zero contents) is also created for the OEM "cutting edge" data in the
TUE block - if one is present. If a TU block exists, it will contain the data set for the tool.
Description of formal parameters
13.17.4.19
Signal
Type
Value range
Description
PIService:
ANY
"PI".CREATO
Create tool
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
TOA
T number
PI service: DELECE
Function: Delete a tool cutting edge
If the T number of an existing tool is specified in parameter "T number" in the PI service, then
a cutting edge is deleted for this particular tool (in this case, parameter "D number" (number
of cutting edge to be created) has a value range of 00001 - 00009). If a positive T number is
specified as a parameter and the tool for the T number entered does not exist, then the PI
service is aborted. If a value of 00000 is entered as the T number (model of absolute D
numbers), then the D number values can range from 00001 - 31999. If the specified cutting
edge does not exist, then the PI service is aborted in both cases.
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".DELECE
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
WVar2:
INT
TOA
T number of tool for which cutting edge must be cre
ated. A setting of 00000 states that the cutting edge
should not refer to any particular tool (absolute D
number).
1 ... 9
1 - 31999
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
949
13.17.4.20
PI service: DELETO
Function: Delete tool
Deletes the tool assigned to the transferred T number with all cutting edges (in TO, in some
cases TU, TUE and TG (type 4xx), TD and TS blocks).
Description of formal parameters
13.17.4.21
Signal
Type
Value range
Description
PIService:
ANY
"PI".DELETO
Delete tool
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
TOA
T number
PI service: MMCSEM
Function
The PI service is used to test/set and reset channel-specific semaphores from HMI and PLC.
10 semaphores are available per channel for protecting critical data areas.
Functions (PI services) are assigned to semaphores 1 to 6. The semaphores 7 to 10 can be
freely used.
FB4 return values
"Done" == TRUE
The semaphore was set, the critical function can be called.
"Error" == TRUE AND "State" == 3
The semaphore has already been set, the critical function cannot be called at the present
time.
Schematic sequence for free semaphore
Testing and setting the semaphore
IF semaphore == FREE
THEN
Writing/reading of critical data
Resetting the semaphore
ELSE // Semaphore is blocked
...
ENDIF
NOTICE
Resetting the semaphore
After the blocking of the critical data areas by setting the semaphore and the subsequent
reading/writing of the data, it is essential that the critical data area is released again by
resetting the semaphore.
Schematic sequence for blocked semaphore
Testing and setting the semaphore
950
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Value range
PIService:
ANY
"PI".MMCSEM
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
1)
WVar2:
WORD
0, 1
Description
Edit semaphore
Channel
PI service-specific number of the semaphore
Job type
0: Reset semaphore
1: Test and set semaphore
1)
Number
1
7 ... 10
13.17.4.22
PI service
Freely usable
PI service: TMCRTO
Function: Create tool
Creation of a tool by specifying a name, a duplo number, e.g. with $TC_TP1[y] = Duplo number
or $TC_TP2[y] = "Tool name". Or optionally using a T number, e.g. with y = T number
The tool is entered in the TV area (tool directory) as available.
The first cutting edge "D1" (with zero content) is created in the TO block for corrections.
The first cutting edge "D1" (with zero content) is created in the TS block for monitoring data.
In the TUE block, if it is available, the cutting edge "D1" is created for the OEM cutting edge
data.
The TD block contains identifiers, duplo numbers, and the number of cutting edges (=1) for
the T number that is optionally specified or assigned by the NC.
If a TU block exists, it will contain the data block for the tool.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
951
Type
Value range
Description
PIService:
ANY
"PI".TMCRTO
Create tool
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
1)
WVar2:
INT
Addr1:
STRING
TOA
T number
Duplo number
1)
T number > 0 the T number is specified
T number > -1 the NC assigns the T number
13.17.4.23
PI service: TMFDPL
Function
Search for empty location for loading, depending on the parameter assignment:
Location_number_to = -1 AND Magazine_number_to = -1
Searches all magazines in the specified area (= channel) for an empty location for the tool
specified with a T number. After execution of the PI service, the magazine and locations
numbers found during the search are listed in the configuration block of the channel
(component magCMCmdPar1 (magazine number) and magCMCmdPar2 (location
number)). Location_number_ID and magazine_number_ID can be set as search criteria or
not (= -1). The PI service is positively or negatively acknowledged depending on the search
result.
Location_number_to = -1 AND Magazine_number_to = Magazine_number
An empty location for the tool specified with a T number is searched for in the specified
magazine. Location number_ID and magazine number_ID can be set as a search criterion
or with -1. The PI service is positively or negatively acknowledged depending on the search
result.
Location_number_to = Location_number AND Magazine_number_to = Magazine_number
The specified location is checked, to confirm that it is free to be loaded with the specified
tool. Location_number_ID and magazine_number_ID can be set as search criteria or -1.
The PI service is acknowledged positively or negatively depending on the search result.
952
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
If the source is an internal loading magazine, then the parameters are located
at the target (a real magazine).
Source is always a real magazine.
Note
Before and after this PI service, the PI service MMCSEM with parameter "WVar1" must be
called with function number 2 for TMFDPL. See Chapter "PI service: MMCSEM (Page 950)".
Description of formal parameters
13.17.4.24
Signal
Type
Value range
Description
PIService:
ANY
"PI".TMFDPL
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
T number
WVar2:
INT
Location_number _where_to
WVar3:
INT
Magazine_number_to
WVar4:
INT
Location_number _ID
WVar5:
INT
Magazine_number_ID
TOA
PI service: TMFPBP
Function: Empty location search
The PI service searches the specified magazine(s) for an empty location which meets the
specified criteria such as tool size and location type.
If the search is successful, the result can be read from the following OPI variables:
magCMCmdPar1 (magazine number)
magCMCmdPar2 (location number)
Note
The PI service can only be requested using FB7. See Chapter "FB7: PI_SERV2 - request
PI service (Page 973)".
Note
Before and after this PI service, the PI service MMCSEM with parameter "WVar1" must be
called with function number 4 for TMFPBP. See Chapter "PI service: MMCSEM
(Page 950)".
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".TMFPBP
Unit:
INT
1, 2 , 3 ... 10
TOA
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
953
Type
WVar1:
INT
Value range
Description
Magazine number of the magazine from which the
search is to be performed
WVar2:
INT
WVar3:
INT
WVar4:
INT
WVar5:
INT
WVar6:
INT
WVar7:
INT
0, 1, 2 ... 7
WVar8:
INT
0, 1, 2 ... 7
WVar9:
INT
0, 1, 2 ... 7
WVar10:
INT
0, 1, 2 ... 7
WVar11:
INT
WVar12:
INT
954
From
Lo
ca
tion
To
Lo
ca
tion
Description
WVa
r1
WVa
r2
WVa
r3
WVa
r4
#M1
#P1
#M1
#P1
#M1
#P1
#M2
#P2
#M1
-1
#M1
-1
#M1
-1
-1
-1
#M1
#P1
-1
-1
All locations starting at magazine #M1 and location #P1 are searched
#M1
#P1
#M1
-1
#M1
#P1
#M2
-1
#M1
-1
#M2
#P2
#M1
-1
#M2
-1
-1
-1
-1
-1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.4.25
PI service: TMGETT
Function: Determine T number for the specified tool name with duplo number
The PI service is used to determine the T number of a tool via the tool name and duplo number.
The result is written in BTSS variables in the TF block (parameterization, return parameters
from TMGETT, TSEARC):
resultNrOfTools
resultNrOfTools == 0: The specified tool was not found
resultNrOfTools == 1: The specified tool was found
resultToolNr: T number of the specified tool with "resultNrOfTools" == 1
Note
Before and after this PI service, the PI service MMCSEM with parameter "WVar1" must be
called with function number 5 for TMGETT. See Section "PI service: MMCSEM (Page 950)".
Description of formal parameters
13.17.4.26
Signal
Type
Value range
PIService:
ANY
"PI".TMGETT
Unit:
INT
1, 2, 3 ... 10
Addr1:
STRING
WVar1:
INT
Description
Determining the T number
TOA
PI service: TMMVTL
Function: Prepare magazine location for loading, unload tool
The PI service is used to load, unload, and relocate tools:
1. Loading and unloading: loading point magazine)
2. Loading and unloading: loading point buffer storage, e.g. spindle
3. Relocation within a magazine
4. Relocation between different magazines
5. Relocation between magazine and buffer storage
6. Relocation within buffer storage
Case 1, 3, 4 and 5: The following BTSS variables of the block TM (magazine data: general
data) are written:
magCmd (area no. = TO unit, line = magazine number)
magCmdState "acknowledgment"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
955
956
Signal
Type
Value range
Description
PIService:
ANY
"PI".TMMVTL
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
T number
WVar2:
INT
Location_number_from
WVar3:
INT
Magazine_number_from
WVar4:
INT
Location_number_to
WVar5:
INT
Magazine_number_to
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.4.27
PI service: TMPOSM
Function: Position magazine location or tool, depending on the parameter assignment
A magazine location, which has either been specified directly or via a tool located on it, is
traversed to a specified position (e.g. in front of a load location) via the PI service.
The destination, e.g. the loading location, is specified in the parameters:
WVar5 "Location number_ref"
WVar6 "Magazine number_ref"
The magazine location to be positioned is specified in the following parameters, depending on
the respective specification:
WVar1 "T number" of the tool
The following parameters are irrelevant here:
Addr1 "Tool name" = ""
WVar2 "Duplo number" = -1
WVar3 "Location number_From" = -1
WVar4 "Magazine number_From" = -1
Addr1 "Tool name", WVar2 "Duplo number"
The following parameters are irrelevant here:
WVar1 "T number of the tool" = -1
WVar3 "Location number_From" = -1
WVar4 "Magazine number_From" = -1
WVar3 "Location number_From", WVar4 "Magazine number_From"
The following parameters are irrelevant here:
Addr1 "Tool name" = ""
WVar1 "T number of the tool" = -1
WVar2 "Duplo number" = -1
Description of formal parameters
Signal
Type
Value range
PIService:
ANY
"PI".TMPOSM
Unit:
INT
1, 2, 3 ... 10
Description
Position magazine location or tool
TOA
Addr1:
STRING
WVar1:
INT
WVar2:
INT
Duplo number
WVar3:
INT
Location_number_from
WVar4:
INT
Magazine_number_from
WVar5:
INT
Location number_ref
WVar6:
INT
Magazine number_ref
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
957
13.17.4.28
PI service: TMPCIT
Function: Set increment value for workpiece counter
Incrementing the workpiece counter of the spindle tool
Description of formal parameters
Signal
Type
Value range
Description
PIService:
ANY
"PI".TMPCIT
Unit:
13.17.4.29
INT
1, 2, 3 ... 10
WVar1:
WORD
0, 1, 2 ... max.
WVar2:
WORD
0 ... max.
PI service: TMRASS
Function: Resetting the tool status "active"
The PI service sets the status to "inactive" for all of the tools with a tool status "active" or
"blocked".
The following events are sensible times for resetting the tool status:
a negative edge of the NC/PLC interface signal "tool disable ineffective"
End of program
Channel reset.
The PI service is intended mainly for the PLC, since it is known here when the disabled tool
is finally no longer to be used.
Description of formal parameters
13.17.4.30
Signal
Type
Value range
PIService:
ANY
"PI". TMRASS
Unit:
INT
1, 2, 3 ... 10
Description
Reset active status
TO area
PI service: TRESMO
Function: Reset monitoring values
This PI service resets the monitoring values of the designated edges of the designated tools
to their setpoint (initial) values.
This is only performed for tools with active monitoring.
See also the RESETMON command.
958
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Value range
PIService:
ANY
"PI". TRESMO
Unit:
INT
1, 2, 3 ... 10
TO area
WORD
Tool number
WVar1:
Description
Reset monitoring values
WORD
0, 1, 2 ... max.
D number
< 0: Reset of the monitoring of the specified cutting
edge
0: Reset of monitoring of all cutting edges
Wvar3:
WORD
13.17.4.31
PI service: TSEARC
Function: Complex search using search screen form, depending on the parameter assignment
The PI service is used to search for tools with specific properties within a search range in one
or more magazines, beginning with a specific location, up to a specific location.
Note
Active tool management
The PI service is only available if tool management is activated.
Specification options
Search direction
Search for next tool with the specified property
Search for all tools with the specified property
Result
As a result, a list with the internal T-numbers of the tools that are found is created.
Logic operations
For filtering properties, only one AND link is available as a linking option. An OR link must be
achieved by the user via several calls of the PI service and subsequent evaluation of the
individual results.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
959
From loca
tion number
To mag.
number
To location
number
Description
WVar1
WVar2
WVar3
WVar4
#M<a>
#L<b>
#M<x>
#L<y>
#M<a>
-1
#M<a>
-1
#M<a>
-1
-1
-1
#M<a>
#L<b>
-1
-1
#M<a>
#L<b>
#M<a>
-1
#M<a>
#L<b>
#M<x>
-1
#M<a>
-1
#M<x>
#L<y>
#M<a>
-1
#M<x>
-1
-1
-1
-1
-1
960
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Value range
Description
PIService:
ANY
"PI".TSEARC
Unit:
INT
1, 2, 3 ... 10
WVar1:
INT
From:Magazine number
WVar2:
INT
WVar3:
INT
WVar4:
INT
WVar5:
INT
TOA
INT
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
961
Type
Value range
WVar7:
INT
1, 2, 3
Description
Search direction:
1: Forwards from the first location of the search do
main
2: Backwards from the last location of the search
domain
3: Symmetrical to the real magazine location, which
is located upstream of the location specified under
"WVar5" (number of the reference magazine) and
"WVar6" (number of the reference location)
WVar8:
INT
0, 1, 2, 3
Search type
Search for the property in the search range:
0: all tools, cutting edge-specific
1: first tool, cutting edge-specific
2: all tools, via all cutting edges
3: first tool, via all cutting edges
13.17.4.32
PI service: TMCRMT
Function: Create multitool
The PI service is used to create a new multitool with a defined identifier, an optionally
specifiable multitool number, the number of tool locations, and the type of distance coding.
Note
Before and after this PI service, the PI service MMCSEM with parameter "WVar1" =1
(TMCRTO) must be called. See Chapter "PI service: MMCSEM (Page 950)".
Description of formal parameters
Signal
Type
Value range
PIService:
ANY
"PI".TMCRMT
Unit:
INT
1, 2, 3 ... 10
Addr1:
STRING
WVar1:
INT
WVar2:
INT
Description
Create multitool
TOA
Multitool designator (max. 32 characters)
Reserved
WVar3:
INT
2, 3, 4 ... MAX
WVar4:
962
INT
1, 2, 3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.4.33
PI service: TMDLMT
Function: Delete multitool
The PI service is used to delete a multitool in all of the data blocks in which it is saved. Tools
equipped in multitool are then no longer equipped and no longer loaded, but they are still
defined.
Description of formal parameters
Signal
Type
Value range
PIService:
ANY
"PI".TMDLMT
INT
1, 2, 3 ... 10
Unit:
Addr1:
STRING
WVar1:
INT
WVar2:
INT
Description
Delete multitool
TOA
Multitool designator (max. 32 characters)
Reserved
WVar3:
INT
0, 1
13.17.4.34
PI service: POSMT
Function: Position multitool
The PI service is used for positioning a multitool at the programmed location or alternatively
at the programmed tool, which is located in one of the locations of the multitool. The tool itself
can either be specified using its T number or with its name plus duplo number. A multitool can
only be positioned if it is at a toolholder location and if no tool offset with regard to this toolholder
location is active.
Position specification
The position specification can be alternatively assigned via:
No
.
Addr1
WVar1
WVar2
WVar3
Empty string
Number of the
toolholder
Tool number
-1
Tool name
Number of the
toolholder
-1
Duplo number
Empty string
Number of the
toolholder
-1
-1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
WVar4
Multitool location
number
963
Type
Value range
Description
PIService:
ANY
"PI".POSMT
Position multitool
Unit:
INT
1, 2, 3 ... 10
TOA
Addr1:
STRING
WVar1:
INT
1, 2, 3 ... 999
WVar2:
INT
-1, 1, 2, 3 ...
32000
WVar3:
INT
-1, 1, 2, 3 ...
32000
WVar4:
13.17.4.35
INT
1, 2, 3 ... 999
PI service: FDPLMT
Function: Search/check an empty location within the multitool
The PI service is used to search for a free tool location in a multitool to accommodate the
specified tool or for checking whether the specified tool location in the multitool for
accommodating the specified tool is free. The tool can be specified using its T number, or using
its identifier and its duplo number.
Note
Before and after this PI service, the PI service MMCSEM with parameter "WVar1" =x
(FDPLMT) must be called. See Chapter "PI service: MMCSEM (Page 950)".
Position specification
The tool to be positioned in the multitool can be alternatively assigned via:
"Addr1" = <Empty string>, "WVar1" = <Tool number> and "WVar2" = <Duplo number>
"Addr1" = <Tool name>, "WVar1" = -1 and "WVar2" = <Duplo number>
"Addr1" = <Empty string>, "WVar1" = <Tool number> and "WVar2" = -1
The position specification can be alternatively assigned via:
964
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Value range
Description
PIService:
ANY
"PI".FDPLMT
Unit:
INT
1, 2, 3 ... 10
Addr1:
STRING
WVar1:
INT
TOA
Tool name of the tool to be positioned in the multi
tool (max. 32 characters)
-1, 1, 2, 3 ...
32000
WVar2:
INT
-1, 1, 2, 3 ...
32000
WVar3:
INT
-1, 1, 2, 3 ...
32000
WVar4:
INT
13.17.5
Function
The function block FB5 "GETGUD" is used for reading global user data (GUD) in the NC or
channel area.
In order to reference the NC variables, they are first selected with the "NC VAR selector" tool
and generated as STL source in a data block. A name must then be assigned to this data block
in the S7 symbol table. When calling FB2, the variable addresses are transferred in the
following form: Parameter "Addr1" to "Addr8" = "<DB name>".<S7 name>"
Request for reading NC variables
Call of FB5 with positive edge change, parameter "Req" = 0 1
Parameter "Addr": The pointer to the name of the GUD variables, symbolically with "<Data
block>".<Variable name>
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
965
966
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
Error case
When reading variables from different channels or drive objects, or simultaneously from a
channel and a drive object, the following feedback message is output:
"Error" == TRUE
"State" == W#16#02
Note
To read a variable of the DOUBLE type from NC without adapting the format, an ANY pointer
of the REAL2 type must be specified in the target area (e.g.: P#M100.0 REAL 2). If the basic
program recognizes REAL 2 as the target type when reading a variable of the DOUBLE type,
the data is applied to the PLC data area as a 64-bit floating-point number.
//Server name
KNOW_HOW_PROTECT
VERSION : 3.0
VAR_INPUT
Req :
BOOL;
Addr:
ANY;
// Variable name
Area
BYTE ;
Unit :
BYTE ;
Index1:
INT;
// Array index 1
Index2:
INT;
// Array index 2
CnvtToken:
BOOL;
VarToken
ANY;
END_VAR
VAR_OUTPUT
Error :
BOOL;
Done :
BOOL;
State :
WORD;
END_VAR
VAR_IN_OUT
RD:
ANY;
END_VAR
BEGIN
END_FUNCTION_BLOCK
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
967
Typ
e
Type
Value range
Description
Req:
BOOL
Addr:
ANY
"<DBName>".<Var
Name>
Area:
BYTE
0, 2
Unit:
BYTE
1, 2, 3, ... 10
Index1:
INT
Index2:
INT
CnvtToken:
BOOL
0 (FALSE), 1 (TRUE)
VarToken:
ANY
"<DBName>".<Var
Name>
Error:
BOOL
0 (FALSE), 1 (TRUE)
Done:
BOOL
0 (FALSE), 1 (TRUE)
State:
WORD
---
RD:
I/O
ANY
P#DBnr.dbxm.n BYTE x
Error identifiers
State
Note
WORD H
WORD L
Access error
Error in job
Negative acknowledgement,
job not executable
Check data to be
read in RD
FIFO full
Transmission occupied
1)
968
Description
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Note
10
Error in addressing
11
1-8
13
ANY data reference incorrect String/NcVar data required has not been par
ameterized
15
WORD H
WORD L
0
0
1)
1) High byte > 0 Number of the variable in which the error occurred
Configuration steps
To be able to read a GUD variable, its name must be stored in a string variable. The data block
with this string variable must be defined in the symbol table so that the "Addr" parameter can
be assigned symbolically for FB GETGUD. A structure variable can be defined optionally in
any data area of the PLC to receive the variable pointer (see specification in following example).
Pulse diagram
5HT
'RQH
(UURU
Call example 1
Read a GUD variable from channel 1:
Name "GUDVAR1"
Type: INTEGER
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
969
STRUCT
GUDVar1 : STRING[32] := 'GUDVAR1';
GUDVar1Token :
STRUCT
SYNTAX_ID : BYTE ;
area_and_unit : BYTE ;
column : WORD;
line : WORD;
block type : BYTE ;
NO. OF LINES : BYTE ;
type : BYTE ;
length : BYTE ;
END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK
// Unassigned user DB, as instance for FB5
DATA_BLOCK DB111
FB5
BEGIN
END_DATA_BLOCK
// Unassigned user DB, as instance for FB3
DATE_BLOCK DB112
FB3
BEGIN
END_DATA_BLOCK
// Reading of a channel-specific GUD variable from channel 1, with conversion
to a variable pointer
Function FC "VariablenCall" : VOID
970
I 7.7;
M 100.0;
// Activate req.
M 100.1;
M 100.0;
// Terminate job
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
I 7.6;
M 102.0;
// Error pending
M 100.0;
// Terminate job
:= M 100.0,
Area
:= B#16#2,
// Channel variable
Unit
:= B#16#1,
// Channel 1
Index1
:= 0,
// No array index 1
Index2
:= 0,
// No array index 2
CnvtToken
:= TRUE,
VarToken
Error
:= M 102.0,
Done
:= M 100.1,
State
:= MW 104
RD
:= P#DB99.DBX0.0 DINT 1
);
:= M 200.0,
NumVar
:= 1,
Addr1
:= "DB_GUDVAR".GUDVar1Token, // Token
Error
:= M 102.0,
Done
:= M 100.1,
State
:= MW 104
SD1
:= P#DB99.DBX0.0 DINT 1
);
Call example 2
Read a GUD variable from channel 1:
Name "GUD_STRING"
Type: STRING[32]
Conversion to a 10 byte variable pointer.
Reading the GUD variables: FB5 with instance DB111
// Data block for GUD variable
DATA_BLOCK DB_GUDVAR
STRUCT
GUDVarS : STRING[32] := 'GUD_STRING';
GUDVarSToken :
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
971
I 7.7;
M 100.0;
// Activate req.
M 100.1;
M 100.0;
// Terminate job
I 7.6;
M 102.0;
// Error pending
M 100.0;
// Terminate job
972
:= M 100.0,
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
:= "DB_GUDVAR".GUDVarS,
Area
:= B#16#2,
// Channel variable
Unit
:= B#16#1,
// Channel 1
Index1
:= 0,
// No array index
Index2
:= 0,
// No array index
CnvtToken
:= TRUE,
VarToken
Error
:= M 102.0,
Done
:= M 100.1,
State
:= MW 104
RD
:= "DB_GUDVAR".string_of_GUD
);
:= M 200.0,
NumVar
:= 1,
Addr1
:= "DB_GUDVAR".GUDVarSToken, // Token
Error
:= M 102.0,
Done
:= M 100.1
State
:= MW 104
SD1
:= "DB_GUDVAR".new_name
);
13.17.6
Function
With the exception of a higher number of "WVar" parameters ("WVar11" - "WVar16"), function
block FB7 has the same functionality as function block FB4. It is recommended that function
block FB7 be used instead of function block FB4.
For a detailed description, refer to Chapter "FB4: PI_SERV - request PI service (Page 937)".
BOOL;
PIService:
ANY;
Unit:
INT;
Addr1:
ANY;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
973
ANY;
Addr3:
ANY;
Addr4:
ANY;
WVar1:
WORD;
WVar2:
WORD;
WVar3:
WORD;
WVar4:
WORD;
WVar5:
WORD;
WVar6:
WORD;
WVar7:
WORD;
WVar8:
WORD;
WVar9:
WORD;
WVar10:
WORD;
WVar11:
WORD;
WVar12:
WORD;
WVar13:
WORD;
WVar14:
WORD;
WVar15:
WORD;
WVar16:
WORD;
END_VAR
VAR_OUTPUT
Error :
BOOL;
Done :
BOOL;
State :
WORD;
END_VAR
13.17.7
Function
The function block FB3 "PUT" is used for switching over control components (MCP/OP), which
are connected via a bus system to one or more control assemblies (NCU).
The interface between the individual control panels and the NCU (PLC) is the M : N interface
in data block DB19. FB9 uses the signals of these interfaces.
Apart from initialization, sign-of-life monitoring and error routines, the following basic functions
are also performed by the block for control unit switchover:
Tabulated overview of functions:
974
Basic function
Description
HMI queuing
HMI coming
HMI going
Forced break
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Operating focus changeover to serv Change operating focus from one NCU to the other
er mode
Active/passive operating mode:
MCP switchover
Note
The block must be called by the user program. The user must provide an instance DB with
any number for this purpose. The call is multi-instance-capable.
After switchover to an NCU, this initially requests active operating mode in the PLC of the
online NCU. If two control units are linked online simultaneously to an NCU, one of the two is
always in active mode and the other in passive mode. The operator can request active mode
on the passive HMI at the press of a button.
MCP switchover
As an option, an MCP assigned to the HMI can be switched over at the same time. To achieve
this, the MCP address must be entered in the "mstt_adress" parameter of the NETNAMES.INI
configuration file on the HMI and "MCPEnable" must be set to TRUE. The MCP of the passive
HMI is deactivated so that there is only ever one active MCP on an NCU at one time.
Boot condition
To prevent the previously selected MCP being reactivated when the NCU is restarted, input
parameters MCP1BusAdr = 255 (address of 1st MCP) and "MCP1STOP" = TRUE (deactivate
1st MCP) must be set when FB1 is called in OB100.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
975
Approvals
When one MCP is switched over to another, any active feed or axis enables will be retained.
Note
Keys actuated at the moment of switchover remain operative until the new MCP is activated
(by the HMI, which is subsequently activated). The override settings for feedrate and spindle
also remain valid. To deactivate actuated keys, the input image of the machine control signals
must be switched to nonactuated signal level on a falling edge of DB10.DBX104.0 (MCP 1
ready). The override settings should remain unchanged. Measures for deactivating keys must
be implemented in the PLC user program (see example "Override Changeover").
The call is permitted only in cyclic program OB1.
BOOL;
// Acknowledge interrupts
OPMixedMode:
BOOL:= FALSE;
ActivEnable:
BOOL:=TRUE;
// Not supported
MCPEnable:
BOOL:=TRUE;
Alarm1:
BOOL;
Alarm2:
BOOL;
Alarm3 :
BOOL;
Alarm4 :
BOOL;
END_VAR
VAR_OUTPUT
Alarm5 :
BOOL;
Alarm6 :
BOOL;
Report :
BOOL;
ErrorMMC :
BOOL;
END_VAR
976
Signal
Typ
e
Type
Value range
Description
Ackn:
BOOL
0 (FALSE), 1 (TRUE)
Acknowledge interrupts
OPMixedMode:
BOOL
0 (FALSE), 1 (TRUE)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Typ
e
Type
Value range
Description
ActivEnable:
BOOL
0 (FALSE), 1 (TRUE)
MCPEnable:
BOOL
0 (FALSE), 1 (TRUE)
Alarm1:
BOOL
0 (FALSE), 1 (TRUE)
Alarm2:
BOOL
0 (FALSE), 1 (TRUE)
Alarm3 :
BOOL
0 (FALSE), 1 (TRUE)
Alarm4 :
BOOL
0 (FALSE), 1 (TRUE)
Alarm5 :
BOOL
0 (FALSE), 1 (TRUE)
Alarm6 :
BOOL
0 (FALSE), 1 (TRUE)
Report :
BOOL
0 (FALSE), 1 (TRUE)
ErrorMMC :
BOOL
0 (FALSE), 1 (TRUE)
:= Error_ack,
OPMixedMode
:= FALSE,
ActivEnable
:= TRUE,
MCPEnable
:= TRUE);
Note
Input parameter MCPEnable must be set to TRUE to enable the MCP switchover. The default
value of these parameters is set in this way and need not be specially assigned when the
function is called.
Interrupts, errors
The output parameters "Alarm1" to "Alarm6" and "Report" exist as information in the PLC and
are output in the event of M:N errors visualized on the HMI by the appearance of alarms 410900
- 410906.
If execution of an HMI function has failed (and an appropriate error message cannot be
displayed), status parameter "ErrorMMC" is set to 'logical 1' (e.g., booting error, when no
connection is made).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
977
:= 1,
MCP1In
:= P#I 0.0,
MCP1Out
:= P#Q 0.0,
MCP1StatSend
:= P#Q 8.0,
MCP1StatRec
:= P#Q 12.0,
MCP1BusAdr
:= 255,
MCP1Timeout
:= S5T#700MS,
MCP1Cycl
:= S5T#200MS,
MCP1Stop
:= TRUE,
NCCyclTimeout
:= S5T#200MS,
NCRunupTimeout
:= S5T#50S);
DB10.DBX104.0;
//MCP1Ready
EN
100.0;
JCN smth1;
S
100.2;
100.3;
// Save override
L DB21.DBB4;
T EB28;
DB10.DBX104.0;
wei1:
100.2;
//MCP1Ready
JCN smth2;
U
DB10.DBX104.0;
//MCP1Ready
FP
100.1;
JC smth2;
U
100.2;
100.2;
100.3;
JC smth2;
U
978
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
T DB21.DBB4;
L EB3;
<>i;
//Match?
JC smth2;
S
//No, jump
100.3;
:= B#16#1,
ChanNo
:= B#16#1,
SpindleIFNo
:= B#16#0,
FeedHold
:= M 101.0,
SpindleHold
:= M 101.1);
wei2: NOP
13.17.8
//FC19
BAGNo
0;
Function
The SPL function block FB10 "Safety relay" for "Safety Integrated" is the PLC equivalent of
the NC function of the same name. The standard SPL "Safety relay" block is designed to
support the implementation of an emergency stop function with safe programmable logic.
However, it can also be used to implement other similar safety functions, e.g., control of a
protective door.
The function contains 3 input parameters ("In1", "In2", "In3"). On switchover of one of these
parameters to the value 0, the output "Out0" is deactivated without delay and outputs "Out1",
"Out2", and "Out3" are deactivated via the parameterized timer values (parameters
"TimeValue1", "TimeValue2", "TimeValue3"). The outputs are activated again without delay if
inputs "In1" to "In3" take on value 1 and a positive edge change is detected at one of the
acknowledgment inputs "Ack1", "Ack2".
Call bit memory
To bring the outputs to their basic setting (values = 0) after booting, the parameter "FirstRun"
must be configured as follows. The parameter "FirstRun" must be switched to the value TRUE
via a retentive data (memory bit, bit in data block) on the 1st run after control booting. This
data can be preset, e.g., in OB100. The parameter "FirstRun" is reset to FALSE when FB10
is executed for the first time. Separate data must be used for parameter "FirstRun" for each
call with its own instance.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
979
980
In1 :
BOOL;
In2 :
BOOL;
In3 :
BOOL;
Ackn1 :
BOOL;
Ackn2 :
BOOL;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
TIME;
TimeValue2 :
TIME;
TimeValue3 :
TIME;
END_VAR
VAR_OUTPUT
Out0 :
BOOL;
Out1 :
BOOL;
Out2 :
BOOL;
Out3 :
BOOL;
END_VAR
VAR_INOUT
FirstRun:
BOOL;
END_VAR
13.17.9
Typ
e
Type
Value range
Description
In1:
BOOL
0 (FALSE), 1 (TRUE)
Input 1
In2:
BOOL
0 (FALSE), 1 (TRUE)
Input 2
In3:
BOOL
0 (FALSE), 1 (TRUE)
Input 3
Ackn1 :
BOOL
0 (FALSE), 1 (TRUE)
Acknowledgment input 1
Ackn2 :
BOOL
0 (FALSE), 1 (TRUE)
Acknowledgment input 2
TimeValue1 :
S5TIME
TimeValue2 :
S5TIME
TimeValue3 :
S5TIME
Out0 :
BOOL
0 (FALSE), 1 (TRUE)
Out1 :
BOOL
0 (FALSE), 1 (TRUE)
Out2 :
BOOL
0 (FALSE), 1 (TRUE)
Out3 :
BOOL
0 (FALSE), 1 (TRUE)
FirstRun:
I/O
BOOL
0 (FALSE), 1 (TRUE)
Function
The braking operation check should be used for all axes, which must be prevented from moving
in an uncontrolled manner by a holding brake. "Vertical axes" are the main application.
The machine manufacturer can use the PLC user program to regularly close the brake at a
suitable instant (e.g. every 8 hours) and have the drive exert torque/force in addition to the
weight of the axis. In errorfree operation, the brake can produce the necessary braking torque/
braking force. The axis will hardly move during this.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
981
982
Expected feedback
DBX71.0 = 1
TV_BTactiv
Close brake
Bclosed = 1
TV_Bclose
DBX64.6 OR DBX64.7
TV_FeedCommand
DBX62.5 = 1
TV_FXSreached
DBX62.5 = 1
TV_FXShold
DBX71.0 = 0
TV_BTactiv
Output test ok
---
---
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
BOOL;
Ackn :
BOOL;
Bclosed :
BOOL;
Axis :
INT;
TimerNo :
TIMER ;
TV_BTactiv :
S5TIME ;
TV_Bclose :
S5TIM;
TV_FeedCommand :
S5TIME ;
TV_FXSreached :
S5TIME ;
TV_FXShold :
S5TIME ;
END_VAR
VAR_OUTPUT
CloseBrake : BOOL;
MoveAxis :
BOOL;
Done :
BOOL;
Error :
BOOL;
State : :
BYTE ;
END_VAR
Type
Type
Description
Start
BOOL
Ackn
BOOL
Acknowledge fault
Bclosed
BOOL
Axis
INT
TimerNo
TIMER
TV_BTactiv
S5TIME
TV_Bclose
S5TIME
TV_FeedCommand
S5TIME
TV_FXSreched
S5TIME
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
983
Type
TV_FXShold
Signal
S5TIME
Description
CloseBrake
BOOL
MoveAxis
BOOL
Done
BOOL
Error
BOOL
An error occurred
State
BYTE
Fault IDs
State
Description
No error
Start conditions not fulfilled, e.g. the axis is not in closed-loop control / brake closed / axis
inhibited
No travel command output (e.g., axis motion has not been started)
Fixed end stop will not be reached axis RESET was initiated.
Traversing inhibit/Approach too slow fixed stop cannot be reached. TV FXSreached mon
itoring timeout
Brake is not holding at all (the end position is reached)/approach speed is too high
10
Internal error
11
111.1;
85.0;
AUF
984
73.0;
110.7;
FP
110.0;
UN
111.4;
110.7;
110.6;
//Next step
JCN
m001
DBB
AW
W#16#F;
MB
B#16#10
DBB
68;
115;
8;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DBX
68.6;
110.6;
FP
110.1;
110.6;
110.5;
//Next step
DBX
28.7;
DBX
63.1;
110.5;
FP
110.2;
110.5;
111.0;
:=M
111.0,
Ackn
:= I
3.7,
Bclosed
:= I
54.0,
Axis
:= 3,
TimerNo
:= T
TV_BTactiv
TV_Bclose
:= S5T#1S,
TV_FeedCommand
:= S5T#1S,
TV_FXSreache
:= S5T#1S,
TV_FXShold
:= S5T#2S,
CloseBrake
:=M
111.1,
MoveAxis
:=M
111.2,
Done
:=M
111.3,
Error
:=M
111.4,
State
:= MB 112);
AUF
//Timer number
//Error status
111.2;
//Moveaxis
FP
111.5;
//FC18 Start
111.7;
//Start FC18
111.3;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
985
111.4;
FP
110.3;
DBX
28.7;
UN
DBX
63.1;
111.0;
110.7;
FP
110.4;
111.0;
110.7;
115;
8;
//optional begin
m002:
JCN
m002:
MB
OW
W#16#10;
DBB
NOP
0;
//optional end
CALL "SpinCtrl" (//Traverse Z axis
Start
:=M
Stop
:= FALSE,
Funct
:= B#16#5,
Mode
:= B#16#1,
//Procedure: Incremental
AxisNo
:= 3,
Pos
FRate
InPos
:=M
113.0,
//Position reached
Error
:=M
113.1,
State
:= MB
114);
//Error status
AUF
986
111.2,
113.0;
//Position reached
113.1;
FP
113.2;
111.7;
//Start FC18
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.10
Function
Signal recorder
FB29 "Diagnostics" allows various diagnostic routines to be performed on the PLC user
program. A diagnostic routine logs signal states and signal changes. In this diagnostic routine,
function number 1 is assigned to the "Func" parameter. Up to 8 signals of the parameters
"Signal_1" to "Signal_8" are recorded in a ring buffer each time one of the signals changes.
The current information of parameters "Var1" as BYTE value, and "Var2" and "Var3" as
INTEGER values are also stored in the ring buffer.
The number of past OB1 cycles is also stored in the buffer as additional information. This
information enables the graphical evaluation of signals and values in OB1 cycle grid.
Call rule
First call of FB29 in OB1 cycle: Parameter "NewCycle" = 1
All other calls of FB29 in the same OB1 cycle: Parameter "NewCycle" = 0
Ring buffer
The ring buffer, which must be defined by the user, must have an ARRAY structure specified
as in the source code. The array can have any number of elements. A size of 250 elements
is recommended. The "ClearBuf" parameter is used to clear the ring buffer and set the
"BufAddr" pointer to the start. The instance DB related to the FB29 is a DB from the user area
and is to be transferred to the FB Diagnostics with the parameter "BufDB".
Data trigger
The data trigger function is intended to allow triggering on specific values (or bits) at any
permissible memory cell. The cell to be triggered is "rounded" with a bit mask ("AndMask"
parameter) before the "TestVal" parameter is compared in the diagnostic block.
Note
The source code for the function is available in the source container of the basic-program
library under the name "Diagnose.awl". The instance DB and the ring buffer DB are also defined
in this source block. The function call is also described in the function. The DB numbers and
the call must be modified.
: INT;
Signal_1
: BOOL;
Signal_2
: BOOL;
Signal_3
: BOOL;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
987
: BOOL;
Signal_5
: BOOL;
Signal_6
: BOOL;
Signal_7
: BOOL;
Signal_8
: BOOL;
NewCycle
: BOOL;
Var1
: BYTE ;
Var2
: INT;
Var3
: INT;
BufDB
: INT;
ClearBuf
: BOOL;
DataAdr
: POINTER;
TestVal
: WORD;
AndMask
: WORD;
END_VAR
VAR_OUTPUT
TestIsTrue
: BOOL;
END_VAR
VAR_IN_OUT
BufAddr
: INT;
END_VAR
Cycle : INT;
Signal_1 : BOOL;
Signal_2 : BOOL;
Signal_3 : BOOL;
Signal_4 : BOOL;
Signal_5 : BOOL;
Signal_6 : BOOL;
Signal_7 : BOOL;
Signal_8 : BOOL;
Var1 : BYTE ;
Var2 : WORD;
Var3 : WORD;
988
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Type
Value range
Func:
INT
0, 1, 2
Description
Function
0: Switch off
1: Signal recorder
2: Data trigger
BOOL
0 (FALSE), 1
(TRUE)
NewCycle:
BOOL
0 (FALSE), 1
(TRUE)
Var1 :
BYTE
Additional value
Var2 :
INT
Additional value
Var3 :
INT
Additional value
BufDB:
INT
ClearBuf:
BOOL
BufAddr:
I/O
INT
0 (FALSE), 1
(TRUE)
POINTER
TestVal:
WORD
Comparison value
AndMask:
WORD
TestIsTrue:
BOOL
0 (FALSE), 1
(TRUE)
Result of comparison
Configuration steps
Select function of diagnostics block.
Define suitable data for the recording as signal recorder or data triggering.
Find a suitable point or points in the user program for calling the diagnostics FB.
Create a data block for the ring buffer, see call example.
Call the diagnostics FB with parameters in the user program.
In function 1, it is advisable to clear the ring buffer with the "ClearBuf" parameter. When the
recording phase with function 1 is completed, read out the ring buffer DB in STEP7 with the
function "opening the data block in the data view". The content of the ring buffer DB can now
be analyzed.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
989
Call example
FUNCTION FC99: VOID
TITLE =
VERSION : 0.0
BEGIN
NETWORK
TITLE = NETWORK
CALL FB29, DB80(
Func
:= 1,
Signal_1
:=M
100.0,
Signal_2
:=M
100.1,
Signal_3
:=M
100.2,
Signal_4
:=M
100.3,
Signal_5
:=M
10.4,
Signal_6
:=M
100.5,
Signal_7
:=M
100.6,
Signal_8
:=M
100.7,
NewCycle
:= TRUE,
Var1
:= MB
BufDB
:= 81,
ClearBuf
:=M
100,
50.0);
END_FUNCTION
13.17.11
Function
The NC/PLC interface is processed by the basic program in cyclic mode (OB1). To keep the
runtime to a minimum, only the control and status signals are cyclically transferred. The transfer
of auxiliary and G-functions is only processed upon request from the NC.
Furthermore, the data for handwheel selection, modes, and other operating signals are
transferred from the operator panel (HMI) to the NC/PLC interface so that the modes support
the selection from the MCP or HMI as required.
The transfer of HMI signals to the NC/PLC interface can be deactivated by setting the value
of the parameter "MMCToIF" to "FALSE" in FB1 (DB7).
Handwheel selection signals
Requirement: FB1, parameter "HWheelMMC == "TRUE"
The handwheel selection signals from the HMI are decoded and activated in the respective
machine or geometry axis of the respective handwheel.
990
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Declaration
FUNCTION FC2: VOID
// no parameters
Call example
As far as the time is concerned, the basic program must be executed before the user program.
It is, therefore, called first in OB1.
The following example contains the standard declarations for OB1 and the calls for the basic
program (FC2), the transfer of the MCP signals (FC19), and the acquisition of error and
operating messages (FC10).
ORGANIZATION_BLOCK OB1
VAR_TEMP
OB1_EV_CLASS :
BYTE ;
OB1_SCAN_1 :
BYTE ;
OB1_PRIORITY :
BYTE ;
OB1_OB_NUMBR :
BYTE ;
OB1_RESERVED_1 : BYTE ;
OB1_RESERVED_2 : BYTE ;
OB1_PREV_CYCLE : INT;
OB1_MIN_CYCLE :
INT;
OB1_MAX_CYCLE :
INT;
OB1_DATE_TIME :
DATE_AND_TIME;
END_VAR
BEGIN
CALL FC2;
BAGNo :=
B#16#1,
ChanNo :=
B#16#1,
// Channel no. 1
SpindleIFNo :=
B#16#4,
FeedHold :=
m22.0,
SpindleHold :=
db2.dbx151.0);
CALL FC10(
Ackn :=
I6.1);
END_ORGANIZATION_BLOCK
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
991
13.17.12
Function
Blocksynchronized transfers from the NCK to the PLC (auxiliary and G functions) are carried
out in the interruptdriven part of the basic program. Auxiliary functions are subdivided into
normal and highspeed auxiliary functions.
The highspeed functions of an NC block are buffered and the transfer acknowledged to the
NC. These are transferred to the application interface at the start of the next OB1 cycle.
Highspeed auxiliary functions programmed immediately one after the other, are not lost for the
user program. This is ensured by a mechanism in the basic program.
Normal auxiliary functions are acknowledged to the NC only after one completed cycle
duration. This allows the application to issue a read disable to the NC.
The G Functions are evaluated immediately and passed to the application interface.
NC process interrupts
If the interrupt is triggered by the NC (possible in each IPO cycle), a bit in the local data of
OB40 ("GP_IRFromNCK") is set by the basic program, when the FB1 parameter "UserIR": =
TRUE"). This data is not set on other events (process interrupts through I/Os). This information
makes it possible to branch into the associated interrupt routine in the user program in order
to initiate the necessary action.
To be able to implement highspeed, jobdriven processing of the user program for the machine,
the following NC functions are available in the interrupt processing routine (OB40 program
section) for the PLC user program:
Selected auxiliary functions
Tool-change function for tool-management option
Position reached for positioning axes, indexing axes and spindles with activation via PLC
The functions listed above can or must be evaluated by the user program in OB40 in order to
initiate reactions on the machine. As an example, the revolver switching mechanism can be
activated when a T command is programmed on a turning machine.
For further details on programming hardware interrupts (time delay, interruptibility, etc.) refer
to the corresponding SIMATIC documentation.
Auxiliary functions
Generally, high-speed or acknowledging auxiliary functions are processed with or without
interrupt control independently of any assignment.
Basic-program parameters in FB1 can be set to define which auxiliary functions (T, H, DL)
must be processed solely on an interruptdriven basis by the user program.
Functions which are not assigned via interrupts are only made available by the cyclic basic
program as in earlier versions. The change signals of these functions are available in a PLC
cycle.
992
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Tool change
With the tool-management option, the tool-change command for revolver and the tool change
in the spindle is supported by an interrupt. The local data bit "GP_TM" in OB40 is set for this
purpose. The PLC user program can thus check the tool management DB (DB72 or DB73) for
the tool change function and initiate the tool change operation.
Position reached
In the bit structure, "GP_InPosition" of the local data of OB40 is specific to the machine axis
(each bit corresponds to an axis/spindle, e.g. GP_InPosition[5] corresponds to axis 5).
If a function has been activated via FC18 (spindle control, positioning axis, indexing axis) for
an axis or spindle, the associated "GP_InPosition" bit can be used to implement instantaneous
evaluation of the "InPos" signal of the FCs listed above. This feature can be used, for example,
to obtain immediate activation of clamps for an indexing axis.
Declaration
FUNCTION FC3: VOID
// no parameters
Call example
As far as the time is concerned, the basic program must be executed before other interruptdriven user programs. It is, therefore, called first in OB40.
The following example contains the standard declarations for OB40 and the call for the basic
program.
ORGANIZATION_BLOCK OB40
VAR_TEMP
OB40_EV_CLASS :
BYTE ;
OB40_STRT_INF :
BYTE ;
OB40_PRIORITY :
BYTE ;
OB40_OB_NUMBR :
BYTE ;
OB40_RESERVED_1 :
BYTE ;
OB40_MDL_ID :
BYTE ;
OB40_MDL_ADDR :
INT;
OB40_POINT_ADDR :
DWORD;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
993
DATE_AND_TIME;
GP_TM : BOOL;
//Tool management
//Further local user data may be defined from this point onwards
END_VAR
BEGIN
CALL FC3;
//INSERT USER PROGRAM HERE
END_ORGANIZATION_BLOCK
13.17.13
Function
The block FC5 "GP_DIAG" is used to record assembly disruptions and failures.
A PLC stop can be triggered via the parameter "PlcStop". The PLC stop is only triggered for
incoming events. The MCPs connected to the parameterized PROFIBUS (DP1) at FB1 are
excluded from this.
Declaration
FUNCTION FC5: VOID
VAR_INPUT
PlcStop: BOOL:= TRUE;
END_VAR
Call example
The basic program should be run through after processing of the user programs. This is
recommended because a PLC stop can be triggered by the FC5.
The example contains the standard declaration for OB82 and OB86 and the call of the FC5.
ORGANIZATION_BLOCK OB82
VAR_TEMP
OB82_EV_CLASS : BYTE ;
OB82_FLT_ID : BYTE ;
OB82_PRIORITY : BYTE ;
994
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
995
13.17.14
Function
The block FC6 "TM_TRANS2" is used for position changes of the tools, status changes, and
multitool.
The FC6 block has the same functionality as the FC8 block, plus the multitool functionality.
The description of FC6 only contains the multitool functionality.
The functionality of FC8 is described in "FC8: TM_TRANS - transfer block for tool
management (Page 1000)".
BOOL;
TaskIdent:
BYTE ;
TaskIdentNo:
BYTE ;
NewToolMag:
INT;
NewToolLoc:
INT;
OldToolMag:
INT;
OldToolLoc:
INT;
Status:
INT;
MtoolPlaceNum:
INT;
END_VAR
VAR_OUTPUT
Ready:
BOOL;
Error:
INT;
END_VAR
BEGIN
END_FUNCTION
996
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.15
Signal
Type
Type
Value range
Start:
BOOL
0 (FALSE), 1
(TRUE)
TaskIdent:
BYTE
TaskIdentNo:
BYTE
NewToolMag:
INT
NewToolLoc:
INT
OldToolMag:
INT
OldToolLoc:
INT
Status:
INT
MtoolPlaceNum:
INT
Ready:
BOOL
Error:
INT
Description
See block description FC8
Function
After a revolver has been changed, the user will call the block FC7 "FC TM_REV". The revolver
number corresponding to interface number in DB73 must be specified in parameter
"ChgdRevNo" for this purpose. As this block is called, the associated "Interface active" bit in
data block DB73.DBW0 of FC7 is reset after parameter "Ready" == TRUE is returned.
Job executed correctly
If the job was executed correctly, then "Ready" == 1. The user must then set the parameter
"Start" = 0 or no longer call FC7.
Job executed with errors
If the job was executed with errors, then parameter "Ready" == 0 and parameter "Error" == 1.
The job must be repeated in the next PLC cycle. Since the parameter "Start" does not need a
positive edge for a subsequent job, "Start" = 1 remains, because the job has not yet been
completed. See "Call example" and "Pulse diagram" below.
General conditions
Block FC7 may only be started with parameter "Start" = 1 if an activation signal for the
associated interface (DB73.DBW0) for this transfer has been supplied by the tool
management function.
A cancellation of a transfer, e.g. by a channel reset, is not permitted.
Parameter "Start" = 1, until parameter "Ready" == 1 or "Error" == 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
997
If the revolver is now turned to an arbitrary position at which a tool is located, this tool must be
activated. This is done easiest by the new T programming in the part program. However, if this
should take place, for example, at the end of revolver switching from the PLC user program,
an ASUB must be started for this purpose. The current revolver position must be transferred
to the ASUB. In this way, the tool at this location is determined in the ASUB and is selected
(see Jobshop example in the toolbox).
VOID
//NAME :TM_REV
VAR_INPUT
Start :
ChgdRevNo:
BOOL;
BYTE ;
END_VAR
VAR_OUTPUT
Ready:
BOOL;
Error :
INT;
END_VAR
BEGIN
END_FUNCTION
998
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Typ
e
Type
Value range
Start:
BOOL
0 (FALSE), 1
(TRUE)
ChgdRevNo:
BYTE
1, 2, 3, ...
Ready:
BOOL
0 (FALSE), 1
(TRUE)
Error:
INT
0, 1 ,2, 3
Description
1 = start transfer
Number of revolver interface
1 = Transfer complete
Error checkback
0: No error has occurred
1: No revolver present
2: Illegal revolver number in parameter "ChgdRev
No"
3: Illegal job ("interface active" signal for selected
revolver = "FALSE")
Pulse diagram
6WDUW
5HDG\
(UURU
!
Call example
CALL
FC7(
Start :=
m 20.5,
ChgdRevNo :=
DB61.DBB1,
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
999
m 20.6,
Error :=
DB61.DBW12
};
u
m 20.6;
// Poll ready
m 20.5;
// Reset start
spb
m001;
// Jump, if everything OK
db61.dbw 12;
// Error information
ow
w#16#0;
// Evaluate error
spn
error:
m001:
error:
r
13.17.16
m 20.5;
Function
The user calls this block FC TM-TRANS when the position of the tool or the status of the
transfer operation changes. The parameter "TaskIdent" specifies the transfer job for the block
FC8 at the tool management interface:
For loading/unloading positions
For spindle change positions
For revolver change positions as transfer identifier
Asynchronous transfer
Asynchronous transfer with location reservation
The interface number is indicated in parameter "TaskIdentNo".
Example for loading point 5:
Parameter "TaskIdent":= 1 and "TaskIdentNo":= 5.
Furthermore, the current tool positions and status data (list of "Status" parameter in the
following text) are also transferred for this transfer function.
Note
FC8 informs the NCK of the current positions of the old tool.
The NCK knows where the old and the new tool have been located until the position change.
In the case of a transfer without a socalled "old tool" (e.g. on loading), the value 0 is assigned
to parameters "OldToolMag", "OldToolLoc".
1000
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Asynchronous transfer
To ensure that changes in the position of a tool are automatically signaled from PLC to the
tool management (e.g. power failure during an active command or independent changes in
the position by the PLC), FC8 is called with "TaskIdent" = 4 or 5. This call does not require
interface activation by tool management.
If parameter "TaskIdent" = 5, the tool management reserves the location in addition to changing
the position. The location is only reserved if the tool has been transported from a real magazine
to a buffer storage.
A relevant NC channel must be parameterized in the "TaskIdentNo" parameter.
The previous location of the tool is specified in the parameters "OldToolMag" and "OldToolLoc".
The current location of the tool is specified in the parameters "NewToolMag", "NewToolLoc".
"Status" = 1 must be specified.
With "Status" = 5, the specified tool remains at location "OldToolMag", "OldToolLoc". This
location must be a buffer (e.g. spindle). The real magazine and location must be specified in
the parameters "NewToolMag", "NewToolLoc"; the location is at the position of the buffer. This
procedure must always be used if the tool management is to be informed of the position of a
specific magazine location. This procedure is used for alignment in search strategies.
General conditions
A cancellation of a transfer, e.g. by a channel reset, is not permitted.
Parameter "Start" = 1, until parameter "Ready" == 1 or "Error" == 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1001
BOOL;
TaskIdent:
BYTE ;
TaskIdentNo:
BYTE ;
NewToolMag:
INT;
NewToolLoc:
INT;
OldToolMag:
INT;
OldToolLoc:
INT;
Status:
INT;
END_VAR
VAR_OUTPUT
Ready
BOOL;
Error :
INT;
END_VAR
BEGIN
END_FUNCTION
Type
Type
Value range
Start:
BOOL
0 (FALSE), 1
(TRUE)
TaskIdent:
BYTE
1, 2, 3, 4, 5
Description
1: Start transfer
Interface or task identifier
1: Loading/unloading location
2: Spindle change position
3: Revolver change position
4: Asynchronous transfer
5: Asynchronous transfer with location reserva
tion
1002
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Type
Type
Value range
Description
BYTE
1, 2, 3 ... 10
NewToolMag:
INT
-1, 0, 1, 2 ...
NewToolLoc:
INT
0, 1, 2 max.
location no.
OldToolMag:
INT
-1, 0 ...
OldToolLoc:
INT
Max. location
number
Status:
INT
1, 2, 3 ... 7, 103,
104, 105
Ready:
BOOL
0 (FALSE), 1
(TRUE)
Error:
INT
0 ... 65535
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1003
Pulse diagram
6WDUW
5HDG\
(UURU
1004
!
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Status
Status Description
1
It would be better to position the "old" tool in the magazine position specified in parameters
"OldToolMag" and "OldToolLoc"
This status is permissible only in conjunction with preparation for tool change (change into
spindle). After this status has been transferred to the tool management in the NCK, the tool
management tries to consider the specified magazine position in the next command. But this
is done only when this position is free. Parameters "NewToolMag" and "NewToolLoc" are not
taken into account.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1005
103
104
105
The specified buffer location has been reached by all tools involved
Standard case if the operation has not yet been completed.
The tools are in the specified tool positions (parameters "NewToolMag", "NewToolLoc", "Old
ToolMag", "OldToolLoc").
1006
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Call example
CALL FC8(
13.17.17
Start :=
m 20.5,
TaskIdent :=
DB61.DBB0,
TaskIdentNo :=
DB61.DBB1,
NewToolMag :=
DB61.DBW2,
NewToolLoc :=
DB61.DBW4,
OldToolMag :=
DB61.DBW6,
OldToolLoc :=
DB61.DBW8,
Status :=
DB61.DBW10,
Ready :=
m 20.6,
Error :=
DB61.DBW12);
u m 20.6;
// Poll ready
r m 20.5;
// Reset start
spb m001;
// Jump if everything OK
l DB61.dbw12;
// Error information
ow w#16#0;
// Evaluate error
JC error;
// Jump to troubleshooting
m001:
// Normal branch
error:
//Troubleshooting
r m 20.5:
// Reset start
Function
The block FC9 "ASUP" can be used to trigger any functions in the NC. Before an ASUB can
be started from the PLC, it must have been selected and parameterized by an NC program or
by FB4 (PI service ASUB). In this case, the channel and the interrupt numbers must match
the parameters in FC9.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1007
BOOL;
ChanNo:
INT;
IntNo:
INT;
END_VAR
VAR_OUTPUT
Active:
BOOL;
Done :
BOOL;
Error :
BOOL;
StartErr:
BOOL;
END_VAR
VAR_IN_OUT
Ref:
WORD;
END_VAR
1008
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Typ
e
Type
Value range
Description
Start:
BOOL
0 (FALSE), 1
(TRUE)
ChanNo:
INT
1, 2, 3 ... 10
Channel number
IntNo:
INT
1, 2, 3 ... 8
Interrupt number
Active:
BOOL
0 (FALSE), 1
(TRUE)
1: active
Done:
BOOL
0 (FALSE), 1
(TRUE)
1: ASUB completed
Error:
BOOL
0 (FALSE), 1
(TRUE)
StartErr:
BOOL
0 (FALSE), 1
(TRUE)
Ref:
I/O
WORD
Global variable
(MW, DBW,..)
Pulse diagram
6WDUW
$FWLY
'RQH
(UURU
(1)
Activation of function
(2)
ASUB is active
(3)
(4)
(5)
(6)
Not permitted If function activation is reset prior to receipt of acknowledgement, the output signals
are not updated without the operational sequence of the activated function being affected.
(7)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1009
Call example
CALL FC9(
13.17.18
Start :=
I 45.7,
ChanNo :=
1,
IntNo :=
1,
Active :=
M 204.0,
Done :=
M204.1,
Error :=
M 204.4,
StartErr :=
M 204.5,
Ref :=
MW 200);
Function
With block FC10 "AL_MSG", the signals entered in DB2 are evaluated and displayed as
incoming or outgoing error messages and operating messages on the user interface.
The incoming signals (positive edge) are displayed immediately in the case of both error and
operational messages.
Outgoing signals (negative edge) are deleted immediately only for operating messages. In the
event of error messages, the messages that are no longer pending are only deleted with the
parameter "Quit", i.e. errors remain displayed on the user interface until they have been
acknowledged by the user even if the signals are no longer pending.
The "ToUserIF" parameter can be used to transfer the group signals for the feed, read and NC
start disabling signals and feed stop signal to the existing axis, spindle and channel interfaces.
The group signals are transferred to the user interface directly from the status information in
DB2 irrespective of an interrupt acknowledgment.
1. If parameter "ToUserIF" = 0, there is no transfer of the signals to the user interface. In this
case, the user must take measures in his PLC program to ensure that these signals are
influenced in the interface.
2. If parameter "ToUserIF" = 1, all signals listed above are sent to the user interface as a group
signal in each case. The user PLC program can, therefore, influence these signals only via
DB2 in conjunction with a message or interrupt output. The appropriate information is
overwritten in the user interface.
Alternatively to the response described in paragraph 2, the disable and hold signals can be
influenced without a message being output by influencing the interface signals with a disable
or stop signal state after FC10 is called.
The following program illustrates this method:
CALL FC10(
1010
ToUserIF :=
TRUE,
Ackn :=
I 6.1);
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
u m 50.0;
to DB 21;
s dbx 6.0;
VOID
// NAME:
AL_MSG
VAR_INPUT
ToUserIF :
BOOL;
Ackn :
BOOL;
END_VAR
END_FUNCTION
Type
Type
Value range
ToUserIF :
BOOL
0 (FALSE), 1
(TRUE)
Ackn:
BOOL
0 (FALSE), 1
(TRUE)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
1011
Call example
CALL FC10(
13.17.19
ToUserIF :=
TRUE,
Ackn :=
I6.1);
Function
The block FC12 "AUXFU" is called on an eventdriven basis in the basic program if the channel
transferred in the input parameter contains new auxiliary functions. The PLC user can extend
FC AUXFU with program instructions for processing his auxiliary function to avoid cyclic polling
of the channel DBs. This mechanism permits auxiliary functions to be processed on a jobdriven
basis. FC AUXFU is supplied as a compiled empty block in the basic program. In this case,
the basic program supplies parameter "Chan" with the channel number. The PLC user knows
which channel has new auxiliary functions available. The new auxiliary functions can be
determined by the auxiliary-function change signals in the channel concerned.
VAR_INPUT
Chan:
BYTE ;
END_VAR
BEGIN
BE;
END_FUNCTION
Type
Type
Value range
Description
Chan:
BYTE
0, 1, 2 ... 9
Example
FUNCTION FC12: VOID
VAR_INPUT
Chan:
BYTE ;
END_VAR
VAR_TEMP
ChanDB:
INT;
END_VAR
1012
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
// Channel index
+ 21;
// Channel DB offset
T ChanDB;
TO DB[ChanDB];
13.17.20
Function
This block FC13 "BHGDisp" handles the display control for the handheld unit (HHU or HT 2).
The information that is to appear on the display must be saved to a string variable. The pointer
to the string is specified in the parameter "ChrArray". To do this, a fixed text assignment of 32
characters (HHU) or 64 characters (HT 2) is needed when the data block for this string is
created.
16 characters are sent to the HHU per job. The assignment of the characters in the "ChrArray"
for the respective line is unambiguous. For line 1 the characters 1 to 16 and for the line 2 the
characters 17 to 32 of the string data ChrArray are transferred. In addition, for HT 2 line 3 with
characters 33 to 48 is displayed and line 4 with characters 49 to 64. A job takes several OB1
cycles.
Display
Block FC13 checks whether the necessary minimum length of the "ChrArray" exists for
operating the handheld unit. If fewer characters exist in the string variables than should be
displayed, the line is filled with blank spaces. If several variables are to be entered in the string
in one or more PLC cycles without a display output, the display output can be suppressed by
parameter "Row" = 0. The transfer of the characters to the rows takes several OB1 cycles. If
several rows are to be updated "simultaneously" (parameter "Row" > 1), the rows are updated
successively with 16 characters per row.
Variable portions
Variable portions within the string can be inserted using the optional number converter
functionality with the parameter "Convert" = 1. The variable to be displayed is referenced via
the parameter "Addr". The format of the variables is described in the parameter "DataType".
The number of bytes of the variable is linked to the format description. The address justified
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1013
1014
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
END_STRUCT;
BEGIN
END_DATA_BLOCK
FUNCTION FC13: VOID
VAR INPUT
Row :
BYTE ;
ChrArray :
STRING ;
Convert :
BOOL;
Addr:
POINTER;
DataType :
BYTE ;
StringAddr : INT;
Digits :
BYTE ;
END VAR
VAR OUTPUT
Error :
BOOL;
END VAR
Type
Type
Value range
Description
Row :
BYTE
0, 1, 2 ... 8,
B#16#F
0: no display output
1: Line 1
2: Line 2
3: Line 1 and line 2 to be changed
4: Line 3
5: Line 1 and line 3 to be changed
8: Line 4
B#16#F automatic change of all 4 lines
ChrArray :
STRING
Convert :
BOOL
Addr:
Pointer
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
0 (FALSE), 1 (TRUE)
1015
Type
Type
Value range
Description
BYTE
1, 2, 3 ... 8,
B#16#13,
1: BOOL, 1 character
B#16#30
2: BYTE, 3 characters
3: CHAR, 1 character
4: WORD, 5 characters
5: INT, 6 characters
6: DWORD, 7 characters
7: DINT, 8 characters
8: REAL, 9 characters
(7 digits plus a sign and a decimal point;
for places after the decimal point, refer
to the Digits Parameter)
B#16#13: String, up to 32/64 charac
ters, "Addr" must be a pointer to a
STRING.
B#16#30: REAL64,
(12 characters: 10 digits plus a sign and
a decimal point; for places after the dec
imal point, refer to the Digits Parameter)
StringAddr :
INT
1 ... 32 / 64
Digits :
BYTE
1, 2, 3 ... 9
Error:
BOOL
0 (FALSE), 1 (TRUE)
Error
1: An error occurred
Ranges of values
Ranges of values of data types
Data type
1016
BOOL
0, 1
BYTE
0 ... 255
WORD
0 ... 65535
INT
DWORD
0 ... 9999999
DINT
REAL (Digits := 1)
REAL (Digits := 2)
REAL (Digits := 3)
...
...
REAL (Digits := 9)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Call example
// DB with the name strdat is declared in symbol table, data element disp is declared as
String[32] (in HT 2:
// String[64]) and completely assigned with characters
CALL FC13(
Row :=
MB 26,
ChrArray :=
"strdat".disp,
Convert :=
M 90.1,
Addr :=
P#M 20.0,
// Number to be converted
DataType :=
MB 28,
StringAddr := MW 30,
13.17.21
Digits :=
B#16#3,
Error :=
M 90.2);
// 3 decimal places
Function
Block FC17 is used for star-delta changeover for digital main spindle drives. The changeover
can be made in both directions (star > delta or delta > star).
Prerequisite
The prerequisite is two isolated contactors. The contactors are controlled via the peripheral
output signals configured at the FC17 outputs: "Y" or "Delta".
Internal sequence
The internal sequence when changing over between star and delta after switching over the
FC17 control signal is described in the following: "YDelta" displayed.
1. DB31, ... .DBX21.5 = 0 (reset feedback signal "motor selected")
DB31, ... .DBX21.x = 1 (set request "2nd motor data set" corresponding to the interface
parameterization DB31, ... .DBX130.0 - 4 (Page 65))
2. DB31, ... .DBX93.7 == 0 (feedback signal "pulses enabled" was reset)
Start FC17 timer
FC17: "Y" = 0 (reset output for star contactor)
3. After the FC17 timer elapses (FC17: "TimeVal")
FC17: "Y" = 1 (set output for delta contactor)
4. After the FC17 timer elapses again (FC17: "TimeVal")
The pulses are again internally set
DB31, ... .DBX93.7 == 1 (feedback signal "pulses enabled" was set)
DB31, ... .DBX21.5 = 0 (feedback signal "motor selected" was set)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1017
)&<'HOWD(
'%'%;
'%'%;
'%'%;
LQWHUQDOSXOVHV
'%'%;
)&7LPHU
)&<$
)&'HOWD$
&KDQJHRYHUVWDU!GHOWD
&KDQJHRYHUGHOWD!VWDU
References
For additional explanations of motor speed adjustments, see:
Function Manual, Basic Functions; Spindles (S1); Chapter "Configurable gear adaptation"
Functions Manual, Basic Functions; Velocities, Setpoint/Actual-Value Systems, ClosedLoop Control (G2)
Note
Drive parameters
The following drive parameters must be considered for a star-delta changeover:
p833 (dataset changeover configuration)
Bit 0 = 1 (contactor switchover via application)
Bit 1 = 0 (pulse cancellation by drive)
p826 (motor changeover motor number)
p827 (motor changeover status word bit number)
1018
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
General conditions
Block FC17 must be called absolutely and separately for each spindle.
The drive pulses are deactivated during a star-delta changeover. The feedback signal to
the PLC is realized using:
DB31, ... .DBX93.7 == 0 (pulses enabled)
DB31, ... .DBX61.7 == 0 (current controller active)
DB31, ... .DBX61.6 == 0 (speed controller active)
For a spindle which is located in an axis mode such as M70 or SPOS, a start-delta
changeover is not carried out.
For a closed-loop position controlled spindle (DB31, ... .DBX61.5 == 1 (position control
active) ), while the spindle is moving it is not permissible to carry out a star-delta changeover.
In the case of a fault, Alarm 25050 "Contour monitoring" is displayed, and the star-delta
changeover is not executed.
Once the star-delta changeover has been initiated using FC17, it cannot be delayed by the
user, e.g. by waiting until the star-delta contactors change over during the course of
operation. A delay such as this must be implemented by the user in the PLC user program.
BOOL;
SpindleIFNo:
INT;
TimeVal:
S5TIME ;
TimerNo :
INT;
END_VAR
VAR_OUTPUT
Y:
BOOL;
Delta:
BOOL;
END_VAR
VAR_IN_OUT
Ref:
WORD;
END_VAR
Type
Type
Value range
YDelta:
BOOL
0 (FALSE), 1
(TRUE)
Description
Input signal for star-delta changeover
The changeover is initiated by a signal
change:
0 (FALSE): Star
1 (TRUE): Delta
SpindleIFNo:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
INT
1 ...
1019
Type
Type
Value range
Description
S5time
0, 50 ms ...
Switchover time
TimeVal:
Configured
Internally effective
100
< 50
50
TimerNo:
INT
10 ...
Y:
BOOL
0 (FALSE), 1
(TRUE)
Delta:
BOOL
0 (FALSE), 1
(TRUE)
Ref:
I/O
WORD
Call example
CALL FC17 (
YDelta :=
I 45.7,
SpindleIFNo :=
4,
TimeVal :=
S5T#150ms,
TimerNo :=
10,
// Timer: 10
Y :=
O 52.3,
Delta :=
O 52.4,
Ref :=
MW 50
};
13.17.22
Function
Block FC18 (SpinCtrl) can be used to control spindles and axes from the PLC. The block
supports the following functions:
Position spindle
Rotate spindle
Oscillate spindle
Traverse indexing axis
Traverse positioning axis
Each function is activated by the positive edge of the appropriate initiation signal (start, stop).
This signal must remain at a logical "1" until the function has been acknowledged positively or
1020
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1021
Functions
Function 1: Position spindle
Parameter
Description
Start :
Funct :
Mode :
AxisNo :
Pos :
Position
FRate :
InPos :
Error :
1: Positioning error
State :
Error code
1022
Parameter
Description
Start :
Stop :
Funct :
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Mode :
AxisNo :
FRate :
Spindle speed
InPos :
1: Setpoint speed is output, also see DB31, ... DBX83.5 (spindle in the set
point range)
Error :
1: Positioning error
State :
Error code
Description
Start :
Stop :
Funct :
AxisNo :
Pos :
InPos :
1: Setpoint speed is output, also see DB31, ... DBX83.5 (spindle in the set
point range)
Error :
1: Positioning error
State :
Error code
Pos
Function
0, 1, 2, ... 5
Oscillating
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1023
Parameter
Description
Start :
Funct :
Mode :
Positioning mode 0, 1, 2, 3, 4
AxisNo :
Pos :
Indexing position
FRate :
InPos :
Error :
1: Positioning error
State :
Error code
Description
Start :
Funct :
Mode :
Positioning mode 0, 1, 2, 3, 4
AxisNo :
Pos :
Position
FRate :
InPos :
Error :
1: Positioning error
State :
Error code
Description
Start :
Stop :
Funct :
Mode :
1024
AxisNo :
FRate :
Spindle speed
InPos :
Error :
1: Positioning error
State :
Error code
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Start :
Stop :
Funct :
Mode :
AxisNo :
FRate :
Cutting rate
InPos :
Error :
1: Positioning error
State :
Error code
//SpinCtrl
VAR_INPUT
Start :
BOOL;
Stop:
BOOL;
Funct:
BYTE ;
Mode:
BYTE ;
AxisNo:
INT;
Pos:
REAL;
FRate:
REAL;
END_VAR
VAR_OUTPUT
InPos:
BOOL;
Error :
BOOL;
State :
BYTE ;
END_VAR
Typ
e
Type
Value range
Start:
BOOL
0 (FALSE), 1
(TRUE)
Stop:
BOOL
0 (FALSE), 1
(TRUE)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
1025
Typ
e
Type
Value range
Description
Funct:
BYTE
1, 2, 3, ... 11
1: Position spindle
2: Rotate spindle
3: Oscillate spindle
4: Indexing axis
5: Positioning axis metric
6: Positioning axis inch
7: PosAxis metric with handwheel override
8: PosAxis inch with handwheel override
9: Rotate spindle with automatic gear stage selec
tion
10: Rotate spindle with constant cutting rate (m/
min)
11: Rotate spindle with constant cutting rate (feet/
min)
Mode:
BYTE
0, 1, 2, ... 5
AxisNo:
INT
1, 2, 3, ... 31
Pos:
REAL
0.1469368 I -38 to
0.1701412 I +39
FRate:
REAL
0.1469368 I -38 to
0.1701412 I +39
InPos:
BOOL
0 (FALSE), 1
(TRUE)
Error:
BOOL
0 (FALSE), 1
(TRUE)
1: Error
State:
BYTE
0, 1, 2, ... 255
Error detection
Error identifiers
An error is active, if: Parameter "Error" == 1 (TRUE)
The cause of the error is displayed in: Parameter "State"
State
Description
Cause of the error on the PLC side:
1026
20
30
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
40
50
60
Permanently assigned PLC axis. Channel status does not permit a start
Cause of the error on the NC side
100
101
102
Incorrect value range for constant cutting rate (corresponds to alarm 14840)
104
105
106
107
108
109
110
Velocity/speed is negative
111
112
115
117
118
120
121
125
126
127
128
130
131
132
133
134
135
136
Indexing axis with "Hirth toothing" is active and axis not referenced (corresponds to alarm
17503)
137
Spindle operation not possible for transformed spindle/axis (corresponds to alarm 22290)
138
Axis: Coordinate system-specific working area plus violated (corresponds to alarm 20082)
139
Axis: Coordinate system-specific working area minus violated (corresponds to alarm 20082)
200
System error
Alarm numbers: ReferencesDiagnostics Manual
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1027
6WDUW
,Q3RV
(UURU
6WDUW(UU
6WDUW
,Q3RV
(UURU
6WDUW(UU
Call examples
Example 1: Position spindle:
//Positive acknowledgement resets Start:
U M112.0;
1028
//InPos
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
100.0;
//Start
//Negative acknowledgement, after error evaluation (state: MB114) reset with T12
start
U M113.0;
// Error
U I 6.4;
//Key T12
100.0;
//Start
//Key T13
AN F 112.0;
AN F 113.0;
CALL FC18(
Start :=
M100.0,
Stop :=
FALSE,
Funct :=
B#16#1,
Mode :=
B#16#2,
AxisNo :=
Pos :=
//Position spindle
//Shortest path
5,
MD104,
FRate :=
MD108,
InPos :=
M112.0,
Error :=
M113.0,
State :=
MB114);
M100.0,
Stop :=
FALSE,
Funct :=
B#16q#,
Mode :=
B#16#5,
AxisNo :=
Pos :=
//Rotate spindle
//Direction of rotation as for M4
5,
0.0,
FRate :=
MD108,
InPos :=
M112.0,
Error :=
M113.0,
State :=
MB114);
M100.0,
Stop :=
FALSE,
Funct :=
Mode :=
B#16#3,
B#16#0,
AxisNo :=
Pos :=
//Oscillate spindle
5,
0.0,
FRate :=
MD108,
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1029
M112.0,
Error :=
M113.0,
State :=
MB114);
M100.0,
Stop :=
Funct
FALSE,
:=B#16#4,
Mode :=
B#16#0,
AxisNo :=
Pos :=
//Not used
//Traverse indexing axis
//Position absolutely
4,
MD104,
FRate :=
MD108,
InPos :=
M112.0,
Error :=
M113.0,
State :=
MB114);
M100.0,
Stop :=
FALSE,
Funct :=
B#16#5,
Mode :=
B#16#1,
AxisNo :=
Pos :=
13.17.23
//Not used
//Position axes
//Position incrementally
6,
MD104,
FRate :=
MD108,
InPos :=
M112.0,
Error :=
M113.0,
State :=
MB114);
Function
The block FC19 (MCP_IFM, M variant, e.g. MCP 483) is used for transferring data from the
machine control panel to the NC/PLC interface:
Modes
Axis selections
WCS/MCS switchover commands
Traversing keys
1030
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1031
Example
More than nine axes are to be controlled with FC19 using a special application. We recommend
that you proceed as follows:
Reserve free key on MCP.
Evaluate this key as a flipflop.
Evaluate the flipflop output as pos. and neg. edge.
For a positive edge write one set of axis numbers in the axis table (DB10) and switch on
LED via this key
For a negative edge write a different set of axis numbers in the axis table (DB10) and switch
off LED via this key.
1032
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
BYTE ;
ChanNo:
BYTE ;
SpindleIFNo:
BYTE ;
END_VAR
VAR_OUTPUT
FeedHold :
BOOL;
SpindleHold :
BOOL;
END_VAR
BEGIN
END_FUNCTION
Type
Type
Value range
Description
BYTE
B#16#00 B#16#0A
B#16#10 B#16#1A
ChanNo:
BYTE
B#16#00 B#16#0A
SpindleIFNo:
BYTE
0 - 31
(B#16#1F)
FeedHold :
BOOL
0 (FALSE), 1
(TRUE)
SpindleHold :
BOOL
0 (FALSE), 1
(TRUE)
Key-operated switch
Source:
MCP - Switch
Destination:
Interface DB
Position 0
DB10.DBX56.4
Position 1
DB10.DBX56.5
Position 2
DB10.DBX56.6
Position 3
DB10.DBX56.7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1033
Destination:
MCP - Key
Table 13-4
AUTOMATIC
DB11.DBX0.0
MDI
DB11.DBX0.1
JOG
DB11.DBX0.2
REPOS
DB11.DBX1.1
REF
DB11.DBX1.2
TEACH IN
DB11.DBX1.0
DB11.DBX2.0 - 2.5
Destination:
Interface DB (parameter ChanNo)
Direction key +
Direction key -
Direction key +
Direction key -
Direction key +
Direction key -
Source:
MCP - Key
Destination:
Interface DB (all axis DBs)
Direction key +
Direction key -
The transfer is dependent upon the selected axis. The associated interface bits are deleted
for axes which are not selected.
Table 13-5
1034
Override
Source:
MCP - Switch
Destination:
Interface DB (parameter ChanNo)
Feed override
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Table 13-6
Table 13-7
Source:
MCP - Switch
Destination:
Interface DB (all axis DBs)
Feed override
Spindle override
Channel signals
Source:
MCP - Keys
Destination:
Interface DB (parameter ChanNo)
NC start
NC stop
RESET
Single block
Destination:
FC output parameters
Feed stop
Feed enable
Spindle stop
Spindle enable
Source:
MCP - LED
AUTOMATIC
DB11.DBX6.0
MDI
DB11.DBX6.1
JOG
DB11.DBX6.2
REPOS
DB11.DBX7.1
REF
DB11.DBX7.2
TEACH IN
DB11.DBX7.0
Destination:
Source:
MCP - LED
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB11.DBX8.0 - 8.5
1035
Channel signals
Destination:
MCP - LED
Source:
Interface DB (parameter ChanNo)
NC start
NC stop
Single block
Note
Direction key LEDs are controlled by operating the direction keys.
Axis selection and WCS/MCS LEDs are controlled by operating the relevant pushbutton switch.
Call example
CALL FC19(
BAGNo :=
B#16#1,
ChanNo :=
B#16#1,
// Channel no. 1
SpindleIFNo :=
B#16#4,
FeedHold :=
m22.0,
SpindleHold :=
db2.dbx151.0);
With these parameter settings, the signals are sent to the first mode group, the first channel
and all axes. In addition, the spindle override is transferred in the 4th axis/spindle interface.
The feed hold signal is passed to bit memory 22.0 and the spindle stop signal to data block
DB2, data bit 151.0.
1036
// Signals to interface
B#16#1,
ChanNo :=
B#16#1,
// Channel no. 1
SpindleIFNo :=
B#16#4,
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.24
FeedHold :=
m30.0,
SpindleHold :=
m30.1);
Function
Block FC21 is used to exchange data between the PLC and NC. The data are immediately
transferred when FC21 is called not waiting until the next basic PLC program cycle starts.
The data transfer is activated by calling the block FC21 with parameter "Enable" =1
Functions
1. Synchronized action signals: PLC NC channel
2. Synchronized action signals: NC channel PLC
3. Fast data exchange PLC-NC (read function in NC)
4. Fast data exchange PLC-NC (write function in NC)
5. Update signals to the NC channel
6. Update signals to axes (data byte 2 of the user interface)
7. Update signals to axes (data byte 4 of the user interface)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1037
Typ
e
Type
Value range
Description
Enable:
BOOL
0 (FALSE), 1 (TRUE)
1:
Transferring data
Funct:
BYTE
1, 2, 3, ... 7
1:
2:
3:
Read data
4:
Write data
5:
6:
7:
S7Var :
ANY
Depends on "Funct"
IVAR1:
INT
---
Depends on "Funct"
IVAR2:
INT
---
Depends on "Funct"
Error:
BOOL
0 (FALSE), 1 (TRUE)
ErrCode:
INT
---
1:
An error is active
Depends on "Funct"
Typ
e
Type
Value range
Description
Enable:
BOOL
0 (FALSE), 1 (TRUE)
1:
Transferring data
Funct:
BYTE
1, 2
1:
to channel
2:
from channel
S7Var :
ANY
Not used
IVAR1:
INT
Channel number
Error:
BOOL
0 (FALSE), 1 (TRUE)
1:
An error is active
ErrCode:
INT
1, 10
1:
"Funct" invalid
Call example:
FUNCTION FC100: VOID
VAR_TEMP
myAny: ANY ;
END_VAR
1038
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
BEGIN
NETWORK
//Deactivate synchronized actions with ID3, ID10 and ID31 in NC channel 1 :
SYAK:
AUF
DB21;
SET;
S
DBX300. //ID3
2;
DBX301. //ID10
1;
DBX303. //ID31
6;
B#16#1;
MB11;
SPA
TRAN;
L B#16#2;
T MB11;
TRAN:
CALL FC21 (
Enable
:= M 10.0,
Funct
:= MB 11,
S7Var
:= #myAny,
//Not used
IVAR1
:= 1,
//Channel no.
IVAR2
:= 0,
Error
:= M 10.1,
ErrCode
:= MW 12);
END_FUNCTION
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1039
)XQFW
UHDG
6HPDSKRU "
)XQFW
ZULWH
1R
<HV
7UDQVIHUGDWD
IURP1&WR
3/&
6HPDSKRU
(UURU
(UU&RGH
6HPDSKRU "
1R
<HV
(UURU
(UU&RGH
7UDQVIHUGDWD
IURP3/&WR
1&
(UURU
(UU&RGH
6HPDSKRU
(UURU
(UU&RGH
1040
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
:ULWHLQ
1&.
5HDG
LQ1&.
1R
6HPDSKRU "
1R
6HPDSKRU "
<HV
<HV
5HDGGDWD
IURP3/&
7UDQVIHUGDWD
WR3/&
6HPDSKRU
6HPDSKRU
Typ
e
Type
Value range
Description
Enable:
BOOL
0 (FALSE), 1 (TRUE)
1:
Transferring data
Funct:
BYTE
3, 4
3:
Read data
4:
Write data
S7Var :
ANY
IVAR1:
INT
0 ... 4095
Position offset
IVAR2:
INT
-1 ... 4095
Semaphore byte
Transfer without semaphore: -1
Error:
BOOL
0 (FALSE), 1 (TRUE)
1:
An error is active
ErrCode:
INT
20:
Alignment error
21:
22:
23:
24:
25:
Example 1: Read double word of position offset 4 with semaphore in byte 0 and store in MD100:
Data type Dword (4 bytes)
Position offset 4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1041
6HPDSKRUH
'ZRUG
'DWDW\SH'ZRUGE\WHV
3RVLWLRQRIIVHW
CALL
FC21(
Enable
:= M 10.0,
// if TRUE, FC 21 is active
Funct
:= B#16#3,
//Read data
S7Var
IVAR1
:= 4,
IVAR2
:= 0,
Error
:= M 10.1,
ErrCode
:= MW12);
UN
M10.1;
M10.0;
1042
FC21(
Enable
:=M 10.0,
// if TRUE, FC 21 is active
Funct
:=B#16#3,
//Read data
S7Var
IVAR1
:=8,
IVAR2
:=-1,
Error
:=M 10.1,
ErrCode
:=MW12);
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Typ
e
Type
Value range
Description
Enable:
BOOL
0 (FALSE), 1 (TRUE)
1:
Transferring data
Funct:
BYTE
5:
S7Var :
ANY
IVAR1:
INT
1. Max. channel
Error:
BOOL
0 (FALSE), 1 (TRUE)
1:
An error is active
ErrCode:
INT
1, 10
1:
"Funct" invalid
10:
Not used
Channel number
Typ
e
Type
Value range
Description
Enable:
BOOL
0 (FALSE), 1 (TRUE)
1:
Transferring data
Funct:
BYTE
6:
S7Var :
ANY
IVAR1:
INT
Error:
BOOL
0 (FALSE), 1 (TRUE)
1:
An error is active
ErrCode:
INT
1:
"Funct" invalid
Not used
Typ
e
Type
Value range
Description
Enable:
BOOL
0 (FALSE), 1 (TRUE)
Funct:
BYTE
S7Var :
ANY
IVAR1:
INT
Error:
BOOL
0 (FALSE), 1 (TRUE)
1:
An error is active
ErrCode:
INT
1:
"Funct" invalid
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7:
Not used
1043
13.17.25
Function
Referred to the location numbers, e.g. a tool magazine or revolver (indexing axis) block FC22
"TM_DIR" supplies the shortest path and direction of motion for positioning, based on the target
and current position.
Outputs
Input FC22: "Start" = 1 the outputs are cyclically updated.
Input FC22: "Start" = 0 the outputs are undefined.
Special positioning
For direction selection with special positioning (input FC22: "Offset" > 0) a new target position
is calculated from the target position, the offset for special positioning as well as the number
of magazines locations:
New_target position = ( target position - ( special position -1 ) ) neg. MODULO
number_of_magazine locations
The new target position corresponds to the location number at which the magazine must be
positioned so that the target position requested by the user corresponds to the location number
of the special position.
The directional optimization is active both with and without special positioning.
Call
The block must be called once with the appropriate parameter settings for each magazine.
References
Further PI services for tool management:
FB4: Request PI service (Page 937)
FC7: TM_REV - transfer block for tool change with revolver (Page 997)
FC8: TM_TRANS - transfer block for tool management (Page 1000)
Function Manual, Tool Management
TM_DIR
VAR_INPUT
1044
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
INT;
ReqPos:
INT;
ActPos:
INT;
Offset:
BYTE ;
Start :
BOOL;
END_VAR
VAR_OUTPUT
Cw:
BOOL;
Ccw:
BOOL;
InPos :
BOOL;
Diff:
INT;
Error :
BOOL;
END_VAR
BEGIN
END_FUNCTION
Typ
e
Type
Value range
Description
MagNo:
INT
1, 2, 3, ...
Magazine number
ReqPos:
INT
1, 2, 3, ...
ActPos:
INT
1, 2, 3, ...
Offset:
BYTE
0, 1, 2, ...
Start:
BOOL
0 (FALSE), 1 (TRUE)
1 = start of calculation
Cw:
BOOL
0 (FALSE), 1 (TRUE)
Ccw:
BOOL
0 (FALSE), 1 (TRUE)
1 = Move magazine
counterclockwise
InPos:
BOOL
0 (FALSE), 1 (TRUE)
1 = In position
Diff:
INT
0, 1, 2, ...
Error:
BOOL
0 (FALSE), 1 (TRUE)
Call example
CALL FC22(
MagNo :=
2,
// Magazine number
ReqPos :=
mw 20,
//Target position
ActPos :=
mw 22,
// Current position
Offset :=
b#16#0,
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1045
m 30.4,
// Start trigger
Cw :=
m 30.0,
Ccw :=
m 30.1,
InPos :=
m 30.2,
// Magazine in position
Diff :=
mw 32,
// Differential path
Error :=
m30.3
// Outputs
);
13.17.26
Function
The block FC24 (MCP_IFM2, M variant, e.g. MCP 310) is used for transferring data from the
machine control panel to the NC/PLC interface:
Modes
Axis selections
WCS/MCS switchover
Traversing keys
Overrides or override simulation signals
Key-operated switch position
The following specifications apply to the feed override, axis travel keys and INC keys
depending on the active mode or on the coordinate system selected:
Feed override:
The feed override is transferred to the interface of the selected channel and to the
interface of the axes.
The feed override signals are transferred to the NC channel in addition to the "Rapid
traverse override" (DBB 5) interface byte if the "Feed override for rapid traverse
effective" HMI signal is set (exception: Switch setting "Zero"). "Rapid traverse override
effective" is also set with this HMI signal.
Machine functions for INC and axis travel keys:
When the MCS is selected, the signals are transferred to the interface of the selected
machine axis.
When the WCS is selected, the signals are transferred to the geometry axis interface
of the parameterized channel.
When the system is switched between MCS and WCS, the active axes are generally
deselected.
The associated LEDs on the machine control panel are derived from the acknowledgements
from the relevant selections.
1046
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1047
MCP_IFM2
VAR_INPUT
BAGNo :
BYTE ;
ChanNo:
BYTE ;
SpindleIFNo:
BYTE ;
END_VAR
VAR_OUTPUT
FeedHold :
BOOL;
SpindleHold :
BOOL;
SpindleDir:
BOOL;
END_VAR
BEGIN
END_FUNCTION
1048
Typ
e
Type
Value range
Description
BYTE
B#16#00 - B#16#0A
B#16#10 - B#16#1A
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Typ
e
Type
Value range
Description
ChanNo:
BYTE
B#16#00 - B#16#0A
SpindleIFNo:
BYTE
0 - 31
(B#16#1F)
FeedHold :
BOOL
SpindleHold :
BOOL
SpindleDir:
BOOL
1:
Call example
CALL FC24(
BAGNo :=
B#16#1,
ChanNo :=
B#16#1,
// Channel no. 1
SpindleIFNo := B#16#4,
FeedHold :=
m22.0,
SpindleHold := db2.dbx151.0,
SpindleDir:=
m22.1);
With these parameter settings, the signals are sent to the first mode group, the first channel
and all axes. In addition, the spindle override is transferred in the 4th axis/spindle interface.
The feed hold signal is passed to bit memory 22.0 and the spindle stop signal to data block
DB2, data bit 151.0. The spindle direction feedback signal supplied via parameter "SpindleDir"
can be used as a direction input for an additional FC18 call.
13.17.27
Function
The block FC25 (MCP_IFT, T variant, e.g. MCP 483) is used for transferring data from the
machine control panel to the NC/PLC interface:
Modes
Direction keys of four axes
WCS/MCS switchover commands
Overrides
Key-operated switch
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1049
1050
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
MCP_IFT
VAR_INPUT
BAGNo :
BYTE ;
ChanNo:
BYTE ;
SpindleIFNo:
BYTE ;
END_VAR
VAR_OUTPUT
FeedHold :
BOOL;
SpindleHold :
BOOL;
END_VAR
BEGIN
END_FUNCTION
ChanNo:
Typ
e
Type
Value range
BYTE
B#16#00 - B#16#0A
B#16#10 - B#16#1A
B#16#00 - B#16#0A
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
BYTE
Description
1051
Typ
e
Type
Value range
Description
SpindleIFNo:
BYTE
B#16#00 - B#16#1F
FeedHold :
BOOL
SpindleHold :
BOOL
Call example
With these example parameter settings, the signals are sent to the first mode group, the first
channel and all axes. The spindle override is transferred to the 4th axis/spindle interface. Feed
stop is sent to bit memory 22.0 and spindle stop is sent to the data block DB2, DBX151.0.
CALL FC25(
13.17.28
BAGNo :=
B#16#1,
ChanNo :=
B#16#1,
// Channel no. 1
SpindleIFNo :=
B#16#4,
FeedHold :=
m22.0,
SpindleHold :=
HPU_MCP
VAR_INPUT
BAGNo :
BYTE ;
ChanNo:
BYTE ;
END_VAR
BEGIN
END_FUNCTION
1052
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
ChanNo:
Ty
pe
Type
Value range
BYTE
B#16#00 - B#16#0A
B#16#10 - B#16#1A
B#16#00 - B#16#0A
BYTE
Description
Call examples
Calling FC26 for the first MCP, the first mode group and the first channel of the NC.
CALL FC26(
B#16#01,
//1.MCP, 1.BAG
ChanNo :=
B#16#01);
//Channel 1
Calling FC26 for the second MCP, the second mode group and the third channel of the NC.
CALL FC26(
B#16#12,
//2.MCP, 2.BAG
ChanNo :=
B#16#03 );
//Channel 3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1053
Transfer of the traversing key signals depending upon the active coordinate system
The traversing key signals for 6 axes lie in the HT 8 input data area below:
EB n + 2, Bit 0 - Bit 5 (positive traversing direction)
EB n + 3, Bit 0 - Bit 5 (negative traversing direction)
1054
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Feed override
The value of the HT 8 override switch is transferred as feed override in the channel-specific
interface DB21, ... .DBB4 (feedrate override) of the programmed channel (parameter:
"ChanNo") and in the axis-specific interfaces DB31, ... .DBB0 (feedrate override) of the axes
programmed in the table DB10.DBB8 to DBB13 (machine axis number).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1055
Handwheel selection
The hand-wheel selection signals are evaluated by HMI and transferred to the corresponding
NC/PLC interface signals of the machine or geometric axes:
Geometry axes: DB21, ... DBB 12 + (n * 4), bit 0 to bit 2 (with n = 0, 1, 2)
Machine axes: DB31, ... .DBX4.0 to DBX4.2
Requirement: FB1 parameters: "HWheelMMC" = TRUE
1056
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.28.1
AUTOMATIC
DB11.DBX0.0
MDI
DB11.DBX0.1
JOG
DB11.DBX0.2
REPOS
DB11.DBX1.1
REF
DB11.DBX1.2
TEACH IN
DB11.DBX1.0
Traversing key +
Traversing key -
Traversing key +
Traversing key -
Traversing key +
Traversing key -
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1057
Source: MCP
Traversing key +
Traversing key -
Source: MCP
Feed override
Source: MCP
Feed override
Source: MCP
NC start
NC stop
RESET
Single BLock
Override
Channel signals
13.17.28.2
1058
Destination: MCP
AUTOMATIC
DB11.DBX6.0
MDI
DB11.DBX6.1
JOG
DB11.DBX6.2
REPOS
DB11.DBX7.1
REF
DB11.DBX7.2
TEACH IN
DB11.DBX7.0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.29
Task
Machine control panel at the user interface(FC19 M version, FC24 slim-line version, FC25 T
version, FC26 HT 8 version).
Associated blocks
DB7, no. of mode groups, channels, axes
DB7, pointer of the machine control panels,
DB8, storage for the next cycle
Resources used
None.
General
Blocks FC19 (M version), FC24 (slim-line version), FC25 (T version) and FC26 (HT 8 version)
send the signals of the machine control panel to and from the user interface.
Parameter
Input parameter "BAGNo"
The parameter "BAGNo" is used to select the mode group to be processed. The
"ModeGroupNo" parameter also selects the number of the machine control panel (Bit 4).
Input parameter "ChanNo"
The parameter "ChanNo" is used to select the channel to be processed.
Input parameter "SpindleFNo" (not FC26)
The number of the axis/spindle (number of the associated machine axis) in the interface of
which the spindle data is sent is specified in the parameter "SpindleFNo". The spindle
override is transferred to this spindle interface. The parameters are checked for incorrect
parameterization.
Output parameters "FeedHold" and "SpindleHold" (not FC26)
The output parameters "FeedHold" and "SpindleHold" are formed from the 4 buttons feed/
spindle disable, feed/spindle enable. When the feed/spindle are disabled, the parameter
outputs the value "logical 1".
Information for the next cycle is stored in DB8, bytes 0 to 3 or bytes 62 to 65, depending on
the machine control panel number. This information is the edge trigger flag, feed value and
selected axis number. The blocks are provided with user data via the pointer parameters in
DB7 "MCP1In" and "MCP1Out" ("MCP2In" and "MCP2Out"). The pointers are addressed
indirectly via a further pointer from the VAR section of DB7 in order to avoid absolute
addressing. This additional pointer is determined symbolically in FB1.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1059
Block Description
All 4 components have a similar structure and are classified for the individual subtasks:
Input network
In the Input network, various parameters are copied to local variables. The machine control
signals (user data for input/output area) are also copied over using the various pointers in
DB7 (gp_par). These local variables are handled in the block for reasons of efficiency. Some
values are initialized for the startup.
Global_IN network
In the Global_IN network, the MKS/WKS switch-over with edge evaluation, axle selection,
direction keys and input overlays are determined for the additional processing in the block.
User-specific changes must take place in this part of the program, which are mainly oriented
at the axis selection.
NC network
Only the keyswitch information is copied in Network NC.
1060
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.17.30
Typ
e
Type
Value range
ACT:
BOOL
0 (FALSE), 1 (TRUE)
Job initiation 1)
ID:
INT
1, 2, 3 ...16
Connection ID
LADDR:
WORD
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
1061
Typ
e
Type
Value range
SEND:
ANY
Description
Specifies the address and length.
The address of the data area alter
natively refers to:
Bit memory address area
Data block area
LEN:
INT
BOOL
0 (FALSE), 1 (TRUE)
ERROR:
BOOL
0 (FALSE), 1 (TRUE)
0: Job running
1: Job executed
0: No error
1: An error is active
STATUS:
WORD
Status display
1) Parameter ACT must be TRUE long enough until the following applies: (DONE == 1) OR (ERROR
== 1)
2) For SINUMERIK 840D sl: Parameter LADDR := W#16#8110
Documentation
A detailed module description can be found in:
SINUMERIK user interfaces: Online help
SIMATIC Programming Manual: Program blocks for SIMATIC NET S7-CPs
Chapter: "Program blocks for Industrial Ethernet" > "Program blocks for open
communication services (SEND/RECEIVE interface)" > "AG_SEND / AG_LSEND /
AG_SSEND"
13.17.31
1062
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Typ
e
Type
Value range
Description
ID:
INT
1, 2 ...16
LADDR:
WORD
RECV:
ANY
Connection ID
BOOL
0 (FALSE), 1 (TRUE)
ERROR:
BOOL
0 (FALSE), 1 (TRUE)
STATUS:
WORD
LEN:
INT
0: Job running
1: New data accepted
0: No error
1: An error is active
Status display
Number of bytes that are transmitted
Documentation
A detailed module description can be found in:
SINUMERIK user interfaces: Online help
SIMATIC Programming Manual: Program blocks for SIMATIC NET S7-CPs
Chapter: "Program blocks for Industrial Ethernet" > "Program blocks for open
communication services (SEND/RECEIVE interface)" > "AG_RECV / AG_LRECV /
AG_SRECV"
13.18
Signal/data descriptions
13.18.1
References
The NCK/PLC, HMI/PLC and MCP/PLC interface signals are contained in the Lists document.
Lists sl (Book2)
The reference code contained therein (according to the signal names) refer to the respective
function description, in which the signal is described.
The NCK signals that are evaluated by the basic program and transferred in conditioned form
to the user interface are presented in the following sections.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1063
13.18.2
Decoded M signals
The M functions programmed in the part program, ASUB or synchronized actions are channel
specifically transferred from the NC to the PLC:
M functions from channel 1: DB21
M functions from channel 2: DB22
etc.
The signal length is one PLC cycle.
Note
The spindle-specific M functions below are not decoded: M3, M4, M5, and M70.
Variable
Type
Comment
DBX194.0 ... 7
M_Fkt_M0 ... M7
BOOL
M signals M0 ... M7
DBX195.0 ... 7
BOOL
DBX196.0 ... 7
BOOL
DBX197.0 ... 7
BOOL
DBX198.0 ... 7
BOOL
DBX199.0 ... 7
BOOL
DBX200.0 ... 7
BOOL
DBX201.0 ... 7
BOOL
DBX202.0 ... 7
BOOL
DBX203.0 ... 7
BOOL
DBX204.0 ... 7
BOOL
DBX205.0 ... 7
BOOL
DBX206.0 ...3
BOOL
Note
The M02/M30 auxiliary function output to the PLC does not state that the part program has
been terminated. To determine definitely the end of a part program in the channel, the following
interface signal must be evaluated:
DB21, ... .DBX33.5 (M02/M30 active)
The channel status must be RESET. The auxiliary function output could arise from an
asynchronous subroutine (ASUB) or a synchronized action and has nothing to do with the real
end of the parts program in this case.
1064
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.18.3
G Functions
The M functions programmed in the part program, ASUB or synchronized actions are channel
specifically transferred from the NC to the PLC:
G functions from channel 1: DB21
G functions from channel 2: DB22
etc.
The signal length is one PLC cycle.
POWER ON
After POWER ON, the value zero, i.e. active G groups undefined, is specified in the NC/PLC
interface for all G groups.
Part program end or abort
After part program end or abort, the last state of the G group is retained.
NC START
After NC-START the values of the 8 G-groups specified in the machine data:
MD22510 $NC_ GCODE_GROUPS_TO_PLC
are overwritten according to the default setting set via the machine data as well as the values
programmed in the part program.
Variable
Type
Basic position
Comment
DBB208
G_FKT_GR_1
BYTE
DBB209
G_FKT_GR_2
BYTE
DBB210
G_FKT_GR_3
BYTE
DBB211
G_FKT_GR_4
BYTE
DBB212
G_FKT_GR_5
BYTE
DBB213
G_FKT_GR_6
BYTE
DBB214
G_FKT_GR_7
BYTE
DBB215
G_FKT_GR_8
BYTE
DBB216
G_FKT_GR_9
BYTE
DBB217
G_FKT_GR_10
BYTE
DBB218
G_FKT_GR_11
BYTE
DBB219
G_FKT_GR_12
BYTE
DBB220
G_FKT_GR_13
BYTE
DBB221
G_FKT_GR_14
BYTE
DBB222
G_FKT_GR_15
BYTE
DBB223
G_FKT_GR_16
BYTE
DBB224
G_FKT_GR_17
BYTE
DBB225
G_FKT_GR_18
BYTE
DBB226
G_FKT_GR_19
BYTE
DBB227
G_FKT_GR_20
BYTE
DBB228
G_FKT_GR_21
BYTE
DBB229
G_FKT_GR_22
BYTE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1065
Variable
Type
Basic position
Comment
DBB230
G_FKT_GR_23
BYTE
DBB231
G_FKT_GR_24
BYTE
DBB232
G_FKT_GR_25
BYTE
DBB233
G_FKT_GR_26
BYTE
DBB234
G_FKT_GR_27
BYTE
DBB235
G_FKT_GR_28
BYTE
DBB236
G_FKT_GR_29
BYTE
DBB237
G_FKT_GR_30
BYTE
DBB238
G_FKT_GR_31
BYTE
DBB239
G_FKT_GR_32
BYTE
DBB240
G_FKT_GR_33
BYTE
DBB241
G_FKT_GR_34
BYTE
DBB242
G_FKT_GR_35
BYTE
DBB243
G_FKT_GR_36
BYTE
DBB244
G_FKT_GR_37
BYTE
DBB245
G_FKT_GR_38
BYTE
DBB246
G_FKT_GR_39
BYTE
...
...
...
...
...
DBB271
G_FKT_GR_64
BYTE
13.18.4
Message signals in DB 2
DB2 allows the user to display the messages for individual signals on the operator panel front.
As the lists of interface signals show, signals are divided into predefined groups. When a
message occurs, disappears or is acknowledged, the number entered in the message number
column is transferred to the HMI. Text can be stored in the HMI for each message number.
References:
Lists sl (Book2), see Section "PLC-Messages (DB2)".
Startup manual; Chapter "Alarm and message texts"
Note
The number of user areas can be parameterized using FB1.
After the configuration has been modified (FB1: MsgUser) DB2/DB3 must be deleted.
1066
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.19
13.19.1
Copying data
Copying variants
For the high-speed copying of data from one DB into another it is recommended
for larger data quantities to use the system function SFC BLKMOV or SFC FILL, because
here a high-speed copying takes place.
the routine given below is for smaller data quantities, because the supply of ANY parameter
to the SFCs consumes additional time.
Example
// DB xx.[AR1] is the source
// DI yy.[AR2] is the destination
AUF
DB 100;
//Source DB
LAR1
P#20.0;
AUF
DI 101;
//Destination DB
LAR2
P#50.0;
4;
//Transfer 8 bytes
DBW [AR1,P#0.0];
//Copy word-oriented
DIW [AR2,P#0.0];
+AR1
P#2.0;
+AR2
P#2.0;
TAK;
LOOP
13.19.2
M001;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1067
13.19.2.1
Function
FC99 has input parameters that are defined as POINTER or ANY.
The example shows a body program via which the subcomponents of the POINTER or ANY
can be accessed. In this case, the DB parameterized with POINTER or ANY is opened and
the address offset stored as a crossarea pointer in address register AR1, Thus allowing access
to data elements of variables (generally structures and arrays) that are addressed via the
POINTER, ANY.
This access operation is described at the end of the relevant program sequence in the example.
With data type ANY, it is also possible to execute a check or branch when the variable is
accessed based on the data type and the number of elements involved.
Example
FUNCTION FC99: VOID
VAR_INPUT
Row : BYTE ;
Convert : BOOL;
Addr: POINTER;
//Points to variable
Addr1 : ANY ;
END_VAR
VAR_TEMP
dbchr : WORD ;
Number: WORD ;
type : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
//POINTER
L
P##Addr;
LAR1 ;
//Retrieve pointer
W [AR1,P#0.0];
#dbchr;
D [AR1,P#2.0];
//Retrieve DB number
//Offset part of pointer
LAR1 ;
AUF DB [#dbchr];
L B [AR1,P#40.0];
//Open DB of variables
//Retrieve byte value using pointer with
//address offset 40
//ANY
P##Addr1;
LAR1 ;
L
1068
//Retrieve ANY
B [AR1,P#1.0];
//Retrieve type
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
#typ;
W [AR1,P#2.0];
#Amount;
W [AR1,P#4.0];
#dbchr;
D [AR1,P#6.0];
AUF
DB [#dbchr];
//Open DB of variables
B [AR1,P#0.0];
//Retrieve amount
//Retrieve DB number
LAR1 ;
13.19.2.2
Function
FB99 has input parameters that are defined as POINTER or ANY.
The example shows a body program via which the subcomponents of the POINTER or ANY
can be accessed. In this case, the DB parameterized with POINTER or ANY is opened and
the address offset stored as a crossarea pointer in address register AR1, thus allowing access
to data elements of variables (generally structures and arrays) that are addressed via the
POINTER, ANY.
This access operation is described at the end of the relevant program sequence in the example.
With data type ANY, it is also possible to execute a check or branch when the variable is
accessed based on the data type and the number of elements involved.
Example
FUNCTIONBLOCK FB99
VAR_INPUT
Row : BYTE ;
Convert : BOOL;
Addr: POINTER;
//Points to variable
Addr1 : ANY ;
END_VAR
VAR_TEMP
dbchr : WORD ;
Number: WORD ;
type : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
//POINTER
L
LAR1 ;
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
P##Addr;
//Retrieve pointer from instance DB
1069
DIW [AR1,P#0.0];
//Retrieve DB number
#dbchr;
DID [AR1,P#2.0];
AUF
DB [#dbchr];
//Open DB of variables
B [AR1,P#40.0];
LAR1 ;
//address offset 40
//ANY
L
P##Addr1;
LAR1 ;
DIB [AR1,P#1.0];
#typ;
DIW [AR1,P#2.0];
#Amount;
DIW [AR1,P#4.0];
//Retrieve type
//Retrieve amount
//Retrieve DB number
#dbchr;
DID [AR1,P#6.0];
AUF
DB [#dbchr];
//Open DB of variables
B [AR1,P#0.0];
LAR1 ;
13.19.2.3
FUNCTIONBLOCK FB100
CODE_VERSION1
1070
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Addr2 : ANY ;
Addr3 : ANY ;
Addr4 : ANY ;
END_VAR
VAR_TEMP
dbchr : WORD ;
Number: WORD ;
type : BYTE ;
Temp_addr : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =
L
WhichAny;
DEC 1;
L
P#10.0;
*I;
LAR2;
L
P##Addr1;
+AR2;
L
LAR1 ;
DID [AR2,P#0.0];
LD [AR1,P#0.0];
DID [AR2,P#4.0];
LD [AR1,P#4.0];
DIW [AR2,P#8.0];
LW [AR1,P#8.0];
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1071
P##Temp_addr;
LAR1 ;
B#16#10;
LB [AR1,P#0.0];
Data type;
LB [AR1,P#1.0];
Amount;
LW [AR1,P#2.0];
DBNumber;
LW [AR1,P#4.0];
DBOffset;
SLD 3;
T
//ANY identifier
13.19.3
Multiinstance DB
Function
From Version 2 in STEP 7, you can provide multi-instance enabled FBs, i.e. with multi-instance
DBs. The primary characteristic of multiinstance DBs is that a data module can be used for
various instances of FBs (see STEP 7 documentation), The quantity structure of the DBs can
be optimized this way.
1072
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Example
FUNCTION_BLOCK FB99
VAR_INPUT
varin: INT;
END_VAR
VAR
variable1: ARRAY[[0..9]
of INT;
variable2: INT;
END_VAR
BEGIN
L
P##variable1;
AD
LAR1
TAR2;
+AR1 AR2;
END_FUNCTION_BLOCK
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1073
13.19.4
Strings
The STRING data type is required by certain services of the basic program. For this reason,
some additional facts about the string structure and general handling procedures for parameter
assignments are given below.
Structure of strings
A data of type STRING is generally stored (defined) in a data block. There are two methods
of defining a string:
1. Only the data type STRING is assigned to a variable. The STEP7 compiler automatically
generates a length of 254 characters.
2. Data type STRING is assigned to a variable together with a string length in square
parenthesis (e.g. [32]). With this method, the STEP7 compiler generates a string length
corresponding to the input.
Two bytes more than prescribed by the definition are always stored for variables of the STRING
data type. The STEP 7 compiler stores the maximum possible number of characters in the 1st
byte. The 2nd byte contains the number of characters actually used. Normally, the useful length
of the assigned strings is stored by the STEP 7 compiler. The characters (1 byte per character)
are then stored from the 3rd byte onwards.
String parameters are generally assigned to blocks of the basic program by means of a
POINTER or ANY. Such assignments must generally by made using symbolic programming
methods. The data block, which contains the parameterizing string, must be stored in the
symbol list. The assignment to the basic program block is then made by means of the symbolic
data block name followed by a full stop and the symbolic name of the string variable.
13.19.5
Function
Another task, which occurs frequently, is symbolic determination of an offset address within a
structured DB, e.g. an ARRAY or STRUCTURE is stored somewhere within the DB. After
loading the address register symbolically with the start address, you might like to access the
individual elements of the ARRAY or STRUCTURE via an address register. One way of loading
the address register symbolically is to use an FC whose input parameter is a pointer. The
address of the ARRAY or STRUCTURE is then assigned symbolically to the input parameter
of this FC in the program. The program code in the FC now determines the offset address from
the input parameter, and passes the offset address in the address register (AR1) to the calling
function. Symbolic addressing is thus possible even with indirect access.
Example
FUNCTION FC99: VOID
VAR_INPUT
Addr: POINTER;
//Points to variable
END_VAR
1074
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
P##Addr;
LAR1 ;
L
LAR1 ;
END_FUNCTION
13.19.6
FB calls
Function
For optimizing the execution speeds, it is useful to call all function block calls with many static
parameters, such as the blocks FB2, 3, 4, 5, and 7 provided by the basic program when starting
with the related instance parameters. When starting (OB100), the preassignment of the
parameters must be done, which can then no longer be changed in the cyclic part (OB1). These
fixed parameter values are no longer parameterized in the cyclic call, because they have
already been written in the Instance DB.
M 100.0,
2,
NCVAR.C1_RP_rpa0_0
W#16#1
NCVAR.C1_RP_rpa0_0
W#16#2
M1.0,
M1.1,
MW 2,
P#M 4.0 REAL 1,
P#M 24.0 REAL 1,
//Read 2 variables
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1075
2,
NCVAR.C1_RP_rpa0_0
W#16#1
NCVAR.C1_RP_rpa0_0
W#16#2
P#M 4.0 REAL 1,
P#M 24.0 REAL 1,
//Read 2 variables
M0.0,
M1.0,
M1.1,
MW 2,
Note
Owing to this measure, a shorter cycle time is achieved in OB1, because the static parameter
values need not be copied in the instance DB in each OB1 cycle.
The savings of this variant:
The cyclic copying effort of 3 integer values and 4 ANY parameters with respect to the instance
DB, which results from 3 time loading of a constant with a 3-time transfer in the instance data
block. In case of each ANY transfer, constants are loaded in the data block 4 times with
subsequent transfer.
13.20
Data lists
13.20.1
Machine data
13.20.1.1
Number
Identifier: $MM_
Description
9032
HMI_MONITOR
1076
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
13.20.1.2
Number
Identifier: $MN_
Description
10100
PLC_CYCLIC_TIMEOUT
14504
MAXNUM_USER_DATA_INT
14506
MAXNUM_USER_DATA_HEX
14508
MAXNUM_USER_DATA_FLOAT
14510
USER_DATA_INT
14512
USER_DATA_HEX
14514
USER_DATA_FLOAT[n]
Note
Machine data in integer/hex format is operated in the NC as DWORD. A machine data in
floating point format is managed in the NC as FLOAT (8-byte IEEE). They are stored only in
the NC/PLC interface and can be read by the PLC user program from DB20 even when the
PLC boots.
13.20.1.3
Number
Identifier: $MC_
Description
28150
MM_NUM_VDIVAR_ELEMENTS
13.20.2
Signals
13.20.2.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB19.DB21
DB1900.DBB1
DB19.DBW24
DB1900.DBW4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1077
1078
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Overview
14.1.1
PLC firmware
14
The PLC of the SINUMERIK 828D is an integrated PLC based on the SIMATIC S7-200
command set.
The PLC user program is essentially programmed using a Windows PC with the "PLC
Programming Tool". In addition, the PLC can be diagnosed and edited via the operator
interface of the control. A "Ladder-Add-On-Tool" is available in the control for this purpose.
Note the following special features:
The PLC user program is completely programmed in ladder logic (LAD).
A subset of the programming language of the S7-200 is supported.
When loading to the CPU, in addition to the code for execution, the complete project data
(including symbols and comments) is loaded into the control. This means that the control
always has the project that matches the currently running PLC user program.
When loading from the CPU, the complete project data (including symbols and comments)
is loaded into the PLC Programming Tool and can be processed/edited using this.
The user must manage the data and process information according to type. The declared
data type must be used consistently each time that the data is accessed.
14.1.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1079
8VHUGDWD
+0,
'%
+0,
6LJQDOVWR+0,
'DWDLQWHUIDFH
6LJQDOVIURP+0,
1&
0RGH
6LJQDOVWR1&
6LJQDOVIURP1&
3/&XVHU
SURJUDP
&KDQQHO
'%
6LJQDOVWRFKDQQHO
'%
$[LV
VSLQGOH
GULYH
1&FKDQQHO
'%
'%
7RRO
0DQDJHPHQW
'%
'%
'%
'%
1&
'%
'%
Figure 14-1
6LJQDOVWRD[LV
'%
'%
$[LV
VSLQGOH
6LJQDOVIURPFKDQQHO
$[LVVSLQGOHQ
$[LVVSLQGOH
$[LVVSLQGOH
'%
'%
6LJQDOVIURP1&
0RGHVLJQDOV
'%
1&FKDQQHO
)XQFWLRQLQWHUIDFH
6LJQDOVWR1&
'%
'%
'%
1080
1&
'%
6LJQDOVIURPD[LV
6WDUW$68%
3/&D[LVFRQWURO
7RROPDQDJHPHQW
-REIRUORDGLQJXQORDGLQJORFDWLRQV
-REIRUVSLQGOHDQGWXUUHW
$FNQRZOHGJHPHQWIRUORDGLQJXQORDGLQJ
ORFDWLRQV
$FNQRZOHGJHPHQWVIRUVSLQGOHDQGWXUUHW
3/&XVHUDODUPV
5HDGLQJZULWLQJ1&GDWD
3,VHUYLFHV
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.1.2.1
14.1.2.2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1081
14.1.2.3
Retentive data
For the retentive data there are the user data blocks DB9000 - DB9063 and the data area
DB1400.DBW0 - DBW127. There the user can store all data that should remain valid after
POWER OFF/ON. The retentive data is stored in the non-volatile memory, however, not for
data backup.
14.1.2.4
Non-retentive data
Non-retentive data (e.g. bit memories, timers and counters) are deleted every time the control
is booted.
14.1.2.5
References
SINUMERIK 828D Parameter Manual
14.1.3
Number
Subprograms (SBRx)
256
Interrupts
Alarms/messages
248
Bit memory
4096
Non-retentive
Counters
64
Non-retentive
Timers,
of which:
128
Non-retentive.
10 ms increment interval
112
16
1082
64
Special features
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.1.4
14.1.5
PLC Toolbox
14.1.5.1
Star/delta changeover
For star/delta changeover, the following block is provided in the PLC Toolbox:
StarDelta
Note
This block can be used to perform a star/delta changeover - also for 1PH8 spindle motors
with SMI connected to a SINAMICS S120.
14.2
I/O signals
Inputs:
Outputs:
X252
Addressing
Inputs:
Outputs:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1083
1.5 ms
Processing via:
3 ms
Response time 1)
12.5 ms
14 ms
3 ms
4.5 ms
Signal at the input terminal processing in the PLC program signal at the output terminal
Symbol
Direct NO contact
-| I |-
Direct NC contact
-| /I |-
-(SI)-
-(RI)-
-( I )-
Parameterization
Using machine data, the input/output signals can be exclusively allocated to the NC or the PLC:
MD10366 $MN_HW_ASSIGN_DIG_FASTIN[ <n> ]
MD10368 $MN_HW_ASSIGN_DIG_FASTOUT[ <n> ]
with <n>: Index to address the input/output byte (0 = 1. byte, 1 = 2. byte, ...)
I/O signals
Assignment
NC
Inputs:
Outputs:
Inputs:
Outputs:
PLC
References
A detailed specification of the interfaces is provided in:
SINUMERIK 828D PPU Manual
1084
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.3
14.3.1
Overview
Function
The essential functions of the ladder viewer and ladder-on are as follows:
Ladder viewer: Displays the logic operations of contacts and relays in the PLC user program
as ladder diagram (LAD)
Ladder add-on:
Is used to troubleshoot the PLC user program
Editing or creating interrupt routines
Marshalling data
References
A detailed description of the functionality and using the ladder viewer and ladder add-on can
be found in the relevant SINUMERIK Operating Manuals:
Operating Manual, Universal
Operating Manual, Turning
Operating Manual, Milling
in the Chapter, "Letter viewer and ladder add-on"
14.3.2
Parameterization
Display of addresses
Using NC-specific machine data, the display of addresses in the ladder view can be configured
according to SIMATIC S7 300 notation:
MD51230 $MN_ENABLE_LADDER_DB_ADDRESSES = <Value>
<Value>
Meaning
Meaning
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1085
14.4
338KRUL]RQWDO
3&
56&
(WKHUQHW
6HUYLFH
LQWHUIDFH
*60PRGHP
'5,9(&/L4
'0&
+XE0RGXOH
When the "PLC Programming Tool" is called, without specifying an existing project, a new
project is created with the default name "Project1." This project can be immediately used to
generate the PLC user program, saved under any name, and loaded into the control. Existing
projects can be opened in the usual Windows manner.
The online help for the "PLC Programming Tool" can also be called with the "F1" function key,
just like in Windows.
References
SINUMERIK 828D Commissioning Manual, turning and milling
Section: "Scope of delivery and preconditions" > "Communication with the controller" >
"This is how you communicate with the controller via the programming tool"
Online help for the PLC Programming Tool
14.5
Data interface
Data is cyclically exchanged on one hand between the PLC and NC and and on the other hand
between the PLC and HMI. This especially means that the data received from HMI and destined
for the NC must be marshaled by the user program in order that these become effective.
Data to the PLC are provided by the firmware at the start of the user program cycle. This
ensures, for example, that the signals from the NCK remain constant throughout a cycle.
Data from the PLC are transferred by the firmware to the NKC or HMI at the end of the user
program cycle.
All data of this interface are listed in the manual for SINUMERIK 828D, PPU.
1086
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.5.1
PLC-NCK interface
These cyclic data include, e.g. status signals ("Program running", "Program interrupted"),
control signals (Start, Stop) and auxiliary and G functions.
Data are structured in signals for:
Mode signals
NC channel signals
Axis and spindle signals
General NCK signals
Fast data exchange PLC-NCK
14.5.1.1
Mode signals
DB3000, 3100
The mode signals specified by the machine control panel or the HMI are transferred to the
NCK.
There actual states are signaled to the PLC from the NCK.
3/&83
'%
+0,
&RQWUROVLJQDOV
0RGHVHOHFWLRQ
'%
1&.
&RQWUROVLJQDOV
0RGHVHOHFWLRQ
'%
6WDWXVVLJQDOV
0RGHVHOHFWLRQ
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1087
14.5.1.2
NC channel signals
+0,
'%
*HQHUDOVHOHFWLRQVWDWXVVLJQDOV
'%
6LJQDOVIRUSURJUDP
FRQWURO
'%
1&FKDQQHO
&RQWUROVLJQDOVWR1&FKDQQHO
&RQWUROVLJQDOVWRD[HVLQ:RUN
'%
&RQWUROVLJQDOVIURP1&FKDQQHO
&RQWUROVLJQDOVIURPD[HVLQ:RUN
'%
)XQFWLRQWUDQVIHUIURP1&FKDQQHO
076'+
'%
$FWLYH*IXQFWLRQVIURP1&FKDQQHO
1088
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.5.1.3
3/&83
'%Q
0IXQFWLRQIRUVSLQGOH
6IXQFWLRQIRUVSLQGOH
$[LV
VSLQGOH
GULYH
'%Q
2IIVHW
6LJQDOWR
$[LVVSLQGOH
$[LV
6SLQGOH
3/&D[LV
'ULYH
7HFKQRORJ\IXQFWLRQV
'%Q
2IIVHW
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
6LJQDOIURP
$[LVVSLQGOH
$[LV
6SLQGOH
3/&D[LV
'ULYH
7HFKQRORJ\IXQFWLRQV
1089
14.5.1.4
1&.
'%
*HQHUDOVLJQDOV
'%
*HQHUDOVLJQDOV
'%
6LJQDOVWRIDVW,2
'%
6LJQDOVWRIDVW,2
'%
3/&PDFKLQHGDWD
2IIVHW
6LJQDO
,17YDOXHV
+H[YDOXHV
)/2$7YDOXHV
&RQILJXULQJXVHUDODUPV
'%
&KDQJHVLJQDOVRI
WRROPDQDJHUIXQFWLRQV
14.5.1.5
DB4900
Data block DB4900 with a size of 1024 bytes is used for fast information exchange between
the PLC and NCK.
The assignment of the area (structure) must be identically negotiated in the NC part program
and PLC user user program.
1090
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.5.2
PLC-HMI interface
14.5.2.1
Number
Machine
201
Parameters
205
Programming
203
Program Manager
202
Diagnostics
204
Commissioning
206
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1091
14.5.2.2
Screen numbers
The current screen number is displayed in: DB1900.DBW4
Screen number ranges
The following screen number ranges are available:
JOG, manual machine (Page 1092)
Reference point approach (Page 1097)
MDA (Page 1097)
AUTOMATIC (Page 1097)
Parameters operating area (Page 1098)
Program operating area (Page 1099)
Program manager operating area (Page 1100)
Diagnostics operating area (Page 1100)
Number
Turning technology
Cycle start screen for all screens that can be taken over
81
Milling technology
Cycle start screen for all screens that can be taken over
Turning/milling
Start screen
19
T,S,M
Set WO
21
Positioning
Face milling
18
Stock removal
80
91
General settings
1092
106
107
108
Swiveling
60
All G functions
100
101
Thread synchronizing
102
Retract
103
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Number
Handwheel
104
Action synchronization
105
Turning technology: Workpiece zero
30
User screen
31
User screen
34
User screen
35
User screen
36
User screen
37
User screen
38
User screen
40
Measure edge Z
5
Turning technology: Workpiece, measurement
50
51
Manual Y
71
52
53
User screen
54
User screen
55
56
57
Automatic length in Z
58
Automatic length in Y
73
Automatic length in X
59
Milling technology: Workpiece zero
30
Measure edge X
Measure edge X
22
Measure edge Z
23
User screen
31
32
Right-angled corner
33
Rectangular pocket
34
2 holes
35
3 holes
36
4 holes
37
Rectangular spigot
38
10
2 circular spigots
39
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1093
Number
3 circular spigots
40
4 circular spigots
41
Set up level
42
11
12
Milling technology: Workpiece, measurement
50
16
74
24
17
13
75
25
14
User screen
51
15
52
1094
96
98
99
94
95
92
97
90
83
82
93
84
85
86
87
88
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Screen number
Turning/milling
Taper turning
61
Angle milling
62
Stop
63
Straight line
1300
1330
Straight X alpha
1340
Straight Z alpha
1350
Circle
1360
Drilling
1400
Center drilling
1410
1420
Drilling, centering
1433
Drilling, drilling
1434
Drilling, reaming
1435
Drilling, boring
1436
1440
1441
Drilling, tapping
1453
1455
Positions
1473
Position row
1474
Position grid
1477
Position frame
1478
Position circle
1475
1479
Obstacle
1476
Turning
1500
1513
1514
1515
Turning, groove 1
1523
Turning, groove 2
1524
Turning, groove 3
1525
1533
1534
1535
1536
1543
1544
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1095
Screen number
1545
1546
Turning, cut-off
1550
Milling
1600
1610
1613
1614
1623
1624
1633
1634
1635
Milling, multi-edge
1640
1454
Milling, engraving
1670
Contour turning
1200
1210
1220
1230
1240
Contour milling
1100
1110
1120
1130
1140
1150
Turning technology: Simulation
Side view
1740
Front view
1750
3D view
1760
2-window view
1770
Half section
1780
Turning technology: Simultaneous recording
Side view
1741
Front view
1751
3D view
1761
2-window view
1771
Machine space
1791
Half section
1781
Milling technology: Simulation
1096
Top view
1742
3D view
1760
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Screen number
1744
1746
1748
1752
Half section
1780
Turning view
1782
Milling technology: Simultaneous recording
Top view
1743
3D view
1761
1745
1747
1749
1753
Machine space
1791
Half section
1781
Turning view
1783
Number
101
Number
MDA
20
All G functions
100
101
Handwheel
104
Action synchronization
105
Program control
210
Settings
250
Number
Automatic
200
Overstore
202
Program control
210
Block search
220
General settings
250
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1097
Number
106
107
All G functions
100
101
Handwheel
104
Action synchronization
105
Turning technology: Simultaneous recording
Side view
243
Front view
244
3D view
245
2-window view
246
Machine space
247
Half section
253
Milling technology: Simultaneous recording
Top view
242
3D view
244
248
249
251
252
Machine space
247
Half section
253
Turning view
254
Number
Tool list
600
Tool wear
610
620
Magazine
630
Work offset
642
643
644
645
647
User variable
1098
R parameters
650
660
661
662
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Number
Global GUD 4
663
Global GUD 5
664
Global GUD 6
665
Global GUD 7
666
Global GUD 8
667
Global GUD 9
668
690
691
692
Channel GUD 4
693
Channel GUD 5
694
Channel GUD 6
695
Channel GUD 7
696
Channel GUD 8
697
Channel GUD 9
698
Local LUD
681
Local LUD/PUD
684
Setting data
671
Spindle data
670
672
Ctrl-Energy
6170
Ctrl-Energy, analysis
6171
Ctrl-Energy, profiles
6172
6176
6177
6179
6178
Number
Turning technology: Simulation
Side view
413
Front view
414
3D view
415
2-window view
416
Half section
423
Milling technology: Simulation
Top view
412
3D view
414
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1099
Number
418
419
421
422
Half section
423
Turning view
424
Number
NC directory
300
Local drive
325
330
Configured drive2
340
Configured drive3
350
Configured drive4
360
Configured drive5
383
Configured drive6
384
Configured drive7
385
Configured drive8
386
Number
Alarm list
500
Messages
501
Alarm log
502
NC/PLC variable
503
14.6
Function interface
14.6.1
Read/write NC variables
14.6.1.1
User interface
The PLC user program can read or write a maximum of eight NC variables simultaneously via
the NC/PLC interface "Read/write NC variable".
1100
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.1.2
Job specification
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
DBB1000
Variable index
DBB1001
Area number
DBW1002
DBW1004
DBW1006
---
DBD1008
DBD1012
---
DBD1016
DBD1020
DBW1024
DBB1026
DBB1027
Bit 0
---
---
3)
---
---
---
---
---
Write:
Data to
NC varia
ble x 3)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1101
Note
Channel-specific variables
When reading/writing channel-specific variables, only the variables of exactly one channel may
be addressed in a job.
Drive-specific variables
When reading/writing drive-specific variables, only the variables of exactly one SERVO drive
object may be addressed in a job. The SERVO drive object must be assigned to a machine
axis of the NC. The line index corresponds to the logical drive number.
Error case
In the event of an error, reading/writing variables from different drive objects, or simultaneously
from a channel and a drive object, an error message is output:
DB1200.DBX3000.1 == 1 (error occurred)
7
<Location number>
<Magazine number>
-
14.6.1.3
DB120x 1)
Byte
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
DBB 0
DBB 1
Bit 1
Bit 0
Job type
Job: Start
1102
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.1.4
DB120x 1)
Byte
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
DBB 2000
Bit 1
Bit 0
Error in job
Job com
pleted
Job status
End of job without error
DB1200.DBX2000.0 == 1 AND DB1200.DBX2000.1 == 0
End of job with error
DB1200.DBX2000.0 == 1 AND DB1200.DBX2000.1 == 1
Possible error causes
Number of variables (DB1200.DBB1) out of the valid range
Variable index (DB1200.DBB1000) out of the valid range
Simultaneous reading/writing of NC data from different servo drive objects
14.6.1.5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1103
14.6.1.6
-RE
FRPSOHWHG
(UURULQMRE
1104
Start job:
DB1200.DBX0.0 (start) = 1
Waiting for end of job:
DB1200.DBX2000.0 (job completed) == 1 AND
DB1200.DBX2000.1 (error in job) == 0
Reset job request:
DB1200.DBX0.0 = 0 (start)
With DB1200.DBX0 0 == 0 (start), the job is completed by the basic PLC program:
DB1200.DBX2000.0 (job completed) = 0
Waiting for end of job:
DB1200.DBX2000.0 (job completed) == 0 AND
DB1200.DBX2000.1 (error in job) == 1
Perform error handling
Reset job request:
DB1200.DBX0.0 (start) = 0
With DB1200.DBX0.0 == 0 (start), the job is completed by the basic PLC program:
DB1200.DBX2000.1 (error in job) = 0
If DB1200.DBX0.0 (start) is reset before the end of job is signaled by the basic PLC
program, the job is executed without further feedback.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.1.7
Job evaluation
Key statement
The variable-specific result interface must be evaluated for each variable processed in the job.
DB120x 1)
DBB3000
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
DBW3002
---
DBD3004
DBD3008
---
DBD3012
---
DBD3016
DBD3020
DBW3024
DBB3026
DBB3027
---
---
---
---
---
---
---
Read:
Data from
NC variable
x 3)
Note
Channel-specific variables
When reading/writing channel-specific variables, only the variables of exactly one channel may
be addressed in a job.
Drive-specific variables
When reading/writing drive-specific variables, only the variables of exactly one SERVO drive
object may be addressed in a job. The SERVO drive object must be assigned to a machine
axis of the NC. The line index corresponds to the logical drive number.
Error case
In the event of an error, reading/writing variables from different drive objects, or simultaneously
from a channel and a drive object, an error message is output:
DB1200.DBX3000.1 == 1 (error occurred)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1105
Access result
NC variables
DBB3001
Value
Meaning
No error
Invalid address
10
Drive-specific variables
If an error occurs while reading/writing a drive-specific variable (DB1200.DBX3000.1 == 1),
an error number is displayed in the access result which is based on the error numbers defined
in the PROFIdrive profile.
DBB3001
Value
x
Meaning
<error number of the PROFIdrive profile> + 20H or 36D
1106
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.1.8
Operable variables
The following variables are available:
Variable
Meaning
R parameters
Variable "cuttEdgeParam"
Compensation value parameters and cutting edge list with D numbers for a tool
The meanings of the individual parameters depend on the type of the tool in question. Currently,
25 parameters are reserved for each tool edge (but only a part of them is loaded with values).
To be able to remain flexible for future extensions, it is not recommended to use a fixed value
of 25 parameters for calculation, but the variable value 'numCuttEdgeParams' (variable index
2).
For a detailed description of tool parameters, see Section W1: Tool offset (Page 1363).
Address
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable "numCuttEdgeParams"
Number of P elements of a cutting edge
Address
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
DB120x.DBW1002
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1107
Value / meaning
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable "linShift"
Translation of a settable work offset (channel-specific settable frames)
The variable only exists if MD18601 MM_NUM_GLOBAL_USER_FRAMES > 0.
The following frame indices are available:
Index
Meaning
PARTFRAME = actual 3rd system frame (TCARR and PAROT with orientable tool carrier)
10
11
12
Address
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable "numMachAxes"
Number of the highest existing channel axis
If there are no channel axis gaps, the value of the variables is also the number of available
axes in the channel.
1108
Address
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value / meaning
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable "rpa"
R parameters
Address
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
DB120x.DBW1002
R number + 1
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable "actLineNumber"
Line number of the current NC block
No.
Meaning
-1
-2
Address
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1109
Value / meaning
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Meaning
Location type for virtual location
"match all" (buffer)
undefined (no virtual location)
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Meaning
Blocked
16
32
64
128
Value / meaning
DB120x.DBB1000
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable r0078[1]
Drive object: SERVO, SERVO_AC, SERVO_I_AC
CO: Current actual value, torque-generating [Arms]
Index [1]: smoothed with p0045
1110
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Address
Value / meaning
DB120x.DBB1000
10
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable r0079[1]
Drive object: SERVO, SERVO_AC, SERVO_I_AC
CO: Torque setpoint at the output of the speed controller (before clock cycle interpolation)
[Nm]
Index [1]: smoothed with p0045
Address
Value / meaning
DB120x.DBB1000
11
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable r0081
Drive object: SERVO, SERVO_AC, SERVO_I_AC
CO: Torque utilization in percent
Address
Value / meaning
DB120x.DBB1000
12
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Variable r0082[1]
Drive object: SERVO, SERVO_AC, SERVO_I_AC
CO: Active power actual value [kW]
Index [1]: smoothed with p0045
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1111
Address
Value / meaning
DB120x.DBB1000
13
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Temperature compensation
Variable "TEMP_COMP_ABS_VALUE" (SD43900)
Position-independent temperature compensation value
Address
Value / meaning
DB120x.DBB1000
14
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Value / meaning
DB120x.DBB1000
15
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
1112
Address
Value / meaning
DB120x.DBB1000
16
DB120x.DBB1001
DB120x.DBW1002
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.1.9
Address
Value / meaning
DB120x.DBB1000
17
DB120x.DBB1001
DB120x.DBW1002
Index + 1 (1, 2, 3)
DB120x.DBW1004
DB120x.DBD1008
DB120x.DBW3004
DBB 1
Syntax ID
DBB 2
Area
DBB 3
Unit
DBW 4
Column index
DBW 6
Line index
DBB 8
Block
DBB 9
Number of lines
DBB 10
Type
DBB 11
Length
....
.....
DBB 492
DBB 493
Syntax ID
DBB 494
Area
DBB 495
Unit
DBW 496
Column index
DBW 498
Line index
DBB 500
Block
DBB 501
Number of lines
DBB 502
Type
DBB 503
Length
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1113
Variable index
The variable index refers to the name of the NC variable. The variable index consists of a start
value 100 and the offset of the NC variable in the list (0 to 41).
The variable index is entered as DBB1000 A_VarIdx in the DB120x RW_NCDx user interface.
The comment contains the following data record with space as separator:
Area
Block
VariablenName
VarType
Column
VarAnzByte
14.6.2
14.6.2.1
User interface
Job specification
PI services are specified via the job interface (DB1200 from offset 4000).
DB1200
PI service [r/w]
PLC NCK interface
Byte
DBB 4000
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Start 1)
DBB 4001
PI index 2)
DBB 4002
DBB 4003
1114
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
PI service [r/w]
DBW 4004
PI parameter 1 3)
DBW 4006
PI parameter 2
DBW 4008
PI parameter 3
DBW 4010
PI parameter 4
DBW 4012
PI parameter 5
DBW 4014
PI parameter 6
DBW 4016
PI parameter 7
DBW 4018
PI parameter 8
DBW 4020
PI parameter 9
DBW 4022
PI parameter 10
Job feedback
The PLC provides feedback as to whether the started PI service was successful or not
successful in the result interface (DB1200 from offset 5000).
The job end is signaled using the following signals:
DB1200.DBX5000.0
DB1200.DBX5000.1
The signals are written by the PLC; therefore, they can only be read by the user.
A job has been completed as soon as the user resets the "Start" signal (DB1200.DBX4000.1).
Status signals DB1200.DBX5000.0 and .1 are then set to zero.
DB1200
PI service [r]
NCK PLC interface
Byte
DBB 5000
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Error in the
job 2)
Job com
pleted 1)
DBB 5001
DBB 5002
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1115
-RE
FRPSOHWHG
(UURULQMRE
14.6.2.2
PI services
PI service ASUB
Function
With the "ASUB" PI service, it is possible to assign one program each to the interrupt numbers
1 and 2 from the PLC. These programs must be present in the NC in the machine manufacturer
directory (CMA) with fixed program names:
Interrupt:
Directory
_N_CMA_DIR
Program name
PLCASUP1_SPF
PLCASUP2_SPF
If the programs are not available, then they must be created. A power on reset must then be
performed on the NC.
The PI service "ASUB" must only be executed once after the control powers up. The
assignment of the interrupt to the program is retained until the control powers up again.
1116
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Valid values
DB1200.DBW4001
PI index 1)
1 (interrupt 1)
DB1200.DBW4004
Parameter 1: LIFTFAST
DB1200.DBW4006
Parameter 2: BLSYNC 3)
2 (interrupt 2)
2)
0 (FALSE)
1 (TRUE)
0 (FALSE)
1 (TRUE)
1)
PI index = 1 assignment: Interrupt 1 for _N_CMA_DIR/PLCASUP1_SPF, interrupt priority = 1
PI index = 2 assignment: Interrupt 2 for _N_CMA_DIR/PLCASUP2_SPF, interrupt priority = 2
2) After the interrupt has been initiated, LIFTFAST first results in fast retraction (fast lift). Only then is
the interrupt routine executed.
Reference
Function Manual, Special Functions
Chapter "8 R3: Extended stop and retract" > "8.2 control-managed ESR - only 840D sl" > "Retract"
3) BLSYNC ensures that after the interrupt has been initiated, the system first waits until the actual
block has been executed. Only then is the interrupt routine executed.
Supplementary conditions
The PI service "ASUB" may only be executed when the channel in which it is requested is
in the RESET state.
If, for an event-controlled program call (Prog Event), "power up" is configured as initiating
event (MD20108 $MC_PROG_EVENT_MASK), then the PI service "ASUB" may only be
started after the ProgEvent program has been completed (PROG_EVENT_SPF or
MD11620 $MN_PROG_EVENT_NAME=<User_Prog_event_SPF>).
See also
Job specification (Page 1114)
Job feedback (Page 1115)
PI service LOGOUT
Function
The password last transferred to the NC is reset.
Job specification
PI service: LOGOUT
Address
Description
Valid values
DB1200.DBW4001
PI index
3 (reset password)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1117
PI service DATA_SAVE
Function
Perform data saving.
Job specification
PI service: DATA_SAVE
Address
Description
Valid values
DB1200.DBW4001
PI index
PI service TMMVTL
Function
Using the PI service TMMVTL, it is possible to request a job from the PLC to relocate a tool.
As a result of the PI service, the tool manager carries out an empty location search in the target
magazine for the tool specified in the PI service (tool number or source location number/source
magazine number) The PLC then receives a job to relocate the tool via DB41xx.DBB0.
Job specification
1118
Address
Description
Valid values
DB1200.DBW4001
PI index
DB1200.DBW4004
-1, 1 31999
DB1200.DBW4006
-1, 1 31999
DB1200.DBW4008
-1, 1 9999
DB1200.DBW4010
-1, 1 31999
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Description
Valid values
DB1200.DBW4012
-1, 1 9999
For the unused parameters of the other version, a value of -1 must be entered.
2) With the target location number = -1, a search is made in the complete magazine for an empty
location for the tool according to the search strategy that has been selected. If a target location is
specified, then a check is made as to whether the location with the specified target location number is
free and suitable for the particular tool.
3) For a target magazine number = -1, a search is made in a buffer for the tool corresponding to the
assignment obtained from $TC_MDP2.
Application examples
When using buffers to return the tool (for example Toolboy and/or shifter), an explicit empty
location search in the magazine may be needed during the asynchronous return transport.
In this case, the PLC does not have to note the original location, the PI service TMMVTL
searches for a suitable location.
A tool is to be moved from a background magazine to the front magazine.
14.6.3
14.6.3.1
User interface
Note
Although the name user "alarms" is used in the following, it is only defined as to whether it
involves a message or an alarm when entering the particular cancel criterion in bits 6 and 7 of
machine data MD14516[x].
The user alarms are created in the HMI and are prepared for automatic processing. The user
interface of the DB1600 permits:
these 248 user alarms of numbers 700000 to 700247 to be activated,
to be provided with an additional numerical parameter, and
to be activated and acknowledged as well as
to evaluate the system reactions initiated by it.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1119
Data block
Byte
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
700002
700001
700000
700010
700009
700008
700018
700017
700016
700026
700025
700024
700034
700033
700032
700042
700041
700040
700242
700241
700240
700007
700006
700005
DBB 1
700015
700014
700013
DBB 2
700023
700022
700021
DBB 3
700031
700030
700029
700004
700003
700011
700019
700027
700039
700038
700037
700036
700035
700047
700046
700045
700044
700043
.
700247
700246
700245
700244
700243
DBD 1000
DBD 1004
DBD 1008
DBD 1980
DBD 1984
DBD 1988
...
1120
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Bit 6
Bit 5
POWER
ON
Interrupt
with
DB1600
DBX3000.0
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PLC STOP
Emergen
cy stop
Feedrate
disable for
all axes
Read-in
disable
NC start
disable
DBB 2001
DBB 2002
DBB 2003
One bit is set if for at least one active alarm the corresponding response or the corresponding
cancel criterion is configured. It is canceled, if this response/cancel criterion is no longer
configured for any of the alarms present.
The codings of the cancel criteria and the corresponding priorities are:
Bit 7
Bit 6
Type
Priority
Message
Low
Alarm
Medium
Power on
Alarm
High
Note
If none of bits 0 to 4 are set for an alarm/message in the machine data, then this defines that
it involves a so-called "display message" that has no effect on the system. This especially
indicates that also bits 6 and 7 of the corresponding machine data are evaluated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1121
Data block
Byte
DBB 2000
Bit 7
Bit 6
POWER
ON
Interrupt
with
DB1600
DBX3000.0
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Feedrate
disable for
all axes
Read-in dis
able
NC start
disable
DBB 2001
DBB 2002
DBB 2003
One bit is set if for at least one active alarm the corresponding response or the corresponding
cancel criterion is configured. It is canceled, if this response/cancel criterion is no longer
configured for any of the alarms present.
Byte
DBB3000
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Ack
DBB3001
DBB3002
DBB3003
Interface to HMI.
The PLC can transfer eight messages or alarms for display on the HMI, which are displayed
in the sequence that they occur.
1122
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.4
14.6.4.1
Overview
Target
The PLC can control eight axes or spindles via data blocks of the user interface; the axis/spindle
is specified by its DB number:
DB380x PLC NCK interface
DB390x NCK PLC interface
DB390x Axis index: 0 x 7, whereby axis index = axis number-1
The following functions are supported:
Positioning axes
Spindle positioning
Rotate spindle
Oscillate spindle
Indexing axes
References:
Function Manual, Extended Functions; Positioning Axes (P2) and Indexing axes (T1)
Function Manual, Basic Functions; Spindles (S1)
Precondition
The axis to be controlled must be assigned to the PLC. An axis can be interchanged between
NC and PLC using the user interface "Axis interchange" (DB3800.DBB8/DB3900.DBB8).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1123
Function start
Each function is activated by the positive edge of the corresponding "Start" signal. This signal
must remain a logical "1" until the function has been positively or negatively acknowledged
(e.g. using Position reached = "1" or Error = "1"). The signal "Positioning axis active" = "1"
indicates that the function is active and that the output signals are valid.
Interrupt
It is notpossible to interrupt the function by resetting the start signal, but only via other interface
signals (using the axis-specific signal Delete distance to go/spindle reset, DB380x DBX2.2).
The axis interface returns axis status signals that may need to be evaluated (e.g. exact stop,
travel command, DB390x).
If the axis/spindle is being traversed via the NC program when the PLC axis control is called
(travel command present), then the function is only started after this movement has ended.
No error code is output in this situation.
Axis disable
With the axis disable set, an axis controlled via PLC axis control will not move. Only a simulated
actual value is generated. (Behavior as with NC programming).
14.6.4.2
Data block
Byte
DBB 0008
Bit 6
Bit 5
Bit 4
Activation
signal
when this
byte is
changed
Bit 3
Bit 2
Bit 1
Bit 0
Request
NC axis/
spindle
1124
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Data block
Byte
DBB 0008
Bit 6
Bit 5
Bit 4
Bit 3
PLC axis/
spindle
Neutral ax
is/
spindle
Axis inter
change
possible
New type
requested
from PLC
Bit 2
Bit 1
Bit 0
NC axis/
spindle
'%['%
'%['%
5HPDUN
[
3/&UHFHLYHV6LJQDOD[LVLQWHUFKDQJHSRVVLEOH
1&D[LVDQGSRVVLEO\QHXWUDOD[LVVSLQGOH[
3/&UHTXHVWVD[LV
3/&UHVHWVWKHDFWLYDWLRQVLJQDO
$[LVLVDVVLJQHGWRWKH3/&FDQEHXVHGDQGLVWKHQUHOLQTXLVKHGWRWKH1&
3/&UHWXUQVD[LVWR1&
3/&UHVHWVDFWLYDWLRQVLJQDO
6WDWXV1&D[LVDQG$[LVLQWHUFKDQJHSRVVLEOH
$[LVLVDVVLJQHGWRWKH3/&FDQEHXVHGDQGLVWKHQHQDEOHG
14.6.4.3
3/&HQDEOHVD[LV
3/&UHVHWVDFWLYDWLRQVLJQDO
6WDWXVQHXWUDOD[LVVSLQGOH1&D[LVDQGD[LV
LQWHUFKDQJHSRVVLEOH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1125
Data block
Byte
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
DBB3000
Start posi
tioning axis
Start spin
dle posi
tioning
Start spin
dle rotation
Start spin
dle oscilla
tion
DBB3001
Stop spin
dle rotation
Stop spin
dle oscilla
tion
DBB3002
Automatic
gear selec
tion
Handwheel
override
Traversing
dimension,
inches (not
metric)
Distance
condition,
shortest
distance
(DC)
Distance
condition,
incremen
tal (IC))
DBB3003
Indexing
position
Constant
Direction of
cutting rate rotation as
for M4
Distance
Distance
condition,
condition,
abs. pos. di abs. neg. di
rection
rection
(ACP)
(ACN)
DBD3004
DBD3008
Feedrate velocity (REAL), if < 0, the value is taken from machine data POS_AX_VELO
The bits of the distance conditions and the direction of rotation definition define the particular
positioning or traversing mode, only one of the bits must be set:
Meaning
Positioning absolute
Positioning incremental
DBB3002.0 = 1
DBB3002.1 = 1
DBB3003.1 = 1
DBB3003.0 = 1
DBB3002.5 = 1
The remaining bits are used to specify and start the particular function, these function bits as
well as position and velocity are explained in more detail for the individual functions.
Data block
Byte
Bit 6
DBB3000
Positioning
axes active
Position
reached
DBB3001
DBB3002
DBB3003
1126
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Error while
traversing
Axis cannot
be started
Error number
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.4.4
Spindle positioning
DB380x
DBX3002.0
Incremental
0|1
DBX3002.1
Shortest path
0|1
DBX3003.0
0|1
DBX3003.1
DBD3004
REAL
DBD3008
Feedrate
REAL
DBX3000.6
Start
0|1
DBX2.2
0|1
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.0
DBX3000.1
DBB3003
Error number
DBX1.4
Axis/spindle stationary
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
0|1
1127
WR3/&D[LV
6WDUW
6SLQGOHUHVHW
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
$[LVVWDWLRQDU\
(UURUELW
14.6.4.5
Positioning axis active message shows that the function is active and that the output signals are
valid, Position reached and Axis stationary may be withdrawn. For path specification = 0, the
signals are not canceled.
When the position is reached this is signaled (Position reached), Spindle stationary is set.
The user then withdraws Start.
The Positioning axis active signal is then reset.
The user immediately resets the Start signal with receipt of the Positioning axis active signal.
Positioning is aborted by setting Spindle reset. This signal must be present for at least one PLC
cycle.
The spindle comes to a standstill (Spindle stationary), the Fault signal is set. (In this case, fault
number 115 is output.)
Rotate spindle
DB380x
DBX3002.0
Incremental
DBX3002.1
Shortest distance
DBX3002.5
DBX3003.0
DBX3003.1
DBD3008
Feedrate velocity
1128
REAL
Spindle speed
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DBX3000.5
0|1
DBX3001.5
0|1
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
DBX1.4
Axis/spindle stationary
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
The user stops spindle rotation by resetting Start and setting Stop.
Signals Positioning axis active and Position reached are signaled back, Position reached is in
this case irrelevant.
The spindle stops and the Spindle stationary signal is set.
The user then resets Stop.
Reset of Stop causes Positioning axis active to be reset.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1129
14.6.4.6
Oscillate spindle
DB380x
DBX3002.0
Incremental
DBX3002.1
Shortest distance
DBX3002.5
DBX3003.0
DBX3003.1
DBD3004
REAL
Values 0, 1, 2, 3, 4, 5
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 0
0-5: Oscillation
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 1
0: Oscillation
1: Oscillation with gear stage change M41
2: Oscillation with gear stage change M42
3: Oscillation with gear stage change M43
4: Oscillation with gear stage change M44
5: Oscillation with gear stage change M45
DBD3008
Feedrate velocity
DBX3000.5
DBX3001.5
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
1: after start
DBX3000.1
Error
DBX3000.0
DBB3003
Error number
DBX1.4
Axis/spindle stationary
1130
REAL
0|1
0|1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
6SLQGOHVWDWLRQDU\
$[LVFDQQRWEHVWDUWHG
14.6.4.7
The user stops spindle oscillation by resetting Start and setting Stop.
The spindle stops and the Spindle stationary signal is set.
Reset of Stop causes Positioning axis active to be reset.
Stop is reset in the user program and Start is again set, incorrectly, in the same PLC cycle. This
means that Positioning axis active is not reset, but...
Indexing axis
DB380x
DBX3002.0
Incremental
0|1
DBX3002.1
Shortest distance
0|1
DBX3002.5
DBX3003.0
0|1
DBX3003.1
0|1
DBD3003.7
Indexing position
DBD3004
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1
DINT
Indexing axis ON
for "incremental": Setpoint distance
1131
DBD3008
Feedrate velocity
DBX3000.7
0|1
DBX2.2
0|1
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
DBX1.4
Axis/spindle stationary
REAL
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
1132
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.4.8
DB380x
DBX3002.0
Incremental
0|1
DBX3002.1
Shortest distance
0|1
DBX3002.5
DBX3003.0
0|1
DBX3003.1
0|1
DBD3002.2
DBD3002.3
Handwheel override
Override OFF
DBD3004
REAL
DBD3008
Feedrate velocity
REAL
DBX3000.7
0|1
DBX2.2
0|1
DB390x
Remark
DBX3000.7
Only one of the bits must be set, if all bits are 0, then this
means absolute positioning.
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1133
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
(UURU
Positioning axis active = 1 shows that the function is active and that the output signals are valid,
Position reached and Axis stationary are possibly withdrawn.
Positive acknowledgement Position reached = 1 and Positioning axis active = 1
Reset of function activation after receipt of acknowledgment
Signal change via function
Positioning is interrupted by delete distance to go, signal duration min. 1 PLC cycle.
The signals Position reached and Error are reset, the Error number can be read (in this case,
30).
14.6.4.9
DB380x
DBX3002.0
Incremental
0|1
DBX3002.1
Shortest distance
0|1
DBX3002.5
DBX3003.0
0|1
DBX3003.1
0|1
DBD3002.2
DBD3002.3
Handwheel override
Override OFF
DBD3004
REAL
DBD3008
Feedrate velocity
REAL
1134
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DBX3000.7
0|1
DBX2.2
0|1
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
(UURU
Positioning axis active = 1 shows that the function is active and that the output signals are valid,
Position reached and Axis stationary are possibly withdrawn.
Positive acknowledgement Position reached = 1 and Positioning axis active = 1
Reset of function activation after receipt of acknowledgment
Signal change via function
Positioning is interrupted by delete distance to go, signal duration min. 1 PLC cycle.
The signals Position reached and Error are reset, the Error number can be read (in this case,
30).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1135
14.6.4.10
DB380x
DBX3002.0
Incremental
0|1
DBX3002.1
Shortest distance
0|1
DBX3002.5
DBX3003.0
0|1
DBX3003.1
0|1
DBD3002.2
DBD3002.3
Handwheel override
Override ON
DBD3004
REAL
DBD3008
Feedrate velocity
REAL
DBX3000.7
0|1
DBX2.2
0|1
DB390x
Remark
DBX3000.7
Only one of the bits must be set, if all bits are 0, then this
means absolute positioning.
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
1136
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
(UURU
14.6.4.11
Positioning axis active = 1 shows that the function is active and that the output signals are valid,
Position reached and Axis stationary are possibly withdrawn.
Positive acknowledgement Position reached = 1 and Positioning axis active = 1
Reset of function activation after receipt of acknowledgment
Signal change via function
Positioning is interrupted by delete distance to go, signal duration min. 1 PLC cycle.
The signals Position reached and Error are reset, the Error number can be read (in this case,
30).
DB380x
DBX3002.0
Incremental
0|1
DBX3002.1
Shortest distance
0|1
DBX3002.5
DBX3003.0
0|1
DBX3003.1
0|1
DBD3002.2
DBD3002.3
Handwheel override
DBD3004
REAL
DBD3008
Feedrate velocity
REAL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1137
DBX3000.7
0|1
DBX2.2
0|1
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
(UURU
1138
Positioning axis active = 1 shows that the function is active and that the output signals are valid,
Position reached and Axis stationary are possibly withdrawn.
Positive acknowledgement Position reached = 1 and Positioning axis active = 1
Reset of function activation after receipt of acknowledgment
Signal change via function
Positioning is interrupted by delete distance to go, signal duration min. 1 PLC cycle.
The signals Position reached and Error are reset, the Error number can be read (in this case,
30).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.4.12
DB380x
DBX3002.0
Incremental
DBX3002.1
Shortest distance
DBX3002.5
DBX3003.0
DBX3003.1
DBD3002.7
DBD3008
Feedrate velocity
DBD3000.5
0|1
DBX3001.5
0|1
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
DBX1.4
Axis/spindle stationary
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1
REAL
1139
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
14.6.4.13
DB380x
DBX3002.0
Incremental
DBX3002.1
Shortest distance
DBX3002.5
DBX3003.0
DBX3003.1
DBD3002.2
DBD3002.6
DBD3008
Feedrate velocity
DBD3000.5
0|1
DBX3001.5
0|1
1140
1
REAL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
DBX1.4
Axis/spindle stationary
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1141
14.6.4.14
DB380x
DBX3002.0
Incremental
DBX3002.1
Shortest distance
DBX3002.5
DBX3003.0
DBX3003.1
DBD3002.2
DBD3002.6
DBD3008
Feedrate velocity
DBD3000.5
0|1
DBX3001.5
0|1
DB390x
Remark
DBX3000.7
DBX3000.6
Position reached
DBX3000.1
Error
DBB3003
Error number
DBX1.4
Axis/spindle stationary
1142
REAL
Spindle speed
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[HVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
14.6.4.15
Error messages
If a function could not be executed, the following signals are set depending on the error:
DB390x .DBX3000.0 == 1 (axis cannot be started)
DB390x.DBX3000.1 == 1 (error during travel)
The exact error cause is indicated as:
DB390x.DBB3003 (error number)
Error number
Decimal
Hex
Meaning
01
20
14
30
1E
40
28
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1143
Meaning
Decimal
Hex
50
32
60
3C
Permanently assigned PLC axis: Channel status does not permit a start
100
64
101
65
102
66
Incorrect value range for constant cutting rate (alarm number1) 14840)
104
68
105
69
106
6A
107
6B
108
6C
109
6D
110
6E
Velocity/speed is negative
111
6F
112
70
115
73
117
75
118
76
120
78
121
79
125
7D
126
7E
127
7F
128
80
130
82
131
83
132
84
133
85
134
85
135
87
136
88
Indexing axis with "Hirth toothing" is active and axis not referenced (alarm number1) 17503)
137
89
Spindle operation not possible for transformed spindle/axis (alarm number1) 22290)
138
8A
The corresponding effective coordinate-system-specific working area limit plus violated for the axis
(alarm number1)20082)
139
8B
The corresponding effective coordinate-system-specific working area limit minus violated for the axis
(alarm number1)20082)
200
C8
1) The detailed alarm description is contained in: Alarms diagnostics manual; SINUMERIK 828D, SINAMICS S120
1144
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.5
Starting ASUBs
14.6.5.1
General
From the PLC, interrupt 1 or 2 can be initiated on the NC, in principle, at any point in time. As
a consequence, the program currently being processed in the NC is interrupted, and the
interrupt program assigned to the interrupt executed:
Interrupt 1: _N_CMD_DIR/PLCASUP1.SPF
Interrupt 2: _N_CMD_DIR/PLCASUP2.SPF
Note
A start signal must not be set in the following cases:
PI service "ASUB" has not been completed yet.
DB2600.DBX0.1 == 1 (emergency stop)
The request "Channel reset" is still active in the channel.
The ASUB can only be started again when the channel is in the "Reset" state AND
DB3300.DBX3.7 == 1 (channel state reset).
See also
PI service: ASUB (Page 942)
14.6.5.2
Job start
DB3400
Byte
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
DBB 0000
Start INT1
DBB 0001
Start INT2
DBB 0002
DBB 0003
Start INT1:
Bit 0 = 1: Request to start the ASUB, which is assigned to INT1.
Bit 0 = 0: Reset the ASUB request after acknowledgement in the result interface DBB1000.
Start INT2
Bit 0 = 1: Request to start the ASUB, which is assigned to INT2.
Bit 0 = 0: Reset the ASUB request after acknowledgement in the result interface DBB1001.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1145
14.6.5.3
Job result
DB3400
Byte
Bit 7
Bit 6
Bit 5
DBB 1000
DBB 1001
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ASUB can
not be exe
cuted 1)
Interrupt
no. not as
signed 2)
Interrupt
no. not as
signed 2)
INT1
INT2
ASUB can
not be exe
cuted 1)
DBB 1002
DBB 2003
1) Negative acknowledgement: e.g. for emergency stop or channel reset request.
2) Negative acknowledgement: Number has not been assigned yet. Remedy: Execute PI service "ASUB".
3) Positive acknowledgement: ASUB successfully completed. Reset start signal:
DB3400.DBX1000.0 == 1 DB3400.DBX0000.0 = 0
DB3400.DBX1001.0 == 1 DB3400.DBX00001.0 = 0
1146
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
14.6.5.4
Signal flow
Signal flow
,17VWDUW
$68%LVEHLQJ
H[HFXWHG
$68%FRPSOHWHG
,171RQRWDOORFDWHG
$68%H[HFXWLRQQRW
SRVVLEOH
The signal to initiate the function is reset after receiving the acknowledgement from the user.
Figure 14-2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1147
1148
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.1
15
Brief Description
Function
When referencing a machine axis, the coordinate system of the machine axis is synchronized
with the coordinate system of the machine. The machine axis is traversed to the machine zero
and then the actual position of the machine axis is set to zero.
If the machine zero cannot be directly approached as a result of the machine design, then a
reference point is defined in the traversing range of the machine axis, which then used to
synchronize the machine axis. Its position with reference to the machine zero must be known.
When referencing, the actual machine axis position is set to this value
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1149
R1: Referencing
15.2 Axisspecific referencing
Start
Referencing the machine axis can be manually started, or from the part program:
Manual: Operation mode JOG and MDI, machine function REF
Part program: Command G74
15.2
Axisspecific referencing
For axis-specific referencing using the reference point approach, the operation must be
individually started for each machine axis to be referenced.
Direction enable
To avoid operator errors, the direction release must be parameterized. The direction enable
specifies which traversing key starts the reference point approach:
MD34010 $MA_REFP_CAM_DIR_IS_MINUS = <value>
<value>
Meaning
Jog mode
The following machine data element can be used to specify whether reference point approach
is completed when the direction key is pressed once or whether the operator is required to
keep the direction key pressed (jogging) for safety reasons:
MD11300 $MN_JOG_INC_MODE_LEVELTRIGGRD (INC and REF in jog mode)
1150
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.2 Axisspecific referencing
If the machine operator releases the direction key, the machine axis is decelerated to zero
speed. Reference point approach is not aborted. Reference point approach is continued the
next time the direction key is pressed.
Referencing status
The referencing status of the machine axis is reset with the start of the reference point
approach:
DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ... DBX60.5 (referenced / synchronized 2)
DB21, ... DBX36.2 (all axes with obligatory reference point are referenced)
Sequence
The machine operator or machine manufacturer (via the PLC user program) is responsible for
ensuring that the machine axes are referenced in the proper order.
Machine operator
The machine axes must be started by the machine operator in the specified order.
Machine manufacturer
The PLC user program of the machine manufacturer allows machine axes to be started
only in the proper order.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1151
R1: Referencing
15.3 Channelspecific referencing
DB11, ... DBX0.7 (mode group reset)
DB21, ... DBX7.7 (channel reset)
All machine axes that have not yet successfully completed reference point approach when the
action is cancelled remain in status "Not referenced":
DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ... DBX60.5 (referenced / synchronized 2)
15.3
Channelspecific referencing
For channel-specific referencing, all machine axes of the channel are referenced in the
parameterized sequence when reference point approach is initiated.
Meaning
-1
The machine axis does not have to be referenced for NC START in the channel.
The machine axis does not participate in channel-specific reference point approach.
1 - 15
1152
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.4 Reference point appraoch from part program (G74)
The status of channel-specific reference point approach is indicated by the channel with:
DB21, ... DBX33.0 (activate referencing)
Referencing status
The referencing status of the machine axis is reset with the start of the reference point
approach:
DB31, ... DBX60.4 (referenced / synchronized 1)
DB31, ... DBX60.5 (referenced / synchronized 2)
15.4
Function
With command G74, machine axes can be referenced from a part program or synchronized
action either for the first time or again.
Referencing must be repeated, for example, after:
Actual value offset PRESETON
References: Programming Guide Advanced, section "Coordinate transformations
(Frames)" > "Preset offset with PRESETON"
Parking a machine axis (Page 113)
Exceeding the encoder limit frequency of the position measuring system
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1153
R1: Referencing
15.5 Referencing with incremental measurement systems
Programming
Syntax
G74 <machine axis> {<machine axis>}
Meaning
G74:
<machine
axis>:
Yes
Effective
ness:
Non-modal
Reset response
Mode group reset or channel reset aborts the reference point approach for all programmed
machine axes:
DB11, ... DBX0.7 (mode group reset)
DB21, ... DBX7.7 (channel reset)
All machine axes for which the reference point approach is not yet successfully completed
when the action is canceled remain in status "Not referenced":
DB31, ... DBX60.4 (referenced/synchronized 1) == 0
DB31, ... DBX60.5 (referenced/synchronized 2) == 0
15.5
15.5.1
Hardware signals
Depending on the machine design and the properties of the incremental measuring system
used, different hardware signals must be connected.
Reference cam
Connection
The reference cam signal can be connected to a digital input of an external PLC I/O module
or to a fast input on the NCU X142 interface.
NC/PLC interface signal
The reference cam signal must be transferred from the PLC user program to the axial NC/
PLC interface:
DB31, ... DBX12.7 (deceleration of reference point approach)
1154
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.5 Referencing with incremental measurement systems
Zero mark selection
If during the reference point approach of the axis or spindle several zero marks of the
measuring system are detected (e.g. measuring gear between the motor and encoder), then
the specific zero mark must be selected with an additional BERO signal.
Connection
The BERO must be connected to a fast digital input on the NCU X122 or X132 interface.
Activation
In order that the BERO signal is evaluated, the digital input to which the BERO is connected
must be selected in drive parameter p0493 for the axis/spindle.
Equivalent zero mark
If the used measuring system does not provide a zero mark signal, an equivalent zero mark
can be created via a BERO signal.
Connection
The BERO must be connected to a fast digital input on the NCU X122 or X132 interface.
Activation
In order that the BERO signal is evaluated, the digital input to which the BERO is connected
must be selected in drive parameter p0494 or p0495 for the axis/spindle.
Overview
Signal
Set
Reference cam
References
NCU interfaces: SINUMERIK 840D sl Manual, NCU7x0.3 PN,
Section "Connecting" > "Digital I/Os"
Drive parameters: SINAMICS S120/S150 List Manual
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1155
R1: Referencing
15.5 Referencing with incremental measurement systems
15.5.2
Function
Referencing of incremental measuring systems is based on the unique position of the encoder
zero mark relative to the overall traversing range of the machine axis. If because of machinespecific conditions, several encoder zero marks are detected in the traversing range of the
machine axis (for examples, see figure below), a BERO must be mounted on the machine for
clear determination of the reference point. The position of the reference point is then derived
from the combination of BERO signal and encoder zero mark.
1&8 $/0 00
60&
1&8 $/0 00
60&
0RWRU
6SLQGHO
*HWULHEH
%(52
Figure 15-1
0RWRU
(QFRGHU
*HEHU
%(52
0HDVXULQJJHDUER[
=HURPDUN
Measuring gear between the motor and encoder or reduction gear between the motor and
spindle
Parameterization
NC: Referencing mode
"Referencing of incremental, rotary or linear measuring systems: Zero pulse on the encoder
track" should be parameterized as referencing mode:
MD34200 $MA_ENC_REFP_MODE[<axis>] = 1
Drive: Zero mark selection
The digital input on the NCU interface to which the BERO is connected must be set in
parameter p0493.
Note
BERO signal: Zero mark selection
The processing of the BERO signal is performed exclusively in the drive. Connection and
parameterization, see Section "Hardware signals (Page 1154)".
1156
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.5 Referencing with incremental measurement systems
15.5.3
Time sequence
Reference point approach with incremental measuring systems can be divided into three
phases:
Phase 1: "Phase 1: Traversing to the reference cam (Page 1158)"
Phase 2: "Phase 2: Synchronization with the zero mark (Page 1160)"
Phase 3: "Phase 3: Traversing to the reference point (Page 1165)"
'%'%;GHFHOHUDWLRQRI
UHIHUHQFHSRLQWDSSURDFK
'%'%;WUDYHOFRPPDQGSOXV
'%'%;WUDYHOFRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
3RVLWLRQPHDVXULQJV\VWHP]HURPDUN
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
9HORFLW\
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
W
3KDVH
Figure 15-2
3KDVH
3KDVH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1157
R1: Referencing
15.5 Referencing with incremental measurement systems
15.5.4
'%'%;GHFHOHUDWLRQRIUHIHUHQFHSRLQWDSSURDFK
'%'%;WUDYHOFRPPDQGSOXV
'%'%;WUDYHOFRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
3RVLWLRQPHDVXULQJV\VWHP]HURPDUN
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
3KDVH
Figure 15-3
Phase 1: Start
To start the reference point approach, see Sections "Axisspecific referencing (Page 1150)"
and "Axisspecific referencing (Page 1150)".
Phase 1: Sequence
In Phase 1, depending on the position of the machine axis with reference to the reference cam,
we distinguish between three cases:
1. The machine axis is positioned before the reference cam
2. The machine axis is positioned on the reference cam
3. The machine axis has no reference cam
1158
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.5 Referencing with incremental measurement systems
Case 1: The machine axis is positioned before the reference cam
After the start of reference point approach, the machine axis is accelerated in the
parameterized direction and to the parameterized reference point approach velocity :
MD34010 $MA_REFP_CAM_DIR_IS_MINUS (approach reference point in minus
direction)
MD34020 $MA_REFP_VELO_SEARCH_CAM (reference point approach velocity)
The reaching of the reference cam must detected by querying a digital input in the PLC user
program and communicated to the NC via the following interface signal:
DB31, ... DBX12.7 = 1 (reference point approach deceleration)
With detection of the NC/PLC interface signal, the machine axis is decelerated to zero speed.
Whereby at least the distance smin is traversed. This ensures that the machine axis leaves the
reference cam in Phase 2 with the parameterized reference point creep velocity.
60,1
0'0$B5()3B9(/2B6($5&+B0$5.(5
0'0$B0$;B$;B$&&(/
9HORFLW\
PLQGLVWDQFH
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
6WDUWLQJSRVLWLRQRI
WKHPDFKLQHD[LV
Figure 15-4
'LVWDQFH
=HURPDUN
5HIHUHQFHFDP
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1159
R1: Referencing
15.5 Referencing with incremental measurement systems
Phase 1 is now complete. Reference point approach is continued with Phase 2.
Phase 1: Properties
Feed override active.
Feed stop (channel-specific and axis-specific) is active.
NC stop and NC start are active.
The machine axis is stopped if the reference cam is not reached within the parameterized
maximum distance:
MD34030 $MA_REFP_MAX_CAM_DIST (max. distance to the reference cam)
See also
Channelspecific referencing (Page 1152)
15.5.5
'%'%;GHFHOHUDWLRQRIUHIHUHQFHSRLQWDSSURDFK
'%'%;WUDYHOFRPPDQGSOXV
'%'%;WUDYHOFRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
3RVLWLRQPHDVXULQJV\VWHP]HURPDUN
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
9HORFLW\
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
W
3KDVH
Figure 15-5
1160
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.5 Referencing with incremental measurement systems
Phase 2: Start
Phase 2 is automatically started when Phase 1 has been completed without an alarm.
Initial situation:
The machine axis is positioned on the reference cam.
Zero mark search direction:
The direction of the zero mark search results from the settings in the machine data:
MD34010 $MA_REFP_CAM_DIR_IS_MINUS (reference point approach in minus direction)
MD34050 $MA_REFP_SEARCH_MARKER_REVERSE (direction reversal on reference
cam)
Phase 2: Sequence
The synchronization in Phase 2 can be performed via the falling or rising edge of the reference
cam. The parameterization is performed via:
MD34050 $MA_REFP_SEARCH_MARKER_REVERSE[<axis>] = <value>
Value
Meaning
Note
If the actual velocity of the machine axis at approach of the reference cam has not yet reached
the target velocity of Phase 2 within the parameterized tolerance limits, Phase 1 will be
restarted. This will be the case, for example, if the machine axis is positioned on the reference
cam when reference point approach is started.
MD35150 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance)
Case 1: Synchronization with falling reference cam edge
During synchronization with falling reference cam edge, the machine axis accelerates to the
parameterized reference point creep velocity opposite to the parameterized reference point
approach direction (traversing direction of Phase 1)
After leaving the reference cam, the machine axis waits for the next encoder zero mark:
DB31, ... DBX12.7 == 0
As soon as the encoder zero mark is detected, Phase 2 comes to an end. The machine axis
continues at constant velocity and reference point approach is continued with Phase 3.
MD34040 $MA_REFP_VELO_SEARCH_MARKER (reference point creep velocity)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1161
R1: Referencing
15.5 Referencing with incremental measurement systems
0'0$B5()3B0$;B0$5.(5B',67
PD[GLVWDQFHWRUHIHUHQFHPDUN
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
6WDUWLQJSRVLWLRQRI
WKHPDFKLQHD[LV
Figure 15-6
'LVWDQFH
=HURPDUN
5HIHUHQFHFDP
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
6WDUWLQJSRVLWLRQRI
WKHPDFKLQHD[LV
Figure 15-7
'LVWDQFH
5HIHUHQFHFDP
=HURPDUN
1162
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.5 Referencing with incremental measurement systems
MD34092 $MA_ REFP_CAM_SHIFT (electronic reference cam shift for incremental measuring
systems with equidistant zero marks)
With the electronic reference cam shift, synchronization is not performed immediately to the
next encoder zero mark after detection of the reference cam edge, but only after the
parameterized offset distance has been traversed.
Due to the determination of the distance traversed in the interpolator clock cycle since the
detection of the reference cam edge, the effective shift distance is sshift:
sshift_min =
sshift_max =
The electronic reference cam shift acts in the direction of zero mark search.
7KHUPDOH[SDQVLRQ
PLQ
PD[
&DPVLJQDO
=HURPDUNVHDUFKDFWLYH
(TXLGLVWDQW
HQFRGHU]HURPDUNV
Figure 15-8
Requirement
The electronic reference cam shift is only active for machine axes with reference cam:
MD34000 $MA_REFP_CAM_IS_ACTIVE == 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1163
R1: Referencing
15.5 Referencing with incremental measurement systems
Cycle time for updating the NC/PLC interface
Interpolator clock cycle
Position control cycle
Notes on setting
Reference cam
Aligning the signal edge of the reference cam directly between two zero marks has proven
to be the most practical method.
Electronic reference cam shift
WARNING
Risk of collision
If the reference cam adjustment is faulty or inaccurate, an incorrect zero mark can be
evaluated. The controller then calculates an incorrect machine zero. As a result, the
machine axis will approach the wrong positions. Software limit switches, protected areas
and working area limitations act on incorrect positions and are therefore incapable of
protecting the machine. The path difference is +/- of the path covered by the machine axis
between two zero marks.
Information needed for parameterizing the electronic reference cam shift is to be found in
the read-only machine data:
MD34093 $MA_REFP_CAM_MARKER_DIST (distance between reference cam/reference
mark)
The indicated value is equivalent to the distance between departure from the reference
cam and detection of the reference mark. If the values are too small, there is a risk that the
determination of the reference point will be non-deterministic, due to temperature effects
or fluctuations in the operating time of the cam signal.
Phase 2: Properties
Feedrate override is not active.
Machine axis moves internally when feedrate override = 100%.
If a feedrate override of 0% is specified, an abort occurs.
Feed stop (channel-specific and axis-specific) is active.
NC stop and NC start are not active.
If the machine axis does not arrive at Phase 2 within the parameterized distance of the
reference mark (encoder zero mark), the machine axis will be stopped:
MD34060 $MA_REFP_MAX_ MARKER_DIST (max. distance to the reference mark)
1164
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.5 Referencing with incremental measurement systems
15.5.6
'%'%;UHIHUHQFHSRLQWDSSURDFKGHFHOHUDWLRQ
'%'%;WUDYHOFRPPDQGSOXV
'%'%;WUDYHOFRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
3RVLWLRQPHDVXULQJV\VWHP]HURPDUN
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
9HORFLW\
0'0$B5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
W
3KDVH
Figure 15-9
Phase 3: Start
At the end of Phase 2 the machine axis travels at reference point creep velocity. Therefore,
as soon as Phase 2 is completed successfully without an alarm, Phase 3 is started without
interruption.
Initial situation
The encoder zero mark has been detected.
Phase 3: Sequence
The machine axis moves at the assigned reference point positioning velocity:
MD34070 $MA_REFP_VELO_POS (reference point positioning velocity)
from the encoder zero mark detected in Phase 2 to the reference point.
The path sref to be covered is calculated from the sum of the reference point distance plus
reference point offset:
MD34080 $MA_REFP_MOVE_DIST (reference point distance)
MD34090 $MA_REFP_MOVE_DIST_CORR (reference point offset)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1165
R1: Referencing
15.5 Referencing with incremental measurement systems
Velocity
MD34020 $MA_ REFP_VELO_SEARCH_CAM
(reference point approach velocity)
MD34070 $MA_REFP_VELO_POS
(reference point positioning velocity)
MD34040 $MA_REFP_VELO_SEARCH_MARKER
(reference point creep velocity)
Distance
MD34080 $MA_REFP_MOV_DIST +
MD34090 $MA_REFP_MOVE_DIST_CORR
Zero mark
Reference cam
When the reference point is reached, the machine axis is stopped and the actual-value system
is synchronized with the reference point value n specified by the NC/PLC interface.
MD34100 $MA_ REFP_SET_POS[<n>] (reference point value)
The selection of the reference point value is performed via the NC/PLC interface:
DB31, ... DBX2.4 ... 7 (reference point value 1 ... 4)
The actual-value system is synchronized to the reference point value that was selected at the
time the reference cam was reached in Phase 1 (DB31, ... DBX12.7 == 1).
The machine axis is now referenced. The interface signal is set as feedback to the PLC user
program, depending on the active measuring system:
DB31, ... DBX60.4/5 (referenced/synchronized 1/2) = 1
Features of Phase 3
Feed override active.
Feed stop (channel-specific and axis-specific) is active.
NC stop and NC start are active.
1166
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.6 Referencing with distance-coded reference marks
Distance
=HURPDUN
Reference cam
Figure 15-11 Reference point distance plus reference point offset less than braking distance
15.6
15.6.1
General overview
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1167
R1: Referencing
15.6 Referencing with distance-coded reference marks
15.6.2
5HIHUHQFHPDUN
Figure 15-12 DIADUR graduated glass scale with distance-coded reference marks
(dimensions in mm for 20 mm scale division)
1168
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.6 Referencing with distance-coded reference marks
The absolute offset is calculated with respect to the machine coordinate system and depending
on the orientation of the measuring system (equidirectional or inverse) as:
Orientation of the measuring system
Absolute offset
Equidirectional
Opposite direction
WARNING
Reference point deviation
After determining the absolute offset and the entry in MD34090, the reference point traversing
for the machine axis must be carried out once more.
Referencing methods
Referencing with distance-coded reference marks can be performed in one of two ways:
Evaluation of two consecutive reference marks:
MD34200 $MA_ENC_REFP_MODE (referencing mode) = 3
Advantage:
Short travel path
Evaluation of four consecutive reference marks:
MD34200 $MA_ENC_REFP_MODE = 8
Advantage:
Plausibility check by NC is possible
Increase in reliability of referencing result
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1169
R1: Referencing
15.6 Referencing with distance-coded reference marks
15.6.3
Time sequence
Time sequence
Referencing with distance-coded reference marks can be divided into two phases:
Phase 1: Travel across the reference marks with synchronization
Phase 2: Travel to a fixed destination point
'%'%;GHFHOHUDWLRQRI
UHIHUHQFHSRLQWDSSURDFK
'%'%;WUDYHOFRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;UHIHUHQFHGV\QFKURQL]HG
/HQJWKPHDVXULQJV\VWHPUHIHUHQFHPDUNV
9HORFLW\
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
W
3KDVH
3KDVH
15.6.4
Phase 1: Start
To start the reference point approach, see Sections "Axisspecific referencing (Page 1150)"
and "Channelspecific referencing (Page 1152)".
Reference cam
In measuring systems with distance-coded reference marks, reference cams are not required
for the actual referencing action. For functional reasons, however, a reference cam is required
for channel-specific reference point approach and reference point approach from the part
program (G74) before the traversing range end of the machine axis.
1170
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.6 Referencing with distance-coded reference marks
Phase 1: Sequence
Sequence without contact witha reference cam
Once the reference point approaching process is started, the machine axis accelerates to the
reference point shutdown speed set by means of parameter assignment:
MD34040 $MA_REFP_VELO_SEARCH_MARKER (reference point creep velocity)
Once the number of reference marks set by means of parameter assignment has been
crossed, the machine axis is stopped again and the actual value system of the machine axis
is synchronized to the absolute position calculated by the NC.
Sequence when starting from the reference cam
If the machine axis is at the reference cam at the start of the reference point traversing, it
accelerates to the parameterized reference point creep velocity against the parameterized
reference point approach direction:
MD34040 $MA_REFP_VELO_SEARCH_MARKER (reference point creep velocity)
MD34010 $MA_CAM_DIR_IS_MINUS (reference point approach in minus direction)
That ensures that the machine axis does not reach the travel range limit before it has crossed
the parameterized number of reference marks.
Once the number of reference marks set by means of parameter assignment has been
crossed, the machine axis is stopped again and the actual value system of the machine axis
is synchronized to the absolute position calculated by the NC.
Sequence when contact is made with reference cam during referencing
Once the reference point approaching process is started, the machine axis accelerates to the
reference point shutdown speed set by means of parameter assignment:
MD34040 $MA_REFP_VELO_SEARCH_MARKER (reference point creep velocity)
Before the machine axis travels over the parameterized number of reference marks, it makes
contact with the reference cam. It is then reversed and reference mark search is restarted in
the opposite direction.
Once the number of reference marks set by means of parameter assignment has been
crossed, the machine axis is stopped again and the actual value system of the machine axis
is synchronized to the absolute position calculated by the NC.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1171
R1: Referencing
15.6 Referencing with distance-coded reference marks
Abort criterion
If the parameterized number of reference marks is not detected within the parameterized
distance, the machine axis is stopped and reference point traversing is aborted.
MD34060 $MA_REFP_MAX_ MARKER_DIST (max. distance to the reference mark)
Features of Phase 1
After Phase 1 is successfully completed, the actual value system of the machine axis is
synchronized.
15.6.5
Phase 2: Start
Phase 2 is automatically started when Phase 1 has been completed without an alarm.
Initial situation:
The machine axis is positioned directly behind the last of the parameterized number of
reference marks.
The actual value system of the machine axis is synchronized.
Phase 2: Sequence
In Phase 2, the machine axis completes reference point approach by traversing to a defined
target position (reference point). This action can be suppressed in order to shorten the
reference point approach:
MD34330 $MA_STOP_AT_ABS_MARKER = <value>
Value
Meaning
1172
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.6 Referencing with distance-coded reference marks
No travel to target position
The machine axis is now referenced. To identify this, the NC sets an interface signal for the
measuring system that is currently active:
DB31, ... DBX60.4/60.5 (referenced/synchronized 1/2) = 1
Features of Phase 2
Phase 2 will display different characteristics, depending on whether a reference cam is
parameterized for the machine axis.
Machine axis without reference cam
MD34000 $MA_REFP_CAM_IS_ACTIVE (axis with reference cam) = 0
Properties:
Feed override active.
The feed stop (channel-specific and axis-specific) is active.
NC stop and NC start are active.
Machine axis with reference cam
MD34000 $MA_REFP_CAM_IS_ACTIVE (axis with reference cam) = 1
Properties:
Feedrate override is not active.
Machine axis moves internally when feedrate override = 100%.
If a feedrate override of 0% is specified, an abort occurs.
The feed stop (channel-specific and axis-specific) is active.
NC stop and NC start are not active.
If the parameterized number of reference marks is not detected within the parameterized
distance after the exit of the reference cam, the machine axis will be stopped.
MD34060 $MA_REFP_MAX_ MARKER_DIST (max. distance to the reference mark)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1173
R1: Referencing
15.7 Referencing by means of actual value adjustment
MD30340 $MA_MODULO_RANGE_START (start position of the modulo range)
Note
The reference point position is mapped onto the assigned (ghost) modulo range even with axis
function "Determination of reference point position rotary, distance-coded encoder within the
configured modulo range":
MD30455 $MA_MISC_FUNCTION_MASK (axis functions), BIT1 = 1
15.7
15.7.1
Function
When actual value adjustment to the referencing measuring system is performed, the resulting
absolute actual position after successful referencing of the measuring system of a machine
axis is transferred directly to all other measuring systems of the machine axis, and the machine
axis is designated as referenced:
DB31, ... DBB60.4 / 60.5 (referenced/synchronized 1/2) = 1
Advantage
When the machine axis switches from an explicitly referenced measuring system to the
measuring system referenced by actual value adjustment, continuous servo control is assured
(servo enable active) because the matched actual position prevents a sudden change in actual
value.
Note
In order to improve positioning precision by determining the measuring-system-specific
encoder fine information, we recommend explicitly re-referencing the measuring system
previously referenced by actual value adjustment after switching over.
Activation
The activation of the actual value adjustment to the referencing measuring system is machinespecifically carried out via:
MD34102 $MA_REFP_SYNC_ENCS = 1
1174
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.7 Referencing by means of actual value adjustment
15.7.2
Function
In order to improve positioning precision by determining the measuring-system-specific
encoder fine information, we recommend explicitly re-referencing the measuring system
previously referenced by actual value adjustment after switching over the measuring system.
If an encoder with distance-coded reference marks is used for the passive measuring system,
referencing can be avoided if the following conditions are met:
1. Active measuring system: indirect measuring system (motor measuring system) with
absolute encoder, for example
2. Passive measuring system: Direct measuring system with distancecoded reference marks
3. Travel movement of the machine axis with the referenced indirect measuring system before
measuring system switchover in which the number of reference marks required for
referencing are crossed. This automatically references the passive direct measuring
system.
Parameterization
In addition to the specific machine data required to reference the individual measuring systems,
the following machine data must be set:
Enable actual value adjustment:
MD34102 $MA_REFP_SYNC_ENCS = 1
Direct measuring system with distancecoded reference marks:
MD34200 $MA_ENC_REFP_MODE[measuring system] = 3
Distancecoded reference marks
MD30242 $MA_ENC_IS_INDEPENDENT[measuring system] = 2
During actual value adjustment, the passive direct measuring system is adjusted to the
actual position of the active indirect measuring system, but is not marked as referenced.
After the parameterized number of reference marks have been crossed, the passive
direct measuring system is automatically referenced. Referencing is performed in every
operating mode.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1175
R1: Referencing
15.8 Referencing in follow-up mode
Sequence
1. Initial situation: Neither of the measuring systems are referenced:
DB31, ... DBX60.4 = 0 (referenced / synchronized 1)
DB31, ... DBX60.5 = 0 (referenced / synchronized 2)
2. Reference the indirect measuring system according to the measuring system type:
DB31, ... DBX60.4 = 1 (referenced / synchronized 1)
DB31, ... DBX60.5 = 0 (referenced / synchronized 2)
3. Traverse the machine axis across the parameterized number of reference marks.
This automatically references the direct measuring system:
DB31, ... DBX60.4 = 1 (referenced / synchronized 1)
DB31, ... DBX60.5 = 1 (referenced / synchronized 2)
15.8
Function
Incremental measuring systems and measuring systems with distance-coded reference marks
can be referenced even when the machine axis is in follow-up mode. Prerequisite for this is
the correct parameterization of the reference point approach according to the used measuring
system (see Section "Referencing with incremental measurement systems (Page 1154)" and
"Referencing with distance-coded reference marks (Page 1167)").
When referencing in follow-up mode the machine axis is moved not by the NC but by means
of an external travel motion over the encoder zero mark and the parameterized number of
distance-coded reference marks. The measuring system is referenced when the encoder zero
mark or parameterized number of distance-coded reference marks are detected.
Note
Reproducibility of the referencing result
In NC-guided reference point approach, reproducibility of the referencing result is ensured
through adherence to the assigned traverse velocities during the referencing operation. During
referencing in follow-up mode, responsibility for achieving reproducibility of the referencing
results lies with the machine manufacturer / user.
1176
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.8 Referencing in follow-up mode
Enable
The "Referencing in follow-up mode" function is enabled with:
MD34104 $MA_REFP_PERMITTED_IN_FOLLOWUP = TRUE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1177
R1: Referencing
15.8 Referencing in follow-up mode
An active referencing operation can be aborted by:
Deselecting follow-up mode
NCK Reset
Response when measuring systems are already referenced
A measuring system that has already been referenced can only be re-referenced in
AUTOMATIC mode using part program statement G74.
1178
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.9 Referencing with absolute encoders
15.9
15.9.1
Adjustment
Adjustment of an absolute encoder involves matching the actual value of the encoder with the
machine zero once and then setting it to valid.
The current adjustment status of an absolute encoder is displayed in the following axis-specific
machine data of the machine axis, to which it is connected:
MD34210 $MA_ENC_REFP_STATE (status of absolute encoder)
Value
Meaning
Encoder is calibrated
Adjustment methods
The following adjustment methods are supported:
Adjustment by entering a reference point offset
Adjustment by entering a reference point value
Automatic adjustment with probe
Adjustment with BERO
Readjustment
Readjustment of the absolute encoder is required after:
Gear change between load and absolute encoder
Removal/installation of the absolute encoder
Removal/installation of the motor with the absolute encoder
Data loss in the static NC memory
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1179
R1: Referencing
15.9 Referencing with absolute encoders
Battery failure
Setting actual value (PRESETON)
WARNING
Data backup
During the back-up of machine data of a machine A, the encoder status of the machine
axis (MD34210) is also backed up.
During loading of this data record into a machine B of the same type, e.g. in the context
of a serial start-up or after a case of maintenance, the referenced machine axes will be
automatically regarded as adjusted / referenced by the NC. It is the special responsibility
of the machine manufacturer / user to undertake a readjustment in such cases.
See also explanations regarding machine data:
MD30250 $MA_ACT_POS_ABS (absolute encoder position at the time of switch-off)
Note
The controller can detect a required readjustment of the absolute encoder only during the
following events:
Gear change with change of gear ratio
Addressing the zero-mark monitoring
New encoder serial number after change of the absolute encoder
The controller then sets the status of the absolute encoder to "0":
MD34210 $MA_ENC_REFP_STATE = 0 (encoder not adjusted)
The following alarm is displayed:
Alarm 25022 "Axis <axis name> encoder <number> warning 0"
If the zero-mark monitoring responds, the following alarm is also displayed:
Alarm 25020 "Axis <axis name> zero-mark monitoring of active encoder"
In all other cases (e.g. PRESETON) it is the sole responsibility of the user to display the
misalignment of the absolute encoder by manually setting the status to "0" and to carry out
a readjustment.
15.9.2
Function
During adjustment by entering the reference point offset, the difference between the position
displayed on the operator interface and the true actual position in the machine is determined
and made known to the NC as reference point offset.
1180
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.9 Referencing with absolute encoders
Procedure
1. Determining the position of the machine axis with reference to the machine zero point via
e.g.:
position measurement (e.g. laser interferometer)
Moving the machine axis to a known position (e.g., fixed stop)
2. Reading the displayed actual position of the machine axis on the operator interface.
3. Calculating the reference point offset (difference between the actual positions determined
under point 1 and 2) and entering in machine data:
MD34090 $MA_REFP_MOVE_DIST_CORR (reference point offset)
4. Marking the absolute value encoder as adjusted:
MD34210 $MA_ENC_REFP_STATE = 2
Note
The encoder adjustment does not become active until the next time the encoder is activated
(e.g., when the controller is powered up).
5. Initiate POWER ON reset.
6. Controlling the position of the machine axis displayed on the operator interface.
Note
Backlash compensation
If backlash compensation is parameterized for a measuring system with absolute value
encoder, the following must be observed:
No backlash is permitted during machine axis travel to the adjusted machine position.
Activate reference point offset permanently
The entered reference point offset (MD34090) will be permanently active only after initial
POWER ON - Reset. If the machine axis is moved after the absolute encoder adjustment
without an interim POWER ON - Reset, the reference point offset entered in the machine
data can be overwritten, for example, as part of internal overrun offset.
Checking the actual position
Following adjustment of the absolute encoder, we recommend that you verify the actual
position of the machine axis the next time you power up the controller (POWER ON).
15.9.3
Function
During adjustment by entering the reference point value, the absolute position of the machine
axis with reference to the machine zero point is determined by e.g.:
Position measurement (e.g. laser interferometer)
Moving the machine axis to a known position (e.g. fixed stop)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1181
R1: Referencing
15.9 Referencing with absolute encoders
This determined position value will be made known to the NC as the reference point value.
The NC then calculates the reference point offset from the difference between the encoder
absolute value and the reference point value.
Procedure
1. Check whether the referencing mode is set to "Assume the reference point value":
MD34200 $MA_ENC_REFP_MODE == 0
If not, enter the value 0 in the machine and trigger a Power On reset.
2. Traverse the machine axis in JOG mode to the position to be measured (e.g. with a laser
interferometer) or to a known position (e.g. fixed stop).
Note
The machine axis can only be traversed in the direction enabled for referencing with the
travel keys:
MD34010 $MA_REFP_CAM_DIR_IS_MINUS (approach reference point in minus direction)
To avoid an invalid position because of backlash in the drive train, the known position must
be approached at low velocity.
3. Enter the position of the machine axis relative to machine zero as the reference point value
in the machine data:
MD34100 $MA_REFP_SET_POS = Position
4. Enable encoder adjustment:
MD34210 $MA_ENC_REFP_STATE = 1
5. Trigger a Power On reset for acceptance of the entered machine data values.
6. Switch to JOG-REF mode.
1182
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.9 Referencing with absolute encoders
7. Operate the travel key used for referencing in step 2.
The machine axis does not move when the traversing key is actuated!
The NC calculates the reference point offset from the entered reference point value and
that given by the absolute encoder. The result is entered into the machine data:
MD34090 $MA_REFP_MOVE_DIST_CORR (reference point offset)
The status of the absolute encoder is set to "Encoder is adjusted":
MD34210 $MA_ ENC_REFP_STATE = 2
The actual value system of the machine axis is synchronized.
The machine axis is now referenced. As identification, the NC sets the appropriate interface
signal based on which measuring system is currently active:
DB31, ... DBB60.4 / 60.5 (referenced/synchronized 1 / 2) = 1
8. Initiate Power On reset.
Note
Activate reference point offset permanently
The entered reference point offset (MD34090) will only be permanently active after Power
On reset.
If the machine axis is moved after the absolute encoder adjustment without an interim
Power On reset, the reference point offset entered in the machine data can be overwritten,
for example, within internal overrun corrections.
Checking the actual position
Following adjustment of the absolute encoder, we recommend that you verify the actual
position of the machine axis the next time you power up the controller (Power On).
15.9.4
Function
In automatic adjustment with a probe, a known position in the machine is approached with the
machine axis from a part program. The position value is stored in the NC as a reference point
value. The position is reached when the probe switches, and the NC then calculates the
reference point offset from the difference between the encoder value and reference point value.
Note
Part program for automatic adjustment
The part program for automatic adjustment using a probe must be created by the machine
manufacturer / user for the specific requirements of the machine.
Freedom from collision
Because actual-value-related monitoring is not active for the machine axes being referenced,
the machine operator must take special care to ensure that collisions do not occur in the
machine while the machine axes are being moved!
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1183
R1: Referencing
15.9 Referencing with absolute encoders
Part program
The part program for automatic adjustment of absolute encoders with probe must perform the
points listed below for each axis in the order indicated:
1. Approach the adjustment position of machine axis, which is detected from the probe
response.
The position must be approached several times from the same direction, but at a velocity
which is gradually reduced on each approach, to ensure that the measured value obtained
is as accurate as possible. The measured value is stored in system variable $AA_IM.
2. Calculating and writing the reference point offset:
0'0$B5()3B029(B',67B&255 0'0$B5()3B6(7B326$$B,0
Sequence
Proceed as follows for automatic adjustment with probe:
1. Enable part program start even for non-referenced machine axes:
MD20700 $MC_REFP_NC_START_LOCK = 0
2. Enter the machine axis position relative to machine zero when probe is switched as the
reference point value for all relevant machine axes:
MD34100 $MA_REFP_SET_POS = reference point value
3. Activate NCK-Reset for the acceptance of the entered machine data values.
4. Start part program.
5. After completion of the part program, re-secure the partial program start for machine axes
which are not referenced:
MD20700 $MC_REFP_NC_START_LOCK = 1
6. Initiate POWER ON - Reset so that the reference point offset written by the part program
is permanently active:
MD34090 $MA_REFP_MOVE_DIST_CORR (reference point offset)
Note
Activate reference point offset permanently
The entered reference point offset (MD34090) will only be permanently active after
POWER ON - Reset.
If the machine axis is moved after the absolute encoder adjustment without an interim
POWER ON - Reset, the reference point offset entered in the machine data can be
overwritten, for example, as part of internal overrun offset.
Checking the actual position
Following adjustment of the absolute encoder, we recommend that you verify the actual
position of the machine axis the next time you power up the controller (POWER ON).
1184
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.9 Referencing with absolute encoders
15.9.5
Function
For adjustment using BERO, a reference point approach to a defined machine position is
performed the same as for incremental measuring systems. In this case the BERO replaces
the encoder zero mark that the absolute encoder does not have. After successful completion
of reference point approach, the NC automatically calculates the reference point offset from
the difference between the encoder absolute value and the parameterized reference point
value.
Parameterization
NC: Referencing mode
The referencing mode should be set to "Referencing of incremental, rotary or linear measuring
systems: Zero pulse on the encoder track":
MD34200 $MA_ENC_REFP_MODE[<axis>] = 1
NC: Reference point value
The reference point value is parameterized via:
MD34100 $MA_REFP_SET_POS[<axis>] = <reference point value>
Drive: Equivalent zero mark
The digital input on the NCU interface to which the BERO is connected must be set in
parameter p0494 or p0495.
Execution
Reference point approach can be started manually in JOG-REF mode or in AUTOMATIC or
MDA mode via a part program (G74).
After successful completion of the reference point approach, the absolute encoder is adjusted
and the actual-value system of the machine axis is synchronized.
As feedback for the PLC user program, the NC sets the NC/PLC interface signal for the
machine axis, depending on the active measuring system:
DB31, ... DBB60.4/60.5 (referenced/synchronized 1/2) = 1
Note
If the BERO is removed after adjustment of the absolute encoder, the referencing mode must
be re-parameterized to "Referencing with absolute encoder".
MD34200 $MA_ENC_REFP_MODE[<axis>] = 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1185
R1: Referencing
15.9 Referencing with absolute encoders
15.9.6
Meaning
Traversing is enabled.
When reference point approach is initiated, the machine axis moves to the reference point
position. Reference point approach is completed when the reference point position is reached.
15.9.7
Reference point approach in rotary absolute encoders with external zero mark
Function
To be able to use the reference point approach with a zero mark, as is usual in incremental
encoders (refer to Section "Referencing with incremental measurement systems
(Page 1154)"), also with absolute encoders, the missing HW zero marks are created in software
form once every encoder revolution, always at the same position within the rotation.
Property
Incremental encoder
Encoder type
Absolute encoder
MD30240 $MA_ENC_TYPE
=1
Internal encoder position
=4
MD30250 $MA_ACT_POS_ABS
= 0 (default): Active
MD34090 $MA_REFP_MOVE_DIST_CORR
1186
MD30270 $MA_ENC_ABS_BUFFERING
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.9 Referencing with absolute encoders
Property
Incremental encoder
Absolute encoder
MD34200 $MA_ENC_REFP_MODE
= 1, 2, 3, 4, 5, 6, 7
Adjustment status
= 0, 1, 2
MD34210 $MA_ENC_REFP_STATE = 0, 1, 2
MD34220 $MA_ENC_ABS_TURNS_MODULO
=0
= 1 - 4096
MD34230 $MA_ENC_SERIAL_NUMBER
=0
Activation time
0 seconds
several seconds
Zero mark
None
Zero-mark monitoring
Hardware
Software
0.0
MD34210 = 0
MD30270 = 1
Requirement
The function can be used only with rotary absolute encoders:
MD31000 $MA_ENC_IS_LINEAR = 0
MD30240 $MA_ENC_TYPE = 4
Parameterization
reference point approach with zero marks:
MD34200 $MA_ENC_REFP_MODE = 1
A reference point offset should not be input in the following MD:
MD34090 $MA_REFP_MOVE_DIST_CORR
This MD describes, in connection with absolute encoders, the offset between machine and
absolute encoder zero, and it therefore has a different meaning.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1187
R1: Referencing
15.9 Referencing with absolute encoders
The load-side zero mark search rate MD34040 $MA_REFP_VELO_SEARCH_MARKER
should not exceed the limiting frequency of the absolute trace of the encoder
MD36302 $MA_ENC_FREQ_LIMIT_LOW
.
If the speed is too high, absolute information cannot be read any more, and thus, no
equivalent zero marks are generated.
If no zero marks are found within:
MD34060 $MA_REFP_MAX_MARKER_DIST
otherwise, an alarm will be triggered.
A start of the zero mark search with the override of a BERO (MD34200 = 5) is not supported.
MD34200 = 0 is to be used as a equivalent.
The following MD must be set if the absolute encoder retains even the referenced status
through POWER OFF, besides the last position:
MD34210 $MA_ENC_REFP_STATE = 2
15.9.8
1188
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.9 Referencing with absolute encoders
0'
0'
0'
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1189
R1: Referencing
15.10 Automatic restoration of the machine reference
15.9.9
15.10
1190
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.10 Automatic restoration of the machine reference
Note
SMExx sensor modules
Automatic referencing or restoration of the actual position to the last buffered position after
restarting the control is only possible in conjunction with SMExx (externally mounted) sensor
modules. When using SMCxx (cabinet) or SMIxx (integrated) sensor modules, the actual
position cannot be restored after restarting the control (power on). The measuring system of
the machine axis must be referenced again.
15.10.1
Automatic referencing
Function
During automatic referencing, the actual position of the active measuring system of the
machine axis is set to the last buffered position and "referenced" set as encoder state after
switching on the control. This makes it possible to start programs in the AUTOMATIC and MDI
modes directly after run-up of the control.
Requirements
The active measuring systems when the control is switched on must already have been
referenced once before switching off.
At the time the control is switched off, the machine axis must be at standstill with "Exact
stop fine" (DB31, ... DBX60.7 == 1) are located.
Note
If the machine axis is not at standstill with "Exact stop fine" when switching off, the actual
position will be initialized with " 0" when switching on. "Not referenced" is displayed as the
encoder state.
Parameter assignment
The automatic referencing is enabled by setting the encoder state to "Automatic referencing
is enabled, but the encoder has not been referenced":
MD34210 $MA_ENC_REFP_STATE[<encoder>] = 1
After the measuring system has been referenced, the encoder state displays that automatic
referencing will be executed the next time the encoder is activated:
MD34210 $MA_ENC_REFP_STATE[<encoder>] == 2
1191
R1: Referencing
15.10 Automatic restoration of the machine reference
Supplementary conditions
Encoder activation with MD34210 $MA_ENC_REFP_STATE[<encoder>] == 1
An encoder state equal to "1" at the time of the encoder activation means that "Automatic
referencing" has been enabled. However, the measuring system has either not been
referenced yet or the machine axis was not switched off at standstill in the "Exact stop fine"
state. The following is set for the machine axis or the active measuring system:
Actual position = 0
Active measuring system, encoder state = "Not referenced":
DB31, ... DBX60.4 / .5 = 0 (referenced/synchronized 1/2)
References
Description of Functions, Basic functions, Section "R1 Referencing" > "Referencing with
incremental measurement systems (Page 1154)" > ""
15.10.2
Function
When restoring the actual position to the last buffered position, the encoder state of the active
measuring system is set to "Restored". The axis can only be traversed manually.
AUTOMATIC mode
To enable NC start for the automatic execution of programs in the AUTOMATIC mode, the
measuring system of the machine axis must be re-referenced.
MDI mode and overstore
In the MDI mode and for the overstore function, machining can also be performed, without
referencing the axes, with restored positions. To do this, NC start with restored positions must
be enabled explicitly for a specific channel:
MD20700 $MC_REFP_NC_START_LOCK = 2
Requirement
The measuring system that is active when the control is switched on must already have been
referenced once before switching off.
Parameter assignment
Release: Restoration of the actual position
The enable to restore the actual position is performed by setting the encoder state to "The last
buffered axis position before switching off will be restored, no automatic referencing":
MD34210 $MA_ENC_REFP_STATE[<encoder>] = 3
1192
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.10 Automatic restoration of the machine reference
Release: NC START for "MDI" and "Overstore" modes
The enable of NC START for execution of part programs or part program blocks in the "MDI"
and "Overstore" modes with the state "Position restored" is performed via:
MD34110 $MA_REFP_CYCLE_NR -1 (axis sequence for channel-specific referencing)
MD20700 $MC_REFP_NC_START_LOCK = 2 (NC START lock without reference point)
Supplementary conditions
Spindles
If the encoder limit frequency is exceeded, a spindle is reset to the "Not referenced/
synchronized" state:
DB31, ... DBX60.4/.5 = 1 0 (referenced/synchronized 1/2)
DB31, ... DBX71.4/.5 = 1 0 (position restored, encoder 1/2)
References
Description of Functions, Basic functions, Section "R1 Referencing" > "Referencing with
incremental measurement systems (Page 1154)" > ""
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1193
R1: Referencing
15.11 Supplementary conditions
15.11
Supplementary conditions
15.11.1
1194
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.12 Data lists
15.12
Data lists
15.12.1
Machine data
15.12.1.1
Number
Identifier: $MN_
Description
11300
JOG_INC_MODE_LEVELTRIGGRD
15.12.1.2
Number
Identifier: $MC_
Description
20700
REFP_NC_START_LOCK
15.12.1.3
Number
Identifier: $MA_
Description
30200
NUM_ENCS
Number of encoders
30240
ENC_TYP
30242
ENC_IS_INDEPENDENT
Encoder is independent
30250
ACT_POS_ABS
30270
ENC_ABS_BUFFERING
30300
IS_ROT_AX
Rotary axis/spindle
30310
ROT_IS_MODULO
30330
MODULO_RANGE
30340
MODULO_RANGE_START
30355
MISC_FUNCTION_MASK
Axis functions
31122
BERO_DELAY_TIME_PLUS
31123
BERO_DELAY_TIME_MINUS
34000
REFP_CAM_IS_ACTIVE
34010
REFP_CAM_DIR_IS_MINUS
34020
REFP_VELO_SEARCH_CAM
34030
REFP_MAX_CAM_DIST
34040
REFP_VELO_SEARCH_MARKER
34050
REFP_SEARCH_MARKER_REVERSE
34060
REFP_MAX_MARKER_DIST
34070
REFP_VELO_POS
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1195
R1: Referencing
15.12 Data lists
Number
Identifier: $MA_
Description
34080
REFP_MOVE_DIST
34090
REFP_MOVE_DIST_CORR
34092
REFP_CAM_SHIFT
34093
REFP_CAM_MARKER_DIST
34100
REFP_SET_POS
34102
REFP_SYNC_ENCS
34104
REFP_PERMITTED_IN_FOLLOWUP
34110
REFP_CYCLE_NR
34120
REFP_BERO_LOW_ACTIVE
34200
ENC_REFP_MODE
Referencing mode
34210
ENC_REFP_STATE
34220
ENC_ABS_TURNS_MODULO
34230
ENC_SERIAL_NUMBER
34232
EVERY_ENC_SERIAL_NUMBER
34300
ENC_REFP_MARKER_DIST
34310
ENC_MARKER_INC
34320
ENC_INVERS
34330
REFP_STOP_AT_ABS_MARKER
35150
SPIND_DES_VELO_TOL
36302
ENC_FREQ_LIMIT_LOW
36310
ENC_ZERO_MONITORING
15.12.2
Signals
15.12.2.1
Signals to BAG
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB11.DBX0.7
DB3000.DBX0.7
DB11.DBX1.2
DB3000.DBX1.2
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB11.DBX5.2
DB3100.DBX1.2
15.12.2.2
1196
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
R1: Referencing
15.12 Data lists
15.12.2.3
Signals to channel
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Activate referencing
DB320x.DBX1.0
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Referencing active
DB330x.DBX1.0
Reset
DB330x.DBX3.7
DB330x.DBX4.2
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB380x.DBX1.4
15.12.2.4
15.12.2.5
Signals to axis/spindle
DB380x.DBX1.5-6
DB380x.DBX2.4-7
DB380x.DBX4.6-7
DB380x.DBX1000.7
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB390x.DBX0.4-5
Follow up active
DB390x.DBX1.3
DB390x.DBX4.6-7
Restored 1/2
DB390x.DBX11.4-5
15.12.2.6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1197
R1: Referencing
15.12 Data lists
1198
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.1
16
Brief Description
The primary function of a spindle is to set a tool or workpiece in rotary motion in order to facilitate
machining.
Depending on the type of machine, the spindle must support the following functions in order
to achieve this:
Input of a direction of rotation for the spindle (M3, M4)
Input of a spindle speed (S, SVC)
Spindle stop, without orientation (M5)
Spindle stop with orientation / Spindle positioning
(SPOS, M19 and SPOSA)
Gear change (M40 to M45)
Spindleaxis functionality (spindle becomes rotary axis and vice versa)
Thread cutting (G33, G34, G35)
Tapping without compensating chuck (G331, G332)
Tapping with compensating chuck (G63)
Revolutional feedrate (G95)
Constant cutting rate (G96, G961, G97, G971)
Programmable spindle speed limits (G25, G26, LIMS=)
Position encoder assembly on the spindle or on the spindle motor
Spindle monitoring for min. and max. speed as well as
max. encoder limit frequency and end point monitoring of spindle
Switching the position control (SPCON, SPCOF, M70) on/off
Programming of spindle functions:
From the part program
Via synchronized actions
Via PLC with FC18 or via special spindle interfaces for simple spindle activation
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1199
S1: Spindles
16.2 Modes
16.2
Modes
16.2.1
Overview
Spindle modes
The spindle can have the following modes:
Control mode
Oscillation mode
Positioning mode
Synchronous mode, synchronous spindle
References:
Function Manual, Extension Functions, Synchronous Spindle (S3)
Rigid tapping
References:
Programming Manual, Fundamentals; Chapter: Motion commands
Axis mode
The spindle can be switched from spindle mode to axis mode (rotary axis) if the same motor
is used for spindle and axis operation.
1200
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
16.2.2
Mode change
Switching between spindle and axis operation can be done as follows:
6\QFKURQRXVPRGH
2VFLOODWLRQPRGH
&KDQJH
JHDU
*HDU
FKDQJHG
&28321
&2832)
632606326$
&RQWUROPRGH
63&2)
000
0
0
63&2)
000
0
63260
6326$
3RVLWLRQLQJPRGH
$[LVQDPH
$[LVPRGH
*
*
7DSSLQJ
ZLWKRXW
FRPSHQVDWLQJ
FKXFN
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1201
S1: Spindles
16.2 Modes
Positioning mode Axis mode
If a spindle was stopped with orientation, the assigned axis name is used to program a
change to axis mode. The gear step is retained.
Control mode Axis mode
Switching from control mode to axis mode can be also achieved by the programming of
M70. In this case, a rotating spindle is decelerated in the same way as for M5, position
control activated and the zero parameter set selected.
Axis mode Control mode
To terminate axis mode, M3, M4 or M5 can be used to change to control mode. The last
programmed spindle speed (S value) is reactivated.
Axis mode Oscillation mode
To terminate axis mode, M41 to M45 can be used to change to oscillation mode (only if the
programmed gear step is not the same as the actual gear step). When the gear change is
complete, the last programmed spindle speed (S value) and M5 (control mode) are
reactivated.
16.2.3
Control mode
Requirements
A spindle position actual value encoder is absolutely essential for M3/M4/M5 in connection
with:
Revolutional feedrate (G95)
Constant cutting speed (G96, G961, G97, G971)
Thread cutting (G33, G34, G35)
Tapping without compensating chuck (G331, G332)
Activate position control (SPCON, M70)
1202
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
A spindle position actual value encoder is not required for M3/M4/M5 in connection with:
Inverse-time feedrate coding (G93)
Feedrate in mm/min or inch/min (G94)
Tapping with compensating chuck (G63)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1203
S1: Spindles
16.2 Modes
MD35040 $MA_SPIND_ACTIVE_AFTER_RESET (individual spindle reset)
Value
Meaning
When the spindle is reset or at the end of the program, the spindle immediately decelerates
to a stop at the active acceleration rate. The last programmed spindle speed and direction of
rotation are deleted.
Upon reset or at the end of the program, the last programmed spindle speed (S-value) and
the last programmed direction of spindle rotation (M3, M4, M5) are retained. The spindle is
not braked.
If prior to reset or end of program the constant cutting speed (G96, G961) is active, the current
spindle speed (in relation to 100% spindle override) is internally accepted as the spindle speed
last programmed.
The spindle can only be stopped with the NC/PLC interface signal:
DB31, ... DBX2.2 (delete distance-to-go / spindle reset)
The direction of rotation is deleted in the event of all alarms generating a spindle quick stop.
The last programmed spindle speed (S value) is retained. Once the source of the alarm has
been eliminated, the spindle must be restarted.
Spindle actual speed display and spindle behavior with G96, G961
DB31, ... DBX61.4 (axis/spindle stationary)
The speed at which the spindle is deemed to be "stationary" is set with the machine data:
MD36060 $MA_STANDSTILL_VELO_TOL
The value should be measured in such a way that the following NC/PLC interface signal is
reliably present at a standstill:
DB31,... DBX61.4 (axis/spindle stationary)
If DB31,... DBX61.4 (axis/spindle stationary) is signaled and there is no closed-loop position
control active for the spindle, an actual speed of zero is displayed at the user interface, and
zero is read with the system variable $AA_S[<n>].
Spindle response at constant cutting speed G96, G961
At the start of machining (transition from G0 to Gx) and after NC stop, G60 (exact stop,
modal) and G9 (exact stop, non-modal) the system waits until the actual speed has reached
the speed setpoint tolerance range before starting the path.
DB31, ... DBX83.5 (nact = nset)
The NC/PLC IS:
DB31, ... DBX83.5 (nact = nset)
and
DB31, ... DBX83.1 (setpoint speed limited) are also set to defined values
even if significant speed changes are specified (transverse axis travels towards position
0).
1204
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
If the speed drops below the minimum speed
or when NC/PLC IS:
DB31, ... DBX61.4 (axis/spindle stationary)
is detected, NC/PLC IS:
DB31, ... DBX83.5 (nact = nset)
is reset (e.g. for an emergency machine strategy).
A path operation which has started (G64, rounding), is not interrupted.
In addition, the spindle response is influenced by the following machine data:
MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START (feed enable with spindle in setpoint
range).
Spindle behavior at the end of gear stage change
NC/PLC IS:
DB31, ... DBX16.3 (gear changed)
informs the NC that the new gear stage
(NC/PLC IS DB31, ... DBX16.0-16.2 (actual gear stage A to C))
applies and oscillation mode is terminated.
In this case, it does not matter whether NC/PLC IS:
DB31, ... DBX18.5 (oscillation mode)
is still set.
The actual gear stage should correspond to the set gear stage.
The actual gear stage signaled is relevant for selection of the parameter set.
Once the gear stage change (GSW) has been acknowledged via the PLC (DB31, ...
DBX16.3), the spindle is in speed control mode (DB31, ... DBX84.7 = 1).
If a direction of rotation (M3, M4, M5 or FC18: "Start spindle rotation") or a spindle speed
(S value) was programmed before the gear stage change, then the last speed and direction
of rotation will be reactivated after the gear stage change.
16.2.4
Oscillation mode
Oscillation mode is activated for the spindle during the gear step change.
The mode of operation is described in detail in the topic "Gear step change with oscillation
mode (Page 1251)".
16.2.5
Positioning mode
16.2.5.1
General functionality
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1205
S1: Spindles
16.2 Modes
For the following functions the spindle is in positioning mode:
SPOS[<n>]=...
SPOS[<n>]=ACP(...)
SPOS[<n>]=ACN(...)
SPOS[<n>]=AC(...)
SPOS[<n>]=IC(...)
SPOS[<n>]=DC(...)
SPOSA[<n>]=ACP(...)
SPOSA[<n>]=ACN(...)
SPOSA[<n>]=AC(...)
SPOSA[<n>]=IC(...)
SPOSA[<n>]=DC(...) equal to SPOSA[<n>]=...
M19 or M[<n>]=19
The address extension [<n>] with <n> = spindle number may not apply for the main spindle.
SPOS[<n>]=AC(...)
Spindle positioning to an absolute position (0 to 359.999 degrees). The positioning direction
is determined either by the current direction of spindle rotation (spindle rotating) or the distanceto-go.
SPOS[<n>]=IC(...)
Spindle positioning to an incremental position (+/- 999999.99 degrees) in relation to the last
programmed position. The positioning direction is defined by the sign of the path to be
traversed.
SPOS[<n>]=DC(...)
Spindle positioning across the shortest path to an absolute position (0 to 359.999 degrees).
The positioning direction is determined either by the current direction of spindle rotation
(spindle rotating) or automatically by the control (spindle stationary).
SPOS[<n>]=...
Same functional sequence as SPOS [<n>]=DC(...).
SPOS[<n>]=ACP(...)
Approaches the position from the positive direction.
When positioning from a negative direction of rotation, the speed is decelerated to zero and
accelerated in the opposite direction to execute the positive approach.
1206
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
SPOS[<n>]=ACN(...)
Approaches the position from the negative direction.
When positioning from a positive direction of rotation, the speed is decelerated to zero and
accelerated in the opposite direction to execute the negative approach.
;
;
;
;
Value
0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
If bit 19 is also set to "0" in the MD35035 $MA_SPIND_FUNC
TION_MASK, no auxiliary function M19 is generated in SPOS and
SPOSA. This therefore eliminates the acknowledgement time for
the auxiliary function.
The auxiliary function M19 is generated and output to the PLC dur
ing the programming of SPOS and SPOSA in the part program. The
address extension corresponds to the spindle number.
1207
S1: Spindles
16.2 Modes
Spindle-specific and cross-channel activation via the machine data:
MD35035 $MA_SPIND_FUNCTION_MASK (spindle functions)
Bit
19
Value
0
Meaning
If bit 0 is also set to "0" in the MD20850 $MC_SPOS_TO_VDI, no
auxiliary function M19 is generated in SPOS and SPOSA. This
therefore eliminates the acknowledgement time for the auxiliary
function.
The implicit auxiliary function M19 is generated and output to the
PLC during the programming of SPOS and SPOSA. The address
extension corresponds to the spindle number.
Note
Activation via MD35035 should be preferred when using a spindle in multiple channels (axis/
spindle exchange).
The auxiliary function M19 is implicitly generated if either of the MD configurations = 1.
After activation, the minimum duration of an SPOS/SPOSA block is increased to the time for
output and acknowledgement of the auxiliary functions by the PLC.
The properties of the implicitly generated auxiliary function output M19 are "Quick" and "Output
during motion". These properties are fixed settings and are independent of the M19
configuration in the auxiliary function-specific machine data (MD..._$M..._AUXFU_...).
There is no auxiliary function M19 implicitly generated in the case of spindle positioning
commands via FC 18.
End of positioning
The positioning can be programmed with:
FINEA[S<n>]:
COARSEA[S<n>]:
IPOENDA[S<n>]:
In addition, an end-of-motion criterion for block changes can be set in the braking ramp
(100-0%) with IPOBRKA for single-axis interpolation.
References:
Function Manual, Extended Functions; Positioning Axes (P2)
Block change
The program advances to the next block if the end-of-motion criteria for all spindles or axes
programmed in the current block, plus the block change criterion for path interpolation, are
fulfilled. This applies to both part-program and technology-cycle blocks.
1208
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
SPOS, M19 and SPOSA have the same functionality but differ in their block change behavior:
SPOS and M19
The block change is carried out if all functions programmed in the block have reached their
end-of-block criterion (e.g. all auxiliary functions acknowledged by the PLC, all axes have
reached their end points) and the spindle has completed its positioning motion.
SPOSA
The program moves to the next block if all the functions (except for spindle) programmed
in the current block have reached their end-of-block criterion. If SPOSA is the only entry in
the block, block change is performed immediately. The spindle positioning operation may
be programmed over several blocks (see WAITS).
Coordination
A coordination of the sequence of motions can be achieved with:
PLC
MD configuration
Programming in the part program
PLC
If the NC/PLC interface signal:
DB31, ... DBX83.5 (spindle in the setpoint range)
is not available, then the channel-specific NC/PLC interface signal:
DB21, ... DBX 6.1 (read-in inhibit)
can be set in order to wait for a spindle to reach a certain position.
MD configuration
Setting:
MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START = 1
is used to perform path interpolation taking the tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL
into account only if the spindle has rotated up to the preselected speed.
The setting
MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START = 2
is used to stop traveling path axes before the start of machining at the last G0.
Machining continues:
With the next traversing command.
If the spindle speed is reached.
When MD35510 $MA_SPIND_STOPPED_AT_IPO_START = 1
(path feed enable, if spindle stationary).
Programming in the part program
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1209
S1: Spindles
16.2 Modes
Coordination actions in the part program have the following advantages:
The part program author can decide at what point in the program the spindle needs to be
up to speed, e.g. in order to start machining a workpiece.
This avoids unnecessary delays.
Coordination in the part program involves programming the WAITS command:
WAITS:
WAITS[<n>]:
WAITS[<n>,<m>,...]:
CAUTION
Coordination error
The part program author must ensure that one of the following maintenance conditions occurs
for WAITS.
Position reached
Spindle stationary
Spindle up to programmed speed
In cases where one spindle is used in several channels, the part program author must ensure
that WAITS starts at the earliest in the phase in which the spindle from another channel has
already started to accelerate or decelerate towards the required new speed or direction of
rotation.
The control waits before executing subsequent blocks until:
Position(s) programmed with SPOSA are reached.
Spindle standstill is reached with M5:
DB31, ..., DBX 61.4 (spindle stationary)
taking into account the tolerance:
MD36060 $MA_STANDSTILL_VELO_TOL
WAITS is terminated and the next block loaded when the first occurrence of the signal is
detected.
In M3/M4 (speed control mode), the speed in the setpoint range is:
DB31, ..., DBX83.5 (spindle in setpoint range)
taking into account the tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL
WAITS is terminated and the next block loaded when the first occurrence of the signal is
detected.
This WAITS function applies in the programmed channel.
WAITS can be used to wait for all spindles known to this channel, although spindles may
also have been started in other channels.
1210
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
Special cases
Tolerance for spindle speed:
If the machine data setting is:
MD35150 $MA_SPIND_DES_VELO_TOL = 0
the NC/PLC interface signal:
DB31, ... DBX83.5 (spindle in setpoint range)
is always set to 1.
WAITS is terminated as soon as the spindle has reached the setpoint-side target after a
change in speed or direction (M3/M4).
Missing enable signals:
If the WAITS function waits for the "Spindle in setpoint range" signal in speed control mode
and the spindle stops or fails to rotate because an enable signal (axial feed enable,
controller, pulse enable, etc.) is missing, the block is not terminated until the "Spindle in
setpoint range" signal is active, once enable signals are being received again.
Response to NC and mode-group stop:
If an NC or mode-group stop is triggered during WAITS, the wait operation is resumed after
the NC start with all the above conditions.
Note
In particular when using spindles across different channels, care should be taken when
programming not to start WAITS too early in one channel, i.e. at a time when the spindle
in the other channel is still rotating at its "old" speed.
In such cases, the "Spindle in setpoint range" signal is activated and WAITS is stopped too
soon.
To prevent this happening, it is strongly recommended to set a WAITM before WAITS.
Feedrate
The positioning speed is configured in the machine data:
MD35300 $MA_SPIND_POSCTRL_VELO (position control switching speed)
The configured positioning speed can be modified by programming or by synchronized actions:
FA[S<n>]=<value>
where: <n>:
Spindle number
<value>: Positioning speed in degrees/min
With FA[S<n>]=0, the configured speed takes effect.
Acceleration
The accelerations are configured in the machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL (acceleration in position control mode)
MD35200 $MA_GEAR_STEP_SPEEDCTRL_ACCEL (acceleration in the speed control mode)
The configured dynamic response during positioning can be modified by programming or by
synchronized actions:
ACC[S<n>]=<value>
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1211
S1: Spindles
16.2 Modes
where: <n>:
Spindle number
<value>: Acceleration as a percentage of the configured acceleration
With ACC[S<n>]=0, the configured acceleration takes effect.
Special features
The spindle override switch is active.
16.2.5.2
Initial situation
The spindle can be in speed control mode or in position control mode when positioning starts
(SPOS, M19 or SPOSA command in the program).
One must distinguish between the following cases:
1212
Case 1:
Case 2:
Case 3:
Case 4:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
Procedure
6SLQGOHVSHHG
UHYPLQ
3KDVHDVSHFLDOFDVH
FRQWUROUHVHUYH
0'(1&B)5(4B/,0,7
(QFRGHUOLPLWIUHTXHQF\
3KDVHE
3KDVH
3KDVH
3KDVHF
3KDVHD
0'(1&B)5(4B/,0,7B/2:
(QFRGHUOLPLWIUHTXHQF\
5HV\QFKURQL]DWLRQ
0'63,1'B326&75/B9(/2
3RVLWLRQFRQWURODFWLYDWLRQVSHHG
3KDVH
3KDVHD
3KDVH
7LPHW
6326>@
Figure 16-1
Note
The speed arising from the configuration of the encoder limit frequency for the
resynchronization of the encoder (MD36302 $MA_ENC_FREQ_LOW) must be greater than
the position-control activation speed (MD35300 $MA_SPIND_POSCTRL_VELO).
Phase 1
Positioning from phase 1a:
The spindle is rotating at a higher speed than the encoder limit frequency. The spindle is not
synchronized.
Positioning from phase 1b:
The spindle is rotating at a lower speed than the encoder limit frequency. The spindle is
synchronized.
Note
If the position control is active, the speed can only amount to 90% of the maximum speed of
the spindle or the encoder limit frequency (10% control reserve required).
Positioning from phase 1c:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1213
S1: Spindles
16.2 Modes
The spindle rotates at the programmed spindle speed whereby the speed is lower than the
configured position-control activation speed:
MD35300 $MA_SPIND_POSCTRL_VELO
The spindle is synchronized.
Phase 2
Spindle speed > Position-control activation speed
When the SPOS, M19 or SPOSA command is activated, the spindle begins to slow down to the
position-control activation speed with the configured acceleration:
MD35200 $MA_GEAR_STEP_SPEEDCTL_ACCEL
The spindle is synchronized once the encoder limit frequency threshold is crossed.
Spindle speed < Position-control activation speed
SPOS, M19 or SPOSA are programmed to switch the spindle to position control mode (if it is not
already in that mode).
The configured acceleration in position control mode is activated:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
The travel path to the target point is calculated.
The spindle travels to the programmed end point optimally in terms of time. This means that
the end point is approached at the highest possible speed (maximum MD35300
$MA_SPIND_POSCTRL_VELO). Depending on the appropriate secondary conditions, phases
2 - 3 - 4 - 5 or 4a - 5a are executed.
Phase 3
Spindle speed > Position-control activation speed
When the configured position-control activation speed
(MD35300 $MA_SPIND_POSCTRL_VELO) is reached:
Position control is activated (if not already active).
The distancetogo (to the target point) is calculated.
There is a switch to the configured configured acceleration in position control mode (or this
acceleration is retained):
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
Spindle speed < Position-control activation speed
The spindle was accelerated up to the configured position-control activation speed (MD35300
$MA_SPIND_POSCTRL_VELO) to reach the end point. This is not exceeded.
The braking start point calculation detects when the programmed spindle position can be
approached accurately at the acceleration configured in position control mode (MD35210
$MA_GEAR_STEP_POSCTRL_ACCEL).
1214
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
Phase 4
Spindle speed > Position-control activation speed
The spindle brakes from the calculated "braking point" with machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
to the target position.
Spindle speed < Position-control activation speed
At the time identified by the braking start point calculation in phase 3, the spindle brakes to a
standstill with the acceleration configured in position control mode (MD35210
$MA_GEAR_STEP_POSCTRL_ACCEL).
Phase 4a:
When the SPOS command is activated the proximity of the end point is such that the spindle
can no longer be accelerated to the configured position-control activation speed (MD35300
$MA_SPIND_POSCTRL_VELO).
The spindle brakes to a standstill with the acceleration configured in position control mode
(MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL).
Phase 5
Spindle speed > Position-control activation speed
Position control remains active and holds the spindle in the programmed position.
Note
The maximum encoder limit frequency of the spindle position actual-value encoder is
monitored by the control (it may be exceeded); in position control mode, the setpoint speed is
reduced to 90% of the measuring system limit speed.
The following NC/PLC interface signal is set:
DB31, ... DBX83.1 (programmed speed too high)
If "MS limit frequency exceeded" is still pending following a reduction in the setpoint speed, an
alarm is output.
Spindle speed < Position-control activation speed (Phase 5, 5a)
The spindle is stationary and it has reached the position. The position control is active and
stops the spindle in the programmed position.
If the distance between the spindle actual position and the programmed position (spindle
setpoint position) is less than the configured exact stop fine and coarse limits, the following
NC/PLC interface signals are set:
DB31, ... DBX60.7 (Position reached with coarse exact stop)
DB31, ... DBX60.7 (Position reached with fine exact stop)
The exact stop limits are defined with the machine data:
MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1215
S1: Spindles
16.2 Modes
MD36000 $MA_STOP_LIMIT_COARSE (exact stop coarse)
Note
The positioning procedure is considered complete when the end-of-positioning criterion is
reached and signaled.
The condition is "Exact stop fine". This applies to SPOS, M19 or SPOSA from the part program,
synchronized actions and spindle positioning by the PLC using FC 18.
1216
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
16.2.5.3
Procedure
A distinction is made between two cases with regard to positioning from standstill:
Case 1: The spindle is not synchronized.
This is the case if the spindle is to be positioned after switching on the control and drive or
after a gear step change (e.g. for a tool change).
MD31040 $MA_ENC_IS_DIRECT = 0
Case 2: The spindle is synchronized.
This is the case if, after switching on the control and drive, the spindle is to be rotated
through a minimum of one revolution with M3 or M4 and then stopped with M5
(synchronization with the zero mark) before the first positioning action.
&DVH6SLQGOHQRWV\QFKURQL]HG
6SLQGOHVSHHG
UHYPLQ
6326>@
0'63,1'B326&75/B9(/2
3RVLWLRQFRQWURODFWLYDWLRQVSHHG
=HURPDUN
7LPHV
&DVH6SLQGOHV\QFKURQL]HG
UHYPLQ
6SLQGOHVSHHG
D
D
0'63,1'B326&75/B9(/2
3RVLWLRQFRQWURODFWLYDWLRQVSHHG
7LPHV
6326>@
Figure 16-2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1217
S1: Spindles
16.2 Modes
Phase 1
Case 1: Spindle not synchronized
With the programming of SPOS, M19 or SPOSA the spindle accelerates with the acceleration
from the machine data:
MD35200 $MA_GEAR_STEP_SPEEDCTRL_ACCEL (Acceleration in the speed control
mode)
This direction of rotation is defined by the machine data:
MD35350 $MA_SPIND_POSITIONING_DIR (Direction of rotation while positioning to
standstill)
Exception:
If ACN, ACP, IC is used for positioning, the programmed direction of travel is activated.
The spindle is synchronized at the next zero mark of the spindle position actual-value encoder
and switches to the position control mode.
Whether the zero mark is found in the traversed path (except for IC), is monitored:
MD34060 $MA_REFP_MAX_MARKER_DIST (maximum distance to the reference mark)
If the speed defined in machine data:
MD35300 $MA_SPIND_POSCTRL_VELO (Positioning speed)
is reached before the spindle is synchronized, the spindle will continue to rotate at the
positioning activation speed (it is not accelerated further).
Case 2: Spindle synchronized
SPOS, M19 or SPOSA will switch the spindle to position control mode.
The acceleration from the following machine data is active:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL (acceleration in position control mode)
The direction of rotation is defined by the programmed motion (ACP, ACN, IC, DC) or via the
pending distance-to-go.
The speed entered in
MD35300 $MA_SPIND_POSCTRL_VELO (position control activation speed)
is not exceeded in the machine data.
The travel path to the end position is calculated.
The spindle travels to the programmed end point optimally in terms of time. This means that
the end point is approached at the highest possible speed (maximum MD35300
$MA_SPIND_POSCTRL_VELO). Depending on the appropriate secondary conditions, the
phases 1 - 2 - 3 - 4 or 1- 3a - 4a are executed.
Phase 2
Case 1: Spindle not synchronized
When the spindle is synchronized, position control is activated.
The spindle rotates at the maximum speed stored in machine data:
MD35300 $MA_SPIND_POSCTRL_VELO
1218
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
until the braking start point calculation identifies the point at which the programmed spindle
position can be approached accurately with the defined acceleration.
Case 2: Spindle synchronized
To reach the end point, the spindle is accelerated up to the speed defined in machine data:
MD35300 $MA_SPIND_POSCTRL_VELO.
This is not exceeded.
The braking start point calculation identifies when the programmed spindle position can be
approached accurately at the acceleration defined in machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL.
At the point, which is determined by the braking start point calculation in Phase 1, the spindle
decelerates to a standstill with the acceleration given in the following machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
Phase 3
At the point, which is determined by the braking start point calculation in Phase 2, the spindle
decelerates to a standstill with the acceleration given in the following machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
Phase 3a:
When the SPOS command is activated the proximity of the end point is such that the spindle
can no longer be accelerated up to machine data:
MD35300 $MA_SPIND_POSCTRL_VELO.
The spindle is braked to a standstill with the acceleration given in the following machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
Phase 4, 4a
The spindle is stationary and it has reached the position. The position control is active and
stops the spindle in the programmed position.
NC/PLC IS:
DB31, ... DBX60.6 (Position reached with exact stop coarse)
and
DB31, ... DBX60.7 (Position reached with exact stop fine)
are set if the distance between the spindle actual position and the programmed position
(spindle setpoint position) is less than the settings for the exact stop fine and coarse limits.
This is defined in the machine data:
MD36010 $MA_STOP_LIMIT_FINE
MD36000 $MA_STOP_LIMIT_COARSE
Phase 3:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1219
S1: Spindles
16.2 Modes
At the point, which is determined by the braking start point calculation in Phase 2, the spindle
decelerates to a standstill with the acceleration given in the following machine data:
MD35210 $MA_GEAR_STEP_ POSCTRL_ACCEL
Phase 4:
The spindle is stationary and it has reached the position. The position control is active and
stops the spindle in the programmed position.
NC/PLC IS:
DB31, ... DBX60.6 (Position reached with exact stop coarse)
and
DB31, ... DBX60.7 (Position reached with exact stop fine)
are set if the distance between the spindle actual position and the programmed position
(spindle setpoint position) is less than the settings for the exact stop fine and coarse limits.
This is defined in the machine data:
MD36010 $MA_STOP_LIMIT_FINE
MD36000 $MA_STOP_LIMIT_COARSE
16.2.5.4
Function
The motion sequence for a tool change, especially for milling machines, mainly comprises
positioning the spindle and then the subsequent (for optimization runs, also at the same time)
approach to the tool change position with the path axes. In this case, the mandatory
requirement is that the spindle is reached before approaching the tool change position.
If the tool change cycle is interrupted by the machine operator (e.g. with an NC stop, NC stop
axes plus spindles, mode group stop, etc.), then it must be completely ruled out that the spindle
moves into the tool changer at an incorrect position.
This is the reason that for spindle positioning, when the last programmed spindle position is
reached with "Exact stop fine" the following NC/PLC interface signal is output to check the
position:
DB31, ... DBX85.5 (spindle in position)
Note
The signal is only output for the "Spindle positioning" function.
This includes:
SPOS, SPOSA and M19 in the part program
SPOS and M19 in synchronized actions
Spindle positioning, using FC18
Spindle positioning via PLC interface (DB31, ... DBX30.4)
1220
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
Additional properties
If the spindle is already at the programmed position after a positioning, then the NC/PLC
interface signal DB31, ... DBX85.5 (spindle in position) remains set.
If, after a positioning ("Spindle in position" signal was output) the spindle is traversed, e.g.
in the JOG mode, then the NC/PLC interface signal DB31, ... DBX85.5 (spindle in position)
is deleted.
If the spindle is returned to its original position in this mode, then the NC/PLC interface
signal DB31, ... DBX85.5 (spindle in position) is set again. The last position selection is
kept.
16.2.6
Axis mode
16.2.6.1
General functionality
Functionality
If for certain machining tasks, e.g. on lathes with end-face machining, it is not sufficient to
traverse the spindle exclusively under speed control via M3, M4, M5 or to position with SPOS,
M19 or SPOSA, the spindle can be switched to position-controlled axis mode and traversed as
a rotary axis.
Examples of rotary axis functions:
Programming with axis name
Zero offsets (G54, G55, TRANS, etc.)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1221
S1: Spindles
16.2 Modes
G90, G91, IC, AC, DC, ACP, ACN
Kinematic transformations (e.g. TRANSMIT)
Path interpolation
Traversing as positioning axis
References:
Function Manual, Extended Functions; Section "Rotary axes (R2)"
Preconditions
The same spindle motor is used for spindle mode and axis mode.
The same position measurement system or separate position measurement systems can
be used for spindle mode and axis mode.
An actual position value encoder is a mandatory requirement for axis mode.
The spindle must be referenced for use of the axis mode, e.g. referenced with G74.
Example:
Program code
Comment
M70
; Reference axis
G0 C180 X50
Configurable M function
The M function used to switch the spindle to axis mode can be configured channel-specifically
via the following machine data:
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR
Note
The controller detects the transition to axis mode automatically from the program sequence
(see "Implicit transition to axis mode (Page 1224)"). The explicit programming of the configured
M function for switching the spindle to axis mode in the part program is therefore not necessary.
However, the M function can continue to be programmed, e.g. to increase the readability of
the part program.
Special features
The feed override switch is active.
The NC/PLC interface signal does not terminate the axis mode per default:
DB21, ... DBX7.7 (reset).
The NC/PLC interface signals:
DB31, ... DBB16 to DBB19 and DBB82 to DBB91
are not important if:
DB31, ... DBX60.0 (axis / no spindle) = 0
1222
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
Axis mode can be activated in all gear steps.
If the actual position value encoder is installed on the motor (indirect measuring system),
the positioning and contouring accuracy can vary for the different gear steps.
The gear step cannot be changed when the axis mode is active.
The spindle must be switched to control mode.
This is done with M41 ... M45 and M5, SPCOF.
In axis mode, the first parameter set is active (machine data index = zero).
References
Function Manual, Basic Functions; Section "Velocities, setpoint / actual value systems,
closed-loop control (G2)" > "Closed-loop control" > "Parameter sets of the position
controller"
Dynamic response
The dynamic limits of the axis apply in axis mode. For example:
MD32000 $MA_MAX_AX_VELO[<axis>] (maximum axis velocity)
MD32300 $MA_MAX_AX_ACCEL[<axis>] (maximum axis acceleration)
MD32431 $MA_MAX_AX_JERK[<axis>] (maximum axial jerk for path motion)
Feedforward control
The feedforward control mode active for the axis is retained.
A detailed description of the "Dynamic feedforward control" function can be found in:
References
Function Manual, Extended Functions; Section "Compensations (K3)" > "Dynamic feedforward
control (following error compensation)"
Comment
SPOS=...
M5
M70
C=...
Comment
C=...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1223
S1: Spindles
16.2 Modes
Programming
Comment
M71
; Output to PLC
Closed-loop controller enable off (by PLC)
Switch actuator (by PLC)
Switched to spindle parameter set (1-5) internally in
the NC, controller enable on (by PLC)
M3/4/5 or SPOS=...
Axis mode
Spindle mode
Valid
Valid
Valid
Valid
Valid
Valid
16.2.6.2
Function
The control system detects the transition to axis mode automatically from the program
sequence and generates the requisite M70 sequence within the control system. The situation
will dictate which steps are performed. At most, these will include:
1. Stopping the spindle
2. Switching on of the position control, treatment of feedforward control, and parameter block
changeover
3. Position synchronization of the block preparation (internal preprocessing stop, if necessary)
This function is always active. Explicit programming of M70 in the part program is, therefore,
essentially not necessary.
1224
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
Procedure
Sequence of the implicit transition to axis mode (M70 is not programmed in the part program):
Transition from speed control mode (M3, M4, M5, SPCOF, ...) to axis mode:
The transition is detected internally by the control, and an intermediate block is inserted in
front of the block which requests the axis mode. The block created contains the M70
functionality. The execution duration for this block is more or less the same as the time
required to execute a programmed M70 block. Differences may arise in the event of short
switchovers when the spindle is stationary (no braking time) if the implicit generation and
output of the auxiliary function M70 to the PLC is dispensed with (see MD35035).
Transition from positioning mode (M19, SPOS, SPOSA) to axis mode:
The transition is executed immediately and without the generation of an intermediate block.
Configured accordingly (see MD35035), the auxiliary function M70, which is generated
implicitly, is output to the PLC when the block in which the spindle has its axis mode is
loaded.
Value
Meaning
20
No auxiliary function output to the PLC in the case of M70 functionality which is
generated inside the control.
In the case of M70 functionality which is generated inside the control, the auxiliary
function M70 is generated and output to the PLC. The address extension corre
sponds to the spindle number.
Note
An auxiliary function M70 which is programmed in the part program is always output to the
PLC.
Properties
The properties of the implicitly generated auxiliary function output M70 are "Quick" and "Output
during motion". These properties are fixed settings and are independent of the M70
configuration in the auxiliary-function-specific machine data (MD..._$M..._AUXFU_...).
M70 is only generated once during transition to axis mode. No further M70 auxiliary functions
are generated and output in adjacent blocks in which the spindle is operated as an axis. M70
is not implicitly generated and output again until axis mode is exited via, for example, SPOS,
M3, M4, M5, SPCOF, etc. and following a renewed transition to axis mode.
Constraints
Synchronized actions
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1225
S1: Spindles
16.2 Modes
When the spindle is programmed as an axis in synchronized actions, it is essential to continue
making provisions in the application to ensure there are criteria for the transition to axis mode.
If the spindle is in speed control mode, the instruction M70 or SPOS must be programmed prior
to programming as an axis. Otherwise alarm signals occur during axis programming.
FC 18
As with synchronized actions, transition to axis mode must also be undertaken on the
application side in FC 18, e.g. through preparatory positioning instructions. Otherwise, the
FC 18 call is acknowledged with an error bit in the FC 18 status word.
No auxiliary function M70 is implicitly generated in the event of transition to axis mode through
programming via FC 18.
Examples
Example 1:
Part program: Transition from rotating spindle to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Program code
Comment
N05 M3 S1000
N10 ...
N15 POS[C]=77
Example 2:
Part program: Transition from positioning mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Program code
Comment
N05 SPOS=0
N10 ...
N15 C77
Example 3:
Synchronized actions: Transition from spindle positioning mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Program code
Comment
1226
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.2 Modes
Example 4:
Synchronized actions: Transition from speed control mode to axis mode with M70
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Program code
Comment
Example 5:
Synchronized actions: Invalid transition from speed control mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Program code
Comment
16.2.7
; Alarm 20141!
Positioning mode
Axis mode
Effective time
POWER ON
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1227
S1: Spindles
16.3 Reference / synchronize
16.3
Reference / synchronize
Why synchronize?
In order to ensure that the controller detects the exact position of the spindle when it is switched
on, the controller must be synchronized with the position measuring system of the spindle.
The following functions are possible only with a synchronized spindle:
Thread cutting
Tapping without compensating chuck
Axis programming
For further explanations about synchronization of the spindle, see Section "R1: Referencing
(Page 1149)".
Why reference?
In order to ensure that the controller detects the exact machine zero when it is switched on,
the controller must be synchronized with the position measurement system of the rotary axis.
This process is known as referencing. The sequence of operations required to reference an
axis is known as search for reference.
Only a referenced axis can approach a programmed position accurately on the machine.
For further explanations about referencing the rotary axis, see Section "R1: Referencing
(Page 1149)".
1228
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.3 Reference / synchronize
Synchronization procedure
When the spindle is switched on, it can be synchronized as follows:
The spindle is started with a spindle speed (S value) and a spindle rotation (M3 or M4) and
synchronized with the next zero mark of the position measurement system or with the next
Bero signal.
The spindle is to be positioned from standstill using SPOS, M19 or SPOSA. The spindle
synchronizes with the next zero mark of the position measurement system or with the next
Bero signal. It is then positioned to the programmed position.
The spindle can be synchronized from the motion (after M3 or M4) using SPOS, M19 or
SPOSA.
The responses are as follows:
With SPOS=<Pos>, SPOS=DC(<Pos>) and SPOS=AC(<Pos>), the direction of motion
is retained and the position is approached.
With SPOS = ACN(<Pos>) or SPOS = ACP(<Pos>), the position is always
approached with a negative or positive direction of motion. If necessary, the direction
of motion is inverted prior to positioning.
Crossing the zero mark in JOG mode by means of direction keys in speed control mode.
Note
It does not make any difference whether the synchronization procedure is initiated from the
part program, FC 18 or synchronized actions.
Note
During synchronization of the spindle, all four possible reference point values are effective
depending on the measuring system selected. The measurement system offset has the
same effect.
The following machine data must be observed:
MD34080 $MA_REFP_MOVE_DIST
(Reference point distance / destination point for a distance-coded system)
MD34090 $MA_REFP_MOVE_DIST_CORR
(Reference point offset / absolute offset, distance-coded)
MD34100 $MA_REFP_SET_POS
(Reference point value, with distance-coded system without any significance)
If a non-referenced spindle with SPOS=IC(...) and a path < 360 degrees is positioned,
it may be the case that the zero mark is not crossed and the spindle position is still not
synchronized with the zero mark. This can happen:
After POWER ON
By setting the axial NC/PLC interface signals:
DB31, ... DBX17.5 (resynchronize spindle when positioning 2)
DB31, ... DBX17.4 (resynchronize spindle when positioning 1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1229
S1: Spindles
16.3 Reference / synchronize
The signal runtime compensation is set by means of the machine data:
MD31122 $MA_BERO_DELAY_TIME_PLUS
(BERO delay time for a positive direction of motion)
MD31123 $MA_BERO_DELAY_TIME_MINUS
(BERO delay time for a negative direction of motion)
The effect depends on the setting in machine data:
MD34200 $MA_ENC_REFP_MODE (referencing mode)
MD34200 = 7
MD34200 = 2
Note
Signal propagation delays are preset on delivery so that the content generally does not have
to be changed.
Referencing sequence
If the spindle is to be programmed in axis mode directly after controller power-up, it must be
ensured that the axis is referenced.
When the controller is switched on, the spindle can be referenced (condition is one zero mark
per revolution).
For information about the referencing procedure, see Section "R1: Referencing (Page 1149)".
The rotary axis is referenced at the same time as the spindle is synchronized (see section
"Synchronization procedure") if the position measuring system used for the spindle is also
used for the rotary axis.
1230
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.3 Reference / synchronize
The active position measuring system is selected using the NC/PLC interface signal:
DB31, ... DBX1.5 (position measuring system 1)
or
DB31, ... DBX1.6 (position measuring system 2)
The active position measurement system is required for the following functions:
Position control of the spindle (SPCON)
Spindle positioning (SPOS, M19 and SPOSA)
Thread cutting (G33, G34, G35)
Tapping without compensating chuck (G331, G332)
Revolutional feedrate (G95)
Constant cutting rate (G96, G961, G97, G971)
Spindle actual speed display
Axis mode
Synchronous spindle setpoint coupling
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1231
S1: Spindles
16.4 Configurable gear adaptation
Once the tool has been retracted in the JOG mode, axes whose positions have been restored
are referenced. As a consequence, signals DB31, ... DBX71.4/5 ("Restored 1/2") are deleted
and signals DB31, ... DBX60.4/5 ("Referenced/synchronized 1/2") are set.
Note
If machine data MD20700 $MC_REFP_NC_START_LOCK is set to a value of "2", then an NC
start is also possible with "restored" axis positions (in the MDA mode or when overstoring).
16.4
16.4.1
1232
Machine data
Meaning
MD35012 $MA_GEAR_STEP_CHANGE_POSITION[<n>]
MD35110 $MA_GEAR_STEP_MAX_VELO[<n>]
MD35120 $MA_GEAR_STEP_MIN_VELO[<n>]
MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[<n>]
MD35135 $MA_GEAR_STEP_PC_MAX_VELO_LIMIT[<n>]
MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT[<n>]
MD35200 $MA_GEAR_STEP_SPEEDCTRL_ACCEL[<n>]
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL[<n>]
MD35300 $MA_SPIND_POSCTRL_VELO[<n>]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
Machine data
Meaning
MD35310 $MA_SPIND_POSIT_DELAY_TIME[<n>]
MD35550 $MA_DRILL_VELO_LIMIT[<n>]
Value
Meaning
The spindle motor is attached to the spindle directly (1:1) or with a non-variable trans
mission ratio (basic setting).
The machine data of the first gear stage is effective.
Meaning as in Bit 0 = 0.
Meaning as in Bit 0 = 1, however, the gear stage change takes place at the configured
spindle position.
The change position is set in machine data:
MD35012 $MA_GEAR_STEP_CHANGE_POSITION
The position is approached in the current gear stage before the gear stage change.
If Bit 1 is set, then Bit 0 is ignored!
The gear stage change dialog between NCK and PLC is simulated.
The second gear stage data set is used while tapping with G331/G332 (see the following
paragraph "Second gear stage data set"). The bit must be set for the master spindle
used during the tapping.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1233
S1: Spindles
16.4 Configurable gear adaptation
1234
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
0RWRUVSHHG
UHYPLQ
,QWKHFDVHRIDXWRPDWLFJHDUVWHSVHOHFWLRQ
WKLVVSHHGUDQJHLVQRWXWLOL]HGWRIXOODGYDQ
WDJHLQJHDUVWHS
0D[PRWRUVSHHG
*HDU
VWHS
*HDU
VWHS
6SLQGOHVSHHGUHYPLQ
Q PD[
Q PD[
J PD[
J PLQ
J PLQ
J PD[
6SHFLILDEOHXVLQJ0'*($5B67(3B0$;B9(/2
Q PD[ 0D[LPXPVSLQGOHVSHHGIRUJHDUVWHS
J PLQ 0LQLPXPVSLQGOHVSHHGIRUJHDUVWHS
DXWRPDWLFJHDUVWHSVHOHFWLRQ
J PD[ 0D[LPXPVSLQGOHVSHHGIRUJHDUVWHS
DXWRPDWLFJHDUVWHSVHOHFWLRQ
Q PD[ 0D[LPXPVSLQGOHVSHHGIRUJHDUVWHS
J PLQ 0LQLPXPVSLQGOHVSHHGIRUJHDUVWHS
DXWRPDWLFJHDUVWHSVHOHFWLRQ
J PD[ 0D[LPXPVSLQGOHVSHHGIRUJHDUVWHS
DXWRPDWLFJHDUVWHSVHOHFWLRQ
Figure 16-3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1235
S1: Spindles
16.4 Configurable gear adaptation
1236
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
Meaning
MD35112 $MA_GEAR_STEP_MAX_VELO2[n]
MD35122 $MA_GEAR_STEP_MIN_VELO2[n]
MD35212 $MA_GEAR_STEP_POSCTRL_ACCEL2[n]
Note
The number of servo parameter sets concerning the mechanical factors remain unchanged.
Furthermore, five mechanical gear stages for the spindle and one for the axis operation can
be configured.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1237
S1: Spindles
16.4 Configurable gear adaptation
The speed limitations are configured only once for each gear stage with the following machine
data, independently of the different switching thresholds:
Machine data
Meaning
MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[n]
MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT[n]
For tapping without compensating chuck (G331, G332) the speed can be limited to the linear
acceleration range of the motor additionally. For this, the maximum speed of the linear motor
characteristics range is specified in the following machine data as a function of the gear stage:
MD35550 $MA_DRILL_VELO_LIMIT[n]
1238
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
6SHHG
UHYPLQ
0D[LPXPVSLQGOHVSHHG
0D[LPXPVSHHGRIJHDUVWHS
0D[LPXPVSHHGIRUWKHDXWRPDWLF
JHDUVWHSFKDQJHRIJHDUVWHS
0D[LPXPVSHHGRIJHDUVWHS
0D[LPXPVSHHGIRUWKHDXWRPDWLF
JHDUVWHSFKDQJHRIJHDUVWHS
0LQLPXPVSHHGIRUWKHDXWRPDWLF
JHDUVWHSFKDQJHRIJHDUVWHS
0LQLPXPVSHHGRIJHDUVWHS
0LQLPXPVSHHGIRUWKHDXWRPDWLF
JHDUVWHSFKDQJHRIJHDUVWHS
0LQLPXPVSHHGRIJHDUVWHS
Figure 16-4
7UDQVPLVVLRQ
VWDJH
7UDQVPLVVLRQ
VWDJH
Example for two gear stages with overlapping speed ranges for automatic gear stage
change (M40)
Note
In the case of M40, the spindle must be in open-loop control mode for automatic gear stage
selection with an S word. Otherwise the gear stage change is rejected and the following alarm
is set:
Alarm 22000 "gear stage change is not possible"
Note
An active reduction gear is not considered in the selection for the automatic gear stage change.
Permanently defining the gear stage with M41 to M45
The gear stage can be permanently defined in the part program with M41 to M45.
If a gear stage is specified via M41 to M45 that is not equal to the current (actual) gear stage,
then the following NC/PLC interface signals are set:
DB31, ... DBX82.3 (change over gear stage)
DB31, ... DBX82.0-82.2 (setpoint gear stage A to C)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1239
S1: Spindles
16.4 Configurable gear adaptation
The programmed spindle speed (S...) then refers to this permanently defined gear stage:
If a spindle speed is programmed and it is higher than the maximum speed of the
permanently defined gear stage (MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT), then
the speed is decreased to this limit and the following NC/PLC interface signal is set:
DB31, ... DBX83.1 (speed setpoint limited)
If a spindle speed is programmed and it is lower than the minimum speed of the permanently
defined gear stage (MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT), then the speed is
increased to this minimum and the following NC/PLC interface signal is set:
DB31, ... DBX83.2 (speed setpoint increased)
Block change
When programming the gear stage change in the part program, the gear stage change set
remains active until it is aborted by PLC.
This corresponds to the effect as if the following NC/PLC interface signal were set:
DB21, ... DBX6.1 (read-in disable)
1240
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
The gear stage is not changed if:
The spindle is positioned via synchronized actions.
The spindle is traversed in the axis mode.
Note
For further details, please refer to the section "Specification of a gear stage in part program".
Exception:
The block change is not affected by the specification of a gear stage in synchronized actions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1241
S1: Spindles
16.4 Configurable gear adaptation
1242
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
Special features
The following points must be observed on gear stage change:
The gear stage change is not terminated by selecting
NC/PLC IS:
DB31, ... DBX20.1 (run-up switchover to V/f mode).
Setpoint 0 is output.
The gear stage change is acknowledged as usual
via the NC/PLC interface signal:
DB31, ... DBX16.3 (gear is changed)
The "Ramp-function generator rapid stop" signal must be reset by the PLC before the gear
stage change is completed by the PLC.
The process sequence of the gear stage change is ended during NC reset without any
alarm output.
The gear stage output with NC/PLC IS:
DB31, ... DBX16.0-16.2 (actual gear stage A to C)
is applied by the NC.
16.4.2
Technical background
For machine's where the spindle load gear can be changed over, situations can occur where
the gear train between the motor and load (workpiece/tool) is interrupted. This state can occur,
e.g. when pressing Reset or Emergency Stop while performing a gear stage change or when
the machine is commissioned for the first time while it is being installed. The control must
identify this state where the gear train is open and the next gear stage change request must
be unconditionally executed.
Function
When the gear is disengaged, the binary-coded value "0" ( gear stage 0) is transferred to the
NC from the PLC using the interface signal bits DB31, ... DBX16.0-2 (actual gear stage A to
C):
DB31, ... DBX16.0-2 = 0
The value is used by the control to identify the state where the gear train is open.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1243
S1: Spindles
16.4 Configurable gear adaptation
Boundary conditions
Output of DB31, ... DBX16.0-2 = 0
When the gear is disengaged, the PLC must enter gear stage 0 in the NC/PLC interface
DB31, ... DBX16.0-2 (actual gear stage A to C).
Enabling the gear stage change
The precondition for a gear stage change after reaching gear stage 0 is the general enable
of the gear stage change via via machine data:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE (assign parameters to the gear stage
change)
MD35090 $MA_NUM_GEAR_STEPS (number of gear stages set up)
MD35092 $MA_NUM_GEAR_STEPS2 (2nd gear stage data set: Number of gear stages
that have been created) if MD35010 $MA_GEAR_STEP_CHANGE_ENABLE, bit 5 = 1
(tapping without compensating chuck)
PLC user program/ POWER ON ASUB
The PLC user program or POWER ON ASUB should ensure that when the gear is
disengaged (gear stage 0) before spindle motion, a gear stage change request is
programmed. For instance, this can be realized with M41 in the ASUB. Spindle motion such
as e.g. in JOG or in axis operation does not generate any gear stage change itself.
Example
Example for the sequence to select the first gear stage after POWER ON
1. POWER ON.
2. The PLC user program determines, in the mechanical environment, the "Gear is
disengaged" state.
3. The PLC transfers the "Gear is disengaged" state to the NC by setting:
DB31, ... DBX16.0-2 = 0
4. Part program start or POWER ON ASUB.
1244
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
5. N05 (part program, refer below) is executed:
The gear stage is changed to gear stage 1.
From the NC:
the following NC/PLC-interface signal is set:
DB31, ... DBX82.3 (change over gear stage)
the setpoint gear stage 1 is signaled to the PLC:
DB31, ... DBX82.0 = 1
DB31, ... DBX82.1 = 0
DB31, ... DBX82.2 = 0
6. Mechanical gear stage change, acknowledgement
If the gear stage is selected, then from the PLC:
the following NC/PLC-interface signal is set:
DB31, ... DBX16.3 (gear is changed)
Actual gear stage 1 signaled to the NC:
DB31, ... DBX16.0 = 1
DB31, ... DBX16.1 = 0
DB31, ... DBX16.2 = 0
7. N80 is executed:
Due to the optimization of the gear stage change frequency in the part program, the gear
stage is not changed.
Part program:
Program code
Comment
N05 M41
...
N80 M41
16.4.3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1245
S1: Spindles
16.4 Configurable gear adaptation
$AC_SGEAR[<n>]
Note
For a search, the actual gear stage ($VC_SGEAR[<n>]) can differ from the setpoint gear stage
($AC_SGEAR[<n>]) as, during the search, no gear stage change takes place. Therefore, using
$VC_SGEAR[<n>] and $AC_SGEAR[<n>], it can be interrogated whether a gear stage change
should be made after a search.
16.4.4
$P_SGEAR[<n>]
$P_SEARCH_SGEAR[<n>]
1246
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
MD35590 $MA_PARAMSET_CHANGE_ENABLE (parameter set change possible)
Value
Meaning
Besides the in-system parameter set selection, there is also the option of an "external" pa
rameter set selection.
By the PLC (DB31, ... DBX 9.0 - 9.2)
Via programming of SCPARA in the part program or in synchronized actions
However, the in-system parameter set selection has priority.
Note: Value 1 is relevant only to axes.
The servo parameter set is specified exclusively by the PLC (DB31, ... DBX 9.0 - 9.2) or through
the programming of SCPARA in the part program or in synchronized actions (for axes and
spindles).
The 1st parameter set is selected after POWER ON.
Spindle mode
MD35590 $MA_PARAMSET_CHANGE_ENABLE = 0 or 1
The parameter set is selected according to the gear stage + 1.
The active gear stage is located in:
DB31, ... DBX16.0-16.2 (actual gear stage A to C)
The active parameter set is output in:
DB31, ... DBX69.0-69.2 (controller parameter set A to C)
One set of parameters, with the following assignment, is provided by the NC for each of the
five gear stages:
Data set for ...
NC/PLC interface
Parameter set
Parameter set
Number
Index [n]
Axis mode
Gear stage 1
001
Gear stage 2
010
Gear stage 3
011
Gear stage 4
100
Gear stage 5
101
110
111
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1247
S1: Spindles
16.4 Configurable gear adaptation
References
For further information about control and servo parameter set, please refer to:
Functions Manual - Basic Functions; Velocities, Setpoint-Actual Value Systems, ClosedLoop Control (G2)
Programming Manual, Job Planning; Section: Programmable servo parameter set
1248
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
16.4.5
Intermediate gear
Tool change
If the intermediate gear is changed at the same time as the tool, the user must also reconfigure
the transmission ratio of the numerator and denominator via the machine data of the
intermediate gear.
Example:
CAUTION
Engineering error
It remains the task of the user to stop within the appropriate period in order to make changes
to the machine data when required and then activate a "NewConfig".
In the case of an installed tool with a transmission ratio of 2:1, a suitable intermediate gear is
configured and is activated immediately in the part program with the command NEWCONF.
Program code
N05 $MA_DRIVE_AX_RATIO2-NUMERA[AX5] = 2
M10 $MA_DRIVE_AX_RATIO2-DENOM[AX5] = 1
N15 NEWCONF
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1249
S1: Spindles
16.4 Configurable gear adaptation
Changeover
Changeover to a new transmission ratio is performed immediately by means of NewConfig.
From a technological viewpoint, the associated mechanical changeover process takes some
time, since, in mechanical terms, a different intermediate gear with rotating tool is being
installed.
Note
At zero speed, changeover is jerk-free. The user is therefore responsible for taking appropriate
precautions.
Applications in which changeover takes place during motion and which require smoothed or
soft speed transition can be handled using existing setpoint speed filters.
For further explanations regarding control engineering dependencies, see Section "G2:
Velocities, setpoint / actual value systems, closed-loop control (Page 317)".
16.4.6
Mode change
A gear stage change that has not been acknowledged cannot be interrupted by a change in
operating mode (e.g. switchover to JOG).
The switchover is delayed by the maximum period entered in machine data:
MD10192 $MN_GEAR_CHANGE_WAIT_TIME
.
If the gear stage change is not acknowledged within this time, the NC will output an alarm:
Further events
Events that initiate reorganization will also wait until a gear stage change is completed.
The time entered in machine data:
MD10192 $MN_GEAR_CHANGE_WAIT_TIME
determines how long the control waits before executing the gear stage change.
If this time elapses without the gear stage change being completed, the NC responds with an
alarm.
The following events have an analog response:
User ASUB
Mode change
Delete distance-to-go
Axis interchange
Activate PI user data
Enable PI service machine data
1250
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
Switch over skip block, switch over Dry Run
Editing in the modes
Compensation block alarms
Overstore
Rapid retraction with G33, G34, G35
Subprogram level abort, subprogram abort
16.4.7
What is oscillation?
Oscillation in this context means that the spindle motor rotates alternately in the clockwise and
counter-clockwise directions. This oscillation movement makes it easy to engage a new gear
stage.
Oscillation mode
NC/PLC IS:
DB31, ... DBX82.3 (change gear)
displays that a gear stage change is required.
In principle, the new gear stage can also be engaged without oscillation
1. MD35010 $MA_GEAR_STEP_CHANGE_ENABLE must be set to 1.
2. NC/PLC interface signal DB31, ... DBX84.6 (oscillation mode) is set.
3. The acceleration is set in the machine data:
MD35410 $MA_SPIND_OSCILL_ACCEL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1251
S1: Spindles
16.4 Configurable gear adaptation
is only enabled when a new gear stage is defined
that is not the same as the current actual gear stage.
If NC/PLC IS:
DB31, ... DBX18.5 (oscillation speed)
is simply set by the PLC without a new gear stage being defined by the NC,
the spindle does not change to oscillation mode.
Oscillation mode is activated with NC/PLC IS:
DB31, ... DBX18.5 (oscillation speed)
.
Depending on NC/PLC IS:
DB31, ... DBX18.4 (oscillation via PLC)
while the function is in operation, a distinction is made between:
Oscillation via NCK
Oscillation via PLC
Oscillation with FC 18
References:
Function Manual, Basic Functions; PLC Basic Program (P3)
Oscillation time
The oscillation time for oscillation mode can be defined in a machine date for each direction
of rotation:
Oscillation time in M3 direction
(referred to as t1 in the following):
MD35440 $MA_SPIND_OSCILL_TIME_CW
MD35450 $MA_SPIND_OSCILL_TIME_CCW
1252
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
If time t1 (t2) has elapsed, the spindle motor
accelerates in the opposite direction to the speed defined in machine data:
MD35400 $MA_SPIND_OSCILL_DES_VELO
.
Time t2 (t1) starts.
Phase 3:
If time t2 (t1) has passed, the spindle motor accelerates in the opposite direction (same
direction as in Phase 1) to the speed defined in machine data:
MD35400 $MA_SPIND_OSCILL_DES_VELO
.
Time t1 (t2) starts. The process continues with Phase 2.
Special features
Setting/Resetting the NC/PLC IS and machine data in oscillation mode:
To decelerate the spindle, the PLC user need not set NC/PLC IS:
DB31, ... DBX4.3 (spindle stop)
.
The spindle is brought to a standstill internally by the control when a gear stage change is
requested.
The gear stage change should always be terminated with NC/PLC IS:
DB31, ... DBX16.3 (gear changed)
.
NC/PLC IS:
DB31, ... DBX18.5 (oscillation speed)
should be used to support mechanical engagement of the gear.
It has no effect on the internal control mechanism for the gear stage change procedure and
should therefore only be set as necessary.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1253
S1: Spindles
16.4 Configurable gear adaptation
If NC/PLC IS:
DB31, ... DBX18.5 (oscillation speed)
is reset, oscillation mode stops.
However, the spindle remains in "oscillation mode".
The acceleration is defined in the following machine data:
MD35410 $MA_SPIND_OSCILL_ACCEL
The spindle will cease to be synchronized if an indirect measuring system (motor encoder)
is used.
If the machine data is set to:
MD31050 $MA_ENC_IS_DIRECT = 0,
NC/PLC IS:
DB31, ... DBX60.4/5 = 0 (referenced/synchronized)
is automatically deleted.
The zero mark is synchronized the next time it is crossed.
Functionality
Machine tools of conventional design require a gear stage of the spindle in oscillation mode.
If the machine data configuration is:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 1
the following sequence is implemented:
Deceleration of the spindle.
The braking action corresponds to an M5 movement.
Output of VDI interface signals:
DB31, ... DBX84.6 (oscillation mode)
DB31, ... DBX82.3 (change gear)
DB31, ... DBX82.0-82.2 (set gear stage A to C).
If position control has been enabled, it is disabled:
DB31, ... DBX61.5 = 0.
The load gearbox can now "disengage".
NC/PLC IS:
DB31, ... DBX18.5 (oscillation enable)
can be set by the PLC.
The spindle motor then performs an oscillation motion with preset values.
The oscillation motion is designed to facilitate and accelerate the re-engaging of the gear
wheels.
1254
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
Writing of NC/PLC IS:
DB31, ... DBX16.0-16.2 (actual gear stage A to C)
by the PLC.
Once the PLC has sent:
DB31, ... DBX16.3 (gear changed)
to the NCK, the last movement to be active is continued, if available.
For indirect encoders (motor encoders), the homing status is cleared:
DB31, ... DBX60.4/5 = 0.
Block change
If the spindle is switched to oscillation mode
with NC/PLC IS:
DB31, ... DBX82.3 (change gear),
the processing of the part program remains suspended.
A new block is not executed.
If oscillation mode is terminated with NC/PLC IS:
DB31, ... DBX16.3 (gear changed),
the processing of the part program is resumed.
A new block is executed.
6SLQGOHVSHHG
UHYPLQ
7LPHV
,6*HDUFKDQJHG
%ORFNFKDQJHRFFXUVKHUH
Figure 16-5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1255
S1: Spindles
16.4 Configurable gear adaptation
Oscillation mode
Typical time sequence for the gear stage change with a spindle:
'%'%;FRQWUROPRGH
'%'%;RVFLOODWLRQPRGH
3URJUDPPHG6YDOXH
'%'%;JHDULVFKDQJHG
'%'%;FKDQJHJHDUVWDJH
'%'%;VHWJHDUVWDJH$&
'%'%;VSLQGOHLQVHWSRLQWUDQJH
'%'%;VSLQGOHVWDWLRQDU\
'%'%;DFWXDOJHDUVWDJH$&
'%'%;RVFLOODWLRQVSHHG
)LUVWJHDUVWDJHHQJDJHGPHFKDQLFDO
6HFRQGJHDUVWDJHHQJDJHGPHFKDQLFDO
,QWHUQDOIHHGGLVDEOH
7 7
6SLQGOHVSHHG
W
1256
W
W W
t1:
With the programming of S1300, NCK detects a new gear stage (second gear stage), sets NST
DB31, ... DBX82.3 (change gear) and blocks processing for the next part program block (= in
ternal feed disable*).
t2:
The spindle is stationary, and oscillation starts (oscillation via the NCK). NST DB31, ... DBX18.5
(oscillation speed) must be set at the latest by t2.
t3:
The new gear stage is engaged. The PLC user transfers the new (actual) gear stage to the NCK
and sets NST DB31, ... DBX16.3 (gear is changed).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
t4:
NCK then retracts NST DB31, ... DBX82.3 (change gear), ends the oscillation, releases the next
part program block for processing, and accelerates the spindle to the new S value (S1300).
*:
Figure 16-6
16.4.8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1257
S1: Spindles
16.4 Configurable gear adaptation
Machine data configuration:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 2
runs the following sequence:
Positioning of the spindle from standstill or movement to the position configured in machine
data:
MD35012 $MA_GEAR_STEP_CHANGE_POSITION.
If the gear stage change is performed out of a movement, then the current direction of
rotation is maintained. The spindle is in positioning mode during the positioning action.
NC/PLC IS:
DB31, ... DBX84.5 (positioning mode)
is output.
If no reference is available:
DB31, ... DBX60.4/5 = 0
or NC/PLC IS:
DB31, ... DBX17.4/5 (resynchronize on positioning MS 1/2)
is set, the positioning action is extended by the time it takes to find the zero mark.
After reaching the gear stage change position configured in machine data:
MD35012$MA_GEAR_STEP_CHANGE_POSITION
the machine waits for the time in machine data:
MD35310 $MA_SPIND_POSIT_DELAY_TIME
before switching to oscillation mode,
and the known gear stage change dialog starts.
Output of NC/PLC interface signals:
DB31, ... DBX84.6 (oscillation mode)
DB31, ... DBX82.3 (change gear)
DB31, ... DBX82.0-82.2 (set gear stage A to C).
Position control is not disabled when an active measuring system with indirect encoder
(motor encoder) is used:
MD31040 $MA_ENC_IS_DIRECT = 0
If a measuring system with a direct encoder (load encoder) is active, position control is
deactivated:
DB31, ... DBX61.5 = 0,
because the induction flux to the load is interrupted and closed-loop position control is no
longer possible.
If position-controlled operation is not possible, it can be disabled by
resetting "Controller enable":
DB31, ... DBX2.1 = 0
.
Mechanical switchover of the gear stage on the machine.
No oscillation movement is required from the drive.
NC/PLC IS:
DB31, ... DBX18.5 (oscillation enable)
and
DB31, ... DBX18.4 (oscillation via PLC)
should not be set.
In principle, oscillation movement is still possible at this point.
1258
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
Writing of NC/PLC IS:
DB31, ... DBX16.0-16.2 (actual gear stage A to C)
by the PLC.
After signal:
DB31, ... DBX16.3 (gear stage changed),
the last movement to be active is continued, if available.
For indirect encoders (motor encoders), the referencing status is cleared:
DB31, ... DBX60.4/5 = 0.
The spindle is in speed control mode and NC/PLC IS:
DB31, ... DBX84.7 (open-loop control mode)
is output.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1259
S1: Spindles
16.4 Configurable gear adaptation
'%'%;SRVLWLRQLQJPRGH
'%'%;FRQWUROPRGH
'%'%;RVFLOODWLRQPRGH
3URJUDPPHG6YDOXH
'%'%;JHDULVFKDQJHG
'%'%;FKDQJHJHDUV
'%'%;VHWJHDUVWDJH$&
'%'%;VSLQGOHLQVHWUDQJH
'%'%;VSLQGOHVWDWLRQDU\
'%'%;DFWXDOJHDUVWDJH$&
'%'%;RVFLOODWLRQVSHHG
)LUVWJHDUVWDJHHQJDJHGPHFKDQLFDO
6HFRQGJHDUVWDJHHQJDJHGPHFKDQLFDO
,QWHUQDOIHHGGLVDEOH
6SLQGOHVSHHG
'%'%;H[DFWVWRSILQH
W
1260
W
W
W W
t1:
With the programming of S1300, NCK detects a new gear stage (second gear stage), NCK sets
NST DB31, ... DBX84.5 (positioning mode) and blocks processing for the next part program block
(= internal feed disable*).
t2:
t3:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
t4:
The new gear stage is engaged. The PLC user transfers the new (actual) gear stage to the NCK
and sets NST DB31, ... DBX16.3 (gear is changed).
t5:
NCK then retracts NST DB31, ... DBX82.3 (change gear), releases the next part program block
for processing, and accelerates the spindle to the new S value (S1300).
*:
Figure 16-7
Speed
The positioning speed is taken from the machine data which is configured depending on the
gear stage:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1261
S1: Spindles
16.4 Configurable gear adaptation
MD35300 $MA_SPIND_POSCTRL_VELO
NC/PLC IS "Spindle speed override"/"Feedrate override" at
DB31, ... DBX17.0=0: DB31, ... DBB19)
as well as:
DB31, ... DBX17.0=1: DB31, ... DBB0
are effective as normal for positioning.
The positioning speed can be changed proportionally through the program statement
OVRA[Sn].
Note
OVRA[Sn] is valid modally. After the gear stage change, a value appropriate for the machining
should be reset.
The part program statement FA[Sn] does not change the positioning speed during gear stage
change.
Acceleration
The acceleration values are determined by the machine data which is configured depending
on the gear stage:
MD35200 $MA_GEAR_STEP_SPEEDCTRL_ACCEL
and
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
The acceleration can be changed proportionally by programming ACC[Sn].
Note
ACC[Sn] is valid modally. After the gear stage change, a value appropriate for the machining
should be reset.
Speed-dependent acceleration
The "knee-shaped acceleration characteristic" is effective as in positioning with SPOS or FC18.
Jerk
It is currently not possible to limit the change in acceleration.
End of positioning
The transition between the end of the positioning action (DB31, ... DBX84.5)
and the start of oscillation mode (DB31, ... DBX84.6) is defined on
reaching "Exact stop fine" (DB31, ... DB60.7) and the time value entered in machine data:
MD3510 $MA_SPIND_POSIT_DELAY_TIME
.
1262
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
The determination of the transition condition has an effect firstly on the gear stage change time
and secondly on the accuracy of the approach to the preset gear stage change position.
Block change
The block change is stopped and the machining blocks are not started until the gear stage has
been changed by the PLC (DB31, ... DBX16.3).
Supplementary conditions
The spindle must have at least one measuring system.
Position-controlled operation must be possible and must have been activated.
Generally, it must be possible to execute SPOS from the part program, from a synchronized
action or via FC18: Start spindle positioning without errors.
Unless all requirements can be met, the function described cannot be used successfully.
Activation
The function of gear stage change at fixed position
is activated by the configuration:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 2
16.4.9
Technical background
In some machines the spindle needs to be in a particular gear stage during axis mode.
Possible reasons:
Only one optimization (KV, feedforward control, filter) to suit a gear stage can be found in
the servo parameter set for axis mode (index 0). The machine data for this parameter set
should not be rewritten.
There is only one mechanical transmission ratio which, unlike the others, possesses little
or no backlash compensation. The spindle can only follow a path motion or transformations
(e.g. TRANSMIT) together with other axes in this gear step.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1263
S1: Spindles
16.4 Configurable gear adaptation
Function
If the function is activated, a predefined gear step is loaded automatically during transition to
axis mode.
The gear step change is integrated into the M70 process and occurs after spindle deceleration
and before the loading of the servo parameter set with index 0 (note
MD35590 $MA_PARAMSET_CHANGE_ENABLE!).
The typical dialog between NC and PLC which occurs during gear step changes is executed
in a similar way to programmed gear step changes (M41 ... M45) performed.
Preconditions
Gear step changes during transition to axis mode require general enabling of the gear step
change via the machine data:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE (assign parameters to the gear step
change).
MD35090 $MA_NUM_GEAR_STEPS (number of gear steps set up)
Activation/deactivation
The function is activated/deactivated via the machine data:
MD35014 $MA_GEAR_STEP_USED_IN_AXISMODE (gear step for axis mode in M70)
Value
Meaning
No implicit gear step change occurs in M70. The current gear step is retained (default
setting!).
1 ... 5
A gear stage change to gear stage 1 ... 5 occurs during the processing of M70.
Supplementary conditions
Gear step change at fixed position (MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 2)
The "gear step change at fixed position" function is supported. The sequence in M70 is then
extended by the time it takes to position the spindle. The position is approached at the current
gear step.
Transition to axis mode without programming M70
The control system detects the transition to axis mode automatically from the program
sequence (see "Implicit transition to axis mode (Page 1224)") and generates the requisite M70
sequence, including the gear step change, within the control system.
Transition to axis mode with FC 18
Implicit gear step change is not supported in transition to axis mode with the FC 18 ("Start
axis"). This requires the right gear step to be engaged by the PLC application before switching
to axis mode. The gear step change is also possible with the FC 18 ("Start gear step change").
Change from axis mode to spindle mode
When changing from axis mode to spindle mode, the gear step loaded with M70 remains
activated. The gear stage which is activated in spindle mode prior to M70 is not automatically
1264
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.4 Configurable gear adaptation
loaded again. The servo parameter set is changed from parameter set 1 (index 0) to parameter
sets 2 ... 6 (index 1 ... 5) to suit the gear step (with
MD35590 $MA_PARAMSET_CHANGE_ENABLE < 2).
Example
Gear step 4 should be loaded in the case of spindle transition to axis mode.
Configuration: MD35014 $MA_GEAR_STEP_USED_IN_AXISMODE[<spindle name>] = 4
Program code
Comment
N05 M3 S1000
N10 G1 X100 F1000
N15 M70
N20 POS[C]=77
N25 ...
Note
MD35014 can be changed in the NewConfig. Thus, the gear step being loaded can still be
changed in the part program before transition to axis mode, if necessary.
16.4.10
Suppression of the gear stage change for DryRun, program test and SERUPRO
Function
For test feed rate (DryRun), program test and SERUPRO, normally, a gear stage change is
not required. This is the reason that it can be suppressed for these functions. The
corresponding configuration is realized with bits 0 ... 2 in machine data:
MD35035 $MA_SPIND_FUNCTION_MASK
Dry run feedrate (DryRun)
Bit 0 = 0
When the DryRun function is active - for part program blocks - gear stages are changed
with M40, M41 to M45, or programming via FC18 and synchronized actions.
Bit 0 = 1
When the DryRun function is active - for part program blocks - a gear stage change is
suppressed with M40, M41 to M45, programming via FC18 and synchronized actions.
For active program test / SERUPRO function - for part program blocks - gear stages are
selected with M40, M41 to M45, programming via FC18 and synchronized actions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1265
S1: Spindles
16.4 Configurable gear adaptation
Bit 1 = 1
For active program test / SERUPRO function - for part program blocks - a gear stage
change is suppressed with M40, M41 to M45, programming via FC18 and synchronized
actions.
Gear stage change for programmed gear stage is not performed subsequently on REPOS
after deselection of functions DryRun, Program Test and SERUPRO.
Bit 2 = 1
Gear stage change for programmed gear stage is performed after deselection of functions
DryRun and SERUPRO if possible.
Sequence
If a gear stage change is suppressed, if necessary, the interpolator will limit the programmed
spindle speed to the permissible speed range of the active gear stage.
NC/PLC interface signals DB31, ... DBX83.2 (setpoint speed increased) and DB31, ... DBX83.1
(setpoint speed limited) generated as a result of this limit are suppressed.
Monitoring by the PLC program is not necessary during DryRun and in dry run feedrate.
When the gear stage change is suppressed, no new gear stage setpoint
(DB31,... DBX82.0-82.2) is output to the PLC.
The gear stage change request DB31, ... DBX82.3 (change gear) is also suppressed.
This ensures that no gear stage change information has to be processed by the PLC program.
1266
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.5 Additional adaptations to the spindle functionality that can be configured
Function Manual, Basic Functions; Mode Group, Channel, Program Mode, Reset Response
(K1)
Boundary conditions
If the gear stage change is suppressed, the output spindle speed moves within the speed
range specified by the current gear stage.
The following restrictions apply to the subsequent activation of a gear stage change with
REPOS:
The gear stage change is not activated subsequently if the spindle in the deselection or
target block is a command spindle (synchronized action) or PLC spindle (FC18).
If the gear stage cannot be activated because the spindle is in position or axis mode or a
link is active, alarm 22011"Channel%1 block%3 spindle2% Change to programmed gear
stage not possible" is signaled.
Example
Gear stage change in DryRun
; 1. Activate 1st gear stage for output state
N00 M3 S1000 M41
M0
N11 G0 X0 Y0 Z0
; Positioning axes
N12 M0
16.5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1267
S1: Spindles
16.5 Additional adaptations to the spindle functionality that can be configured
MD35035 is bit coded:
Bit
Meaning
0 ... 2
Gear stage change behavior for test feedrate (DryRun), program test and SERUPRO
See "Suppression of the gear stage change for DryRun, program test and SERUPRO
(Page 1265)".
The programmed speed S... including speed setpoints FC18 and synchronized actions can
be accepted in setting data SD43200 $SA_SPIND_S (speed for spindle start via PLC interface).
See "Special spindle motion via the PLC interface (Page 1277)".
For bit 5 = 1, the content of setting data SD43200 $SA_SPIND_S acts as the speed setpoint
for JOG. You can use the JOG keys to operate the spindle at the speed defined in SD43200.
If the content is zero, other JOG speed setpoints are active(see SD41200 $SN_JOG
SPIND_SET_VELO).
The programmed cutting velocity S... including setpoints via FC18 and synchronized actions
can be accepted in setting data SD43202 $SA_SPIND_CONSTCUT_S (cutting rate for spindle
start via the PLC interface).
See "Special spindle motion via the PLC interface (Page 1277)".
10
For the master spindle, the value of the 15th G group (feedrate type) can be accepted in setting
data SD43206 $SA_SPIND_SPEED_TYPE (spindle speed type for spindle start via the PLC
interface).
See "Special spindle motion via the PLC interface (Page 1277)".
12
Bit 12 = 0
Spindle override is not effective for the zero mark search with M19, SPOS or
SPOSA = 0.
Bit 12 = 1
Spindle override is effective for the zero mark search with M19, SPOS or SPOSA
= 0.
19
When programming SPOS and SPOSA, auxiliary function M19 can be implicitly generated and
output to the PLC.
20
In the case of M70 functionality which is generated in the control, auxiliary function M70 can
be implicitly generated and output to the PLC.
Bit 22 = 0
The NC/PLC interface signal DB31, ... DBX17.6 (invert M3/M4) also affects the
function "interpolatory tapping (G331/G332)".
Note:
The following must be observed for this setting:
For part programs with G331 and G332, it is necessary to set NC/PLC
interface signal DB31, ... DBX17.6 (invert M3/M4) before part program start
to a stable value.
Existing application-based solutions, e.g. as are used in tapping cycles,
must, if required, be adapted. It is known, for example, in tapping cycles, that
the spindle direction of rotation can be inverted using MIRROR depending
on a cyclic-specific setting data.
Bit 22 = 1
The NC/PLC interface signal DB31, ... DBX17.6 (invert M3/M4) does not affect
the function "interpolatory tapping (G331/G332)".
1268
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.6 Selectable spindles
16.6
Selectable spindles
Function
The "selectable spindles" function allows you to write part programs with reference to the
spindles used ("channel spindle, logical spindle") regardless of the actual assignment of
configured spindles ("physical spindles") to a channel.
The physical spindles loaded or unloaded by "axis replacement" no longer have to be specified
explicitly in the part program.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1269
S1: Spindles
16.6 Selectable spindles
The converted, physical spindle number is always output as the address extension in the
auxiliary function output.
Supplementary conditions
Switchable channel spindles are not a substitute for the Axis replacement function.
You can only switch spindles, which have been assigned to the channel by means of
configuration.
If spindles, which are presently active in another channel, are designated for switchover,
either the "Auto-Get" function is triggered for the physical spindle or alarm 16105 "Assigned
spindles do not exist" is output, depending on the configuration variant.
If SD42800 $SC_SPIND_ASSIGN_TAB[<n>] is specified by the PLC or from HMI, then the
channel whose table is changed should be in Reset status or the spindle to be changed
should not be used in the running part program.
A synchronized response can be achieved by means of a STOPRE preprocessor stop.
The multiple mapping of logical to physical spindles is not prevented in the NC. However,
with the display of logical spindle in the user interface, there are ambiguities corresponding
to the change table.
Spindle conversion operates on spindles via FC 18.
Activation
SD42800 $SC_SPIND_ASSIGN_TAB[<n>] is enabled by setting the following machine data
setting:
MD20092 $MC_SPIND_ASSIGN_TAB_ENABLE=1
Example
Spindle configurations:
Assignment, spindle number and machine axis:
1270
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.6 Selectable spindles
SD42800 $SC_SPIND_ASSIGN_TAB[0]=1
SD42800 $SC_SPIND_ASSIGN_TAB[1]=1
SD42800 $SC_SPIND_ASSIGN_TAB[2]=2
SD42800 $SC_SPIND_ASSIGN_TAB[3]=3
SD42800 $SC_SPIND_ASSIGN_TAB[4]=0
M3 S1000
...
...
SD42800 $SC_SPIND_ASSIGN_TAB[1]=5
SD42800 $SC_SPIND_ASSIGN_TAB[2]=3
SETMS(2)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1271
S1: Spindles
16.7 Programming
...
M5
...
GET(S4)
...
RELEASE(S1)
...
M30
16.7
Programming
16.7.1
Programming statements
Statement
Description
SETMS:
SETMS(<n>):
Revolutional feedrate
G96 S.../G961
S...:
G97/G971:
G63:
G33/G34/G35:
Thread cutting
G331/G332:
G4 S...:
Programming M3, M4, M5, S, SVC, SPOS, M19, SPOSA, M40, M41 to M45, and WAITS
without entering the spindle number
The current master spindle setting can be retained via RESET / part program end and
part program start. The setting is done via the machine data:
MD20110 $MC_RESET_MODE_MASK
MD20112 $MC_START_MODE_MASK
1272
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.7 Programming
Statement
Description
M3:
M<n>=3:
M4:
M<n>=4:
M5:
M<n>=5:
S...:
S<n>=...:
SVC=...:
SVC[<n>]=...:
SPOS=...:
SPOS[<n>]=...:
SPOSA=...:
SPOSA[<n>]=...:
The direction of motion is retained for positioning while in motion and the position ap
proached. When positioning from standstill, the position is approached via the shortest
path.
SPOSA[<n>]=DC(...):
SPOS=ACN(...):
SPOS[<n>]=ACN(...):
The position is always approached with negative direction of motion. If necessary, the
direction of motion is inverted prior to positioning.
SPOSA=ACN(...):
SPOSA[<n>]=ACN(...):
SPOS=ACP(...):
SPOS[<n>]=ACP(...):
SPOSA=ACP(...):
SPOSA[<n>]=ACP(...):
SPOS=IC(...):
SPOS[<n>]=IC(...):
SPOSA=IC(...):
The travel path is specified. The direction of travel is determined from the sign in front of
the travel path. If the spindle is in motion, the direction of travel is inverted as necessary
to allow traversing in the programmed direction.
SPOSA[<n>]=IC(...):
If the zero mark is crossed during traversing, the spindle is automatically synchronized
with the zero mark if no reference is available or if a new one has been requested via an
interface signal.
M19:
M[<n>]=19:
M70:
M<n>=70:
Bring spindle to standstill and activate position control, select zero parameter set, activate
axis mode
for the master spindle
for spindle number <n>
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1273
S1: Spindles
16.7 Programming
Statement
Description
Spindle position control ON
SPCON:
SPCON(<n>):
SPCON(<n>,<m>):
PCOF:
SPCOF(<n>):
SPCOF(<n>,<m>):
FPRAON(S<n>):
Revolutional feedrate for spindle <n> ON, derived from the master spindle
FPRAON(S<n>,S<m>):
Revolutional feedrate for spindle <n> ON, derived from spindle <m>
The revolutional feedrate value must be specified with FA[S<m>].
FPRAOF(S<n>):
Rotary axis C (spindle in axis mode) travels to the position 30 degrees at a speed of 3600
degrees/min = 10 rpm
Programmable minimum spindle speed limitation
G25 S...:
G25 S<n>:
G26 S...:
G26 S<n>:
LIMS=...:
LIMS[<n>]=...:
VELOLIM[<spindle>]=...:
WAITS:
1274
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.7 Programming
Statement
Description
WAITS(<n>):
WAITS(<n>,<m>):
FA[S<n>]:
OVRA[S<n>]:
ACC[S<n>]:
SPI(<n>):
With SPI(<n>) a spindle number is converted into the data type AXIS according to
machine data
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ ]
.
SPI is used if axis functions are to be programmed with the spindle.
The following commands are possible with SPI:
Frame commands:
CTRANS()
CFINE()
CMIRROR()
CSCALE()
FA[SPI(<n>)]
ACC[SPI(<n>)]
OVRA[SPI(<n>)]
System variables:
$P_PFRAME[SPI(<n>),TR]=<value>
$P_PFRAME=
CTRANS(X,<axis value>,Y,<axis value>,SPI(<n>),<axis value>)
$P_PFRAME=
CSCALE(X,<scale>,Y,<scale>,SPI(<n>),<scale>)
$P_PFRAME=CMIRROR(S<n>,Y,Z)
M<n>=40:
M41 to M45:
M<n>=41 to M<n>=45:
Note
M functions M3, M4, M5, and M70 are not output in DB21, ... DBB194 and DBB202 if a spindle
is configured in a channel. These M functions are offered as extended M functions in DB21, ...
DBB68 ff. and in the relevant axis DBs, DB31, ... DBB86 ff.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1275
S1: Spindles
16.7 Programming
References
More detailed explanations for programming the spindle can be found in:
Programming Manual, Fundamentals
16.7.2
References
For further explanations regarding the programming of the spindle as well as spindle
movements from synchronized actions, refer to:
Programming Manual, Job Planning
Function Manual, Synchronized Actions
16.7.3
References
More detailed explanations regarding the programming of spindle controls by PLC with FC18
can be found in:
Function Manual, Basic Functions, Basic PLC Program (P3)
1276
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.7 Programming
16.7.4
Functionality
Spindles can be started and stopped outside a part program that is being executed via the
internal DBB30 spindle interface:
DB31, DBX30.0 (spindle stop)
DB31, DBX30.1 (spindle start, clockwise)
DB31, DBX30.2 (spindle start, counter-clockwise)
DB31, ... DBX30.3 (select gear stage)
Supplementary signal to the signal "spindle start, clockwise/counter-clockwise"; determines
the gear stage that matches the speed analog to M40 in the part program.
DB31, DBX30.4 (spindle positioning start)
In order to start a spindle job, the channel handling the spindle must be in the acceptance
state. A spindle job is always started on the Low-High edge of an internal DBB30 signal.
Generally, the internal DBB30 start signals do not have any meaning in the static state and do
not prevent the spindle being programmed by FC18, synchronized actions, the part program
or JOG traversing (e.g. when the STOP signal is statically at "1").
Requirements
In order that spindle jobs are accepted via the DBB30 spindle interface, the following conditions
must be fulfilled (acceptance state):
The channel state must be in the "interrupted" or "reset" mode:
DB21, ... DBX35.6 = 1 (channel state "interrupted")
DB21, ... DBX35.7 = 1 (channel state "reset")
The program state must be in the "interrupted" or "canceled" mode:
DB21, ... DBX35.3 = 1 (program state "interrupted")
DB21, ... DBX35.4 = 1 (program state "interrupted")
These states will occur on RESET and in JOG mode.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1277
S1: Spindles
16.7 Programming
At the start time, the spindle concerned must meet the following requirements:
It must be in the state "Channel axis" or "Neutral axis" and must not be moved by means
of the JOG keys.
When the spindle is specified, no positioning may be carried out by FC18 or synchronized
actions.
Note
Spindle job outside the acceptance range
Low-high edges outside the acceptance range will be ignored. No alarm message is output by
the NCK. It can be conceivable that the acceptance range will be indicated to the operator by
a user-side PLC application.
Spindle jobs outside the acceptance range can also be carried out using FC18 or ASUB.
Multi-channel operation
In the case of multi-channel operation, the spindle started by the PLC becomes active in the
channel that handles the spindle at the appropriate moment.
The channel can be determined on the PLC side by reading the NC/PLC interface signals:
DB31, ... DBX68.0-68.3 (NC axis/spindle in channel A to D)
Spindle definitions
The spindle settings are retained after a change in mode (e.g. from JOG to AUTOMATIC). The
spindle definitions are applied to the part program at the start of the program and can be
modified again using part program operations.
Using the following settings in the machine data:
MD35035 $MA_SPIND_FUNCTION_MASK (spindle functions),
1278
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.7 Programming
certain spindle definitions (speed or cutting speed, feedrate type) can be taken from the part
program, synchronized action and FC18 and entered in the corresponding setting data:
Bit 4 = 1
The programmed speed S... including speed setpoints via FC18 and synchronized
actions are accepted in the following setting data:
SD43200 $SA_SPIND_S (speed for spindle start via PLC interface)
Programmed S values that are not programmed speed values are not accepted in the
SD. These include, for example:
S value at constant cutting speed (G96, G961)
S value for rotation-related dwell time (G4)
Bit 8 = 1
The programmed cutting speed S... including setpoints via FC18 and synchronized
actions are accepted in the following setting data:
SD43202 $SA_SPIND_CONSTCUT_S (cutting speed for spindle start via PLC inter
face)
Programmed S values that are not programmed cutting speed values are not accepted
in the SD. These include, for example:
S value outside the constant cutting speed (G96, G961, G962)
S value for rotation-related dwell time (G4)
Bit 10 = 1
For the master spindle, the value of the 15th G group (feedrate type) is accepted in the
following setting data SD43206 $SA_SPIND_SPEED_TYPE.
SD43206 $SA_SPIND_SPEED_TYPE (spindle speed type for spindle start via PLC
interface)
For all other spindles, the value in SD43206 remains unchanged.
Speed default
Speed defaults from part program, FC18 or synchronized actions are written to the following
setting data from all the usual sources:
SD43200 $SA_SPIND_S (speed for spindle start via PLC interface)
The setting data can be written to as follows:
Through speed programming
Through direct programming in the part program
Through HMI software
Note
The setting data is written immediately and asynchronously to part-program execution.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1279
S1: Spindles
16.7 Programming
The following conditions apply when writing:
Programming through:
Conditions:
Speed programming
HMI
1280
Metric
Inch as [feet/min]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.7 Programming
For G70, G71 and when writing from an external (HMI), the setting in the machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
determines the interpretation of the written values.
For further explanations regarding the measuring system (metric/inch) see Section "G2:
Velocities, setpoint / actual value systems, closed-loop control (Page 317)".
Definition via FC18
If the constant cutting speed is defined via FC18, the setting of bit 6 in byte 2 in the "Signals
to concurring positioning axes" area determines how the speed value (bytes 8 ... 11) is
interpreted.
Setting via synchronized actions
For definition via synchronized actions, analog to the part program, the feedrate type defines
how the S value is interpreted.
Reading from part program and synchronized actions
The programmed cutting speed value can be determined in the part program and in the
synchronized actions by reading the following system variables:
$P_CONSTCUT_S[<n>] (last programmed constant cutting speed)
$AC_CONSTCUT_S[<n>] (actual constant cutting speed)
Defined range of values of the two new system variables: RV = {0, DBL_Max}
The programmed cutting speed value can also be read via the OPI interface.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1281
S1: Spindles
16.7 Programming
SD43250 $SA_M19_SPOSMODE (spindle position approach mode for spindle positioning with
M19)
16.7.5
The machine axis number of the rotary axis/spindle from which the revolutional feedrate shall
be derived.
-1:
The revolutional feedrate is derived from the master spindle of the channel in which the axis/
spindle is active in each case.
0:
Function is deselected.
FPRAON (S2)
Revolutional feedrate for spindle S2 ON, derived from the master spindle
FPRAON (S2, A)
Revolutional feedrate for spindle S2 ON, derived from axis A.
The revolutional feedrate value must be specified with FA[Sn].
FPRAOF (S2)
Revolutional feedrate for spindle S2 OFF.
SPI(n)
It is also possible to program SPI(n) instead of SPI(Sn).
1282
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.8 Spindle monitoring
16.8
Spindle monitoring
16.8.1
Figure 16-8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1283
S1: Spindles
16.8 Spindle monitoring
16.8.2
Axis/spindle stationary
Functions such as tool change, open machine doors, path feedrate enable, etc. are only
possible at the machine when the spindle is stationary.
Function
The "axis/spindle stationary" state is reached if a setpoint is no longer generated and the
spindle actual speed falls below the configured threshold value for "axis/spindle stationary":
MD36060 $MA_STANDSTILL_VELO_TOL (max. velocity/speed for "axis/spindle stationary")
If the spindle has come to a standstill, the following NC/PLC interface signal is set:
DB31, ... DBX61.4 (axis/spindle stationary)
Effectiveness
Monitoring for spindle stop is effective in all spindle modes and in axis mode.
16.8.3
Function
"Spindle in setpoint range" spindle monitoring checks whether:
The programmed spindle speed is reached.
The spindle is at a standstill:
DB31, ... DBX61.4 (axis/spindle stationary) = 1
The spindle is still in the acceleration or deceleration phase.
In the spindle mode, open-loop control mode, the setpoint speed is compared with the actual
speed. If the actual speed deviates by more than the spindle tolerance that can be entered via
MD (refer below) then:
The following axial NC/PLC interface signal is set to "0":
DB31, ... DBX83.5 (spindle in setpoint range) = 0
The next machining block is not enabled (depending on the setting in
MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START, see "Axis/spindle stationary
(Page 1284)").
1284
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.8 Spindle monitoring
Speed change
Path control only takes place at the start of the traverse block and only if a speed change has
been programmed. If the speed tolerance range is exited, e.g. due to an overload, the path
movement is not automatically brought to a standstill.
16.8.4
Minimum speed
The minimum speed of the gear stage of a spindle is configured in the machine data:
MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT[<n>]
The speed setpoints, generated taking into account the override, do not fall below the minimum
speed.
If an S value is programmed, which is less than the minimum speed, the setpoint speed is
increased to the minimum speed and the following NC/PLC interface signal is set:
DB31, ... DBX83.2 (speed setpoint increased)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1285
S1: Spindles
16.8 Spindle monitoring
The minimum gear stage speed is effective only in speed mode and can only be undershot by:
Spindle override 0%
M5
S0
DB31, ... DBX4.3 (spindle stop)
DB31, ... DBX2.1 (withdraw controller enable)
DB21, ... DBX7.7 (reset)
DB31, ... DBX2.2 (delete distance-to-go / spindle reset)
DB31, ... DBX18.5 (oscillation speed)
DB21, ... DBX7.4 (NC stop axes plus spindles)
DB31, ... DBX1.3 (axis/spindle disable)
DB31, ... DBX16.7 (delete S value)
Maximum speed
The maximum speed of the gear stage of a spindle is configured in machine data:
MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[<n>]
The speed setpoints, generated taking into account the override, are limited to this speed.
The following NC/PLC interface signal is set in the case that the speed is limited:
DB31, ... DBX83.1 (speed setpoint limited)
16.8.5
Function
The limit or increase of the spindle speed is signaled by the output of the following NC/PLC
interface signals:
DB31, ... DBX83.1 (setpoint speed limited)
DB31, ... DBX83.2 (setpoint speed increased)
To diagnose the effective/limiting spindle parameters, one can have read access to the most
important parameters of spindle motion via system variables. The system variables are
indexed with the spindle number and they return only values that are relevant to the speed
control and spindle position modes.
1286
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.8 Spindle monitoring
The following system variables are available in the spindle mode:
System variable
Meaning
$AC_SMAXVELO[<n>]
$AC_SMAXVELO_INFO[<n>]
$AC_SMINVELO[<n>]
$AC_SMINVELO_INFO[<n>]
$AC_SMAXACC[<n>]
$AC_SMAXACC_INFO[<n>]
$AC_SPIND_STATE[<n>]
<n>: Spindle no. (n= 0: the variables are related to the current master spindle)
*) The text of the numerical value should be taken from from the description of the system variables.
Boundary conditions
The values delivered by the system variables depend on the spindle mode:
Speed control mode:
All system variables deliver current values.
Positioning mode:
The system variables $AC_SMAXVELO, $AC_SMAXACC and $AC_SPIND_STATE
deliver valid values. The system variables $AC_SMINVELO and $AC_SMINVELO_INFO
deliver the data that becomes effective on changing to the speed control mode.
Axis mode (e.g. if the spindle is used by a transformation TRANSMIT, TRACYL,... or follows
a path motion as a special axis):
The system variable $AC_SPIND_STATE can also be used in the axis mode. Separate
system variables are available in the axis mode for dynamic data:
$AA_VMAXM, $AA_VMAXB and $AA_VLFCT.
The following control response is obtained for a type SERUPRO block search:
The system variable $AC_SMAXVELO / $AC_SMAXACC delivers the maximum
representable speed / acceleration.
$AC_SMAXVELO_INFO and $AC_SMAXACC_INFO deliver the VALUE "0" (no limitation
is active).
$AC_SMINVELO and $AC_SMINVELO_INFO deliver data as in case of normal part
program processing.
$AC_SPIND_STATE returns the states as they are set for SERUPRO.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1287
S1: Spindles
16.8 Spindle monitoring
Example
Example of the visualization of the content of the system variables for Spindle 1. The variables
are written to the R parameters cyclically. These can be displayed on HMI in the R Parameters
area.
Program code
N05 IDS=1 WHENEVER TRUE DO $R10=$AC_SMAXVELO[1]
N10 IDS=2 WHENEVER TRUE DO $R11=$AC_SMAXVELO_INFO[1]
N15 IDS=3 WHENEVER TRUE DO $R12=$AC_SMINVELO[1]
N20 IDS=4 WHENEVER TRUE DO $R13=$AC_SMINVELO_INFO[1]
N25 IDS=5 WHENEVER TRUE DO $R14=$AC_SPIND_STATE[1]
See also
Spindle in setpoint range (Page 1284)
16.8.6
1288
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.8 Spindle monitoring
the following effects can be seen on the NC side.
DB31, ... DBX83.0 = 1 (speed limit exceeded)
Alarm 22100 "Chuck speed exceeded" is displayed
All axes and spindles of the channel are stopped
Note
Rotary axis / spindle
If a spindle is also temporarily operated as a rotary axis, alarm 22100 "Chuck speed exceeded"
is displayed if:
"Actual speed of the rotary axis" > MD35100 $MA_SPIND_VELO_LIMIT
(maximum spindle speed) +
MD35150 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance value)
Remedy: Adjust the maximum spindle speed to the maximum rotary axis speed during rotary
operation:
MD35100 $MA_SPIND_VELO_LIMIT = MD32000 $MA_MAX_AX_VELO (maximum
speed of the rotary axis)
For the change to take effect a reset must be triggered.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1289
S1: Spindles
16.8 Spindle monitoring
16.8.7
1290
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.8 Spindle monitoring
Special features
If the following functions are active, the maximum encoder frequency cannot be exceeded:
Spindle positioning mode, axis mode
Thread cutting (G33, G34, G35)
Tapping without compensating chuck G331, G332 (does not apply to G63)
Revolutional feedrate (G95)
Constant cutting rate (G96, G961, G97, G971)
SPCON
16.8.8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1291
S1: Spindles
16.8 Spindle monitoring
6SLQGOHVSHHG
3RVLWLRQVHWSRLQW
3RVLWLRQ
([DFWVWRSOLPLWILQH
([DFWVWRSOLPLWFRDUVH
Figure 16-9
DB31, ... DBX60.7 and DB31, ... DBX60.6 (position reached with exact stop coarse / fine)
The two limit values defined by machine data:
MD36000 $MA_STOP_LIMIT_COARSE (Exact stop limit coarse)
and
MD36010 $MA_STOP_LIMIT_FINE (Exact stop limit fine)
are output to the PLC using NC/PLC IS:
DB31, ... DBX60.7 (Position reached with exact stop coarse)
and
DB31, ... DBX60.6 (Position reached with exact stop fine).
1292
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.8 Spindle monitoring
16.8.9
M40: Automatic gear stage selection for speeds outside the configured switching
thresholds
Function
When M40 is active, an automatic gear stage selection is also made if the programmed spindle
speed S lies outside the configured switching thresholds.
In this case, a distinction is made between the following cases:
Programmed speed too high
The programmed speed is higher than the configured maximum speed of the numerically
largest gear stage:
S... > MD35110 $MA_GEAR_STEP_MAX_VELO[<n>]
In this case, the highest gear stage is selected (according to MD35090
$MA_NUM_GEAR_STEPS).
Programmed speed too low
The programmed spindle speed is less than the configured minimum speed of the first gear
stage:
S... < MD35120 $MA_GEAR_STEP_MIN_VELO[1]
In this case, the first gear stage is selected.
Programmed speed = 0
When programming speed 0 (S0) the behavior depends on the configuration of the
minimum speed of the first gear stage MD35120 $MA_GEAR_STEP_MIN_VELO[1]:
If MD35120 $MA_GEAR_STEP_MIN_VELO[1] = 0 is configured, then when
programming S0, the first gear stage is selected.
If MD35120 $MA_GEAR_STEP_MIN_VELO[1] > 0 is configured, when programming
S0 no gear stage change is performed and the last gear stage remains active. This
means that it remains possible to stop the spindle with S0 (instead of M5) without initiating
a gear stage change.
Effectiveness
Selecting the highest gear stage or the first gear stage for automatic gear stage selection (M40)
is active when programming spindle speeds S using the part program, in synchronized actions
or when entering via PLC FC18.
For speed programming from the part program for tapping with G331, the behavior is also
supported for the second data set to select the gear stage (precondition:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE, bit 5 = 1).
Boundary conditions
Enabling the gear stage change
The precondition for the function is that the gear stage change is generally enabled via machine
data:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE (assign parameters to the gear stage
change)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1293
S1: Spindles
16.9 Spindle with SMI 24 (Weiss spindle)
MD35090 $MA_NUM_GEAR_STEPS (number of gear stages set up)
Example
Automatic gear stage selection M40 is the initial setting after NC reset.
Part program:
Program code
Comment
...
N15 S3500 M3
...
N50 S0 M3
...
N95 S5 M3
...
16.9
16.9.1
General Information
In order to be able to process the sensor data of the spindle in the control, the sensors must
first be connected to I/O modules and transferred to the PLC via fieldbus (PROFIBUS DP or
PROFINET I/O).
For a spindle with SMI 24 (Weiss spindle), the sensor data are transferred to the drive using
DRIVE-CLiQ and are available there in drive parameters. When using cyclic drive telegram
1294
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.9 Spindle with SMI 24 (Weiss spindle)
139, sensor data from the drive are transferred to the control. They are then available there in
the following system data:
System variable
OPI variables
NC/PLC interface signals
Requirement
The spindle is connected to the drive via Sensor Module SMI 24 using DRIVE-CLiQ.
Drive telegram 139 is configured for the spindle.
Note
Drive telegram 139
In principle, a spindle with Sensor Module SMI 24 can also be operated with another drive
telegram. However, sensor data is only transferred to the control using drive telegram 139.
16.9.2
Sensor data
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1295
S1: Spindles
16.9 Spindle with SMI 24 (Weiss spindle)
System variable
$VA_
Drive param
eters
DB31, ...
Sensor configuration
MOT_SENSOR_CONF[<axis>]
DBB132
vaMotSensorConf
r5000
Clamped state
MOT_CLAMPING_STATE[<axis>]
DBW134
vaMotClampingState
r5001
MOT_SENSOR_ANA[<axis>]
DBW136
vaMotSensorAna
r5002
MOT_SENSOR_DIGI[<axis>]
DBW138
vaMotSensorDigi
r5003
<axis>:
1)
1)
2)
1296
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.9 Spindle with SMI 24 (Weiss spindle)
16.9.3
Clamped state
Sensor S1 supplies an analog voltage value 0 V - 10 V depending on the position of the
clamping device. The voltage value is available in the system data for evaluation of the clamped
state on the user side.
Note
The subsequently described evaluation of sensor S1 to generate the state value for the
clamped state and limiting the spindle speed are only realized if the following state values are
displayed in drive parameter r5000:
r5000.0 == 1: Sensors available
r5000.1 == 1: Sensor S1 (clamped state) available
r5000.10 == 1: State values are generated, speed limits p5043 active
See also Section "Sensor data (Page 1295)", paragraph: "System data: sensor data"
State value
To simplify the evaluation, the clamped state in the system data is also available as state value
0 - 11.
A voltage range corresponds to a certain clamped state. The voltage ranges can be set using
drive parameter p5041[0...5].
A voltage tolerance can also be set for the voltage ranges using drive parameter p5040.
Note
The voltage range voltage tolerance must not overlap.
Speed limits
For the clamped states with state values 3 - 10, speed limit values can be specified using drive
parameter p5043[0...6]. In the other clamped states (state values 1, 2 and 11), a limit value of
0 [rpm] permanently applies.
In the various clamped states, the controller limits the spindle speed to the applicable limit.
Note
Changing the speed limits
A change of the speed limits in drive parameter p5043[0...6] is only effective in the controller
(limitation of the spindle speed to the new speed limit) after:
Power-on reset or when the controller is switched-off/switched-on
Deselection of the "Parking" state for the spindle (see Section "Parking a machine axis
(Page 113)")
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1297
S1: Spindles
16.9 Spindle with SMI 24 (Weiss spindle)
Clamped state
Voltage range 2)
Speed limit
Upper limit
Lower limit
3)
p5041[0] + p5040
3)
Released
p5041[0]
p5041[1]
p5043[0]
p5043[1]
p5043[2]
p5043[3]
p5041[2]
p5041[3]
p5043[4]
p5043[4]
p5043[5]
10
p5041[4]
p5041[5]
p5043[6]
11
p5041[5] - p5040
3)
1)
2)
3)
16.9.4
The state value can be read into the controller using the following system data:
System variable:
$VA_MOT_CLAMPING_STATE[<axis>]
NC/PLC interface:
DB31, ... DBW134
OPI variables:
vaMotClampingState
Drive parameters:
r5001
p5041[0...5]: Voltage threshold values, p5040: Voltage threshold values tolerance
Speed limit permanently set: 0 [rpm]
1298
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.11 Examples
16.10
Supplementary conditions
16.10.1
16.11
Examples
16.11.1
Example
To illustrate the contents of the new block search variables:
Assumptions about automatic gear step selection (M40):
S0...500
S501..1000
S1001..2000
1. Gear step
2. Gear step
3. Gear step
; Collected S value
; Collected direction of rotation
; Collected gear step
Collected
S value:
; 0/last speed
; 1000
: 222
; f (PlanAxPosPCS)*
; 1500
; 1500
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1299
S1: Spindles
16.12 Data lists
N50 M19**
N60 G94 G331 Z10 S300
N70 M42
N80 M4
N90 M70
N100 M3 M40
N999 M30
; 1500
; 300
; 300
; 300
; 300
; 300
-19
-19
-19
4
70
3
40
40
42
42
42
40
f (PlanAxPosPCS): The speed depends on the current position of the transverse axis in the
workpiece coordinate system.
**
16.12
Data lists
16.12.1
Machine data
16.12.1.1
Number
Identifier: $MN_
Description
10192
GEAR_CHANGE_WAIT_TIME
10714
M_NO_FCT_EOP
12060
OVR_SPIND_IS_GRAY_CODE
12070
OVR_FACTOR_SPIND_SPEED
12080
OVR_REFERENCE_IS_PROG_FEED
12082
OVR_REFERENCE_IS_MIN_FEED
12090
OVR_FUNCTION_MASK
16.12.1.2
Number
Identifier: $MC_
Description
20090
SPIND_DEF_MASTER_SPIND
20092
SPIND_ASSIGN_TAB_ENABLE
20850
SPOS_TO_VDI
22400
S_VALUES_ACTIVE_AFTER_RESET
1300
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.12 Data lists
16.12.1.3
Number
Identifier: $MA_
Description
30300
IS_ROT_AX
Rotary axis
30310
ROT_IS_MODULO
Modulo conversion
31044
ENC_IS_DIRECT2
31050
DRIVE_AX_RATIO_DENOM
31060
DRIVE_AX_RATIO_NUMERA
31064
DRIVE_AX_RATIO2_DENOM
31066
DRIVE_AX_RATIO2_NUMERA
31070
DRIVE_ENC_RATIO_DENOM
31080
DRIVE_ENC_RATIO_NUMERA
31122
BERO_DELAY_TIME_PLUS
31123
BERO_DELAY_TIME_MINUS
32200
POSCTRL_GAIN
KV factor
32800
EQUIV_CURRCTRL_TIME
32810
EQUIV_SPEEDCTRL_TIME
32910
DYN_MATCH_TIME
34040
REFP_VELO_SEARCH_MARKER
34060
REFP_MAX_MARKER_DIST
34080
REFP_MOVE_DIST
34090
REFP_MOVE_DIST_CORR
34100
REFP_SET_POS
34200
ENC_REFP_MODE
Homing mode
35000
SPIND_ASSIGN_TO_MACHAX
35010
GEAR_STEP_CHANGE_ENABLE
35012
GEAR_STEP_CHANGE_POSITION
35014
GEAR_STEP_USED_IN_AXISMODE
35020
SPIND_DEFAULT_MODE
35030
SPIND_DEFAULT_ACT_MASK
35035
SPIND_FUNCTION_MASK
35040
SPIND_ACTIVE_AFTER_RESET
35090
NUM_GEAR_STEPS
35092
NUM_GEAR_STEPS2
35100
SPIND_VELO_LIMIT
35110
GEAR_STEP_MAX_VELO[n]
35112
GEAR_STEP_MAX_VELO2[n]
35120
GEAR_STEP_MIN_VELO[n]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1301
S1: Spindles
16.12 Data lists
Number
Identifier: $MA_
Description
35122
GEAR_STEP_MIN_VELO2[n]
35130
GEAR_STEP_MAX_VELO_LIMIT[n]
35135
GEAR_STEP_PC_MAX_VELO_LIMIT[n]
35140
GEAR_STEP_MIN_VELO_LIMIT[n]
35150
SPIND_DES_VELO_TOL
35160
SPIND_EXTERN_VELO_LIMIT
35200
GEAR_STEP_SPEEDCTRL_ACCEL[n]
35210
GEAR_STEP_POSCTRL_ACCEL[n]
35212
GEAR_STEP_POSCTRL_ACCEL2[n]
35220
ACCEL_REDUCTION_SPEED_POINT
35230
ACCEL_REDUCTION_FACTOR
Reduced acceleration
35300
SPIND_POSCTRL_VELO
35350
SPIND_POSITIONING_DIR
35400
SPIND_OSCILL_DES_VELO
Oscillation speed
35410
SPIND_OSCILL_ACCEL
Oscillation acceleration
35430
SPIND_OSCILL_START_DIR
35440
SPIND_OSCILL_TIME_CW
35450
SPIND_OSCILL_TIME_CCW
35500
SPIND_ON_SPEED_AT_IPO_START
35510
SPIND_STOPPED_AT_IPO_START
35550
DRILL_VELO_LIMIT[n]
35590
PARAMSET_CHANGE_ENABLE
36060
STANDSTILL_VELO_TOL
36200
AX_VELO_LIMIT
16.12.2
Setting data
16.12.2.1
Number
Identifier: $SC_
Description
42600
JOG_FEED_PER_REF_SOURCE
42800
SPIND_ASSIGN_TAB
42900
MIRROR_TOOL_LENGTH
42910
MIRROR_TOOL_WEAR
42920
WEAR_SIGN_CUTPOS
1302
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.12 Data lists
Number
Identifier: $SC_
Description
42930
WEAR_SIGN
42940
TOOL_LENGTH_CONST
16.12.2.2
Number
Identifier: $SA_
Description
43200
SPIND_S
43202
SPIND_CONSTCUT_S
43206
SPIND_SPEED_TYPE
43210
SPIND_MIN_VELO_G25
43220
SPIND_MAX_VELO_G26
43230
SPIND_MAX_VELO_LIMS
43235
SPIND_USER_VELO_LIMIT
43240
M19_SPOS
43250
M19_SPOSMODE
43300
ASSIGN_FEED_PER_REF_SOURCE
16.12.3
signals
16.12.3.1
Signals to axis/spindle
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Feedrate override A to H
DB380x.DBX0.0-7
Axis/spindle disable
DB380x.DBX1.3
Follow-up mode
DB380x.DBX1.4
DB380x.DBX1.5
DB380x.DBX1.6
Override active
DB380x.DBX1.7
Controller enable
DB380x.DBX2.1
DB380x.DBX2.2
DB380x.DBX3.6
DB380x.DBX3.7
DB380x.DBX2000.0-2
DB380x.DBX2000.3
Resynchronize spindle 1
DB380x.DBX2000.4
Resynchronize spindle 2
DB380x.DBX2000.5
DB380x.DBX2000.6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1303
S1: Spindles
16.12 Data lists
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Delete S value
DB380x.DBX2000.7
DB380x.DBX2001.0
DB380x.DBX2001.4
DB380x.DBX2001.5
Invert M3/M4
DB380x.DBX2001.6
DB380x.DBX2002.4
DB380x.DBX2002.5
DB380x.DBX2002.6
DB380x.DBX2002.7
Spindle override A to H
DB380x.DBX2003.0-7
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Spindle/No Axis
DB390x.DBX0.0
DB390x.DBX0.2
Homed/synchronized 1
DB390x.DBX0.4
Homed/synchronized 2
DB390x.DBX0.5
DB390x.DBX0.6
DB390x.DBX0.7
DB390x.DBX1.4
DB390x.DBX1.5
DB390x.DBX1.6
DB390x.DBX1.7
Restored 1
DB390x.DBX11.4
Restored 2
DB390x.DBX11.5
DB390x.DBX2000.0-2
Change gear
DB390x.DBX2000.3
DB390x.DBX2001.0
DB390x.DBX2001.1
DB390x.DBX2001.2
DB390x.DBX2001.5
DB390x.DBX2001.7
DB390x.DBX2002.3
DB390x.DBX2002.4
DB390x.DBX2002.5
DB390x.DBX2002.6
DB390x.DBX2002.7
16.12.3.2
1304
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
S1: Spindles
16.12 Data lists
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB390x.DBX2003.5
DB370x.DBD0000
DB370x.DBD0004
Sensors available
DB390x.DBX7000.0
DB390x.DBX7000.1
DB390x.DBX7000.4
DB390x.DBX7000.5
DB390x.DBX7001.2
Clamped state
DB390x.DBW7002
DB390x.DBW7004
DB390x.DBX7006.4
DB390x.DBX7006.5
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1305
S1: Spindles
16.12 Data lists
1306
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.1
17
Brief description
Types of feedrate
The feedrate determines the machining speed (axis or path velocity) and is observed in every
type of interpolation, even where allowance is made for tool offsets on the contour or on the
tool center point path (depending on G functions).
The following types of feedrate allow optimum adaptation to the various technological
applications (turning, milling, drilling, etc.):
Rapid traverse feedrate (G0)
Inverse-time feedrate (G93)
Linear feedrate (G94)
Revolutional feedrate (G95)
Constant cutting rate (G96, G961)
Constant speed (G97, G971)
Feedrate for thread cutting (G33, G34, G35)
Feedrate for tapping without compensating chuck (G331, G332)
Feedrate for tapping with compensating chuck (G63)
Feedrate for chamfer/rounding FRC, FRCM
Non-modal feedrate FB
Feedrate control
The programmed feedrate can be changed during the machining or for test purposes to enable
adjustment to the changed technological conditions.
Via the machine control panel
Via the operator panel front
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1307
V1: Feedrates
17.2 Path feedrate F
Via the PLC
Per program command
17.2
Path feedrate F
Path feedrate F
The path feedrate represents the geometrical total of the speed components in the participating
axes. It is therefore generated from the individual motions of the interpolating axes.
The default uses the axial speeds of the geometry axes which have been programmed. The
FGROUP command can be used to include other geometry and/or synchronized axes in the
calculation of the path feedrate.
The path feedrate F determines the machining speed and is observed in every type of
interpolation even where allowance is made for tool offsets. The value programmed under the
address F remains in a program until a new F value or a new type of feedrate is programmed.
1308
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
A group of G functions is provided for this purpose:
CFTCP
Programmed feedrate acting on the center point path.
CFC
Programmed feedrate acting on the contour.
CFCIN
Programmed feedrate acting only on the contour with a concave spline.
References:
Programming Manual, Fundamentals
Comment
FL[Z]=50 Z-30
Low-resolution encoders
When using low-resolution encoders, more continuous path or axis motions can be achieved
with smoothed actual values. The larger the time constant, the better the smoothing of the
actual values, and the longer the overtravel.
MD34990 $MA_ENC_ACTVAL_SMOOTH_TIME[<axis>] (smoothing time constant for actual
values)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1309
V1: Feedrates
17.2 Path feedrate F
Smoothed actual values are used for:
Thread cutting (G33, G34, G35)
Feedrate per revolution ((G95, G96, G97, FPRAON)
Display of speed, actual position and velocity
17.2.1
Effectiveness
The feedrate types G93, G94, G95 are active for the G functions of group 1 (except G0) in the
automatic modes.
G94 or G95 can be used for traversing in JOG mode.
References:
Function Manual, Extended Functions; Manual and Handwheel Travel (H1)
with
F:
v:
s:
Y
V
Programming example:
Program code
Comment
...
Note
G93 may not be used when G41/G42 is active. If the block length varies greatly from block
to block, a new F value should be programmed in each block for G93.
1310
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
with
V:
n:
F:
Note
The programmed F value is deleted when the system switches between the feedrate types
G93, G94 and G95.
Tooth feedrate
Primarily for milling operations, the tooth feedrate FZ... (feed distance per tooth), which is
more commonly used in practice, can be programmed instead of the revolutional feedrate
F...:
The controller uses the $TC_DPNT (number of teeth per revolution) tool parameter associated
with the active tool offset data record to calculate the effective revolutional feedrate for each
traversing block from the programmed tooth feedrate.
) )=
7&B'317
with
F:
FZ:
$TC_DPNT:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1311
V1: Feedrates
17.2 Path feedrate F
Example: Milling cutter with 5 teeth ($TC_DPNE = 5)
Program code
Comment
N30 T3 D1
M40 M3 S200
N50 X20
; Milling with:
FZ = 0.02 mm/tooth
effective revolutional feedrate:
F = 0.02 mm/tooth * 5 teeth/rev = 0.1 mm/rev
or
F = 0.1 mm/rev * 200 rpm = 20 mm/min
17.2.2
1312
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
Selection of G96, G961:
When programming G96, G961, the corresponding S value is interpreted as the cutting rate
in m/min or ft/min along the transverse axis. If the workpiece diameter decreases during
machining, the speed is increased until the constant cutting speed is reached.
When G96, G961 is first selected in the part program, a constant cutting rate must be entered
in mm/min or ft/min.
With G96, the control system will automatically switch to revolutional feedrate (as with G95),
i.e. the programmed feedrate F is interpreted in mm/rev or inch/rev.
When programming G961, linear feedrate is selected automatically (as with G94). A
programmed feedrate F is interpreted in mm/min or inch/min.
Determining the spindle speed
Based on the programmed cutting rate (either SG96 or SG961) and the actual cartesian position
of the transverse axis (radius), the control system calculates the spindle speed at the TCP
using the following formula:
Q
n:
Spindle speed
6 6SHHG
U
SSpeed:
Circle constant
r:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1313
V1: Feedrates
17.2 Path feedrate F
Example
SG96 = 230 m/min
Where r = 0.2 m n = 183.12 rpm
Where r = 0.1 m n = 366.24 rpm
The smaller the workpiece diameter, the higher the speed.
For G96, G961 or G962, a geometry axis must be defined as the transverse axis.
The transverse axis, whose position affects the speed of the mater spindle, is defined using
channel-specific machine data:
MD20100 $MC_DIAMETER_AX_DEF (geometry axis with transverse axis function)
The function G96, G961 or G962 requires that the machine zero and the workpiece zero of
the transverse axis are in the turning center of the spindle.
1314
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1315
V1: Feedrates
17.2 Path feedrate F
For more information on the spindle-speed limitations, see function description S1: "Spindles",
Section: "Spindle monitoring (Page 1283)".
Note
The speed limits changed with G25/G26/LIMS in the part program are taken into the setting
data and therefore remain saved after the end of program.
However, if the speed limits changed with G25/G26/LIMS are no longer to apply after the end
of program, the following definitions must be inserted in the GUD block of the machine
manufacturer:
REDEF $SA_SPIND_MIN_VELO_G25 PRLOC
REDEF $SA_SPIND_MAX_VELO_G26 PRLOC
REDEF $SA_SPIND_MAX_VELO_LIMS PRLOC
Alarms
Constant cutting rate G96, G961, G962
If no F value is programmed, alarm 10860 "No feedrate programmed" is output. The alarm
is not generated with G0 blocks.
Alarm 14800 "Programmed path velocity smaller than or equal to zero" is output while
programming a negative path velocity.
If, with an active G96, G961 or G962, no transverse axis is defined in the machine data:
MD20100 $MC_DIAMETER_AX_DEF (geometry axis with transverse axis function),
alarm 10870 "No transverse axis defined" is output.
If a negative maximum spindle speed is programmed with the LIMS program command
when G96, G961 are active, alarm 14820 "Negative maximum spindle speed programmed
for G96, G961" is output.
If no constant cutting rate is programmed when G96, G961 is selected for the first time,
alarm 10900 "No S value programmed for constant cutting rate" is output.
1316
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
17.2.3
17.2.3.1
G33
The function G33 can be used to machine threads with constant pitch of the following type:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1317
V1: Feedrates
17.2 Path feedrate F
17.2.3.2
Programmable run-in and run-out path for G33, G34 and G35
Function
The run-in and run-out path of the thread can be specified with the DITS and DITE statements.
The thread axis is accelerated or braked within the specified path.
[
1318
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
Effects
The programmed run-in and run-out path only increases the rate of acceleration on the path.
If one of the two paths is set larger than the thread axis needs with active acceleration, the
thread axis is accelerated or decelerated with maximum acceleration.
Note
The axis can be overloaded if the specified path is too short.
Activation
The DITS and DITE statements are always active for thread cutting.
Example
Program code
Comment
N...
N59 G90 G0 Z100 X10 SOFT M3 S500
N60 G33 Z50 K5 SF=180 DITS=1 DITE=3
N61 G0 X20
Note
Only paths, and not positions, are programmed with DITS and DITE.
The programmed run-in/run-out path is handled according to the current dimension setting
(inches, metric).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1319
V1: Feedrates
17.2 Path feedrate F
SD42010 $SC_THREAD_RAMP_DISP[ 1 ] = <value>
<value>
Meaning
0 > <value> -1
The feed axis is accelerated with the acceleration according to the current pro
gramming BRISK/SOFT
<Value> = 0
<Value> > 0
With reset / program end, the setting data is reset to the values -1, -1.
MD10710 $MN_PROG_SD_RESET_SAVE_TAB can be used to specify that the value of the
setting data written with DITS and DITE can be saved retentively at reset / program end and
therefore retained after power on.
17.2.3.3
Function
The thread pitch increase (G34) defines the numerical increase in the pitch value. A larger
pitch results in a larger distance between the threads on the workpieces. The velocity of the
thread axis therefore increases with assumed constant spindle speed.
The opposite therefore applies for the decrease in thread pitch (G35).
The following definitions are made for the thread pitch change:
G34: Increase in thread pitch corresponds to progressive change
G35: Decrease in thread pitch corresponds to degressive change
Both G34 and G35 functions imply the functionality of G33 and also provide the option of
programming an absolute pitch change value for the thread under F. If the start and end pitch
of a thread is known, the thread pitch change can be determined using the following equation:
)
_NH ND _
O*
ke:
ka:
lG:
The absolute value of F must be applied to G34 or G35 depending on the required pitch
increase of decrease.
1320
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
When the thread length lG, pitch change F and initial pitch ka are known, the pitch increase at
the end of block ke can be determined as follows by modifying the formula:
For G34 (increasing pitch):
NH
N D
NH
) O *
) O *
Note
If the formula results in a negative root expression, the thread cannot be machined!
In this case, the NC signals alarm 10605 or alarm 22275.
Application
The G34 and G35 functions can be used to produce self-shearing threads.
Example
Thread cutting G33 with decreasing thread pitch G35
Program code
Comment
N1608 M3 S10
; Spindle speed
N1613 G0 X218
N1614 G0 Z40
N1616 M17
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1321
V1: Feedrates
17.2 Path feedrate F
MD11410 $MN_SUPPRESS_ALARM_MASK bit 10 = 1
Block preparation is then continued normally.
17.2.3.4
Function
The "Fast retraction for thread cutting (G33)" function can be used to interrupt thread cutting
without causing irreparable damage in the following circumstances:
NC stop (NC/PLC interface signal)
Alarms that implicitly trigger NC stop
Switching of a rapid input
References
Programming Manual, Job Planning; Section "Fast retraction from the contour"
The retraction motion can be programmed via:
Retraction path and retraction direction (relative)
Retraction position (absolute)
Note
Tapping
The "Fast retraction" function cannot be used with tapping (G331/G332).
Programming
Syntax
Enable fast retraction, retraction motion via retraction path and retraction direction:
G33 ... LFON DILF=<value> LFTXT/LFWP ALF=<value>
Enable fast retraction, retraction motion via retraction position:
POLF[<axis name>]=<value> LFPOS
POLFMASK/POLFMLIN(<axis 1 name>,<axis 2 name>, etc.)
G33 ... LFON
1322
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
Disable fast retraction for thread cutting:
LFOF
Meaning
LFON:
LFOF:
DILF= :
LFTXT
LFWP:
ALF= :
LFPOS:
POLFMASK:
POLFMLIN:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1323
V1: Feedrates
17.2 Path feedrate F
Define absolute retraction position for the geometry axis or machine axis in
the index
Effectiveness: Modal
=<value>:
In the case of geometry axes, the assigned value is interpre
ted as a position in the workpiece coordinate system. In the
case of machine axes, it is interpreted as a position in the
machine coordinate system.
The values assigned can also be programmed as incremen
tal dimensions:
=IC<value>
<axis name>: Name of a geometry axis or machine axis
POLF[]:
Note
LFON or LFOF can always be programmed, but the evaluation is performed exclusively during
thread cutting (G33).
Note
POLF with POLFMASK/POLFMLIN are not restricted to thread cutting applications.
;
5HWUDFWLRQFRPSOHWHG
WKUHDGFXWWLQJVWRSSHG
$[LVVWDQGVWLOO
',/)
6WDUWSRVLWLRQ
WKUHDGFXWWLQJ
7DUJHWSRVLWLRQ
1&VWRS
VWDUWUHWUDFWLRQPRWLRQ WKUHDGFXWWLQJ
Figure 17-1
1324
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
Example
Program code
Comment
...
N65 MSG ("thread cutting")
MM_THREAD:
N67 $AC_LIFTFAST=0
N68 G0 Z5
N69 X10
N70 G33 Z30 K5 LFON DILF=10 LFWP ALF=7
N89 CYCLE...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1325
V1: Feedrates
17.2 Path feedrate F
17.2.3.5
Function
The G functions G335 and G336 can be used to turn convex threads (= differing to the
cylindrical form). Application is the machining of extremely large components that sag in the
machine because of their self-weight. Paraxial thread would result in the thread being too small
in the middle of the component. This can be compensated with convex threads.
/RQJVDJJLQJZRUNSLHFH
&LUFXODUWRROSDWK
7KUHDGWXUQLQJWRRO
Figure 17-2
Programming
The turning of a convex thread is programmed with G335 or G336:
G335:
G336:
The programming is performed first as for a linear thread by specifying the axial block end
points and the pitch via parameters I, J and K.
An arc is also specified. As for G2/G3, this can be programmed via the center point, radius,
opening angle or intermediate point specification. When programming the convex thread with
center point programming, the following must be taken into account: Since I, J and K are used
for the pitch in thread cutting, the circle parameters in the center point programming must be
programmed with IR=..., JR=... and KR=....
IR=...:
JR=...:
KR=...:
Note
IR, JR and KR are the default values of the interpolation parameter names for a convex thread
that can be set via machine data MD10651 $MN_IPO_PARAM_THREAD_NAME_TAB.
Optionally, a starting point offset SF can also be specified.
1326
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
Syntax
The syntax for the programming of a convex thread therefore has the following general form:
G335/G336 <axis target point coordinate(s)> <pitch> <arc> [<starting
point offset>]
Permissible arc areas
The arc programmed at G335/G336 must be in an area in which the specified thread main axis
(I, J or K) has the main axis share on the arc over the entire arc:
;
r
r
=
Permissible areas for the Z axis (pitch programmed Permissible areas for the X axis (pitch programmed
with K)
with I)
A change of the thread main axis as shown in the following figure is not permitted:
;
6WDUWSRLQW
(QGSRLQW
r
=
Figure 17-3
Boundary conditions
Frames
G335 and G336 are also possible with active frames. However, you must ensure that the
permissible arc areas are maintained in the basic coordinate system (BCS).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1327
V1: Feedrates
17.2 Path feedrate F
Response for
The G335/G336 response for:
Power On / Power Off
Mode change
NCK / mode group / channel / part program end reset
Block search / REPOS / ASUB
Alarms / emergency stop / malfuncations
corresponds to the behavior for G33/G34/G35.
There are no specific restrictions.
Examples
Example 1: Convex thread in the clockwise direction with end and center point programming
Program code
Comment
;
.
6WDUWSRLQW
(QGSRLQW
,5
&HQWHUSRLQW
.5
Figure 17-4
Convex thread in the clockwise direction with end and center point programming
Example 2: Convex thread in the counter-clockwise direction with end and center point
programming
1328
Program code
Comment
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
.
&HQWHUSRLQW
,5
6WDUWSRLQW
(QGSRLQW
.5
Figure 17-5
Convex thread in the counter-clockwise direction with end and center point programming
Example 3: Convex thread in the clockwise direction with end point and radius programming
Program code
N5 G0 G18 X50 Z50
N10 G335 Z100 K=3.5 CR=32 SF=90
;
.
6WDUWSRLQW
(QGSRLQW
&5
&HQWHUSRLQW
Figure 17-6
Convex thread in the clockwise direction with end point and radius programming
Example 4: Convex thread in the clockwise direction with end point and opening angle
programming
Program code
N5 G0 G18 X50 Z50
N10 G335 Z100 K=3.5 AR=102.75 SF=90
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1329
V1: Feedrates
17.2 Path feedrate F
;
.
6WDUWSRLQW
(QGSRLQW
$5
&HQWHUSRLQW
Figure 17-7
Convex thread in the clockwise direction with end point and opening angle programming
Example 5: Convex thread in the clockwise direction with center point and opening angle
programming
Program code
N5 G0 G18 X50 Z50
N10 G335 K=3.5 KR=25 IR=-20 AR=102.75 SF=90
;
.
6WDUWSRLQW
(QGSRLQW
$5
,5
&HQWHUSRLQW
.5
Figure 17-8
Convex thread in the clockwise direction with center point and opening angle programming
Example 6: Convex thread in the clockwise direction with end and intermediate point
programming
Program code
N5 G0 G18 X50 Z50
N10 G335 Z100 K=3.5 I1=60 K1=64
1330
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.2 Path feedrate F
.
,QWHUPHGLDWHSRLQW
.
(QGSRLQW
6WDUWSRLQW
,
&HQWHUSRLQW
Figure 17-9
17.2.4
Convex thread in the clockwise direction with end and intermediate point programming
Function
A thread can be tapped without compensating chuck with the functions G331 (tapping) and
G332 (tapping retraction).
Requirement
The technical requirement for tapping without compensating chuck is a position-controlled
spindle with position measuring system.
Override
The revolutional feedrate in G331 and G332 can be influenced by an override.
Depending on the configuration, the override affects either the spindle speed or the path
feedrate:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1331
V1: Feedrates
17.2 Path feedrate F
MD12090 $MN_OVR_FUNCTION_MASK
Bit
Value
Meaning
Note
The following overrides are not effective in G331 and G332:
Programmable path feedrate override OVR
Rapid traverse override
References
For further information on G331/G332, see Programming Manual Fundamentals.
17.2.5
Function
G63 is a subfunction for tapping threads using a tap with compensating chuck. An encoder
(position encoder) is not required.
1332
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.3 Feedrate for positioning axes (FA)
References
For more information on G63, see Programming Manual Fundamentals.
17.3
Function
The velocity of a positioning axis is programmed with axis-specific feedrate FA.
FA is modal.
The feedrate is always G94.
Note
The maximum axis velocity (MD32000 $MA_MAX_AX_VELO) is not exceeded.
Programming
No more than five axis-specific feedrates can be programmed in each part program block.
Syntax:
FA[<positioning axis>] = <feedrate value>
<positioning axis>:
<feedrate value>:
Default setting
If no axial feedrate FA is programmed, the axial default setting is applied:
MD32060 $MA_POS_AX_VELO (initial setting for positioning axis velocity)
Output to PLC
The feedrate value can be output to the the PLC:
To the channel-specific NC/PLC interface via:
DB21, ... DBB158 - DBB193
To the axis-specific NC/PLC interface via:
DB31, ... DBB78 - DBB81
The output time is specified with the machine data:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1333
V1: Feedrates
17.4 Feedrate control
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
The output is suppressed in the default setting (MD22240 = 3), because drops in velocity can
occur through the output of F functions to the NC/PLC interface in continuous-path mode.
For more information, see Description of Functions "H2: Auxiliary function outputs to PLC
(Page 377)".
Reset behavior
The behavior after the end of program or NC reset is specified by the machine data:
MD22410 $MC_F_VALUES_ACTIVE_AFTER_RESET (F function is active even after reset)
Value
Meaning
17.4
Feedrate control
17.4.1
Function
The "Feed disable" or "Feed/spindle stop" brings the axes to a standstill with adherence to the
braking characteristics and the path contour (exception: G33 block).
Not effective
Effective
Effective
1334
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
Effective
Effective
Axis/spindle disable
With active "Axis/spindle disable":
DB31, ... DBX1.3 = 1
The axial PLC interlocks "No controller enable" and "Feed stop" have no effect.
However, the axial and channel-specific override are effective.
"Spindle stop"
The NC/PLC interface signal:
DB31, ... DBX4.3 (spindle stop)
stops the respective spindle.
Effectiveness of the "Spindle stop" function
17.4.2
Effective
Not effective
Function
With the "Feedrate override via the machine control panel", the user can locally increase or
decrease the path feedrate at the machine as a percentage with immediate effect. To achieve
this, the programmed feedrates are multiplied with the override values available at the NC/PLC
interface.
The feedrate can be changed axis-specifically for positioning axes.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1335
V1: Feedrates
17.4 Feedrate control
The "Spindle override" can be used to change the spindle speed and the cutting rate (G96,
G961).
With a feedrate change, the axial acceleration and velocity limits are maintained. There are
no contour errors along the path.
The feedrate override can be changed separately for path and position axes.
The overrides influence the programmed values or the limits (e.g. G26, LIMS for spindle speed).
decimal
Override factor
00000000
0.00 0%
00000001
0.01 1%
00000010
0.02 2%
00000011
0.03 3%
00000100
0.04 4%
...
...
...
01100100
100
1.00 100%
...
...
...
11001000
200
2.00 200%
With Gray coding, the override factors corresponding to the switch position must be entered
in the following machine data:
MD12030 $MN_OVR_FACTOR_FEEDRATE [<n>] (evaluation of the path feedrate override
switch)
MD12050 $MN_OVR_FACTOR_RAPID_TRA [<n>] (evaluation of the rapid traverse override
switch)
An active feedrate override has an effect on all path axes that are assigned to the current
channel. An active rapid traverse override has an effect on all the axes that are traversed with
rapid traverse and that are assigned to the current channel.
1336
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
No rapid traverse override switch available
If there is no dedicated rapid traverse override switch, you can choose between rapid traverse
override and feedrate override. The override to be active can be selected via the PLC or
operator panel front. When rapid traverse override is active, the feedrate override values are
limited to 100%.
When the rapid traverse override is activated via the operator panel front, the basic PLC
program:
Transfers the selection of the feedrate override for rapid traverse on the activation signal
for the rapid traverse override:
DB21, ... DBX6.6 = DB21, ... DBX25.3
Transfers the feedrate override value in the rapid traverse override value:
DB21, ... DBB5 = DB21, ... DBB4
When the rapid traverse override is selected via the PLC, the PLC user program:
Must set the activation signal for the rapid traverse override:
DB21, ... DBX6.6 = 1
Must transfer the feedrate override value in the rapid traverse override value:
DB21, ... DBB5 = DB21, ... DBB4
Effectiveness of the channel-specific feedrate and rapid traverse override:
With active G33, G34, G35:
Not effective
Not effective
Not effective
Decimal
Override factor
00000000
0.00 0%
00000001
0.01 1%
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1337
V1: Feedrates
17.4 Feedrate control
Binary code
Decimal
Override factor
00000010
0.02 2%
00000011
0.03 3%
00000100
0.04 4%
...
...
...
01100100
100
1.00 100%
...
...
...
11001000
200
2.00 200%
With Gray coding, the override factors corresponding to the switch position must be entered
in the following machine data:
MD12010 $MN_OVR_ FACTOR_AX_ SPEED [<n>] (evaluation of the axis feedrate override
switch)
Effectiveness of the axis-specific feedrate override:
With active G33, G34, G35:
Not effective
Not effective
(the override is set in the NC permanently to 100%)
Not effective
(the override is set in the NC permanently to 100%)
Spindle override
One enable signal and one byte for the spindle override factor are available in the NC/PLC
interface for each spindle.
DB31, ... DBX1.7 (override effective)
DB31, ... DBB19 (spindle override)
The override factor can be specified from the PLC either in the binary or gray-coded format.
The format is communicated to the NC via the following machine data:
MD12060 $MN_OVR_SPIND_IS_GRAY_CODE (spindle override switch gray-coded)
The following permanent assignment applies to binary code:
Binary code
decimal
Override factor
00000000
0.00 0%
00000001
0.01 1%
00000010
0.02 2%
00000011
0.03 3%
00000100
0.04 4%
...
...
...
01100100
100
1.00 100%
...
...
...
11001000
200
2.00 200%
With Gray coding, the override factors corresponding to the switch position must be entered
in the following machine data:
1338
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [<n>] (evaluation of the spindle override
switch)
Effective
Not effective
Effective
Override active
For overrides that have been enabled, the specified override values entered via the machine
control panel become immediately active in all operating modes and machine functions.
Override inactive
An override factor of 100% is internally effective if an override is not activated. The override
factor at the NC/PLC interface is not evaluated.
An exception is the zero setting for a binary interface and the 1st switch setting for a graycoded interface. In these cases, the override factors entered at the NC/PLC interface are
evaluated. For a binary interface, the override factor is always 0%. For a gray-coded interface,
the value entered in machine data for the 1st switch position value is output as override value.
It should be populated with 0.
17.4.3
Function
The "Programmable feedrate override" function can be used to change the velocity level of
path and positioning axes via the part program.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1339
V1: Feedrates
17.4 Feedrate control
Programming
Syntax
Meaning
OVR=<value>
OVRA[<axis>=<value>
Effectiveness
The NC/PLC interface signals DB21, ... DBB6 (rapid traverse or feedrate override active) and
DB31, ... DBX1.7 (axis-specific override active) do not refer to the programmable feedrate
override. The programmable feedrate override remains active when these signals are
deactivated.
The effective override is calculated from the product of the "Programmable feedrate override"
and the "Feedrate override on machine control panel (Page 1335)".
The default setting for the "Programmable feedrate override" is 100%.
The default setting is effective:
If no feedrate override is programmed or
After reset if the machine data:
MD22410 $MC_F_VALUES_ACTIVE_AFTER_RESET (F function is active even after reset)
is not set.
Note
OVR is not effective with G33, G34, G35.
17.4.4
Function
The dry run feedrate is used when testing part programs without machining the workpiece in
order to allow the program or program sections to execute with an increased path feedrate,
for example.
Activation
The dry run feedrate can be selected in the automatic modes and activated from the PLC or
the operator panel front.
When activated from the operator panel front, the interface signal:
DB21, ... DBX24.6 (dry run feedrate selected)
is set and transferred from the basic PLC program to the interface signal:
1340
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
DB21, ... DBX0.6 (activate dry run feedrate).
When selected on the PLC, the interface signal DB21, ... DBX0.6 (activate dry run feedrate)
must be set from the PLC user program.
Effectiveness
As long as the "Activate dry run feedrate" interface signal is set, instead of the programmed
feedrate, the feedrate value set via SD42100 DRY_RUN_FEED is effective in the way specified
via SD42101 $SC_DRY_RUN_FEED_MODE (see parameterization):
The dry run feedrate is always interpreted as linear feedrate (G94).
Parameterization
Activation of dry run feedrate
The time of activation depends on the setting in the machine data:
MD10704 $MN_DRYRUN_MASK (activation of dry run feedrate)
Value
Meaning
The dry run feedrate may only be switched on and off at the end of the block (default setting).
The dry run feedrate can also be activated during the program processing (in the part pro
gram block).
Notice:
Activation during processing triggers an internal reorganization operation on the controller
which causes the axes to be stopped for a short time. This can affect the surface finish of
the workpiece being machined.
The dry run feedrate can be activated/deactivated at any time without the axes being stop
ped. The function only takes effect with a block "later" in the program run.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1341
V1: Feedrates
17.4 Feedrate control
Mode of operation of the dry run feedrate
The mode of operation of the dry run feedrate entered in SD42100 can be set via the setting
data:
SD42101 $SC_DRY_RUN_FEED_MODE
17.4.5
Value
Meaning
The programmed feedrate is compared to the dry run feedrate in SD42100 and then tra
versing is performed with the higher of the two feedrates (default setting).
The programmed feedrate is compared to the dry run feedrate in SD42100 and then tra
versing is performed with the lower of the two feedrates.
The dry run feedrate entered in SD42100 takes effect directly, irrespective of the program
med velocity.
3 -9
Reserved
10
As for configuration 0, except for thread cutting (G33, G34, G35) and tapping (G331, G332,
G63). These functions are executed as programmed.
11
As for configuration 1, except for thread cutting (G33, G34, G35) and tapping (G331, G332,
G63). These functions are executed as programmed.
12
As for configuration 2, except for thread cutting (G33, G34, G35) and tapping (G331, G332,
G63). These functions are executed as programmed.
Function
The function "Multiple feedrate values in one block" can be used to activate six different
feedrate values of an NC block, a dwell time or a retraction motion-synchronously, depending
on the external digital and/or analog inputs.
When the input for the sparking out time or retraction path is activated, the distance-to-go for
the path axes or the particular single axis is deleted and the dwell time or retraction is started.
The retraction is started within an IPO cycle.
Signals
The input signals are combined in one input byte for the function. A fixed functional assignment
applies within the byte.
Table 17-1
Input no.
I7
I6
I5
I4
I3
I2
I1
I0
Feedrate address
F7
F6
F5
F4
F3
F2
ST
SR
1342
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
Value
Meaning
2 ... 7
With the loss of the respective highest-priority input, the associated feedrate is not
retained (default setting).
Set bit 2 to 7 ensures that the associated feedrate (F2 to F7) that was selected by
the respective highest-priority input signal is also retained when there is a loss of
the input signal and a lower-priority input is active.
Hardware assignment
The input byte for the "Multiple feedrate values in one block" function can be assigned a
maximum of two digital input bytes or comparator input bytes of the NCK I/O:
MD21220 $MC_MULTFEED_ASSIGN_FASTIN (assignment of the input bytes of the NCK I/O
for "Multiple feedrate values in one block"), bit 0 ... 15
The input bits can also be inverted:
MD21220 $MC_MULTFEED_ASSIGN_FASTIN, bit 16 ... 31
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1343
V1: Feedrates
17.4 Feedrate control
%\WH
0'
0&B08/7)(('B$66,*1B)$67,1
%LW
'LJLWDOLQSXWE\WH
RU
FRPSDUDWRULQSXWE\WH
'LJLWDOLQSXWE\WH
RU
FRPSDUDWRULQSXWE\WH
%LW
0'
0&B08/7)(('B$66,*1B)$67,1
%LW
%\WH
,QYHUVLRQPDVN
%LW
,QYHUVLRQPDVN
,QSXWELW
%LW
%LW
0'
0&B08/7)(('B$66,*1B)$67,1
%LW
0'
0&B08/7)(('B$66,*1B)$67,1
%LW
,QSXWE\WHIRU
VHYHUDOIHHGUDWHYDOXHVLQ
RQHEORFN
Figure 17-10 Signal assignment for the "Multiple feedrate values in one block" function
The assignment of the digital input bytes and parameterization of the comparators are
described in:
References:
Function Manual, Extended Functions; Digital and Analog NCK I/O (A4)
Programming
Path motion
The path feedrate is programmed under the address F and remains valid until an input signal
is present. This value acts modally.
F2=... to F7=... can be used in addition to the path feedrate to program up to six further
feedrates in the block. The numerical expansion indicates the bit number of the input that
activates the feedrate when changed:
Example:
F7=1000
The programmed values act non-modally. The path feedrate programmed under F applies in
the next block.
1344
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
Dwell (sparking out time) and retraction path are programmed under separate addresses in
the block:
ST=...
SR=...
Axial motion
The axial feedrates are programmed under address FA and remain valid until an input signal
is present. They act modally.
FMA[2,<axis>]=... to FMA[7,<axis>]=... can be used to program up to six further
feedrates per axis in the block.
The first expression in square brackets indicates the bit number of the input that activates the
feedrate when changed. The second expression indicates the axis to which the feedrate
applies.
Example:
FMA[3,Y]=1000
The values programmed under FMA act non-modally. The feedrate programmed under FA
applies to the next block.
Dwell (sparking out time) and retraction path can also be defined for a single axis:
STA[<axis>]=...
SRA[<axis>]=...
The expression in square brackets indicates the axis for which the sparking out time and
retraction path apply.
Examples:
STA[X]=2.5
SRA[X]=3.5
Note
Retraction path
The unit for the retraction path refers to the current valid unit of measurement (mm or inch).
The reverse stroke is always made in the opposite direction to the current motion. SR/SRA
always programs the value for the reverse stroke. No sign is programmed.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1345
V1: Feedrates
17.4 Feedrate control
Note
POS instead of POSA
If feedrates, sparking out time (dwell time) or return path are programmed for an axis on
account of an external input, this axis must not be programmed as POSA axis (positioning axis
over multiple blocks) in this block.
Note
Status query
It is also possible to poll the status of an input for synchronous commands of various axes.
Note
LookAhead
Look Ahead is also active for multiple feedrates in one block. In this way, the current feedrate
can be restricted by the Look Ahead value.
Application
The "Multiple feedrate values in one block" function is used primarily for grinding, but is not
restricted to it.
Typical applications are, for example:
Analog or digital calipers
Depending on whether the external inputs are analog or digital, various feedrate values, a
dwell time and a retraction path can be activated. The limit values are defined via the setting
data.
Switching from infeed to working feedrate via proximity switch
1346
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
Example
Internal grinding of a conical ring, where the actual diameter is determined using calipers and,
depending on the limits, the feedrate value required for roughing, finishing or fine finishing is
activated. The position of the calipers also provides the end position. Thus, the block end
criterion is determined not only by the programmed axis position of the infeed axis but also by
the calipers.
&DOLSHUV
5LQJ
*ULQGLQJGLVF
,QLWLDOVHWWLQJ
*;)
*;) ) ) ) 67 65
5HWUDFWLRQ
6SDUNLQJRXWWLPH
)HHGUDWHILQHILQLVKLQJ
)HHGUDWHILQLVKLQJ
)HHGUDWHURXJKLQJ
)HHGUDWHDLUJULQGLQJ
17.4.6
Function
The "Fixed feedrate values" function can be used to activate fixed feedrates (max. four) defined
via the machine data instead of the programmed feedrate or the configured JOG velocities.
The function is available in AUTOMATIC and JOG mode.
Behavior in AUTOMATIC mode
The contour travels at the activated fixed feedrate, instead of using the programmed feedrate.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1347
V1: Feedrates
17.4 Feedrate control
Behavior in JOG mode
The axis is traversed with the activated fixed feedrate instead of the configured JOG velocity /
JOG rapid traverse velocity. The travel direction is specified via the interface signal.
Parameterization
The setting of the fixed feedrates is performed:
For linear axes with the machine data:
MD12202 $MN_PERMANENT_FEED[<n>]
For rotary axes with the machine data:
MD12204 $MN_PERMANENT_ROT_AX_FEED[<n>]
where <n> = 0, 1, 2, 3 (for fixed feedrate 1, 2, 3, 4)
Note
The fixed feedrates are always linear feedrate values. Switchover to linear feedrate is
conducted internally even in case of revolutional feedrate.
Activation
The fixed feedrates are activated via NC/PLC interface signals:
In AUTOMATIC mode for path/geometry axes using the channel-specific interface signals:
DB21, ... DBX29.0 (activate fixed feedrate 1)
DB21, ... DBX29.1 (activate fixed feedrate 2)
DB21, ... DBX29.2 (activate fixed feedrate 3)
DB21, ... DBX29.3 (activate fixed feedrate 4)
In JOG mode for machine axes using the axis-specific interface signals:
DB31, ... DBX3.2 (activate fixed feedrate 1)
DB31, ... DBX3.3 (activate fixed feedrate 2)
DB31, ... DBX3.4 (activate fixed feedrate 3)
DB31, ... DBX3.5 (activate fixed feedrate 4)
Supplementary conditions
Effectiveness
The function "Fixed feedrate values" is not active:
For spindles
For positioning axes
When tapping
Override = 0
The traversing behavior for override = 0 depends on the setting in machine data:
MD12200 $MN_RUN_OVERRIDE_0
1348
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
DRF offset
The DRF offset cannot be activated for a selected fixed feedrate.
17.4.7
Function
To permit flexible definition of the feedrate characteristic, the feedrate programming according
to DIN 66025 has been extended by linear and cubic characteristics.
The cubic profiles can be programmed directly or as an interpolating spline.
Programming
You can program the following feedrate profiles:
FNORM
Behavior in accordance with DIN 66025 (default setting).
An F-value programmed in the block is applied over the entire path of the block, and is
subsequently regarded as a fixed modal value.
FLIN
An F value programmed in the block is traversed linearly over the path from the current
value at the beginning of the block to the end of the block, and is subsequently regarded
as modal value.
FCUB
The non-modal programmed F values (relative to the end of the block) are connected by a
spline. The spline starts and ends tangentially to the previous or following feedrate setting.
If the F address is missing in one block, then the last programmed F value is used.
FPO
The F address [syntax: F=FPO(...,...,...)] designates the characteristic of the
feedrate via a polynomial from the current value to the end of the block in which it was
programmed. The end value is treated as modal from there onwards.
Parameterization
If FLIN and FCUB are used in connection with compression COMPON, a tolerance can be
defined for the path feedrate:
MD20172 $MC_COMPRESS_VELO_TOL (max. permissible deviation of the path feedrate
with compression)
Supplementary conditions
FLIN/FCUB
The path velocity profile programmed with FLIN or FCUB is not active together with revolutional
feedrate for G95 as well as with constant cutting rate with G96/G961 and G97/G971.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1349
V1: Feedrates
17.4 Feedrate control
References
For further information on the programmable feedrate characteristics, see Programming
Manual, Job Planning.
17.4.8
Function
The feedrate for chamfer/rounding can be programmed via NC addresses.
Programming
Syntax:
... FRC/FRCM=<value>
Meaning:
FRC:
FRCM:
<value>:
Note
FRC is only effective if a chamfer/rounding is programmed in the block or if RNDM has been
activated.
FRC overwrites the F or FRCM value in the current block.
The feedrate programmed under FRC must be greater than zero.
FRCM=0 activates the feedrate programmed under F for chamfering/rounding.
Parameterization
Assignment of the chamfer/rounding to the previous or following block
The feedrate type (G94, G95, G96, G961 ... ) and therefore the conversion to the internal
format must be consistent within the block for F and FRC/FRCM. In this context, the following
machine data must be taken into account:
1350
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
MD20201 $MC_CHFRND_MODE_MASK (chamfer/rounding behavior)
Bit
Value
Meaning
Supplementary conditions
FLIN/FCUB
Feedrate interpolation FLIN and FCUB is not possible for chamfer/rounding.
G0
FRC/FRCM is not active when a chamfer is traversed with G0. The programming is possible
in accordance with the F value without error message.
Change G94 G95
If FRCM is programmed, the FRCM value will need to be reprogrammed like F on change
G94 G95, etc. If only F is reprogrammed and if the feedrate type FRCM > 0 before the
change, an error message will be output.
Example
Example 1: MD20201 bit 0 = 0; take feedrate from following block (default setting!)
Program code
Comment
N70 X30
N90 X40
N110 S1000 M3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1351
V1: Feedrates
17.4 Feedrate control
Program code
Comment
Example 2: MD20201 bit 0 = 1; take feedrate from previous block (recommended setting!)
Program code
Comment
N70 X30
N90 X40
N110 S1000 M3
N120 X50 CHF=4 G95 F3 FRC=1
N130 Y50
N140 X60
...
M02
17.4.9
Non-modal feedrate FB
Function
The "Non-modal feedrate" function can be used to define a separate feedrate for a single part
program block. After this block, the previous modal path feedrate is active again.
Programming
Syntax:
... FB=<value>
Meaning:
FB:
<value>:
1352
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
Note
The feedrate programmed under FB must be greater than zero.
If no traversing motion is programmed in the block (e.g. computation block), the FB has no
effect.
If no explicit feed for chamfering/rounding is programmed, then the value of FB also applies
for any contour element chamfering/rounding in this block.
Simultaneous programming of FB and FD (handwheel travel with feedrate override) or F
(modal path feedrate) is not possible.
17.4.10
Single axes
Single axes can be programmed in the part program, in synchronized actions and via the PLC:
Part program:
Synchronized actions:
PLC:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
POS[<axis>]=...
POSA[<axis>]=...
SPOS[<axis>]=...
SPOSA[<axis>]=...
OS[<axis>]=...
OSCILL[<axis>]=...
EVERY ... DO
POS[<axis>]=...
SPOS[<spindle>]=...
MOV[<axis>]=...
FC18
1353
V1: Feedrates
17.4 Feedrate control
Dynamic response
The dynamic response of an axis is influenced by:
MD32060 $MA_POS_AX_VELO (positioning axis velocity)
The effective positioning axis velocity can be changed:
Part program / synchronized action: Axial feedrate FA or percentage feedrate override
OVRA
PLC: Specification of FRate or overwriting the axial override
MD32300 $MA_MAX_AX_ACCEL (maximum axis acceleration)
The effective maximum axis acceleration can be changed:
Part program indirectly: Writing the machine data with subsequent NewConfig
Part program directly: Percentage acceleration override ACC
Synchronized actions indirectly: Writing the machine data and initiating an ASUB for the
activation of NewConfig
Synchronized actions directly: Percentage acceleration override ACC (cannot be preset
by the PLC).
Via the PLC, the same options apply as in synchronized actions.
Part program commands: BRISKA, SOFTA, DRIVEA, JERKA
Cannot be programmed in synchronized actions (only indirectly via ASUB).
Cannot be specified by the PLC (only indirectly via ASUB).
Active servo parameter set
The active parameter set can be changed:
Part program / synchronized action: SCPARA
PLC: DB31, DBX9.0-2 (controller parameter set)
For detailed information on the servo parameter sets, see "Parameter sets of the position
controller (Page 361)".
Note
Dynamic response changes
Dynamic response changes made in the part program do not affect command or PLC axis
motion. Dynamic response changes made in synchronized actions have no effect on traversing
motion programmed in the part program.
Feedforward control
The type of feedforward control and the path axes that should be traversed with feedforward
control can be directly programmed in the part program using FFWON/FFWOF. In
synchronized actions and from the PLC, programming is only possible indirectly via an ASUB.
1354
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
Syntax:
ACC[<axis>]=<value>
Meaning:
ACC:
<axis>:
<value>:
The actual axial acceleration value can be read via the system variable $AA_ACC. It is
determined by:
$AA_ACC[<axis>] = (MD32300 $MA_MAX_AX_ACCEL[<axis>]) * ACC[<axis>] / 100
MD32320 $MA_DYN_LIMIT_RESET_MASK can be used to specify the initial setting of the
value programmed with ACC for a channel reset or end of part program M30.
Note
The acceleration override programmed with ACC can be read using the system variable
$AA_ACC. However, $AA_ACC is read in the part program at a different time than when
reading in a synchronized action.
The system variables $AA_ACC only contain the value programmed in the part program with
ACC if, in the meantime, the acceleration override was not changed by programming ACC in
a synchronized action. The same applies for the reverse situation.
; writing
RO=$AA_ACC[X]
; reading
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1355
V1: Feedrates
17.4 Feedrate control
Writing ACC and reading $AA_ACC in a part program:
IF (RO <> $MA_MAX_AX_ACCEL[X] * 0.5)
; checking
SETAL(61000)
ENDIF
G4 F1
IF (RO <> $MA_ MAX_AX_ACCEL[X] * 0.25)
; checking
SETAL(61001)
ENDIF
End-of-motion criterion
FINEA[<axis>]
COARSEA[<axis>]
IPOENDA[<axis>]
The most recently programmed value is kept after the end of program or NC reset.
The effective end-of-motion criterion can be read using the axis-specific system variable
$AA_MOTEND.
Note
Depending on whether the system variable $AA_MOTEND is read in the part program or
synchronized action, it contains the value for the NC axes or the main run axes.
Example:
Part program:
N80 G01 POS[X]=100 FA[X]=1000 ACC[X]=90 COARSEA[X]
Synchronized action:
N100 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]=140 IPOENDA[X]
References:
For further information on block changes and end-of-motion criteria for FINEA, COARSEA and
IPOENDA, see:
Function Manual, Extended Functions; Positioning Axes (P2), Section: Block change
1356
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.4 Feedrate control
Note
The activation of the parameter set specified using SCPARA can be suppressed from the PLC
user program:
DB31, DBX9.3 = 1 (parameter set specification disabled by SCPARA)
In this case, no message is displayed.
The number of the active parameter set can be read using the system variable
$AA_SCPAR.
Supplementary conditions
Different end-of-motion criteria
Different end-of-motion criteria will affect how quickly or slowly part program blocks are
completed. This can have side effects for technology cycles and PLC user parts.
Parameter set change
The PLC user program must be expanded if the servo parameter set is to be changed both
inside a part program or synchronized action and the PLC.
Power On
After POWER ON, the following initial settings are made:
Percentage acceleration override for all single-axis interpolations: 100%
End-of-motion criterion for all single-axis interpolations: FINEA
Servo parameter set: 1
Mode change
When the operating mode is changed from AUTOMATIC to JOG, the programmed dynamic
response changes remain valid.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1357
V1: Feedrates
17.5 Supplementary conditions
Reset
With reset, the last programmed value remains for the part program specifications. The settings
for main-run interpolations do not change.
Block search
The last end-of-motion criterion programmed for an axis is collected and output in an action
block. The last block with a programmed end-of-motion criterion that was processed in the
search run serves as a container for all programmed end-of-motion criteria for all axes.
17.5
Supplementary conditions
Unit of measurement
The valid unit of measurement of the feedrates depends on the set measuring system and the
entered axis type:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC (basic system of the control metric/inch)
MD30300 $MA_IS_ROT_AX (rotary or linear axis)
Spindle positioning
With active G95, G96, G961, G97, G971, G33, G34, G35 spindle positioning should not be
performed, because the derived path feedrate following spindle positioning = 0. If the
programmed axis position has not then been reached, the block cannot be completed.
1358
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.6 Data lists
17.6
Data lists
17.6.1
Machine data
17.6.1.1
Number
Identifier: $MN_
Description
10651
IPO_PARAM_THREAD_NAME_TAB
10704
DRYRUN_MASK
10710
PROG_SD_RESET_SAVE_TAB
11410
SUPPRESS_ALARM_MASK
11550
STOP_MODE_MASK
12000
OVR_AX_IS_GRAY_CODE
12010
OVR_FACTOR_AX_SPEED
12020
OVR_FEED_IS_GRAY_CODE
12030
OVR_FACTOR_FEEDRATE
12040
OVR_RAPID_IS_GRAY_CODE
12050
OVR_FACTOR_RAPID_TRA
12060
OVR_SPIND_IS_GRAY_CODE
12070
OVR_FACTOR_SPIND_SPEED
12080
OVR_REFERENCE_IS_PROG_FEED
12082
OVR_REFERENCE_IS_MIN_FEED
12090
OVR_FUNCTION_MASK
12100
OVR_FACTOR_LIMIT_BIN
12200
RUN_OVERRIDE_0
12202
PERMANENT_FEED
12204
PERMANENT_ROT_AX_FEED
17.6.1.2
Number
Identifier: $MC_
Description
20100
DIAMETER_AX_DEF
20150
GCODE_RESET_VALUES
20172
COMPRESS_VELO_TOL
20200
CHFRND_MAXNUM_DUMMY_BLOCKS
20201
CHFRND_MODE_MASK
20750
ALLOW_GO_IN_G96
21200
LIFTFAST_DIST
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1359
V1: Feedrates
17.6 Data lists
Number
Identifier: $MC_
Description
21220
MULTFEED_ASSIGN_FASTIN
21230
MULTFEED_STORE_MASK
22240
AUXFU_F_SYNC_TYPE
22410
F_VALUES_ACTIVE_AFTER_RESET
17.6.1.3
Number
Identifier: $MA_
Description
30300
IS_ROT_AX
Rotary axis/spindle
32000
MAX_AX_VELO
32060
POS_AX_VELO
32300
MAX_AX_ACCEL
Axis acceleration
32320
DYN_LIMIT_RESET_MASK
34990
ENC_ACTIVAL_SMOOTH_TIME
35100
SPIND_VELO_LIMIT
35130
GEAR_STEP_MAX_VELO_LIMIT
35140
GEAR_STEP_MIN_VELO_LIMIT
35160
SPIND_EXTERN_VELO_LIMIT
17.6.2
Setting data
17.6.2.1
Number
Identifier: $SC_
Description
42000
THREAD_START_ANGLE
42010
THREAD_RAMP_DISP
42100
DRY_RUN_FEED
42101
DRY_RUN_FEED_MODE
42110
DEFAULT_FEED
42600
JOG_FEED_PER_REV_SOURCE
43300
ASSIGN_FEED_PER_RES_SOURCE
1360
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
V1: Feedrates
17.6 Data lists
17.6.2.2
Number
Identifier: $SA_
Description
43210
SPIND_MIN_VELO_G25
43220
SPIND_MAX_VELO_G26
43230
SPIND_MAX_VELO_LIMS
17.6.3
Signals
17.6.3.1
Signals to channel
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB320x.DBX0.6
Feedrate override
DB320x.DBB4
DB320x.DBB5
Feed disable
DB320x.DBX6.0
DB320x.DBX6.6
DB320x.DBX6.7
DB320x.DBX1000.3
DB320x.DBX1004.3
DB320x.DBX1008.3
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB170x.DBX0.6
DB170x.DBX1.3
DB320x.DBX13.0
DB320x.DBX13.1
DB320x.DBX13.2
DB320x.DBX13.3
DB330x.DBX4002.6
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
Feed/spindle override
DB380x.DBB0
Override active
DB380x.DBX1.7
17.6.3.2
17.6.3.3
Signals to axis/spindle
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1361
V1: Feedrates
17.6 Data lists
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB380x.DBX3.2
DB380x.DBX3.3
DB380x.DBX3.4
DB380x.DBX3.5
DB380x.DBX4.3
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
DB390x.DBX2.2
DB390x.DBX2001.1
17.6.3.4
1362
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18
Brief description
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1363
1364
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
G461/G462
In order to enable the solid machining of inside corners in certain situations with the activation
and deactivation of tool radius compensation, commands G461 und G462 have been
introduced and the approach/retraction strategy has thus been extended for tool radius
compensation.
G461
If no intersection is possible between the last TRC block and a previous block, the controller
calculates an intersection by extending the offset curve of this block with a circle whose
center point coincides with the end point of the noncorrected block, and whose radius is
equal to the tool radius.
G462
If no intersection is possible between the last TRC block and a previous block, the controller
calculates an intersection by inserting a straight line at the end point of the last block with
tool radius compensation (the block is extended by its end tangent).
18.2
Tool
18.2.1
General
Select tool
A tool is selected in the program with the T function.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1365
1366
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
'
Figure 18-1
D function
The selection of the tool cutting edge 1 ... n required for machining is realized by programming
the appropriate D function, e.g. in the part program with D1 ... Dn. The selected tool cutting
edge always refers to the currently active tool. A tool cutting edge without active tool (actual
T number is T0 no tool selected), is not effective.
All tool offsets of the active tool Tx are deselected using D0.
Meaning
=0
= -1
The cutting edge number of the old tool is retained and is also selected for the new tool, in
accordance with M06.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1367
18.2.2
Tools
The TO memory consists of tools numbered T1 to T32000.
Each tool can be set up via TOA files or individually, using the "New tool" soft key.
Compensation values not required must be assigned the value zero. (this is the default setting
1368
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
&KDQQHO
7
7
7
7
7
7
Figure 18-2
HWF
&KDQQHO
7
7
'
'
'
'
'
'
'
'
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1369
18.2.3
D No.
The D no. is sufficient for calculating the tool compensations (can be set via MD).
'3
'
'
'Q
2IIVHWYDOXH
Programming
The above compensation block is to be calculated in the NC.
Part program call:
...
Dn
18.2.4
MD20096
Whether also with tool management not activated, the address extension of T and M is to be
interpreted as spindle number, can be set through the machine data:
MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO (spindle number as address extension).
The same rules then apply to the reference between the D number and T number as when the
"Tool management" function is active.
1370
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Example
The example below shows the effect of MD20096.
Two spindles are considered. Spindle 1 is the master spindle. M6 was defined as the tool
change signal.
T1 = 5
M1 = 6
T2 = 50
M2 = 6
D4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1371
18.2.5
"Relative" D numbers
In the NC it is possible to manage the D numbers as "relative" D numbers for the tool
compensation data sets. The corresponding D numbers are assigned to each T number.
1372
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Functions
Expansions to functions when assigning D numbers:
The maximum permitted D numbers are defined via the machine data:
MD18105 $MN_MM_MAX_CUTTING_EDGE_NO (max. value of the D numbers (DRAM))
The default value is 9, in order to maintain compatibility with existing applications.
The number of cuts (or the offset data sets) for each tool can be defined via the machine
data:
MD18106 $MN_MM_MAX_CUTTING_EDGE_PERTOOL (max. number of the D numbers
per tool (DRAM))
This allows you to customize the number of cutting edges to be configured for each tool to
the actual number of real cutting edges for monitoring purposes.
It is also possible to rename D numbers in the NCK and thus to allocate any D numbers to
the cutting edges.
Note
In addition to relative D number allocation, the D numbers can also be assigned as "flat"
or "absolute" D numbers (1-32000) without a reference to a T number (within the "Flat D
number structure" function).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1373
Commands
If the maximum cutting edge number is higher than the maximum number of cutting edges for
each tool, then the commands listed in the following table, are available
(MD18105 $MN_MM_MAX_CUTTING_EDGE_NO) > (MD18106
$MN_MM_MAX_CUTTING_EDGE_PERTOOL)
Command
Meaning
CHKDNO
GETDNO
SETDNO
GETACTTD
DZERO
1374
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
If the maximum cutting edge number is less than the maximum number of cutting edges for
each tool, then the commands listed in the table are ineffective. This default setting is in the
system for reasons of compatibility.
The individual commands are described in detail in:
References:
Programming Manual Fundamentals
Activation
In order to work with unique D numbers and, therefore, with the defined language commands,
it must be possible to name D numbers freely for the tools.
The following conditions must be fulfilled for this purpose:
MD18105 > MD18106
The 'flat D number' function is not activated.
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE (type of D number programming
(SRAM)).
Examples
MD18105 $MN_MM_MAX_CUTTING_EDGE_NO = 1 (max. value of the D numbers)
A maximum of one compensation can be defined per tool (with D number = 1).
Note
When the "Flat D numbers" function is active, only one D compensation can be defined in the
TO unit.
MD18105 $MN_MM_MAX_CUTTING_EDGE_NO = 9999
Tools can be assigned unique D numbers.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1375
Test
Test result
CHKDNO
All D numbers of all tools are Return value == FALSE, as D=30 is duplica
checked against all other tools ted.
CHKDNO (2, 3,
30)
CHKDNO (1, 3)
Note
Cutting edges per tool
If tools with n cutting edges are used, then the value of the machine data should be set to
n. This prevents inadmissible cutting edges to be defined for a tool.
MD18106 $MN_MM_MAX_CUTTING_EDGE_PERTOOL = n
Programming examples
Renaming a D number
The D number of cutting edge CE = 3 is to be renamed from 2 to 17. The following specifications
apply:
$TC_DPx[ <tool Tn>, <cutting edge Dm> ]
Internal T number Tn = 1
D number Dm = 2
Tool with one cutting edge with:
Program code
Comment
$TC_DP2[ 1, 2 ] = 120
$TC_DP3[ 1, 2 ] = 5.5
$TC_DPCE[ 1, 2 ] = 3
1376
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
$TC_DP2[ 1, 17 ] = 120
$TC_DP3[ 1, 17 ] = 5.5
$TC_DPCE[ 1, 17 ] = 3
Note
If a further cutting edge has been defined for the tool, e.g. $TC_DPCE[ 1, 2 ] = 1 ; = CE, the
D-number 2 of the cutting edge 1 cannot have the same name as the D-number of the cutting
edge 3 i.e.: SETDNO( 1, 1, 17) returns the status = FALSE as return value.
DZERO - Invalidate D numbers
The activation of this command invalidates all D numbers of the tools in the TO unit. It is no
longer possible to activate a compensation until valid D numbers are again available in the
NCK. The D numbers must be reassigned using the SETDNO command.
The following tools must be defined (all with cutting edge number 1):
T1, D1
T2, D10
T3, D100
If one of the compensations is now activated (e.g. with T3 D100), an alarm is generated,
because D100 is not currently defined.
The D numbers are redefined with:
Program code
Comment
SETDNO( 1, 1, 100 )
SETDNO( 2, 1, 10 )
SETDNO( 3, 1, 1 )
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1377
Note
In the event of a power failure, the DZERO command can leave the NCK in an undefined state
with reference to the D numbers. If this happens, repeat the DZERO command when the power
is restored.
Operating principle of a retooling program
Let us assume you want to ensure that the required tools and cutting edges are available. The
status of the tool-holding magazine of the NCK is arbitrary. The D numbers in the part programs
for the new machining operation generally do not match the D numbers of the actual cutting
edges. The retooling program can have the following appearance:
Program code
Comment
DZERO
....
....
CHKDNO
18.2.6
MD22550
If a tool preparation has been programmed in the part program and the NCK detects an error
(e.g., the data set for the programmed T number does not exist in the NCK), the user can
assess the error situation and perform appropriate tasks, in order to subsequently resume
machining.
The tool change may be programmed independently, depending on the machine data:
MD22550 $MC_TOOL_CHANGE_MODE (new tool compensation with M function).
MD22550 $MC_TOOL_CHANGE_MODE = 0
T= "T no."
1378
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
; Tool preparation
M06
;Change tool
; (the number of the tool-change M code can be changed),
; i.e., when M06 is programmed a new D compensation becomes
; active in the NCK (see
; machine data MD20270 $MC_CUTTING_EDGE_DEFAULT)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1379
....
M06
The following occurs when this part of the program is executed again:
Txx
....
Tyy M06
If necessary, the original point of the T call can be corrected after the end of the program. If
the tool change logic on the machine cannot process this, the program must be aborted and
the point of the error corrected.
If only one data set is missing, it is transferred to the NCK, Txx is programmed in "Overstore"
and the program is subsequently resumed.
1380
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.2.7
MD20360
The effect of the tool parameters on the transverse axis in connection with diameter
programming can be controlled selectively with the machine data:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters).
Details are described with the mentioned MD
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1381
18.3
18.3.1
General
Activation
Which type of D number management is valid may be set via the machine data:
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE (type of D number programming).
Value
Significance
18.3.2
Programming
Tool compensations can be programmed with system variables $TC_DP1 to $TC_DP25. The
contents have the same meaning as before.
The syntax changes: no T number is specified.
"Flat D number" function active:
$TC_DPx[d] = value ;where x=parameter no., d=D number
i.e., data with this syntax can only be loaded to the NCK if the "Flat D number" function is
activated.
"Flat D number" function inactive:
$TC_DPx[t][d] = value ;where t=T number, d=D number
A D number can only be assigned once for each tool, i.e., each D number stands for exactly
one compensation data block.
A new data block is stored in the NCK memory when a D number that does not exist is created
for the first time.
The maximum number of D or offset data blocks (max. 600) is set via the machine data:
1382
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Data backup
Data backup is carried out in the same format, i.e., a backup file created with the "Flat D
number" function cannot be loaded on the NCK of a control that has not activated the function.
This also applies in reverse for transfer.
D range
1 - 99 999 999
18.3.3
D number programming
MD18102 = 1
If MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE = 1, then D compensation is activated
without reference to a certain tool.
D0 still contains the previous significance, "Deselection of active compensation in NCK".
Address extension of D
It is not possible to extend the address of D. Only one active compensation data block is
possible for the tool path at a given time.
Programming
Programming in the part program is carried out as before. Only the value range of the
programmed D number is increased.
Example 1:
MD parameterization
Meaning
MD22550 $MC_TOOL_CHANGE_MODE
=0
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE
=1
MD20270 $MC_CUTTING_EDGE_DEFAULT
= -1
Program code
Comment
...
D92
X0
T17
X1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1383
Comment
D16
X2
D32000
X3
T29000
X4
D1
X5
...
Example 2:
MD22550 = 0
Program code
Comment
T1
T2
T3
D777
; No waiting, D777 is activated, T3= programmed and active tool in the display, D777= programmed and active
compensation.
Note
The tool change and the assignment of a D compensation to an actual tool are the responsibility
of the NC program and of the PLC program, if applicable.
1384
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Tool MDs
The following machine data affect the way tools and cutting edges (D numbers) work in the
NCK:
18.3.4
Machine data
Meaning
MD20270 $MC_CUTTING_EDGE_DEFAULT
MD20130 $MC_CUTTING_EDGE_RESET_VALUE
MD20120 $MC_TOOL_RESET_VALUE
MD20121 $MC_TOOL_PRESEL_RESET_VALUE
MD22550 $MC_TOOL_CHANGE_MODE
MD22560 $MC_TOOL_CHANGE_M_CODE
MD20110 $MC_RESET_MODE_MASK
MD20112 $MC_START_MODE_MASK
18.3.5
Programming M6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1385
Example
Two spindles are defined, spindle 1 and spindle 2, and the following applies:
18.3.6
MD20090 = 2
M6
M1 = 6
M2 = 6
Program test
MD20110
To have the active tool and the tool compensation included as follows, can be defined via the
machine data:
MD20110 $MC_RESET_MODE_MASK, Bit 3 (Definition of control default settings after
RESET/TP end).
Value
Bit 3
Significance
=1
=0
From the last program to finish before activation of the program test
Prerequisite
The bits 0 and 6 must be set by the machine data:
MD20110 $MC_RESET_MODE_MASK, Bit 3 (Definition of control default settings after
RESET/TP end).
1386
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.3.7
Tool management
NCK active tool management works on the basis of the following assumptions:
1. Tools are managed in magazines.
2. Cutting edges are monitored; limits reached cause the tool to be disabled.
3. Idea of the sister tools: Tools are programmed for selection only on the basis of their name.
NCK then selects the concrete tool according to the strategy.
Note
For SINUMERIK 828D, this function is only available as an option!
This means that it only makes sense to employ tool management when specific tools have
been defined and these are to be utilized by the NCK.
Flat D number
Flat D number means that tool management is carried out outside the NCK and there is no
reference made to T numbers.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1387
18.4
18.4.1
General
Tool parameter
The geometrical description, the technological description and the tool type are mapped to tool
parameters for each tool cutting edge.
The following tool parameters are available for the relevant tool types:
Tool parameter
Significance
Tool type
Note
for turning tools or for milling/grinding tools
with 2D TRC contour tool
Length 1
Length 2
Length 3
Radius 1/Length 1
Length 2
Radius 1
Radius 2
10
11
Length 1
13
Length 2
14
Length 3
1388
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Significance
Note
15
Radius 1/Length 1
16
Length 2
17
Radius 1
18
Radius 2
19
Angle 1 /
Angle 2 /
20
Basic length 1
22
Basic length 2
23
Basic length 3
Technology
24
Undercut angle
25
Reserved
"Reserved" means that this tool parameter is not used and is reserved for expansions.
3D-face milling
Milling cutter types 111, 120, 121, 130, 155, 156 and 157 are given special treatment for 3Dface milling by evaluating tool parameters (1 -23).
References
For more information about various tool types, see:
Functions Manual - Basic Functions; Tool Offset (W1), Chapter "Tool type (tool parameters)"
Programming Manual Fundamentals; Chapter: "Tool compensations" > "List of tool types"
Functions Manual - Special Functions; 3D-tool radius compensation (W5)
18.4.2
Description
The tool type (3digit number) defines the tool in question. The selection of this tool type
determines further components such as geometry, wear and tool base dimensions in advance.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1389
Conditions
The following is applicable to the "Tool type" parameter:
The tool type must be specified for each tool cutting edge.
Only the values specified can be used for the tool type.
Tool type "0" (zero) means that no valid tool has been defined.
1390
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
0LQFXUUZKHHOZLGWK
/HQJWK
/HQJWK
[
(QGPLOO
(QGPLOOZLWKFRUQHUURXQGLQJ
$QJOHKHDGFXWWHU
$QJOHKHDGPLOOZLWKFRUQHUURXQGLQJ
)DFLQJFXWWHU
7KUHDGFXWWHU
6LGHPLOO
%HYHOFXWWHU
7ZLVWGULOO
6ROLGGULOO
%RULQJEDU
&HQWHUGULOO
&RXQWHUVLQN
&RXQWHUERUH
7DSUHJXODUWKUHDG
7DSILQHWKUHDG
:KLWZRUWKWKUHDGWDS
5HDPHU
73*
73*
73*
0LQZKHHOUDGLXV
%DOOHQGPLOO
$QJOHRILQFOLQHGZKHHO
8QGHUFXWDQJOH
0LOOLQJWRRODFFRUGLQJWR&/'$7$
73*
:HDUUDGLXV
$GDSEDVHGLPHQVLRQ
OHQJWK
PD[SHULSKHUDOVSHHG
:HDUOHQJWK
73*
3URWUXVLRQOHQJWK
[
6XUIDFHJULQGLQJZKHHOZLWKPRQLWRULQJ
6XUIDFHJULQGLQJZKHHO
*HRPHWU\OHQJWK
7RROSDUDPHWHU7&B'3
&XWWLQJHGJHSRVLWLRQ
PD[VSHHG
*HRPHWU\UDGLXV
*URRYHZLGWKUDGLXV
7DEOHRIWKHPRVWLPSRUWDQWDYDLODEOHWRROSDUDPHWHUVRQO\WKHWRROW\SHLVQHFHVVDU\
7RROW\SH
$OORFDWLRQE\1&.
0LOOLQJWRROVDQGGULOOLQJWRROVDOORWKHUV
[
[
*ULQGLQJWRROVDQGWXUQLQJWRROV
6DPHDVEXWZRWRROEDVHGLPHQVLRQIRU68*
)DFLQJZKHHO
)DFLQJZKHHOZLWKPRQLWRULQJ
[
[
6DPHDVEXWZRWRROEDVHGLPHQVLRQIRU68*
'UHVVHU
5RXJKLQJWRRO
)LQLVKLQJWRRO
3OXQJHFXWWHU
3DUWLQJWRRO
7KUHDGLQJWRRO
%XWWRQWRRObbIRUPLQJWRRO722/0$1
6SHFLDOWRROV
6ORWWLQJVDZ
&/'$7$
FXWWHUORFDWLRQGDWD
%O68*
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
&XWWHUORFDWLRQGDWDLQDFFRUGDQFHZLWK',1
*ULQGLQJZKHHOSHULSKHUDOVSHHG
1391
Note
The tool type has no significance in the turning tool groups.
Nonlisted numbers are also permitted, in particular with grinding tools (400-499).
Wear
Base
Einheit
Length 1
$TC_DP3
$TC_DP12
$TC_DP21
mm
Length 2
$TC_DP4
$TC_DP13
$TC_DP22
mm
Length 3
$TC_DP5
$TC_DP14
$TC_DP23
mm
Diameter d
$TC_DP6
$TC_DP15
mm
Slot width b
$TC_DP7
$TC_DP16
mm
Projection k
$TC_DP8
$TC_DP17
mm
Length compensation
1392
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
/
7RRODGDSWHUUHIHUHQFH
SRLQW
/
G /
EN /
Figure 18-3
The width of the saw blade is accounted for with tool radius compensation (G40 to G42 as
follows:
18.4.3
Com
mand
Significance
G40
G41
G42
Description
The cutting edge position describes the position of the tool tip P in relation to the cutting edge
center point S. It is entered in tool parameter 2.
The cutting edge position is required together with the cutting edge radius (tool parameter 8)
for the calculation of the tool radius compensation for turning tools (tool type 5xx).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1393
;
)
5
/HQJWK
/HQJWK
=
Figure 18-4
)7RROKROGHUUHIHUHQFHSRLQW
5&XWWLQJHGJHUDGLXVWRROUDGLXV
6&XWWLQJHGJHFHQWHUSRLQW
37RROWLS
;
3
3
3
3
3
3
3
3
3
3 6
3
6
=
Figure 18-5
6
=
3
3
3
3
3
3
3
3
3
3 6
3
;
Figure 18-6
1394
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
=
=
3
=
3
=
3
=
3
3
3
3
;
Figure 18-7
3 6
3
;
3
3
;
;
;
Tool parameter 2 (P2): Cutting edge position for vertical boring and turning mills
18.4.4
Description
The lengths of the tools are required for the geometry tool length compensation. They are input
as tool lengths 1 to 3 in the tool parameters 3 to 5. The following length specifications must
be entered as a minimum for each tool type:
Tool type
Tool length 1
Tool length 1
Tool length 1 to 3
Example Twist drill (tool type 200) with tool length (tool parameter 3)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1395
) WRROKROGHUUHIHUHQFHSRLQW
/HQJWKWRROSDUDPHWHU
Note
All three tool parameters 3 to 5 (tool length 1 to 3) are always calculated in the three geometry
axes, irrespective of the tool type.
If more tool lengths are input in the tool parameters 3 to 5 for a tool type than is required as
the minimum, then these extra tool lengths are settled in the geometry axes without any alarm.
References
For information about entering tool dimensions (lengths) in tool parameters 3 to 5 (tool lengths
1 to 3) and how these are calculated in the three geometry axes, please refer to Operating
Manual.
18.4.5
Meaning
The shape of the tool is defined using the tool parameters 6 to 11. The data is required for the
geometry tool radius compensation.
1396
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Meaning
Use
Tool length 1
Not used
Tool length 2
Not used
Tool radius 1
The tool radius must be entered for the following tool types
in tool parameter 6 (tool radius 1):
Tool type 1xx
Milling tools
Turning tools
Tool radius 2
Not used
10
Tool angle 1
Not used
11
Tool angle 2
Not used
Tool angle 2
3D face milling
Tool parameters 6 to 11 are required for tool description of 3D face milling.
E
H
KWRROOHQJWK
7RRO3IOHQJWK
7RRO3UUDGLXV
7RRO3DDQJOH
7RRO3EDQJOH
7RRO3HOHQJWK
7RRO3GUDGLXV
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1397
References
Please refer to the following documentation for information about entering tool shapes (radius
for tool radius compensation) in tool parameters 6 to 11 and how these are calculated by
geometry tool radius compensation in the three geometry axes:
Programming Manual, Fundamentals; Section: "Tool compensations" > "2 D tool
compensation"
Functions Manual - Special Functions; 3D tool radius compensation (W5)
For 3D face milling, please refer to:
Programming Manual, Job Planning; Section: "Transformations" > "Three, Four and Five
axis Transformation (TRAORI)"
18.4.6
Description
While geometry tool length compensation (tool parameters 3 to 5) is used to define the size
of the tool, wear tool length compensation can be used to correct the change in the active tool
size.
The active tool dimensions can change due to:
Differences between the tool fixture on the tool measurement machine and the tool fixture
on the machine tool
Tool wear caused during service life by machining
Definition of the finishing allowances
18.4.7
Description
While geometry tool radius compensation (tool parameters 6 to 11) is used to define the shape
of the tool, wear tool radius compensation can be used to correct the change in the active tool
shape.
The active tool dimensions can change due to:
Tool wear caused during service life by machining
Definition of the finishing allowances
1398
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.4.8
Description
Tool base dimension/adapter dimension can be used when the reference point of the toolholder
(tool size) differs from the reference point of the toolholder.
This is the case when:
The tool and the tool adapter are measured separately but are installed on the machine in
one unit (the tool size and adapter size are entered separately in a cutting edge).
The tool is used in a second tool fixture located in another position (e.g. vertical and
horizontal spindle).
The tool fixtures of a tool turret are located at different positions.
0LOOLQJPDFKLQH
7RROEDVH
GLPHQVLRQ
OHQJWK
7XUQLQJPDFKLQH
<
/HQJWK
/HQJWK
)
7XUQLQJFHQWHU
5DGLXV
/HQJWK
)7RROKROGHUUHIHUHQFHSRLQWV
7RROEDVH
GLPHQVLRQ
OHQJWK
7RROEDVH
GLPHQVLRQ
OHQJWK
)
7RROEDVH
GLPHQVLRQ
OHQJWK
/HQJWK
/HQJWK
)
7RROKROGHUUHIHUHQFHSRLQWV
Figure 18-8
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1399
References
Please refer to the following documentation for more information about base-dimension/
adapter-dimension tool length compensation:
Programming Manual, Fundamentals
18.4.9
Meaning
Certain turning cycles, in which traversing motions with tool clearance are generated, monitor
the tool clearance angle of the active tool for possible contour violations.
Value range
The angle (0 to 90 with no leading sign) is entered in tool parameter 24 as the tool clearance
angle.
VWFRQWRXUWREHPDFKLQHG
LVQRWYLRODWHG
QGFRQWRXUWREHPDFKLQHG
FRXOGEHYLRODWHG
7RROFOHDUDQFH
DQJOH
7RROFOHDUDQFH
DQJOH
Figure 18-9
1400
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7RROFOHDUDQFH
DQJOHIRU
ORQJLWXGLQDO
PDFKLQLQJ
7RROFOHDUDQFH
DQJOHIRU
IDFHPDFKLQLQJ
Figure 18-10 Tool clearance angle for longitudinal and face machining
Note
If a tool clearance angle (tool parameter 24) of zero is entered, relief cutting is not monitored
in the turning cycles.
References
Please refer to the following documentation for a detailed description of the tool clearance
angle:
Programming Manual Cycles
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1401
18.4.10
18.5
18.5.1
General
Note
For tool radius compensation (TRC) see:
References:
Programming Manual Fundamentals
Only the Programming Guide contains a complete technical description of the tool radius
compensation (TRC) and its special aspects.
1402
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Why TRC?
The contour (geometry) of the workpiece programmed in the part program should be
independent of the tools used in production. This makes it necessary to draw the values for
the tool length and tool radius from a current offset memory. Tool radius compensation can
be used to calculate the equidistant path to the programmed contour from the current tool
radius.
7RRO
:RUNSLHFH
FRQWRXU
3DWKRIWKHWRROFHQWHUSRLQW
DWHTXDOGLVWDQFHWRWKH
FRQWRXUHTXLGLVWDQWSDWK
18.5.2
Linear interpolation
...
G0, G1
Circular interpolation
...
Helical interpolation
...
G2, G3
Spline interpolation
...
Polynomial interpolation
...
POLY
Direction of compensation
TRC calculates a path, which is equidistant to the programmed contour. Compensation can
be performed on the left- or righthand side of the programmed contour in the direction of motion.
Command
Significance
G41
G42
G40
Deselection of TRC
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1403
Intermediate blocks
In general, only program blocks with positions on geometry axes in the current plane are
programmed when TRC is active. However, dummy blocks can still also be programmed with
active TRC. Dummy blocks are program blocks, which do not contain any positions on a
geometry axis in the current plane:
Positions on the infeed axis
Auxiliary functions,
etc.
The maximum number of dummy blocks can be defined in the machine data:
MD20250 $MC_CUTCOM_MAXNUM_DUMMY_BLOCKS (Max no. of dummy blocks with no
traversing movements for TRC).
18.5.3
1404
Command
Significance
NORM
KONT
KONTC
KONTT
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3
%HKLQG
FRQWRXU
5 7RROUDGLXV
,QIURQWRI
FRQWRXU
3
*FRUUHFWHG
3
([DPSOHRIVHOHFWLQJ75&ZLWK1250
EHKLQGWKHFRQWRXU
([DPSOHRIVHOHFWLQJ75&ZLWK.217
EHKLQGWKHFRQWRXUDQG*
3
3
&RQWRXUYLRODWLRQ
*
3
3
*
5
3
&RQWRXU2.
5
3
3
Figure 18-12 Example for selecting TRC with KONT or NORM in front of and behind the contour
KONT and G450/G451 (corner behavior at outer corners) has a general effect and
determines the approach and retraction behavior with TRC.
When tool radius compensation is deselected, the retraction behavior is determined by the
NORM/KONT instructions.
Supplementary conditions
The approach and retraction blocks are polynomials in the following two variants. Therefore,
they are only available for control variants, which support polynomial interpolation.
KONTT
With KONTT, approach and retraction to/from the contour is with a constant tangent. The
curvature at the block transition is not usually constant.
KONTC
With KONTC, not only the tangent but also the curvature is constant at the transition, with
the result that a jump in acceleration can no longer occur on activation/deactivation.
Although KONTC includes the KONTT property, the constant tangent version KONTT is available
on its own, because the constant curvature required by KONTC can produce undesired
contours.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1405
Axes
The continuity condition is observed in all three axes. It is thus possible to program a
simultaneous path component perpendicular to the compensation plane for approach/
retraction.
Only linear blocks are permitted for the original approach and retraction blocks with KONTT/
KONTC. These programmed linear blocks are replaced in the control by the corresponding
polynomial curves.
Exception
KONTT and KONTC are not available in 3D variants of tool radius compensation (CUT3DC,
CUT3DCC, CUT3DF).
If they are programmed, the control switches internally to NORM without an error message.
; Milling tool
$TC_DP6 [1,1]=10
; Radius 10 mm
; Full circle
Explanation:
In this example, a full circle with a radius of 70 mm is machined in the X/Y plane. Since the
tool has a radius of 10 mm, the resulting tool center point path describes a circle with a radius
of 60 mm. The start/end points are at X0 Y0 Z60, with the result that a movement takes place
in the Z direction at the same time as the approach/retraction movement in the compensation
plane.
1406
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1
1
1
Figure 18-13 Approach and retraction with constant curvature during inside machining of a full circle:
Projection in the X-Y plane.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1407
Figure 18-14 Approach and retraction with constant curvature during inside machining of a full circle:
3D representation.
1408
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
.2177
.217&
Note
The figure shows that a straight line bordering on the contour quadrant, e.g. to X20 Y-20, would
be violated with KONTC on retraction/approach to X0, Y0.
18.5.4
18.5.4.1
Function
Description
The SAR (Smooth Approach and Retraction) function is used to achieve a tangential approach
to the start point of a contour, regardless of the position of the start point.
The approach behavior can be varied and adapted to special needs using a range of additional
parameters.
The two functions, smooth approach and smooth retraction, are largely symmetrical. The
following section is, therefore, restricted to a detailed description of approach; special
reference is made to differences affecting retraction.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1409
Sub-movements
There are maximum 4 sub-movements in case of soft retraction and approach with the
following positions:
Start point of the movement P0
Intermediate points P1, P2 and P3
End point P4
Points P0, P3 and P4 are always defined. Intermediate points P1 and P2 can be omitted, according
to the parameters defined and the geometrical conditions.
On retraction, the points are traversed in the reverse direction, i.e. starting at P4 and ending
at P0.
18.5.4.2
Parameters
The response of the smooth approach and retraction function is determined by up to 9
parameters:
7RRO
3
3ZKHQDSSURDFKLQJ
ZLWKDVWUDLJKWOLQH
*
7RROFHQWHUSRLQW
SDWK
3
3
3ZKHQDSSURDFKLQJ
ZLWKDTXDGUDQW
*
7RROFHQWHUSDWK
',65
3
&RQWRXU
3
3ZKHQDSSURDFKLQJ
ZLWKDVHPLFLUFOH
*
7RROFHQWHUSDWK
7RRO
&RQWRXU
',65
3
7RRO
&RQWRXU
',65
Figure 18-16 Approach behavior depending on G147 to G347 and DISR (with simultaneous activation
of tool radius compensation)
1410
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1411
Modal G code (G340, G341), which defines the subdivision of the movement into individual blocks from
the start point to the end point
3
3
3
3
,QIHHGPRYHPHQW
33
',6&/
3
*
6WUDLJKWOLQH
RUFLUFOH
6WUDLJKWOLQH
FLUFOHRUKHOL[
3
',6&/
0DFKLQLQJSODQH
3
3
*
DISR
DISRSpecifies the length of a straight approach line or the radius of an approach arc.
Retraction/approach with straight lines
On approach/retraction along a straight line, DISR specifies the distance from the cutter edge
to the start point of the contour, i.e., the length of the straight line with active TRC is calculated
as the total of the tool radius and the programmed value of DISR.
1412
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DISCL
DISCLspecifies the distance from point P2 from the machining plane.
If the position of point P2 is to be specified by an absolute reference on the axis perpendicular
to the circle plane, the value must be programmed in the form DISCL = AC( ....).
If DISCL is not programmed, points P1, P2 and P3 are identical with G340 and the approach
contour is mapped from P1 to P4.
The system checks that the point defined by DISCL lies between P1 and P3, i.e., in all
movements, which have a component perpendicular to the machining plane (e.g., infeed
movements, approach movements from P3 to P4), this component must have the same leading
sign. It is not permitted to change direction. An alarm is output if this condition is violated.
On detection of a direction reversal, a tolerance is permitted that is defined by the machine
data:
MD20204 $MC_WAB_CLEARANCE_TOLERANCE (direction reversal on SAR).
However, if P2 is outside the range defined by P1 and P3 and the deviation is less than or equal
to this tolerance, it is assumed that P2 is in the plane defined by P1 and/or P3.
Example:
An approach is made with G17 starting at position Z=20 of point P1. The SAR plane defined
by P3 is at Z=0. The point defined by DISCL must, therefore, lie between these two points.
MD20204=0.010. If P2 is between 20.000 and 20.010 or between 0 and -0.010, it is assumed
that the value 20.0 or 0.0 is programmed. The alarm is output if the Z position of P2 is greater
than 20.010 or less than -0.010.
Depending on the relative position of start point P0 and end point P4 with reference to the
machining plane, the infeed movements are performed in the negative (normal for approach)
or positive (normal for retraction) direction, i.e., with G17 it is possible for the Z component of
end point P4 to be greater than that of start point P0.
Programming the end point P4 (or P0 for retraction) generally with X... Y... Z...
Possible ways of programming the end point P4for approach
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1413
0DFKLQLQJXSWRWKLV
SRLQWZLWK*WKHQZLWK
*)
<
=
=
]
3
&RQWRXU
',65
$TC_DP1[1,1]=120
$TC_DP6[1,1]=7
1414
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3
7RRO
6$5EORFN
**
3
&RQWRXUSUHFHGLQJEORFN
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1415
G341
If FAD is not programmed, this part of the contour is traversed at the velocity, which is active
modally from the preceding block, in the event that no F command defining the velocity is
programmed in the SAR block.
Programmed response:
FAD=0 or negative
FAD=...
FAD=PM(...)
FAD=PR(...)
Alarm Output
Programmed value acts in accordance with the active G code of
group 15 (feed type; G93, G94, etc.)
Programmed value is interpreted as linear feed (like G94), irre
spective of the active G code of group 15
Programmed value is interpreted as revolutional feed (like G95),
irrespective of the active G code of group 15
Example:
<
=
*
3
3
3
3
*
)
)
3
)
$TC_DP1[1,1]=120
$TC_DP6[1,1]=7
1416
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Programming feed F
This feed value is effective from point P3 (or from point P2, if FAD is not programmed). If no F
command is programmed in the SAR block, the speed of the preceding block is valid. The
velocity defined by FAD is not used for following blocks.
18.5.4.3
Velocities
Velocities at approach
In both approach diagrams below, it is assumed that no new velocity is programmed in the
block following the SAR block. If this is not the case, the new velocity comes into effect after
point P4.
3
3
33
3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGRUQHZ)FRPPDQG
9HORFLW\RISUHFHGLQJEORFNROG)FRPPDQG
,QIHHGYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1417
3
3
3
3
3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGRUQHZ)FRPPDQG
9HORFLW\RISUHFHGLQJEORFNROG)FRPPDQG
,QIHHGYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
Velocities at retraction
During retraction, the rolls of the modally active feedrate from the previous block and the
programmed feedrate value in the SAR block are interchanged, i.e., the actual retraction
contour (straight line, circle, helix) is traversed with the old feedrate value and a new velocity
programmed with the F word applies from point P2 up to P0.
If even retraction is active and FAD is programmed, the path from P3 to P2 is traversed with
FAD, otherwise it is traversed with the old velocity. The last F command programmed in a
preceding block always applies for the path from P4 to P2. G0 has no effect in these blocks.
Traversing from P2 to P0 takes place with the F command programmed in the SAR block or, if
no F command is programmed, with the modal F command from a preceding block. This
applies on the condition that G0 is not active.
If rapid traverse is to be used on retraction in the blocks from P2 to P0, G0 must be activated
before the SAR block or in the SAR block itself. If an additional F command is programmed in
the actual SAR blocks, it is then ineffective. However, it remains modally active for following
blocks.
1418
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3
3
3
3
3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGRUQHZ)FRPPDQG
9HORFLW\RISUHFHGLQJEORFNROG)FRPPDQG
5HWUDFWLRQYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
18.5.4.4
System variables
Points P3 and P4 can be read in the WCS as system variables during approach.
$P_APR:
$P_AEP:
$P_APDV
=1
If the content of $P_APR and $P_AEP is valid, i.e., if these contain the position
values belonging to the last SAR approach block programmed.
=0
Changing the WCS between the SAR block and the read operation has no effect on the position
values.
18.5.4.5
Supplementary conditions
Supplementary conditions
Any further NC commands (e.g. auxiliary function outputs, synchronous axis movements,
positioning axis movements, etc.) can be programmed in an SAR block.
These are executed in the first subblock on approach and in the last subblock on retraction.
If the end point P4 is not taken from the SAR block but from a subsequent traversing block,
the actual SAR contour (straight line, quadrant or semicircle) is traversed in this block.
The last subblock of the original SAR block does not then contain traversing information
for geometry axes. It is always output, however, because further actions (e.g. single axes)
may have to be executed in this block.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1419
18.5.4.6
Examples
Example 1
The following conditions must be true:
Smooth approach is activated in block N20
X=40 (end point); Y=0; Z=0
Approach movement performed with quadrant (G247)
Approach direction not programmed, G140 is valid, i.e. because TRC is active (G42) and
compensation value is positive (10), the contour is approached from the right
Approach circle generated internally (SAR contour) has radius 20, so that the radius of the
tool center path is equal to the programmed value DISR=10
1420
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
6$5FRQWRXU
7RRO
,QIHHG
PRYHPHQWLQ=
7RROFHQWHUSDWK
Part program:
Program code
Comment
$TC_DP1[1,1]=120
$TC_DP6[1,1]=10
; Radius
N10 G0 X0 Y0 Z30
N20 G247 G341 G42 NORM D1 T1 Z0 FAD=1000 F=2000 DISCL=5 DISR=10
N30 X40
N40 X100
N50 Y-30
...
Example 2
The following conditions must be true for approach:
Smooth approach is activated in block N20
Approach movement performed with quadrant (G247)
Approach direction not programmed, G140 is valid, i.e. because TRC is active (G41), the
contour is approached from the left
Contour offset OFFN=5 (N10)
Current tool radius=10, and so the effective compensation radius for TRC=15; the radius
of the SAR contour is thus equal to 25, with the result that the radius of the tool center path
is equal to DISR=10
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1421
7RROFHQWHUSDWK
<
7RRO
+HOL[
6HPLFLUFOH
3DSS
3UHW
3DSS
3DSS
&RQWRXU
3UHW
3UHW
Part program:
1422
Program code
Comment
$TC_DP1[1,1]=120
$TC_DP6[1,1]=10
; Radius
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
; (P0app)
; (P3app)
; (P4app)
N40 X40 Z2
N50 X50
; (P4ret)
; (P3ret)
N70 X80 Y0
; (P0ret)
N80 M 30
Note
The contour generated in this way is modified by tool radius compensation, which is activated
in the SAR approach block and deactivated in the SAR retraction block.
The tool radius compensation allows for an effective radius of 15, which is the sum of the tool
radius (10) and the contour offset (5). The resulting radius of the tool center path in the
approach block is therefore 10, and 5 in the retraction block.
18.5.5
G40 instruction
TRC is deselected with the G40 instruction.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1423
18.5.6
G450/G451
The G functions G450/G451 can be used to control the response with discontinuous block
transitions at outside corners:
Command
Meaning
G450
G451
3URJUDPPLQJ*WUDQVLWLRQFLUFOH
2XWVLGHFRUQHU
3URJUDPPLQJ*LQWHUVHFWLRQ
2XWVLGHFRUQHU
7UDQVLWLRQFLUFOH
UDGLXV WRROUDGLXV
,QWHUVHFWLRQ
Figure 18-23 Example of a 90 degree outside corner with G450 and G451
1424
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DISC
The G450 transition circle does not produce sharp outside contour corners because the path
of the tool center point through the transition circle is controlled so that the cutting edge stops
at the outside corner (programmed position). When sharp outside corners are to be machined
with G450, the DISC instruction can be used to program an overshoot. Thus, the transition
circle becomes a conic and the tool cutting edge retracts from the outside corner.
The range of values of the DISC instruction is 0 to 100, in increments of 1.
Value
Meaning
DISC = 0
DISC = 100
The programmable maximum value for DISC can be set via the machine data:
MD20220 $MC_CUTCOM_MAX_DISC (max. value for DISC).
Values greater than 50 are generally not advisable with DISC.
',6&
',6&
',6&
&RQLFVHFWLRQ
&LUFOH
&RQWRXUDQJOH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1425
65
',6&
',6&
5UDGLXV
&RQWRXUDQJOH
>GHJUHHV@
6WUDYHUVHRYHUVKRRW
65VFDOHGRYHUVKRRWZLWKUHIHUHQFHWRWKHWRROUDGLXV
G451 (intersection)
If G function G451 is active, the position (intersection) resulting from the path lines (straight
line, circle or helix only) located at a distance of the tool radius to the programmed contour
(center-point path of the tool), is approached. Spines and polynomials are never extended.
1426
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
/RQJLGOHSDWKV
&RQWRXUDQJOH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1427
%HORZFRQWRXUDQJOH
0'0&B&87&20B&859(B,16(57B/,0,7
QRWDWUDQVLWLRQFLUFOHEXWDQLQWHUVHFWLRQ
&RQWRXUDQJOH
18.5.7
Intersection
If two consecutive blocks form an inside corner, an attempt is made to find a point at which
the two equidistant paths intersect. If an intersection is found, the programmed contour is
shortened to the intersection (first block shortened at end, second block shortened at
beginning).
6KRUWHQHG
FRQWRXU
1428
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
No intersection
In certain cases, no intersection is found between two consecutive blocks for inside corners
(see figure below).
1
1
1
Figure 18-29 If there is no intersection between N30 and block N40, the intersection between block
N30 and block N50 is calculated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1429
Multiple intersections
It can be the case with inside corners that predictive contour calculation finds multiple
intersections of the equidistant paths in several consecutive blocks. In these cases, the last
intersection is always used as the valid intersection:
6
6
6
,QWHUVHFWLRQV
6DQG6DUH
QRWDSSURDFKHG
Figure 18-30 Example: Inside corner with TRC without contour violation (predicting 3 blocks)
For further information, see also Section "Collision detection and bottleneck detection
(Page 1430)", "Collision monitoring".
Special features
Where multiple intersections with the next block are found, the intersection nearest the start
of the next block applies.
18.5.8
Function
Collision detection (bottleneck detection) examines whether the equidistant paths of nonconsecutive blocks intersect. If an intersection is found, the response is the same as for inside
corners with multiple intersections: The last intersection to be found is valid.
The maximum number of blocks used for the predictive check is set via:
MD20240 $MC_CUTCOM_MAXNUM_CHECK_BLOCKS (blocks for predictive contour
calculation for TRC).
1430
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Syntax
CDON
CDOF
CDOF2
Meaning
CDON:
Collision detection ON
CDOF:
CDOF2:
Further information
With CDOF, an intersection is sought between two consecutive blocks. If an intersection is
found, no further blocks are examined. With outside corners, an intersection is always found
between two consecutive blocks.
Predictive examination of more than two adjacent blocks is thus possible with CDON and
CDOF.
Omission of block
If an intersection is detected between two blocks which are not consecutive, none of the
motions programmed between these blocks on the compensation plane are executed. All other
motions and executable instructions (M commands, traversal of positioning axes, etc.)
contained in the omitted blocks are executed at the intersection position in the sequence in
which they are programmed in the NC program.
Warning 10763: "The path component of the block in the compensation plane will become
zero."
If a block has been omitted because of collision detection or bottleneck detection, warning
10763 is displayed. The NC program is not interrupted.
The display of the warning can be suppressed by:
MD11410 $MN_SUPPRES_ALARM_MASK, Bit 1 = 1 (mask supporting special alarm
generation)
Bottleneck detection and outside corners
When the intersections of non-consecutive blocks are checked, it is not the programmed
original contours that are examined, but the associated calculated equidistant paths. This can
result in a "bottleneck" being falsely detected at outside corners. The reason for this is that the
calculated tool path does not run equidistant to the programmed original contour when DISC
> 0.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1431
2IIVHWFXUYHZKHQ',6&!
FRQLFVHFWLRQ
2IIVHWFXUYHZKHQ
',6& FLUFOH
18.5.9
Supplementary conditions
A variable compensation value is permissible for all types of interpolation (including circular
and spine interpolation).
It is also permitted to change the sign (and, therefore, the compensation side).
3URJUDPPHGFRQWRXU
1
1
1
1
1
7RROFHQWHUSDWK
1432
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Calculation of intersection
When the intersections in blocks with variable compensation value are calculated, the
intersection of the offset curves (tool paths) is always calculated based on the assumption that
the compensation value is constant.
If the block with the variable compensation value is the first of the two blocks to be examined
in the direction of travel, then the compensation value at the block end is used for the
calculation; the compensation value at the block start is used otherwise.
3URJUDPPHGFRQWRXU
'
1
7RROFHQWHUSDWK
7KHRUHWLFDOWRROFHQWHU
SRLQWSDWK
&RPSHQVDWLRQ'DW
HQGRIEORFN1
'
1
1
&RPSHQVDWLRQ'DW
VWDUWRIEORFN1
Restrictions
If during machining on the inside of the circle the compensation radius becomes geater than
the programmed circle radius, then the machining is rejected with the following alarm:
Alarm 10758 "Curvature radius with variable compensation value too small"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1433
18.5.10
Description
The "Keep tool radius compensation constant" function is used to suppress tool radius
compensation for a number of blocks, whereby a difference between the programmed and the
actual tool center path traveled set up by tool radius compensation in the previous blocks is
retained as the compensation.
It can be an advantage to use this method when several traversing blocks are required during
line milling in the reversal points, but the contours produced by the tool radius compensation
(follow strategies) are not wanted.
Activation
The "Keep tool radius compensation constant" function is activated with the G code
CUTCONON (CUTter compensation CONstant ON) and deactivated with the G code
CUTCONOF (CUTter compensation CONstant OFF).
CUTCONON and CUTCONOF form a modal G-code group.
The initial setting is CUTCONOF.
The function can be used independently of the type of tool radius compensation (21/2D, 3D
face milling, 3D circumferential milling).
Normal case
Tool radius compensation is normally active before the compensation suppression and is still
active when the compensation suppression is deactivated again.
In the last traversing block before CUTCONON, the offset point in the block end point is
approached. All following blocks, in which compensation suppression is active, are traversed
without compensation. However, they are offset by the vector from the end point of the last
offset block to its offset point. These blocks can have any type of interpolation (linear, circular,
polynomial).
The deactivation block of the compensation suppression, i.e. the block that contains
CUTCONOF, is compensated normally. It starts in the offset point of the start point. One linear
block is inserted between the end point of the previous block, i.e. the last programmed
traversing block with active CUTCONON, and this point.
Circular blocks, for which the circle plane is perpendicular to the compensation plane (vertical
circles), are treated as though they had CUTCONON programmed. This implicit activation of
compensation suppression is automatically canceled in the first traversing block that contains
a traversing motion in the compensation plane and is not such a circle. Vertical circle in this
sense can only occur during circumferential milling.
Example:
N10
; Definition of tool d1
; Type
N30 $TC_DP6[1,1]=
; Radius
N40
1434
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
N140 X0 Y0 G40
N150 M30
<
&RQWRXUZLWKRXW75&
1
&RQWRXUZLWK75&
1
1
1
1
1
1
1
Special cases
If tool radius compensation is not active (G40), CUTCONON has no effect. No alarm is
produced. The G code remains active, however.
This is significant if tool radius compensation is to be activated in a later block with G41 or
G42.
It is permissible to change the G code in the 7th G-code group (tool radius compensation;
G40 / G41 / G42) with CUTCONON active. A change to G40 is active immediately.
The offset used for traversing the previous blocks is traveled.
If CUTCONON or CUTCONOF is programmed in a block without traversing in the active
compensation plane, activation is delayed until the next block that has such a traversing
motion.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1435
1436
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.5.11
Alarm behavior
18.5.12
Function
If two curves with active tool radius compensation form an outside corner, depending on the
G code of the 18th group (corner behavior with tool compensation; G450 / G451) and
regardless of the type of curves involved (straight lines, circles, polynomials):
Either a conic is inserted to bypass the corner
Or
The curves involved are extrapolated to form an intersection.
If no intersection is found with G451 activated, or if the angle formed by the two curves is too
steep, switchover to insert mode is automatic.
The intersection procedure for polynomials is released with the machine data:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1437
18.5.13
Function
In certain special geometrical situations, extended approach and retraction strategies,
compared with the previous implementation, are required in order to activate or deactivate tool
radius compensation (see figure below).
Note
The following example describes only the situation for deactivation of tool radius
compensation. The response for approach is virtually identical.
Example
G42 D1 T1
; Tool radius 20 mm
...
G1 X110 Y0
N10 X0
N20 Y10
N30 G40 X50 Y50
1438
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
<
1
7RROUDGLXV
;
&HQWHUSRLQWSDWKZLWK
7RROUDGLXVFRPSHQVDWLRQ
1
1
3URJUDPPHG
FRQWRXU
The last block with active tool radius compensation (N20) is so short that an intersection no
longer exists between the offset curve and the preceding block (or a previous block) for the
current tool radius. An intersection between the offset curves of the following and preceding
blocks is therefore sought, i.e., between N10 and N30 in this example. The curve used for the
retraction block is not a real offset curve, but a straight line from the offset point at the end of
block N20 to the programmed end point of N30. The intersection is approached if one is found.
The colored area in the figure is not machined, although the tool used would be capable of
this.
G460
With G460, the approach/retraction strategy is the same as before.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1439
G461
If no intersection is possible between the last TRC block and a preceding block, the offset
curve of this block is extended with a circle whose center point lies at the end point of the
uncorrected block and whose radius is equal to the tool radius.
<
$X[LOLDU\FXUYH
1
;
&HQWHUSRLQWSDWKZLWK
WRROUDGLXVFRPSHQVDWLRQ
1
1
3URJUDPPHG
FRQWRXU
The control attempts to cut this circle with one of the preceding blocks. If CDOF is active, the
search is terminated when an intersection is found, i.e., the system does not check for more
intersections with even earlier blocks.
If CDON is active, the search for more intersections continues after the first intersection is found.
An intersection point, which is found in this way, is the new end point of a preceding block and
the start point of the deactivation block. The inserted circle is used exclusively to calculate the
intersection and does not produce a traversing movement.
Note
If no intersection is found, the following alarm is output:
Alarm "10751 Collision danger"
1440
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
G462
If no intersection is possible between the last TRC block and a preceding block, a straight line
is inserted, on retraction with G462 (initial setting), at the end point of the last block with tool
radius compensation (the block is extended by its end tangent).
<
$X[LOLDU\FXUYH
1
;
1
&HQWHUSDWK
FRUUHFWHGSDWK
1
1
3URJUDPPHG
FRQWRXU
The search for the intersection is then identical to the procedure for G461.
With G462, the corner generated by N10 and N20 in the sample program is not machined to
the full extent actually possible with the tool used. However, this behavior may be necessary
if the part contour (as distinct from the programmed contour), to the left of N20 in the example,
is not permitted to be violated even with y values greater than 10 mm.
If KONT is active (travel round contour at start or end point), behavior will differ according to
whether the end point is in front of or behind the contour.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1441
N20 $TC_DP6[1,1]=10
; Radius
N30 X0 Y0 F10000 T1 D1
N40 Y20
N50 G42 X50 Y5 G461
N60 Y0 F600
N70 X30
N80 X20 Y-5
N90 X0 Y0 G40
N100 M30
18.6
18.6.1
General
Introduction
The orientation of the tool can vary (e.g. due to retooling) for one single class of machine tools.
When the machine is operating, the orientation that has been set is permanent, however, and
cannot be changed during traversing. For this reason, kinematic orientation transformation (3-,
4- or 5axis transformations, TRAORI) is neither necessary nor does it make sense for such
machines. However, it is necessary to take account of the changes in the tool length
components caused by changing the orientation, without having to trouble the user with
mathematics involved. The control performs these calculations.
1442
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Availability
For SINUMERIK 828D, the "toolholder with orientation capability" function is only available for
the milling versions.
Required data
The following requirements must be met if the control is to take tool compensations into account
for toolholders with orientation capability:
Tool data (geometry, wear, etc.)
Toolholder data (data for the geometry of the toolholder with orientation capability)
Toolholder selection
A toolholder defined in the control must be specified for the "Toolholder with orientation
capability" function. The NC program command below is used for this purpose:
TCARR = m
m: Number of the toolholder
The toolholder has an associated toolholder data block that describes its geometry.
Activating the toolholder and its block has an immediate effect, i.e. from the next traversing
block onwards.
Assignment tool/toolholder
The tool that was active previously is assigned to the new toolholder.
From the point of view of the control, toolholder number m and tool number T can be combined
freely. In the real application, however, certain combinations can be ruled out for machining
or mechanical reasons. The control does not check whether the combinations make sense.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1443
&
&
]
\
9DULDQW
9DULDQW
Orientation in Z direction
The G function TOFRAME defines a frame such that the Z direction in this frame is the same
as the current tool orientation.
If no toolholder or a toolholder without change in orientation is active, then the Z direction is
in the new frame:
The same as the old Z direction with G17.
The same as the old Y direction with G18.
The same as the old X direction with G19.
1444
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Frame change
The user can change the frame following selection of the tool. This does not have any effect
on the tool length compensation components.
Angles in the toolholder data:
The programmed angles of rotation stored in the toolholder data is not affected by the angle
of rotation defined by the frames. When changing from TCOFR to TCOABS, the original
(programmed) angles of rotation in the toolholder data is reactivated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1445
Ambiguities
With two axes, a particular tool orientation defined by the frame can generally be set with two
different rotary angle pairs. Of these two, the control selects the setting with which the rotary
angle is as close as possible to the programmed rotary angle.
Storing angles in the toolholder data
In virtually any case where ambiguities may arise, it is necessary to store the approximate
angle expected from the frame in the toolholder data.
Parameter sets
A complete parameter set for a toolholder with orientation capability consists of 33 values.
The following system variables are available:
$TC_CARR1 to $TC_CARR33
In addition, $TC_CARR34 to $TC_CARR65 are freely available for the user and for fine
offsets.
The significance of the individual parameters is distinguished as follows:
Machine kinematics:
$TC_CARR1 to $TC_CARR20 and $TC_CARR23
$TC_CARR18 to $TC_CARR20 define a further vector l4, which is needed to describe the
machine with extended kinematics (both tool and workpiece can be rotated).
$TC_CARR21 and $TC_CARR22 contain the channel-axis names of the rotary axes, the
positions of which can be used to determine the orientation of the toolholder with orientation
capability, if necessary.
Kinematic type:
$TC_CARR23 using letter T, P or M
The following three options are available for the kinematic type, for which both upper and lower
case text are permissible:
T:
P:
M:
Any character other than the three mentioned here will result in an alarm if it is tried to activate
the toolholder with orientation capability:
Alarm "14153 Channel %1 block %2 unknown toolholder type: %3"
Rotary axis parameters:
1446
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Parameters 1...33
Number of the toolholder 1 that can be oriented...Value of the machine data:
MD18088 $MN_MM_NUM_TOOL_CARRIER (maximum number of definable tool
holders)
Description
NCK variable
Language
format
Default setting
$TC_CARR1
REAL
$TC_CARR2
REAL
$TC_CARR3
REAL
$TC_CARR4
REAL
$TC_CARR5
REAL
$TC_CARR6
REAL
$TC_CARR7
REAL
$TC_CARR8
REAL
$TC_CARR9
REAL
$TC_CARR10
REAL
$TC_CARR11
REAL
$TC_CARR12
REAL
$TC_CARR13
REAL
$TC_CARR14
REAL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1447
NCK variable
Language
format
Default setting
$TC_CARR15
REAL
$TC_CARR16
REAL
$TC_CARR17
REAL
$TC_CARR18
REAL
$TC_CARR19
REAL
$TC_CARR20
REAL
$TC_CARR21
AXIS
$TC_CARR22
AXIS
Kinematic type
$TC_CARR23
CHAR
$TC_CARR24
REAL
$TC_CARR25
REAL
$TC_CARR26
REAL
$TC_CARR27
REAL
$TC_CARR28
REAL
$TC_CARR29
REAL
$TC_CARR30
REAL
$TC_CARR31
REAL
$TC_CARR32
REAL
$TC_CARR33
REAL
1448
Description
NCK variable
Language
format
Default setting
Toolholder name
$TC_CARR34
String[32]
""
Axis name 1
$TC_CARR35 *)
String[32]
""
Axis name 2
$TC_CARR36 *
String[32]
""
Identifier
$TC_CARR37 *)
INT
Position component X
$TC_CARR38 *
REAL
Position component Y
$TC_CARR39 *
REAL
Position component Z
$TC_CARR40 *)
REAL
$TC_CARR41
REAL
$TC_CARR42
REAL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
NCK variable
Language
format
Default setting
$TC_CARR43
REAL
$TC_CARR44
REAL
$TC_CARR45
REAL
$TC_CARR46
REAL
$TC_CARR55
REAL
$TC_CARR56
REAL
$TC_CARR57
REAL
$TC_CARR58
REAL
$TC_CARR59
REAL
$TC_CARR60
REAL
$TC_CARR64
REAL
$TC_CARR65
REAL
Remarks:
*)
18.6.2
The system variables $TC_CARR35 to $TC_CARR40 are used in the measuring cycles as well
as ShopMill and ShopTurn.
Zero vectors
Vectors v1 and v2 can be zero. The associated angle of rotation (explicitly programmed or
calculated from the active frame) must then also be zero, since the direction of the rotating
axis is not defined. If this condition is not satisfied, an alarm is produced when the toolholder
is activated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1449
1450
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7RROKROGHUUHIHUHQFHSRLQW
O
5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
7RROUHIHUHQFH
SRLQW
Y
O
O
Y
7RROOHQJWK
ZHDU
WRROEDVHGLPHQVLRQ
7RRORULHQWDWLRQ
Vectors, which describe offsets in the rotary head, are positive in the direction from the tool tip
to the reference point of the toolholder.
The following kinematic type is defined for machines with a rotary tool:
$TC_CARR23 using letter T
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1451
5HIHUHQFHSRLQWRI
WKHWRROWDEOH
O
O
Y
O
Y
0DFKLQHUHIHUHQFHSRLQW
Vectors, which describe offsets in the rotary table, are positive in the direction from the machine
reference point to the table.
The following kinematic type is defined for machines with a rotary workpiece:
$TC_CARR23 using letter P
Note
On machines with rotary workpiece it is generally useful if the selected machine reference
point and the reference point of the table are identical. Selecting the reference points in this
way has the advantage that the position of the workpiece zero in the initial state (i.e. with rotary
axes not turned) does not change when the rotary table is activated. The (open) kinematic
chain (see figure) is then closed.
In this special case, therefore, the following formula applies: l2 = - (l3 + l4)
1452
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
5HIHUHQFHSRLQWRIWKHWRROKROGHU
O
5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
5HIHUHQFHSRLQWRIWKHWRRO
Y
5HIHUHQFHSRLQWRIWKHWRROWDEOH
O
7RROOHQJWK
ZHDU
WRROEDVHGLPHQVLRQ
Y
O
O
7RRORULHQWDWLRQ
0DFKLQHUHIHUHQFHSRLQW
The following kinematic type is defined for machines with a rotary tool and rotary workpiece:
$TC_CARR23 using letter M (extended kinematics)
Note
On machines with extended kinematics it is generally useful, as with machines where only the
table can be rotated, for the machine reference point and the reference point of the table to
be identical. The (open) chain component to describe the table (see figure) is then closed.
In this special case, the following formula applies: l3 = - l4
Fine offset
The offset vectors l1 to l4 and the offsets of the rotary axes v1 and v2 can be represented as the
sum of a basic value and a fine offset. The fine offset parameters assigned to the basic values
are achieved by adding a value of 40 to the index of the basic value.
Example:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1453
MD20188 $MC_TOCARR_FINE_LIM_LIN
MD20190 $MC_TOCARR_FINE_LIM_ROT
Description of a rotation
A data block for describing a rotation comprises one vector v1 /v2 to describe the direction of
rotation of the rotary axis in its initial state and an angle 1/2. The angle of rotation is counted
positively for clockwise rotation facing the direction of the rotation vector.
The two toolholder angles 1 and 2 are determined using a frame, independent of the active
plane currently selected (G17 - G19).
The tool orientation in the initial state (both angles 1 and 2 are zero) is (as in the default
case):
G17: Parallel to Z.
G18: Parallel to Y.
G19: Parallel to Z
1454
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
(-200, 0, 0)
(0, 0, 0)
(-100, 0, 0)
(1, 0, 0)
(-1, 0, 1)
(0, 0, 250)
Note
The tool reference point for the tool base dimension is defined by the reference point at the
machine.
For further information about the reference points in the working area, see Section "K2: Axis
Types, Coordinate Systems, Frames (Page 661)".
]
$[LV
Y
[
Y
$[LV
O
O
7RROUHIHUHQFHSRLQW
O
7RROEDVHGLPHQVLRQ
7RROFDUULHUUHIHUHQFHSRLQW
PP
/HQJWK:HDU
5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
Suitable assumptions were made for the following values in the data block:
The two rotary axes intersect at one point.
All components of l2 are therefore zero.
The first rotary axis lies in the x/z plane, the second rotary axis is parallel to the x axis.
These conditions define the directions of v1 and v2 (the lengths are irrelevant, provided that
they are not equal to zero).
The reference point of the toolholder lies 200 mm in the negative x direction viewed from
the intersection of the two rotary axes.
This condition defines l1 .
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1455
NCK variable
Value
$TC_CARR1
- 200
$TC_CARR2
$TC_CARR3
$TC_CARR4
$TC_CARR5
$TC_CARR6
$TC_CARR7
$TC_CARR8
$TC_CARR9
$TC_CARR10
-1
$TC_CARR11
$TC_CARR12
$TC_CARR13
$TC_CARR14
$TC_CARR15
-100
$TC_CARR16
$TC_CARR17
Explanations
The toolholder kinematic chosen in the example is such that the two rotary axes form an angle
of 45 degrees, which means that the orientation cannot take just any value. In concrete terms,
this example does not permit the display of orientations with negative X components.
x component of the tool base dimension:
y component of the tool base dimension:
z component of the tool base dimension:
0
0
250
Note
The required data cannot be determined unequivocally from the geometry of the toolholder,
i.e. the user is free to a certain extent to decide the data to be stored. Thus, for the example,
it is possible to specify only one z component for the tool base dimension up to the second
axis. In this case, l2 would no longer be zero, but would contain the components of the distance
between this point on the second axis and a further point on the first axis. The point on the first
axis can also be selected freely. Depending on the point selected, l1 must be selected such
that the reference point (which can also be selected freely) is reached.
In general: vector components that are not changed by rotation of an axis can be distributed
over any vectors "before" and "after" rotation.
1456
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.6.3
Description of function
Inclined machining with 3 + 2 axes describes an extension of the concept of toolholders with
orientation capability and applies this concept to machines with a rotary table, on which the
orientation of tool and table can be changed simultaneously.
The "Inclined machining with 3 + 2 axes" function is used to machine surfaces with any rotation
with reference to the main planes X/Y (G17), Z/X (G18) and Y/Z (G19).
It is possible to produce any orientation of the tool relative to the workpiece by rotating either
the tool, the workpiece or both the tool and the workpiece.
The software automatically calculates the necessary compensating movements resulting from
the tool lengths, lever arms and the angle of the rotary axis. It is always assumed that the
required orientation is set first and not modified during a machining process such as pocket
milling on an inclined plane.
Furthermore, the following 3 functions are described, which are required for oblique machining:
Position programming in the direction of the tool orientation independent of an active frame
Definition of a frame rotation by specifying the solid angle
Definition of the component of rotation in tool direction in the programmed frame while
maintaining the remaining frame components
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1457
18.6.4
System variables
To date, the angles stored in $TC_CARR13 and $TC_CARR14 were used for the calculation
of the active tool length with TCOABS. This still applies if $TC_CARR21 and $TC_CARR22 do
not refer to rotary axes. If $TC_CARR21 or $TC_CARR22 contains a reference to a rotary axis
in the channel, the axis position of the relevant axis at the start of the current block is used as
the angle, rather than the entry in $TC_CARR13 or $TC_CARR14.
A mixed operating mode is permissible, i.e. the angles can be determined from the entry in
the system variables $TC_CARR13 or $TC_CARR14 for one axis, and from the position of a
channel axis for the other.
This makes it possible for machines, on which the axes used to set the toolholder with
orientation capability are known within the NC, to access their position directly, whereas it was
previously necessary, for example, to read system variable $AA_IM[axis] and write the result
of the read operation to $TC_CARR13/14. In particular, this removes the implicit preprocessing
stop when reading the axis positions.
MD20180
The rotary axis position is used with its programmed or calculated value, when the machine
data:
MD20180 $MC_TOCARR_ROT_ANGLE_INCR[i] = 0 (rotary axis increment of the tool carrier
that can be oriented)
If the machine data is not zero however, the position used is the nearest grid point obtained
for a suitable integer value n from the equation:
= $MC_TOCARR_ROT_ANGLE_OFFSET[i] + n * $MC_TOCARR_ROT_ANGLE_INCR[i]
This functionality is required if the rotary axes need to be indexed and cannot, therefore,
assume freely-defined positions (e.g. with Hirth tooth systems). System variable $P_TCANG[i]
delivers the approximated valued and system variable $P_TCDIFF[i] the difference between
the exact and the approximated value.
1458
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
2ULJLQDOSRVLWLRQRI
WKHFRRUGLQDWH
V\VWHP
2ULJLQDOSRVLWLRQRIWDEOH
)UDPHRIIVHW
3RVLWLRQRIFRRUGLQDWHV\VWHP
DIWHU3$527
3RVLWLRQRIFRRUGLQDWHV\VWHP
DIWHU7&$55
;
;
3RVLWLRQRIWDEOHDIWHUURWDWLRQ
Example
On the machine in the figure, the rotary axis of the table is pointing in the positive Y direction.
The table is rotated by +45 degrees. PAROT defines a frame, which similarly describes a
rotation of 45 degrees about the Y axis. The coordinate system is not rotated relative to the
actual environment (marked in the figure with "Position of the coordinate system after TCARR"),
but is rotated by -45 degrees relative to the defined coordinate system (position after PAROT).
If this coordinate system is defined with ROT Y-45, for example, and if the toolholder is then
selected with active TCOFR, an angle of +45 degrees will be determined for the rotary axis of
the toolholder.
Rotary table
With rotary tables (kinematic types P and M), activation with TCARR similarly does not lead to
an immediate rotation of the coordinate system (see figure), i.e. even though the zero point of
the coordinate system is offset relative to the machine, while remaining fixed relative to the
zero point of the workpiece, the orientation remains unchanged in space.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1459
Rotations
Depending on the machining task, it is necessary to take into account not only a zero offset
(whether as frame or as tool length) when using a rotary toolholder or table, but also a rotation.
However, the activation of a toolholder with orientation capability never leads directly to a
rotation of the coordinate system.
TOROT
If only the tool can be rotated, a frame whose Z axis points in the direction of the tool can be
defined with TOFRAME or TOROT.
PAROT
If the coordinate system needs to be fixed relative to the workpiece, i.e. not only offset relative
to the original position but also rotated according to the rotation of the table, then PAROT can
be used to activate such a rotation in a similar manner to the situation with a rotary tool.
With PAROT, the translations, scalings and mirrorings in the active frame are retained, but the
rotation component is rotated by the rotation component of a toolholder with orientation
capability corresponding to the table.
PAROT and TOROT take into account the overall change in orientation in cases where the table
or the tool are oriented with two rotary axes. With mixed kinematics only the corresponding
component caused by a rotary axis is considered. It is thus possible, for example, when using
TOROT, to rotate a workpiece such that an oblique plane lies parallel to the XY plane fixed in
space, whereby rotation of the tool must be taken into account in machining where any holes
to be drilled, for example, are not perpendicular to this plane.
1460
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.6.5
Creating a toolholder
The number of available toolholder data sets in the NCK is defined with machine data:
MD18088 $MN_MM_NUM_TOOL_CARRIER (maximum number of definable tool carriers)
1. The value is calculated as follows:
MD18088 = "Number of TO units" * "Number of toolholder data sets of a TO unit"
MD18088/"number of TO units" is permanently allocated to each TO unit.
Note
For further explanations on the definition and assignment of a TO unit by machine data:
MD28085 $MC_MM_LINK_TOA_UNIT (assignment of a TO unit to a channel (SRAM))
References:
Function Manual, Extended Functions; Memory Configuration (S7)
2. Zero setting of toolholder data:
You can use the command$TC_CARR1[0] = 0 to zero all values of all data sets.
Individual toolholder data sets can be deleted selectively with the NC command DELTC or
the PI service _N_DELTCAR.
3. Accessing the data of a toolholder:
Part program
$TC_CARRn[m] = value
This describes the previous value of the system variables n for toolholder m with the
new value "value".
value = $TC_CARRn[m]
With "def real value" - the parameters of a toolholder m can be read if they have already
been defined (e.g. set MD18088). Otherwise, an alarm is signaled.
OPI interface
The parameters of a toolholder with orientation capability can be read and written with the
NCKHMI (OPI) variable services using system variable $P_TCANG[<n>].
4. Data backup:
The system variables specified above are saved as part of the general NCK data backup.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1461
1462
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Group change
Changing the G code from group 42 (TCOABS, TCOFR, etc.) causes recalculation of the tool
length components.
The (programmed) angles of rotation stored in the toolholder data are not affected, with the
result that the angles originally stored in the toolholder data are reactivated on a change from
TCOFR to TCOABS.
Read rotary angle (1 or 2):
The angles currently used to calculate the orientation can be read via system variable
$P_TCANG[n] where n = 1 or n = 2.
If two permissible solutions (i.e. a second valid pair of angles) are available for a particular
orientation, the values can be accessed with $P_TCANG[3] or $P_TCANG[4]. The number of
valid solutions 0 to 2 can be read with $P_TCSOL.
Tool radius compensation with CUT2D or CUT3DFS:
The current tool orientation is included in the tool radius compensation if either CUT2D or
CUT3DFS is active in G-code group 22 (tool compensation type).
For nonrotating toolholders, the behavior depends solely on the active plane of G code group
6 (G17 - G19) and is, therefore, identical to the previous behavior.
All other tool compensation types:
The behavior for all other tool compensation types is unchanged.
For CUT2DF and CUT3DFF in particular, the compensation plane used for TRC is determined
from the active frame, independent of the current tool orientation. Allowance is made for the
active plane (G17 - G19) and the behavior is, therefore, the same as before.
The two remaining G codes of group 22, CUT3DC and CUT3DF, are not affected by the
toolholder functionality because the tool orientation information in these cases is made
available by the active kinematic transformation.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1463
Example
The control first calculates an angle of 10 degrees for one axis. The specified angle is 750
degrees. 720 degrees (= 2 * 360 degrees) are then added to the initial angle, resulting in a
final angle of 730 degrees.
Limit values
Limit angles (software limits) can be specified for each rotary axis in the system variable set
($TC_CARR30 to $TC_CARR33) used to describe the toolholder with orientation capability.
These limits are not evaluated if both the minimum and maximum value is zero.
If at least one of the two limits is not equal to zero, the system checks whether the previously
calculated solution is within the permissible limits. If this is not the case, an initial attempt is
made to reach a valid setting by adding or subtracting multiples of 360 degrees to or from the
invalid axis position. If this is impossible and two different solutions exist, the first solution is
discarded and the second solution is used. The second solution is treated the same as the
first with reference to the axis limits.
If the first solution is discarded and the second used instead, the contents of $P_TCANG[1/2]
and $P_TCANG[3/4] are swapped, hence the solution actually used is also stored in
$P_TCANG[1/2] in this case.
The axis limits are monitored even if the axis angle is specified instead of being calculated.
This is the case if TCOABS is active when a toolholder with orientation capability is activated.
1464
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.6.6
Programming
Activation
A toolholder becomes active when both a toolholder and a tool have been activated. The
selection of the toolholder alone has no effect. The effect of selecting a toolholder depends on
the G code TCOABS / TCOFR (modal G-code group for toolholders).
Changing the G code in the TCOABS / TCOFR group causes recalculation of the tool length
components when the toolholder is active. With TCOABS, the values stored in the toolholder
data for both angles of rotation 1 and 2 are used to determine the tool orientation.
With TCOFR, the two angles are determined from the current frame. The values stored in the
toolholder data are not changed, however. These are also used to resolve the ambiguity that
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1465
18.6.7
Full orientation
For a given data set that describes a certain kinematic, all the conceivable special orientations
can only be displayed when the following conditions are satisfied:
The two vectors v1 and v2 that describe the rotary axes must also be defined (i.e. both
vectors must not be equal to zero).
The two vectors v1 and v2 must be perpendicular to each other.
The tool orientation must be perpendicular to the second rotary axis.
Non-defined orientation
If these conditions are not satisfied and an orientation that cannot be achieved by an active
frame is requested with TCOFR, an alarm is output.
Vector/angle of rotation dependencies
If vector v1 or v2, which describes the direction of a rotary axis, is set to zero, the associated
angle of rotation 1 or 2 must also be set to zero. Otherwise, an alarm is produced. The alarm
is not output until the toolholder is activated, i.e. when the toolholder is changed.
Tool fine compensation combined with orientation
Tool fine compensations and toolholders cannot be combined. The activation of tool fine
compensation when a toolholder is active, and vice versa the activation of the toolholder when
tool fine compensation is active, produces an alarm.
1466
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Toolholder kinematics
The following supplementary conditions must be met for toolholder kinematics:
Tool orientation in initial state, both angles 1 and 2 zero, as per default setting, even if:
G17 parallel to Z
G18 Parallel to Y
G19 parallel to Z
A permissible position in terms of the axis limits must be achievable.
For any possible orientation to be set, the two rotary axes must be perpendicular to each
other.
For machines, on which the table is rotated by both axes, the tool orientation must also be
perpendicular to the first rotary axis.
For machines with mixed kinematics, the tool orientation must be perpendicular to the axis
which rotates the tool, i.e. also the first rotary axis.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1467
18.7
18.7.1
Function
Using the function "cutting data modification for rotatable tools", the changed geometrical
relationships, that are obtained relative to the workpiece being machined when rotating tools
(predominantly turning tools, but also drilling and milling tools) can be taken into account.
18.7.2
1468
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.7.3
Cutting edge position, cut direction and angle for rotary tools
Turning tools
Turning tools means the following tools whose tool type ($TC_DP1) has values in the range
of 500 to 599. Grinding tools (tool types 400 to 499) are equivalent to turning tools.
Tools are treated independently of tool type such as turning tools if:
SD42950 $SC_TOOL_LENGTH_TYPE = 2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1469
&XWGLUHFWLRQ
/HQJWKRIFXWWLQJHGJH
Figure 18-44 Cutting edge position and cut direction for turning tools
The values 1 to 4 characterize the cases in which both cutting edges lie in the same quadrant;
the values 5 to 8 characterize the cases in which both cutting edges lie in neighboring
quadrants or there is a coordinate axis between the two cutting edges. The cutting edge
position is stored in the tool parameter $TC_DP2.
A cut direction can be defined for each turning tool. It is stored in the tool parameter $TC_DP11.
It has values between 1 and 4, and it characterizes a positive or negative direction of the
coordinate axes:
Value:
1
2
3
4
Meaning:
Ordinate Ordinate +
Abscissa Abscissa +
Two different cut directions can be assigned to each cutting edge position:
1470
Cut direction:
2, 4
2, 3
1, 3
1, 4
1, 2
3, 4
1, 2
3, 4
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
3ODWHDQJOH rKROGHUDQJOHIUHHDQJOH
+ROGHUDQJOH7&B'3
)UHHDQJOH7&B'3
&XWGLUHFWLRQ
Figure 18-45 Angle and cut direction for a turning tool with cutting edge position 3
The cut direction specifies the reference direction of the holder angle. The clearance angle is
the angle measured between the inverse cut direction and the adjacent cutting edge (positive).
Holder angle and clearance angle are stored in the tool parameters $TC_DP10 or $TC_DP24.
Note
Cut direction and tool angle are relevant only in the cutting edge positions 1 to 8.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1471
18.7.4
Tool orientation
Unlike milling tools, turning tools are not rotation-symmetric. This means that normally 3
degrees of freedom or three rotary axes are required to describe the tool orientation. The
concrete kinematics therefore, is independent of the machine only to the extent the desired
orientation can be set. If necessary, the third degree of freedom can be substituted by a rotation
of the tool coordinate system.
Note
The division of the orientation into one component created by the toolholder with orientation
capability and a second componnet achieved via a rotation of the coordinate system is the
responsibility of the application. The control does not provide any further functionality in this
regard.
1472
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1473
QHZFXWWLQJHGJHUHIHUHQFHSRLQW
6/
FXWWLQJHGJHUHIHUHQFHSRLQW
6/
6/
ROGFXWWLQJUHIHUHQFHSRLQW
Figure 18-46 Cutting edge reference point and cutting edge position (SL) for tool rotation
A tool with the cutting edge position 3, the clearance angle 22.5 and holder angle 112.5 is
rotated. For rotations up to 22.5, the cutting edge position is maintained, the position of the
cutting edge reference point relative to the tool however, is compensated in such a way that
the relative position of both points are maintained in the machining plane. For bigger rotations
(up to 67.5), the cutting edge position changes to value 8.
Note
As the cutting edge reference point is defined by the tool length vector, modifying the cutting
edge reference point changes the effective tool length.
18.7.5
1474
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Abscissa +
Ordinate +
Abscissa -
Ordinate -
Example
18.7.6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1475
18.7.7
Parameter assignment
Reaction to errors
Different fault conditions can occur during the activation of the "Cutting edge data modification
for rotary tools" function (via explicit call with CUTMOD or through a tool selection).
For each of these possible fault conditions, one can define whether the error is to trigger an
alarm output, whether such an alarm is only to be displayed (warning), or whether additionally
the interpretation of the part program must be cancelled. The setting is done via the following
machine data:
MD20125 $MC_CUTMOD_ERR
Two bits of the machine data are assigned to each fault condition:
Fault condition
Bit
Description
12
13
Program stop for error "Invalid cutting edge position holder angle combination"
Response to POWER ON
The "cutting edge data modification for rotary tools" function (CUTMOD) is initialized
automatically during POWER ON with the value stored in machine data:
MD20127 $MC_CUTMOD_INIT
If the value of this machine data is "-2", CUTMOD is set to the value that is set in machine data:
MD20126 $MC_TOOL_CARRIER_RESET_VALUE (Active toolholder at RESET)
1476
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.7.8
Programming
The "Cutting edge data modification for rotary tools" function is activated with the CUTMOD
command.
Syntax
CUTMOD=<value>
Meaning
CUTMOD
<value>
Command to switch-in the function "cutting data modification for tools that can be
rotated"
The following values can be assigned to the CUTMOD command:
0
The function is deactivated.
The values supplied from system variables $P_AD... are the same as the
corresponding tool parameters.
>0
The function is activated if a toolholder that can be orientated with the
specified number is active, i.e. the activation is linked to a specific tool
holder that can be orientated.
The values supplied from system variables $P_AD... may be modified
with respect to the corresponding tool parameters depending on the ac
tive rotation.
The deactivation of the designated toolholder that can be orientated tem
porarily deactivates the function; the activation of another toolholder that
can be orientated permanently deactivates it. This is the reason that in
the first case, the function is re-activated when again selecting the same
toolholder that can be orientated; in the second case, a new selection is
required - even if at a subsequent time, the toolholder that can be orien
tated is re-activated with the specified number.
The function is not influenced by a reset.
-1
The function is always activated if a toolholder that can be orientated is
active.
When changing the toolholder or when de-selecting it and a subsequent
new selection, CUTMOD does not have to be set again.
-2
The function is always activated if a toolholder that can be orientated is
active whose number is the same as the currently active toolholder that
can be orientated.
If a toolholder that can be orientated is not active, then this has the same
significance as CUTMOD=0.
If a toolholder that can be orientated is active, then this has the same
significance as when directly specifying the actual toolholder number.
< -2
Values less than 2 are ignored, i.e. this case is treated as if CUTMOD was
not programmed.
Note:
This value range should not be used as it is reserved for possible subse
quent expansions.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1477
Note
SD42984 $SC_CUTDIRMOD
The function that can be activated using the CUTMOD command replaces the function that can
be activated using the setting data SD42984 $SC_CUTDIRMOD. However, this function
remains available unchanged, because it doesn't make sense to use both functions in parallel,
it can only be activated if CUTMOD is equal to zero.
1478
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
System variables
The following system variables are available:
System variables
Meaning
$P_CUTMOD_ANG /
$AC_CUTMOD_ANG
Supplies the (non-rounded) angle in the active machining plane that was
used as basis for the modification of the cutting data (tool nose position,
cut direction, clearance angle and holder angle) for the functions activated
using CUTMOD and/or $SC_CUTDIRMOD.
$P_CUTMOD_ANG refers to the actual state in the preprocessing,
$AC_CUTMOD_ANG to the actual main run block.
$P_CUTMOD /
$AC_CUTMOD
Reads the currently valid value that was last programmed using the com
mand CUTMOD (number of the toolholder that should be activated for the
cutting data modification).
If the last programmed CUTMOD value = -2 (activation with the currently
active toolholder that can be orientated), then the value -2 is not returned
in $P_CUTMOD, but the number of the active toolholder that can be ori
entated at the time of programming.
$P_CUTMOD refers to the actual state in the preprocessing, $AC_CUT
MOD to the actual main run block.
$P_CUT_INV /
$AC_CUT_INV
Supplies the value TRUE if the tool is rotated so that the spindle direction
of rotation must be inverted. To do this, the following four conditions must
be fulfilled in the block to which the read operations refer:
1. If a turning or grinding tool is active
(tool types 400 to 599 and / or
SD42950 $SC_TOOL_LENGTH_TYPE = 2).
2. If the cutting influence was activated using the language command
CUTMOD.
3. If a toolholder that can be orientated is active, which was designated
using the numerical value of CUTMOD.
4. If the toolholder that can be orientated rotates the tool around an axis
in the machining plane (this is typically the C axis) so that the resulting
perpendicular of the tool cutting edge is rotated with respect to the initial
position by more than 90 (typically 180).
The contents of the variable is FALSE if at least one of the specified four
conditions is not fulfilled. For tools whose tool nose position is not defined,
the value of the variable is always FALSE.
$P_CUT_INV refers to the actual state in the preprocessing and
$AC_CUT_INV to the actual main run block.
All main run variables ($AC_CUTMOD_ANG, $AC_CUTMOD and $AC_CUT_INV) can be read
in synchronized actions. A read access operation from the preprocessing generates a
preprocessing stop.
Modified cutting data
If a tool rotation is active, the modified data is made available in the following system variables:
System variable
Meaning
$P_AD[2]
$P_AD[10]
Holder angle
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1479
Meaning
$P_AD[11]
Cut direction
$P_AD[24]
Clearance angle
Note
The data is always modified with respect to the corresponding tool parameters
($TC_DP2[..., ...] etc.) if the function "cutting data modification for rotatable tools" was activated
using the command CUTMOD and a toolholder that can be orientated, which causes a rotation,
is activated.
18.7.9
Example
The following example refers to a tool with tool nose position 3 and a toolholder that can be
orientated, which can rotate the tool around the B axis.
The numerical values in the comments specify the end of block positions in the machine
coordinates (MCS) in the sequence X, Y, Z.
Program code
Comment
N10 $TC_DP1[1,1]=500
N20 $TC_DP2[1,1]=3
N30 $TC_DP3[1,1]=12
N40 $TC_DP4[1,1]=1
N50 $TC_DP6[1,1]=6
N60 $TC_DP10[1,1]=110
; Holder angle
N70 $TC_DP11[1,1]=3
; Cut direction
N80 $TC_DP24[1,1]=25
; Clearance angle
; B axis
; C axis
N110 $TC_CARR13[2]=0
N120 $TC_CARR14[2]=0
N130 $TC_CARR21[2]=X
N140 $TC_CARR22[2]=X
N150 $TC_CARR23[2]="M"
N160 TCOABS CUTMOD=0
N170 G18 T1 D1 TCARR=2
; 12.000
0.000
1.000
N210 X0 Y0 Z0
; 10.892
0.000
-5.134
; 8.696
0.000
17.330
N180 X0 Y0 Z0 F10000
N190 $TC_CARR13[2]=30
N200 TCARR=2
1480
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Comment
N230 Z20
; 8.696
0.000
21.330
N240 X10
; 12.696
0.000
21.330
; 30.892
0.000
5.134
N260 CUTMOD=2 X0 Y0 Z0
; 8.696
0.000
7.330
; 8.696
0.000
17.330
N280 Z20
; 8.696
0.000
21.330
N290 X10
; 12.696
0.000
21.330
; 28.696
0.000
7.330
N310 M30
Explanations:
In block N180, initially the tool is selected for CUTMOD=0 and non-rotated toolholders that can
be orientated. As all offset vectors of the toolholder that can be orientated are 0, the position
that corresponds to the tool lengths specified in $TC_DP3[1,1] and $TC_DP4[1,1] is
approached.
The toolholder that can be orientated with a rotation of 30 around the B axis is activated in
block N200. As the tool nose position is not modified due to CUTMOD=0, the old tool nose
reference point is decisive just as before. This is the reason that in block N210 the position is
approached, which keeps the old tool nose reference point at the zero (i.e. the vector (1, 12)
is rotated through 30 in the Z/X plane).
In block N260, contrary to block N200 CUTMOD=2 is effective. As a result of the rotation of the
toolholder that can be orientated, the modified tool nose position becomes 8. The consequence
of this is also the different axis positions.
The tool radius compensation (TRC) is activated in blocks N220 and/or N270. The different
tool nose positions in both program sections has no effect on the end positions of the blocks
in which the TRC is active; the corresponding positions are therefore identical. The different
tool nose positions only become effective again in the deselect blocks N260 and/or N300.
18.8
18.8.1
G91 extension
Requirements
Incremental programming with G91 is defined such that the compensation value is traversed
additively to the incrementally programmed value when a tool compensation is selected.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1481
Applications
For applications such as scratching, it is necessary only to traverse the path programmed in
the incremental coordinates. The activated tool compensation is not traversed.
Sequence
Selection of a tool compensation with incremental programming
Scratch workpiece with tool tip.
Save the actual position in the basic frame (set actual value) after reducing it by the tool
compensation.
Traverse incrementally from the zero position.
Activation
It is possible to set whether a changed tool length is traversed with FRAME and incremental
programming of an axis, or whether only the programmed path is traversed with the setting
data:
SD42442 $SC_TOOL_OFFSET_INCR_PROG (tool length compensations)
Supplementary condition
If the behavior is set such that the offset remains active even after the end of the program and
RESET
MD20110 $MC_RESET_MODE_MASK, bit6=1 (specification of the controller initial setting
after reset / TP end)
and if an incremental path is programmed in the first part program block, the compensation is
always traversed additively to the programmed path.
Note
With this configuration, part programs must always begin with absolute programming.
1482
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.8.2
Typical application
On machines with toolholders with orientation capability, traversing should take place in the
tool direction (typically, when drilling) without activating a frame (e.g., using TOFRAME or
TOROT), on which one of the axes points in the direction of the tool.
This is also true of machines on which a frame defining the oblique plane is active during
oblique machining operations, but the tool cannot be set exactly perpendicular because an
indexed toolholder (Hirth tooth system) is restricting the setting of the tool orientation.
In these cases it is then necessary - contrary to the motion actually requested perpendicular
to the plane - to drill in the tool direction, as the drill would otherwise not be guided in the
direction of its longitudinal axis, which, among other things, would lead to breaking of the drill.
MOVT
The end point of such a motion is programmed with MOVT= .... The programmed value is
effective incrementally in the tool direction as standard. The positive direction is defined from
the tool tip to the toolholder. The content of MOVT is thus generally negative for the infeed
motion (when drilling), and positive for the retraction motion. This corresponds to the situation
with normal paraxial machining, e.g., with G91Z ....
If the motion is programmed in the form MOVT=AC( ...), MOVT functions absolutely. In this
case a plane is defined, which runs through the current zero point, and whose surface normal
vector is parallel to the tool orientation. MOVT then gives the position relative to this plane:
7RRO
=
$X[LOLDU\SODQH
0297 $&
Figure 18-48 Definition of the position for absolute programming of a motion in tool direction
The reference to this auxiliary plane serves only to calculate the end position. Active frames
are not affected by this internal calculation.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1483
Supplementary conditions
The following supplementary conditions apply to programming with MOVT:
It is independent of the existence of a toolholder with orientation capability. The direction
of the motion is dependent on the active plane. It runs in the direction of the vertical axes,
i.e., with G17 in Z direction, with G18 in Y direction and with G19 in X direction. This applies
both where no toolholder with orientation capability is active and for the case of a toolholder
with orientation capability without rotary tool or with a rotary tool in its basic setting.
MOVT acts similarly for active orientation transformation (345axis transformation).
If in a block with MOVT the tool orientation is changed simultaneously (e.g., active 5axis
transformation by means of simultaneous interpolation of the rotary axes), the orientation
at the start of the block is decisive for the direction of movement of MOVT. The path of the
tool tip (TCP - Tool Center Point) is not affected by the change in orientation.
Linear or spline interpolation (G0, G1, ASPLINE, BSPLINE, CSPLINE) must be active.
Otherwise, an alarm is produced. If a spline interpolation is active, the resultant path is
generally not a straight line, since the end point determined by MOVT is treated as if it had
been programmed explicitly with X, Y, Z.
A block with MOVT must not contain any programming of geometry axes (alarm 14157).
18.9
Application
Normally, the orientation assigned to the tool itself depends exclusively on the active machining
plane. For example, the tool orientation is parallel to Z with G17, parallel to Y with G18 and
parallel to X with G19.
Different tool orientations can only be programmed by activating a 5axis transformation. The
following system variables have been introduced in order to assign a separate orientation to
each tool cutting edge:
System variable
Format
Preassignment
$TC_DPV[t, d]
INT
$TC_DPV3[t, d]
REAL
$TC_DPV4[t, d]
REAL
$TC_DPV5[t, d]
REAL
Indexing:
t:
d:
1484
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
MD18114
The system variables for describing the tool orientation are only available if machine data is
not equal to zero:
MD18114 $MN_MM_ENABLE_TOOL_ORIENT (assign orientation to tool cutting)
MD18114 $MN_MM_ENABLE_TOOL_ORIENT
Value = 1
Value = 2
In this example, the basic orientation points in the direction of the bisector in the L1L3 plane,
i.e., the basic orientation in the bisector for a milling tool and active plane G17 lies in the Z/X
plane.
With :
G18
Milling tools
G17
The active tool orientation is unchanged in these cases and is equivalent to the original settings
in $TC_DPVx[t, d].
The basic orientation is always the direction perpendicular to the plane in which tool radius
compensation is performed. With turning tools, in particular, the tool orientation generally
coincides with the longitudinal tool axis.
The setting data specified below are effective only if the basic orientation of the tool is defined
by an entry in at least one of the system variables $TC_DPVx[t, d].
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1485
Plane change
A change of plane causes a change in orientation.
The following rotations are initiated:
When changing from:
Rotations
G17 G18:
G18 G19:
G19 G17:
G17 G19:
G18 G17:
G19 G18:
These rotations are the same as those that have to be performed in order to interchange the
components of the tool length vector on a change of plane.
The basic orientation is also rotated when an adapter transformation is active.
If the following setting data is not equal to zero, the tool orientation is not rotated on a change
of plane:
SD42940 $SC_TOOL_LENGTH_CONST (change of tool length components on change of
planes).
1486
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Basic orientation
Milling tools *
Turning tools *
0 or > 6
($TC_DPV5[t, d],
$TC_DPV4[t, d],
$TC_DPV3[t, d],) **
($TC_DPV3[t, d],
$TC_DPV5[t, d],
$TC_DPV4[t, d],) **
(0, 0, V)
(0, V, 0)
(0, V, 0)
(0, 0, V)
(V, 0, 0)
(V, 0, 0)
(0, 0, -V)
(0, -V, 0)
(0, -V, 0)
(0, 0, -V)
(-V, 0, 0)
(-V, 0, 0)
Turning tools in this context are any tools whose tool type ($TC_DP1[t, d]) is between 400 and
599. All other tool types refer to milling tools.
**
If all three values $TC_DPV3[t, d], $TC_DPV4[t, d], $TC_DPV5[t, d] are equal to zero in this
case, the tool orientation is determined by the active machining plane (default).
Example:
For milling tools:
$TC_DPV[t, d] = 2 is equal to:
$TC_DPV3[t, d] = 0, $TC_DPV4[t, d] = 0, $TC_DPV5[t, d] = V.
Supplementary conditions
If the "Scratch" function is used in the RESET state, the following must be noted with respect
to the initial setting:
The wear components are evaluated depending on the initial settings of the G-code groups
TOWSTD, TOWMCS and TOWWCS.
If a value other than the initial setting is needed to ensure correct calculation, scratching
may be performed only in the STOP state.
Note
"Special handling of tool compensations" pays particular attention to tool compensations
with evaluation of sign for tool length with wear and temperature fluctuations.
The following are taken into account:
Tool type
Transformations for tool components
Assignment of tool length components to geometry axes independently of tool type
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1487
18.10
18.10.1
SD42900- 42960
Setting data SD42900 - SD42940 can be used to make the following settings with reference
to tool compensation:
Sign of the tool length
Sign of the wear
Behavior of the wear components when mirroring geometry axes
Behavior of the wear components when changing the machining plane via setting data
Allocation of the tool length components independent of actual tool type
Transformation of wear components into a suitable coordinate system for controlling the
effective tool length
Note
In the following description, the wear includes the total values of the following components:
Wear values: $TC_DP12 to $TC_DP20
Sum offset, consisting of:
Wear values: $SCPX3 to $SCPX11
Setup values: $ECPX3 to $ECPX11
You will find detailed information about sum and tool offsets in:
References:
Function Manual Tool Management
Programming Manual. Fundamentals; Tool Offsets
1488
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.10.2
Activation
Tool length mirroring is activated via the setting data:
SD42900 $SC_MIRROR_TOOL_LENGTH <> 0 (TRUE) (Sign change tool length when
mirroring)
Function
The following components are mirrored by inverting the sign:
Tool lengths: $TC_DP3, $TC_DP4, $TC_DP5
Tool base dimensions: $TC_DP21, $TC_DP22, $TC_DP23
Mirroring is performed for all tool base dimensions whose associated axes are mirrored. Wear
values are not mirrored.
;
;
'
=
0
:
0DFKLQLQJVLWXDWLRQ
'LVZRUNLQJLQ:&6
=
:
0
0DFKLQLQJVLWXDWLRQ
'LVZRUNLQJLQ:&6
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1489
18.10.3
Activation
Wear length mirroring is activated by:
SD42920 $SC_WEAR_SIGN_CUTPOS <> 0 (TRUE) (Sign of wear for tools with cutting edge
systems)
Function
Length of cutting edge
Length 1
Length 2
---
---
---
Inverted
Inverted
Inverted
Inverted
---
---
---
---
---
---
Inverted
Inverted
---
---
---
In the case of tool types without a relevant cutting edge position, the wear length is not mirrored.
Note
The mirroring (sign inversion) in one or more components can cancel itself through a
simultaneous activation of the functions:
Tool length-mirroring (SD42900 <> 0)
And:
Tool length-mirroring (SD42920 <> 0)
SD42930 $SC_WEAR_SIGN
Setting data not equal to zero:
Inverts the sign of all wear dimensions. This affects both the tool length and other variables
such as tool radius, rounding radius, etc.
Entering a positive wear dimension makes the tool "shorter" and "thinner".
1490
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
; End mill
N40 $TC_DP15[1,1] = 1
; Sign inversion for all wear values; the new radius of 99 mm is activated on a new selection
(D1). Without D1, the radius would continue to
be 101 mm.
The same applies in the event that the resulting tool length is modified due to a change in the
mirroring status of an axis. The tool must be selected again after the mirror command, in order
to activate the modified tool-length components.
18.10.4
Plane change
The assignment of tool length components (length, wear and tool base dimension) to geometry
axes does not change when the machining plane is changed (G17G19).
Assignment of tools
The assignment of tool length components to geometry axes for turning and grinding tools
(tool types 400 to 599) is generated from the value of the following setting data in accordance
with the following table:
SD42940 $SC_TOOL_LENGTH_CONST (change of tool length components on change of
planes).
Layer
Length 1
Length 2
Length 3
17
*)
19
-17
-18
-19
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1491
Length 1
Length 2
Length 3
*) Each value not equal to 0 and not equal to one of the six listed values is evaluated as value 18.
The following table shows the assignment of tool length components to geometry axes for all
other tools (tool types < 400 or > 599):
Layer
Length 1
Length 2
Length 3
*)
18
19
-17
-18
-19
*) Each value not equal to 0 and not equal to one of the six listed values is evaluated as value 17.
Note
For representation in tables, it is assumed that geometry axes 1 to 3 are named X, Y, Z. The
axis order and not the axis name determines the assignment between a compensation and
an axis.
Three tool length components can be arranged on the six different types above.
18.10.5
Characteristics
Definition of the assignment between tool length components (length, wear and tool base
dimension) and geometry axes independent of tool type.
Setting data not equal to zero: (the default definition is applied)
A distinction is made between turning and grinding tools (tool types 400 to 599) and other tools
(milling tools).
The value range is from 0 to 2. Any other value is interpreted as 0.
The assignment of tool length components is always independent of the actual tool type.
With value = 1: Always as for milling tools
With value = 2: Always as for turning tools
1492
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.10.6
18.10.7
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1493
Activation
The temperature compensation in the tool direction is activated by setting the following
machine data to a value not equal to zero.
MD20390 $MC_TOOL_TEMP_COMP_ON (activation of temperature compensation for tool
length)
In addition, bit 2 must be set for each affected channel axis in the machine data:
MD32750 $MA_TEMP_COMP_TYPE [<axis index>] (temperature compensation type)
This can be more than three axes in cases where more than three channel axes in succession
can be temporarily assigned to geometry axes as a result of geometry axis replacement of
transformation switchover. If this bit is not set for a particular channel axis, the compensation
value cannot be applied in the axis. This does not have any effect on other axes. In this case,
an alarm is not output.
Applicability
The temperature compensation in the tool direction is only effective with generic 5-axis
transformations with:
Transformation type 24
Two axes rotate the tool
Transformation type 56
One axis rotates the tool, the other axis rotates the workpiece without temperature
compensation
In generic 5-axis transformation with:
Transformation type 40
The tool orientation is constant with a rotary workpiece, which means that the motion of the
rotary axes on the machine does not affect the temperature compensation direction.
Temperature compensation in the tool direction also works in conjunction with orientation
transformations (not generic 5-axis transformations) with:
Transformation type 64 to 69
Rotating linear axis
Note
Temperature compensation can be activated with all other types of transformation. It is not
affected by a change in tool orientation. The axes move as if no orientation transformation
with temperature compensation were active.
1494
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Limit values
The compensation values are restricted to the maximum values by the machine data:
MD20392 $MC_TOOL_TEMP_COMP_LIMIT[0...2] (maximum temperature compensation for
tool length)
The limit value default setting is 1 mm. If a temperature compensation value higher than this
limit is specified, it will be limited without an alarm.
SD42960
The three temperature compensation values together form a compensation vector and are
contained in setting data:
SD42960 $SC_TOOL_TEMP_COMP[0...2] (temperature compensation with reference to
tools)
The setting data is user-defined, e.g. using synchronized actions or from the PLC. The
compensation values can, therefore, also be used for other compensation purposes.
In the initial state or when orientation transformation is deactivated, all three compensation
values apply in the direction of the three geometry axes (in the typical order X, Y, Z). The
assignment of components to geometry axes is independent of the tool type (turning, milling
or grinding tools) and the selected machining plane G17 to G19. Changes to the setting data
values take effect immediately.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1495
Examples
Temperature compensation in tool direction
Example of a 5-axis machine with rotating tool on which the tool can be rotated around the C
and B axes.
In its initial state, the tool is parallel to the Z axis. If the B axis is rotated through 90 degrees,
the tool points in the X direction.
Therefore, a temperature compensation value in the following setting data is also effective in
the direction of the machine X axis if transformation is active:
SD42960 $SC_TOOL_TEMP_COMP[2] (temperature compensation with reference to tools)
If the transformation is deactivated with the tool in this direction, the tool orientation is, by
definition, parallel again to the Z axis and thus different to its actual orientation. The
temperature offset in the X axis direction is therefore reduced to zero and reapplied
simultaneously in the Z direction.
Example of a 5-axis machine with rotating tool (transformation type 24). The relevant machine
data is listed below:
The first rotary axis rotates around Z, C-axis
The second rotary axis rotates around Y, B-axis
The essential machine data is shown in the table below:
Machine data
Value
Remark
MD20390 $MC_TOOL_TEMP_COMP_ON
= TRUE
=4
=4
=4
1496
MD24100 $MC_TRAFO_TYPE_1
= 24
MD24110 $MC_TRAFO_AXES_IN_1[0]
=1
MD24110 $MC_TRAFO_AXES_IN_1[1]
=2
MD24110 $MC_TRAFO_AXES_IN_1[2]
=3
MD24110 $MC_TRAFO_AXES_IN_1[3]
=5
MD24110 $MC_TRAFO_AXES_IN_1[4]
=4
MD24120 $MC_TRAFO_GEOAX_AS
SIGN_TAB_1[0]
=1
MD24120 $MC_TRAFO_GEOAX_AS
SIGN_TAB_1[1]
=2
MD24120 $MC_TRAFO_GEOAX_AS
SIGN_TAB_1[2]
=3
MD24570 $MC_TRAFO5_AXIS1_1[0]
= 0.0
MD24570 $MC_TRAFO5_AXIS1_1[1]
= 0.0
Direction
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Value
Remark
MD24570 $MC_TRAFO5_AXIS1_1[2]
= 1.0
MD24572 $MC_TRAFO5_AXIS1_2[0]
= 0.0
Direction
MD24572 $MC_TRAFO5_AXIS1_2[1]
= 1.0
MD24572 $MC_TRAFO5_AXIS1_2[2]
= 0.0
MD25574 $MC_TRAFO5_BASE_ORIENT_1[0]
= 0.0
MD25574 $MC_TRAFO5_BASE_ORIENT_1[1]
= 0.0
MD25574 $MC_TRAFO5_BASE_ORIENT_1[2]
= 1.0
In Z direction
Comment
$SC_TOOL_TEMP_COMP[0] = -0.3
; Compensation value in X
$SC_TOOL_TEMP_COMP[1] = 0.0
$SC_TOOL_TEMP_COMP[2] = -1.0
; Compensation value in Z
; Position setpoints of the machine
axes
N10 G74 X0 Y0 Z0 A0 B0
; X Y Z
N30 TRAORI()
N50 TRAFOOF
N60 X0 Y0 Z0 B0 C0
N70 M30
With the exception of block N40, temperature compensation always acts in the original
directions, as the tool is pointing in the basic orientation direction. This applies particularly in
block N50. The tool is actually still pointing in the direction of the X axis because the B axis is
still at 90 degrees. However, because the transformation is already deactivated, the applied
orientation is parallel to the Z axis again.
Machine data
Value
Remark
MD20390 $MC_TOOL_TEMP_COMP_ON
= TRUE
=4
=4
=4
Additional references
For more details on "Temperature compensation" see:
References:
Function Manual Extended Functions; Compensations (K3)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1497
18.11
18.11.1
General
Sum offsets
Sum offsets can be treated as programmable process compensations during machining and
are composed of all the error sizes (including the wear), which cause the workpiece to deviate
from the specified dimensions.
Sum offsets are a generalized type of wear. They are part of the cutting edge data. The
parameters of the sum offset refer to the geometrical data of a cutting edge.
The compensation data of a sum offset are addressed by a DL number (DL: locationdependent;
compensations with reference to the location of use).
In contrast, the wear values of a D number describe the physical wear of the cutting edge, i.e.,
in special situations, the sum offset can match the wear of the cutting edge.
Sum offsets are intended for general use, i.e., with active or inactive tool management or with
the flat D number function.
Machine data are used to classify the sum offsets into:
Sum offset fine
Sum offset coarse (setup offset)
Setup offset
The setup offset is the compensation to be entered by the setup engineer before machining.
These values are stored separately in the NCK. The operator subsequently only has access
to the "sum offset fine" via HMI.
The "sum offset fine" and "sum offset coarse" are added internally in the NCK. This value is
referred to below as the sum offset.
Note
The function is enabled via the machine data setting:
MD18080 $MN_MM_TOOL_MANAGEMENT_MASK, Bit 8=1 (Gradual memory reservation for
tool management).
If kinematic transformations (e.g., 5axis transformations) are active, the tool length is
calculated first after allowing for the various wear components. The total tool length is then
1498
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.11.2
Description of function
Sum offsets
Several sum offsets (DL numbers) can be defined per D number. This allows you to determine,
for example, workpiecelocationdependent compensation values and assign them to a cutting
edge. Sum offsets have the same effect as wear, i.e., they are added to the compensation
values of the D number. The data are permanently assigned to a D number.
Attitudes
You can define the following settings in machine data:
Activate sum offset
Define maximum quantity of DL data sets to be created in NCK memory
Define maximum quantity of DL numbers to be assigned to a D number
Define whether the sum offsets (fine/coarse) are to be saved during data backup
Define the sum offset to be activated, if:
A new cutting edge compensation is activated
An operator panel front RESET is performed
An operator panel front START is performed
The end of the program has been reached
The name is oriented to the logic of the corresponding machine data for tools and cutting edges.
The "setup offset" and "sum offset fine" can be read and written via system variables and
corresponding OPI services.
Note
When tool management is active, a machine data can be used to define whether the sum offset
of a tool activated during a programmed tool change remains unchanged or is set to zero.
Summary of compensation parameters $TC_DPx
The following general system variables were previously defined for describing a cutting edge:
$TC_DP1
Tool type
$TC_DP2
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1499
Wear
Length compensations
$TC_DP3
$TC_DP12
Length 1
$TC_DP4
$TC_DP13
Length 2
$TC_DP5
$TC_DP14
Length 3
Geometry
Wear
Radius compensation
$TC_DP6
$TC_DP15
Radius
$TC_DP7
$TC_DP16
Geometry
Wear
Further compensations
$TC_DP8
$TC_DP17
$TC_DP9
$TC_DP18
Length 5
$TC_DP10
$TC_DP19
$TC_DP11
$TC_DP20
Adapter length 1
$TC_DP22
Adapter length 2
$TC_DP23
Adapter length 3
Technology
System variable
Clearance angle
$TC_DP24
The clearance angle is stored here for ManualTurn; tool type 5xx. Same
significance as in standard cycles for turning tools.
The tip angle of the drill is stored here for ShopMill; tool type 2xx.
Used in standard cycles for turning tools; tool type 5xx. This is the angle
at the secondary cutting edge for these tools.
$TC_DP25
The value for the cutting rate is stored here for ManualTurn.
A bitcoded value for various states of tool types 1xx and 2xx is stored
here for ShopMill.
1500
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
$TC_DP3
$TC_DP12
Length 1
$TC_SCP13, $TC_SCP23,$TC_SCP33,
$TC_SCP43,$TC_SCP53,$TC_SCP63
$TC_ECP13, $TC_ECP23,$TC_ECP33,
$TC_ECP43,$TC_ECP53,$TC_ECP63
The numbers in bold, 1, 2, ... 6, designate the parame
ters of a maximum of six (location-dependent or similar)
compensations that can be programmed with DL =1 to
6 for the parameter specified in column one.
$TC_DP4
Length 2
$TC_DP13
$TC_SCP14, $TC_SCP24,$TC_SCP34,
$TC_SCP44,$TC_SCP54,$TC_SCP64
$TC_ECP14, $TC_ECP24,$TC_ECP34,
$TC_ECP44,$TC_ECP54,$TC_ECP64
$TC_DP5
Length 3
$TC_DP14
etc.
Radius compensation
$TC_DP6
Radius
$TC_DP15
$TC_DP7
Corner radius
$TC_DP16
Further compensations
$TC_DP8
Length 4
$TC_DP17
$TC_DP9
Length 5
$TC_DP18
$TC_DP10
Angle 1,
$TC_DP19
etc.
$TC_DP11
Angle 2
$TC_DP20
$TC_SCP21, $TC_SCP31,$TC_SCP41,
$TC_SCP51,$TC_SCP61,$TC_SCP71
$TC_ECP21, $TC_ECP31,$TC_ECP41,
$TC_ECP51,$TC_ECP61,$TC_ECP71
The numbers in bold, 2, 3, ... 7, designate the parame
ters of a maximum of six (location-dependent or similar)
compensations that can be programmed with DL =1 to
6 for the parameter specified in column one.
Supplementary conditions
The maximum number of DL data sets of a cutting edge and the total number of sum offsets
in the NCK are defined by machine data. The default value is zero, i.e., no sum offsets can be
programmed.
Activate the "monitoring function" to monitor a tool for wear or for "sum offset".
The additional sum/setup data sets use additional buffered memory. 8 bytes are required per
parameter.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1501
18.11.3
Activation
Function
The function must be activated via the machine data:
MD18108 $MN_MM_NUM_SUMCORR (sum offsets in TO area).
System variables $TC_ECPx and $TC_SCPx and setup and sum offsets ("fine") defined via
the OPI interface can be activated in the part program.
This is done by programming the language command DL="number".
When a new D number is activated, either a new DL number is programmed, or the DL number
defined via the following machine data becomes active:
MD20272 $MC_SUMCORR_DEFAULT (basic setting of the additive offset without a program)
DL programming
The sum offset is always programmed relative to the active D number with the command:
DL = "n"
The sum offset "n" is added to the wear of the active D number.
Note
If you use "setup offset" and "sum offset fine", both compensations are combined and added
to the tool wear.
The sum offset is deselected with the command:
DL = 0
Note
DL0 is not allowed. If compensation is deselected (D0 and T0), the sum offset also becomes
ineffective.
Programming a sum offset that does not exist triggers an alarm, similar to programming a D
compensation that does not exist.
Thus, only the defined wear remains part of the compensation (defined in system variables
$TC_DP12 to $TC_DP20).
Programming a sum offset when a D compensation is active (also applies to deselection) has
the same effect on the path as programming a D command. An active radius compensation
will, therefore, lose its reference to adjacent blocks.
1502
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Configuration
MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4=0: (Properties of sum offset in the TO area)
default setting:
Only one set of sum offsets exists per DL number.
We refer in general to the sum offset.
This describes the data represented by $TC_SCPx.
6XPRIIVHW
7&B6&3>W@
7&B6&3>W@
'RIIVHW
6XPRIIVHW
7&B'3>W@
7&B'3>W@
7&B'3>W@
7&B'3>W@
7&B6&3>W@
7&B6&3>W@
Tool T = t is active. With the data in the figure, the following is programmed:
D2
...
DL=1
...
DL=2
...
DL=0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1503
6HWXSRIIVHW
6XPRIIVHW
ILQH
7&B(&3>W@
7&B6&3>W@
7&B(&3>W@
7&B6&3>W@
6HWXSRIIVHW
6XPRIIVHW
ILQH
7&B(&3>W@
7&B6&3>W@
7&B(&3>W@
7&B6&3>W@
'RIIVHW
7&B'3>W@
7&B'3>W@
7&B'3>W@
7&B'3>W@
7&B'3&(>W@
Figure 18-51 MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4 = 1 "setup offsets" + "sum offsets fine"
Tool T = t is active. With the data in the figure, the following is programmed:
D2
...
DL=1
...
DL=2
...
DL=0
1504
R6 = $TC_SCP21[ t, d ]
R50 = $TC_SCP23[ t, d ]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
; Sets the value of the first component of sum offset 4 for cutting edge (d) on tool (t) to the
value 1.234.
The above statements also apply to the setup offsets (if the NCK is configured with this option),
i.e.,
R5 = $TC_ECP13[ t, d ]
R6 = $TC_ECP21[ t, d ]
Etc.
When working with setup offsets, "sum offsets fine" are written with the $TC_SCPx system
variables.
When working with setup offsets, "sum offsets fine" are written with the $TC_SCPx system
variables.
Note
When working with setup offsets, the data set for the setup offset is created when a data set
is created for "sum offset fine", if a data set did not already exist for [t, d].
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1505
Note
When working with setup offsets, the data set for the "sum offset fine" is created when a data
set is created for setup offsets, if a data set did not already exist for [t, d].
If d is not specified, all sum offsets of all cutting edges of tool t are deleted.
If d and t are not specified, all sum offsets for the cutting edges on all tools of the TO unit are
deleted (for the channel, in which the command is programmed).
When working with setup offsets, the DELDL command deletes both the setup offset and the
"sum offsets fine" of the specified cutting edge(s).
Note
The memory used for the data sets is released after deletion.
The deleted sum offsets can subsequently no longer be activated or programmed.
Sum offsets and setup offsets on active tools cannot be deleted (similar to the deletion of D
compensations or tool data).
The "status" return value indicates the result of the deletion command:
0:
-1:
Deletion was not (one cutting edge) or not completely (several cutting edges) successful
Data backup
The data are saved during a general tool-data backup (as a component of the D number data
sets).
1506
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.11.4
Examples
Example 1
That no compensation and no sum offset will come into effect must be defined during tool
change via the machine data:
MD20270 $MC_CUTTING_EDGE_DEFAULT=0 (Basic setting of tool cutting edge without
programming)
MD20272 $MC_SUMCORR_DEFAULT=0 (default setting sum offset without program).
T5 M06
D1 DL=3
X10
DL=2
X20
DL=0
D2
X1
DL=1
X2
D0
; Compensation deselection
X3
DL=2
Example 2
During tool change it has to be defined that offset D2 and sum offset DL=1 are activated via
the machine data:
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1507
D1 DL=3
DL=0
D2
DL=2
D1
X10
DL=2
X20
X1
18.11.5
18.11.5.1
($TC_DP3 - $TC_DP5)
($TC_DP12 - $TC_DP14)
($TC_DP21 - $TC_DP23)
($TC_ADPT1 - $TC_ADPT3)
($TC_SCPx3 - $TC_SCPx5)
($TC_ECPx3 - $TC_ECPx5)
($TC_CARR1 - $TC_CARR3)
($TC_CARR4 - $TC_CARR6)
($TC_CARR15 - $TC_CARR17)
Note
The tool base dimension and adapter dimension can only be applied as alternatives.
1508
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Operating principle
G codes
Tool type
Machine data
Setting data
Adapter transformations
Dependencies
Infeed plane:
Tool type:
SD42930 $SC_WEAR_SIGN
SD42940 $SC_TOOL_LENGTH_CONST
SD42950 $SC_TOOL_LENGTH_TYPE
Adapter transformations
References:
Function Manual Tool Management
The resulting tool orientation always remains parallel to one of the three axis directions X, Y
or Z and exclusively depends on the active machining plane G17-G19, since it has not yet
been possible to assign the tool an orientation.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1509
Wear components
Wear
$TC_DP12 - $TC_DP14,
$TC_SCPx3 - $TC_SCPx5,
$TC_ECPx3 - $TC_ECPx5
In particular, compensations, which affect the tool length calculation, should be entered in the
coordinates used for measurement.
These workpiece-specific compensations can be achieved more simply using the G-code
group 56 with the three values TOWSTD, TOWMCS and TOWWCS and the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of tool components)
SD42935
Which of the wear components:
Wear ($TC_DP12 - $TC_DP14)
Setup offsets or sum offsets coarse ($TC_ECPx3 - $TC_ECPx5)
Sum offsets fine ($TC_SCPx3 - $TC_SCPx5)
are to be transformed in the transformations:
Adapter transformation
Toolholder with orientation capability
are to be or not to be transformed, can be defined via the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of wear values)
With the setting data in its initial state, all wear values are transformed.
1510
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
7RROFDUULHUZLWK
RULHQWDWLRQ
FDSDELOLW\
.LQHPDWLF
WUDQVIRUPDWLRQ
7RROOHQJWK
7RROEDVH
GLPHQVLRQ
$GDSWHU
WUDQVIRUPDWLRQ
:HDU
6XPRIIVHWILQH
6HWXSRIIVHWRU
VXPRIIVHWFRDUVH
6'6&B:($5B75$162)250
%LW 758(
%LW 758(
%LW 758(
Programming
G-code group 56 can be used to define the following values:
Syntax
Corrections
TOWSTD
TOWMCS
TOWWCS
TOWBCS
TOWTCS
Wear values in the TCS (Tool Coordinate System) at the toolholder (tool carrier ref
erence point T)
TOWKCS
Wear values in tool coordinate system for kinematic transformation (KCS) of tool head
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1511
MCS
BCS
WCS
KCS
TCS
The calculated tool length or a tool length component can be represented and read out in one
of these coordinate systems using the GETTCOR function (predefined subprogram).
For further explanations, see Section "Read tool lengths, tool length components
(Page 1521)".
=
.&6
0&6
;
.LQHPDWLFWUDQVIRUPDWLRQ
WRROFRPSRQHQW
7RROFDUULHU
WRROFRPSRQHQW
=
=
%&6
7&6
7RRO
;
;
:&6
3
.LQHPDWLFWUDQVIRUPDWLRQ
ZRUNSLHFHWDEOHRUSDUWFRPSRQHQW
18.11.5.2
TOWSTD
Initial setting (default behavior):
The wear values are added to the other tool length components.
The resulting total tool length is then used in further calculations.
In the case of an active toolholder with orientation capability:
The wear values are subjected to the appropriate rotation.
1512
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
TOWMCS
Wear data in the MCS (machine coordinate system):
In the case of an active rotation by means of a toolholder with orientation capability:
The toolholder only rotates the vector of the resultant tool length. Wear is ignored.
Then the tool length vector rotated in this way and the wear are added. The wear is not
subjected to the rotation.
If no toolholder with orientation capability is active or this does not result in a rotation,
TOWMCS and TOWSTD are identical.
Linear transformation
The tool length can be uniquely defined in the MCS only if the MCS is generated by linear
transformation from the BCS.
This would be the case when:
No kinematic transformation is active
Or orientation transformations (3-axis, 4-axis and 5-axis transformations) are active
TOWWCS
Wear values in WCS (workpiece coordinate system):
If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
The wear data are interpreted in the workpiece coordinate system.
The wear vector in the workpiece coordinate system is converted to the machine coordinate
system and added to the tool vector.
TOWBCS
Wear values in BCS (basic coordinate system):
If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
The wear data are interpreted in the workpiece coordinate system.
The wear vector in the basic coordinate system is converted to the workpiece coordinate
system and added to the tool vector.
Non-linear transformation
If a non-linear transformation is active, e.g. with TRANSMIT, and the MCS is specified as the
desired coordinate system, the BCS is automatically used instead of the MCS.
Toolholder with orientation capability
A table component of the toolholder with orientation capability, if available, is not applied
directly to the coordinate systems, unlike a table (or part) component of the kinematic
transformation. A rotation described by such a component is represented in a basic frame or
system frame and is thus included in the transition from WCS to BCS.
Kinematic transformation
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1513
TOWTCS
Wear values in TCS (tool coordinate system):
If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
The wear data are interpreted in the tool coordinate system.
The wear vector in the TCS (Tool Coordinate System) is converted to the machine coordinate
system by way of the tool coordinate system of the kinematic transformation (KCS) and added
to the tool vector.
TOWKCS
The wear value specifications for the kinematic transformation are interpreted in the associated
TCS (Tool Coordinate System).
The wear vector is converted to the machine coordinate system by way of the tool coordinate
system of the kinematic transformation and added to the tool vector.
1514
Setting data
Wear components
SD42910 $SC_MIRROW_TOOL_WEAR
TOWSTD
TOWMCS
TOWWCS
SD42920 $SC_WEAR_SIGN_CUTPOS
SD42930 $SC_WEAR_SIGN
SD42940 $SC_TOOL_LENGTH_CONST
SD42950 $SC_TOOL_LENGTH_TYPE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Note
Wear components which are subjected to an active rotation by an adapter transformation or
a toolholder with orientation capability are referred to as non-transformed wear components.
Special features
If TOWMCS or TOWWCS is active, the following setting data does not affect the non-transformed
wear components:
SD42920 $SC_WEAR_SIGN_CUTPOS (Sign of wear for tools with cutting edge systems)
The following setting data also does not affect the non-transformed wear components in case
of TOWWCS:
SD42910 $SC_MIRROR_TOOL_WEAR (Sign change tool wear when mirroring)
In this case, a possibly active mirroring is already contained in the frame, which is referred to
for evaluating the wear components.
On a plane change, the assignment between the non-transformed wear components and the
geometry axes is retained, i.e. these are not interchanged as with other length components.
The assignment of components depends on the active plane for tool selection.
Example
Let's assume a milling tool is used where only the wear value $TC_DP12 assigned to length
L1 is not equal to zero.
If G17 is active, this length is effective in the direction of the Z axis.
This measure always acts in the Z-direction also upon a plane change after the tool selection,
when TOWMCS or TOWWCS are active and the bit 1 is set in the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformations for tool components)
If, for example, G18 is active on tool selection, the component is always effective in the Y
direction instead.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1515
18.12
18.12.1
General
Functions
The current states of tool data can be processed using the functions below, which are generally
available:
Save
Deletion
Read
Modify
A further function can be used to determine information about the assignment of the tool lengths
of the active tool to the abscissa, ordinate and applicate.
18.12.2
1516
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
TOOLENV function
Saving a tool environment
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1517
Syntax:
Status = TOOLENV(_NAME)
Value/parameter:
Status
INT
0:
Function OK
-1:
No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2:
No more free memory locations for tool environments available.
-3:
Null string illegal as name of a tool environment.
-4:
No parameter (name) specified.
_NAME
STRING
Name, under which the current data set is stored.
If a data set of the same name already exists, it is overwritten. In this case, the status is 0.
18.12.3
DELTOOLENV function
This function can be used to delete sets of data used to describe tool environments. Deletion
means that the set of data stored under a particular name can no longer be accessed (an
access attempt triggers an alarm).
The DELTOOLENV function is a predefined subprogram.
It must, therefore, be programmed in a separate block.
Syntax:
There are two call formats:
Status = DELTOOLENV()
Status = DELTOOLENV(_NAME)
Value/parameter:
Status
INT
0:
Function OK
1518
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
-2:
_NAME
STRING
Name of data set to be deleted
The first call format deletes all data sets.
The second call format deletes the data set with the specified name.
Data sets can only be deleted using the DELTOOLENV command, by an INITIAL.INI download
or by a cold start (NCK powerup with default machine data). There are no further automatic
deletion operations (e.g., on RESET).
18.12.4
$P_TOOLENVN
This system variable returns the number of available data sets for describing tool
environments. (Data sets defined by TOOLENV and not yet deleted.)
The value range is from 0 to machine data:
MD18116 $MN_MM_NUM_TOOL_ENV (number of tool environments in TO area).
This system variable can be accessed even if no tool environments are possible (MD18116 =
0). In this case, the return value is 0.
Syntax:
_N = $P_TOOLENVN
Data type:
_N
INT
Number of defined TOOLENV
$P_TOOLENV
This system variable returns the number of the nth data set for describing a tool environment.
The assignment of numbers to data sets is not fixed, but can be changed as a result of deleting
or creating data sets. The data sets are numbered internally. The range is from 1 to
$P_TOOLENVN.
Syntax:
_NAME = $P_TOOLENV[i]
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1519
Data type:
_NAME
STRING
Name of the data set with number i
i
INT
Number of the data set.
If an index is specified, which does not point to a defined data set, the following alarm is
output:
Alarm "17020 (inadmissible array-index1)"
18.12.5
GETTENV function
The GETTENV function is used to read the T, D and DL numbers stored in a tool environment.
The GETTENV function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = GETTENV(_NAME, _TDDL)
Value/parameter:
Status
INT
0:
Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO area).
i.e. the "tool environments" functionality is not available.
-2: A tool environment with the name specified in _NAME does not exist.
_NAME
STRING
Name of the tool environment, from which the T, D and DL numbers can be read
_TDDL[3]
INT
This integer array contains:
- in "_TDDL[0]" the T number of the tool,
- in "_TDDL[1]" the D number of the tool,
- in "_TDDL[2]" the DL number of the tool,
whose tool environment in the data set is stored with the name "_NAME".
1520
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.12.6
GETTCOR function
The GETTCOR function is used to read out tool lengths or tool length components.
The parameters can be used to specify, which components are considered, and the conditions,
under which the tool is used.
The GETTCOR function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = GETTCOR(_LEN, _COMP, _STAT, _T, _D, _DL)
All parameters can be omitted with the exception of the first parameter (_LEN).
Value/parameter:
Status
INT
0:
Function OK
-1:
No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2:
A tool environment with the name specified in _STAT does not exist.
-3:
Invalid string in parameter _COMP.
Causes of this error can be invalid characters or characters programmed twice.
-4:
Invalid T number
-5:
Invalid D number
-6:
Invalid DL number
-7:
Attempt to access non-existent memory module
-8:
Attempt to access a non-existent option (programmable tool orientation, tool man
agement).
-9:
The _COMP string contains a colon (identifier for the specification of a coordinate
system), but it is not followed by a valid character denoting the coordinate system.
_LEN[11]
Result vector
REAL
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1521
1522
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
INT
Internal T number of tool
If this parameter is not specified, or if its value is 0, the tool stored in _STAT is used.
If the value of this parameter is -1, the T number of the active tool is used. It is also possible
to specify the number of the active tool explicitly.
Note
If _STAT is not specified, the current status is used as the tool environment. Since _T = 0 refers
to the T number saved in the tool environment, the active tool is used in that environment, i.e.
parameters _T = 0 and _T = -1 have the same meaning in this special case.
_D
INT
Cutting edge of the tool. If this parameter is not specified, or if its value is 0, the D number
used is based on the source of the T number. If the T number from the tool environment is
used, the D number of the tool environment is also read, otherwise the D number of the
currently active tool is read.
_DL
INT
Number of the local compensation. If this parameter is not specified, the DL number used
is based on the source of the T number. If the T number from the tool environment is used,
the D number of the tool environment is also read, otherwise the D number of the currently
active tool is read.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1523
MD20360 $MC_TOOL_PARAMETER_DEF_MASK
The two least significant bits of this machine data specify how the wear (bit 0) and tool length
(bit 1) are to be evaluated if a diameter axis is used for turning and grinding tools.
If the bits are set, the associated entry is weighted with the factor 0.5. This weighting is reflected
in the tool length returned by GETTCOR.
Example:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK = 3 (definition of tool parameters).
MD20100 $MC_DIAMETER_AX_DEF="X" (Geometry axis with face axis funtion)
X is diameter axis (standard turning machine configuration):
N30
$TC_DP1[1.1] =
500
N40
$TC_DP2[1.1] =
N50
$TC_DP3[1.1] =
3.0
N60
$TC_DP4[1,1]=
4.0
N70
$TC_DP5[1,1]=
5.0
N80
$TC_DP12[1,1]=
12.0
N90
$TC_DP13[1,1]=
13.0
N100
$TC_DP14[1,1]=
14.0
N110
t1 d1 g18
N120
r1 = GETTCOR(_LEN, "GW")
N130
r3 = _LEN[2]
; Geometry L1
; Wear L1
N140
r4 = _LEN[3]
N150
r5 = _LEN[4]
N160
m30
1524
Vectors
l1 and l2
l1, l2 and l3
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Machine data
24
MD24550/24650 $MC_TRAFO5_BASE_TOOL_1/2
MD24560/24660 $MC_TRAFO5_JOINT_OFFSET_1/2
MD24558/24658 $MC_TRAFO5_PART_OFFSET_1/2
56
MD24550/24650 $MC_TRAFO5_BASE_TOOL_1/2
MD24560/24660 $MC_TRAFO5_JOINT_OFFSET_1/2
GETTCOR examples
GETTCOR(_LEN):
Calculates the tool length of the currently active tool in the machine
coordinate system allowing for all components.
GETTCOR(_LEN; "CGW :
W" ):
Calculates the tool length for the active tool, consisting of the adapter
or tool base dimension, geometry and wear. Further components, such
as toolholder with orientation capability or kinematic transformation, are
not considered. The workpiece coordinate system is used for the output.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1525
Calculates the complete tool length of the active tool without allowing
for the length components of an active kinematic transformation. Output
in the basic coordinate system.
GETTCOR(_LEN, ":M", "Tes Calculates the complete tool length in the machine coordinate system
tenv1",,3):
for the tool stored in the tool environment named "Testenv1". The cal
culation is performed for cutting edge number D3, regardless of the
cutting edge number stored.
Compatibility
The GETTCOR function is used in conjunction with the TOOLENV and SETTCOR functions to
replace parts of the functionality, which were previously implemented externally in the
measuring cycles.
Only some of the parameters, which actually determine the effective tool length, were
implemented in the measuring cycles. The above functions can be configured to reproduce
the behavior of the measuring cycles in relation to the tool length calculation.
18.12.7
SETTCOR function
The SETTCOR function is used to change tool components taking into account all general
conditions that can be involved when evaluating the individual components.
The SETTCOR function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Note
Regarding the terminology: If in the following, in conjunction with the tool length, tool
components are involved, then the components considered from a vectorial perspective are
meant, which make up the complete tool length, e.g. geometry or wear. Such a component
comprises three individual values (L1, L2, L3), which are called coordinate values in the
following.
The tool component "geometry" therefore comprises three coordinate values $TC_DP3 to
$TC_DP5.
Syntax:
Status = SETTCOR(_CORVAL, _COMP, _CORCOMP, _CORMODE, _GEOAX, _STAT,
_T, _D, _DL)
With the exception of the first two parameters (_CORVAL and _COMP) all of the param
eters can also be omitted.
Value/parameter:
Status
1526
INT
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
-2:
-3:
-4:
-5:
-6:
-7:
-8:
-9:
-10:
-11:
-12:
-13:
-14:
Function OK
No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
A tool environment with the name specified in _STAT does not exist.
Invalid string in parameter _COMP.
Causes of this error can be invalid characters or characters programmed twice.
Invalid T number.
Invalid D number.
Invalid DL number.
Attempt to access a non-existent memory module.
Attempt to access a non-existent option (programmable tool orientation, tool man
agement).
Illegal numerical value for the _CORCOMP parameter.
Illegal numerical value for the _CORMODE parameter.
The contents of the _COMP and _CORRCOMP parameters are contradictory.
The contents of the _COMP and _CORRMODE parameters are contradictory.
The content of the _GEOAX parameter does not designate a geometry axis.
Write attempt to a non-existent setup offset.
_CORVAL[3]
REAL
array
Designates the offset vector.
In this case, in the workpiece coordinate system (WCS) defined using _STAT the following
are assigned:
_CORVAL[0] of the abscissa
_CORVAL[1] of the ordinate
_CORVAL[2] of the applicate
If only one tool component is to be corrected (i.e. no vectorial correction, see parameter
_CORMODE), the correction value is always in _CORVAL[0], independent of the axis on
which it acts. The contents of the other two components are then not evaluated.
If _CORVAL or a component of _CORVAL refers to the transverse axis, then the data is
evaluated as radius dimension. This means that a tool is e.g. "longer" by the specified
dimension; this correspondingly results in a change to the workpiece diameter that is twice
as large.
The dimensions refer to the basic system (inch or metric) of the control system.
_COMP
STRING
String that comprises either one or two characters. The first or only character for the 1st
component (Val1) and the second character for the 2nd component (Val2), which are pro
cessed according to the subsequent parameters _CORCOMP and _CORMODE.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1527
1528
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
_CORMODE
INT
This parameter specifies the type of write operation to be executed.
If this parameter is not specified then its value is 0.
Meaning of the ones location:
0:Val1new = _CORVAL
1:Val1new = Val1old + _CORVAL
2:Val1new = _CORVAL
Val2new = 0
3:Val1new = Val1old + Val2old + _CORVAL
Val2new = 0
The notation Val1old + Val2old is symbolic. If the two components (due to the status of
_STAT) are evaluated in different ways, i.e. if a rotation is effective between the two com
ponents, then Val2old is transformed prior to addition so that the resulting tool length after
deleting Val2new and prior to the addition of _CORVAL remains unchanged.
_CORVAL always refers to Val1._CORVAL is a value that is always measured in the work
piece coordinate system (WCS). It is therefore already transformed with respect to the tool
components, in which it should be calculated. Therefore, it cannot be directly calculated
together with the saved value, but must be transformed back prior to adding to Val1 or
Val2.
This can mean that the offset acts on an axis different than the one defined by _COR
COMP or that it acts on several axes.
For the case CORRCOMP = 0, i.e. if _CORVAL does not contain a vector, but only an
individual value, then the described operations are executed in the coordinates in which
_CORVAL was measured (WCS). In particular, this also applies to setting Val2new to zero
in versions 2 and 3. This result is then transformed back into the coordinates of the tool.
This can mean that none of the coordinate values to be set to zero (L1, L2, L3) become
zero, or coordinate values, that were previously zero, are now not equal to zero. However,
if the corresponding operations are successively executed for all three geometry axes, then
all three coordinate values of the components to be deleted are always zero. If the tool is
not rotated with respect to the workpiece coordinate system or is rotated so that all tool
components remain parallel to the coordinate axes (axis exchange operations), then this
also ensures that only one tool coordinate changes.
The successive execution of the same operation (_CORRMODE) with _CORCOMP = 0 for
all three coordinate axes in any sequence is identical with the single execution of the same
operation with _CORCOMP = 1.
_T
INT
Internal T number of the tool. If this parameter is not specified or if its value is 0, then the
tool stored in _STAT is used. If the value of this parameter is -1, the T number of the active
tool is used. It is also possible to explicitly specify the number of the active tool.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1529
Note
If _STAT is not specified, the actual status is used as the tool environment. Since _T = 0 refers
to the T number saved in the tool environment, the active tool is used in this environment, i.e.
parameters _T = 0 and _T = -1 have the same meaning in this special case.
_D
INT
Cutting edge of the tool. If this parameter is not specified, or if its value is 0, the D number
used is based on the source of the T number. If the T number from the tool environment is
used, the D number of the tool environment is also read, otherwise the D number of the
currently active tool is read.
_DL
INT
Number of the offset dependent on the location. If this parameter is not specified, the DL
number used is based on the source of the T number. If the T number from the tool envi
ronment is used, the D number of the tool environment is also read, otherwise the D number
of the currently active tool is read. If T, D and DL specify a tool without location-dependent
offsets, no additive or setting-up offsets may be specified in parameter _COMP (error code
in "Status").
Not all possible combinations of the three parameters _COMP, _CORCOMP and
_CORMODE are sensible. For example, algorithm 3 in _CORCOMP requires that two
characters are specified in _COMP. If an invalid parameter combination is specified, then a
corresponding error code is returned in the status.
Note
Calculating the tool length depending on machine data MD20360
The two least significant bits of this machine data specify how the wear (bit 0) and tool length
(bit 1) are to be evaluated if a diameter axis is used for turning and grinding tools. If the
appropriate bits are set, then for the tool length calculation, a factor of 0.5 is applied to the
associated entry. The correction using SETTCOR is executed so that the total effective tool
length change is equal to the value transferred in _CORVAL.
The correction of the components, whose length is evaluated with a factor of 0.5 due to the
following machine data for the length calculation, must be realized using twice the transferred
value:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters)
Example 1
1530
N10
N20
$TC_DP1[1,1] =
120
; Milling tool
N30
$TC_DP3[1.1] =
10.0
; Geometry L1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
$TC_DP12[1,1]=
1.0
N50
_CORVAL[0] =
0.333
N60
t1 d1 g17 g0
N70
r1 = settcor(_CORVAL, "G", 0, 0, 2)
N80
t1 d1 x0 y0 z0
N90
M30
; Wear L1
; ==>
_CORCOMP is 0, therefore, the coordinate value of the geometry component acting in the Z
direction must be replaced by the offset value 0.333. The resulting total tool length is thus L1
= 0.333 + 1.000 = 1.333
Example 2
N10
N20
$TC_DP1[1,1] =
120
; Milling tool
N30
$TC_DP3[1.1] =
10.0
; Geometry L1
N40
$TC_DP12[1,1]=
1.0
; Wear L1
N50
_CORVAL[0] =
0.333
N60
t1 d1 g17 g0
N70
r1 = settcor(_CORVAL, "W", 0, 1, 2)
N80
t1 d1 x0 y0 z0
N90
M30
; ==>
_CORCOMP is 1, therefore, an offset value of 0.333 acting in the Z direction is added to the
wear value of 1.0.
Therefore, the resulting total tool length is L1 = 10.0 + 1.333 = 11.333.
18.13
LENTOAX function
The "LENTOAX" function provides information about the assignment of tool lengths L1, L2
and L3 of the active tool to the abscissa, ordinate and applicate. The assignment of abscissa,
ordinate and applicate to the geometry axes is affected by frames and the active plane (G17
- G19).
Only the geometry component of a tool ($TC_DP3[x,y] to $TC_DP5[x,y]) is considered, i.e. a
different axis assignment for other components (e.g. wear) has no effect on the result.
The "LENTOAX" function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = LENTOAX(_AXIND, _MATRIX, _COORD)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1531
Value/parameter:
Status
INT
0:
Function OK, information in _AXIND sufficient for description (all tool length compo
nents are parallel to the geometry axes).
1:
Function is OK, however, the content of _MATRIX must be evaluated for a correct
description (the tool length components are not parallel to the geometry axes).
-1:
Invalid string in parameter _COORD.
-2:
No tool active.
_AXIND[3]
INT
array
Indices 0 to 2 are assigned to the abscissa (0), ordinate (1) and applicate (2) (e.g. _AX
IND[0] contains the number of the tool length components, which are effective in the direc
tion of the abscissa).
The content has the following significance:
0:
Assignment exists (axis does not exist)
1 to 3:
Number of the length effective in the corresponding coordinate axis. The sign
or
is negative if the tool length component is pointing in the negative coordinate
-1 to -3:
direction.
_MATRIX[3][3]
REAL
array
Matrix which represents the vector of the tool lengths (L1=1, L2=1, L3=1) to the vector
of the coordinate axes (abscissa, ordinate, applicate), i.e. the tool length components are
assigned to the columns in the order L1, L2, L3 and the axes are assigned to the lines
in the order abscissa, ordinate, applicate.
All elements are always valid in the matrix, even if the geometry axis belonging to the
coordinate axis is not available, i.e. if the corresponding entry in _AXIND is 0.
_COORD
STRING
Specifies the coordinate system used for the assignment.
MCS or M:
The tool length is represented in the machine coordinate system.
BCS or B:
The tool length is represented in the basic coordinate system.
WCS or W:
The tool length is represented in the workpiece coordinate system
(default).
KCS or K:
The tool length is represented in the tool coordinate system of the
kinematic transformation.
TCS or T:
The tool length is represented in the tool coordinate system.
The notation of the characters in the string (upper or lower case) is arbitrary.
1532
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Further explanations
If the tool length components are parallel to the geometry axes, the axis indices assigned to
length components L1 to L3 are returned in the _AXIND array.
If a tool length component points in the negative axis direction, the associated axis index
contains a minus sign. In this case, the return value (status) is 0. If an axis does not exist, the
associated return value is 0. The assignment can also be read from the _MATRIX parameter.
Six of the nine matrix elements are then zero, and three elements contain the value +1 or -1.
Note
In the TCS, all tool length components are always parallel or antiparallel to the axes.
The components can only be antiparallel when mirroring is active and the following setting
data is activated:
SD42900 $SC_MIRROR_TOOL_LENGTH (sign change tool length when mirroring)
If not all length components are parallel or antiparallel to the geometry axes, the index of the
axis, which contains the largest part of a tool length component, is returned in _AXIND. In this
case (if the function does not return an error for a different reason), the return value is 1. The
mapping of tool length components L1 to L3 onto geometry axes 1 to 3 is then described
completely by the contents of the 3rd parameter _MATRIX.
The _COORD parameter can be used to specify, which coordinate system is to be used for
the geometry axes. If the _COORD parameter is not specified (notation LENTOAX(_AXIND,
_MATRIX)), the WCS is used (default).
Example:
Standard situation: milling tool with G17
L1 applies in Z (applicate), L2 applies in Y (ordinate), L3 applies in X (abscissa).
Function call in the form:
Status = LENTOAX(_AXIND, _MATRIX, "WCS")
The result parameter _AXIND contains the values:
_AXIND[0] = 3
_AXIND[1] = 2
_AXIND[2] = 1
Or, in short: ( 3, 2, 1)
In this case, the associated matrix _MATRIX is:
B0$75,;
A change from G17 to G18 or G19 does not alter the result, because the assignment of the
length components to the geometry axes changes in the same way as the assignment of the
abscissa, ordinate and applicate.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1533
B0$75,;
Note
For further information to the above mentioned coordinate systems, please refer to:
References:
Programming Manual, Job Planning; Tool Offsets:
18.14
Supplementary conditions
18.14.1
Grinding tools
Grinding tools (tool types 400-499) cannot be defined using the simple tool management
structure (flat D numbers).
Block search
T number output to PLC triggers a synchronization process in the NCK: with absolute, indirect
D programming, the PLC returns the D values via NC/PLC interfaces. The NCK waits until the
output of a T number is followed by a response from the PLC: "I have written the D number".
With block search without calculation, this process of synchronization must be deactivated
until the first valid T number has been output again. That means that the NCK must not wait
on D programming.
Note
At what point the auxiliary functions can be output to PLC after block search is complete, can
be controlled with the machine data:
$MC_AUXFU_AT_BLOCK_SEARCH_END (auxiliary function output after block search)
Automatic on end or on NC start.
1534
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
REORG
The (only) writable variable $A_MONIFACT, which is defined here, is stored by main-run data.
Since the write process takes place synchronously to the main run, no special measures are
required for Reorg.
18.14.2
SD42935 expansions
SD42935
Which of the wear components are to be transformed and which are not to be transformed in
conjunction with the functions TOWMCS and TOWWCS can be defined via the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of wear values)
18.15
Examples
18.15.1
18.15.1.1
Requirement
The following example uses a toolholder, which is described fully by a rotation about the Y
axis. It is therefore sufficient to enter only one value to define the rotary axis (block N20).
Blocks N50 to N70 describe an end mill with radius 5 mm and length 20 mm.
Block N90 defines a rotation of 37 degrees about the Y axis.
Block N120 activates the tool radius compensation and all settings are made to describe the
compensation in the following blocks with a rotation of 37 degrees about the Y axis.
N10
; Definition of toolholder 1
N20 $TC_CARR8[1] = 1
N30
N40
; End mill
N60 $TC_DP3[1,1] = 20
; Length 1
N70 $TC_DP6[1,1] = 5
; Radius
N80
N90 ROT Y37
N100
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1535
18.15.1.2
N30 MOVT=-10
N40 MOVT=AC(20)
; Tool length 13 mm
; Definition of toolholder 1:
1536
N30 $TC_CARR1[1] = 0
N40 $TC_CARR2[1] = 0
N50 $TC_CARR3[1] = 0
N60 $TC_CARR4[1] = 0
N70 $TC_CARR5[1] = 0
N90 $TC_CARR7[1] = 1
N100 $TC_CARR8[1] = 0
N110 $TC_CARR9[1] = 0
N120 $TC_CARR10[1] = 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
N140 $TC_CARR12[1] = 0
N150 $TC_CARR13[1] = 30
N170 $TC_CARR15[1] = 0
N180 $TC_CARR16[1] = 0
N190 $TC_CARR17[1] = 0
N200 $TC_CARR18[1] = 0
N210 $TC_CARR19[1] = 0
N220 $TC_CARR20[1] = 15
N230 $TC_CARR21[1] = A
N240 $TC_CARR22[1] = B
; Toolholder type
The definition of the toolholder with orientation capability is given in full. The components which
contain the value 0 need not actually be given, as they are preset to zero in any case.
The toolholder is activated in N270.
As $TC_CARR21 and $TC_CARR22 refer to the machine axes A and B and TCOABS is active,
the values in $TC_CARR13 and $TC_CARR14 are ignored, i.e. the axis position A0 B45 is
used for the rotation.
The rotation of the 4th offset vector (length 15 mm in Z direction) around the B axis causes an
offsetting of the zero point by X10.607 [= 15 * sin(45)] and Z-4.393 [= -15 * (1. - cos(45))]. This
zero offset is taken into account by an automatically written basic or system frame so that the
position X10.607 Y10.000 Z8.607 is approached. In the Z direction the tool selection leads to
an additional offset of 13 mm; the Y component is not affected by the table rotation.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1537
18.15.1.3
1538
N10
$TC_DP1[1,1]=120
N20
$TC_DP3[1,1]=10
N30
$TC_DPV [1,1] = 0
N40
$TC_DPV3[1,1] = 1
N50
$TC_DPV4[1,1] = 0
N60
$TC_DPV5[1,1] = 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
g17 f1000 x0 y0 z0 t1 d1
N80
movt=10
N80
m30
Description of example:
In N10 to N60, a milling tool is defined with length L1=10 (N20). The basic orientation is in the
bisector of the XZ plane N40 to N60.
In N70, the tool is activated and the zero position is approached. As a result of the tool length
the machine positions X0 Y0 Z10 are thus obtained in this block.
In N80 an incremental traversing motion is performed from 10 into tool direction. The resulting
axis positions are thus X7.071 Y0 Z17.071.
18.15.1.4
$TC_TP2[1] = "MillingTool"
; Name of identifier
N20
$TC_TP7[1]=9
; Location types
N30
$TC_TP8[1]=2
; D corr. D=1
N40
$TC_DP1[1,1]=120
N50
N60
$TC_DP12[1,1]= ; wear
N70
$TC_SCP13[1,1]=0.1
N80
$TC_ECP13[1,1]=0.01
N90
$TC_ADPTT[1]=5
; Adapter transformation
N100
$TC_ADPT1[1]=0.001
; Adapter dimension
; Magazine data
N110
$TC_MAP1[1]=3
N120
$TC_MAP2[1]="Revolver"
; Magazine name
N130
$TC_MAP3[1]=17
; Status of magazine
N140
$TC_MAP6[1]=1
; Dimension - line
N150
$TC_MAP7[1]=2
N160
$TC_MPP1[1,1]=1
; Location type
N170
$TC_MPP2[1,1]=9
; Location types
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1539
$TC_MPP4[1,1]=2
; Location state
N190
$TC_MPP7[1,1]=1
N200
$TC_MPP6[1,1]=1
; T number "MillingTool"
N210
$TC_MAP1[9999]=7
N220
$TC_MAP2[9999]="buffer"
; Magazine name
N230
$TC_MAP3[9999]=17
; Status of magazine
N240
$TC_MAP6[9999]=1
; Dimension - line
N250
$TC_MAP7[9999]=1
N260
$TC_MPP1[9999.1]=2
; Location type
N270
$TC_MPP2[9999.1]=9
; Location types
N280
$TC_MPP4[9999.1]=2
; Location state
N290
$TC_MPP5[9999,1]=1
; Spindle no. 1
N300
$TC_MDP2[1,1]=0
N310
$TC_CARR10[1] = 1
N320
$TC_CARR14[1] = 45
N330
$TC_CARR23[1] = "T"
; Tool mode
N340
Stopre
N350
$SC_WEAR_TRANSFORM = 'B101'
N360
T0 D0 DL=0
N370
ROT X30
N380
N390
T="MillingTool" X0 Y0 Z0 TOWSTD
N400
T="MillingTool" X0 Y0 Z0 TOWMCS
N410
T="MillingTool" X0 Y0 Z0 TOWWCS
N420
TCARR=1 X0 Y0 Z0
N430
G18 X0 Y0 Z0
N440
m30
; Definition of toolholder 1
1540
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
18.15.2
Example 3
N10
N20
$TC_DP1[1,1] = 120
; Milling tool
N30
$TC_DP3[1,1] = 10.0
; Geometry L1
N40
$TC_DP12[1,1] = 1.0
; Wear L1
N50
_CORVAL[0] = 0.333
N60
t1 d1 g17 g0
N70
r1 = settcor(_CORVAL, "GW", 0, 2, 2)
N80
t1 d1 x0 y0 z0
N90
M30
Example 4
N10
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1541
$TC_DP1[1,1] = 120
; Milling tool
N30
$TC_DP3[1,1] = 10.0
; Geometry L1
N40
$TC_DP12[1,1] = 1.0
; Wear L1
N50
_CORVAL[0] = 0.333
N60
t1 d1 g17 g0
N70
r1 = settcor(_CORVAL, "GW", 0, 3, 2)
N80
t1 d1 x0 y0 z0
N90
M30
_CORCOMP is 3, therefore, the wear value and compensation value are added to the geometry
component and the wear component is deleted. The resulting total tool length is thus L1 =
11.333 + 0.0 = 11.333.
Example 5
N10
N20
$TC_DP1[1,1] = 120
; Milling tool
N30
$TC_DP3[1,1] = 10.0
; Geometry L1
N40
$TC_DP12[1,1] = 1.0
; Wear L1
N50
_CORVAL[0] = 0.333
N60
t1 d1 g17 g0
N70
r1 = settcor(_CORVAL, "GW", 0, 3, 0)
N80
t1 d1 x0 y0 z0
N90
M30
_CORCOMP is 3, as in the previous example, but the compensation is now effective on the
geometry axis with index 0 (X axis). The tool components L3 are assigned to this geometry
axis due to G17 with a milling tool. Calling SETTCOR thus does not affect tool parameters
$TC_DP3 and $TC_DP12. Instead, the compensation value is entered in $TC_DP5.
Example 6
1542
N10
N20
$TC_DP1[1,1] = 500
; Turning tool
N30
$TC_DP3[1,1] = 10.0
; Geometry L1
N40
$TC_DP4[1,1] = 15.0
; Geometry L2
N50
$TC_DP12[1,1]= 10.0
; Wear L1
N60
$TC_DP13[1,1] =0.0
; Wear L2
N70
_CORVAL[0] = 5.0
N80
rot y 30
N90
t1 d1 g18 g0
N100
r1 = settcor(_CORVAL, "GW", 0, 3, 1)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
t1 d1 x0 y0 z0
N120
M30
The tool is a turning tool. A frame rotation is activated in N80, causing the basic coordinate
system (BCS) to be rotated in relation to the workpiece coordinate system (WCS). In the WCS,
the compensation value (N70) acts on the geometry axis with index 1, i.e., on the X axis
because G18 is active. Since "_CORRMODE = 3", the tool wear in the direction of the X axis
of the WCS must become zero once N100 has been executed. The contents of the relevant
tool parameters at the end of the program are thus:
$TC_DP3[1,1]
: 21.830
; Geometry L1
$TC_DP4[1,1]
: 21.830
; Geometry L2
$TC_DP12[1,1]
: 2.500
; Wear L1
$TC_DP13[1,1]
: -4.330
; Wear L2
The total wear including _CORVAL is mapped onto the X' direction in the WCS. This produces
point P2. The coordinates of this point (measured in X/Y coordinates) are entered in the
geometry component of the tool. The difference vector P2 - P1 remains in the wear. The wear
thus no longer has a component in the direction of _CORVAL.
3
3
3
B&259$/ HIIHFWLYHLQ;
GLUHFWLRQ
2ULJLQDOWRROOHQJWK
:HDU/ /
*HRPHWU\/ /
If the sample program is continued after N110 with the following instructions:
N120
_CORVAL[0] = 0.0
N130
r1 = settcor(_CORVAL, "GW", 0, 3, 0)
N140
t1 d1 x0 y0 z0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1543
The remaining wear is included completely in the geometry because the compensation is now
effective in the Z' axis (parameter _GEOAX is 0). Since the new compensation value is 0, the
total tool length and thus the position approached in N140 may not change. If _CORVAL were
not equal to 0 in N120, a new total tool length and thus a new position in N140 would result,
however, the wear component of the tool length would always be zero, i.e., the total tool length
is subsequently always contained in the geometry component of the tool.
The same result as that achieved by calling the SETTCOR function with the _CORCOMP = 0
parameter twice can also be reached by calling _CORRCOMP = 1 (vectorial compensation)
just once:
N10
N20
$TC_DP1[1,1] = 500
; Turning tool
N30
$TC_DP3[1,1] = 10.0
; Geometry L1
N40
$TC_DP4[1,1] = 15.0
; Geometry L2
N50
$TC_DP12[1,1]= 10.0
; Wear L1
N60
$TC_DP13[1,1] =0.0
; Wear L2
N70
_CORVAL[0] = 0.0
N71
_CORVAL[1] = 5.0
N72
_CORVAL[2] = 0.0
N80
rot y 30
N90
t1 d1 g18 g0
N100
r1 = settcor(_CORVAL, "GW", 1, 3, 1)
N110
t1 d1 x0 y0 z0
N120
M30
In this case, all wear components of the tool are set to zero immediately after the first call of
SETTCOR in N100.
Example 7
1544
N10
N20
$TC_DP1[1,1] = 500
; Turning tool
N30
$TC_DP3[1,1] = 10.0
; Geometry L1
N40
$TC_DP4[1,1] = 15.0
; Geometry L2
N50
$TC_DP12[1,1]= 10.0
; Wear L1
N60
$TC_DP13[1,1] =0.0
; Wear L2
N70
_CORVAL[0] = 5.0
N80
rot y 30
N90
t1 d1 g18 g0
N100
r1 = settcor(_CORVAL, "GW", 3, 3)
N110
t1 d1 x0 y0 z0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Example 8
N10
N20
$TC_DP1[1,1] = 500
; Turning tool
N30
$TC_DP3[1,1] = 10.0
; Geometry L1
N40
$TC_DP4[1,1] = 15.0
; Geometry L2
N50
$TC_DP5[1,1] = 20.0
; Geometry L3
N60
$TC_DP12[1,1]= 10.0
; Wear L1
N70
$TC_DP13[1,1] =0.0
; Wear L2
N80
$TC_DP14[1.1] =0.0
; Wear L3
N90
$SC_WEAR_SIGN = TRUE
N100
_CORVAL[0] = 10.0
N110
_CORVAL[1] = 15.0
N120
_CORVAL[2] = 5.0
N130
rot y 30
N140
t1 d1 g18 g0
N150
r1 = settcor(_CORVAL, "W", 1, 1)
N160
t1 d1 x0 y0 z0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1545
*HRPHWU\
/ /
5HVXOWLQJZHDUFRPSRQHQW
3
3
B&259$/<
;
=
:HDU/ /
QHJDWLYHHYDOXDWLRQ
3
2ULJLQDOWRROOHQJWK
=
The geometry component of the tool remains unchanged due to _CORMODE = 1. The
compensation vector defined in the WCS (rotation about y axis) must be included in the wear
component such that the total tool length in the figure refers to point P2. Therefore, the resulting
wear component of the tool is given in relation to the distance between points P1 and P2.
However, since the wear is evaluated negatively, due to setting data SD42930, the
compensation determined in this way has to be entered in the compensation memory with a
negative sign. The contents of the relevant tool parameters at the end of the program are thus:
$TC_DP3[1,1]
10.000
; Geometry L1 (unchanged)
$TC_DP4[1,1]
15.000
; Geometry L2 (unchanged)
$TC_DP5[1,1]
10.000
; Geometry L3 (unchanged)
$TC_DP12[1,1]
2.010
; Wear L1
;(= 10 -15*cos(30) + 10*sin(30))
$TC_DP13[1,1]
: -16.160
; Wear L2
;(= -15*sin(30) - 10*cos(30))
$TC_DP14[1,1]
-5.000
; Wear L3
The effect of setting data SD42930 on the L3 component in the Y direction can be recognized
without the additional complication caused by the frame rotation.
Example 9:
2 (tool length must be valued in the diameter axis with the factor 0.5) is the value of machine
data:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters).
1546
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
N20
N30
$TC_DP1[1,1]= 500
N40
$TC_DP2[1,1]= 2
N50
$TC_DP3[1,1]= 3.
N60
$TC_DP4[1,1]= 4.
N70
$TC_DP5[1,1]= 5.
N80
_CORVAL[0] = 1.
N90
_CORVAL[1] = 1.
N100
_CORVAL[2] = 1.
N110
t1 d1 g18 g0 x0 y0 z0
N120
r1 = settcor(_CORVAL, "g", 1, 1)
N130
t1 d1 x0 y0 z0
N140
r3 = $TC_DP3[1,1]
; = 5. = (3.000 + 2. * 1.000)
N150
r4 = $TC_DP4[1,1]
; = 5. = (4.000 + 1.000)
N160
r5 = $TC_DP5[1.1]
; = 6. = (5.000 + 1.000)
N170
m30
18.16
Data lists
18.16.1
Machine data
18.16.1.1
Number
Identifier: $MN_
Description
18082
MM_NUM_TOOL
18088
MM_NUM_TOOL_CARRIER
18094
MM_NUM_CC_TDA_PARAM
18096
MM_NUM_CC_TOA_PARAM
18100
MM_NUM_CUTTING_EDGES_IN_TOA
18102
MM_TYPE_OF_CUTTING_EDGE
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1547
Identifier: $MN_
Description
18105
MM_MAX_CUTTING_EDGE_NO
18106
MM_MAX_CUTTING_EDGE_PERTOOL
18108
MM_NUM_SUMCORR
18110
MM_MAX_SUMCORR_PER_CUTTEDGE
18112
MM_KIND_OF_SUMCORR
18114
MM_ENABLE_TOOL_ORIENT
18116
MM_NUM_TOOL_ENV
18.16.1.2
Number
Identifier: $MC_
Description
20096
T_M_ADDRESS_EXT_IS_SPINO
20110
RESET_MODE_MASK
20120
TOOL_RESET_VALUE
20121
TOOL_PRESEL_RESET_VALUE
20125
CUTMOD_ERR
20126
TOOL_CARRIER_RESET_VALUE
20127
CUTMOD_INIT
20130
CUTTING_EDGE_RESET_VALUE
20132
SUMCORR_RESET_VALUE
20140
TRAFO_RESET_VALUE
20180
TOCARR_ROT_ANGLE_INCR[i]
20182
TOCARR_ROT_ANGLE_OFFSET[i]
20184
TOCARR_BASE_FRAME_NUMBER
20188
TOCARR_FINE_LIM_LIN
20190
TOCARR_FINE_LIM_ROT
20202
WAB_MAXNUM_DUMMY_BLOCKS
20204
WAB_CLEARANCE_TOLERANCE
20210
CUTCOM_CORNER_LIMIT
20220
CUTCOM_MAX_DISC
20230
CUTCOM_CURVE_INSERT_LIMIT
20240
CUTCOM_MAXNUM_CHECK_BLOCKS
20250
CUTCOM_MAXNUM_DUMMY_BLOCKS
20252
CUTCOM_MAXNUM_SUPPR_BLOCKS
1548
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Identifier: $MC_
Description
20256
CUTCOM_INTERS_POLY_ENABLE
20270
CUTTING_EDGE_DEFAULT
20272
SUMCORR_DEFAULT
20360
TOOL_PARAMETER_DEF_MASK
20390
TOOL_TEMP_COMP_ON
20392
TOOL_TEMP_COMP_LIMIT
20610
ADD_MOVE_ACCEL_RESERVE
21080
CUTCOM_PARALLEL_ORI_LIMIT
22530
TOCARR_CHANGE_M_CODE
22550
TOOL_CHANGE_MODE
22560
TOOL_CHANGE_M_CODE
22562
TOOL_CHANGE_ERROR_MODE
24558
TRAFO5_JOINT_OFFSET_PART_1
24658
TRAFO5_JOINT_OFFSET_PART_2
28085
MM_LINK_TOA_UNIT
18.16.1.3
Number
Identifier: $MA_
Description
32750
TEMP_COMP_TYPE
18.16.2
Setting data
18.16.2.1
Number
Identifier: $SC_
Description
42442
TOOL_OFFSET_INCR_PROG
42470
CRIT_SPLINE_ANGLE
42480
STOP_CUTCOM_STOPRE
42494
CUTCOM_ACT_DEACT_CTRL
42496
CUTCOM_CLSDT_CONT
42900
MIRROR_TOOL_LENGTH
42910
MIRROR_TOOL_WEAR
42920
WEAR_SIGN_CUTPOS
42930
WEAR_SIGN
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1549
Identifier: $SC_
Description
42935
WEAR_TRANSFORM
42940
TOOL_LENGTH_CONST
42950
TOOL_LENGTH_TYPE
42960
TOOL_TEMP_COMP
42974
TCARR_FINE_CORRECTION
42984
CUTDIRMOD
18.16.3
Signals
18.16.3.1
Signal name
SINUMERIK 840D sl
SINUMERIK 828D
T function 1 change
D function 1 change
T function 1
DB250x.DBD2000
D function 1
DB250x.DBD5000
DB350x.DBB6
DB350x.DBB15
DB350x.DBB16
DB350x.DBB17
DB350x.DBB22
1550
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19
19.1.1
DB10
DBX56.4 - DBX56.7
Edge evaluation: No
Significance of signal Depending on the key-operated switch position, access to certain elements in the NCK can be ena
bled or disabled.
Key-operated switch position 0 represents the lowest access rights
Key-operated switch position 3 represents the highest access rights
The NC/PLC interface signals of key-operated switch positions 1 to 3 can either be directly specified
from the key-operated switch on the machine control panel or from the PLC user program.
It is only permissible to set one bit. If several bits are set simultaneously, the control internally activates
switch position 3.
Key-operated switch position
Corresponding to ...
DBX56.7
DBX56.6
DBX56.5
DBX56.4
Machine data for protection levels: MD11612, MD51044 - MD51064, MD51070 - MD51073,
MD51199 - MD51211, MD51215 - MD51225, MD51235
Disabling using a password
19.1.2
DB10
DBX103.0
Edge evaluation: No
Signal state 1 or edge Remote diagnosis (optional) is active, i.e. the control is operated via an external PC.
change 0 1
Signal state 0 or edge
change 1 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1551
DB10
DBX103.5
AT box ready
Edge evaluation: No
Signal state 1 or edge
change 0 1
Signal state 0 or edge The AT box is not ready. An expansion module conforming to the AT specification has either no
change 1 0
functionality or restricted functionality.
DB10
DBX103.6
Edge evaluation: No
Signal state 1 or edge
change 0 1
Signal state 0 or edge The temperature range was either exceeded, or the temperature fell below the limit.
change 1 0
The temperature monitor has responded and the PCU is disabled.
DB10
DBX103.7
Edge evaluation: No
Signal state 1 or edge The battery monitor has responded. Power failure can cause the loss of recently changed data and
change 0 1
a correct device configuration. An appropriate alarm is issued. The buffer battery should be checked.
An insufficient battery voltage also affects the current time on the user interface.
Signal state 0 or edge
change 1 0
19.1.3
DB10
DBX104.7
Edge evaluation: No
Signal state 1
1552
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Signal state 0
DB10
DBX108.3
Edge evaluation: No
Signal state 1
Signal state 0
DB10
DBX108.5
Edge evaluation: No
Signal state 1
For all machine axes of the NC, the corresponding drives are in the cyclic operation, i.e. they cyclically
exchange PROFIdrive telegrams with the NC.
Signal state 0
For at least one machine axis of the NC, the corresponding drive is not in cyclic operation, i.e. it is
not cyclically exchanging PROFIdrive telegrams with the NC.
DB10
DBX108.6
Edge evaluation: No
Signal state 1
Drive ready
Signal(s) updated: Cyclically
For all machine axes of the NC, the corresponding drives are ready:
DB31, ... DBX93.5 == 1 (DRIVE ready)
Signal state 0
For at least one machine axis of the NC, the corresponding drive is not ready:
DB31, ... DBX93.5 == 0 (DRIVE ready)
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1553
DB10
DBX108.7
NC ready
Edge evaluation: No
Signal state 1
Signal state 0
The controller is not ready. The relay contact "NC Ready" is open.
The following faults will cause NC Ready to be canceled:
Undervoltage and overvoltage monitoring function has responded
Individual components are not ready (NCK CPU Ready)
NCK CPU watchdog
If the signal "NC Ready" goes to 0 the following measures are introduced by the controller if they are
still possible:
The controller enable signals are withdrawn (this stops the drives)
The following measures are introduced by the PLC basic program:
Status signals from NCK to PLC (user interface) are deleted (cleared)
DB10
DBX109.0
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
1554
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB10
DBX109.5
Edge evaluation: No
Signal state 1
In the NCU, the limit values of the heat sink temperature was exceeded.
The heat sink temperature has been activated and a steady operation of the operator panel is no
longer guaranteed.
Signal state 0
The heat sink monitoring function of the NCU has not responded.
DB10
DBX109.6
Edge evaluation: No
Signal state 1
Signal state 0
Neither the temperature monitoring nor the fan monitoring has responded.
Application exam
ple(s)
Appropriate measures can be initiated by the PLC user program if the temperature or fan monitoring
is activated.
Corresponding to ...
When a temperature or fan error responds, a relay contact (terminal 5.1, 5.2 or 5.1, 5.3) in the infeed/
regenerative feedback unit is activated. This can be evaluated.
DB10
DBX109.7
Edge evaluation: No
Signal state 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1555
Signal state 0
The battery voltage is above the lower limit value (normal condition).
Special cases, er
rors, ...
The NCK batteries should only be replaced while the NC is switched on to avoid data loss because
of no memory backup.
19.1.4
DB19
DBX0.0
Screen bright
Edge evaluation: No
Corresponding to ...
DB19
DBX0.1
Darken screen
Edge evaluation: No
Signal state 1 or edge
change 0 1
Signal state 0 or edge The screen is controlled by the PLC user program "bright".
change 1 0
In this signal state, the screen brightening/darkening setting can be derived by the control via the
keyboard automatically.
The screen is darkened if no key is pressed for a period defined via the following machine data on
the keyboard:
MD9006 $MM_DISPLAY_BLACK_TIME (time to darken the screen)
The screen is brightened the next time a key on the operator panel front is pressed.
Application exam
ple(s)
Screen saver
Special cases,
errors, ....
Notice:
The keyboard of the operator panel front continues to be effective if the interface signal:
DB19 DBX0.1 (darken screen) = 1
We therefore recommend that this is disabled using the interface signal:
DB19 DBX0.2 (key disable)
Corresponding to ...
1556
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB19
DBX0.2
Key disable
Edge evaluation: No
Signal state 1 or edge
change 0 1
If the screen is darkened with the interface signal: DB19 DBX0.1 (darken screen), the keyboard
should be actuated simultaneously with the interface signal: DB19 DBX0.2 (key disable) to avoid an
unintended operation.
Corresponding to ...
DB19
DBX0.3
Edge evaluation: No
Functionality
Corresponding to ...
DB19
DBX0.4
Edge evaluation: No
Signal state 1 or edge
change 0 1
Signal state 0 or edge Clear error key on the machine control panel is not pressed.
change 1 0
Application exam
ple(s)
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1557
DB19
DBX0.7
Edge evaluation: No
Signal state 1 or edge
change 0 1
Signal state 0 or edge This means that when the machine area is selected the coordinate system previously selected (WCS
change 1 0
or MCS) is reactivated and displayed.
Application exam
ple(s)
Using the interface signal:DB19, DBX0.7 (actual value in WCS) = 1 each time that the machine area
is re-selected, the workpiece coordinate system display frequently required by the operator (WCS),
is selected.
Corresponding to ...
DB19
DBB6
Edge evaluation: No
DB19
DBB7
Edge evaluation: No
DB19
DBB8
Edge evaluation: No
DB19
DBB10
Edge evaluation: No
Signal state 1 or edge
change 0 1
DB19
DBX13.5
Edge evaluation: No
Signal state 1 or edge
change 0 1
1558
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Unload inactive
Application exam
ple(s)
DB19
DBX13.6
Edge evaluation: No
Signal state 1 or edge
change 0 1
DB19
DBX13.7
Edge evaluation: No
Signal state 1 or edge
change 0 1
DB19
DBX14.0 - DBX14.6
PLC index
Edge evaluation: No
Description
This byte for control of the RS-232-C describes the PLC index for the standard control file that speci
fies the axis, channel or TO number.
Application exam
ple(s)
Dependent on:
DB19 DBX14.7=0 Act. FS: PLC index that specifies axis, channel or TO No.
DB19 DBX14.7=1 Pas. FS: PLC index for the user control file
DB19
DBX14.7
Edge evaluation: No
Signal state 1 or edge
change 0 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1559
DB19
DBB15
Edge evaluation: No
Description
This byte to control the RS-232-C interface defines the line of the standard or user control file in which
the control file to be transferred is specified.
Application exam
ple(s)
Dependent on:
DB19 DBX14.7=0 Act. FS: PLC line offset in a standard control file
DB19 DBX14.7=1 Pas. FS: PLC line offset in a user control file
DB19
DBX16.0 - DBX16.6
Edge evaluation: No
Description
This byte for controlling file transfer via hard disk defines the index for the control file (job list).
Application exam
ple(s)
Dependent on:
DB19 DBX14.7=0 Act. FS: PLC index for the standard control file
DB19 DBX14.7=1 Pas. FS: PLC index for the user control file
DB19
DBX16.7
Edge evaluation: No
Signal state 1 or edge
change 0 1
DB19
DBB17
Edge evaluation: No
Description
This byte for controlling file transfer via the hard disk defines the line of the user control file in which
the control file to be transferred is located.
Application exam
ple(s)
Dependent on:
DB19 DBX14.7=0 Act. FS: PLC line offset in a standard control file
DB19 DBX14.7=1 Pas. FS: PLC line offset in a user control file
DB19
DBX44.0
Edge evaluation: No
Signal state 1 or edge
change 0 1
1560
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB19
DBX45.0
Edge evaluation: No
DB19
DBX45.1
Edge evaluation: No
DB19
DBX45.2
Edge evaluation: No
DB19
DBX45.3
Edge evaluation: No
19.1.5
DB19
DBX20.1
Edge evaluation: No
Screen dark
Signal(s) updated: Cyclically
Signal state 1
Signal state 0
Application exam
ple(s)
Using this IS, the PLC can identify whether the screen was switched dark using the interface signal:
DB19, DBX0.1 (darken screen)
or using the machine data:
MD9006 $MM_DISPLAY_BLACK_TIME (screen blanking time)
.
Corresponding to ...
DB19
DBX20.3
Edge evaluation: No
Signal state 1
Signal state 0
Application exam
ple(s)
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1561
DB19
DBX20.4
Edge evaluation: No
Signal state 1
Signal state 0
Application exam
ple(s)
DB19
DBX20.6
Simulation active
Edge evaluation: No
Signal state 1
On entry to simulation = 1
Signal state 0
Application exam
ple(s)
DB19
DBX20.7
Edge evaluation: No
Signal state 1
The coordinate system is switched over from workpiece coordinate system (WCS) to machine coor
dinate system (MCS) or from MCS to WCS.
After it has been set, the signal is active for one PLC cycle.
Signal state 0
No effect
Application exam
ple(s)
Corresponding to ...
DB19
DBB22
Edge evaluation: No
DB19
DBB24
Edge evaluation: No
DB19
DBX26.1
Edge evaluation: No
Signal state 1
1562
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Signal state 0
Additional references Commissioning Manual, SINUMERIK Operate (IM9), Section "PLC functions" > "Program selection"
Corresponding to ...
DB19
DBX26.2
Edge evaluation: No
Signal state 1
Signal state 0
Additional references Commissioning Manual, SINUMERIK Operate (IM9), Section "PLC functions" > "Program selection"
Corresponding to ...
DB19
DBX26.3
Edge evaluation: No
Signal state 1
Job in progress
Signal state 0
No job in progress
Additional references Commissioning Manual, SINUMERIK Operate (IM9), Section "PLC functions" > "Program selection"
Corresponding to ...
DB19
DBX26.5
Edge evaluation: No
Signal state 1
Unload active
Signal state 0
Unload inactive
Additional references Commissioning Manual, SINUMERIK Operate (IM9), Section "PLC functions" > "Program selection"
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1563
DB19
DBX26.6
Edge evaluation: No
Signal state 1
Load active
Signal state 0
Load inactive
Additional references Commissioning Manual, SINUMERIK Operate (IM9), Section "PLC functions" > "Program selection"
Corresponding to ...
DB19
DBX26.7
Edge evaluation: No
Signal state 1
Selection active
Signal state 0
Selection inactive
Additional references Commissioning Manual, SINUMERIK Operate (IM9), Section "PLC functions" > "Program selection"
Corresponding to ...
DB19
DBB27
Edge evaluation: No
Description
Meaning
No error
Invalid number for the control file (value in DB19.DBB16 < 127 or invalid)
Additional references Commissioning Manual, SINUMERIK Operate (IM9), Section "PLC functions" > "Program selection"
Corresponding to ...
1564
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19.1.6
DB21, ...
DBX6.2
Edge evaluation: No
Signal state 1 or edge
change 0 1
No effect
Special cases,
errors, ....
Corresponding to ...
19.1.7
DB21, ...
DBX36.6
Edge evaluation: No
Signal state 1 or edge
change 0 1
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1565
DB21, ...
DBX36.7
Edge evaluation: No
Signal state 1 or edge
change 0 1
Signal state 0 or edge There is no alarm active in this channel that is causing a processing stop.
change 1 0
Application exam
ple(s)
With this alarm a program interruption because of an NCK alarm can be recognized immediately by
the PLC user program and the necessary steps introduced.
Corresponding to ...
19.1.8
DB31, ...
DBX1.0
Edge evaluation: No
Signal state 1
Signal state 0
Traversing motions of the axis are disabled for the drive test.
1566
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX1.3
Edge evaluation: No
Axis/spindle disable
Signal(s) updated: Cyclically
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1567
Axis/spindle disable
Signal state 1
Axis
No setpoints are output to the position controller, i.e. the axis traversing movement is disabled.
The axis is in closed-loop position control and any remaining following error is compensated.
If the axis is traversed via an NC program or manually, the set position and set velocity are
displayed as actual position and actual velocity on the user interface. With channel reset or end
of program (M30/M2), the display of the actual value is set to the actual value of the machine axis.
Travel commands are output to the NC/PLC interface.
For a traversing axis, the axis is stopped in compliance with the braking characteristic and an
alarm is displayed.
Spindle
No setpoints are output on the speed controller during open-loop control mode.
No setpoints are output on the position controller during positioning mode.
The traversing motion of the spindle is disabled. The speed setpoint is displayed as the actual
speed value on the user interface.
If the interface signal is set for a rotating spindle, the spindle is stopped in compliance with the
acceleration characteristic and an alarm is displayed.
Structure graphic
'%'%;
D[LVVSLQGOHGLVDEOH
3RVLWLRQ
VHWSRLQW
3RVLWLRQ
FRQWUROOHU
QVHW
QDFW
6SHHG
FRQWUROOHU
LVHW
LDFW
&XUUHQW
FRQWUROOHU
0RWRU
(Q
FRGHU
$FWXDOSRVLWLRQYDOXH
Note
If one of the following interface signals is set for a traversing axis/spindle for which "Axis/spindle
disable" is active, the axis/spindle is not stopped:
DB21, ... DBX12.3, 16.3 and 20.3 (feedrate stop for geometry axes 1, 2 and 3)
DB21, ... DBX320.3, 324.3 and 328.3 (feedrate stop for orientation axes 1, 2 and 3)
The axis/spindle can still be switched to the "hold" or "follow up" state with DB31, ... DBX1.4
(follow-up mode).
If "Axis/spindle disable" is briefly set for a traversing axis, the axis is stopped without an alarm.
With the next travel request, the axis is traversed to the programmed position.
Example:
N10 G0 X0 Y0
N20 G1 F1000 X100
N30 Y100
N40 X200
Regarding N20: At position 20 mm,"Axis/spindle disable" is briefly set for axis X axis X is stopped
1568
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Axis/spindle disable
Regarding N40: Axis X traverses from the last position (approx. 20 mm) to the programmed
position 200 mm.
Effects of "Axis/spindle disable" for spindle or axis couplings:
LS/LA1)
FS/FA2)
Coupl.3)
Effect
Off
Off
Off
Off
On
On
On
On
No setpoint output
1) Status of the interface signal DB31, ... DBX99.0 (leading spindle/axis active)
2) Status of the interface signal DB31, ... DBX99.1 (following spindle/axis active)
3) Status of the coupling between leading and following spindle/axis
Signal state 0
The reset of the interface signal does not take effect until the axis/spindle is stationary.
Axis
Setpoints are output on the position controller again immediately after the reset of the interface
signal.
Spindle
After the reset of the interface signal, the spindle disable which is still effective internally must be
cancelled by an axis-specific reset, channel reset or end of program (M30/M2). Only then are
setpoints output on the speed controller again.
Application exam
ple(s)
Corresponding to ...
DB31, ...
DBX1.4
Follow-up mode
Edge evaluation: No
Signal state 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1569
Follow-up mode
Signal state 0
Special cases,
errors, ....
If the controller enable is cancelled in the control because of faults, the "hold" state should be activated
for the axis before the NC start after the queued alarms have been successfully deleted, and the
accompanying controller enable set: DB31, ... DBX1.4 = 0 (follow-up mode).
Otherwise, for an NC Start and active follow-up mode, the traversing distance of the previous NC
block would not be executed due to the internal delete distance-to-go.
Notice:
During the transition from the "follow-up" state to the "hold" state or when the controller enable is set
in position control, delete distance-to-go is activated in the control. As a consequence, a traversing
block in which only this axis is traversed, is terminated directly.
Corresponding to ...
DB31, ...
DBX1.5 - DBX1.6
Edge evaluation: No
Signal state 1
Signal state 0
1570
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
PMS1
PMS2
Effect
Position measuring system 1 is active:
Position control of the machine axis via position measuring system 1.
Monitoring functions (measuring system, standstill, clamping monitoring,
contour deviation, etc.) of the machine axis via position measuring system 1.
If position measuring system 2 exists (MD30200 $MA_NUM_ENCS == 2), its
actual position value is acquired, but not monitored by any of these functions.
Position measuring systems 1 and 2 are inactive ("parking" of the machine axis):
There is no actual value acquisition.
The monitoring of the position measuring system has been deactivated.
The following interface signals are reset:
Notes
If the interface signal of the active position measuring system is reset for a traversing axis, the
axis is stopped with a ramp stop without the controller enable being cancelled internally.
If a speed-controlled spindle does not have a position measuring system, the "Controller enable"
interface signal must be set:
DB31, ... DBX2.1 == 1 (controller enable)
After deactivation of the "parking" state, incremental position measuring systems have to be
referenced to achieve the "referenced" encoder status.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1571
Special cases,
errors, ....
If the "parking" state is active, the following interface signal is ignored at NC start for this axis:
DB31, ... DBX60.4 / 5 (referenced/synchronized 1 / 2).
Corresponding to ...
Additional references Function Manual, Basic Functions; Velocities, Setpoint / Actual Value Systems, Closed-Loop Control
(G2)
1572
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX2.1
Controller enable
Edge evaluation: No
Signal state 1
Signal state 0
For DB31, ... DBX1.4 == 1 (follow-up mode) position setpoint = actual position value
Axis/spindle traverses
Independent of the interface signal DB31, ... DBX1.4 (follow-up mode), the position setpoint
is corrected at the end of the braking operation (position setpoint = actual position value) and
the feedback signal DB31, ... DBX61.3 = 1 (follow-up mode) is set.
Note
The current set position is retained in the control when "Controller enable" is reset and "Follow-up
mode" (DB31, ... DBX1.4 == 0) is not set. If the axis is moved in this state, e.g. manually, the difference
between the set position and the actual position increases constantly (following error). The following
error is suddenly corrected to zero when the "Controller enable" is set (speed setpoint jump).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1573
Controller enable
Mechanical clamping of an axis
If the axis is positioned at the clamping position, the clamping is closed. The controller enable is then
reset. Otherwise, the position controller would constantly work against the clamping, if the axis was
moved mechanically from its specified position during the clamping operation.
When the clamping is removed, the controller enable is set first and then the mechanical clamping is
released.
Special cases,
errors, ....
As long as the travel request is present, the axis/spindle is traversed immediately when the
controller enable is set.
When the controller enable is reset for a traversing geometry axis, this always results in a contour
violation.
Corresponding to ...
DB31, ...
DBX2.2
Edge change
10
No effect
Application exam
ple(s)
1574
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Corresponding to ...
DB31, ...
DBX9.0 - DBX9.2
Edge evaluation: No
Meaning
Signal irrelevant
for ...
MD35590 $MA_PARAMSET_CHANGE_ENABLE = 0
Corresponding to ...
DB31, ...DBX69.0, .1, ..2 (feedback: Active position controller parameter set)
Additional references CNC Commissioning Manual: NCK, PLC, Drive, Section "Commissioning NCK" >
Edge evaluation: No
DB31, ...
DBX9.3
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1575
DB31, ...
DBX20.1
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
Remark
A PROFIDrive telegram compatible with the "SIMODRIVE 611 universal" interface mode must be set
in the drive.
See drive parameters: p0922 and p2038
DB31, ...
DBX21.0 - DBX21.4
Edge evaluation: No
Meaning
Remark
Application exam
ple(s)
For example, it is possible to switch between operating mode 1 (star operation) and operating mode
2 (delta operation) for a main spindle drive (MSD) by switching over the motor data set.
It may be necessary to switch over the drive parameter set, for:
Gear stage change
Changing the measuring circuit
Special cases,
errors, ....
In principle it is possible to switch over drive parameter sets at any time. However, as torque jumps
can occur when switching over speed controller parameters and motor speed normalization, param
eters should only be switched over in stationary states, especially axis standstill.
As soon as the request to switch over to another motor data set is identified, the pulses enable is
reset.
Corresponding to ...
Additional references Function Manual, Basic Functions, Chapter "A2: Various NC/PLC interface signals and functions"
> "Switchover motor/drive data sets"
CNC Commissioning Manual: NCK, PLC, Drive
1576
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX21.5
Edge evaluation: No
Signal state 1
Signal state 0
The necessary electrical (e.g. contactor switchover for star-delta switchover) and/or mechanical
switchovers are not complete. The axis must not traverse. The pulses are not enabled by the drive.
Corresponding to ...
Additional references Function Manual, Basic Functions, Chapter "A2: Various NC/PLC interface signals and functions"
> "Switchover motor/drive data sets"
CNC Commissioning Manual: NCK, PLC, Drive
DB31, ...
DBX21.6
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
DB31, ...
DBX21.7
Edge evaluation: No
Signal state 1
Pulse enable
Signal(s) updated: Cyclically
The pulses are enabled for the drive.
The pulse enable is only performed in the drive when the drive signals readiness:
DB31, ... DBX93.5 == 1 (feedback: Drive ready)
Signal state 0
Application exam
ple(s)
Special cases,
errors, ....
If the pulse enable is removed during motion (e.g. emergency stop), the axis/spindle is no longer
braked under control. The axis coasts to standstill.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1577
Pulse enable
Corresponding to ...
19.1.9
DB31, ...
DBX61.0
Edge evaluation: No
Signal state 1
Signal state 0
1578
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX61.3
Edge evaluation: No
Signal state 1
Signal state 0
The control signals that follow-up mode for the axis/spindle is not active.
Zero speed and clamping monitoring are active.
This means that the requirements specified above are not fulfilled.
In the "hold" state, the interface signal:
DB31, ... DBX61.3 (follow-up active)
is 0.
Special cases,
errors, ....
Notice:
A delete distance-to-go is triggered internally in the control on transition from "Follow up" to "Hold"
(IS "Follow-up mode" = 0) or in the closed-loop control mode (IS "Controller enable" = 1).
Corresponding to ...
DB31, ...
DBX61.4
Edge evaluation: No
Signal state 1
The current speed of the axis or the actual number of rotations of the spindle lies below the limit given
by the machine data:
MD36060 $MA_STANDSTILL_VELO_TOL
(maximum velocity/speed for signal "Axis/spindle stationary").
Signal state 0
The current velocity of the axis or the actual spindle speed is greater than the value specified in the
MD (standstill range).
If a travel command is present, e.g. for a spindle, then the signal is always = 0 - even if the actual
speed lies below that specified in MD36060.
If the interface signal:
DB31, ... DBX61.4 (axis/spindle stationary)
is signaled and there is no closed-loop position control active for the spindle, then at the MMC, an
actual speed of zero is displayed and with the system variable $AA_S[n] zero is read.
Application exam
ple(s)
Corresponding to ...
MD36060 $MA_STANDSTILL_VELO_TOL
(maximum velocity/speed for signal "Axis/spindle stationary")
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1579
DB31, ...
DBX61.5
Edge evaluation: No
Signal state 1
The control signals that the position controller for the axis or spindle is closed.
Signal state 0
The control signals that the position controller for the axis or spindle is open.
If "controller enable" is canceled because of a fault or from the PLC user program the position con
troller is opened and therefore the interface signal
DB31, ... DBX61.5 (position controller active)
is set to 0.
Spindle without position control: Signal "Position controller active" is always "0".
See References for other effects.
Application exam
ple(s)
If the position control is active the axis/spindle is kept in position by the position controller.
Any brakes or clamps can thus be opened.
The interface signal:
DB31, ... DBX61.5 (position controller active)
can be used as feedback signal for the interface signal:
DB31, ... DBX2.1 (controller enable).
The holding brake of a vertical axis must be activated as soon as the position control is no longer
active.
If a spindle has been technically designed/dimensioned for the purpose, in the part program, it can
be changed-over into the closed-loop position controlled mode as spindle or as axis (with SPCON or
M70).
In these cases, the interface signal "position controller active" is set.
Special cases,
errors, ....
Corresponding to ...
DB31, ...
DBX61.6
Edge evaluation: No
Signal state 1
The control signals that the speed controller is closed for the axis or spindle.
Signal state 0
The control signals that the speed controller is open for the axis or spindle.
The speed controller output is cleared.
Application exam
ple(s)
If the spindle is not under position control, the interface signal can be used as a feedback for the
interface signal DB31, ... DBX2.1 (controller enable).
Special cases,
errors, ....
Corresponding to ...
1580
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX61.7
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
The current controller output, including the injection variables on the control voltage, is cleared.
DB31, ... DBX61.6 (speed controller active)
DB31, ...
DBX69.0 - DBX69.2
Edge evaluation: No
Meaning
Signal irrelevant
for ...
MD35590 $MA_PARAMSET_CHANGE_ENABLE == 0
If the switchover of the position controller parameter set is switched off, the first parameter set is
always active.
Corresponding to ...
DB31, ...
DBX76.0
Lubrication pulse
Edge change
01
or
10
As soon as the axis/spindle has moved through the traversing distance set in machine data:
MD33050 $MA_LUBRICATION_DIST (traversing distance for lubrication from the PLC),
the interface signal is inverted.
Application exam
ple(s)
The lubrication pump for the axis/spindle can be activated with the "Lubrication pulse" interface signal.
Machine bed lubrication therefore depends on the distance traveled.
Corresponding to ...
Note:
The distance measurement is restarted each time that the control runs up.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1581
DB31, ...
DBX92.1
Edge evaluation: No
Signal state 1
Signal state 0
Ramp function generator fast stop is not active for the drive.
Application exam
ple(s)
Corresponding to ...
Remark
In the SINAMICS a protocol can be set that runs in what is known as the 611U compatibility mode.
DB31, ...
DBX92.4
Edge evaluation: No
Signal state 1
Signal state 0
Application exam
ple(s)
Remark
DB31, ...
DBX93.0 - DBX93.4
Edge evaluation: No
Meaning
Remark
Corresponding to ...
1582
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX93.5
Drive ready
Edge evaluation: No
Signal state 1
Signal state 0
Remark
Corresponding to ...
Additional references Function Manual, Basic Functions, Chapter "A2: Various NC/PLC interface signals and functions"
> "Switchover motor/drive data sets"
Commissioning Manual IBN CNC: NCK, PLC, drive
SINAMICS S120/S150 List Manual
DB31, ...
DBX93.6
Edge evaluation: No
Signal state 1
The requested shutdown of the speed controller integrator is active in the drive. The speed controller
has been switched over from the PI to P control response.
Signal state 0
The integrator of the speed controller is enabled. The speed controller functions as a PI controller.
Corresponding to ...
DB31, ...
DBX93.7
Edge evaluation: No
Signal state 1
The pulses of the assigned drive are enabled for the axis/spindle.
Signal state 0
Remark
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1583
DB31, ...
DBX94.0
Edge evaluation: No
Signal state 1
Signal state 0
Remark
Corresponding to ...
Additional references See DB31, ... DBX94.1 (heat sink temperature prewarning)
DB31, ...
DBX94.1
Edge evaluation: No
Signal state 1
Signal state 0
The drive module heat sink temperature monitoring has not responded, i.e. the temperature is below
the warning threshold.
Remark
The interface signals DB31, ... DBX94.0 and .1 are derived from the following signals of the cyclic
drive telegram:
Case 1: Temperature warning in the message word
DB31, ... DBX94.1 MELDW, bit 7 (no thermal overload in power unit warning)
MELDW, bit 7 BO: r2135.15 function diagram: 2548, 2452, 2456, 8016
1584
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX94.2
Run-up completed
Edge evaluation: No
Signal state 1
Signal state 0
The run-up procedure is still active after the speed setpoint has been changed.
Corresponding to ...
Additional references SINUMERIK Commissioning Manual IBN CNC: NCK, PLC, Drive
SIMATIC S120 List Manual
DB31, ...
DBX94.3
Edge evaluation: No
Signal state 1
Signal state 0
The torque setpoint |Md| is larger than the threshold torque Mdx.
A motor overload can be determined via the interface signal. An appropriate response can then be
initiated in the PLC user program.
Remark
Additional references SINUMERIK Commissioning Manual IBN CNC: NCK, PLC, Drive
SIMATIC S120 List Manual
DB31, ...
DBX94.4
Edge evaluation: No
Signal state 1
The actual speed value nact is less than nmin (speed threshold value 3, p2161).
Signal state 0
The actual speed value is greater than the threshold minimum speed nmin.
Remark
DB31, ...
DBX94.5
Edge evaluation: No
|nact| < nx
Signal(s) updated: Cyclically
Signal state 1
The actual speed value nact is less than nx (speed threshold value 2, p2155).
Signal state 0
The actual speed value nact is greater than the threshold speed nx.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1585
|nact| < nx
Remark
DB31, ...
DBX94.6
Edge evaluation: No
nact = nset
Signal(s) updated: Cyclically
Signal state 1
The actual speed value is at least the parameterized time (switch-on delay n_act = n_set, p2167)
within the tolerance band around the speed setpoint (speed threshold value 4, p2163).
Signal state 0
The actual speed value is outside the tolerance band around the speed setpoint (speed threshold
value 4, p2163).
DB31, ...
DBX94.7
Edge evaluation: No
Signal state 1
The parameterized drive variable has exceeded the specified threshold value, including hysteresis.
Signal state 0
The parameterized drive variable has fallen below the specified threshold value, including hysteresis.
Remark
Using the "Variable signaling" function, BICO interconnections and parameters which have the at
tribute traceable can be monitored in the drive.
DB31, ... DBX94.7 = MELDW.5
Additional references SINAMICS S120 Function Manual, Section "Servo control" > "Variable signaling function"
DB31, ...
DBX95.7
Edge evaluation: No
Signal state 1
Signal state 0
Remark
In the drive, a warning is the response to a detected potential or expected fault condition that does
not cause the drive to switch off and does not have to be acknowledged.
Additional references SINAMICS S120 List Manual, Section "Faults and alarms"
DB31, ...
DBX130.0 DBX21.4
Edge evaluation: No
Meaning
The formatting interface is used to set which bits of the request and display interface are used to
address the motor data sets (MDS) and which are used to address the drive data sets (DDS):
Corresponding to ...
Additional references Function Manual, Basic Functions, Chapter "A2: Various NC/PLC interface signals and functions"
> "Switchover motor/drive data sets"
Commissioning Manual IBN CNC: NCK, PLC, drive
1586
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19.2
19.2.1
DB21, ...
DBX1.1
Signal state 1 or
edge change
01
When a positive edge of this signal appears, a protection zone is enabled and the active alarm cleared.
Then, motion can start in the same protection zone. As a result of the start of motion, the protection
zone is enabled, the IS "machine or channel-specific protection zone violated" is set, and the axis
starts to move.
The enabling signal is canceled if motion is started that does not lead into the enabled protection
zone.
Signal state 0 or
edge change
10
No effect
Application exam
ple(s)
DB21, ...
DBX8.0 - DBX9.1
Edge evaluation: No
Signal state 1 or
edge change
01
The pre-activated, machine-related protection zone 1 ( ...10) is activated by the PLC user program.
Signal state 0 or
edge change
10
The pre-activated, machine-related protection zone 1 ( ...10) is de-activated by the PLC user program.
The protection zone is immediately de-activated.
Application exam
ple(s)
Before a sensor, for example, is moved into the working range, the relevant machine-related protec
tion zone can be activated.
DB21, ...
DBX10.0 - DBX11.1
Edge evaluation: No
Signal state 1 or
edge change
01
Only protection zones that have been activated via the PLC and have been pre-activated in the NC
part program can be de-activated.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1587
Signal state 0 or
edge change
10
Application exam
ple(s)
Before a synchronous spindle, for example, is moved into the working range, the relevant machinerelated protection zone can be activated.
19.2.2
The pre-activated, channel-specific protection zone 1 ( ...10) is de-activated by the PLC user program.
Only protection zones that have been activated via the PLC and have been pre-activated in the NC
part program can be de-activated.
DB21, ...
DBX272.0
DBX273.1
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Corresponding
to ....
DB21, ...
DBX274.0
DBX275.1
Edge evaluation: No
The protection zone can therefore be activated or de-activated in the PLC user program using the
interface signal:
DB21, ... DBX8.0 - DBX9.1 (machine-related protection zone 1 (...10))
The protection zone can therefore not be activated or de-activated in the PLC user program using
the interface signal:
DB21, ... DBX8.0 to DBX9.1 (activate machine-related protection zone 1 (...10))
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Corresponding
to ....
1588
The protection zone can therefore be activated or de-activated in the PLC user program using the
interface signal:
DB21, ... DBX10.0 - DBX11.1 channel-specific protection zone 1 (...10))
The protection zone can therefore not be activated or de-activated in the PLC user program using
the interface signal:
DB21, ... DBX10.0 - DBX11.1 (channel-specific protection zone 1 (...10))
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX276.0
DBX277.1
Edge evaluation: No
Signal state 1 or
edge change
01
The activated, machine-related protection zone 1 ( ...10) is violated in the current block or in the
current JOG movement.
Signal state 0
or edge change
10
The activated, machine-related protection zone 1 (...10) is not violated in the current block.
The pre-activated, machine-related protection zone 1 (...10) would not be violated in the current block
if it would be activated by the PLC.
Application exam
ple(s)
Before parts are moved into the working zone - this IS can be used to check as to whether the tool
or workpiece is located in the machine-related protection zone of the part to be moved in.
DB21, ...
DBX278.0 DBX279.1
The pre-activated, machine-related protection zone 1 ( ...10) would be violated in the current block if
it would be activated by the PLC.
Edge evaluation: No
Signal state 1 or
edge change
01
The activated, channel-specific protection zone 1 ( ...10) is violated in the current block.
Signal state 0 or
edge change
10
The activated, channel-specific protection zone 1 ( ...10) is not violated in the current block.
The pre-activated, channel-specific protection zone 1 (...10) would not be violated in the current block
if it would be activated by the PLC.
Application exam
ple(s)
Before parts are moved into the working zone - this IS can be used to check whether the tool or
workpiece is located in the channel-specific protection zone of the part to be moved in.
19.2.3
The pre-activated, channel-specific protection zone 1 ( ...10) would be violated in the current block if
it would be activated by the PLC.
DB31, ...
DBX2.3
Edge evaluation: No
Clamping in progress
Signal(s) updated: Cyclically
Signal state 1 or
edge change
01
Clamping in progress.
Signal state 0 or
edge change
10
Clamping completed.
Corresponding to ...
The clamping monitoring function is replaced by the standstill (zero speed) monitoring.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1589
DB31, ...
DBX3.6
Edge evaluation: no
Signal state 1 or
edge change
01
The NCK limits the velocity/spindle speed to the limit value set in the machine data:
MD35160 $MA_SPIND_EXTERN_VELO_LIMIT
Signal state 0 or
edge change
10
No limitation active.
Corresponding to ...
DB31, ...
DBX12.0 - DBX12.1
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Corresponding to ...
DB31, ...
DBX12.2 - DBX12.3
Edge evaluation: no
Signal state 1 or
edge change
01
1590
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Signal state 0 or
edge change
10
1st software limit switch for the plus and minus directions is effective.
2nd software limit switch for the plus and minus directions is not effective.
Corresponding to ...
19.2.4
DB31, ...
DBX60.2 - DBX60.3
Edge evaluation: No
Signal state 1
Signal state 0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1591
DB31, ...
DBX102.5/6
Edge evaluation: No
Signal state 1
The position measuring system is in the "active" or "passive" state. Monitoring and updating the
position measuring system is activated.
Signal state 0
The position measuring system is in the "Park" state. Monitoring and updating the position measuring
system is deactivated.
"Parked" status is entered if:
for the axis/spindle, the NC/PLC interfaces signals for the configured position measuring systems
and control enable are reset:
or
"Parking the passive measuring system" is active for the measuring system:
MD31046 $MA_ENC_PASSIVE_PARKING[<n>] = 1
with <n> = 0 (position measuring system 1) or 1 (position measuring system 2)
and the NC/PLC interface signal for the position measuring system was reset to "0" by the user:
19.3
19.3.1
DB21, ...
DBX36.3
Edge evaluation: no
Signal state 1 or
edge change
01
1592
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19.3.2
DB31, ...
DBX60.6
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
The axis is not in the appropriate exact stop or the interpolator is active for the axis or:
The path motion was terminated with NC stop.
The spindle is in the closed-loop speedcontrolled mode (SPCOF/SPOSA instruction).
The "followup" mode is active for the axis.
The "parking" mode is active for the axis.
The axis is switched from closed-loop positioncontrolled to closed-loop speedcontrolled mode
with IS "position measuring system".
Signal irrelevant
for ...
Corresponding to ...
DB31, ...
DBX60.7
Edge evaluation: No
Signal state 1 or
edge change
01
Refer to DB31, ... DBX60.6 (position reached with exact stop coarse).
Signal state 0 or
edge change
10
Refer to DB31, ... DBX60.6 (position reached with exact stop coarse).
Signal irrelevant
for ...
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1593
19.4
19.4.1
DB31, ...
DBX1.1
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0
Edge change
10
IS irrelevant
for ...
MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
= 0 or 1
Corresponding to ....
MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
DB31, ... DBX62.5 (fixed stop reached)
DB31, ...
DBX1.2
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Corresponding to ....
1594
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX3.1
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0
Travel to fixed stop is enabled and the axis traverses from the start position at the programmed
velocity to the programmed target position.
Edge change
10
IS irrelevant
for ...
MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
= 0 or 2
Corresponding to ....
MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
DB31, ... DBX62.4 (activate travel to fixed stop)
19.4.2
DB31, ...
DBX62.4
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
This signal is used for analog drives in order, for example, to activate the current or torque limitation
parameterized in the actuator.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1595
DB31, ...
DBX62.5
Edge evaluation: no
Signal state 1 or
edge change
01
The fixed stop was reached after selecting the FXS function.
Signal state 0 or
edge change
10
The fixed stop has still not been reached after selecting the FXS function.
This signal is used by analog drives, e.g. to switch the actuator from speedcontrolled to current or
torquecontrolled mode so that a programmable clamping torque can be set.
19.5
19.5.1
DB21, ...
DBX30.5
Edge evaluation: no
Signal(s) updated:
Signal state 1 or
edge change
01
PLC signals the NCK that the associated M01 (help function) should be activated.
Signal state 0 or
edge change
10
Corresponding to ....
19.5.2
DB21, ...
DBB58,
DBB60 - DBB65
Edge evaluation: No
M, S, T, D, H, F functions Modification
Signal(s) updated: job-controlled by NCK
Signal state 1 or
edge change
01
One M, S, T, An D, H, or F function has been output to the interface with a new value together with
the associated change signal at the beginning of an OB1 cycle.
In this case, the change signal indicates that the appropriate value is valid.
Signal state 0 or
edge change
10
The change signals are reset by the PLC basic program at the start of the next OB1 cycle.
The value of the data involved is not valid.
1596
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX59.0 - DBX59.4
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB21, ...
DBB60 - DBB64,
DBB66 - DBB67
M function less than 99 (for extended address = 0) or for extended address > 0 included in the
decoding list.
Edge evaluation: No
Signal state 1 or
edge change
01
One M, S, T, An D, H, or F function has been output to the interface with a new value together with
the associated change signal at the beginning of an OB1 cycle.
In this case, the additional info "Quick" indicates the quick help function.
Signal state 0 or
edge change
10
The change signals are reset by the PLC basic program at the start of the next OB1 cycle.
The value of the data involved is not valid.
DB21, ...
DBB68 - DBB97
M functions 1 to 5
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
Decoding and evaluation of M functions that are not decoded as standard or via a list.
Using the extended address, the M function can be assigned to another channel that does not cor
respond to that channel in which the program is running.
Special cases,
errors, ......
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1597
DB21, ...
DBB98 - DBB115
S functions 1 to 3
Extended address S functions 1 to 3
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
DB21, ...
DBB118
T function 1
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
Special cases,
errors, ......
With T0, the current tool is removed from the tool holder but not replaced by a new tool (default
configuration of the machine manufacturer).
Remark
DB21, ...
DBB129
D function 1
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
Special cases,
errors, ......
1598
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBB140 - DBB157
H functions 1 to 3
Extended address H functions 1 to 3
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
DB21, ...
DBB158 - DBB193
F functions 1 to 6
Edge evaluation: No
Signal state 1 or
edge change
01
WR
3DWKIHHGHJ)
HJ)
0DFKLQHD[LVQXPEHURIWKHSRVLWLRQLQJD[LV
IRUDQD[LVVSHFLILFIHHG
HJ)$>;@
Application exam
ple(s)
Control of programmed F word by the PLC, e.g. through overwriting of the set feed rate override.
Corresponding to ...
DB21, ...
DBB194 - DBB206
Edge evaluation: No
Signal state 1 or
edge change
01
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1599
Signal state 0 or
edge change
10
For a general help function output, the dynamic M signal bits are acknowledged by the PLC basic
program after the OB1 has been completely run-through (executed once).
For a fast help function output, after the PLC identifies the help functions, they are acknowledged in
the same OB40 cycle.
Application exam
ple(s)
DB21, ...
DBX318.5
Edge evaluation: No
Signal(s) updated:
Signal state 1 or
edge change
01
This bit indicates that an M00 or M01 help function is active if the appropriate associated M00 and
M01 (help functions) were enabled/activated beforehand.
Signal state 0 or
edge change
10
Corresponding to ...
19.5.3
DB31, ...
DBD78
Edge evaluation: no
DB31, ...
DBD86
Edge evaluation: no
DB31, ...
DBD88
Edge evaluation: no
1600
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19.6
19.6.1
DB11
DBX0.0
AUTOMATIC mode
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Signal irrelevant
for ...
Corresponding to ...
DB11
DBX0.1
MDA mode
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Signal irrelevant
for ...
Corresponding to ...
DB11
DBX0.2
JOG mode
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Signal irrelevant
for ...
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1601
DB11
DBX0.4
Edge evaluation: No
Signal state 1 or
edge change
01
The currently active mode (JOG, MDA or AUTOMATIC) of the mode group cannot be changed. The
machine functions that can be selected within a mode group can be changed.
Signal state 0 or
edge change
10
0RGHVHOHFWLRQ
$8720$7,&
PRGH
0RGHVZLWFKRYHU
GLVDEOH
0'$RSHUDWLQJ
PRGH
1&
'%;
-2*PRGH
DB11
DBX0.5
Edge evaluation: No
Signal state 1 or
edge change
01
An NC Stop is activated for all the channels of the mode group. The channel status of all the active
channels changes to the channel status "interrupted". All of the channels in channel status "reset"
remain in the channel status "reset". Programs that are running at this point are immediately inter
rupted (at the earliest possible point, even within a block) and the program status changes to "stop
ped". All the moving axes of the mode group are decelerated according to their acceleration charac
teristics without contour violation. The program can be restarted with NC Start. None of the spindles
of that mode group are affected.
Signal state 0 or
edge change
10
Special cases, er
rors, ... ...
All the axes of a mode group that are not triggered by a program or a program block (e.g. axes traverse
because traverse keys are being pressed on the machine control panel) decelerate to rest with mode
group stop.
1602
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB11
DBX0.6
Edge evaluation: No
Signal state 1 or
edge change
01
An NC Stop is activated for all the channels of the mode group. The channel status of all of the active
channels changes to the channel status "interrupted". All of the channels in channel status "reset"
remain in the channel status "reset". Programs that are running at this point are immediately inter
rupted (at the earliest possible point, even within a block) and the program status changes to "stop
ped". All the moving axes and spindles of the mode group are decelerated according to their accel
eration characteristics without contour violation. The program can be restarted with NC Start.
Signal state 0 or
edge change
10
Special cases,
errors, ......
All the axes and spindles of a mode group that are not triggered by a program or a program block
(e.g. axes traverse because traverse keys are pressed on the machine control panel, spindles are
controlled by the PLC) decelerate to rest with "mode group stop plus spindles".
DB11
DBX0.7
Edge evaluation: Yes
Signal state 1 or
edge change
01
A reset is activated for all the channels of the mode group. All of the channels are then in the channel
status "reset". All of the current programs are then in the program status "aborted". All moving axes
and spindles are decelerated to zero speed according to their acceleration ramp without contour
violation. The initial settings are set (e.g. for G functions). The alarms for the mode group are cleared
if they are not POWER ON alarms.
Signal state 0 or
edge change
10
Channel status and program execution are not influenced by this signal.
Corresponding to ...
Special cases,
errors, ......
DB11
DBX1.0
Edge evaluation: No
Signal state 1 or
edge change
01
Machine function TEACH IN is activated in JOG mode for the mode group.
Signal state 0 or
edge change
10
Signal irrelevant
for ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1603
DB11
DBX1.1
Edge evaluation: No
Signal state 1 or
edge change
01
Machine function REPOS is activated in JOG mode for the mode group.
Signal state 0 or
edge change
10
Signal irrelevant
for ...
Application exam
ple(s)
When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually moved
away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
DB11
DBX1.2
Edge evaluation: No
Signal state 1 or
edge change
01
Machine function REF is activated in the JOG mode for the mode group.
Signal state 0 or
edge change
10
Signal irrelevant
for ...
DB11
DBX1.6
Edge evaluation: No
Signal state 1 or
edge change
01
Signal(s) updated:
Bit set and DB11 DBX1.7 not set: Response across modes
All channels are stopped.
All channels receive a start command.
Channel KS stops at the end of the block.
The channels KA receive a STOPATEND.
(comparable with DB21, ... DBX7.2 (NC Stop at the block limit).)
All channels are stopped at a block limit (at some point in time).
(If DB11 DBX1.6 and DB11 DBX1.7 are set simultaneously, it is impossible to determine which single
block type is required. The control then assumes: No single block across mode groups).
Signal state 0 or
edge change
10
(If DB11 DBX1.6 and DB11 DBX1.7 are not set, it is impossible to determine which single block type
is required. The control then assumes: No single block across mode groups).
Corresponding to ...
1604
If Bit DB11 DBX1.6 is not set and Bit DB11 DBX1.7 is set, then it is single block type A.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB11
DBX1.7
Edge evaluation: No
Signal state 1 or
edge change
01
Signal(s) updated:
DB11 DBX1.7 set and DB11 DBX1.6 not set: Response across modes
All channels are stopped.
All channels receive a start (start key).
Channel KS stops at the end of the block (due to single-block).
Channels KA receive a STOP command (analogous to Stop key).
All channels are stopped. (deceleration phase of all KAs).
(If DB11 DBX1.6 and DB11 DBX1.7 are set simultaneously, it is impossible to determine which single
block type is required. The control then assumes: No single block across mode groups).
Signal state 0 or
edge change
10
(If DB11 DBX1.6 and DB11 DBX1.7 are not set, it is impossible to determine which single block type
is required. The control then assumes: No single block across mode groups).
Corresponding to ...
19.6.2
If DB11 DBX1.7 is not set and DB11 DBX1.6 is set, then it is single block type B.
DB11
DBX4.0
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB11
DBX4.1
Edge evaluation:
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1605
DB11
DBX4.2
Data block
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB11
DBX5.0
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB11
DBX5.1
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually moved
away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
DB11
DBX5.2
Edge evaluation: No
Signal state 1 or
edge change
01
1606
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB11
DBX6.0
Data block
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB11
DBX6.1
Edge evaluation:
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB11
DBX6.2
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB11
DBX6.3
Edge evaluation: No
Signal state 1 or
edge change
01
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1607
Special cases,
errors, ......
DB11
DBX6.7
Edge evaluation: No
Signal state 1 or
edge change
01
All the channels that belong to this mode group are in the "channel status reset" state (DB21, ...
DBX7.7).
Signal state 0 or
edge change
10
At least one of the channels in the mode group is not in "channel status reset" (DB21, ... DBX7.7).
Corresponding to ...
DB11
DBX7.0
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
DB11
DBX7.1
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
1608
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Application exam
ple(s)
When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually moved
away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
DB11
DBX7.2
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
19.6.3
DB21, ...
DBX0.4
Edge evaluation: No
Signal state 1
In AUTOMATIC and MDI modes, the operator must enable processing of each individual part program
block of the part program selected in the channel by reactivating NC Start.
Signal state 0
No effect.
Special cases,
errors, ......
In the case of active tool offset, intermediate blocks are inserted, when necessary. These blocks
must also be enabled using NC Start.
In a series of G33 blocks, a single block is only operative if "dry run feed" is selected.
In the case of a decoding single block, calculation blocks are not processed in the single step.
Corresponding to ...
DB21, ...
DBX0.5
Activate M01
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1609
DB21, ...
DBX1.6
Edge evaluation: no
Signal state 1
Signal state 0
Corresponding to ...
DB21, ...
DBX1.7
Edge evaluation: no
Signal state 1
Signal state 0
Corresponding to ...
DB21, ...
DBB2
Edge evaluation: No
Signal state 1
Signal state 0
Skip blocks marked in the part program with an slash (/) are processed.
Corresponding to ...
1610
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX6.1
Read-in disable
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
DB21, ...
DBX6.4
Edge change
01
At each edge change 0 1 the current program level being processed (subprogram level, ASUB
level, save routine) is immediately aborted. Processing of the part program continues at the next
higher program level from the exit point.
Edge change
10
No effect.
Special cases,
errors, ......
The main program level cannot be aborted with this IS, only with IS "Reset".
DB21, ...
DBX7.0
NC Start disable
Edge evaluation: no
Signal state 1
The NC Start disable prevents a part program from being started with NC START signal DB21, ...
DBX7.1 (NC Start) == 1.
Signal state 0
Special cases,
errors, ......
The start of a part program selected in the channel by part program command START in another
channel (program coordination) is not prevented by the interface signal:
DB21, ... DBX7.0 (NC Start disable) == 1.
Corresponding to ...
DB21, ...
DBX7.1
NC Start
Edge change
10
No effect.
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1611
DB21, ...
DBX7.2
Edge evaluation: No
Signal state 1
The current NC program is stopped after the current part program block has been completely pro
cessed. Otherwise, as for DB21, ... DBX7.3 (NC Stop).
Signal state 0
No effect.
Corresponding to ...
DB21, ...
DBX7.3
NC Stop
Edge evaluation: no
Signal state 1
Signal state 0
No effect.
Signal irrelevant
for ...
Special cases,
errors, ......
If data is transferred to the NCK after NC Stop (e.g. tool offset), the data is cleared at the next NC
Start.
Corresponding to ...
DB21, ...
DBX7.4
Edge evaluation: no
1612
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX7.7
Reset
Edge evaluation: No
Signal state 1
The channel is reset. The initial settings are set (e.g. G functions).
The alarms for the channel are cleared if they are not POWER ON alarms.
The reset signal must be issued by the PLC (e.g. using a logic operation with the reset key on the
MCP). The signal is only evaluated by the selected channel.
The program status changes to "Aborted", and the channel status changes to "Channel status reset".
Signal state 0
No effect.
Corresponding to ...
DB21, ...
DBX31.0 - DBX31.2
Edge evaluation: No
Meaning
Corresponding to ...
DB21, ...
DBX31.4
Bit 2
Bit 1
Bit 0
Edge change
01
Edge change
10
Corresponding to ...
19.6.4
DB21, ...
DBX32.3
Edge evaluation: No
Signal state 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1613
Signal state 0
DB21, ...
DBX32.4
Edge evaluation: No
Signal state 1
The approach block for the progress of the program with "Block search with computation on contour"
is active, as with "Block search with computation on block end point" no approach block is created of
its own. The axes are automatically positioned on the collected search position if ASUB exits with
REPOSA during "Block search with computation on contour".
Signal state 0
The search target is found during "Block search with computation on contour".
DB21, ...
DBX32.5
Edge evaluation: No
Signal state 1
M00/M01 active
Signal(s) updated: Cyclically
The part program block is processed, the auxiliary functions are output, and:
M00 is in the RAM
M01 is in the RAM and IS "Activate M01" is active
The program status changes to "Stopped".
Signal state 0
1614
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
M00/M01 active
Screen
0
Corresponding to ...
'DWDWUDQVIHUWRZRUNLQJPHPRU\
0FKDQJHVLJQDO3/&F\FOHWLPH
%ORFNSURFHVVHG
,600DFWLYH
1&EORFNZLWK0
,6&KDQQHOVWDWHDFWLYHHYHQZKHQ
D[HVDUHPRYHGLQ-2*PRGH
DB21, ...
DBX32.6
Edge evaluation: No
Signal state 1
Signal state 0
The last action block is not being executed. Action blocks contain the actions collected during "Block
search with computation" such as
Output help function H, M00, M01, M..
Tool programming T, D, DL
Spindle programming S-Value, M3/M4/M5/M19, SPOS
Feed programming, F
Additional references See Section "K1: Mode group, channel, program operation, reset response (Page 455)"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1615
DB21, ...
DBX33.4
Edge evaluation: No
Signal state 1
Signal state 0
Application exam
ple(s)
The block search function makes it possible to jump to a certain block within a part program and to
start processing the part program from this block.
Additional references See Section "K1: Mode group, channel, program operation, reset response (Page 455)"
DB21, ...
DBX33.5
M02/M30 active
Edge evaluation: No
Signal state 1
Signal state 0
Screen
0
1616
'DWDWUDQVIHUWRZRUNLQJPHPRU\
0FKDQJHVLJQDO3/&F\FOHWLPH
%ORFNSURFHVVHG
,600DFWLYH
1&EORFNZLWK0
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
M02/M30 active
Application exam
ple(s)
The PLC can detect the end of program processing with this signal and react appropriately.
Special cases,
errors, ......
DB21, ...
DBX33.6
Transformation active
Edge evaluation: No
Signal state 1
The NC command TRAORI (activate transformation) is programmed in the NC part program. This
block has been processed by the NC and the transformation is now activated.
Signal state 0
No transformation active.
DB21, ...
DBX33.7
Edge evaluation: No
Signal state 1
Program control program test is active. Axis disable is set internally for all axes (not spindles). There
fore the machine axes do not move when a part program block or a part program is being processed.
The axis movements are simulated on the user interface with changing axis position values.
The axis position values for the display are generated from the calculated setpoints.
The part program is processed in the normal way.
Signal state 0
Corresponding to ...
DB21, ...
DBX35.0
Edge evaluation: No
Signal state 1
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1617
Signal state 0
Signal irrelevant
for ...
Special cases,
errors, ......
Corresponding to ...
DB21, ...
DBX35.1
Edge evaluation: No
Signal state 1
The running program is waiting for the program command WAIT_M or WAIT_E in an NC block. The
wait condition specified in the WAIT command for the channel or channels has not yet been fulfilled.
Signal state 0
DB21, ...
DBX35.2
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
1618
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX35.3
Edge evaluation: No
Signal state 1
When the operating mode changes from AUTOMATIC or MDI (in stopped program status) to JOG,
the program status changes to "Interrupted". The program can be continued at the point of interruption
in AUTOMATIC or MDI mode when NC Start is issued.
Signal state 0
Special cases,
errors, ......
DB21, ...
DBX35.4
Edge evaluation: No
Signal state 1
The program has been selected but not started, or the current program was aborted with a reset.
Signal state 0
Corresponding to ...
DB21, ...
DBX35.5
Edge evaluation: No
Signal state 1
Signal state 0
DB21, ... DBX35.3 (channel status interrupted) or DB21, ... DB35.7 (channel status reset) is present.
DB21, ...
DBX35.6
Edge evaluation: No
Signal state 1
Signal state 0
DB21, ... DBX35.5 (channel status active) or DB21, ... DB35.7 (channel status reset) is present.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1619
DB21, ...
DBX35.7
Edge evaluation: No
Signal state 1
The signal changes to 1 as soon as the channel goes into the reset state, i.e. no processing taking
place.
Signal state 0
The signal is set to 0 as soon as processing takes place in the channel, e.g.:
Execution of a part program
Block search
TEACH IN active
Overstore active
DB21, ...
DBX36.4
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
MD11600 $MN_BAG_MASK
DB21, ...
DBX36.5
Channel is ready
Edge evaluation: No
Signal state 1
A channel is ready for a part program processing of machine axes, geometry axes and positioning
axes. These are already allocated corresponding to machine configuration and the current program
status of the concerned channels.
Signal state 0
The concerned channel is not ready for a part program processing of machine axes, geometry axes
and positioning axes.
Corresponding to ...
MD11600 $MN_BAG_MASK
DB21, ...
DBX37.6
Edge evaluation: No
Signal(s) updated:
The following machine data is used to specify that the read-in disable (DB21, ... DBX6.1) is to be
ignored:
MD11602 $MN_ASUP_START_MASK, Bit 2 = 1 (start also permitted if read-in disable is active)
MD20116 $MC_IGNORE_INHIBIT_ASUP (execute interrupt program in spite of read-in disable)
MD20107 $MC_ PROG_EVENT_IGN_INHIBIT (Prog events ignore read-in disable)
Part program blocks for which read-in disable is ignored are designated as read-in disable-inoperative.
Signal state 1
1620
Read-in disable is active (DB21, ... DBX6.1==1) AND part program block is read-in disable-inopera
tive.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Signal state 0
Corresponding to ...
DB21, ... DBX37.7 (Stop at block end is ignored during single block (SBL))
DB21, ...
DBX37.7
Edge evaluation:
Signal(s) updated:
The following machine data and part program commands are used to specify that the stop at block
end during single block (DB21, ... DBX0.4 == 1) is to be ignored:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (prevent single-block stop)
MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP (execute interrupt program completely in spite
of single block)
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK (Prog events ignore single block)
SBLOF (suppress single block), SBLON (cancel single block suppression)
Part program blocks for which stop at block end during single block is ignored are designated as
single block-inoperative.
Signal state 1
Single block is active (DB21, ... DBX0.4==1) AND part program block is single block-inoperative.
Signal state 0
Corresponding to ...
DB21, ...
DBB208 - DBB271
Edge evaluation: No
Signal state <> 0
Signal state = 0
Application exam
ple(s)
Meaning
128
64
32
16
Example:
G90
Special cases,
errors, ......
In contrast to auxiliary functions, G functions are not output to the PLC subject to acknowledgement,
i.e. processing of the part program is continued immediately after the G function output.
Additional references A complete list of the G groups and G functions can be found in:
References: Programming Manual, Fundamentals.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1621
DB21, ...
DBB317.1
Edge evaluation: No
Signal state = 1
The number of machined workpieces (actual workpiece total) is equal to the number of workpieces
to be machined (required number of workpieces):
Signal state = 0
The number of machined workpieces (actual workpiece total) is not equal to the number of workpieces
to be machined (required number of workpieces):
$AC_ACTUAL_PARTS == $AC_REQUIRED_PARTS
Additional references Function Manual, Fundamentals, Section "K1: Mode group, channel, program operation, reset re
sponse" > "Program runtime / workpiece counter" > "Workpiece counter"
DB21, ...
DBX318.0
Edge evaluation: No
ASUB is stopped
Signal(s) updated: Cyclically
Signal state 1
The signal is set to 1 if the control stops automatically prior to the end of the ASUB.
The IS DB21, ... DBX318.0 (ASUB is stopped) is only supplied in the case "Interrupt in a program
mode and channel status stopped".
Signal state 0
The IS DB21, ... DBX318.0 (ASUB is stopped) is set to 0 with start and reset.
1622
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
ASUB is stopped
Typical sequence of an ASUB with REPOSA:
$68%ZLWK5(326$
(YHQWWKDWEULQJVWKHFRQWURO
LQWRWKHVWRSSHGVWDWXV
RFFXUV
([DPSOH6WRSNH\
3DWKPRWLRQRIDQ
$68%ZLWK5(326$
&RQWUROKDVVWRSSHG
DXWRPDWLFDOO\
,6$68%VWRSSHGLV
VHW
)&EORFNVLJQDOV$68%'RQH
&RQWUROV\VWHPVWRSSHG
$68%LVWKHQVWDUWHGE\WKH
)&
3DWKRIWKHSDUWVSURJUDP
ASUB with REPOSA If the interrupt routine is ended with REPOSA, then the following sequence is typical:
is triggered in the sta NC Stop or an alarm is used to stop the part program.
tus AUTOMATIC
The control assumes program status "Stopped".
mode stopped
The PLC initiates an ASUB via block FC9.
Before the re-approach to the contour, the control stops and goes to program state "Stopped". IS
DB21, ... DBX318.0 (ASUB is stopped) is set.
The user presses Start. The IS DB21, ... DBX318.0 (ASUB is stopped) is reset, the re-approach
motion is started.
At the end of the re-approach motion, the FC9 signal "ASUB done" is set and the path of the
interrupted part program is continued.
DB21, ...
DBX318.1
Edge evaluation: No
Signal state 1
During the processing of the part program block in context of block search (internal channel status:
"Program test"), up to the change of the target block in the main execution (Program status: "Stop
ped").
Signal state 0
With the change of the target block in the main execution (internal channel status: "Program test" is
deselected; stop condition: "Search target found" is displayed).
Special cases,
errors, ......
The block search (SERUPRO) can only be activated in AUTOMATIC mode in program status "Abor
ted".
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1623
DB21, ...
DBX319.0
Edge evaluation: Yes
Edge change
01
Edge change
10
SERUPRO-ASUB stops automatically before REPOS and DB21, ... DBX31.4 (REPOS mode change)
does not affect the SERUPRO approach.
Corresponding to ...
DB21, ...
DBX319.1 DBX319.3
Edge evaluation: No
Meaning
1624
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1
5(3263$7+02'(
5(32602'(('*(
5(32602'(('*($&.1
5HSRV3DWK0RGH$FNQ
W
Corresponding to ...
6WDUWWKHSDUWSURJUDP
6WRSSDUWSURJUDP
3UHVHOHFW501%/
,QLWLDWH$68%
&RPPDQGZLWK$68%LVVWDUWHG
5HSRVLWLRQLQJPRWLRQIURP5(326KDVEHHQ
FRPSOHWHG7KHUHPDLQLQJEORFNVWDUWV
7KHUHPDLQLQJEORFNLVFRPSOHWHG
Additional references See Section "Block search Type 5 (SERUPRO) (Page 493)"
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1625
DB21, ...
DBX319.5
Edge evaluation: No
Signal state 1
All axes currently controlled by this channel have either no REPOS offset or their REPOS offsets are
invalid.
Signal state 0
Miscellaneous.
Corresponding to ...
DB21, ...
DBB376
ProgEventDisplay
Edge evaluation: No
Meaning
Startup
The event assigned to the bit has activated the "Event-driven program call" function.
Signal state 0
The event assigned to the bit has not activated the "Event-driven program call" function or the eventdriven user program has expired or was canceled with RESET.
DB21, ...
DBX378.0
ASUB is active
Edge evaluation: No
Signal state 1
Signal state 0
No ASUB is active.
DB21, ...
DBX378.1
Edge evaluation: No
Signal state 1
Signal state 0
1626
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX384.0
Edge evaluation: No
Signal(s) updated:
Signal state 1
GOTOS in the part program initiates a return to the program start. The program is then processed
again.
Signal state 0
GOTOS initiates no return. Program execution is continued with the next part program block after
GOTOS.
Corresponding to ...
19.6.5
DB31, ...
DBX10.0
REPOSDELAY
Edge evaluation: no
Signal state 1
The REPOS offset of the axis is first applied with its next programming.
Signal state 0
Special cases,
errors, ......
Corresponding to ...
19.6.6
DB31, ...
DBX70.0
REPOS offset
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Corresponds to ....
DB31, ...
DBX70.1
Edge evaluation: no
Signal state 1 or
edge change
01
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1627
Signal state 0 or
edge change
10
A value of zero indicates that the REPOS offset was calculated to be invalid.
Application exam
ple(s)
Corresponds to ....
DB31, ...
DBX70.2
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
The value zero is used to acknowledge that the REPOS offset is not active for this axis. This signal
is cancelled on activation of the remaining block.
Corresponds to ....
DB31, ...
DBX72.0
Edge evaluation: no
REPOSDELAY
Signal(s) updated: cyclic
Signal state 1 or
edge change
01
After a block search, a REPOS offset is applied for this axis. However it is not applied using the
approach block, but rather using the next traversing block in which the axis is programmed.
Signal state 0 or
edge change
10
Special cases,
errors, ......
Corresponds to ....
1628
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX76.4
Path axis
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Note
In conjunction with SERUPRO in status "Target block found", the signal refers to the status of the
axis in the target block.
19.7
19.7.1
DB 31, ...
DBX3.0
Edge evaluation: no
Signal(s) updated:
Signal state 1 or
edge change
01
The preselected value of the external work offest of an axis is used as the new value for calculating
the total work offset between the basic and the workpiece coordinate systems.
Signal state 0 or
edge change
10
The preselected value of the external work offset of an axis is not used as the new value for calculating
the total work offset between the basic and workpiece coordinate systems. The previous value is still
valid.
Signal irrelevant
for ...
Special cases,
errors, ......
Corresponding to ....
$AA_ETRANS[axis]
19.8
19.8.1
Signals to NC (DB10)
DB10
DBX56.1
Edge evaluation: No
Signal state 1 or
edge change
01
Emergency stop
Signal(s) updated: Cyclically
The NC is brought into the emergency stop state and the emergency stop sequence in the NC is
started.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1629
Emergency stop
Signal state 0 or
edge change
10
Corresponding to ...
The emergency stop state is (still) active but can be reset using the interface signals:
DB10 DBX56.2 (acknowledge emergency stop)
and
DB11 DBX0.7 (mode group reset)
DB10 DBX106.1 (emergency stop active)
DB10
DBX56.2
Edge evaluation: No
Signal state 1 or
edge change
01
,6$FNQRZOHGJHHPHUJHQF\VWRS
,6(PHUJHQF\VWRSDFWLYH
,65HVHW
1630
7KH,6$FNQRZOHGJHHPHUJHQF\VWRSKDVQRHIIHFW
7KH,65HVHWKDVQRHIIHFW
7KH,6$FNQRZOHGJHHPHUJHQF\VWRSDQG5HVHWUHVHW(PHUJHQF\VWRSDFWLYH
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Special cases,
errors, ......
The emergency stop state cannot be reset using the interface signal:
DB21, ... DBX7.7 (reset).
Corresponding to ...
19.8.2
DB10
DBX106.1
Edge evaluation: No
Signal state 1 or
edge change
01
Corresponding to ...
19.9
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1631
19.10
19.10.1
DB21, ...
DBX1.0
Activate referencing
Application exam
ple(s)
If the machine axes are to be referenced in a particular sequence, there are the following possibilities:
The operator must observe the correct sequence when starting.
The PLC must check the sequence when starting or define it itself.
The channel-specific referencing function will be used.
Corresponding to ...
DB21, ...
DBX33.0
Referencing active
Signal state 0 or
edge change
10
Signal irrelevant
for ...
Spindles
Corresponding to ...
1632
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19.10.2
DB21, ...
DBX36.2
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Special cases,
errors, ......
Corresponding to ....
19.10.3
DB31, ...
DBX2.4 - DBX2.7
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
No effect.
Signal irrelevant
for ...
Application exam
ple(s)
On a machine tool with large traversing distances, four coded reference cams can be distributed over
the entire distance traveled by the axis, four different reference points approached and the time
required to reach a valid referenced point reduced.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1633
Special cases,
errors, ......
If the machine axis has arrived at the reference point and none of the four "reference point value 1
to 4" interface signals has been set, the value of the reference point is automatically set to 1.
Corresponding to ....
DB31, ...
DBX12.7
Edge evaluation: no
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
The machine axis is positioned in front of the reference cam. An appropriately long reference cam
(up to the end of the traversing range) should be used to prevent the machine axis from being located
behind (after) the referencing cam.
Corresponding to ....
19.10.4
DB31, ...
DBX60.4
Referenced/synchronized 1
Edge evaluation:
Signal state 1 or
edge change
01
Signal(s) updated:
Axes:
When being referenced, if the machine axis has reached the reference point (incremental measuring
systems) or the target point (for length measuring system with distance-coded reference marks), then
the machine axis is referenced and the following interface signal is set:
DB31, ... DBX60.4 (referenced/synchronized 1)
(depending on which position measuring system is active when referencing).
Spindles:
After power-on, a spindle is synchronized the latest after one spindle revolution (360 degrees) (the
zero mark passed or the Bero responded).
Signal state 0 or
edge change
10
Corresponding to ...
1634
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX60.5
Referenced/synchronized 2
Edge evaluation:
Signal state 1 or
edge change
01
Signal(s) updated:
Axes:
When being referenced, if the machine axis has reached the reference point (incremental measuring
systems) or the target point (for length measuring system with distance-coded reference marks), then
the machine axis is referenced and the following interface signal is set:
DB31, ... DBX60.5 (referenced/synchronized 2)
(depending on which position measuring system is active when referencing).
Spindles:
After power-on, a spindle is synchronized the latest after one spindle revolution (360 degrees) (the
zero mark passed or the Bero responded).
Signal state 0 or
edge change
10
Corresponding to ...
DB31, ...
DBX71.4
Edge evaluation:
POS_RESTORED 1
Signal(s) updated:
Signal state 1 or
edge change
01
If MD34210 $MA_ENC_REFP_STATE is set to a value of 3, the last axis position buffered before
switch off is restored in distance-coded, incremental measuring systems. Referencing does not take
place automatically. Position measuring system 1 is in "Position restored" state.
Signal state 0 or
edge change
10
Corresponding to ...
DB31, ...
DBX71.5
POS_RESTORED 2
Edge evaluation:
Signal(s) updated:
Signal state 1 or
edge change
01
If MD34210 $MA_ENC_REFP_STATE is set to a value of 3, the last axis position buffered before
switch off is restored in distance-coded, incremental measuring systems. Referencing does not take
place automatically. Position measuring system 2 is in "Position restored" state.
Signal state 0 or
edge change
10
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1635
19.11
Spindles (S1)
19.11.1
DB31, ...
DBX2.2
Spindle stops
Oscillating mode:
Oscillation is interrupted
With the following M value and higher S value, it is possible that the IS:
DB31, ... DBX83.1 (programmed speed high)
is set.
Positioning mode:
Is stopped
Axis operation:
Is stopped
Edge change 1 0
No effect.
Corresponding to ...
1636
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX16.0 - DBX16.2
Edge evaluation: Yes
Signal state 1
(statusdriven)
1&3/&LQWHUIDFH
0HDQLQJ
'DWDIRUD[LVPRGH
'DWDIRUVWJHDUVWDJH
'DWDIRUQGJHDUVWDJH
'DWDIRUUGJHDUVWDJH
'DWDIRUWKJHDUVWDJH
'DWDIRUWKJHDUVWDJH
Special cases,
errors, ......
If the PLC user reports back to the NCK with a different actual gear stage than issued by the NCK as
the setpoint gear stage, the gear change is still considered to have been successfully completed and
the actual gear stage A to C is activated.
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1637
DB31, ...
DBX16.3
Edge change 1 0
No effect.
Signal irrelevant
for ...
Special cases,
errors, ......
If the PLC user reports back to the NCK with a different actual gear stage than issued by the NCK as
the setpoint gear stage, the gear change is still considered to have been successfully completed and
the actual gear stage A to C is activated.
Corresponding to ...
DB31, ...
DBX16.4 - DBX16.5
Edge change 0 1
The spindle should be resynchronized, as the synchronization between the position measuring sys
tem of the spindle and the 0 degree position has been lost.
Edge change 1 0
No effect.
Signal irrelevant
for ...
Application exam
ple(s)
The machine has a selector switch to changeover between a vertical and a horizontal spindle. Two
different position encoders are used (one for the vertical spindle and one for the horizontal spindle),
but only one actual value input is used on the control. When the system switches from the vertical to
the horizontal spindle, the spindle must be resynchronized.
This synchronization is triggered by the IS "re-synchronize spindle 1 or 2".
Corresponding to ...
1638
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX16.7
Delete S value
Edge change 1 0
No effect.
Application exam
ple(s)
DB31, ...
DBX17.4 - DBX17.5
Edge change 0 1
Edge change 1 0
No effect.
Signal irrelevant
for ...
Application exam
ple(s)
The spindle has an indirect measuring system and slippage may occur between the motor and the
clamp. If the signal=1 - when positioning is started, the old reference is deleted and the zero mark is
searched for again before the end position is approached.
Corresponding to ...
DB31, ...
DBX17.6
Invert M3/M4
Application exam
ple(s)
The machine has a selector switch to changeover between a vertical and a horizontal spindle. The
mechanical design is implemented so that for the horizontal spindle, one more gearwheel is engaged
than for the vertical spindle. The direction of rotation must therefore be changed for the vertical spindle
if the spindle is always to rotate clockwise with M3.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1639
DB31, ...
DBX18.4
Edge evaluation: Yes
Edge change 0 1
Application exam
ple(s)
If the new gear stage cannot be engaged in spite of several attempts by the NCK, the system can be
switched to oscillation via PLC. Both of the times for the directions of rotation can then be altered by
the PLC user program as required. This ensures that the gear stage is reliably changed - even with
unfavorable gear wheel positions.
Corresponding to ...
1640
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX18.5
Edge evaluation: No
Signal state 1
Oscillation enable
Signal(s) updated: Cyclically
If the gear stage is to be changed (DB31, ... DBX82.3 (change over gear) is set), then the spindle
operating mode changes to the oscillation mode.
Depending on the instant in time that the interface signal:
DB31, ... DBX18.5 (oscillation speed)
is set, the spindle decelerates down to standstill with different deceleration levels:
The IS "Oscillation speed" is set before the interface signal:
DB31, ... DBX82.3 (change over gear)
is set by the NCK.
When oscillating, the spindle is decelerated down to standstill with the deceleration:
MD35410 $MA_SPIND_OSCILL_ACCEL.
Once the spindle is stationary, oscillation is immediately initiated.
The IS "Oscillation speed" is enabled after the IS "Change gear" is set by the NCK and when the
spindle is stationary. The position controller is disabled. The spindle decelerates with the specified
deceleration rate in the speed controlled mode.
After the IS "oscillation speed" is set, the spindle starts to oscillate with the oscillation acceleration
(MD35410).
if the interface signal:
DB31, ... DBX18.4 (oscillation via the PLC)
is not set, then automatic oscillation is executed in the NCK using the IS "Oscillation speed".
The two times for the directions of rotation are entered in the machine data:
MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
and
MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction).
If the IS "oscillation via PLC" is set, then with the IS "oscillation speed" a speed is only output in
conjunction with the interface signals:
DB31, ... DBX18.6 - DBX18.7 (setpoint direction of rotation, counter-clockwise and clockwise).
The oscillation, i.e. the continuous change of the direction of rotation, is performed by the PLC user
program using the interface signal "setpoint direction of rotation, counter-clockwise and clockwise"
(oscillation via the PLC).
Signal state 0
Signal irrelevant
for ...
Application exam
ple(s)
The oscillation speed is used to make it easier to engage a new gear stage.
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1641
DB31, ...
DBX18.6 - DBX18.7
Edge change 0 1
Signal irrelevant
for ...
Application exam
ple(s)
Special cases,
errors, ......
If both of the interface signals are set simultaneously enabled, no oscillation speed is output.
Corresponding to ...
19.11.2
DB31, ...
DBX60.0
Edge evaluation: Yes
Edge change 0 1
Spindle/no axis
Signal(s) updated: Cyclically
The machine axis is operated in one of the following spindle modes:
Open-loop control mode
Oscillation mode
Positioning mode
Tapping without compensating chuck
Synchronous mode
The interface signals to the axis (DB31, ... DBB12 - DBB15) and from the axis (DB31, ... DBB74 DBB81) are invalid.
The interface signals to the spindle (DB31, ... DBB16 - DBB19) and from the spindle (DB31, ... DBB82
- DBB91) are valid.
Edge change 1 0
Application exam
ple(s)
If a machine axis is operated alternating as spindle or rotary axis, using the signal it is possible to
identify which mode is currently active. Application examples:
Turning machine: Spindle C axis
Milling machine: Spindle rotary axis for rigid tapping
1642
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX82.0 - 82.2
Bit 1 (B)
Bit 0 (A)
Gear stage
invalid value
invalid value
Signal irrelevant
for ...
Corresponding to ...
DB31, ...
DBX82.3
Edge evaluation: Yes
Change gear
Signal(s) updated: Cyclically
Specification of gear stage:
Manual specification using M function M41 - M45 corresponding to gear stage 1 - 5
If set gear stage <> actual gear stage =>
DB31, ... DBX82.3 (change gear) = 1
DB31, ... DBX82.0 - DBX82.2 (set gear stage) = set gear stage
Automatic gear stage selection depending on the progr. Spindle speed via M-function M40
at specified setpoint speed requires gear stage change =>
DB31, ... DBX82.3 (change gear) = 1
DB31, ... DBX82.0 - DBX82.2 (setpoint gear stage) = setpoint gear stage
Edge change 0 1
Special cases,
errors, ......
Signal is not output if: Set gear stage == actual gear stage
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1643
DB31, ...
DBX83.0
Edge change 0 1
Corresponding to ...
DB31, ...
DBX83.1
Edge change 1 0
1644
The effective setpoint speed of the spindle is outside the maximum limit value.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Application exam
ple(s)
In the PLC user program, it can be identified via the interface signal that the spindle setpoint speed
has not been reached. Possible responses:
Indicate that the status is permissible and enable path feed:
DB21, ... DBX6.0 = 0 (feed disable)
Disable path feed or entire channel:
DB21, ... DBX6.0 = 1 (feed disable)
DB31, ... DBX83.5 (spindle in setpoint range) is processed
Safety Integrated
In addition to the limit value MD36931 $MA_SAFE_VELO_LIMIT, depending on the active safety
speed level SG1 ... SGn, the following machine data should be taken into account:
MD36932 $MA_ SAFE_VELO_OVR_FACTOR
MD36933 $MA_SAFE_DES_VELO_LIMIT
Example:
All standard limit values are greater than 1500 rpm.
SG1 is active
MD36932 $MA_ SAFE_VELO_OVR_FACTOR[<SG1>] = 1111.11111 [rpm]
MD36933 $MA_SAFE_DES_VELO_LIMIT[<SG1>] = 90%
Programming: M3 S1500
The speed setpoint is limited to 1000 rpm (MD36932 * MD36933).
DB31, ... DBX83.1 = 1
Corresponding to ...
DB31, ...
DBX83.2
Edge change 1 0
The set speed of the spindle is outside the minimum limit value.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1645
Application exam
ple(s)
In the PLC user program, it can be identified via the interface signal that the spindle setpoint speed
has not been reached. Possible responses:
Indicate that the status is permissible and enable path feed:
DB21, ... DBX6.0 = 0 (feed disable)
Disable path feed or entire channel:
DB21, ... DBX6.0 = 1 (feed disable)
DB31, ... DBX83.5 (spindle in setpoint range) is processed
The interface signal indicates if the programmed set speed is unattainable. The feed can be enabled
nonetheless by means of the PLC user program.
The PLC user can accept this state as permissible and enable the path velocity, or can disable the
path velocity or the entire channel.
Corresponding to ...
DB31, ...
DBX83.5
Edge evaluation: Yes
Edge change 0 1
The actual speed of the spindle deviates from the set speed by less than the spindle speed tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL.
Edge change 1 0
The actual speed of the spindle deviates from the set speed by more than the spindle speed tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL.
Normal status during the acceleration/deceleration phase of the spindle.
Signal irrelevant
for ...
... All spindle modes except for control mode (speed mode).
Application exam
ple(s)
Feed enable in the channel first with the end of the acceleration phase of the spindle:
IF ( DB31, ... DBX83.5 (spindle in the setpoint range) == 1 )
THEN ( DB21, ... DBX6.0 (feed inhibit) = 0 )
ELSE ( DB21, ... DBX6.0 (feed inhibit) = 1 )
Note: With the feed disable, the positioning axes are also stopped.
Corresponding to ...
MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START
MD35500 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance)
DB31, ...
DBX83.7
Edge evaluation: Yes
Edge change 0 1
Edge change 1 0
1646
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Signal irrelevant
for ...
Corresponding to ...
DB31, ...
DBX84.3
Edge change 0 1
Application exam
ple(s)
Notice!
If the following signals are set during rigid tapping, the thread will be destroyed:
DB11, DBX0.7 (mode group reset) = 1
DB21, ... DBX7.7 (channel reset) = 1
DB31, ... DBX2.1 (controller enable) = 0
DB31, ... DBX4.3 (feed stop) = 1
DB31, ...
DBX84.5
Edge evaluation: Yes
Edge change 0 1
Corresponding to ...
DB31, ...
DBX84.6
Edge evaluation: Yes
Edge change 0 1
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1647
DB31, ...
DBX84.7
Corresponding to ...
DB31, ...
DBX85.5
Edge evaluation: Yes
Spindle in position
Signal(s) updated: Cyclically
The interface signal is processed exclusively with the function spindle positioning. This includes:
SPOS, SPOSA and M19 in the part program
SPOS and M19 in synchronized actions
Spindle positioning, using FC18
Spindle positioning via PLC interface (DB31, ... DBX30.4)
Edge change 0 1
Requirement for the output of the DB31, ... DBX85.5 signal (spindle in position) is reaching the "Exact
stop fine".
DB31, ... DBX60.7 (exact stop fine) = 1
Additionally, the last programmed spindle position must have been reached on the setpoint side.
If the spindle is already at the programmed position after a positioning, then signal DB31,... DBX85.5
(spindle in position) is set.
Edge change 1 0
When signal DB31, ... DBX60.7 is withdrawn (exact stop fine), then signal DB31, ... DBX85.5 (spindle
in position) is also always reset.
Application exam
ple(s)
Corresponding to ...
DB31, ...
DBB86
Edge change 0 1
From the NCK one of the following M functions: M3, M4, M5, M19, M70 is output to the PLC.
The output is performed via: See "Corresponds to ..." below
Corresponding to ...
1648
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBB88
Corresponding to ...
Sensors available
Signal(s) updated: Power-up
Signal state 1
Signal state 0
Corresponding to ...
DB31, ...
DBX132.1
Edge evaluation: No
Signal state 1
Sensor S1 is available.
Signal state 0
Corresponding to ...
DB31, ...
DBX132.4
Edge evaluation: No
Signal state 1
Sensor S4 is available.
Signal state 0
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1649
DB31, ...
DBX132.5
Edge evaluation: No
Signal state 1
Sensor S5 is available.
Signal state 0
Corresponding to ...
DB31, ...
DBX133.2
Edge evaluation: No
Signal state 1
The state value is generated and the speed limitations from drive parameter p5043 are active.
Signal state 0
The state value is not generated and the speed limitations from drive parameter p5043 are not active.
Note
When generating the state value, the analog voltage values of sensor S1 are transformed into discrete
state values of drive parameter r5001.
Corresponding to ...
DB31, ...
DBW134
Edge evaluation: No
Corresponding to ...
State value
Clamped state
Released
10
11
1650
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBW136
Edge evaluation: No
Corresponding to ...
DB31, ...
DBX138.4
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
DB31, ...
DBX138.5
Edge evaluation: No
Signal state 1
Signal state 0
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1651
19.12
Feeds (V1)
19.12.1
DB21, ...
DBX0.6
Edge evaluation: Yes
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
Special cases,
errors, ......
If the signal changes to "0" within a G33 block, the programmed feed is not activated until the end of
the block is reached, since an NC stop was not triggered.
Corresponding to ...
1652
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBB4
Edge evaluation: No
Feedrate override
Signal(s) updated: Cyclically
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1653
Feedrate override
The feedrate override can be defined via the PLC in binary or Gray coding.
With binary coding, the feed value is interpreted in %.
0% to 200% feed changes are possible, in accordance with the binary value in the byte.
The following permanent assignment applies:
&RGH
)HHGUDWHRYHUULGHIDFWRU
1654
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Feedrate override
7DEOH*UD\FRGLQJIRUIHHGUDWHRYHUULGH
6ZLWFK
SRVLWLRQ
&RGH
)HHGUDWH
RYHUULGHIDFWRU
VWDQGDUGYDOXHV
The factors listed in the table for the feedrate override are stored in the machine data:
MD12030 $MN_OVR_FACTOR_FEEDRATE [n].
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the Configuration
Manual for SINUMERIK 840D.
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1655
DB21, ...
DBB5
Edge evaluation: No
1656
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Signal state 1 or
edge change
01
The rapid traverse override can be entered via the PLC in either the binary or Gray code.
For binary coding, the rapid traverse override is interpreted as a %.
0% to 100% feed changes are possible, in accordance with the binary value in the byte.
The following permanent assignment applies:
&RGH
5DSLGWUDYHUVHRYHUULGHIDFWRU
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1657
&RGH
5DSLGWUDYHUVH
RYHUULGHIDFWRU
VWDQGDUGYDOXHV
The factors listed in the table for the rapid traverse override are stored in the machine data:
MD12050 $MN_OVR_FACTOR_RAPID_TRA[n].
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the Configuration
Manual for SINUMERIK 840D.
Corresponding to ...
1658
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX6.0
Edge evaluation: No
Signal state 1 or
edge change
01
Feed disable
Signal(s) updated: Cyclically
The signal is active in one channel in all operating modes.
The signal disables the feed for all of the axes (geometry and synchronized) that interpolate relative
to one another as long as G33 (thread) is not active.
All axes are brought to a standstill but still maintaining the path contour. When the feed disable is
canceled (0 signal), the interrupted part program is continued.
The signal triggers a feed disable for all positioning axes. This signal brings all traversing axes to a
standstill with controlled braking (ramp stop). No alarm is output.
The position control is retained, i.e. the following error is eliminated.
If a travel request is issued for an axis with an active "Feed disable", then this is kept. The queued
travel request is executed immediately when the "Feed disable" is canceled.
If the axis is interpolating in relation to others, this also applies to these axes.
Signal state 0 or
edge change
10
Application exam
ple(s)
Special cases,
errors, ......
DB21, ...
DBX6.6
Edge evaluation: No
If a travel request ("travel command") exists for an axis or group of axes when the "feed disable" is
canceled, then this is executed immediately.
Signal state 1 or
edge change
01
The rapid traverse override between 0 and a maximum of 100% entered in the PLC interface is
channel-specific. The override factor is defined using the machine data:
MD12040 $MN_OVR_RAPID_IS_GRAY_CODE (rapid traverse override switch gray coded)
and
MD12050 $MN_OVR_FACTOR_RAPID_TRA [n] (evaluation of the rapid traverse override switch).
Signal state 0 or
edge change
10
Application exam
ple(s)
When the rapid traverse override is inactive, the NC always uses 100% as the internal override factor.
Exceptions are the zero setting for a binary interface and the 1st switch setting for a Gray-coded
interface. In these cases, the override factors entered at the PLC interface are used. With a binary
interface, the override factor = 0. With a gray-coded interface, the value entered in the machine data
for the 1st switch setting is output as the override value.
The override value is generally selected using the rapid traverse override switch on the machine
control panel.
Using the interface signal:
DB21, ... DBX6.6 (rapid traverse override active),
the rapid traverse override switch can be enabled from the PLC user program while commissioning
a new NC program, e.g. using the key-operated switch.
Special cases,
errors, ......
The rapid traverse override is inactive when G33, G63, G331, G332 are active.
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1659
DB21, ...
DBX6.7
Edge evaluation: No
Signal state 1 or
edge change
01
The feedrate override between 0 and a maximum of 200% entered at the PLC interface is active for
the path feedrate and therefore automatically for the related axes.
Signal state 0 or
edge change
10
Application exam
ple(s)
The override value is generally selected using the feedrate override switch on the machine control
panel.
The feedrate override is inactive when G33, G63, G331, G332 are active.
Corresponding to ...
DB21, ...
DBX12.3, DBX16.3,
DBX20.3
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
1660
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB21, ...
DBX24.6
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Corresponding to ...
DB21, ...
DBX25.3
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
The feedrate override switch should not be activated as rapid traverse override switch.
Application exam
ple(s)
The signal is used when no separate rapid traverse override switch is available.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1661
DB 21, ...
DBX29.0 - DBX29.3
Edge evaluation: No
Description
Corresponding to ...
%LW
%LW
%LW
0HDQLQJ
)L[HGIHHGLVGHVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
MD12202 $MN_PERMANENT_FEED[n]
MD12200 $MN_RUN_OVERRIDE_0
1662
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
19.12.2
DB31, ...
DBB0
Edge evaluation: No
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1663
Signal state 1 or
edge change
01
The axis-specific feedrate override can be defined via the PLC in binary or Gray coding. With binary
coding, the feed value is interpreted in %. 0% to 200% feed changes are possible, in accordance with
the binary value in the byte.
The following permanent assignment applies:
&RGH
$[LVVSHFLILFIHHGUDWH
RYHUULGHIDFWRU
1664
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
&RGH
$[LDOIHHGUDWH
RYHUULGHIDFWRU
VWDQGDUGYDOXHV
The factors listed in the table for the axial feedrate override
are stored in the NC-specific machine data:
MD12010 $MN_OVR_FACTOR_AX_SPEED [n]
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the Configuration
Manual for SINUMERIK 840D.
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1665
DB31, ...
DBX1.7
Override active
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Application exam
ple(s)
Special cases,
errors, ......
The spindle override is always accepted with 100% in the spindle "Oscillation mode".
The spindle override acts on the programmed values before the limits (e.g. G26, LIMS...) intervene.
The feedrate override is ineffective for:
Active G33
Active G63 (the override is defined in the NC at 100%)
Active G331, G332 (the override is defined in the NC at 100%)
The spindle override is inactive for:
Active G63 (the override is defined in the NC at 100%)
Corresponding to ...
1666
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DB31, ...
DBX3.2 - DBX3.5
Edge evaluation: No
Description
Corresponding to ...
%LW
%LW
%LW
0HDQLQJ
)L[HGIHHGLVGHVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
MD12202 $MN_PERMANENT_FEED[n]
MD12200 $MN_RUN_OVERRIDE_0
DB31, ...
DBX4.3
Edge evaluation: No
Signal state 1 or
edge change
01
Signal state 0 or
edge change
10
Feed stop:
The feedrate is enabled for the axis.
If a travel request ("travel command") is active when the "feed stop" is canceled, this is executed
immediately.
Spindle stop:
The speed is enabled for the spindle.
The spindle is accelerated to the previous speed setpoint with the acceleration characteristic or, in
positioning mode, positioning is resumed.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1667
Special cases,
errors, ......
DB31, ...
DBB19
Edge evaluation: No
Signal state 1 or
edge change
01
Spindle override
Signal(s) updated: Cyclically
The spindle override can be defined via the PLC in binary or Gray coding.
The override value determines the percentage of the programmed speed setpoint that is issued to
the spindle.
With binary coding, the override is interpreted in %. 0% to 200% feed changes are possible, in ac
cordance with the binary value in the byte.
The following permanent assignment applies:
&RGH
6SLQGOHRYHUULGHIDFWRU
1668
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Spindle override
In gray coding, the following codes are assigned to the individual switch settings:
7DEOH*UD\FRGLQJIRUVSLQGOHRYHUULGH
6ZLWFK
SRVLWLRQ
&RGH
6SLQGOHRYHUULGH
IDFWRU
VWDQGDUGYDOXHV
The factors listed in the table for spindle override are stored in the machine data:
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [n]
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the Configuration
Manual for SINUMERIK 840D.
Corresponding to ...
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1669
19.12.3
DB31, ...
DBX62.2
Edge evaluation: no
Signal state 1 or
edge change
01
For programming of G95 (revolutional feed rate) in JOG mode or automatic mode.
Corresponding to ....
DB31, ...
DBB78 - DBB81
Edge evaluation: no
Signal state 1 or
edge change
01
Application exam
ple(s)
Modification of the programmed F value by the PLC, e.g. by overwriting the selected axisspecific feed
rate override.
Corresponding to ....
1670
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Appendix
A.1
List of abbreviations
A
O
Output
ADI4
AC
Adaptive Control
ALM
ARM
AS
Automation system
ASCII
American Standard Code for Information Interchange: American coding standard for
the exchange of information
ASIC
ASUB
Asynchronous subprogram
AUXFU
STL
Statement List
UP
User Program
B
OP
Operating Mode
BAG
Mode group
BCD
BERO
BI
Binector Input
BICO
Binector Connector
BIN
BIOS
BCS
BO
Binector Output
OPI
C
CAD
Computer-Aided Design
CAM
Computer-Aided Manufacturing
CC
CI
Connector Input
CF Card
CNC
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1671
Appendix
A.1 List of abbreviations
C
CO
Connector Output
CoL
Certificate of License
COM
Communication
CPA
CRT
CSB
CU
Control Unit
CP
Communication Processor
CPU
CR
Carriage Return
CTS
CUTCOM
D
DAC
Digital-to-Analog Converter
DB
DBB
DBD
DBW
DBX
DDE
DDS
DIN
DIO
DIR
Directory: Directory
DLL
DO
Drive Object
DPM
DPR
DRAM
DRF
DRIVE-CLiQ
DRY
DSB
DSC
DW
Data Word
DWORD
E
I
Input
EES
1672
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Appendix
A.1 List of abbreviations
E
I/O
Input/Output
ENC
EFP
ESD
EMC
ElectroMagnetic Compatibility
EN
European standard
ENC
EnDat
Encoder interface
EPROM
EQN
Designation for an absolute encoder with 2048 sine signals per revolution
ES
Engineering System
ESR
ETC
F
FB
FC
FEPROM
FIFO
First In First Out: Memory that works without address specification and whose data is
read in the same order in which they was stored
FIPO
Fine interpolator
FPU
CRC
FST
FBD
FW
Firmware
G
GC
GDIR
GEO
GIA
GND
Signal Ground
GP
GS
Gear Stage
GSD
GSDML
GUD
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1673
Appendix
A.1 List of abbreviations
H
HEX
AuxF
Auxiliary function
HLA
HMI
MSD
HW
Hardware
I
IBN
Commissioning
ICA
Interpolatory compensation
IM
IMR
IMS
INC
Increment: Increment
INI
IPO
Interpolator
ISA
ISO
J
JOG
K
KV
Kp
Proportional gain
Transformation ratio
LAD
L
LAI
LAN
LCD
LED
LF
Line Feed
PMS
LR
Position controller
LSB
LUD
1674
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Appendix
A.1 List of abbreviations
M
MAC
MAIN
MB
Megabyte
MCI
MCIS
MCP
MD
Machine Data
MDA
MDS
MSGW
Message Word
MCS
MM
Motor Module
MPF
MCP
N
NC
NCK
Numerical Control Kernel: NC kernel with block preparation, traversing range, etc.
NCU
NRK
IS
Interface Signal
NURBS
WO
Work Offset
NX
O
OB
OEM
OP
OPI
OPT
Options: Options
OLP
OSI
P
PIQ
PII
PC
Personal Computer
PCIN
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1675
Appendix
A.1 List of abbreviations
P
PCMCIA
PCU
PG
Programming device
PKE
PIV
PLC
PN
PROFINET
PNO
PO
POWER ON
POU
POS
Position/positioning
POSMO A
POSMO CA
Positioning Motor Compact AC: Complete drive unit with integrated power and control
module as well as positioning unit and program memory; AC infeed
POSMO CD
POSMO SI
PPO
Parameter Process data Object: Cyclic data telegram for PROFIBUS DP transmission
and "Variable speed drives" profile
PPU
Panel Processing Unit (central hardware for a panel-based CNC, e.g SINUMERIK
828D)
PROFIBUS
PRT
Program Test
PSW
PTP
Point-To-Point: Point-To-Point
PUD
PZD
Q
QEC
R
RAM
REF
REPOS
REPOSition function
RISC
Reduced Instruction Set Computer: Type of processor with small instruction set and
ability to process instructions at high speed
ROV
RP
RPA
RPY
RTLI
Rapid Traverse Linear Interpolation: Linear interpolation during rapid traverse motion
1676
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Appendix
A.1 List of abbreviations
R
RTS
RTCP
S
SA
Synchronized Action
SBC
SBL
SBR
SD
Setting Data
SDB
SEA
SERUPRO
SFB
SFC
SGE
Safety-related input
SGA
Safety-related output
SH
Safe standstill
SIM
SK
Softkey
SKP
SLM
SM
Stepper Motor
SMC
SME
SMI
SPF
PLC
SRAM
TNRC
SRM
LEC
SSI
SSL
Block search
STW
Control word
GWPS
SW
Software
SYF
SYNACT
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1677
Appendix
A.1 List of abbreviations
T
TB
TCP
TCP/IP
TCU
TEA
TIA
TM
TO
TOA
TRANSMIT
TTL
TZ
Technology cycle
U
UFR
SR
Subprogram
USB
UPS
V
VDI
VDI
VDE
VI
Voltage Input
VO
Voltage Output
FDD
Feed Drive
W
SAR
WCS
Tool
TLC
WOP
Workshop-Oriented Programming
WPD
TRC
Tool
TO
Tool Offset
TM
Tool Management
TC
Tool change
1678
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Appendix
A.1 List of abbreviations
X
XML
Z
WOA
ZSW
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1679
Appendix
A.2 Documentation overview
A.2
Documentation overview
*HQHUDOGRFXPHQWDWLRQ
6,180(5,.
6,180(5,.
6,180(5,.
'VO
'
6DOHVEURFKXUH
6,180(5,.'bVO
6,180(5,.'
6,180(5,.'
%$6,&7
&DWDORJ1&
6,180(5,.'VO
W\SH%
8VHUGRFXPHQWDWLRQ
&DWDORJ1&
6,180(5,.'
%$6,&7%$6,&0
6,1$0,&66FRPEL
PRWRUV).DQG3+
&DWDORJ30b
6,027,21
6,1$0,&66
DQGPRWRUVIRU
SURGXFWLRQPDFKLQHV
&RQILJXUDWLRQ0DQXDO
(0&GHVLJQJXLGHOLQHV
6,180(5,.
6,180(5,.
6,180(5,.
6,180(5,.
6,180(5,.
'VO
'
'VO
'
'VO
'
'VO
'
6,1$0,&6
6,1$0,&6
6
6
2SHUDWLQJ0DQXDO
8QLYHUVDO
7XUQLQJ
0LOOLQJ
3URJUDPPLQJ0DQXDO
%DVLFV
-RESODQQLQJ
0HDVXULQJF\FOHV
3URJUDPPLQJ0DQXDO
,62WXUQLQJ
,62PLOOLQJ
'LDJQRVWLFV0DQXDO
6\VWHP0DQXDO
&WUO(QHUJ\
'LDJQRVWLFV0DQXDO
0DQXIDFWXUHUVHUYLFHGRFXPHQWDWLRQ
6,180(5,.
6,180(5,.
6,180(5,.
6,180(5,.
6,180(5,.
'VO
'
'VO
'VO
'
'VO
6,1$0,&6
6,1$0,&6
6,1$0,&6
6
6
6
0DQXDO
1&8
2SHUDWLRQFRPSRQHQWV
DQGQHWZRUNLQJ
0DQXDO
&RPPLVVLRQLQJ0DQXDO
6HUYLFH0DQXDO
0DQXIDFWXUHUVHUYLFHGRFXPHQWDWLRQ
&RPPLVVLRQLQJ0DQXDO
&1&1&.3/&
GULYH
%DVLFVRIWZDUHDQG
RSHUDWLQJVRIWZDUH
/LVW0DQXDO
0DFKLQHGDWD
,QWHUIDFHVLJQDOV
9DULDEOHV
/LVW0DQXDO
0DFKLQHGDWD
,QWHUIDFHVLJQDOV
3DUDPHWHUV
9DULDEOHV
6,180(5,.
6,180(5,.
6,1$0,&6
6,180(5,.
6,180(5,.
'VO
'
'VO
6
'VO
'
6,1$0,&6
6,1$0,&6
6
6
)XQFWLRQ0DQXDO
%DVLFIXQFWLRQV
([WHQGHGIXQFWLRQV
6SHFLDOIXQFWLRQV
6\QFKURQL]HGDFWLRQV
,62GLDOHFWV
)XQFWLRQ0DQXDO
7RROPDQDJHPHQW
,QIRWUDLQLQJ
6,180(5,.
)XQFWLRQ0DQXDO
'ULYHIXQFWLRQV
)XQFWLRQ0DQXDO
6DIHW\,QWHJUDWHG
1680
6\VWHP0DQXDO
*XLGHOLQHVIRU
PDFKLQH
FRQILJXUDWLRQ
)XQFWLRQ0DQXDO
6DIHW\,QWHJUDWHG
(OHFWURQLFGRFXPHQWDWLRQ
6,180(5,.
'2&RQ&'
7UDLQLQJGRFXPHQWV
(DV\PLOOLQJ
ZLWK6KRS0LOO
7XUQLQJPDGHHDV\
ZLWK6KRS7XUQ
6,180(5,.
0\'RFXPHQWDWLRQ
0DQDJHU
,QGXVWU\0DOO
0DQXDO
7RRODQG
PROGPDNLQJ
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Absolute dimensions
A destination for an axis motion is defined by a dimension that refers to the origin of the currently
active coordinate system. See Incremental dimension
Address
An address is the identifier for a certain operand or operand range, e.g. input, output, etc.
Alarms
All messages and alarms are displayed on the operator panel in plain text with date and time
and the corresponding symbol for the cancel criterion. Alarms and messages are displayed
separately.
1. Alarms and messages in the part program:
Alarms and messages can be displayed in plain text directly from the part program.
2. Alarms and messages from the PLC:
Alarms and messages for the machine can be displayed in plain text from the PLC program.
No additional function block packages are required for this purpose.
Archiving
Reading out of files and/or directories on an external memory device.
Asynchronous subprogram
Part program that can be started asynchronously to (independently of) the current program
status using an interrupt signal (e.g. "Rapid NC input" signal).
Automatic
Operating mode of the controller (block sequence operation according to DIN): Operating
mode for NC systems in which a subprogram is selected and executed continuously.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1681
Glossary
Auxiliary functions
Auxiliary functions enable part programs to transfer parameters to the PLC, which then
trigger reactions defined by the machine manufacturer.
Axes
In accordance with their functional scope, the CNC axes are subdivided into:
Axes: Interpolating path axes
Auxiliary axes: Non-interpolating feed and positioning axes with an axis-specific feedrate.
Auxiliary axes are not involved in actual machining, e.g. tool feeder, tool magazine.
Axis address
See Axis name
Axis name
To ensure clear identification, all channel and machine axes of the control system must be
designated with unique names in the channel and control system. The geometry axes are
called X, Y, Z. The rotary axes rotating around the geometry axes are called A, B, C.
Backlash compensation
Compensation for a mechanical machine backlash, e.g. backlash on reversal for ball screws.
Backlash compensation can be entered separately for each axis.
Backup battery
The backup battery ensures that the user program in the CPU is stored so that it is safe
from power failure and so that specified data areas and bit memory, timers and counters are
stored retentively.
Basic axis
Axis whose setpoint or actual value position forms the basis of the calculation of a
compensation value.
1682
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Baud rate
Rate of data transfer (bits/s).
Blank
Workpiece as it is before it is machined.
Block
"Block" is the term given to any files required for creating and processing programs.
Block search
For debugging purposes or following a program abort, the "Block search" function can be used
to select any location in the part program at which the program is to be started or resumed.
Booting
Loading the system program after power ON.
C axis
Axis around which the tool spindle describes a controlled rotational and positioning motion.
C spline
The C spline is the most well-known and widely used spline. The transitions at the interpolation
points are continuous, both tangentially and in terms of curvature. 3rd order polynomials are
used.
Channel
A channel is characterized by the fact that it can process a part program independently of
other channels. A channel exclusively controls the axes and spindles assigned to it. Part
program runs of different channels can be coordinated through synchronization.
Circular interpolation
The tool moves on a circle between specified points on the contour at a given feedrate, and
the workpiece is thereby machined.
CNC
See NC
Computerized Numerical Control: includes the components NCK, PLC, HMI, COM.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1683
Glossary
CNC
See NC
Computerized Numerical Control: includes the components NCK, PLC, HMI, COM.
COM
Component of the NC for the implementation and coordination of communication.
Compensation axis
Axis with a setpoint or actual value modified by the compensation value
Compensation table
Table containing interpolation points. It provides the compensation values of the compensation
axis for selected positions on the basic axis.
Compensation value
Difference between the axis position measured by the encoder and the desired, programmed
axis position.
Continuous-path mode
The objective of continuous-path mode is to avoid substantial deceleration of the path axes
at the part program block boundaries and to change to the next block at as close to the same
path velocity as possible.
Contour
Contour of the workpiece
Contour monitoring
The following error is monitored within a definable tolerance band as a measure of contour
accuracy. An unacceptably high following error can cause the drive to become overloaded, for
example. In such cases, an alarm is output and the axes are stopped.
Coordinate system
See Machine coordinate system, Workpiece coordinate system
CPU
Central processing unit, see PLC
1684
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Curvature
The curvature k of a contour is the inverse of radius r of the nestling circle in a contour point
(k = 1/r).
Cycles
Protected subprograms for execution of repetitive machining operations on the workpiece.
Data block
1. Data unit of the PLC that HIGHSTEP programs can access.
2. Data unit of the NC: Data modules contain data definitions for global user data. This data
can be initialized directly when it is defined.
Data word
Two-byte data unit within a data block.
Diagnostics
1. Operating area of the controller.
2. The controller has a self-diagnostics program as well as test functions for servicing
purposes: status, alarm, and service displays
DRF
Differential Resolver Function: NC function which generates an incremental zero offset in
Automatic mode in conjunction with an electronic handwheel.
Drive
The drive is the unit of the CNC that performs the speed and torque control based on the
settings of the NC.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1685
Glossary
Editor
The editor makes it possible to create, edit, extend, join, and import programs/texts/program
blocks.
Exact stop
When an exact stop statement is programmed, the position specified in a block is approached
exactly and, if necessary, very slowly. To reduce the approach time, exact stop limits are
defined for rapid traverse and feed.
Feed override
The programmed velocity is overriden by the current velocity setting made via the machine
control panel or from the PLC (0 to 200%). The feedrate can also be corrected by a
programmable percentage factor (1 to 200%) in the machining program.
Finished-part contour
Contour of the finished workpiece. See Raw part.
Fixed-point approach
Machine tools can approach fixed points such as a tool change point, loading point, pallet
change point, etc. in a defined way. The coordinates of these points are stored in the controller.
The controller moves the relevant axes in rapid traverse, whenever possible.
1686
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Frame
A frame is an arithmetic rule that transforms one Cartesian coordinate system into another
Cartesian coordinate system. A frame contains the following components: zero offset,
rotation, scaling, mirroring.
Functionality
The path-jerk limitation can be activated/deactivated by programming the setting data.
Parameter: Value
Value range: TRUE, FALSE
Application:
Part program
Static synchronized action
Geometry
Description of a workpiece in the workpiece coordinate system.
Geometry axis
The geometry axes form the 2 or 3-dimensional workpiece coordinate system in which, in
part programs, the geometry of the workpiece is programmed.
Ground
Ground is taken as the total of all linked inactive parts of a device which will not become live
with a dangerous contact voltage even in the event of a malfunction.
Helical interpolation
The helical interpolation function is ideal for machining internal and external threads using form
milling cutters and for milling lubrication grooves.
The helix comprises two motions:
Circular motion in one plane
A linear motion perpendicular to this plane
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1687
Glossary
HIGHSTEP
Summary of programming options for PLCs of the AS300/AS400 system.
HW Config
SIMATIC S7 tool for the configuration and parameterization of hardware components within
an S7 project
Identifier
In accordance with DIN 66025, words are supplemented using identifiers (names) for variables
(arithmetic variables, system variables, user variables), subprograms, key words, and words
with multiple address letters. These supplements have the same meaning as the words with
respect to block format. Identifiers must be unique. It is not permissible to use the same
identifier for different objects.
Increment
Travel path length specification based on number of increments. The number of increments
can be stored as setting data or be selected by means of a suitably labeled key (i.e. 10, 100,
1000, 10000).
Incremental dimension
Also incremental dimension: A destination for axis traversal is defined by a distance to be
covered and a direction referenced to a point already reached. See Absolute dimension.
Intermediate blocks
Motions with selected tool offset (G41/G42) may be interrupted by a limited number of
intermediate blocks (blocks without axis motions in the offset plane), whereby the tool offset
can still be correctly compensated for. The permissible number of intermediate blocks which
the controller reads ahead can be set in system parameters.
1688
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Interpolator
Logic unit of the NCK that defines intermediate values for the motions to be carried out in
individual axes based on information on the end positions specified in the part program.
Interpolatory compensation
Mechanical deviations of the machine are compensated for by means of interpolatory
compensation functions, such as leadscrew error, sag, angularity, and temperature
compensation.
Interrupt routine
Interrupt routines are special subprograms that can be started by events (external signals)
in the machining process. A part program block which is currently being worked through is
interrupted and the position of the axes at the point of interruption is automatically saved.
Inverse-time feedrate
The time required for the path of a block to be traversed can also be programmed for the axis
motion instead of the feed velocity (G93).
JOG
Control operating mode (setup mode): In JOG mode, the machine can be set up. Individual
axes and spindles can be traversed in JOG mode by means of the direction keys. Additional
functions in JOG mode include: Reference point approach, Repos, and Preset (set
actual value).
Key switch
The key switch on the machine control panel has four positions that are assigned functions
by the operating system of the controller. The key switch has three different colored keys that
can be removed in the specified positions.
Keywords
Words with specified notation that have a defined meaning in the programming language for
part programs.
K
Transformation ratio
KV
Servo gain factor, a control variable in a control loop.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1689
Glossary
Leading axis
The leading axis is the gantry axis that exists from the point of view of the operator and
programmer and, thus, can be influenced like a standard NC axis.
Limit speed
Maximum/minimum (spindle) speed: The maximum speed of a spindle can be limited by
specifying machine data, the PLC or setting data.
Linear axis
In contrast to a rotary axis, a linear axis describes a straight line.
Linear interpolation
The tool travels along a straight line to the destination point while machining the workpiece.
Load memory
The load memory is the same as the working memory for the CPU 314 of the PLC.
Look Ahead
The Look Ahead function is used to achieve an optimal machining speed by looking ahead
over an assignable number of traversing blocks.
Machine axes
Physically existent axes on the machine tool.
1690
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Machine zero
Fixed point of the machine tool to which all (derived) measuring systems can be traced back.
Machining channel
A channel structure can be used to shorten idle times by means of parallel motion sequences,
e.g. moving a loading gantry simultaneously with machining. Here, a CNC channel must be
regarded as a separate CNC control system with decoding, block preparation and interpolation.
Macro techniques
Grouping of a set of statements under a single identifier. The identifier represents the set of
consolidated statements in the program.
Main block
A block prefixed by ":" introductory block, containing all the parameters required to start
execution of a -> part program.
Main program
The term "main program" has its origins during the time when part programs were split strictly
into main and subprograms. This strict division no longer exists with today's SINUMERIK
NC language. In principle, any part program in the channel can be selected and started. It then
runs through in program level 0 (main program level). Further part programs or cycles as
subprograms can be called up in the main program.
MDA
Control operating mode: Manual Data Automatic. In the MDA mode, individual program blocks
or block sequences with no reference to a main program or subprogram can be input and
executed immediately afterwards through actuation of the NC start key.
Messages
All messages programmed in the part program and alarms detected by the system are
displayed on the operator panel in plain text with date and time and the corresponding symbol
for the cancel criterion. Alarms and messages are displayed separately.
Mirroring
Mirroring reverses the signs of the coordinate values of a contour, with respect to an axis. It
is possible to mirror with respect to more than one axis at a time.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1691
Glossary
Mode
An operating concept on a SINUMERIK controller. The following modes are defined: Jog,
MDA, Automatic.
Mode group
Axes and spindles that are technologically related can be combined into one mode group.
Axes/spindles of a mode group can be controlled by one or more channels. The same
mode type is always assigned to the channels of the mode group.
NC
Numerical Control component of the CNC that executes the part programs and coordinates
the movements of the machine tool.
Network
A network is the connection of multiple S7-300 and other end devices, e.g. a programming
device via a connecting cable. A data exchange takes place over the network between the
connected devices.
NRK
Numeric robotic kernel (operating system of NCK)
NURBS
The motion control and path interpolation that occurs within the controller is performed based
on NURBS (Non Uniform Rational B-Splines). This provides a uniform procedure for all internal
interpolations.
OEM
The scope for implementing individual solutions (OEM applications) has been provided for
machine manufacturers, who wish to create their own user interface or integrate technologyspecific functions in the controller.
Offset memory
Data range in the control, in which the tool offset data is stored.
1692
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Overall reset
In the event of an overall reset, the following memories of the CPU are deleted:
Working memory
Read/write area of load memory
System memory
Backup memory
Override
Manual or programmable control feature which enables the user to override programmed
feedrates or speeds in order to adapt them to a specific workpiece or material.
Part program
Series of statements to the NC that act in concert to produce a particular workpiece. Likewise,
this term applies to execution of a particular machining operation on a given raw part.
Path axis
Path axes include all machining axes of the channel that are controlled by the interpolator
in such a way that they start, accelerate, stop, and reach their end point simultaneously.
Path feedrate
Path feed affects path axes. It represents the geometric sum of the feedrates of the
geometry axes involved.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1693
Glossary
Path velocity
The maximum programmable path velocity depends on the input resolution. For example, with
a resolution of 0.1 mm the maximum programmable path velocity is 1000 m/min.
Peripheral module
I/O modules represent the link between the CPU and the process.
I/O modules are:
Digital input/output modules
Analog input/output modules
Simulator modules
PLC
Programmable Logic Controller: Programmable logic controller. Component of NC:
Programmable control for processing the control logic of the machine tool.
PLC programming
The PLC is programmed using the STEP 7 software. The STEP 7 programming software is
based on the WINDOWS standard operating system and contains the STEP 5 programming
functions with innovative enhancements.
Polar coordinates
A coordinate system which defines the position of a point on a plane in terms of its distance
from the origin and the angle formed by the radius vector with a defined axis.
Polynomial interpolation
Polynomial interpolation enables a wide variety of curve characteristics to be generated, such
as straight line, parabolic, exponential functions (SINUMERIK 840D sl).
1694
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Positioning axis
Axis that performs an auxiliary motion on a machine tool (e.g. tool magazine, pallet transport).
Positioning axes are axes that do not interpolate with path axes.
Pre-coincidence
Block change occurs already when the path distance approaches an amount equal to a
specifiable delta of the end position.
Program block
Program blocks contain the main program and subprograms of part programs.
Program level
A part program started in the channel runs as a main program on program level 0 (main
program level). Any part program called up in the main program runs as a subprogram on
a program level 1 ... n of its own.
Programmable frames
Programmable frames enable dynamic definition of new coordinate system output points
while the part program is being executed. A distinction is made between absolute definition
using a new frame and additive definition with reference to an existing starting point.
Programming key
Characters and character strings that have a defined meaning in the programming language
for part programs.
Protection zone
Three-dimensional zone within the working area into which the tool tip must not pass.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1695
Glossary
R parameters
Arithmetic parameter that can be set or queried by the programmer of the part program for
any purpose in the program.
Rapid traverse
The highest traverse rate of an axis. For example, rapid traverse is used when the tool
approaches the workpiece contour from a resting position or when the tool is retracted from
the workpiece contour. The rapid traverse velocity is set on a machine-specific basis using a
machine data element.
Reference point
Machine tool position that the measuring system of the machine axes references.
Rotary axis
Rotary axes apply a workpiece or tool rotation to a defined angular position.
Rotation
Component of a frame that defines a rotation of the coordinate system around a particular
angle.
Rounding axis
Rounding axes rotate a workpiece or tool to an angular position corresponding to an indexing
grid. When a grid index is reached, the rounding axis is "in position".
RS-232-C
Serial interface for data input/output. Machining programs as well as manufacturer and user
data can be loaded and saved via this interface.
Safety functions
The controller is equipped with permanently active monitoring functions that detect faults in
the CNC, the PLC, and the machine in a timely manner so that damage to the workpiece,
tool, or machine is largely prevented. In the event of a fault, the machining operation is
interrupted and the drives stopped. The cause of the malfunction is logged and output as an
alarm. At the same time, the PLC is notified that a CNC alarm has been triggered.
1696
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Scaling
Component of a frame that implements axis-specific scale modifications.
Setting data
Data which communicates the properties of the machine tool to the NC as defined by the
system software.
Softkey
A key, whose name appears on an area of the screen. The choice of softkeys displayed is
dynamically adapted to the operating situation. The freely assignable function keys (softkeys)
are assigned defined functions in the software.
Spline interpolation
With spline interpolation, the controller can generate a smooth curve characteristic from only
a few specified interpolation points of a set contour.
Standard cycles
Standard cycles are provided for machining operations which are frequently repeated:
For the drilling/milling technology
For turning technology
The available cycles are listed in the "Cycle support" menu in the "Program" operating area.
Once the desired machining cycle has been selected, the parameters required for assigning
values are displayed in plain text.
Subblock
Block preceded by "N" containing information for a sequence, e.g. positional data.
Subprogram
The term "subprogram" has its origins during the time when part programs were split strictly
into main and subprograms. This strict division no longer exists with today's SINUMERIK NC
language. In principle, any part program or any cycle can be called up as a subprogram
within another part program. It then runs through in the next program level (x+1) (subprogram
level (x+1)).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1697
Glossary
Synchronization
Statements in part programs for coordination of sequences in different channels at certain
machining points.
Synchronized actions
1. Auxiliary function output
During workpiece machining, technological functions ( auxiliary functions) can be output
from the CNC program to the PLC. For example, these auxiliary functions are used to
control additional equipment for the machine tool, such as quills, grabbers, clamping
chucks, etc.
2. Fast auxiliary function output
For time-critical switching functions, the acknowledgement times for the auxiliary
functions can be minimized and unnecessary hold points in the machining process can be
avoided.
Synchronized axes
Synchronized axes take the same time to traverse their path as the geometry axes take for
their path.
Synchronized axis
A synchronized axis is the gantry axis whose set position is continuously derived from the
motion of the leading axis and is, thus, moved synchronously with the leading axis. From
the point of view of the programmer and operator, the synchronized axis "does not exist".
Syntax
$SC_IS_SD_MAX_PATH_JERK = value
System memory
The system memory is a memory in the CPU in which the following data is stored:
Data required by the operating system
The operands timers, counters, markers
System variable
A variable that exists without any input from the programmer of a part program. It is defined
by a data type and the variable name preceded by the character $. See User-defined variable.
1698
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Text editor
See Editor
TOA area
The TOA area includes all tool and magazine data. By default, this area coincides with the
channel area with regard to the access of the data. However, machine data can be used to
specify that multiple channels share one TOA unit so that common tool management data
is then available to these channels.
TOA unit
Each TOA area can have more than one TOA unit. The number of possible TOA units is
limited by the maximum number of active channels. A TOA unit includes exactly one tool
data block and one magazine data block. In addition, a TOA unit can also contain a toolholder
data block (optional).
Tool
Active part on the machine tool that implements machining (e.g. turning tool, milling tool, drill,
LASER beam, etc.).
Tool offset
Consideration of the tool dimensions in calculating the path.
Transformation
Additive or absolute zero offset of an axis.
Travel range
The maximum permissible travel range for linear axes is 9 decades. The absolute value
depends on the selected input and position control resolution and the unit of measurement
(inch or metric).
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1699
Glossary
User interface
The user interface (UI) is the display medium for a CNC in the form of a screen. It features
horizontal and vertical softkeys.
User memory
All programs and data, such as part programs, subprograms, comments, tool offsets, and zero
offsets/frames, as well as channel and program user data, can be stored in the shared CNC
user memory.
User program
User programs for the S7-300 automation systems are created using the programming
language STEP 7. The user program has a modular layout and consists of individual blocks.
The basic block types are:
Code blocks
These blocks contain the STEP 7 commands.
Data blocks
These blocks contain constants and variables for the STEP 7 program.
User-defined variable
Users can declare their own variables for any purpose in the part program or data block
(global user data). A definition contains a data type specification and the variable name. See
System variable.
Variable definition
A variable definition includes the specification of a data type and a variable name. The variable
names can be used to access the value of the variables.
Velocity control
In order to achieve an acceptable traverse rate in the case of very slight motions per block, an
anticipatory evaluation over several blocks ( Look Ahead) can be specified.
WinSCP
WinSCP is a freely available open source program for Windows for the transfer of files.
Working area
Three-dimensional zone into which the tool tip can be moved on account of the physical design
of the machine tool. See Protection zone.
1700
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Glossary
Working memory
The working memory is a RAM in the CPU that the processor accesses when processing
the application program.
Workpiece
Part to be made/machined by the machine tool.
Workpiece contour
Set contour of the workpiece to be created or machined.
Workpiece zero
The workpiece zero is the starting point for the workpiece coordinate system. It is defined
in terms of distances to the machine zero.
Zero offset
Specifies a new reference point for a coordinate system through reference to an existing zero
point and a frame.
1. Settable
A configurable number of settable zero offsets are available for each CNC axis. The offsets
- which are selected by means of G functions - take effect alternatively.
2. External
In addition to all the offsets which define the position of the workpiece zero, an external
zero offset can be overridden by means of the handwheel (DRF offset) or from the PLC.
3. Programmable
Zero offsets can be programmed for all path and positioning axes using the TRANS
statement.
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1701
Glossary
1702
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
$
$A_MONIFACT, 1535
$AA_ACC, 1355
$AA_ATOL, 234
$AA_ETRANS, 769
$AA_FGREF, 335
$AA_FGROUP, 335
$AA_MOTEND, 1356
$AA_S, 1204
$AA_SCPAR, 1357
$AA_VLFCT, 1287
$AA_VMAXB, 1287
$AA_VMAXM, 1287
$AC_ACT_PROG_NET_TIME, 642
$AC_ACTUAL_PARTS, 648
$AC_ASUP, 573
$AC_AUXFU_EXT, 440
$AC_AUXFU_M_EXT, 440
$AC_AUXFU_M_STATE, 441
$AC_AUXFU_M_TICK, 421
$AC_AUXFU_M_VALUE, 441
$AC_AUXFU_PREDEF_INDEX, 426, 440
$AC_AUXFU_SPEC, 438, 441
$AC_AUXFU_STATE, 441
$AC_AUXFU_TYPE, 440
$AC_AUXFU_VALUE, 441
$AC_CONSTCUT_S, 1281
$AC_CTOL, 234
$AC_CUT_INV, 1479
$AC_CUTMOD, 1479
$AC_CUTMOD_ANG, 1473, 1479
$AC_CUTTING_TIME, 644
$AC_CYCLE_TIME, 644
$AC_FGROUP_MASK, 335
$AC_OLD_PROG_NET_TIME, 642
$AC_OLD_PROG_NET_TIME_COUNT, 643
$AC_OPERATING_TIME, 644
$AC_OTOL, 234
$AC_PATHACC, 254, 266
$AC_PATHJERK, 265, 266, 267
$AC_PROG_NET_TIME_TRIGGER, 643
$AC_REQUIRED_PARTS, 648
$AC_SGEAR, 1246, 1266
$AC_SMAXACC, 1287
$AC_SMAXACC_INFO, 1287
$AC_SMAXVELO, 1287
$AC_SMAXVELO_INFO, 1287
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
$AC_SMINVELO, 1287
$AC_SMINVELO_INFO, 1287
$AC_SPECIAL_PARTS, 648
$AC_SPIND_STATE, 1287
$AC_STOLF, 238
$AC_TOTAL_PARTS, 648
$AN_AUXFU_LIST_ENDINDEX, 431
$AN_POWERON_TIME, 641
$AN_SETUP_TIME, 641
$C_AUX_EXT, 623
$C_AUX_IS_QUICK, 623
$C_AUX_VALUE, 623
$C_D, 624
$C_D_PROG, 624
$C_DL, 624
$C_DL_PROG, 624
$C_DUPLO, 624
$C_DUPLO_PROG, 624
$C_M, 623
$C_M_PROG, 623
$C_ME, 623
$C_MTL, 620, 624
$C_MTL_PROG, 620, 624
$C_T, 623
$C_T_PROG, 623
$C_TCA, 624
$C_TE, 624
$C_THNO, 624
$C_THNO_PROG, 624
$C_TS, 624
$C_TS_PROG, 624
$P_AD, 1479
$P_CHANNO, 553
$P_CONSTCUT_S, 1281
$P_CTOL, 234
$P_CUT_INV, 1479
$P_CUTMOD, 1479
$P_CUTMOD_ANG, 1473, 1479
$P_FGROUP_MASK, 336
$P_GEAR, 1266
$P_GFRNUM, 731
$P_IFRAME, 729
$P_ISTEST, 472
$P_OTOL, 234
$P_PROG_EVENT, 553
$P_REPINF, 569
$P_SEARCH_S, 424, 484
$P_SEARCH_SDIR, 424, 484
$P_SEARCH_SGEAR, 424, 484, 1246
1703
Index
$P_SEARCH_SMODE, 484
$P_SEARCH_SPOS, 424, 484
$P_SEARCH_SPOSMODE, 424, 485
$P_SGEAR, 1246
$P_SIM, 478
$P_STOLF, 238
$P_SUB_AUTOGEAR, 632
$P_SUB_AXFCT, 632
$P_SUB_CA, 632
$P_SUB_GEAR, 632
$P_SUB_LA, 632
$P_SUB_M19, 633
$P_SUB_SPOS, 632
$P_SUB_SPOSA, 633
$P_SUB_SPOSIT, 633
$P_SUB_SPOSMODE, 633
$P_SUB_STAT, 622, 624
$P_TOOLENV, 1519
$P_TOOLENVN, 1519
$P_UIFR, 729
$P_UIFRNUM, 730
$P_WORKAREA_CS_COORD_SYSTEM, 111
$PA_ATOL, 234
$PA_FGREF, 335
$PA_FGROUP, 336
$SC_IS_SD_MAX_PATH_ACCEL, 252
$SC_IS_SD_MAX_PATH_JERK, 264
$SC_SD_MAX_PATH_ACCEL, 252
$SC_SD_MAX_PATH_JERK, 264
$TC_DP1, 1469
$TC_DP10, 1471
$TC_DP11, 1470
$TC_DP2, 1470, 1474
$TC_DP24, 1471
$TC_DPCE[t,d], 1373
$TC_DPNT, 1311
$VA_ABSOLUTE_ENC_DELTA_INIT, 102
$VA_ENC_ZERO_MON_ERR_CNT, 99, 102
$VA_TORQUE_AT_LIMIT, 313
$VC_SGEAR, 1245
3
3D face milling, 1397
A
ACC, 1275, 1354
Access authorization, 60
Access features, 61
Access security, 60
1704
ACN, 1273
ACP, 1273
Action blocks, 481
Action single block, 473
Activation
from machine control panel, hand-held unit, 868
Actual image number of the JobShop interface, 1562
Actual value synchronization, 46
Actual values in workpiece coordinate system, 39
Actual-value acquisition, 337
Actual-value correction, 338
Actual-value processing, 345
Actual-value system
workpiecerelated, 788
adaptation factor
dynamic path response, 215
Adapter dimension, 1399
Adapting the motor/load ratios, 342
ADDFRAME, 767
AG_SEND, AG_RECV, 858
Air temperature alarm, 38
Alarm for preprocessing stop, 1437
ALF, 568, 1322
Angle
Clearance, 1471
Holder, 1471
ANY, 1067
ANY in FB, 1069
ANY in FC, 1068
Applied position difference, 370
Assignment tool/toolholder, 1443
ASUB
Activation, 561
For user alarms, 574
Internal, 571
Priority, 568
Reorganization, 561
SERUPRO end, 431
ATRANS, 664
Autonomous singleaxis operations, 523
AUXFUDEL, 432
AUXFUDELG, 433
AUXFUMSEQ, 421
AUXFUSYNC, 432
auxiliary function
Associated, 408
Auxiliary function
Address extension, 400
-counter, 427
Definition, 378
Output behavior, 401
Predefined, 377
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
Type, 400
User-defined, 377
Value, 400
Auxiliary function output, 527
auxiliary functions
Pre-defined, 384
User-specific, 405
Axis clamping, 86
Axis configuration, 675
Axis disable, 41, 1335
Axis monitoring functions, 79
Actual velocity, 94
Axis/spindlespecific setting data, 174
Following error, 80
Speed setpoint, 93
Supplementary conditions, 159
Zero speed, 84
Axis/spindle stationary, 49
B
Basic block display
Activating, 593
Configure, 592
Basic coordinate system (BCS), 663, 696
Basic display
Size of display buffer, 593
Basic orientation of tool, example, 1538
Basic orientation of tools, 1485
Basic tool orientation, 1484
Block
Hide, 589
Block search
Cascaded, 480
with calculation at block end point (type 4), 479
with calculation at the contour (type 2), 479
with calculation in program test mode, SERUPRO
(type 5), 479
without calculation (type 1), 479
Block search SERUPRO
Conditions for axis functions, 522
Control REPOS with NC/PLC interface
signals, 501
Delayed approach of axis with REPOS
offset, 499
Gear stage change, 523
Initial setting, 525
Overlaid movements, 524
Path axes, 500
Prefer or ignore REPOS, 499
REPOS acknowledgements, 502
REPOS offset after an axis interchange, 504
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
C
Cancel alarms, 39
Cascaded block search, 487
CFC, 1309
CFCIN, 1309
CFINE, 664
CFTCP, 1309
Channel
Configuration, 468
Current, 553
-display status, 534
Initial setting, 527
Properties, 467
-states, 534
Channel axes, 670
Channel state
Channel active, 463
Channel interrupted, 463
Channel reset, 463
Channel-specific NCK alarm is active, 38
Clamping monitoring, 86
Clearance angle, 1471
Closed-loop control, 357
CLRINT, 569
Coarse offset, 664
Collision detection, 1430
COMPCAD, 227
COMPCURV, 227
COMPOF, 229, 232
COMPON, 227
Computational resolution, 320
Concurrent axes, 856
Constant curvature, 1405
Constant cutting rate, 1312
Constant cutting speed setting, 1280
Constant speed, 1314
Constant tangent, 1405
1705
Index
D
D functions, 382, 1367
D number structure
- flat (without tool management), 1382
D numbers
Allocation of free ..., 1372
D/DL function replacement, 620
Darken screen, 38
Data channel, faster, 57
Data exchange
with operator panel, 833
Data interface, 836
DB 31, ...
DBX60.6, 1292
DBX60.7, 1292
DBX83.1, 1215
1706
DB10
DBB4-7, 806
DBX103.0, 37, 1551
DBX103.5, 1552
DBX103.6, 1552
DBX103.7, 1552
DBX104.3, 870
DBX104.4, 870
DBX104.7, 37, 855, 1552, 1553
DBX106.1, 805, 807, 808, 1631
DBX107.7, 331
DBX108.3, 37, 1553
DBX108.5, 37, 1553
DBX108.6, 37, 1553
DBX108.7, 37, 1554
DBX109.0, 38, 1554
DBX109.5, 1555
DBX109.6, 38, 1555
DBX109.7, 38, 1555, 1556
DBX180.2, 1553
DBX56.1, 45, 530, 805, 806, 808, 1629, 1630
DBX56.2, 805, 807, 1630, 1631
DBX56.4, 63, 1551
DBX56.5, 63, 1551
DBX56.6, 63, 1551
DBX56.7, 63, 1551
DBX92.0, 854
DBX92.1, 854
DBX92.2, 854
DBX92.4, 854
DBX92.5, 854
DBX92.6, 854
DB11
DBX0.0, 462, 464, 1601
DBX0.1, 462, 1150, 1152, 1601
DBX0.2, 462, 1150, 1152, 1601
DBX0.4, 467, 1602
DBX0.5, 460, 1602
DBX0.6, 460, 1603
DBX0.7, 460, 533, 807, 1152, 1153, 1154, 1603
DBX07.7, 530
DBX1.0, 1603
DBX1.0 - DBX1.2, 463
DBX1.1, 1604
DBX1.2, 1150, 1152, 1604
DBX1.6, 587, 1604
DBX1.7, 587, 1605
DBX26.4, 465
DBX26.5, 465
DBX4.0, 1605
DBX4.0 - DBX4.2, 462
DBX4.1, 1605
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
DBX4.2, 1606
DBX4.4, 530
DBX46.4, 465
DBX46.5, 465
DBX5.0, 1606
DBX5.0 - DBX5.2, 463
DBX5.1, 1606
DBX5.2, 1606, 1607
DBX6.0, 463, 465, 1607
DBX6.1, 463, 1607
DBX6.2, 463, 1607
DBX6.3, 461, 805, 808, 1607, 1608
DBX6.4, 465
DBX6.5, 465
DBX6.7, 461, 1608
DBX7.0, 465, 1608
DBX7.0 - DBX7.2, 463
DBX7.1, 1608, 1609
DBX7.2, 1609
DB1600, 1081
DB19
DBB10, 1558
DBB13, 39
DBB15, 1560
DBB16, 39
DBB17, 39, 40, 1560
DBB22, 1562
DBB24, 1562
DBB26, 40
DBB27, 40
DBB6, 1558
DBB7, 1558
DBB8, 1558
DBX 0.3, 39
DBX 0.4, 39
DBX0.0, 38, 1556
DBX0.1, 38, 39, 1556
DBX0.2, 38, 39, 1557
DBX0.3, 1557
DBX0.4, 1557
DBX0.7, 39, 1558
DBX13.5, 1558, 1559
DBX13.6, 1559
DBX13.7, 1559
DBX14.0 - DBX14.6, 1559
DBX14.7, 1559
DBX16.6, 1560
DBX16.7, 1560
DBX20.1, 1561
DBX20.3, 39, 1557, 1561
DBX20.4, 39, 1557, 1562
DBX20.6, 1562
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1707
Index
1708
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
DBX3.4, 1348
DBX3.5, 1348
DBX3.6, 1590
DBX3.7, 522
DBX30.0, 1277
DBX30.1, 1277
DBX30.2, 1277
DBX30.3, 1277
DBX30.4, 1277
DBX39.0, 146
DBX4.3, 1253, 1286, 1667, 1668
DBX4.6, 1150
DBX4.7, 1150
DBX60.0, 1642
DBX60.2, 98, 1290
DBX60.2 - DBX60.3, 1591
DBX60.3, 98, 1290
DBX60.4, 44, 113, 1151, 1152, 1153, 1154, 1166,
1172, 1173, 1176, 1177, 1178, 1290, 1634
DBX60.4 - DBX60.5, 1248, 1254, 1255, 1258,
1259
DBX60.5, 44, 113, 808, 1151, 1152, 1153, 1154,
1166, 1172, 1173, 1176, 1177, 1178, 1290, 1635
DBX60.6, 44, 85, 92, 1208, 1215, 1219, 1220,
1593
DBX60.7, 44, 85, 92, 1215, 1219, 1220, 1262,
1593
DBX61.0, 40, 48, 1578
DBX61.3, 41, 49, 1177, 1178, 1579
DBX61.4, 48, 49, 1177, 1204, 1205, 1210, 1236,
1284, 1579
DBX61.5, 45, 46, 49, 1203, 1254, 1258, 1580
DBX61.6, 46, 49, 1580
DBX61.7, 49, 1581
DBX62.2, 1312, 1670
DBX62.4, 296, 299, 300, 1595
DBX62.5, 300, 304, 1596
DBX64.6, 85, 419
DBX64.7, 85, 419
DBX68.0 - DBX68.3, 1278
DBX69.0, 49, 71
DBX69.0 - DBX69.2, 1247, 1581
DBX69.1, 49, 71
DBX69.2, 49, 71
DBX7.7, 1286
DBX70.0, 502, 503, 504, 1627
DBX70.1, 502, 503, 504, 1627, 1628
DBX70.2, 502, 503, 1628
DBX71.4, 1231, 1635
DBX71.5, 1231, 1635
DBX72.0, 501, 1628
DBX76.0, 49, 1581
1709
Index
1710
DIAM90A, 818
DIAMCHAN, 818
DIAMCHANA, 818
DIAMCYCOF, 817
DIAMCYCOF/DIACYCOFA[AX], 813
Diameter programming
Axis-specific, 818
Channel-specific, 817
DIAMOF, 817
DIAMOFA, 818
DIAMON, 817
DIAMON/DIAMONA[AX], 812
DIAMONA, 818
DILF, 1322
Direct keys
Address, 870
Alarms, 870
OPs at Ethernet bus, 870
Direction vector, 1485
DISABLE, 569
DISC, 1425
Display block, structure (DIN), 595
Display resolution, 320
DISPLOF, 584
DISPLON, 584
DITE, 1318
DITS, 1318
DL functions, 382
DRIVE, 280
Drive ready, 37
Drive test travel enable, 40
Drive test travel request, 48
DRIVEA, 280
Drives in cyclic operation, 37
Dry run feedrate, 475, 1340
Dynamic response
adaptation, 213
Dynamic response adaptation, 359
DYNFINISH, 222
DYNNORM, 222
DYNPOS, 222
DYNROUGH, 222
DYNSEMIFIN, 222
E
EES, 603
Emergency stop
Acknowledgement, 807
Interface, 805
Sequence, 805
Emergency stop control elements, 804
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
ENABLE, 569
Encoder directly at the tool, 344
Encoder monitoring functions, 97
Encoder frequency, 97
End-of-motion criterion
For single axes, 1356
Ethernet
-connection, 868
Evaluation of individual wear components, 1514
Event-controlled program sequences, 545
Exact stop, 180
Implicit, 185
Exact-stop criteria, 181, 182
Execute external subprogram, 599
External program memory, 599
External work offset, 698
F
F functions, 383
FA, 1275, 1333
FA functions, 383
FB, 1352
FB1 RUN_UP (basic program, startup section), 914
FB10 Safety relay, 979
FB11 Brake test, 981
FB2 GET (Read NC Variable), 922
FB29 Signal recorder and data trigger
diagnostics, 987
FB3 PUT (write NC variables), 930
FB4 PI_SERV (PI services), 937
Available PI services, 941
FB5 GETGUD (read GUD variable), 965
FB7 PI_SERV2 (PI services), 973
FB9 MzuN (operator panel switchover), 974
FC10 AL_MSG, 1010
FC1005 AG_SEND, 1061
FC1006 AG_RECV, 1062
FC12 AUXFU, 1012
FC13 BHGDisp, 1013
FC17 Star-delta, 1017
FC18 SpinCtrl, 1020
FC19 MCP_IFM, 1030
FC2 GP_HP (Basic program, cyclic section), 990
FC21 Transfer, 1037
FC22 TM_DIR, 1044
FC24 MCP_IFM2, 1046
FC25 MCP_IFT, 1049
FC3 GP_PRAL (Basic program, diagnostics), 994
FC3 GP_PRAL (Basic program, interruptdriven
section), 992
FC6 TM_TRANS2, 996
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1711
Index
G
G groups, 527
G0 tolerance factor, 235
G25, 108, 1274
G26, 108, 1274
G33, 1317
G331, 1331
G332, 1331
G335, 1326
G336, 1326
G40, 1403
G41, 1403
G42, 1403
G450/G451, 1424
G451, 1426
G460, 1439
G461, 1365, 1440
G462, 1365, 1441
G58, 664
G59, 664
G60, 180
G601, 182
G602, 182
G603, 182
G63, 1332
G64, 187
G642, 192
G643, 192
G644, 195
G645, 199
G74, 1154
G9, 180
G91 extension, 1481
Zero point offset, 1483
G93, 1310
G94, 1311
G95, 1311
G96, 1312
G961, 1312
G97, 1314
1712
G971, 1314
Gear stage
in M70, 1264
Manual entry, 1241
Specification by PLC, 1240
Gear stage change
Automatic, 1293
Gear stages, 1232
Geometry axes, 670, 696
GETTCOR, 1521
Compatibility, 1526
Orientable toolholder, 1524
GETTENV, 1520
GOTOS, 540
Grouping together auxiliary functions, 400
H
H functions, 380
Hardware interrupt, 853
Hardware limit switch, 103
Helical interpolation, 674
Helix interpolation, 674
High-speed data channel, 57
HMI - CPU at OPI ready, 37
HMI monitor, 893
Holder angle, 1471
I
IC, 1273
ID check, 649
Implicit continuous-path mode, 187
Implicit exact stop, 185
Implicit preprocessing stop, 517
Incrementally programmed compensation
values, 1481
Input resolution, 320
Interface
MCP/PLC and HHU/PLC, 835
PLC/HMI, 835, 842
PLC/HMI messages, 843
PLC/MCP, 847
PLC/NCK, 836
Interface signals
Acknowledge emergency stop, 1630, 1631
Acknowledge fixed stop reached, 1594
Action block active, 1613, 1614
Activate associated M1, 1596
Activate channel-specific protection zone, 1587,
1588
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1713
Index
1714
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
J
Jerk
-increase, velocity-dependent jerk, 268
Jerk limitation, 197
Jogging
during interruption of a JOG ASUB, 565
in the mode type AUTOMATIC, 464
JR, 1326
K
Key disable, 39, 884
Key switch, 63
Kinematic transformation, 696
Kinematic type, 1446
KONT, 1404
KONTC, 1404
KONTT, 1404
KR, 1326
L
LENTOAX, 1531
LFOF, 1322
LFON, 1322
1715
Index
LFPOS, 1322
LFTXT, 1322
LFWP, 1322
LIFTFAST, 568
Limit
velocity, for path axes, 1309
Limited toolholder orientation, 1445
Limit-switch monitoring, 103
LIMS, 1274
Linear feedrate (G94), 1311
Linear signal distortions, 80
Loader axes, 671
Lockable data areas, 64
LookAhead, 200
Selection and deselection, 202
Lubrication pulse, 49
M
M decoding acc. to list, 860
M function replacement, 618
M1, 443
M17, 443
M19, 1207, 1273
M2, 443
M3, 1273
M30, 443
M4, 1273
M40, 1275, 1293
M41, 1275
M42, 1275
M43, 1275
M44, 1275
M45, 1275
M5, 1273
M70, 1273
Machine axes, 669
Machine coordinate system (MCS), 39, 663, 685
Machine kinematics, 1446
Machine tool axes, 671
Machine with rotary tool, 1450
Machine with rotary workpiece, 1451
Machine zero, 1149
Machine zero M, 678
Machines with extended kinematics, 1452
Machining in direction of tool orientation, 1483
Main axes, 672
Main run, 467
-axes, 1355
Manual switchover of the basic system
General, 329
1716
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
MD1103, 307
MD1104, 307
MD1105, 307
MD11100, 406
MD11110, 412
MD11220, 333
MD11300, 1150
MD11346, 1381
MD11410, 1236, 1318, 1431
MD11411, 471
MD11450, 423, 484, 485, 487, 496, 521
MD11470, 497, 498, 499, 523
MD11550, 1332
MD11600, 564
MD11602, 563, 566
MD11604, 521, 563, 566
MD11610, 571
MD11620, 549
MD11625, 608
MD11626, 608
MD12000, 1337
MD12010, 1338
MD12020, 1336
MD12030, 203, 204, 1336
MD12040, 1336
MD12050, 1336
MD12060, 1338
MD12070, 1339
MD12080, 1339
MD12082, 1337
MD12090, 1332
MD12100, 203, 204, 1339
MD12200, 1348
MD12202, 1348
MD12204, 1348
MD1230/1231, 307
MD14504, 864
MD14506, 864
MD14508, 864
MD15700, 630
MD15702, 630
MD17200, 593
MD18080, 1498
MD18088, 1447, 1461, 1465
MD18100, 1368, 1383
MD18102, 1375, 1382, 1383
MD18104, 1517
MD18105, 1373, 1374, 1375, 1376
MD18106, 1373, 1374
MD18108, 1502
MD18112, 1503, 1516
MD18114, 1485
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1717
Index
MD20192, 551
MD20193, 552
MD20194, 563, 575
MD20200, 1351
MD20201, 1351
MD20202, 1420
MD20204, 1413
MD20210, 1426
MD20220, 1425
MD20230, 1427
MD20240, 1429, 1430
MD20250, 1404
MD20252, 1436
MD20256, 1438
MD20270, 382, 1367, 1378, 1383, 1385, 1507, 1508
MD20272, 382, 1502, 1507, 1508
MD20310, 508
MD20360, 815, 1381, 1516, 1524, 1530, 1546
MD20390, 1494, 1496, 1497
MD20392, 1495
MD20400, 203
MD20430, 204
MD20440, 204
MD20443, 207
MD20450, 205
MD20460, 211, 212
MD20462, 211
MD20465, 215
MD20480, 193, 195, 232
MD20482, 228, 232, 236
MD20484, 228
MD20485, 228
MD20486, 228
MD20487, 228
MD20488, 230
MD20490, 187, 229
MD20500, 248, 249
MD20550, 183
MD20552, 183
MD20560, 236
MD20600, 261
MD20602, 257, 258
MD20606, 225
MD20610, 251
MD20624, 816
MD20700, 1184
MD20750, 1314
MD20800, 379, 443, 444
MD20850, 1207
MD21015, 55
MD21016, 56
MD21020, 107
1718
MD21110, 776
MD21158, 283
MD21159, 283
MD21166, 282
MD21168, 283
MD21202, 567
MD21220, 1343
MD21230, 1343
MD21330, 613
MD22000, 406, 1207
MD22010, 407, 1207
MD22020, 407, 1207
MD22030, 407, 1207
MD22035, 408
MD22040, 399, 406
MD22050, 400
MD22060, 400
MD22070, 401
MD22080, 401, 631
MD22100, 416
MD22110, 381, 384
MD22200, 410
MD22210, 380, 410
MD22220, 381, 410
MD22230, 381, 410
MD22240, 383, 410, 1334
MD22250, 382, 410
MD22252, 383, 410
MD22254, 395, 408, 620
MD22256, 395, 408, 620
MD22410, 1334, 1340, 1358
MD22510, 527, 1065
MD22530, 438, 1467
MD22532, 438
MD22534, 438
MD22550, 621, 1366, 1378, 1379, 1383, 1385
MD22560, 395, 442, 620, 1366, 1385, 1386
MD22562, 1380, 1381
MD22600, 506
MD22620, 525
MD24004, 783
MD24006, 699, 721, 784
MD24007, 786
MD24008, 783
MD24010, 736
MD24020, 727
MD24040, 760, 761
MD24100, 1496
MD24110, 1496
MD24120, 1496
MD24550, 1525
MD24558, 1525
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
MD24560, 1525
MD24570, 1496
MD24572, 1497
MD24650, 1525
MD24658, 1525
MD24660, 1525
MD24805, 750
MD24855, 750, 751
MD24905, 744
MD24955, 744
MD25574, 1497
MD26008, 396, 620
MD26012, 620
MD27100, 816
MD27800, 469
MD27850, 645
MD27860, 539, 645
MD27880, 540, 648
MD27882, 649
MD28060, 229, 590, 593
MD28070, 229, 230
MD28082, 721, 738, 769, 770, 779, 781, 1460
MD28085, 1368, 1461, 1465
MD28150, 59
MD28200, 132, 144
MD28210, 144
MD28400, 593
MD28520, 229
MD28530, 57, 194, 229
MD28533, 207
MD28540, 229
MD28560, 787
MD28600, 111
MD28610, 225
MD30100, 339
MD30110, 339
MD30120, 339
MD30130, 338, 339
MD30200, 337, 347
MD30210, 339, 348
MD30220, 340, 348
MD30230, 340, 348
MD30240, 338, 340, 348
MD30242, 338, 341, 348, 1175
MD30244, 348
MD30250, 348, 1180
MD30260, 348
MD30270, 348
MD30300, 347, 349, 352, 355, 1358
MD30310, 104, 347
MD30320, 347
MD30330, 347, 1173
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
1719
Index
MD32620, 363
MD32630, 363
MD32640, 365
MD32711, 331
MD32750, 1494, 1496, 1497
MD32800, 71, 81
MD32810, 71, 81, 159, 363
MD32890, 368, 369
MD32900, 359
MD32910, 71, 359, 364
MD32950, 370
MD33050, 49
MD33100, 193, 226, 228, 232
MD33120, 199, 232
MD34000, 1163, 1173
MD34010, 1150, 1159, 1161, 1162, 1171, 1182
MD34020, 1159, 1162
MD34040, 1161, 1162, 1163, 1171, 1230
MD34050, 1161
MD34060, 1164, 1172, 1173, 1218
MD34070, 1165, 1172
MD34080, 345, 1165
MD34090, 345, 348, 1165, 1168, 1169, 1181, 1183,
1184
MD34092, 1163
MD34093, 1164
MD34100, 1166, 1172, 1182, 1184
MD34102, 1174, 1175
MD34104, 1177
MD34110, 1152
MD34200, 1169, 1175, 1177, 1182, 1185, 1230
MD34210, 1179, 1180, 1181, 1182, 1183, 1184
MD34300, 1171
MD34320, 348, 349, 1168
MD34330, 1186
MD34990, 1309
MD35000, 662, 716, 1269, 1275
MD35010, 1233, 1237, 1251, 1254, 1258, 1263
MD35012, 1232, 1258, 1261
MD35014, 1264
MD35020, 1227
MD35030, 1227
MD35035, 1208, 1265, 1267
MD35040, 1204
MD35090, 1232
MD35092, 1237
MD3510, 1262
MD35100, 317, 1288
MD35110, 1232, 1293
MD35112, 1237
MD35120, 1232, 1293
MD35122, 1237
1720
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
N
nact, 52
NC
- Languages, 527
-Failure, 855
NC Start, 529
-Read/write variables, 857
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
O
Offset number, 1373
Operating modes
Interlocks, 466
monitoring functions, 466
Operating states, 463
Orientation, 132
tolerance, 232
Output
Behavior of an auxiliary function, 401
-counter, 427
Sequence, 427
Overload factor, 187
Override
in G331/332, 1331
OVR, 1340
OVRA, 1275, 1340
P
Package
-counter, 427
Parameter set
For axes, 362
Toolholder with orientation capability, 1446
Parking, 113, 1153
Part program
Channel enable, 530
Selection, 529
Skipping of specific part program blocks, 477
starting, 537
Password, 62
resetting, 62
setting, 62
Path
feedrate F, 1308
velocity, maximum, 1309
1721
Index
1722
Programming device
Hardware requirements, 900
Protection level
for user ASUB, 572
Protection levels, 60
programmable, 64
Protection zones, 79, 130
Data storage, 139
Definition as per partprogram, 135
Definition with system variables, 138
Example, activation, 171
Example, definition, 162
Restrictions, 148
R
Radius-related data, 813
Rapid traverse
-override, 1336
Reaching simulated target point for LEAD with
JOG, 520
Recall alarms, 39
Reference axis
for G96 / G961 / G962, 811
Reference point R, 678
Reference points, 678
Referencing
in rotary absolute encoders, 1186
with incremental measurement system, 1157
Referencing methods, 1149
Relevant standards, 803
Remote diagnostics, 37
Replacement subprogram, 617
replacement zero mark, 1186
REPOS offset, 304
Repositioning neutral axes after SERUPRO, 499
Reset
behavior, 609
RESET
Command, 533
Residual time
For a workpiece, 643
Retraction
Direction for thread cutting, 1323
Revolutional feedrate (G95), 1311
Rotary axes, 671
Rotary axis parameters, 1446
Rotation component, 771
Rounding, 188
Runtimes
Program, 641
Run-up completed, 52
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
S
S functions, 380
S..., 1273
SAVE, 569
SBLOF, 582
SBLON, 582
SCC, 817
SCPARA, 1357
Screen bright, 38
SD41100, 1312
SD41200, 1268
SD42010, 1319
SD42100, 475, 1341
SD42101, 475, 1342
SD42200, 582
SD42440, 666, 1482
SD42442, 1482
SD42444, 481
SD42465, 193, 232
SD42466, 193, 232
SD42470, 228
SD42475, 228
SD42476, 228
SD42477, 228
SD42480, 1437
SD42496, 1433
SD42500, 251, 252
SD42502, 252
SD42510, 263, 264
SD42512, 264
SD42600, 1282, 1312
SD42676, 232
SD42678, 232
SD42700, 601
SD42750, 592
SD42800, 1269, 1270
SD42900, 1364, 1488, 1489, 1509, 1516, 1533
SD42910, 1486, 1488, 1489, 1509, 1514, 1515,
1516
SD42920, 1488, 1490, 1509, 1514, 1515, 1516
SD42930, 1488, 1490, 1509, 1514, 1516, 1545
SD42935, 1489, 1510, 1515, 1516, 1535, 1540
SD42940, 1478, 1486, 1488, 1491, 1509, 1514,
1517
SD42950, 1469, 1486, 1488, 1509, 1514, 1517
SD42960, 1364, 1489, 1495, 1496
SD42974, 1454
SD42980, 778
SD42984, 1478
SD42990, 590
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
SD43200, 1279
SD43202, 1279, 1280
SD43206, 1279, 1281
SD43210, 1315, 1317
SD43220, 1315
SD43230, 1315
SD43235, 1289
SD43240, 1207, 1273, 1281
SD43250, 1207, 1282
SD43300, 1282, 1312
SD43400, 109
SD43410, 109
SD43420, 108
SD43430, 108
SD43500, 307
SD43510, 307, 308
SD43520, 308
Secant error, 226
Selecting the cutting edge when changing tool, 1367
Selfacting SERUPRO, 511
SERUPRO
Automatic interrupt pointer, 514
-end ASUB, 431
Programmable interrupt pointer, 512
SERUPRO approach
control from the PLC, 501
SERUPRO ASUB, 304
Special features, 508
serurpoMasterChan, 511
Servo gain factor (Kv), 358
SETINT, 559, 568
SETMS, 1272
Setpoint output, 336
Setpoint system, 336
SETTCOR, 1526
Several transverse axes
Axis replacement, 818
Signal distortions, 80
Signal exchange
Cyclic, 821
Event-controlled, 821
Signals
Alarm signals, 37
Axis/spindle-specific (DB31, ...), 36
Channel-specific (DB21, ...), 36
Compile cycles, 838
NCK/PLC, 839
PLC / mode group, 839
PLC/axes, spindles, 841
PLC/NCK, 838
PLC/NCK channels, 840
Ready signals, 37
1723
Index
Simulation, 478
Simulation axes, 338
Single block
Channel classification, 587
Program operation mode, 473
SBL1, 581
SBL2, 581
SBL3, 581
Single-axis dynamic response, 1353
Skip levels, 589
Slotting saw, 1392
Smooth approach and retraction
Significance, 1409
Sub-movements, 1410
Smoothing
Path velocity, 210
SOFT, 261
SOFTA, 263
Software limit switch, 104
SPCOF, 1274
SPCON, 1274
Special axes, 670
Special points in the target block
STOPRRE block, 516
Specify gear stage, 1234
Speed
feedforward control, 362
Speed control loop, 357
Speed controller active, 49
Speed default, 1279
Speed setpoint adjustment, 346
Speed setpoint output, 345
SPI, 1275
spindle
modes, 1200
Spindle
-definitions, 1278
-gear stage 0, 1243
-interface, 1277
-job, 1277
-override, 1336, 1338
-setpoint speed, 1285
-speed limits, 1286
-speed, maximum, 1286
-speed, minimum, 1285
Spindle disable, 41, 1335
Spindle functions using a PLC, 469
Spindle speed, 319
Spindle speed limitation with G96, G961, 1315
Spline, 179
SPOS, 1205, 1273
SPOSA, 1273
1724
T
T function, 381, 1366
T function replacement, 620
TCARR, 1458
TCOABS, 1459
TCOFR, 1458, 1459
TCP Tool Center Position, 679
TEACH IN, 462
Thread
Cutting, 1322
Thread cutting G33, 1317
Tick, 427
TOA
-Data, 1392
-Unit, 1368
Tolerance
-factor for spindle speed, 1285
with G0, 235
Tool, 1365
Change, 1366
Change tool with M06, 1366
Cutting edge, 1388
DISC, 1425
-length, 1395
management, 457
-offset data, 1392
-parameters, 1388
-retraction, 614
Select, 1365
-shape, 1396
-shape, active, 1399
-size, active, 1398
T function, 1366
Tool base dimension/adapter dimension, 1399
Tool cutting edge, 1367
Tool radius compensation 2D (TRC), 1403
-type, 1389
-wear, 1398
Tool base dimension, 1399
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
Index
Tool change
D function, 1367
Offset memory, 1368
Tool environments, 1516
Tool length compensation
calculate tool-specifically, example, 1539
Geometry, 1395
Wear, 1398
Workpiece-specific calculation, 1508
Tool offset
Offset in the NC, 1370
Types, 1445
Tool radius compensation
keep constant, 1434
Wear, 1398
Tool radius compensation, 2D, 1402
Approach and retraction behavior, 1404
Collision detection, 1430
Compensation and inner corners, 1428
Compensation at outside corners, 1424
Deselection, 1423
Geometry, 1396
Modified alarm response, 1437
Point of intersection G451, 1426
Selection, 1403
Smooth approach and retraction, 1409
Transition circle, 1424
variable compensation value, 1432
Tool revolver axes, 671
TOOLENV, 1516
Toolholder reference point T, 679
Toolholder selection, 1443
Toolholder with orientation capability, 1364, 1442
Calculation of active tool length, 1458
Create new, 1461
Examples, 1535
Kinematic chain, 1449
Toolholder, with orientation capability, 1442
Control system response on Reset, program start,
REPOS, 1466
Create new, 1461
Inclined machining, 1457
Programming, 1465
Supplementary conditions, 1466
swiveling working table, 1458
Tooth feedrate, 1311
Torsion, 224
TOWBCS, 1513
TOWKCS, 1514
TOWMCS, 1513
TOWSTD, 1512
TOWTCS, 1514
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2
TOWWCS, 1513
TRANS, 664
TRANSMIT, 696
Transverse axis, 811
Dimensions, 817
Travel to fixed stop, 293
Block search, 302
Contour monitoring, 306
Deselection, 300
Fixed stop is reached, 297
Function abort, 306
Monitoring window, 298
Positioning axes, 306
Selection, 296
Traversing movement release, 1186
Traversing ranges, 319
U
UDT assignments, 859
Undercut angle, 1400
User-defined ASUB
after SERUPRO operation, 495
UTD-blocks, 858
V
Velocities, 317
VELOLIM, 1274
Vertical axes, 306
W
WAITENC, 615
WAITS, 1274
WALCS0, 112
WALIMOF, 110
WALIMON, 110
WCS, 39
Work offset
External work offset, 698
Working area limitation, 106
in BCS, 108
in WCS/SZS, 110
Working area limitation group, 111
Workpiece
-counter, 647
-simulation, 478
Workpiece coordinate system (WCS), 39, 663, 703
Workpiece zero W, 678
1725
Index
X
XE \* MERGEFORMAT, 378
Z
Zero mark diagnostics, 99
Zero points, 678
Zero vectors, 1449
1726
Basic Functions
Function Manual, 01/2015, 6FC5397-0BP40-5BA2